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

 
Ray
Модератор

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

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

Ты прав Я это вспомнил только через 10 мин. После того как пост отправил. Глюконуло меня малость

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

Отправлено: 23:49 - 31 Янв., 2006
Dar
Пользователь

Откуда: Воронеж
Регистрация: Дек. 2004

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

Смешно, но ответы на свои вопросы я тоже через десять минут нашел - тоже надо отдыхать. мою.
.

//wield_obj_critter(dude_obj,obj_carrying_pid_obj(dude_obj, {pid_Item}));

Отправлено: 9:38 - 1 Фев., 2006
Lesnik7
Пользователь

Регистрация: Февр. 2006

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

Я конечно может быть тупойи нехрена не понимаю ,но у меня следующии вопрос.

Написал я простой скрипт (хелоу ворд), откомпилировал ( если расширение инт - это откомпилированый скрипт?) засунул в маппер, открываю его и какбыло сказанно, жму s e , выбираю, и.... нет его в выпадающем списке.... что делать, а? где я мог допустить ошибку?

В следующий раз прогоняй текст сообщения через Word или что-нибудь в этом духе. Читать же невозможно!
WG

Отправлено: 15:41 - 6 Фев., 2006
Inviolatum
Пользователь

Регистрация: Янв. 2006

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

Скорее всего ты не прописал скрипт в scripts.lst
Как это сделать и зачем смотри тут и тут

Отправлено: 16:57 - 6 Фев., 2006
Keha
Пользователь

Регистрация: Янв. 2006

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

Если можно пожалуйста разъясните тут что можно о процедуре combat_p_proc
В FScript-HOWTO она не освещена, а из того что есть о ней в доке, понял мало:

combat_p_proc - выполняется во время боя. Номер конкретного события, вызвавшего функцию, передаётся в качестве параметра fixed_param:
fixed_param = COMBAT_SUBTYPE_WEAPON_USED (1) - было использовано оружие
fixed_param = COMBAT_SUBTYPE_HIT_SUCCEEDED (2) - успешное попадание
fixed_param = COMBAT_SUBTYPE_SEQUENCING (3) - проверяется боевая последовательность
fixed_param = COMBAT_SUBTYPE_TURN (4) - начало хода
fixed_param = COMBAT_SUBTYPE_NONCOM_TURN (5) - неизвестно (используется у любимцев Мельхиора, возможно, означает ход игрока)

Как понял доку процедура всплывает при 1) было использовано оружие, 2)успешное попадание, 3) проверяется боевая последовательность,4) начало хода,...

Как из этой процедуры узнать этот fixed_param? Точнее можно ли из combat_p_proc узнать какой боевой скил был использован при а) атаке , б) нанесении повреждения? (интересует атака и нанесение повреждения со стороны obj_dude по врагу)

Отправлено: 19:48 - 9 Фев., 2006 | ИСПРАВЛЕНО: Keha - 19:58 - 9 Фев., 2006
Dar
Пользователь

Откуда: Воронеж
Регистрация: Дек. 2004

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

Keha

Туда можно дофига насовать, правда не все будет работать анимации например не будут вроде как они во время боя совсем никак.

Вот тебе частный случай:

procedure combat_p_proc
begin
variable tmp_armor;
tmp_armor:=critter_inven_obj(dude_obj, INVEN_TYPE_WORN);
add_timer_event(self_obj, 1, 2);
if  (fixed_param  ==  4)  or  (fixed_param == 3) then begin
if  (obj_is_carrying_obj_pid(self_obj, mech_armor_pid) == 1 ) then begin
wield_obj_critter(dude_obj, obj_carrying_pid_obj(dude_obj, mech_armor_pid));
display_msg("Bot set brain control");
end
if  (obj_is_carrying_obj_pid(self_obj, Android_armor_pid) == 1 ) then begin
wield_obj_critter(dude_obj, obj_carrying_pid_obj(dude_obj, Android_armor_pid));
display_msg("Bot set brain control");
end
     if  obj_pid(tmp_armor)==  mech_armor_pid   then begin
     metarule3(107, self_obj, 16777282, 0);
     end
     if  obj_pid(tmp_armor)==  Android_armor_pid   then begin
     metarule3(107, self_obj, 16777336, 0);
     end
end      
end    

Отправлено: 22:12 - 9 Фев., 2006 | ИСПРАВЛЕНО: Dar - 22:14 - 9 Фев., 2006
Keha
Пользователь

Регистрация: Янв. 2006

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

Большое спасибо.
Понял правдо в примере не все:

procedure combat_p_proc begin

присвоение перем. tmp_armor указателя одетой на чузе брони.
variable tmp_armor:=critter_inven_obj(dude_obj, INVEN_TYPE_WORN);

