С постерами самая красивая реализация и лучше всего воспринимается. К сожалению, никто не откликнулся на мою просьбу помочь на heroesleague, хотя в РТА играют многие :( придется самому заниматься
Сообщения от Скрипты
Да уж... Мою карту забросали ошибками и непонятками:D
Вот скрипт:
Вот скрипт:
function VisitDeviltavern (heroname)
if heroname == 'Biara' then
if visiter_deviltavern == 0 then
BlockGame ();
GiveHeroSkill ('Biara', 98);
visiter_deviltavern = 1;
SetObjectiveState ('saobj', OBJECTIVE_COMPLETED, 1);
GiveExp ('Biara', 12000);
sleep (30);
UnblockGame ();
else MessageBox (map_path..'deviltavern-visited.txt');
end;
else MessageBox (map_path..'deviltavern-visiternobiara.txt');
end;
end;Всё прекрасно работает, только вот навык не дают. Почему?
Должны выполняться условия взятия навыка обычным способом.
То есть, должны быть все навыки, необходимые для него? А как нибудь без этого сделать можно?
Подскажите, пожалуйста. У меня на карте множество однотипных объектов, в которых с помощью скрипта герой может покупать, существ. Имена объектов: "dw1","dw2","dw3" и т. д. Можно ли навесить на них один и тот же триггер, чтобы функция в качестве параметра выдавала номер объекта, в который герой зашел в виде числа. Тогда можно будет тип , кол-во и стоимость существ для каждого объекта задать массивом.
for i=1,15 do
Trigger(OBJECT_TOUCH_TRIGGER,"dw"..i,"dwellingF")
end;
cr_count={10,30,20.....20}
cr_type={92,94,96.....105}
cr_cost={20,40,80.....1000}
function dwellingF(hero, obj_name)
n=<как здесь получить номер объекта?>
AddHeroCreatures(hero,cr_type[n],cr_count[n])
SetPlayerResource(1,GOLD,GetPlayerResource(1,GOLD)-cr_count[n]*cr_cost[n]);
end;
Подскажите, пожалуйста. У меня на карте множество однотипных объектов, в которых с помощью скрипта герой может покупать, существ. Имена объектов: "dw1","dw2","dw3" и т. д. Можно ли навесить на них один и тот же триггер, чтобы функция в качестве параметра выдавала номер объекта, в который герой зашел в виде числа. Тогда можно будет тип , кол-во и стоимость существ для каждого объекта задать массивом.for i=1,15 do
Trigger(OBJECT_TOUCH_TRIGGER,"dw"..i,"dwellingF")
end;
cr_count={10,30,20.....20}
cr_type={92,94,96.....105}
cr_cost={20,40,80.....1000}
function dwellingF(hero, obj_name)
n=<как здесь получить номер объекта?>
AddHeroCreatures(hero,cr_type[n],cr_count[n])
SetPlayerResource(1,GOLD,GetPlayerResource(1,GOLD)-cr_count[n]*cr_cost[n]);
end;
for i=1,15 do
if obj_name=="dw"..i then
n=i
end
end
Добавлено через 4 минуты
То есть, должны быть все навыки, необходимые для него? А как нибудь без этого сделать можно?
consoleCmd('enable_cheats')
consoleCmd('add_skill 98')
Мне нужно в команды MessageBox и QuestionBox передать функции с параметром . Скажите, как это сделать?
Мне нужно в команды MessageBox и QuestionBox передать функции с параметром . Скажите, как это сделать?
MessageBox(textPath.."vopros.txt", "function_ok('"..parametr1.."')");
Не получается отключить кружки под монстрами
Вот:
SetObjectEnabled("archer1",0)
SetMonsterSelectionType("archer1",0)
Консоль пишет:
ScriptError: Monster "archer1" is not disabled, cant change selection type
Вот:
SetObjectEnabled("archer1",0)
SetMonsterSelectionType("archer1",0)
Консоль пишет:
ScriptError: Monster "archer1" is not disabled, cant change selection type
Не получается отключить кружки под монстрами
Вот:
SetObjectEnabled("archer1",0)
SetMonsterSelectionType("archer1",0)
Консоль пишет:
ScriptError: "archer1" is not disabled
Да и второй аргумент в SetObjectEnabled должен быть nil.
Есть ли скрипт, который выставляет максимальное количество очков передвижения? Обязательно сверх номинала.
Например, стандартное 2500 стало бы 5000, но не заполнилось сразу зелёной полоской, то есть как бы сходил уже на пол хода, хотя, на самом деле, больше оков передвижения и не имел.
Попробуй вот этот
function movenext()
while GetHeroStat("Ossir",STAT_MOVE_POINTS)>1000 do
sleep(7)
end
print( 'movepoints<1000')
ChangeHeroStat("Ossir",STAT_MOVE_POINTS,1500)
end
function add_move_points()
startThread(movenext)
end
Trigger(NEW_DAY_TRIGGER,"add_move_points");
Добавляет 1500 очков каждый день
Попробуй вот этотДобавляет 1500 очков каждый день
function movenext()
while GetHeroStat("Ossir",STAT_MOVE_POINTS)>1000 do
sleep(7)
end
print( 'movepoints<1000')
ChangeHeroStat("Ossir",STAT_MOVE_POINTS,1500)
end
function add_move_points()
startThread(movenext)
end
Trigger(NEW_DAY_TRIGGER,"add_move_points");
Добавлено через 2 часа 33 минуты
Есть ли такая команда, которая очищает одну строчку в консоли?
Есть ли такая команда, которая очищает одну строчку в консоли?
В каком смысле "очищает"? Удаляет предыдущую что ли?
Чтобы в консоли не отображалась.
Например, в консоли вывелась строчка "Гитлер капут".Я её хочу стереть, не затрагивая строчки До.
Насколько мне известно, это невозможно.
А для чего сие нужно?
А для чего сие нужно?
Статистика
Приветствуем новейшего участника:
recijeb