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

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

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

Ответ
Страница 164 из 260
 
Опции темы
#2446
Старый 14.01.2018, 20:33
  #2446
^
Годрикова впадина
📖
Регистрация: 09.01.2018
Сообщения: 139
Регистрация: 09.01.2018
Сообщения: 139
По умолчанию
Re: Скрипты

Крипта всмысле склеп, а так огромное спасибо завтра буду пробовать осуществлять. В лучшем случаи хочу создать кампанию про Сайруса в молодости

Добавлено через 46 минут
-- отключаем выделение и ставим мирную иконку при наведении
SetObjectEnabled(npc, nil);
SetDisabledObjectMode(npc, DISABLED_INTERACT);
sleep(1)
SetMonsterSelectionType(npc, 0);

-- функция-обработчик тыркания - необязательный параметр
if(func ~= nil) then
Trigger(OBJECT_TOUCH_TRIGGER, npc, func);
end

-- имя NPC - необязательный параметр
if(name ~= nil) then
SetMonsterNames(npc, MONSTER_NAME_SINGLE, name);
end

end

А можно для тупых то что в скобках нужно менять? Если да то что зачит nil, DISABLED_INTERACT, npc это нужно имя придумать вписать в строчку name а потом сюда или нет, OBJECT_TOUCH_TRIGGER, npc, func и что значит это name ~= nil) then
SetMonsterNames(npc, MONSTER_NAME_SINGLE, name);?
Годрикова впадина вне форума
Ответить с цитированием
#2447
Старый 14.01.2018, 21:44
  #2447
^
Jack_of_shadows
 
Аватар для Jack_of_shadows
📖
Регистрация: 08.09.2013
Сообщения: 509
Выставка наград
Регистрация: 08.09.2013
Сообщения: 509
Выставка наград
По умолчанию
Re: Скрипты

Годрикова впадина, вы, фигурально выражаясь, вырвали фразу из контекста, то есть код из функции.
npc, func и name это были её параметры, описание которых с примером использования было по ссылке дано.
nil - это одно из ключевых слов язык lua, у него много разных вариантов использования в коде, всех так сразу не опишешь.
DISABLED_INTERACT, OBJECT_TOUCH_TRIGGER - именованные константы, их расшифровку всегда можно найти рядом с функцией, для которой они предназначены.
Если код моей функции кажется слишком сложным, суть то не в нём, а в том, что даны все необходимые названия стандартных функций, и для отключения объекта, и для навешивания на него своего обработчика. А это знание уже 90% решения вашей задачи.
Jack_of_shadows вне форума
Ответить с цитированием
#2448
Старый 16.01.2018, 15:19
  #2448
^
Годрикова впадина
📖
Регистрация: 09.01.2018
Сообщения: 139
Регистрация: 09.01.2018
Сообщения: 139
По умолчанию
Re: Скрипты

Как сделать пристань или причал? копался, но не нашёл
Годрикова впадина вне форума
Ответить с цитированием
#2449
Старый 16.01.2018, 16:15
  #2449
^
орлан-1
 
Аватар для орлан-1
📖
Регистрация: 10.01.2018
Сообщения: 12
Регистрация: 10.01.2018
Сообщения: 12
Сообщение
Re: Скрипты

Годрикова впадинаКак сделать пристань или причал? копался, но не нашёл
1.Сделай сам водоем.2.Во вкладке Terraforming тебе нужна кнопка ramp,жми её.3.На границе между водой и землей жмешь мышкой и держи секунд 5 и потом тянешь мышь в сторону воды и у тебя должен создаться переход между землей и водой.4.Ставишь рядом верфь,и там покупаешь корабли и все,вот тебе и причал.

