Скрипты для начинающих - Страница 12 - Форум HeroesWorld-а

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

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

Ответ
Страница 12 из 28
 
Опции темы
#166
Старый 08.02.2018, 21:56
  #166
^
Годрикова впадина
📖
Регистрация: 09.01.2018
Сообщения: 139
Регистрация: 09.01.2018
Сообщения: 139
По умолчанию
Re: Скрипты для начинающих

Насчёт горения это можно посмотреть в 2 миссии кампании пробуждение зла, а насчёт Коровина-помоему как то через тригер, но я неуверен поэтому этому можно научится самому в руководстве от Нивала или посмотреть в сценарии 2 сестры ну и ещё вариан полистать ветку по скриптам это где то было.
Годрикова впадина вне форума
Ответить с цитированием
#167
Старый 07.03.2018, 18:26
  #167
^
JORAJAN
📖
Регистрация: 24.02.2013
Сообщения: 35
Регистрация: 24.02.2013
Сообщения: 35
По умолчанию
Re: Скрипты для начинающих

Есть такой вопрос по скриптам
писал когда то карту не помню на какой версии игры похожа 3.0
и с каким модом
долго работал над скриптом
щас решил написать карту для других героев
не могу открыть карту
помогите советом
или содействием
JORAJAN вне форума
Ответить с цитированием
#168
Старый 07.03.2018, 20:53
  #168
^
Jack_of_shadows
 
Аватар для Jack_of_shadows
📖
Регистрация: 08.09.2013
Сообщения: 507
Выставка наград
Регистрация: 08.09.2013
Сообщения: 507
Выставка наград
По умолчанию
Re: Скрипты для начинающих

JORAJAN, файл карты точно рабочий? Его размер не 22 байта? С помощью архиватора открывается и показывает каталоги внутри? Другие карты редактор открывает?
Jack_of_shadows вне форума
Ответить с цитированием
#169
Старый 08.03.2018, 04:04
  #169
^
JORAJAN
📖
Регистрация: 24.02.2013
Сообщения: 35
Регистрация: 24.02.2013
Сообщения: 35
По умолчанию
Re: Скрипты для начинающих

Jack_of_shadowsJORAJAN, файл карты точно рабочий? Его размер не 22 байта? С помощью архиватора открывается и показывает каталоги внутри? Другие карты редактор открывает?
кара играет но редакторами не открывается перепробовал массу
архиватором открывает... но где там искать ?
JORAJAN вне форума
Ответить с цитированием
#170
Старый 08.03.2018, 12:32
  #170
^
Jack_of_shadows
 
Аватар для Jack_of_shadows
📖
Регистрация: 08.09.2013
Сообщения: 507
Выставка наград
Регистрация: 08.09.2013
Сообщения: 507
Выставка наград
По умолчанию
Re: Скрипты для начинающих

Скиньте как вариант карту сюда, я могу проверить откроет ли у меня. Раньше никогда не слышал о такой проблеме.
Jack_of_shadows вне форума
Ответить с цитированием
#171
Старый 09.03.2018, 15:10
  #171
^
JORAJAN
📖
Регистрация: 24.02.2013
Сообщения: 35
Регистрация: 24.02.2013
Сообщения: 35
По умолчанию
Re: Скрипты для начинающих

Jack_of_shadowsСкиньте как вариант карту сюда, я могу проверить откроет ли у меня. Раньше никогда не слышал о такой проблеме.

все спасибо нашел проблему из за бардака на дисках
JORAJAN вне форума
Ответить с цитированием
#172
Старый 20.03.2018, 10:55
  #172
^
JORAJAN
📖
Регистрация: 24.02.2013
Сообщения: 35
Регистрация: 24.02.2013
Сообщения: 35
По умолчанию
Re: Скрипты для начинающих

создал карту на 8 игроков или компов .. заметил что комп играет как то нелепо один ИИ сразу не захватывая шахт и двелингов и даже пустого города его рассы бежит прямиком к сопернику и захватывает его потому что тот ваще чуть походил и все ..........
у меня вопрос... можно ли настроить ИИ для игры на данной карте порядок обхода мест ?
JORAJAN вне форума
Ответить с цитированием
#173
Старый 20.03.2018, 21:04
  #173
^
AstralLein
 
Аватар для AstralLein
📖
Регистрация: 02.06.2017
Адрес: В Империи Незанхельм.
Сообщения: 3900
Регистрация: 02.06.2017
Адрес: В Империи Незанхельм.
Сообщения: 3900
По умолчанию
Re: Скрипты для начинающих

Кстати, тот же вопрос... ну, немного иначе.

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

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


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

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

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

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

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

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


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

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

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

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

Карты для героев 5:
"Рок Гримхейма" - в активной разработке
AstralLein сейчас на форуме
Ответить с цитированием
#174
Старый 08.05.2018, 10:41
  #174
