Вход

Просмотр полной версии : пакет npcinfo


wildamd
22.12.2012, 10:36
всем доброго времени суток
ребят, вопрос на счет пакета npcinfo

вот начальные куски wps

LA2: "NpcInfo" size: 200 prot: 83 $053
Addr: Size: Type: Description: Value:
0000 2 word psz 200 | $00C8
0002 1 byte ID 12 | $0C
0003 4 integer ObjID -1209194393 | $B7ED2867
0007 4 integer NpcId Kuta ($000FC17E)
000B 4 integer IsAttackable 0 | $00000000
000F 4 integer X 142807 | $00022DD7
0013 4 integer Y 46493 | $0000B59D
0017 4 integer Z -3384 | $FFFFF2C8
001B 4 integer Heading 24576 | $00006000

LA2: "Action" size: 20 prot: 83 $053
Addr: Size: Type: Description: Value:
0000 2 word psz 20 | $0014
0002 1 byte ID 31 | $1F
0003 4 integer ObjectID 1209025448 | $481043A8
0007 4 integer OrigX 143519 | $0002309F
000B 4 integer OrigY 46663 | $0000B647
000F 4 integer OrigZ -3435 | $FFFFF295
0013 1 byte ActionID 0 | $00

LA2: "MyTargetSelected" size: 13 prot: 83 $053
Addr: Size: Type: Description: Value:
0000 2 word psz 13 | $000D
0002 1 byte ID 185 | $B9 '¹'
0003 4 integer ObjectID 1209025448 | $481043A8
0007 2 word Color 65471 | $FFBF
0009 4 integer 0 0 | $00000000

первый пакет, как мы знаем - это обычный npcinfo, от сервера
второй - "запрос выделения" нпц, от клиента
третий - "подтверждение выделения", от сервера

вопрос такой - почему разные objectid?
как из $B7ED2867 получается $481043A8? пытался "перевернуть" - все равно разница в значении.

заранее спасибо за помощь :)

kpa9pt
22.12.2012, 14:39
Потому что npcinfo не от того кого выделяешь.

wildamd
22.12.2012, 18:18
извини, немного не понял ответ.

npcinfo, как и ряд остальных пакетов приходит от сервера, из "основной" информации это координаты моба(нпц), его id(вообще что за нпц) и уникальный id(objectid).

трафик снят через wps, после стоит l2walker и клиент l2, вот l2walker ловит этот npcinfo, и если через волкер выделить нпц - он в "Action" шлет именно objectid из ncpinfo ($B7ED2867 - но нпц не выделяется), если же выделять через клиент - клиент в "Action" шлет objid $481043A8, после чего нпц без проблем выделяется, естественно в ответ от сервера шлется "MyTargetSelected", а не "ActionFailed" как в случае с l2walker.. поэтому и создал тему :)
судя по всему после npcinfo идет какойто ряд функций, мне не знакомый( если это чтото стандартное - буду очень рад помощи :)

kpa9pt
22.12.2012, 23:39
извини, немного не понял ответ.

npcinfo, как и ряд остальных пакетов приходит от сервера, из "основной" информации это координаты моба(нпц), его id(вообще что за нпц) и уникальный id(objectid).

трафик снят через wps, после стоит l2walker и клиент l2, вот l2walker ловит этот npcinfo, и если через волкер выделить нпц - он в "Action" шлет именно objectid из ncpinfo ($B7ED2867 - но нпц не выделяется), если же выделять через клиент - клиент в "Action" шлет objid $481043A8, после чего нпц без проблем выделяется, естественно в ответ от сервера шлется "MyTargetSelected", а не "ActionFailed" как в случае с l2walker.. поэтому и создал тему :)
судя по всему после npcinfo идет какойто ряд функций, мне не знакомый( если это чтото стандартное - буду очень рад помощи :)

С чего ты взял что NpcInfo что ты написал это именно пакет ТОГО нпс что ты взял в таргет?

wildamd
23.12.2012, 01:35
потому что как минимум - локация предварительно подбиралась с наименьшим количеством возможных приходящих пакетов, - колизей, на выходе которого стоит только 2 нпц, ledy lake и kuta. во вторых - kuta как нпц - существует в единственном экземпляре вообще на сервере + именно его id прописан в приходящем npcinfo + я в клиенте вижу что (кого) выделяю :) вот как то так..

kpa9pt
23.12.2012, 02:08
потому что как минимум - локация предварительно подбиралась с наименьшим количеством возможных приходящих пакетов, - колизей, на выходе которого стоит только 2 нпц, ledy lake и kuta. во вторых - kuta как нпц - существует в единственном экземпляре вообще на сервере + именно его id прописан в приходящем npcinfo + я в клиенте вижу что (кого) выделяю :) вот как то так..

Короче что спорить...лично я когда ищу ID (не OID) нпс, я беру нпс в таргет смотрю его OID дальше, обновляю всех нпс и ищу по пакетам NpcInfo нужный OID и вижу искомый ID.
На всём этом выводе - твой npcinfo не от того нпс, *ули тут спорить.

wildamd
23.12.2012, 02:31
умница, с тобой никто не спорит, так как пишешь ты - изначально расчитывалось делать, но этот перевернутый objid все ломает.

очень сложно попутать вообще 2 входящих npcinfo :)

SeregaZ
23.12.2012, 18:47
но координаты то разные. нпс стоит на одном месте - какие координаты пришли с NpcInfo те и должен "помнить" клиент, когда производится выбор таргета. другое дело если ты был в зоне срабатывания NpcInfo, потом отошел подальше, этот нпс исчез из зоны видимости, потом подошел и делаешь опять таргет - в этом случае возможно перемещение нпс. также думаю после смерти и респауна в колизее тоже будет смещение объектов. там же происходит мигание экрана.

supernewbie
23.12.2012, 19:49
wildamd, заинтриговал, какой сервер?

kpa9pt
23.12.2012, 22:49
но координаты то разные. нпс стоит на одном месте - какие координаты пришли с NpcInfo те и должен "помнить" клиент, когда производится выбор таргета. другое дело если ты был в зоне срабатывания NpcInfo, потом отошел подальше, этот нпс исчез из зоны видимости, потом подошел и делаешь опять таргет - в этом случае возможно перемещение нпс. также думаю после смерти и респауна в колизее тоже будет смещение объектов. там же происходит мигание экрана.

Координаты в пакете таргета это координаты чара, а не нпс.

SeregaZ
23.12.2012, 23:05
тьфуй... который раз про это забываю...

alexteam
24.12.2012, 06:23
supernewbie, рпг скорей всего.

wildamd
28.12.2012, 15:32
да, это на сервере рпг, и хоть играю уже в другую онлайн - хотелось бы для себя по возможности все же вопрос закрыть :)

kpa9pt
28.12.2012, 19:38
Играю на рпг, тьма скриптов, с такой хернёй не встречался, просто ты тупишь где-то я хз

wildamd
28.12.2012, 20:29
kpa9pt, спасибо за коммент))
когда мне на рпг было интерессно играть - я тоже кучу скриптов написал, облегчающих разные действия (в wpf). но тк левый софт я не особо люблю, пришлось кодить что-то свое, прокси сервер, авторизация на логине через все эти блоуфиши и хор'ы, конект на геймсервере, очередной хор. по этому если я и нуп, тогда не последний, в любом случае пакеты через мой софт идентичны "открытым" пакетам через wpf. в общем пока клиент игры еще не снес - буду доволен за помощь :)