» TeamX (Архив Форума)«


Форум TeamX » Тех. поддержка » Скрипты (Все вопросы по скриптингу - сюда)

Переход по темам
<< Пред. След. >>
Страницы этой темы [ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 ] Все собщения

 
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
 

Переход по темам
<< Пред. След. >>
Страницы этой темы [ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 ] Все собщения


Powered by Ikonboard 2.1.9 RUS
Modified by RU.Board Team
© 2000 Ikonboard.com