PDA

Просмотр полной версии : [Вопрос] Выбор класса



m1n1vv
14.06.2019, 21:10
Почему после первой смерти появляется окно выбора класса? Как сделать авто выбор класса?

Den_Gurino
14.06.2019, 23:17
Репутация твоя должна позволять то, что без кода тут ни чего не решить!

m1n1vv
14.06.2019, 23:24
Репутация твоя должна позволять то, что без кода тут ни чего не решить!

Пустой OnPlayerRequestClass и PlayerSpawn c SetInfo в OnPlayerRequestSpawn?

DeimoS
15.06.2019, 06:46
Потому что Куй посчитал, что выбор скина - это именно то, что нужно всем, без исключения, серверам, а посему сделал эту систему максимально дубовой, не учтя возможность обхода выбора скина.

Я никогда не интересовался темой настолько, чтоб лезть под "капот" и пытаться высмотреть в исходниках то, как всё работает на самом деле, но сложилось такое впечатление: когда игрок заходит на сервер, происходит проверка на наличие определённых данных (вероятнее всего, информации о скине) и если этих данных нет, происходит переход к выбору скина. Соответственно, когда этап выбора скина обходится, нужные данные всё ещё не появляются => следующий спавн игрок вновь отправляется на выбор скина, так как срабатывает проверка.

Как я понимаю, этап выбора скина срабатывает на стороне самого клиента, ибо простой перехват пакетов не показал никакой особой информации, которую игрок присылал бы как при подключении, так и при выборе какого-то конкретного скина. Он лишь присылает факт смены "состояния" (GetPlayerState). Соответственно, эту инфу никак не отправить игроку со стороны сервера, не сделав какой-то клиентский плагин или не придумав костыль, а-ля "специальное умервщление игрока после первого спавна с последующим повторным обзодом выбора скина".

Исправить ситуацию можно постоянным обходом выбора скина. Я как-то составлял два варианта (http://pro-pawn.ru/showthread.php?13526-%D0%9E%D0%B1%D1%85%D0%BE%D0%B4-%D1%81%D1%82%D0%B0%D0%BD%D0%B4%D0%B0%D1%80%D1%82%D0%BD%D0%BE%D0%B3%D0%BE-%D0%B2%D1%8B%D0%B1%D0%BE%D1%80%D0%B0-%D1%81%D0%BA%D0%B8%D0%BD%D0%B0-%28%D1%81%D0%BA%D1%80%D1%8B%D1%82%D1%8C-%D0%BA%D0%BD%D0%BE%D0%BF%D0%BA%D0%B8-%D0%B8-Spawn-%29) того, как можно этот выбор скина обойти, исправив появляющиеся баги. Это, собственно, твой вариант решения проблемы, как я понимаю.

m1n1vv
15.06.2019, 13:55
Если после первой смерти это обойти, то больше не будет выбора класса?

DeimoS
15.06.2019, 15:02
Точно не скажу, ибо не проверял. Скорее всего после первой смерти OnPlayerRequestClass перестаёт вызываться и обход перестаёт работать сам по себе.

Но не забывай, что так же игрок может на F4 нажать и перейти к выбору класса. Так что в любом случае обход нужно делать постоянным.

m1n1vv
15.06.2019, 15:45
Только выбор класса ни на что не повлияет. А если после смерти сделать вход в лобби, где будет статистика игрока. Кнопки перелистывания замазать ТД.

Fallen A.
15.06.2019, 23:50
Только выбор класса ни на что не повлияет. А если после смерти сделать вход в лобби, где будет статистика игрока. Кнопки перелистывания замазать ТД.

Обычно, действительно, либо замазывают, либо изначально задают необходимую серверу информацию.