Перейти к содержанию

Сообщения от Скрипты

Аватар пользователя
Автопереведено
function Fight( heroname )
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' );
 

К А
Стикеры GBF в Telegram
Аватар пользователя
скрипт не сработал =(
Аватар пользователя
Автопереведено
Да, признаю свою вину.
function Fight( heroname )
if ((heroname == 'Ish') and (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' );
 

К А
Стикеры GBF в Telegram
Аватар пользователя
герой останавливается в нужной области, но противник не перемещется
В ответ пользователю GodRick
Аватар пользователя
Задаю банальный вопрос, но что пишет консоль?
Карты для Героев Меча и Магии 5
Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты
Кампания: Империя Единорога

Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
Аватар пользователя
(тупой вопрос) какая консоль?
SetObjectEnabled("имя гарнизона", nil);
Trigger(4, "имя гарнизона", "capture_gar");

function capture_gar(hero)
local a = {};
a[1], a[3], a[5], a[7], a[9], a[11], a[13] = GetObjectCreaturesTypes("имя гарнизона");
for i = 1, 7 do
if a[i*2-1] ~= 0 then
a[i*2] = 2 * GetObjectCreatures("имя гарнизона", a[i*2-1]);
end;
end;
SetObjectEnabled("имя гарнизона", 1);
Trigger(4, "имя гарнизона", nil);
MakeHeroInteractWithObject(hero, "имя гарнизона");
local i = GetLastSavedCombatIndex();
while i == GetLastSavedCombatIndex() do
sleep(1);
end;
if not IsHeroAlive(hero) then
SetObjectEnabled("имя гарнизона", nil);
Trigger(4, "имя гарнизона", "capture_gar");
return
end;
for i = 1, 7 do
if a[i*2] then
AddObjectCreatures("имя гарнизона", a[i*2-1], a[i*2]);
end;
end;
DenyGarrisonCreaturesTakeAway("имя гарнизона", 1);
end;


у меня не получается настроить этот скрипт на несколько гарнизонов на карте
пробовал называть все гарнизоны одним именем не получается
пробовал дублировать текст скрипта и вставляя в каждый скрипт своё имя тоже не получается
и ешё вопрос
допустил касяк при создании карты выбрал не мультиплеер арена а сингл сценарий
можно ли как нибудь исправить ?
В ответ пользователю JORAJAN
Аватар пользователя
garrisons={'имя гарнизона 1', 'имя гарнизона 2', 'имя гарнизона 3',} -- и т.д. через запятую
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


Добавлено через 43 минуты
и ешё вопрос
допустил касяк при создании карты выбрал не мультиплеер арена а сингл сценарий
можно ли как нибудь исправить ?
В архиве карты переместить содержимое папки SingleMissions в папку Multiplayer.
Карты для Героев Меча и Магии 5
Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты
Кампания: Империя Единорога

Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
непонял вы показали пример или создали совсем другой скрипт
я на всякий случай попробовал и так и так
не работает где я накосячил ?
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
В ответ пользователю JORAJAN
Аватар пользователя
Это я кое-что перепутал.:o
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 garrisons[gar][1] ~= 0 then
AddObjectCreatures(gar, garrisons[gar][1], garrisons[gar][2]*2)
end
end
DenyGarrisonCreaturesTakeAway(gar, 1)
Trigger(5, gar, nil)
end
Карты для Героев Меча и Магии 5
Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты
Кампания: Империя Единорога

Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
В ответ пользователю JORAJAN
Аватар пользователя
Этот скрипт работает только на версии 3.1. Если у вас не 3.1, тогда нужен другой.
Карты для Героев Меча и Магии 5
Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты
Кампания: Империя Единорога

Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
В ответ пользователю RedHeavenHero
я рисую карту в 3.1
+ дополнения
God's mod v7 + патч EWA
у меня работает этот скрипт
SetObjectEnabled("имя гарнизона", nil);
Trigger(4, "имя гарнизона", "capture_gar");

function capture_gar(hero)
local a = {};
a[1], a[3], a[5], a[7], a[9], a[11], a[13] = GetObjectCreaturesTypes("имя гарнизона");
for i = 1, 7 do
if a[i*2-1] ~= 0 then
a[i*2] = 2 * GetObjectCreatures("имя гарнизона", a[i*2-1]);
end;
end;
SetObjectEnabled("имя гарнизона", 1);
Trigger(4, "имя гарнизона", nil);
MakeHeroInteractWithObject(hero, "имя гарнизона");
local i = GetLastSavedCombatIndex();
while i == GetLastSavedCombatIndex() do
sleep(1);
end;
if not IsHeroAlive(hero) then
SetObjectEnabled("имя гарнизона", nil);
Trigger(4, "имя гарнизона", "capture_gar");
return
end;
for i = 1, 7 do
if a[i*2] then
AddObjectCreatures("имя гарнизона", a[i*2-1], a[i*2]);
end;
end;
DenyGarrisonCreaturesTakeAway("имя гарнизона", 1);
end;
но только на один гарнизон
как переделать его так что бы он работал на 9 ?
В ответ пользователю JORAJAN
Аватар пользователя
Ну если только тот работает...
garrisons={'G1', 'G2', 'G3', 'G4', 'G5', 'G6', 'G7', 'G8', 'G9'}
for i, gar in garrisons do
SetObjectEnabled(gar, nil)
Trigger(4, gar, "capture_gar")
end

function capture_gar(hero, gar)
local a = {}
a[1], a[3], a[5], a[7], a[9], a[11], a[13] = GetObjectCreaturesTypes(gar)
for i = 1, 7 do
if a[i*2-1] ~= 0 then
a[i*2] = 2 * GetObjectCreatures(gar, a[i*2-1])
end
end
SetObjectEnabled(gar, 1)
Trigger(4, gar, nil)
MakeHeroInteractWithObject(hero, gar)
local i = GetLastSavedCombatIndex()
while i == GetLastSavedCombatIndex() do
sleep(1)
end
if not IsHeroAlive(hero) then
SetObjectEnabled(gar, nil)
Trigger(4, gar, "capture_gar")
return
end
for i = 1, 7 do
if a[i*2] then
AddObjectCreatures(gar, a[i*2-1], a[i*2])
end
end
DenyGarrisonCreaturesTakeAway(gar, 1)
end
Карты для Героев Меча и Магии 5
Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты
Кампания: Империя Единорога

Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4

Статистика

Приветствуем новейшего участника: Emil

Сейчас на сайте 9 пользователей 1212 гостей