Тема: Скриптинг
Показать сообщение отдельно
Старый 17.06.2006, 19:49   #14
Администратор
Мастер
 
Аватар для DEDROIT
 
Регистрация: 31.01.2006
Адрес: Москва
Сообщений: 1,383
Сказал(а) спасибо: 36
Поблагодарили 230 раз(а) в 67 сообщениях
Отправить сообщение для DEDROIT с помощью ICQ
По умолчанию Скриптинг

ТУТОР МЕНГУСА
Амулет превращения в скелета (я пока не проверял, всё-ли будет правильно работать)

var int old_humans_guilden;

instance ITAM_2(C_Item)
{
name = "Амулет";
mainflag = ITEM_KAT_MAGIC;
flags = ITEM_AMULET;
value = 8000;
visual = "ItAm_Hp_01.3ds";
material = MAT_STONE;
on_equip = Equip_ITAM_2;
on_unequip = UnEquip_ITAM_2;
wear = WEAR_EFFECT;
effect = "SPELLFX_ITEMGLIMMER";
description = name;
text[5] = NAME_Value;
count[5] = value;
inv_zbias = INVCAM_ENTF_AMULETTE_STANDARD;
};

func void Equip_ITAM_2()
{
old_humans_guilden = self.guild;
if(old_humans_guilden != GIL_SKELETON) // нужно, чтобы old_humans_guilden = hero.guild срабатывало раньше, чем self.guild = GIL_SKELETON
{
Npc_SetTrueGuild(self,GIL_SKELETON);
self.guild = GIL_SKELETON;
AI_UnequipArmor(self);
Mdl_SetVisual(self,"HUMANS.MDS");
Mdl_SetVisualBody(self,"Ske_Body",DEFAUL T,DEFAULT,"",DEFAULT,DEFAULT,-1);
Mdl_SetModelFatness(self,0);
Mdl_ApplyOverlayMds(self,"Humans_skeleton.mds ");
Wld_PlayEffect("spellFX_LIGHTSTAR_ORANGE&quot ;,hero,hero,0,0,0,FALSE);
Snd_Play("SKE_DIE_A1");
};
};

func void UnEquip_ITAM_2()
{
Npc_SetTrueGuild(self,old_humans_guilden);
self.guild = old_humans_guilden;
AI_UnequipArmor(self);
Mdl_SetVisual(self,"HUMANS.MDS");
Mdl_SetVisualBody(self,"hum_body_Naked0" ,9,0,"Hum_Head_Pony",Face_N_Player,0,NO_ ARMOR);
Mdl_SetModelFatness(self,0);
Mdl_RemoveOverlayMds(self,"Humans_skeleton.md s");
Wld_PlayEffect("spellFX_LIGHTSTAR_ORANGE&quot ;,hero,hero,0,0,0,FALSE);
Snd_Play("SFX_HealObsession");
};
DEDROIT вне форума   Ответить с цитированием