Работа со скриптами в Arcanum, Вопросы, ответы, тонкости, советы по работе со скриптами |
Здравствуйте, гость ( Вход | Регистрация )
Работа со скриптами в Arcanum, Вопросы, ответы, тонкости, советы по работе со скриптами |
gamer_777 |
19.1.2012, 20:43
Сообщение
#51
|
Последний
Группа: МодераторыСообщений: 788 Регистрация: 6.4.2007 Из: Україна Пользователь №: 584 |
Цитата Можно в скрипте увидеть, сколько жизней отняло наше оружие при попадании во врага? Нет, поскольку скрипт запускается ДО нанесения урона оружием. |
Accki_lamer |
19.1.2012, 21:13
Сообщение
#52
|
Диггер
Группа: ЗавсегдатаиСообщений: 193 Регистрация: 29.5.2011 Пользователь №: 5 282 |
Мдэ-э, то-то я и думаю: "а что это до сих пор полноценный скрипт на бронебойность никто не реализовал - с учетом нанесенного урона и сопротивления соперников. Легко вроде".
У меня снова 2 вопроса по механике скриптов: 1. Если мы вешаем скрипт на "HIT", а в конце скрипта пишем "RETURN AND SKIP DEFAULT" то, насколько я понял, это удар по противнику из оружия не предотвратит? То есть "RETURN AND SKIP DEFAULT" на "HIT-е" не работает? 2. Если мы вешаем на оружие сразу 2 скрипта: на "HIT" и на "CRITICAL HIT" то, при критическом ударе активируются сразу оба скрипта? |
gamer_777 |
19.1.2012, 21:53
Сообщение
#53
|
Последний
Группа: МодераторыСообщений: 788 Регистрация: 6.4.2007 Из: Україна Пользователь №: 584 |
Цитата 1. Если мы вешаем скрипт на "HIT", а в конце скрипта пишем "RETURN AND SKIP DEFAULT" то, насколько я понял, это удар по противнику из оружия не предотвратит? То есть "RETURN AND SKIP DEFAULT" на "HIT-е" не работает? Не работает. Цитата 2. Если мы вешаем на оружие сразу 2 скрипта: на "HIT" и на "CRITICAL HIT" то, при критическом ударе активируются сразу оба скрипта? Да. |
Accki_lamer |
19.1.2012, 21:59
Сообщение
#54
|
Диггер
Группа: ЗавсегдатаиСообщений: 193 Регистрация: 29.5.2011 Пользователь №: 5 282 |
В очередной раз спасибо за пояснения.
|
Accki_lamer |
9.2.2012, 18:38
Сообщение
#55
|
Диггер
Группа: ЗавсегдатаиСообщений: 193 Регистрация: 29.5.2011 Пользователь №: 5 282 |
Опять я приперся.
Можем ли мы, через скрипт, уменьшать амуницию (пули, батарейки и т.д.) из инвентаря ГГ? Скажем, выстрел - минус один патрон. |
gamer_777 |
9.2.2012, 19:55
Сообщение
#56
|
Последний
Группа: МодераторыСообщений: 788 Регистрация: 6.4.2007 Из: Україна Пользователь №: 584 |
Цитата Опять я приперся. Я тоже Цитата Можем ли мы, через скрипт, уменьшать амуницию (пули, батарейки и т.д.) из инвентаря ГГ? Для батареек разработчики такое предусмотрели: drain (num) charges from (obj) С остальной амуницией сложнее. Теоретически, можно использовать: destroy item named (num) in inventory of (obj). Разумеется, перед этим придется присвоить прототипу амуниции новое internal name. |
Accki_lamer |
9.2.2012, 22:56
Сообщение
#57
|
Диггер
Группа: ЗавсегдатаиСообщений: 193 Регистрация: 29.5.2011 Пользователь №: 5 282 |
Спасибо!
Интересно получается! Допустим мы хотим сделать так, чтобы заряженный меч ел батарейки, а если батареек нет - то дополнительного урона электричеством не будет, а будет лишь обычный урон. Посмотрим в общих чертах. 1. В протосе заряженного меча убираем урон электричеством, оставляем лишь обычный. 2. В скрипте сначала смотрим, есть ли батарейки: IF (obj) has item named (num). Если нет - return and RUN default. 3. Далее выкачиваем одну штуку: drain (num) charges from (obj). 4. Наносим урон электричеством сколько нужно. Вроде выглядит правильно. А это означает, что я опять где-то накосячил, или что-то спутал. Это должно работать? Да, снова вопросы: 1. destroy item named (num) in inventory of (obj) - он будет их поштучно убирать? Или никто не проверял? 2. По поводу internal name. Насколько я понял, они присваиваются в gameoname.mes? Что-то я посмотрел этот файл, а там одни категории, ни одного internal name. Так и должно быть? Или они присваиваются в oname.mes? Или и там, и там? Сообщение отредактировал Accki_lamer - 9.2.2012, 23:03 |
gamer_777 |
9.2.2012, 23:32
Сообщение
#58
|
Последний
Группа: МодераторыСообщений: 788 Регистрация: 6.4.2007 Из: Україна Пользователь №: 584 |
Цитата Это должно работать? Должно. Цитата 1. destroy item named (num) in inventory of (obj) - он будет их поштучно убирать? Или никто не проверял? Лично я это не проверял, потому и сказал "теоретически" Цитата Или они присваиваются в oname.mes? Нужен только oname.mes |
Accki_lamer |
10.2.2012, 9:40
Сообщение
#59
|
Диггер
Группа: ЗавсегдатаиСообщений: 193 Регистрация: 29.5.2011 Пользователь №: 5 282 |
А я притащил с собой ложку дегтя! Будем разбавлять вкусовую гамму.
Пока наш электро-урон висит на протосе, то при критическом ударе он множится (+50% урон, +100% урон). Если же мы снимаем его с протоса и наносим через скрипт, то он перестает увеличиваться при крит. ударе. Собственно, вопросы: 1. Я конечно догадываюсь, что ответ будет "обломись", ну да все равно спрошу: кто-нибудь видел эти таблицы вариаций при критическом попадании, которые висят на протосах? (CriticalHitChart: 0 (cutting); CriticalHitChart: 2 (impaling); CriticalHitChart: 4 (Fire) и т.д.) 2. Если мы вешаем на оружие 2 скрипта - на флаги "HIT" и "CRITICAL HIT", то какой из них будет обрабатываться первым? Собственно, варианты ответов: 2.1 Тот, который первый "висит" на протосе. 2.2 Тот, чей номер меньше в "data\scr". 2.3 Всегда "HIT", потому что его "ATTACHMENT NUMBER" меньше (7 против 34 у "CRITICAL HIT"). 2.4 Всегда "CRITICAL HIT", потому что, э-эм, ну просто так, в общем. 2.5 "У тебя вообще адекватные вопросы бывают? Кому, по-твоему, могла в голову придти идея проверять эту фигню?" Да, еще один момент. Предположим, мы вешаем на ГГ (или спутника) скрипт, на HEARTBEAT. В описании сказано: when called: every two seconds on all NPC’s in loaded sectors. Допустим мы хотим, чтобы через 20 минут происходило какое-то событие. Ну, например, чтобы Магнус начинал диалог и говорил: "слушай, говорю же тебе: в кузню этого Кергана, пойдем лучше напьемся!". Значит, мы вешаем на скрипт счетчик, который при каждом запуске скрипта будет увеличиваться на единицу, пока не достигнет значения "600" (20 минут). Не знаю, будет ли это работать, ну да ладно. Что тут мне не понятно: 1. when called: every two seconds on all NPC’s in loaded sectors. Это о чем вот они? Скрипт будет проверяться на каждом неписе каждые 2 секунды? 2. when called: every two seconds on all NPC’s in loaded sectors. "В загруженном секторе"? Скрипт будет сохраняться (если он недосчитал нам до 600 еще) при переходе из сектора в сектор? |
gamer_777 |
10.2.2012, 18:33
Сообщение
#60
|
Последний
Группа: МодераторыСообщений: 788 Регистрация: 6.4.2007 Из: Україна Пользователь №: 584 |
Цитата 1. Я конечно догадываюсь, что ответ будет "обломись", ну да все равно спрошу: кто-нибудь видел эти таблицы вариаций при критическом попадании, которые висят на протосах? Правильно догадываешься Цитата 2. Если мы вешаем на оружие 2 скрипта - на флаги "HIT" и "CRITICAL HIT", то какой из них будет обрабатываться первым? Первым всегда "HIT", вторым - "CRITICAL HIT". Проверял "эту фигню" на практике. Цитата 1. when called: every two seconds on all NPC’s in loaded sectors. Это о чем вот они? О том что у каждого NPC запускается свой скрипт (если он есть), при условии что этот NPC находится на загруженном секторе. Цитата 2. when called: every two seconds on all NPC’s in loaded sectors. "В загруженном секторе"? Скрипт будет сохраняться (если он недосчитал нам до 600 еще) при переходе из сектора в сектор? Конечно. Сохранение же данных - это область счётчиков и переменных (у них разные свойства и ограничения - см. мануал). |
Текстовая версия | Сейчас: 22.12.2024, 17:01 |