Форум администраторов игровых серверов

Форум администраторов игровых серверов (https://forum.zone-game.info/TT.php)
-   Работа со скриптами (https://forum.zone-game.info/forumdisplay.php?f=37)
-   -   Ответ сервера клиенту (https://forum.zone-game.info/showthread.php?t=15706)

3xeng 28.08.2011 15:10

Ответ сервера клиенту
 
собственно интересны те сообщения которые посылает сервер клиенту...

например неверный логин или пароль и т.д (тобишь LoginServer)
команды отправлять я вроде умею и добавить новую в LoginFail.java труда думаю не составит, но тут есть вопрос: возьмем к примеру REASON_USER_OR_PASS_WRONG (0x02) вначале описана причина а вот это 0x02 я так понял ID(в шестнадцатеричном формате)? он равен двум а в клиенте systemmsg-ru.dat этот мессаж находится под ID где то 145, как так получается?

Azagthtot 28.08.2011 15:13

Re: Ответ сервера клиенту
 
Очень просто. Код возврата (в нашем случае) совсем не обязан быть равным коду сообщения на клиенте. Тут никакой "закономерности" нет.

3xeng 28.08.2011 15:19

Re: Ответ сервера клиенту
 
Цитата:

Сообщение от Azagthtot (Сообщение 137226)
Очень просто. Код возврата (в нашем случае) совсем не обязан быть равным коду сообщения на клиенте. Тут никакой "закономерности" нет.

это что шутка? :) вот добавлю я сейчас ID 6508 в systemmsg-ru.dat а в LoginFail.java допишу REASON_USER_LOOSER (0x3C) - (60)

и как она поймет что нужно вывести сообщение с ID 6508?

или не все так просто и нужно еще что то править?

VISTALL 28.08.2011 15:30

Re: Ответ сервера клиенту
 
Цитата:

Сообщение от 3xeng (Сообщение 137227)
это что шутка? :) вот добавлю я сейчас ID 6508 в systemmsg-ru.dat а в LoginFail.java допишу REASON_USER_LOOSER (0x3C) - (60)

и как она поймет что нужно вывести сообщение с ID 6508?

или не все так просто и нужно еще что то править?

хардкод в клиенте

Добавлено через 8 минут
Бывает они делать оффсетом, аля

ID + 4000 = systemmsg id,

бывает конкретно

1 = 5004
2 = 5019

Как получится короч

3xeng 28.08.2011 15:45

Re: Ответ сервера клиенту
 
эмм, не совсем вас понял то есть если я добавлю REASON_LOOSER с ID 23452 и в systemsg ID 23452 то должно сработать?

VISTALL 28.08.2011 17:24

Re: Ответ сервера клиенту
 
Цитата:

Сообщение от 3xeng (Сообщение 137231)
эмм, не совсем вас понял то есть если я добавлю REASON_LOOSER с ID 23452 и в systemsg ID 23452 то должно сработать?

нет


нужно тестить как меняется мессага, в зависимости от айди, если там оффсет, то узнаете какой оффсет, и узнаете нужный вам айди

Azagthtot 28.08.2011 18:10

Re: Ответ сервера клиенту
 
Нет там никакого оффсета. Там хардкод. Потому что на разные коды в пакете LoginFail идет разная реакция.

VISTALL 28.08.2011 18:21

Re: Ответ сервера клиенту
 
Цитата:

Сообщение от Azagthtot (Сообщение 137252)
Нет там никакого оффсета. Там хардкод. Потому что на разные коды в пакете LoginFail идет разная реакция.

как бы я предположил, я нековырял - незнаю

Azagthtot 28.08.2011 18:25

Re: Ответ сервера клиенту
 
Цитата:

Сообщение от VISTALL (Сообщение 137253)
как бы я предположил, я нековырял - незнаю

А зря. В LoginFail есть очень интересные (и даже полезные резоны). :)


Текущее время: 22:17. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot