Кричит случайные фразы из fstring.txt .
AI:
Декомпилированный NASC:
NpcData:
fs_start - начало диапазона в fstring
fs_end - конец диапазона
say_time - время в мс между фразами
ShoutIt - если больше 0 то будет кричать.
Не забудьте прописать в fstring.txt что то вроде этого:
AI:
Код:
class 1 flooder : default
parameter_define_begin
int fs_start 1070000
int fs_end 1070009
int say_time 10000
int ShoutIt 0
parameter_define_end
handler 13 9 // CREATED
variable_begin
"myself"
"_choiceN"
"_code"
"_from_choice"
variable_end
push_event // myself
push_const 704
add
fetch_i
push_const 1001
push_parameter say_time
func_call 184680487 // func[AddTimerEx]
shift_sp -2
shift_sp -1
handler_end
handler 12 78 // TIMER_FIRED_EX
variable_begin
"timer_id"
"myself"
"_choiceN"
"_code"
"_from_choice"
variable_end
push_event // timer_id
push_const 236
add
fetch_i4
push_const 1001
equal
branch_false L2
L1
push_parameter ShoutIt
push_const 0
greater
branch_false L4
L3
push_event // myself
push_const 704
add
fetch_i
push_event // myself
push_const 704
add
fetch_i
push_parameter fs_start
push_event // gg
push_const 632
add
fetch_i
push_parameter fs_end
push_parameter fs_start
sub
func_call 218169344 // func[Rand]
shift_sp -1
add
//push_const 1000452
S0. ""
push_string S0
S1. ""
push_string S1
S2. ""
push_string S2
S3. ""
push_string S3
S4. ""
push_string S4
func_call 184942731 // func[MakeFString]
shift_sp -6
func_call 184614978 // func[Shout]
shift_sp -1
jump L5
L4
push_event // myself
push_const 704
add
fetch_i
push_event // myself
push_const 704
add
fetch_i
push_parameter fs_start
push_event // gg
push_const 632
add
fetch_i
push_parameter fs_end
push_parameter fs_start
sub
func_call 218169344 // func[Rand]
shift_sp -1
add
//push_const 1000452
S0. ""
push_string S0
S1. ""
push_string S1
S2. ""
push_string S2
S3. ""
push_string S3
S4. ""
push_string S4
func_call 184942731 // func[MakeFString]
shift_sp -6
func_call 184614973 // func[Say]
L5
shift_sp -1
shift_sp -1
// Ставим такой же таймер...
push_event // myself
push_const 704
add
fetch_i
push_const 1001
push_parameter say_time
func_call 184680487 // func[AddTimerEx]
shift_sp -2
shift_sp -1
L2
handler_end
class_end
Код:
class flooder : default
{
parameter:
int fs_start = 1070000;
int fs_end = 1070009;
int say_time = 10000;
int ShoutIt = 0;
handler:
EventHandler CREATED()
{
myself->AddTimerEx(1001,say_time);
}
EventHandler TIMER_FIRED_EX(timer_id)
{
if( timer_id == 1001 )
{
if( ShoutIt > 0 )
{
myself->Shout(myself->MakeFString(( fs_start + gg->Rand(( fs_end - fs_start )) ),"","","","",""));
}
else
{
myself->Say(myself->MakeFString(( fs_start + gg->Rand(( fs_end - fs_start )) ),"","","","",""));
}
myself->AddTimerEx(1001,say_time);
}
}
}
Код:
npc_ai={[flooder];{{[fs_start]=1070000};{[fs_end]=1070009};{[say_time]=10000};{[ShoutIt]=0}}
fs_end - конец диапазона
say_time - время в мс между фразами
ShoutIt - если больше 0 то будет кричать.
Не забудьте прописать в fstring.txt что то вроде этого:
Код:
1070000 [Реплика номер 1]
1070001 [Реплика номер 2]
1070002 [Реплика номер 3]
1070003 [Реплика номер 4]
1070004 [Реплика номер 5]
1070005 [Реплика номер 6]
1070006 [Реплика номер 7]
1070007 [Реплика номер 8]
1070008 [Реплика номер 9]
1070009 [Реплика номер 10]