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

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Szkript kérések => A témát indította: Aldoooo - 2014. Január 03. - 20:33:36

Cím: Rangok /admins-ban!
Írta: Aldoooo - 2014. Január 03. - 20:33:36
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
Cím: Rangok /admins-ban!
Írta: SSK - 2014. Január 04. - 00:42:37

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;
}
 
Cím: Rangok /admins-ban!
Írta: bbTamas - 2014. Január 04. - 01:32:02
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;
}
Cím: Rangok /admins-ban!
Írta: Aldoooo - 2014. Január 04. - 08:12:25
Kipróbálom;majd írok!Köszi,megy a +.