Скрипты - Страница 136 - Форум HeroesWorld-а

Быстрая навигация по основным разделам форума:
Турниры
КАРТЫ
Heroes 6
Heroes 5
Heroes 4
Heroes 3
Heroes 2
Heroes 1
Might&Magic

Герои Меча и Магии 5 - Картостроительство (Редактор карт) В этом разделе можно обсуждать все что касается редактора карт для Heroes of Might and Magic V. Так же здесь обсуждаем картостроительство.

Ответ
Страница 136 из 260
 
Опции темы
#2026
Старый 13.07.2015, 18:01
  #2026
^
inQizitOr
 
Аватар для inQizitOr
📖
Регистрация: 09.06.2014
Адрес: Украина
Сообщения: 149
SuGoMa#1621
Регистрация: 09.06.2014
Адрес: Украина
Сообщения: 149
SuGoMa#1621
По умолчанию
Re: Скрипты

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



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




О кампании


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



...И справедливость я несу
На острие меча.



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




О кампании


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



inQizitOr вне форума
Ответить с цитированием
#2027
Старый 13.07.2015, 22:03
  #2027
^
Аскет2
📖
Регистрация: 06.06.2015
Сообщения: 74
Регистрация: 06.06.2015
Сообщения: 74
По умолчанию
Re: Скрипты

Про опыт помню, а вот про ресы нет.
Аскет2 вне форума
Ответить с цитированием
#2028
Старый 14.07.2015, 10:33
  #2028
^
inQizitOr
 
Аватар для inQizitOr
📖
Регистрация: 09.06.2014
Адрес: Украина
Сообщения: 149
SuGoMa#1621
Регистрация: 09.06.2014
Адрес: Украина
Сообщения: 149
SuGoMa#1621
По умолчанию
Re: Скрипты

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



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




О кампании


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



...И справедливость я несу
На острие меча.



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




О кампании


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



inQizitOr вне форума
Ответить с цитированием
#2029
Старый 14.07.2015, 11:18
  #2029
^
Dyrman
 
Аватар для Dyrman
📖
Регистрация: 24.06.2008
Адрес: Там, где неба кончается край
Сообщения: 3479
Отправить сообщение для  Dyrman с помощью ICQ
Регистрация: 24.06.2008
Адрес: Там, где неба кончается край
Сообщения: 3479
Отправить сообщение для  Dyrman с помощью ICQ
По умолчанию
Re: Скрипты

Вот, очень много примеров с данным триггером:
https://www.google.ru/search?q=NEW_D...dow=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).
Dyrman вне форума
Ответить с цитированием
#2030
Старый 14.07.2015, 12:09
  #2030
^
Аскет2
📖
Регистрация: 06.06.2015
Сообщения: 74
Регистрация: 06.06.2015
Сообщения: 74
По умолчанию
Re: Скрипты

Мне нужны все ресы, полностью писать их имена долго.
Аскет2 вне форума
Ответить с цитированием
#2031
Старый 14.07.2015, 18:15
  #2031
^
Dyrman
 
Аватар для Dyrman
📖
Регистрация: 24.06.2008
Адрес: Там, где неба кончается край
Сообщения: 3479
Отправить сообщение для  Dyrman с помощью ICQ
Регистрация: 24.06.2008
Адрес: Там, где неба кончается край
Сообщения: 3479
Отправить сообщение для  Dyrman с помощью ICQ
По умолчанию
Re: Скрипты

Аскет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/s...&postcount=236


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


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

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

Добавлено через 5 часов 7 минут
А для изучения скриптов подойдёт карта:
http://hmm5.sklabs.ru/woe.html
Dyrman вне форума
Ответить с цитированием
#2032
Старый 23.07.2015, 00:34
  #2032
^
LordRaia
 
Аватар для LordRaia
📖
Регистрация: 10.11.2012
Сообщения: 21
Регистрация: 10.11.2012
Сообщения: 21
По умолчанию
Re: Скрипты

Привет-привет знающим товарищам из этого топика

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

Итак, есть два объекта с именами 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;

И да, я буду крайне благодарен тому, кто разъяснит мне, какие параметры действительно передаются в функцию, связанную с триггером касания
__________________
Злой пещерный демон
Злой пещерный демон
LordRaia вне форума
Ответить с цитированием
#2033
Старый 23.07.2015, 01:54
  #2033
^
RedHeavenHero
 
