Просмотр полной версии : сумон
Cucumber
06.06.2008, 10:46
На каждого NPC в том числе и на сумона приходит NpcInfo. Можно ли определить принадлежность его? NPC сам по себе или принадлежит конкретному игроку?
На суммонов там есть пакет В1 - Пет ИНфо - в нем указывается имя обладателя суммона.
Cucumber
06.06.2008, 12:54
B1 приходит тока на своего суммона
Cucumber,
насколько я помню, в НПС-инфо есть титул, там и должно быть указано имя хозяина.
Cucumber
06.06.2008, 13:49
Aniks, а у простого NPC стоящего в городе титула не может быть?
Cucumber, а ты не бота ли пишешь своего? =) По-моему можно по НПЦ ид смотреть, у сумонов они вроде какие-то оригинальные типа 12345678. Хотя, это только предположение.
Aniks, а у простого NPC стоящего в городе титула не может быть?
Точно сказать не могу. По идее, в основном титулы НПСов должны быть в файлах клиента. 
Хм, во ща задумался, надо посмотреть повнимательней, но я чегото кроме титула вроде никакой больше информации не припомню. С другой стороны, в клиенте, когда ты видишь суммона чьего-то, как определить, чей он? Тоже только по титулу.
Cucumber
06.06.2008, 14:01
а ты не бота ли пишешь своего? =) возможно
По-моему можно по НПЦ ид смотреть, у сумонов они вроде какие-то оригинальные типа 12345678. где ты такие видел?
Aniks, ну да наверно можно по титулу смотреть
пакет 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
огорчить вас чтоли, что это не полная расшифровка пакета ;)
vBulletin® v3.6.11, Copyright ©2000-2025, Jelsoft Enterprises Ltd. Перевод: zCarot