- Регистрация
- 26 Мар 2004
- Сообщения
- 2.001
- Благодарности
- 969
- Баллы
- 295
пришёл такой вот вопрос
давайте посмотрим как изменится код на примере заклинания призыва голема
хачу что бы мана отнялась как у тебя! как сделать для демана и голема.
Spell_Logic_InvestedCAST Vs Spell_Logic_FastCAST
Прототипы Spell_Logic Spell_Logic_FastCAST Spell_Logic_InvestedCAST
- Spell_Logic_InvestedCAST - будет отнимать(инвестировать) ману постепенно, как в Готики 1
- Spell_Logic_FastCAST - будет отнимать ману "мгновенно", как в Готики 2
ВАЖНО! если заклинание имеет "долгую" анимацию(например заклинание призыва, буря, страх), то можно использовать Spell_Logic_InvestedCAST. В этом случае мана будет отниматься(инвестироваться) постепенно(плавно), но следует понимать что применение Spell_Logic_InvestedCAST требует дополнительных тестов и проверок в игре, так как инвестирование большого кол-ва маны может занять бОльшее кол-во времени чем длится анимация заклинания, что может привести к увеличению времени каста. Яркий тому пример это огненный дождь, анимация которого занимает меньшее время чем инвестирование 150 маны.
-
Daedalus:
func int Spell_Logic_FastCAST(var c_npc slf, var int manaInvested,var int Spl_Cost_Mana) { // Ночь Ворона. Начало if (Npc_GetActiveSpellIsScroll(slf)) // это свиток { Spl_Cost_Mana = SPL_Cost_Scroll; // меняет значение для Spl_Cost_Mana для NotR }; // Ночь Ворона. Конец if (manainvested == 0) { if (slf.attribute[ATR_MANA] < Spl_Cost_Mana) { return SPL_SENDSTOP; // маны мало --> выход }; return SPL_FORCEINVEST + Spl_Cost_Mana; // отнимает ману. устанавливаем новое значение manainvested. }; return SPL_SENDCAST; // кидаем };
Daedalus:func int Spell_Logic_InvestedCAST(var c_npc slf, var int manaInvested,var int Spl_Cost_Mana) { // Ночь Ворона. Начало if (Npc_GetActiveSpellIsScroll(slf)) // это свиток { Spl_Cost_Mana = SPL_Cost_Scroll; // меняет значение для Spl_Cost_Mana для NotR }; // Ночь Ворона. Конец if (manainvested == 0) { if (slf.attribute[ATR_MANA] < Spl_Cost_Mana) { return SPL_SENDSTOP; // маны мало --> выход }; }; if (manainvested > Spl_Cost_Mana) { return SPL_SENDCAST; // кастуем }; return SPL_RECEIVEINVEST ; // отнимает ману };
давайте посмотрим как изменится код на примере заклинания призыва голема
ману отнимают скрипты (G2 NotR MDK) | ману отнимает движок(улучшения) |
Daedalus:
|
Daedalus:
|
Daedalus:
|
Daedalus:
|
Последнее редактирование: