» 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 ] Все собщения

 
Wasteland Ghost
Маленькое Злое Привидение

Откуда: Россия, Самара
Регистрация: Дек. 2002

Всего: 2251 сообщение

Цитата:

-Что такое AI Packet у криттера?


См. master.dat/data\ai.txt. AI определяет поведение криттера во время боя.
Цитата:

-Как я понял float_msg предназначена для отображения реплик криттеров, которые появляются над их головами? Тогда правильно ли я написал для этого процедуру и когда она должна вызываться?
procedure QQQ begin
float_msg(self_obj,127,1);
end


А зачем тебе для этого, пардон, процедура? А по флоат... доки читать надо ;).
Код:
 
void float_msg(ObjectPtr who, string msg, int type) - создать "плавающее" сообщение (над криттером)
Аргументы:
who - указатель на криттера
msg - строка сообщения, которую можно получить при помощи функции message_str
type - тип (см. DEFINE.H):
специальные:
FLOAT_MSG_WARNING (-2) - предупреждение (эран центрируется на говорящего)
FLOAT_MSG_SEQUENTIAL (-1) - циклический перебор всех цветов
цвет сообщения:
FLOAT_MSG_NORMAL (0)
FLOAT_MSG_BLACK (1)
FLOAT_MSG_RED (2) (FLOAT_COLOR_BAD)
FLOAT_MSG_GREEN (3) (FLOAT_COLOR_SICK)
FLOAT_MSG_BLUE (4)
FLOAT_MSG_PURPLE (5) (FLOAT_COLOR_HIGH)
FLOAT_MSG_NEAR_WHITE (6)
FLOAT_MSG_LIGHT_RED (7) (FLOAT_COLOR_AFRAID)
FLOAT_MSG_YELLOW (8) (FLOAT_COLOR_NORMAL)
FLOAT_MSG_WHITE (9) (FLOAT_COLOR_GOOD)
FLOAT_MSG_GREY (10) (FLOAT_COLOR_SAD) (FLOAT_COLOR_WHISPER)
FLOAT_MSG_DARK_GREY (11)
FLOAT_MSG_LIGHT_GREY (12) (FLOAT_COLOR_SFX) (FLOAT_COLOR_PAIN)
Возвращаемое значение:
нет
Макросы:
gen_floater, floater, floater_rand


Цитата:

-И еще: какая еще может быть реакция, кроме нейтральной, и на что она влияет?
giQ_Option(4,NAME,114,Node003,NEUTRAL_REACTION);  


Опять же, читаем доки:
Код:
 
void giQ_Option(int iq_test, int msg_list, int msg_num, procedure target, int reaction) - вывести вариант ответа в диалоге
Аргументы:
iq_test - ограничитель интеллекта (если отрицательный, то условие означает "интеллект меньше или равен", если положительный - "больше или равен")
msg_list - номер файла msg
msg_num - номер строки в файле msg
target - процедура, к которой осуществляется переход при выборе соответствующего ответа
reaction - эмоциональная реакция (см. DEFINE.H):
GOOD_REACTION (49)
NEUTRAL_REACTION (50)
BAD_REACTION (51)
Возвращаемое значение:
нет
Макросы:
GOption, NOption, BOption, GLowOption, NLowOption, BLowOption


А определяет она цвет ответа при наличии перка эмпатия.

Отправлено: 11:52 - 21 Сент., 2004
escapist
Пользователь

Откуда: В. Новгород
Регистрация: Авг. 2004

Всего: 34 сообщения

Да я доки-то читаю, просто у меня не всегда получается то, что я задумал , а вообще, конечно, спасибо.

Однако, я так и не просек куда float_msg вставлять надо?

Отправлено: 19:01 - 21 Сент., 2004
izuken
Адский Хомяк

Откуда: mSk
Регистрация: Янв. 2004

Всего: 125 сообщений

поррручик Ррржевский, мммммолчать!!!!!

-----
эхо москвы маздай.
save the planet - kill self.

Отправлено: 19:40 - 21 Сент., 2004
Raven
Пользователь

Откуда: Владик
Регистрация: Февр. 2004

Всего: 408 сообщений

float_msg можно вызывать откуда угодно, за исключением режима диалога. Например, так:

procedure description_p_proc begin
script_overrides;
float_msg(self_obj,"Hi",0);
end

Отправлено: 1:03 - 22 Сент., 2004
escapist
Пользователь

Откуда: В. Новгород
Регистрация: Авг. 2004

Всего: 34 сообщения

Мне надо, чтобы float_msg вызывалось все время (те пока игрок на карте).

Я сделал так:

procedure critter_p_proc begin  
In_Timed_Event:=0;
if (In_Timed_Event == 0) then begin
      In_Timed_Event:=1;
      add_timer_event(self_obj,game_ticks(random(5,9)),1);
  end  
 end
 
procedure timed_event_p_proc begin
  if (fixed_param == 1) then begin  
      float_msg(self_obj,"HI",0);    
      In_Timed_Event:=0;
  end
end

Т.е. создал счетчик. Надпись появляется через 5-9 сек после входа на карту.

А как вставить счетчик так, чтобы она через некоторое время пропадала, а потом появлялась снова?

И еще вопрос: какую функцию необходимо вызвать, чтобы карта снова стала неизвестной?

Отправлено: 22:26 - 23 Сент., 2004
Sereney
Пользователь

Регистрация: Окт. 2004

Всего: 1 сообщение

Как в скрипте диалога сделать так что бы носитель этого скрипта после определенного варианта ответа нападал на игрока?

-----
Не трогай проблему пока проблема не трогает тебя!

Отправлено: 14:35 - 10 Окт., 2004
izuken
Адский Хомяк

Откуда: mSk
Регистрация: Янв. 2004

Всего: 125 сообщений

даёшь ссылку на node998 - у бисов так называется обычно узел с началой драки. в нём прописываешь что-нить вроде
set_lvar(lvar_hostile,99999);

-----
эхо москвы маздай.
save the planet - kill self.

Отправлено: 16:53 - 10 Окт., 2004
Ray
Модератор

Откуда: Донецк,Украина
Регистрация: Янв. 2004

Всего: 746 сообщений

Подскажите, а как в скрипте карты задать hex на котором появится игрок при заходе на локацию. Я использую пакет от Noida.

-----
Не бывает невозможных задач – бывает мало времени.

Отправлено: 22:07 - 21 Окт., 2004
escapist
Пользователь

Откуда: В. Новгород
Регистрация: Авг. 2004

Всего: 34 сообщения

В чем предназначение функции Lighting?

Отправлено: 21:06 - 23 Окт., 2004
Tehnokrat
Модератор

Откуда: Новосибирск
Регистрация: Окт. 2003

Всего: 489 сообщений

>>В чем предназначение функции Lighting?

Эт не столько функция, сколько макрос, предназначенный устанавливать освещение карты в зависимости от времени суток:

#define Lighting                if ((get_month >= 3) and (get_month < 5)) then                          
                                           Spring_Lighting;                                                    
                                       else if ((get_month >= 5) and (get_month < 9)) then                    
                                           Summer_Lighting;                                                    
                                       else if ((get_month >= 9) and (get_month < 11)) then                    
                                           Fall_Lighting;                                                      
                                       else                                                                    
                                           Winter_Lighting

(Отредактировал(а) Tehnokrat - 3:23 - 24 Окт., 2004)

-----
Прошлое можно узнать, но нельзя изменить. Будущее можно изменить, но нельзя узнать.

Отправлено: 23:59 - 23 Окт., 2004
 

Переход по темам
<< Пред. След. >>
Страницы этой темы [ 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