Szerző Téma: Mi a különbség?  (Megtekintve 579 alkalommal)

Mi a különbség?
« Dátum: 2013. Július 23. - 12:35:17 »
0 Show voters
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.
« Utoljára szerkesztve: 2013. Július 23. - 12:47:27 írta takehun »

Nem elérhető BoOy

  • 3209
  • 2013-as év szkriptere
    • Profil megtekintése
Mi a különbség?
« Válasz #1 Dátum: 2013. Július 23. - 13:20:49 »
+1 Show voters
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]......
}

Mi a különbség?
« Válasz #2 Dátum: 2013. Július 23. - 15:55:31 »
0 Show voters
Hmmm köszönöm szépen a segítséged.  :yes:

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal