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

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

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

Ответ
Страница 125 из 260
 
Опции темы
#1861
Старый 11.01.2015, 21:54
  #1861
^
RedHeavenHero
 
Аватар для RedHeavenHero
📖
Регистрация: 10.02.2012
Сообщения: 2378
Выставка наград
Регистрация: 10.02.2012
Сообщения: 2378
Выставка наград
По умолчанию
Re: Скрипты

DyrmanЖалко, что пользовательский редактор скриптов ругается на %.
Потому что он рассчитан на Lua 5, а не Lua 4 (как в Г5), а у них синтаксис несколько отличается. % в пятой версии - это оператор остатка от деления.
__________________
Карты для Героев Меча и Магии 5
Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты
Кампания: Империя Единорога

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

Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
RedHeavenHero вне форума
Ответить с цитированием
#1862
Старый 11.01.2015, 21:55
  #1862
^
Dyrman
 
Аватар для Dyrman
📖
Регистрация: 24.06.2008
Адрес: Там, где неба кончается край
Сообщения: 3479
Отправить сообщение для  Dyrman с помощью ICQ
Регистрация: 24.06.2008
Адрес: Там, где неба кончается край
Сообщения: 3479
Отправить сообщение для  Dyrman с помощью ICQ
По умолчанию
Re: Скрипты

Кстати. При одновременных ходах значение
		while GetLastSavedCombatIndex() == combat_index do
		sleep()
	end
может же измениться?
Если два игрока одновременно проводят бои, например. В результате, герой ещё ведёт бой, а индекс изменился. Он может проиграть, а в результате функция вернёт, что жив.

Поэтому и хотелось бы вызывать функцию только на конец боя.
Dyrman вне форума
Ответить с цитированием
#1863
Старый 11.01.2015, 22:47
  #1863
^
RedHeavenHero
 
Аватар для RedHeavenHero
📖
Регистрация: 10.02.2012
Сообщения: 2378
Выставка наград
Регистрация: 10.02.2012
Сообщения: 2378
Выставка наград
По умолчанию
Re: Скрипты

Можно, наверное, так. Только я не помню точно, что значит второй аргумент в GetSavedCombatArmyHero.
	local wrapStartCombat = StartCombat
function StartCombat(hero, enemy, stacks, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18)
	%wrapStartCombat(hero, enemy, stacks, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18)
	local combat_index = GetLastSavedCombatIndex()
	while 1 do
		if GetLastSavedCombatIndex() ~= combat_index then
			if GetSavedCombatArmyHero(combat_index, 0) ~= hero and GetSavedCombatArmyHero(combat_index, 1) ~= hero then
				combat_index = GetLastSavedCombatIndex()
			else
				break
			end
		end
		sleep()
	end
	local result = IsHeroAlive(hero)
	return result
end
__________________
Карты для Героев Меча и Магии 5
Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты
Кампания: Империя Единорога

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

Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
RedHeavenHero вне форума
Ответить с цитированием
#1864
Старый 11.01.2015, 22:57
  #1864
^
Dyrman
 
Аватар для Dyrman
📖
Регистрация: 24.06.2008
Адрес: Там, где неба кончается край
Сообщения: 3479
Отправить сообщение для  Dyrman с помощью ICQ
Регистрация: 24.06.2008
Адрес: Там, где неба кончается край
Сообщения: 3479
Отправить сообщение для  Dyrman с помощью ICQ
По умолчанию
Re: Скрипты

Ага, похоже на правду.

	StartCombat(hero, nil,4,CREATURE_FIRE_ELEMENTAL,5, CREATURE_WATER_ELEMENTAL,5, CREATURE_EARTH_ELEMENTAL,5, CREATURE_AIR_ELEMENTAL,5,nil,'NHF_Touch_hero_treasury_reward_F("'..hero..'","'..MASS.. '","'..NHF_mass_CYCLOPS_STOCKPILE.variant1.treasury.spell[1]..'")',nil,not nil);

А нельзя ли как-нибудь передать массив MASS? Консоль ругается, что нельзя)
Dyrman вне форума
Ответить с цитированием
#1865
Старый 11.01.2015, 23:07
  #1865
^
RedHeavenHero
 
Аватар для RedHeavenHero
📖
Регистрация: 10.02.2012
Сообщения: 2378
Выставка наград
Регистрация: 10.02.2012
Сообщения: 2378
Выставка наград
По умолчанию
Re: Скрипты

