Flooder AI

kick

Предвестник
Administrator
За веру и верность форуму
Отец-основатель
Сообщения
7 051
Розыгрыши
21
Решения
1
Репутация
5 926
Реакции
6 622
Баллы
2 688
Кричит случайные фразы из 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
Декомпилированный NASC:
Код:
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);
        }
    }

}
NpcData:
Код:
npc_ai={[flooder];{{[fs_start]=1070000};{[fs_end]=1070009};{[say_time]=10000};{[ShoutIt]=0}}
fs_start - начало диапазона в fstring
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]
 

Обратите внимание, что данный пользователь заблокирован! Не совершайте с ним никаких сделок! Перейдите в его профиль, чтобы узнать причину блокировки.
Оффтоп:
Норм, норм, но есть же "Гварды" что орут при виде игрока(Глудио\Талкин и т.д) и отдалении его от нпц (вполне забавная вещь и аналог)
 
Назад
Сверху Снизу