DyrmanКто может предложить вариант определения скриптами, через какой режим игра запущена: мультиплеер или синглплеер?
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. Оба находятся в корневом каталоге, без промежуточных папок.
Содержание /mult.lua:
SetGameVar('single', '1')
Добавлено через 23 минуты
Heroistладно, спасибо, посмотрю.
Добавлено через 1 час 24 минуты
и еще вопросик: А можно ли изменять прогресс задания, не пользуясь большим количеством прогресс-текстов?
Например, я хочу сделать 15-ти ходовое задание. Но при этом будет достаточно, если в его прогрессе просто будет показано число, меняющееся от 0 до 15 соотвественно. Неужели, мне обязательно создать 15 отдельных txt файлов внутри prоgressа, с наименованием соотв числа? Можно-ли обойтись одним прогрессом с <изменяющейся переменной> ?
Скорее всего нет. Во всяком случае, я о такой возможности не знаю.