Loading Player's money and score bug/error
#1

Problem is, it loads money good when I login, BUT after I die, the money increases instead of decreasing..
Some codes
pawn Код:
public OnPlayerConnect(playerid)
{
        new pname[MAX_PLAYER_NAME], string[63 + MAX_PLAYER_NAME];
        SendClientMessage(playerid,COLOR_GREEN,"Welcome to San Andreas City Cops and Robbers");
        SendClientMessage(playerid,COLOR_GREEN,"Make sure you read and Abide by our /rules, and obey our admins.");
        TogglePlayerClock(playerid, 0);

       
        if(fexist(UserPath(playerid)))
        {
           INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
           ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT,"{F81414}San Andreas City Cops and Robbers","{FFFFFF}Welcome back, Please type your password below to login.","Login","Quit");
        }
        else
        {
           ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT,"{F81414}San Andreas City Cops and Robbers","{FFFFFF}Welcome, Please type your password below to register a new account.","Register","Quit");
        }
        GetPlayerName(playerid, pname, sizeof(pname));
        format(string, sizeof(string), "%s has Joined the server.", pname);
        SendClientMessageToAll(COLOR_CYAN, string);
        return 1;
}
//===================================================================
public OnPlayerDisconnect(playerid, reason)
{
    new INI:File = INI_Open(UserPath(playerid));
    INI_SetTag(File,"Player's Data");
    INI_WriteInt(File,"Cash",GetPlayerMoney(playerid));
    INI_WriteInt(File,"Score",GetPlayerScore(playerid));
    INI_WriteInt(File,"AdminLevel",PlayerInfo[playerid][pAdminLevel]);
    INI_WriteInt(File,"Kills",PlayerInfo[playerid][pKills]);
    INI_WriteInt(File,"Deaths",PlayerInfo[playerid][pDeaths]);
    INI_WriteInt(File,"Banned",PlayerInfo[playerid][pBanned]);
    INI_Close(File);

    ResetVariables(playerid);

    new pname[MAX_PLAYER_NAME], string[63 + MAX_PLAYER_NAME];
    GetPlayerName(playerid, pname, sizeof(pname));
    format(string, sizeof(string), "%s has Left the server.", pname, aDisconnectNames[reason]);
    SendClientMessageToAll(COLOR_CYAN, string);
    return 1;
}
//====================================================================
public OnPlayerSpawn(playerid)
{
        new BigString[1900];
        strcat(BigString, "\n{FFFFFF}1.  Respect and obey all Admins.", 1900 );
        strcat(BigString, "\n{FFFFFF}2.  Do not Deathmatch or Teamkill.", 1900 );
        strcat(BigString, "\n{FFFFFF}3.  Do not Spam.", 1900 );
        strcat(BigString, "\n{FFFFFF}4.  Do not use cheats or hacks.", 1900 );
        strcat(BigString, "\n{FFFFFF}5.  Respect all other players.", 1900 );
        strcat(BigString, "\n{FFFFFF}6.  Cops and Robbers should never team up.", 1900 );
        strcat(BigString, "\n{FFFFFF}7.  Never quit to avoid anything.", 1900 );
        strcat(BigString, "\n{FFFFFF}8.  Medics should never harm other players.", 1900 );
        strcat(BigString, "\n{FFFFFF}9.  Never abuse a bug.", 1900 );
        strcat(BigString, "\n{FFFFFF}10. No mods are allowed.", 1900 );
        ShowPlayerDialog(playerid,1, DIALOG_STYLE_MSGBOX, "{ff0000}Main Server Rules:", BigString, "Accept","Ignore");
       
    TextDrawShowForPlayer(playerid,Clock);
    TextDrawShowForPlayer(playerid,Date);

    GivePlayerMoney(playerid, PlayerInfo[playerid][pCash]); //I guess check that
    SetPlayerScore(playerid, PlayerInfo[playerid][pScore]); //I guess check that too
   
    if(gTeam[playerid] == TEAM_CIVIL)
    {
        SetPlayerInterior(playerid,0);
        SetPlayerPos(playerid,2004.93,1544.25,13.59);
        SetPlayerFacingAngle(playerid,270.0);
        SetPlayerToTeamColour(playerid);
        SetCameraBehindPlayer(playerid);
        GivePlayerWeapon(playerid,22,500);
    }
    if(gTeam[playerid] == TEAM_COP)
    {
        SetPlayerInterior(playerid,0);
        SetPlayerPos(playerid,2281.53,2425.36,3.48);
        SetPlayerFacingAngle(playerid,0.0);
        SetPlayerToTeamColour(playerid);
        SetCameraBehindPlayer(playerid);
        GivePlayerWeapon(playerid,3,500);
        GivePlayerWeapon(playerid,22,500);
    }
    if(gTeam[playerid] == TEAM_ARMY)
    {
        SetPlayerInterior(playerid,0);
        SetPlayerPos(playerid,278.17,1989.68,17.64);
        SetPlayerFacingAngle(playerid,270.0);
        SetPlayerToTeamColour(playerid);
        SetCameraBehindPlayer(playerid);
        GivePlayerWeapon(playerid,30,500);
        GivePlayerWeapon(playerid,29,500);
    }
    if(gTeam[playerid] == TEAM_CIA)
    {
        SetPlayerInterior(playerid,0);
        SetPlayerPos(playerid,2228.01,2457.64,-7.45);
        SetPlayerFacingAngle(playerid,270.0);
        SetPlayerToTeamColour(playerid);
        SetCameraBehindPlayer(playerid);
        GivePlayerWeapon(playerid,24,500);
        GivePlayerWeapon(playerid,29,500);
    }
    if(gTeam[playerid] == TEAM_MEDIC)
    {
        SetPlayerInterior(playerid,0);
        SetPlayerPos(playerid,1607.42,1823.57,10.82);
        SetPlayerFacingAngle(playerid,0.0);
        SetPlayerToTeamColour(playerid);
        SetCameraBehindPlayer(playerid);
        GivePlayerWeapon(playerid,22,500);
    }
    if(gTeam[playerid] == TEAM_FIRE)
    {
        SetPlayerInterior(playerid,0);
        SetPlayerPos(playerid,1754.43,2072.12,10.82);
        SetPlayerFacingAngle(playerid,180.0);
        SetPlayerToTeamColour(playerid);
        SetCameraBehindPlayer(playerid);
        GivePlayerWeapon(playerid,42,500);
        GivePlayerWeapon(playerid,22,500);
    }
    return 1;
}
//=================================================================
public OnPlayerDeath(playerid, killerid)
{
    PlayerInfo[killerid][pKills]++;
    PlayerInfo[playerid][pDeaths]++;
   
    if(gTeam[playerid] == TEAM_CIVIL)
    {
        new mrand =random(2000); //THIS
        SetPlayerInterior(playerid,0);
        SetPlayerPos(playerid,2004.93,1544.25,13.59);
        SetPlayerFacingAngle(playerid,270.0);
        SetPlayerToTeamColour(playerid);
        GivePlayerMoney(playerid,-mrand); //THIS
    }
    if(gTeam[playerid] == TEAM_COP)
    {
     new mrand =random(2000); //THIS
        SetPlayerInterior(playerid,0);
        SetPlayerPos(playerid,2281.53,2425.36,3.48);
        SetPlayerFacingAngle(playerid,0.0);
        SetPlayerToTeamColour(playerid);
        GivePlayerMoney(playerid,-mrand); //THIS
    }
    if(gTeam[playerid] == TEAM_ARMY)
    {
        new mrand =random(2000); //THIS
        SetPlayerInterior(playerid,0);
        SetPlayerPos(playerid,278.17,1989.68,17.64);
        SetPlayerFacingAngle(playerid,270.0);
        SetPlayerToTeamColour(playerid);
        GivePlayerWeapon(playerid,30,500);
        GivePlayerWeapon(playerid,29,500);
        GivePlayerMoney(playerid,-mrand); //THIS
    }
    if(gTeam[playerid] == TEAM_CIA)
    {
        new mrand =random(2000); //THIS
        SetPlayerInterior(playerid,0);
        SetPlayerPos(playerid,2228.01,2457.64,-7.45);
        SetPlayerFacingAngle(playerid,90.0);
        SetPlayerToTeamColour(playerid);
        GivePlayerWeapon(playerid,24,500);
        GivePlayerWeapon(playerid,29,500);
        GivePlayerMoney(playerid,-mrand); //THIS
    }
    if(gTeam[playerid] == TEAM_MEDIC)
    {
        new mrand =random(2000); //THIS
        SetPlayerInterior(playerid,0);
        SetPlayerPos(playerid,1607.42,1823.57,10.82);
        SetPlayerFacingAngle(playerid,0.0);
        SetPlayerToTeamColour(playerid);
        GivePlayerWeapon(playerid,22,500);
        GivePlayerMoney(playerid,-mrand); //THIS
    }
    if(gTeam[playerid] == TEAM_FIRE)
    {
        new mrand =random(2000); //THIS
        SetPlayerInterior(playerid,0);
        SetPlayerPos(playerid,1754.43,2072.12,10.82);
        SetPlayerFacingAngle(playerid,180.0);
        SetPlayerToTeamColour(playerid);
        GivePlayerWeapon(playerid,42,500);
        GivePlayerWeapon(playerid,22,500);
    GivePlayerMoney(playerid,-mrand); //THIS
    }
    return 1;
}
//=================================================
No compiling error.
Reply


Messages In This Thread

Forum Jump:


Users browsing this thread: 2 Guest(s)