Подведи собственные итоги года совместно с YOUGAME и забери ценные призы! Перейти

Killsay Рандомизация

  • Автор темы Автор темы Neyman
  • Дата начала Дата начала
Пользователь
Пользователь
Статус
Оффлайн
Регистрация
19 Янв 2019
Сообщения
349
Реакции
99
Код который имеется:

if (health == 0)
g_pEngine->ExecuteClientCmd("say eAsY pEaSy LeMoN sQuEeZy");


Шо цэ - ExecuteClientCmd:

virtual void ExecuteClientCmd(const char *szCmdString) = 0;

Вопрос.

Как сделать несколько фраз, и чтобы они шли в рандомном порядке?:whyRly: я тупо я буънулбошка не варит - 900 IQ
 
ExecuteClientCmd - выполняет команду на стороне клиента
Чтобы сделать рандомизацию, можно сделать массив строк и выдёргивать её rand-ом
ExecuteClientCmd("say ""%s""", МассивСтрок[rand() % размер массива])
 
Решил глянуть, как я это реализовывал ранее (год назад), ужаснулся :roflanEbalo:
Ну и говно-кодил я тогда



Код:
Expand Collapse Copy
if (KillerID == local.index && cvar.BlameBot)
    {
        char buf[100];
        int number;
        hud_player_info_t info;
        Engine.pfnGetPlayerInfo(VictimID, &info);
        const char* Victim = info.name;
        srand(time(NULL));
        if (IsHeadshot == 0)        number = rand() % 5;
        else if (IsHeadshot == 1)    number = 5 + rand() % 10;

        if(number == 0)            sprintf(buf, SPAM_1_V2, Victim); //все SPAM_N_V2 - xor-енные строки
        else if (number == 1)    sprintf(buf, SPAM_2_V2, Victim);
        else if (number == 2)    sprintf(buf, SPAM_3_V2, Victim);
        else if (number == 3)    sprintf(buf, SPAM_4_V2, Victim);
        else if (number == 4)    sprintf(buf, SPAM_5_V2, Victim);
        else if (number == 5)    sprintf(buf, SPAM_6_V2, Victim);
        else if (number == 6)    sprintf(buf, SPAM_7_V2, Victim);
        else if (number == 7)    sprintf(buf, SPAM_8_V2, Victim);
        else if (number == 8)    sprintf(buf, SPAM_9_V2, Victim);
        else if (number == 9)    sprintf(buf, SPAM_10_V2, Victim);
        
        pEngine->pfnClientCmd(buf);
    }
 
Решил глянуть, как я это реализовывал ранее (год назад), ужаснулся :roflanEbalo:
Ну и говно-кодил я тогда



Код:
Expand Collapse Copy
if (KillerID == local.index && cvar.BlameBot)
    {
        char buf[100];
        int number;
        hud_player_info_t info;
        Engine.pfnGetPlayerInfo(VictimID, &info);
        const char* Victim = info.name;
        srand(time(NULL));
        if (IsHeadshot == 0)        number = rand() % 5;
        else if (IsHeadshot == 1)    number = 5 + rand() % 10;

        if(number == 0)            sprintf(buf, SPAM_1_V2, Victim); //все SPAM_N_V2 - xor-енные строки
        else if (number == 1)    sprintf(buf, SPAM_2_V2, Victim);
        else if (number == 2)    sprintf(buf, SPAM_3_V2, Victim);
        else if (number == 3)    sprintf(buf, SPAM_4_V2, Victim);
        else if (number == 4)    sprintf(buf, SPAM_5_V2, Victim);
        else if (number == 5)    sprintf(buf, SPAM_6_V2, Victim);
        else if (number == 6)    sprintf(buf, SPAM_7_V2, Victim);
        else if (number == 7)    sprintf(buf, SPAM_8_V2, Victim);
        else if (number == 8)    sprintf(buf, SPAM_9_V2, Victim);
        else if (number == 9)    sprintf(buf, SPAM_10_V2, Victim);
       
        pEngine->pfnClientCmd(buf);
    }
я ес чесно даже без понятие как это будет выглядеть у меня ...
 
Решил глянуть, как я это реализовывал ранее (год назад), ужаснулся :roflanEbalo:
Ну и говно-кодил я тогда



Код:
Expand Collapse Copy
if (KillerID == local.index && cvar.BlameBot)
    {
        char buf[100];
        int number;
        hud_player_info_t info;
        Engine.pfnGetPlayerInfo(VictimID, &info);
        const char* Victim = info.name;
        srand(time(NULL));
        if (IsHeadshot == 0)        number = rand() % 5;
        else if (IsHeadshot == 1)    number = 5 + rand() % 10;

        if(number == 0)            sprintf(buf, SPAM_1_V2, Victim); //все SPAM_N_V2 - xor-енные строки
        else if (number == 1)    sprintf(buf, SPAM_2_V2, Victim);
        else if (number == 2)    sprintf(buf, SPAM_3_V2, Victim);
        else if (number == 3)    sprintf(buf, SPAM_4_V2, Victim);
        else if (number == 4)    sprintf(buf, SPAM_5_V2, Victim);
        else if (number == 5)    sprintf(buf, SPAM_6_V2, Victim);
        else if (number == 6)    sprintf(buf, SPAM_7_V2, Victim);
        else if (number == 7)    sprintf(buf, SPAM_8_V2, Victim);
        else if (number == 8)    sprintf(buf, SPAM_9_V2, Victim);
        else if (number == 9)    sprintf(buf, SPAM_10_V2, Victim);
       
        pEngine->pfnClientCmd(buf);
    }
Думаю, сработает ...

char* word[] = {"1","2","3"};
if (health == 0)
g_pEngine->ExecuteClientCmd(word[rand() & 3]);
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Это не надо использовать. Это чисто поржать :roflanEbalo: Прост я был молод и глуп, все дела


Пашет?

Код:
Expand Collapse Copy
char* word[] = {"say 1","say 2","say 3"};
                if (health == 0)
                    g_pEngine->ExecuteClientCmd(word[rand() & 3]);

Он по спамил 2 раза "2" и вылетела игра :frowning:
 
Код:
Expand Collapse Copy
char* word[] = {"say 1","say 2","say 3"};
                if (health == 0)
                    g_pEngine->ExecuteClientCmd(word[rand() & 3]);

Он по спамил 2 раза "2" и вылетела игра :frowning:
g_pEngine->ExecuteClientCmd(word[rand() & 3]);
-->
g_pEngine->ExecuteClientCmd(word[rand() % 3]);
 
Назад
Сверху Снизу