Показать сообщение отдельно
Старый 27.01.2009, 12:47   #2157
niccolo

AGFC
Гость
 
Сообщений: n/a

По умолчанию 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
При попытке "надеть" руну игра вываливается.
Что я сделал не так, как надо???
Ответить с цитированием