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

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

В ответ пользователю Аскет2
Аватар пользователя
Аскет2
Как сделать так, чтобы в определённый день у игрока снималось энное число ресурсов? Заранее спс.
До конца скрипт не знаю,но это делается через New_Day_Trigger. Если такое есть в какой то из кампаний героев повелителей орды,напомните мне. Тогда,может,помогу,если смогу.
...И справедливость я несу
На острие меча.


Кампания "Искупление" - 15%



О кампании

"Искупление" - это мой амбициозный проект. Давняя мечта. С детства играя в героев, я восхищался персонажами и ландшафтами, сюжетом и стилем оригинальной трилогии, я мечтал привнести что-то свое в эту игру,  и наконец, более-менее освоив нелегкий труд картостроителя, взялся за воплощение мечты. Кампания расскажет о будущем выживших рыцарей Кровавой Стали, о пути, который они избрали, и о том, куда этот путь их приведет. К слову, мне нужен тестер-оценщик. Если хочешь принять участие в создании и есть определенный опыт, то - добро пожаловать!



Про опыт помню, а вот про ресы нет.
В ответ пользователю Аскет2
Аватар пользователя
Аскет2
Про опыт помню, а вот про ресы нет.
Я в своей карте тоже хотел сделать скрипт StartCombat,однако он не популярен-нет его ни в кастомных,ни на ниваловских картах... Я просто заменил его. В вашем случае даже не знаю,как заменить...
...И справедливость я несу
На острие меча.


Кампания "Искупление" - 15%



О кампании

"Искупление" - это мой амбициозный проект. Давняя мечта. С детства играя в героев, я восхищался персонажами и ландшафтами, сюжетом и стилем оригинальной трилогии, я мечтал привнести что-то свое в эту игру,  и наконец, более-менее освоив нелегкий труд картостроителя, взялся за воплощение мечты. Кампания расскажет о будущем выживших рыцарей Кровавой Стали, о пути, который они избрали, и о том, куда этот путь их приведет. К слову, мне нужен тестер-оценщик. Если хочешь принять участие в создании и есть определенный опыт, то - добро пожаловать!



Аватар пользователя
Вот, очень много примеров с данным триггером:
https://www.google.ru/search?q=NEW_DAY_TRIGGER+forum.heroesworld.ru&oq=NEW_DAY_TRIGGER+forum.heroesworld.ru&aqs=chrome..69i57.2887j0j4&sourceid=chrome&es_sm=93&ie=UTF-8#q=NEW_DAY_TRIGGER+forum.heroesworld.ru&newwindow=1&filter=0

Вот, чтобы изменить ресурсы:

SetPlayerResource( nPlayerID, nResID, nCount )
Установка текущего количества ресурса nResID в nCount для игрока nPlayerID. На основе данной функции в файле /scripts/advmap-startup.lua реализован примитив более высокого уровня – void SetPlayerStartResource( nPlayerID, nResID, nCount ) который распределяет игроку стартовые ресурсы в зависимости от уровня сложности.

И чтобы узнать текущее количество ресурсов:

GetPlayerResource( nPlayerID, nResID )
Возвращает текущее количество ресурса nResID у игрока nPlayerID. ID ресурсов прописаны в /scripts/advmap-startup.lua и бывают такими:
WOOD = 0
ORE = 1
MERCURY = 2
CRYSTAL = 3
SULFUR = 4
GEM = 5
GOLD = 6

Пример, добавить 10000 золота первому игроку:
SetPlayerResource(1, GOLD, GetPlayerResource(1,GOLD)+10000).
Моды для HeroesV:
NHF 0.90 : NHF - группа в VK

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

SetPlayerResource(1, 0, GetPlayerResource(1,0)+10)
SetPlayerResource(1, 1, GetPlayerResource(1,1)+10)
SetPlayerResource(1, 2, GetPlayerResource(1,2)+5)
SetPlayerResource(1, 3, GetPlayerResource(1,3)+5)
SetPlayerResource(1, 4, GetPlayerResource(1,4)+5)
SetPlayerResource(1, 5, GetPlayerResource(1,5)+5)
SetPlayerResource(1, 6, GetPlayerResource(1,6)+10000)

