Перейти к содержанию

Сообщения от Скрипты

#3625
Добрый вечер, пытался создать скрипт, который удалял бы героя, который взаимодействует с тюрьмой (то есть тюрьму активировал, героя получил, а тот, кто активировал тюрьму, должен удалиться). Но, к сожалению не получилось. Если такое сделать возможно, помогите пожалуйста.
В ответ пользователю Shiroyasha2910
Аватар пользователя
#3626
Shiroyasha2910
Добрый вечер, пытался создать скрипт, который удалял бы героя, который взаимодействует с тюрьмой (то есть тюрьму активировал, героя получил, а тот, кто активировал тюрьму, должен удалиться). Но, к сожалению не получилось. Если такое сделать возможно, помогите пожалуйста.
Покажи функцию/функции которая обрабатывает эти действия.
Аватар пользователя
#3627
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
_________________
Группа картостроителей
Там ответы на вопросы, руководства, гайды и прочее
Discord-сервер "Герои 5: S.T.A.L.K.E.R"
Сервер по модификации "Герои 5: S.T.A.L.K.E.R"
_________________
#3628

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

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

Аватар пользователя
#3629

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

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

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

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

Поменять дефолтный цвет в консоли вообще — думаю, возможно через костыли, если, опять-таки, найти в файлах игры тэг цвета color_positive и внутри прописать другой цвет, например #FFFFFF (белый)...
С уважением, }{0TT@6bI4
_________________
Группа картостроителей
Там ответы на вопросы, руководства, гайды и прочее
Discord-сервер "Герои 5: S.T.A.L.K.E.R"
Сервер по модификации "Герои 5: S.T.A.L.K.E.R"
_________________
В ответ пользователю }{0TT@6bI4
Аватар пользователя
#3631
}{0TT@6bI4
попробуйте конкатенировать имя героя, а не указывать следующим

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



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

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

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

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

Аватар пользователя
#3632
""..Hero

С тегами я сейчас потестирую xdb, если не получится — видимо, и правда, только exe frown
С уважением, }{0TT@6bI4
_________________
Группа картостроителей
Там ответы на вопросы, руководства, гайды и прочее
Discord-сервер "Герои 5: S.T.A.L.K.E.R"
Сервер по модификации "Герои 5: S.T.A.L.K.E.R"
_________________
Аватар пользователя
#3633
""..Hero

С тегами я сейчас потестирую xdb, если не получится — видимо, и правда, только exe frown
С уважением, }{0TT@6bI4
_________________
Группа картостроителей
Там ответы на вопросы, руководства, гайды и прочее
Discord-сервер "Герои 5: S.T.A.L.K.E.R"
Сервер по модификации "Герои 5: S.T.A.L.K.E.R"
_________________
Аватар пользователя
#3634
}{0TT@6bI4, спасибо) Теперь всё работает правильно 😎
#3635
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
Аватар пользователя
#3636
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 ?
#3637
А консоль ни на что не жалуется? Темница имеет скриптовое имя Prison ?
Да, консоль никаких проблем не показывает. Да, тюрьме дал имя Prison. А если брать консоль самого редактора героев, он не понимает, нафига нужен Length
Аватар пользователя
#3638
Всем добрый вечер(день-утро). 
Знает ли кто, как работает сохранение скриптовых данных при сохранении карты?К примеру я хочу хранить некоторые данные об игроке(собственные), чтобы они сохранялись при перезапуске карты.
Понятно, что mapscript.lua исполняется по загрузке карты. Есть ли возможность хранить данные глобально? Возможно GameVars?(В мануале тусклое их описание, не смог найти хорошего примера в чужих картах). P.S У  MasteR в его замечательном сценарии Закат тьмы видел реализацию через прогресс задания, однако всё же хочется менее "обходной" путь.
Аватар пользователя
#3639
Именно после рестарта карты? Только SetGameVar("имя переменной", значение), GetCameVar("имя переменной").

Про закат тьмы не слышал, можно поподробнее?
С уважением, }{0TT@6bI4
_________________
Группа картостроителей
Там ответы на вопросы, руководства, гайды и прочее
Discord-сервер "Герои 5: S.T.A.L.K.E.R"
Сервер по модификации "Герои 5: S.T.A.L.K.E.R"
_________________

Статистика

Приветствуем новейшего участника: Emil

Сейчас на сайте 4 пользователей 1250 гостей