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

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

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

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

После создания в редакторе xdb файла нужно щёлкнуть по нему ПКМ и нажать Export. Тогда в bin должен сгенерироваться файл в папке Sounds.

Или — посмотрите uid в свойствах xdb файла, скопируйте его, затем поместите файл звука в папку bin/Sounds/ и переименуйте файл — сотрите разрешение .ogg и оставьте только скопированный uid.
__________________
С уважением, }{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 вне форума
Ответить с цитированием
#3677
Старый 13.06.2022, 16:48
  #3677
^
Марта
📖
Регистрация: 31.01.2020
Сообщения: 80
Регистрация: 31.01.2020
Сообщения: 80
По умолчанию
Re: Скрипты

Вах, вот спасибо, Хоттабыч. Обязательно попробую.
Марта вне форума
Ответить с цитированием
#3678
Старый 14.06.2022, 23:02
  #3678
^
Азгалор
 
Аватар для Азгалор
📖
Регистрация: 24.04.2016
Сообщения: 205
Регистрация: 24.04.2016
Сообщения: 205
По умолчанию
Re: Скрипты

Привет! В общем, взялся снова за боевой скрипт, хочу прописать 2 файтинга с двумя героями, но уже просто голову сломал как бы мне это всё дело оптимизировать. Дело в том, что у меня(пока что) нет задумки на то что эти герои будут прям боссы-боссы, на которых игрок только нападает - они пока как бы обычные боты с большой армией, бегают-кормятся всем что есть на карте, и вот мне хочется чтобы мой герой напав на них/они напав на моего героя запускали скрипт файтинга. Пока что представляю только прописывать дважды весь комбат на случай если игрок нападает или же защищается, но может можно это как-то упростить чтобы игра один раз отследила кто на кого вилы поднял и во всех функциях(типа UnitCastGlobalSpell) использовать переменную нужного героя?
Азгалор вне форума
Ответить с цитированием
#3679
Старый 15.06.2022, 23:19
  #3679
^
Jewily
 
Аватар для Jewily
📖
Регистрация: 25.09.2016
Сообщения: 140
Jewily#4267
Регистрация: 25.09.2016
Сообщения: 140
Jewily#4267
По умолчанию
Re: Скрипты

АзгалорПривет! В общем, взялся снова за боевой скрипт, хочу прописать 2 файтинга с двумя героями, но уже просто голову сломал как бы мне это всё дело оптимизировать. Дело в том, что у меня(пока что) нет задумки на то что эти герои будут прям боссы-боссы, на которых игрок только нападает - они пока как бы обычные боты с большой армией, бегают-кормятся всем что есть на карте, и вот мне хочется чтобы мой герой напав на них/они напав на моего героя запускали скрипт файтинга. Пока что представляю только прописывать дважды весь комбат на случай если игрок нападает или же защищается, но может можно это как-то упростить чтобы игра один раз отследила кто на кого вилы поднял и во всех функциях(типа UnitCastGlobalSpell) использовать переменную нужного героя?
Самый лучший вариант оптимизации - это сделать только вариант, когда нападаете вы. А как уж сделать, то дело ваше. В целом, я конечно таким не занимался, но если повесить триггер касания на вашего героя, то можно "отключить" штатное нападение, и по вот этому триггеру врубать взаимодействие и MakeHeroInterractWithObject(вроде так она называется), как бы нападать на врага. Тогда скрипт будет один.
Возможно я не прав по поводу отключение штатного нападения, но вы поэксперементируйте с SetObjectEnabled и т.д. Костылей тут можно придумать много. Например сделать поток, который будет проверять дистанцию между вашими героями, и в случае расстояния в 2 тайла, ваш герой будет по этому скрипту нападать на врага...(лучше этот вариант не используйте )
__________________




Не уходи безропотно во тьму,
Будь яростней пред ночью всех ночей,
Не дай погаснуть свету своему!

Хоть мудрый знает – не осилишь тьму
Во мгле словами не зажжёшь лучей –
Не уходи безропотно во тьму.




                                                                                       




Не уходи безропотно во тьму,
Будь яростней пред ночью всех ночей,
Не дай погаснуть свету своему!

Хоть мудрый знает – не осилишь тьму
Во мгле словами не зажжёшь лучей –
Не уходи безропотно во тьму.




                                                                                       
Jewily вне форума
Ответить с цитированием
#3680
Старый 15.06.2022, 23:34
  #3680
^
Азгалор
 
Аватар для Азгалор
📖
Регистрация: 24.04.2016
Сообщения: 205
Регистрация: 24.04.2016
Сообщения: 205
По умолчанию
Re: Скрипты

JewilyСамый лучший вариант оптимизации - это сделать только вариант, когда нападаете вы. А как уж сделать, то дело ваше. В целом, я конечно таким не занимался, но если повесить триггер касания на вашего героя, то можно "отключить" штатное нападение, и по вот этому триггеру врубать взаимодействие и MakeHeroInterractWithObject(вроде так она называется), как бы нападать на врага. Тогда скрипт будет один.
Возможно я не прав по поводу отключение штатного нападения, но вы поэксперементируйте с SetObjectEnabled и т.д. Костылей тут можно придумать много. Например сделать поток, который будет проверять дистанцию между вашими героями, и в случае расстояния в 2 тайла, ваш герой будет по этому скрипту нападать на врага...(лучше этот вариант не используйте )
Да уж, обидно что нельзя героев аргументами передавать. Увы, ничего из того что пробовал в самом комбат-скрипте не получилось, тестил на функции playAnimation и постоянно получал ошибку "Hero "герой" doesnt exist", поэтому пришёл к выводу что в принципе боевой скрипт - это отдельный скрипт, так что можно его немного и нагрузить. Так что, пропишу дважды файтинг в зависимости от сторон героев. Однако, спасибо за ответ и рекомендацию
Азгалор вне форума
Ответить с цитированием
#3681
Старый 16.06.2022, 00:10
  #3681
^
Jewily
 
Аватар для Jewily
📖
Регистрация: 25.09.2016
Сообщения: 140
Jewily#4267
Регистрация: 25.09.2016
Сообщения: 140
Jewily#4267
По умолчанию
Re: Скрипты

АзгалорДа уж, обидно что нельзя героев аргументами передавать. Увы, ничего из того что пробовал в самом комбат-скрипте не получилось, тестил на функции playAnimation и постоянно получал ошибку "Hero "герой" doesnt exist", поэтому пришёл к выводу что в принципе боевой скрипт - это отдельный скрипт, так что можно его немного и нагрузить. Так что, пропишу дважды файтинг в зависимости от сторон героев. Однако, спасибо за ответ и рекомендацию
Теоретически, я думаю, ваш вопрос можно решить, и решить правильно. Однако я не пробовал писать комбат скрипты лично, поэтому тонкости механики могу просто не понимать, поэтому помочь не смогу.  Да и раз Хоттабыч отмолчался, значит это либо геморой, либо незяsmile04
__________________




Не уходи безропотно во тьму,
Будь яростней пред ночью всех ночей,
Не дай погаснуть свету своему!

Хоть мудрый знает – не осилишь тьму
Во мгле словами не зажжёшь лучей –
Не уходи безропотно во тьму.




                                                                                       




Не уходи безропотно во тьму,
Будь яростней пред ночью всех ночей,
Не дай погаснуть свету своему!

Хоть мудрый знает – не осилишь тьму
Во мгле словами не зажжёшь лучей –
Не уходи безропотно во тьму.




                                                                                       
Jewily вне форума
Ответить с цитированием
#3682
Старый 16.06.2022, 14:26
  #3682
^
}{0TT@6bI4
 
Аватар для }{0TT@6bI4
📖
Регистрация: 05.09.2019
Адрес: Серебряные Города, Аль-Сафир
Сообщения: 1965
Выставка наград
Регистрация: 05.09.2019
Адрес: Серебряные Города, Аль-Сафир
Сообщения: 1965
Выставка наград
По умолчанию
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 вне форума
Ответить с цитированием
#3683
Старый 26.06.2022, 08:17
  #3683
^
Марта
📖
Регистрация: 31.01.2020
Сообщения: 80
Регистрация: 31.01.2020
Сообщения: 80
По умолчанию
Re: Скрипты

Хелп, люди добрые, особенно, Хоттабыч (если вы не в отпуске).

Такой вопрос про текстуры: правильно ли я поняла, что когда я меняю их через таблицу по этому методу:
}{0TT@6bI4Изменение текстур проще проводить в редакторе:
Настройте расширенный редактор карт и выберите таблицу Texture. Когда откроете редактор, убедитесь, что кнопка Resource => Close MOD горит серым (если нет, нажмите) В таблице Texture будет список всех текстур по папкам; вы можете открывать папки и текстуры двойным щелчком, при открытии текстуры она полностью отобразится в чёрном пространстве справа. В свойствах текстуры (если свойств нет, нажмите View => Selection Properties Window) найдите SrcFile и нажмите три точки. Выберите из папки Complete вашей игры нужный файл. Разумеется, перед началом работы вам нужно создать в папке игры папку Complete и положить в неё новую текстуру в формате tga. После того, как выбрали текстуру в SrcFile, нажмите пкм по файлу текстуры в дереве свойств => Export. Всё, текстура сделана.

- редактор просто автоматически делает то же, что я раньше делала вручную, - когда я сама распихивала их по папкам в папке Дата?

И второй вопрос: Что значит "закинуть текстуры в карту"? Как их туда закинуть? У меня-то они отображаются, но, полагаю, они должны быть где-то в самой моей карте, а не в папке Дата, чтобы они отобразились у всех.
Я должна распаковать карту, создать там какую-то папку, сложить туда текстуры, и запаковать обратно?
Марта вне форума
Ответить с цитированием
#3684
Старый 26.06.2022, 15:52
  #3684
^
}{0TT@6bI4
 
Аватар для }{0TT@6bI4
📖
Регистрация: 05.09.2019
Адрес: Серебряные Города, Аль-Сафир
Сообщения: 1965
Выставка наград
Регистрация: 05.09.2019
Адрес: Серебряные Города, Аль-Сафир
Сообщения: 1965
Выставка наград
По умолчанию
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 вне форума
Ответить с цитированием
#3685
Старый 27.06.2022, 04:04
  #3685
^
Марта
📖
Регистрация: 31.01.2020
Сообщения: 80
Регистрация: 31.01.2020
Сообщения: 80
По умолчанию
Re: Скрипты

Спасибо, попробую.
Марта вне форума
Ответить с цитированием
#3686
Старый 13.07.2022, 05:33
  #3686
^
Марта
📖
Регистрация: 31.01.2020
Сообщения: 80
Регистрация: 31.01.2020
Сообщения: 80
По умолчанию
Re: Скрипты

Сорри, но я, однако, не поняла про текстуры.

Предположим, я беру для новой героини модель суккубы.
Рисую для неё свои текстуры.
Как мне теперь прописать отдельную модель, и как прицепить к этой модели свои текстуры? Я ж не хочу, чтобы все суккубы на карте выглядели как моя суккуба-героиня.

Я вообще не поняла, как текстура привязывается к модели, - в файлах (Model).xdb нет указания на текстуру.
И тем более, я не поняла, как прописать свою модель (то есть, условно свою, взятую в распакованной игре), чтобы эти текстуры на неё прицепить.

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

Вот тут:
https://forum.heroesworld.ru/showthread.php?t=14902
есть мод, меняющий модели героев.
Видимо, мне надо сделать что-то подобное, в дополнение к карте?
Но как вообще создавать файлы h5u? Или это не обязательно делать, чтобы получить на карте героя с уникальной внешностью?
Марта вне форума
Ответить с цитированием
#3687
Старый 13.07.2022, 11:20
  #3687
^
}{0TT@6bI4
 
Аватар для }{0TT@6bI4
📖
Регистрация: 05.09.2019
Адрес: Серебряные Города, Аль-Сафир
Сообщения: 1965
Выставка наград
Регистрация: 05.09.2019
Адрес: Серебряные Города, Аль-Сафир
Сообщения: 1965
Выставка наград
По умолчанию
Re: Скрипты

h5u это формат архива. То есть вы можете взять любой zip-файл и переименовать его в h5u формат, ничего сложного.

У вас есть новая текстура. Зайдите в файл героя, посмотрите путь к .(Model) файлу. В свойствах этого файла посмотрите пути к материалам в materials

Вам нужно создать копии файлов этой модели и материалов, откройте архив мода и сделайте копии указанных файлов. Надеюсь, как дублировать файлы, писать не надо.

Новым копиям дайте понятное имя или просто добавьте двойку в конце.

В редакторе карт этому герою в свойствах Character'а пропишите путь к копии .Model файла (Модель2). Если путь вставился, остался в строке, значит, всё ввели правильно, нажимайте три точки, откроются свойства модель-файла. В списке материалов пропишите путь к копиям файлов-материала.

Потом на каждом материале нажмите три точки, откроются свойства материала. В графе Texture нажмите New, введите имя новой текстуры; откроется окно свойств текстуры, поставьте Texture Type DXT3, ConvertType CONVERT_ORDINARY, REGULAR, CLAP. В SrcFile выберите из папки Complete вашей игры текстуру в формате tga (если нет папки, создайте и положите туда).
Потом в NMips поставьте двойку.

На имени файла текстуры в дереве файлов (слева в окне свойств) нажмите ПКМ => Export

когда экспорт закончится, прожмите ОК везде.

Операцию повторить с остальными материалами, если их больше 1.
__________________
С уважением, }{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 вне форума
Ответить с цитированием
#3688
Старый 13.07.2022, 15:55
  #3688
^
Марта
📖
Регистрация: 31.01.2020
Сообщения: 80
Регистрация: 31.01.2020
Сообщения: 80
По умолчанию
Re: Скрипты

Ух, как всё сложно-то. Спасибо огромное, буду пробовать.
Я как раз тут догадалась, что модель связана с текстурой через Material, попробую прописать.
Марта вне форума
Ответить с цитированием
#3689
Старый 20.07.2022, 17:10
  #3689
^
Shiroyasha2910
📖
Регистрация: 07.07.2019
Сообщения: 42
Регистрация: 07.07.2019
Сообщения: 42
По умолчанию
Re: Скрипты

function dolmenF ()
  MessageBox ("/Maps/Multiplayer/JoyPatriot/Tekst/dolmens.txt");
     Trigger(OBJECT_TOUCH_TRIGGER, "dolmen1", nil);
end;

SetObjectEnabled("dolmen1",false);

Trigger(OBJECT_TOUCH_TRIGGER, "dolmen1", "dolmenF");

 

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

Shiroyasha2910 вне форума
Ответить с цитированием
#3690
Старый 20.07.2022, 20:48
  #3690
^
Долгий
 
Аватар для Долгий
📖
Регистрация: 23.04.2019
Сообщения: 87
Регистрация: 23.04.2019
Сообщения: 87
По умолчанию
Re: Скрипты

Shiroyasha2910

function dolmenF ()
  MessageBox ("/Maps/Multiplayer/JoyPatriot/Tekst/dolmens.txt");
     Trigger(OBJECT_TOUCH_TRIGGER, "dolmen1", nil);
end;

SetObjectEnabled("dolmen1",false);

Trigger(OBJECT_TOUCH_TRIGGER, "dolmen1", "dolmenF");

 

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


Путь текста не должен содержать / перед Maps?

Ну а так, всегда смотрите, что консоль говорит.
Долгий вне форума
Ответить с цитированием
Ответ
Страница 246 из 260


Опции темы



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


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

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