kai saundas turi sugroti konsoleja matau toki dalyka
warning: MP3_InitStream(35, wonround.mp3) failed
warning: MP3_InitStream(36, startaction_01.mp3) failed
Code: Select all
#include <amxmodx>#include <amxmisc>#include <cstrike> //These sounds are in arrays so we could match them with each othernew const MUSIC[][] ={ "startround_01.mp3", //0 "startround_02.mp3", //1 "startround_03.mp3", //2 "startaction_01.mp3", //3 "startaction_02.mp3", //4 "startaction_03.mp3", //5 "deathcam.mp3", //6 "bombplanted.mp3", //7 "bombtenseccount.mp3", //8 "roundtenseccount.mp3", //9 "wonround.mp3", //10 "lostround.mp3" //11} // Setting task with their IDs so we can remove them laterenum (+= 100000){ TASKID_ROUND_TEN = 100000, // start with 100000 TASKID_BOMB_TEN} new player_cache[32], player_kit[32], player_folder[32][45];new bool_firstround = 1, bool_endofround, bool_bomb_planted ;new cvar_musickit_set, cvar_round_time, cvar_c4_time, cvar_freeze_time, cvar_musickit_howmany;new variant, client_cmds[6]; public plugin_init() { register_event("HLTV", "Event_New_Round", "a", "1=0", "2=0"); register_message(get_user_msgid("TextMsg"), "Event_End_Round"); register_event("DeathMsg", "Event_Death", "a"); register_logevent("Event_Start_Round", 2, "1=Round_Start"); register_logevent("Event_Bomb_Planted", 3, "2=Planted_The_Bomb"); register_logevent("Event_Round_Draw" , 4, "1=Round_Draw"); register_logevent("Event_Bomb_Defused", 3, "2=Defused_The_Bomb"); register_logevent("Event_BombTarget_Saved", 6, "3=Target_Saved") ; register_logevent("Remove_Tasks", 2, "1=Round_End"); // CVARS cvar_round_time = get_cvar_pointer("mp_roundtime"); cvar_c4_time = get_cvar_pointer("mp_c4timer"); cvar_freeze_time = get_cvar_pointer("mp_freezetime"); cvar_musickit_set = register_cvar("musickit_set", "1"); cvar_musickit_howmany = register_cvar("musickit_howmany", "1") for(new i = 0; i <= get_pcvar_num(cvar_musickit_howmany); i++) { formatex(client_cmds, charsmax(client_cmds), "kit%d", i); register_concmd(client_cmds, "ClientCommand_Select_Kit"); }} public plugin_precache() { precache_generic("media\musickits\1\CT\bombplanted.mp3"); precache_generic("media\musickits\1\CT\bombtenseccount.mp3"); precache_generic("media\musickits\1\CT\deathcam.mp3"); precache_generic("media\musickits\1\CT\lostround.mp3"); precache_generic("media\musickits\1\CT\roundtenseccount.mp3"); precache_generic("media\musickits\1\CT\startaction_01.mp3"); precache_generic("media\musickits\1\CT\startaction_02.mp3"); precache_generic("media\musickits\1\CT\startaction_03.mp3"); precache_generic("media\musickits\1\CT\startround_01.mp3"); precache_generic("media\musickits\1\CT\startround_02.mp3"); precache_generic("media\musickits\1\CT\startround_03.mp3"); precache_generic("media\musickits\1\CT\wonround.mp3"); precache_generic("media\musickits\1\T\bombplanted.mp3"); precache_generic("media\musickits\1\T\bombtenseccount.mp3"); precache_generic("media\musickits\1\T\deathcam.mp3"); precache_generic("media\musickits\1\T\lostround.mp3"); precache_generic("media\musickits\1\T\roundtenseccount.mp3"); precache_generic("media\musickits\1\T\startaction_01.mp3"); precache_generic("media\musickits\1\T\startaction_02.mp3"); precache_generic("media\musickits\1\T\startaction_03.mp3"); precache_generic("media\musickits\1\T\startround_01.mp3"); precache_generic("media\musickits\1\T\startround_02.mp3"); precache_generic("media\musickits\1\T\startround_03.mp3"); precache_generic("media\musickits\1\T\wonround.mp3"); } public ClientCommand_Select_Kit(id){ static cmd[6]; read_argv(0, cmd, 5); new num = str_to_num(cmd[3]); if(num <= 0) { player_kit[id] = 0; player_cache[id] = 0; client_cmd(id, "mp3 stop"); return } else player_cache[id] = num; client_print(id, print_chat, "Music Kit changed to %d.", num); client_print(id, print_center, "Music Kit will change next round.");} public Event_New_Round(){ // Resetting some values for later bool_endofround = 0; bool_bomb_planted = 0; Remove_Tasks(); new players[32], num; get_players(players, num, "c"); for (new i = 1; i < num + 1; i++) { if(bool_firstround == 1) { player_cache[i] = get_pcvar_num(cvar_musickit_set); player_kit[i] = player_cache[i]; } else player_kit[i] = player_cache[i]; } if(get_pcvar_num(cvar_freeze_time) <= 2) { variant = random_num(0,2); return } variant = random_num(0,2); Play_Music(0 + variant, 0, 0);} public Event_Start_Round(){ if(bool_endofround == 1) return Play_Music(3 + variant, 0, 0); new Float:SecUntilRoundEnd = float((get_pcvar_num(cvar_round_time) * 60) - 10); // We calculate when there's only ten seconds left of round time set_task(SecUntilRoundEnd, "Round_Ten_Seconds_Left", TASKID_ROUND_TEN); // Setting task to play sound when only ten seconds of round time is left} public Round_Ten_Seconds_Left(){ if(bool_endofround == 1) return // If is already planted, function is ignored if(bool_bomb_planted == 1) return Play_Music(9, 0, 0);} public Event_Bomb_Planted(){ if(bool_endofround == 1) return bool_bomb_planted = 1; remove_task(TASKID_ROUND_TEN); Play_Music(7, 0, 0); new Float:SecUntilExplosion = float(get_pcvar_num(cvar_c4_time) - 10); // Calculating when ten seconds is left on the C4 timer set_task(SecUntilExplosion, "Bomb_Ten_Seconds_Left", TASKID_BOMB_TEN); // Sets tasks when ten seconds of C4 timer is left } public Bomb_Ten_Seconds_Left(){ if(bool_endofround == 1) return Play_Music(8, 0, 0);} public Event_End_Round(id){ // We get what type of End Round we have... static textmsg[22]; get_msg_arg_string(2, textmsg, charsmax(textmsg)); //...and play the appropriate sound to each player according to their team if(equali(textmsg, "#Terrorists_Win")) //Terrorists Wins Play_Music(10, 1, 1); else if(equali(textmsg, "#CTs_Win")) //Counter-Terrorists Wins Play_Music(10, 2, 1); else if(equali(textmsg, "#Target_Bombed")) //C4 explodes, eliminates target Play_Music(10, 1, 1); else if(equali(textmsg, "#Hostages_Not_Rescued")) //Time ran out and hostages not rescued Play_Music(10, 1, 1); else if(equali(textmsg, "#VIP_Assassinated") || equali(textmsg, "#VIP_Not_Escaped")) //VIP killed or time ran out and VIP has not escaped Play_Music(10, 1, 1); else if(equali(textmsg, "#VIP_Escaped")) //VIP escapes Play_Music(10, 2, 1);} // Plays victory sound for CT when C4 is defusedpublic Event_Bomb_Defused(id){ if(bool_endofround == 1) return Play_Music(10, 2, 1); } // Plays victory sound for CT when target has not been bombedpublic Event_BombTarget_Saved(id){ Play_Music(10, 2, 1); } public Event_Round_Draw(){ Play_Music(11, 0, 1);} public Event_Death(){ if(bool_endofround == 1) return new id = read_data(2) // Getting index of player who just died Format_Music_Folder(id); client_cmd(id, "mp3 play ^"%s%s^"", player_folder[id], MUSIC[6]);} public Remove_Tasks(){ //Removing set tasks remove_task(TASKID_ROUND_TEN); remove_task(TASKID_BOMB_TEN);} public Play_Music(music, team, end){ new players[32], num; get_players(players, num, "c"); for (new i = 1; i < num + 1; i++) { Format_Music_Folder(i); if(end == 1) { if(team) // If one team wins { if(get_user_team(i) == team) client_cmd(i, "mp3 play ^"%s%s^"", player_folder[i], MUSIC[10]); else client_cmd(i, "mp3 play ^"%s%s^"", player_folder[i], MUSIC[11]); } else // When no one wins, everybody loses client_cmd(i, "mp3 play ^"%s%s^"", player_folder[i], MUSIC[11]); bool_endofround = 1; bool_bomb_planted = 0; Remove_Tasks(); // The 1st round is when players are still connecting and game has not commenced. // To prevent the sound from playing after that, we do this check if(bool_firstround == 1) { bool_firstround = 0; return } } else client_cmd(i, "mp3 play ^"%s%s^"", player_folder[i], MUSIC[music]); }} stock Format_Music_Folder(id){ new iFolder[45]; if(player_kit[id] == 1) { if(CsTeams:get_user_team(id) == CS_TEAM_T) formatex(iFolder, charsmax(iFolder), "media/musickits/1/TER/"); else if(CsTeams:get_user_team(id) == CS_TEAM_CT) formatex(iFolder, charsmax(iFolder), "media/musickits/1/CT/"); else formatex(iFolder, charsmax(iFolder), "media/musickits/1/CT/"); } else if(player_kit[id] >> 1) formatex(iFolder, charsmax(iFolder), "media/musickits/%d/", player_kit[id]); player_folder[id] = iFolder;}
L 10/12/2016 - 22:40:42: [AMXX] Displaying debug trace (plugin "csgo_garsai.amxx")
L 10/12/2016 - 22:40:42: [AMXX] Run time error 4: index out of bounds
L 10/12/2016 - 22:40:42: [AMXX] [0] csgo_garsai.sma::Format_Music_Folder (line 292)
L 10/12/2016 - 22:40:42: [AMXX] [1] csgo_garsai.sma::Event_Death (line 240)