Гайд ChatBot для Indigo (1/2)

Новая ава блеять
Забаненный
Статус
Оффлайн
Регистрация
14 Янв 2018
Сообщения
89
Реакции[?]
235
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
И вот наконец-таки решил слить прикол из моего чита. Данный гайд решил разделить на 2 части.
1)Заходим в Misc.cpp и в Events(в прошлом посте о ShotSpam я показывал как сделать) вставляем:
Код:
    if (Settings::Misc::ChatBot)
    {
        if (!strcmp(pEvent->GetName(), "bomb_planted"))
        {
            std::vector<std::string> Planted = { "BombPlanted" };
            auto say = "say ";
            std::string msg = say + Planted[rand() % Planted.size()];
            Interfaces::Engine()->ExecuteClientCmd(msg.c_str());
        }
        else if (!strcmp(pEvent->GetName(), "bomb_defused") || !strcmp(pEvent->GetName(), "bomb_exploded"))
        {
            std::vector<std::string> Defused = { "BombDefused" };
            auto say = "say ";
            std::string msg = say + Defused[rand() % Defused.size()];
            Interfaces::Engine()->ExecuteClientCmd(msg.c_str());
        }
        else if (!strcmp(pEvent->GetName(), "player_death"))
        {

            std::vector<std::string> Death = { "PlayerDeath" };
            auto say = "say ";
            std::string msg = say + Death[rand() % Death.size()];
            Interfaces::Engine()->ExecuteClientCmd(msg.c_str());
        }
        else if (!strcmp(pEvent->GetName(), "bomb_dropped"))
        {
            std::vector<std::string> Dropped = { "BombDropped" };
            auto say = "say ";
            std::string msg = say + Dropped[rand() % Dropped.size()];
            Interfaces::Engine()->ExecuteClientCmd(msg.c_str());
        }
В Settings.h/cpp:
Код:
bool/extern bool ChatBot;
В Client.cpp добавляем чекбокс.

2ю часть сделаю завтра.
 
Забаненный
Статус
Оффлайн
Регистрация
9 Июл 2017
Сообщения
53
Реакции[?]
17
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
auto say = "say "s;

бля, для приличия хотя бы стрингом сделал, а не чаром, хоть и разницы нету:с

а по сути это юзлесс фича
 
Забаненный
Статус
Оффлайн
Регистрация
9 Июл 2017
Сообщения
53
Реакции[?]
17
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
>Каждый раз создает векторный массив СТРОК под одно слово + к этому судя по коду боится ставить пробелы, между словами.
>Юзает std::rand(), что бы из массива в котором один элемент рандомно выбрать что-то
>Каждый раз определяет "say", вместо того, что бы определить глобально
EDIT: В добавок все еще на условных операторах

Вопрос "зачем" не уместен, спрошу: нахуя?
Код:
auto engine = Interfaces::Engine();
 if (!strcmp(pEvent->GetName(), "bomb_planted")
      engine->ExecuteClientCmd("say bomb_planted");
else if (!strcmp(pEvent->GetName(), "bomb_defused") || !strcmp(pEvent->GetName(), "bomb_exploded"))
      engine->ExecuteClientCmd("say bomb_defused");
else if (!strcmp(pEvent->GetName(), "player_death"))
      engine->ExecuteClientCmd("say player_death");
 else if (!strcmp(pEvent->GetName(), "bomb_dropped"))
      engine->ExecuteClientCmd("say bomb_dropped");
 
Эксперт
Статус
Оффлайн
Регистрация
12 Июн 2014
Сообщения
991
Реакции[?]
1,209
Поинты[?]
3K
Код:
if (Settings::Misc::ChatBot)
    {
        const char* comand_name = pEvent->GetName();
        std::string msg_comand = "";
            
        if (!strcmp(comand_name, "bomb_planted"))     
           msg_comand = "say BombPlanted";
        else if (!strcmp(comand_name, "bomb_defused") || !strcmp(comand_name, "bomb_exploded"))
            msg_comand = "say BombDefused";
        else if (!strcmp(comand_name, "player_death"))
            msg_comand = "say PlayerDeath";
        else if (!strcmp(comand_name, "bomb_dropped"))     
           msg_comand = "say BombDropped";
            
            
        if(msg_comand.size() > 0)
           Interfaces::Engine()->ExecuteClientCmd(msg.c_str());
    }
 
Забаненный
Статус
Оффлайн
Регистрация
9 Июл 2017
Сообщения
53
Реакции[?]
17
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Код:
if (Settings::Misc::ChatBot)
    {
        const char* comand_name = pEvent->GetName();
        std::string msg_comand = "";
           
        if (!strcmp(comand_name, "bomb_planted"))    
           msg_comand = "say BombPlanted";
        else if (!strcmp(comand_name, "bomb_defused") || !strcmp(comand_name, "bomb_exploded"))
            msg_comand = "say BombDefused";
        else if (!strcmp(comand_name, "player_death"))
            msg_comand = "say PlayerDeath";
        else if (!strcmp(comand_name, "bomb_dropped"))    
           msg_comand = "say BombDropped";
           
           
        if(msg_comand.size() > 0)
           Interfaces::Engine()->ExecuteClientCmd(msg.c_str());
    }
в if() " > 0 " необязательно ведь, а без него красивее =)
 
Сверху Снизу