SA-MP Forums Archive
Не выполняется OnPlayerDisconnect - 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: Не выполняется OnPlayerDisconnect (/showthread.php?tid=600158)



Не выполняется OnPlayerDisconnect - dimon199862 - 04.02.2016

Несколько дней уже ищу баг с не сохранением аккаунта, сегодня выяснил, что иногда не выполняется паблик OnPlayerDisconnect и следовательно не выполняются многие операции.
Кто знает, с чем это связано и как с этим бороться?
UPD: onplayerdisconnect это ведь автовызываемая функция, никаких условий там нет, return'ов - тоже.
По жалобам игроков это возникает только после того, как они поработают на работе, которая была сделана в предыдущем обновлении, там нет ничего такого, переменная bool, которая показывает, работает ли игрок, переменная с зп и pvar со скином, которым игрок пришел на работу


Re: Не выполняется OnPlayerDisconnect - cm666 - 04.02.2016

OnPlayerDisconnect Срабатывает при обрыве конекта или выходе игрока /q не может он не сработать.


Re: Не выполняется OnPlayerDisconnect - dimon199862 - 04.02.2016

Quote:
Originally Posted by cm666
Посмотреть сообщение
OnPlayerDisconnect Срабатывает при обрыве конекта или выходе игрока /q не может он не сработать.
это очевидно, но не срабатывает ведь.
погуглил, говорят что это баг сампа, но как с ним бороться, я ума не приложу(


Re: Не выполняется OnPlayerDisconnect - DartfoL - 04.02.2016

crashdetect в помощь. Возможно, где-то происходит выход за границы массива и выполнение прерывается


Re: Не выполняется OnPlayerDisconnect - TheOrsini - 04.02.2016

Quote:
Originally Posted by dimon199862
Посмотреть сообщение
это очевидно, но не срабатывает ведь.
погуглил, говорят что это баг сампа, но как с ним бороться, я ума не приложу(
Сделайте все сохранения во время обновления данных в игровом процессе, а не во время выхода


Re: Не выполняется OnPlayerDisconnect - stabker - 04.02.2016

Quote:
Originally Posted by TheOrsini
Посмотреть сообщение
Сделайте все сохранения во время обновления данных в игровом процессе, а не во время выхода
Ошибку это не устранит, а просто скроет ее от глаз.

Покажите код.


Re: Не выполняется OnPlayerDisconnect - cm666 - 04.02.2016

Quote:
Originally Posted by dimon199862
Посмотреть сообщение
это очевидно, но не срабатывает ведь.
погуглил, говорят что это баг сампа, но как с ним бороться, я ума не приложу(
Каким боком он может не сработать ?


Re: Не выполняется OnPlayerDisconnect - Diman777 - 04.02.2016

Quote:
Originally Posted by dimon199862
Посмотреть сообщение
погуглил, говорят что это баг сампа(
Ну как обычно, всё в том же духе, это вена сампа, но ни как не твоя да?)
Попробуй ставить ф-ию print, проверяй написанный код, который находится в колбеке, вот такие варианты.


Re: Не выполняется OnPlayerDisconnect - Stepashka - 05.02.2016

C учётом того что данный колбэк обязан возвращать 0 или 1, фраза
Quote:

никаких условий там нет, return'ов - тоже.

звучит странно.
А ещё он может быть оборван в фильтрскриптах, если они у вас имеются проверьте их.


Re: Не выполняется OnPlayerDisconnect - dimon199862 - 05.02.2016

Quote:
Originally Posted by Stepashka
Посмотреть сообщение
C учётом того что данный колбэк обязан возвращать 0 или 1, фраза звучит странно.
А ещё он может быть оборван в фильтрскриптах, если они у вас имеются проверьте их.
об этом я узнал как раз с помощью print'а, в лог не вывело то что игрок вышел с сервера.
да, есть один фильтрскрипт с маппингом, но нам нет onpayerdisconnect, и вряд ли проблема в нем, так как раньше такой проблемы не наблюдалось