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

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

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

Ответ
Страница 238 из 248
 
Опции темы
#3556
Старый 07.02.2022, 00:34
  #3556
^
Shiroyasha2910
📖
Регистрация: 07.07.2019
Сообщения: 15
Регистрация: 07.07.2019
Сообщения: 15
По умолчанию
Re: Скрипты

Добрый вечер, пытался создать скрипт, который удалял бы героя, который взаимодействует с тюрьмой (то есть тюрьму активировал, героя получил, а тот, кто активировал тюрьму, должен удалиться). Но, к сожалению не получилось. Если такое сделать возможно, помогите пожалуйста.
Shiroyasha2910 вне форума
Ответить с цитированием
#3557
Старый 07.02.2022, 02:25
  #3557
^
Азгалор
 
Аватар для Азгалор
📖
Регистрация: 24.04.2016
Сообщения: 120
Регистрация: 24.04.2016
Сообщения: 120
По умолчанию
Re: Скрипты

Shiroyasha2910Добрый вечер, пытался создать скрипт, который удалял бы героя, который взаимодействует с тюрьмой (то есть тюрьму активировал, героя получил, а тот, кто активировал тюрьму, должен удалиться). Но, к сожалению не получилось. Если такое сделать возможно, помогите пожалуйста.
Покажи функцию/функции которая обрабатывает эти действия.
Азгалор вне форума
Ответить с цитированием
#3558
Старый 07.02.2022, 08:16
  #3558
^
}{0TT@6bI4
 
Аватар для }{0TT@6bI4
📖
Регистрация: 05.09.2019
Адрес: Серебряные Города, Аль-Сафир
Сообщения: 1605
Выставка наград
Регистрация: 05.09.2019
Адрес: Серебряные Города, Аль-Сафир
Сообщения: 1605
Выставка наград
По умолчанию
Re: Скрипты

function PrisonTouch(hero)
Trigger(OBJECT_TOUCH_TRIGGER, "Prison", nil)
startThread(function(hero) pl=GetObjectOwner(hero); while not (length(GetPlayerHeroes(pl))>1) do sleep() end; RemoveObject(hero) end, hero)
end

Trigger(OBJECT_TOUCH_TRIGGER, "Prison", "PrisonTouch")

Как вариант; функция запускает проверку, которая ждет, пока у игрока-владельца не станет больше одного героя (чтобы удаление не привело к поражению), затем удаляет героя.

__________________
С уважением, }{0TT@6bI4
_________________
Группа картостроителей
Там ответы на вопросы, руководства, гайды и прочее
_________________
С уважением, }{0TT@6bI4
_________________
Группа картостроителей
Там ответы на вопросы, руководства, гайды и прочее
_________________
}{0TT@6bI4 вне форума
Ответить с цитированием
#3559
Старый 07.02.2022, 16:24
  #3559
^
Shiroyasha2910
📖
Регистрация: 07.07.2019
Сообщения: 15
Регистрация: 07.07.2019
Сообщения: 15
По умолчанию
Re: Скрипты

Как вариант; функция запускает проверку, которая ждет, пока у игрока-владельца не станет больше одного героя (чтобы удаление не привело к поражению), затем удаляет героя.

Великолепно, спасибо.

Shiroyasha2910 вне форума
Ответить с цитированием
#3560
Старый 08.02.2022, 03:59
  #3560
^
Азгалор
 
Аватар для Азгалор
📖
Регистрация: 24.04.2016
Сообщения: 120
Регистрация: 24.04.2016
Сообщения: 120
По умолчанию
Re: Скрипты

Привет! В общем, написал функцию, сделал в ней уведомление через print, и чтобы глаза не мозолить об зелёный шрифт, решил его перекрасить. Поэтому, есть такой код:

function AllowHero( PLAYER, Hero )
        print( "<color=yellow>Героя <color=orange>", Hero, " <color=yellow>нет на карте. Функция по его добавлению на карту работает" )

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

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

Вообще, вы всё правильно пишете, в принтах <color=#XXXXX> работает, только попробуйте конкатенировать имя героя, а не указывать следующим.
Из точно доступных по "названиям" цветов — black, blue, neutral, negative, positive и так далее, как в MlTags. А если перед строкой добавлять \n, то весь принт будет белый

Поменять дефолтный цвет в консоли вообще — думаю, возможно через костыли, если, опять-таки, найти в файлах игры тэг цвета color_positive и внутри прописать другой цвет, например #FFFFFF (белый)...
__________________
С уважением, }{0TT@6bI4
_________________
Группа картостроителей
Там ответы на вопросы, руководства, гайды и прочее
_________________
С уважением, }{0TT@6bI4
_________________
Группа картостроителей
Там ответы на вопросы, руководства, гайды и прочее
_________________
}{0TT@6bI4 вне форума
Ответить с цитированием
#3562
Старый 08.02.2022, 08:41
  #3562
^
Азгалор
 
Аватар для Азгалор
📖
Регистрация: 24.04.2016
Сообщения: 120
Регистрация: 24.04.2016
Сообщения: 120
По умолчанию
Re: Скрипты

}{0TT@6bI4попробуйте конкатенировать имя героя, а не указывать следующим

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



Добавлено через 2 минуты
}{0TT@6bI4Из точно доступных по "названиям" цветов — black, blue, neutral, negative, positive и так далее, как в MlTags. А если перед строкой добавлять \n, то весь принт будет белый

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

По цветам: Вообще, впервые увидел такую фишку на карте "Завеса срывается" от RedHeavenHero, от чего сделал выводы что его карты не только сюжетом и ландшафтным дизайном интересны, а ещё и "закулисье" интересно подглядеть)

