Szerző Téma: Zyadmin  (Megtekintve 2989 alkalommal)

Nem elérhető ZyZu.

  • Globális moderátor
  • 8939
  • my turbo diesel forum
  • Discord: ZyZu.
    • Profil megtekintése
Zyadmin
« Dátum: 2012. július 19. - 16:05:21 »
+2 Show voters
Üdv! Készítettem még a szerveremre egy adminisztrátor rendszert de nem használom mert új modom van és a luxadmin tuningolt verizómat használom ezért inkább publikálom a kezdõ felhasználóknak akik nem értenek a dini használatához annak lehet hasznos lesz ez a kis szkript! Pár parancsot a netrõl néztem vagy segítettek benne mert volt gondom a sscanf -al!
Elkészítési Idõ: 1 óra
Készítõ: ZyZu
Dátum: 2012.07.19
Idõ: 17.05
Mentések: Kód, Pénz, Pont, admin színt
LÉTRE HOZNI EGY admin MAPPÁT A SCRIPTFILES MAPPÁBAN!
Szkript Codeban:
 

//Include
#include <a_samp>
#include <zcmd>
#include <dini>
#include <sscanf>
#include <dudb>
#define Loop(%1,%2) \\
        for(new %1=0; %1<%2; %1++)
#pragma unused ret_memcpy
#pragma tabsize 0
enum pInfo
{
    pCash,
    pScore,
    Level,
}
new PlayerInfo[MAX_PLAYERS][pInfo];
#define SERVER_USER_FILE \"admin/%s.ini\"
#pragma unused ret_memcpy
#define GREY 0xAFAFAFAA
#define GREEN 0x33AA33AA
#define YELLOW 0xFFFF00AA
#define LIGHTBLUE 0x33CCFFAA
#define ORANGE 0xFF9900AA
#define WHITE 0xFFFFFFAA
new gPlayerLogged[MAX_PLAYERS];
public OnPlayerSpawn(playerid)
{
    gPlayerLogged[playerid] = 0;
    new name[MAX_PLAYER_NAME], file[256];
    GetPlayerName(playerid, name, sizeof(name));
    format(file, sizeof(file), SERVER_USER_FILE, name);
    if (!dini_Exists(file))
    {
        ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, \"Regisztrálás\", \"{ff0000}Üdvözllek a szerveren! Nincsen ezen a szerveren fiókod, hozzál létre írd be a jelszavad!\", \"Regisztrálás\", \"Killép\");
    }
    if(fexist(file))
    {
        ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, \"Bejeletkezés\", \"{00ff48}Üdv kérlek jeletkezz be a szerverre és írd be a jelszavad!\",\"Bejeletkezés\", \"Killép\");
}
    return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
    new name[MAX_PLAYER_NAME], file[256];
    GetPlayerName(playerid, name, sizeof(name));
    format(file, sizeof(file), SERVER_USER_FILE, name);
    if(gPlayerLogged[playerid] == 1)
    {
        dini_IntSet(file, \"Score\", PlayerInfo[playerid][pScore]);
        dini_IntSet(file, \"Money\", PlayerInfo[playerid][pCash]);
    }
    gPlayerLogged[playerid] = 0;
    return 1;
}
    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    if (dialogid == 1)
    {
        new name[MAX_PLAYER_NAME], file[256], string[128];
        GetPlayerName(playerid, name, sizeof(name));
        format(file, sizeof(file), SERVER_USER_FILE, name);
        if(!response) return Kick(playerid);
        if (!strlen(inputtext)) return
        ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, \"Regisztrálás\", \"{ff0000}Üdvözllek a szerveren! Nincsen ezen a szerveren fiókod, hozzál létre írd be a jelszavad!\", \"Regisztrálás\", \"Killép\");
        dini_Create(file);
        dini_IntSet(file, \"Password\", udb_hash(inputtext));
        dini_IntSet(file,\"Level\",0);
        dini_IntSet(file, \"Money\",PlayerInfo[playerid][pCash] = 500);
        dini_IntSet(file, \"Score\",PlayerInfo[playerid][pScore] = 0);
        format(string, 128, \"{00ff48}AccServ: {ff0000}Sikeres regisztrálás! A karakter neve {00ff48}%s{ff0000}, {ff0000}jelszavad {00ff48}%s{ff0000}!\", name, inputtext);
        SendClientMessage(playerid, -1, string);
        PlayerInfo[playerid][Level] = dini_Int(file,\"Level\");
        gPlayerLogged[playerid] = 1;
    }
if (dialogid == 2)
    {
        new name[MAX_PLAYER_NAME], file[256];
        GetPlayerName(playerid, name, sizeof(name));
        format(file, sizeof(file), SERVER_USER_FILE, name);
        if(!response) return Kick(playerid);
        if (!strlen(inputtext)) return ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, \"Bejeletkezés\", \"{00ff48}Üdv kérlek jeletkezz be a szerverre és írd be a jelszavad!\",\"Bejeletkezés\", \"Killép\");
        new tmp;
        tmp = dini_Int(file, \"Password\");
        if(udb_hash(inputtext) != tmp)
{
            SendClientMessage(playerid, -1, \"{ff0000}Rossz jelszó!\");
            ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, \"Bejeletkezés\", \"{00ff48}Üdv kérlek jeletkezz be a szerverre és írd be a jelszavad!\",\"Bejeletkezés\", \"Killép\");
        }
        else
        {
            gPlayerLogged[playerid] = 1;
            SetPlayerScore(playerid, PlayerInfo[playerid][pScore]);
            GivePlayerMoney(playerid, dini_Int(file, \"Money\")-GetPlayerMoney(playerid));
            SendClientMessage(playerid,-1, \"{00ff48}AccServ: {ff0000}Síkeres Bejeletkezés!\");
            PlayerInfo[playerid][Level] = dini_Int(file,\"Level\");
            if(PlayerInfo[playerid][Level] == 0)
         return SendClientMessage(playerid,YELLOW,\"AccServ: {ff0000}Sikeres Belépés! Státusz: {ff0000}Játékos\");
      if(PlayerInfo[playerid][Level] == 1)
          return SendClientMessage(playerid,YELLOW,\"AccServ: {ff0000}Sikeres Belépés! Státusz: {ff0000}Segítõkész\");
      if(PlayerInfo[playerid][Level] == 2)
          return SendClientMessage(playerid,YELLOW,\"AccServ: {ff0000}Sikeres Belépés! Státusz: {ff0000}Moderátór\");
      if(PlayerInfo[playerid][Level] == 3)
          return SendClientMessage(playerid,YELLOW,\"AccServ: {ff0000}Sikeres Belépés! Státusz: {ff0000}V.I.P)\");
      if(PlayerInfo[playerid][Level] == 4)
          return SendClientMessage(playerid,YELLOW,\"AccServ: {ff0000}Sikeres Belépés! Státusz: {ff0000}Adminisztrátor\");
      if(PlayerInfo[playerid][Level] == 5)
          return SendClientMessage(playerid,YELLOW,\"AccServ: {ff0000}Sikeres Belépés! Státusz: {ff0000}Fõ Adminisztrátor\");
      if(PlayerInfo[playerid][Level] > 5)
          return SendClientMessage(playerid,YELLOW,\"AccServ: {ff0000}Sikeres Belépés! Státusz: {ff0000}Tulajdonós)\");
        }
    }
    return 1;
}
CMD:setlevel(playerid, params[])
{
    new id;
    new ammount;
    if(IsPlayerAdmin(playerid))
       {
          if(sscanf(params, \"ui\", id, ammount)) return SendClientMessage( playerid, 0xFF0000AA, \"Használat: /setlevel <Játékos ID/Név> <Szint>\" );
          new
      string[ 64 + 1 ],
      file[ 100 ],
      name[ MAX_PLAYER_NAME],
      PlayerName[ MAX_PLAYER_NAME ];
          GetPlayerName(playerid, name, sizeof(name));
          GetPlayerName(id, PlayerName, sizeof(PlayerName));
  format( file, sizeof( file ), SERVER_USER_FILE, PlayerName );
          format(string, sizeof(string), \"Adminisztrátor %s kienevezett %d színtû adminnak!\", name, ammount);
          SendClientMessage(id, GREY, string);
          format(string, sizeof(string), \"Síkeresen kinevezted %s színtû %d administrátornak!\", PlayerName, ammount);
          SendClientMessage(playerid, GREY, string);
          PlayerInfo[id][Level] = ammount;
          dini_IntSet(file,\"Level\",ammount);
       }
       else return SendClientMessage(playerid, GREEN, \"Nem vagy Admin!\");
       AdminCommand(playerid, \"SETLEVEL\");
       return 1;
}
CMD:armourall(playerid, params[])
{
    #pragma unused params
    if(PlayerInfo[playerid][Level] < 4)
        return SendClientMessage(playerid, ORANGE, \"Nem vagy Admin!\");
    new string[71];
    GetPlayerName(playerid, string, 128);
    format(string, 71, \"Administrátor %s mindenki páncélzatát feltöltötte!\", string);
    SendClientMessageToAll(YELLOW, string);
    SetAllArmor(100.0);
    AdminCommand(playerid, \"ARMOURALL\");
    return 1;
}
CMD:healall(playerid, params[])
    {
        #pragma unused params
        if(PlayerInfo[playerid][Level] < 4)
            return SendClientMessage(playerid, ORANGE, \"Nem vagy Admin!\");
        new string[71];
        GetPlayerName(playerid, string, 128);
        format(string, 71, \"Adminisztrátor %s mindenki életétt felöltötte!\", string);
        SendClientMessageToAll(YELLOW, string);
        SetAllHealth(100.0);
        AdminCommand(playerid, \"HEALALL\");
        return 1;
    }
   
CMD:setscore(playerid, params[])
    {
        if(PlayerInfo[playerid][Level] < 4)
            return SendClientMessage(playerid, ORANGE, \"Nem vagy Admin!\");
        new tmp[256], tmp2[256];
        new Index;
        tmp = strtok(params, Index);
        tmp2 = strtok(params, Index);
        new id = strval(tmp);
        new score = strval(tmp2);
        if(!strlen(tmp))
            return SendClientMessage(playerid,GREY,\"USAGE: /setscore <JátékosID> <Pont> \");
        if(!strlen(tmp2))
            return SendClientMessage(playerid,GREY,\"USAGE: /setscore <JátékosID> <Pont> \");
        if(!IsPlayerConnected(id))
            return SendClientMessage(playerid,GREY,\"Invalid ID\");
        new string[72];
        new pName[MAX_PLAYER_NAME], aName[MAX_PLAYER_NAME];
        GetPlayerName(playerid, aName, MAX_PLAYER_NAME);
        GetPlayerName(id, pName, MAX_PLAYER_NAME);
        format(string, 72, \"Administrátor %s módosította a pontod %d!\", aName, score);
        SendClientMessage(id, YELLOW, string);
        format(string, 72, \"Átraktad a pontját %s! Pont: %d\", pName, score);
        SendClientMessage(playerid, YELLOW, string);
        SetPlayerScore(id, score);
        AdminCommand(playerid, \"SETSCORE\");
        return 1;
    }
CMD:admins(playerid, params[])
{
    new string[34];
    #pragma unused params
    SendClientMessage(playerid, GREEN, \"Elérhetõ Adminisztárotok:\");
    Loop(i, MAX_PLAYERS)
    {
        new aName[MAX_PLAYER_NAME];
        if(PlayerInfo[Level] >= 1)
        {
            GetPlayerName(i, aName, MAX_PLAYER_NAME);
            format(string, 128, \"Adminisztrátorok: %s\", aName);
        }
    }
    SendClientMessage(playerid, YELLOW, string);
    return 1;
}
    stock GivePlayerScore(playerid, score)
    {
        SetPlayerScore(playerid, GetPlayerScore(playerid) + (score) );
        return 1;
    }
   
    stock SetAllHealth(Float:health)
    {
        Loop(i, MAX_PLAYERS)
        {
            if(IsPlayerConnected(i))
            {
                SetPlayerHealth(i, health);
            }
        }
        return 1;
    }
    stock AdminCommand(playerid,command[])
    {
        new string[128];
        GetPlayerName(playerid,string,128);
        format(string,sizeof(string),\"<< Adminisztrátor %s || Színt: %d || Használta: %s >>\", string, PlayerInfo[playerid][Level], command);
        Loop(i, MAX_PLAYERS)
        {
            if(PlayerInfo[Level] >= 1)
            {
                SendClientMessage(i, YELLOW, string);
            }
        }
    }
stock SetAllArmor(Float:armor)
    {
        Loop(i, MAX_PLAYERS)
        {
            if(IsPlayerConnected(i))
            {
                SetPlayerArmour(i, armor);
            }
        }
        return 1;
    }

 
Tesztelve van mûködik, jöhetnek a kérdések és a kritikák!
« Utoljára szerkesztve: 2012. július 29. - 21:06:47 írta ZyZu »

Nem elérhető CANNONN

  • 2139
    • Profil megtekintése
Zyadmin
« Válasz #1 Dátum: 2012. július 19. - 16:18:31 »
0 Show voters
A fõbb parancsok kick, ban, warn, stb, kimaradtak? :D

Nem elérhető ZyZu.

  • Globális moderátor
  • 8939
  • my turbo diesel forum
  • Discord: ZyZu.
    • Profil megtekintése
Zyadmin
« Válasz #2 Dátum: 2012. július 19. - 16:19:28 »
0 Show voters
Igen azt nem írtam oda azokat inkább kihagyom mert mindenkinek más az ízlése valaki dialogal csinálja vagy idõre bannolja inkább kihagytam :P xD :D

Nem elérhető Dead

  • 2045
    • Profil megtekintése
Zyadmin
« Válasz #3 Dátum: 2012. július 19. - 17:57:25 »
0 Show voters
TulajdonÓs ??? XDD
jó lett, de parancsok?:D

Nem elérhető ZyZu.

  • Globális moderátor
  • 8939
  • my turbo diesel forum
  • Discord: ZyZu.
    • Profil megtekintése
Zyadmin
« Válasz #4 Dátum: 2012. július 19. - 18:40:59 »
0 Show voters
Idézetet írta: Dead date=1342713445\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"24689\" data-ipsquote-contentclass=\"forums_Topic
TulajdonÓs ??? XDD
jó lett, de parancsok?:D
 
ja igen itt nem írtam helyesen de a módban javítottam szóval ott jó :D
Vannak benne parancsok de nem sok..

Nem elérhető instant

  • 2778
  • ZzzzzZ
    • Profil megtekintése
Zyadmin
« Válasz #5 Dátum: 2012. július 19. - 20:18:00 »
0 Show voters
a /setlevel müködik is ?

Nem elérhető ZyZu.

  • Globális moderátor
  • 8939
  • my turbo diesel forum
  • Discord: ZyZu.
    • Profil megtekintése
Zyadmin
« Válasz #6 Dátum: 2012. július 19. - 20:33:27 »
0 Show voters
igen!  ;)

Zyadmin
« Válasz #7 Dátum: 2012. július 19. - 20:52:33 »
0 Show voters
Jó lett de azért több parancs is jöhetet volna :D de grat  :thumbsup:

Nem elérhető ZyZu.

  • Globális moderátor
  • 8939
  • my turbo diesel forum
  • Discord: ZyZu.
    • Profil megtekintése
Zyadmin
« Válasz #8 Dátum: 2012. július 19. - 23:16:20 »
0 Show voters
kössz tezsvírem!  ;) :D

Nem elérhető Spedy

  • 227
    • Profil megtekintése
Zyadmin
« Válasz #9 Dátum: 2012. július 20. - 16:37:41 »
0 Show voters
Hasznos, De még 1-2 fõb parancs hiányzik :)

Zyadmin
« Válasz #10 Dátum: 2012. július 29. - 16:57:42 »
0 Show voters
ismerõs admin rendszer :)

Nem elérhető ZyZu.

  • Globális moderátor
  • 8939
  • my turbo diesel forum
  • Discord: ZyZu.
    • Profil megtekintése
Zyadmin
« Válasz #11 Dátum: 2012. július 29. - 20:23:25 »
0 Show voters
igen  :D

Zyadmin
« Válasz #12 Dátum: 2012. július 29. - 20:28:30 »
+1 Show voters
ez csak nekem tûnt fel??
 
#include <a_samp>
#include <dini>
#include <zcmd>
#include <dini>
#include <sscanf>
#include <dudb>
[/quote]

Nem elérhető ZyZu.

  • Globális moderátor
  • 8939
  • my turbo diesel forum
  • Discord: ZyZu.
    • Profil megtekintése
Zyadmin
« Válasz #13 Dátum: 2012. július 29. - 21:07:12 »
0 Show voters
Kössz, hogy szoltál :D  :facepalm:

Zyadmin
« Válasz #14 Dátum: 2012. július 29. - 21:21:35 »
0 Show voters
Idézetet írta: ZyZu date=1343588832\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"24689\" data-ipsquote-contentclass=\"forums_Topic
Kössz, hogy szoltál :D  :facepalm:
 
még mindig nem jó. a dudb alapban beágyazza a dinit, szoval neked felesleges. :)

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal