Сообщения от Текущие вопросы и ответы по редактору карт
Загружает другую карту. Как я понимаю, надо указать нужный map.xdb(или прописать его где-то, а потом указать его номер)
По-видимому, работает только на 3.1 в сингле, но у разрабов применения ее не находил.
WarpToMap(GetMapDataPath().."map.xdb#xpointer(/AdvMapDesc)", 1)И в главном меню пишут, что не удалось загрузить карту и т.д.
Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты
Кампания: Империя Единорога
Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
Trigger(REGION_ENTER_AND_STOP_TRIGGER , 'trigger name' , 'function name')
function function name ()
--вот сейчас сработала проверка, когда любой герой зашел в регион. Что хотите, то здесь пишите. если нужно выполнить задание:
SetObjectiveState ('objname' , OBJECTIVE_COMPLETED)
Trigger(REGION_ENTER_AND_STOP_TRIGGER , 'trigger name' , nil)
endТеперь, данная ф-ия будет реагировать на любое соприкосновение с этим регионом. Единственное, возможно, сюда может заглянуть и компьютер, и тогда ф-ия сработает на него. Если сделать так:
Trigger(REGION_ENTER_AND_STOP_TRIGGER , 'trigger name' , 'function name')
function function name ()
if GetCurrentPlayer() == 1 then
--вот сейчас сработала проверка, когда любой герой первого игрока зашел в регион. Что хотите, то здесь пишите. если нужно выполнить задание:
SetObjectiveState ('objname' , OBJECTIVE_COMPLETED)
Trigger(REGION_ENTER_AND_STOP_TRIGGER , 'trigger name' , nil)
end
endТо ф-ия будет работать на любого героя первого игрока - по умолчанию человека.
function proverka()
while 1 do
sleep(1)
if GetHeroCreatures ('heroname' , creature_id) < 1 then
--что случается, если кол существ в армии героя меньше 1-го
break -- если нужно отключить затем проверку
end
end
end
startThread(proverka)
Какие файлы за что отвечают?
sleep(1) -- небольшое засыпание для проверки, если его убрать - проверка будет без перерыва и игра упадет. А так есть неееебольшой, незаметный для игрока перерыв между проверками.
if -- аргумент для проверки. Т.е - while в данном случае запускает проверку, sleep позволяет не нагружать игру, сам он игнорируется, а проверяется только то, что написано в if и далее.
startThread(funcname) -- запускает эту проверку-функцию прямо с начала игры. Можно прописать его в любое необходимо вам время. Проверка на if начнется незамедлительно, с интервалом в sleep(1) и будет длиться до break.
function funcname ()
while 1 do
sleep(1)
if
--что вам нужно вечно проверять
break -- после него весь цикл перестает работать. Просто прекращается, дабы не нагружать игру.
end
end
end
startThread(funcname)Вот код для проверки чего-либо. В if и далее пишете то, что вам нужно проверять. В скобках startThread - указание (без кавычек) на ф-ию, которую нужно запустить -- funcname.
Как-то так. ;)