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

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

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

Ответ
Страница 254 из 255
 
Опции темы
#3796
Старый 02.12.2022, 19:48
  #3796
^
BlueHeavenHero
 
Аватар для BlueHeavenHero
📖
Регистрация: 20.08.2022
Адрес: "Асхан/Священная Империя Единорога/Светлолесье"
Сообщения: 142
Регистрация: 20.08.2022
Адрес: "Асхан/Священная Империя Единорога/Светлолесье"
Сообщения: 142
По умолчанию
Re: Скрипты

Снова привет.
Может ли кто помочь мне разобраться с функцией SetGameVar и GetGameVar? Я ничего не понимаю - зачем они нужны и как их правильно прописать.
__________________
Мои карты:
Сценарий "Падший рыцарь" - Мой первый сценарий.
Кампания "Пробуждение" - Только начал работу над кампанией.

Мои карты:
Сценарий "Падший рыцарь" - Мой первый сценарий.
Кампания "Пробуждение" - Только начал работу над кампанией.

BlueHeavenHero сейчас на форуме
Ответить с цитированием
#3797
Старый 03.12.2022, 08:28
  #3797
^
}{0TT@6bI4
 
Аватар для }{0TT@6bI4
📖
Регистрация: 05.09.2019
Адрес: Серебряные Города, Аль-Сафир
Сообщения: 1751
Выставка наград
Регистрация: 05.09.2019
Адрес: Серебряные Города, Аль-Сафир
Сообщения: 1751
Выставка наград
По умолчанию
Re: Скрипты

Они нужны, чтобы перенести какие-то значения из карты приключений в любую битву. Просто переменную test=1, инициализированную в скриптах карты приключений, в бою увидеть нельзя, а вот если установить её SetGameVar("test", 1), то в любой битве GetGameVar("test") вернёт "1" (важно: строку; чтобы сдедать числом, прибавьте ноль). Так можно передать уровень героя или какой-то коэффициент
__________________
С уважением, }{0TT@6bI4
_________________
Группа картостроителей
Там ответы на вопросы, руководства, гайды и прочее
_________________
С уважением, }{0TT@6bI4
_________________
Группа картостроителей
Там ответы на вопросы, руководства, гайды и прочее
_________________
}{0TT@6bI4 вне форума
Ответить с цитированием
#3798
Старый 03.12.2022, 09:09
  #3798
^
BlueHeavenHero
 
Аватар для BlueHeavenHero
📖
Регистрация: 20.08.2022
Адрес: "Асхан/Священная Империя Единорога/Светлолесье"
Сообщения: 142
Регистрация: 20.08.2022
Адрес: "Асхан/Священная Империя Единорога/Светлолесье"
Сообщения: 142
По умолчанию
Re: Скрипты

}{0TT@6bI4Они нужны, чтобы перенести какие-то значения из карты приключений в любую битву. Просто переменную test=1, инициализированную в скриптах карты приключений, в бою увидеть нельзя, а вот если установить её SetGameVar("test", 1), то в любой битве GetGameVar("test") вернёт "1" (важно: строку; чтобы сдедать числом, прибавьте ноль). Так можно передать уровень героя или какой-то коэффициент
Спасибо за разъяснение,
А что делать с мостом, о котором я писал в сообщении выше?
__________________
Мои карты:
Сценарий "Падший рыцарь" - Мой первый сценарий.
Кампания "Пробуждение" - Только начал работу над кампанией.

Мои карты:
Сценарий "Падший рыцарь" - Мой первый сценарий.
Кампания "Пробуждение" - Только начал работу над кампанией.

BlueHeavenHero сейчас на форуме
Ответить с цитированием
#3799
Старый 05.12.2022, 08:07
  #3799
^
}{0TT@6bI4
 
Аватар для }{0TT@6bI4
📖
Регистрация: 05.09.2019
Адрес: Серебряные Города, Аль-Сафир
Сообщения: 1751
Выставка наград
Регистрация: 05.09.2019
Адрес: Серебряные Города, Аль-Сафир
Сообщения: 1751
Выставка наград
По умолчанию
Re: Скрипты

Вообще, есть одно предложение: создать новый объект типа StandShared (выставьте убежище тиеру и через Shared => New), указать ему несколько состояний (разрушен/восстановлен). Там же накидать эффектов перехода сколько надо (просто добавить в список с указанием задержки). BlockTiles не указывать, а проход заблокировать регионом... и потом сделать скриптом SetStandState("имя", номерСостояния) + разблокировка региона
__________________
С уважением, }{0TT@6bI4
_________________
Группа картостроителей
Там ответы на вопросы, руководства, гайды и прочее
_________________
С уважением, }{0TT@6bI4
_________________
Группа картостроителей
Там ответы на вопросы, руководства, гайды и прочее
_________________
}{0TT@6bI4 вне форума
Ответить с цитированием
#3800
Старый 10.12.2022, 21:03
  #3800
^
JustPeasant
 
Аватар для JustPeasant
📖
Регистрация: 10.12.2022
Сообщения: 3
Регистрация: 10.12.2022
Сообщения: 3
По умолчанию
Re: Скрипты

Добрый день
А никто не подскажет, возможно ли переопределить поведение юнита в хуках? В плане, например, юнит выстрелил, а на юнит, получивший урон, накладывается некий эффект.
Я увидел только UnitMove, который потом делится на "подхуки" 
Но во всех из них передается только параметр sUnitName. 
Т.е. получается, будто управлять можно только атакующим юнитом, но не атакуемым
Как-то возможно узнать, кто является атакуемым юнитом, прошедший по нему урон?
JustPeasant вне форума
Ответить с цитированием
#3801
Старый 11.12.2022, 08:22
  #3801
^
BlueHeavenHero
 
Аватар для BlueHeavenHero
📖
Регистрация: 20.08.2022
Адрес: "Асхан/Священная Империя Единорога/Светлолесье"
Сообщения: 142
Регистрация: 20.08.2022
Адрес: "Асхан/Священная Империя Единорога/Светлолесье"
Сообщения: 142
По умолчанию
Re: Скрипты

Всем привет! Есть вопрос. 
Можно ли сделать так, чтобы главный герой ИИ не сливал всю армию второстепенному герою, и наоборот - второстепенный герой ИИ не сливал армию главному герою? 

Добавлено через 1 минуту
JustPeasantДобрый день
А никто не подскажет, возможно ли переопределить поведение юнита в хуках? В плане, например, юнит выстрелил, а на юнит, получивший урон, накладывается некий эффект.
Я увидел только UnitMove, который потом делится на "подхуки" 
Но во всех из них передается только параметр sUnitName. 
Т.е. получается, будто управлять можно только атакующим юнитом, но не атакуемым
Как-то возможно узнать, кто является атакуемым юнитом, прошедший по нему урон?
Вроде бы можно так сделать, но не помню как именно
__________________
Мои карты:
Сценарий "Падший рыцарь" - Мой первый сценарий.
Кампания "Пробуждение" - Только начал работу над кампанией.

Мои карты:
Сценарий "Падший рыцарь" - Мой первый сценарий.
Кампания "Пробуждение" - Только начал работу над кампанией.

BlueHeavenHero сейчас на форуме
Ответить с цитированием
#3802
Старый 11.12.2022, 15:06
  #3802
^
Азгалор
 
Аватар для Азгалор
📖
Регистрация: 24.04.2016
Сообщения: 177
Регистрация: 24.04.2016
Сообщения: 177
По умолчанию
Re: Скрипты

BlueHeavenHeroВсем привет! Есть вопрос. 
Можно ли сделать так, чтобы главный герой ИИ не сливал всю армию второстепенному герою, и наоборот - второстепенный герой ИИ не сливал армию главному герою? 
SetHeroRoleMode("скриптовое имя главного героя", ROLE_MODE_HERMIT)
Азгалор вне форума
Ответить с цитированием
#3803
Старый 11.12.2022, 17:23
  #3803
^
BlueHeavenHero
 
Аватар для BlueHeavenHero
📖
Регистрация: 20.08.2022
Адрес: "Асхан/Священная Империя Единорога/Светлолесье"
Сообщения: 142
Регистрация: 20.08.2022
Адрес: "Асхан/Священная Империя Единорога/Светлолесье"
Сообщения: 142
По умолчанию
Re: Скрипты

Спасибо, но есть ещё один вопрос - написал вот такой скрипт, но он почему-то не работает. Консоль ошибок не показывает.
function desentir()
	print("Desentirs!");
	CreatureList = {CREATURE_PEASANT,
					CREATURE_MILITIAMAN,
					CREATURE_ARCHER,
					CREATURE_MARKSMAN,
					CREATURE_FOOTMAN,
					CREATURE_SWORDSMAN,
					CREATURE_PRIEST,
					CREATURE_CLERIC,
					CREATURE_CAVALIER,
					CREATURE_PALADIN};
	for i=1,14 do
		if GetHeroCreatures("Hafad",CreatureList[i]) > 5 then
			if i <= 4 then
				quantity = 1+random(6);
			end;
			if i > 4 and i <=10 then
				quantity = 1+random(2);
			end;
			if i > 10 then
				quantity = 1;
			end;
			RemoveHeroCreatures("Hafad",CreatureList[i],quantity);
			print("Hafad lost ",quantity," creatures. Creature ID = ",CreatureList[i]);
		else
			print("Hero has less then 6 creatures this type. Creature ID = ",CreatureList[i]);
		end;
	end;
	sleep(10);
	Trigger(NEW_DAY_TRIGGER,"desentir");
end;
__________________
Мои карты:
Сценарий "Падший рыцарь" - Мой первый сценарий.
Кампания "Пробуждение" - Только начал работу над кампанией.

Мои карты:
Сценарий "Падший рыцарь" - Мой первый сценарий.
Кампания "Пробуждение" - Только начал работу над кампанией.

BlueHeavenHero сейчас на форуме
Ответить с цитированием
#3804
Старый 11.12.2022, 19:52
  #3804
^
JustPeasant
 
Аватар для JustPeasant
📖
Регистрация: 10.12.2022
Сообщения: 3
Регистрация: 10.12.2022
Сообщения: 3
По умолчанию
Re: Скрипты

АвторДобрый день
А никто не подскажет, возможно ли переопределить поведение юнита в хуках? В плане, например, юнит выстрелил, а на юнит, получивший урон, накладывается некий эффект.
Я увидел только UnitMove, который потом делится на "подхуки" 
Но во всех из них передается только параметр sUnitName. 
Т.е. получается, будто управлять можно только атакующим юнитом, но не атакуемым
Как-то возможно узнать, кто является атакуемым юнитом, прошедший по нему урон?

Быть может кто вспомнит? (

У меня идей совсем нет

JustPeasant вне форума
Ответить с цитированием
#3805
Старый 12.12.2022, 08:37
  #3805
^
}{0TT@6bI4
 
Аватар для }{0TT@6bI4
📖
Регистрация: 05.09.2019
Адрес: Серебряные Города, Аль-Сафир
Сообщения: 1751
Выставка наград
Регистрация: 05.09.2019
Адрес: Серебряные Города, Аль-Сафир
Сообщения: 1751
Выставка наград
По умолчанию
Re: Скрипты

JustPeasantДобрый день
А никто не подскажет, возможно ли переопределить поведение юнита в хуках? В плане, например, юнит выстрелил, а на юнит, получивший урон, накладывается некий эффект.
Я увидел только UnitMove, который потом делится на "подхуки" 
Но во всех из них передается только параметр sUnitName. 
Т.е. получается, будто управлять можно только атакующим юнитом, но не атакуемым
Как-то возможно узнать, кто является атакуемым юнитом, прошедший по нему урон?
Очень увы, этот момент нельзя отконтролировать. Существует один костыль — добавить в новом потоке проверку while 1 do, которая подсчитывает число существ в каждом стеке и смотрит, совпало ли это значение с предыдущим насчитанным. Если нет — вызывает какую-то функцию, передавая туда имя стека
__________________
С уважением, }{0TT@6bI4
_________________
Группа картостроителей
Там ответы на вопросы, руководства, гайды и прочее
_________________
С уважением, }{0TT@6bI4
_________________
Группа картостроителей
Там ответы на вопросы, руководства, гайды и прочее
_________________
}{0TT@6bI4 вне форума
Ответить с цитированием
#3806
Старый 12.12.2022, 08:39
  #3806
^
}{0TT@6bI4
 
Аватар для }{0TT@6bI4
📖
Регистрация: 05.09.2019
Адрес: Серебряные Города, Аль-Сафир
Сообщения: 1751
Выставка наград
Регистрация: 05.09.2019
Адрес: Серебряные Города, Аль-Сафир
Сообщения: 1751
Выставка наград
По умолчанию
Re: Скрипты

BlueHeavenHero, какие принты выводятся, какие нет? Вообще, существует метод отладочной печати — накидать послед "подозреваемых" строк простейшие принты аля print(123) и посмотреть, какие выводятся, какие нет, для уточнения проблемного места.
__________________
С уважением, }{0TT@6bI4
_________________
Группа картостроителей
Там ответы на вопросы, руководства, гайды и прочее
_________________
С уважением, }{0TT@6bI4
_________________
Группа картостроителей
Там ответы на вопросы, руководства, гайды и прочее
_________________
}{0TT@6bI4 вне форума
Ответить с цитированием
#3807
Старый 12.12.2022, 15:11
  #3807
^
JustPeasant
 
Аватар для JustPeasant
📖
Регистрация: 10.12.2022
Сообщения: 3
Регистрация: 10.12.2022
Сообщения: 3
По умолчанию
Re: Скрипты

}{0TT@6bI4Очень увы, этот момент нельзя отконтролировать. Существует один костыль — добавить в новом потоке проверку while 1 do, которая подсчитывает число существ в каждом стеке и смотрит, совпало ли это значение с предыдущим насчитанным. Если нет — вызывает какую-то функцию, передавая туда имя стека

Спасибо большое, буду думать. Направление я понял. Нивал странные Дать события на ход юнита, но не дать на атаку

JustPeasant вне форума
Ответить с цитированием
#3808
Старый 12.12.2022, 20:26
  #3808
^
BlueHeavenHero
 
Аватар для BlueHeavenHero
📖
Регистрация: 20.08.2022
Адрес: "Асхан/Священная Империя Единорога/Светлолесье"
Сообщения: 142
Регистрация: 20.08.2022
Адрес: "Асхан/Священная Империя Единорога/Светлолесье"
Сообщения: 142
По умолчанию
Re: Скрипты

Всем привет! Можно ли запретить определённым героям ИИ сбегать с поля боя? Или это невозможно? 
__________________
Мои карты:
Сценарий "Падший рыцарь" - Мой первый сценарий.
Кампания "Пробуждение" - Только начал работу над кампанией.

Мои карты:
Сценарий "Падший рыцарь" - Мой первый сценарий.
Кампания "Пробуждение" - Только начал работу над кампанией.

BlueHeavenHero сейчас на форуме
Ответить с цитированием
#3809
Старый 12.12.2022, 20:55
  #3809
^
Азгалор
 
Аватар для Азгалор
📖
Регистрация: 24.04.2016
Сообщения: 177
Регистрация: 24.04.2016
Сообщения: 177
По умолчанию
Re: Скрипты

BlueHeavenHeroВсем привет! Можно ли запретить определённым героям ИИ сбегать с поля боя? Или это невозможно? 
DenyAIHeroFlee("скриптовое имя героя", 1, "можно не прописывать, но здесь указывается герой, против которого цель не будет сбегать. Если не заполнить 3 аргумент, то не будет сбегать от всех героев")
Азгалор вне форума
Ответить с цитированием
#3810
Старый 19.12.2022, 09:23
  #3810
^
BlueHeavenHero
 
Аватар для BlueHeavenHero
📖
Регистрация: 20.08.2022
Адрес: "Асхан/Священная Империя Единорога/Светлолесье"
Сообщения: 142
Регистрация: 20.08.2022
Адрес: "Асхан/Священная Империя Единорога/Светлолесье"
Сообщения: 142
По умолчанию
Re: Скрипты

Снова привет! Нужна помощь.
Есть ли такая функция, проверяющая, посещал ли герой какой-либо объект?
__________________
Мои карты:
Сценарий "Падший рыцарь" - Мой первый сценарий.
Кампания "Пробуждение" - Только начал работу над кампанией.

Мои карты:
Сценарий "Падший рыцарь" - Мой первый сценарий.
Кампания "Пробуждение" - Только начал работу над кампанией.

BlueHeavenHero сейчас на форуме
Ответить с цитированием
Ответ
Страница 254 из 255


Опции темы



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


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

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