[Ajuda] Score Dobrado
#1

Quando disconecta e vai conectar denovo ele esta com score dobrado
Reply
#2

poste o salvamento e o login...
Reply
#3

pawn Код:
PlayerFile_Save(playerid)
{
    new file[100], File:PFile, Name[24], LineForFile[100];
    format(Name, sizeof(Name), APlayerData[playerid][PlayerName]);
    format(file, sizeof(file), PlayerFile, Name);

    PFile = fopen(file, io_write);

    format(LineForFile, 100, "Password %s\r\n", APlayerData[playerid][PlayerPassword]); // Construct the line: "Password <playerpassword>"
    fwrite(PFile, LineForFile);
    format(LineForFile, 100, "Level %i\r\n", APlayerData[playerid][PlayerLevel]); // Construct the line: "Level <playerlevel>"
    fwrite(PFile, LineForFile);
    format(LineForFile, 100, "Jailed %i\r\n", APlayerData[playerid][PlayerJailed]); // Construct the line: "Jailed <playerjailed>"
    fwrite(PFile, LineForFile);
    format(LineForFile, 100, "Wanted %i\r\n", GetPlayerWantedLevel(playerid)); // Construct the line: "Wanted <wantedlevel>"
    fwrite(PFile, LineForFile);
    format(LineForFile, 100, "Bans %i\r\n", APlayerData[playerid][Bans]); // Construct the line: "Bans <NumberOfBans>"
    fwrite(PFile, LineForFile);
    format(LineForFile, 100, "BanTime %i\r\n", APlayerData[playerid][BanTime]); // Construct the line: "BanTime <TimeToUnban>"
    fwrite(PFile, LineForFile);
    format(LineForFile, 100, "TruckerLicense %i\r\n", APlayerData[playerid][TruckerLicense]); // Construct the line: "TruckerLicense <playertruckerlicense>"
    fwrite(PFile, LineForFile);
    format(LineForFile, 100, "BusLicense %i\r\n", APlayerData[playerid][BusLicense]); // Construct the line: "BusLicense <playerbuslicense>"
    fwrite(PFile, LineForFile);
    if (APlayerData[playerid][Muted] == true)
        format(LineForFile, 100, "Muted Yes\r\n");
    else
        format(LineForFile, 100, "Muted No\r\n");
    fwrite(PFile, LineForFile);

    if (APlayerData[playerid][RulesRead] == true)
        format(LineForFile, 100, "RulesRead Yes\r\n");
    else
        format(LineForFile, 100, "RulesRead No\r\n");
    fwrite(PFile, LineForFile);

    format(LineForFile, 100, "StatsMetersDriven %f\r\n", APlayerData[playerid][StatsMetersDriven]); // Construct the line: "StatsMetersDriven <StatsMetersDriven>"
    fwrite(PFile, LineForFile);
    format(LineForFile, 100, "StatsTruckerJobs %i\r\n", APlayerData[playerid][StatsTruckerJobs]); // Construct the line: "StatsTruckerJobs <StatsTruckerJobs>"
    fwrite(PFile, LineForFile);
    format(LineForFile, 100, "StatsConvoyJobs %i\r\n", APlayerData[playerid][StatsConvoyJobs]); // Construct the line: "StatsConvoyJobs <StatsConvoyJobs>"
    fwrite(PFile, LineForFile);
    format(LineForFile, 100, "StatsBusDriverJobs %i\r\n", APlayerData[playerid][StatsBusDriverJobs]); // Construct the line: "StatsBusDriverJobs <StatsBusDriverJobs>"
    fwrite(PFile, LineForFile);
    format(LineForFile, 100, "StatsPilotJobs %i\r\n", APlayerData[playerid][StatsPilotJobs]); // Construct the line: "StatsPilotJobs <StatsPilotJobs>"
    fwrite(PFile, LineForFile);
    format(LineForFile, 100, "StatsMafiaJobs %i\r\n", APlayerData[playerid][StatsMafiaJobs]); // Construct the line: "StatsMafiaJobs <StatsMafiaJobs>"
    fwrite(PFile, LineForFile);
    format(LineForFile, 100, "StatsMafiaStolen %i\r\n", APlayerData[playerid][StatsMafiaStolen]); // Construct the line: "StatsMafiaStolen <StatsMafiaStolen>"
    fwrite(PFile, LineForFile);
    format(LineForFile, 100, "StatsPoliceFined %i\r\n", APlayerData[playerid][StatsPoliceFined]); // Construct the line: "StatsPoliceFined <StatsPoliceFined>"
    fwrite(PFile, LineForFile);
    format(LineForFile, 100, "StatsPoliceJailed %i\r\n", APlayerData[playerid][StatsPoliceJailed]); // Construct the line: "StatsPoliceJailed <StatsPoliceJailed>"
    fwrite(PFile, LineForFile);
    format(LineForFile, 100, "StatsAssistance %i\r\n", APlayerData[playerid][StatsAssistance]); // Construct the line: "StatsAssistance <StatsAssistance>"
    fwrite(PFile, LineForFile);
    format(LineForFile, 100, "StatsCourierJobs %i\r\n", APlayerData[playerid][StatsCourierJobs]); // Construct the line: "StatsCourierJobs <StatsCourierJobs>"
    fwrite(PFile, LineForFile);
    format(LineForFile, 100, "StatsRoadworkerJobs %i\r\n", APlayerData[playerid][StatsRoadworkerJobs]); // Construct the line: "StatsRoadworkerJobs <StatsRoadworkerJobs>"
    fwrite(PFile, LineForFile);
    for (new i; i < MAX_HOUSESPERPLAYER; i++)
    {
        if (APlayerData[playerid][Houses][i] != 0)
        {
            format(LineForFile, 100, "House %i\r\n", APlayerData[playerid][Houses][i]);
            fwrite(PFile, LineForFile);
        }
    }
    for (new i; i < MAX_BUSINESSPERPLAYER; i++)
    {
        if (APlayerData[playerid][Business][i] != 0)
        {
            format(LineForFile, 100, "Business %i\r\n", APlayerData[playerid][Business][i]);
            fwrite(PFile, LineForFile);
        }
    }
    format(LineForFile, 100, "Money %i\r\n", APlayerData[playerid][PlayerMoney]);
    fwrite(PFile, LineForFile);
    format(LineForFile, 100, "Score %i\r\n", APlayerData[playerid][PlayerScore]);
    fwrite(PFile, LineForFile);
    fclose(PFile);
    for (new i; i < MAX_HOUSESPERPLAYER; i++)
    {
        if (APlayerData[playerid][Houses][i] != 0)
        {
            HouseFile_Save(APlayerData[playerid][Houses][i]);
        }
    }
    for (new i; i < MAX_BUSINESSPERPLAYER; i++)
    {
        if (APlayerData[playerid][Business][i] != 0)
        {
            BusinessFile_Save(APlayerData[playerid][Business][i]);
        }
    }

    return 1;
}
Reply
#4

