Szerző Téma: Elérhető adminok lekérdezése  (Megtekintve 1056 alkalommal)

Nem elérhető Blez

  • 202
    • Profil megtekintése
Elérhető adminok lekérdezése
« Dátum: 2015. április 22. - 16:22:31 »
0 Show voters
Sziasztok! Egy saját admin rendszeren dolgozom már több mint 1 hónapja. Eddig minden gördülékenyen ment és ha nem is tudtam megoldani valamit, azt a következő egy-két napon már sikerült. Viszont most 1 hete próbálok egy elérhető adminok lekérdezésére szolgáló parancsot készíteni. Nem tudtam, hogy hogyan kezdjek neki, így kerestem itt is, valamint hivatalos fórumon is. Találtam is egyet a hiv. fórumon, viszont rengeteg hiba volt benne. Nagy részét már kijavítottam, de van még rajta mit változtatni. Íme a kód:
 
if(strcmp(cmdtext, \"/admins\", true) == 0)
    {
new strtext[1000], string[64];
        if(IsPlayerConnected(playerid))
{
   if(PlayerInfo[playerid][aLevel] == 1)
            {
             GetPlayerName(i, sendername, sizeof(sendername));
              format(string, 128, \"*[Kezdő Admin] %s (%d)\", sendername, playerid);
                SendClientMessage(playerid, 0x99CCCCAA, string);
            }
           if(PlayerInfo[playerid][aLevel] == 2)
           {
                GetPlayerName(i, sendername, sizeof(sendername));
      format(string, 128, \"*[Haladó Admin] %s (%d)\", sendername, playerid);
      SendClientMessage(playerid, 0x99FFCCAA, string);
              }
            if(PlayerInfo[playerid][aLevel] == 3)
            {
                GetPlayerName(i, sendername, sizeof(sendername));
               format(string, 128, \"*[Profi Admin] %s (%d)\", sendername, playerid);
              SendClientMessage(playerid, 0x99FFCCAA, string);
            }
          if(PlayerInfo[playerid][aLevel] == 4)
            {
               GetPlayerName(i, sendername, sizeof(sendername));
                format(string, \"*[FőAdmin] %s (%d)\", sendername, playerid);
               SendClientMessage(playerid, 0x008D04FF, string);
           }
            if(PlayerInfo[playerid][aLevel] == 5)
          {
               GetPlayerName(i, sendername, sizeof(sendername));
              format(string, 128, \"*[FőAdmin/Tulajdonos] %s (%d)\", sendername, playerid);
               SendClientMessage(playerid, 0x006CA2FF, string);
          }
          strcat(string, \"\\n\");
   strcat(strtext, string);
   }
        }
ShowPlayerDialog(playerid, DIALOG_STYLE_MSGBOX, \"{FFA500}Elérhető Adminok\", strtext, \"Ok\", \"\");
}
return 1;

 
Az elcsúszásokért elnézést kérek. Ez az egész parancs OnPlayerCommandText alatt van, még mielőtt bárki is kritizálna. :D Előre is köszönöm a segítséget!
« Utoljára szerkesztve: 2015. április 22. - 16:40:34 írta RusH. »

Elérhető adminok lekérdezése
« Válasz #1 Dátum: 2015. április 22. - 16:53:17 »
+2 Show voters
jó az ötlet, hogy admin rendszert írsz, nekem is az elsők között volt.. :D
de rosszul állsz neki, hogy sima parancsfeldolgozót használsz.. sokkal jobb és egyszerűbb a ZCMD, szerintem azt tanuld meg..


if(strcmp(cmdtext, \"/admins\", true) == 0)
{
new strtext[1000],
string[64],
ranks[][] = { \"Kezdő admin\", \"Haladó admin\", \"Profi admin\", \"Főadmin\", \"Főadni/tulajdonos\"};
for(new i = 0; i < MAX_PLAYERS; i++) {
    if(!IsPlayerConnected(i)) continue;
    if(PlayerInfo[aLevel] > 0) {
        GetPlayerName(i, sendername, sizeof(sendername));
        format(string, sizeof(string), \"*[%s]* %s %d\\n\", ranks[PlayerInfo[aLevel]], sendername, i);
        strcat(strtext, string);
}
}
ShowPlayerDialog(playerid, ASDERT, DIALOG_STYLE_MSGBOX, \"{FFA500}Elérhető Adminok\", strtext, \"Ok\", \"\");
return 1;
}

 
ASDERT helyett írj be egy dialogid-t amit még nem használtál, mert kihagytad :D
« Utoljára szerkesztve: 2015. április 22. - 17:30:09 írta anGeL »

Nem elérhető Lofoli

  • 296
    • Profil megtekintése
Elérhető adminok lekérdezése
« Válasz #2 Dátum: 2015. április 22. - 17:11:01 »
+1 Show voters
ha nem tudod használni a zcmd-t
akkor itt a sampforumé
sampforum.hu/index.php?page=zcmd

Nem elérhető Blez

  • 202
    • Profil megtekintése
Elérhető adminok lekérdezése
« Válasz #3 Dátum: 2015. április 22. - 19:19:38 »
0 Show voters
Félre értetek. Én ZCMD -t használok, csak ezt így találtam hivatalos fórumon. :D
Edit: Mellesleg köszönöm a segítséget! Kaptok plusszt! :P 10-15 perc múlva lezárom a témát, csak még látom, hogy 1-2 ember nézi, és hátha hozzá akar szólni...
Edit 2: Beraktam az fs-be, viszont ha felmegyek, akkor nem működik... :/ Átírtam ZCMD-be is, és úgy sem lett jó... :-[
« Utoljára szerkesztve: 2015. április 22. - 19:30:26 írta drop »

Elérhető adminok lekérdezése
« Válasz #4 Dátum: 2015. április 22. - 19:55:54 »
+1 Show voters
Hali!
Próbáld ki ezt:
 
CMD:admins(playerid)
{
new count = 0;
new string[1024];
    new AdmRank[32];
for(new i = 0; i < MAX_PLAYERS; i++)
{
if (IsPlayerConnected(i))
   {
   if(PlayerInfo[aLevel] > 0)
      {
       switch(PlayerInfo[aLevel])
      {
         case 1: { AdmRank = \"Kezdő admin\"; }
         case 2: { AdmRank = \"Haladó admin\"; }
         case 3: { AdmRank = \"Profi admin\"; }
         case 4: { AdmRank = \"Főadmin\"; }
         case 5: { AdmRank = \"Főadmin/Tulajdonos\"; }
      }
      format(string, 1024, \"%s%s  |  Szint: %d  ..:: [Rang: %s] ::.. \\n\",string,pName(i),PlayerInfo[aLevel],AdmRank);
      ShowPlayerDialog(playerid, 3, DIALOG_STYLE_MSGBOX, \"Adminok:\" ,string, \"Close\", \"\");
      count++;
   }
}
if (count == 0)
SendClientMessage(playerid,0xFF0000AA,\"Szerver: {ffffff}Nem találtam admint! {00D8FF}:(\");
}
return 1;
}
stock pName(playerid)
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
return name;
}
« Utoljára szerkesztve: 2015. április 22. - 19:58:35 írta _[G]M[K]_Sh1ft_ »

Nem elérhető Flash

  • 5726
  • (っ◕‿◕)っ
    • Profil megtekintése
Elérhető adminok lekérdezése
« Válasz #5 Dátum: 2015. április 22. - 20:09:15 »
+1 Show voters
Tessék:
 
#include <a_samp>
#include <zcmd>
#define DIALOG_ADMINS 1234
new string[1024], line[256];
CMD:admins(playerid) {
line[0]=EOS;
for(new i; i < MAX_PLAYERS; i++) {
if(PlayerInfo[aLevel] > 0) {
   format(line, sizeof(line), \"{%06x}%s(%i) - Rang: %s\\n\", GetPlayerColor(i) >>> 8, Name(i), i, GetAdminRang(i));
   strcat(string, line);
}
}
ShowPlayerDialog(playerid, DIALOG_ADMINS, DIALOG_STYLE_MSGBOX, \"Online Adminisztrátorok\", string, \"[X]\", \"\");
return 1;
}
stock GetAdminRang(playerid) {
new rang[64];
switch(PlayerInfo[aLevel]) {
case 1: rang = \"Próbaidős\";
case 2: rang = \"Moderátor\";
case 3: rang = \"Adminisztrátor\";
case 4: rang = \"Fő Adminisztrátor\";
case 5: rang = \"Tulajdonos\";
}
return rang;
}
Name(p) { new n[24]; GetPlayerName(p, n, 24); return n; }

 
Ezt egy volt szerveremből alakítottam át neked.

Nem elérhető Blez

  • 202
    • Profil megtekintése
Elérhető adminok lekérdezése
« Válasz #6 Dátum: 2015. április 22. - 21:00:03 »
0 Show voters
Köszönöm szépen a segítséget! Végül a Sh1ft féle parancsot raktam be. :D

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal