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

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

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

Ответ
Страница 163 из 260
 
Опции темы
#2431
Старый 12.01.2018, 19:23
  #2431
^
Jack_of_shadows
 
Аватар для Jack_of_shadows
📖
Регистрация: 08.09.2013
Сообщения: 510
Выставка наград
Регистрация: 08.09.2013
Сообщения: 510
Выставка наград
По умолчанию
Re: Скрипты

как работает функция SetObjectiveProgress?
Когда квест в дереве свойств карты создаёте, там можно задавать этапы, правой кнопкой по какому-то не помню названия пункту, нажать add, для каждого этапа указать путь к тексту описания. В квестлоге будет выводиться вначале основное описание, потом добавочное, соответствующее текущему этапу.
Так вот, если квест имеет такие этапы, то при запуске он будет на нулевом, а с помощью функции его можно будет продвигать далее, например перейти на 1 этап:
	SetObjectiveProgress('название_квеста', 1);
Jack_of_shadows вне форума
Ответить с цитированием
#2432
Старый 12.01.2018, 19:38
  #2432
^
Cirillo
📖
Регистрация: 05.07.2017
Сообщения: 14
Регистрация: 05.07.2017
Сообщения: 14
По умолчанию
Re: Скрипты

Спасибо, понял)
Cirillo вне форума
Ответить с цитированием
#2433
Старый 12.01.2018, 21:18
  #2433
^
орлан-1
 
Аватар для орлан-1
📖
Регистрация: 10.01.2018
Сообщения: 12
Регистрация: 10.01.2018
Сообщения: 12
По умолчанию
Re: Скрипты

А как убрать круги фракции под нейтралами?И еще возможно ли как-то ставить существ на карту из армии героя?
орлан-1 вне форума
Ответить с цитированием
#2434
Старый 12.01.2018, 22:51
  #2434
^
Jack_of_shadows
 
Аватар для Jack_of_shadows
📖
Регистрация: 08.09.2013
Сообщения: 510
Выставка наград
Регистрация: 08.09.2013
Сообщения: 510
Выставка наград
По умолчанию
Re: Скрипты

А как убрать круги фракции под нейтралами?
Вот тут я давал код раньше. В документации написано, что перед отключением кругов нужно выключить взаимодействие с существами (чтобы на них нельзя было напасть). Можно ли не отключать - не проверял.
возможно ли как-то ставить существ на карту из армии героя?
Я в карте "Путь героя" реализовывал подобный функционал, но это заняло несколько сотен строк кода, так как возникает вопрос как инициировать установку, как выбрать сколько существ выставлять и так далее. В самом простом случае это подразумевает вызов 2-х функций - удалить определенных существ из армии героя (RemoveCreatures), поставить их в таком же количестве на карту (CreateMonster).
Jack_of_shadows вне форума
Ответить с цитированием
#2435
Старый 13.01.2018, 15:31
  #2435
^
орлан-1
 
Аватар для орлан-1
📖
Регистрация: 10.01.2018
Сообщения: 12
Регистрация: 10.01.2018
Сообщения: 12
По умолчанию
Re: Скрипты

Спасибо большое!
орлан-1 вне форума
Ответить с цитированием
#2436
Старый 13.01.2018, 19:21
  #2436
^
Cirillo
📖
Регистрация: 05.07.2017
Сообщения: 14
Регистрация: 05.07.2017
Сообщения: 14
По умолчанию
Re: Скрипты

Еще вопрос появился. Как сделать так, чтобы при первом посещении региона срабатывала одна функция, а при втором другая? Где-то на форуме уже спрашивали, но я не нашел.


Все получилось) Сделал через if и else.

И все же вопрос. Можно ли это сделать другим путем?
Cirillo вне форума
Ответить с цитированием
#2437
Старый 13.01.2018, 21:54
  #2437
^
AstralLein
 
Аватар для AstralLein
📖
Регистрация: 02.06.2017
Адрес: В Империи Незанхельм.
Сообщения: 3910
Регистрация: 02.06.2017
Адрес: В Империи Незанхельм.
Сообщения: 3910
По умолчанию
Re: Скрипты

Можно ли как-то на карте запретить читы?

Добавлено через 37 секунд
Скажем, скрипт, убивающий главного героя при использовании читов?
__________________
Ох это сладостное, поглощающее разум безумие! 

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


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

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

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

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

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

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


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

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

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

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

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

AstralLeinМожно ли как-то на карте запретить читы?

Добавлено через 37 секунд
Скажем, скрипт, убивающий главного героя при использовании читов?
Можете попробовать убирать изменения, благодаря которым становится возможным открывать консоль и вводить в нее команды, через функцию consoleCmd.
Что-то вроде
consoleCmd('unbind show_console')
или
consoleCmd('setvar dev_console_password = ')
и делать это, например, в бесконечном цикле.
Я это не проверял, но в теории такая штука должна сработать.

Ну и самое главное: такой античит скрипт так же легко удаляется из общего скрипта карты при желании.

Добавлено через 1 час 8 минут
CirilloЕще вопрос появился. Как сделать так, чтобы при первом посещении региона срабатывала одна функция, а при втором другая? Где-то на форуме уже спрашивали, но я не нашел.


Все получилось) Сделал через if и else.

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

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

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

