Szerző Téma: for(new i=-1; i<MAX_PLAYERS; i++)  (Megtekintve 1155 alkalommal)

Nem elérhető CANNONN

  • 2139
    • Profil megtekintése
for(new i=-1; i<MAX_PLAYERS; i++)
« Dátum: 2012. március 06. - 20:38:30 »
0 Show voters
Sziasztok. Valaki nem tudja, hogy miért nem fut le rajtam a for(new i; i<MAX_PLAYERS; i++) ?
Bent van egy parancs után. Beírom és ki kéne jeleznie a szintemet, de nem jelzi, csak a többiekét.
Ja és az i változó értékét azért állítottam át -1-re, hogy úgy hátha jó lesz, de nem.
E:Konkrét hiba, ha valaki id 0 annak nem jelzi ki a szintjét.
« Utoljára szerkesztve: 2012. március 06. - 21:32:53 írta Cannonn »

Nem elérhető Sheet

  • 1508
  • Támogató
    • Profil megtekintése
for(new i=-1; i<MAX_PLAYERS; i++)
« Válasz #1 Dátum: 2012. március 06. - 20:39:10 »
0 Show voters
szövegkörnyezet?

Nem elérhető CANNONN

  • 2139
    • Profil megtekintése
for(new i=-1; i<MAX_PLAYERS; i++)
« Válasz #2 Dátum: 2012. március 06. - 20:43:20 »
0 Show voters
Idézetet írta: Sheet date=1331062750\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"18118\" data-ipsquote-contentclass=\"forums_Topic
szövegkörnyezet?
 
Hogy érted?

Koncz_Norbert

  • Vendég
for(new i=-1; i<MAX_PLAYERS; i++)
« Válasz #3 Dátum: 2012. március 06. - 20:43:49 »
0 Show voters

for(new i=-1; i<MAX_PLAYERS; i++)

 
Most gondolj bele...
-1-tõl kezdi a számolást, és eljut 500-ig.
\"new i = -1;\" helyett \"new i = 0;\" vagy \"new i;\"

Nem elérhető CANNONN

  • 2139
    • Profil megtekintése
for(new i=-1; i<MAX_PLAYERS; i++)
« Válasz #4 Dátum: 2012. március 06. - 20:45:13 »
0 Show voters
Az i változó értékét azért állítottam át -1-re, hogy úgy hátha jó lesz, de nem.
Norbert, úgy se jó.
E:Konkrét hiba, ha valaki id 0 annak nem jelzi ki a szintjét.
« Utoljára szerkesztve: 2012. március 06. - 20:54:37 írta Cannonn »

for(new i=-1; i<MAX_PLAYERS; i++)
« Válasz #5 Dátum: 2012. március 06. - 21:03:54 »
0 Show voters
Mi lenne ha bemásolnád a parancsot, vagy ahol alkalmazod ezt a for ciklust? (kapnál megfelelõ választ a problémádra)

Nem elérhető CANNONN

  • 2139
    • Profil megtekintése
for(new i=-1; i<MAX_PLAYERS; i++)
« Válasz #6 Dátum: 2012. március 06. - 21:11:01 »
0 Show voters

CMD:rendorok(playerid,params[])
{
for(new i; i<MAX_PLAYERS; i++)
{
if(PlayerInfo[szint] >= 0)
{
   new nev1[MAX_PLAYER_NAME], string[200];
   GetPlayerName(i, nev1, sizeof(nev1));
   format(string, sizeof string, \"{ffffff}Játékos: %s | Rang: Rendõr\", nev1);
   SendClientMessage(playerid, zold, string);
}
}
}
« Utoljára szerkesztve: 2012. március 06. - 21:12:38 írta Cannonn »

Gang[St]e[R]

  • Vendég
for(new i=-1; i<MAX_PLAYERS; i++)
« Válasz #7 Dátum: 2012. március 06. - 21:14:52 »
+1 Show voters
Legalább akkor kevesebb terheltséggel:
[pawn]new i = 0;
for(; i++ < MAX_PLAYERS; )
{
//
}[/pawn]
Vagy használj foreach-ot(foreach.inc):
[pawn]foreach(Player, i)
{
//
}[/pawn]

for(new i=-1; i<MAX_PLAYERS; i++)
« Válasz #8 Dátum: 2012. március 06. - 21:21:41 »
+1 Show voters
Aki id 0-val rendelkezik annak ez a változó biztos nem megfelelõ értéket tárol.
 
PlayerInfo[szint]

 
Készíts egy egyszerû parancsot ennek ellenõrzésére.
 
CMD:teszt(playerid,params[ ])
{
new str[64];
format(str, sizeof str, \"{ffffff}PlayerInfo[0][szint] = %d\", PlayerInfo[0][szint]);
SendClientMessage(playerid, -1, str);
return 1;
}

 
A másik dolog, változókat ne for ciklusban hozz létre, hanem ciklus kezdete elõtt.
 
CMD:rendorok(playerid,params[ ])
{
new nev1[MAX_PLAYER_NAME], string[200];
for(new i; i<MAX_PLAYERS; i++)
{
if(PlayerInfo[szint] >= 0)
{
   GetPlayerName(i, nev1, sizeof(nev1));
   format(string, sizeof string, \"{ffffff}Játékos: %s | Rang: Rendõr\", nev1);
   SendClientMessage(playerid, zold, string);
}
}
}

 
Edit:
A parancs mûködõképes ennek a változónak az érték adását kell felülvizsgálni.
[pawn]PlayerInfo[szint][/pawn]
« Utoljára szerkesztve: 2012. március 06. - 21:23:51 írta ɐʞzssǝlosz »

Nem elérhető CANNONN

  • 2139
    • Profil megtekintése
for(new i=-1; i<MAX_PLAYERS; i++)
« Válasz #9 Dátum: 2012. március 06. - 21:31:31 »
0 Show voters
Mindenkinek nagyon szépen köszönöm. Megoldottam.
« Utoljára szerkesztve: 2012. március 06. - 21:33:06 írta Cannonn »

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal