rendered paste bodyint GetParams(cell* params, const char *pArgs, ... )
{
va_list vArguments;
va_start( vArguments, pArgs );
unsigned long varadr;
int paramcount;
while( *pArgs )
{
if( *pArgs == 'i' )
{
paramcount++;
varadr = va_arg(vArguments, unsigned long);
*(int*)varadr = params[paramcount];
logprintf("paramcount: %i ivar: %i", paramcount, params[paramcount]);
}
else if (*pArgs == 'f')
{
paramcount++;
float fvar = amx_ctof(params[paramcount]);
*(float*)varadr = fvar;
logprintf("paramcount: %i fvar: %f", paramcount, fvar);
}
else if (*pArgs == 's')
{
paramcount++;
// not coded yet
}
++pArgs;
}
}
// .....
//----------------------------------------------------------
// public OnPlayerRequestClass(playerid, classid);
samp_call_begin(c_OnPlayerRequestClass, 2)
int playerid;
float classid;
GetParams(params, "if", &playerid, &classid);
logprintf("OnPlayerRequestClass %i %f", playerid, classid);
samp_call_end