Добавлено через 24 минуты
Годрикова впадина,а если ты хочешь причал рядом с замком(чтоб верфь была в замке) делай все до 4-го пункта,тебе надо будет построить верфь в замке и корабли можно будет купить там.НО пытаться строить причалы с помощью замков не советую так как замки часто вредничают и не видят воду и место для размещения кораблей(говорю по своему опыту).
орлан-1 вне форума
Ответить с цитированием
#2450
Старый 17.01.2018, 18:22
  #2450
^
Sarcastrophe.
📖
Регистрация: 10.12.2017
Сообщения: 4
Регистрация: 10.12.2017
Сообщения: 4
По умолчанию
Re: Скрипты

Приветствую. Создаю карту для мультиплеера, и задумка ее такова, что по прошествию 2,5 месяцев героя игрока переносит к порталу, ведущему к центру карты, где будет проходить баталия с остальными игроками. И скриптами я не владею от слова никак :с. Прошу о помощи. Есть ли такой скрипт, который может устроить такой расклад событий?
Sarcastrophe. вне форума
Ответить с цитированием
#2451
Старый 18.01.2018, 12:43
  #2451
^
RedHeavenHero
 
Аватар для RedHeavenHero
📖
Регистрация: 10.02.2012
Сообщения: 2378
Выставка наград
Регистрация: 10.02.2012
Сообщения: 2378
Выставка наград
По умолчанию
Re: Скрипты

Sarcastrophe.Приветствую. Создаю карту для мультиплеера, и задумка ее такова, что по прошествию 2,5 месяцев героя игрока переносит к порталу, ведущему к центру карты, где будет проходить баталия с остальными игроками. И скриптами я не владею от слова никак :с. Прошу о помощи. Есть ли такой скрипт, который может устроить такой расклад событий?
В целом, это выглядит так. Единственная проблема - выбор героя игрока, которого надо телепортировать.
	function NewDay()
	if GetDate() == 71 then
		SetObjectPosition('имя_героя_1', коорд_х, коорд_у, этаж_0_или_1)
		SetObjectPosition('имя_героя_2', коорд_х, коорд_у, этаж_0_или_1)
		-- ... и так далее
	end
end

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

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

Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
RedHeavenHero вне форума
Ответить с цитированием
#2452
Старый 18.01.2018, 20:21
  #2452
^
Sarcastrophe.
📖
Регистрация: 10.12.2017
Сообщения: 4
Регистрация: 10.12.2017
Сообщения: 4
По умолчанию
Re: Скрипты

RedHeavenHeroВ целом, это выглядит так. Единственная проблема - выбор героя игрока, которого надо телепортировать.
	function NewDay()
	if GetDate() == 71 then
		SetObjectPosition('имя_героя_1', коорд_х, коорд_у, этаж_0_или_1)
		SetObjectPosition('имя_героя_2', коорд_х, коорд_у, этаж_0_или_1)
		-- ... и так далее
	end
end

Trigger(NEW_DAY_TRIGGER, 'NewDay')

RedHeavenHero, огромнейшая благодарность. И еще немного беспокойства, если можно. Герои на карте выбираются игроком или рандомом, как работать в таком случае? Как я понимаю, нужно выбрать для этого блок старта героя, так?
Sarcastrophe. вне форума
Ответить с цитированием
#2453
Старый 18.01.2018, 22:05
  #2453
^
орлан-1
 
Аватар для орлан-1
📖
Регистрация: 10.01.2018
Сообщения: 12
Регистрация: 10.01.2018
Сообщения: 12
Восклицание
Re: Скрипты

Народ а кто-то знает как открыть встроенный редактор скриптов (Map Propertires>Script>Edit Script),нажимаю Edit Script и все вылетает,пусть я пользуюсь HoMM5 Map Scripts Editor но адекватного решения этих вылетов я так и не нашел в инете и думаю не меня одного интересует как это исправить.Буду признателен за решение.
орлан-1 вне форума
Ответить с цитированием
#2454
Старый 19.01.2018, 13:36
  #2454
^
RedHeavenHero
 
