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

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

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

Ответ
Страница 214 из 225
 
Опции темы
#3196
Старый 25.07.2020, 21:11
  #3196
^
Gerter
 
Аватар для Gerter
📖
Регистрация: 16.07.2012
Адрес: Санкт-Петербург
Сообщения: 766
pegn0ly#9113
Выставка наград
Регистрация: 16.07.2012
Адрес: Санкт-Петербург
Сообщения: 766
pegn0ly#9113
Выставка наград
По умолчанию
Re: Скрипты

в общем, проблема тут описана https://forum.heroesworld.ru/showpos...postcount=5025. Там же есть и фикс, но он немного костыльный и "заметный" для игрока
Gerter вне форума
Ответить с цитированием
#3197
Старый 25.07.2020, 21:18
  #3197
^
Долгий
 
Аватар для Долгий
📖
Регистрация: 23.04.2019
Сообщения: 36
Регистрация: 23.04.2019
Сообщения: 36
По умолчанию
Re: Скрипты

Фух.. Данная проблема меня не коснётся, у меня только PvE
Долгий вне форума
Ответить с цитированием
#3198
Старый 29.07.2020, 17:26
  #3198
^
}{0TT@6bI4
 
Аватар для }{0TT@6bI4
📖
Регистрация: 05.09.2019
Адрес: Серебряные Города, Аль-Сафир
Сообщения: 981
Выставка наград
Регистрация: 05.09.2019
Адрес: Серебряные Города, Аль-Сафир
Сообщения: 981
Выставка наград
По умолчанию
Re: Скрипты

Столкнулся с такой проблемой: при выводе TalkBox'а с переменными внутри и менее, чем 5 ответами
	TalkBoxForPlayers(PLAYER_1, icon, nil, {text, var1=variable_1, var2=variable_2, var3=variable_3}, nil, nil, 0, title, GetMapDataPath().."ChooseAnswer.txt", 0, GetMapDataPath().."OK.txt");
игра сама добавляет 1 вариант ответа с текстом из основного текста (параметр text).

БЕЗ ПЕРЕМЕННЫХ:



С ПЕРЕМЕННЫМИ:



Если у кого-то есть идеи, как это исправить и отчего сиё произошло, очень был бы рад вас выслушать.
__________________
С уважением, }{0TT@6bI4
_________________
Группа картостроителей
Там ответы на вопросы, руководства, гайды и прочее
_________________
С уважением, }{0TT@6bI4
_________________
Группа картостроителей
Там ответы на вопросы, руководства, гайды и прочее
_________________
}{0TT@6bI4 вне форума
Ответить с цитированием
#3199
Старый 18.08.2020, 21:44
  #3199
^
Рыцарь Бездны
 
Аватар для Рыцарь Бездны
📖
Регистрация: 24.07.2012
Сообщения: 88
Регистрация: 24.07.2012
Сообщения: 88
По умолчанию
Re: Скрипты

Добрый день, подскажите пожалуйста, столкнулся с проблемой в данном участке скрипта.

function fb1 ()
RemoveHeroCreatures("RedHeavenHero03",8,20);
sleep(1);
RemoveHeroCreatures("Biara",20,1*D);
sleep(1);
StartDialogScene("/Maps/SingleMissions/Warprolog/StartScene2/DialogScene.xdb#xpointer(/DialogScene)");
sleep(1);
MoveHeroRealTime("Biara", 88, 59, GROUND);
sleep(1);
Trigger(REGION_ENTER_AND_STOP_TRIGGER, "stfb1", "fb1",nil);
end;

Trigger(REGION_ENTER_AND_STOP_TRIGGER, "stfb1", "fb1");

Дело в том, что после того как Биара делает ход, эта самая катсцена StartScene2 играет второй раз, именно в рамках этого триггера. Больше никаких её упоминаний нет. Кто разбирается, подскажите пожалуйста, в чём может быть дело. Всю голову уже сломал.
Рыцарь Бездны вне форума
Ответить с цитированием
#3200
Старый 18.08.2020, 22:11
  #3200
^
Ment
 
Аватар для Ment
📖
Регистрация: 30.10.2009
Адрес: Национальный заповедник
Сообщения: 23324
Регистрация: 30.10.2009
Адрес: Национальный заповедник
Сообщения: 23324
По умолчанию
Re: Скрипты

Подозреваю, что Биара у вас тоже попадает в регион и запускает триггер по второй, а отключить вы его не успели, так как sleep. Попробуйте так:

function fb1 ()
Trigger(REGION_ENTER_AND_STOP_TRIGGER, "stfb1", "fb1",nil);
RemoveHeroCreatures("RedHeavenHero03",8,20);
sleep(1);
RemoveHeroCreatures("Biara",20,1*D);
sleep(1);
StartDialogScene("/Maps/SingleMissions/Warprolog/StartScene2/DialogScene.xdb#xpointer(/DialogScene)");
sleep(1);
MoveHeroRealTime("Biara", 88, 59, GROUND);
sleep(1);
end;

Trigger(REGION_ENTER_AND_STOP_TRIGGER, "stfb1", "fb1");
__________________
"Мечты не уход от действительности, а средство приблизиться к ней."











Стикеры GBF в Telegram
"Мечты не уход от действительности, а средство приблизиться к ней."











Стикеры GBF в Telegram
Ment вне форума
Ответить с цитированием
#3201
Старый 18.08.2020, 22:13
  #3201
^
}{0TT@6bI4
 
Аватар для }{0TT@6bI4
📖
Регистрация: 05.09.2019
Адрес: Серебряные Города, Аль-Сафир
Сообщения: 981
Выставка наград
Регистрация: 05.09.2019
Адрес: Серебряные Города, Аль-Сафир
Сообщения: 981
Выставка наград
По умолчанию
Re: Скрипты

Рыцарь БездныДобрый день, подскажите пожалуйста, столкнулся с проблемой в данном участке скрипта.

function fb1 ()
RemoveHeroCreatures("RedHeavenHero03",8,20);
sleep(1);
RemoveHeroCreatures("Biara",20,1*D);
sleep(1);
StartDialogScene("/Maps/SingleMissions/Warprolog/StartScene2/DialogScene.xdb#xpointer(/DialogScene)");
sleep(1);
MoveHeroRealTime("Biara", 88, 59, GROUND);
sleep(1);
Trigger(REGION_ENTER_AND_STOP_TRIGGER, "stfb1", "fb1",nil);
end;

Trigger(REGION_ENTER_AND_STOP_TRIGGER, "stfb1", "fb1");

Дело в том, что после того как Биара делает ход, эта самая катсцена StartScene2 играет второй раз, именно в рамках этого триггера. Больше никаких её упоминаний нет. Кто разбирается, подскажите пожалуйста, в чём может быть дело. Всю голову уже сломал.

Как минимум выделенный красным участок кусок кода не нужен. И зануление триггера лучше производить перед другими операциями.
__________________
С уважением, }{0TT@6bI4
_________________
Группа картостроителей
Там ответы на вопросы, руководства, гайды и прочее
_________________
С уважением, }{0TT@6bI4
_________________
Группа картостроителей
Там ответы на вопросы, руководства, гайды и прочее
_________________
}{0TT@6bI4 вне форума
Ответить с цитированием
#3202
Старый 19.08.2020, 16:02
  #3202
^
Рыцарь Бездны
 
Аватар для Рыцарь Бездны
📖
Регистрация: 24.07.2012
Сообщения: 88
Регистрация: 24.07.2012
Сообщения: 88
По умолчанию
Re: Скрипты

Спасибо! Удалось разобраться с проблемой, но теперь возникла новая. Пытаюсь сделать смену освещения каждый игровой день.

function Sutki()

if GetDate(DAY_OF_WEEK)==1 then
SetAmbientLight(0,"d1",true, 5);
end;
if GetDate(DAY_OF_WEEK)==2 then
SetAmbientLight(0,"d2",true, 5);
end;
if GetDate(DAY_OF_WEEK)==3 then
SetAmbientLight(0,"d3",true, 5);
end;
if GetDate(DAY_OF_WEEK)==4 then
SetAmbientLight(0,"d4",true, 5);
end;
if GetDate(DAY_OF_WEEK)==5 then
SetAmbientLight(0,"d5",true, 5);
end;
if GetDate(DAY_OF_WEEK)==6 then
SetAmbientLight(0,"d6",true, 5);
end;
if GetDate(DAY_OF_WEEK)==7 then
SetAmbientLight(0,"d7",true, 5);
end;
end;


Trigger(NEW_DAY_TRIGGER, "Sutki");

И дело в том, что игра никак не реагирует на это всё, освещение как было в первый день, таким и остаётся всю неделю. Причём консоль молчит, вообще никаких признаков ошибки, а ничего не происходит. Изначально делал всё по примеру товарища Хоттабыча, который был несколько страниц выше, но тогда консоль ругалась на неправильное значение аргумента 1, потом я пошёл посмотреть как это сделали разработчики в пятой мисии за Арантира. Там обнаружил что перед названием освящения у них стоит 0, поставил его и себе. Консоль перестала ругаться но ничего так и не заработало. Уже не знаю как быть. True поставил по примеру разработчиков, заменить его на GROUND по примеру Хоттабыча пробовал, никакой разницы, консоль молчит в обоих случаях. InterlalName освещений указан верно, сами освещения продублировались в файлы карты.Но всё как не работало так и не хочет. Подскажите пожалуйста в чём может быть причина.
Рыцарь Бездны вне форума
Ответить с цитированием
#3203
Старый 19.08.2020, 16:29
  #3203
^
}{0TT@6bI4
 
Аватар для }{0TT@6bI4
📖
Регистрация: 05.09.2019
Адрес: Серебряные Города, Аль-Сафир
Сообщения: 981
Выставка наград
Регистрация: 05.09.2019
Адрес: Серебряные Города, Аль-Сафир
Сообщения: 981
Выставка наград
По умолчанию
Re: Скрипты

Поищите в скрипте моей карты "Руны в хорошие руки" строчки SetAmbientLight, у меня работало
__________________
С уважением, }{0TT@6bI4
_________________
Группа картостроителей
Там ответы на вопросы, руководства, гайды и прочее
_________________
С уважением, }{0TT@6bI4
_________________
Группа картостроителей
Там ответы на вопросы, руководства, гайды и прочее
_________________
}{0TT@6bI4 вне форума
Ответить с цитированием
#3204
Старый 20.08.2020, 00:14
  #3204
^
Рыцарь Бездны
 
Аватар для Рыцарь Бездны
📖
Регистрация: 24.07.2012
Сообщения: 88
Регистрация: 24.07.2012
Сообщения: 88
По умолчанию
Re: Скрипты

}{0TT@6bI4Поищите в скрипте моей карты "Руны в хорошие руки" строчки SetAmbientLight, у меня работало

Что странно, делаю как у Вас а все равно ничего не происходит, и консоль всё так же молчит. Прямо таки не знаю что думать Даже просто одиночный SetAmbietLight вне триггера не меняет ситуацию. Надо будет на отдельной карте ещё попробовать, может тут чего испортил) В любом случае огромное Вам спасибо за совет!
Рыцарь Бездны вне форума
Ответить с цитированием
#3205
Старый 20.08.2020, 10:08
  #3205
