PDA

Просмотр полной версии : [Вопрос] SetPlayerName in OnPlayerDisconnect



HarrWe
28.05.2017, 15:56
Приветствую, столкнулся с проблемой, что имя игрока не меняется в OnPlayerDisconnect.
В самом начале OnPlayerDisconnect я устанавливаю игроку нужное имя, в консоли в сообщение о отключение пишет новое имя, но в табе остаётся прежнее. И при connect соответственно остаётся прежнее имя.

SooBad
28.05.2017, 16:09
А зачем его вообще менять в OnPlayerDisconnect?
И... Как оно в табе остаётся прежним(да и вообще, как оно остаётся?!), если игрок отключился?
Если ты пытаешься выполнить сохранение при выходе(а оно вообще есть?) - это не самая лучшая затея.

DeimoS
28.05.2017, 17:14
SetPlayerName не меняет ник, который указан у игрока в клиенте. Она меняет лишь ник на сервере. Потому и при переподключении ник старый: пока игрок сам не сменит его, ник будет прежний

HarrWe
30.05.2017, 13:22
SetPlayerName не меняет ник, который указан у игрока в клиенте. Она меняет лишь ник на сервере. Потому и при переподключении ник старый: пока игрок сам не сменит его, ник будет прежний
Я это прекрасно знаю, суть в том что на сервере система нескольких персонажей, и многие использую плагин Reconnect, и если с ним переподключаться, то на сервер заходит с ником персонажа, а не с ником который написан в клиенте.

DeimoS
30.05.2017, 13:40
Я это прекрасно знаю, суть в том что на сервере система нескольких персонажей, и многие использую плагин Reconnect, и если с ним переподключаться, то на сервер заходит с ником персонажа, а не с ником который написан в клиенте.

А не проще ли было сделать систему персонажей прямо через игру? То есть, тот ник, что вводится в клиент - логин от аккаунта. А уже к этому логину прикрепляется 3 персонажа, которые выбираются через соответствующий диалог. К чему все эти велосипеды с реконектом?

HarrWe
30.05.2017, 13:51
А не проще ли было сделать систему персонажей прямо через игру? То есть, тот ник, что вводится в клиент - логин от аккаунта. А уже к этому логину прикрепляется 3 персонажа, которые выбираются через соответствующий диалог. К чему все эти велосипеды с реконектом?
Ну так у меня так и есть, велосипеды с реконектом делаю, что бы игрокам было удобнее. Очень много людей играют с этим плагином на реконект. Пример: Я игрок, в клиенте ник HarrWe, захожу на сервер, выбираю персонажа Harry_Wester. Играю. Захотелось перезайти и при реконекте я остаюсь с ником Harry_Wester.

DeimoS
30.05.2017, 17:48
Эмм, может проблема в плагине, ибо сервер нормально меняет имя
http://i.imgur.com/WEEmDmg.png

HarrWe
31.05.2017, 17:25
Эмм, может проблема в плагине, ибо сервер нормально меняет имя
http://i.imgur.com/WEEmDmg.png
"В самом начале OnPlayerDisconnect я устанавливаю игроку нужное имя, в консоли в сообщение о отключение пишет новое имя, но в табе остаётся прежнее. И при connect соответственно остаётся прежнее имя."

DeimoS
31.05.2017, 18:26
"В самом начале OnPlayerDisconnect я устанавливаю игроку нужное имя, в консоли в сообщение о отключение пишет новое имя, но в табе остаётся прежнее. И при connect соответственно остаётся прежнее имя."

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