Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
Пакет на удаление персонажа из списка
#1
Кто-нибудь знает id пакета, которым можно удалить персонажа из списка персонажей (в окне выбора)? Если просто слать новый список, то происходит глюк, и персонажи наслаиваются друг на друга (старый остается, новый появляется). А ждать удаления сутки не могу (ЗБТ уже заканчивается).

Добавлено через 3 часа 36 минут
Даже если пустой список отправить "DD 01 39 00 01 00", то мало того что старый не пропадает, так еще и новый все равно появляется поверх.
hLaPEx, Evermore, hAuthD, L2on, ...
Ответ
#2
неочень понял что ты хочешь добиться, если удалить чара на офе принудительно без таймера, то никак... можно конечно обмануть клиент отправив пакет о том что чар удален, но при следующем запросе списка чаров с ГС он вернеться наместо.

или ты хочеш удалить его на своем сервере?
Ответ
#3
Цель такая, чтобы можно было зайти в окно выбора персонажа и менять там персонажей (или их внешний вид). Я думал, что можно будет просто слать разные пакеты со списком персонажей, клиент будет удалять старых и отображать новых, но на самом деле клиент рисует новых поверх старых (старые остаются и получается наслоение). Пытался слать пустой список - персонажи все равно остаются. Пытался делать принудительный перезаход на сервер (возврат к списку серверов и повторный выбор того же сервера), но клиент в этом случае крашится (на офе тоже). В общем, нужен какой-нибудь способ убрать персонажа из списка и показать нового, т. е. удалить персонажа из окна выбора. Это наверняка происходит, когда истекает время удаления персонажа, но, к сожалению, уже проверить не успею.

[Изображение: bug_500.jpg][Изображение: i.gif]
hLaPEx, Evermore, hAuthD, L2on, ...
Ответ
#4
Hint Написал:Пытался делать принудительный перезаход на сервер (возврат к списку серверов и повторный выбор того же сервера), но клиент в этом случае крашится (на офе тоже).

какието страшные вещи говориш про офф... Big Grin

Код:
    writeD(0x003701DD);
    writeD(charId);
    writeB(mode); // 1 - сразу удалет  2 - запускает таймер
    writeQ(startTime);
    writeQ(endTime);

опкод может отличаться на ру клиенте.

у меня к сожалению нет акка ЗБТ Sad
Ответ
#5
MHard Написал:какието страшные вещи говориш про офф... Big Grin

Код:
    writeD(0x003701DD);
    writeD(charId);
    writeB(mode); // 1 - сразу удалет  2 - запускает таймер
    writeQ(startTime);
    writeQ(endTime);

опкод может отличаться на ру клиенте.

у меня к сожалению нет акка ЗБТ Sad

Спасибо большое, чуть позже проверю.

А про перезаход могу скриншот сделать Smile Жмешь "выбор сервера", выбираешь сервер заново, видишь персонажа и сразу же появляется ошибка "access violation at address in module".

ЗБТ через 10 минут заканчивается.
hLaPEx, Evermore, hAuthD, L2on, ...
Ответ
#6
Hint Написал:Спасибо большое, чуть позже проверю.

А про перезаход могу скриншот сделать Smile Жмешь "выбор сервера", выбираешь сервер заново, видишь персонажа и сразу же появляется ошибка "access violation at address in module".

у меня по началу также было... если честно непомню что делал но точно скажу что это я поборол, выход на ЛС и повторный вход на ГС работает 100% по крайней мере на коррейском клиенте.

Hint Написал:ЗБТ через 10 минут заканчивается.

вот же беда Big Grin , ждем ОБТ?
Ответ
#7
Видимо все-таки другой опкод. Жму "удалить", ввожу имя персонажа, клиент шлет пакет, я отвечаю, но удаления не происходит.
Код:
Client: 00 01 23 00 85 F5 05 00
Server: DD 01 37 00 85 F5 05 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
hLaPEx, Evermore, hAuthD, L2on, ...
Ответ
#8
попробуй подобрать опкод

у меня
SM_PlayerList = writeD(0x003C01DD);
SM_StartDeletePlayer = writeD(0x003701DD);

если на руофе
SM_PlayerList = writeD(0x003901DD);

то попробуй writeD(0x003401DD);
Ответ
#9
Да, с этим работает. Спасибо большое.
hLaPEx, Evermore, hAuthD, L2on, ...
Ответ


Перейти к форуму:


Пользователи, просматривающие эту тему: 3 Гость(ей)