Hali.
Lenne ez a \'funkció\' de igazából nem tudom, hogy most melyiket használjam a scriptekhez: (pl Textdraw-hoz, hogy ne bugoljon össze a playereknek, vagy timerekhez, bool, stb)
for (new i = 0; i < MAX_PLAYERS; i += 1)
{
if (IsPlayerConnected(i))
{
//scriptek
}
}
Vagy legfelül new myTD[MAX_PLAYERS];
...és akkor mindig mellé írjuk a [playerid] -t.:
TextDrawDestroy(myTD[playerid]);
Tehát, hogy mi a különbség a 2 megoldás között?
A for típusú végig fut az összes játékoson és mindenkinek állítja az értéket, a [playerid]-s megoldás meg az összesbõl választ ki 1 játékost?
Köszi.
de a myTD[MAX_PLAYERS];-hez is kellhet a for ciklus.
Ezért vannak az ilyen funkcióhoz playerid-s típus pl.
SetTimer - SetTimerEx
TextDraw - PlayerTextDraw
a for ciklust akkor használjuk amikor fontos a funkciókhoz a playerid.
Tehát csinálhatod így is:
new Text:myText[MAX_PLAYERS];
public OnFilterScriptInit()
{
for(new i;i<MAX_PLAYERS;i++)
{
TextDrawCreate(myTex....
}
}
És csinálhatod így is:
new Text:myText[MAX_PLAYERS];
public OnPlayerConnect(playerid)
{
CreatePlayerTextDraw(myText[playerid]......
}