Need Some help With this Login system ++REP
#4

Quote:
Originally Posted by Mencent
Посмотреть сообщение
Hello!

Write it so, it should work:
PHP код:
public OnPlayerConnect(playerid)
{
    
SetPlayerVirtualWorld(playerid,playerid+1);
    
logged[playerid] = 0;
    return 
1;
}
public 
OnPlayerDisconnect(playeridreason)
{
    
money[playerid] = GetPlayerMoney(playerid);
    
dini_IntSet(udb_encode(playername), "money"money[playerid]);
    
dini_IntSet(udb_encode(playername), "adminlevel"adminlevel[playerid]);
    
dini_IntSet(udb_encode(playername), "level"GetPlayerScore(playerid));
    
logged[playerid] = 0;
    return 
1;
}
public 
OnPlayerCommandText(playeridcmdtext[])
{
    new 
cmd[256],tmp[256], tmp2[256];
    new 
idx;
    new 
string[256];
    
cmd strtok(cmdtextidx);
    
GetPlayerName(playeridplayernamesizeof(playername));
    if(
strcmp(cmd"/register"true) == 0)
    {
        
tmp strtok(cmdtextidx);
        if(!
strlen(tmp))
        {
            
SendClientMessage(playeridCOLOR_YELLOW"USAGE: /register (password)");
        }
        else
        {
            if (!
dini_Exists(udb_encode(playername)))
            {
                
dini_Create(udb_encode(playername));
                
dini_IntSet(udb_encode(playername), "password"udb_hash(tmp));
                
dini_IntSet(udb_encode(playername), "adminlevel"0);
                
dini_IntSet(udb_encode(playername), "money"0);
                
format(stringsizeof(string), "Account %s created! You can now login with /login %s"playernametmp);
                
SendClientMessage(playeridCOLOR_YELLOWstring);
            }
            else
            {
                
format(stringsizeof(string), "%s is already registered."playername,tmp);
                
SendClientMessage(playeridCOLOR_REDstring);
            }
        }
        return 
1;
    }
    if(
strcmp(cmd"/login"true) == 0)
    {
        if(
logged[playerid] == 1)
        {
            
SendClientMessage(playeridCOLOR_RED"You are already logged in!");
            return 
1;
        }
        
tmp strtok(cmdtextidx);
        if(!
strlen(tmp))
        {
            
SendClientMessage(playeridCOLOR_YELLOW"USAGE: /login [password]");
        }
        else
        {
            if (
dini_Exists(udb_encode(playername)))
            {
                
tmp2 dini_Get(udb_encode(playername), "password");
                if (
udb_hash(tmp) != strval(tmp2))
                {
                    
SendClientMessage(playeridCOLOR_RED"Wrong/Invalid Password!");
                }
                else
                {
                    
logged[playerid] = 1;
                    
money[playerid] = dini_Int(udb_encode(playername), "money");
                    
adminlevel[playerid] = dini_Int(udb_encode(playername), "adminlevel");
                    
format(stringsizeof(string), "%s, you are now logged in . You got admin level %d and have %d dollar"playernameadminlevel[playerid], money[playerid]);
                    
SendClientMessage(playeridCOLOR_GREENstring);
                    
GivePlayerMoney(playeridmoney[playerid]);
                    
SetPlayerVirtualWorld(playerid,0);
                }
            }
            else
            {
                
format(stringsizeof(string), "You are not registerid Type /register [password] to create an account!"playername);
                
SendClientMessage(playeridCOLOR_REDstring);
            }
        }
        return 
1;
    }
    if(
strcmp(cmd"/makemeadmin"true) == 0)
    {
        if(
IsPlayerAdmin(playerid))
        {
            if(
logged[playerid] == 1)
            {
                if(
adminlevel[playerid] != 3)
                {
                    
adminlevel[playerid] = 5;
                    
SendClientMessage(playeridCOLOR_GREEN"You are now maxlevel admin!");
                }
                else
                {
                    
SendClientMessage(playeridCOLOR_RED"You are already maxlevel admin!");
                }
            }
            else
            {
                
SendClientMessage(playeridCOLOR_RED"Please, first login: /login [password]");
            }
        }
        else
        {
            
SendClientMessage(playeridCOLOR_RED"You must first login with rcon! (/rcon login [rcon-pass])");
        }
        return 
1;
    }
    return 
0;

Mencent
Thanks for the script, Dude! now can you hep me with save player score? i want the system save player score too
Reply


Messages In This Thread
Need Some help With this Login system ++REP - by Chausar - 13.04.2015, 16:42
AW: Need Some help With this Login system ++REP - by Mencent - 13.04.2015, 16:46
Re: Need Some help With this Login system ++REP - by Darrenr - 13.04.2015, 16:47
Re: AW: Need Some help With this Login system ++REP - by Chausar - 14.04.2015, 06:59

Forum Jump:


Users browsing this thread: 1 Guest(s)