GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Segítségkérés => A témát indította: takehun - 2013. július 23. - 12:35:17

Cím: Mi a különbség?
Írta: takehun - 2013. július 23. - 12:35:17
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.
Cím: Mi a különbség?
Írta: BoOy - 2013. július 23. - 13:20:49
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]......
}
Cím: Mi a különbség?
Írta: takehun - 2013. július 23. - 15:55:31
Hmmm köszönöm szépen a segítséged.  :yes: