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

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

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

Ответ
Страница 266 из 267
 
Опции темы
#3976
Старый 30.06.2025, 12:09
  #3976
^
}{0TT@6bI4
 
Аватар для }{0TT@6bI4
📖
Регистрация: 05.09.2019
Адрес: Серебряные Города, Аль-Сафир
Сообщения: 2056
Выставка наград
Регистрация: 05.09.2019
Адрес: Серебряные Города, Аль-Сафир
Сообщения: 2056
Выставка наград
По умолчанию
Re: Скрипты

Напишите в лс, договоримся)
Подскажу основные части скрипта:
1. Сообщение, выводимое MessageBox с коллбэком - вашей функцией преобразования.
2. Сама функция преобразования состоит из:
- таблицы с соответствиями существ
- удаления существ при помощи RemoveObjectCreatures
- добавления соответствующих существ при помощи AddObjectCreatures.

Попробуйте реализовать сами и, если появятся конкретные вопросы, написать их!
__________________
С уважением, }{0TT@6bI4
_________________
Группа картостроителей
Там ответы на вопросы, руководства, гайды и прочее
Discord-сервер "Герои 5: S.T.A.L.K.E.R"
Сервер по модификации "Герои 5: S.T.A.L.K.E.R"
_________________
С уважением, }{0TT@6bI4
_________________
Группа картостроителей
Там ответы на вопросы, руководства, гайды и прочее
Discord-сервер "Герои 5: S.T.A.L.K.E.R"
Сервер по модификации "Герои 5: S.T.A.L.K.E.R"
_________________
}{0TT@6bI4 вне форума
Ответить с цитированием
#3977
Старый 30.06.2025, 15:29
  #3977
^
_BlackKnight_
📖
Регистрация: 21.05.2025
Сообщения: 6
Регистрация: 21.05.2025
Сообщения: 6
По умолчанию
Re: Скрипты

Пока что мне удалось  реализовать данную идею только в ограниченных масштабах, на примере самых нужных существ. Поскольку я плохо разбираюсь в кодинге, мне часто приходится обходить циклы и таблицы стороной, здесь же объем данных таков, что без обхода элементов таблицы циклом не обойтись. Вот что мне не понятно:
1. Помимо составления таблицы для кричей, нужно составить таблицу стоимости преобразования, куда входят золото и другие ресурсы. Как сделать так, чтобы значения из первой таблицы соответствовали значениям из второй таблицы, и объединить это все в рамках цикла? Или есть функция, которая возвращает необходимые ресурсы для покупки кричи? 
2. Как реализовать возможность выбора существа, которое будет получено в результате  преобразования? Была мысль воспользоваться функцией GetObjectArmySlotCreature, но, как потом выяснилось, она не работает на моем exe. 
Словом, мне бы хотелось увидеть работу данного скрипта на примере нескольких существ.
_BlackKnight_ вне форума
Ответить с цитированием
#3978
Старый 30.06.2025, 16:04
  #3978
^
}{0TT@6bI4
 
Аватар для }{0TT@6bI4
📖
Регистрация: 05.09.2019
Адрес: Серебряные Города, Аль-Сафир
Сообщения: 2056
Выставка наград
Регистрация: 05.09.2019
Адрес: Серебряные Города, Аль-Сафир
Сообщения: 2056
Выставка наград
По умолчанию
Re: Скрипты

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

Если у вас не работает и окно с несколькими вариантами ответа (см. ЧаВо от Jack_of_Shadows), то адекватно реализовать выбор между несколькими вариантами не выйдет
__________________
С уважением, }{0TT@6bI4
_________________
Группа картостроителей
Там ответы на вопросы, руководства, гайды и прочее
Discord-сервер "Герои 5: S.T.A.L.K.E.R"
Сервер по модификации "Герои 5: S.T.A.L.K.E.R"
_________________
С уважением, }{0TT@6bI4
_________________
Группа картостроителей
Там ответы на вопросы, руководства, гайды и прочее
Discord-сервер "Герои 5: S.T.A.L.K.E.R"
Сервер по модификации "Герои 5: S.T.A.L.K.E.R"
_________________
}{0TT@6bI4 вне форума
Ответить с цитированием
#3979
Старый 01.07.2025, 22:10
  #3979
^
_BlackKnight_
📖
Регистрация: 21.05.2025
Сообщения: 6
Регистрация: 21.05.2025
Сообщения: 6
По умолчанию
Re: Скрипты

Спасибо за помощь, кое-как разобрался. Возможность выбора существ пришлось реализовать через проверку наличия определенных существ в гарнизоне. Костыль, но работает.
_BlackKnight_ вне форума
Ответить с цитированием
#3980
Старый 04.11.2025, 18:03
  #3980
^
temnyrizar
 
Аватар для temnyrizar
📖
Регистрация: 06.06.2025
Адрес: Зияд
Сообщения: 77
Регистрация: 06.06.2025
Адрес: Зияд
Сообщения: 77
По умолчанию
Re: Скрипты

Привет! С сегодняшнего дня начал делать специализации для своего мода. Реализовал три:
 1. Валерия - получает +1 защиту за каждые два уровня
2. Бертран - ежедневно получает 1 ревнителя веры
3. Дункан - получает артефакты из набора львиная отвага за 6, 10, 16 уровни, а боевой дух существ всегда равен 5.

Хотел сделать Аларика - когда герой учит заклинанме света, получает аналог в магии тьмы, но тщетно...

function AlaricSpec()
if KnownHeroSpell("Alaric", SPELL_HASTE) then
TeachHeroSpell("Alaric", SPELL_SLOW)
end
end 

но не работает (
__________________
Модификация "New Era": 3,7%
Модификация "New Era": 3,7%
temnyrizar вне форума
Ответить с цитированием
#3981
Старый 04.11.2025, 19:19
  #3981
^
Jack_of_shadows
 
Аватар для Jack_of_shadows
📖
Регистрация: 08.09.2013
Сообщения: 551
Выставка наград
Регистрация: 08.09.2013
Сообщения: 551
Выставка наград
По умолчанию
Re: Скрипты

temnyrizar, ну так как триггера на получение спеллов нет, очевидно нужно крутить функцию в цикле в отдельном потоке, со всякими там проверками что герой есть, что выдаётся только один раз. То есть обвес функции гораздо сложнее самой функции и может быть реализован кучей разных способов (например крутить отдельный поток всегда, или только когда данный герой появляется у игрока).
__________________
РПГ-сценарий для HoMM5: Путь героя

ЧаВо по созданию карт для HoMM5: ЧаВо
РПГ-сценарий для HoMM5: Путь героя

ЧаВо по созданию карт для HoMM5: ЧаВо
Jack_of_shadows вне форума
Ответить с цитированием
#3982
Старый 04.11.2025, 19:35
  #3982
^
}{0TT@6bI4
 
Аватар для }{0TT@6bI4
📖
Регистрация: 05.09.2019
Адрес: Серебряные Города, Аль-Сафир
Сообщения: 2056
Выставка наград
Регистрация: 05.09.2019
Адрес: Серебряные Города, Аль-Сафир
Сообщения: 2056
Выставка наград
По умолчанию
Re: Скрипты

Нужно написать цикл, который с некоторой периодичностью проверяет наличие заклинания и выдаёт соответствующее:
function AlaricSpec()
  while 1 do
    if ... then

    end
  sleep(1)
  end
end
__________________
С уважением, }{0TT@6bI4
_________________
Группа картостроителей
Там ответы на вопросы, руководства, гайды и прочее
Discord-сервер "Герои 5: S.T.A.L.K.E.R"
Сервер по модификации "Герои 5: S.T.A.L.K.E.R"
_________________
С уважением, }{0TT@6bI4
_________________
Группа картостроителей
Там ответы на вопросы, руководства, гайды и прочее
Discord-сервер "Герои 5: S.T.A.L.K.E.R"
Сервер по модификации "Герои 5: S.T.A.L.K.E.R"
_________________
}{0TT@6bI4 вне форума
Ответить с цитированием
#3983
Старый 04.11.2025, 21:03
  #3983
^
temnyrizar
 
Аватар для temnyrizar
📖
Регистрация: 06.06.2025
Адрес: Зияд
Сообщения: 77
Регистрация: 06.06.2025
Адрес: Зияд
Сообщения: 77
По умолчанию
Re: Скрипты

}{0TT@6bI4Нужно написать цикл, который с некоторой периодичностью проверяет наличие заклинания и выдаёт соответствующее:
function AlaricSpec()
  while 1 do
    if ... then

    end
  sleep(1)
  end
end


таак, прогресс пошел... теперь в консоли пишет "Trigger not found", а до этого просто писало, что герой без армии
__________________
Модификация "New Era": 3,7%
Модификация "New Era": 3,7%
temnyrizar вне форума
Ответить с цитированием
#3984
Старый 05.11.2025, 00:38
  #3984
^
}{0TT@6bI4
 
Аватар для }{0TT@6bI4
📖
Регистрация: 05.09.2019
Адрес: Серебряные Города, Аль-Сафир
Сообщения: 2056
Выставка наград
Регистрация: 05.09.2019
Адрес: Серебряные Города, Аль-Сафир
Сообщения: 2056
Выставка наград
По умолчанию
Re: Скрипты

Код, пожалуйста. А то непонятно, как вы написали триггер и причём здесь армия при выдаче заклинаний 😅
__________________
С уважением, }{0TT@6bI4
_________________
Группа картостроителей
Там ответы на вопросы, руководства, гайды и прочее
Discord-сервер "Герои 5: S.T.A.L.K.E.R"
Сервер по модификации "Герои 5: S.T.A.L.K.E.R"
_________________
С уважением, }{0TT@6bI4
_________________
Группа картостроителей
Там ответы на вопросы, руководства, гайды и прочее
Discord-сервер "Герои 5: S.T.A.L.K.E.R"
Сервер по модификации "Герои 5: S.T.A.L.K.E.R"
_________________
}{0TT@6bI4 вне форума
Ответить с цитированием
#3985
Старый 05.11.2025, 18:20
  #3985
^
temnyrizar
 
Аватар для temnyrizar
📖
Регистрация: 06.06.2025
Адрес: Зияд
Сообщения: 77
Регистрация: 06.06.2025
Адрес: Зияд
Сообщения: 77
По умолчанию
Re: Скрипты

}{0TT@6bI4Код, пожалуйста. А то непонятно, как вы написали триггер и причём здесь армия при выдаче заклинаний 😅

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

а в код я просто добавил то, что вы написали...
when i do
мой код
end
sleep (1)
__________________
Модификация "New Era": 3,7%
Модификация "New Era": 3,7%
temnyrizar вне форума
Ответить с цитированием
#3986
Старый 06.11.2025, 20:43
  #3986
^
}{0TT@6bI4
 
Аватар для }{0TT@6bI4
📖
Регистрация: 05.09.2019
Адрес: Серебряные Города, Аль-Сафир
Сообщения: 2056
Выставка наград
Регистрация: 05.09.2019
Адрес: Серебряные Города, Аль-Сафир
Сообщения: 2056
Выставка наград
По умолчанию
Re: Скрипты

Ну, это не ошибка, а предупреждение, которое можно игнорировать.

А по поводу "Trigger not found" — приведите код целиком, пожалуйста. Явно же ошибка связана с триггерами, которых в примере нет.
__________________
С уважением, }{0TT@6bI4
_________________
Группа картостроителей
Там ответы на вопросы, руководства, гайды и прочее
Discord-сервер "Герои 5: S.T.A.L.K.E.R"
Сервер по модификации "Герои 5: S.T.A.L.K.E.R"
_________________
С уважением, }{0TT@6bI4
_________________
Группа картостроителей
Там ответы на вопросы, руководства, гайды и прочее
Discord-сервер "Герои 5: S.T.A.L.K.E.R"
Сервер по модификации "Герои 5: S.T.A.L.K.E.R"
_________________
}{0TT@6bI4 вне форума
Ответить с цитированием
#3987
Старый 08.11.2025, 16:23
  #3987
^
temnyrizar
 
Аватар для temnyrizar
📖
Регистрация: 06.06.2025
Адрес: Зияд
Сообщения: 77
Регистрация: 06.06.2025
Адрес: Зияд
Сообщения: 77
По умолчанию
Re: Скрипты

}{0TT@6bI4Ну, это не ошибка, а предупреждение, которое можно игнорировать.

А по поводу "Trigger not found" — приведите код целиком, пожалуйста. Явно же ошибка связана с триггерами, которых в примере нет.

function AlaricSpec()
  while 1 do
    if KnownHeroSpell("Alaric", SPELL_HASTE) then
TeachHeroSpell("Alaric", SPELL_SLOW)
    end
  sleep(1)
  end
end
__________________
Модификация "New Era": 3,7%
Модификация "New Era": 3,7%
temnyrizar вне форума
Ответить с цитированием
#3988
Старый 08.11.2025, 17:56
  #3988
^
}{0TT@6bI4
 
Аватар для }{0TT@6bI4
📖
Регистрация: 05.09.2019
Адрес: Серебряные Города, Аль-Сафир
Сообщения: 2056
Выставка наград
Регистрация: 05.09.2019
Адрес: Серебряные Города, Аль-Сафир
Сообщения: 2056
Выставка наград
По умолчанию
Re: Скрипты

temnyrizarfunction AlaricSpec()
  while 1 do
    if KnownHeroSpell("Alaric", SPELL_HASTE) then
TeachHeroSpell("Alaric", SPELL_SLOW)
    end
  sleep(1)
  end
end

Функция KnowHeroSpell, не Known. Следующий код работает, проверил:
function AlaricSpec()
    while 1 do
      if KnowHeroSpell("Alaric", SPELL_HASTE) then
        TeachHeroSpell("Alaric", SPELL_SLOW)
      end
    sleep(1)
    end
end
  
startThread(AlaricSpec)

Ошибка "Trigger not found" в консоли к этому коду отношения не имеет. Вероятно, у вас ошибка в триггере где-то ранее, что прерывает дальнейшее выполнение скрипта - в том числе и спецы аларика. Ищите, где вы ошиблись в названии триггера!

__________________
С уважением, }{0TT@6bI4
_________________
Группа картостроителей
Там ответы на вопросы, руководства, гайды и прочее
Discord-сервер "Герои 5: S.T.A.L.K.E.R"
Сервер по модификации "Герои 5: S.T.A.L.K.E.R"
_________________
С уважением, }{0TT@6bI4
_________________
Группа картостроителей
Там ответы на вопросы, руководства, гайды и прочее
Discord-сервер "Герои 5: S.T.A.L.K.E.R"
Сервер по модификации "Герои 5: S.T.A.L.K.E.R"
_________________
}{0TT@6bI4 вне форума
Ответить с цитированием
#3989
Старый 09.11.2025, 14:22
  #3989
^
temnyrizar
 
Аватар для temnyrizar
📖
Регистрация: 06.06.2025
Адрес: Зияд
Сообщения: 77
Регистрация: 06.06.2025
Адрес: Зияд
Сообщения: 77
По умолчанию
Re: Скрипты

}{0TT@6bI4Функция KnowHeroSpell, не Known. Следующий код работает, проверил:
function AlaricSpec()
    while 1 do
      if KnowHeroSpell("Alaric", SPELL_HASTE) then
        TeachHeroSpell("Alaric", SPELL_SLOW)
      end
    sleep(1)
    end
end
  
startThread(AlaricSpec)

Ошибка "Trigger not found" в консоли к этому коду отношения не имеет. Вероятно, у вас ошибка в триггере где-то ранее, что прерывает дальнейшее выполнение скрипта - в том числе и спецы аларика. Ищите, где вы ошиблись в названии триггера!



Ошибка появлялась именно тогда, когда в коде была Специализация Аларика! После удаления из кода ошибки не стало. Проверю чуть позже 
__________________
Модификация "New Era": 3,7%
Модификация "New Era": 3,7%
temnyrizar вне форума
Ответить с цитированием
#3990
Старый 14.12.2025, 11:38
  #3990
^
Haw3k
📖
Регистрация: 26.11.2025
Сообщения: 2
Регистрация: 26.11.2025
Сообщения: 2
По умолчанию
Re: Скрипты

Привет, скажите пожалуйста а можно ли скриптами заблокировать возможность получить определенный навык или два при взятии навыка?
Haw3k вне форума
Ответить с цитированием
Ответ
Страница 266 из 267


Опции темы



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


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

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