^
}{0TT@6bI4
 
Аватар для }{0TT@6bI4
📖
Регистрация: 05.09.2019
Адрес: Серебряные Города, Аль-Сафир
Сообщения: 981
Выставка наград
Регистрация: 05.09.2019
Адрес: Серебряные Города, Аль-Сафир
Сообщения: 981
Выставка наград
По умолчанию
Re: Скрипты

Кстати, забыл сказать: эта подсветка должна быть в списке Ground/UnderGroundAmbientLights в Map Properties Tree. В Рунах строчка SetAmbientLight(GROUND, "NecromancyFog", true, 3) работала, значит дело в пункте выше.
__________________
С уважением, }{0TT@6bI4
_________________
Группа картостроителей
Там ответы на вопросы, руководства, гайды и прочее
_________________
С уважением, }{0TT@6bI4
_________________
Группа картостроителей
Там ответы на вопросы, руководства, гайды и прочее
_________________
}{0TT@6bI4 вне форума
Ответить с цитированием
#3206
Старый 20.08.2020, 15:11
  #3206
^
Рыцарь Бездны
 
Аватар для Рыцарь Бездны
📖
Регистрация: 24.07.2012
Сообщения: 88
Регистрация: 24.07.2012
Сообщения: 88
Хорошо
Re: Скрипты

}{0TT@6bI4Кстати, забыл сказать: эта подсветка должна быть в списке Ground/UnderGroundAmbientLights в Map Properties Tree. В Рунах строчка SetAmbientLight(GROUND, "NecromancyFog", true, 3) работала, значит дело в пункте выше.

Заработало! Вы были правы, добавил несколько дополнительных строчек в GroundAmbientLight, прописал в них все желаемые подсветки и всё стало работать. Немного проседает фпс на время смены подсветки, но дело стоит того, локация прям играет новыми красками со всем этим делом)
Рыцарь Бездны вне форума
Ответить с цитированием
#3207
Старый 20.08.2020, 16:07
  #3207
