Работа со скриптами в Arcanum, Вопросы, ответы, тонкости, советы по работе со скриптами |
Здравствуйте, гость ( Вход | Регистрация )
Работа со скриптами в Arcanum, Вопросы, ответы, тонкости, советы по работе со скриптами |
Ygrik |
26.1.2013, 19:19
Сообщение
#71
|
Прохожий
Группа: ПрохожиеСообщений: 2 Регистрация: 8.1.2013 Пользователь №: 5 896 |
Помогите разобраться почему не работает скрипт. Цель такая - сделать так чтобы после своего освобождения Гар не оставался торчать у Парнелла, а уходил. Похожая штука сделана для некоторых неписей в 1.0.7.5 и я попробовал сделать по аналогии.
было Код description "" MAX_LINES_ALLOCATED 30 0. IF Global Flag 2270 == 1 THEN float line 320 above Attachee ELSE goto line 2 ................................... 28. dialog 735 29. return and SKIP default стало Код description "" MAX_LINES_ALLOCATED 40 0. IF Global Flag 2270 == 1 THEN return and RUN default <------------ ELSE goto line 2 ................................. 28. dialog 735 29. return and SKIP default 30. set day standpoint of critter Attachee to X:62030 Y:65659 on this map <---------- 31. set night standpoint of critter Attachee to X:62030 Y:65659 on this map <----------- 32. return and SKIP default В итоге никаких изменений, он просто остается на месте как и с дефолтным скриптом. |
gamer_777 |
26.1.2013, 19:57
Сообщение
#72
|
Последний
Группа: МодераторыСообщений: 788 Регистрация: 6.4.2007 Из: Україна Пользователь №: 584 |
А переход из диалога в скрипт на строку 30 сделан?
|
Ygrik |
26.1.2013, 22:16
Сообщение
#73
|
Прохожий
Группа: ПрохожиеСообщений: 2 Регистрация: 8.1.2013 Пользователь №: 5 896 |
Пробовал, не помогает. Смотрел как подобное реализовано в 1.0.7.5 для гнома у которого склад с крысами. Там в диалоге просто устанавливается соотв. состояние для квеста, а в скрипте идет его проверка. Единственная разница- в моем случае проверяется global flag. Или эта разница все же принципиальна?
upd. Тут походу еще один вопрос возник, имеет ли значение где этот переход указывать :в реликах гг или непися? Сообщение отредактировал Ygrik - 26.1.2013, 22:28 |
gamer_777 |
26.1.2013, 23:17
Сообщение
#74
|
Последний
Группа: МодераторыСообщений: 788 Регистрация: 6.4.2007 Из: Україна Пользователь №: 584 |
|
Vindicator |
2.5.2013, 15:44
Сообщение
#75
|
Диггер
Группа: ДегустаторыСообщений: 15 Регистрация: 4.4.2013 Из: Moscow Пользователь №: 5 969 |
Помогите разобраться почему не работает скрипт. Цель такая - сделать так чтобы после своего освобождения Гар не оставался торчать у Парнелла, а уходил. Похожая штука сделана для некоторых неписей в 1.0.7.5 и я попробовал сделать по аналогии. было Уходить он не будет, будет просто стоять в X:62030 Y:65659, причем не сразу. Чтобы аттачи ушел, его надо послать , если это не далеко: 0. have critter Attachee walk to X:62030 Y:65659 1. set day standpoint of critter Attachee to X:62030 Y:65659 on this map 2. return and SKIP default Если далеко, послать до куда дойдет, а дальше телепортировать |
Damphil |
4.12.2015, 14:00
Сообщение
#76
|
Qwerty
Группа: ЗавсегдатаиСообщений: 175 Регистрация: 11.1.2011 Пользователь №: 5 073 |
Что то я не вкурил в скриптах про склонность к магии и технологии.
С хорошей подачи ув. Positiff Можем лицезреть такое Код description "Helm of Light WIELD ON" MAX_LINES_ALLOCATED 10 0. magic/tech: adjust Counter 0 by item Attachee used by Triggerer: store in Local 0 1. IF Local 0 <= 1 THEN return and RUN default 2. Counter 1 = 79 + Local 0 3. script eye candy: play Counter 1 on Triggerer 4. return and RUN default 5. script eye candy: stop Counter 1 on Triggerer 6. return and RUN default Тут чем больше склонность к магии тем в +(плюс). Вопрос :- А как сделать к технологии подобный скрипт? Я догадался что нужно использовать эту строчку Код magic/tech: adjust (num) by item (obj) used by (obj) on (obj): store in (num) Но я все равно не понимаю - как ? UPD - ошибся, понял что это скрипт на проверку отношения к игроку кого то и т.д. Короче не то. Первый нужно разбирать. Народ примеры хоть чего то есть? |
gamer_777 |
5.12.2015, 15:30
Сообщение
#77
|
Последний
Группа: МодераторыСообщений: 788 Регистрация: 6.4.2007 Из: Україна Пользователь №: 584 |
Тут чем больше склонность к магии тем в +(плюс). Вопрос :- А как сделать к технологии подобный скрипт? Я догадался что нужно использовать эту строчку Код magic/tech: adjust (num) by item (obj) used by (obj) on (obj): store in (num) Но я все равно не понимаю - как ? Этот скрипт и эта строчка - универсальны. Их работа зависит от маг/тех склонности того предмета, к которому этот скрипт прицеплен. Цепляем этот скрипт к магическому предмету - эффект будет зависеть от магии. Цепляем этот скрипт к технологическому предмету - эффект будет зависеть от технологии. Народ примеры хоть чего то есть? Заряженное Кольцо, эффект которого в оригинальном Аркануме зависит от склонности персонажа к технологии. 29005Tech_Charged_Ring_WIELD_ON.scr |
Damphil |
5.12.2015, 16:39
Сообщение
#78
|
Qwerty
Группа: ЗавсегдатаиСообщений: 175 Регистрация: 11.1.2011 Пользователь №: 5 073 |
gamer_777
Спасибо. Только как в поговорке - смотрю на скрипт, вижу фигню. Все таки это не мое, не понимаю последовательность строк. Пишу: Код 0. magic/tech: adjust Counter 0 by item Attachee used by Triggerer: store in Local 0 1. IF Local 0 <= 1 THEN return and RUN default 2. Counter 1 = 79 + Local 0 3. script eye candy: play Counter 1 on Triggerer 4. return and RUN default 5. script eye candy: stop Counter 1 on Triggerer 6. return and RUN default Добавил это: Код 1. IF Triggerer has item named 2401 THEN do nothing ELSE goto line 6 2. drain 1 charges from Triggerer На выходе получаю: Код 0. magic/tech: adjust Counter 0 by item Attachee used by Triggerer: store in Local 0 1. IF Triggerer has item named 2401 THEN do nothing ELSE goto line 6 2. drain 1 charges from Triggerer 3. IF Local 0 <= 1 THEN return and RUN default 4. Counter 1 = 79 + Local 0 5. script eye candy: play Counter 1 on Triggerer 6. return and RUN default 7. script eye candy: stop Counter 1 on Triggerer 8. return and RUN default При тесте работы - ошибок нет. Но в игре - хаос. Шлем отнивает - батарейку - если одевать предмет. Но и радиус света при каждом одевании предмета увеличивается. Если предмет снять - свет на персонаже остается. |
gamer_777 |
5.12.2015, 22:17
Сообщение
#79
|
Последний
Группа: МодераторыСообщений: 788 Регистрация: 6.4.2007 Из: Україна Пользователь №: 584 |
При тесте работы - ошибок нет. Но в игре - хаос. Шлем отнивает - батарейку - если одевать предмет. Но и радиус света при каждом одевании предмета увеличивается. Если предмет снять - свет на персонаже остается. Чтобы твой скрипт правильно работал, к шлему должен быть прицеплен ещё один скрипт на Wield Off. И этот второй скрипт должен выглядеть так: Код 0. call script attached to Attachee at point 24 at line 7 with triggerer Triggerer 1. return and RUN default Если такого скрипта на шлеме нет - сделай. Если такой скрипт уже есть, но его код немного отличается - сделай скрипт точно таким, как я написал. P.S. Это может не подействовать на тех сейвах, где уже произошёл баг и на персонаже осталось освещение после снятия шлема. |
Damphil |
6.12.2015, 15:52
Сообщение
#80
|
Qwerty
Группа: ЗавсегдатаиСообщений: 175 Регистрация: 11.1.2011 Пользователь №: 5 073 |
gamer_777
Заработал, спасибо. Но так как это просто эксперименты для разбирательства работы скрипта(для меня). Я понял как заработал - OFF скрипт. Только не понял :- Что такое, point 24 ? Откуда оно берется?. Код call script attached to (obj) at point (num) at line (num) with triggerer (obj) От куда мы знаем что там должно быть 24, а не 1 или 99. *** А что с этим скриптом не так? Код 0. call script 30354 at line 0 with triggerer Triggerer and attachee Attachee in 100 seconds 1. IF Triggerer has item named 2401 THEN do nothing ELSE goto line 6 2. drain 1 charges from Triggerer 3. script eye candy: stop 78 on Triggerer 4. script eye candy: play 78 on Triggerer 5. return and RUN default 6. script eye candy: stop 78 on Triggerer 7. return and RUN default >> 30354 - это номер файла скрипта. 30354_Electric_Light_WIELD_ON.scr И понятно, что этот скрипт будет вызываться каждый 100 секунд если если... >> Далее понятно, идет проверка на наличие предмета. >> Сколько будет использоваться - 1 >> Ну и сам номер скрипта 78 в \Arcanum\data\rules\ScriptEyeCandy.mes Который ссылается на Арт в \Arcanum\data\art\eye_candy\Electric-Light_f.art Почему выкл потом вкл и потом снова выкл ?! Вот сюда я и хотел прилепить: Код magic/tech: adjust (num) by item (obj) used by (obj): store in (num) То есть получить что то вроде: Код 0.call script 30354 at line 0 with triggerer Triggerer and attachee Attachee in 100 seconds 1. IF Triggerer has item named 2401 THEN do nothing ELSE goto line 6 2. drain 1 charges from Triggerer 3. magic/tech: adjust Counter 0 by item Attachee used by Triggerer: store in Local 0 4. IF Triggerer has item named 2401 THEN do nothing ELSE goto line 6 5. drain 1 charges from Triggerer 6. IF Local 0 <= 1 THEN return and RUN default 7. Counter 1 = 79 + Local 0 8. script eye candy: play Counter 1 on Triggerer 9. return and RUN default 10. script eye candy: stop Counter 1 on Triggerer 11. return and RUN default И вылетает ошибка: Unable to determine action OPCODE for all script (num) at line (num) with (obj) (obj) and (obj) (obj) in (num) seconds on line 0 Error parsing script: Unknown opcode "0. all script 30354 at line 0 with triggerer Triggerer and attachee Attachee in 100 seconds" on line 0 Есть идеи? |
Текстовая версия | Сейчас: 22.12.2024, 11:52 |