26.06.2010, 17:03
|
#53
|
Пользователь
Регистрация: 23.03.2010
Сообщений: 51
Сказал(а) спасибо: 14
Поблагодарили 32 раз(а) в 15 сообщениях
|
Нигде краша не будет. Ноль и должен быть, если нпц без оружия. Собственно, он и есть.
Это-то выбросьте из EffectSummonWild
Код:
+ WorldPacket data(SMSG_MIRRORIMAGE_DATA, 68);
+ data << (uint32)m_caster->GetDisplayId();
+ if (m_caster->GetTypeId() == TYPEID_PLAYER)
+ {
+ Player* pCreator = (Player *)m_caster;
+ data << (uint8)pCreator->getRace(); // race
+ data << (uint8)pCreator->getGender(); // gender
+ data << (uint8)pCreator->getClass(); // class
+ data << (uint8)pCreator->GetByteValue(PLAYER_BYTES, 0); // skin
+ data << (uint8)pCreator->GetByteValue(PLAYER_BYTES, 1); // face
+ data << (uint8)pCreator->GetByteValue(PLAYER_BYTES, 2); // hair
+ data << (uint8)pCreator->GetByteValue(PLAYER_BYTES, 3); // haircolor
+ data << (uint8)pCreator->GetByteValue(PLAYER_BYTES_2, 0); // facialhair
+
+ data << pCreator->GetName(); // unknown
+ data << (uint32)pCreator->GetGuildId();
+
+ static const EquipmentSlots ItemSlots[] =
+ {
+ EQUIPMENT_SLOT_HEAD,
+ EQUIPMENT_SLOT_SHOULDERS,
+ EQUIPMENT_SLOT_BODY,
+ EQUIPMENT_SLOT_CHEST,
+ EQUIPMENT_SLOT_WAIST,
+ EQUIPMENT_SLOT_LEGS,
+ EQUIPMENT_SLOT_FEET,
+ EQUIPMENT_SLOT_WRISTS,
+ EQUIPMENT_SLOT_HANDS,
+ EQUIPMENT_SLOT_BACK,
+ EQUIPMENT_SLOT_TABARD,
+ EQUIPMENT_SLOT_END
+ };
+
+ // Display items in visible slots
+ for (EquipmentSlots const* itr = &ItemSlots[0]; *itr != EQUIPMENT_SLOT_END; ++itr)
+ if (Item const* item = pCreator->GetItemByPos(INVENTORY_SLOT_BAG_0, *itr))
+ data << (uint32)item->GetProto()->DisplayInfoID; // display id
+ else
+ data << (uint32)0; // no item found, so no id
+ }
+ else
+ {
+ // Skip player data for creatures
+ data << (uint32)0;
+ data << (uint32)0;
+ data << (uint32)0;
+ data << (uint32)0;
+ data << (uint32)0;
+ data << (uint32)0;
+ data << (uint32)0;
+ data << (uint32)0;
+ data << (uint32)0;
+ data << (uint32)0;
+ data << (uint32)0;
+ data << (uint32)0;
+ data << (uint32)0;
+ data << (uint32)0;
+ }
Последний раз редактировалось Vinolentus; 26.06.2010 в 17:09.
|
|
|