^
}{0TT@6bI4
 
Аватар для }{0TT@6bI4
📖
Регистрация: 05.09.2019
Адрес: Серебряные Города, Аль-Сафир
Сообщения: 981
Выставка наград
Регистрация: 05.09.2019
Адрес: Серебряные Города, Аль-Сафир
Сообщения: 981
Выставка наград
По умолчанию
Re: Скрипты

Обращайтесь) Кстати, если 3 параметр поменяете с true на false, то проседание по фпс должно упасть до минимума
__________________
С уважением, }{0TT@6bI4
_________________
Группа картостроителей
Там ответы на вопросы, руководства, гайды и прочее
_________________
С уважением, }{0TT@6bI4
_________________
Группа картостроителей
Там ответы на вопросы, руководства, гайды и прочее
_________________
}{0TT@6bI4 вне форума
Ответить с цитированием
#3208
Старый 20.08.2020, 19:09
  #3208
^
Рыцарь Бездны
 
Аватар для Рыцарь Бездны
📖
Регистрация: 24.07.2012
Сообщения: 88
Регистрация: 24.07.2012
Сообщения: 88
По умолчанию
Re: Скрипты

Спасибо, обязательно сделаю это) А ещё такой вопрос, не мог ли бы кто-нибудь скинуть пример скрипта StartCombat, где в противниках к примеру условный стек ополченцев и ещё один стек лучников, каждый по 10 бойцов А то StartCombat на существо одного типа получается написать, а полноценную армию из разных юнитов не могу добавить, не понимаю какие переменные следует писать для второго стека, а на живом примере было бы проще понять) Заранее спасибо.
Рыцарь Бездны вне форума
Ответить с цитированием
#3209
Старый 20.08.2020, 20:30
  #3209
