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])
 
Сверху Снизу