Вручную перевести массив в его строковое представление.

Добавлено через 32 секунды
Способ постом выше работает?

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

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

Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
RedHeavenHero вне форума
Ответить с цитированием
#1866
Старый 11.01.2015, 23:10
  #1866
^
Dyrman
 
Аватар для Dyrman
📖
Регистрация: 24.06.2008
Адрес: Там, где неба кончается край
Сообщения: 3479
Отправить сообщение для  Dyrman с помощью ICQ
Регистрация: 24.06.2008
Адрес: Там, где неба кончается край
Сообщения: 3479
Отправить сообщение для  Dyrman с помощью ICQ
По умолчанию
Re: Скрипты

RedHeavenHeroВручную перевести массив в его строковое представление.

Добавлено через 32 секунды
Способ постом выше работает?

Добавлено через 38 секунд
Просто переводить массивы в строку - операция сложная и медленная.
Верхний вариант в одновременке оттестировать нет возможности.
По лоике, должен пахать.
Dyrman вне форума
Ответить с цитированием
#1867
Старый 12.01.2015, 15:56
  #1867
^
RedHeavenHero
 
Аватар для RedHeavenHero
📖
Регистрация: 10.02.2012
Сообщения: 2378
Выставка наград
Регистрация: 10.02.2012
Сообщения: 2378
Выставка наград
По умолчанию
Re: Скрипты

DyrmanНапомни, плиз, какое преимущество даёт использование % перед переменной?
Ещё можно ставить перед именами глобальных переменных и переданных параметров, чтобы функция использовала переменную как константу (т.е. впоследствии изменение значения переменной не повлияет на работу функции).
А нельзя ли как-нибудь передать массив MASS? Консоль ругается, что нельзя)
Можно же его передать через глобальную переменную.
__________________
Карты для Героев Меча и Магии 5
Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты
Кампания: Империя Единорога

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

Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
RedHeavenHero вне форума
Ответить с цитированием
#1868
Старый 12.01.2015, 16:59
  #1868
^
Dyrman
 
Аватар для Dyrman
📖
Регистрация: 24.06.2008
Адрес: Там, где неба кончается край
Сообщения: 3479
Отправить сообщение для  Dyrman с помощью ICQ
Регистрация: 24.06.2008
Адрес: Там, где неба кончается край
Сообщения: 3479
Отправить сообщение для  Dyrman с помощью ICQ
По умолчанию
Re: Скрипты

RedHeavenHeroЕщё можно ставить перед именами глобальных переменных и переданных параметров, чтобы функция использовала переменную как константу (т.е. впоследствии изменение значения переменной не повлияет на работу функции).

Можно же его передать через глобальную переменную.
Я так и сделал.
Для каждого игрока своя глобалка.
Это ещё нужно для того, чтобы запоминать посещения , наград итп
Пригодится для новых спец.
Хочу сразу сделать инструмент более объёмным, чтобы не напарываться на грабли и не переделывать старые функции.
Dyrman вне форума
Ответить с цитированием
#1869
Старый 28.01.2015, 20:29
  #1869
^
Spectral
 
Аватар для Spectral
📖
Регистрация: 10.05.2010
Адрес: Коттедж в Игг-Шайле, есть вилла в Аль-сафире, квартирка в Империи грифона, а также дача в Ироллане
Сообщения: 156
Регистрация: 10.05.2010
Адрес: Коттедж в Игг-Шайле, есть вилла в Аль-сафире, квартирка в Империи грифона, а также дача в Ироллане
Сообщения: 156
По умолчанию
Re: Скрипты

Всем привет. Решил в своей карте дать герою параметр "авторитет", который позволяет ограничивать число существ в армии героя. Для того, чтобы реализовать его, пришлось во всех жилищах отключить стандартный найм существ и прописать скриптом вопрос: "Вы хотите нанять [х] существ за [y] золотых? ОК Отмена"
Но недостаток в том, что герой может взять только всех существ, доступных в строении, либо на которых хватает авторитета и золота.
А еще при апгрейде существ или взятии их из гарнизона изменение свободного авторитета не учитывается, так что герой может набрать армию больше, чем позволяет ему авторитет.
Можно ли сделать так, чтобы в стандартном окне найма существ их количество ограничивалось не только золотом, но и авторитетом?
__________________
 Создается карта про эльфов: Воссоединение - готовность 71%
 Создается карта про эльфов: Воссоединение - готовность 71%