^
zahar0z
 
Аватар для zahar0z
📖
Регистрация: 09.06.2017
Сообщения: 588
Регистрация: 09.06.2017
Сообщения: 588
По умолчанию
Re: Скрипты для начинающих

Доброго времени суток всем.

Кто нибудь может подсказать есть ли скрипт, которым можно менять, во время игры, состав существ нанимаемых в заставе? Речь идёт о двеллингах существ 4-7го уровня, находящихся на карте. То есть, в редакторе карт, поставив такой двеллинг, в его свойствах можно задать кто именно из 4-7уровня существ будет наниматься. Есть ли команда, чтобы то же самое сделать скриптом во время игры. К примеру, в двеллинге нанимаются друиды, после срабатывания скрипта, друиды уже не нанимаются, а нанимаются драконы.

Или, хотя бы, есть ли команда, управляющая приростом нанимаемых существ? Аналогичная "SetObjectDwellingCreatures", но для двеллинга, находящегося за пределами города. Возможно я как-то неправильно пользуюсь "SetObjectDwellingCreatures"? У меня она выглядит вот так - "SetObjectDwellingCreatures( "altdwell", CREATURE_BLADE_JUGGLER, 50 );"
Для города она работает как надо, но когда я пытаюсь применить её к "уличному" двеллингу, скрипт выдаёт ошибку, что то вроде "altdwell" ис нот таун обжект.

Заранее благодарю если кто поделится полезной информацией.
zahar0z вне форума
Ответить с цитированием
#175
Старый 08.05.2018, 18:36
  #175
^
Jack_of_shadows
 
Аватар для Jack_of_shadows
📖
Регистрация: 08.09.2013
Сообщения: 507
Выставка наград
Регистрация: 08.09.2013
Сообщения: 507
Выставка наград
По умолчанию
Re: Скрипты для начинающих

zahar0z есть вариант заменить двеллинг на другой с помощью:
ReplaceDwelling(СКРИПТОВОЕ_ИМЯ, ИДЕНТИФИКАТОР_ГОРОДА, СУЩЕСТВО_1, СУЩЕСТВО_2, СУЩЕСТВО_3, СУЩЕСТВО_4)
Сколько существ было доступно в изначальном двеллинге, столько максимум может быть в новом. Существ можно выставлять каких угодно, без привязки к типу двеллинга.
__________________
РПГ-сценарий для HoMM5: Путь героя

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

ЧаВо по созданию карт для HoMM5: ЧаВо
Jack_of_shadows вне форума
Ответить с цитированием
#176
Старый 09.05.2018, 08:47
  #176
^
zahar0z
 
Аватар для zahar0z
📖
Регистрация: 09.06.2017
Сообщения: 588
Регистрация: 09.06.2017
Сообщения: 588
По умолчанию
Re: Скрипты для начинающих

Благодарю, помогло. Не знал, что этой командой можно выставлять существ без привязки к фракции.

Добавлено через 2 часа 42 минуты
Снова спрашиваю совета.

Написал вот такой скрипт.
function activatorF ()
s_dwe_fa=GetObjectNamesByType("BUILDING_FAIRIE_TREE");
ReplaceDwelling(s_dwe_fa[0], TOWN_PRESERVE, 991 );
Trigger(OBJECT_TOUCH_TRIGGER, "activator", nil );
end;

Trigger(OBJECT_TOUCH_TRIGGER, "activator", "activatorF" );

SetObjectEnabled("activator", nil);

Скрипт заменяет существ доступных для найма, в первом найденном объекте с типом "BUILDING_FAIRIE_TREE" на 991-ое нцф существо. Делается это при прикосновению к "activator", но это уже мелочи и чисто для теста.

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

И сразу второй вопрос, для уточнения, чисто теоретически, можно же прописать такой скрипт, куда то в файл корневых скриптов или вроде того, чтобы он по автомату срабатывал на всех картах?

Заранее благодарю за помощь.
zahar0z вне форума
Ответить с цитированием
#177
Старый 09.05.2018, 11:37
  #177
^
Jack_of_shadows
 
Аватар для Jack_of_shadows
📖
Регистрация: 08.09.2013
Сообщения: 507
Выставка наград
Регистрация: 08.09.2013
Сообщения: 507
Выставка наград
По умолчанию
Re: Скрипты для начинающих

zahar0z, а ваш скрипт работает? Есть подозрение на s_dwe_fa[0], так как если не задаватать индексы вручную, то по умолчанию таблицы здесь индексируются с 1.
Чтобы работало для всех зданий, просто обойти все с помощью цикла:
	s_dwe_fa=GetObjectNamesByType("BUILDING_FAIRIE_TREE");
for i, dwe in s_dwe_fa do
  ReplaceDwelling(dwe, TOWN_PRESERVE, 991 );
