Сообщения от Скрипты
как можно проверить скриптом - количество погибших в бою с конкретным героем существ и вывести в переменную?
Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты
Кампания: Империя Единорога
Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
Добавлено через 1 час 24 минуты
и еще вопросик: А можно ли изменять прогресс задания, не пользуясь большим количеством прогресс-текстов?
Например, я хочу сделать 15-ти ходовое задание. Но при этом будет достаточно, если в его прогрессе просто будет показано число, меняющееся от 0 до 15 соотвественно. Неужели, мне обязательно создать 15 отдельных txt файлов внутри prоgressа, с наименованием соотв числа? Можно-ли обойтись одним прогрессом с <изменяющейся переменной> ?
__________________________________
nginx/0.8.54
"Записок собрано" < value=zapiski > , это не поможет, ведь я вызываю после эту запись не через flying sign, а через SetObjectiveProgress...А там не куда вставить волшебную строчку {zapiski=zapiski} . Знаю, что пишу запутано, но как могу =)
Кто может предложить вариант определения скриптами, через какой режим игра запущена: мультиплеер или синглплеер?
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 минуты
ладно, спасибо, посмотрю.
Добавлено через 1 час 24 минуты
и еще вопросик: А можно ли изменять прогресс задания, не пользуясь большим количеством прогресс-текстов?
Например, я хочу сделать 15-ти ходовое задание. Но при этом будет достаточно, если в его прогрессе просто будет показано число, меняющееся от 0 до 15 соотвественно. Неужели, мне обязательно создать 15 отдельных txt файлов внутри prоgressа, с наименованием соотв числа? Можно-ли обойтись одним прогрессом с <изменяющейся переменной> ?
Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты
Кампания: Империя Единорога
Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
А теперь вопрос на засыпку:
Существует ли возможность скриптами закрывать часть карты от игрока?
И второй вопрос:
Существует ли возможность двойной отстройки города за ход? Т.е. существует ли разблокировка города?
И третий вопрос:
Можно ли как-то отследить прикосновение героя с караваном?
Существует ли возможность скриптами закрывать часть карты от игрока?
Существует ли возможность двойной отстройки города за ход? Т.е. существует ли разблокировка города?
Можно ли как-то отследить прикосновение героя с караваном?
Скорее всего нет. Во всяком случае, я о такой возможности не знаю.
Блин, печально. Неужели никак нельзя воздействовать на задание скриптами? Может быть, хотя бы на его описание или название? Я где-то видел, что можно изменять описание героя, хотя, с моим знанием английского, могу предположить, что неправильно перевел.
Я вообще думал, что это не сложно...Жаль. Ладно, пойду делать 100 прогрессов. =)
кстати, как сделать так, чтоб несколько fly sign сразу не наплывало друг на друга?
Добавлено через 6 минут
[/U]насчет разработчиков - сейчас погляжу. Вчера по совету RedHeavenHero я нашел там отличный скрипт на определение кол погибших существ. Скорее всего, эта функция все-таки влияет на задание, т.к там было несколько переменных, типа assasins_dead, которые затем нигде больше не всплывали. Есть подозрение, что "всплывали" они уже не в скрипте, а в описании прогресса задания. В любом случае, спасибо за совет.
Добавлено через 33 минуты
нет, нигде не нашел обновления прогресса, увы. Даже в задании на 1000 голов =)
кстати, как сделать так, чтоб несколько fly sign сразу не наплывало друг на друга?
Поставить паузы между ними.
__________________________________
nginx/0.8.54
Добавлено через 15 минут
вот, еще возник вопрос:
я хочу обнулить ману герою. пишу так:
ChangeHeroStat ('Berein' , 8 , GetHeroStat ('Berein' , 8) - 1000)
1)
ChangeHeroStat ('Berein' , 8 , 0) -- не работает
2) а как убрать у героя 10 маны?
ChangeHeroStat ('Berein' , 8 , GetHeroStat ('Berein' , 8) - 10) -- не работает
ChangeHeroStat('Berein', 8, -GetHeroStat('Berein', 8)) -- вся
ChangeHeroStat('Berein', 8, -10) -- десять
Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты
Кампания: Империя Единорога
Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
Кстати, я тут немного переделал кампайную функцию по пересчету количества погибших врагов. Но она теперь работает странно. Не подскажите, что не так?
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;
--------