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: folnoraa - 2015. Január 27. - 13:10:28

Cím: Egy admin rendszerbe regisztráció készítés-HELP
Írta: folnoraa - 2015. Január 27. - 13:10:28
Sziasztok. Lenne egy admin rendszerem, amibe akarok egy regisztrációs rendszert csinálni.. Próbáltam már mindenhogy, fórumról néztem, stb, de nem megy. Tudnátok nekem bele írni egy kis regisztrációs rendszert? Köszönöm!!!!!
 
#include <a_samp>
#include <dini>
#include <sscanf2>
#include <zcmd>
#define MAX_LEVEL 5
#define COLOR_GREY                0xAFAFAFAA
#define COLOR_ORANGE              0xFF9933AA
 
enum pdata //az adattároló neve
{
       Level,// A szint értéke
       Death,//A halálok száma
       MONEY,//A pénz értéke
       Score //A pont értéke
}
new PlayerInfo[MAX_PLAYERS][pdata];
public OnFilterScriptInit()
{
        return 1;
}
public OnFilterScriptExit()
{
        return 1;
}
public OnPlayerConnect(playerid)
{
        new string[128],name[MAX_PLAYER_NAME];
        GetPlayerName(playerid,name,sizeof(name));
        format(string,sizeof(string),\"nAdmin/%s.ini\",name);
        if(dini_Exists(string))
        {
                PlayerInfo[playerid][Level] = dini_Int(string,\"Level\");
                PlayerInfo[playerid][Death] = dini_Int(string,\"Halalok\");
                GivePlayerMoney(playerid,dini_Int(string,\"Penz\"));
                SetPlayerScore(playerid,dini_Int(string,\"Pont\"));
}
        else
        {
            dini_Create(string);
           
        }
        return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
        new string[128],name[MAX_PLAYER_NAME];
        GetPlayerName(playerid,name,sizeof(name));
        format(string,sizeof(string),\"nAdmin/%s.ini\",name);
        if(dini_Exists(string))
        {
            dini_IntSet(string,\"Szint\",PlayerInfo[playerid][Level]);
            dini_IntSet(string,\"Halalok\",PlayerInfo[playerid][Death]);
            dini_IntSet(string,\"Penz\",GetPlayerMoney(playerid));
            dini_IntSet(string,\"Pont\",GetPlayerScore(playerid));
        }
        return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
        PlayerInfo[playerid][Death]++; //növeltük az értéket 1-el.
        return 1;
}
CMD:setlevel(playerid,params[])
{
        new playerid2,level;
        if(sscanf(params,\"id\",playerid2,level)) return SendClientMessage(playerid,-1,\"HASZNÁLAT: /setlevel [játékosid] [szint 0-5]\");
        if(playerid2 == INVALID_PLAYER_ID)return SendClientMessage(playerid,-1,\"Rossz játékos ID\");
        if(level < 0 || level > 5)return SendClientMessage(playerid,-1,\"HASZNÁLAT: /setlevel [játékosid] [szint 0-5]\");
        if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,-1,\"{AFAFAF}A parancs használatához {FF9933}rCon {AFAFAF}adminnak kell lenned.\");
        PlayerInfo[playerid2][Level] = level;
        SendClientMessage(playerid,-1,\"{AFAFAF}Sikeresen átállítottad az {FF9933}admin {FF9933}szintjét!\");
       SendClientMessage(playerid2,-1,\"{AFAFAF}Sikeresen át lett állítva az {FF9933}admin {AFAFAF}szinted!\");
        return 1;
}
Cím: Egy admin rendszerbe regisztráció készítés-HELP
Írta: Andriis - 2015. Február 17. - 09:01:59
#include <a_samp>
#include <dini>
#include <sscanf2>
#include <zcmd>
#define MAX_LEVEL 5
#define COLOR_GREY                0xAFAFAFAA
#define COLOR_ORANGE              0xFF9933AA
new File[128];
new PW[64];
new WPW[MAX_PLAYERS];
main();
enum pdata //az adattároló neve
{
       Level,// A szint értéke
       Death,//A halálok száma
       MONEY,//A pénz értéke
       Score //A pont értéke
}
new PlayerInfo[MAX_PLAYERS][pdata];
public OnFilterScriptInit()
{
        return 1;
}
public OnFilterScriptExit()
{
        return 1;
}
public OnPlayerConnect(playerid)
{
format(File, sizeof(File), \"User/%s.ini\", Nev(playerid));
       
        if(!fexist(File))
        {
            ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, \"Regisztráció\", \"Írj be egy tetszőleges jelszót!\", \"Oké\", \"Mégse\");
        }
        else
        {
            ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, \"Belépés\", \"Írd be a jelszavad!\", \"Rendben\", \"Mégse\");
        }
        return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
        if(dialogid == 1)
        {
           if(!response) Kick(playerid);
            if(strlen(inputtext) == 0)
             {
                 ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, \"Regisztráció\", \"Írj be egy tetszoleges jelszót!\", \"Rendben\", \"Mégsem\");
                return 0;
              }
              format(File, sizeof(File), \"User/%s.ini\", Nev(playerid));
              if(!fexist(File))
            {
               dini_Create(File);
                dini_Set(File, \"Pasword\", inputtext);
                PlayerInfo[playerid][Level] = dini_Int(File,\"Level\");
                PlayerInfo[playerid][Death] = dini_Int(File,\"Halalok\");
                GivePlayerMoney(playerid,dini_Int(File,\"Penz\"));
                SetPlayerScore(playerid,dini_Int(File,\"Pont\"));
                 ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, \"Belépés\", \"Írd be a jelszavad.\", \"Rendben\", \"Mégsem\");
            }
        }
        if(dialogid == 2)
        {
           format(File, sizeof(File), \"User/%s.ini\", Nev(playerid));
            if(!response)
           {
               Kick(playerid);
            }
             format(PW, 64, \"%s\", dini_Get(File, \"Pasword\"));
            if(!strcmp(inputtext, PW, false))
            {
               SendClientMessage(playerid, -1, \"Sikeres belépés! Nyomj a \'SPAWN\' gombra!\");
              }
            else
            {
               WPW[playerid] ++;
      SendClientMessage(playerid, -1, \"Rossz jelszó!\");
      if(WPW[playerid] == 3)
      {
         Kick(playerid);
              }
              ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, \"Belépés\", \"Írd be a jelszavad\", \"Oké\", \"Mégse\");
           }
        }
        return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
        new string[128],name[MAX_PLAYER_NAME];
        GetPlayerName(playerid,name,sizeof(name));
        format(string,sizeof(string),\"User/%s.ini\",name);
        if(dini_Exists(string))
        {
            dini_IntSet(string,\"Szint\",PlayerInfo[playerid][Level]);
            dini_IntSet(string,\"Halalok\",PlayerInfo[playerid][Death]);
            dini_IntSet(string,\"Penz\",GetPlayerMoney(playerid));
            dini_IntSet(string,\"Pont\",GetPlayerScore(playerid));
        }
        return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
        PlayerInfo[playerid][Death]++; //növeltük az értéket 1-el.
        return 1;
}
CMD:setlevel(playerid,params[])
{
        new playerid2,level;
        if(sscanf(params,\"id\",playerid2,level)) return SendClientMessage(playerid,-1,\"HASZNÁLAT: /setlevel [játékosid] [szint 0-5]\");
        if(playerid2 == INVALID_PLAYER_ID)return SendClientMessage(playerid,-1,\"Rossz játékos ID\");
        if(level < 0 || level > 5)return SendClientMessage(playerid,-1,\"HASZNÁLAT: /setlevel [játékosid] [szint 0-5]\");
        if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,-1,\"{AFAFAF}A parancs használatához {FF9933}rCon {AFAFAF}adminnak kell lenned.\");
        PlayerInfo[playerid2][Level] = level;
        SendClientMessage(playerid,-1,\"{AFAFAF}Sikeresen átállítottad az {FF9933}admin {FF9933}szintjét!\");
        SendClientMessage(playerid2,-1,\"{AFAFAF}Sikeresen át lett állítva az {FF9933}admin {AFAFAF}szinted!\");
        return 1;
}
 
stock Nev(playerid)
{
        new Neve[MAX_PLAYER_NAME];
        GetPlayerName(playerid, Neve, sizeof(Neve));
        return Neve;
}

 
Teszteltem, nálam jó volt, és mindent mentett. Remélem tetszik! :)
Cím: Egy admin rendszerbe regisztráció készítés-HELP
Írta: Flash - 2015. Február 20. - 13:46:38
[gmod]Ha megoldódott a problémád, kérlek zárd a témát! :)[/gmod]