Показать сообщение отдельно
Старый 10.10.2006, 07:40   #283
Dimus

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

По умолчанию Re: М: Уроки скриптологии

Уважаемый Vam!
После долгих поисков в данной теме я попытался собрать воедино ваши советы по исправлению ошибок в скриптах аддона. Пожалуйста проверьте и если есть ошибки, укажите на них. Затем можно попросить модераторов дать ссылку на них в заголовке темы.

Ошибки в скриптах Готики II Ночь Ворона v2.6 и способы их исправления

Внимание: Красным цветом выделены исправленные фрагменты скриптов.

AI\Magic\C_CanNPCCollideWithSpell.d
if(C_BodyStateContains(self,BS_SWIM) || C_BodyStateContains(self,BS_DIVE))
{
* * *return COLL_APPLYDOUBLEDAMAGE;
};
return COLL_DOEVERYTHING;
AI\Magic\Spell_ProcessMana.d
* * *if(activeSpell == SPL_SummonMud)
* * *{
* * * * * *return Spell_Logic_SummonMud(manaInvested);
* * *};
* * *return SPL_SENDSTOP;
};
AI\Magic\ZS_Magic\ZS_GreenTentacle.d
func void ZS_Greententacle()
AI\Magic\ZS_Magic\ZS_Inflate.d
func void ZS_Inflate()
AI\Magic\ZS_Magic\ZS_MagicBurn.d
func void ZS_MagicBurn()
AI\Magic\ZS_Magic\ZS_MagicBurnShort.d
func void ZS_MagicBurnShort()
AI\Magic\ZS_Magic\ZS_MagicFlee.d
func void B_StopMagicFlee()
...
func int ZS_MagicFlee_Loop()
{
* * *if(Npc_GetStateTime(self) > SPL_TIME_Fear)
* * *{
* * * * * *Npc_ClearAIQueue(self);
* * * * * *B_StopMagicFlee();
* * * * * *return LOOP_END;
* * *};
* * *return LOOP_CONTINUE;
};
AI\Magic\ZS_Magic\ZS_MagicFreeze.d
func void ZS_MagicFreeze()
AI\Magic\ZS_Magic\ZS_MagicShrink.d
func void ZS_MagicShrink()
AI\Magic\ZS_Magic\ZS_MagicSleep.d
func void B_StopMagicSleep()
AI\Magic\ZS_Magic\ZS_Pyro.d
func void ZS_Pyro()
AI\Magic\ZS_Magic\ZS_ShortZapped.d
func void ZS_ShortZapped()
...
func int ZS_ShortZapped_Loop()
{
* * *if(Npc_GetStateTime(self) > SPL_TIME_SHORTZAPPED)
* * *{
* * * * * *B_StopShortZapped();
* * * * * *return LOOP_END;
* * *};
* * *return LOOP_CONTINUE;
};
AI\Magic\ZS_Magic\ZS_SuckEnergy.d
func void ZS_SuckEnergy()
AI\Magic\ZS_Magic\ZS_Swarm.d
func void ZS_Swarm()
AI\Magic\ZS_Magic\ZS_Whirlwind.d
func void ZS_Whirlwind()
AI\Magic\ZS_Magic\ZS_Zapped.d
func void ZS_Zapped()
Story\Dialoge\DAI_Djg_713_Biff.d
func int DIA_Biff_KOHLEWEGGEBEN_Condition()
{
* * *if((DJG_Biff_SCGold > Npc_HasItems(hero,ItMi_Gold)) && (DJG_Biff_HalbeHalbe == TRUE) && (DJG_BiffParty == TRUE) && (DJG_Biff_Stay == FALSE))
* * *{
* * * * * *return TRUE;
* * *};
};
Story\Dialoge\DIA_Mil_311_Andre.d
func void DIA_Andre_CantharFalle_Info()
Story\Dialoge\DIA_PC_Thief_NW.d
if(Npc_HasItems(other,ItSe_DiegosTreasure_Mis) >= 1)
{
* * *B_GiveInvItems(other,self,ItSe_DiegosTreasure_Mis ,1);
* * *b_diegonw_diegosrevenge();
* * *DiegosRevenge = TRUE;
}
else if (Npc_HasItems(other,ItMi_Gold) < DiegosTreasure)
Story\Dialoge\DIA_PC_ThiefOW.d
* * * * * *else
* * * * * *{
* * * * * * * * *Diego_TooFarComment = FALSE;
* * * * * *};
* * *};
* * *return FALSE;
};
Story\Dialoge\DIA_Pir_1353_Addon_Morgan.d
func void DIA_Addon_Morgan_EXIT_Info()
...
func void DIA_Addon_Morgan_Anheuern_Info()
Story\Dialoge\DIA_Sld_807_Bullco.d
* * *Bullco_HitCounter = Bullco_HitCounter + 1;
* * *Bullco_Leave_Day = B_GetDayPlus();
* * *AI_StopProcessInfos(self);

* * *B_Attack(self,other,AR_NONE,1);
Story\Dialoge\DIA_Sld_810_Dar.d
if(Dar_LostAgainstCipher == TRUE)
{
* * *self.aivar[AIV_LastFightComment] = FALSE;
* * *return TRUE;

};
Story\Dialoge\DIA_Vlk_413_Bosper.d
* * *AI_Output(self,other,"DIA_Bosper_SellFur_11_08"); * * *//Это... она стоит целое состояние.
* * *Bosper_TrollFurSold = TRUE;
}
Story\B_Content\B_Addon_PiratesGoHome.d
if(Npc_IsDead(TowerBandit1) && Npc_IsDead(TowerBandit2) && Npc_IsDead(TowerBandit3))
{
* * *TowerBanditsDead = TRUE;
* * *return TRUE;

}
* * *else
{
* * *return FALSE;
};
Story\B_Content\B_RemoveQuarhodron.d
func void B_RemoveGhost()
Story\B_Content\B_DragonKillCounter.d
func void B_DragonKillCounter(var C_Npc current_dragon)
AI\Human\TA_Human\ZS_RunToWP.d
func void ZS_RunToWP_End()
AI\Human\TA_Human\ZS_AssessGuidePlayer.d
func void ZS_Guide_Player_End()
AI\Human\TA_Human\ZS_FleeToWP.d
func void ZS_FleeToWp_End()
AI\Monster\B_Monster\B_MM_DeSynchronize.d
func void B_MM_DeSynchronize()
Источник: Vam


Добавление от 10/10/06, в 08:00:16
Дополнение
Похоже, где-то есть скрытая ошибка, т.к. после внесения этих изменений перестают работать телепорты в Яркендаре - когда ГГ встаёт на активированный телепорт, вокруг него появляется синее сияние, НО перехода не происходит, герой остаётся на месте. :(
Ответить с цитированием