Нужна помощь
|
|
BL3ND | # 1 | Пятница, 17.04.15 в 09:46 |
| Всем привет. У меня возник вопрос как от действия рычага активировать зону. Объясняю подробней: Создал комнату из одного сегмента, в комнату поставил любую зону например Win Zone и на стену повесить рычаг switch. У меня возникает вопрос как сделать так, что бы когда я вхожу в эту комнату эта зона не была активна, а как только я поверну рычаг она сразу активируется?
|
|
| |
folzip | # 2 | Понедельник, 20.04.15 в 17:18 |
| Ставишь рычаг и тригер зону. В "if used" рычага пишешь "zone", а тригер зону называешь так же "zone".
Это ставишь в тригер: :state=0,activated=1:state=2 :state=0,activated=0:state=0 :state=2,plrwithinzone=1:state=3 :state=2,plrwithinzone=0:state=0 :state=3:sound=$0,state=0
Последняя строчка воспроизводит звук ("sound=$0", установленный в параметрах тригер зоны "sound0") и возвращается на state=0, вместо звука пишешь свое. Скрипт цикличный, поэтому звук воспроизводиться (с включенным рычагом и в зоне) 10-20 раз в сек. Для цикличного действия с большим интервалом в конце можно добавить таймер.
Сообщение отредактировал folzip - Понедельник, 20.04.15, 17:19 |
|
| |
folzip | # 3 | Вторник, 21.04.15 в 03:50 |
| Не знаю где там было что написано, но это легко вот на скорую руку:
Ставишь 2 тригера.
Первый: Называешь его "zone1" в "if used" пишешь "zone2". Ему вставляешь этот скрипт: :state=0,plrwithinzone=1:state=1 :state=1:activateifused=1,state=2 :state=2,activated=1:state=3 :state=3,plrwithinzone=1:sound=$0,state=4 ("state=4" это действие для прекращения скрипта, если убрать то "state=3" будет воспроизводиться постоянно когда ты будешь в зоне)
Второй: Называешь его "zone2" в "if used" пишешь "zone1". Ему вставляешь этот скрипт: :state=0,activated=1:state=1 :state=1,plrwithinzone=1:state=2 :state=2:activateifused=1,state=3
Зайдя в первую зону активируется вторая и зайдя во вторую активируется первая, зайдя обратно в первую воспроизводиться один раз звук. В твоем случае для завершения уровня вместо "sound=$0" пишешь "win", но на уровне должна находиться "win zone" не важно где.
И да вот для тебя лучше скрипт для завершения уровня. Пихать в триггер обыкновенный, но также с имеющейся на уровне зоной win. :state=0,activated=1:state=1 :state=1,plrwithinzone=1:win Зона срабатывает при включенном рычаге.
Сообщение отредактировал folzip - Вторник, 21.04.15, 03:52 |
|
| |
folzip | # 4 | Вторник, 21.04.15 в 17:18 |
| Советую изучить построение скриптов. Условия и действия. После сможешь легко создавать скрипты, скачав и посмотрев на список имеющихся команд а описания переводя в переводчике. Я не знал как работает эта система активации тригеров до твоего поста. Изучив команды, добился нужного результата, помог тебе и для себя открыл новое простое решение своего сложного скрипта.
Скрипт активации тригеров полностью такой какой тебе нужен, только активацию скримера поставить надо вместо звука. zone1 ставишь за дверью в комнате, zone2 в конце комнаты. Дойдя до конца комнаты и вернувшись будет скример.
Рычаг, для уменьшения зоны активации надо уменьшить в скрипте plrdistwithin=50, это расстояние, так же работает на отображение картинки на экране "press enter" (параметр отдельно)
Рычаг и так изначально в положении "выключено" верхнее положение. Чтобы сделать в положении включено нужно на 2-ом уровне поставить другой скрипт: :state=0:alttexture=1,state=1 По моему это, не проверял ("alttexture=1" значение 0 выключено, 1 включено)
Для активации скримера нужно активировать модель то-бишь вот так: Для 1 зоны, скрипт 2 зона без изменения. :state=0,plrwithinzone=1:state=1 :state=1:activateifused=1,state=2 :state=2,activated=1:state=3 :state=3,plrwithinzone=1:state=4 :state=4:setifused=zombie,activateifused=1,state=5 (zombie это имя скримера) Должно работать, таймеры и уничтожения скримера должны быть в самом скрипте скримера.
|
|
| |
folzip | # 5 | Среда, 22.04.15 в 21:03 |
| Рычаг да, я ошибся вот это работает в main :state=0:incframe=0,state=1
Что касается скримера, у тебя 2 ошибки. Вставлять надо только это: :state=0,plrwithinzone=1:state=1 :state=1:activateifused=1,state=2 :state=2,activated=1:state=3 :state=3,plrwithinzone=1:state=4 :state=4:setifused=AxeBrute,activateifused=1,state=5 И имя не должно содержать пробелов AxeBrute или Axe_Brute
Насчет двери я не понял что такое Remote Door. Просто закрытие двери рычагом навсегда, без возможности открыть возможно и открытие двери ключом. Я это протестировал, но доделывать скрипт до конца мучительно. Тебе нужен конкретный скрипт и после как тебе его предоставят появятся новые вопросы. Правильно что начал изучать скриптинг, он элементарно простой, учится за пару дней, а дальше изучать команды, их много 300-400 может больше. На сайте есть уроки.
Пока тестил дверь, было такое что вылетала с петель, гонялась за мной и убивала ))) креатор такой креатор. Не всегда будет так как хочется.
|
|
| |
folzip | # 6 | Четверг, 23.04.15 в 19:09 |
| Повнимательней читай, в 1-ю зону ты запихал 2 скрипта. Я же говорю ТОЛЬКО ЭТО:
:state=0,plrwithinzone=1:state=1 :state=1:activateifused=1,state=2 :state=2,activated=1:state=3 :state=3,plrwithinzone=1:state=4 :state=4:setifused=AxeBrute,activateifused=1,state=5
И имя скримера поставь такое же AxeBrute.
Дверь скорее геморно чем сложно. Я сделал срипт исключительно из за своего любопытства. Научись скриптить и легко будет.
|
|
| |
Punker | # 7 | Четверг, 23.04.15 в 19:16 |
| BL3ND, не нужно дверь удалять, просто в скрипт двери в state=2 вставить: :state=2,activated=1:state=10,sound=$1,colon :state=3:decframe=0 :state=3,frameatstart=0:state=0,setframe=0 Рычагу указываешь эту дверь и она закроется при повороте рычага
Все "Спасибо" ставим в репу
|
|
| |
Punker | # 8 | Пятница, 24.04.15 в 19:16 |
| BL3ND, а что тебе мешает назвать дверь тем же именем? В данном случае Win Zone
Все "Спасибо" ставим в репу
|
|
| |
Punker | # 9 | Суббота, 25.04.15 в 18:44 |
| BL3ND, я допустил ошибку в скрипте... Мог бы и сам найти))) Вот: Код ;Artificial Intelligence Script
;Header
desc = Key Door (Open 'With Key' and Close)
;Triggers
:state=0:hudreset,hudx=50,hudy=90,hudimagefine=gamecore\text\lockeddoor.tga,hudname=keydoorprompt,hudhide=1,hudmake=display,state=10 :state=10,plrdistwithin=60:hudshow=keydoorprompt,hudfadeout=keydoorprompt
:state=10,plrdistwithin=60,plrhaskey=1,plrusingaction=1:state=1,setframe=0,sound=$0 :state=1:incframe=0 :state=1,frameatend=0:state=2,coloff :state=2,activated=1:state=3,sound=$1,colon :state=3:decframe=0 :state=3,frameatstart=0:state=0,setframe=0
Все "Спасибо" ставим в репу
|
|
| |