А можете написать сам скрипт в бесконечном цикле?
__________________
Ох это сладостное, поглощающее разум безумие! 

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


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

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

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

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

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

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


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

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

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

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

Карты для героев 5:
"Рок Гримхейма" - в активной разработке
AstralLein вне форума
Ответить с цитированием
#2440
Старый 14.01.2018, 09:21
  #2440
^
Cirillo
📖
Регистрация: 05.07.2017
Сообщения: 14
Регистрация: 05.07.2017
Сообщения: 14
По умолчанию
Re: Скрипты

С if, по-моему, самый правильный и логичный вариант. Но можно еще поставить триггер на вызов первой функции и, уже в ней, переназначить на вторую.

А как это правильно в lua написать? Можно небольшой пример.

И вот еще что. Почему карта с диалоговой сценой первый раз работает нормально, а при последующих запусках карты при начале проигрывания диалога игра вылетает. Удаляешь скрипт запуска диалога все нормально. Что делать не знаю.
Cirillo вне форума
Ответить с цитированием
#2441
Старый 14.01.2018, 14:35
  #2441
^
Jack_of_shadows
 
Аватар для Jack_of_shadows
📖
Регистрация: 08.09.2013
Сообщения: 510
Выставка наград
Регистрация: 08.09.2013
Сообщения: 510
Выставка наград
По умолчанию
Re: Скрипты

А можете написать сам скрипт в бесконечном цикле?
	function foo()
  while 1 do
    -- сюда вставлять код
    sleep(10);
  end
end

startThread(foo)

Как сделать так, чтобы при первом посещении региона срабатывала одна функция, а при втором другая?
	region_visit_counter = 0;

function foo()
  region_visit_counter = region_visit_counter + 1;
  if (region_visit_counter == 1) then
    -- первое посещение, вызвать подходящую функцию
  else
    -- все последующие посещения, вызвать другую функцию
  end
end
Jack_of_shadows вне форума
Ответить с цитированием
#2442
Старый 14.01.2018, 14:36
  #2442
^
Cirillo
📖
Регистрация: 05.07.2017
Сообщения: 14
Регистрация: 05.07.2017
Сообщения: 14
По умолчанию
Re: Скрипты

Спасибо)
Cirillo вне форума
Ответить с цитированием
#2443
Старый 14.01.2018, 17:26
  #2443
^
Годрикова впадина
📖
Регистрация: 09.01.2018
Сообщения: 139
Регистрация: 09.01.2018
Сообщения: 139
По умолчанию
Re: Скрипты

А можно скрипт для того что бы вражеский герой сидел в замке и копил армию? И ещё что бы когда входишь на какую то территорию начинался бой с теми кого выставил, но что бы эти существа на карте стояли как единички а в бою большие стеки. И ещё одно запретить покупку героев в замках у всех и отменить на карте заклинания астральные врата и портал в город

Добавлено через 3 минуты
А ещё, я поставил задание в хижине пророка выбрал тип награды армия а где вписать каких существ дать?

Добавлено через 6 минут
А ещё как в крипте выставить определённое количество существ?
Годрикова впадина вне форума
Ответить с цитированием
#2444
Старый 14.01.2018, 18:21
  #2444
^
AstralLein
 
Аватар для AstralLein
📖
Регистрация: 02.06.2017
Адрес: В Империи Незанхельм.
Сообщения: 3910
Регистрация: 02.06.2017
Адрес: В Империи Незанхельм.
Сообщения: 3910
По умолчанию
Re: Скрипты

Не работает скрипт против читов. Пробовал оба варианта.

Добавлено через 2 минуты
Причем, дело походу в самом скрипте, ибо я эксперемента ради подставил команду enable_cheats в скрипт. И ничего не происходило.

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

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


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

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

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

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

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

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


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

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

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

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

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

Каждый последний день месяца герою прибавляется 2 ед. к колдовству. Как реализовать условие?
Всмысле проверить что сейчас последний день месяца? Например так:
	if ((GetDate(WEEK) == 4) and (GetDate(DAY_OF_WEEK) == 7)) then ...

что бы эти существа на карте стояли как единички а в бою большие стеки
В редакторе надо им еженедельный рост отключить, в скриптах убрать стандартный обработчик касания и повесить свой. Недавно давал ссылку как это сделать. В своём обработчике запускать какой угодно бой через StartCombat(). Эта функция в том числе имеет возможность задать каллбэк (название другой функции, которая будет вызвана после завершения этой, то есть после боя). В этом каллбэке проверяем что герой победил и удаляем соответствующую единичку.
отменить на карте заклинания астральные врата и портал в город
в настройках карты в редакторе есть закладка заклинания, где можно убирать ненужные.
я поставил задание в хижине пророка выбрал тип награды армия а где вписать каких существ дать?
Попробуйте по пункту с типом награды или следующим за ним нажать правой кнопкой, там должнен в меню быть пункт add. В одном из официальных мануалов, что в папке с игрой лежат, всё это очень подробно описывалось.
А ещё как в крипте выставить определённое количество существ?
Крипта, имеется ввиду сокровищница? Либо как мод, редактируя ресурсы игры, либо снова убирать стандартный обработчик, ставить свой и реализовывать какой угодно бой через StartCombat().
Jack_of_shadows вне форума
Ответить с цитированием
Ответ
Страница 163 из 260


Опции темы



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


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

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