Music states is what i would use. Look at the folder "option 1" instructions.txt. Its easy and works. // Then after testing look at "option 2" folder. It uses mostly the same files except you can use triggers in radiant and use script_noteworthy for playing different music in your map.https://www.mediafire.com/download/snt0k8sy59lorrl I have faith in this method! But so far it has not worked for me.
The script compiles but the music does not play. I will be giving you the scripts that I am using.
tokyo.gsc
The setmusicstate is in the Initial function.
#include maps\_utility; #include common_scripts\utility; #include maps\tokyo_util; #include maps\_music; #include maps\_anim; //#include maps\_drone; #using_animtree( "generic_human" ); main() { level._effect["fx_ash_embers_light"] = loadfx("maps/see1/fx_fire_embers_patch2"); level._effect["fx_fire_campfire_small"] = loadfx("env/fire/fx_fire_campfire_small"); level._effect["fx_battlefield_smokebank_low_thin"] = loadfx("env/smoke/fx_battlefield_smokebank_low_thin"); level._effect["fx_fire_barrel_small"] = loadfx("env/fire/fx_fire_barrel_small"); level._effect["fx_smk_column_md_gray_dir"] = loadfx("env/smoke/fx_smk_column_md_gray_dir"); level._effect["fx_smoke_window_lg_gry"] = loadfx("env/smoke/fx_smoke_window_lg_gry"); level._effect["fx_smk_plume_xlg_slow_blk"] = loadfx("env/smoke/fx_smk_plume_xlg_slow_blk"); level._effect["fx_pollen_lg"] = loadfx("env/foliage/fx_pollen_lg"); level._effect["fx_elec_sparks_looping"] = loadfx("env/electrical/fx_elec_sparks_looping"); level._effect["fx_smoke_crater"] = loadfx("env/smoke/fx_smoke_crater"); level._effect["fx_fire_house_md_jp"] = loadfx("env/fire/fx_fire_house_md_jp"); level._effect["fx_mortarExp_dirt"] = loadfx("explosions/fx_mortarExp_dirt"); level._effect["fx_fire_barrel_d_light"] = loadfx("env/fire/fx_fire_barrel_d_light"); level._effect["mortarExp_water"] = loadfx("explosions/mortarExp_water"); level._effect["fx_fog_rolling_thick_slow"] = loadfx("env/smoke/fx_fog_rolling_thick_slow"); level._effect["fx_fire_column_creep_md"] = loadfx("env/fire/fx_fire_column_creep_md"); level._effect["fx_fire_150x150_tall_distant"] = loadfx("env/fire/fx_fire_150x150_tall_distant"); maps\_sherman::main("vehicle_usa_tracked_shermanm4a3", "sherman"); // Don't give the player the default loadout, we want to specify it for our custom made map level.dodgeloadout = true; // Sets up all of the FX in the level maps\tokyo_fx::main(); // _load, sets up all of the basic entity behaviors maps\_load::main(); // Sets the player's weapon loadout... This line should be right after _load::main(), and no waits/delays before it. set_loadout(); // Sets up ambient sounds maps\tokyo_amb::main(); // Sets up "canned" animations maps\tokyo_anim::main(); all_sp_fx = getStructArray( "all_sp_fx", "targetname"); if (IsDefined(all_sp_fx)) { array_thread( all_sp_fx, ::play_all_sp_fx ); } loopfx = getStructArray( "loop", "targetname"); if (IsDefined(loopfx)) { array_thread( loopfx, ::loop ); } env = getStructArray( "loop_env", "targetname"); if (IsDefined(env)) { array_thread( env, ::loop2 ); } env2 = getStructArray( "loop_env2", "targetname"); if (IsDefined(env2)) { array_thread( env2, ::loop3 ); } maps\_banzai::init(); maps\_spawner::main(); //songcache(); // Get the bad guys( we should make them into a prefab so easier to implement in different maps ) level.Friendly_Spawns = getEntArray( "beach_ally", "targetname" ); assertex( isdefined( level.Friendly_Spawns ), "The required Allied NPCs are not in the map." ); /* level.Friendly_Spawns2 = getEntArray( "city_ally", "targetname" ); assertex( isdefined( level.Friendly_Spawns2 ), "The required Allied NPCs are not in the map." ); */ // Get our custom spawning system trigs level.Friendly_Triggers = getEntArray( "beachtrig", "targetname" ); assertex( isdefined( level.Friendly_Triggers ), "There are no spawn triggers in the map." ); array_thread( level.Friendly_Triggers, ::spawnTrigThink ); level.Friendly_Triggers2 = getEntArray( "citytrig", "targetname" ); assertex( isdefined( level.Friendly_Triggers2 ), "There are no spawn triggers in the map." ); array_thread( level.Friendly_Triggers2, ::spawnTrigThink ); watersimenable (true); water_settings(); flag_init("beachmusic"); thread music(); thread eastermusic(); thread shark(); thread obj1(); thread Initial(); allyspawn1(); beachencounter1(); extraally(); beachencounter2(); encounter3spawn(); swampspawn(); //killally1(); allyspawn2(); cityencounter(); docks(); end(); } // Sets the custom weapon loadout set_loadout() { if (level.script == "tokyo") { mptype\player_usa_marine::precache(); add_weapon("springfield"); add_weapon("colt"); add_weapon("fraggrenade"); add_weapon("molotov"); set_switch_weapon("springfield"); set_secondary_offhand("molotov"); PrecacheItem( "napalmblob" ); PrecacheItem( "napalmbloblight" ); set_laststand_pistol("colt"); set_player_viewmodel( "viewmodel_usa_marine_arms" ); level.campaign = "american"; //return; } /* // Precache's / sets the list of weapons to give to the player when he spawns in PrecacheItem( "colt" ); PrecacheItem( "m1carbine" ); PrecacheItem( "fraggrenade" ); PrecacheItem( "molotov" ); add_weapon( "colt"); add_weapon( "m1carbine" ); add_weapon( "fraggrenade" ); add_weapon( "molotov" ); // Sets the player's offhand throw weapon (aka smoke/flash) set_secondary_offhand( "molotov" ); // Sets the player's default (if he does not have a pistol) laststand pistol. set_laststand_pistol( "colt" ); // Sets the player's viewarms set_player_viewmodel( "viewmodel_usa_marine_arms"); // Sets the player's viewarms when attacked by an enemy in a melee sequence or if a canned animation calls for them set_player_interactive_hands( "viewmodel_usa_marine_player" ); // Switches the player's weapon once he spawns in set_switch_weapon( "m1carbine" ); // Sets the campaign, which is used for battlechatter and other various scripts level.campaign = "american"; // Precaches the 3rd person model (for when playing coop) mptype\player_usa_marine::precache(); */ } Initial() { iprintlnbold( "Take the beach." ); set_vision_set("tokyo", 0.5); wait(2); setmusicstate("beachsong"); thread plane1move(); thread plane1rotate(); thread environment(); } environment() { ocean1 = getent("ocean1", "targetname"); ocean2 = getent("ocean2", "targetname"); ocean3 = getent("ocean3", "targetname"); ocean4 = getent("ocean4", "targetname"); ocean5 = getent("ocean5", "targetname"); ocean6 = getent("ocean6", "targetname"); ocean7 = getent("ocean7", "targetname"); ocean8 = getent("ocean8", "targetname"); ocean9 = getent("ocean9", "targetname"); ocean1 playloopsound("calm_surf_r"); ocean2 playloopsound("calm_surf_r"); ocean3 playloopsound("calm_surf_r"); ocean4 playloopsound("calm_surf_r"); ocean5 playloopsound("calm_surf_r"); ocean6 playloopsound("calm_surf_r"); ocean7 playloopsound("calm_surf_r"); ocean8 playloopsound("calm_surf_r"); ocean9 playloopsound("calm_surf_r"); } allyspawn1() { beach_ally = getent( "ally1spawn", "targetname" ); beach_ally waittill( "trigger" ); simple_floodspawn( "beach_ally" ); } extraally() { beach_spawn2 = getent( "beach_spawn2", "targetname" ); beach_spawn2 waittill( "trigger" ); simple_spawn("beach2"); } ag1_strat() { } eastermusic() { trig = getent("eastermusic", "targetname"); radio = getent("radio", "targetname"); trig waittill("trigger"); radio playsound("hook"); } shark() { shark1 = getent("shark1", "targetname"); shark2 = getent("shark2", "targetname"); shark3 = getent("shark3", "targetname"); shark4 = getent("shark4", "targetname"); shark5 = getent("shark5", "targetname"); shark6 = getent("shark6", "targetname"); shark7 = getent("shark7", "targetname"); shark8 = getent("shark8", "targetname"); shark9 = getent("shark9", "targetname"); shark10 = getent("shark10", "targetname"); shark11 = getent("shark11", "targetname"); shark12 = getent("shark12", "targetname"); shark13 = getent("shark13", "targetname"); shark14 = getent("shark14", "targetname"); shark15 = getent("shark15", "targetname"); shark16 = getent("shark16", "targetname"); shark17 = getent("shark17", "targetname"); shark18 = getent("shark18", "targetname"); shark19 = getent("shark19", "targetname"); shark20 = getent("shark20", "targetname"); trig = getent("shark", "targetname"); trig waittill("trigger"); shark1 movez(3100, 45); shark2 movez(3700, 45); shark3 movez(3160, 45); shark4 movez(3350, 45); shark5 movez(3220, 45); shark6 movez(3450, 45); shark7 movez(3130, 45); shark8 movez(3830, 45); shark9 movez(3701, 45); shark10 movez(3630, 45); shark11 movez(3450, 45); shark12 movez(3900, 45); shark13 movez(3850, 45); shark14 movez(3810, 45); shark15 movez(3360, 45); shark16 movez(3550, 45); shark17 movez(3430, 45); shark18 movez(3950, 45); shark19 movez(3620, 45); shark20 movez(3350, 45); wait(50); shark1 delete(); shark2 delete(); shark3 delete(); shark4 delete(); shark5 delete(); shark6 delete(); shark7 delete(); shark8 delete(); shark9 delete(); shark10 delete(); shark11 delete(); shark12 delete(); shark13 delete(); shark14 delete(); shark15 delete(); shark16 delete(); shark17 delete(); shark18 delete(); shark19 delete(); shark20 delete(); } music() { trig = getent("music1", "targetname"); trig waittill("trigger"); setmusicstate("mx_fubar_example"); } /* musictriggers() { musinit = getent("music1", "targetname"); musland = getent("music2", "targetname"); musbunker = getent("music3", "targetname"); set_flag_on_trigger( musinit, "beachmusic" ); set_flag_on_trigger( musland, "landbattle" ); set_flag_on_trigger( musbunker, "bunker"); } */ beachencounter1() { //allyguys = getentarray("allyspawn", "targetname"); beachtrig = getent( "beach_spawn1", "targetname" ); spawner = getentarray("e1", "targetname"); beachtrig waittill( "trigger" ); simple_floodspawn("e1", ::e1_strat); //kill_aigroup("e1"); //wait(2); //simple_spawn("e1_banzai", ::e1_banzai_strat); //wait(3); //simple_spawn("e1_top", ::e1_top_strat); wait(4); simple_spawn("e1b"); //level.player setFriendlyChain(getNode("allybeachnode1", "targetname")); //beachally = getent("beach_ally", "targetname"); //set_color_chain("allybeachnode1"); //beachally setFriendlyChain(getNode("allybeachnode1", "targetname")); //beachally waittill //waittill_dead_or_dying(getaiarray("e1")); //waittill_dead_or_dying(getaiarray("e1b")); //set_color_chain("allybeachnode2"); //beachally setFriendlyChain(getNode("allybeachnode2", "targetname")); //allynodebeach1 } e1_banzai_strat() { self endon( "death" ); self.ignoreme = 1; self.banzai_no_wait = 1; self.grenadeawareness = 0; self.ignoresuppression = 1; self.script_max_banzai_distance = 2000; self thread maps\_banzai::banzai_force(); self thread maps\_banzai::banzai(); wait( 1.75 + RandomFloat( 0.5 ) ); self.ignoreme = 0; } e1_strat() { } e1_top_strat() { } beachencounter2() { autosave_by_name( "e2save" ); beach1 = getEntArray("e1", "targetname"); beach1 die(); beachtrig2 = getent( "encounter2a", "targetname" ); beachtrig2 waittill( "trigger" ); //thread disablespawners(beach1); //previous = getentarray("e1", "targetname"); //thread disablespawners(previous); //music_switcher("mx_WildCard_loop_g"); beach2spawner = getent("e2_front", "targetname"); simple_floodspawn("e2_mg", ::e2_mg_strat); simple_floodspawn("e2_front", ::e2_front_strat); //simple_floodspawn("e2_frontb", ::e2_frontb_strat); simple_spawn("e2_top"); //waittill_dead_or_dying(beach2spawner, 14) simple_spawn("e2b"); } e2_frontb_strat() { } e2b_strat() { } e2_banzai_strat() { self endon( "death" ); self.ignoreme = 1; self.banzai_no_wait = 1; self.grenadeawareness = 0; self.ignoresuppression = 1; self.script_max_banzai_distance = 2000; self thread maps\_banzai::banzai_force(); self thread maps\_banzai::banzai(); wait( 1.75 + RandomFloat( 0.5 ) ); self.ignoreme = 0; } e2_front_strat() { } e2_mg_strat() { //setTurretNode( node, type99_lmg ); beach_mg = getent( "beach_mg", "targetname" ); beach_mg MakeTurretUsable(); "e2_mg" canUseTurret( beach_mg ); type99user = beach_mg getTurretOwner(); self.ignoresuppression = 1; } encounter3spawn() { //beach2 = getentarray("e2_front", "targetname"); beach2 = getEntArray("e2_front", "targetname"); beach2mg = getEntArray("e2_mg", "targetname"); beach2 die(); beach2mg die(); enc3trigger = getent( "enc3", "targetname" ); enc3trigger waittill( "trigger" ); //thread disablespawners(beach2); iprintlnbold( "Push to the bunker." ); thread plane2move(); autosave_by_name( "e3save1" ); simple_spawn("e3init"); simple_spawn("enc3_mgspawner1", ::e3a_strat); simple_spawn("enc3_mgspawner2", ::e3a_strat2); //wait(2); //plane = getent( "planepass", "targetname" ); //plane moveX( 5032, 5, 0.1, 0.1 ); wait(10); simple_floodspawn("e3a", ::e3mg_strat); /* enc3btrig = getent( "trig3b", "targetname" ); enc3btrig waittill( "trigger" ); simple_spawn("e3b"); simple_floodspawn("e3bside"); */ } swampspawn() { swamp1trig = getent( "swampspawner", "targetname" ); swamp1trig waittill ("trigger"); simple_floodspawn("swamp1", ::swamp1strat); swamp2trig = getent( "mainswampspawn", "targetname" ); swamp2trig waittill ("trigger"); simple_spawn("swamp2init"); wait(16); simple_floodspawn("swamp2"); swamp3trig = getent( "roadrunners", "targetname" ); swamp3trig waittill ("trigger"); autosave_by_name( "e3save2" ); simple_spawn("runners"); wait(6); simple_spawn("encampment"); finalapp = getent( "behindbunker", "targetname" ); finalapp waittill ("trigger"); simple_spawn("backdefense"); //simple_floodspawn("backflood"); final = getent("last_beachai", "targetname"); final waittill ("trigger"); simple_floodspawn("e3bside"); killspawns(); swamp = getentarray("swamp1", "targetname"); swamp die(); autosave_by_name( "e3save3" ); bunkertrigger(); } bunkertrigger() { trig = getent("music3", "targetname"); trig waittill("trigger"); //set_vision_set("ber2_darksubway", 0.5); } killspawns() { guys = getentarray("e3bside", "targetname"); trig = getent("kill", "targetname"); trig waittill ("trigger"); guys.count = 0; //thread disableSpawners1(); //thread disablespawners(guys); } swamp1strat() { } e3mg_strat() { } e3a_strat() { //setTurretNode( node, type99_lmg ); bunker_mg = getent( "bunkermg2", "targetname" ); bunker_mg MakeTurretUsable(); "enc3_mgspawner1" canUseTurret( bunker_mg ); type99user = bunker_mg getTurretOwner(); } e3a_strat2() { //setTurretNode( node, type99_lmg ); bunker_mg2 = getent( "bunkermg", "targetname" ); bunker_mg2 MakeTurretUsable(); "enc3_mgspawner2" canUseTurret( bunker_mg2 ); type99user = bunker_mg2 getTurretOwner(); } allyspawn2() { city = getent( "cityallyspawn", "targetname" ); city waittill( "trigger" ); simple_floodspawn("city_ally"); set_vision_set("tokyo", 0.5); thread plane_city(); thread plane_city2(); } killenemy() { swamp = getentarray("swamp1", "targetname"); swamp2 = getentarray("swamp2", "targetname"); e3bside = getentarray("e3bside", "targetname"); beach1 = getentarray("", "targetname"); beach2 = getEntArray("e2_front", "targetname"); beach2mg = getEntArray("e2_mg", "targetname"); beachally = getentarray("beach_ally", "targetname"); i = 0; while(i < 32) { //swamp[i].count = 0; disablespawners(swamp); swamp[i] thread self_delete(); kill_aigroup( swamp[i] ); //beachally[i].count = 0; disablespawners(beachally); beachally[i] thread self_delete(); kill_aigroup( beachally[i] ); //beach1[i].count = 0; disablespawners(beach1); beach1[i] thread self_delete(); kill_aigroup( beach1[i] ); //beach2[i].count = 0; disablespawners(beach2); beach2[i] thread self_delete(); kill_aigroup( beach2[i] ); //beach2mg[i].count = 0; disablespawners(beach2mg); beach2mg[i] thread self_delete(); kill_aigroup( beach2mg[i] ); //swamp2[i].count = 0; disablespawners(swamp2); swamp2[i] thread self_delete(); kill_aigroup( swamp2[i] ); //e3bside[i].count = 0; disablespawners(e3bside); e3bside[i] thread self_delete(); kill_aigroup( e3bside[i] ); i++; } } cityencounter() { thread killenemy(); //swamp die(); //beachally die(); e4trig = getent( "cityenemyspawn", "targetname" ); e4trig waittill ( "trigger" ); /* for( x = 0 ; x < level.Friendly_Spawns.size ; x++ ) { level.Friendly_Spawns[x].count = 0; } */ iprintlnbold( "Take the city." ); autosave_by_name( "e4save1" ); simple_floodspawn("city_floodspawn"); //waittill_dead_or_dying(getaiarray("cityenemyspawn"), 12); wait(20); simple_spawn("city_bait", "targetname"); e4btrigger = getent( "trigger_cityspawn2", "targetname" ); e4btrigger waittill ( "trigger" ); simple_floodspawn("city_floodspawn2"); /* e4ctrig = getent( "buildingspawners", "targetname" ); e4ctrig = waittill ("trigger"); simple_floodspawn("buildinga"); */ } docks() { city1 = getentarray("city_floodspawn", "targetname"); city2 = getentarray("city_floodspawn2", "targetname"); city1.count = 0; city2.count = 0; city1 die(); city2 die(); iprintlnbold( "Take the docks!!" ); autosave_by_name( "e4save2" ); } end() { endtrig = getent("end", "targetname"); endtrig waittill("trigger"); iprintlnbold( "Great job! You've landed a beach head in Tokyo!"); wait(10); iprintlnbold("Thank you for playing!"); wait(2); iprintlnbold("Mapped and scripted by Cayden Berry"); /* for (i = 0; i < players.size; i++) { // fade to black fadetowhite[i].x = 0; fadetowhite[i].y = 0; fadetowhite[i].alpha = 0; fadetowhite[i].horzAlign = "fullscreen"; fadetowhite[i].vertAlign = "fullscreen"; fadetowhite[i].foreground = true; fadetowhite[i] SetShader( "white", 640, 480 ); // Fade into white fadetowhite[i] FadeOverTime( 0.2 ); fadetowhite[i].alpha = 1; } */ wait(3); iprintlnbold("Special thanks to ugx-mods.com user codmoddd1234 for helping me with the FX!"); wait(6); iprintlnbold("Quit to return to the main menu"); nextmission(); } e4_strat() { } water_settings() { /* Water Dvars Default Values What They Do ====================================================================== r_watersim_enabled default = true Enables dynamic water simulation r_watersim_debug default = false Enables bullet debug markers r_watersim_flatten default = false Flattens the water surface out r_watersim_waveSeedDelay default = 500.0 Time between seeding a new wave( ms ) r_watersim_curlAmount default = 0.5 Amount of curl applied r_watersim_curlMax default = 0.4 Maximum curl limit r_watersim_curlReduce default = 0.95 Amount curl gets reduced by when over limit r_watersim_minShoreHeight default = 0.04 Allows water to lap over the shoreline edge r_watersim_foamAppear default = 20.0 Rate foam appears at r_watersim_foamDisappear default = 0.78 Rate foam disappears at r_watersim_windAmount default = 0.02 Amount of wind applied r_watersim_windDir default = 45.0 Wind direction( degrees ) r_watersim_windMax default = 0.4 Maximum wind limit r_watersim_particleGravity default = 0.03 Particle gravity r_watersim_particleLimit default = 2.5 Limit at which particles get spawned r_watersim_particleLength default = 0.03 Length of each particle r_watersim_particleWidth default = 2.0 Width of each particle */ SetDvar( "r_watersim_curlAmount", 1 ); SetDvar( "r_watersim_curlMax", 1 ); SetDvar( "r_watersim_curlReduce", 0.95 ); SetDvar( "r_watersim_minShoreHeight", -3.2 ); SetDvar( "r_watersim_waveSeedDelay", 250.0 ); SetDvar( "r_watersim_foamAppear", 20 ); SetDvar( "r_watersim_foamDisappear", 0.775 ); SetDvar( "r_watersim_windAmount", 0.4 ); SetDvar( "r_watersim_windMax", 0.21 ); SetDvar( "r_watersim_windDir", 340.0 ); } /* songcache() { song = []; song[0] = "mx_fubar"; //Beach Encounter song[1] = "mx_WildCard_loop_g"; //E3 & Swamp encounter2a song[2] = "mx_zeros_alt_c"; // City encounter song[3] = "mx_dog_wave_b"; //docks encounter } */ /* precachefx() { level._effect["beach_mortar_hole"] = loadfx("env/smoke/fx_smoke_crater"); } runfx() { self.fx = PlayFX{level._effect[self.script_string], self.origin}; } */ // Handles user triggering for spawners spawnTrigThink() { level endon( "reached_end" ); while( 1 ) { self waittill( "trigger" ); eLocos = getStructArray( self.target, "targetname" ); if( !isDefined( eLocos ) ) { continue; // No where to spawn :( } howManyToSpawn = eLocos.size; howManyCanSpawn = 7; if( !isDefined( howManyCanSpawn ) || howManyCanSpawn <= 0 ) { continue; } for( x = 0 ; x < howManyCanSpawn ; x++ ) { thread moveSpawners( eLocos[x] ); } } } moveSpawners( eLoc ) { for( x = 0 ; x < level.Friendly_Spawns.size ; x++ ) { level.Friendly_Spawns[x].origin = eLoc.origin; } } disableSpawners1() { for( x = 0 ; x < level.Friendly_Spawns.size ; x++ ) { level.Friendly_Spawns[x].count = 0; } } disablespawners(spawner) { for( x = 0 ; x < level.spawner.size ; x++ ) { level.spawner[x].count = 0; } } // This will precache and set the loadout rather than duplicate work. add_weapon( weapon_name ) { PrecacheItem( weapon_name ); level.player_loadout[level.player_loadout.size] = weapon_name; } // This sets the secondary offhand type when the player spawns in set_secondary_offhand( weapon_name ) { level.player_secondaryoffhand = weapon_name; } // This sets the the switchtoweapon when the player spawns in set_switch_weapon( weapon_name ) { level.player_switchweapon = weapon_name; } // Sets the player's laststand pistol set_laststand_pistol( weapon ) { level.laststandpistol = weapon; } // Sets the player's viewmodel set_player_viewmodel( viewmodel ) { PrecacheModel( viewmodel ); level.player_viewmodel = viewmodel; } // Sets the player's handmodel used for "interactive" hands and banzai attacks set_player_interactive_hands( model ) { level.player_interactive_hands = model; PrecacheModel( level.player_interactive_hands ); } play_all_sp_fx() { if( IsDefined(self.script_personality) && self.script_personality == "reverse_fx" ) { playfx (level._effect[self.script_noteworthy], self.origin,AnglesToForward( self.angles )); } else { PlayFX( level._effect[self.script_noteworthy], self.origin ); } } loop() { playLoopedFX(level._effect[self.script_noteworthy], randomFloatRange(4.0,20.0), self.origin); } loop2() { playLoopedFX(level._effect[self.script_noteworthy], 0.1, self.origin); } loop3() { playLoopedFX(level._effect[self.script_noteworthy], 0.5, self.origin); } obj1() { obj1 = getent("obj1","targetname"); trig = getent("trig", "targetname"); objective_add(1, "active", &"Get_Off_Of_The_Beach", getent("obj1", "targetname").origin); objective_current(1); trig waittill("trigger"); objective_state(1, "done"); wait(2); thread obj2(); } obj2() { obj1 = getent("obj2","targetname"); trig = getent("music3", "targetname"); objective_add(2, "active", &"Get_Inside_The_Bunker", getent("obj2", "targetname").origin); objective_current(2); trig waittill("trigger"); objective_state(2, "done"); wait(2); thread obj3(); } obj3() { obj1 = getent("obj3","targetname"); trig = getent("3", "targetname"); objective_add(3, "active", &"Get_To_The_City", getent("obj3", "targetname").origin); objective_current(3); trig waittill("trigger"); objective_state(3, "done"); wait(2); thread obj4(); } obj4() { obj1 = getent("obj4","targetname"); trig = getent("4", "targetname"); objective_add(4, "active", &"Push_Down_The_Street", getent("obj4", "targetname").origin); objective_current(4); trig waittill("trigger"); objective_state(4, "done"); wait(2); thread obj5(); } obj5() { obj1 = getent("obj5","targetname"); trig = getent("5", "targetname"); objective_add(5, "active", &"Push_Through_The_Building", getent("obj5", "targetname").origin); objective_current(5); trig waittill("trigger"); objective_state(5, "done"); wait(2); thread obj6(); } obj6() { obj1 = getent("obj6","targetname"); trig = getent("dockspawn", "targetname"); objective_add(6, "active", &"Get_To_The_Other_Beach", getent("obj6", "targetname").origin); objective_current(6); trig waittill("trigger"); objective_state(6, "done"); wait(2); thread obj7(); } obj7() { obj1 = getent("obj7","targetname"); trig = getent("endallies", "targetname"); objective_add(7, "active", &"Clear_The_Docks", getent("obj7", "targetname").origin); objective_current(7); trig waittill("trigger"); objective_state(7, "done"); } plane1move() { plane = getent("plane1", "targetname"); dest1 = getent("p1_1", "targetname"); dest2 = getent("p1_2", "targetname"); plane playsound("planeby_2"); plane moveto(plane.origin, 0.001); wait(0.001); plane moveto(dest1.origin, 14); wait(13); plane moveto(dest2.origin, 4); wait(8); plane delete(); } plane1rotate() { plane = getent("plane1", "targetname"); dest1 = getent("p1_1", "targetname"); dest2 = getent("p1_2", "targetname"); plane rotateto(dest1.angles, 1); wait(13); plane rotateto(dest2.angles, 1); } plane2move() { plane = getent("plane2", "targetname"); dest1 = getent("p2_1", "targetname"); dest2 = getent("p2_2", "targetname"); dest3 = getent("p2_3", "targetname"); plane moveto(plane.origin, 0.1); wait(0.1); plane playsound("planeby_3"); plane moveto(dest1.origin, 1.5); wait(1.5); plane rotateto(dest1.angles, 0.1); plane moveto(dest2.origin, 8); wait(8); plane rotateto(dest3.angles, 0.1); plane moveto(dest3.origin, 2); wait(5); plane delete(); } plane_city() { plane = getent("plane3_1", "targetname"); trig = getent("cityplane", "targetname"); dest1 = getent("p3_1a", "targetname"); dest2 = getent("p3_1b", "targetname"); trig waittill("trigger"); plane moveto(dest1.origin, 0.1); plane rotateto(dest1.angles, 0.1); wait(0.1); plane playsound("planeby_3"); thread gunsfunction(); plane moveto(dest2.origin, 14); wait(20); plane delete(); } plane_city2() { plane = getent("plane3_2", "targetname"); dest1 = getent("p3_2a", "targetname"); dest2 = getent("p3_2b", "targetname"); trig = getent("cityplane", "targetname"); trig waittill("trigger"); plane moveto(dest1.origin, 0.1); plane rotateto(dest1.angles, 0.1); wait(0.1); plane playsound("planeby_2"); plane moveto(dest2.origin, 14); wait(20); plane delete(); } gunsfunction() { plane = getent("plane3_2", "targetname"); wait(4); plane playsound("wpn_50cal_mn_dist"); wait(0.125); plane playsound("wpn_50cal_mn_dist"); wait(0.125); plane playsound("wpn_50cal_mn_dist"); wait(0.125); plane playsound("wpn_50cal_mn_dist"); wait(0.125); plane playsound("wpn_50cal_mn_dist"); wait(0.125); plane playsound("wpn_50cal_mn_dist"); wait(0.125); plane playsound("wpn_50cal_mn_dist"); wait(0.125); plane playsound("wpn_50cal_mn_dist"); wait(0.125); plane playsound("wpn_50cal_mn_dist"); wait(0.125); plane playsound("wpn_50cal_mn_dist"); wait(0.125); plane playsound("wpn_50cal_mn_dist"); wait(0.125); plane playsound("wpn_50cal_mn_dist"); wait(0.125); plane playsound("wpn_50cal_mn_dist"); wait(0.125); plane playsound("wpn_50cal_mn_dist"); wait(0.125); plane playsound("wpn_50cal_mn_dist"); wait(0.125); plane playsound("wpn_50cal_mn_dist"); wait(0.125); } plane_end() { }
tokyo.csc
// Test clientside script for tokyo #include clientscripts\_utility; main() { // _load! clientscripts\_load::main(); thread clientscripts\_audio::audio_init(0); thread clientscripts\tokyo_amb::main(); // This needs to be called after all systems have been registered. thread waitforclient(0); println("*** Client : tokyo running..."); }
tokyo_amb.csc
#include clientscripts\_utility; #include clientscripts\_ambientpackage; #include clientscripts\_music; #include clientscripts\_busing; main() { declareMusicState("beachsong"); musicAliasLoop("beachsong", 4, 6); }
Tokyo.csv (soundalias)
//This is the soundalias for Tokyo beachsong,,,Stream\Music\Mission\oki2\mx_fubar.wav,,0.9,0.9,,,,,,,music,,,0,,,,,,,2d,streamed,,looping,,,,,,,,music,,,,,,,,,,,,100,100,0.25,1,, landbattlesong,,,Stream\Music\Mission\Peleliu_1\final\mx_WildCard_loop_g.wav,,0.8,0.8,,,,,,,music,,,0,,,,,,,2d,streamed,,looping,,,,,,,,music_all,,,,,,,,,,,100,100,0.25,1 hook,sfx\music\hook.wav,,0.8,0.8,,,,,,,music,,,0,,,,,,,2d,streamed,,looping,,,,,,,,music_all,,,,,,,,,,,100,100,0.25,1
tokyo.csv (Zone file)
// NOTE: If you add a comment, put a space after the double forward slash or you will get issues ignore,code_post_gfx ignore,common // map specific files col_map_sp,maps/tokyo.d3dbsp gfx_map,maps/tokyo.d3dbsp rawfile,maps/tokyo.gsc rawfile,maps/tokyo_amb.gsc rawfile,maps/tokyo_anim.gsc rawfile,maps/tokyo_fx.gsc //rawfile,maps/createfx/tokyo.gsc rawfile,clientscripts/tokyo.csc rawfile,clientscripts/tokyo_fx.csc rawfile,clientscripts/createfx/tokyo_fx.csc rawfile,maps/createfx/tokyo_fx.gsc // Weapons weapon,sp/m1garand weapon,sp/colt weapon,sp/fraggrenade weapon,sp/m8_white_smoke weapon,sp/bar weapon,sp/thompson weapon,sp/type99_lmg weapon,sp/type99_rifle weapon,sp/type100_smg weapon,sp/m1carbine weapon,sp/type100_smg_aperture weapon,sp/springfield weapon,sp/napalmblob weapon,sp/napalmbloblight weapon,sp/molotov //weapon,sp/type99_lmg_bipod //weapon,sp/type92_bipod_stand //weapon,sp/corsair_mg // Viewarms xmodel,viewmodel_usa_marine_arms xmodel,viewmodel_usa_marine_player // 3rd person model include,common_player_us // sfx sound,character,,all_sp sound,character,,all_mp sound,weapons,,all_sp sound,weapons,,all_mp sound,common,,all_mp sound,common,,all_sp sound,us_battlechatter,,all_sp sound,ja_battlechatter,,all_sp sound,music,,all_sp sound,music,,all_mp sound,music,oki2,all_sp rawfile,sound/stream/music/level/oki2/mx_fubar.wav rawfile,sound/stream/music/level/oki2/mx_fubar rawfile,sound,stream,music,level,oki2,mx_fubar.wav sound,stream,music,level,oki2,mx_fubar /* sound, common, yourname_map, all_sp sound, generic, yourname_map, all_sp sound, voiceovers, yourname_map, all_sp sound, requests, yourname_map, all_sp sound, character, yourname_map, all_sp sound, projectiles, yourname_map, all_sp sound, music, yourname_map, all_sp sound, yourname_map, yourname_map, all_sp sound, physics, yourname_map, all_sp sound, destructibles, yourname_map, all_sp Sound, weapons, audio_test_tuey, all_sp */ //sound,oki2,,BlueSwede-HookedOnAFeeling sound,oki2,,mx_fubar sound,music,tokyo,all_sp sound,Stream,Music,Mission,oki2,mx_fubar sound,Stream,Music,Mission,Peleliu_1,final,mx_WildCard_loop_g sound,sfx,music,hook sound,oki2,,all_sp SFX/Weapon/rifle/bar/Fire/wpn_BAR_st_f.wav SFX/Weapon/rifle/bar/Fire/wpn_BAR_st_act.wav SFX\Weapon\Rifle\BAR\Fire\mono_## SFX/Weapon/Rifle/BAR/Fire/act_## SFX/Weapon/dist/us/dist_us_bar.wav SFX/Weapon/Rifle/BAR/Foley/bar_charge.wav SFX/Weapon/Rifle/BAR/Foley/bar_mag_in.wav SFX/Weapon/Rifle/BAR/Foley/bar_mag_out.wav SFX/Weapon/Rifle/BAR/Foley/bar_tap.wav SFX/Weapon/Rifle/BAR/Foley/bar_charge.wav SFX/Weapon/Rifle/BAR/Foley/bar_mag_in.wav SFX/Weapon/Rifle/BAR/Foley/bar_mag_out.wav SFX/Weapon/Rifle/BAR/Foley/bar_tap.wav sound,music,tokyo,all_sp //Turret // Type99 weapon,sp/type99_lmg_bipod weapon,sp/type99_lmg_bipod_stand weapon,sp/type99_lmg_bipod_crouch weapon,sp/type99_lmg_bipod_prone weapon,sp/type99_lmg_bipod_wet weapon,mp/type100smg_aperture_mp weapon,sp/sherman_tank_mg weapon,sp/tiger_turret weapon,sp/tiger_coaxial_mg weapon,sp/sherman_turret weapon,sp/see2_tiger_turret //fx fx,env/fire/fx_ash_embers_light fx,env/fire/fx_fire_campfire_small fx,env/fire/fx_fire_barrel_small fx,env/smoke/fx_battlefield_smokebank_low_thin fx,env/smoke/fx_smk_column_md_gray_dir fx,env/smoke/fx_smoke_window_lg_gry fx,env/smoke/fx_smk_plume_xlg_slow_blk fx,env/foliage/fx_pollen_lg fx,env/electrical/fx_elec_sparks_looping fx,env/smoke/fx_smoke_crater fx,env/fire/fx_fire_house_md_jp fx,explosions/fx_mortarExp_dirt fx,explosions/mortarExp_water fx,env/fire/fx_fire_barrel_d_light fx,env/smoke/fx_fog_rolling_thick_slow fx,maps/see1/fx_fire_embers_patch2 fx,env/fire/fx_fire_column_creep_md fx,env/fire/fx_fire_150x150_tall_distant //MODEL //VisionFiles rawfile,vision/tokyo.vision rawfile,vision/ber2_darksubway.vision //BUNKER //CITY //Why not? sound,Tokyo,Music,all_sp
Got any idea why it won't play? Any help will be greatly appreciated, thank you.