как можно проверить скриптом - количество погибших в бою с конкретным героем существ и вывести в переменную?
Whatever
Впервые здесь? Я Роха — провести быструю экскурсию?
как можно проверить скриптом - количество погибших в бою с конкретным героем существ и вывести в переменную?
Кто может предложить вариант определения скриптами, через какой режим игра запущена: мультиплеер или синглплеер?
function IsMultiplayer()
local p=0
for i=1,8 do
if IsAIPlayer(i) == 0 then
p=p+1
end
if p > 1 then
return 1
end
end
for i,hero in GetObjectNamesByType('HERO') do
if IsAIPlayer(GetObjectOwner(GetHeroTown(hero) or hero)) == 1 then
SetHeroCombatScript(hero, '/mult.xdb#xpointer(/Script)')
sleep()
local ind = GetLastSavedCombatIndex()
StartCombat(hero,nil,1,1,1)
repeat sleep() until ind ~= GetLastSavedCombatIndex()
ResetHeroCombatScript(hero)
if GetGameVar('single') ~= '1' then return 1 end
break
end
end
return nil
end
/mult.xdb содержит ссылку на файл /mult.lua. Оба находятся в корневом каталоге, без промежуточных папок.SetGameVar('single', '1')ладно, спасибо, посмотрю.
Добавлено через 1 час 24 минуты
и еще вопросик: А можно ли изменять прогресс задания, не пользуясь большим количеством прогресс-текстов?
Например, я хочу сделать 15-ти ходовое задание. Но при этом будет достаточно, если в его прогрессе просто будет показано число, меняющееся от 0 до 15 соотвественно. Неужели, мне обязательно создать 15 отдельных txt файлов внутри prоgressа, с наименованием соотв числа? Можно-ли обойтись одним прогрессом с <изменяющейся переменной> ?
Существует ли возможность скриптами закрывать часть карты от игрока?
Существует ли возможность двойной отстройки города за ход? Т.е. существует ли разблокировка города?
Можно ли как-то отследить прикосновение героя с караваном?
Скорее всего нет. Во всяком случае, я о такой возможности не знаю.
кстати, как сделать так, чтоб несколько fly sign сразу не наплывало друг на друга?
Trigger( COMBAT_RESULTS_TRIGGER, "combat_results" );
combat_result_last = -1;
c = 1
i = 0
function combat_results( c )
local we = -1
if GetSavedCombatArmyPlayer(c,1) == PLAYER_1 then
we = 1
if we == 1 then
if GetSavedCombatArmyHero(c,we) == 'Berein' then
local stackscount = GetSavedCombatArmyCreaturesCount(c,0);
creature,creaturescount,died = GetSavedCombatArmyCreatureInfo(c,0,i);
AddHeroCreatures('Berein' , 29 , died)
end;
end;
end
if GetSavedCombatArmyPlayer(c,0) == PLAYER_1 then
we = 0
end;
combat_result_last = c;
end;
--------