ПобедительМожно подсказать, как выглядит условие, которое срабатывает при гибели отряда или вражеского героя?
Пример с моей карты:
if GetSavedCombatArmyHero(a1,0)=="Giovanni" then
Loose();
end;
if (GetSavedCombatArmyHero(a1,1)=="Giovanni") and (GetSavedCombatArmyHero(a1,0)=="Zehir") then
MessageBox(GetMapDataPath().."talk_of_grigorio_6.txt");
SetObjectiveState("kill_pl5", OBJECTIVE_COMPLETED, PLAYER_1 );
SetPlayerResource(PLAYER_1 ,GOLD, GetPlayerResource(PLAYER_1 , GOLD)+20000);
end;
if flag_bad_grig==1 then
if (GetSavedCombatArmyHero(a1,1)=="Giovanni") and (GetSavedCombatArmyHero(a1,0)=="Duncan") then
SetObjectiveState("kill_pl6", OBJECTIVE_COMPLETED, PLAYER_1 );
MessageBox(GetMapDataPath().."talk_of_grigorio_5.txt");
SetObjectEnabled("portal1", true);
end;
else
if (GetSavedCombatArmyHero(a1,1)=="Giovanni") and (flag_britt==1) then
count_stacks = GetSavedCombatArmyCreaturesCount(a1,0);
for i=0,count_stacks-1 do
cr, numer, dead = GetSavedCombatArmyCreatureInfo(a1,0,i);
if cr==cr_ded then
Strelki_dead= Strelki_dead + dead;
end;
end;
Вот примеры кода. Если разбираешься -поймёшь, если нет - потребуй объяснения.
Пример частный, в котором один герой побеждает другого, либо валит отряд и собирает их численность.
Или надо чтобы он учитывал любое умирание врага?
Тогда вот:
Формат вызываемой процедуры:
void sProc( sHeroName )
Останов:
Trigger(PLAYER_REMOVE_HERO_TRIGGER, nPlayerID, nil)
Процедура вызывается, когда игрок nPlayerID теряет героя. Имя данного героя передается в процедуру в качестве параметра