Сообщения от Скрипты
Спасибо всем
почему этот скрипт
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 выдает эту ошибку :
invalid parameter type: object name must be string
Создайте новый массив под GetObjectArmySlotCreature, не надо пихать всё в один, да ещё и иначе организованный.
извините но не разбираюсь в программировании и естественно не фига не понял
не могли бы вы помочь мне ?
garrison_names={'G1', 'G2', 'G3', 'G4', 'G5', 'G6', 'G7', 'G8', 'G9'}
garrisons={}
for j, gar in garrison_names 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Добавлено через 10 минут
Создайте новый массив под GetObjectArmySlotCreature, не надо пихать всё в один, да ещё и иначе организованный.
Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты
Кампания: Империя Единорога
Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
извините но не разбираюсь в программировании и естественно не фига не понял
не могли бы вы помочь мне ?
garrisons={'G1', 'G2', 'G3', 'G4', 'G5', 'G6', 'G7', 'G8', 'G9'}
garrisons_army={}
for j, gar in garrisons do
Trigger(5, gar, 'capture_gar')
for i = 0, 6 do
local t, n = GetObjectArmySlotCreature(gar, i)
garrisons_army[gar]= {t, n}
end
end
function capture_gar(oldowner, newowner, hero, gar)
for i = 0, 6 do
if garrisons_army[gar][1] ~= 0 then
AddObjectCreatures(gar, garrisons_army[gar][1], garrisons_army[gar][2]*2)
end
end
DenyGarrisonCreaturesTakeAway(gar, 1)
Trigger(5, gar, nil)
endЕсли честно, не факт, что заработает, просто не уверен, что переменная правильно проинициализируется, как трёхмерный массив. И да, возможно, просто стоит делать способом пусть и менее красивым, но более формальным, который точно сработает, для этого надо постараться не делать трёхмерных массивов, да и двумерные нежелательны. Но это, если не сможем сделать рабочий вариант "красивого" варианта.
Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты
Кампания: Империя Единорога
Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
но на второй раз не удваивается войска в гарнизоне а ставит столько же
надо что бы каждый раз при зачистке гарнизона войска удваивались
garrison_names={'G1', 'G2', 'G3', 'G4', 'G5', 'G6', 'G7', 'G8', 'G9'}
garrisons={}
for j, gar in garrison_names 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
garrisons[gar][2] = garrisons[gar][2] * 2
AddObjectCreatures(gar, garrisons[gar][1], garrisons[gar][2])
end
end
DenyGarrisonCreaturesTakeAway(gar, 1)
Trigger(5, gar, nil)
endНо геометрическая прогрессия - опасная вещь :smile51:
Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты
Кампания: Империя Единорога
Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
но я решил компенсировать это силой монстров
геометрическая тоже пойдет
буду тестировать
Я создал нормальный такой talkbox. Прописал там все, что надо. Затем создал функцию, все работает. Однако, возник вопрос:
Как быть, если мне надо, скажем, чтоб герой, при касании объекта, получал вопрос с вариантами ответа, каждый из которых означал выдачу ему артефакта? Функцию talkboxa придется заносить внутрь touch trigger функции (heroname) с прописанием %heroname, или можно оставить её отдельно, но тогда скрипт просто не понимает, кому ему давать артефакт. Как быть?