Szerző Téma: Rangok /admins-ban!  (Megtekintve 922 alkalommal)

Rangok /admins-ban!
« Dátum: 2014. január 03. - 20:33:36 »
0 Show voters
Hi!
Van egy /admins parancsom,de csak a nevet,IDt és a szintet mutassa,nekem úgy kellene,hogy a rangot is mutassa!
1es:Moderátor
2es:Adminiztrátor
3as:Fõ Adminisztrátor
4es:Tulajdonos
/admins parancs:
 

CMD:admins(playerid,params[])//Online Adminisztrátorok lekérdezése(Player)
{
   new string[256], name[MAX_PLAYER_NAME];
   for(new x, level; x < MAX_PLAYERS; x++) {
   level = PlayerInfo
  • [Admin];

   if(level) {
   GetPlayerName(x, name, sizeof(name));
   format(string, sizeof(string), \"{F81414}%s%s{6EF83C}(ID:%i) - {FFAF00}Szint:{FF00EA} %i\\n\", string, name, x, level);
   }
   }
   if(!strlen(string)) SendClientMessage(playerid, COLOR_ULTRARED, \"Jelenleg nincs Online Adminisztrátor!\");
   else ShowPlayerDialog(playerid, DIALOG_ADMINS, DIALOG_STYLE_MSGBOX, \"Online Adminisztrátorok:\", string, \"Bezár\", \"\");
   return 1;
}

 
Így kellene:
Név:XY (ID:XY) - Szint:XY [Rang]
Elõre is köszönöm! :D
« Utoljára szerkesztve: 2014. január 03. - 20:52:24 írta Aldoooo »

Nem elérhető SSK

  • 232
    • Profil megtekintése
Rangok /admins-ban!
« Válasz #1 Dátum: 2014. január 04. - 00:42:37 »
+1 Show voters

new adminstr[20];
switch(PlayerInfo[playerid][Admin])
{
case 1: adminstr = \"Moderátor\";
case 2: adminstr = \"Admin\";
//STB....
}

 
Ezzel az \"adminstr\" változóba lesz hogy milyen rangú.
case 1: tehát hogyha az Admin változód értéke 1.
case 2: tehát hogyha az Admin változód értéke 2.
és 3 és 4.
Én így oldom meg mindig.
UI:
 

 
CMD:admins(playerid,params[])//Online Adminisztrátorok lekérdezése(Player)
{
   new string[256], name[MAX_PLAYER_NAME],adminstr[20];
   for(new x, level; x < MAX_PLAYERS; x++) {
   level = PlayerInfo
  • [Admin];

   switch(PlayerInfo
  • [Admin])

   {
   case 1: adminstr = \"Moderátor\";
   case 2: adminstr = \"Admin\";
   case 3: adminstr = \"FõAdmin\";
   case 4: adminstr = \"Tulaj\";
   }
   if(level) {
   GetPlayerName(x, name, sizeof(name));
   format(string, sizeof(string), \"{F81414}%s%s[%s]{6EF83C}(ID:%i) - {FFAF00}Szint:{FF00EA} %i\\n\", string, name, adminstr,x, level);
   }
   }
   if(!strlen(string)) SendClientMessage(playerid, COLOR_ULTRARED, \"Jelenleg nincs Online Adminisztrátor!\");
   else ShowPlayerDialog(playerid, DIALOG_ADMINS, DIALOG_STYLE_MSGBOX, \"Online Adminisztrátorok:\", string, \"Bezár\", \"\");
   return 1;
}
 
« Utoljára szerkesztve: 2014. január 04. - 00:46:45 írta SSK »

Rangok /admins-ban!
« Válasz #2 Dátum: 2014. január 04. - 01:32:02 »
+1 Show voters
Szerintem ez a ciklus ebben a formában nem helyes:
 
for(new x, level; x < MAX_PLAYERS; x++)

 
Én így csinálnám meg:
 
CMD:admins(playerid,params[])//Online Adminisztrátorok lekérdezése(Player)
{
   new string[256], name[MAX_PLAYER_NAME],adminstr[20];
   for(new x = 0;x < MAX_PLAYERS; x++)
{
if(!IsPlayerConnected(x)) continue;
switch(PlayerInfo
  • [Admin])

{
   case 1: adminstr = \"Moderátor\";
   case 2: adminstr = \"Admin\";
   case 3: adminstr = \"FõAdmin\";
   case 4: adminstr = \"Tulaj\";
}
if(PlayerInfo
  • [Admin] != 0)

{
   GetPlayerName(x, name, sizeof(name));
   format(string, sizeof(string), \"{F81414}%s%s[%s]{6EF83C}(ID:%i) - {FFAF00}Szint:{FF00EA} %i\\n\", string, name, adminstr,x, PlayerInfo
  • [Admin]);

}
   }
   if(!strlen(string)) SendClientMessage(playerid, COLOR_ULTRARED, \"Jelenleg nincs Online Adminisztrátor!\");
   else ShowPlayerDialog(playerid, DIALOG_ADMINS, DIALOG_STYLE_MSGBOX, \"Online Adminisztrátorok:\", string, \"Bezár\", \"\");
   return 1;
}

Rangok /admins-ban!
« Válasz #3 Dátum: 2014. január 04. - 08:12:25 »
0 Show voters
Kipróbálom;majd írok!Köszi,megy a +.

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal