|
Mynah
Модератор
Откуда: Пермь Регистрация: Окт. 2004
Всего: 469 сообщений
|
add_timer_event(dude_obj, 10, FIXED_VAL) metarule3(METARULE3_CLR_FIXED_TIMED_EVENTS, dude_obj, FIXED_VAL, 0) Понятно объяснил? :)
----- Scio me nihil scire
|
Отправлено: 2:12 - 5 Авг., 2005
|
|
Anchorite
Пользователь
Откуда: Не здесь Регистрация: Янв. 2003
Всего: 283 сообщения
|
2 Alan Killenger Нет, динамически выделить память не получится.
|
Отправлено: 5:36 - 5 Авг., 2005
|
|
Alan Killenger
Пользователь
Откуда: Россия, Ижевск Регистрация: Июль 2004
Всего: 404 сообщения
|
Цитата:
add_timer_event(dude_obj, 10, FIXED_VAL) metarule3(METARULE3_CLR_FIXED_TIMED_EVENTS, dude_obj, FIXED_VAL, 0) Понятно объяснил?
То есть просто добавление события по таймеру? Ааа.. убийство ранее добавленного события по таймеру. Причем ключом к тому, какое именно событие из всех подвешенных убивать есть ранее переданное значение в fixed_param. Так?
----- hit me, nail me, make me god
|
Отправлено: 5:55 - 5 Авг., 2005 | ИСПРАВЛЕНО: Alan Killenger - 6:59 - 5 Авг., 2005
|
|
Mynah
Модератор
Откуда: Пермь Регистрация: Окт. 2004
Всего: 469 сообщений
|
Цитата: Ааа.. убийство ранее добавленного события по таймеру. Причем ключом к тому, какое именно событие из всех подвешенных убивать есть ранее переданное значение в fixed_param. Так?
Именно так.
----- Scio me nihil scire
|
Отправлено: 11:26 - 5 Авг., 2005
|
|
Alan Killenger
Пользователь
Откуда: Россия, Ижевск Регистрация: Июль 2004
Всего: 404 сообщения
|
Еще вопрос. Хотя было бы лучше, если бы кто-нибудь давно копающий БИС скрипты просто поделился опытом, порассказывал что встречается в исходниках, чему следует удивляться, а чему - нет. Так вот, раскрываю такую строку:
Цитата: nr_add_timer_event_rand(self_obj, 10, 30, float_param);
Цитата: last_timed_obj:=self_obj; last_timed_param:=last_timed_param; metarule3(100,self_obj,1,0); add_timer_event(self_obj,game_ticks(10)+random(0,game_ticks(30-10)),1);
Хехе, вот бы где-нибудь типа в FGECK'е сделать команду "раскрыть отдельный макрос".. Ладно, так вот какой прикол. Нигде в скрипте пропущенном через препроцессор не встречаются переменные last_timed_param и last_timed_obj кроме как в следующих выражениях:
Цитата: last_timed_obj:=self_obj;
и
Цитата: last_timed_param:=last_timed_param;
А стало быть, они не имеют в этом скрипте никакой роли. Это нормально или у меня руки не из того места растут? Еще, следует ли удивляться тому, что в скрипте заявлено использование 5 или 7 LVAR, а на деле используется только LVAR(4) и LVAR(5)? (Добавление от 22:45 - 5 Авг., 2005.) Да, и еще вопрос. Вот есть у меня мод. Как мне узнать какие ГВАР затронуты в этом моде? Где-нибудь это отображается? То есть я делаю что-то свое поверх неизвестного мне мода и я хочу избежать пересечения ГВАР. Как мне быть? Неужто декомпилировать все скрипты в моде и смотреть?
----- hit me, nail me, make me god
|
Отправлено: 21:47 - 5 Авг., 2005
|
|
Ray
Модератор
Откуда: Донецк,Украина Регистрация: Янв. 2004
Всего: 746 сообщений
|
>>Вот есть у меня мод. Как мне узнать какие ГВАР затронуты в этом моде? Где-нибудь это отображается? То есть я делаю что-то свое поверх неизвестного мне мода и я хочу избежать пересечения ГВАР. Как мне быть? Обычно принято подписывать используемые гвары в vault13.gam. Глянь там, сразу после 633 Что ж за мод такой? А так только один способ из доступных мне - декомпайл.
----- Не бывает невозможных задач – бывает мало времени.
|
Отправлено: 22:56 - 5 Авг., 2005
|
|
Aman
Пользователь
Откуда: Киев Регистрация: Апр. 2005
Всего: 208 сообщений
|
>>порассказывал что встречается в исходниках, чему следует удивляться, а чему - нет - ничему не удивляйся Как правило, весь 2кб балласт идёт в начале декомпилированого скрипта и в основном - это лезет из command.h. Не стоит на это внимание обращать. Все "странные наборы" в скриптах, как правило одинаковые, сделай скрипт #include "..\headers\define.h" #include "..\headers\command.h" procedure start begin end Скомпили, потом декомпайл и вуаля. last_timed_obj и last_timed_param - похоже действительно не нужны, рудимент какой-то. Это всё newreno.h. Если мне что-то странное встречается, я просто поиск по папке с исходниками и хэадерами (1.02d) делаю. >>следует ли удивляться тому, что в скрипте заявлено использование 5 или 7 LVAR, а на деле используется только LVAR(4) и LVAR(5)? Не стоит. Помню меня это тоже сбило, подумал и решил - разработчики для себя решили, что LVAR(4) пусть отвечает за это, LVAR(5) за то и т.д. (это они так "выбрали", это не жестко и мы делаем, как хотим). Ну а то, что в скрипте первые три, например, не будут использоваться их особо не волновало: "подумаешь, лишние зарезервируем, мы ж не в Японии на конкурсе программистов". Да и при массовом написании, шаблоны так проще делать.
----- Ибо логично предположить, что если недостаточно чего-либо для запуска чего-либо, то второе чего-либо, а именно то, для которого не хватает - вообще не должно запускаться. (неизвестный)
|
Отправлено: 3:14 - 6 Авг., 2005
|
|
Ray
Модератор
Откуда: Донецк,Украина Регистрация: Янв. 2004
Всего: 746 сообщений
|
Кто-нибудь знает как скрыть отображение города на карте мира. То есть сделать противоположное функции mark_area_known. Да, есть макрос unmark_on_map(int area) но родной компилятор его не хочет понимать.
----- Не бывает невозможных задач – бывает мало времени.
|
Отправлено: 18:12 - 17 Авг., 2005
|
|
Wasteland Ghost
Маленькое Злое Привидение
Откуда: Россия, Самара Регистрация: Дек. 2002
Всего: 2251 сообщение
|
А он макросы понимать не обучен . command.h подключи. И ; не ставь. Компилится как миленький.
|
Отправлено: 18:28 - 17 Авг., 2005
|
|
Sokil
Пользователь
Откуда: Омск Регистрация: Март 2004
Всего: 120 сообщений
|
Здравствуйте, товарищи! Вопросик тут возник. Поможите, чем можете Диспозиция такова. Мне нужно, чтобы при первом заходе на карту отрубился пользовательский интерфейс, Чувак прогулялся до определенного тайла ,а дальше (при сближении с криттером) у него начинался не очень приятный разговор. Так вот, мне показалось логичным реализовать это через скрипт, навешиваемый на карту. Там это выглядит примерно так (точность не гарантирую): procedure map_enter_p_proc begin if(map_first_run) then begin game_ui_disable; animate_move_obj_to_tile(dude_obj, tile_x,1); game_ui_enable; end end Компиллится все нормально. При заходе на карту Чувак исправно отправляется в поход, но вот беда - не отрубается управление, и игрок в любой момент волен избежать неприятного разговора. Если Чувак доходит до тайла, рзговор начинается (тот криттер отслеживает расстояние до персонажа) Спрашивается, в чем косяк? Может я неверно выбрал скрипт? Может, нужно было зафигачить эту процедурку в скрипте криттера? И еще вопрос. Допустим, пользовательский интерфейс отключился, Чувак покорно идет навстречу неприятностям, и тут начинается диалог! Интерфейс включится? Даст выбрать диалоговые опции? Или кирдык?
|
Отправлено: 12:34 - 29 Авг., 2005
|
|
|
|