Не выполняется OnPlayerDisconnect
#1

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

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

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

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

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

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

Покажите код.
Reply
#7

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

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

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

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

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

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


Forum Jump:


Users browsing this thread: 2 Guest(s)