добавить событие по таймеру (носителю скрипта, задержка=1тик, инфо=2)
add_timer_event(self_obj, 1, 2);

    Если ф_п=4 или 3 то
    if  (fixed_param  ==  4)  or  (fixed_param == 3) then begin

        если количество мех_арморов в инвентаре носителя скрипта = 1 то
         if  (obj_is_carrying_obj_pid(self_obj, mech_armor_pid) == 1 ) then begin
           
                  Чюз экипируется в эту мех_арморину
                  wield_obj_critter(dude_obj, obj_carrying_pid_obj(dude_obj, mech_armor_pid));

                    написать: "Бот установил майнд контрол" - Это что арморина гипнознула чюза заставив его одется в нее &#61514; ?
                   display_msg("Bot set brain control";
          end
     
          если количество андроид_арморов в инвентаре владельца скрипта = 1 то  
          if  (obj_is_carrying_obj_pid(self_obj, Android_armor_pid) == 1 ) then begin

                   То Чюз экипируется в эту арморину  
                    wield_obj_critter(dude_obj, obj_carrying_pid_obj(dude_obj, Android_armor_pid));
         
         написать: "Ктото влип?"
         display_msg("Bot set brain control";
         end

     Если мех армор была изначально надета то
    If  obj_pid(tmp_armor)==  mech_armor_pid   then begin
   
       
        metarule3(107, self_obj, 16777282, 0);

meta3_switch = METARULE3_ART_SET_BASE_FID_NUM (107), владелец скрипта, FID=16777282, meta3_par = 0:
изменить базовый номер FID (идентификатора фрейма)

Изменить базовый идентификатор фрайма? хмм?
Здесь не понял что делается? заменяется картинка у критера?        
        end
   

      if  obj_pid(tmp_armor)==  Android_armor_pid   then begin
    metarule3(107, self_obj, 16777336, 0);
    end
end      
end  

В целом не уверен что понял весь скрипт.
О том что тут делает metarule3 у меня только разные предположения.
В части скрипта используется указатель dude_obj, а в части self_obj,.
Это кусок для скрипта Obj_dude(Чуза)? Или любого другого критера?
Если Чуза то понятно. Но зачем тогда указатель self_obj?

Не уверен правильно ли понимаю как работает событие по таймеру. Насколько понимаю все что стоит в примере после add_timer_event это то что должно произойти через задержку в 1тик?
Те каким то событием инициируется и стартует процедура combat_p_proc,
сразу же запоминается указатель надетой на чюзе брони
после чего идет задержка в 1тик, и только после этого выполняется все остальное? так?

Отправлено: 15:05 - 10 Фев., 2006
binyan
Пользователь

Откуда: Israel
Регистрация: Март 2005

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

Цитата:
В целом не уверен что понял весь скрипт.
О том что тут делает metarule3 у меня только разные предположения.
В части скрипта используется указатель dude_obj, а в части self_obj,.
Это кусок для скрипта Obj_dude(Чуза)? Или любого другого критера?

1. У metalure есть несколько функций, по моему, но в данном случае она меняет ФИД - т.е. внешний вид, анимацию, называй как хочешь.
2. Тут я тебя не понял...Ты ж сам выше ответил. self_obj - это указатель на носителя скрипта dude_obj - указатель на чуза.


-----
...выражая озадаченность, граничащую с озабоченностью..

Отправлено: 23:11 - 10 Фев., 2006
Dar
Пользователь

Откуда: Воронеж
Регистрация: Дек. 2004

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

Да это скрипт дюда.  self_obj было лень испаравлять - разницы то никакой для этого скрипта.

Цитата:
"Бот установил майнд контрол" - Это что арморина гипнознула чюза заставив его одется в нее &#61514; ?


Мечта такая была у многих сделать новую расу сделать игрока мутантом и ли гулом например и еще
многие хотели сделать базу со злыми роботами (2-е сюжетно у меня по другому - не суть важно короче.)

из этого появилось а не сделать игрока Андроидом.
И я поковырявшись в Mynah'х - скриптах мечвариора  стал эксперементировать на предмет неснимаемой брони. Теперь  она почти не снимается. :-/

Можешь заменить mech_armor_pid на пид обыкновенной брони, убить add_timer_event(self_obj, 1, 2); , исправить фиды  на соответственные и загнать это в скрипт дюда и посмотреть что получится.

>>Изменить базовый идентификатор фрайма? хмм?
>>Здесь не понял что делается? заменяется картинка >>у критера?

Так работает надевание брони на напарниках и на дюде если  на текуший момент  воспроизводится не нулевая анимация.  Например игрок стоит и держит оружие в руках если его экипировать не изменяя фида то он так и будет с тем фидом который двиг определил пока его не заставищь(это не точно) чего нибудь сделать.

>>добавить событие по таймеру (носителю скрипта, >>задержка=1тик, инфо=2)
>>add_timer_event(self_obj, 1, 2);

Это вызов procedure timed_event_p_proc параллельно. К идушим ниже в рамках сомбат проки
fixed_param не относится. Мне нужно просто что бы дюд был всегда одет постоянно и снять с себя броню не мог поэтому у меня экиперовать и т.п. напихано почти вовсех процедурах (в которые это имело смысл засовывать).

Цитата:
Не уверен правильно ли понимаю как работает событие по таймеру [и далее].


Начался бой - произошла усилием двига инициация сомбат проки после того как у тебя кончились актион поинты(правда кто нибудь может успеть походить еще это я еще не выяснил точно),
выполнилась сомбат прока целиком
Начала работать procedure timed_event_p_proc  спустя один тик - меньше нельзя повиснет комп :-\
там тоже самое- т.е "экипировать".
на втором и третьем и т.п ходах timed_event_p_proc
уже будет работать на первом не факт. Выполнятся с сомбат прокой они будут обе.

Если чего нибудь пропустил переспрашивай, но проше  увидеть процедуру в действии.

Отправлено: 23:15 - 10 Фев., 2006
binyan
Пользователь

Откуда: Israel
Регистрация: Март 2005

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

Цитата:
И я поковырявшись в Mynah'х - скриптах мечвариора  стал эксперементировать на предмет неснимаемой брони. Теперь  она почти не снимается. :-/

Можно узнать что значит "Почти" ?

-----
...выражая озадаченность, граничащую с озабоченностью..

Отправлено: 23:19 - 10 Фев., 2006
 

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