Не выполняется 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, и вряд ли проблема в нем, так как раньше такой проблемы не наблюдалось