Аватар для RedHeavenHero
📖
Регистрация: 10.02.2012
Сообщения: 2378
Выставка наград
Регистрация: 10.02.2012
Сообщения: 2378
Выставка наград
По умолчанию
Re: Скрипты

Sarcastrophe.RedHeavenHero, огромнейшая благодарность. И еще немного беспокойства, если можно. Герои на карте выбираются игроком или рандомом, как работать в таком случае? Как я понимаю, нужно выбрать для этого блок старта героя, так?
В общем случае массив с именами всех героев игрока можно получить вызовом функции GetPlayerHeroes(номер_игрока). Вопрос тут скорее в том, какого именно из героев вы хотите телепортировать.
__________________
Карты для Героев Меча и Магии 5
Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты
Кампания: Империя Единорога

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

Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
RedHeavenHero вне форума
Ответить с цитированием
#2455
Старый 19.01.2018, 21:37
  #2455
^
AstralLein
 
Аватар для AstralLein
📖
Регистрация: 02.06.2017
Адрес: В Империи Незанхельм.
Сообщения: 3908
Регистрация: 02.06.2017
Адрес: В Империи Незанхельм.
Сообщения: 3908
По умолчанию
Re: Скрипты

Вопрос насчёт отскакивающих сообщений. Обязательно, чтобы они отлетали от объекта? Просто, в некоторых случаях я не уверен, что могу корректно выбрать объект в поле зрения игрока на момент скрипта.

Суть в том, чтобы по экрану проплыло сообщение "основное задание обновлено". Пока что оно отскакивает от главного героя, но это крайне невыгодно. Ведь взять гарнизон может и не Маркел.

Добавлено через 2 минуты
И еще как заставить скрипт боя обновляться? Я обратил внимание, что он как-то работает очень одноразово... Как заставить его в начале боя идти сначала, а не с того места, где остановился в прошлом бою? Тоесть как в конце боя, при любом раскладе, сбросить переменные скрипта до 0?
__________________
Ох это сладостное, поглощающее разум безумие! 

Готовые проекты:


Карты для героев 5:
"Плата за любовь"
"Путь некроманта"
"Темные грани"

Карты для Disciples 3:
"Противостояние"

Проекты в разработке:

Моды для Disciples 3:
"Астельнаир" - разработка возобновлена в мае 2019 год

Карты для героев 5:
"Рок Гримхейма" - в активной разработке
Ох это сладостное, поглощающее разум безумие! 

Готовые проекты:


Карты для героев 5:
"Плата за любовь"
"Путь некроманта"
"Темные грани"

Карты для Disciples 3:
"Противостояние"

Проекты в разработке:

Моды для Disciples 3:
"Астельнаир" - разработка возобновлена в мае 2019 год

Карты для героев 5:
"Рок Гримхейма" - в активной разработке
AstralLein вне форума
Ответить с цитированием
#2456
Старый 19.01.2018, 22:44
  #2456
^
Jack_of_shadows
 
Аватар для Jack_of_shadows
📖
Регистрация: 08.09.2013
Сообщения: 509
Выставка наград
Регистрация: 08.09.2013
Сообщения: 509
Выставка наград
По умолчанию
Re: Скрипты

Суть в том, чтобы по экрану проплыло сообщение "основное задание обновлено". Пока что оно отскакивает от главного героя, но это крайне невыгодно. Ведь взять гарнизон может и не Маркел.
Я думаю в этом и суть отплывающего сообщения, что оно привязано к объекту. В большинстве случаев можно отследить какой герой выполнил событие, оно передается и по триггерам касания, и по завершению боев и много где ещё.
Как заставить его в начале боя идти сначала, а не с того места, где остановился в прошлом бою?
Так он же в начале каждого боя вызывает функцию Start() и дальше по разным событиям другие функции. Переопределив свою функцию Start() можно в ней всё что угодно сбросить. Если вы скрипт оборачиваете в отдельный поток, наверное надо отследить событие конца боя и выйти из него.
Jack_of_shadows вне форума
Ответить с цитированием
#2457
Старый 19.01.2018, 23:16
  #2457
