PDA

Просмотр полной версии : сумон


Cucumber
06.06.2008, 10:46
На каждого NPC в том числе и на сумона приходит NpcInfo. Можно ли определить принадлежность его? NPC сам по себе или принадлежит конкретному игроку?

QaK
06.06.2008, 11:40
На суммонов там есть пакет В1 - Пет ИНфо - в нем указывается имя обладателя суммона.

Cucumber
06.06.2008, 12:54
B1 приходит тока на своего суммона

Aniks
06.06.2008, 13:38
Cucumber,
насколько я помню, в НПС-инфо есть титул, там и должно быть указано имя хозяина.

Cucumber
06.06.2008, 13:49
Aniks, а у простого NPC стоящего в городе титула не может быть?

QaK
06.06.2008, 13:52
Cucumber, а ты не бота ли пишешь своего? =) По-моему можно по НПЦ ид смотреть, у сумонов они вроде какие-то оригинальные типа 12345678. Хотя, это только предположение.

Aniks
06.06.2008, 14:01
Aniks, а у простого NPC стоящего в городе титула не может быть?
Точно сказать не могу. По идее, в основном титулы НПСов должны быть в файлах клиента.

Хм, во ща задумался, надо посмотреть повнимательней, но я чегото кроме титула вроде никакой больше информации не припомню. С другой стороны, в клиенте, когда ты видишь суммона чьего-то, как определить, чей он? Тоже только по титулу.

Cucumber
06.06.2008, 14:01
а ты не бота ли пишешь своего? =) возможно
По-моему можно по НПЦ ид смотреть, у сумонов они вроде какие-то оригинальные типа 12345678. где ты такие видел?
Aniks, ну да наверно можно по титулу смотреть

xkor
07.06.2008, 02:02
пакет NpcInfo:

writeC(0x16);
writeD(_cha.getObjectId());
writeD(_idTemplate+1000000); // npctype id
writeD(_isAttackable ? 1 : 0);
writeD(_x);
writeD(_y);
writeD(_z);
writeD(_heading);
writeD(0x00);
writeD(_mAtkSpd);
writeD(_pAtkSpd);
writeD(_runSpd);
writeD(_walkSpd);
writeD(_swimRunSpd/*0x32*/); // swimspeed
writeD(_swimWalkSpd/*0x32*/); // swimspeed
writeD(_flRunSpd);
writeD(_flWalkSpd);
writeD(_flyRunSpd);
writeD(_flyWalkSpd);
writeF(1.1/*_cha.getProperMultiplier()*/);
//writeF(1/*_cha.getAttackSpeedMultiplier()*/);
writeF(_pAtkSpd/277.478340719);
writeF(collisionRadius);
writeF(collisionHeight);
writeD(_rhand); // right hand weapon
writeD(0);
writeD(_lhand); // left hand weapon
writeC(1); // name above char 1=true ... ??
writeC(_cha.isRunning() ? 1 : 0);
writeC(_cha.isInCombat() ? 1 : 0);
writeC(_cha.isAlikeDead() ? 1 : 0);
writeC(_isSummoned ? 2 : 0);
writeS(_name);
writeS(_title);

пред пред последний параметр (isSummoned) показывает самон это или нет, если 0 то просто НПЦ, если 1 то самон/пет

Добавлено через 2 минуты
хм, счас понаблюдал этот параметр в своём боте, походу если 2 то тоже самон, чем 1 от 2 отличается пока не очень понял

Добавлено через 2 минуты
ну а саму принадлежность, видимо тока по титулу

Добавлено через 1 минуту
кста походу Orator of Revelations который от 7 печатей появляется судя по этому параметру самон

Cucumber
07.06.2008, 03:49
xkor, видел этот параметр. Не знаю что он показывает, но точно не суммонов :). В игре может несколько раз придти NpcInfo на одного NPC'a с разными значениями isSummoned. При том как на реального суммона, так и на обычного NPC'a. Так же моб имевший isSummoned=0 при смерти получает isSummoned=1

ratvier
07.06.2008, 09:43
огорчить вас чтоли, что это не полная расшифровка пакета ;)