Help Вопрос с SET_TASK

victormevsa

Пользователь
Регистрация
5 Янв 2018
Сообщения
129
Симпатии
31
Пол
Мужской
OS
Linux
Amx Mod X
AMXX 1.9.0
Билд
3.6.0.675-dev
Metamod
v1.3.0.128
Meta модули
Код:
[ 1] SafeNameAndChat  RUN   -    safenameandchat.dll   v1.1            ini  ANY   ANY
[ 2] Reunion          RUN   -    reunion_mm.dll        v0.1.0.92       ini  Start Never
[ 3] ReAuthCheck      RUN   -    reauthcheck_mm.dll    v0.1.6          ini  Start Never
[ 4] Rechecker        RUN   -    rechecker_mm.dll      v2.5            ini  Chlvl ANY
[ 5] Revoice          RUN   -    revoice_mm.dll        v0.1.0.32       ini  Start Never
[ 6] AMX Mod X        RUN   -    amxmodx_mm.dll        v1.9.0.5249     ini  Start ANY
[ 7] WHBlocker        RUN   -    whblocker_mm.dll      v1.5.696        ini  Chlvl ANY
[ 8] ReSemiclip       RUN   -    resemiclip_mm.dll     v2.3.9          ini  Chlvl ANY
[ 9] Ham Sandwich     RUN   -    hamsandwich_amxx.dll  v1.9.0.5249     pl6  ANY   ANY
[10] CSX              RUN   -    csx_amxx.dll          v1.9.0.5249     pl6  ANY   ANY
[11] ReAPI            RUN   -    reapi_amxx.dll        v5.9.0.178-dev  pl6  ANY   Never
Плагины
Код:
[  1] Admin Base              1.9.0.5249  AMXX Dev Team     admin.amxx       running
[  2] Admin Commands          1.9.0.5249  AMXX Dev Team     admincmd.amxx    running
[  3] Admin Help              1.9.0.5249  AMXX Dev Team     adminhelp.amxx   running
[  4] Slots Reservation       1.9.0.5249  AMXX Dev Team     adminslots.amxx  running
[  5] Multi-Lingual System    1.9.0.5249  AMXX Dev Team     multilingual.am  running
[  6] Menus Front-End         1.9.0.5249  AMXX Dev Team     menufront.amxx   running
[  7] Commands Menu           1.9.0.5249  AMXX Dev Team     cmdmenu.amxx     running
[  8] Players Menu            1.9.0.5249  AMXX Dev Team     plmenu.amxx      running
[  9] Maps Menu               1.9.0.5249  AMXX Dev Team     mapsmenu.amxx    running
[ 10] Plugin Menu             1.9.0.5249  AMXX Dev Team     pluginmenu.amxx  running
[ 11] Admin Chat              1.9.0.5249  AMXX Dev Team     adminchat.amxx   running
[ 12] Admin Votes             1.9.0.5249  AMXX Dev Team     adminvote.amxx   running
[ 13] Nextmap Chooser         1.9.0.5249  AMXX Dev Team     mapchooser.amxx  running
[ 14] Pause Plugins           1.9.0.5249  AMXX Dev Team     pausecfg.amxx    running
[ 15] Stats Configuration     1.9.0.5249  AMXX Dev Team     statscfg.amxx    running
[ 16] StatsX                  1.9.0.5249  AMXX Dev Team     statsx.amxx      running
[ 17] Halloween Effects       1.0         Slove.            halloweeneffect  debug
Amxx Модули
Код:
Не важно!
Ошибка
Код:
На данный момент не работает таск с мультиэффектами!
Привет ребята, хотел создать плагин эффектов для Хэллоуина, идея такая:
- Во время раунда должны воспроизводиться рандомные страшные звуки.

Плагин:
#include <amxmodx>
#include <reapi>

// Режим тестирования
#define TEST

new szSound[][]=
{
    "zombie_plague/nemesis1.wav",
    "zombie_plague/nemesis2.wav",
    "zombie_plague/survivor1.wav",
    "zombie_plague/survivor2.wav",
    "zombie_plague/thunder1.wav",
    "zombie_plague/thunder2.wav"
},i;

public plugin_init()
{
    register_plugin("Halloween Effects","1.0","Slove.");
   
    #if defined TEST
    register_clcmd("say /test", "PlayEffects");
    register_clcmd("say_team /test", "PlayEffects");
    #endif
   
    register_event("HLTV", "EventRoundStart", "a", "1=0", "2=0");
}

public client_putinserver(id)
{
    set_task(1.0, "PlayOneEffect", id);
}

public plugin_precache()
{
    for(i=0;i<sizeof(szSound);i++)
    {
        precache_sound(szSound[i]);
    }
}

public EventRoundStart()
{
    for(new id = 1;id <= get_maxplayers(); id++)
    {
        PlayEffects(id);
    }
}

public PlayEffects(id)
{
    new szRandom=random_num(0,sizeof(szSound));
    if(is_user_valid(id))
    {
        rg_send_audio(id, szSound[szRandom]);
        #if defined TEST
        client_print_color(id, print_team_default, "^1Эффект: ^4воспроизведён.");
        #endif
        set_task(20.00, "PlayEffects", id);
    }
}

public PlayOneEffect(id)
{
    new szRandom=random_num(0,sizeof(szSound));
    if(is_user_valid(id))
    {
        rg_send_audio(id, szSound[szRandom]);
        #if defined TEST
        client_print_color(id, print_team_default, "^1Эффект приветствия: ^4воспроизведён.");
        #endif
    }
}

stock bool: is_user_valid(id){
    if(!is_user_connected(id) || is_user_bot(id) || is_user_hltv(id))
        return false;
    return true;
}
Проблема в том что запускается лишь таск с одним звуком, а остальные не воспроизводятся.
В чем может быть причина?
 

Noob with cheats!

Пользователь
Регистрация
23 Фев 2020
Сообщения
24
Симпатии
8
Это наброски?
C++:
-register_event("HLTV", "EventRoundStart", "a", "1=0", "2=0");
+RegisterHookChain(RG_CSGameRules_RestartRound, "RoundRestart", false)

+charsmax(szSound) 
-sizeof(szSound)

// Здесь вы лишний раз даёте звук боту, хлтв, connecting, поэтому проверку лучше сделать ещё здесь.
for(new id = 1;id <= get_maxplayers(); id++)
    {
        if(is_user_valid(id)) PlayEffects(id)
    }

// Только сейчас осознал, что надо было конец через && у себя делать.
stock is_user_valid(id){
    return (!is_user_bot(id) || !is_user_hltv(id) || !is_user_connecting(id) && is_user_connected(id))
}

// Вообще без понятия как у тебя звук заработал, если вроде бы всё от корня указывается.
-rg_send_audio(id, szSound[szRandom])
+rg_send_audio(id, "sound/%s",szSound[szRandom])
 
Сверху Снизу