Перейти к содержанию

Сообщения от Скрипты

С постерами самая красивая реализация и лучше всего воспринимается. К сожалению, никто не откликнулся на мою просьбу помочь на 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;
Всё прекрасно работает, только вот навык не дают. Почему?
502 Bad Gateway
__________________________________
nginx/0.8.54
В ответ пользователю Warrior777
Аватар пользователя
Должны выполняться условия взятия навыка обычным способом.
Карты для Героев Меча и Магии 5
Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты
Кампания: Империя Единорога

Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
Аватар пользователя
То есть, должны быть все навыки, необходимые для него? А как нибудь без этого сделать можно?
502 Bad Gateway
__________________________________
nginx/0.8.54
Аватар пользователя
Подскажите, пожалуйста. У меня на карте множество однотипных объектов, в которых с помощью скрипта герой может покупать, существ. Имена объектов: "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;
 Создается карта про эльфов: Воссоединение - готовность 71%
В ответ пользователю Spectral
Аватар пользователя
Spectral
Подскажите, пожалуйста. У меня на карте множество однотипных объектов, в которых с помощью скрипта герой может покупать, существ. Имена объектов: "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;
Вот это надо вставить туда, где определяется n.

for i=1,15 do
if obj_name=="dw"..i then
n=i
end
end


Добавлено через 4 минуты
Warrior777
То есть, должны быть все навыки, необходимые для него? А как нибудь без этого сделать можно?
Выход - "скрипточитерство":
consoleCmd('enable_cheats')
consoleCmd('add_skill 98')
Карты для Героев Меча и Магии 5
Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты
Кампания: Империя Единорога

Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
Аватар пользователя
Мне нужно в команды MessageBox и QuestionBox передать функции с параметром . Скажите, как это сделать?
 Создается карта про эльфов: Воссоединение - готовность 71%
В ответ пользователю Spectral
Аватар пользователя
Spectral
Мне нужно в команды MessageBox и QuestionBox передать функции с параметром . Скажите, как это сделать?
Пример:
MessageBox(textPath.."vopros.txt", "function_ok('"..parametr1.."')");
Моды для HeroesV:
NHF 0.90 : NHF - группа в VK

Карты для HeroesV:
Путешествие , Условие крови , Рука судьбы.Часть 1: В поход , Рука судьбы.Часть 2: Отчаянье , Рука судьбы.Часть 3: Восхождение , Стойкость
Абсолютная власть , Иду на Вы! , Корона Ургаша , На задворках
Мир надо уничтожить... Чтобы создать свой...
Аватар пользователя
Не получается отключить кружки под монстрами
Вот:
SetObjectEnabled("archer1",0)
SetMonsterSelectionType("archer1",0)

Консоль пишет:
ScriptError: Monster "archer1" is not disabled, cant change selection type
 Создается карта про эльфов: Воссоединение - готовность 71%
В ответ пользователю Spectral
Аватар пользователя
Spectral
Не получается отключить кружки под монстрами
Вот:
SetObjectEnabled("archer1",0)
SetMonsterSelectionType("archer1",0)

Консоль пишет:
ScriptError: "archer1" is not disabled
Поставьте между ними sleep(1).
Да и второй аргумент в SetObjectEnabled должен быть nil.
Карты для Героев Меча и Магии 5
Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты
Кампания: Империя Единорога

Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
В ответ пользователю Dyrman
Аватар пользователя
Dyrman
Есть ли скрипт, который выставляет максимальное количество очков передвижения? Обязательно сверх номинала.
Например, стандартное 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 очков каждый день
 Создается карта про эльфов: Воссоединение - готовность 71%
В ответ пользователю Spectral
Аватар пользователя
Spectral
Попробуй вот этот

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 очков каждый день
Это совсем не то(нет обязательного условия превышения допустимого значения МП). Абиссиду из NHF добавляется МП похожим образом, но это очень некрасиво - мы не можем заранее узнать, до куда у нас возможен ход.

Добавлено через 2 часа 33 минуты
Есть ли такая команда, которая очищает одну строчку в консоли?
Моды для HeroesV:
NHF 0.90 : NHF - группа в VK

Карты для HeroesV:
Путешествие , Условие крови , Рука судьбы.Часть 1: В поход , Рука судьбы.Часть 2: Отчаянье , Рука судьбы.Часть 3: Восхождение , Стойкость
Абсолютная власть , Иду на Вы! , Корона Ургаша , На задворках
Мир надо уничтожить... Чтобы создать свой...
В ответ пользователю Dyrman
Аватар пользователя
Dyrman
Есть ли такая команда, которая очищает одну строчку в консоли?
В каком смысле "очищает"? Удаляет предыдущую что ли?
Карты для Героев Меча и Магии 5
Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты
Кампания: Империя Единорога

Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
В ответ пользователю RedHeavenHero
Аватар пользователя
RedHeavenHero
В каком смысле "очищает"? Удаляет предыдущую что ли?
Да.
Чтобы в консоли не отображалась.
Например, в консоли вывелась строчка "Гитлер капут".Я её хочу стереть, не затрагивая строчки До.
Моды для HeroesV:
NHF 0.90 : NHF - группа в VK

Карты для HeroesV:
Путешествие , Условие крови , Рука судьбы.Часть 1: В поход , Рука судьбы.Часть 2: Отчаянье , Рука судьбы.Часть 3: Восхождение , Стойкость
Абсолютная власть , Иду на Вы! , Корона Ургаша , На задворках
Мир надо уничтожить... Чтобы создать свой...
В ответ пользователю Dyrman
Аватар пользователя
Насколько мне известно, это невозможно.
А для чего сие нужно?
Карты для Героев Меча и Магии 5
Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты
Кампания: Империя Единорога

Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4

Статистика

Приветствуем новейшего участника: Emil

Сейчас на сайте 6 пользователей 1346 гостей