if heroname == 'Ish' then
if HasArtefact(heroname, ARTIFACT_HELM_OF_ENLIGHMENT) then
SetObjectPosition('rav', 105, 74, -1);
Trigger( REGION_ENTER_AND_STOP_TRIGGER, 'art', nil );
end;
end;
Trigger( REGION_ENTER_AND_STOP_TRIGGER, 'art', 'Fight' );
New here? I'm Roha — want a quick tour?
SetObjectEnabled("garrison_name", nil);
Trigger(4, "garrison_name", "capture_gar");
function capture_gar(hero)
local a = {};
a[1], a[3], a[5], a[7], a[9], a[11], a[13] = GetObjectCreaturesTypes("garrison_name");
for i = 1, 7 do
if a[i*2-1] ~= 0 then
a[i*2] = 2 * GetObjectCreatures("garrison_name", a[i*2-1]);
end;
end;
SetObjectEnabled("garrison_name", 1);
Trigger(4, "garrison_name", nil);
MakeHeroInteractWithObject(hero, "garrison_name");
local i = GetLastSavedCombatIndex();
while i == GetLastSavedCombatIndex() do
sleep(1);
end;
if not IsHeroAlive(hero) then
SetObjectEnabled("garrison_name", nil);
Trigger(4, "garrison_name", "capture_gar");
return
end;
for i = 1, 7 do
if a[i*2] then
AddObjectCreatures("garrison_name", a[i*2-1], a[i*2]);
end;
end;
DenyGarrisonCreaturesTakeAway("garrison_name", 1);
end;
and another question:
I made a mistake when creating the map; I chose single scenario instead of multiplayer arena.
Is there any way to fix this?
garrisons={'G1', 'G2', 'G3', 'G4', 'G5', 'G6', 'G7', 'G8', 'G9'}
for j, gar in garrisons do
Trigger(5, gar, 'capture_gar')
garrisons[gar] = {}
for i = 0, 6 do
local t, n = GetObjectArmySlotCreature(gar, i)
garrisons[gar]= {t, n}
end
end
function capture_gar(oldowner, newowner, hero, gar)
for i = 0, 6 do
if gar_army[gar][1] ~= 0 then
AddObjectCreatures(gar, gar_army[gar][1], gar_army[gar][2]*2)
end
end
DenyGarrisonCreaturesTakeAway(gar, 1)
Trigger(5, gar, nil)
end
SetObjectEnabled("garrison_name", nil);
Trigger(4, "garrison_name", "capture_gar");
function capture_gar(hero)
local a = {};
a[1], a[3], a[5], a[7], a[9], a[11], a[13] = GetObjectCreaturesTypes("garrison_name");
for i = 1, 7 do
if a[i*2-1] ~= 0 then
a[i*2] = 2 * GetObjectCreatures("garrison_name", a[i*2-1]);
end;
end;
SetObjectEnabled("garrison_name", 1);
Trigger(4, "garrison_name", nil);
MakeHeroInteractWithObject(hero, "garrison_name");
local i = GetLastSavedCombatIndex();
while i == GetLastSavedCombatIndex() do
sleep(1);
end;
if not IsHeroAlive(hero) then
SetObjectEnabled("garrison_name", nil);
Trigger(4, "garrison_name", "capture_gar");
return
end;
for i = 1, 7 do
if a[i*2] then
AddObjectCreatures("garrison_name", a[i*2-1], a[i*2]);
end;
end;
DenyGarrisonCreaturesTakeAway("garrison_name", 1);
end;but it only works for one garrison.