Показать сообщение отдельно
Старый 06.11.2008, 12:24   #2107
halogene

AGFC
Гость
 
Сообщений: n/a

По умолчанию Re: М: Скриптинг в Готике

2Владай:
правда я про Г2, а там не AIV_WASDEFEATEDBYSC (не знает компилятор этой переменной), а AIV_DefeatedByPlayer, но вроде работает.
Угу, я на базе Г1 говорил, видимо, поменяли имя константы  ;D
Как всетаки сделать цикл посредством скриптов
ИМХО один из вариантов - сажать "невидимого жука" и в его функцциях расписания ZS_имяфунк_Loop() делать нужный цикл.
что надо в диалоге написать, чтобы атаковал не один НПС (с которым болтает ГГ), а вся группа сразу?
Если в базовом виде оно выглядит так:
B_Attack(self,other,AR_NONE,1);
То для группы где-то так:
B_Attack(self,other,AR_NONE,1); //говорящий
B_Attack(comrade_1,other,AR_NONE,1); //напарник 1
B_Attack(comrade_2,other,AR_NONE,1); //напарник 2
B_Attack(comrade_n,other,AR_NONE,1); //напарник n
Где comrade_1,comrade_2,comrade_n переменные типа C_NPC ссылающиеся на инстанцию напарников бандитов.
Т.е. в общем виде будет где-то так...
var C_Npc comrade_1;
var C_Npc comrade_2;
var C_Npc comrade_n;
comrade_1=Hlp_GetNpc(Bdt_2_Bandit_L);
comrade_2=Hlp_GetNpc(Bdt_3_Bandit_L);
comrade_n=Hlp_GetNpc(Bdt_4_Bandit_L);
B_Attack(self,other,AR_NONE,1);             //говорящий
B_Attack(comrade_1,other,AR_NONE,1); //напарник 1
B_Attack(comrade_2,other,AR_NONE,1); //напарник 2
B_Attack(comrade_n,other,AR_NONE,1); //напарник n
Как вариант, можно попробовать тупо вызвать функцию, указав инстанцию, -  
B_Attack(self,other,AR_NONE,1);             //говорящий
B_Attack(Bdt_2_Bandit_L,other,AR_NONE,1); //напарник 1
B_Attack(Bdt_3_Bandit_L,other,AR_NONE,1); //напарник 2
B_Attack(Bdt_4_Bandit_L,other,AR_NONE,1); //напарник n
но лучше уж не экспериментировать с несоответствием типов.  ;)
Ответить с цитированием