end
Чтобы работало на всех картах, наверное надо править какой-нибудь скрипт из data.pak/scripts/: advmap-startup.lua или advmap-common.lua или common.lua.
__________________
РПГ-сценарий для HoMM5: Путь героя

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

ЧаВо по созданию карт для HoMM5: ЧаВо
Jack_of_shadows вне форума
Ответить с цитированием
#178
Старый 09.05.2018, 23:38
  #178
^
zahar0z
 
Аватар для zahar0z
📖
Регистрация: 09.06.2017
Сообщения: 588
Регистрация: 09.06.2017
Сообщения: 588
По умолчанию
Re: Скрипты для начинающих

Ещё раз спасибо за помощь, сработало и с циклом и с advmap-common.lua.

П.С. да, тот скрипт работал так как я его описал.
zahar0z вне форума
Ответить с цитированием
#179
Старый 10.05.2018, 16:10
  #179
^
Андраил
 
Аватар для Андраил
📖
Регистрация: 04.08.2016
Сообщения: 578
Регистрация: 04.08.2016
Сообщения: 578
По умолчанию
Re: Скрипты для начинающих

Везёт же людям.
Вот у меня скрипты вообще не работают, хотя ввожу их правильно. (Пользуюсь программой HoMM5 MapScriptEditor

Добавлено через 1 минуту
Наткнулся на ЧаВо. Быть може, оно мне поможет

Добавлено через 16 часов
Чудо!
Во-первых, в редакторе карт открылся и не вылетел редактор скриптов(!).
Во-вторых, сами скрипты заработали. Похоже, где-то я тупил
__________________
Справедливость - авторский глобальный мод

ColouredText - список заклинаний и их уровень в описании существ-колдунов
Справедливость - авторский глобальный мод

ColouredText - список заклинаний и их уровень в описании существ-колдунов
Андраил вне форума
Ответить с цитированием
#180
Старый 11.05.2018, 06:08
  #180
^
zahar0z
 
Аватар для zahar0z
📖
Регистрация: 09.06.2017
Сообщения: 588
Регистрация: 09.06.2017
Сообщения: 588
По умолчанию
Re: Скрипты для начинающих

И снова всем доброго времени суток, и снова я с вопросами.

Написал вот такое.
function capt_alt_dw (prevowner, newowner, hero, dwell )
alt_dw_x,alt_dw_y,alt_dw_fl = GetObjectPosition(dwell);
QuestionBox("текст c вопросом бла бла бла", "add_alt_dw", nil);
end;

function add_alt_dw ()
for i, pix_dw in allpix_dw do
pix_dw_x,pix_dw_y,pix_dw_fl = GetObjectPosition(pix_dw);
if pix_dw_x == alt_dw_x and
pix_dw_y == alt_dw_y and
pix_dw_fl == alt_dw_fl then
sleep(1);
ReplaceDwelling(pix_dw, TOWN_ACADEMY, 991 );
end;
end;
end;


allpix_dw = GetObjectNamesByType("BUILDING_FAIRIE_TREE");
for i, pix_dw in allpix_dw do
Trigger(OBJECT_CAPTURE_TRIGGER, pix_dw, "capt_alt_dw" );
end;


Теперь, при захвате, любого двеллинга фей на карте, выскакивает вопрос, в случае положительного ответа, строение перестраивается в альтернативный двеллинг с существом нцф 991.

Вся проблема была в том, что команда QuestionBox ссылается на новую функцию, в которой значение "dwell" из функции "capt_alt_dw" теряется, поэтому игре невозможно было задать, какой именно двеллинг перестраивать в этот момент. У меня это пока решено через сравнивание местоположения объектов, но, может это можно сделать как-то адекватнее и проще?

И самый главный вопрос, из за чего этот скрипт не работает на оригинальных мультиплеерных картах в мультиплеере? Исполнение скрипта прописано в advmap-startup.lua. На тех же оригинальных мультиплеерных картах, в сингле, скрипт работает. Так же он работает и на тестовой мультиплеерной карте сделанной мной, правда для этого его нужно прописать в саму карту. Но на оригинальных в мультиплеере ни в какую. Кто нибудь знает в чём причина этого и как это исправить?

Кроме того, есть другой маленький баг, когда герой захватывает двеллинг, сразу выскакивает окно найма, а вопрос о перестройке появляется только после того, как герой из этого окна выйдет. Таким образом, в случае с перестройкой, герой получает возможность нанять прирост и из оригинального строения и из альтернативного, ии собственно так и делает. Может у кого есть идеи как решить эту проблему? "Выключать" строения до касания игрока тоже не вариант, т.к. в таком случае ии игнорирует эти строения.


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

Как обычно, заранее благодарю за помощь.
zahar0z вне форума
Ответить с цитированием
Ответ
Страница 12 из 28


Опции темы



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


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

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