Перейти к содержанию
Авторизация  
Ryslik42

Проблема с выдачей денег.

Рекомендуемые сообщения

Ryslik42

Здравствуйте, помогите пожалуйста. Уже две недели мучаюсь с багом, не выдаются сохраненные у игрока деньги.

Сохраняются они нормально, но почему то когда перезахожу они обнуляются и выдаются деньги которые даются для новичков.

Когда в паблике OnPlayerConnect обнуляю переменную, деньги приравниваются к 0.

Когда убираю обнуление, выдается в 2 раза больше денег.

 

stock SavePlayer(playerid)
{
if(IsPlayerConnected(playerid))
{
if(gPlayerLogged[playerid])
{
new string3[32], playername3[MAX_PLAYER_NAME];
GetPlayerName(playerid, playername3, sizeof(playername3));
format(string3, sizeof(string3), "players/%s.ini", playername3);
new File = iniOpen(string3);
if(!File)
{
                iniSetInt(File,"Level",PlayerInfo[playerid][pLevel]);
   iniSetInt(File,"Password",PlayerInfo[playerid][pPassword]);
                iniSetInt(File,"Exp",PlayerInfo[playerid][pExp]);
                iniSetInt(File,"Sex",PlayerInfo[playerid][pSex]);
                iniSetInt(File,"Registr",PlayerInfo[playerid][pReg]);
                iniSetInt(File,"Money",PlayerInfo[playerid][pCash]);
iniSetFloat(File,"Pos_x",PlayerInfo[playerid][pPos_x]);
iniSetFloat(File,"Pos_y",PlayerInfo[playerid][pPos_y]);
iniSetFloat(File,"Pos_z",PlayerInfo[playerid][pPos_z]);
iniSetInt(File,"Char",PlayerInfo[playerid][pChar]);
iniGetInt(File,"Int",PlayerInfo[playerid][pInt]);
iniSetInt(File,"Local",PlayerInfo[playerid][pLocal]);
   iniSetFloat(File,"Pos_z",PlayerInfo[playerid][pPos_z]);
      
                ini_closeFile(File);
                if ((PlayerInfo[playerid][pPos_x]==0.0 && PlayerInfo[playerid][pPos_y]==0.0 && PlayerInfo[playerid][pPos_z]==0.0))
   {
PlayerInfo[playerid][pPos_x] = 1684.9;
PlayerInfo[playerid][pPos_y] = -2244.5;
PlayerInfo[playerid][pPos_z] = 13.5;
   }
                if(Spectate[playerid] != 255)
{
PlayerInfo[playerid][pPos_x] = Unspec[playerid][sPx];
PlayerInfo[playerid][pPos_y] = Unspec[playerid][sPy];
PlayerInfo[playerid][pPos_z] = Unspec[playerid][sPz];
PlayerInfo[playerid][pInt] = Unspec[playerid][sPint];
PlayerInfo[playerid][pLocal] = Unspec[playerid][sLocal];
}
iniSetInt(File,"Banned",PlayerInfo[playerid][pBanned]);
}
}
}
return true;
}

 

 

 

public OnPlayerLogin(playerid,password[])
{
new sendername[MAX_PLAYER_NAME], pass[64], tmp2[128], string[256], playersip[20];
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "players/%s.ini", sendername);
new File = iniOpen(string);
if(!File)
{
        iniGet(File,"password",pass);
        iniGetInt(File,"Level",PlayerInfo[playerid][pLevel]);
        iniGetInt(File,"Exp",PlayerInfo[playerid][pExp]);
        iniGetInt(File,"Sex",PlayerInfo[playerid][pSex]);
        iniGetInt(File,"Adminka", PlayerInfo[playerid][pAdminka]);
        iniSetInt(File,"Helper", PlayerInfo[playerid][pHelper]);
        iniGetInt(File,"rules",PlayerInfo[playerid][pTuts]);
        iniSetInt(File,"Team",PlayerInfo[playerid][pTeam]);
        iniGetInt(File,"Local",PlayerInfo[playerid][pLocal]);
        iniSetInt(File,"Registr",PlayerInfo[playerid][pReg]);
        iniGetInt(File,"Char",PlayerInfo[playerid][pChar]);
        iniGetFloat(File,"Pos_x",PlayerInfo[playerid][pPos_x]);
        iniSetFloat(File,"Pos_y",PlayerInfo[playerid][pPos_y]);
   iniSetFloat(File,"Pos_z",PlayerInfo[playerid][pPos_z]);
   iniSetInt(File,"Int",PlayerInfo[playerid][pInt]);
        iniGetInt(File,"Banned",PlayerInfo[playerid][pBanned]);
        iniGetInt(File,"Local",PlayerInfo[playerid][pLocal]);
        ini_closeFile(File);
    }
if(PlayerInfo[playerid][pReg] == 0)
{
   PlayerInfo[playerid][pLevel] = 1;
        PlayerInfo[playerid][pHealth] = 100.0;
        PlayerInfo[playerid][pPos_x] = 1761.0178;
        PlayerInfo[playerid][pPos_y] = -1900.2581;
        PlayerInfo[playerid][pPos_z] = 13.5637;
PlayerInfo[playerid][pLocal] = 255;
        PlayerInfo[playerid][pModel] = 78;
        PlayerInfo[playerid][pTeam] = 3;
        PlayerInfo[playerid][pInt] = 0;
        PlayerInfo[playerid][pLocal] = 255;
PlayerInfo[playerid][pReg] = 1;
GetPlayerIp(playerid,playersip,sizeof(playersip));
strmid(PlayerInfo[playerid][pIP], playersip, 0, strlen(playersip), 255);
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "players/%s.ini",sendername);
}
    SetSpawnInfo(playerid, PlayerInfo[playerid][pTeam], PlayerInfo[playerid][pModel], PlayerInfo[playerid][pPos_x], PlayerInfo[playerid][pPos_y], PlayerInfo[playerid][pPos_z], 1.0, -1, -1, -1, -1, -1, -1);
    format(tmp2, sizeof(tmp2), "~w~Welcome ~n~~b~   %s", sendername);
    gPlayerLogged[playerid] = true;
    GameTextForPlayer(playerid, tmp2, 5000, 1);
SpawnPlayer(playerid);
GiveMoney(playerid,PlayerInfo[playerid][pCash]);
    return true;
}

 

 

Изменено пользователем Ryslik42

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Rustyk

А файле кол-во денег сохраняется?

  • Like 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Ryslik42

А файле кол-во денег сохраняется?

Да, выше написал. Все сохраняется нормально, но почему то с выдачей такая проблема.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Rustyk

Дак , а в загрузке  у тебя нету денег :) Вот тебе и дается , стартовый pcash )
Добавь в загрузку:
 

iniGetInt(File,"Money", PlayerInfo[playerid][pCash]); 


вроде так

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Ryslik42

Он есть, я прост удалтл щас ничайно, когда другие переменные удалял

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Ryslik42

Проблему решил, Rusty'k большое спасибо за попытку помочь =) Тему можно закрыть 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Гость
Эта тема закрыта для публикации ответов.
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

Мы разместили cookie-файлы на ваше устройство, чтобы помочь сделать этот сайт лучше. Вы можете изменить свои настройки cookie-файлов, или продолжить без изменения настроек.