^
AstralLein
 
Аватар для AstralLein
📖
Регистрация: 02.06.2017
Адрес: В Империи Незанхельм.
Сообщения: 3908
Регистрация: 02.06.2017
Адрес: В Империи Незанхельм.
Сообщения: 3908
По умолчанию
Re: Скрипты

Ну вот как будет выглядить скрипт следующего вида: как только герой "hero" заканчивает любую битву, с него сбрасывается скрипт "battle" и снова накладывается.

Добавлено через 4 минуты
Насколько я помню, у уважаемого RedHeavenHero в кампании Империя Единорога пояс элементалей позволял Варенсу в начале боя призвать элементалей. И вот этот скрипт как раз работал безукоризненно. В начале каждого боя, всегда.
__________________
Ох это сладостное, поглощающее разум безумие! 

Готовые проекты:


Карты для героев 5:
"Плата за любовь"
"Путь некроманта"
"Темные грани"

Карты для Disciples 3:
"Противостояние"

Проекты в разработке:

Моды для Disciples 3:
"Астельнаир" - разработка возобновлена в мае 2019 год

Карты для героев 5:
"Рок Гримхейма" - в активной разработке
Ох это сладостное, поглощающее разум безумие! 

Готовые проекты:


Карты для героев 5:
"Плата за любовь"
"Путь некроманта"
"Темные грани"

Карты для Disciples 3:
"Противостояние"

Проекты в разработке:

Моды для Disciples 3:
"Астельнаир" - разработка возобновлена в мае 2019 год

Карты для героев 5:
"Рок Гримхейма" - в активной разработке
AstralLein вне форума
Ответить с цитированием
#2458
Старый 20.01.2018, 00:44
  #2458
^
RedHeavenHero
 
Аватар для RedHeavenHero
📖
Регистрация: 10.02.2012
Сообщения: 2378
Выставка наград
Регистрация: 10.02.2012
Сообщения: 2378
Выставка наград
По умолчанию
Re: Скрипты

И еще как заставить скрипт боя обновляться? Я обратил внимание, что он как-то работает очень одноразово... Как заставить его в начале боя идти сначала, а не с того места, где остановился в прошлом бою? Тоесть как в конце боя, при любом раскладе, сбросить переменные скрипта до 0?
Странно, никогда такого не замечал. Обычный SetHeroCombatScript отрабатывал исправно, запуская скрипт с начала.
__________________
Карты для Героев Меча и Магии 5
Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты
Кампания: Империя Единорога

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

Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
RedHeavenHero вне форума
Ответить с цитированием
#2459
Старый 20.01.2018, 16:48
  #2459
^
орлан-1
 
Аватар для орлан-1
📖
Регистрация: 10.01.2018
Сообщения: 12
Регистрация: 10.01.2018
Сообщения: 12
Сообщение
Re: Скрипты

орлан-1Народ а кто-то знает как открыть встроенный редактор скриптов (Map Propertires>Script>Edit Script),нажимаю Edit Script и все вылетает,пусть я пользуюсь HoMM5 Map Scripts Editor но адекватного решения этих вылетов я так и не нашел в инете и думаю не меня одного интересует как это исправить.Буду признателен за решение.
Не игнорте
орлан-1 вне форума
Ответить с цитированием
#2460
Старый 20.01.2018, 17:58
  #2460
^
Ment
 
Аватар для Ment
📖
Регистрация: 30.10.2009
Адрес: Национальный заповедник
Сообщения: 30680
Регистрация: 30.10.2009
Адрес: Национальный заповедник
Сообщения: 30680
По умолчанию
Re: Скрипты

Это постоянная проблема, я её у себя никак не решил. Пользуюсь блокнотом.
Ment вне форума
Ответить с цитированием
Ответ
Страница 164 из 260


Опции темы



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


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

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