Poste o OnPlayerSpawn & A funзao que carrega os scores.
Reply
#5

pawn Код:
public OnPlayerSpawn(playerid)
{
    if (APlayerData[playerid][RulesRead] == false)
    {
        new Msg[2000];
        format(Msg, 2000, "%s1. Sempre dirigir do lado direito nas estradas para evitar acidentes.\n", Msg);
        format(Msg, 2000, "%s2. Nгo chingar ou desrespeitar os outros jogadores, eles sгo seus companheiros.\n", Msg);
        format(Msg, 2000, "%s3. Usar a linguagem padrгo 'Portuguкs'.\n", Msg);
        format(Msg, 2000, "%s4. Nгo usar hackers ou serб banido permanentemente.\n", Msg);
        format(Msg, 2000, "%s5. Nгo floodar no chat, pode ser calado por um admin.\n", Msg);
        format(Msg, 2000, "%s6. Nгo roubar carros, sujeito a prisгo caso haja denuncia.\n", Msg);
        format(Msg, 2000, "%s7. Nunca chingue ou desrespeite um administrador, vocк serб banido.\n", Msg);
        ShowPlayerDialog(playerid, DialogRules, DIALOG_STYLE_MSGBOX, "Regras do Transportando o Mundo:", Msg, "Aceitar", TXT_DialogButtonCancel);
    }
    if (IsPlayerNPC(playerid))
        return 1;

    if (APlayerData[playerid][LoggedIn] == false)
    {
        SendClientMessage(playerid, 0xFFFFFFFF, TXT_FailedLoginProperly);
        Kick(playerid);
    }
    new missiontext[200];
    SetPlayerVirtualWorld(playerid, 0);
    SetPlayerInterior(playerid, 0);
    APlayerData[playerid][CurrentHouse] = 0;
    TogglePlayerClock(playerid, 0);
    ResetPlayerWeapons(playerid);
    switch (APlayerData[playerid][PlayerClass])
    {
        case ClassTruckDriver:
        {
            format(missiontext, sizeof(missiontext), Trucker_NoJobText);
            SetPlayerColor(playerid, ColorClassTruckDriver);
        }
        case ClassBusDriver:
        {
            format(missiontext, sizeof(missiontext), BusDriver_NoJobText);
            SetPlayerColor(playerid, ColorClassBusDriver);
        }
        case ClassPilot:
        {
            format(missiontext, sizeof(missiontext), Pilot_NoJobText);
            SetPlayerColor(playerid, ColorClassPilot);
        }
        case ClassPolice:
        {
            format(missiontext, sizeof(missiontext), Police_NoJobText);
            SetPlayerColor(playerid, ColorClassPolice);
            KillTimer(APlayerData[playerid][PlayerCheckTimer]);
            APlayerData[playerid][PlayerCheckTimer] = SetTimerEx("Police_CheckWantedPlayers", 1000, true, "i", playerid);
            if (PoliceGetsWeapons == true)
            {
                for (new i; i < 12; i++)
                    GivePlayerWeapon(playerid, APoliceWeapons[i], PoliceWeaponsAmmo);
            }
        }
        case ClassMafia:
        {
            format(missiontext, sizeof(missiontext), Mafia_NoJobText);
            SetPlayerColor(playerid, ColorClassMafia);
            KillTimer(APlayerData[playerid][PlayerCheckTimer]);
            APlayerData[playerid][PlayerCheckTimer] = SetTimerEx("Mafia_CheckMafiaLoads", 1000, true, "i", playerid);
        }
        case ClassCourier:
        {
            format(missiontext, sizeof(missiontext), Courier_NoJobText);
            SetPlayerColor(playerid, ColorClassCourier);
        }
        case ClassAssistance:
        {
            format(missiontext, sizeof(missiontext), Assistance_NoJobText);
            SetPlayerColor(playerid, ColorClassAssistance);
            KillTimer(APlayerData[playerid][PlayerCheckTimer]);
            APlayerData[playerid][PlayerCheckTimer] = SetTimerEx("Assistance_CheckPlayers", 1000, true, "i", playerid);
        }
        case ClassRoadWorker:
        {
            format(missiontext, sizeof(missiontext), RoadWorker_NoJobText);
            SetPlayerColor(playerid, ColorClassRoadWorker);
        }
    }
    TextDrawSetString(APlayerData[playerid][MissionText], missiontext);
    TextDrawShowForPlayer(playerid, APlayerData[playerid][MissionText]);
    if (APlayerData[playerid][PlayerJailed] != 0)
        Police_JailPlayer(playerid, APlayerData[playerid][PlayerJailed]);
Reply
#6

Quote:
Originally Posted by Don_Speed
Посмотреть сообщение
pawn Код:
public OnPlayerSpawn(playerid)
{
    if (APlayerData[playerid][RulesRead] == false)
    {
        new Msg[2000];
        format(Msg, 2000, "%s1. Sempre dirigir do lado direito nas estradas para evitar acidentes.\n", Msg);
        format(Msg, 2000, "%s2. Nгo chingar ou desrespeitar os outros jogadores, eles sгo seus companheiros.\n", Msg);
        format(Msg, 2000, "%s3. Usar a linguagem padrгo 'Portuguкs'.\n", Msg);
        format(Msg, 2000, "%s4. Nгo usar hackers ou serб banido permanentemente.\n", Msg);
        format(Msg, 2000, "%s5. Nгo floodar no chat, pode ser calado por um admin.\n", Msg);
        format(Msg, 2000, "%s6. Nгo roubar carros, sujeito a prisгo caso haja denuncia.\n", Msg);
        format(Msg, 2000, "%s7. Nunca chingue ou desrespeite um administrador, vocк serб banido.\n", Msg);
        ShowPlayerDialog(playerid, DialogRules, DIALOG_STYLE_MSGBOX, "Regras do Transportando o Mundo:", Msg, "Aceitar", TXT_DialogButtonCancel);
    }
    if (IsPlayerNPC(playerid))
        return 1;

    if (APlayerData[playerid][LoggedIn] == false)
    {
        SendClientMessage(playerid, 0xFFFFFFFF, TXT_FailedLoginProperly);
        Kick(playerid);
    }
    new missiontext[200];
    SetPlayerVirtualWorld(playerid, 0);
    SetPlayerInterior(playerid, 0);
    APlayerData[playerid][CurrentHouse] = 0;
    TogglePlayerClock(playerid, 0);
    ResetPlayerWeapons(playerid);
    switch (APlayerData[playerid][PlayerClass])
    {
        case ClassTruckDriver:
        {
            format(missiontext, sizeof(missiontext), Trucker_NoJobText);
            SetPlayerColor(playerid, ColorClassTruckDriver);
        }
        case ClassBusDriver:
        {
            format(missiontext, sizeof(missiontext), BusDriver_NoJobText);
            SetPlayerColor(playerid, ColorClassBusDriver);
        }
        case ClassPilot:
        {
            format(missiontext, sizeof(missiontext), Pilot_NoJobText);
            SetPlayerColor(playerid, ColorClassPilot);
        }
        case ClassPolice:
        {
            format(missiontext, sizeof(missiontext), Police_NoJobText);
            SetPlayerColor(playerid, ColorClassPolice);
            KillTimer(APlayerData[playerid][PlayerCheckTimer]);
            APlayerData[playerid][PlayerCheckTimer] = SetTimerEx("Police_CheckWantedPlayers", 1000, true, "i", playerid);
            if (PoliceGetsWeapons == true)
            {
                for (new i; i < 12; i++)
                    GivePlayerWeapon(playerid, APoliceWeapons[i], PoliceWeaponsAmmo);
            }
        }
        case ClassMafia:
        {
            format(missiontext, sizeof(missiontext), Mafia_NoJobText);
            SetPlayerColor(playerid, ColorClassMafia);
            KillTimer(APlayerData[playerid][PlayerCheckTimer]);
            APlayerData[playerid][PlayerCheckTimer] = SetTimerEx("Mafia_CheckMafiaLoads", 1000, true, "i", playerid);
        }
        case ClassCourier:
        {
            format(missiontext, sizeof(missiontext), Courier_NoJobText);
            SetPlayerColor(playerid, ColorClassCourier);
        }
        case ClassAssistance:
        {
            format(missiontext, sizeof(missiontext), Assistance_NoJobText);
            SetPlayerColor(playerid, ColorClassAssistance);
            KillTimer(APlayerData[playerid][PlayerCheckTimer]);
            APlayerData[playerid][PlayerCheckTimer] = SetTimerEx("Assistance_CheckPlayers", 1000, true, "i", playerid);
        }
        case ClassRoadWorker:
        {
            format(missiontext, sizeof(missiontext), RoadWorker_NoJobText);
            SetPlayerColor(playerid, ColorClassRoadWorker);
        }
    }
    TextDrawSetString(APlayerData[playerid][MissionText], missiontext);
    TextDrawShowForPlayer(playerid, APlayerData[playerid][MissionText]);
    if (APlayerData[playerid][PlayerJailed] != 0)
        Police_JailPlayer(playerid, APlayerData[playerid][PlayerJailed]);
Ai nгo tem nenhum "SetPlayerScore", procure pela funзгo que carregue os dados do player.
Reply
#7

Vocк ta usando o game mode PPC_Trucking nй?

Os dados do player sгo carregados assim que o player entra no servidor, posta o public OnPlayerConnect
Reply
#8

Quote:
Originally Posted by delete
Посмотреть сообщение
Vocк ta usando o game mode PPC_Trucking nй?

Os dados do player sгo carregados assim que o player entra no servidor, posta o public OnPlayerConnect
Sim, So Que e Sem as Inclues Ta Tudo no PWN e o GM Nao da Erro nem Aviso
pawn Код:
public OnPlayerConnect(playerid)
{
    new Msg[50];
    if(IsPlayerNPC(playerid)) { return 1; }
    SetTimerEx("Record", 5000, false, "d", playerid);

    TextDrawShowForPlayer(playerid, ImagemEntrada);
    PlayAudioStreamForPlayer(playerid, "http://dl.dropbox.com/u/71659783/musica/preview.mp3");
    SendClientMessage(playerid, 0xFFFFFFFF, "");
    SendClientMessage(playerid, 0xFFFFFFFF, "");
    SendClientMessage(playerid, 0xFFFFFFFF, "");
    SendClientMessage(playerid, 0xFFFFFFFF, "");
    SendClientMessage(playerid, 0xFFFFFFFF, "");
    SendClientMessage(playerid, 0xFFFFFFFF, "");
    SendClientMessage(playerid, 0xFFFFFFFF, "");
    SendClientMessage(playerid, 0xFFFFFFFF, "");
    SendClientMessage(playerid, 0xFFFFFFFF, "");
    SendClientMessage(playerid, 0xFFFFFFFF, "");
    SendClientMessage(playerid, 0xFFFFFFFF, "");
    SendClientMessage(playerid, 0xFFFFFFFF, "");
    SendClientMessage(playerid, 0xFFFFFFFF, "|____________________________________________|");
    SendClientMessage(playerid, 0xFFFFFFFF, "{FF0000}Transportando o Mundo v4.0");
    SendClientMessage(playerid, 0xFFFFFFFF, "Musica de Abertura:{FF0000}Frete");
    SendClientMessage(playerid, 0xFFFFFFFF, "Novidades{FF0000}: Novos Resgates, /r(radio), Seleзao de Skin, Musica Ab.");
    SendClientMessage(playerid, 0xFFFFFFFF, "|_____________________/stop para a musica _______________________|");

    GetPlayerName(playerid, PName, sizeof(PName));
    if (IsPlayerNPC(playerid))
        return 1;

    new Name[MAX_PLAYER_NAME], NewPlayerMsg[128], HouseID, don[275];
    TextDrawShowForPlayer(playerid, Textdraw0);
    SetPVarInt(playerid, "PVarMoney", 0);
    SetPVarInt(playerid, "PVarScore", 0);

    GetPlayerName(playerid, Name, sizeof(Name));
    GetPlayerName(playerid, APlayerData[playerid][PlayerName], 24);
    format(NewPlayerMsg, 128, TXT_PlayerJoinedServer, Name, playerid);
    SendClientMessageToAll(0xFFFFFFFF, NewPlayerMsg);
    if (PlayerFile_Load(playerid) == 0)
    {
             format(don, sizeof(don),"{FFFFFF}Seja Ben Vindo!\n\n\nNick: {AA3333}%s{FFFFFF}\nStatus da Conta: {00D900}Nгo Registrado{FFFFFF}\n\nDigite Sua Senha:", Name);
             ShowPlayerDialog(playerid, DialogRegister, 3, "Transportando o Mundo", don , "Registrar", "Cancelar");
    }
    else if (PlayerFile_Load(playerid) == 1)
    {
             format(don, sizeof(don),"{FFFFFF}Seja Ben Vindo!\n\n\nNick: {AA3333}%s{FFFFFF}\nStatus da Conta: {00D900}Registrado{FFFFFF}\n\nDigite Sua Senha:",Name);
             ShowPlayerDialog(playerid, DialogLogin, 3,"Transportando o Mundo",don, "Logar", "Cancelar");
    }
    for (new HouseSlot; HouseSlot < MAX_HOUSESPERPLAYER; HouseSlot++)
    {
        HouseID = APlayerData[playerid][Houses][HouseSlot];
        if (HouseID != 0)
            HouseFile_Load(HouseID, true);
    }
    Speedometer_Setup(playerid);

    APlayerData[playerid][MissionText] = TextDrawCreate(320.0, 430.0, " ");
    TextDrawAlignment(APlayerData[playerid][MissionText], 2);
    TextDrawUseBox(APlayerData[playerid][MissionText], 1);
    TextDrawBoxColor(APlayerData[playerid][MissionText], 0x00000066);
    if (APlayerData[playerid][PlayerLevel] >= 1){
    SendClientMessage(playerid, 0xFFFFFFFF, "");
    format(Msg, sizeof(Msg), "~y~%s ~r~On", Name);
    GameTextForAll(Msg, 5000, 3);
    SendClientMessage(playerid, 0xFFFFFFFF, "");
    SendClientMessage(playerid, 0xFF230AFF, "Parabйns Vocк logou como Administrador do Transportando o Mundo.");
    return 1;
    }
    return 1;
}
Reply
#9

Procure por todos "SetPlayerScore" e suas ramificaзхes e poste aqui
Reply
#10

Unica coisa e :
pawn Код:
SetPlayerScore(playerid, APlayerData[playerid][PlayerScore]);
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)