Sveiki, nežinau ar esat naudoję šitą dalyką, bet man reikėtų pagalbos. Bandau padaryti taip, kad stocke nurodyti parametrai būtų perduoti per timerį.
stock ProcessEx(playerid,time,funcname[],const fmat[],va_args<>)
{
new skaicius = playerid + 2;
Procesas[playerid] = SetTimerEx("KrautiProcesa",50,true,form("ddss%s",fmat),playerid,skaicius,fmat,funcname,va_start<4>);
}
Pavyzdžiui, funkcija
ProcessEx(playerid,5000,"PublicFunkcija","dd",playerid,6);
į timerį turėtų persiųsti
0,2,"dd","PublicFunkcija",0,6
tačiau kažkodėl į timerį nusiunčia visus parametrus, išskyrus paskutinius du, t.y. playerid ir 6. gal žinot kas blogai?
Tema: http://ysi.wikia.com/wiki/Library:YSI/y_va
Bebras prieš 9 metus
Daugiau kaip ir viskas gerai atrodo... O su ta tavo "form" funkcija viskas gerai?
Infrox prieš 9 metus
Taip, ten tik sutrumpinta format versija, viskas veikia, pvz vietoj
new msg[100];
format(msg,sizeof(msg),"Playerid = %d",playerid);
SendClientMessage(playerid,-1,msg);
naudoji
SendClientMessage(playerid,-1,form("Playerid = %d",playerid));
Infrox prieš 9 metus
Jeigu kam įdomu, šitas būdas neveikia, ir nežinau kaip kitaip padaryt. Vakar parašiau Y_Less, bet gavau tokią žinutę
That is an interesting use-case. I honestly don't know how you would do that with or without y_va... I'll have a think - I can probably hack something together...