YINI help please
#5

i did its still not working

here the code help pls
PHP код:
enum pInfo
{
    
PlayerPass,
    
PlayerMoney,
    
PlayerLevel,
    
PlayerScore,
    
PlayerKills,
    
PlayerDeaths,
    
PlayerBanned,
    
PlayerIP[16]
}

new 
PlayerInfo[PLAYERS][pInfo];

forward LoadPlayer_data(playerid,name[],value[]);
public 
LoadPlayer_data(playerid,name[],value[])
{
    
INI_Int("password",PlayerInfo[playerid][PlayerPass]);
    
INI_Int("money",PlayerInfo[playerid][PlayerMoney]);
    
INI_Int("adminlevel",PlayerInfo[playerid][PlayerLevel]);
    
INI_Int("scores",PlayerInfo[playerid][PlayerScore]);
    
INI_Int("kills",PlayerInfo[playerid][PlayerKills]);
    
INI_Int("deaths",PlayerInfo[playerid][PlayerDeaths]);
    
INI_Int("playerbanned",PlayerInfo[playerid][PlayerBanned]);
    
INI_String("playerip",PlayerInfo[playerid][PlayerIP], 16);
    return 
1;
}

stock AccountsPath(playerid)
{
    new 
string[128],playername[MAX_PLAYER_NAME];
    
GetPlayerName(playerid,playername,sizeof(playername));
    
format(string,sizeof(string),UserFiles,playername);
    return 
string;
}

stock udb_hash(buf[]) {
    new 
length=strlen(buf);
    new 
s1 1;
    new 
s2 0;
    new 
n;
    for (
n=0n<lengthn++)
    {
       
s1 = (s1 buf[n]) % 65521;
       
s2 = (s2 s1)     % 65521;
    }
    return (
s2 << 16) + s1;
}

//OnplayerConnect
new str[270];
    if (
isconnected[playerid] == 0)
    {
        
isconnected[playerid] = 1;
        
SetPlayerColor(playeridCOLOR_PLAYER);
        
SetPlayerVirtualWorld(playerid1);
        new 
playername[MAX_PLAYER_NAME];
        
GetPlayerName(playeridplayernameMAX_PLAYER_NAME);

        if(
fexist(AccountsPath(playerid)))
        {
            
INI_ParseFile(AccountsPath(playerid), "LoadPlayer_%s", .bExtra true, .extra playerid);
            
format(strsizeof(str), "Welcome to {00FFF3}%s.\n\n{FFFF00}Account:{FFFFFF} %s\n\nPlease enter your password below:"SV_NAMERPN(playerid));
            
ShowPlayerDialog2(playeridDIALOG_LOGINDIALOG_STYLE_INPUT""COL_RED"Login"str"Login""Cancel");
            
SendPlayerFormattedText(playeridCOLOR_LBLUE"Welcome back %s to {FF33CC}"SV_NAME"{FFFFFF}."playername"");
            
playerlogged[playerid] = 1;
        }
        else
        {
            
format(strsizeof(str), "Welcome to {FFB900}%s.\n\n{FFFF00}Account:{FFFFFF} %s\n\nRegister an account to play.\n\nPlease put the password below:"SV_NAMERPN(playerid));
            
ShowPlayerDialog2(playeridDIALOG_REGISTERDIALOG_STYLE_INPUT""COL_GREEN"Register"str"Continue""Cancel");
            
SendPlayerFormattedText(playeridCOLOR_WHITE"Welcome %s to {FF33CC}"SV_NAME"{FFFFFF}."playername"");
            
playerlogged[playerid] = 1;
        }
        return 
0;
    }
    
public 
OnDialogResponse(playeriddialogidresponselistiteminputtext[])
{
    new 
string[270], strings[270], playername[25];
    
GetPlayerName(playeridplayernameMAX_PLAYER_NAME);
    if(
dialogid == DIALOG_REGISTER)
    {
     if (!
response) return SendClientMessage(playeridCOLOR_GREY,"[Server]: You must register/login to spawn.");
     if(
response)
     {
      if(!
strlen(inputtext)) return ShowPlayerDialog(playeridDIALOG_REGISTERDIALOG_STYLE_INPUT""COL_GREEN"Register",""COL_RED"You have entered an invalid password.\n"COL_WHITE"Type your password below to register a new account.","Register","Cancel");
      new 
pIP[16];
      
GetPlayerIp(playeridpIPsizeof(pIP));
      new 
INI:File INI_Open(AccountsPath(playerid));
      
INI_SetTag(File,"Player Data");
      
INI_WriteInt(File,"password",udb_hash(inputtext));
      
INI_WriteInt(File,"money"REGISTER_MONEY);
      
INI_WriteInt(File,"adminlevel",0);
      
INI_WriteInt(File,"scores"REGISTER_SCORE);
      
INI_WriteInt(File,"kills",0);
      
INI_WriteInt(File,"deaths",0);
      
INI_WriteInt(File,"playerbanned",0);
      
INI_WriteString(File"playerip"pIP);
      
INI_Close(File);
      
GivePlayerMoney(playeridREGISTER_MONEY);
      
GivePlayerScore(playeridREGISTER_SCORE);
      
playerlogged[playerid] = 1;

      
format(stringsizeof string,"%s has registered a new account"playername);
      
SendClientMessageToAll(COLOR_YELLOWstring);
      
format(stringssizeof strings,"%s Welcome in "SV_NAME", /rules and /help"playername);
      
SendClientMessageToAll(COLOR_YELLOWstrings);
      }
    }

    if(
dialogid == DIALOG_LOGIN)
    {
     if(!
response) return SendClientMessage(playeridCOLOR_GREY,"[Server]: You must register/login to spawn.");
     if(
response)
     {
      if(
num_hash(inputtext) == PlayerInfo[playerid][PlayerPass])
      {
       
//INI_ParseFile(AccountsPath(playerid), "LoadPlayer_%s", .bExtra = true, .extra = playerid);
       
SetPlayerScore(playerid,  PlayerInfo[playerid][PlayerScore]);
       
GivePlayerMoney(playeridPlayerInfo[playerid][PlayerMoney]);

       
playerlogged[playerid] = 1;
       
SendClientMessage(playeridCOLOR_GREEN,"You have successfully logged in");

      }
      else
      {
       
ShowPlayerDialog(playeridDIALOG_LOGINDIALOG_STYLE_INPUT,""COL_RED"Login",""COL_RED"You have entered an incorrect password.\n"COL_WHITE"Type your password below to login.","Login","Cancel");
      }
      return 
1;
      }
     }
    return 
1;

Reply


Messages In This Thread
YINI help please - by BulletRaja - 26.01.2018, 06:22
Re: YINI help please - by jlalt - 26.01.2018, 06:54
Re: YINI help please - by BulletRaja - 26.01.2018, 07:26
Re: YINI help please - by jlalt - 26.01.2018, 08:03
Re: YINI help please - by BulletRaja - 26.01.2018, 08:49
Re: YINI help please - by jlalt - 26.01.2018, 08:53
Re: YINI help please - by BulletRaja - 26.01.2018, 09:09
Re: YINI help please - by BulletRaja - 26.01.2018, 13:41

Forum Jump:


Users browsing this thread: 3 Guest(s)