SA-MP Forums Archive
My Stats are reseting - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (https://sampforum.blast.hk/forumdisplay.php?fid=12)
+--- Thread: My Stats are reseting (/showthread.php?tid=302950)



My Stats are reseting - GAMER_PS2 - 11.12.2011

I am making a roleplay gamemode first i make a admin system
and i am done i use Lorenc's Tutorial then when i register it works fine
i edit my stats:

Code:
Password=187367946
Level=1000
Money=1000
AdminLevel=1338
Kills=1871
Deaths=191
when i go back the level (score) doesn't set up the cash has been setup but when i disconnect
heres what happens

Code:
Password=187367946
Level=0
Money=0
AdminLevel=0
Kills=0
Deaths=0
Code:

pawn Code:
#include <a_samp>
#include <dini>
#include <dudb>

#pragma unused ret_memcpy

enum pInfo
{
    Cash,
    Level,
    pAdmin,
    Kills,
    Deaths,
}
new PlayerInfo[MAX_PLAYERS][pInfo],
    gPlayerLogged[MAX_PLAYERS];
   
#define DIALOG_REGISTER 451
#define DIALOG_LOGIN    452
   
#define SERVERFILE "Server/Users/%s.ini"

//============================================================================//

#define red "{FF002B}"
#define pink "{FF00D9}"
#define purple "{DFA7F2}"
#define blue "{A1C2FF}"
#define green "{008000}"
#define yellow "{FAF623}"
#define black "{69670C}"
#define orange "{F2C80C}"
#define ice "{03F2FF}"
#define white "{FFFFFF}"
#define lime "{00FF40}"

#define COLOR_LIGHTBLUE 0x33CCFFAA
#define COLOR_RED 0xFF0000FF
#define COLOR_GREY 0xAFAFAFAA
#define COLOR_YELLOW 0xFFFF00AA
#define COLOR_PINK 0xFF66FFAA
#define COLOR_BLUE 0x0000BBAA
#define COLOR_WHITE 0xFFFFFFAA
#define COLOR_DARKRED 0x660000AA
#define COLOR_ORANGE 0xFF9900AA
#define COLOR_BRIGHTRED 0xFF0000AA
#define COLOR_INDIGO 0x4B00B0AA
#define COLOR_VIOLET 0x9955DEEE
#define COLOR_LIGHTRED 0xFF99AADD
#define COLOR_SEAGREEN 0x00EEADDF
#define COLOR_GRAYWHITE 0xEEEEFFC4
#define COLOR_LIGHTNEUTRALBLUE 0xabcdef66
#define COLOR_GREENISHGOLD 0xCCFFDD56
#define COLOR_LIGHTBLUEGREEN 0x0FFDD349
#define COLOR_NEUTRALBLUE 0xABCDEF01
#define COLOR_LIGHTCYAN 0xAAFFCC33
#define COLOR_LEMON 0xDDDD2357
#define COLOR_MEDIUMBLUE 0x63AFF00A
#define COLOR_NEUTRAL 0xABCDEF97
#define COLOR_BLACK 0x00000000
#define COLOR_NEUTRALGREEN 0x81CFAB00
#define COLOR_DARKGREEN 0x12900BBF
#define COLOR_LIGHTGREEN 0x24FF0AB9
#define COLOR_DARKBLUE 0x300FFAAB
#define COLOR_BLUEGREEN 0x46BBAA00
#define COLOR_PINK 0xFF66FFAA
#define COLOR_LIGHTBLUE 0x33CCFFAA
#define COLOR_DARKRED 0x660000AA
#define COLOR_ORANGE 0xFF9900AA
#define COLOR_PURPLE 0x800080AA
#define COLOR_GRAD1 0xB4B5B7FF
#define COLOR_GRAD2 0xBFC0C2FF
#define COLOR_RED1 0xFF0000AA
#define COLOR_GREY 0xAFAFAFAA
#define COLOR_GREEN 0x33AA33AA
#define COLOR_YELLOW 0xFFFF00AA
#define COLOR_WHITE 0xFFFFFFAA
#define COLOR_BROWN 0x993300AA
#define COLOR_CYAN 0x99FFFFAA
#define COLOR_TAN 0xFFFFCCAA
#define COLOR_PINK 0xFF66FFAA
#define COLOR_KHAKI 0x999900AA
#define COLOR_LIME 0x99FF00AA
#define COLOR_SYSTEM 0xEFEFF7AA
#define COLOR_GRAD2 0xBFC0C2FF
#define COLOR_GRAD4 0xD8D8D8FF
#define COLOR_GRAD6 0xF0F0F0FF
#define COLOR_GRAD2 0xBFC0C2FF
#define COLOR_GRAD3 0xCBCCCEFF
#define COLOR_GRAD5 0xE3E3E3FF
#define COLOR_GRAD1 0xB4B5B7FF

//============================================================================//

#if defined FILTERSCRIPT

//============================================================================//

#else

main()
{
    print("      -------------------------------------");
    print("      |        Xtreme Roleplay V1.0       |");
    print("      |     Made by WP/TSU Management     |");
    print("      |   with GAMER_PS2/[SP]Mr.Kakashi   |");
    print("      |        Server Running 0.3d        |");
    print("      |     Greetings by SAMP RP Teams    |");
    print("      -------------------------------------\n");
    print("Server Loading...");
}

#endif

public OnGameModeInit()
{
    SetGameModeText("XR:V1.0");
    AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
    return 1;
}

public OnGameModeExit()
{
    return 1;
}

public OnPlayerRequestClass(playerid, classid)
{
    SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
    SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
    SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
    return 1;
}

public OnPlayerConnect(playerid)
{
    for(new i = 0; i < 100; i++)
    SendClientMessageToAll(COLOR_GREY,"");
    gPlayerLogged[playerid] = 0;
    new name[MAX_PLAYER_NAME], file[256];
    GetPlayerName(playerid, name, sizeof(name));
    format(file, sizeof(file), SERVERFILE, name);
    if (!dini_Exists(file))
    {
        ShowPlayerDialog(playerid,DIALOG_REGISTER, DIALOG_STYLE_INPUT,"Welcome to Xtreme Roleplay", ""white"Welcome to "red"Xtreme Roleplay\n"white"Your currently registering your "red"account\n"white"Please put your password below", "Register", "Leave");
    }
    if(fexist(file))
    {
        ShowPlayerDialog(playerid,DIALOG_LOGIN, DIALOG_STYLE_INPUT, "Welcome Back", ""green"Welcome back to Xtreme Roleplay\n"white"Please login to your account\nput your password below", "Login", "Leave");
    }
    return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
    new name[MAX_PLAYER_NAME], file[256];
    GetPlayerName(playerid, name, sizeof(name));
    format(file, sizeof(file), SERVERFILE, name);
    if(gPlayerLogged[playerid] == 1)
    {
        dini_IntSet(file, "Level", PlayerInfo[playerid][Level]);
        dini_IntSet(file, "Money", PlayerInfo[playerid][Cash]);
        dini_IntSet(file, "AdminLevel",PlayerInfo[playerid][pAdmin]);
        dini_IntSet(file, "Kills", PlayerInfo[playerid][Kills]);
        dini_IntSet(file, "Deaths", PlayerInfo[playerid][Deaths]);
    }
    gPlayerLogged[playerid] = 0;
    return 1;
}

public OnPlayerSpawn(playerid)
{
    return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{
    return 1;
}

public OnVehicleSpawn(vehicleid)
{
    return 1;
}

public OnVehicleDeath(vehicleid, killerid)
{
    return 1;
}

public OnPlayerText(playerid, text[])
{
    return 1;
}

public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
    return 1;
}

public OnPlayerExitVehicle(playerid, vehicleid)
{
    return 1;
}

public OnPlayerStateChange(playerid, newstate, oldstate)
{
    return 1;
}

public OnPlayerEnterCheckpoint(playerid)
{
    return 1;
}

public OnPlayerLeaveCheckpoint(playerid)
{
    return 1;
}

public OnPlayerEnterRaceCheckpoint(playerid)
{
    return 1;
}

public OnPlayerLeaveRaceCheckpoint(playerid)
{
    return 1;
}

public OnRconCommand(cmd[])
{
    return 1;
}

public OnPlayerRequestSpawn(playerid)
{
    if(gPlayerLogged[playerid] == 0) return SendClientMessage(playerid,COLOR_RED,"You must register/login first before spawning!");
    return 1;
}

public OnObjectMoved(objectid)
{
    return 1;
}

public OnPlayerObjectMoved(playerid, objectid)
{
    return 1;
}

public OnPlayerPickUpPickup(playerid, pickupid)
{
    return 1;
}

public OnVehicleMod(playerid, vehicleid, componentid)
{
    return 1;
}

public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
{
    return 1;
}

public OnVehicleRespray(playerid, vehicleid, color1, color2)
{
    return 1;
}

public OnPlayerSelectedMenuRow(playerid, row)
{
    return 1;
}

public OnPlayerExitedMenu(playerid)
{
    return 1;
}

public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
{
    return 1;
}

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
    return 1;
}