Добавлено через 34 минуты
inQizitOr
Я в своей карте тоже хотел сделать скрипт StartCombat,однако он не популярен-нет его ни в кастомных,ни на ниваловских картах...
http://forum.heroesworld.net/forum//topic/at/518870/

Пример:
MasteR
StartCombat (hero, nil, 2,CREATURE_THANE, 20,CREATURE_WARLORD, 20, nil);


Добавлено через 19 минут
Для удобства, можно пользоваться такой программой:
http://hmm5.sklabs.ru/

в ней много подсказок и проверка синтаксиса.

Добавлено через 5 часов 7 минут
А для изучения скриптов подойдёт карта:
http://hmm5.sklabs.ru/woe.html
Моды для HeroesV:
NHF 0.90 : NHF - группа в VK

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

Собственно, я буквально сегодня начал освоение скриптов и решил попробовать себя в малом.

Итак, есть два объекта с именами cr1 и cr2. По задумке, при касании первого герой получает 10 единиц серы, второго - 10 самоцветов.

Так вот же вопрос: что тут не так? :/
SetObjectEnabled("cr1", nil);
SetObjectEnabled("cr2", nil);

Trigger(OBJECT_TOUCH_TRIGGER, "cr1", "fn");
Trigger(OBJECT_TOUCH_TRIGGER, "cr2", "fn");

function fn(heroName, objectName)
if (objectName == "cr1") then
do
local sulfur = GetPlayerResource(PLAYER_1, 4);
MessageBox(path.."text1.txt");
SetPlayerResource(PLAYER_1, 4, sulfur + 10);
end else
do
local gem = GetPlayerResource(PLAYER_1, 5);
MessageBox(path.."text1.txt");
SetPlayerResource(PLAYER_1, 5, gem + 10);
end;
end;
end;

И да, я буду крайне благодарен тому, кто разъяснит мне, какие параметры действительно передаются в функцию, связанную с триггером касания:smile20:
Злой пещерный демон:smile24:
В ответ пользователю LordRaia
Аватар пользователя
Переменная path не определена.
Скрипт должен работать, если добавить в начало
path = GetMapDataPath()
Можно ещё убрать 2 лишние пары do-end, но это чисто для красоты.
И да, я буду крайне благодарен тому, кто разъяснит мне, какие параметры действительно передаются в функцию, связанную с триггером касания
Имя прикоснувшегося героя и имя объекта, к которому прикоснулись.
Карты для Героев Меча и Магии 5
Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты
Кампания: Империя Единорога

Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
В ответ пользователю RedHeavenHero
Аватар пользователя
RedHeavenHero
Переменная path не определена.
Скрипт должен работать, если добавить в начало
path = GetMapDataPath()
Можно ещё убрать 2 лишние пары do-end, но это чисто для красоты.

Имя прикоснувшегося героя и имя объекта, к которому прикоснулись.
Спасибо :)

Еще такой вопрос - почему-то встроенная проверялка скриптов ругается на функцию (not defined) и на параметр heroname (тоже not defined).

Что там может быть не определено?(

С do-end я малость запутался: по опыту Паскаля и C привык, что else не является началом блока кода :D
Злой пещерный демон:smile24:
Аватар пользователя
Эта проверялка та ещё. Она ничего толком не проверяет, а только делает вид. Лучше о её существовании забыть.
Карты для Героев Меча и Магии 5
Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты
Кампания: Империя Единорога

Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
Нужен скрипт, который засчитывает победу первому игроку, если герой сбежит от определённого вражеского героя после нескольких ходов.

Добавлено через 31 секунду
Имеется ввиду в бою.

Добавлено 04.08.2015 10:39


Тут есть кто?

Добавлено 08.08.2015 08:43


Мне кто-нибудь поможет?
В ответ пользователю Аскет2
Аватар пользователя
Аскет2
Мне кто-нибудь поможет?

Думаю, выражу общее мнение, сказав, чтоб все ответы ты сам искал. Хватит уже дергать других с банальными вопросами, ответы на которые самому за 10 минут найти можно, особенно с учетом того, что уже писали. Как будто другим больше заняться нечем, как писать весь скрипт за кого-то другого.
Кампании для Heroes V 3.1 (Трилогия):

Пробуждение зла
Нашествие из Преисподней
Смена эпох

Скачать все кампании одним архивом: Яндекс.Диск Google.Диск

You can download the set of 3 Campaigns (English version) here


Одиночные сценарии Heroes V 3.1:


Незваные гости
Красный кристалл
Синий кристалл
Закат тьмы

Мультиплеерные карты для Heroes V 3.1:

Легендарная война
Сердце вулкана
Передел мира
Аватар пользователя
Здраствуйте,великие владыки древнего языка lua. У меня тут возникли некоторые трудности с перестройкой города... Вобщем по тригеру все работает как нужно,но хотелось бы хоть немного анимировать перестройку).Вобщем в чем суть моего вопроса: что нужно добавить в этот тригер.

