Показать сообщение отдельно
Старый 16.09.2005, 23:43   #907
Finsernis

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

По умолчанию Re: Скриптинг в Готике

2Отец Левонтий:
А можно ли заклинание превращения в волка, например, заменить на превращение в тролля, таким образом не создавая нового заклинания?
Можно, и достаточно легко. Для этого:
1) Открой скрипт AI\Magic\Spells\Spell_Transform.d и найди в нем следующую функцию
func int Spell_Logic_TrfSheep(var int manaInvested)
{
     if ((Npc_GetActiveSpellIsScroll (self) && (self.attribute[ATR_MANA] >= SPL_Cost_Scroll)) || (self.attribute[ATR_MANA] >= SPL_Cost_TrfSheep))
     {
           self.attribute[ATR_MANA] = self.attribute[ATR_MANA] - SPL_Cost_TrfSheep;
           Npc_SetActiveSpellInfo (self, SHEEP);
           return SPL_SENDCAST;
     }
     else
     {
           return SPL_SENDSTOP;
     };
};

2) Замени строку
Npc_SetActiveSpellInfo (self, SHEEP);
на строку
Npc_SetActiveSpellInfo (self, Troll_Black);

Впринципе уже будет работать, но для полного эффекта
3) в скрипте Story\Text.d найди следующие строки:
"Овца", в описании массива const string TXT_SPELLS[100] замени на "Черный тролль"
const string NAME_SPL_TrfSheep = "Превращение в овцу"; замени на
const string NAME_SPL_TrfSheep = "Превращение в Черного тролля";

Ну и естественно не забудь изменить Name в инстанции своего заклинания.

Удачи! ;)

З.Ы. Я тестил на Элитном орке! ::)
Ответить с цитированием