public OnRconLoginAttempt(ip[], password[], success)
{
    return 1;
}

public OnPlayerUpdate(playerid)
{
    return 1;
}

public OnPlayerStreamIn(playerid, forplayerid)
{
    return 1;
}

public OnPlayerStreamOut(playerid, forplayerid)
{
    return 1;
}

public OnVehicleStreamIn(vehicleid, forplayerid)
{
    return 1;
}

public OnVehicleStreamOut(vehicleid, forplayerid)
{
    return 1;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    if (dialogid == DIALOG_REGISTER)
    {
        new name[MAX_PLAYER_NAME], file[256], string[128];
        GetPlayerName(playerid, name, sizeof(name));
        format(file, sizeof(file), SERVERFILE, name);
        if(!response) return Kick(playerid);
        if (!strlen(inputtext)) return
        ShowPlayerDialog(playerid,DIALOG_REGISTER, DIALOG_STYLE_INPUT,"Welcome to Xtreme Roleplay", ""white"Welcome to "red"Xtreme Roleplay\n"white"Your currently registering your "red"account\n"white"Please put your password below", "Register", "Leave");
        dini_Create(file);
        dini_IntSet(file, "Password", udb_hash(inputtext));
        dini_IntSet(file, "Level",PlayerInfo[playerid][Level] = 1);
        dini_IntSet(file, "Money",PlayerInfo[playerid][Cash] = 500);
        dini_IntSet(file, "AdminLevel",PlayerInfo[playerid][pAdmin] = 0);
        format(string, 128, "You succesfully registered your account with password %s, you have been auto-logged in.",inputtext);
        SendClientMessage(playerid, COLOR_GREEN, string);
        gPlayerLogged[playerid] = 1;
    }
   
    if (dialogid == DIALOG_LOGIN)
    {
        new name[MAX_PLAYER_NAME], file[256];
        GetPlayerName(playerid, name, sizeof(name));
        format(file, sizeof(file), SERVERFILE, name);
        if(!response) return Kick(playerid);
        if (!strlen(inputtext)) return ShowPlayerDialog(playerid,DIALOG_LOGIN, DIALOG_STYLE_INPUT, "Welcome Back", ""green"Welcome back to Xtreme Roleplay\n"white"Please login to your account\nput your password below", "Login", "Leave");
        new tmp;
        tmp = dini_Int(file, "Password");
        if(udb_hash(inputtext) != tmp)
        {
            SendClientMessage(playerid, COLOR_RED, "Invalid Password");
            ShowPlayerDialog(playerid,DIALOG_LOGIN, DIALOG_STYLE_INPUT, "Welcome Back", ""green"Welcome back to Xtreme Roleplay\n"white"Please login to your account\nput your password below", "Login", "Leave");
        }
        else
        {
            gPlayerLogged[playerid] = 1;
            PlayerInfo[playerid][pAdmin] = dini_Int(file, "AdminLevel");
            SetPlayerScore(playerid, PlayerInfo[playerid][Level]);
            GivePlayerMoney(playerid, dini_Int(file, "Money")-GetPlayerMoney(playerid));
            SendClientMessage(playerid,COLOR_GREEN, "You have been successfully login");
        }
    }
    return 1;
}