function transform ()
SetObjectiveState ( "obj3",OBJECTIVE_COMPLETED);
sleep (5);
TransformTown ( "necr1", TOWN_HAVEN );
Trigger ( OBJECT_TOUCH_TRIGGER, "lightwather", "transform", nil);
end;
Trigger ( OBJECT_TOUCH_TRIGGER, "lightwather", "transform" );

Чтобы между выполнением задания и перестройкой города над городом проигрывался визуальный эфект заклинания "святое слово"?.Помогите пожалуста если не трудно).Буду очень благодарен).
Аватар пользователя
SetObjectiveState ( "obj3",OBJECTIVE_COMPLETED);
PlayVisualEffect('/Effects/_(Effect)/HolyWord.xdb#xpointer(/Effect)', 'necr1', '', X, Y, Z, 0, 0);
sleep (5);
Вместо X, Y, Z надо подобрать сдвиг на ваш вкус, Z можно сразу ставить где-нибудь 5-6. И sleep вероятно придется увеличить в несколько раз, там довольно длинная анимация.
В ответ пользователю Jack_of_shadows
Аватар пользователя
Jack_of_shadows
SetObjectiveState ( "obj3",OBJECTIVE_COMPLETED);
PlayVisualEffect('/Effects/_(Effect)/HolyWord.xdb#xpointer(/Effect)', 'necr1', '', X, Y, Z, 0, 0);
sleep (5);
Вместо X, Y, Z надо подобрать сдвиг на ваш вкус, Z можно сразу ставить где-нибудь 5-6. И sleep вероятно придется увеличить в несколько раз, там довольно длинная анимация.

Спасибо огромное.

А можно еще вопросик?

Наотрез отказывается работать функция MessageBox.

function Question ()
MessageBox("Maps\Multiplayer\Vostok\Question.txt");
Trigger(REGION_ENTER_AND_STOP_TRIGGER,"reg_1","Question",nil);
end;
Trigger(REGION_ENTER_AND_STOP_TRIGGER,"reg_1","Question");

Регион указан верно,при входе в него герой останавливается,но сообщение не выдается.Путь к текстовому файлу тоже вроде как указан верно,покрайней мере в корне карты лежит этот файл в кодировке Юникод,неподскажите в чем может быть проблема?

Добавлено через 1 час 18 минут
Ой,извиняюсь,разобрался).Слэшы не в ту сторону напечатал... Теперь другая проблема: почитав форум написал вод такой скрипт...

Function Question ()
QuestionBox("путь к файлу","yes");
end;
Trigger(6,"reg1","Question");

function yes ()
local gold = GetPlayerResourse(1,6);
if gold >=3000 then
SetPlayerResourse(1,6,GetPlayerResourse(1,6)-3000)
SetObjectOwer("gar1",PLAYER_1)
else
MoveHeroRealTime("Diraya",75,25,0)
end;
end;

Подскажите пожалуста мне чайнику,как обнулить тригер?.Куда нужно Trigger(6,"reg1","Question",nil); вставить?.

P.S извините за несоблюдение всех пробелов в скрипте,просто пишу с телефона,глядя на монитор,нет возможности просто скопировать и вставить текст(

Статистика

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

Сейчас на сайте 8 пользователей 1289 гостей