Szerző Téma: miért nem listáz ki mindenkit?  (Megtekintve 933 alkalommal)

miért nem listáz ki mindenkit?
« Dátum: 2011. június 30. - 19:39:08 »
0 Show voters
CMD:adminok(playerid, params[])
{
    if(IsLogged[playerid] == 1)
{
    SendClientMessage(playerid, COLOR_WHITE, \"Elérhetõ adminok:\");
    for(new i; i<=PLAYERS; i++)
    {
        if(Info[admin] >= 1)
        {
            new str1[64];
            if(Info[admin] == 1)
               {
               format(str1,64,\"Admin %s [1-es admin]\", PlrName(i));
               SendClientMessage(playerid, COLOR_RED, str1);
      }
      if(Info[admin] == 2)
      {
               format(str1,64,\"Admin %s [2-es admin]\", PlrName(i));
               SendClientMessage(playerid, COLOR_RED, str1);
      }
      if(Info[admin] == 3)
      {
               format(str1,64,\"Admin %s [3-as admin]\", PlrName(i));
               SendClientMessage(playerid, COLOR_RED, str1);
      }
      return 1;
   }
}
}
else
{
    SendClientMessage(playerid, COLOR_RED, \"Nem vagy bejelentkezve!\");
}
return 1;
}

 
Itt ez a parancs. Annyi a baj hogy csak az elsõ adminig megy. Szóval nem listázza ki az összeset csak egyet. Mi a baj?

Nem elérhető ZeRo

  • 4620
  • Ex Globális Moderátor
    • Profil megtekintése
miért nem listáz ki mindenkit?
« Válasz #1 Dátum: 2011. június 30. - 19:54:37 »
0 Show voters

...
format(str1,64,\"Admin %s [3-as admin]\", PlrName(i));
               SendClientMessage(playerid, COLOR_RED, str1);
      }
      return 1;
...

 
Innen vedd ki a \'return 1\'; kifejezést, mivel így ha kilistáz egyet, akkor megszakítja a ciklust, így nem listázza a többit.

miért nem listáz ki mindenkit?
« Válasz #2 Dátum: 2011. június 30. - 20:21:40 »
0 Show voters
akkor meg jön a SERVER UNKOWN COMMAND post:S

Nem elérhető Epsilon

  • 1854
    • Profil megtekintése
miért nem listáz ki mindenkit?
« Válasz #3 Dátum: 2011. június 30. - 21:10:29 »
0 Show voters
Ha csak onnan veszed ki ahol Zero mutatta, nem fog \'jönni\'.

miért nem listáz ki mindenkit?
« Válasz #4 Dátum: 2011. június 30. - 21:14:12 »
0 Show voters
Szerintem meg lehetséges az Unknown rész mivel még mindig nem nézik meg milyen értékekkel fut végig egy ciklus és lehet olyan cellára hivatkozik ami nincs is.
Talán ez segíthet.
 

for(new i; i<=PLAYERS; i++)

 
helyett:
 

for(new i; i < PLAYERS; i++)

 
És azt a return 1;-et vedd ki, amelyikrõl írtak.

Nem elérhető Sheet

  • 1508
  • Támogató
    • Profil megtekintése
miért nem listáz ki mindenkit?
« Válasz #5 Dátum: 2011. június 30. - 21:24:34 »
0 Show voters
[pawn]CMD:admins(playerid, params[])
{
new admins = 0;
    SendClientMessage(playerid, COLOR_YELLOW, \"   **   Online adminok **\");
     foreach(Player, i)
      {
         new string[128];
    if(Info == 1)

   {


      format(string, 256, \"Admin %s [1-es admin]\", PlrName(i));


      SendClientMessage(playerid, COLOR_RED, string);


      admins++;


   }


    else if(Info
== 2)

   {


       format(string, 256, \"Admin %s [2-es admin]\", PlrName(i));


      SendClientMessage(playerid, COLOR_RED, string);


      admins++;


   }


   else if(Info
== 3)

   {


              format(string, 256, \"Admin %s [3-as admin]\", PlrName(i));


      SendClientMessage(playerid, COLOR_RED, string);


      admins++;


   }


      }


      if (admins == 0) SendClientMessage(playerid, 0xFF4500AA, \"Jelenleg nincs on-line adminisztrátor.\");


    return 1;


}[/pawn]


Dupla hozzászólás automatikusan összefûzve. ( 2011. július 01. - 22:35:22 )

Ha megoldódott lehet zárni
« Utoljára szerkesztve: 2011. július 01. - 22:35:22 írta Sheet »

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal