SA-MP Forums Archive
Профиль игрока записывается чужими данными - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Русский/Russian (https://sampforum.blast.hk/forumdisplay.php?fid=32)
+---- Thread: Профиль игрока записывается чужими данными (/showthread.php?tid=267079)



Профиль игрока записывается чужими данными - DANGER1979 - 07.07.2011

Помогите пожалуйста советом.
Профиль игрока записывается чужими данными.
Уже была когда то такая проблема на ини файлах.Не помню как я её решил.
Сейчас проблема уже на мускуле.
Всё перепроверил вроде нормально.

Подозрения, на всякие левые проги песочницы, которые с одного компа повзоляют зайти на несколько аккаунтов.

Не отрицаю, что ошибка моя в коде, Т.к. где то что то не предусмотрел.


Re: Профиль игрока записывается чужими данными - Johnny_Xayc - 07.07.2011

Quote:
Originally Posted by DANGER1979
Посмотреть сообщение
Помогите пожалуйста советом.
Профиль игрока записывается чужими данными.
Уже была когда то такая проблема на ини файлах.Не помню как я её решил.
Сейчас проблема уже на мускуле.
Всё перепроверил вроде нормально.

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


Re: Профиль игрока записывается чужими данными - DANGER1979 - 07.07.2011

код всего мода?

что именно выложить?


Re: Профиль игрока записывается чужими данными - DANGER1979 - 07.07.2011

Дело в том, что эти люди логинятся, но выходят каким то чудесным способом.


Re: Профиль игрока записывается чужими данными - Stepashka - 07.07.2011

Quote:
Originally Posted by DANGER1979
Посмотреть сообщение
Дело в том, что эти люди логинятся, но выходят каким то чудесным способом.
чудесный способ называется OnPlayerDisconnect других нет, но бывает проблема с не отчищенными массивами.


Re: Профиль игрока записывается чужими данными - DANGER1979 - 07.07.2011

да скорее всего это и есть.
Подскажи как и где решить, чтобы наверняка.
Как ты очищал массивы?


Re: Профиль игрока записывается чужими данными - Norck - 07.07.2011

Quote:
Originally Posted by DANGER1979
Посмотреть сообщение
Как ты очищал массивы?
При коннекте либо дисконнекте.
Пример:
Есть глобальный массив, в котором хранится какая-нибудь инфа, типа
pawn Код:
SomeArr[MAX_PLAYERS];
Чтобы удалить инфу, оставшуюся в ячейке с индексом playerid от предыдущего игрока, нужно прописать выражение типа
pawn Код:
SomeArr[playerid] = 0;
В OnPlayerConnect или OnPlayerDisconnect.


Re: Профиль игрока записывается чужими данными - DANGER1979 - 07.07.2011

да я это понимаю,
у меня когда игрок вышел стоит
pawn Код:
public OnPlayerConnect(playerid)
{
...
ClearPlayerInfo(playerid);
...
}
public OnPlayerDisconnect(playerid, reason)
{
    if(IsPlayerNPC(playerid)) { return 1; }
    if(gPlayerLogged[playerid] == 0) { return 1; }
...
    if(gPlayerLogged[playerid] == 1) OnPlayerStatsUpdate(playerid);//сохранение
    ClearPlayerInfo(playerid);
...
    gPlayerLogged[playerid] = 0;
    gPlayerSpawned[playerid] = 0;
...
}
т.е. при выходе сохраняется аккаунт. Сохраняется он с проверкой на залогинивание.
если игрок не залогинелся, то выйти сразу из ф-ии OnPlayerDisconnect.
После сохранение идёт очистка.
НО дело в том, что у этих игроков не доходит дело до сохранения, хотя залогинивание они прошли


Re: Профиль игрока записывается чужими данными - Ru-user - 07.07.2011

Где то в OnPlayerDisconnect ошибка, которая обрывает работу скрипта. К примеру если обратится к несуществующей ячейик массива.


Re: Профиль игрока записывается чужими данными - DANGER1979 - 07.07.2011

а что если в начале public OnPlayerDisconnect(playerid, reason)
поставить if(playerid > GetMaxPlayers()) return 1;