PDA

Просмотр полной версии : [Вопрос] Не всегда вызывается OnPlayerRequestClass



Redsan
19.06.2016, 02:05
Сделал регистрацию на сервере по данному уроку (http://pro-pawn.ru/showthread.php?10548-%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5-%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D1%8B-%D1%80%D0%B5%D0%B3%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%86%D0%B8%D0%B8-%D0%BD%D0%B0-%D0%BE%D1%81%D0%BD%D0%BE%D0%B2%D0%B5-%D0%BF%D0%BB%D0%B0%D0%B3%D0%B8%D0%BD%D0%B0-MySQL-R39-2).
Код на pastebin.com. (http://pastebin.com/chgdYiF0)

Иногда при входе на сервер public OnPlayerRequestClass не вызывается(логировал).
http://i.imgur.com/brPfC9X.jpg

Как это исправить?

Redsan
18.03.2017, 19:21
Вот что выяснил:
При использовании ShowPlayerDialog в OnPlayerConnect не всегда вызывается OnPlayerRequestClass, поэтому рекомендую переместить показ диалога в него. Если игрок находился на сервере, и в это время перезагрузить сервер, то OnPlayerRequestClass может не вызваться.

DeimoS
19.03.2017, 00:20
OnPlayerRequestClass должен вызываться сразу после нажатия на один из пунктов диалога.

vovandolg
20.03.2017, 17:02
лал)) Всё там работает как надо, это просто ты отправил коннекта в слежку вот и не выполнился RequestClass, что ещё не понятного?

Redsan
20.03.2017, 22:17
лал)) Всё там работает как надо, это просто ты отправил коннекта в слежку вот и не выполнился RequestClass, что ещё не понятного?

На чем основан ваш вывод? Я не использовал функцию TogglePlayerSpectating.
Когда буду дома, запишу видео с багом и опубликую вместе с кодом.

DeimoS
20.03.2017, 22:31
Да не нужно ничего записывать. Вот простое доказательство этого "бага"

public OnPlayerConnect(playerid)
{
ShowPlayerDialog(playerid, 1, DIALOG_STYLE_MSGBOX, "caption[]", "info[]", "button1[]", "button2[]");
SendClientMessage(playerid, -1, "OnPlayerConnect");
print("OnPlayerConnect");
return 1;
}

public OnPlayerRequestClass(playerid, classid)
{
SendClientMessage(playerid, -1, "OnPlayerRequestClass");
print("OnPlayerRequestClass");
return 1;
}
Пока диалог, показанный в OnPlayerConnect, не будет закрыт, OnPlayerRequestClass не будет вызван

vovandolg
21.03.2017, 19:05
А ну да, я же в своих работах диалоги не сразу вызывал,
я не спешу что то давать коннекту которого постепенно не торопя проверяю на бота или на другие нюансы.