|
Re: М: Скриптинг в Готике
Подскажите, как из Диккурика внедрить в Г1 руну телепортации к месту расположения другой руны? Я добавил в скрипты Г1 файл Spell_Logic_Teleport6.d:
func int spell_logic_teleport6(var int manaInvested) { PrintDebugNpc(PD_MAGIC,"Spell_Logic_Teleport6 "); if(manaInvested >= SPL_SENDCAST_TELEPORT) { AI_Teleport(self,"ANKUNFTRUNE"); AI_PlayAni(self,"T_HEASHOOT_2_STAND"); return SPL_SENDCAST; }; return SPL_NEXTLEVEL; }; добавил к тексту файлов artifacts.d:
instance TELEPORTRUNE(C_Item) { name = "Руна телепортации"; mainflag = ITEM_KAT_RUNE; flags = 0; visual = "ItAr_Rune_37.3ds"; material = MAT_STONE; spell = SPL_TELEPORT6; description = "Телепортация"; text[0] = NAME_Mag_Circle; count[0] = mag_circle; text[1] = NAME_Manakosten; count[1] = SPL_SENDCAST_TELEPORT; }; instance ANKUNFTRUNE(C_Item) { name = "Руна перехода"; mainflag = ITEM_KAT_RUNE; flags = 0; visual = "ItAr_Rune_40.3ds"; material = MAT_STONE; mag_circle = 6; description = "Руна перехода"; text[0] = NAME_Mag_Circle; count[0] = mag_circle; text[1] = NAME_Manakosten; count[1] = SPL_SENDCAST_TELEPORT; }; ------- magic_intern.d:
const int SPL_Teleport6 = 59; -------- spell_ProcessMana.d if(Npc_GetActiveSpell(self) == SPL_Teleport6) { return Spell_Logic_Teleport6(manaInvested); }; --------- spell_ProcessMana_Release.d:
if(Npc_GetActiveSpell(self) == SPL_Teleport6) { return Spell_Logic_Teleport6(manaInvested); }; -------- добавил строчки в Gothic.src При попытке "надеть" руну игра вываливается. Что я сделал не так, как надо???
|