Аватар для RedHeavenHero
📖
Регистрация: 10.02.2012
Сообщения: 2378
Выставка наград
Регистрация: 10.02.2012
Сообщения: 2378
Выставка наград
По умолчанию
Re: Скрипты

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

Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
Карты для Героев Меча и Магии 5
Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты
Кампания: Империя Единорога

Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
RedHeavenHero вне форума
Ответить с цитированием
#2034
Старый 23.07.2015, 17:15
  #2034
^
LordRaia
 
Аватар для LordRaia
📖
Регистрация: 10.11.2012
Сообщения: 21
Регистрация: 10.11.2012
Сообщения: 21
По умолчанию
Re: Скрипты

RedHeavenHeroПеременная path не определена.
Скрипт должен работать, если добавить в начало
	path = GetMapDataPath()
Можно ещё убрать 2 лишние пары do-end, но это чисто для красоты.

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

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

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

С do-end я малость запутался: по опыту Паскаля и C привык, что else не является началом блока кода
__________________
Злой пещерный демон
Злой пещерный демон
LordRaia вне форума
Ответить с цитированием
#2035
Старый 23.07.2015, 17:20
  #2035
^
RedHeavenHero
 
Аватар для RedHeavenHero
📖
Регистрация: 10.02.2012
Сообщения: 2378
Выставка наград
Регистрация: 10.02.2012
Сообщения: 2378
Выставка наград
По умолчанию
Re: Скрипты

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

Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
Карты для Героев Меча и Магии 5
Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты
Кампания: Империя Единорога

Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
RedHeavenHero вне форума
Ответить с цитированием
#2036
Старый 08.08.2015, 09:43
  #2036
^
Аскет2
📖
Регистрация: 06.06.2015
Сообщения: 74
Регистрация: 06.06.2015
Сообщения: 74
Нужен скрипт, который засчитывает победу первому игроку, если герой сбежит от определённого вражеского героя после нескольких ходов.

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

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


Тут есть кто?

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


Мне кто-нибудь поможет?
Аскет2 вне форума
Ответить с цитированием
#2037
Старый 08.08.2015, 12:28
  #2037
^
MasteR
 
Аватар для MasteR
📖
Регистрация: 24.01.2013
Сообщения: 3351
Выставка наград
Регистрация: 24.01.2013
Сообщения: 3351
Выставка наград
По умолчанию
Re: Скрипты

Аскет2Мне кто-нибудь поможет?

Думаю, выражу общее мнение, сказав, чтоб все ответы ты сам искал. Хватит уже дергать других с банальными вопросами, ответы на которые самому за 10 минут найти можно, особенно с учетом того, что уже писали. Как будто другим больше заняться нечем, как писать весь скрипт за кого-то другого.
MasteR вне форума
Ответить с цитированием
#2038
Старый 08.09.2015, 20:56
  #2038
^
Рыцарь Бездны
 
Аватар для Рыцарь Бездны
📖
Регистрация: 24.07.2012
Сообщения: 88
Регистрация: 24.07.2012
Сообщения: 88
По умолчанию
Re: Скрипты

Здраствуйте,великие владыки древнего языка 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" );

Чтобы между выполнением задания и перестройкой города над городом проигрывался визуальный эфект заклинания "святое слово"?.Помогите пожалуста если не трудно).Буду очень благодарен).
Рыцарь Бездны вне форума
Ответить с цитированием
#2039
Старый 08.09.2015, 21:35
  #2039
^
Jack_of_shadows
 
Аватар для Jack_of_shadows
📖
Регистрация: 08.09.2013
Сообщения: 509
Выставка наград
Регистрация: 08.09.2013
Сообщения: 509
Выставка наград
По умолчанию
Re: Скрипты

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 вне форума
Ответить с цитированием
#2040
Старый 11.09.2015, 14:14
  #2040
^
Рыцарь Бездны
 
Аватар для Рыцарь Бездны
📖
Регистрация: 24.07.2012
Сообщения: 88
Регистрация: 24.07.2012
Сообщения: 88
По умолчанию
Re: Скрипты

Jack_of_shadowsSetObjectiveState ( "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 извините за несоблюдение всех пробелов в скрипте,просто пишу с телефона,глядя на монитор,нет возможности просто скопировать и вставить текст(
Рыцарь Бездны вне форума
Ответить с цитированием
Ответ
Страница 136 из 260


Опции темы



Часовой пояс GMT +4, время: 16:16.


vBulletin v3.5.0, Copyright ©2000-2024, Jelsoft Enterprises Ltd. (Русский)

Яндекс цитирование    Top.Mail.Ru