По цвету консоли: Хм, спасибо... Надо попробовать глянуть, но что-то мне кажется что это дело вшито где-то в ресурсах игры, до которых без вскрытия движка никак не добраться.

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

"<color=white>"..Hero

С тегами я сейчас потестирую xdb, если не получится — видимо, и правда, только exe frown
__________________
С уважением, }{0TT@6bI4
_________________
Группа картостроителей
Там ответы на вопросы, руководства, гайды и прочее
_________________
С уважением, }{0TT@6bI4
_________________
Группа картостроителей
Там ответы на вопросы, руководства, гайды и прочее
_________________
}{0TT@6bI4 вне форума
Ответить с цитированием
#3564
Старый 08.02.2022, 16:01
  #3564
^
}{0TT@6bI4
 
Аватар для }{0TT@6bI4
📖
Регистрация: 05.09.2019
Адрес: Серебряные Города, Аль-Сафир
Сообщения: 1605
Выставка наград
Регистрация: 05.09.2019
Адрес: Серебряные Города, Аль-Сафир
Сообщения: 1605
Выставка наград
По умолчанию
Re: Скрипты

"<color=white>"..Hero

С тегами я сейчас потестирую xdb, если не получится — видимо, и правда, только exe frown
__________________
С уважением, }{0TT@6bI4
_________________
Группа картостроителей
Там ответы на вопросы, руководства, гайды и прочее
_________________
С уважением, }{0TT@6bI4
_________________
Группа картостроителей
Там ответы на вопросы, руководства, гайды и прочее
_________________
}{0TT@6bI4 вне форума
Ответить с цитированием
#3565
Старый 08.02.2022, 20:33
  #3565
^
Азгалор
 
Аватар для Азгалор
📖
Регистрация: 24.04.2016
Сообщения: 120
Регистрация: 24.04.2016
Сообщения: 120
По умолчанию
Re: Скрипты

}{0TT@6bI4, спасибо) Теперь всё работает правильно 😎
Азгалор вне форума
Ответить с цитированием
#3566
Старый 09.02.2022, 01:06
  #3566
