// es_yrj_es.txt // mrYoung Random Jukebox (yRJ_ES) by mRyOuNg /// A random jukebox for playing musics at round start // Installation instructions // : Create a directory yrj_es in cstrike/addons/eventscripts // : Put this script in this directory as es_yrj_es.txt // : add - es_load yrj_es - in autoexec.cfg // : Go to "yrj_es_conf" block, and set your values // : Requirements : // : Mattie EventScripts block yrj_es_conf { /// block yrj_es_conf // -- Configuration block /// yrj_es_roundcycle ... Defines time (in rounds) between sound play ... // if equal to 1, sound will be played at each round start // if equal to 2, sound will be played every 2 round start // ... es_xsetinfo yrj_es_roundcycle 1 /// yrj_es_downloadable ... Should we make sound files in a downloadable state ... // Enabled (1) if you want this script to make the sound downloadable // Disabled (0) if you don't want this ... (Like Mani already did it) es_xsetinfo yrj_es_downloadable 0 /// yrj_es_usemani ... Should we use mani to play sound ? // Enabled (1) ... Mani Will be used (ma_play) // Disabled (0) ... Mani will not be used (directly with es) // You must understand that for this feature to work, you should // first have a correct mani soundlist.txt. And that every soundlist.txt // song title, must be the same as yRJ song title es_xsetinfo yrj_es_usemani 1 // -- Eof Configuration } block load { /// block load // triggered at script loads // versioning es_xsetinfo yrj_es_ver v0.1b1 es_makepublic yrj_es_ver // creating sounds database es_xsetinfo yrj_es_exists 0 es_xexists yrj_es_exists keygroup yrj_es_db if (server_var(yrj_es_exists) equalto 1) then es_xkeygroupdelete yrj_es_db es_xkeygroupcreate yrj_es_db // setting up configuration es_xdoblock yrj_es/yrj_es_conf // Loading db es_keygroupload yrj_es_db |yrj_es // getting number of sounds es_xsetinfo yrj_es_soundcount 0 es_xsetinfo yrj_es_current_title 0 es_xforeachkey yrj_es_current_title in yrj_es_db "es_xmath yrj_es_soundcount + 1" // downloadable feature if (server_var(yrj_es_downloadable) equalto 1) do { // if downloadable feature is enabled es_xsetinfo yrj_es_current_title 0 es_xforeachkey yrj_es_current_title in yrj_es_db "es_xdoblock yrj_es/yrj_es_makedownloadable" } // misc. var. init. es_setinfo yrj_es_freezetime server_var(mp_freezetime) es_xsetinfo yrj_es_current_roundcycle 0 } block unload { /// block unload // triggered at script unloads // deleting yrj_es_db es_xsetinfo yrj_es_exists 0 es_xexists yrj_es_exists keygroup yrj_es_db if (server_var(yrj_es_exists) equalto 1) then es_xkeygroupdelete yrj_es_db } event es_map_start { /// event es_map_start // triggered at map starts // reseting round cycle es_xsetinfo yrj_es_current_roundcycle 0 } event round_start { /// event round_start // triggered at round_start // managing round cycle es_xmath yrj_es_current_roundcycle + 1 if (server_var(yrj_es_current_roundcycle) equalto server_var(yrj_es_roundcycle)) do { // if it's time to play a sound // getting a random number es_xsetinfo yrj_es_rand 0 es_rand yrj_es_rand 1 server_var(yrj_es_soundcount) // searching the random number in the list es_xsetinfo yrj_es_current_sound 0 es_xsetinfo yrj_es_current_title 0 es_xforeachkey yrj_es_current_title in yrj_es_db "es_xdoblock yrj_es/yrj_es_playrandomsound" // reseting roundcycle es_xsetinfo yrj_es_current_roundcycle 0 } } block yrj_es_makedownloadable { /// block yrj_es_makedownloadable // called to set the sounds in a downloadable states // getting sound_path es_xsetinfo yrj_es_tmppath 0 es_keygetvalue yrj_es_tmppath yrj_es_db server_var(yrj_es_current_title) sound_path // creating full path es_xsetinfo yrj_es_fullpath 0 es_format yrj_es_fullpath "sound/%1" server_var(yrj_es_tmppath) // making it downloadable es_stringtable downloadables server_var(yrj_es_fullpath) } block yrj_es_playrandomsound { /// block yrj_es_playrandomsound // when triggered, play a random sound // reading the db, to find the current sound ... es_xmath yrj_es_current_sound + 1 if (server_var(yrj_es_current_sound) equalto server_var(yrj_es_rand)) do { es_xsetinfo yrj_es_soundpath 0 es_keygetvalue yrj_es_soundpath yrj_es_db server_var(yrj_es_current_title) sound_path if (server_var(yrj_es_usemani) equalto 0) do { es_delayed server_var(yrj_es_freezetime) es_cexec_all play server_var(yrj_es_soundpath) } else do { es_delayed server_var(yrj_es_freezetime) es ma_play server_var(yrj_es_current_title) } es_delayed server_var(yrj_es_freezetime) es_msg #multi #greenyRJ_ES: #defaultNow playing.#lightgreen server_var(yrj_es_current_title) #default! } } // --