^
Gerter
 
Аватар для Gerter
📖
Регистрация: 16.07.2012
Адрес: Санкт-Петербург
Сообщения: 766
pegn0ly#9113
Выставка наград
Регистрация: 16.07.2012
Адрес: Санкт-Петербург
Сообщения: 766
pegn0ly#9113
Выставка наград
По умолчанию
Re: Скрипты

Рыцарь БездныСпасибо, обязательно сделаю это) А ещё такой вопрос, не мог ли бы кто-нибудь скинуть пример скрипта StartCombat, где в противниках к примеру условный стек ополченцев и ещё один стек лучников, каждый по 10 бойцов А то StartCombat на существо одного типа получается написать, а полноценную армию из разных юнитов не могу добавить, не понимаю какие переменные следует писать для второго стека, а на живом примере было бы проще понять) Заранее спасибо.

число стеков задается третьим параметром в StartCombat, после него следуют пары [id_существа - число существ в стеке], число этих пар соответственно равно числу стеков. Т.е. для описанного случая функция будет примерно такой:

	StartCombat('имя_героя', nil, 2, CREATURE_MILITIAMAN, 10, CREATURE_ARCHER, 10)
Gerter вне форума
Ответить с цитированием
#3210
Старый 03.09.2020, 09:10
  #3210
^
Navkratis
 
Аватар для Navkratis
📖
Регистрация: 31.08.2011
Сообщения: 106
Регистрация: 31.08.2011
Сообщения: 106
По умолчанию
Re: Скрипты

Добрый день, консоль пишет (Script) ERROR: "="expected
Сам скрипт выглядит так:

* Trigger(REGION_ENTER_AND_STOP_TRIGGER, 'mavzolei', 'grobniza');
function grobniza(hero)
if GetObjectOwner(hero)==PLAYER_1 and hero=="Brem" then
MessageBox(path.."mavzolei-boi.txt");
sleep (5);
StartCombat("Brem", nil, 5, 4, 40, 12, 4, 10, 1, 12, 4, 4, 40, nil);
sleep (5);
MessageBox(path.."mavzolei-poisk.txt");
void GiveArtefact("Brem", 13, nBindToHero=0);
Trigger(REGION_ENTER_AND_STOP_TRIGGER, 'mavzolei', nil);
end;
end;


В чем здесь ошибка?
Navkratis вне форума
Ответить с цитированием
Ответ
Страница 214 из 225


Опции темы



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


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

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