Spectral вне форума
Ответить с цитированием
#1870
Старый 28.01.2015, 23:52
  #1870
^
Dyrman
 
Аватар для Dyrman
📖
Регистрация: 24.06.2008
Адрес: Там, где неба кончается край
Сообщения: 3479
Отправить сообщение для  Dyrman с помощью ICQ
Регистрация: 24.06.2008
Адрес: Там, где неба кончается край
Сообщения: 3479
Отправить сообщение для  Dyrman с помощью ICQ
По умолчанию
Re: Скрипты

Варианты:
1) Талкбокс, имитирующий окно найма, в частности + и -.
2) Прячешь на карте гарнизон, чтобы никто не видел. При прикосновении к зданию найма (стандартное свойство которого отключено), заполняешь гарнизон только теми существами, которыми возможно купить по "золоту"\"лидерству"(тут авторитет). Лучше по одиночке(по типу), ибо придется делать допонительные проверки. Потом героя заставляешь скриптами посетить этот гарнизон.
3) Обнуляешь в начале недель и после прикосновения двеллы. При прикосновении определяешь что за двелл, изменяешь скриптами его прирост до максимально возможного по авторитету и золоту. Тут прокатывают только двеллы, где можно нанимать армию одного типа.

Добавлено через 7 минут
SpectralВарианты:
А еще при апгрейде существ или взятии их из гарнизона изменение свободного авторитета не учитывается, так что герой может набрать армию больше, чем позволяет ему авторитет.
1)Можно запустить постоянный цикл и проверять количество.
2)При прикосновении к гарнизону уменьшать армию настолько в нём, на сколько позволит взять авторитет.
А ап-неап сделать с одним авторитетом.
Dyrman вне форума
Ответить с цитированием
#1871
Старый 06.02.2015, 20:05
  #1871
^
ggroy
 
Аватар для ggroy
📖
Регистрация: 19.01.2014
Сообщения: 108
Регистрация: 19.01.2014
Сообщения: 108
По умолчанию
Re: Скрипты

Что такое florID, я знаю что это номер уровня, на который нужно поставить артефакт, НО Я НЕ МОГУ ПОНЯТЬ ЧТО ЭТО ЗНАЧИТ
__________________
Таверна (фулдилка) - заходите.







Таверна (фулдилка) - заходите.







ggroy вне форума
Ответить с цитированием
#1872
Старый 06.02.2015, 20:41
  #1872
^
Ment
 
Аватар для Ment
📖
Регистрация: 30.10.2009
Адрес: Национальный заповедник
Сообщения: 30680
Регистрация: 30.10.2009
Адрес: Национальный заповедник
Сообщения: 30680
По умолчанию
Re: Скрипты

Подземелье/поверхность. В первом случае индекс равен 1, во втором 0.
Ment вне форума
Ответить с цитированием
#1873
Старый 07.02.2015, 17:33
  #1873
^
ggroy
 
Аватар для ggroy
📖
Регистрация: 19.01.2014
Сообщения: 108
Регистрация: 19.01.2014
Сообщения: 108
По умолчанию
Re: Скрипты

как указать скриптовое имя героя в задании - Герой должен выжить.
__________________
Таверна (фулдилка) - заходите.







Таверна (фулдилка) - заходите.







ggroy вне форума
Ответить с цитированием
#1874
Старый 07.02.2015, 17:51
  #1874
^
RedHeavenHero
 
Аватар для RedHeavenHero
📖
Регистрация: 10.02.2012
Сообщения: 2378
Выставка наград
Регистрация: 10.02.2012
Сообщения: 2378
Выставка наград
По умолчанию
Re: Скрипты

В параметрах задачи (Parameters).
__________________
Карты для Героев Меча и Магии 5
Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты
Кампания: Империя Единорога

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

Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
RedHeavenHero вне форума
Ответить с цитированием
#1875
Старый 07.02.2015, 19:46
  #1875
^
ggroy
 
Аватар для ggroy
📖
Регистрация: 19.01.2014
Сообщения: 108
Регистрация: 19.01.2014
Сообщения: 108
По умолчанию
Re: Скрипты

дайте правильной скрипт для диалогоа (ролика), пожалуйста. (я видел такой, но проблема в том, что сколько я не пытался сделать ролик, у меня не получалось)
__________________
Таверна (фулдилка) - заходите.







Таверна (фулдилка) - заходите.







ggroy вне форума
Ответить с цитированием
Ответ
Страница 125 из 260


Опции темы



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


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

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