Dimi Isnt Saving File!
#1

Okay So Heres My Script.

Код:
public OnPlayerConnect(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, "Hi your not registered", "Welcome, your not registered mate, input your registration pw below", "Register", "Leave");
    }
    if(fexist(file))
    {
        ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Hi your registered", "Fucken awesome mate, your registered :D. Inpute your pw below", "Login", "Leave");
    }
	return 1;
}
forward SaveAccounts(playerid); // Example Forward

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]);
        dini_IntSet(file, "AdminLevel",PlayerInfo[playerid][pAdminLevel]);
    }
    gPlayerLogged[playerid] = 0;
    return 1;
}
It Dosnt Save The File Why?
Reply
#2

Did you create the file, did you create the folder in your scriptfolder?
Reply
#3

Quote:
Originally Posted by Wesley221
Посмотреть сообщение
Did you create the file, did you create the folder in your scriptfolder?
Of Course i did
Reply
#4

pawn Код:
dini_IntSet(file, "Score", GetPlayerScore(playerid));
dini_IntSet(file, "Money", GetPlayerMoney(playerid));
Try this
Reply
#5

Show us this define: SERVER_USER_FILE.
Reply
#6

Did you put a Dini function for loading the file?
Reply
#7

Код:
#define SERVER_USER_FILE "HZadmin/Registration/%s.ini"
Reply
#8

Please Help!
Reply
#9

Create a custom function like this.

pawn Код:
forward SaveAccount(playerid);
public SaveAccount(playerid)
{
    new user[32];
    format(user, sizeof(user), "Users/%s.ini", GetPlayerNameEx(playerid));
    if(LoggedIn[playerid] == 1)
    {
        dini_IntSet(user, "AdminLevel", PlayerInfo[playerid][pAdminLevel]);
    }
    return 1;
}
Change that to your needs, but under OnPlayerDisconnect put this function "SaveAccount(playerid);" and it will work. I already posted a solution for people having trouble with this in Lorenc_'s topic but everyone just ignored me.

EDIT: Here is the GetPlayerNameEx stock. This thing works wonders.
pawn Код:
stock GetPlayerNameEx(playerid)
{
    new pname[MAX_PLAYER_NAME];
    if(IsPlayerConnected(playerid))
    {
        GetPlayerName(playerid, pname, sizeof(pname));
    }
    else
        pname = "Unknow";
    return pname;
}
Reply
#10

This can be solved. I put my login script later on this topic. Now im gonna take a shower
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)