|
Alchemist
Модератор
Откуда: Арзамас-17 Регистрация: Дек. 2004
Всего: 298 сообщений
|
2Net: critter_p_proc, если я не ошибаюсь, уже внутри боя вызывается. Попробуй обращение к attack поместить в одну из диалоговых процедур (возможно, глупость сказал). А вообще, Sokil дело глаголит. 2All: Ткните носом, где можно найти описание внутреннего фомата *.int и утилиту (если она вообще в природе существует), обратную по действию ilink. Есть необходимость разобраться со скриптами для F1, которые, судя по всему, компилируются без видимых ошибок, но с проблемами в формате результирующего p-кода. (Отредактировал(а) Alchemist - 22:28 - 8 Янв., 2005)
----- /// What'ya be sain'? Vault 100+? We need nothing o'that!
|
Отправлено: 21:15 - 8 Янв., 2005
|
|
Net
Пользователь
Откуда: Samara Регистрация: Дек. 2004
Всего: 8 сообщений
|
если в диалоге attack то скрипт виснет. прорыл все скрипты везде просто attack. Не работает её блин мать и все тут. rtfm начитался. Это тема просто супер! В чем может быть еще проблема?
|
Отправлено: 22:12 - 8 Янв., 2005
|
|
izuken
Адский Хомяк
Откуда: mSk Регистрация: Янв. 2004
Всего: 125 сообщений
|
*.* (Отредактировал(а) izuken - 9:53 - 9 Янв., 2005)
----- эхо москвы маздай. save the planet - kill self.
|
Отправлено: 2:03 - 9 Янв., 2005
|
|
Raven
Пользователь
Откуда: Владик Регистрация: Февр. 2004
Всего: 408 сообщений
|
to Net c_p_p не вызывается: 1. во время действия боевого режима 2. во время присутствия на экране диалогвых панелей (инвентарь, диалог и т.п.) Диалоговый, боевой и инвентарный режимы накладывают ораничение на использование некоторых функций - каждый по разному. Поэтому вызывать attack напрямую из диалога не получится. Сделать это можно так (внимание! Это сам принцип,точные примеры см. в скриптах БИСов): при выборе "неправильного" ответа мы устанавливаем в еденицу какую-то переменную и выходим. И сразу после выхода её проверяем. Если она поставлена в один - начинаем бой. ----------------------------------- variable wrong_answer; <...> procedure NodeXXX begin <...> wrong_answer:=1; <...> end procedure critter_p_proc begin if wrong_answer:=1 then begin attack(dude_obj); wrong_answer+=1; end <...> end <...> ----------------------------------- Метод основан на том, что c_p_p не вызывается во время диалога. Но вызовется *сразу* по его окончании. И если переменная установлена в один, то критер начнёт атаку. Инкрементить вару надо для того, чтобы attack не вызывалось по 30 раз в секунду вместе с каждым вызовом c_p_p и не было бы combat loops (когда мы убежали от критера, закончили бой - и он тут же начинается вновь). Логично и правильно использовать LVAR вместо обычных вар, чтобы криттер запоминал про то, что он атаковал чуза. Ещё желательно и map_update дописать. Всё это - см. в практически любом critter-скрипте от БИС. Аццкий Хомяк Йцукен - списваю всё на твой сессионный хронический недосып... ;-)
|
Отправлено: 6:17 - 9 Янв., 2005
|
|
Ray
Модератор
Откуда: Донецк,Украина Регистрация: Янв. 2004
Всего: 746 сообщений
|
Есть одна проблемка(большая), может знает кто, как её решить : У меня на произвольной карте стоит зона перехода. Если ею воспользоватся то перемещаешся на другую карту на определённый hex. Дело вот в чём - если на это место поместить spatial скрипт, то после перехода он не сработает. А сработает только если перс перейдёт с данного hex'а на другой. Ни чего не помагает. Пробовал как в родных скриптах if (op_source_obj() == op_dude_obj()) then ... но эффекта ноль. Как заставить срабатывать скрипт без перемещений?
|
Отправлено: 0:09 - 10 Янв., 2005
|
|
Raven
Пользователь
Откуда: Владик Регистрация: Февр. 2004
Всего: 408 сообщений
|
>>Есть одна проблемка(большая), может знает кто, как её решить : map_enter заюзать. Хотя, ты бы и сам тогда догадался :-) Что конкретно сделать надо, что без spartial-скрипта не обойтись?
|
Отправлено: 3:43 - 10 Янв., 2005
|
|
Wasteland Ghost
Маленькое Злое Привидение
Откуда: Россия, Самара Регистрация: Дек. 2002
Всего: 2251 сообщение
|
Спатиал скрипт срабатывает только при *движении* криттера в зоне его действия. ЗЫ Ох знали бы вы, как я с этим спатиалом намучалась, когда ту самую дверь с кнопкой в Храме делала... :)
|
Отправлено: 10:09 - 10 Янв., 2005
|
|
Ray
Модератор
Откуда: Донецк,Украина Регистрация: Янв. 2004
Всего: 746 сообщений
|
Да хотелось бы map_enter да не всё так просто. У меня есть карта, назовём её random1, на которую есть 2 "зоны переходов" с других карт. Так вот : при переходе на карту random1 перс появляется в определённом месте. Мне надо, чтобы в зависимости от определённых действий перс появлялся на разных тайлах. Кстати зоны перехода настраивать не получится, так-как там используются не совсем они. Фу,забыл. Map-enter нельзя использовать так-как у меня 3-уровневая карта и на каждом уровне надо появляться в разных местах. А при переходе с уровня на уровень map-enter не работает (пробовал).И нельзя так-же дописывать точки входа в city.txt. Короче ситуация такая - у меня есть карта при переходе на которую перс в любом случае окажется на одном и том-же месте(это не я - это двигло), а мне надо, что бы он мог быть на разных тайлах.
----- Не бывает невозможных задач – бывает мало времени.
|
Отправлено: 10:54 - 10 Янв., 2005
|
|
Pavel
Модератор
Откуда: Одесса Украина Регистрация: Май 2004
Всего: 368 сообщений
|
>а мне надо, что бы он мог быть на разных тайлах. А через скрипт карты? if x move_to 1 if y move_to 2 if z move_to 3 x,y,z - mvar зависящие от действия (т.к. я понял при одном действии - один тайл, при другом - другой). 1,2,3 - тайлы.
----- В жизни нельзя быть уверенным на 100%, ведь никогда не знаешь когда...
|
Отправлено: 11:07 - 10 Янв., 2005
|
|
Ray
Модератор
Откуда: Донецк,Украина Регистрация: Янв. 2004
Всего: 746 сообщений
|
Всё бы было так хорошо- если бы ни было так плохо. >>А через скрипт карты? if x move_to 1 if y move_to 2 if z move_to 3 В том то и дело, что через скрипт карты нельзя. Для того чтобы вызвать проверку придётся вписывать в map-enter, а он как уже сказано не работает для 3 уровней. А куда ещё проверку в скрипт карты вставить, чтоб она срабатывала в нужный момент? -> Правильно нет такого места!
----- Не бывает невозможных задач – бывает мало времени.
|
Отправлено: 11:48 - 10 Янв., 2005
|
|
|
|