^
Shiroyasha2910
📖
Регистрация: 07.07.2019
Сообщения: 15
Регистрация: 07.07.2019
Сообщения: 15
По умолчанию
Re: Скрипты

function PrisonTouch(hero)
Trigger(OBJECT_TOUCH_TRIGGER, "Prison", nil)
startThread(function(hero) pl=GetObjectOwner(hero); while not (length(GetPlayerHeroes(pl))>1) do sleep() end; RemoveObject(hero) end, hero)
end

Trigger(OBJECT_TOUCH_TRIGGER, "Prison", "PrisonTouch")

Попробовал я данный скрипт, к сожалению, герой не удаляется(
Просто ничего не происходит.

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

Shiroyasha2910
function PrisonTouch(hero)
Trigger(OBJECT_TOUCH_TRIGGER, "Prison", nil)
startThread(function(hero) pl=GetObjectOwner(hero); while not (length(GetPlayerHeroes(pl))>1) do sleep() end; RemoveObject(hero) end, hero)
end

Trigger(OBJECT_TOUCH_TRIGGER, "Prison", "PrisonTouch")

Попробовал я данный скрипт, к сожалению, герой не удаляется(
Просто ничего не происходит.

А консоль ни на что не жалуется? Темница имеет скриптовое имя Prison ?
Азгалор вне форума
Ответить с цитированием
#3568
Старый 09.02.2022, 17:24
  #3568
^
Shiroyasha2910
📖
Регистрация: 07.07.2019
Сообщения: 15
Регистрация: 07.07.2019
Сообщения: 15
По умолчанию
Re: Скрипты

А консоль ни на что не жалуется? Темница имеет скриптовое имя Prison ?
Да, консоль никаких проблем не показывает. Да, тюрьме дал имя Prison. А если брать консоль самого редактора героев, он не понимает, нафига нужен Length
Shiroyasha2910 вне форума
Ответить с цитированием
#3569
Старый 23.02.2022, 23:08
  #3569
^
Jewily
 
Аватар для Jewily
📖
Регистрация: 25.09.2016
Сообщения: 139
Jewily#4267
Регистрация: 25.09.2016
Сообщения: 139
Jewily#4267
По умолчанию
Re: Скрипты

Всем добрый вечер(день-утро). 
Знает ли кто, как работает сохранение скриптовых данных при сохранении карты?К примеру я хочу хранить некоторые данные об игроке(собственные), чтобы они сохранялись при перезапуске карты.
Понятно, что mapscript.lua исполняется по загрузке карты. Есть ли возможность хранить данные глобально? Возможно GameVars?(В мануале тусклое их описание, не смог найти хорошего примера в чужих картах). P.S У  MasteR в его замечательном сценарии Закат тьмы видел реализацию через прогресс задания, однако всё же хочется менее "обходной" путь.
Jewily вне форума
Ответить с цитированием
#3570
Старый 24.02.2022, 10:09
  #3570
^
}{0TT@6bI4
 
Аватар для }{0TT@6bI4
📖
Регистрация: 05.09.2019
Адрес: Серебряные Города, Аль-Сафир
Сообщения: 1605
Выставка наград
Регистрация: 05.09.2019
Адрес: Серебряные Города, Аль-Сафир
Сообщения: 1605
Выставка наград
По умолчанию
Re: Скрипты

Именно после рестарта карты? Только SetGameVar("имя переменной", значение), GetCameVar("имя переменной").

Про закат тьмы не слышал, можно поподробнее?
__________________
С уважением, }{0TT@6bI4
_________________
Группа картостроителей
Там ответы на вопросы, руководства, гайды и прочее
_________________
С уважением, }{0TT@6bI4
_________________
Группа картостроителей
Там ответы на вопросы, руководства, гайды и прочее
_________________
}{0TT@6bI4 вне форума
Ответить с цитированием
Ответ
Страница 238 из 248


Опции темы



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


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

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