public OnPlayerClickPlayer(playerid, clickedplayerid, source)
{
    return 1;
}
Please help me guys ASAP


Re: My Stats are reseting - JamesC - 11.12.2011

You don't actually set the variables Cash and Level when you load the player's data from the INI file. You need to retrieve the values from the INI file into these variables in the login dialog.


Re: My Stats are reseting - wildcookie007 - 11.12.2011

I don't see you load it onplayerconnect so basically it doesn't read from file and stays 0 in a variable, and then as you disconnect it establishes to 0. Try using this code onplayerconnect:

pawn Code:
PlayerInfo[playerid][Level] = dini_Int(file,"Level");
Same with others.


Re: My Stats are reseting - GAMER_PS2 - 11.12.2011

now the problem is my cash is not working
my level is working


Re: My Stats are reseting - suhrab_mujeeb - 11.12.2011

pawn Code:
PlayerInfo[playerid][Level] = dini_Int(file,"Level");
PlayerInfo[playerid][Cash] = dini_Int(file,"Money");
PlayerInfo[playerid][pAdmin] = dini_Int(file,"AdminLevel"); //Edit forgot ;
PlayerInfo[playerid][Kills] = dini_Int(file,"Kills");
PlayerInfo[playerid][Deaths] = dini_Int(file,"Deaths");
Learn to code yourself, he gave u an example and told u same goes with the rest. If only you could read the whole post.


Re: My Stats are reseting - GAMER_PS2 - 11.12.2011

Ooppsss i saw the problem, Problem Solve, the problem is i wrote into Cash instead Money lol


Re: My Stats are reseting - GAMER_PS2 - 11.12.2011

one question how to add the following in registration Just like in Roleplay Servers

- Age
- Gender
- Asia, Europe, etc.

then after the registration i want to make these

- Tutorials

how to make that?


Re: My Stats are reseting - GAMER_PS2 - 12.12.2011

please give me an example i just need it right now


Re: My Stats are reseting - suhrab_mujeeb - 12.12.2011

Try setting it all in variables or in SetPVarInt, for example:
pawn Code:
new Gender[MAX_PLAYERS];
pawn Code:
if(Gender[playerid] == 1)
{
SendClientMessage(playerid, -1, "You are a Male");
return 1;
}
pawn Code:
if(Gender[playerid] == 2)
{
SendClientMessage(playerid, -1, "You are a Female");
return 1;
}
And then save/load it using the way showed above.

Same goes with the age etc.