From 1a9be4df02fe755246750834f5b558f5a6bc99c4 Mon Sep 17 00:00:00 2001 From: InfinityLoader Date: Sat, 28 Oct 2023 00:17:17 -0400 Subject: [PATCH] Fixed BO2 DevBlock Bug --- .../character/c_mp_german_shepherd_vest.gsc | 4 +- .../c_mp_german_shepherd_vest_black.gsc | 4 +- BO2/PC/MP/codescripts/character_mp.gsc | 4 +- BO2/PC/MP/codescripts/delete.gsc | 16 +- BO2/PC/MP/codescripts/struct.gsc | 4 +- BO2/PC/MP/common_scripts/utility.gsc | 99 +- BO2/PC/MP/maps/mp/_acousticsensor.gsc | 4 +- BO2/PC/MP/maps/mp/_ambientpackage.gsc | 2 +- BO2/PC/MP/maps/mp/_art.gsc | 415 ++- BO2/PC/MP/maps/mp/_audio.gsc | 4 +- BO2/PC/MP/maps/mp/_ballistic_knife.gsc | 4 +- BO2/PC/MP/maps/mp/_bb.gsc | 4 +- BO2/PC/MP/maps/mp/_bouncingbetty.gsc | 4 +- BO2/PC/MP/maps/mp/_burnplayer.gsc | 4 +- BO2/PC/MP/maps/mp/_busing.gsc | 4 +- BO2/PC/MP/maps/mp/_challenges.gsc | 10 +- BO2/PC/MP/maps/mp/_compass.gsc | 4 +- BO2/PC/MP/maps/mp/_createfx.gsc | 760 ++-- BO2/PC/MP/maps/mp/_createfxmenu.gsc | 912 +++-- BO2/PC/MP/maps/mp/_createfxundo.gsc | 77 +- BO2/PC/MP/maps/mp/_decoy.gsc | 4 +- BO2/PC/MP/maps/mp/_demo.gsc | 4 +- BO2/PC/MP/maps/mp/_destructible.gsc | 4 +- BO2/PC/MP/maps/mp/_development_dvars.gsc | 4 +- BO2/PC/MP/maps/mp/_empgrenade.gsc | 4 +- BO2/PC/MP/maps/mp/_entityheadicons.gsc | 4 +- BO2/PC/MP/maps/mp/_explosive_bolt.gsc | 4 +- BO2/PC/MP/maps/mp/_flashgrenades.gsc | 4 +- BO2/PC/MP/maps/mp/_fx.gsc | 66 +- BO2/PC/MP/maps/mp/_fxanim.gsc | 2 +- BO2/PC/MP/maps/mp/_gameadvertisement.gsc | 161 +- BO2/PC/MP/maps/mp/_gamerep.gsc | 4 +- BO2/PC/MP/maps/mp/_global_fx.gsc | 4 +- BO2/PC/MP/maps/mp/_hacker_tool.gsc | 98 +- BO2/PC/MP/maps/mp/_heatseekingmissile.gsc | 39 +- BO2/PC/MP/maps/mp/_interactive_objects.gsc | 4 +- BO2/PC/MP/maps/mp/_load.gsc | 4 +- BO2/PC/MP/maps/mp/_medals.gsc | 4 +- BO2/PC/MP/maps/mp/_menus.gsc | 4 +- BO2/PC/MP/maps/mp/_mgturret.gsc | 4 +- BO2/PC/MP/maps/mp/_multi_extracam.gsc | 4 +- BO2/PC/MP/maps/mp/_music.gsc | 4 +- BO2/PC/MP/maps/mp/_pc.gsc | 4 +- BO2/PC/MP/maps/mp/_popups.gsc | 122 +- BO2/PC/MP/maps/mp/_proximity_grenade.gsc | 4 +- BO2/PC/MP/maps/mp/_riotshield.gsc | 10 +- BO2/PC/MP/maps/mp/_satchel_charge.gsc | 4 +- BO2/PC/MP/maps/mp/_scoreevents.gsc | 4 +- BO2/PC/MP/maps/mp/_scrambler.gsc | 4 +- BO2/PC/MP/maps/mp/_script_gen.gsc | 262 +- BO2/PC/MP/maps/mp/_sensor_grenade.gsc | 4 +- BO2/PC/MP/maps/mp/_serverfaceanim_mp.gsc | 4 +- BO2/PC/MP/maps/mp/_smokegrenade.gsc | 4 +- BO2/PC/MP/maps/mp/_sticky_grenade.gsc | 4 +- BO2/PC/MP/maps/mp/_tabun.gsc | 47 +- BO2/PC/MP/maps/mp/_tacticalinsertion.gsc | 4 +- BO2/PC/MP/maps/mp/_teargrenades.gsc | 4 +- BO2/PC/MP/maps/mp/_treadfx.gsc | 4 +- BO2/PC/MP/maps/mp/_trophy_system.gsc | 4 +- BO2/PC/MP/maps/mp/_utility.gsc | 104 +- BO2/PC/MP/maps/mp/_vehicles.gsc | 22 +- BO2/PC/MP/maps/mp/animscripts/dog_combat.gsc | 11 +- BO2/PC/MP/maps/mp/animscripts/dog_death.gsc | 4 +- BO2/PC/MP/maps/mp/animscripts/dog_flashed.gsc | 4 +- BO2/PC/MP/maps/mp/animscripts/dog_init.gsc | 4 +- BO2/PC/MP/maps/mp/animscripts/dog_jump.gsc | 4 +- BO2/PC/MP/maps/mp/animscripts/dog_move.gsc | 27 +- BO2/PC/MP/maps/mp/animscripts/dog_pain.gsc | 4 +- BO2/PC/MP/maps/mp/animscripts/dog_stop.gsc | 4 +- BO2/PC/MP/maps/mp/animscripts/dog_turn.gsc | 4 +- BO2/PC/MP/maps/mp/animscripts/shared.gsc | 13 +- .../mp/animscripts/traverse/jump_down_40.gsc | 2 +- .../mp/animscripts/traverse/jump_down_56.gsc | 4 +- .../mp/animscripts/traverse/jump_down_96.gsc | 4 +- .../mp/animscripts/traverse/mantle_on_40.gsc | 2 +- .../mp/animscripts/traverse/mantle_on_56.gsc | 4 +- .../mp/animscripts/traverse/mantle_on_80.gsc | 4 +- .../mp/animscripts/traverse/mantle_on_96.gsc | 4 +- .../animscripts/traverse/mantle_over_40.gsc | 4 +- .../animscripts/traverse/mantle_window_36.gsc | 4 +- .../maps/mp/animscripts/traverse/shared.gsc | 4 +- .../animscripts/traverse/through_hole_42.gsc | 4 +- BO2/PC/MP/maps/mp/animscripts/utility.gsc | 76 +- BO2/PC/MP/maps/mp/bots/_bot.gsc | 227 +- BO2/PC/MP/maps/mp/bots/_bot_combat.gsc | 18 +- BO2/PC/MP/maps/mp/bots/_bot_conf.gsc | 4 +- BO2/PC/MP/maps/mp/bots/_bot_ctf.gsc | 31 +- BO2/PC/MP/maps/mp/bots/_bot_dem.gsc | 4 +- BO2/PC/MP/maps/mp/bots/_bot_dom.gsc | 4 +- BO2/PC/MP/maps/mp/bots/_bot_hack.gsc | 4 +- BO2/PC/MP/maps/mp/bots/_bot_hq.gsc | 4 +- BO2/PC/MP/maps/mp/bots/_bot_koth.gsc | 4 +- BO2/PC/MP/maps/mp/bots/_bot_loadout.gsc | 4 +- BO2/PC/MP/maps/mp/bots/_bot_sd.gsc | 4 +- .../maps/mp/gametypes/_battlechatter_mp.gsc | 4 +- .../MP/maps/mp/gametypes/_callbacksetup.gsc | 4 +- BO2/PC/MP/maps/mp/gametypes/_class.gsc | 99 +- BO2/PC/MP/maps/mp/gametypes/_clientids.gsc | 4 +- BO2/PC/MP/maps/mp/gametypes/_copter.gsc | 4 +- .../MP/maps/mp/gametypes/_damagefeedback.gsc | 4 +- BO2/PC/MP/maps/mp/gametypes/_deathicons.gsc | 4 +- BO2/PC/MP/maps/mp/gametypes/_dev.gsc | 3088 +++++++++++------ BO2/PC/MP/maps/mp/gametypes/_dev_class.gsc | 309 +- BO2/PC/MP/maps/mp/gametypes/_friendicons.gsc | 4 +- BO2/PC/MP/maps/mp/gametypes/_gameobjects.gsc | 25 +- .../MP/maps/mp/gametypes/_globalentities.gsc | 4 +- BO2/PC/MP/maps/mp/gametypes/_globallogic.gsc | 48 +- .../maps/mp/gametypes/_globallogic_actor.gsc | 10 +- .../maps/mp/gametypes/_globallogic_audio.gsc | 226 +- .../mp/gametypes/_globallogic_defaults.gsc | 10 +- .../maps/mp/gametypes/_globallogic_player.gsc | 22 +- .../maps/mp/gametypes/_globallogic_score.gsc | 45 +- .../maps/mp/gametypes/_globallogic_spawn.gsc | 15 +- .../MP/maps/mp/gametypes/_globallogic_ui.gsc | 9 +- .../maps/mp/gametypes/_globallogic_utils.gsc | 68 +- .../mp/gametypes/_globallogic_vehicle.gsc | 15 +- .../MP/maps/mp/gametypes/_healthoverlay.gsc | 4 +- .../MP/maps/mp/gametypes/_hostmigration.gsc | 65 +- BO2/PC/MP/maps/mp/gametypes/_hud.gsc | 4 +- BO2/PC/MP/maps/mp/gametypes/_hud_message.gsc | 4 +- BO2/PC/MP/maps/mp/gametypes/_hud_util.gsc | 10 +- BO2/PC/MP/maps/mp/gametypes/_killcam.gsc | 12 +- BO2/PC/MP/maps/mp/gametypes/_menus.gsc | 4 +- BO2/PC/MP/maps/mp/gametypes/_objpoints.gsc | 4 +- BO2/PC/MP/maps/mp/gametypes/_perplayer.gsc | 4 +- BO2/PC/MP/maps/mp/gametypes/_persistence.gsc | 17 +- BO2/PC/MP/maps/mp/gametypes/_pregame.gsc | 12 +- BO2/PC/MP/maps/mp/gametypes/_rank.gsc | 54 +- BO2/PC/MP/maps/mp/gametypes/_scoreboard.gsc | 4 +- .../MP/maps/mp/gametypes/_serversettings.gsc | 4 +- BO2/PC/MP/maps/mp/gametypes/_shellshock.gsc | 4 +- BO2/PC/MP/maps/mp/gametypes/_spawning.gsc | 25 +- BO2/PC/MP/maps/mp/gametypes/_spawnlogic.gsc | 1135 +++--- BO2/PC/MP/maps/mp/gametypes/_spectating.gsc | 4 +- BO2/PC/MP/maps/mp/gametypes/_tweakables.gsc | 4 +- BO2/PC/MP/maps/mp/gametypes/_wager.gsc | 4 +- BO2/PC/MP/maps/mp/gametypes/_weapon_utils.gsc | 4 +- .../MP/maps/mp/gametypes/_weaponobjects.gsc | 84 +- BO2/PC/MP/maps/mp/gametypes/_weapons.gsc | 105 +- BO2/PC/MP/maps/mp/gametypes/conf.gsc | 4 +- BO2/PC/MP/maps/mp/gametypes/ctf.gsc | 4 +- BO2/PC/MP/maps/mp/gametypes/dem.gsc | 81 +- BO2/PC/MP/maps/mp/gametypes/dm.gsc | 4 +- BO2/PC/MP/maps/mp/gametypes/dom.gsc | 90 +- BO2/PC/MP/maps/mp/gametypes/gun.gsc | 4 +- BO2/PC/MP/maps/mp/gametypes/hq.gsc | 10 +- BO2/PC/MP/maps/mp/gametypes/koth.gsc | 20 +- BO2/PC/MP/maps/mp/gametypes/oic.gsc | 4 +- BO2/PC/MP/maps/mp/gametypes/oneflag.gsc | 4 +- BO2/PC/MP/maps/mp/gametypes/sas.gsc | 4 +- BO2/PC/MP/maps/mp/gametypes/sd.gsc | 10 +- BO2/PC/MP/maps/mp/gametypes/shrp.gsc | 10 +- BO2/PC/MP/maps/mp/gametypes/tdm.gsc | 12 +- BO2/PC/MP/maps/mp/killstreaks/_ai_tank.gsc | 55 +- BO2/PC/MP/maps/mp/killstreaks/_airsupport.gsc | 225 +- BO2/PC/MP/maps/mp/killstreaks/_dogs.gsc | 199 +- BO2/PC/MP/maps/mp/killstreaks/_emp.gsc | 13 +- BO2/PC/MP/maps/mp/killstreaks/_helicopter.gsc | 37 +- .../maps/mp/killstreaks/_helicopter_guard.gsc | 59 +- .../mp/killstreaks/_helicopter_gunner.gsc | 42 +- .../mp/killstreaks/_killstreak_weapons.gsc | 51 +- .../maps/mp/killstreaks/_killstreakrules.gsc | 20 +- .../MP/maps/mp/killstreaks/_killstreaks.gsc | 99 +- .../MP/maps/mp/killstreaks/_missile_drone.gsc | 7 +- .../MP/maps/mp/killstreaks/_missile_swarm.gsc | 16 +- .../MP/maps/mp/killstreaks/_planemortar.gsc | 4 +- BO2/PC/MP/maps/mp/killstreaks/_qrdrone.gsc | 17 +- BO2/PC/MP/maps/mp/killstreaks/_radar.gsc | 4 +- BO2/PC/MP/maps/mp/killstreaks/_rcbomb.gsc | 30 +- .../maps/mp/killstreaks/_remote_weapons.gsc | 4 +- .../MP/maps/mp/killstreaks/_remotemissile.gsc | 18 +- .../MP/maps/mp/killstreaks/_remotemortar.gsc | 4 +- BO2/PC/MP/maps/mp/killstreaks/_spyplane.gsc | 22 +- BO2/PC/MP/maps/mp/killstreaks/_straferun.gsc | 37 +- .../MP/maps/mp/killstreaks/_supplycrate.gsc | 4 +- BO2/PC/MP/maps/mp/killstreaks/_supplydrop.gsc | 62 +- .../mp/killstreaks/_turret_killstreak.gsc | 16 +- BO2/PC/MP/maps/mp/mp_bridge.gsc | 4 +- BO2/PC/MP/maps/mp/mp_carrier.gsc | 4 +- BO2/PC/MP/maps/mp/mp_castaway.gsc | 4 +- BO2/PC/MP/maps/mp/mp_concert.gsc | 4 +- BO2/PC/MP/maps/mp/mp_dig.gsc | 4 +- BO2/PC/MP/maps/mp/mp_dockside.gsc | 21 +- BO2/PC/MP/maps/mp/mp_dockside_crane.gsc | 4 +- BO2/PC/MP/maps/mp/mp_downhill.gsc | 4 +- BO2/PC/MP/maps/mp/mp_downhill_cablecar.gsc | 4 +- BO2/PC/MP/maps/mp/mp_drone.gsc | 4 +- BO2/PC/MP/maps/mp/mp_express.gsc | 13 +- BO2/PC/MP/maps/mp/mp_express_train.gsc | 4 +- BO2/PC/MP/maps/mp/mp_frostbite.gsc | 4 +- BO2/PC/MP/maps/mp/mp_hijacked.gsc | 4 +- BO2/PC/MP/maps/mp/mp_hydro.gsc | 4 +- BO2/PC/MP/maps/mp/mp_la.gsc | 4 +- BO2/PC/MP/maps/mp/mp_magma.gsc | 4 +- BO2/PC/MP/maps/mp/mp_meltdown.gsc | 4 +- BO2/PC/MP/maps/mp/mp_mirage.gsc | 4 +- BO2/PC/MP/maps/mp/mp_nightclub.gsc | 4 +- BO2/PC/MP/maps/mp/mp_nuketown_2020.gsc | 4 +- BO2/PC/MP/maps/mp/mp_overflow.gsc | 4 +- BO2/PC/MP/maps/mp/mp_paintball.gsc | 4 +- BO2/PC/MP/maps/mp/mp_pod.gsc | 4 +- BO2/PC/MP/maps/mp/mp_raid.gsc | 4 +- BO2/PC/MP/maps/mp/mp_skate.gsc | 4 +- BO2/PC/MP/maps/mp/mp_slums.gsc | 4 +- BO2/PC/MP/maps/mp/mp_socotra.gsc | 4 +- BO2/PC/MP/maps/mp/mp_studio.gsc | 4 +- BO2/PC/MP/maps/mp/mp_takeoff.gsc | 18 +- BO2/PC/MP/maps/mp/mp_turbine.gsc | 4 +- BO2/PC/MP/maps/mp/mp_uplink.gsc | 4 +- BO2/PC/MP/maps/mp/mp_vertigo.gsc | 4 +- BO2/PC/MP/maps/mp/mp_village.gsc | 4 +- BO2/PC/MP/maps/mp/teams/_teams.gsc | 4 +- BO2/PC/MP/maps/mp/teams/_teamset.gsc | 4 +- .../MP/maps/mp/teams/_teamset_multiteam.gsc | 4 +- BO2/PC/ZM/codescripts/character.gsc | 13 +- BO2/PC/ZM/codescripts/character_mp.gsc | 4 +- BO2/PC/ZM/codescripts/delete.gsc | 18 +- BO2/PC/ZM/codescripts/struct.gsc | 4 +- BO2/PC/ZM/common_scripts/utility.gsc | 99 +- BO2/PC/ZM/maps/mp/_art.gsc | 415 ++- BO2/PC/ZM/maps/mp/_audio.gsc | 4 +- BO2/PC/ZM/maps/mp/_ballistic_knife.gsc | 4 +- BO2/PC/ZM/maps/mp/_bb.gsc | 4 +- BO2/PC/ZM/maps/mp/_busing.gsc | 4 +- BO2/PC/ZM/maps/mp/_challenges.gsc | 10 +- BO2/PC/ZM/maps/mp/_compass.gsc | 4 +- BO2/PC/ZM/maps/mp/_createfx.gsc | 760 ++-- BO2/PC/ZM/maps/mp/_createfxmenu.gsc | 912 +++-- BO2/PC/ZM/maps/mp/_createfxundo.gsc | 77 +- BO2/PC/ZM/maps/mp/_demo.gsc | 4 +- BO2/PC/ZM/maps/mp/_fx.gsc | 66 +- BO2/PC/ZM/maps/mp/_fxanim.gsc | 4 +- BO2/PC/ZM/maps/mp/_global_fx.gsc | 4 +- BO2/PC/ZM/maps/mp/_interactive_objects.gsc | 4 +- BO2/PC/ZM/maps/mp/_music.gsc | 4 +- BO2/PC/ZM/maps/mp/_script_gen.gsc | 262 +- BO2/PC/ZM/maps/mp/_serverfaceanim_mp.gsc | 4 +- BO2/PC/ZM/maps/mp/_sticky_grenade.gsc | 4 +- BO2/PC/ZM/maps/mp/_utility.gsc | 104 +- BO2/PC/ZM/maps/mp/_visionset_mgr.gsc | 13 +- BO2/PC/ZM/maps/mp/animscripts/dog_combat.gsc | 11 +- BO2/PC/ZM/maps/mp/animscripts/dog_death.gsc | 4 +- BO2/PC/ZM/maps/mp/animscripts/dog_flashed.gsc | 4 +- BO2/PC/ZM/maps/mp/animscripts/dog_init.gsc | 4 +- BO2/PC/ZM/maps/mp/animscripts/dog_jump.gsc | 4 +- BO2/PC/ZM/maps/mp/animscripts/dog_move.gsc | 27 +- BO2/PC/ZM/maps/mp/animscripts/dog_pain.gsc | 4 +- BO2/PC/ZM/maps/mp/animscripts/dog_stop.gsc | 4 +- BO2/PC/ZM/maps/mp/animscripts/dog_turn.gsc | 4 +- BO2/PC/ZM/maps/mp/animscripts/shared.gsc | 13 +- .../maps/mp/animscripts/traverse/shared.gsc | 4 +- .../traverse/zm_mantle_over_40.gsc | 17 +- .../mp/animscripts/traverse/zm_shared.gsc | 4 +- BO2/PC/ZM/maps/mp/animscripts/utility.gsc | 76 +- BO2/PC/ZM/maps/mp/animscripts/zm_combat.gsc | 4 +- BO2/PC/ZM/maps/mp/animscripts/zm_death.gsc | 9 +- .../ZM/maps/mp/animscripts/zm_dog_combat.gsc | 25 +- .../ZM/maps/mp/animscripts/zm_dog_death.gsc | 4 +- .../ZM/maps/mp/animscripts/zm_dog_flashed.gsc | 2 +- BO2/PC/ZM/maps/mp/animscripts/zm_dog_init.gsc | 4 +- BO2/PC/ZM/maps/mp/animscripts/zm_dog_jump.gsc | 4 +- BO2/PC/ZM/maps/mp/animscripts/zm_dog_move.gsc | 16 +- BO2/PC/ZM/maps/mp/animscripts/zm_dog_pain.gsc | 4 +- BO2/PC/ZM/maps/mp/animscripts/zm_dog_stop.gsc | 4 +- BO2/PC/ZM/maps/mp/animscripts/zm_dog_turn.gsc | 4 +- BO2/PC/ZM/maps/mp/animscripts/zm_flashed.gsc | 4 +- BO2/PC/ZM/maps/mp/animscripts/zm_init.gsc | 4 +- BO2/PC/ZM/maps/mp/animscripts/zm_jump.gsc | 4 +- BO2/PC/ZM/maps/mp/animscripts/zm_melee.gsc | 191 +- BO2/PC/ZM/maps/mp/animscripts/zm_move.gsc | 4 +- BO2/PC/ZM/maps/mp/animscripts/zm_pain.gsc | 4 +- BO2/PC/ZM/maps/mp/animscripts/zm_run.gsc | 4 +- BO2/PC/ZM/maps/mp/animscripts/zm_scripted.gsc | 4 +- BO2/PC/ZM/maps/mp/animscripts/zm_shared.gsc | 7 +- BO2/PC/ZM/maps/mp/animscripts/zm_stop.gsc | 4 +- BO2/PC/ZM/maps/mp/animscripts/zm_turn.gsc | 4 +- BO2/PC/ZM/maps/mp/animscripts/zm_utility.gsc | 142 +- .../maps/mp/gametypes_zm/_callbacksetup.gsc | 4 +- BO2/PC/ZM/maps/mp/gametypes_zm/_clientids.gsc | 4 +- .../maps/mp/gametypes_zm/_damagefeedback.gsc | 4 +- BO2/PC/ZM/maps/mp/gametypes_zm/_dev.gsc | 128 +- .../ZM/maps/mp/gametypes_zm/_gameobjects.gsc | 19 +- .../maps/mp/gametypes_zm/_globalentities.gsc | 2 +- .../ZM/maps/mp/gametypes_zm/_globallogic.gsc | 43 +- .../mp/gametypes_zm/_globallogic_actor.gsc | 10 +- .../mp/gametypes_zm/_globallogic_audio.gsc | 245 +- .../mp/gametypes_zm/_globallogic_defaults.gsc | 10 +- .../mp/gametypes_zm/_globallogic_player.gsc | 52 +- .../mp/gametypes_zm/_globallogic_score.gsc | 26 +- .../mp/gametypes_zm/_globallogic_spawn.gsc | 15 +- .../maps/mp/gametypes_zm/_globallogic_ui.gsc | 7 +- .../mp/gametypes_zm/_globallogic_utils.gsc | 40 +- .../mp/gametypes_zm/_globallogic_vehicle.gsc | 15 +- .../ZM/maps/mp/gametypes_zm/_gv_actions.gsc | 4 +- .../maps/mp/gametypes_zm/_healthoverlay.gsc | 4 +- .../maps/mp/gametypes_zm/_hostmigration.gsc | 62 +- BO2/PC/ZM/maps/mp/gametypes_zm/_hud.gsc | 4 +- .../ZM/maps/mp/gametypes_zm/_hud_message.gsc | 4 +- BO2/PC/ZM/maps/mp/gametypes_zm/_hud_util.gsc | 10 +- BO2/PC/ZM/maps/mp/gametypes_zm/_menus.gsc | 4 +- BO2/PC/ZM/maps/mp/gametypes_zm/_perplayer.gsc | 4 +- .../ZM/maps/mp/gametypes_zm/_scoreboard.gsc | 4 +- .../maps/mp/gametypes_zm/_serversettings.gsc | 4 +- .../ZM/maps/mp/gametypes_zm/_shellshock.gsc | 4 +- BO2/PC/ZM/maps/mp/gametypes_zm/_spawning.gsc | 25 +- .../ZM/maps/mp/gametypes_zm/_spawnlogic.gsc | 1135 +++--- .../ZM/maps/mp/gametypes_zm/_spectating.gsc | 4 +- .../ZM/maps/mp/gametypes_zm/_tweakables.gsc | 4 +- .../ZM/maps/mp/gametypes_zm/_weapon_utils.gsc | 4 +- .../maps/mp/gametypes_zm/_weaponobjects.gsc | 37 +- BO2/PC/ZM/maps/mp/gametypes_zm/_weapons.gsc | 101 +- .../ZM/maps/mp/gametypes_zm/_zm_gametype.gsc | 24 +- BO2/PC/ZM/maps/mp/gametypes_zm/zclassic.gsc | 4 +- BO2/PC/ZM/maps/mp/zm_tomb_craftables.gsc | 105 +- BO2/PC/ZM/maps/mp/zm_tomb_ffotd.gsc | 4 +- BO2/PC/ZM/maps/mp/zm_tomb_tank.gsc | 101 +- BO2/PC/ZM/maps/mp/zombies/_load.gsc | 4 +- BO2/PC/ZM/maps/mp/zombies/_zm.gsc | 143 +- BO2/PC/ZM/maps/mp/zombies/_zm_ai_basic.gsc | 4 +- BO2/PC/ZM/maps/mp/zombies/_zm_ai_dogs.gsc | 21 +- BO2/PC/ZM/maps/mp/zombies/_zm_ai_faller.gsc | 4 +- BO2/PC/ZM/maps/mp/zombies/_zm_audio.gsc | 52 +- .../maps/mp/zombies/_zm_audio_announcer.gsc | 16 +- BO2/PC/ZM/maps/mp/zombies/_zm_blockers.gsc | 245 +- BO2/PC/ZM/maps/mp/zombies/_zm_bot.gsc | 4 +- BO2/PC/ZM/maps/mp/zombies/_zm_buildables.gsc | 68 +- BO2/PC/ZM/maps/mp/zombies/_zm_chugabud.gsc | 4 +- BO2/PC/ZM/maps/mp/zombies/_zm_clone.gsc | 4 +- BO2/PC/ZM/maps/mp/zombies/_zm_devgui.gsc | 1301 ++++--- .../ZM/maps/mp/zombies/_zm_equip_gasmask.gsc | 19 +- .../ZM/maps/mp/zombies/_zm_equip_hacker.gsc | 23 +- .../ZM/maps/mp/zombies/_zm_equip_turbine.gsc | 68 +- BO2/PC/ZM/maps/mp/zombies/_zm_equipment.gsc | 72 +- BO2/PC/ZM/maps/mp/zombies/_zm_ffotd.gsc | 22 +- BO2/PC/ZM/maps/mp/zombies/_zm_game_module.gsc | 8 +- BO2/PC/ZM/maps/mp/zombies/_zm_gump.gsc | 24 +- .../maps/mp/zombies/_zm_hackables_boards.gsc | 4 +- .../ZM/maps/mp/zombies/_zm_hackables_box.gsc | 4 +- .../maps/mp/zombies/_zm_hackables_doors.gsc | 4 +- .../mp/zombies/_zm_hackables_packapunch.gsc | 4 +- .../maps/mp/zombies/_zm_hackables_perks.gsc | 4 +- .../mp/zombies/_zm_hackables_powerups.gsc | 4 +- .../mp/zombies/_zm_hackables_wallbuys.gsc | 4 +- BO2/PC/ZM/maps/mp/zombies/_zm_jump_pad.gsc | 56 +- BO2/PC/ZM/maps/mp/zombies/_zm_laststand.gsc | 29 +- BO2/PC/ZM/maps/mp/zombies/_zm_magicbox.gsc | 10 +- .../ZM/maps/mp/zombies/_zm_magicbox_lock.gsc | 4 +- BO2/PC/ZM/maps/mp/zombies/_zm_mgturret.gsc | 4 +- BO2/PC/ZM/maps/mp/zombies/_zm_net.gsc | 13 +- .../mp/zombies/_zm_perk_electric_cherry.gsc | 4 +- BO2/PC/ZM/maps/mp/zombies/_zm_perks.gsc | 34 +- .../ZM/maps/mp/zombies/_zm_pers_upgrades.gsc | 7 +- .../zombies/_zm_pers_upgrades_functions.gsc | 53 +- .../mp/zombies/_zm_pers_upgrades_system.gsc | 19 +- .../ZM/maps/mp/zombies/_zm_playerhealth.gsc | 123 +- BO2/PC/ZM/maps/mp/zombies/_zm_power.gsc | 28 +- BO2/PC/ZM/maps/mp/zombies/_zm_powerups.gsc | 122 +- BO2/PC/ZM/maps/mp/zombies/_zm_score.gsc | 4 +- .../maps/mp/zombies/_zm_server_throttle.gsc | 13 +- BO2/PC/ZM/maps/mp/zombies/_zm_sidequests.gsc | 311 +- BO2/PC/ZM/maps/mp/zombies/_zm_spawner.gsc | 76 +- BO2/PC/ZM/maps/mp/zombies/_zm_stats.gsc | 9 +- BO2/PC/ZM/maps/mp/zombies/_zm_timer.gsc | 4 +- BO2/PC/ZM/maps/mp/zombies/_zm_tombstone.gsc | 4 +- BO2/PC/ZM/maps/mp/zombies/_zm_traps.gsc | 12 +- BO2/PC/ZM/maps/mp/zombies/_zm_turned.gsc | 4 +- BO2/PC/ZM/maps/mp/zombies/_zm_unitrigger.gsc | 78 +- BO2/PC/ZM/maps/mp/zombies/_zm_utility.gsc | 214 +- .../mp/zombies/_zm_weap_cymbal_monkey.gsc | 4 +- .../maps/mp/zombies/_zm_weap_thundergun.gsc | 39 +- BO2/PC/ZM/maps/mp/zombies/_zm_weapons.gsc | 27 +- BO2/PC/ZM/maps/mp/zombies/_zm_zonemgr.gsc | 277 +- BO2/Xbox/MP/codescripts/character_mp.gsc | 4 +- BO2/Xbox/MP/codescripts/delete.gsc | 18 +- BO2/Xbox/MP/codescripts/struct.gsc | 4 +- BO2/Xbox/MP/common_scripts/utility.gsc | 99 +- BO2/Xbox/MP/maps/mp/_acousticsensor.gsc | 4 +- BO2/Xbox/MP/maps/mp/_ambientpackage.gsc | 2 +- BO2/Xbox/MP/maps/mp/_art.gsc | 415 ++- BO2/Xbox/MP/maps/mp/_audio.gsc | 4 +- BO2/Xbox/MP/maps/mp/_ballistic_knife.gsc | 4 +- BO2/Xbox/MP/maps/mp/_bb.gsc | 4 +- BO2/Xbox/MP/maps/mp/_bouncingbetty.gsc | 4 +- BO2/Xbox/MP/maps/mp/_burnplayer.gsc | 4 +- BO2/Xbox/MP/maps/mp/_busing.gsc | 4 +- BO2/Xbox/MP/maps/mp/_challenges.gsc | 10 +- BO2/Xbox/MP/maps/mp/_compass.gsc | 4 +- BO2/Xbox/MP/maps/mp/_createfx.gsc | 760 ++-- BO2/Xbox/MP/maps/mp/_createfxmenu.gsc | 912 +++-- BO2/Xbox/MP/maps/mp/_createfxundo.gsc | 77 +- BO2/Xbox/MP/maps/mp/_decoy.gsc | 4 +- BO2/Xbox/MP/maps/mp/_demo.gsc | 4 +- BO2/Xbox/MP/maps/mp/_destructible.gsc | 4 +- BO2/Xbox/MP/maps/mp/_development_dvars.gsc | 4 +- BO2/Xbox/MP/maps/mp/_empgrenade.gsc | 4 +- BO2/Xbox/MP/maps/mp/_entityheadicons.gsc | 4 +- BO2/Xbox/MP/maps/mp/_explosive_bolt.gsc | 4 +- BO2/Xbox/MP/maps/mp/_flashgrenades.gsc | 4 +- BO2/Xbox/MP/maps/mp/_fx.gsc | 66 +- BO2/Xbox/MP/maps/mp/_fxanim.gsc | 4 +- BO2/Xbox/MP/maps/mp/_gameadvertisement.gsc | 161 +- BO2/Xbox/MP/maps/mp/_gamerep.gsc | 4 +- BO2/Xbox/MP/maps/mp/_global_fx.gsc | 4 +- BO2/Xbox/MP/maps/mp/_hacker_tool.gsc | 98 +- BO2/Xbox/MP/maps/mp/_heatseekingmissile.gsc | 39 +- BO2/Xbox/MP/maps/mp/_interactive_objects.gsc | 4 +- BO2/Xbox/MP/maps/mp/_load.gsc | 4 +- BO2/Xbox/MP/maps/mp/_medals.gsc | 4 +- BO2/Xbox/MP/maps/mp/_menus.gsc | 4 +- BO2/Xbox/MP/maps/mp/_mgturret.gsc | 4 +- BO2/Xbox/MP/maps/mp/_multi_extracam.gsc | 4 +- BO2/Xbox/MP/maps/mp/_music.gsc | 4 +- BO2/Xbox/MP/maps/mp/_pc.gsc | 4 +- BO2/Xbox/MP/maps/mp/_popups.gsc | 122 +- BO2/Xbox/MP/maps/mp/_proximity_grenade.gsc | 4 +- BO2/Xbox/MP/maps/mp/_riotshield.gsc | 10 +- BO2/Xbox/MP/maps/mp/_satchel_charge.gsc | 4 +- BO2/Xbox/MP/maps/mp/_scoreevents.gsc | 4 +- BO2/Xbox/MP/maps/mp/_scrambler.gsc | 4 +- BO2/Xbox/MP/maps/mp/_script_gen.gsc | 262 +- BO2/Xbox/MP/maps/mp/_sensor_grenade.gsc | 4 +- BO2/Xbox/MP/maps/mp/_serverfaceanim_mp.gsc | 4 +- BO2/Xbox/MP/maps/mp/_smokegrenade.gsc | 4 +- BO2/Xbox/MP/maps/mp/_sticky_grenade.gsc | 4 +- BO2/Xbox/MP/maps/mp/_tabun.gsc | 47 +- BO2/Xbox/MP/maps/mp/_tacticalinsertion.gsc | 4 +- BO2/Xbox/MP/maps/mp/_teargrenades.gsc | 4 +- BO2/Xbox/MP/maps/mp/_treadfx.gsc | 4 +- BO2/Xbox/MP/maps/mp/_trophy_system.gsc | 4 +- BO2/Xbox/MP/maps/mp/_utility.gsc | 104 +- BO2/Xbox/MP/maps/mp/_vehicles.gsc | 22 +- BO2/Xbox/MP/maps/mp/animscripts/dog_init.gsc | 4 +- BO2/Xbox/MP/maps/mp/animscripts/dog_jump.gsc | 4 +- BO2/Xbox/MP/maps/mp/animscripts/dog_move.gsc | 27 +- BO2/Xbox/MP/maps/mp/animscripts/dog_pain.gsc | 4 +- BO2/Xbox/MP/maps/mp/animscripts/dog_stop.gsc | 4 +- BO2/Xbox/MP/maps/mp/animscripts/dog_turn.gsc | 4 +- BO2/Xbox/MP/maps/mp/animscripts/shared.gsc | 13 +- BO2/Xbox/MP/maps/mp/animscripts/utility.gsc | 76 +- BO2/Xbox/MP/maps/mp/bots/_bot.gsc | 227 +- BO2/Xbox/MP/maps/mp/bots/_bot_combat.gsc | 18 +- BO2/Xbox/MP/maps/mp/bots/_bot_conf.gsc | 4 +- BO2/Xbox/MP/maps/mp/bots/_bot_ctf.gsc | 31 +- BO2/Xbox/MP/maps/mp/bots/_bot_dem.gsc | 4 +- BO2/Xbox/MP/maps/mp/bots/_bot_dom.gsc | 4 +- BO2/Xbox/MP/maps/mp/bots/_bot_hack.gsc | 4 +- BO2/Xbox/MP/maps/mp/bots/_bot_hq.gsc | 4 +- BO2/Xbox/MP/maps/mp/bots/_bot_koth.gsc | 4 +- BO2/Xbox/MP/maps/mp/bots/_bot_loadout.gsc | 4 +- BO2/Xbox/MP/maps/mp/bots/_bot_sd.gsc | 4 +- BO2/Xbox/MP/maps/mp/gametypes/_class.gsc | 99 +- BO2/Xbox/MP/maps/mp/gametypes/_clientids.gsc | 4 +- BO2/Xbox/MP/maps/mp/gametypes/_copter.gsc | 4 +- BO2/Xbox/MP/maps/mp/gametypes/_dev.gsc | 3088 +++++++++++------ BO2/Xbox/MP/maps/mp/gametypes/_dev_class.gsc | 309 +- BO2/Xbox/MP/maps/mp/gametypes/_hud.gsc | 4 +- BO2/Xbox/MP/maps/mp/gametypes/_hud_util.gsc | 10 +- BO2/Xbox/MP/maps/mp/gametypes/_killcam.gsc | 12 +- BO2/Xbox/MP/maps/mp/gametypes/_menus.gsc | 4 +- BO2/Xbox/MP/maps/mp/gametypes/_objpoints.gsc | 4 +- BO2/Xbox/MP/maps/mp/gametypes/_perplayer.gsc | 4 +- BO2/Xbox/MP/maps/mp/gametypes/_pregame.gsc | 12 +- BO2/Xbox/MP/maps/mp/gametypes/_rank.gsc | 54 +- BO2/Xbox/MP/maps/mp/gametypes/_spawning.gsc | 25 +- BO2/Xbox/MP/maps/mp/gametypes/_wager.gsc | 4 +- BO2/Xbox/MP/maps/mp/gametypes/_weapons.gsc | 105 +- BO2/Xbox/MP/maps/mp/gametypes/conf.gsc | 4 +- BO2/Xbox/MP/maps/mp/gametypes/ctf.gsc | 4 +- BO2/Xbox/MP/maps/mp/gametypes/dem.gsc | 81 +- BO2/Xbox/MP/maps/mp/gametypes/dm.gsc | 4 +- BO2/Xbox/MP/maps/mp/gametypes/dom.gsc | 90 +- BO2/Xbox/MP/maps/mp/gametypes/gun.gsc | 4 +- BO2/Xbox/MP/maps/mp/gametypes/hq.gsc | 10 +- BO2/Xbox/MP/maps/mp/gametypes/koth.gsc | 20 +- BO2/Xbox/MP/maps/mp/gametypes/oic.gsc | 4 +- BO2/Xbox/MP/maps/mp/gametypes/oneflag.gsc | 4 +- BO2/Xbox/MP/maps/mp/gametypes/sas.gsc | 4 +- BO2/Xbox/MP/maps/mp/gametypes/sd.gsc | 10 +- BO2/Xbox/MP/maps/mp/gametypes/shrp.gsc | 10 +- BO2/Xbox/MP/maps/mp/gametypes/tdm.gsc | 12 +- BO2/Xbox/MP/maps/mp/killstreaks/_ai_tank.gsc | 55 +- BO2/Xbox/MP/maps/mp/killstreaks/_dogs.gsc | 199 +- BO2/Xbox/MP/maps/mp/killstreaks/_emp.gsc | 13 +- BO2/Xbox/MP/maps/mp/killstreaks/_qrdrone.gsc | 17 +- BO2/Xbox/MP/maps/mp/killstreaks/_radar.gsc | 4 +- BO2/Xbox/MP/maps/mp/killstreaks/_rcbomb.gsc | 30 +- BO2/Xbox/MP/maps/mp/mp_bridge.gsc | 4 +- BO2/Xbox/MP/maps/mp/mp_carrier.gsc | 4 +- BO2/Xbox/MP/maps/mp/mp_castaway.gsc | 4 +- BO2/Xbox/MP/maps/mp/mp_concert.gsc | 4 +- BO2/Xbox/MP/maps/mp/mp_dig.gsc | 4 +- BO2/Xbox/MP/maps/mp/mp_dockside.gsc | 21 +- BO2/Xbox/MP/maps/mp/mp_dockside_crane.gsc | 4 +- BO2/Xbox/MP/maps/mp/mp_downhill.gsc | 4 +- BO2/Xbox/MP/maps/mp/mp_downhill_cablecar.gsc | 4 +- BO2/Xbox/MP/maps/mp/mp_drone.gsc | 4 +- BO2/Xbox/MP/maps/mp/mp_express.gsc | 13 +- BO2/Xbox/MP/maps/mp/mp_express_train.gsc | 4 +- BO2/Xbox/MP/maps/mp/mp_frostbite.gsc | 4 +- BO2/Xbox/MP/maps/mp/mp_hijacked.gsc | 4 +- BO2/Xbox/MP/maps/mp/mp_hydro.gsc | 4 +- BO2/Xbox/MP/maps/mp/mp_la.gsc | 4 +- BO2/Xbox/MP/maps/mp/mp_magma.gsc | 4 +- BO2/Xbox/MP/maps/mp/mp_meltdown.gsc | 4 +- BO2/Xbox/MP/maps/mp/mp_mirage.gsc | 4 +- BO2/Xbox/MP/maps/mp/mp_nightclub.gsc | 4 +- BO2/Xbox/MP/maps/mp/mp_nuketown_2020.gsc | 4 +- BO2/Xbox/MP/maps/mp/mp_overflow.gsc | 4 +- BO2/Xbox/MP/maps/mp/mp_paintball.gsc | 4 +- BO2/Xbox/MP/maps/mp/mp_pod.gsc | 4 +- BO2/Xbox/MP/maps/mp/mp_raid.gsc | 4 +- BO2/Xbox/MP/maps/mp/mp_skate.gsc | 4 +- BO2/Xbox/MP/maps/mp/mp_slums.gsc | 4 +- BO2/Xbox/MP/maps/mp/mp_socotra.gsc | 4 +- BO2/Xbox/MP/maps/mp/mp_studio.gsc | 4 +- BO2/Xbox/MP/maps/mp/mp_takeoff.gsc | 18 +- BO2/Xbox/MP/maps/mp/mp_turbine.gsc | 4 +- BO2/Xbox/MP/maps/mp/mp_uplink.gsc | 4 +- BO2/Xbox/MP/maps/mp/mp_vertigo.gsc | 4 +- BO2/Xbox/MP/maps/mp/mp_village.gsc | 4 +- BO2/Xbox/MP/maps/mp/teams/_teams.gsc | 4 +- BO2/Xbox/MP/maps/mp/teams/_teamset.gsc | 4 +- BO2/Xbox/Test/Core_CompiledScript_Works.gsc | 1 - BO2/Xbox/Test/_compass.gsc | 82 - BO2/Xbox/ZM/codescripts/character.gsc | 13 +- BO2/Xbox/ZM/codescripts/character_mp.gsc | 4 +- BO2/Xbox/ZM/codescripts/delete.gsc | 18 +- BO2/Xbox/ZM/common_scripts/utility.gsc | 99 +- BO2/Xbox/ZM/maps/mp/_art.gsc | 415 ++- BO2/Xbox/ZM/maps/mp/_audio.gsc | 4 +- BO2/Xbox/ZM/maps/mp/_ballistic_knife.gsc | 4 +- BO2/Xbox/ZM/maps/mp/_bb.gsc | 4 +- BO2/Xbox/ZM/maps/mp/_busing.gsc | 4 +- BO2/Xbox/ZM/maps/mp/_challenges.gsc | 10 +- BO2/Xbox/ZM/maps/mp/_compass.gsc | 4 +- BO2/Xbox/ZM/maps/mp/_createfx.gsc | 760 ++-- BO2/Xbox/ZM/maps/mp/_createfxmenu.gsc | 912 +++-- BO2/Xbox/ZM/maps/mp/_createfxundo.gsc | 77 +- BO2/Xbox/ZM/maps/mp/_demo.gsc | 4 +- BO2/Xbox/ZM/maps/mp/_fx.gsc | 66 +- BO2/Xbox/ZM/maps/mp/_fxanim.gsc | 2 +- BO2/Xbox/ZM/maps/mp/_global_fx.gsc | 4 +- BO2/Xbox/ZM/maps/mp/_interactive_objects.gsc | 4 +- BO2/Xbox/ZM/maps/mp/_music.gsc | 4 +- BO2/Xbox/ZM/maps/mp/_script_gen.gsc | 262 +- BO2/Xbox/ZM/maps/mp/_serverfaceanim_mp.gsc | 4 +- BO2/Xbox/ZM/maps/mp/_sticky_grenade.gsc | 4 +- BO2/Xbox/ZM/maps/mp/_utility.gsc | 104 +- BO2/Xbox/ZM/maps/mp/_visionset_mgr.gsc | 13 +- BO2/Xbox/ZM/maps/mp/animscripts/dog_init.gsc | 4 +- BO2/Xbox/ZM/maps/mp/animscripts/dog_jump.gsc | 4 +- BO2/Xbox/ZM/maps/mp/animscripts/dog_move.gsc | 27 +- BO2/Xbox/ZM/maps/mp/animscripts/dog_pain.gsc | 4 +- BO2/Xbox/ZM/maps/mp/animscripts/dog_stop.gsc | 4 +- BO2/Xbox/ZM/maps/mp/animscripts/dog_turn.gsc | 4 +- BO2/Xbox/ZM/maps/mp/animscripts/shared.gsc | 13 +- BO2/Xbox/ZM/maps/mp/animscripts/utility.gsc | 76 +- BO2/Xbox/ZM/maps/mp/animscripts/zm_death.gsc | 9 +- BO2/Xbox/ZM/maps/mp/animscripts/zm_init.gsc | 4 +- BO2/Xbox/ZM/maps/mp/animscripts/zm_jump.gsc | 4 +- BO2/Xbox/ZM/maps/mp/animscripts/zm_melee.gsc | 191 +- BO2/Xbox/ZM/maps/mp/animscripts/zm_move.gsc | 4 +- BO2/Xbox/ZM/maps/mp/animscripts/zm_pain.gsc | 4 +- BO2/Xbox/ZM/maps/mp/animscripts/zm_run.gsc | 4 +- BO2/Xbox/ZM/maps/mp/animscripts/zm_stop.gsc | 4 +- BO2/Xbox/ZM/maps/mp/animscripts/zm_turn.gsc | 4 +- BO2/Xbox/ZM/maps/mp/gametypes_zm/_dev.gsc | 128 +- BO2/Xbox/ZM/maps/mp/gametypes_zm/_hud.gsc | 4 +- BO2/Xbox/ZM/maps/mp/gametypes_zm/_menus.gsc | 4 +- BO2/Xbox/ZM/maps/mp/zombies/_load.gsc | 4 +- BO2/Xbox/ZM/maps/mp/zombies/_zm.gsc | 143 +- BO2/Xbox/ZM/maps/mp/zombies/_zm_ai_basic.gsc | 4 +- BO2/Xbox/ZM/maps/mp/zombies/_zm_ai_dogs.gsc | 21 +- BO2/Xbox/ZM/maps/mp/zombies/_zm_audio.gsc | 52 +- BO2/Xbox/ZM/maps/mp/zombies/_zm_blockers.gsc | 245 +- BO2/Xbox/ZM/maps/mp/zombies/_zm_bot.gsc | 4 +- BO2/Xbox/ZM/maps/mp/zombies/_zm_chugabud.gsc | 4 +- BO2/Xbox/ZM/maps/mp/zombies/_zm_clone.gsc | 4 +- BO2/Xbox/ZM/maps/mp/zombies/_zm_devgui.gsc | 1301 ++++--- BO2/Xbox/ZM/maps/mp/zombies/_zm_ffotd.gsc | 22 +- BO2/Xbox/ZM/maps/mp/zombies/_zm_gump.gsc | 24 +- BO2/Xbox/ZM/maps/mp/zombies/_zm_jump_pad.gsc | 56 +- BO2/Xbox/ZM/maps/mp/zombies/_zm_magicbox.gsc | 10 +- BO2/Xbox/ZM/maps/mp/zombies/_zm_mgturret.gsc | 4 +- BO2/Xbox/ZM/maps/mp/zombies/_zm_net.gsc | 13 +- BO2/Xbox/ZM/maps/mp/zombies/_zm_perks.gsc | 34 +- BO2/Xbox/ZM/maps/mp/zombies/_zm_power.gsc | 28 +- BO2/Xbox/ZM/maps/mp/zombies/_zm_powerups.gsc | 122 +- BO2/Xbox/ZM/maps/mp/zombies/_zm_score.gsc | 4 +- BO2/Xbox/ZM/maps/mp/zombies/_zm_spawner.gsc | 76 +- BO2/Xbox/ZM/maps/mp/zombies/_zm_stats.gsc | 9 +- BO2/Xbox/ZM/maps/mp/zombies/_zm_timer.gsc | 4 +- BO2/Xbox/ZM/maps/mp/zombies/_zm_traps.gsc | 12 +- BO2/Xbox/ZM/maps/mp/zombies/_zm_turned.gsc | 4 +- BO2/Xbox/ZM/maps/mp/zombies/_zm_utility.gsc | 214 +- BO2/Xbox/ZM/maps/mp/zombies/_zm_weapons.gsc | 27 +- BO2/Xbox/ZM/maps/mp/zombies/_zm_zonemgr.gsc | 277 +- 597 files changed, 21918 insertions(+), 12941 deletions(-) delete mode 100644 BO2/Xbox/Test/Core_CompiledScript_Works.gsc delete mode 100644 BO2/Xbox/Test/_compass.gsc diff --git a/BO2/PC/MP/character/c_mp_german_shepherd_vest.gsc b/BO2/PC/MP/character/c_mp_german_shepherd_vest.gsc index 5eada05..c3d7afc 100644 --- a/BO2/PC/MP/character/c_mp_german_shepherd_vest.gsc +++ b/BO2/PC/MP/character/c_mp_german_shepherd_vest.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 2 - * Decompile Time: 2 ms - * Timestamp: 10/27/2023 2:59:42 AM + * Decompile Time: 133 ms + * Timestamp: 10/28/2023 12:10:19 AM *******************************************************************/ //Function Number: 1 diff --git a/BO2/PC/MP/character/c_mp_german_shepherd_vest_black.gsc b/BO2/PC/MP/character/c_mp_german_shepherd_vest_black.gsc index ab143b0..cde8571 100644 --- a/BO2/PC/MP/character/c_mp_german_shepherd_vest_black.gsc +++ b/BO2/PC/MP/character/c_mp_german_shepherd_vest_black.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 2 - * Decompile Time: 5 ms - * Timestamp: 10/27/2023 2:59:42 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:10:19 AM *******************************************************************/ //Function Number: 1 diff --git a/BO2/PC/MP/codescripts/character_mp.gsc b/BO2/PC/MP/codescripts/character_mp.gsc index d5b0cda..a0535b2 100644 --- a/BO2/PC/MP/codescripts/character_mp.gsc +++ b/BO2/PC/MP/codescripts/character_mp.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 3 - * Decompile Time: 3 ms - * Timestamp: 10/27/2023 2:59:42 AM + * Decompile Time: 2 ms + * Timestamp: 10/28/2023 12:10:19 AM *******************************************************************/ #include codescripts/character; diff --git a/BO2/PC/MP/codescripts/delete.gsc b/BO2/PC/MP/codescripts/delete.gsc index 2895121..4288de1 100644 --- a/BO2/PC/MP/codescripts/delete.gsc +++ b/BO2/PC/MP/codescripts/delete.gsc @@ -5,7 +5,7 @@ * Platform: PC * Function Count: 1 * Decompile Time: 2 ms - * Timestamp: 10/27/2023 2:59:42 AM + * Timestamp: 10/28/2023 12:10:20 AM *******************************************************************/ //Function Number: 1 @@ -18,11 +18,15 @@ main() if(IsDefined(self)) { /# - println(""); - println("*** trigger debug: delete.gsc is deleting trigger with ent#: " + self getentitynumber() + " at origin: " + self.origin); - println(""); -self.classname == "trigger_once" || self.classname == "trigger_radius" || self.classname == "trigger_multiple" -IsDefined(self.classname) + if(IsDefined(self.classname)) + { + if(self.classname == "trigger_once" || self.classname == "trigger_radius" || self.classname == "trigger_multiple") + { + println(""); + println("*** trigger debug: delete.gsc is deleting trigger with ent#: " + self getentitynumber() + " at origin: " + self.origin); + println(""); + } + } #/ self delete(); } diff --git a/BO2/PC/MP/codescripts/struct.gsc b/BO2/PC/MP/codescripts/struct.gsc index e7a80b2..786b0ac 100644 --- a/BO2/PC/MP/codescripts/struct.gsc +++ b/BO2/PC/MP/codescripts/struct.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 3 - * Decompile Time: 1 ms - * Timestamp: 10/27/2023 2:59:43 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:10:20 AM *******************************************************************/ //Function Number: 1 diff --git a/BO2/PC/MP/common_scripts/utility.gsc b/BO2/PC/MP/common_scripts/utility.gsc index 7557c48..19f78b0 100644 --- a/BO2/PC/MP/common_scripts/utility.gsc +++ b/BO2/PC/MP/common_scripts/utility.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 124 - * Decompile Time: 113 ms - * Timestamp: 10/27/2023 2:59:43 AM + * Decompile Time: 21 ms + * Timestamp: 10/28/2023 12:10:20 AM *******************************************************************/ //Function Number: 1 @@ -385,14 +385,11 @@ vector_compare(vec1,vec2) draw_debug_line(start,end,timer) { /# - i = 0; - for(;;) + for(i = 0;i < timer * 20;i++) { line(start,end,(1,1,0.5)); wait(0.05); - i++; } -i < timer * 20 #/ } @@ -863,8 +860,8 @@ flag_delete(flagname) { /# println("flag_delete() called on flag that does not exist: " + flagname); -#/ } +#/ } //Function Number: 51 @@ -889,9 +886,8 @@ flag_init(flagname,val,b_is_trigger) { /# assert(!IsDefined(level.flag[flagname]),"Attempt to reinitialize existing flag: " + flagname); -#/ } - +#/ if(IsDefined(val) && val) { level.flag[flagname] = 1; @@ -1473,9 +1469,9 @@ trigger_use(str_name,str_key,ent,b_assert) { /# assertmsg("trigger not found: " + str_name + " key: " + str_key); -#/ - return; } +#/ + return; } } else @@ -1567,13 +1563,27 @@ init_trigger_flags() //Function Number: 83 is_look_trigger(trig) { - return IsDefined(trig) ? trig has_spawnflag(256) && !(!IsDefined(trig.classname) && !IsDefined("trigger_damage")) || IsDefined(trig.classname) && IsDefined("trigger_damage") && trig.classname == "trigger_damage" : 0; + if(IsDefined(trig)) + { + } + else + { + } + + return 0; } //Function Number: 84 is_trigger_once(trig) { - return IsDefined(trig) ? trig has_spawnflag(1024) || (!IsDefined(self.classname) && !IsDefined("trigger_once")) || IsDefined(self.classname) && IsDefined("trigger_once") && self.classname == "trigger_once" : 0; + if(IsDefined(trig)) + { + } + else + { + } + + return 0; } //Function Number: 85 @@ -1742,11 +1752,14 @@ fileprint_chk(file,str) { /# level.fileprintlinecount++; - wait(0.05); - level.fileprintlinecount++; - level.fileprintlinecount = 0; + if(level.fileprintlinecount > 400) + { + wait(0.05); + level.fileprintlinecount++; + level.fileprintlinecount = 0; + } + fprintln(file,str); -level.fileprintlinecount > 400 #/ } @@ -1765,11 +1778,14 @@ fileprint_map_header(binclude_blank_worldspawn) fileprint_chk(level.fileprint,"iwmap 4"); fileprint_chk(level.fileprint,"\"000_Global\" flags active"); fileprint_chk(level.fileprint,"\"The Map\" flags"); - return; + if(!(binclude_blank_worldspawn)) + { + return; + } + fileprint_map_entity_start(); fileprint_map_keypairprint("classname","worldspawn"); fileprint_map_entity_end(); -binclude_blank_worldspawn #/ } @@ -1824,29 +1840,32 @@ fileprint_end() assert(!IsDefined(level.fileprint_entitystart)); #/ saved = closefile(level.fileprint); - println("-----------------------------------"); - println(" "); - println("file write failure"); - println("file with name: " + level.fileprint_filename); - println("make sure you checkout the file you are trying to save"); - println("note: USE P4 Search to find the file and check that one out"); - println(" Do not checkin files in from the xenonoutput folder, "); - println(" this is junctioned to the proper directory where you need to go"); - println("junctions looks like this"); - println(" "); - println("..\\xenonOutput\\scriptdata\\createfx ..\\share\\raw\\maps\\createfx"); - println("..\\xenonOutput\\scriptdata\\createart ..\\share\\raw\\maps\\createart"); - println("..\\xenonOutput\\scriptdata\\vision ..\\share\\raw\\vision"); - println("..\\xenonOutput\\scriptdata\\scriptgen ..\\share\\raw\\maps\\scriptgen"); - println("..\\xenonOutput\\scriptdata\\zone_source ..\\xenon\\zone_source"); - println("..\\xenonOutput\\accuracy ..\\share\\raw\\accuracy"); - println("..\\xenonOutput\\scriptdata\\map_source ..\\map_source\\xenon_export"); - println(" "); - println("-----------------------------------"); - println("File not saved( see console.log for info ) "); + if(saved != 1) + { + println("-----------------------------------"); + println(" "); + println("file write failure"); + println("file with name: " + level.fileprint_filename); + println("make sure you checkout the file you are trying to save"); + println("note: USE P4 Search to find the file and check that one out"); + println(" Do not checkin files in from the xenonoutput folder, "); + println(" this is junctioned to the proper directory where you need to go"); + println("junctions looks like this"); + println(" "); + println("..\\xenonOutput\\scriptdata\\createfx ..\\share\\raw\\maps\\createfx"); + println("..\\xenonOutput\\scriptdata\\createart ..\\share\\raw\\maps\\createart"); + println("..\\xenonOutput\\scriptdata\\vision ..\\share\\raw\\vision"); + println("..\\xenonOutput\\scriptdata\\scriptgen ..\\share\\raw\\maps\\scriptgen"); + println("..\\xenonOutput\\scriptdata\\zone_source ..\\xenon\\zone_source"); + println("..\\xenonOutput\\accuracy ..\\share\\raw\\accuracy"); + println("..\\xenonOutput\\scriptdata\\map_source ..\\map_source\\xenon_export"); + println(" "); + println("-----------------------------------"); + println("File not saved( see console.log for info ) "); + } + level.fileprint = undefined; level.fileprint_filename = undefined; -saved != 1 #/ } diff --git a/BO2/PC/MP/maps/mp/_acousticsensor.gsc b/BO2/PC/MP/maps/mp/_acousticsensor.gsc index 26bdeca..ab26673 100644 --- a/BO2/PC/MP/maps/mp/_acousticsensor.gsc +++ b/BO2/PC/MP/maps/mp/_acousticsensor.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 7 - * Decompile Time: 33 ms - * Timestamp: 10/27/2023 3:01:09 AM + * Decompile Time: 2 ms + * Timestamp: 10/28/2023 12:10:49 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/PC/MP/maps/mp/_ambientpackage.gsc b/BO2/PC/MP/maps/mp/_ambientpackage.gsc index 7c25f31..ae4d323 100644 --- a/BO2/PC/MP/maps/mp/_ambientpackage.gsc +++ b/BO2/PC/MP/maps/mp/_ambientpackage.gsc @@ -5,5 +5,5 @@ * Platform: PC * Function Count: 0 * Decompile Time: 0 ms - * Timestamp: 10/27/2023 3:01:10 AM + * Timestamp: 10/28/2023 12:10:49 AM *******************************************************************/ \ No newline at end of file diff --git a/BO2/PC/MP/maps/mp/_art.gsc b/BO2/PC/MP/maps/mp/_art.gsc index 8c1153b..6aca234 100644 --- a/BO2/PC/MP/maps/mp/_art.gsc +++ b/BO2/PC/MP/maps/mp/_art.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 14 - * Decompile Time: 105 ms - * Timestamp: 10/27/2023 3:01:10 AM + * Decompile Time: 8 ms + * Timestamp: 10/28/2023 12:10:50 AM *******************************************************************/ #include common_scripts/utility; @@ -15,13 +15,41 @@ main() { /# - setdvar("scr_art_tweak",0); - setdvar("scr_dof_enable","1"); - setdvar("scr_cinematic_autofocus","1"); - setdvar("scr_art_visionfile",level.script); - setdvar("debug_reflection","0"); - setdvar("debug_reflection_matte","0"); - setdvar("debug_color_pallete","0"); + if(GetDvar(#"5E997AE") == "" || GetDvar(#"5E997AE") == "0") + { + setdvar("scr_art_tweak",0); + } + + if(GetDvar(#"628ADECB") == "") + { + setdvar("scr_dof_enable","1"); + } + + if(GetDvar(#"69E20811") == "") + { + setdvar("scr_cinematic_autofocus","1"); + } + + if(GetDvar(#"FE68F88A") == "" && IsDefined(level.script)) + { + setdvar("scr_art_visionfile",level.script); + } + + if(GetDvar(#"628768B6") == "") + { + setdvar("debug_reflection","0"); + } + + if(GetDvar(#"33E24970") == "") + { + setdvar("debug_reflection_matte","0"); + } + + if(GetDvar(#"C450CB50") == "") + { + setdvar("debug_color_pallete","0"); + } + precachemodel("test_sphere_lambert"); precachemodel("test_macbeth_chart"); precachemodel("test_macbeth_chart_unlit"); @@ -29,13 +57,6 @@ main() level thread debug_reflection(); level thread debug_reflection_matte(); level thread debug_color_pallete(); -GetDvar(#"C450CB50") == "" -GetDvar(#"33E24970") == "" -GetDvar(#"628768B6") == "" -GetDvar(#"FE68F88A") == "" && IsDefined(level.script) -GetDvar(#"69E20811") == "" -GetDvar(#"628ADECB") == "" -GetDvar(#"5E997AE") == "" || GetDvar(#"5E997AE") == "0" #/ if(!(IsDefined(level.dofdefault))) { @@ -61,9 +82,12 @@ GetDvar(#"5E997AE") == "" || GetDvar(#"5E997AE") == "0" artfxprintln(file,string) { /# - return; + if(file == -1) + { + return; + } + fprintln(file,string); -file == -1 #/ } @@ -120,11 +144,19 @@ setfogsliders() tweakart() { /# - level.tweakfile = 0; - setdvar("scr_fog_exp_halfplane","500"); - setdvar("scr_fog_exp_halfheight","500"); - setdvar("scr_fog_nearplane","0"); - setdvar("scr_fog_baseheight","0"); + if(!(IsDefined(level.tweakfile))) + { + level.tweakfile = 0; + } + + if(GetDvar(#"829C0FDB") == "") + { + setdvar("scr_fog_exp_halfplane","500"); + setdvar("scr_fog_exp_halfheight","500"); + setdvar("scr_fog_nearplane","0"); + setdvar("scr_fog_baseheight","0"); + } + setdvar("scr_fog_fraction","1.0"); setdvar("scr_art_dump","0"); setdvar("scr_art_sun_fog_dir_set","0"); @@ -139,27 +171,32 @@ tweakart() tweak_toggle = 1; for(;;) { - for(;;) + while(GetDvarInt(#"5E997AE") == 0) { tweak_toggle = 1; wait(0.05); } - tweak_toggle = 0; - fogsettings = getfogsettings(); - setdvar("scr_fog_nearplane",fogsettings[0]); - setdvar("scr_fog_exp_halfplane",fogsettings[1]); - setdvar("scr_fog_exp_halfheight",fogsettings[3]); - setdvar("scr_fog_baseheight",fogsettings[2]); - setdvar("scr_fog_color",fogsettings[4] + " " + fogsettings[5] + " " + fogsettings[6]); - setdvar("scr_fog_color_scale",fogsettings[7]); - setdvar("scr_sun_fog_color",fogsettings[8] + " " + fogsettings[9] + " " + fogsettings[10]); - level.fogsundir = []; - level.fogsundir[0] = fogsettings[11]; - level.fogsundir[1] = fogsettings[12]; - level.fogsundir[2] = fogsettings[13]; - setdvar("scr_sun_fog_start_angle",fogsettings[14]); - setdvar("scr_sun_fog_end_angle",fogsettings[15]); - setdvar("scr_fog_max_opacity",fogsettings[16]); + + if(tweak_toggle) + { + tweak_toggle = 0; + fogsettings = getfogsettings(); + setdvar("scr_fog_nearplane",fogsettings[0]); + setdvar("scr_fog_exp_halfplane",fogsettings[1]); + setdvar("scr_fog_exp_halfheight",fogsettings[3]); + setdvar("scr_fog_baseheight",fogsettings[2]); + setdvar("scr_fog_color",fogsettings[4] + " " + fogsettings[5] + " " + fogsettings[6]); + setdvar("scr_fog_color_scale",fogsettings[7]); + setdvar("scr_sun_fog_color",fogsettings[8] + " " + fogsettings[9] + " " + fogsettings[10]); + level.fogsundir = []; + level.fogsundir[0] = fogsettings[11]; + level.fogsundir[1] = fogsettings[12]; + level.fogsundir[2] = fogsettings[13]; + setdvar("scr_sun_fog_start_angle",fogsettings[14]); + setdvar("scr_sun_fog_end_angle",fogsettings[15]); + setdvar("scr_fog_max_opacity",fogsettings[16]); + } + level.fogexphalfplane = GetDvarFloat(#"B59305FE"); level.fogexphalfheight = GetDvarFloat(#"54D01B47"); level.fognearplane = GetDvarFloat(#"5C40223D"); @@ -174,29 +211,39 @@ tweakart() level.sunstartangle = GetDvarFloat(#"ECC36390"); level.sunendangle = GetDvarFloat(#"FA1301D9"); level.fogmaxopacity = GetDvarFloat(#"81EA8425"); - setdvar("scr_art_sun_fog_dir_set","0"); - println("Setting sun fog direction to facing of player"); - players = get_players(); - dir = vectornormalize(AnglesToForward(players[0] getplayerangles())); - level.fogsundir = []; - level.fogsundir[0] = dir[0]; - level.fogsundir[1] = dir[1]; - level.fogsundir[2] = dir[2]; + if(GetDvarInt(#"9EF57A6C")) + { + setdvar("scr_art_sun_fog_dir_set","0"); + println("Setting sun fog direction to facing of player"); + players = get_players(); + dir = vectornormalize(AnglesToForward(players[0] getplayerangles())); + level.fogsundir = []; + level.fogsundir[0] = dir[0]; + level.fogsundir[1] = dir[1]; + level.fogsundir[2] = dir[2]; + } + fovslidercheck(); dumpsettings(); - level.fogsundir = []; - level.fogsundir[0] = 1; - level.fogsundir[1] = 0; - level.fogsundir[2] = 0; - setvolfog(level.fognearplane,level.fogexphalfplane,level.fogexphalfheight,level.fogbaseheight,level.fogcolorred,level.fogcolorgreen,level.fogcolorblue,level.fogcolorscale,level.sunfogcolorred,level.sunfogcolorgreen,level.sunfogcolorblue,level.fogsundir[0],level.fogsundir[1],level.fogsundir[2],level.sunstartangle,level.sunendangle,0,level.fogmaxopacity); - setexpfog(100000000,100000001,0,0,0,0); + if(!(GetDvarInt(#"DBBD8F3B"))) + { + if(!(IsDefined(level.fogsundir))) + { + level.fogsundir = []; + level.fogsundir[0] = 1; + level.fogsundir[1] = 0; + level.fogsundir[2] = 0; + } + + setvolfog(level.fognearplane,level.fogexphalfplane,level.fogexphalfheight,level.fogbaseheight,level.fogcolorred,level.fogcolorgreen,level.fogcolorblue,level.fogcolorscale,level.sunfogcolorred,level.sunfogcolorgreen,level.sunfogcolorblue,level.fogsundir[0],level.fogsundir[1],level.fogsundir[2],level.sunstartangle,level.sunendangle,0,level.fogmaxopacity); + } + else + { + setexpfog(100000000,100000001,0,0,0,0); + } + wait(0.1); } -(GetDvarInt(#"9EF57A6C")) ? GetDvarInt(#"DBBD8F3B") : IsDefined(level.fogsundir) -tweak_toggle -GetDvarInt(#"5E997AE") == 0 -GetDvar(#"829C0FDB") == "" -IsDefined(level.tweakfile) #/ } @@ -244,30 +291,32 @@ fovslidercheck() dumpsettings() { /# - println("\tstart_dist = " + level.fognearplane + ";"); - println("\thalf_dist = " + level.fogexphalfplane + ";"); - println("\thalf_height = " + level.fogexphalfheight + ";"); - println("\tbase_height = " + level.fogbaseheight + ";"); - println("\tfog_r = " + level.fogcolorred + ";"); - println("\tfog_g = " + level.fogcolorgreen + ";"); - println("\tfog_b = " + level.fogcolorblue + ";"); - println("\tfog_scale = " + level.fogcolorscale + ";"); - println("\tsun_col_r = " + level.sunfogcolorred + ";"); - println("\tsun_col_g = " + level.sunfogcolorgreen + ";"); - println("\tsun_col_b = " + level.sunfogcolorblue + ";"); - println("\tsun_dir_x = " + level.fogsundir[0] + ";"); - println("\tsun_dir_y = " + level.fogsundir[1] + ";"); - println("\tsun_dir_z = " + level.fogsundir[2] + ";"); - println("\tsun_start_ang = " + level.sunstartangle + ";"); - println("\tsun_stop_ang = " + level.sunendangle + ";"); - println("\ttime = 0;"); - println("\tmax_fog_opacity = " + level.fogmaxopacity + ";"); - println(""); - println("\tsetVolFog(start_dist, half_dist, half_height, base_height, fog_r, fog_g, fog_b, fog_scale,"); - println("\t\tsun_col_r, sun_col_g, sun_col_b, sun_dir_x, sun_dir_y, sun_dir_z, sun_start_ang, "); - println("\t\tsun_stop_ang, time, max_fog_opacity);"); - setdvar("scr_art_dump","0"); -GetDvar(#"D1996D68") != "0" + if(GetDvar(#"D1996D68") != "0") + { + println("\tstart_dist = " + level.fognearplane + ";"); + println("\thalf_dist = " + level.fogexphalfplane + ";"); + println("\thalf_height = " + level.fogexphalfheight + ";"); + println("\tbase_height = " + level.fogbaseheight + ";"); + println("\tfog_r = " + level.fogcolorred + ";"); + println("\tfog_g = " + level.fogcolorgreen + ";"); + println("\tfog_b = " + level.fogcolorblue + ";"); + println("\tfog_scale = " + level.fogcolorscale + ";"); + println("\tsun_col_r = " + level.sunfogcolorred + ";"); + println("\tsun_col_g = " + level.sunfogcolorgreen + ";"); + println("\tsun_col_b = " + level.sunfogcolorblue + ";"); + println("\tsun_dir_x = " + level.fogsundir[0] + ";"); + println("\tsun_dir_y = " + level.fogsundir[1] + ";"); + println("\tsun_dir_z = " + level.fogsundir[2] + ";"); + println("\tsun_start_ang = " + level.sunstartangle + ";"); + println("\tsun_stop_ang = " + level.sunendangle + ";"); + println("\ttime = 0;"); + println("\tmax_fog_opacity = " + level.fogmaxopacity + ";"); + println(""); + println("\tsetVolFog(start_dist, half_dist, half_height, base_height, fog_r, fog_g, fog_b, fog_scale,"); + println("\t\tsun_col_r, sun_col_g, sun_col_b, sun_dir_x, sun_dir_y, sun_dir_z, sun_start_ang, "); + println("\t\tsun_stop_ang, time, max_fog_opacity);"); + setdvar("scr_art_dump","0"); + } #/ } @@ -276,31 +325,41 @@ debug_reflection() { /# level.debug_reflection = 0; - for(;;) + while(1) { wait(0.1); - remove_reflection_objects(); - create_reflection_objects(); - level.debug_reflection = 2; - continue; - create_reflection_objects(); - create_reflection_object(); - level.debug_reflection = 3; - continue; - setdvar("debug_reflection_matte","0"); - setdvar("debug_color_pallete","0"); - remove_reflection_objects(); - create_reflection_object(); - level.debug_reflection = 1; - continue; - remove_reflection_objects(); - level.debug_reflection = 0; + if((GetDvar(#"628768B6") == "2" && level.debug_reflection != 2) || GetDvar(#"628768B6") == "3" && level.debug_reflection != 3) + { + remove_reflection_objects(); + if(GetDvar(#"628768B6") == "2") + { + create_reflection_objects(); + level.debug_reflection = 2; + continue; + } + + create_reflection_objects(); + create_reflection_object(); + level.debug_reflection = 3; + continue; + } + + if(GetDvar(#"628768B6") == "1" && level.debug_reflection != 1) + { + setdvar("debug_reflection_matte","0"); + setdvar("debug_color_pallete","0"); + remove_reflection_objects(); + create_reflection_object(); + level.debug_reflection = 1; + continue; + } + + if(GetDvar(#"628768B6") == "0" && level.debug_reflection != 0) + { + remove_reflection_objects(); + level.debug_reflection = 0; + } } -GetDvar(#"628768B6") == "0" && level.debug_reflection != 0 -GetDvar(#"628768B6") == "1" && level.debug_reflection != 1 -GetDvar(#"628768B6") == "2" -(GetDvar(#"628768B6") == "2" && level.debug_reflection != 2) || GetDvar(#"628768B6") == "3" && level.debug_reflection != 3 -1 #/ } @@ -308,18 +367,23 @@ GetDvar(#"628768B6") == "2" remove_reflection_objects() { /# - i = 0; - for(;;) + if((level.debug_reflection == 2 || level.debug_reflection == 3) && IsDefined(level.debug_reflection_objects)) { - level.debug_reflection_objects[i] delete(); - i++; + for(i = 0;i < level.debug_reflection_objects.size;i++) + { + level.debug_reflection_objects[i] delete(); + } + + level.debug_reflection_objects = undefined; + } + + if(level.debug_reflection == 1 || level.debug_reflection == 3 || level.debug_reflection_matte == 1 || level.debug_color_pallete == 1 || level.debug_color_pallete == 2) + { + if(IsDefined(level.debug_reflectionobject)) + { + level.debug_reflectionobject delete(); + } } - level.debug_reflection_objects = undefined; - level.debug_reflectionobject delete(); -IsDefined(level.debug_reflectionobject) -level.debug_reflection == 1 || level.debug_reflection == 3 || level.debug_reflection_matte == 1 || level.debug_color_pallete == 1 || level.debug_color_pallete == 2 -i < level.debug_reflection_objects.size -(level.debug_reflection == 2 || level.debug_reflection == 3) && IsDefined(level.debug_reflection_objects) #/ } @@ -328,14 +392,11 @@ create_reflection_objects() { /# reflection_locs = getreflectionlocs(); - i = 0; - for(;;) + for(i = 0;i < reflection_locs.size;i++) { level.debug_reflection_objects[i] = spawn("script_model",reflection_locs[i]); level.debug_reflection_objects[i] setmodel("test_sphere_silver"); - i++; } -i < reflection_locs.size #/ } @@ -348,7 +409,11 @@ create_reflection_object(model) } /# - level.debug_reflectionobject delete(); + if(IsDefined(level.debug_reflectionobject)) + { + level.debug_reflectionobject delete(); + } + players = get_players(); player = players[0]; level.debug_reflectionobject = spawn("script_model",100 + VectorScale(AnglesToForward(player.angles))); @@ -356,9 +421,6 @@ create_reflection_object(model) level.debug_reflectionobject.origin = 100 + VectorScale(AnglesToForward(player getplayerangles())); level.debug_reflectionobject linkto(player); thread debug_reflection_buttons(); -player geteye() -player geteye() -IsDefined(level.debug_reflectionobject) #/ } @@ -371,13 +433,29 @@ debug_reflection_buttons() level.debug_reflectionobject endon("death"); offset = 100; lastoffset = offset; - for(;;) + while(GetDvar(#"628768B6") == "1" || GetDvar(#"628768B6") == "3" || GetDvar(#"33E24970") == "1" || GetDvar(#"C450CB50") == "1" || GetDvar(#"C450CB50") == "2") { players = get_players(); - offset = offset + 50; - offset = offset - 50; - offset = 1000; - offset = 64; + if(players[0] buttonpressed("BUTTON_X")) + { + offset = offset + 50; + } + + if(players[0] buttonpressed("BUTTON_Y")) + { + offset = offset - 50; + } + + if(offset > 1000) + { + offset = 1000; + } + + if(offset < 64) + { + offset = 64; + } + level.debug_reflectionobject unlink(); level.debug_reflectionobject.origin = offset + VectorScale(AnglesToForward(players[0] getplayerangles())); temp_angles = VectorToAngles(players[0].origin - level.debug_reflectionobject.origin); @@ -385,15 +463,11 @@ debug_reflection_buttons() lastoffset = offset; line(level.debug_reflectionobject.origin,getreflectionorigin(level.debug_reflectionobject.origin),(1,0,0),1,1); wait(0.05); - level.debug_reflectionobject linkto(players[0]); + if(IsDefined(level.debug_reflectionobject)) + { + level.debug_reflectionobject linkto(players[0]); + } } -IsDefined(level.debug_reflectionobject) -players[0] geteye() -offset < 64 -offset > 1000 -players[0] buttonpressed("BUTTON_Y") -players[0] buttonpressed("BUTTON_X") -GetDvar(#"628768B6") == "1" || GetDvar(#"628768B6") == "3" || GetDvar(#"33E24970") == "1" || GetDvar(#"C450CB50") == "1" || GetDvar(#"C450CB50") == "2" #/ } @@ -402,21 +476,25 @@ debug_reflection_matte() { /# level.debug_reflection_matte = 0; - for(;;) + while(1) { wait(0.1); - setdvar("debug_reflection","0"); - setdvar("debug_color_pallete","0"); - remove_reflection_objects(); - create_reflection_object("test_sphere_lambert"); - level.debug_reflection_matte = 1; - continue; - remove_reflection_objects(); - level.debug_reflection_matte = 0; + if(GetDvar(#"33E24970") == "1" && level.debug_reflection_matte != 1) + { + setdvar("debug_reflection","0"); + setdvar("debug_color_pallete","0"); + remove_reflection_objects(); + create_reflection_object("test_sphere_lambert"); + level.debug_reflection_matte = 1; + continue; + } + + if(GetDvar(#"33E24970") == "0" && level.debug_reflection_matte != 0) + { + remove_reflection_objects(); + level.debug_reflection_matte = 0; + } } -GetDvar(#"33E24970") == "0" && level.debug_reflection_matte != 0 -GetDvar(#"33E24970") == "1" && level.debug_reflection_matte != 1 -1 #/ } @@ -425,25 +503,32 @@ debug_color_pallete() { /# level.debug_color_pallete = 0; - for(;;) + while(1) { wait(0.1); - setdvar("debug_reflection","0"); - setdvar("debug_reflection_matte","0"); - remove_reflection_objects(); - create_reflection_object("test_macbeth_chart"); - level.debug_color_pallete = 1; - continue; - remove_reflection_objects(); - create_reflection_object("test_macbeth_chart_unlit"); - level.debug_color_pallete = 2; - continue; - remove_reflection_objects(); - level.debug_color_pallete = 0; + if(GetDvar(#"C450CB50") == "1" && level.debug_color_pallete != 1) + { + setdvar("debug_reflection","0"); + setdvar("debug_reflection_matte","0"); + remove_reflection_objects(); + create_reflection_object("test_macbeth_chart"); + level.debug_color_pallete = 1; + continue; + } + + if(GetDvar(#"C450CB50") == "2" && level.debug_color_pallete != 2) + { + remove_reflection_objects(); + create_reflection_object("test_macbeth_chart_unlit"); + level.debug_color_pallete = 2; + continue; + } + + if(GetDvar(#"C450CB50") == "0" && level.debug_color_pallete != 0) + { + remove_reflection_objects(); + level.debug_color_pallete = 0; + } } -GetDvar(#"C450CB50") == "0" && level.debug_color_pallete != 0 -GetDvar(#"C450CB50") == "2" && level.debug_color_pallete != 2 -GetDvar(#"C450CB50") == "1" && level.debug_color_pallete != 1 -1 #/ } \ No newline at end of file diff --git a/BO2/PC/MP/maps/mp/_audio.gsc b/BO2/PC/MP/maps/mp/_audio.gsc index 8108656..3b242b6 100644 --- a/BO2/PC/MP/maps/mp/_audio.gsc +++ b/BO2/PC/MP/maps/mp/_audio.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 9 - * Decompile Time: 40 ms - * Timestamp: 10/27/2023 3:01:11 AM + * Decompile Time: 1 ms + * Timestamp: 10/28/2023 12:10:50 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/PC/MP/maps/mp/_ballistic_knife.gsc b/BO2/PC/MP/maps/mp/_ballistic_knife.gsc index b8e46f7..dc61397 100644 --- a/BO2/PC/MP/maps/mp/_ballistic_knife.gsc +++ b/BO2/PC/MP/maps/mp/_ballistic_knife.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 11 - * Decompile Time: 46 ms - * Timestamp: 10/27/2023 3:01:11 AM + * Decompile Time: 7 ms + * Timestamp: 10/28/2023 12:10:50 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/PC/MP/maps/mp/_bb.gsc b/BO2/PC/MP/maps/mp/_bb.gsc index 80b055f..587350e 100644 --- a/BO2/PC/MP/maps/mp/_bb.gsc +++ b/BO2/PC/MP/maps/mp/_bb.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 8 - * Decompile Time: 14 ms - * Timestamp: 10/27/2023 3:01:12 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:10:51 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/PC/MP/maps/mp/_bouncingbetty.gsc b/BO2/PC/MP/maps/mp/_bouncingbetty.gsc index a73f60a..a84616b 100644 --- a/BO2/PC/MP/maps/mp/_bouncingbetty.gsc +++ b/BO2/PC/MP/maps/mp/_bouncingbetty.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 10 - * Decompile Time: 50 ms - * Timestamp: 10/27/2023 3:01:12 AM + * Decompile Time: 1 ms + * Timestamp: 10/28/2023 12:10:51 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/PC/MP/maps/mp/_burnplayer.gsc b/BO2/PC/MP/maps/mp/_burnplayer.gsc index 1ecd715..a24b72f 100644 --- a/BO2/PC/MP/maps/mp/_burnplayer.gsc +++ b/BO2/PC/MP/maps/mp/_burnplayer.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 21 - * Decompile Time: 92 ms - * Timestamp: 10/27/2023 3:01:13 AM + * Decompile Time: 15 ms + * Timestamp: 10/28/2023 12:10:51 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/PC/MP/maps/mp/_busing.gsc b/BO2/PC/MP/maps/mp/_busing.gsc index 6549c12..e57b363 100644 --- a/BO2/PC/MP/maps/mp/_busing.gsc +++ b/BO2/PC/MP/maps/mp/_busing.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 2 - * Decompile Time: 5 ms - * Timestamp: 10/27/2023 3:01:13 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:10:51 AM *******************************************************************/ #include maps/mp/_utility; diff --git a/BO2/PC/MP/maps/mp/_challenges.gsc b/BO2/PC/MP/maps/mp/_challenges.gsc index 6c3deb9..cbadcb4 100644 --- a/BO2/PC/MP/maps/mp/_challenges.gsc +++ b/BO2/PC/MP/maps/mp/_challenges.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 87 - * Decompile Time: 299 ms - * Timestamp: 10/27/2023 3:01:15 AM + * Decompile Time: 43 ms + * Timestamp: 10/28/2023 12:10:52 AM *******************************************************************/ #include common_scripts/utility; @@ -77,8 +77,10 @@ addflyswatterstat(weapon,aircraft) canprocesschallenges() { /# - return 1; -getdvarintdefault("scr_debug_challenges",0) + if(getdvarintdefault("scr_debug_challenges",0)) + { + return 1; + } #/ if(level.rankedmatch || level.wagermatch) { diff --git a/BO2/PC/MP/maps/mp/_compass.gsc b/BO2/PC/MP/maps/mp/_compass.gsc index b55818b..ff1fb1d 100644 --- a/BO2/PC/MP/maps/mp/_compass.gsc +++ b/BO2/PC/MP/maps/mp/_compass.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 2 - * Decompile Time: 10 ms - * Timestamp: 10/27/2023 3:01:15 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:10:52 AM *******************************************************************/ //Function Number: 1 diff --git a/BO2/PC/MP/maps/mp/_createfx.gsc b/BO2/PC/MP/maps/mp/_createfx.gsc index 86836a8..0bb6dec 100644 --- a/BO2/PC/MP/maps/mp/_createfx.gsc +++ b/BO2/PC/MP/maps/mp/_createfx.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 98 - * Decompile Time: 474 ms - * Timestamp: 10/27/2023 3:01:17 AM + * Decompile Time: 66 ms + * Timestamp: 10/28/2023 12:10:53 AM *******************************************************************/ #include common_scripts/utility; @@ -176,10 +176,9 @@ fx_init() delete_arrays_in_sp(); /# println("We\'re not in MP!"); -#/ } } - +#/ for(i = 0;i < level.createfxent.size;i++) { ent = level.createfxent[i]; @@ -345,9 +344,14 @@ createfxlogic() filename = level.cfx_server_scriptdata + level.script + "_fx.gsc"; file = openfile(filename,"append"); level.write_error = ""; - level.write_error = filename; - closefile(file); -Stack-Empty ? Stack-Empty : file == -1 + if(file == -1) + { + level.write_error = filename; + } + else + { + closefile(file); + } #/ level.createfxhudelements = []; level.createfx_hudelements = 100; @@ -837,8 +841,7 @@ manipulate_createfx_ents(highlightedent,leftclick,leftheld,ctrlheld,colors,right offset = level.createfx_manipulate_offset; level.createfx_manipulate_offset = level.createfx_manipulate_offset + 1 % print_frames; - i = offset; - while(i < level.createfxent.size) + for(i = offset;i < level.createfxent.size;i = i + print_frames) { ent = level.createfxent[i]; if(!(ent.drawn)) @@ -856,19 +859,17 @@ manipulate_createfx_ents(highlightedent,leftclick,leftheld,ctrlheld,colors,right } /# - print3d(ent.v["origin"],".",colors[ent.v["type"]][colorindex],1,scale,print_frames); + print3d(ent.v["origin"],".",colors[ent.v["type"]][colorindex],1,scale,print_frames); #/ if(ent.textalpha > 0) { printright = VectorScale(right); printup = (0,0,15 * scale); /# - print3d(ent.v["origin"] + printright + printup,ent.v["fxid"],colors[ent.v["type"]][colorindex],ent.textalpha,scale,print_frames); -#/ + print3d(ent.v["origin"] + printright + printup,ent.v["fxid"],colors[ent.v["type"]][colorindex],ent.textalpha,scale,print_frames); } } - - i = Stack-Empty ? ent.v["fxid"].size * -2.93 * scale : i + print_frames; +#/ } if(IsDefined(highlightedent)) @@ -925,9 +926,9 @@ manipulate_createfx_ents(highlightedent,leftclick,leftheld,ctrlheld,colors,right printup = (0,0,15 * scale); /# print3d(highlightedent.v["origin"] + printright + printup,highlightedent.v["fxid"],colors[highlightedent.v["type"]][colorindex],highlightedent.textalpha,scale,1); -#/ } } +#/ } //Function Number: 10 @@ -1495,55 +1496,214 @@ set_anglemod_move_vector() /# ctrlheld = button_is_held("ctrl","BUTTON_LSHLDR"); players = get_players(); - newmovement = players[0] getnormalizedmovement(); - dolly_movement = players[0] getnormalizedcameramovement(); - level.selectedrotate_yaw = level.selectedrotate_yaw - 1; - level.selectedrotate_yaw = level.selectedrotate_yaw + 1; - level.selectedrotate_yaw = 0; - level.selectedrotate_yaw = level.selectedrotate_yaw + 0.1; - level.selectedrotate_yaw = 0; - level.selectedrotate_yaw = level.selectedrotate_yaw - 0.1; - level.selectedrotate_yaw = 0; - level.selectedrotate_pitch = level.selectedrotate_pitch + 1; - level.selectedrotate_pitch = level.selectedrotate_pitch - 1; - level.selectedrotate_pitch = 0; - level.selectedrotate_pitch = level.selectedrotate_pitch + 0.1; - level.selectedrotate_pitch = 0; - level.selectedrotate_pitch = level.selectedrotate_pitch - 0.1; - level.selectedrotate_pitch = 0; - level.selectedrotate_roll = 0; - level.selectedrotate_roll = level.selectedrotate_roll + 0.1; - level.selectedrotate_roll = 0; - level.selectedrotate_roll = level.selectedrotate_roll - 0.1; - level.selectedrotate_roll = 0; - level.selectedrotate_pitch = 0; - level.selectedrotate_pitch = 0.1; - wait(0.05); - level.selectedrotate_pitch = level.selectedrotate_pitch + 1; - level.selectedrotate_pitch = 0; - level.selectedrotate_pitch = -1 * 0.1; - wait(0.05); - level.selectedrotate_pitch = level.selectedrotate_pitch - 1; - level.selectedrotate_pitch = 0; - level.selectedrotate_yaw = 0; - level.selectedrotate_yaw = 0.1; - wait(0.05); - level.selectedrotate_yaw = level.selectedrotate_yaw + 1; - level.selectedrotate_yaw = 0; - level.selectedrotate_yaw = -1 * 0.1; - wait(0.05); - level.selectedrotate_yaw = level.selectedrotate_yaw - 1; - level.selectedrotate_yaw = 0; - level.selectedrotate_roll = 0; - level.selectedrotate_roll = 0.1; - wait(0.05); - level.selectedrotate_roll = level.selectedrotate_roll + 1; - level.selectedrotate_roll = 0; - level.selectedrotate_roll = -1 * 0.1; - wait(0.05); - level.selectedrotate_roll = level.selectedrotate_roll - 1; - level.selectedrotate_roll = 0; -Stack-Empty ? Stack-Empty : (Stack-Empty ? Stack-Empty : ((Stack-Empty ? Stack-Empty : ((Stack-Empty ? Stack-Empty : (((Stack-Empty ? Stack-Empty : ((Stack-Empty ? Stack-Empty : ((level.is_camera_on == 1) ? newmovement[1] <= -0.3 : ((newmovement[1] >= 0.3) ? buttondown("kp_leftarrow","DPAD_LEFT") : ((level.selectedrotate_yaw < 0) ? buttondown("kp_rightarrow","DPAD_RIGHT") : level.selectedrotate_yaw > 0)))) ? dolly_movement[0] <= -0.2 : ((dolly_movement[0] >= 0.2) ? buttondown("kp_uparrow","DPAD_UP") : ((level.selectedrotate_pitch < 0) ? buttondown("kp_downarrow","DPAD_DOWN") : level.selectedrotate_pitch > 0)))) ? buttondown("BUTTON_Y") : ((level.selectedrotate_roll < 0) ? buttondown("BUTTON_B") : level.selectedrotate_roll > 0)) ? ((buttondown("kp_uparrow","DPAD_UP")) ? level.selectedrotate_pitch < 0 : ctrlheld) : ((buttondown("kp_downarrow","DPAD_DOWN")) ? level.selectedrotate_pitch > 0 : ctrlheld))) ? ((buttondown("kp_leftarrow","DPAD_LEFT")) ? level.selectedrotate_yaw < 0 : ctrlheld) : ((buttondown("kp_rightarrow","DPAD_RIGHT")) ? level.selectedrotate_yaw > 0 : ctrlheld))) ? ((buttondown("BUTTON_Y")) ? level.selectedrotate_roll < 0 : ctrlheld) : ((buttondown("BUTTON_B")) ? level.selectedrotate_roll > 0 : ctrlheld))) + if(level.is_camera_on == 1) + { + newmovement = players[0] getnormalizedmovement(); + dolly_movement = players[0] getnormalizedcameramovement(); + if(newmovement[1] <= -0.3) + { + level.selectedrotate_yaw = level.selectedrotate_yaw - 1; + } + else if(newmovement[1] >= 0.3) + { + level.selectedrotate_yaw = level.selectedrotate_yaw + 1; + } + else if(buttondown("kp_leftarrow","DPAD_LEFT")) + { + if(level.selectedrotate_yaw < 0) + { + level.selectedrotate_yaw = 0; + } + + level.selectedrotate_yaw = level.selectedrotate_yaw + 0.1; + } + else if(buttondown("kp_rightarrow","DPAD_RIGHT")) + { + if(level.selectedrotate_yaw > 0) + { + level.selectedrotate_yaw = 0; + } + + level.selectedrotate_yaw = level.selectedrotate_yaw - 0.1; + } + else + { + level.selectedrotate_yaw = 0; + } + + if(dolly_movement[0] <= -0.2) + { + level.selectedrotate_pitch = level.selectedrotate_pitch + 1; + } + else if(dolly_movement[0] >= 0.2) + { + level.selectedrotate_pitch = level.selectedrotate_pitch - 1; + } + else if(buttondown("kp_uparrow","DPAD_UP")) + { + if(level.selectedrotate_pitch < 0) + { + level.selectedrotate_pitch = 0; + } + + level.selectedrotate_pitch = level.selectedrotate_pitch + 0.1; + } + else if(buttondown("kp_downarrow","DPAD_DOWN")) + { + if(level.selectedrotate_pitch > 0) + { + level.selectedrotate_pitch = 0; + } + + level.selectedrotate_pitch = level.selectedrotate_pitch - 0.1; + } + else + { + level.selectedrotate_pitch = 0; + } + + if(buttondown("BUTTON_Y")) + { + if(level.selectedrotate_roll < 0) + { + level.selectedrotate_roll = 0; + } + + level.selectedrotate_roll = level.selectedrotate_roll + 0.1; + } + else if(buttondown("BUTTON_B")) + { + if(level.selectedrotate_roll > 0) + { + level.selectedrotate_roll = 0; + } + + level.selectedrotate_roll = level.selectedrotate_roll - 0.1; + } + else + { + level.selectedrotate_roll = 0; + } + } + else + { + if(buttondown("kp_uparrow","DPAD_UP")) + { + if(level.selectedrotate_pitch < 0) + { + level.selectedrotate_pitch = 0; + } + + if(ctrlheld) + { + level.selectedrotate_pitch = 0.1; + wait(0.05); + } + else + { + level.selectedrotate_pitch = level.selectedrotate_pitch + 1; + } + } + else if(buttondown("kp_downarrow","DPAD_DOWN")) + { + if(level.selectedrotate_pitch > 0) + { + level.selectedrotate_pitch = 0; + } + + if(ctrlheld) + { + level.selectedrotate_pitch = -1 * 0.1; + wait(0.05); + } + else + { + level.selectedrotate_pitch = level.selectedrotate_pitch - 1; + } + } + else + { + level.selectedrotate_pitch = 0; + } + + if(buttondown("kp_leftarrow","DPAD_LEFT")) + { + if(level.selectedrotate_yaw < 0) + { + level.selectedrotate_yaw = 0; + } + + if(ctrlheld) + { + level.selectedrotate_yaw = 0.1; + wait(0.05); + } + else + { + level.selectedrotate_yaw = level.selectedrotate_yaw + 1; + } + } + else if(buttondown("kp_rightarrow","DPAD_RIGHT")) + { + if(level.selectedrotate_yaw > 0) + { + level.selectedrotate_yaw = 0; + } + + if(ctrlheld) + { + level.selectedrotate_yaw = -1 * 0.1; + wait(0.05); + } + else + { + level.selectedrotate_yaw = level.selectedrotate_yaw - 1; + } + } + else + { + level.selectedrotate_yaw = 0; + } + + if(buttondown("BUTTON_Y")) + { + if(level.selectedrotate_roll < 0) + { + level.selectedrotate_roll = 0; + } + + if(ctrlheld) + { + level.selectedrotate_roll = 0.1; + wait(0.05); + } + else + { + level.selectedrotate_roll = level.selectedrotate_roll + 1; + } + } + else if(buttondown("BUTTON_B")) + { + if(level.selectedrotate_roll > 0) + { + level.selectedrotate_roll = 0; + } + + if(ctrlheld) + { + level.selectedrotate_roll = -1 * 0.1; + wait(0.05); + } + else + { + level.selectedrotate_roll = level.selectedrotate_roll - 1; + } + } + else + { + level.selectedrotate_roll = 0; + } + } #/ } @@ -1551,9 +1711,12 @@ Stack-Empty ? Stack-Empty : (Stack-Empty ? Stack-Empty : ((Stack-Empty ? Stack-E cfxprintln(file,string) { /# - return; + if(file == -1) + { + return; + } + fprintln(file,string); -file == -1 #/ } @@ -1582,92 +1745,170 @@ generate_fx_log(type,autosave) { /# autosave = IsDefined(autosave); - filename = level.cfx_server_scriptdata + level.script + "_fx.gsc"; - filename = level.cfx_server_scriptdata + "backup.gsc"; - call_loop = level.cfx_server_loop; - call_oneshot = level.cfx_server_oneshot; - call_exploder = level.cfx_server_exploder; - call_loopsound = level.cfx_server_loopsound; - filename = level.cfx_client_scriptdata + level.script + "_fx.csc"; - filename = level.cfx_client_scriptdata + "backup.csc"; - call_loop = level.cfx_client_loop; - call_oneshot = level.cfx_client_oneshot; - call_exploder = level.cfx_client_exploder; - call_loopsound = level.cfx_client_loopsound; - println("^1Error: Improper type in generate_fx_log()"); - return; - file = openfile(filename,"write"); - level.write_error = filename; - return 1; - return 2; - return 3; - cfxprintln(file,"//_createfx generated. Do not touch!!"); - cfxprintln(file,"main()"); - cfxprintln(file,"{"); - p = 0; - for(;;) + if(type == "server") { - ent = level.createfxent[p]; - origin = []; - angles = []; - i = 0; - for(;;) + if(!(autosave)) { - origin[i] = ent.v["origin"][i]; - angles[i] = ent.v["angles"][i]; - origin[i] = 0; - angles[i] = 0; - i++; + filename = level.cfx_server_scriptdata + level.script + "_fx.gsc"; } - ent.v["origin"] = (origin[0],origin[1],origin[2]); - ent.v["angles"] = (angles[0],angles[1],angles[2]); - p++; + else + { + filename = level.cfx_server_scriptdata + "backup.gsc"; + } + + call_loop = level.cfx_server_loop; + call_oneshot = level.cfx_server_oneshot; + call_exploder = level.cfx_server_exploder; + call_loopsound = level.cfx_server_loopsound; } - println(" *** CREATING EFFECT, COPY THESE LINES TO ",level.script,"_fx.gsc *** "); - cfxprintln(file,"// CreateFX entities placed: " + level.createfxent.size - level.non_fx_ents); - breather = 0; - breather_pause = 1; - breather_pause = 5; - i = 0; - for(;;) + else if(type == "client") { - e = level.createfxent[i]; -/# - assert(IsDefined(e.v["type"]),"effect at origin " + e.v["origin"] + " has no type"); -#/ - output_name = "\t"; - output_props = "\t"; - ent_type = e.v["type"]; - output_name = output_name + "ent = " + call_loop + "( \" + e.v["fxid"] + "\" );"; - output_name = output_name + "ent = " + call_oneshot + "( \" + e.v["fxid"] + "\" );"; - output_name = output_name + "ent = " + call_exploder + "( \" + e.v["fxid"] + "\" );"; - output_name = output_name + "ent = " + call_loopsound + "();"; - output_props = output_props + get_fx_options(e); - cfxprintln(file,output_name); - cfxprintln(file,output_props); - cfxprintln(file,"\t"); - breather++; - wait(0.05); - breather = 0; - i++; + if(!(autosave)) + { + filename = level.cfx_client_scriptdata + level.script + "_fx.csc"; + } + else + { + filename = level.cfx_client_scriptdata + "backup.csc"; + } + + call_loop = level.cfx_client_loop; + call_oneshot = level.cfx_client_oneshot; + call_exploder = level.cfx_client_exploder; + call_loopsound = level.cfx_client_loopsound; } - script_gen_dump_addline(level.cfx_server_scriptgendump,level.script + "_fx"); - [[ level.cfx_func_script_gen_dump ]](); - cfxprintln(file,"}"); - saved = closefile(file); + else + { + println("^1Error: Improper type in generate_fx_log()"); + return; + } + + file = openfile(filename,"write"); + if(file == -1) + { + level.write_error = filename; + if(type == "server") + { + return 1; + } + else if(type == "client") + { + return 2; + } + else + { + return 3; + } + } + else + { + cfxprintln(file,"//_createfx generated. Do not touch!!"); + cfxprintln(file,"main()"); + cfxprintln(file,"{"); + for(p = 0;p < level.createfxent.size;p++) + { + ent = level.createfxent[p]; + origin = []; + angles = []; + for(i = 0;i < 3;i++) + { + origin[i] = ent.v["origin"][i]; + angles[i] = ent.v["angles"][i]; + if(origin[i] < 0.1 && origin[i] > 0.1 * -1) + { + origin[i] = 0; + } + + if(angles[i] < 0.1 && angles[i] > 0.1 * -1) + { + angles[i] = 0; + } + } + + ent.v["origin"] = (origin[0],origin[1],origin[2]); + ent.v["angles"] = (angles[0],angles[1],angles[2]); + } + + if(!(autosave)) + { + println(" *** CREATING EFFECT, COPY THESE LINES TO ",level.script,"_fx.gsc *** "); + } + + cfxprintln(file,"// CreateFX entities placed: " + level.createfxent.size - level.non_fx_ents); + breather = 0; + if(autosave) + { + breather_pause = 1; + } + else + { + breather_pause = 5; + } + + for(i = 0;i < level.createfxent.size;i++) + { + e = level.createfxent[i]; /# - assert(saved == 1,"File not saved (see above message?): " + filename); + assert(IsDefined(e.v["type"]),"effect at origin " + e.v["origin"] + " has no type"); #/ - println("CreateFX entities placed: " + level.createfxent.size - level.non_fx_ents); - return 0; -(e.v["fxid"] == "No FX") ? (ent_type == "loopfx" ? ent_type == "oneshotfx" : ((ent_type == "exploder") ? ent_type == "soundfx" : breather >= breather_pause)) : level.bscriptgened -IsDefined(e.model) -i < level.createfxent.size -(angles[i] < 0.1 && angles[i] > 0.1 * -1) ? autosave : autosave -origin[i] < 0.1 && origin[i] > 0.1 * -1 -i < 3 -p < level.createfxent.size -Stack-Empty ? (Stack-Empty ? Stack-Empty : (Stack-Empty ? Stack-Empty : ((Stack-Empty ? type == "server" : autosave) ? type == "client" : autosave))) : (file == -1 ? type == "server" : type == "client") + if(IsDefined(e.model)) + { + } + else if(e.v["fxid"] == "No FX") + { + } + else + { + output_name = "\t"; + output_props = "\t"; + ent_type = e.v["type"]; + if(ent_type == "loopfx") + { + output_name = output_name + "ent = " + call_loop + "( \" + e.v["fxid"] + "\" );"; + } + + if(ent_type == "oneshotfx") + { + output_name = output_name + "ent = " + call_oneshot + "( \" + e.v["fxid"] + "\" );"; + } + + if(ent_type == "exploder") + { + output_name = output_name + "ent = " + call_exploder + "( \" + e.v["fxid"] + "\" );"; + } + + if(ent_type == "soundfx") + { + output_name = output_name + "ent = " + call_loopsound + "();"; + } + + output_props = output_props + get_fx_options(e); + cfxprintln(file,output_name); + cfxprintln(file,output_props); + cfxprintln(file,"\t"); + breather++; + if(breather >= breather_pause) + { + wait(0.05); + breather = 0; + } + } + } + + if(level.bscriptgened) + { + script_gen_dump_addline(level.cfx_server_scriptgendump,level.script + "_fx"); + [[ level.cfx_func_script_gen_dump ]](); + } + + cfxprintln(file,"}"); + saved = closefile(file); +/# + assert(saved == 1,"File not saved (see above message?): " + filename); +#/ + println("CreateFX entities placed: " + level.createfxent.size - level.non_fx_ents); + return 0; + } #/ } @@ -2421,8 +2662,10 @@ draw_distance() maxdist = GetDvarInt(#"94DFBE78"); maxdistsqr = maxdist * maxdist; /# - println("Waiting for createfx to save..."); - flag("createfx_saving") + if(flag("createfx_saving")) + { + println("Waiting for createfx to save..."); + } #/ flag_waitopen("createfx_saving"); for(i = 0;i < level.createfxent.size;i++) @@ -2550,9 +2793,8 @@ createfx_emergency_backup() { /# println("^5#### CREATEFX EMERGENCY BACKUP END ####"); -#/ } - +#/ flag_clear("createfx_saving"); } @@ -2786,68 +3028,62 @@ print_ambient_fx_inventory() ent_list = []; fx_list_count = []; println("\n\n^2INVENTORY OF AMBIENT EFFECTS: "); - i = 0; - for(;;) + for(i = 0;i < level.createfxent.size;i++) { ent_list[i] = level.createfxent[i].v["fxid"]; - i++; } - i = 0; - for(;;) + + for(i = 0;i < fx_list.size;i++) { count = 0; - j = 0; - for(;;) + for(j = 0;j < ent_list.size;j++) { - count++; - ent_list[j] = ""; - j++; + if(fx_list[i] == ent_list[j]) + { + count++; + ent_list[j] = ""; + } } + fx_list_count[i] = count; - i++; } - i = 0; - for(;;) + + for(i = 0;i < fx_list_count.size - 1;i++) { - j = i + 1; - for(;;) + for(j = i + 1;j < fx_list_count.size;j++) { - temp_count = fx_list_count[i]; - temp_id = fx_list[i]; - fx_list_count[i] = fx_list_count[j]; - fx_list[i] = fx_list[j]; - fx_list_count[j] = temp_count; - fx_list[j] = temp_id; - j++; + if(fx_list_count[j] < fx_list_count[i]) + { + temp_count = fx_list_count[i]; + temp_id = fx_list[i]; + fx_list_count[i] = fx_list_count[j]; + fx_list[i] = fx_list[j]; + fx_list_count[j] = temp_count; + fx_list[j] = temp_id; + } } - i++; } - i = 0; - for(;;) + + for(i = 0;i < fx_list_count.size;i++) { switch(fx_list_count[i]) { case "0": print("^1"); break; + case "1": print("^3"); break; + default: break; } + print(fx_list_count[i] + "\t" + fx_list[i] + "\n"); - i++; } + print("\n"); -i < fx_list_count.size -fx_list_count[j] < fx_list_count[i] -j < fx_list_count.size -i < fx_list_count.size - 1 -fx_list[i] == ent_list[j] -j < ent_list.size -i < fx_list.size -i < level.createfxent.size #/ } @@ -2884,8 +3120,12 @@ handle_camera() level notify("new_camera"); level endon("new_camera"); movement = (0,0,0); - level.camera = spawn("script_origin",(0,0,0)); - level.camera setmodel("tag_origin"); + if(!(IsDefined(level.camera))) + { + level.camera = spawn("script_origin",(0,0,0)); + level.camera setmodel("tag_origin"); + } + players = get_players(); players[0] playerlinktodelta(level.camera,"tag_origin",1,0,0,0,0,1); players[0] disableweapons(); @@ -2901,58 +3141,116 @@ handle_camera() b_changes_z = 0; b_changes_y = 0; test_string = ""; - for(;;) + while(1) { - for(;;) + if(level.camera_snapto > 0) { - originoffset = VectorScale(level.cameravec); - temp_offset = 60 + VectorScale((0,0,-1)); - anglesoffset = VectorToAngles(temp_offset); - players = get_players(); - newmovement = players[0] getnormalizedmovement(); - dolly_movement = players[0] getnormalizedcameramovement(); - continue; - n_y_vector = n_y_vector + -0.2; - b_changes_y = 1; - n_y_vector = n_y_vector + 0.2; - b_changes_y = 1; - b_changes_y = 0; - n_x_vector = n_x_vector + -0.4; - b_changes_x = 1; - n_x_vector = n_x_vector + 0.4; - b_changes_x = 1; - b_changes_x = 0; - zoom_level = zoom_level + 30; - b_changes_z = 1; - zoom_level = zoom_level + -30; - b_changes_z = 1; - b_changes_z = 0; - newmovement = (n_x_vector,n_y_vector,newmovement[2]); - movement = (0,0,0); - movement = 1 - 0.8 + VectorScale(newmovement); - tilt = max(0,10 + movement[0] * 160); - level.cameravec = (cos(movement[1] * 180) * zoom_level,sin(movement[1] * 180) * zoom_level,tilt); - iprintln(level.cameravec[0] + " " + level.cameravec[1] + " " + level.cameravec[2]); - level.camera_prev_snapto = level.camera_snapto; - originoffset = VectorScale(level.cameravec); - temp_offset = 60 + VectorScale((0,0,-1)); - anglesoffset = VectorToAngles(temp_offset); - model = spawn("script_origin",level.current_select_ent.v["origin"]); - model setmodel("tag_origin"); - model.origin = level.current_select_ent.v["origin"]; - level.camera linkto(model,"tag_origin",level.cameravec,anglesoffset); - break; - wait(0.05); + if(level.stick_camera) + { + originoffset = VectorScale(level.cameravec); + temp_offset = 60 + VectorScale((0,0,-1)); + anglesoffset = VectorToAngles(temp_offset); + if(level.camera_prev_snapto == level.camera_snapto) + { + players = get_players(); + newmovement = players[0] getnormalizedmovement(); + dolly_movement = players[0] getnormalizedcameramovement(); + if(button_is_held("BUTTON_LTRIG") || button_is_held("BUTTON_RTRIG")) + { + continue; + } + + if(newmovement[1] <= -0.4) + { + n_y_vector = n_y_vector + -0.2; + b_changes_y = 1; + } + else if(newmovement[1] >= 0.4) + { + n_y_vector = n_y_vector + 0.2; + b_changes_y = 1; + } + else + { + b_changes_y = 0; + } + + if(newmovement[0] <= -0.4) + { + n_x_vector = n_x_vector + -0.4; + b_changes_x = 1; + } + else if(newmovement[0] >= 0.4) + { + n_x_vector = n_x_vector + 0.4; + b_changes_x = 1; + } + else + { + b_changes_x = 0; + } + + if(dolly_movement[0] <= -0.4) + { + zoom_level = zoom_level + 30; + b_changes_z = 1; + } + else if(dolly_movement[0] >= 0.4) + { + zoom_level = zoom_level + -30; + b_changes_z = 1; + } + else + { + b_changes_z = 0; + } + + if(b_changes_z || b_changes_x || b_changes_y) + { + newmovement = (n_x_vector,n_y_vector,newmovement[2]); + movement = (0,0,0); + movement = 1 - 0.8 + VectorScale(newmovement); + tilt = max(0,10 + movement[0] * 160); + level.cameravec = (cos(movement[1] * 180) * zoom_level,sin(movement[1] * 180) * zoom_level,tilt); + iprintln(level.cameravec[0] + " " + level.cameravec[1] + " " + level.cameravec[2]); + } + } + else + { + level.camera_prev_snapto = level.camera_snapto; + } + + if(IsDefined(level.current_select_ent)) + { + originoffset = VectorScale(level.cameravec); + temp_offset = 60 + VectorScale((0,0,-1)); + anglesoffset = VectorToAngles(temp_offset); + if(!(IsDefined(model))) + { + model = spawn("script_origin",level.current_select_ent.v["origin"]); + model setmodel("tag_origin"); + } + + if(model.origin != level.current_select_ent.v["origin"]) + { + model.origin = level.current_select_ent.v["origin"]; + } + + level.camera linkto(model,"tag_origin",level.cameravec,anglesoffset); + break; + } + + wait(0.05); + continue; + } + else + { + level.camera unlink(); + } } - level.camera unlink(); + wait(0.05); } -originoffset ? IsDefined(model) : model.origin != level.current_select_ent.v["origin"] --1 -IsDefined(level.current_select_ent) -(b_changes_z || b_changes_x || b_changes_y) ? 0.8 : VectorScale(movement) -1 ? level.camera_snapto > 0 : ((level.stick_camera ? -1 : ((originoffset ? level.camera_prev_snapto == level.camera_snapto : ((button_is_held("BUTTON_LTRIG") || button_is_held("BUTTON_RTRIG")) ? newmovement[1] <= -0.4 : newmovement[1] >= 0.4)) ? newmovement[0] <= -0.4 : newmovement[0] >= 0.4)) ? dolly_movement[0] <= -0.4 : dolly_movement[0] >= 0.4) -IsDefined(level.camera) #/ } diff --git a/BO2/PC/MP/maps/mp/_createfxmenu.gsc b/BO2/PC/MP/maps/mp/_createfxmenu.gsc index f746284..71863b2 100644 --- a/BO2/PC/MP/maps/mp/_createfxmenu.gsc +++ b/BO2/PC/MP/maps/mp/_createfxmenu.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 35 - * Decompile Time: 129 ms - * Timestamp: 10/27/2023 3:01:17 AM + * Decompile Time: 18 ms + * Timestamp: 10/28/2023 12:10:53 AM *******************************************************************/ #include common_scripts/utility; @@ -33,61 +33,136 @@ setmenu(name) create_fx_menu() { /# - exit_menu(); - return; - setmenu("create_oneshot"); - draw_effects_list(); - return; - setmenu("create_loopfx"); - draw_effects_list(); - return; - setmenu("create_exploder"); - draw_effects_list(); - return; - setmenu("create_loopsound"); - ent = createloopsound(); - finish_creating_entity(ent); - setmenu("none"); - return; - increment_list_offset(); - draw_effects_list(); - decrement_list_offset(); - draw_effects_list(); - menu_fx_creation(); - menu_change_selected_fx(); - display_fx_info(get_last_selected_entity()); - clear_settable_fx(); - setmenu("add_options"); - clear_fx_hudelements(); - setmenu("none"); - return; - display_fx_add_options(get_last_selected_entity()); - increment_list_offset(); - decrement_list_offset(); - increment_list_offset(); - draw_effects_list("Select effect to jump to:"); - decrement_list_offset(); - draw_effects_list("Select effect to jump to:"); - jump_to_effect(); - menu_selection(); - increment_list_offset(); - decrement_list_offset(); - clear_fx_hudelements(); - setmenu("none"); - return; - menu_fx_type(); -(button_is_clicked("a")) ? menu("add_options") : ((entities_are_selected()) ? button_is_clicked("rightarrow") : ((button_is_clicked("leftarrow")) ? menu("jump_to_effect") : ((button_is_clicked("rightarrow")) ? button_is_clicked("leftarrow") : ((menu("select_by_property")) ? button_is_clicked("rightarrow") : ((button_is_clicked("leftarrow")) ? menu("change_type") : entities_are_selected()))))) -entities_are_selected() -menu("none") -button_is_clicked("leftarrow") -button_is_clicked("rightarrow") -menu("create_oneshot") || menu("create_loopfx") || menu("create_exploder") || menu("change_fxid") -button_is_clicked("4") -button_is_clicked("3") -button_is_clicked("2") -button_is_clicked("1") -menu("creation") -button_is_clicked("escape","x") + if(button_is_clicked("escape","x")) + { + exit_menu(); + return; + } + + if(menu("creation")) + { + if(button_is_clicked("1")) + { + setmenu("create_oneshot"); + draw_effects_list(); + return; + } + + if(button_is_clicked("2")) + { + setmenu("create_loopfx"); + draw_effects_list(); + return; + } + + if(button_is_clicked("3")) + { + setmenu("create_exploder"); + draw_effects_list(); + return; + } + + if(button_is_clicked("4")) + { + setmenu("create_loopsound"); + ent = createloopsound(); + finish_creating_entity(ent); + setmenu("none"); + return; + } + } + + if(menu("create_oneshot") || menu("create_loopfx") || menu("create_exploder") || menu("change_fxid")) + { + if(button_is_clicked("rightarrow")) + { + increment_list_offset(); + draw_effects_list(); + } + + if(button_is_clicked("leftarrow")) + { + decrement_list_offset(); + draw_effects_list(); + } + + menu_fx_creation(); + } + else if(menu("none")) + { + menu_change_selected_fx(); + if(entities_are_selected()) + { + display_fx_info(get_last_selected_entity()); + if(button_is_clicked("a")) + { + clear_settable_fx(); + setmenu("add_options"); + } + } + } + else if(menu("add_options")) + { + if(!(entities_are_selected())) + { + clear_fx_hudelements(); + setmenu("none"); + return; + } + + display_fx_add_options(get_last_selected_entity()); + if(button_is_clicked("rightarrow")) + { + increment_list_offset(); + } + + if(button_is_clicked("leftarrow")) + { + decrement_list_offset(); + } + } + else if(menu("jump_to_effect")) + { + if(button_is_clicked("rightarrow")) + { + increment_list_offset(); + draw_effects_list("Select effect to jump to:"); + } + + if(button_is_clicked("leftarrow")) + { + decrement_list_offset(); + draw_effects_list("Select effect to jump to:"); + } + + jump_to_effect(); + } + else if(menu("select_by_property")) + { + menu_selection(); + if(button_is_clicked("rightarrow")) + { + increment_list_offset(); + } + + if(button_is_clicked("leftarrow")) + { + decrement_list_offset(); + } + } + else if(menu("change_type")) + { + if(!(entities_are_selected())) + { + clear_fx_hudelements(); + setmenu("none"); + return; + } + else + { + menu_fx_type(); + } + } #/ } @@ -117,46 +192,76 @@ menu_fx_creation() count = 0; picked_fx = undefined; keys = get_level_ambient_fx(); - i = level.effect_list_offset; - for(;;) + for(i = level.effect_list_offset;i < keys.size;i++) { count = count + 1; button_to_check = count; - button_to_check = 0; - picked_fx = keys[i]; - break; - i++; + if(button_to_check == 10) + { + button_to_check = 0; + } + + if(button_is_clicked(button_to_check + "") && !button_is_held("f")) + { + picked_fx = keys[i]; + break; + } + + if(count > level.effect_list_offset_max) + { + break; + } } - return; - apply_option_to_selected_fx(get_option("fxid"),picked_fx); - level.effect_list_offset = 0; - clear_fx_hudelements(); - setmenu("none"); - return; + + if(!(IsDefined(picked_fx))) + { + return; + } + + if(menu("change_fxid")) + { + apply_option_to_selected_fx(get_option("fxid"),picked_fx); + level.effect_list_offset = 0; + clear_fx_hudelements(); + setmenu("none"); + return; + } + ent = undefined; - ent = createloopeffect(picked_fx); - ent = createoneshoteffect(picked_fx); - delay_min = GetDvarInt(#"72501C7"); - delay_max = GetDvarInt(#"A6DCBA49"); - temp = delay_min; - delay_min = delay_max; - delay_max = temp; - ent.v["delay"] = randomintrange(delay_min,delay_max); - ent = createexploder(picked_fx); + if(menu("create_loopfx")) + { + ent = createloopeffect(picked_fx); + } + + if(menu("create_oneshot")) + { + ent = createoneshoteffect(picked_fx); + delay_min = GetDvarInt(#"72501C7"); + delay_max = GetDvarInt(#"A6DCBA49"); + if(delay_min > delay_max) + { + temp = delay_min; + delay_min = delay_max; + delay_max = temp; + } + + ent.v["delay"] = randomintrange(delay_min,delay_max); + } + + if(menu("create_exploder")) + { + ent = createexploder(picked_fx); + } + finish_creating_entity(ent); - store_undo_state("edit",level.selected_fx_ents); + if(level.cfx_last_action != "none") + { + store_undo_state("edit",level.selected_fx_ents); + } + store_undo_state("add",level.createfxent[level.createfxent.size - 1]); level.cfx_last_action = "none"; setmenu("none"); -level.cfx_last_action != "none" -menu("create_exploder") -delay_min > delay_max -menu("create_oneshot") -menu("create_loopfx") -menu("change_fxid") -IsDefined(picked_fx) -(button_to_check == 10) ? button_is_clicked(button_to_check + "") && !button_is_held("f") : count > level.effect_list_offset_max -i < keys.size #/ } @@ -173,7 +278,6 @@ finish_creating_entity(ent) select_last_entity("skip_undo"); move_selection_to_cursor("skip_undo"); update_selected_entities(); -ent.v["origin"] #/ } @@ -181,21 +285,33 @@ ent.v["origin"] change_effect_to_oneshot(ent) { /# - return; - ent.v["exploder"] = undefined; - ent.v["exploder_type"] = undefined; - ent.v["soundalias"] = undefined; - delay_min = GetDvarInt(#"72501C7"); - delay_max = GetDvarInt(#"A6DCBA49"); - temp = delay_min; - delay_min = delay_max; - delay_max = temp; - ent.v["delay"] = randomintrange(delay_min,delay_max); + if(ent.v["type"] == "oneshotfx") + { + return; + } + + if(ent.v["type"] == "exploder") + { + ent.v["exploder"] = undefined; + ent.v["exploder_type"] = undefined; + ent.v["soundalias"] = undefined; + } + + if(!IsDefined(ent.v["delay"]) || ent.v["delay"] == 0) + { + delay_min = GetDvarInt(#"72501C7"); + delay_max = GetDvarInt(#"A6DCBA49"); + if(delay_min > delay_max) + { + temp = delay_min; + delay_min = delay_max; + delay_max = temp; + } + + ent.v["delay"] = randomintrange(delay_min,delay_max); + } + ent.v["type"] = "oneshotfx"; -delay_min > delay_max -!IsDefined(ent.v["delay"]) || ent.v["delay"] == 0 -ent.v["type"] == "exploder" -ent.v["type"] == "oneshotfx" #/ } @@ -203,15 +319,24 @@ ent.v["type"] == "oneshotfx" change_effect_to_loop(ent) { /# - return; - ent.v["exploder"] = undefined; - ent.v["exploder_type"] = undefined; - ent.v["soundalias"] = undefined; - ent.v["delay"] = 1; + if(ent.v["type"] == "loopfx") + { + return; + } + + if(ent.v["type"] == "exploder") + { + ent.v["exploder"] = undefined; + ent.v["exploder_type"] = undefined; + ent.v["soundalias"] = undefined; + } + + if(!IsDefined(ent.v["delay"]) || ent.v["delay"] <= 0) + { + ent.v["delay"] = 1; + } + ent.v["type"] = "loopfx"; -!IsDefined(ent.v["delay"]) || ent.v["delay"] <= 0 -ent.v["type"] == "exploder" -ent.v["type"] == "loopfx" #/ } @@ -219,13 +344,19 @@ ent.v["type"] == "loopfx" change_effect_to_exploder(ent) { /# - return; + if(ent.v["type"] == "exploder") + { + return; + } + ent.v["type"] = "exploder"; - ent.v["delay"] = 0; + if(!IsDefined(ent.v["delay"]) || ent.v["delay"] < 0) + { + ent.v["delay"] = 0; + } + ent.v["exploder"] = 1; ent.v["exploder_type"] = "normal"; -!IsDefined(ent.v["delay"]) || ent.v["delay"] < 0 -ent.v["type"] == "exploder" #/ } @@ -235,26 +366,27 @@ change_ent_type(newtype) /# store_undo_state("edit",level.selected_fx_ents); level.cfx_last_action = "ent_type"; - i = 0; - for(;;) + if(newtype == "oneshotfx") { - change_effect_to_oneshot(level.selected_fx_ents[i]); - i++; + for(i = 0;i < level.selected_fx_ents.size;i++) + { + change_effect_to_oneshot(level.selected_fx_ents[i]); + } } - i = 0; - for(;;) + else if(newtype == "loopfx") { - change_effect_to_loop(level.selected_fx_ents[i]); - i++; + for(i = 0;i < level.selected_fx_ents.size;i++) + { + change_effect_to_loop(level.selected_fx_ents[i]); + } } - i = 0; - for(;;) + else if(newtype == "exploder") { - change_effect_to_exploder(level.selected_fx_ents[i]); - i++; + for(i = 0;i < level.selected_fx_ents.size;i++) + { + change_effect_to_exploder(level.selected_fx_ents[i]); + } } -(i < level.selected_fx_ents.size) ? newtype == "loopfx" : ((i < level.selected_fx_ents.size) ? newtype == "exploder" : i < level.selected_fx_ents.size) -newtype == "oneshotfx" #/ } @@ -329,23 +461,48 @@ entities_are_selected() menu_change_selected_fx() { /# - return; + if(!(level.selected_fx_ents.size)) + { + return; + } + count = 0; drawncount = 0; ent = get_last_selected_ent(); - i = 0; - for(;;) + for(i = 0;i < level.createfx_options.size;i++) { option = level.createfx_options[i]; - count++; - drawncount++; - button_to_check = drawncount; - button_to_check = 0; - prepare_option_for_change(option,drawncount); - break; - i++; + if(!(IsDefined(ent.v[option["name"]]))) + { + } + else + { + count++; + if(count < level.effect_list_offset) + { + } + else + { + drawncount++; + button_to_check = drawncount; + if(button_to_check == 10) + { + button_to_check = 0; + } + + if(button_is_clicked(button_to_check + "") && !button_is_held("f")) + { + prepare_option_for_change(option,drawncount); + break; + } + + if(drawncount > level.effect_list_offset_max) + { + break; + } + } + } } -(level.selected_fx_ents.size) ? i < level.createfx_options.size : ((IsDefined(ent.v[option["name"]])) ? count < level.effect_list_offset : ((button_to_check == 10) ? button_is_clicked(button_to_check + "") && !button_is_held("f") : drawncount > level.effect_list_offset_max)) #/ } @@ -353,17 +510,23 @@ menu_change_selected_fx() prepare_option_for_change(option,drawncount) { /# - setmenu("change_fxid"); - draw_effects_list(); - return; - setmenu("change_type"); - return; + if(option["name"] == "fxid") + { + setmenu("change_fxid"); + draw_effects_list(); + return; + } + + if(option["name"] == "type") + { + setmenu("change_type"); + return; + } + level.createfx_inputlocked = 1; set_option_index(option["name"]); setdvar("fx","nil"); level.createfxhudelements[drawncount + 1][0].color = (1,1,0); -option["name"] == "type" -option["name"] == "fxid" #/ } @@ -371,22 +534,44 @@ option["name"] == "fxid" menu_fx_option_set() { /# - return; + if(GetDvar(#"5977E3") == "nil") + { + return; + } + option = get_selected_option(); setting = undefined; - setting = GetDvar(#"5977E3"); - setting = GetDvarInt(#"5977E3"); - setting = GetDvarFloat(#"5977E3"); - setting = GetDvar(#"5977E3"); - temparray = strtok(setting," "); - setting = (float(temparray[0]),float(temparray[1]),float(temparray[2])); - clear_settable_fx(); - return; + if(option["type"] == "string") + { + setting = GetDvar(#"5977E3"); + } + + if(option["type"] == "int") + { + setting = GetDvarInt(#"5977E3"); + } + + if(option["type"] == "float") + { + setting = GetDvarFloat(#"5977E3"); + } + + if(option["type"] == "vector") + { + setting = GetDvar(#"5977E3"); + temparray = strtok(setting," "); + if(temparray.size == 3) + { + setting = (float(temparray[0]),float(temparray[1]),float(temparray[2])); + } + else + { + clear_settable_fx(); + return; + } + } + apply_option_to_selected_fx(option,setting); -(option["type"] == "float") ? option["type"] == "vector" : temparray.size == 3 -option["type"] == "int" -option["type"] == "string" -GetDvar(#"5977E3") == "nil" #/ } @@ -400,15 +585,26 @@ menu_fx_type() set_fx_hudelement(" (2) Looped"); set_fx_hudelement(" (3) Exploder"); set_fx_hudelement("(x) Exit >"); - change_ent_type("oneshotfx"); - setmenu("none"); - change_ent_type("loopfx"); - setmenu("none"); - change_ent_type("exploder"); - setmenu("none"); - update_selected_entities(); -menu("none") -Stack-Empty ? Stack-Empty : ((button_is_clicked("1") && !button_is_held("f")) ? button_is_clicked("2") && !button_is_held("f") : button_is_clicked("3") && !button_is_held("f")) + if(button_is_clicked("1") && !button_is_held("f")) + { + change_ent_type("oneshotfx"); + setmenu("none"); + } + else if(button_is_clicked("2") && !button_is_held("f")) + { + change_ent_type("loopfx"); + setmenu("none"); + } + else if(button_is_clicked("3") && !button_is_held("f")) + { + change_ent_type("exploder"); + setmenu("none"); + } + + if(menu("none")) + { + update_selected_entities(); + } #/ } @@ -421,28 +617,54 @@ menu_selection() drawncount = 0; option_number = 0; ent = level.selected_fx_ents[level.selected_fx_ents.size - 1]; - set_fx_hudelement("No ent is selected."); - i = level.effect_list_offset; - for(;;) + if(level.selected_fx_ents.size < 1) { - break; - prop_name = level.createfx_options[i]["name"]; - option_number = drawncount + 1; - level.cfx_selected_prop = prop_name; - menunone(); - level.effect_list_offset = 0; - return; - prop_desc = level.createfx_options[i]["description"]; - set_fx_hudelement(option_number + ". " + prop_desc + ": " + ent.v[prop_name]); - drawncount++; - i++; + set_fx_hudelement("No ent is selected."); } - pages = ceil(ent.v.size / level.effect_list_offset_max); - current_page = level.effect_list_offset / level.effect_list_offset_max + 1; - set_fx_hudelement("(<-) Page " + current_page + " of " + pages + " (->)"); + else + { + for(i = level.effect_list_offset;i < level.createfx_options.size;i++) + { + if(drawncount > level.effect_list_offset_max) + { + break; + } + + if(drawncount > ent.v.size) + { + break; + } + + prop_name = level.createfx_options[i]["name"]; + option_number = drawncount + 1; + if(IsDefined(ent.v[prop_name])) + { + if(button_is_clicked(option_number + "") && !button_is_held("f")) + { + level.cfx_selected_prop = prop_name; + menunone(); + level.effect_list_offset = 0; + return; + } + + prop_desc = level.createfx_options[i]["description"]; + set_fx_hudelement(option_number + ". " + prop_desc + ": " + ent.v[prop_name]); + drawncount++; + } + else + { + } + } + } + + if(drawncount > level.effect_list_offset_max) + { + pages = ceil(ent.v.size / level.effect_list_offset_max); + current_page = level.effect_list_offset / level.effect_list_offset_max + 1; + set_fx_hudelement("(<-) Page " + current_page + " of " + pages + " (->)"); + } + set_fx_hudelement("(x) Exit >"); -drawncount > level.effect_list_offset_max -Stack-Empty ? level.selected_fx_ents.size < 1 : ((i < level.createfx_options.size) ? drawncount > level.effect_list_offset_max : ((drawncount > ent.v.size) ? IsDefined(ent.v[prop_name]) : button_is_clicked(option_number + "") && !button_is_held("f"))) #/ } @@ -450,20 +672,23 @@ Stack-Empty ? level.selected_fx_ents.size < 1 : ((i < level.createfx_options.siz apply_option_to_selected_fx(option,setting) { /# - store_undo_state("edit",level.selected_fx_ents); - level.cfx_last_action = option["name"]; - i = 0; - for(;;) + if(level.cfx_last_action != option["name"]) + { + store_undo_state("edit",level.selected_fx_ents); + level.cfx_last_action = option["name"]; + } + + for(i = 0;i < level.selected_fx_ents.size;i++) { ent = level.selected_fx_ents[i]; - ent.v[option["name"]] = setting; - i++; + if(mask(option["mask"],ent.v["type"])) + { + ent.v[option["name"]] = setting; + } } + update_selected_entities(); clear_settable_fx(); -mask(option["mask"],ent.v["type"]) -i < level.selected_fx_ents.size -level.cfx_last_action != option["name"] #/ } @@ -471,14 +696,17 @@ level.cfx_last_action != option["name"] set_option_index(name) { /# - i = 0; - for(;;) + for(i = 0;i < level.createfx_options.size;i++) { - level.selected_fx_option_index = i; - return; - i++; + if(level.createfx_options[i]["name"] != name) + { + } + else + { + level.selected_fx_option_index = i; + return; + } } -Stack-Empty ? i < level.createfx_options.size : level.createfx_options[i]["name"] != name #/ } @@ -516,14 +744,13 @@ addoption(type,name,description,defaultsetting,mask) get_option(name) { /# - i = 0; - for(;;) + for(i = 0;i < level.createfx_options.size;i++) { - return level.createfx_options[i]; - i++; + if(level.createfx_options[i]["name"] == name) + { + return level.createfx_options[i]; + } } -level.createfx_options[i]["name"] == name -i < level.createfx_options.size #/ } @@ -531,34 +758,64 @@ i < level.createfx_options.size display_fx_info(ent) { /# - return; + if(!(menu("none"))) + { + return; + } + clear_fx_hudelements(); - return; + if(!(level.createfx_draw_enabled)) + { + return; + } + set_fx_hudelement("Selected: " + level.selected_fx_ents.size + " Distance: " + get_distance_from_ent(ent)); level.createfxhudelements[0][0].color = (1,1,0); set_fx_hudelement("Name: " + ent.v["fxid"]); - count = 0; - drawncount = 0; - i = 0; - for(;;) + if(entities_are_selected()) { - option = level.createfx_options[i]; - count++; - drawncount++; - set_fx_hudelement(drawncount + ". " + option["description"] + ": " + ent.v[option["name"]]); - more = 1; - break; - i++; + count = 0; + drawncount = 0; + for(i = 0;i < level.createfx_options.size;i++) + { + option = level.createfx_options[i]; + if(!(IsDefined(ent.v[option["name"]]))) + { + } + else + { + count++; + if(count < level.effect_list_offset) + { + } + else + { + drawncount++; + set_fx_hudelement(drawncount + ". " + option["description"] + ": " + ent.v[option["name"]]); + if(drawncount > level.effect_list_offset_max) + { + more = 1; + break; + } + } + } + } + + if(count > level.effect_list_offset_max) + { + pages = ceil(level.createfx_options.size / level.effect_list_offset_max); + current_page = level.effect_list_offset / level.effect_list_offset_max + 1; + set_fx_hudelement("(<-) Page " + current_page + " of " + pages + " (->)"); + } + + set_fx_hudelement("(a) Add >"); + set_fx_hudelement("(x) Exit >"); + } + else + { + set_fx_hudelement("Origin: " + ent.v["origin"]); + set_fx_hudelement("Angles: " + ent.v["angles"]); } - pages = ceil(level.createfx_options.size / level.effect_list_offset_max); - current_page = level.effect_list_offset / level.effect_list_offset_max + 1; - set_fx_hudelement("(<-) Page " + current_page + " of " + pages + " (->)"); - set_fx_hudelement("(a) Add >"); - set_fx_hudelement("(x) Exit >"); - set_fx_hudelement("Origin: " + ent.v["origin"]); - set_fx_hudelement("Angles: " + ent.v["angles"]); -(level.createfx_draw_enabled) ? ((entities_are_selected()) ? i < level.createfx_options.size : ((IsDefined(ent.v[option["name"]])) ? count < level.effect_list_offset : drawncount > level.effect_list_offset_max)) : count > level.effect_list_offset_max -menu("none") #/ } @@ -580,27 +837,58 @@ display_fx_add_options(ent) set_fx_hudelement("Angles: " + ent.v["angles"]); count = 0; drawncount = 0; - level.effect_list_offset = 0; - i = 0; - for(;;) + if(level.effect_list_offset >= level.createfx_options.size) + { + level.effect_list_offset = 0; + } + + for(i = 0;i < level.createfx_options.size;i++) { option = level.createfx_options[i]; - count++; - drawncount++; - button_to_check = drawncount; - button_to_check = 0; - add_option_to_selected_entities(option); - menunone(); - return; - set_fx_hudelement(button_to_check + ". " + option["description"]); - i++; + if(IsDefined(ent.v[option["name"]])) + { + } + else if(!(mask(option["mask"],ent.v["type"]))) + { + } + else + { + count++; + if(count < level.effect_list_offset) + { + } + else if(drawncount >= level.effect_list_offset_max) + { + } + else + { + drawncount++; + button_to_check = drawncount; + if(button_to_check == 10) + { + button_to_check = 0; + } + + if(button_is_clicked(button_to_check + "") && !button_is_held("f")) + { + add_option_to_selected_entities(option); + menunone(); + return; + } + + set_fx_hudelement(button_to_check + ". " + option["description"]); + } + } } - pages = ceil(level.createfx_options.size / level.effect_list_offset_max); - current_page = level.effect_list_offset / level.effect_list_offset_max + 1; - set_fx_hudelement("(<-) Page " + current_page + " of " + pages + " (->)"); + + if(count > level.effect_list_offset_max) + { + pages = ceil(level.createfx_options.size / level.effect_list_offset_max); + current_page = level.effect_list_offset / level.effect_list_offset_max + 1; + set_fx_hudelement("(<-) Page " + current_page + " of " + pages + " (->)"); + } + set_fx_hudelement("(x) Exit >"); -count > level.effect_list_offset_max -Stack-Empty ? level.effect_list_offset >= level.createfx_options.size : ((i < level.createfx_options.size) ? IsDefined(ent.v[option["name"]]) : ((mask(option["mask"],ent.v["type"])) ? count < level.effect_list_offset : ((drawncount >= level.effect_list_offset_max) ? button_to_check == 10 : button_is_clicked(button_to_check + "") && !button_is_held("f")))) #/ } @@ -608,15 +896,14 @@ Stack-Empty ? level.effect_list_offset >= level.createfx_options.size : ((i < le add_option_to_selected_entities(option) { /# - i = 0; - for(;;) + for(i = 0;i < level.selected_fx_ents.size;i++) { ent = level.selected_fx_ents[i]; - ent.v[option["name"]] = option["default"]; - i++; + if(mask(option["mask"],ent.v["type"])) + { + ent.v[option["name"]] = option["default"]; + } } -mask(option["mask"],ent.v["type"]) -i < level.selected_fx_ents.size #/ } @@ -635,29 +922,41 @@ draw_effects_list(title) { /# clear_fx_hudelements(); - title = "Pick an effect:"; + if(!(IsDefined(title))) + { + title = "Pick an effect:"; + } + set_fx_hudelement(title); count = 0; more = 0; keys = get_level_ambient_fx(); - level.effect_list_offset = 0; - level.effect_list_offset = int(floor(keys.size / level.effect_list_offset_max) * level.effect_list_offset_max); - i = level.effect_list_offset; - for(;;) + if(level.effect_list_offset >= keys.size) + { + level.effect_list_offset = 0; + } + else if(level.effect_list_offset < 0) + { + level.effect_list_offset = int(floor(keys.size / level.effect_list_offset_max) * level.effect_list_offset_max); + } + + for(i = level.effect_list_offset;i < keys.size;i++) { count = count + 1; set_fx_hudelement(count + ". " + keys[i]); - more = 1; - break; - i++; + if(count >= level.effect_list_offset_max) + { + more = 1; + break; + } + } + + if(keys.size > level.effect_list_offset_max) + { + pages = ceil(keys.size / level.effect_list_offset_max); + current_page = level.effect_list_offset / level.effect_list_offset_max + 1; + set_fx_hudelement("(<-) Page " + current_page + " of " + pages + " (->)"); } - pages = ceil(keys.size / level.effect_list_offset_max); - current_page = level.effect_list_offset / level.effect_list_offset_max + 1; - set_fx_hudelement("(<-) Page " + current_page + " of " + pages + " (->)"); -keys.size > level.effect_list_offset_max -count >= level.effect_list_offset_max -i < keys.size -IsDefined(title) ? level.effect_list_offset >= keys.size : level.effect_list_offset < 0 #/ } @@ -684,27 +983,47 @@ jump_to_effect() count = 0; picked_fxid = undefined; keys = get_level_ambient_fx(); - i = level.effect_list_offset; - for(;;) + for(i = level.effect_list_offset;i < keys.size;i++) { count = count + 1; button_to_check = count; - button_to_check = 0; - picked_fxid = keys[i]; - break; - i++; + if(button_to_check == 10) + { + button_to_check = 0; + } + + if(button_is_clicked(button_to_check + "") && !button_is_held("f")) + { + picked_fxid = keys[i]; + break; + } + + if(count > level.effect_list_offset_max) + { + break; + } } - return; + + if(!(IsDefined(picked_fxid))) + { + return; + } + clear_entity_selection(); ent = get_next_ent_with_same_id(-1,picked_fxid); - level.cfx_next_ent = ent; - move_player_to_next_same_effect(1); - iprintln("Effect " + picked_fxid + " has not been placed."); + if(IsDefined(ent)) + { + level.cfx_next_ent = ent; + move_player_to_next_same_effect(1); + } + else + { + iprintln("Effect " + picked_fxid + " has not been placed."); + } + level.effect_list_offset = 0; clear_fx_hudelements(); setmenu("none"); -((button_to_check == 10) ? button_is_clicked(button_to_check + "") && !button_is_held("f") : count > level.effect_list_offset_max) ? IsDefined(picked_fxid) : IsDefined(ent) -i < keys.size #/ } @@ -712,22 +1031,27 @@ i < keys.size get_level_ambient_fx() { /# - keys = getarraykeys(level._effect); - level._effect_keys = []; - k = 0; - i = 0; - for(;;) + if(!(IsDefined(level._effect_keys))) { - level._effect_keys[k] = keys[i]; - k++; - i++; + keys = getarraykeys(level._effect); + level._effect_keys = []; + k = 0; + for(i = 0;i < keys.size;i++) + { + if(issubstr(keys[i],"fx_")) + { + level._effect_keys[k] = keys[i]; + k++; + } + } + + if(level._effect_keys.size == 0) + { + level._effect_keys = keys; + } } - level._effect_keys = keys; + return level._effect_keys; -level._effect_keys.size == 0 -issubstr(keys[i],"fx_") -i < keys.size -IsDefined(level._effect_keys) #/ } diff --git a/BO2/PC/MP/maps/mp/_createfxundo.gsc b/BO2/PC/MP/maps/mp/_createfxundo.gsc index ccbbdf4..7037614 100644 --- a/BO2/PC/MP/maps/mp/_createfxundo.gsc +++ b/BO2/PC/MP/maps/mp/_createfxundo.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 20 - * Decompile Time: 88 ms - * Timestamp: 10/27/2023 3:01:18 AM + * Decompile Time: 4 ms + * Timestamp: 10/28/2023 12:10:53 AM *******************************************************************/ #include common_scripts/utility; @@ -509,16 +509,26 @@ array_drop(array) debug_print_ent_array(array,name) { /# - println("Printing out " + name); - println("Printing out some array"); - i = 0; - for(;;) + if(IsDefined(name)) { - println("" + i + ": deleted effect"); - println("" + i + ": uniqueid: " + array[i].uniqueid + " fxid: " + array[i].v["fxid"]); - i++; + println("Printing out " + name); + } + else + { + println("Printing out some array"); + } + + for(i = 0;i < array.size;i++) + { + if(!(IsDefined(array[i]))) + { + println("" + i + ": deleted effect"); + } + else + { + println("" + i + ": uniqueid: " + array[i].uniqueid + " fxid: " + array[i].v["fxid"]); + } } -(Stack-Empty ? Stack-Empty : IsDefined(name)) ? i < array.size : IsDefined(array[i]) #/ } @@ -527,20 +537,41 @@ debug_print_latest_state(type) { /# println("^3Saving " + type + " state"); - println("There are no undo states."); - return; - state = level.cfx_undo_states[level.cfx_undo_states.size - 1]; - size = level.cfx_undo_states.size - 1; - println("There are no redo states."); - return; - state = level.cfx_redo_states[level.cfx_redo_states.size - 1]; - size = level.cfx_redo_states.size - 1; - println("There is no limbo state."); - return; - state = level.cfx_limbo_state; - size = 0; + if(type == "undo") + { + if(!(IsDefined(level.cfx_undo_states[level.cfx_undo_states.size - 1]))) + { + println("There are no undo states."); + return; + } + + state = level.cfx_undo_states[level.cfx_undo_states.size - 1]; + size = level.cfx_undo_states.size - 1; + } + else if(type == "redo") + { + if(!(IsDefined(level.cfx_redo_states[level.cfx_redo_states.size - 1]))) + { + println("There are no redo states."); + return; + } + + state = level.cfx_redo_states[level.cfx_redo_states.size - 1]; + size = level.cfx_redo_states.size - 1; + } + else + { + if(!(IsDefined(level.cfx_limbo_state))) + { + println("There is no limbo state."); + return; + } + + state = level.cfx_limbo_state; + size = 0; + } + println("State " + size + " - " + state.operation + ": " + state.last_action); debug_print_ent_array(state.ent_array,"save state ent_array"); -type == "undo" ? IsDefined(level.cfx_undo_states[level.cfx_undo_states.size - 1]) : (type == "redo" ? IsDefined(level.cfx_redo_states[level.cfx_redo_states.size - 1]) : IsDefined(level.cfx_limbo_state)) #/ } \ No newline at end of file diff --git a/BO2/PC/MP/maps/mp/_decoy.gsc b/BO2/PC/MP/maps/mp/_decoy.gsc index 168e0a3..3a740ef 100644 --- a/BO2/PC/MP/maps/mp/_decoy.gsc +++ b/BO2/PC/MP/maps/mp/_decoy.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 23 - * Decompile Time: 87 ms - * Timestamp: 10/27/2023 3:01:19 AM + * Decompile Time: 10 ms + * Timestamp: 10/28/2023 12:10:53 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/PC/MP/maps/mp/_demo.gsc b/BO2/PC/MP/maps/mp/_demo.gsc index 21031c9..daa1b19 100644 --- a/BO2/PC/MP/maps/mp/_demo.gsc +++ b/BO2/PC/MP/maps/mp/_demo.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 3 - * Decompile Time: 18 ms - * Timestamp: 10/27/2023 3:01:19 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:10:54 AM *******************************************************************/ //Function Number: 1 diff --git a/BO2/PC/MP/maps/mp/_destructible.gsc b/BO2/PC/MP/maps/mp/_destructible.gsc index d84227a..0394655 100644 --- a/BO2/PC/MP/maps/mp/_destructible.gsc +++ b/BO2/PC/MP/maps/mp/_destructible.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 21 - * Decompile Time: 85 ms - * Timestamp: 10/27/2023 3:01:20 AM + * Decompile Time: 5 ms + * Timestamp: 10/28/2023 12:10:54 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/PC/MP/maps/mp/_development_dvars.gsc b/BO2/PC/MP/maps/mp/_development_dvars.gsc index f05d177..4735352 100644 --- a/BO2/PC/MP/maps/mp/_development_dvars.gsc +++ b/BO2/PC/MP/maps/mp/_development_dvars.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 1 - * Decompile Time: 1 ms - * Timestamp: 10/27/2023 3:01:20 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:10:54 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/PC/MP/maps/mp/_empgrenade.gsc b/BO2/PC/MP/maps/mp/_empgrenade.gsc index b130a8e..3222192 100644 --- a/BO2/PC/MP/maps/mp/_empgrenade.gsc +++ b/BO2/PC/MP/maps/mp/_empgrenade.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 10 - * Decompile Time: 22 ms - * Timestamp: 10/27/2023 3:01:20 AM + * Decompile Time: 1 ms + * Timestamp: 10/28/2023 12:10:55 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/PC/MP/maps/mp/_entityheadicons.gsc b/BO2/PC/MP/maps/mp/_entityheadicons.gsc index 3f6325c..43122d8 100644 --- a/BO2/PC/MP/maps/mp/_entityheadicons.gsc +++ b/BO2/PC/MP/maps/mp/_entityheadicons.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 7 - * Decompile Time: 24 ms - * Timestamp: 10/27/2023 3:01:21 AM + * Decompile Time: 1 ms + * Timestamp: 10/28/2023 12:10:55 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/PC/MP/maps/mp/_explosive_bolt.gsc b/BO2/PC/MP/maps/mp/_explosive_bolt.gsc index 8d29987..5c8c0d8 100644 --- a/BO2/PC/MP/maps/mp/_explosive_bolt.gsc +++ b/BO2/PC/MP/maps/mp/_explosive_bolt.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 2 - * Decompile Time: 3 ms - * Timestamp: 10/27/2023 3:01:21 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:10:55 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/PC/MP/maps/mp/_flashgrenades.gsc b/BO2/PC/MP/maps/mp/_flashgrenades.gsc index 46d7467..11172ea 100644 --- a/BO2/PC/MP/maps/mp/_flashgrenades.gsc +++ b/BO2/PC/MP/maps/mp/_flashgrenades.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 10 - * Decompile Time: 26 ms - * Timestamp: 10/27/2023 3:01:21 AM + * Decompile Time: 1 ms + * Timestamp: 10/28/2023 12:10:55 AM *******************************************************************/ #include maps/mp/_utility; diff --git a/BO2/PC/MP/maps/mp/_fx.gsc b/BO2/PC/MP/maps/mp/_fx.gsc index 35c1038..c995a5c 100644 --- a/BO2/PC/MP/maps/mp/_fx.gsc +++ b/BO2/PC/MP/maps/mp/_fx.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 31 - * Decompile Time: 85 ms - * Timestamp: 10/27/2023 3:01:22 AM + * Decompile Time: 8 ms + * Timestamp: 10/28/2023 12:10:56 AM *******************************************************************/ #include common_scripts/utility; @@ -16,15 +16,17 @@ print_org(fxcommand,fxid,fxpos,waittime) { /# - println("{"); - println("\"origin\" \" + fxpos[0] + " " + fxpos[1] + " " + fxpos[2] + "\"); - println("\"classname\" \"script_model\"); - println("\"model\" \"fx\"); - println("\"script_fxcommand\" \" + fxcommand + "\"); - println("\"script_fxid\" \" + fxid + "\"); - println("\"script_delay\" \" + waittime + "\"); - println("}"); -GetDvar(#"F49A52C") == "1" + if(GetDvar(#"F49A52C") == "1") + { + println("{"); + println("\"origin\" \" + fxpos[0] + " " + fxpos[1] + " " + fxpos[2] + "\"); + println("\"classname\" \"script_model\"); + println("\"model\" \"fx\"); + println("\"script_fxcommand\" \" + fxcommand + "\"); + println("\"script_fxid\" \" + fxid + "\"); + println("\"script_delay\" \" + waittime + "\"); + println("}"); + } #/ } @@ -415,18 +417,36 @@ setup_fx() script_print_fx() { /# - println("Effect at origin ",self.origin," doesn\'t have script_fxid/script_fxcommand/script_delay"); - self delete(); - return; - org = getent(self.target,"targetname").origin; - org = "undefined"; - println("mapsmp_fx::OneShotfx(\" + self.script_fxid + "\", " + self.origin + ", " + self.script_delay + ", " + org + ");"); - println("mapsmp_fx::LoopFx(\" + self.script_fxid + "\", " + self.origin + ", " + self.script_delay + ", " + org + ");"); - println("mapsmp_fx::LoopSound(\" + self.script_fxid + "\", " + self.origin + ", " + self.script_delay + ", " + org + ");"); -self.script_fxcommand == "loopsound" -self.script_fxcommand == "loopfx" -self.script_fxcommand == "OneShotfx" -Stack-Empty ? !IsDefined(self.script_fxid) || !IsDefined(self.script_fxcommand) || !IsDefined(self.script_delay) : IsDefined(self.target) + if(!IsDefined(self.script_fxid) || !IsDefined(self.script_fxcommand) || !IsDefined(self.script_delay)) + { + println("Effect at origin ",self.origin," doesn\'t have script_fxid/script_fxcommand/script_delay"); + self delete(); + return; + } + + if(IsDefined(self.target)) + { + org = getent(self.target,"targetname").origin; + } + else + { + org = "undefined"; + } + + if(self.script_fxcommand == "OneShotfx") + { + println("mapsmp_fx::OneShotfx(\" + self.script_fxid + "\", " + self.origin + ", " + self.script_delay + ", " + org + ");"); + } + + if(self.script_fxcommand == "loopfx") + { + println("mapsmp_fx::LoopFx(\" + self.script_fxid + "\", " + self.origin + ", " + self.script_delay + ", " + org + ");"); + } + + if(self.script_fxcommand == "loopsound") + { + println("mapsmp_fx::LoopSound(\" + self.script_fxid + "\", " + self.origin + ", " + self.script_delay + ", " + org + ");"); + } #/ } diff --git a/BO2/PC/MP/maps/mp/_fxanim.gsc b/BO2/PC/MP/maps/mp/_fxanim.gsc index d32e8a2..f56760c 100644 --- a/BO2/PC/MP/maps/mp/_fxanim.gsc +++ b/BO2/PC/MP/maps/mp/_fxanim.gsc @@ -5,7 +5,7 @@ * Platform: PC * Function Count: 1 * Decompile Time: 0 ms - * Timestamp: 10/27/2023 3:01:22 AM + * Timestamp: 10/28/2023 12:10:56 AM *******************************************************************/ #using_animtree( "fxanim_props" ); diff --git a/BO2/PC/MP/maps/mp/_gameadvertisement.gsc b/BO2/PC/MP/maps/mp/_gameadvertisement.gsc index 61cc01e..f253888 100644 --- a/BO2/PC/MP/maps/mp/_gameadvertisement.gsc +++ b/BO2/PC/MP/maps/mp/_gameadvertisement.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 22 - * Decompile Time: 74 ms - * Timestamp: 10/27/2023 3:01:23 AM + * Decompile Time: 3 ms + * Timestamp: 10/28/2023 12:10:56 AM *******************************************************************/ #include maps/mp/_utility; @@ -134,9 +134,8 @@ teamscorelimitcheck(rulescorepercent) /# updatedebughud(3,"Score Percentage Left: ",int(minscorepercentageleft)); -#/ } - +#/ return 1; } @@ -442,14 +441,17 @@ updatedebughud(hudindex,text,value) level.sessionadverthud_1a_text = text; level.sessionadverthud_1b_text = value; break; + case "2": level.sessionadverthud_2a_text = text; level.sessionadverthud_2b_text = value; break; + case "3": level.sessionadverthud_3a_text = text; level.sessionadverthud_3b_text = value; break; + case "4": level.sessionadverthud_4a_text = text; level.sessionadverthud_4b_text = value; @@ -481,73 +483,98 @@ sessionadvertismentupdatedebughud() level.sessionadverthud_3b_text = ""; level.sessionadverthud_4a_text = ""; level.sessionadverthud_4b_text = ""; - for(;;) + while(1) { - for(;;) + wait(1); + showdebughud = getdvarintdefault("sessionAdvertShowDebugHud",0); + level.sessionadverthud_0_text = "Session is advertised"; + if(level.sessionadvertstatus == 0) { - wait(1); - showdebughud = getdvarintdefault("sessionAdvertShowDebugHud",0); - level.sessionadverthud_0_text = "Session is advertised"; level.sessionadverthud_0_text = "Session is not advertised"; - host = gethostplayer(); } - sessionadverthud_0 = host sessionadvertismentcreatedebughud(0,0); - sessionadverthud_1a = host sessionadvertismentcreatedebughud(1,-20); - sessionadverthud_1b = host sessionadvertismentcreatedebughud(1,0); - sessionadverthud_2a = host sessionadvertismentcreatedebughud(2,-20); - sessionadverthud_2b = host sessionadvertismentcreatedebughud(2,0); - sessionadverthud_3a = host sessionadvertismentcreatedebughud(3,-20); - sessionadverthud_3b = host sessionadvertismentcreatedebughud(3,0); - sessionadverthud_4a = host sessionadvertismentcreatedebughud(4,-20); - sessionadverthud_4b = host sessionadvertismentcreatedebughud(4,0); - sessionadverthud_1a.color = VectorScale((0,1,0)); - sessionadverthud_1b.color = VectorScale((0,1,0)); - sessionadverthud_2a.color = VectorScale((0,1,0)); - sessionadverthud_2b.color = VectorScale((0,1,0)); - sessionadverthud_0 destroy(); - sessionadverthud_1a destroy(); - sessionadverthud_1b destroy(); - sessionadverthud_2a destroy(); - sessionadverthud_2b destroy(); - sessionadverthud_3a destroy(); - sessionadverthud_3b destroy(); - sessionadverthud_4a destroy(); - sessionadverthud_4b destroy(); - sessionadverthud_0 = undefined; - sessionadverthud_1a = undefined; - sessionadverthud_1b = undefined; - sessionadverthud_2a = undefined; - sessionadverthud_2b = undefined; - sessionadverthud_3a = undefined; - sessionadverthud_3b = undefined; - sessionadverthud_4a = undefined; - sessionadverthud_4b = undefined; - continue; - sessionadverthud_0.color = (1,1,1); - sessionadverthud_0.color = VectorScale((1,0,0)); - sessionadverthud_0 settext(level.sessionadverthud_0_text); - sessionadverthud_1a settext(level.sessionadverthud_1a_text); - sessionadverthud_1b setvalue(level.sessionadverthud_1b_text); - sessionadverthud_2a settext(level.sessionadverthud_2a_text); - sessionadverthud_2b setvalue(level.sessionadverthud_2b_text); - sessionadverthud_3a settext(level.sessionadverthud_3a_text); - sessionadverthud_3b setvalue(level.sessionadverthud_3b_text); - sessionadverthud_4a settext(level.sessionadverthud_4a_text); - sessionadverthud_4b setvalue(level.sessionadverthud_4b_text); + + if(!IsDefined(sessionadverthud_0) && showdebughud != 0) + { + host = gethostplayer(); + if(!(IsDefined(host))) + { + continue; + } + + sessionadverthud_0 = host sessionadvertismentcreatedebughud(0,0); + sessionadverthud_1a = host sessionadvertismentcreatedebughud(1,-20); + sessionadverthud_1b = host sessionadvertismentcreatedebughud(1,0); + sessionadverthud_2a = host sessionadvertismentcreatedebughud(2,-20); + sessionadverthud_2b = host sessionadvertismentcreatedebughud(2,0); + sessionadverthud_3a = host sessionadvertismentcreatedebughud(3,-20); + sessionadverthud_3b = host sessionadvertismentcreatedebughud(3,0); + sessionadverthud_4a = host sessionadvertismentcreatedebughud(4,-20); + sessionadverthud_4b = host sessionadvertismentcreatedebughud(4,0); + sessionadverthud_1a.color = VectorScale((0,1,0)); + sessionadverthud_1b.color = VectorScale((0,1,0)); + sessionadverthud_2a.color = VectorScale((0,1,0)); + sessionadverthud_2b.color = VectorScale((0,1,0)); + } + + if(IsDefined(sessionadverthud_0)) + { + if(showdebughud == 0) + { + sessionadverthud_0 destroy(); + sessionadverthud_1a destroy(); + sessionadverthud_1b destroy(); + sessionadverthud_2a destroy(); + sessionadverthud_2b destroy(); + sessionadverthud_3a destroy(); + sessionadverthud_3b destroy(); + sessionadverthud_4a destroy(); + sessionadverthud_4b destroy(); + sessionadverthud_0 = undefined; + sessionadverthud_1a = undefined; + sessionadverthud_1b = undefined; + sessionadverthud_2a = undefined; + sessionadverthud_2b = undefined; + sessionadverthud_3a = undefined; + sessionadverthud_3b = undefined; + sessionadverthud_4a = undefined; + sessionadverthud_4b = undefined; + continue; + } + + if(level.sessionadvertstatus == 1) + { + sessionadverthud_0.color = (1,1,1); + } + else + { + sessionadverthud_0.color = VectorScale((1,0,0)); + } + + sessionadverthud_0 settext(level.sessionadverthud_0_text); + if(level.sessionadverthud_1a_text != "") + { + sessionadverthud_1a settext(level.sessionadverthud_1a_text); + sessionadverthud_1b setvalue(level.sessionadverthud_1b_text); + } + + if(level.sessionadverthud_2a_text != "") + { + sessionadverthud_2a settext(level.sessionadverthud_2a_text); + sessionadverthud_2b setvalue(level.sessionadverthud_2b_text); + } + + if(level.sessionadverthud_3a_text != "") + { + sessionadverthud_3a settext(level.sessionadverthud_3a_text); + sessionadverthud_3b setvalue(level.sessionadverthud_3b_text); + } + + if(level.sessionadverthud_4a_text != "") + { + sessionadverthud_4a settext(level.sessionadverthud_4a_text); + sessionadverthud_4b setvalue(level.sessionadverthud_4b_text); + } + } } -level.sessionadverthud_4a_text != "" -level.sessionadverthud_3a_text != "" -level.sessionadverthud_2a_text != "" -level.sessionadverthud_1a_text != "" -showdebughud == 0 ? level.sessionadvertstatus == 1 : 0.9 -IsDefined(sessionadverthud_0) -0.5 -0.5 -0.5 -0.5 -IsDefined(host) -!IsDefined(sessionadverthud_0) && showdebughud != 0 -level.sessionadvertstatus == 0 -1 #/ } \ No newline at end of file diff --git a/BO2/PC/MP/maps/mp/_gamerep.gsc b/BO2/PC/MP/maps/mp/_gamerep.gsc index 82109cc..f264efc 100644 --- a/BO2/PC/MP/maps/mp/_gamerep.gsc +++ b/BO2/PC/MP/maps/mp/_gamerep.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 16 - * Decompile Time: 31 ms - * Timestamp: 10/27/2023 3:01:23 AM + * Decompile Time: 19 ms + * Timestamp: 10/28/2023 12:10:57 AM *******************************************************************/ #include maps/mp/_utility; diff --git a/BO2/PC/MP/maps/mp/_global_fx.gsc b/BO2/PC/MP/maps/mp/_global_fx.gsc index f719e79..95a87e1 100644 --- a/BO2/PC/MP/maps/mp/_global_fx.gsc +++ b/BO2/PC/MP/maps/mp/_global_fx.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 3 - * Decompile Time: 20 ms - * Timestamp: 10/27/2023 3:01:24 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:10:57 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/PC/MP/maps/mp/_hacker_tool.gsc b/BO2/PC/MP/maps/mp/_hacker_tool.gsc index e55b466..e9438f6 100644 --- a/BO2/PC/MP/maps/mp/_hacker_tool.gsc +++ b/BO2/PC/MP/maps/mp/_hacker_tool.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 23 - * Decompile Time: 232 ms - * Timestamp: 10/27/2023 3:01:25 AM + * Decompile Time: 7 ms + * Timestamp: 10/28/2023 12:10:57 AM *******************************************************************/ #include common_scripts/utility; @@ -380,55 +380,62 @@ getbesthackertooltarget() else { /# - targetsvalid[targetsvalid.size] = targetsall[idx]; -self iswithinhackertoolreticle(targetsall[idx]) -GetDvar(#"4C560F97") == "1" -#/ - if(level.teambased) + if(GetDvar(#"4C560F97") == "1") { - if(isentityhackablecarepackage(target_ent)) + if(self iswithinhackertoolreticle(targetsall[idx])) { - if(self iswithinhackertoolreticle(target_ent)) + targetsvalid[targetsvalid.size] = targetsall[idx]; + } + } + else + { +#/ + if(level.teambased) + { + if(isentityhackablecarepackage(target_ent)) + { + if(self iswithinhackertoolreticle(target_ent)) + { + targetsvalid[targetsvalid.size] = target_ent; + } + + continue; + } + + if(IsDefined(target_ent.team)) + { + if(target_ent.team != self.team) + { + if(self iswithinhackertoolreticle(target_ent)) + { + targetsvalid[targetsvalid.size] = target_ent; + } + } + + continue; + } + + if(IsDefined(target_ent.owner.team)) + { + if(target_ent.owner.team != self.team) + { + if(self iswithinhackertoolreticle(target_ent)) + { + targetsvalid[targetsvalid.size] = target_ent; + } + } + } + } + else if(self iswithinhackertoolreticle(target_ent)) + { + if(isentityhackablecarepackage(target_ent)) { targetsvalid[targetsvalid.size] = target_ent; } - - continue; - } - - if(IsDefined(target_ent.team)) - { - if(target_ent.team != self.team) + else if(IsDefined(target_ent.owner) && self != target_ent.owner) { - if(self iswithinhackertoolreticle(target_ent)) - { - targetsvalid[targetsvalid.size] = target_ent; - } + targetsvalid[targetsvalid.size] = target_ent; } - - continue; - } - - if(IsDefined(target_ent.owner.team)) - { - if(target_ent.owner.team != self.team) - { - if(self iswithinhackertoolreticle(target_ent)) - { - targetsvalid[targetsvalid.size] = target_ent; - } - } - } - } - else if(self iswithinhackertoolreticle(target_ent)) - { - if(isentityhackablecarepackage(target_ent)) - { - targetsvalid[targetsvalid.size] = target_ent; - } - else if(IsDefined(target_ent.owner) && self != target_ent.owner) - { - targetsvalid[targetsvalid.size] = target_ent; } } } @@ -817,7 +824,7 @@ gethacktime(target) tunables() { /# - for(;;) + while(1) { level.hackertoollostsightlimitms = weapons_get_dvar_int("scr_hackerToolLostSightLimitMs",1000); level.hackertoollockonradius = weapons_get_dvar("scr_hackerToolLockOnRadius",20); @@ -837,6 +844,5 @@ tunables() level.chopper_gunner_time = weapons_get_dvar_int("scr_chopper_gunner_time",7); wait(1); } -1 #/ } \ No newline at end of file diff --git a/BO2/PC/MP/maps/mp/_heatseekingmissile.gsc b/BO2/PC/MP/maps/mp/_heatseekingmissile.gsc index 8f8b9c8..fef5d57 100644 --- a/BO2/PC/MP/maps/mp/_heatseekingmissile.gsc +++ b/BO2/PC/MP/maps/mp/_heatseekingmissile.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 34 - * Decompile Time: 131 ms - * Timestamp: 10/27/2023 3:01:25 AM + * Decompile Time: 6 ms + * Timestamp: 10/28/2023 12:10:58 AM *******************************************************************/ #include common_scripts/utility; @@ -273,27 +273,34 @@ getbeststingertarget() for(idx = 0;idx < targetsall.size;idx++) { /# - targetsvalid[targetsvalid.size] = targetsall[idx]; -self insidestingerreticlenolock(targetsall[idx]) -GetDvar(#"4C560F97") == "1" -#/ - if(level.teambased) + if(GetDvar(#"4C560F97") == "1") { - if(IsDefined(targetsall[idx].team) && targetsall[idx].team != self.team) + if(self insidestingerreticlenolock(targetsall[idx])) { - if(self insidestingerreticlenolock(targetsall[idx])) + targetsvalid[targetsvalid.size] = targetsall[idx]; + } + } + else + { +#/ + if(level.teambased) + { + if(IsDefined(targetsall[idx].team) && targetsall[idx].team != self.team) + { + if(self insidestingerreticlenolock(targetsall[idx])) + { + targetsvalid[targetsvalid.size] = targetsall[idx]; + } + } + } + else if(self insidestingerreticlenolock(targetsall[idx])) + { + if(IsDefined(targetsall[idx].owner) && self != targetsall[idx].owner) { targetsvalid[targetsvalid.size] = targetsall[idx]; } } } - else if(self insidestingerreticlenolock(targetsall[idx])) - { - if(IsDefined(targetsall[idx].owner) && self != targetsall[idx].owner) - { - targetsvalid[targetsvalid.size] = targetsall[idx]; - } - } } if(targetsvalid.size == 0) diff --git a/BO2/PC/MP/maps/mp/_interactive_objects.gsc b/BO2/PC/MP/maps/mp/_interactive_objects.gsc index a1ecb02..d26780f 100644 --- a/BO2/PC/MP/maps/mp/_interactive_objects.gsc +++ b/BO2/PC/MP/maps/mp/_interactive_objects.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 9 - * Decompile Time: 54 ms - * Timestamp: 10/27/2023 3:01:26 AM + * Decompile Time: 4 ms + * Timestamp: 10/28/2023 12:10:58 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/PC/MP/maps/mp/_load.gsc b/BO2/PC/MP/maps/mp/_load.gsc index 06ecb23..7fc86eb 100644 --- a/BO2/PC/MP/maps/mp/_load.gsc +++ b/BO2/PC/MP/maps/mp/_load.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 10 - * Decompile Time: 137 ms - * Timestamp: 10/27/2023 3:01:27 AM + * Decompile Time: 9 ms + * Timestamp: 10/28/2023 12:10:58 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/PC/MP/maps/mp/_medals.gsc b/BO2/PC/MP/maps/mp/_medals.gsc index fac5978..4fb6d8c 100644 --- a/BO2/PC/MP/maps/mp/_medals.gsc +++ b/BO2/PC/MP/maps/mp/_medals.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 6 - * Decompile Time: 7 ms - * Timestamp: 10/27/2023 3:01:27 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:10:59 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/PC/MP/maps/mp/_menus.gsc b/BO2/PC/MP/maps/mp/_menus.gsc index 192fd24..62190ca 100644 --- a/BO2/PC/MP/maps/mp/_menus.gsc +++ b/BO2/PC/MP/maps/mp/_menus.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 1 - * Decompile Time: 1 ms - * Timestamp: 10/27/2023 3:01:28 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:10:59 AM *******************************************************************/ //Function Number: 1 diff --git a/BO2/PC/MP/maps/mp/_mgturret.gsc b/BO2/PC/MP/maps/mp/_mgturret.gsc index 7328373..12fa3bf 100644 --- a/BO2/PC/MP/maps/mp/_mgturret.gsc +++ b/BO2/PC/MP/maps/mp/_mgturret.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 11 - * Decompile Time: 72 ms - * Timestamp: 10/27/2023 3:01:28 AM + * Decompile Time: 5 ms + * Timestamp: 10/28/2023 12:10:59 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/PC/MP/maps/mp/_multi_extracam.gsc b/BO2/PC/MP/maps/mp/_multi_extracam.gsc index 2e544e7..31fd8af 100644 --- a/BO2/PC/MP/maps/mp/_multi_extracam.gsc +++ b/BO2/PC/MP/maps/mp/_multi_extracam.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 1 - * Decompile Time: 3 ms - * Timestamp: 10/27/2023 3:01:28 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:10:59 AM *******************************************************************/ //Function Number: 1 diff --git a/BO2/PC/MP/maps/mp/_music.gsc b/BO2/PC/MP/maps/mp/_music.gsc index 44a656f..1058e7d 100644 --- a/BO2/PC/MP/maps/mp/_music.gsc +++ b/BO2/PC/MP/maps/mp/_music.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 2 - * Decompile Time: 4 ms - * Timestamp: 10/27/2023 3:01:29 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:11:00 AM *******************************************************************/ #include maps/mp/_utility; diff --git a/BO2/PC/MP/maps/mp/_pc.gsc b/BO2/PC/MP/maps/mp/_pc.gsc index 8389712..c9e54c6 100644 --- a/BO2/PC/MP/maps/mp/_pc.gsc +++ b/BO2/PC/MP/maps/mp/_pc.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 1 - * Decompile Time: 1 ms - * Timestamp: 10/27/2023 3:01:29 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:11:00 AM *******************************************************************/ //Function Number: 1 diff --git a/BO2/PC/MP/maps/mp/_popups.gsc b/BO2/PC/MP/maps/mp/_popups.gsc index b7b99f3..efa5aab 100644 --- a/BO2/PC/MP/maps/mp/_popups.gsc +++ b/BO2/PC/MP/maps/mp/_popups.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 10 - * Decompile Time: 265 ms - * Timestamp: 10/27/2023 3:01:31 AM + * Decompile Time: 3 ms + * Timestamp: 10/28/2023 12:11:00 AM *******************************************************************/ #include common_scripts/utility; @@ -71,10 +71,14 @@ init() popupsfromconsole() { /# - for(;;) + while(1) { timeout = getdvarintdefault("scr_popuptime",1); - timeout = 1; + if(timeout == 0) + { + timeout = 1; + } + wait(timeout); medal = getdvarintdefault("scr_popupmedal",0); challenge = getdvarintdefault("scr_popupchallenge",0); @@ -85,80 +89,92 @@ popupsfromconsole() gamemodemsg = getdvarintdefault("scr_gamemodeslideout",0); teammsg = getdvarintdefault("scr_teamslideout",0); challengeindex = getdvarintdefault("scr_challengeIndex",1); - i = 0; - for(;;) + for(i = 0;i < medal;i++) { level.players[0] maps/mp/_medals::codecallback_medal(4); - i++; } - i = 0; - for(;;) + + for(i = 0;i < challenge;i++) { level.players[0] maps/mp/gametypes/_persistence::codecallback_challengecomplete(2500,1,84,3,0,0,851); level.players[0] maps/mp/gametypes/_persistence::codecallback_challengecomplete(500,1,22,2,0,0,533); - i++; } - i = 0; - for(;;) + + for(i = 0;i < rank;i++) { level.players[0] maps/mp/gametypes/_rank::codecallback_rankup(4,0,0); - i++; } - i = 0; - for(;;) + + for(i = 0;i < gun;i++) { level.players[0] maps/mp/gametypes/_persistence::codecallback_gunchallengecomplete(0,20,25,0); - i++; } - i = 0; - for(;;) + + for(i = 0;i < contractpass;i++) { level.players[0] maps/mp/gametypes/_persistence::addcontracttoqueue(12,1); - i++; } - i = 0; - for(;;) + + for(i = 0;i < contractfail;i++) { level.players[0] maps/mp/gametypes/_persistence::addcontracttoqueue(12,0); - i++; } - i = 0; - for(;;) + + for(i = 0;i < teammsg;i++) { player = level.players[0]; - player = level.players[1]; + if(IsDefined(level.players[1])) + { + player = level.players[1]; + } + level.players[0] displayteammessagetoall(&"KILLSTREAK_DESTROYED_HELICOPTER",player); - i++; } + reset = getdvarintdefault("scr_popupreset",1); - setdvar("scr_popupmedal",0); - setdvar("scr_popupchallenge",0); - setdvar("scr_popupgun",0); - setdvar("scr_popuprank",0); - setdvar("scr_popupcontractpass",0); - setdvar("scr_popupcontractfail",0); - setdvar("scr_gamemodeslideout",0); - setdvar("scr_teamslideout",0); + if(reset) + { + if(medal) + { + setdvar("scr_popupmedal",0); + } + + if(challenge) + { + setdvar("scr_popupchallenge",0); + } + + if(gun) + { + setdvar("scr_popupgun",0); + } + + if(rank) + { + setdvar("scr_popuprank",0); + } + + if(contractpass) + { + setdvar("scr_popupcontractpass",0); + } + + if(contractfail) + { + setdvar("scr_popupcontractfail",0); + } + + if(gamemodemsg) + { + setdvar("scr_gamemodeslideout",0); + } + + if(teammsg) + { + setdvar("scr_teamslideout",0); + } + } } -teammsg -gamemodemsg -contractfail -contractpass -rank -gun -challenge -medal -reset -IsDefined(level.players[1]) -i < teammsg -i < contractfail -i < contractpass -i < gun -i < rank -i < challenge -i < medal -timeout == 0 -1 #/ } diff --git a/BO2/PC/MP/maps/mp/_proximity_grenade.gsc b/BO2/PC/MP/maps/mp/_proximity_grenade.gsc index 6edd483..9e4b2c8 100644 --- a/BO2/PC/MP/maps/mp/_proximity_grenade.gsc +++ b/BO2/PC/MP/maps/mp/_proximity_grenade.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 16 - * Decompile Time: 102 ms - * Timestamp: 10/27/2023 3:01:31 AM + * Decompile Time: 7 ms + * Timestamp: 10/28/2023 12:11:00 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/PC/MP/maps/mp/_riotshield.gsc b/BO2/PC/MP/maps/mp/_riotshield.gsc index 10fc7c6..1f74abc 100644 --- a/BO2/PC/MP/maps/mp/_riotshield.gsc +++ b/BO2/PC/MP/maps/mp/_riotshield.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 19 - * Decompile Time: 72 ms - * Timestamp: 10/27/2023 3:01:32 AM + * Decompile Time: 4 ms + * Timestamp: 10/28/2023 12:11:01 AM *******************************************************************/ #include common_scripts/utility; @@ -315,10 +315,12 @@ watchriotshielddeploy() /# assert(!IsDefined(self.riotshieldentity)); #/ + if(level.gametype != "shrp") + { /# - assert(primaries.size > 0); + assert(primaries.size > 0); + } #/ -level.gametype != "shrp" #/ shield_ent setclientfield("riotshield_state",1); shield_ent.reconmodel setclientfield("riotshield_state",1); diff --git a/BO2/PC/MP/maps/mp/_satchel_charge.gsc b/BO2/PC/MP/maps/mp/_satchel_charge.gsc index dc00e51..d1c554e 100644 --- a/BO2/PC/MP/maps/mp/_satchel_charge.gsc +++ b/BO2/PC/MP/maps/mp/_satchel_charge.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 3 - * Decompile Time: 19 ms - * Timestamp: 10/27/2023 3:01:32 AM + * Decompile Time: 1 ms + * Timestamp: 10/28/2023 12:11:01 AM *******************************************************************/ #include maps/mp/_challenges; diff --git a/BO2/PC/MP/maps/mp/_scoreevents.gsc b/BO2/PC/MP/maps/mp/_scoreevents.gsc index f6bff71..2751835 100644 --- a/BO2/PC/MP/maps/mp/_scoreevents.gsc +++ b/BO2/PC/MP/maps/mp/_scoreevents.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 22 - * Decompile Time: 132 ms - * Timestamp: 10/27/2023 3:01:33 AM + * Decompile Time: 19 ms + * Timestamp: 10/28/2023 12:11:01 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/PC/MP/maps/mp/_scrambler.gsc b/BO2/PC/MP/maps/mp/_scrambler.gsc index 38d3538..e5b5651 100644 --- a/BO2/PC/MP/maps/mp/_scrambler.gsc +++ b/BO2/PC/MP/maps/mp/_scrambler.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 9 - * Decompile Time: 40 ms - * Timestamp: 10/27/2023 3:01:34 AM + * Decompile Time: 2 ms + * Timestamp: 10/28/2023 12:11:01 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/PC/MP/maps/mp/_script_gen.gsc b/BO2/PC/MP/maps/mp/_script_gen.gsc index def2116..dcd9e62 100644 --- a/BO2/PC/MP/maps/mp/_script_gen.gsc +++ b/BO2/PC/MP/maps/mp/_script_gen.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 4 - * Decompile Time: 68 ms - * Timestamp: 10/27/2023 3:01:34 AM + * Decompile Time: 5 ms + * Timestamp: 10/28/2023 12:11:02 AM *******************************************************************/ #include common_scripts/utility; @@ -31,45 +31,76 @@ script_gen_dump() { /# script_gen_dump_checksaved(); - flag_set("scriptgen_done"); - return; - firstrun = 0; - println(" "); - println(" "); - println(" "); - println("^2 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- "); - println("^3Dumping scriptgen dump for these reasons"); - println("^2 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- "); - i = 0; - for(;;) + if(!(level.script_gen_dump_reasons.size)) { - substr = getsubstr(level.script_gen_dump_reasons[i],15); - println(i + ". ) " + substr); - println(i + ". ) " + level.script_gen_dump_reasons[i]); - firstrun = 1; - i++; + flag_set("scriptgen_done"); + return; } - println("^2 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- "); - println(" "); - println("for First Run make sure you delete all of the vehicle precache script calls, createart calls, createfx calls( most commonly placed in maps\\" + level.script + "_fx.gsc ) "); - println(" "); - println("replace:"); - println("maps\\_load::main( 1 );"); - println(" "); - println("with( don\'t forget to add this file to P4 ):"); - println("maps\\scriptgen\\" + level.script + "_scriptgen::main();"); - println(" "); - println("^2 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- "); - println(" "); - println("^2 / \\ / \\ / \\"); - println("^2scroll up"); - println("^2 / \\ / \\ / \\"); - println(" "); - return; + + firstrun = 0; + if(level.bscriptgened) + { + println(" "); + println(" "); + println(" "); + println("^2 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- "); + println("^3Dumping scriptgen dump for these reasons"); + println("^2 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- "); + for(i = 0;i < level.script_gen_dump_reasons.size;i++) + { + if(issubstr(level.script_gen_dump_reasons[i],"nowrite")) + { + substr = getsubstr(level.script_gen_dump_reasons[i],15); + println(i + ". ) " + substr); + } + else + { + println(i + ". ) " + level.script_gen_dump_reasons[i]); + } + + if(level.script_gen_dump_reasons[i] == "First run") + { + firstrun = 1; + } + } + + println("^2 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- "); + println(" "); + if(firstrun) + { + println("for First Run make sure you delete all of the vehicle precache script calls, createart calls, createfx calls( most commonly placed in maps\\" + level.script + "_fx.gsc ) "); + println(" "); + println("replace:"); + println("maps\\_load::main( 1 );"); + println(" "); + println("with( don\'t forget to add this file to P4 ):"); + println("maps\\scriptgen\\" + level.script + "_scriptgen::main();"); + println(" "); + } + + println("^2 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- "); + println(" "); + println("^2 / \\ / \\ / \\"); + println("^2scroll up"); + println("^2 / \\ / \\ / \\"); + println(" "); + } + else + { + return; + } + filename = "scriptgen/" + level.script + "_scriptgen.gsc"; csvfilename = "zone_source/" + level.script + ".csv"; - file = openfile(filename,"write"); - file = 0; + if(level.bscriptgened) + { + file = openfile(filename,"write"); + } + else + { + file = 0; + } + /# assert(file != -1,"File not writeable( check it and and restart the map ): " + filename); #/ @@ -80,82 +111,114 @@ script_gen_dump() script_gen_dumpprintln(file,"\tlevel.script_gen_dump = [];"); script_gen_dumpprintln(file,""); signatures = getarraykeys(level.script_gen_dump); - i = 0; - for(;;) + for(i = 0;i < signatures.size;i++) { - script_gen_dumpprintln(file,"\t" + level.script_gen_dump[signatures[i]]); - i++; + if(!(issubstr(level.script_gen_dump[signatures[i]],"nowrite"))) + { + script_gen_dumpprintln(file,"\t" + level.script_gen_dump[signatures[i]]); + } } - i = 0; - for(;;) + + for(i = 0;i < signatures.size;i++) { - script_gen_dumpprintln(file,"\tlevel.script_gen_dump[ " + "\" + signatures[i] + "\" + " ] = " + "\" + signatures[i] + "\" + ";"); - script_gen_dumpprintln(file,"\tlevel.script_gen_dump[ " + "\" + signatures[i] + "\" + " ] = " + "\"nowrite\" + ";"); - i++; + if(!(issubstr(level.script_gen_dump[signatures[i]],"nowrite"))) + { + script_gen_dumpprintln(file,"\tlevel.script_gen_dump[ " + "\" + signatures[i] + "\" + " ] = " + "\" + signatures[i] + "\" + ";"); + } + else + { + script_gen_dumpprintln(file,"\tlevel.script_gen_dump[ " + "\" + signatures[i] + "\" + " ] = " + "\"nowrite\" + ";"); + } } + script_gen_dumpprintln(file,""); keys1 = undefined; keys2 = undefined; - keys1 = getarraykeys(level.sg_precacheanims); - i = 0; - for(;;) + if(IsDefined(level.sg_precacheanims)) { - script_gen_dumpprintln(file,"\tanim_precach_" + keys1[i] + "();"); - i++; + keys1 = getarraykeys(level.sg_precacheanims); } + + if(IsDefined(keys1)) + { + for(i = 0;i < keys1.size;i++) + { + script_gen_dumpprintln(file,"\tanim_precach_" + keys1[i] + "();"); + } + } + script_gen_dumpprintln(file,"\tmaps\\_load::main( 1, " + level.bcsvgened + ", 1 );"); script_gen_dumpprintln(file,"}"); script_gen_dumpprintln(file,""); - keys1 = getarraykeys(level.sg_precacheanims); - i = 0; - for(;;) + if(IsDefined(level.sg_precacheanims)) { - script_gen_dumpprintln(file,"#using_animtree( \" + keys1[i] + "\" );"); - script_gen_dumpprintln(file,"anim_precach_" + keys1[i] + "()"); - script_gen_dumpprintln(file,"{"); - script_gen_dumpprintln(file,"\tlevel.sg_animtree[ \" + keys1[i] + "\" ] = #animtree;"); - keys2 = getarraykeys(level.sg_precacheanims[keys1[i]]); - j = 0; - for(;;) - { - script_gen_dumpprintln(file,"\tlevel.sg_anim[ \" + keys2[j] + "\" ] = %" + keys2[j] + ";"); - j++; - } - script_gen_dumpprintln(file,"}"); - script_gen_dumpprintln(file,""); - i++; + keys1 = getarraykeys(level.sg_precacheanims); } - saved = closefile(file); - saved = 1; - csvfile = openfile(csvfilename,"write"); - csvfile = 0; + + if(IsDefined(keys1)) + { + for(i = 0;i < keys1.size;i++) + { + script_gen_dumpprintln(file,"#using_animtree( \" + keys1[i] + "\" );"); + script_gen_dumpprintln(file,"anim_precach_" + keys1[i] + "()"); + script_gen_dumpprintln(file,"{"); + script_gen_dumpprintln(file,"\tlevel.sg_animtree[ \" + keys1[i] + "\" ] = #animtree;"); + keys2 = getarraykeys(level.sg_precacheanims[keys1[i]]); + if(IsDefined(keys2)) + { + for(j = 0;j < keys2.size;j++) + { + script_gen_dumpprintln(file,"\tlevel.sg_anim[ \" + keys2[j] + "\" ] = %" + keys2[j] + ";"); + } + } + + script_gen_dumpprintln(file,"}"); + script_gen_dumpprintln(file,""); + } + } + + if(level.bscriptgened) + { + saved = closefile(file); + } + else + { + saved = 1; + } + + if(level.bcsvgened) + { + csvfile = openfile(csvfilename,"write"); + } + else + { + csvfile = 0; + } + /# assert(csvfile != -1,"File not writeable( check it and and restart the map ): " + csvfilename); #/ signatures = getarraykeys(level.script_gen_dump); - i = 0; - for(;;) + for(i = 0;i < signatures.size;i++) { script_gen_csvdumpprintln(csvfile,signatures[i]); - i++; } - csvfilesaved = closefile(csvfile); - csvfilesaved = 1; + + if(level.bcsvgened) + { + csvfilesaved = closefile(csvfile); + } + else + { + csvfilesaved = 1; + } + /# assert(csvfilesaved == 1,"csv not saved( see above message? ): " + csvfilename); #/ /# assert(saved == 1,"map not saved( see above message? ): " + filename); #/ -(i < keys1.size ? (IsDefined(keys2) ? j < keys2.size : level.bscriptgened) : level.bcsvgened) ? i < signatures.size : level.bcsvgened -IsDefined(keys1) -IsDefined(level.sg_precacheanims) -i < keys1.size -IsDefined(keys1) -IsDefined(level.sg_precacheanims) -(issubstr(level.script_gen_dump[signatures[i]],"nowrite")) ? i < signatures.size : issubstr(level.script_gen_dump[signatures[i]],"nowrite") -i < signatures.size -(level.script_gen_dump_reasons.size) ? ((level.bscriptgened ? i < level.script_gen_dump_reasons.size : issubstr(level.script_gen_dump_reasons[i],"nowrite")) ? level.script_gen_dump_reasons[i] == "First run" : firstrun) : level.bscriptgened #/ /# assert(!level.bscriptgened,"SCRIPTGEN generated: follow instructions listed above this error in the console"); @@ -164,9 +227,8 @@ i < signatures.size { /# assertmsg("SCRIPTGEN updated: Rebuild fast file and run map again"); -#/ } - +#/ flag_set("scriptgen_done"); } @@ -244,7 +306,7 @@ script_gen_csvdumpprintln(file,signature) { prefix = "string"; /# - assertmsg("string not yet supported by scriptgen"); + assertmsg("string not yet supported by scriptgen"); #/ } else if(issubstr(signature,"turret")) @@ -275,9 +337,14 @@ script_gen_csvdumpprintln(file,signature) } /# - println(string); - fprintln(file,string); -Stack-Empty ? Stack-Empty : file == -1 || !level.bcsvgened + if(file == -1 || !level.bcsvgened) + { + println(string); + } + else + { + fprintln(file,string); + } #/ } @@ -285,8 +352,13 @@ Stack-Empty ? Stack-Empty : file == -1 || !level.bcsvgened script_gen_dumpprintln(file,string) { /# - println(string); - fprintln(file,string); -Stack-Empty ? Stack-Empty : file == -1 || !level.bscriptgened + if(file == -1 || !level.bscriptgened) + { + println(string); + } + else + { + fprintln(file,string); + } #/ } \ No newline at end of file diff --git a/BO2/PC/MP/maps/mp/_sensor_grenade.gsc b/BO2/PC/MP/maps/mp/_sensor_grenade.gsc index 0c27861..889dcd3 100644 --- a/BO2/PC/MP/maps/mp/_sensor_grenade.gsc +++ b/BO2/PC/MP/maps/mp/_sensor_grenade.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 10 - * Decompile Time: 22 ms - * Timestamp: 10/27/2023 3:01:35 AM + * Decompile Time: 2 ms + * Timestamp: 10/28/2023 12:11:02 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/PC/MP/maps/mp/_serverfaceanim_mp.gsc b/BO2/PC/MP/maps/mp/_serverfaceanim_mp.gsc index a4af023..a60c5ae 100644 --- a/BO2/PC/MP/maps/mp/_serverfaceanim_mp.gsc +++ b/BO2/PC/MP/maps/mp/_serverfaceanim_mp.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 4 - * Decompile Time: 6 ms - * Timestamp: 10/27/2023 3:01:35 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:11:02 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/PC/MP/maps/mp/_smokegrenade.gsc b/BO2/PC/MP/maps/mp/_smokegrenade.gsc index bdf86a4..053081a 100644 --- a/BO2/PC/MP/maps/mp/_smokegrenade.gsc +++ b/BO2/PC/MP/maps/mp/_smokegrenade.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 4 - * Decompile Time: 15 ms - * Timestamp: 10/27/2023 3:01:35 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:11:03 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/PC/MP/maps/mp/_sticky_grenade.gsc b/BO2/PC/MP/maps/mp/_sticky_grenade.gsc index 0e901a6..2e66f93 100644 --- a/BO2/PC/MP/maps/mp/_sticky_grenade.gsc +++ b/BO2/PC/MP/maps/mp/_sticky_grenade.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 2 - * Decompile Time: 2 ms - * Timestamp: 10/27/2023 3:01:36 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:11:03 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/PC/MP/maps/mp/_tabun.gsc b/BO2/PC/MP/maps/mp/_tabun.gsc index 2d4c140..414c091 100644 --- a/BO2/PC/MP/maps/mp/_tabun.gsc +++ b/BO2/PC/MP/maps/mp/_tabun.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 19 - * Decompile Time: 73 ms - * Timestamp: 10/27/2023 3:01:36 AM + * Decompile Time: 7 ms + * Timestamp: 10/28/2023 12:11:03 AM *******************************************************************/ #include common_scripts/utility; @@ -103,8 +103,10 @@ damageeffectarea(owner,position,radius,height,killcament) shockeffectarea = spawn("trigger_radius",position,0,radius,height); gaseffectarea = spawn("trigger_radius",position,0,radius,height); /# - level thread drawcylinder(position,radius,height,undefined,"tabun_draw_cylinder_stop"); -GetDvarInt(#"9CB86F60") + if(GetDvarInt(#"9CB86F60")) + { + level thread drawcylinder(position,radius,height,undefined,"tabun_draw_cylinder_stop"); + } #/ owner thread maps/mp/killstreaks/_dogs::flash_dogs(shockeffectarea); owner thread maps/mp/killstreaks/_dogs::flash_dogs(gaseffectarea); @@ -156,7 +158,10 @@ GetDvarInt(#"9CB86F60") shockeffectarea delete(); gaseffectarea delete(); /# - level notify("tabun_draw_cylinder_stop",GetDvarInt(#"9CB86F60")); + if(GetDvarInt(#"9CB86F60")) + { + level notify("tabun_draw_cylinder_stop",players[i]); + } #/ } @@ -277,10 +282,11 @@ generatelocations(position,owner) startpos = position + onefoot; /# level.tabun_debug = getdvarintdefault("scr_tabun_debug",0); - black = VectorScale((1,1,1)); - debugstar(startpos,2000,black); -0.2 -level.tabun_debug + if(level.tabun_debug) + { + black = VectorScale((1,1,1)); + debugstar(startpos,2000,black); + } #/ spawnalllocs(owner,startpos); } @@ -301,9 +307,12 @@ hitpos(start,end,color) trace = bullettrace(start,end,0,undefined); /# level.tabun_debug = getdvarintdefault("scr_tabun_debug",0); - debugstar(trace["position"],2000,color); + if(level.tabun_debug) + { + debugstar(trace["position"],2000,color); + } + thread debug_line(start,trace["position"],color,80); -level.tabun_debug #/ return trace["position"]; } @@ -500,9 +509,11 @@ getcentroid(locations) /# level.tabun_debug = getdvarintdefault("scr_tabun_debug",0); - purple = (0.9,0.2,0.9); - debugstar(centroid,2000,purple); -level.tabun_debug + if(level.tabun_debug) + { + purple = (0.9,0.2,0.9); + debugstar(centroid,2000,purple); + } #/ return centroid; } @@ -545,9 +556,11 @@ getcenter(locations) center = (avgx,avgy,locations["tracePos"][0][2]); /# level.tabun_debug = getdvarintdefault("scr_tabun_debug",0); - cyan = (0.2,0.9,0.9); - debugstar(center,2000,cyan); -level.tabun_debug + if(level.tabun_debug) + { + cyan = (0.2,0.9,0.9); + debugstar(center,2000,cyan); + } #/ return center; } \ No newline at end of file diff --git a/BO2/PC/MP/maps/mp/_tacticalinsertion.gsc b/BO2/PC/MP/maps/mp/_tacticalinsertion.gsc index 7d716d5..0b822bf 100644 --- a/BO2/PC/MP/maps/mp/_tacticalinsertion.gsc +++ b/BO2/PC/MP/maps/mp/_tacticalinsertion.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 17 - * Decompile Time: 49 ms - * Timestamp: 10/27/2023 3:01:36 AM + * Decompile Time: 12 ms + * Timestamp: 10/28/2023 12:11:03 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/PC/MP/maps/mp/_teargrenades.gsc b/BO2/PC/MP/maps/mp/_teargrenades.gsc index 289db36..af91641 100644 --- a/BO2/PC/MP/maps/mp/_teargrenades.gsc +++ b/BO2/PC/MP/maps/mp/_teargrenades.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 9 - * Decompile Time: 20 ms - * Timestamp: 10/27/2023 3:01:37 AM + * Decompile Time: 2 ms + * Timestamp: 10/28/2023 12:11:04 AM *******************************************************************/ #include maps/mp/gametypes/_perplayer; diff --git a/BO2/PC/MP/maps/mp/_treadfx.gsc b/BO2/PC/MP/maps/mp/_treadfx.gsc index 56707c9..d96064c 100644 --- a/BO2/PC/MP/maps/mp/_treadfx.gsc +++ b/BO2/PC/MP/maps/mp/_treadfx.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 2 - * Decompile Time: 22 ms - * Timestamp: 10/27/2023 3:01:37 AM + * Decompile Time: 1 ms + * Timestamp: 10/28/2023 12:11:04 AM *******************************************************************/ //Function Number: 1 diff --git a/BO2/PC/MP/maps/mp/_trophy_system.gsc b/BO2/PC/MP/maps/mp/_trophy_system.gsc index fc82e4f..a3acad1 100644 --- a/BO2/PC/MP/maps/mp/_trophy_system.gsc +++ b/BO2/PC/MP/maps/mp/_trophy_system.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 12 - * Decompile Time: 47 ms - * Timestamp: 10/27/2023 3:01:38 AM + * Decompile Time: 5 ms + * Timestamp: 10/28/2023 12:11:04 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/PC/MP/maps/mp/_utility.gsc b/BO2/PC/MP/maps/mp/_utility.gsc index 0734a99..e22a112 100644 --- a/BO2/PC/MP/maps/mp/_utility.gsc +++ b/BO2/PC/MP/maps/mp/_utility.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 176 - * Decompile Time: 235 ms - * Timestamp: 10/27/2023 3:01:39 AM + * Decompile Time: 39 ms + * Timestamp: 10/28/2023 12:11:05 AM *******************************************************************/ #include common_scripts/utility; @@ -78,10 +78,12 @@ error(msg) /# println("^c*ERROR* ",msg); wait(0.05); + if(GetDvar(#"F49A52C") != "1") + { /# - assertmsg("This is a forced error - attach the log file"); + assertmsg("This is a forced error - attach the log file"); + } #/ -GetDvar(#"F49A52C") != "1" #/ } @@ -1195,15 +1197,36 @@ activate_exploder(num) { num = int(num); /# - i = 0; - for(;;) + if(level.createfx_enabled) { - ent = level.createfxent[i]; - client_send = 0; - ent activate_individual_exploder(); - i++; + for(i = 0;i < level.createfxent.size;i++) + { + ent = level.createfxent[i]; + if(!(IsDefined(ent))) + { + } + else if(ent.v["type"] != "exploder") + { + } + else if(!(IsDefined(ent.v["exploder"]))) + { + } + else if(ent.v["exploder"] != num) + { + } + else + { + if(IsDefined(ent.v["exploder_server"])) + { + client_send = 0; + } + + ent activate_individual_exploder(); + } + } + + return; } -Stack-Empty ? Stack-Empty : ((level.createfx_enabled) ? i < level.createfxent.size : (IsDefined(ent) ? ent.v["type"] != "exploder" : ((IsDefined(ent.v["exploder"])) ? ent.v["exploder"] != num : IsDefined(ent.v["exploder_server"])))) #/ client_send = 1; if(IsDefined(level.createfxexploders[num])) @@ -1459,22 +1482,31 @@ plot_points(plotpoints,r,g,b,timer) { /# lastpoint = plotpoints[0]; - r = 1; - g = 1; - b = 1; - timer = 0.05; - i = 1; - for(;;) + if(!(IsDefined(r))) + { + r = 1; + } + + if(!(IsDefined(g))) + { + g = 1; + } + + if(!(IsDefined(b))) + { + b = 1; + } + + if(!(IsDefined(timer))) + { + timer = 0.05; + } + + for(i = 1;i < plotpoints.size;i++) { line(lastpoint,plotpoints[i],(r,g,b),1,timer); lastpoint = plotpoints[i]; - i++; } -i < plotpoints.size -IsDefined(timer) -IsDefined(b) -IsDefined(g) -IsDefined(r) #/ } @@ -2249,9 +2281,12 @@ set_dvar_int_if_unset(dvar,value,reset) drawcylinder(pos,rad,height,duration,stop_notify) { /# - duration = 0; + if(!(IsDefined(duration))) + { + duration = 0; + } + level thread drawcylinder_think(pos,rad,height,duration,stop_notify); -IsDefined(duration) #/ } @@ -2259,27 +2294,32 @@ IsDefined(duration) drawcylinder_think(pos,rad,height,seconds,stop_notify) { /# - level endon(stop_notify,IsDefined(stop_notify)); + if(IsDefined(stop_notify)) + { + level endon(stop_notify); + } + stop_time = GetTime() + seconds * 1000; currad = rad; curheight = height; for(;;) { - return; - r = 0; - for(;;) + if(seconds > 0 && stop_time <= GetTime()) + { + return; + } + + for(r = 0;r < 20;r++) { theta = r / 20 * 360; theta2 = r + 1 / 20 * 360; line(pos + (cos(theta) * currad,sin(theta) * currad,0),pos + (cos(theta2) * currad,sin(theta2) * currad,0)); line(pos + (cos(theta) * currad,sin(theta) * currad,curheight),pos + (cos(theta2) * currad,sin(theta2) * currad,curheight)); line(pos + (cos(theta) * currad,sin(theta) * currad,0),pos + (cos(theta) * currad,sin(theta) * currad,curheight)); - r++; } + wait(0.05); } -r < 20 -seconds > 0 && stop_time <= GetTime() #/ } diff --git a/BO2/PC/MP/maps/mp/_vehicles.gsc b/BO2/PC/MP/maps/mp/_vehicles.gsc index 6acb830..8b1cba9 100644 --- a/BO2/PC/MP/maps/mp/_vehicles.gsc +++ b/BO2/PC/MP/maps/mp/_vehicles.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 86 - * Decompile Time: 187 ms - * Timestamp: 10/27/2023 3:01:39 AM + * Decompile Time: 29 ms + * Timestamp: 10/28/2023 12:11:05 AM *******************************************************************/ #include common_scripts/utility; @@ -406,9 +406,8 @@ init_vehicle() self.maxhealth = GetDvarInt(#"20E17551"); /# println("No health specified for vehicle type " + self.vehicletype + "! Using default..."); -#/ } - +#/ self.health = self.maxhealth; self vehicle_record_initial_values(); self init_vehicle_threads(); @@ -631,14 +630,15 @@ cleanup_debug_print_t() self endon("death"); self endon("delete"); /# - for(;;) + while(1) { - print3d(150 + VectorScale((0,0,1)),self.origin,self.debug_message,(0,1,0),1,1); + if(IsDefined(self.debug_message) && GetDvarInt(#"AAD1512A") != 0) + { + print3d(150 + VectorScale((0,0,1)),self.origin,self.debug_message,(0,1,0),1,1); + } + wait(0.01); } -1 -IsDefined(self.debug_message) && GetDvarInt(#"AAD1512A") != 0 -1 #/ } @@ -649,9 +649,9 @@ cleanup_debug_print_clearmsg_t() self endon("death"); self endon("delete"); /# - for(;;) + while(1) { - self waittill(1,"enter_vehicle"); + self waittill("enter_vehicle"); self.debug_message = undefined; } #/ diff --git a/BO2/PC/MP/maps/mp/animscripts/dog_combat.gsc b/BO2/PC/MP/maps/mp/animscripts/dog_combat.gsc index 5fa2b85..dbf788b 100644 --- a/BO2/PC/MP/maps/mp/animscripts/dog_combat.gsc +++ b/BO2/PC/MP/maps/mp/animscripts/dog_combat.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 5 - * Decompile Time: 14 ms - * Timestamp: 10/27/2023 2:59:46 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:10:23 AM *******************************************************************/ #include common_scripts/utility; @@ -19,8 +19,11 @@ main() self endon("killanimscript"); self setaimanimweights(0,0); /# - combatidle(); -debug_allow_combat() + if(!(debug_allow_combat())) + { + combatidle(); + return; + } #/ if(IsDefined(level.hostmigrationtimer)) { diff --git a/BO2/PC/MP/maps/mp/animscripts/dog_death.gsc b/BO2/PC/MP/maps/mp/animscripts/dog_death.gsc index 78b0e79..90ab21f 100644 --- a/BO2/PC/MP/maps/mp/animscripts/dog_death.gsc +++ b/BO2/PC/MP/maps/mp/animscripts/dog_death.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 1 - * Decompile Time: 5 ms - * Timestamp: 10/27/2023 2:59:46 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:10:23 AM *******************************************************************/ #include maps/mp/animscripts/shared; diff --git a/BO2/PC/MP/maps/mp/animscripts/dog_flashed.gsc b/BO2/PC/MP/maps/mp/animscripts/dog_flashed.gsc index 98d155a..935a612 100644 --- a/BO2/PC/MP/maps/mp/animscripts/dog_flashed.gsc +++ b/BO2/PC/MP/maps/mp/animscripts/dog_flashed.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 2 - * Decompile Time: 5 ms - * Timestamp: 10/27/2023 2:59:46 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:10:23 AM *******************************************************************/ #include maps/mp/animscripts/shared; diff --git a/BO2/PC/MP/maps/mp/animscripts/dog_init.gsc b/BO2/PC/MP/maps/mp/animscripts/dog_init.gsc index fa97e71..1ba4ad2 100644 --- a/BO2/PC/MP/maps/mp/animscripts/dog_init.gsc +++ b/BO2/PC/MP/maps/mp/animscripts/dog_init.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 3 - * Decompile Time: 8 ms - * Timestamp: 10/27/2023 2:59:47 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:10:23 AM *******************************************************************/ #include maps/mp/animscripts/dog_move; diff --git a/BO2/PC/MP/maps/mp/animscripts/dog_jump.gsc b/BO2/PC/MP/maps/mp/animscripts/dog_jump.gsc index 329e2fc..4118de0 100644 --- a/BO2/PC/MP/maps/mp/animscripts/dog_jump.gsc +++ b/BO2/PC/MP/maps/mp/animscripts/dog_jump.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 1 - * Decompile Time: 5 ms - * Timestamp: 10/27/2023 2:59:47 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:10:23 AM *******************************************************************/ #include maps/mp/animscripts/shared; diff --git a/BO2/PC/MP/maps/mp/animscripts/dog_move.gsc b/BO2/PC/MP/maps/mp/animscripts/dog_move.gsc index 1c1f293..12c4d26 100644 --- a/BO2/PC/MP/maps/mp/animscripts/dog_move.gsc +++ b/BO2/PC/MP/maps/mp/animscripts/dog_move.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 6 - * Decompile Time: 20 ms - * Timestamp: 10/27/2023 2:59:47 AM + * Decompile Time: 1 ms + * Timestamp: 10/28/2023 12:10:24 AM *******************************************************************/ #include maps/mp/animscripts/dog_stop; @@ -43,8 +43,10 @@ main() self setaimanimweights(0,0); do_movement = 1; /# - do_movement = 0; -debug_allow_movement() + if(!(debug_allow_movement())) + { + do_movement = 0; + } #/ if(IsDefined(level.hostmigrationtimer)) { @@ -105,8 +107,10 @@ moveloop() { do_movement = 1; /# - do_movement = 0; -debug_allow_movement() + if(!(debug_allow_movement())) + { + do_movement = 0; + } #/ if(IsDefined(level.hostmigrationtimer)) { @@ -172,9 +176,14 @@ stopmove() shouldrun() { /# - return 1; - return 0; -Stack-Empty ? GetDvarInt(#"DFB12081") != 0 : GetDvarInt(#"D5D7999B") != 0 + if(GetDvarInt(#"DFB12081") != 0) + { + return 1; + } + else if(GetDvarInt(#"D5D7999B") != 0) + { + return 0; + } #/ if(IsDefined(self.enemy)) { diff --git a/BO2/PC/MP/maps/mp/animscripts/dog_pain.gsc b/BO2/PC/MP/maps/mp/animscripts/dog_pain.gsc index f305ae3..7ad195a 100644 --- a/BO2/PC/MP/maps/mp/animscripts/dog_pain.gsc +++ b/BO2/PC/MP/maps/mp/animscripts/dog_pain.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 1 - * Decompile Time: 4 ms - * Timestamp: 10/27/2023 2:59:47 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:10:24 AM *******************************************************************/ #include maps/mp/animscripts/shared; diff --git a/BO2/PC/MP/maps/mp/animscripts/dog_stop.gsc b/BO2/PC/MP/maps/mp/animscripts/dog_stop.gsc index 61ccffa..54c4bd4 100644 --- a/BO2/PC/MP/maps/mp/animscripts/dog_stop.gsc +++ b/BO2/PC/MP/maps/mp/animscripts/dog_stop.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 6 - * Decompile Time: 16 ms - * Timestamp: 10/27/2023 2:59:48 AM + * Decompile Time: 1 ms + * Timestamp: 10/28/2023 12:10:24 AM *******************************************************************/ #include maps/mp/animscripts/shared; diff --git a/BO2/PC/MP/maps/mp/animscripts/dog_turn.gsc b/BO2/PC/MP/maps/mp/animscripts/dog_turn.gsc index f270a97..722e645 100644 --- a/BO2/PC/MP/maps/mp/animscripts/dog_turn.gsc +++ b/BO2/PC/MP/maps/mp/animscripts/dog_turn.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 10 - * Decompile Time: 22 ms - * Timestamp: 10/27/2023 2:59:48 AM + * Decompile Time: 1 ms + * Timestamp: 10/28/2023 12:10:24 AM *******************************************************************/ #include maps/mp/animscripts/shared; diff --git a/BO2/PC/MP/maps/mp/animscripts/shared.gsc b/BO2/PC/MP/maps/mp/animscripts/shared.gsc index bafde51..b995056 100644 --- a/BO2/PC/MP/maps/mp/animscripts/shared.gsc +++ b/BO2/PC/MP/maps/mp/animscripts/shared.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 12 - * Decompile Time: 16 ms - * Timestamp: 10/27/2023 2:59:48 AM + * Decompile Time: 5 ms + * Timestamp: 10/28/2023 12:10:24 AM *******************************************************************/ #include common_scripts/utility; @@ -39,8 +39,10 @@ growling() handlenotetrack(note,flagname,customfunction,var1) { /# - println("dog notetrack: " + flagname + " " + note + " " + GetTime()); -GetDvarInt(#"6EBEB982") + if(GetDvarInt(#"6EBEB982")) + { + println("dog notetrack: " + flagname + " " + note + " " + GetTime()); + } #/ if(isai(self) && self.type == "dog") { @@ -60,7 +62,8 @@ GetDvarInt(#"6EBEB982") default: return [[ customfunction ]](note); return [[ customfunction ]](note,var1); - Stack-Empty ? IsDefined(customfunction) : IsDefined(var1) + IsDefined(var1) + IsDefined(customfunction) break; } } diff --git a/BO2/PC/MP/maps/mp/animscripts/traverse/jump_down_40.gsc b/BO2/PC/MP/maps/mp/animscripts/traverse/jump_down_40.gsc index b8dd961..e8d1cf0 100644 --- a/BO2/PC/MP/maps/mp/animscripts/traverse/jump_down_40.gsc +++ b/BO2/PC/MP/maps/mp/animscripts/traverse/jump_down_40.gsc @@ -5,7 +5,7 @@ * Platform: PC * Function Count: 1 * Decompile Time: 0 ms - * Timestamp: 10/27/2023 2:59:43 AM + * Timestamp: 10/28/2023 12:10:20 AM *******************************************************************/ #include maps/mp/animscripts/traverse/shared; diff --git a/BO2/PC/MP/maps/mp/animscripts/traverse/jump_down_56.gsc b/BO2/PC/MP/maps/mp/animscripts/traverse/jump_down_56.gsc index 34127fa..33c5288 100644 --- a/BO2/PC/MP/maps/mp/animscripts/traverse/jump_down_56.gsc +++ b/BO2/PC/MP/maps/mp/animscripts/traverse/jump_down_56.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 1 - * Decompile Time: 1 ms - * Timestamp: 10/27/2023 2:59:44 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:10:20 AM *******************************************************************/ #include maps/mp/animscripts/traverse/shared; diff --git a/BO2/PC/MP/maps/mp/animscripts/traverse/jump_down_96.gsc b/BO2/PC/MP/maps/mp/animscripts/traverse/jump_down_96.gsc index da29d3e..f762500 100644 --- a/BO2/PC/MP/maps/mp/animscripts/traverse/jump_down_96.gsc +++ b/BO2/PC/MP/maps/mp/animscripts/traverse/jump_down_96.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 1 - * Decompile Time: 4 ms - * Timestamp: 10/27/2023 2:59:44 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:10:21 AM *******************************************************************/ #include maps/mp/animscripts/traverse/shared; diff --git a/BO2/PC/MP/maps/mp/animscripts/traverse/mantle_on_40.gsc b/BO2/PC/MP/maps/mp/animscripts/traverse/mantle_on_40.gsc index 4f8ca72..a523d61 100644 --- a/BO2/PC/MP/maps/mp/animscripts/traverse/mantle_on_40.gsc +++ b/BO2/PC/MP/maps/mp/animscripts/traverse/mantle_on_40.gsc @@ -5,7 +5,7 @@ * Platform: PC * Function Count: 1 * Decompile Time: 2 ms - * Timestamp: 10/27/2023 2:59:44 AM + * Timestamp: 10/28/2023 12:10:21 AM *******************************************************************/ #include maps/mp/animscripts/traverse/shared; diff --git a/BO2/PC/MP/maps/mp/animscripts/traverse/mantle_on_56.gsc b/BO2/PC/MP/maps/mp/animscripts/traverse/mantle_on_56.gsc index 50a1d7c..e30cd8c 100644 --- a/BO2/PC/MP/maps/mp/animscripts/traverse/mantle_on_56.gsc +++ b/BO2/PC/MP/maps/mp/animscripts/traverse/mantle_on_56.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 1 - * Decompile Time: 1 ms - * Timestamp: 10/27/2023 2:59:44 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:10:21 AM *******************************************************************/ #include maps/mp/animscripts/traverse/shared; diff --git a/BO2/PC/MP/maps/mp/animscripts/traverse/mantle_on_80.gsc b/BO2/PC/MP/maps/mp/animscripts/traverse/mantle_on_80.gsc index ef50ee4..4677148 100644 --- a/BO2/PC/MP/maps/mp/animscripts/traverse/mantle_on_80.gsc +++ b/BO2/PC/MP/maps/mp/animscripts/traverse/mantle_on_80.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 1 - * Decompile Time: 1 ms - * Timestamp: 10/27/2023 2:59:45 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:10:21 AM *******************************************************************/ #include maps/mp/animscripts/traverse/shared; diff --git a/BO2/PC/MP/maps/mp/animscripts/traverse/mantle_on_96.gsc b/BO2/PC/MP/maps/mp/animscripts/traverse/mantle_on_96.gsc index 74069c1..20c94b6 100644 --- a/BO2/PC/MP/maps/mp/animscripts/traverse/mantle_on_96.gsc +++ b/BO2/PC/MP/maps/mp/animscripts/traverse/mantle_on_96.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 1 - * Decompile Time: 1 ms - * Timestamp: 10/27/2023 2:59:45 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:10:21 AM *******************************************************************/ #include maps/mp/animscripts/traverse/shared; diff --git a/BO2/PC/MP/maps/mp/animscripts/traverse/mantle_over_40.gsc b/BO2/PC/MP/maps/mp/animscripts/traverse/mantle_over_40.gsc index 9149f00..a0b0ff9 100644 --- a/BO2/PC/MP/maps/mp/animscripts/traverse/mantle_over_40.gsc +++ b/BO2/PC/MP/maps/mp/animscripts/traverse/mantle_over_40.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 1 - * Decompile Time: 1 ms - * Timestamp: 10/27/2023 2:59:45 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:10:22 AM *******************************************************************/ #include maps/mp/animscripts/traverse/shared; diff --git a/BO2/PC/MP/maps/mp/animscripts/traverse/mantle_window_36.gsc b/BO2/PC/MP/maps/mp/animscripts/traverse/mantle_window_36.gsc index a826aaf..c68cb33 100644 --- a/BO2/PC/MP/maps/mp/animscripts/traverse/mantle_window_36.gsc +++ b/BO2/PC/MP/maps/mp/animscripts/traverse/mantle_window_36.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 1 - * Decompile Time: 2 ms - * Timestamp: 10/27/2023 2:59:45 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:10:22 AM *******************************************************************/ #include maps/mp/animscripts/traverse/shared; diff --git a/BO2/PC/MP/maps/mp/animscripts/traverse/shared.gsc b/BO2/PC/MP/maps/mp/animscripts/traverse/shared.gsc index b6fa132..5f216c6 100644 --- a/BO2/PC/MP/maps/mp/animscripts/traverse/shared.gsc +++ b/BO2/PC/MP/maps/mp/animscripts/traverse/shared.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 8 - * Decompile Time: 26 ms - * Timestamp: 10/27/2023 2:59:45 AM + * Decompile Time: 1 ms + * Timestamp: 10/28/2023 12:10:22 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/PC/MP/maps/mp/animscripts/traverse/through_hole_42.gsc b/BO2/PC/MP/maps/mp/animscripts/traverse/through_hole_42.gsc index 893f36b..5ea22e4 100644 --- a/BO2/PC/MP/maps/mp/animscripts/traverse/through_hole_42.gsc +++ b/BO2/PC/MP/maps/mp/animscripts/traverse/through_hole_42.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 1 - * Decompile Time: 5 ms - * Timestamp: 10/27/2023 2:59:46 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:10:22 AM *******************************************************************/ #include maps/mp/animscripts/shared; diff --git a/BO2/PC/MP/maps/mp/animscripts/utility.gsc b/BO2/PC/MP/maps/mp/animscripts/utility.gsc index 5da4af8..f09421f 100644 --- a/BO2/PC/MP/maps/mp/animscripts/utility.gsc +++ b/BO2/PC/MP/maps/mp/animscripts/utility.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 10 - * Decompile Time: 10 ms - * Timestamp: 10/27/2023 2:59:48 AM + * Decompile Time: 1 ms + * Timestamp: 10/28/2023 12:10:25 AM *******************************************************************/ //Function Number: 1 @@ -32,9 +32,17 @@ anim_get_dvar(dvar,def) set_orient_mode(mode,val1) { /# - println("DOG: Setting orient mode: " + mode + " " + val1 + " " + GetTime()); - println("DOG: Setting orient mode: " + mode + " " + GetTime()); -Stack-Empty ? level.dog_debug_orient == self getentnum() : IsDefined(val1) + if(level.dog_debug_orient == self getentnum()) + { + if(IsDefined(val1)) + { + println("DOG: Setting orient mode: " + mode + " " + val1 + " " + GetTime()); + } + else + { + println("DOG: Setting orient mode: " + mode + " " + GetTime()); + } + } #/ if(IsDefined(val1)) { @@ -50,10 +58,15 @@ Stack-Empty ? level.dog_debug_orient == self getentnum() : IsDefined(val1) debug_anim_print(text) { /# - println(text + " " + GetTime()); - println(text + " " + GetTime()); -level.dog_debug_anims_ent == self getentnum() -level.dog_debug_anims + if(level.dog_debug_anims) + { + println(text + " " + GetTime()); + } + + if(level.dog_debug_anims_ent == self getentnum()) + { + println(text + " " + GetTime()); + } #/ } @@ -61,17 +74,19 @@ level.dog_debug_anims debug_turn_print(text,line) { /# - duration = 200; - currentyawcolor = (1,1,1); - lookaheadyawcolor = (1,0,0); - desiredyawcolor = (1,1,0); - currentyaw = AngleClamp180(self.angles[1]); - desiredyaw = AngleClamp180(self.desiredangle); - lookaheaddir = self.lookaheaddir; - lookaheadangles = VectorToAngles(lookaheaddir); - lookaheadyaw = AngleClamp180(lookaheadangles[1]); - println(text + " " + GetTime() + " cur: " + currentyaw + " look: " + lookaheadyaw + " desired: " + desiredyaw); -level.dog_debug_turns == self getentnum() + if(level.dog_debug_turns == self getentnum()) + { + duration = 200; + currentyawcolor = (1,1,1); + lookaheadyawcolor = (1,0,0); + desiredyawcolor = (1,1,0); + currentyaw = AngleClamp180(self.angles[1]); + desiredyaw = AngleClamp180(self.desiredangle); + lookaheaddir = self.lookaheaddir; + lookaheadangles = VectorToAngles(lookaheaddir); + lookaheadyaw = AngleClamp180(lookaheadangles[1]); + println(text + " " + GetTime() + " cur: " + currentyaw + " look: " + lookaheadyaw + " desired: " + desiredyaw); + } #/ } @@ -100,8 +115,12 @@ current_yaw_line_debug(duration) currentyawcolor[1] = (1,0,1); current_color_index = 0; start_time = GetTime(); - level.lastdebugheight = 15; - for(;;) + if(!(IsDefined(level.lastdebugheight))) + { + level.lastdebugheight = 15; + } + + while(GetTime() - start_time < 1000) { pos1 = (self.origin[0],self.origin[1],self.origin[2] + level.lastdebugheight); pos2 = current_color_index + 1 * 10 + VectorScale(AnglesToForward(self.angles)); @@ -109,10 +128,15 @@ current_yaw_line_debug(duration) current_color_index = current_color_index + 1 % currentyawcolor.size; wait(0.05); } - level.lastdebugheight = 30; - level.lastdebugheight = 15; -(GetTime() - start_time < 1000) ? pos1 : level.lastdebugheight == 15 -IsDefined(level.lastdebugheight) + + if(level.lastdebugheight == 15) + { + level.lastdebugheight = 30; + } + else + { + level.lastdebugheight = 15; + } #/ } diff --git a/BO2/PC/MP/maps/mp/bots/_bot.gsc b/BO2/PC/MP/maps/mp/bots/_bot.gsc index f0a2c5f..5a2309d 100644 --- a/BO2/PC/MP/maps/mp/bots/_bot.gsc +++ b/BO2/PC/MP/maps/mp/bots/_bot.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 77 - * Decompile Time: 215 ms - * Timestamp: 10/27/2023 2:59:49 AM + * Decompile Time: 39 ms + * Timestamp: 10/28/2023 12:10:25 AM *******************************************************************/ #include common_scripts/utility; @@ -496,7 +496,14 @@ bot_local_think() bot_expected_friends = GetDvarInt(#"EB92E914"); bot_expected_enemies = GetDvarInt(#"94FFF5AF"); - max_players = islocalgame() ? 10 : 18; + if(islocalgame()) + { + } + else + { + } + + max_players = 18; for(;;) { for(;;) @@ -649,18 +656,26 @@ bot_spawn() self endon("disconnect"); /# weapon = undefined; - player = gethostplayer(); - weapon = player getcurrentweapon(); - weapon = GetDvar(#"605D81B6"); - self maps/mp/gametypes/_weapons::detach_all_weapons(); - self takeallweapons(); - self giveweapon(weapon); - self switchtoweapon(weapon); - self setspawnweapon(weapon); - self maps/mp/teams/_teams::set_player_model(self.team,weapon); -IsDefined(weapon) -GetDvar(#"605D81B6") != "" -GetDvarInt(#"98F33417") != 0 + if(GetDvarInt(#"98F33417") != 0) + { + player = gethostplayer(); + weapon = player getcurrentweapon(); + } + + if(GetDvar(#"605D81B6") != "") + { + weapon = GetDvar(#"605D81B6"); + } + + if(IsDefined(weapon)) + { + self maps/mp/gametypes/_weapons::detach_all_weapons(); + self takeallweapons(); + self giveweapon(weapon); + self switchtoweapon(weapon); + self setspawnweapon(weapon); + self maps/mp/teams/_teams::set_player_model(self.team,weapon); + } #/ self bot_spawn_init(); if(IsDefined(self.bot_first_spawn)) @@ -1170,15 +1185,14 @@ bot_get_enemies(on_radar) enemies = self getenemies(1); /# - i = 0; - for(;;) + for(i = 0;i < enemies.size;i++) { - arrayremoveindex(enemies,i); - i--; - i++; + if(enemies[i] isinmovemode("ufo","noclip")) + { + arrayremoveindex(enemies,i); + i--; + } } -enemies[i] isinmovemode("ufo","noclip") -i < enemies.size #/ if(on_radar && !self bot_has_radar()) { @@ -1205,15 +1219,14 @@ bot_get_friends() { friends = self getfriendlies(1); /# - i = 0; - for(;;) + for(i = 0;i < friends.size;i++) { - arrayremoveindex(friends,i); - i--; - i++; + if(friends[i] isinmovemode("ufo","noclip")) + { + arrayremoveindex(friends,i); + i--; + } } -friends[i] isinmovemode("ufo","noclip") -i < friends.size #/ return friends; } @@ -1976,7 +1989,10 @@ bot_update_killstreak() } /# -GetDvarInt(#"1D5FB2EC") + if(!(GetDvarInt(#"1D5FB2EC"))) + { + return; + } #/ self.bot.update_killstreak = time + randomintrange(1000,3000); weapons = self getweaponslist(); @@ -2101,19 +2117,24 @@ bot_rccar_think() else { /# -player isinmovemode("ufo","noclip") -#/ - if(bot_get_difficulty() == "easy") + if(player isinmovemode("ufo","noclip")) { - if(distancesquared(ent.origin,player.origin) < 262144) + } + else + { +#/ + if(bot_get_difficulty() == "easy") + { + if(distancesquared(ent.origin,player.origin) < 262144) + { + self pressattackbutton(); + } + } + else if(distancesquared(ent.origin,player.origin) < 40000) { self pressattackbutton(); } } - else if(distancesquared(ent.origin,player.origin) < 40000) - { - self pressattackbutton(); - } } } } @@ -2385,12 +2406,18 @@ gametype_void() bot_debug_star(origin,seconds,color) { /# - seconds = 1; - color = (1,0,0); + if(!(IsDefined(seconds))) + { + seconds = 1; + } + + if(!(IsDefined(color))) + { + color = (1,0,0); + } + frames = int(20 * seconds); debugstar(origin,frames,color); -IsDefined(color) -IsDefined(seconds) #/ } @@ -2398,12 +2425,18 @@ IsDefined(seconds) bot_debug_circle(origin,radius,seconds,color) { /# - seconds = 1; - color = (1,0,0); + if(!(IsDefined(seconds))) + { + seconds = 1; + } + + if(!(IsDefined(color))) + { + color = (1,0,0); + } + frames = int(20 * seconds); circle(origin,radius,color,0,1,frames); -IsDefined(color) -IsDefined(seconds) #/ } @@ -2411,14 +2444,23 @@ IsDefined(seconds) bot_debug_box(origin,mins,maxs,yaw,seconds,color) { /# - yaw = 0; - seconds = 1; - color = (1,0,0); + if(!(IsDefined(yaw))) + { + yaw = 0; + } + + if(!(IsDefined(seconds))) + { + seconds = 1; + } + + if(!(IsDefined(color))) + { + color = (1,0,0); + } + frames = int(20 * seconds); box(origin,mins,maxs,yaw,color,1,0,frames); -IsDefined(color) -IsDefined(seconds) -IsDefined(yaw) #/ } @@ -2444,20 +2486,25 @@ bot_devgui_think() self notify("crosshair_follow_off",GetDvarInt(#"487CD523") != 0); setdvar("bot_AllowMovement","0"); break; + case "laststand": setdvar("scr_forcelaststand","1"); self setperk("specialty_pistoldeath"); self setperk("specialty_finalstand"); self dodamage(self.health,self.origin); break; + case "": default: reset = 0; break; } - setdvar("devgui_bot",""); + + if(reset) + { + setdvar("devgui_bot",""); + } } -reset #/ } @@ -2478,11 +2525,13 @@ bot_system_devgui_think() team = player.team; devgui_bot_spawn(team); break; + case "spawn_enemy": player = gethostplayer(); team = getenemyteamwithlowestplayercount(player.team); devgui_bot_spawn(team); break; + case "loadout": case "player_weapon": players = get_players(); @@ -2501,21 +2550,28 @@ bot_system_devgui_think() player maps/mp/teams/_teams::set_player_model(player.team,weapon); _k2692 = NextArrayKey(_a2692); } + break; _k2692 - Stack-Empty ? IsDefined(_k2692) : player is_bot() + player is_bot() + IsDefined(_k2692) break; + case "routes": devgui_debug_route(); break; + case "": default: reset = 0; break; } - setdvar("devgui_bot",""); + + if(reset) + { + setdvar("devgui_bot",""); + } } -reset #/ } @@ -2541,8 +2597,10 @@ bot_crosshair_follow() direction_vec = (direction_vec[0] * scale,direction_vec[1] * scale,direction_vec[2] * scale); trace = bullettrace(eye,eye + direction_vec,0,undefined); origin = trace["position"] + (0,0,0); + if(distancesquared(self.origin,origin) > 16384) + { + } } -distancesquared(self.origin,origin) > 16384 #/ } @@ -2556,14 +2614,20 @@ bot_debug_patrol(node1,node2) { self addgoal(node1,24,4,"debug_route"); self waittill("debug_route",result); - self cancelgoal("debug_route"); - wait(5); + if(result == "failed") + { + self cancelgoal("debug_route"); + wait(5); + } + self addgoal(node2,24,4,"debug_route"); - self waittill(result == "failed","debug_route",result); - self cancelgoal("debug_route"); - wait(5); + self waittill("debug_route",result); + if(result == "failed") + { + self cancelgoal("debug_route"); + wait(5); + } } -result == "failed" #/ } @@ -2573,21 +2637,25 @@ devgui_debug_route() /# iprintln("Choose nodes with \'A\' or press \'B\' to cancel"); nodes = maps/mp/gametypes/_dev::dev_get_node_pair(); - iprintln("Route Debug Cancelled"); - return; + if(!(IsDefined(nodes))) + { + iprintln("Route Debug Cancelled"); + return; + } + iprintln("Sending bots to chosen nodes"); players = get_players(); - _a2804 = players; - _k2804 = FirstArrayKey(_a2804); - for(;;) + foreach(player in players) { - player = _a2804[_k2804]; - player notify("debug_patrol",player is_bot(),IsDefined(_k2804),IsDefined(nodes)); - player thread bot_debug_patrol(nodes[0],nodes[1]); - _k2804 = NextArrayKey(_a2804); + if(!(player is_bot())) + { + } + else + { + player notify("debug_patrol"); + player thread bot_debug_patrol(nodes[0],nodes[1]); + } } -_k2804 -Stack-Empty ? Stack-Empty : Stack-Empty #/ } @@ -2605,13 +2673,16 @@ devgui_bot_spawn(team) direction_vec = player.origin - trace["position"]; direction = VectorToAngles(direction_vec); bot = addtestclient(); - println("Could not add test client"); - return; + if(!(IsDefined(bot))) + { + println("Could not add test client"); + return; + } + bot.pers["isBot"] = 1; bot thread bot_spawn_think(team); yaw = direction[1]; bot thread devgui_bot_spawn_think(trace["position"],yaw); -IsDefined(bot) #/ } diff --git a/BO2/PC/MP/maps/mp/bots/_bot_combat.gsc b/BO2/PC/MP/maps/mp/bots/_bot_combat.gsc index 448c58d..4e98cb9 100644 --- a/BO2/PC/MP/maps/mp/bots/_bot_combat.gsc +++ b/BO2/PC/MP/maps/mp/bots/_bot_combat.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 65 - * Decompile Time: 159 ms - * Timestamp: 10/27/2023 2:59:50 AM + * Decompile Time: 16 ms + * Timestamp: 10/28/2023 12:10:25 AM *******************************************************************/ #include common_scripts/utility; @@ -35,10 +35,16 @@ bot_combat_think(damage,attacker,direction) difficulty = maps/mp/bots/_bot::bot_get_difficulty(); /# - self bot_combat_idle(); - isplayer(self.bot.threat.entity) && !self.bot.threat.entity is_bot() - GetDvarInt(#"D3EB879") - bot_has_enemy() + if(bot_has_enemy()) + { + if(GetDvarInt(#"D3EB879")) + { + if(isplayer(self.bot.threat.entity) && !self.bot.threat.entity is_bot()) + { + self bot_combat_idle(); + } + } + } #/ sight = bot_best_enemy(); bot_select_weapon(); diff --git a/BO2/PC/MP/maps/mp/bots/_bot_conf.gsc b/BO2/PC/MP/maps/mp/bots/_bot_conf.gsc index 29645ba..58e5732 100644 --- a/BO2/PC/MP/maps/mp/bots/_bot_conf.gsc +++ b/BO2/PC/MP/maps/mp/bots/_bot_conf.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 3 - * Decompile Time: 7 ms - * Timestamp: 10/27/2023 2:59:50 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:10:25 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/PC/MP/maps/mp/bots/_bot_ctf.gsc b/BO2/PC/MP/maps/mp/bots/_bot_ctf.gsc index daea819..fde9e5f 100644 --- a/BO2/PC/MP/maps/mp/bots/_bot_ctf.gsc +++ b/BO2/PC/MP/maps/mp/bots/_bot_ctf.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 12 - * Decompile Time: 50 ms - * Timestamp: 10/27/2023 2:59:50 AM + * Decompile Time: 13 ms + * Timestamp: 10/28/2023 12:10:26 AM *******************************************************************/ #include common_scripts/utility; @@ -32,9 +32,30 @@ bot_ctf_think() { nodes = getnodesinradius(flag_mine.curorigin,256,0,64,"any",8); node = random(nodes); - self maps/mp/bots/_bot_combat::bot_combat_throw_proximity(cointoss() ? flag_mine.curorigin : node.origin); - self maps/mp/bots/_bot_combat::bot_combat_toss_frag(cointoss() ? flag_mine.curorigin : node.origin); - self maps/mp/bots/_bot_combat::bot_combat_toss_flash(cointoss() ? flag_mine.curorigin : node.origin); + if(cointoss()) + { + } + else + { + } + + self maps/mp/bots/_bot_combat::bot_combat_throw_proximity(node.origin); + if(cointoss()) + { + } + else + { + } + + self maps/mp/bots/_bot_combat::bot_combat_toss_frag(node.origin); + if(cointoss()) + { + } + else + { + } + + self maps/mp/bots/_bot_combat::bot_combat_toss_flash(node.origin); } } diff --git a/BO2/PC/MP/maps/mp/bots/_bot_dem.gsc b/BO2/PC/MP/maps/mp/bots/_bot_dem.gsc index 78b4faa..ac418e7 100644 --- a/BO2/PC/MP/maps/mp/bots/_bot_dem.gsc +++ b/BO2/PC/MP/maps/mp/bots/_bot_dem.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 11 - * Decompile Time: 40 ms - * Timestamp: 10/27/2023 2:59:51 AM + * Decompile Time: 2 ms + * Timestamp: 10/28/2023 12:10:26 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/PC/MP/maps/mp/bots/_bot_dom.gsc b/BO2/PC/MP/maps/mp/bots/_bot_dom.gsc index 44cc467..ab38c35 100644 --- a/BO2/PC/MP/maps/mp/bots/_bot_dom.gsc +++ b/BO2/PC/MP/maps/mp/bots/_bot_dom.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 19 - * Decompile Time: 57 ms - * Timestamp: 10/27/2023 2:59:51 AM + * Decompile Time: 7 ms + * Timestamp: 10/28/2023 12:10:26 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/PC/MP/maps/mp/bots/_bot_hack.gsc b/BO2/PC/MP/maps/mp/bots/_bot_hack.gsc index cdcac39..d1dc483 100644 --- a/BO2/PC/MP/maps/mp/bots/_bot_hack.gsc +++ b/BO2/PC/MP/maps/mp/bots/_bot_hack.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 5 - * Decompile Time: 14 ms - * Timestamp: 10/27/2023 2:59:51 AM + * Decompile Time: 1 ms + * Timestamp: 10/28/2023 12:10:26 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/PC/MP/maps/mp/bots/_bot_hq.gsc b/BO2/PC/MP/maps/mp/bots/_bot_hq.gsc index 5f9f48e..25f596d 100644 --- a/BO2/PC/MP/maps/mp/bots/_bot_hq.gsc +++ b/BO2/PC/MP/maps/mp/bots/_bot_hq.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 14 - * Decompile Time: 33 ms - * Timestamp: 10/27/2023 2:59:52 AM + * Decompile Time: 2 ms + * Timestamp: 10/28/2023 12:10:27 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/PC/MP/maps/mp/bots/_bot_koth.gsc b/BO2/PC/MP/maps/mp/bots/_bot_koth.gsc index dcbe8e2..0e5f15b 100644 --- a/BO2/PC/MP/maps/mp/bots/_bot_koth.gsc +++ b/BO2/PC/MP/maps/mp/bots/_bot_koth.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 11 - * Decompile Time: 33 ms - * Timestamp: 10/27/2023 2:59:52 AM + * Decompile Time: 6 ms + * Timestamp: 10/28/2023 12:10:27 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/PC/MP/maps/mp/bots/_bot_loadout.gsc b/BO2/PC/MP/maps/mp/bots/_bot_loadout.gsc index c99249b..937d3d8 100644 --- a/BO2/PC/MP/maps/mp/bots/_bot_loadout.gsc +++ b/BO2/PC/MP/maps/mp/bots/_bot_loadout.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 15 - * Decompile Time: 43 ms - * Timestamp: 10/27/2023 2:59:52 AM + * Decompile Time: 5 ms + * Timestamp: 10/28/2023 12:10:27 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/PC/MP/maps/mp/bots/_bot_sd.gsc b/BO2/PC/MP/maps/mp/bots/_bot_sd.gsc index f24cf9d..582a0b3 100644 --- a/BO2/PC/MP/maps/mp/bots/_bot_sd.gsc +++ b/BO2/PC/MP/maps/mp/bots/_bot_sd.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 11 - * Decompile Time: 47 ms - * Timestamp: 10/27/2023 2:59:53 AM + * Decompile Time: 6 ms + * Timestamp: 10/28/2023 12:10:27 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/PC/MP/maps/mp/gametypes/_battlechatter_mp.gsc b/BO2/PC/MP/maps/mp/gametypes/_battlechatter_mp.gsc index 5a5114e..bc6ed67 100644 --- a/BO2/PC/MP/maps/mp/gametypes/_battlechatter_mp.gsc +++ b/BO2/PC/MP/maps/mp/gametypes/_battlechatter_mp.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 50 - * Decompile Time: 95 ms - * Timestamp: 10/27/2023 2:59:53 AM + * Decompile Time: 15 ms + * Timestamp: 10/28/2023 12:10:28 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/PC/MP/maps/mp/gametypes/_callbacksetup.gsc b/BO2/PC/MP/maps/mp/gametypes/_callbacksetup.gsc index 75e8fcd..dba149c 100644 --- a/BO2/PC/MP/maps/mp/gametypes/_callbacksetup.gsc +++ b/BO2/PC/MP/maps/mp/gametypes/_callbacksetup.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 23 - * Decompile Time: 15 ms - * Timestamp: 10/27/2023 2:59:53 AM + * Decompile Time: 3 ms + * Timestamp: 10/28/2023 12:10:28 AM *******************************************************************/ #include maps/mp/_audio; diff --git a/BO2/PC/MP/maps/mp/gametypes/_class.gsc b/BO2/PC/MP/maps/mp/gametypes/_class.gsc index a935fad..e6ebd7a 100644 --- a/BO2/PC/MP/maps/mp/gametypes/_class.gsc +++ b/BO2/PC/MP/maps/mp/gametypes/_class.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 45 - * Decompile Time: 114 ms - * Timestamp: 10/27/2023 2:59:54 AM + * Decompile Time: 15 ms + * Timestamp: 10/28/2023 12:10:28 AM *******************************************************************/ #include common_scripts/utility; @@ -270,9 +270,9 @@ weapon_class_register(weapon,weapon_type) else { /# - assert(0,"Weapon group info is missing from statsTable for: " + weapon_type); -#/ + assert(0,"Weapon group info is missing from statsTable for: " + weapon_type); } +#/ } //Function Number: 10 @@ -1097,16 +1097,20 @@ cac_modified_vehicle_damage(victim,attacker,damage,meansofdeath,weapon,inflictor { final_damage = damage * 100 + level.cac_bulletdamage_data / 100; /# - println("Perk/> " + attacker.name + "\'s bullet damage did extra damage to vehicle"); -GetDvarInt(#"5ABA6445") + if(GetDvarInt(#"5ABA6445")) + { + println("Perk/> " + attacker.name + "\'s bullet damage did extra damage to vehicle"); + } #/ } else if(attacker hasperk("specialty_explosivedamage") && isplayerexplosiveweapon(weapon,meansofdeath)) { final_damage = damage * 100 + level.cac_explosivedamage_data / 100; /# + if(GetDvarInt(#"5ABA6445")) + { println("Perk/> " + attacker.name + "\'s explosive damage did extra damage to vehicle"); -GetDvarInt(#"5ABA6445") + } #/ } else @@ -1115,8 +1119,10 @@ GetDvarInt(#"5ABA6445") } /# - println("Perk/> Damage Factor: " + final_damage / old_damage + " - Pre Damage: " + old_damage + " - Post Damage: " + final_damage); -GetDvarInt(#"5ABA6445") + if(GetDvarInt(#"5ABA6445")) + { + println("Perk/> Damage Factor: " + final_damage / old_damage + " - Pre Damage: " + old_damage + " - Post Damage: " + final_damage); + } #/ return int(final_damage); } @@ -1150,8 +1156,10 @@ cac_modified_damage(victim,attacker,damage,mod,weapon,inflictor,hitloc) /# debug = 0; - debug = 1; -GetDvarInt(#"5ABA6445") + if(GetDvarInt(#"5ABA6445")) + { + debug = 1; + } #/ final_damage = damage; if(attacker hasperk("specialty_bulletdamage") && isprimarydamage(mod)) @@ -1159,47 +1167,63 @@ GetDvarInt(#"5ABA6445") if(victim hasperk("specialty_armorvest") && !isheaddamage(hitloc)) { /# - println("Perk/> " + victim.name + "\'s armor countered " + attacker.name + "\'s increased bullet damage"); -debug + if(debug) + { + println("Perk/> " + victim.name + "\'s armor countered " + attacker.name + "\'s increased bullet damage"); + } #/ } else { final_damage = damage * 100 + level.cac_bulletdamage_data / 100; /# - println("Perk/> " + attacker.name + "\'s bullet damage did extra damage to " + victim.name); -debug -#/ + if(debug) + { + println("Perk/> " + attacker.name + "\'s bullet damage did extra damage to " + victim.name); + } } +#/ } - - if(victim hasperk("specialty_armorvest") && isprimarydamage(mod) && !isheaddamage(hitloc)) + else if(victim hasperk("specialty_armorvest") && isprimarydamage(mod) && !isheaddamage(hitloc)) { final_damage = damage * level.cac_armorvest_data * 0.01; /# - println("Perk/> " + attacker.name + "\'s bullet damage did less damage to " + victim.name); -debug + if(debug) + { + println("Perk/> " + attacker.name + "\'s bullet damage did less damage to " + victim.name); + } #/ } else if(victim hasperk("specialty_fireproof") && isfiredamage(weapon,mod)) { final_damage = damage * 100 - level.cac_fireproof_data / 100; /# + if(debug) + { println("Perk/> " + attacker.name + "\'s flames did less damage to " + victim.name); -debug + } #/ } else if(attacker hasperk("specialty_explosivedamage") && isplayerexplosiveweapon(weapon,mod)) { final_damage = damage * 100 + level.cac_explosivedamage_data / 100; /# - println("Perk/> " + attacker.name + "\'s explosive damage did extra damage to " + victim.name); -debug + if(debug) + { + println("Perk/> " + attacker.name + "\'s explosive damage did extra damage to " + victim.name); + } #/ } else if(victim hasperk("specialty_flakjacket") && isexplosivedamage(weapon,mod) && !victim grenadestuck(inflictor)) { - cac_data = level.hardcoremode ? level.cac_flakjacket_hardcore_data : level.cac_flakjacket_data; + if(level.hardcoremode) + { + } + else + { + } + + cac_data = level.cac_flakjacket_data; if(level.teambased && attacker.team != victim.team) { victim thread maps/mp/_challenges::flakjacketprotected(weapon,attacker); @@ -1211,21 +1235,24 @@ debug final_damage = int(damage * cac_data / 100); /# - println("Perk/> " + victim.name + "\'s flak jacket decreased " + attacker.name + "\'s grenade damage"); -debug + if(debug) + { + println("Perk/> " + victim.name + "\'s flak jacket decreased " + attacker.name + "\'s grenade damage"); + } + } #/ /# - victim.cac_debug_damage_type = tolower(mod); - victim.cac_debug_original_damage = damage; - victim.cac_debug_final_damage = final_damage; - victim.cac_debug_location = tolower(hitloc); - victim.cac_debug_weapon = tolower(weapon); - victim.cac_debug_range = int(distance(attacker.origin,victim.origin)); - println("Perk/> Damage Factor: " + final_damage / damage + " - Pre Damage: " + damage + " - Post Damage: " + final_damage); -debug -#/ + victim.cac_debug_damage_type = tolower(mod); + victim.cac_debug_original_damage = damage; + victim.cac_debug_final_damage = final_damage; + victim.cac_debug_location = tolower(hitloc); + victim.cac_debug_weapon = tolower(weapon); + victim.cac_debug_range = int(distance(attacker.origin,victim.origin)); + if(debug) + { + println("Perk/> Damage Factor: " + final_damage / damage + " - Pre Damage: " + damage + " - Post Damage: " + final_damage); } - +#/ final_damage = int(final_damage); if(final_damage < 1) { diff --git a/BO2/PC/MP/maps/mp/gametypes/_clientids.gsc b/BO2/PC/MP/maps/mp/gametypes/_clientids.gsc index 0c784d4..96c67ba 100644 --- a/BO2/PC/MP/maps/mp/gametypes/_clientids.gsc +++ b/BO2/PC/MP/maps/mp/gametypes/_clientids.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 2 - * Decompile Time: 1 ms - * Timestamp: 10/27/2023 2:59:54 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:10:28 AM *******************************************************************/ //Function Number: 1 diff --git a/BO2/PC/MP/maps/mp/gametypes/_copter.gsc b/BO2/PC/MP/maps/mp/gametypes/_copter.gsc index 0b2e1e4..8685dfc 100644 --- a/BO2/PC/MP/maps/mp/gametypes/_copter.gsc +++ b/BO2/PC/MP/maps/mp/gametypes/_copter.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 24 - * Decompile Time: 60 ms - * Timestamp: 10/27/2023 2:59:54 AM + * Decompile Time: 18 ms + * Timestamp: 10/28/2023 12:10:28 AM *******************************************************************/ //Function Number: 1 diff --git a/BO2/PC/MP/maps/mp/gametypes/_damagefeedback.gsc b/BO2/PC/MP/maps/mp/gametypes/_damagefeedback.gsc index df446b8..2790872 100644 --- a/BO2/PC/MP/maps/mp/gametypes/_damagefeedback.gsc +++ b/BO2/PC/MP/maps/mp/gametypes/_damagefeedback.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 6 - * Decompile Time: 58 ms - * Timestamp: 10/27/2023 2:59:55 AM + * Decompile Time: 1 ms + * Timestamp: 10/28/2023 12:10:29 AM *******************************************************************/ //Function Number: 1 diff --git a/BO2/PC/MP/maps/mp/gametypes/_deathicons.gsc b/BO2/PC/MP/maps/mp/gametypes/_deathicons.gsc index 022f5b7..a65ca08 100644 --- a/BO2/PC/MP/maps/mp/gametypes/_deathicons.gsc +++ b/BO2/PC/MP/maps/mp/gametypes/_deathicons.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 6 - * Decompile Time: 13 ms - * Timestamp: 10/27/2023 2:59:55 AM + * Decompile Time: 1 ms + * Timestamp: 10/28/2023 12:10:29 AM *******************************************************************/ #include maps/mp/gametypes/_deathicons; diff --git a/BO2/PC/MP/maps/mp/gametypes/_dev.gsc b/BO2/PC/MP/maps/mp/gametypes/_dev.gsc index f0e2448..b72852a 100644 --- a/BO2/PC/MP/maps/mp/gametypes/_dev.gsc +++ b/BO2/PC/MP/maps/mp/gametypes/_dev.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 92 - * Decompile Time: 304 ms - * Timestamp: 10/27/2023 2:59:56 AM + * Decompile Time: 50 ms + * Timestamp: 10/28/2023 12:10:29 AM *******************************************************************/ #include common_scripts/utility; @@ -29,21 +29,62 @@ init() { /# - for(;;) + if(sessionmodeiszombiesgame()) { - updatedevsettingszm(); - wait(0.5); + for(;;) + { + updatedevsettingszm(); + wait(0.5); + } + + return; } - return; - setdvar("scr_showspawns","0"); - setdvar("scr_showstartspawns","0"); - setdvar("scr_botsHasPlayerWeapon","0"); - setdvar("scr_botsGrenadesOnly","0"); - setdvar("scr_botsSpecialGrenadesOnly","0"); - setdvar("scr_devHeliPathsDebugDraw","0"); - setdvar("scr_devStrafeRunPathDebugDraw","0"); - setdvar("scr_show_hq_spawns",""); - setdvar("scr_testScriptRuntimeError","0"); + + if(GetDvar(#"16553A29") == "") + { + setdvar("scr_showspawns","0"); + } + + if(GetDvar(#"472D7677") == "") + { + setdvar("scr_showstartspawns","0"); + } + + if(GetDvar(#"98F33417") == "") + { + setdvar("scr_botsHasPlayerWeapon","0"); + } + + if(GetDvar(#"8330ABEF") == "") + { + setdvar("scr_botsGrenadesOnly","0"); + } + + if(GetDvar(#"FC880A10") == "") + { + setdvar("scr_botsSpecialGrenadesOnly","0"); + } + + if(GetDvar(#"C0DBB722") == "") + { + setdvar("scr_devHeliPathsDebugDraw","0"); + } + + if(GetDvar(#"AD911707") == "") + { + setdvar("scr_devStrafeRunPathDebugDraw","0"); + } + + if(GetDvar(#"F8E39F40") == "") + { + setdvar("scr_show_hq_spawns",""); + } + + if(GetDvar(#"316B7BEF") == "") + { + setdvar("scr_testScriptRuntimeError","0"); + } + precachemodel("defaultactor"); precachestring(&"testPlayerScoreForTan"); thread testscriptruntimeerror(); @@ -69,37 +110,29 @@ init() level.bot_threat = 0; level.bot_path = 0; level.dem_spawns = []; - extra_spawns = []; - extra_spawns[0] = "mp_dem_spawn_attacker_a"; - extra_spawns[1] = "mp_dem_spawn_attacker_b"; - extra_spawns[2] = "mp_dem_spawn_defender_a"; - extra_spawns[3] = "mp_dem_spawn_defender_b"; - i = 0; - for(;;) + if(level.gametype == "dem") { - points = getentarray(extra_spawns[i],"classname"); - level.dem_spawns = arraycombine(level.dem_spawns,points,1,0); - i++; + extra_spawns = []; + extra_spawns[0] = "mp_dem_spawn_attacker_a"; + extra_spawns[1] = "mp_dem_spawn_attacker_b"; + extra_spawns[2] = "mp_dem_spawn_defender_a"; + extra_spawns[3] = "mp_dem_spawn_defender_b"; + for(i = 0;i < extra_spawns.size;i++) + { + points = getentarray(extra_spawns[i],"classname"); + if(IsDefined(points) && points.size > 0) + { + level.dem_spawns = arraycombine(level.dem_spawns,points,1,0); + } + } } + thread onplayerconnect(); for(;;) { updatedevsettings(); wait(0.5); } -IsDefined(points) && points.size > 0 -i < extra_spawns.size -level.gametype == "dem" -GetDvar(#"316B7BEF") == "" -GetDvar(#"F8E39F40") == "" -GetDvar(#"AD911707") == "" -GetDvar(#"C0DBB722") == "" -GetDvar(#"FC880A10") == "" -GetDvar(#"8330ABEF") == "" -GetDvar(#"98F33417") == "" -GetDvar(#"472D7677") == "" -GetDvar(#"16553A29") == "" -sessionmodeiszombiesgame() #/ } @@ -116,28 +149,40 @@ updatehardpoints() { /# keys = getarraykeys(level.killstreaks); - i = 0; - for(;;) + for(i = 0;i < keys.size;i++) { - dvar = level.killstreaks[keys[i]].devdvar; - _a148 = level.players; - _k148 = FirstArrayKey(_a148); - for(;;) + if(!(IsDefined(level.killstreaks[keys[i]].devdvar))) { - player = _a148[_k148]; - player maps/mp/killstreaks/_killstreaks::givekillstreak(keys[i]); - player.bot["killstreaks"] = []; - player.bot["killstreaks"][0] = maps/mp/killstreaks/_killstreaks::getkillstreakmenuname(keys[i]); - killstreakweapon = maps/mp/killstreaks/_killstreaks::getkillstreakweapon(keys[i]); - player maps/mp/killstreaks/_killstreaks::givekillstreakweapon(killstreakweapon,1); - maps/mp/gametypes/_globallogic_score::_setplayermomentum(player,2000); - player maps/mp/killstreaks/_killstreaks::givekillstreak(keys[i]); - _k148 = NextArrayKey(_a148); } - setdvar(dvar,"0"); - i++; + else + { + dvar = level.killstreaks[keys[i]].devdvar; + if(GetDvarInt(dvar) == 1) + { + foreach(player in level.players) + { + if(IsDefined(level.usingmomentum) && level.usingmomentum && IsDefined(level.usingscorestreaks) && level.usingscorestreaks) + { + player maps/mp/killstreaks/_killstreaks::givekillstreak(keys[i]); + } + else if(player is_bot()) + { + player.bot["killstreaks"] = []; + player.bot["killstreaks"][0] = maps/mp/killstreaks/_killstreaks::getkillstreakmenuname(keys[i]); + killstreakweapon = maps/mp/killstreaks/_killstreaks::getkillstreakweapon(keys[i]); + player maps/mp/killstreaks/_killstreaks::givekillstreakweapon(killstreakweapon,1); + maps/mp/gametypes/_globallogic_score::_setplayermomentum(player,2000); + } + else + { + player maps/mp/killstreaks/_killstreaks::givekillstreak(keys[i]); + } + } + + setdvar(dvar,"0"); + } + } } -i < keys.size ? ((IsDefined(level.killstreaks[keys[i]].devdvar)) ? GetDvarInt(dvar) == 1 : (IsDefined(_k148) ? IsDefined(level.usingmomentum) && level.usingmomentum && IsDefined(level.usingscorestreaks) && level.usingscorestreaks : player is_bot())) : _k148 #/ } @@ -153,18 +198,41 @@ warpalltohost(team) yaw = (0,angles[1],0); forward = AnglesToForward(yaw); spawn_origin = 16 + VectorScale((0,0,1)); - spawn_origin = undefined; - i = 0; - for(;;) + if(!(bullettracepassed(host geteye(),spawn_origin,0,host))) { - players[i] setorigin(spawn_origin); - node = random(nodes); - players[i] setorigin(node.origin); - players[i] setorigin(origin); - i++; + spawn_origin = undefined; } + + for(i = 0;i < players.size;i++) + { + if(players[i] == host) + { + } + else if(IsDefined(team)) + { + if(team == "enemies_host" && host.team == players[i].team) + { + } + else if(team == "friendlies_host" && host.team != players[i].team) + { + } + else if(IsDefined(spawn_origin)) + { + players[i] setorigin(spawn_origin); + } + else if(nodes.size > 0) + { + node = random(nodes); + players[i] setorigin(node.origin); + } + else + { + players[i] setorigin(origin); + } + } + } + setdvar("scr_playerwarp",""); -Stack-Empty ? Stack-Empty : ((origin + forward * 128) ? bullettracepassed(host geteye(),spawn_origin,0,host) : (i < players.size ? players[i] == host : (IsDefined(team) ? team == "enemies_host" && host.team == players[i].team : ((team == "friendlies_host" && host.team != players[i].team) ? IsDefined(spawn_origin) : nodes.size > 0)))) #/ } @@ -172,62 +240,82 @@ Stack-Empty ? Stack-Empty : ((origin + forward * 128) ? bullettracepassed(host g updatedevsettingszm() { /# - level.streamdumpteamindex = 0; - level.streamdumpteamindex++; - numpoints = 0; - spawnpoints = []; - location = level.scr_zm_map_start_location; - location = level.default_start_location; - match_string = level.scr_zm_ui_gametype + "_" + location; - structs = getstructarray("initial_spawn","script_noteworthy"); - _a260 = structs; - _k260 = FirstArrayKey(_a260); - for(;;) + if(level.players.size > 0) { - struct = _a260[_k260]; - tokens = strtok(struct.script_string," "); - _a265 = tokens; - _k265 = FirstArrayKey(_a265); - for(;;) + if(GetDvar(#"7B03E923") == "3") { - token = _a265[_k265]; - spawnpoints[spawnpoints.size] = struct; - _k265 = NextArrayKey(_a265); + if(!(IsDefined(level.streamdumpteamindex))) + { + level.streamdumpteamindex = 0; + } + else + { + level.streamdumpteamindex++; + } + + numpoints = 0; + spawnpoints = []; + location = level.scr_zm_map_start_location; + if((location == "default" || location == "") && IsDefined(level.default_start_location)) + { + location = level.default_start_location; + } + + match_string = level.scr_zm_ui_gametype + "_" + location; + if(level.streamdumpteamindex < level.teams.size) + { + structs = getstructarray("initial_spawn","script_noteworthy"); + if(IsDefined(structs)) + { + foreach(struct in structs) + { + if(IsDefined(struct.script_string)) + { + tokens = strtok(struct.script_string," "); + foreach(token in tokens) + { + if(token == match_string) + { + spawnpoints[spawnpoints.size] = struct; + } + } + } + } + } + + if(!IsDefined(spawnpoints) || spawnpoints.size == 0) + { + spawnpoints = getstructarray("initial_spawn_points","targetname"); + } + + if(IsDefined(spawnpoints)) + { + numpoints = spawnpoints.size; + } + } + + if(numpoints == 0) + { + setdvar("r_streamDumpDistance","0"); + level.streamdumpteamindex = -1; + } + else + { + averageorigin = (0,0,0); + averageangles = (0,0,0); + foreach(spawnpoint in spawnpoints) + { + averageorigin = averageorigin + spawnpoint.origin / numpoints; + averageangles = averageangles + spawnpoint.angles / numpoints; + } + + level.players[0] setplayerangles(averageangles); + level.players[0] setorigin(averageorigin); + wait(0.05); + setdvar("r_streamDumpDistance","2"); + } } - _k260 = NextArrayKey(_a260); } - spawnpoints = getstructarray("initial_spawn_points","targetname"); - numpoints = spawnpoints.size; - setdvar("r_streamDumpDistance","0"); - level.streamdumpteamindex = -1; - averageorigin = (0,0,0); - averageangles = (0,0,0); - _a294 = spawnpoints; - _k294 = FirstArrayKey(_a294); - for(;;) - { - spawnpoint = _a294[_k294]; - averageorigin = averageorigin + spawnpoint.origin / numpoints; - averageangles = averageangles + spawnpoint.angles / numpoints; - _k294 = NextArrayKey(_a294); - } - level.players[0] setplayerangles(averageangles); - level.players[0] setorigin(averageorigin); - wait(0.05); - setdvar("r_streamDumpDistance","2"); -numpoints == 0 ? IsDefined(_k294) : _k294 -IsDefined(spawnpoints) -!IsDefined(spawnpoints) || spawnpoints.size == 0 -_k260 -_k265 -token == match_string -IsDefined(_k265) -IsDefined(struct.script_string) -IsDefined(_k260) -IsDefined(structs) -level.streamdumpteamindex < level.teams.size -(location == "default" || location == "") && IsDefined(level.default_start_location) -(level.players.size > 0) ? GetDvar(#"7B03E923") == "3" : IsDefined(level.streamdumpteamindex) #/ } @@ -238,325 +326,663 @@ updatedevsettings() show_spawns = GetDvarInt(#"16553A29"); show_start_spawns = GetDvarInt(#"472D7677"); player = gethostplayer(); - show_spawns = 1; - show_spawns = 0; - show_start_spawns = 1; - show_start_spawns = 0; - level.show_spawns = show_spawns; - setdvar("scr_showspawns",level.show_spawns); - showspawnpoints(); - hidespawnpoints(); - level.show_start_spawns = show_start_spawns; - setdvar("scr_showstartspawns",level.show_start_spawns); - showstartspawnpoints(); - hidestartspawnpoints(); + if(show_spawns >= 1) + { + show_spawns = 1; + } + else + { + show_spawns = 0; + } + + if(show_start_spawns >= 1) + { + show_start_spawns = 1; + } + else + { + show_start_spawns = 0; + } + + if(!IsDefined(level.show_spawns) || level.show_spawns != show_spawns) + { + level.show_spawns = show_spawns; + setdvar("scr_showspawns",level.show_spawns); + if(level.show_spawns) + { + showspawnpoints(); + } + else + { + hidespawnpoints(); + } + } + + if(!IsDefined(level.show_start_spawns) || level.show_start_spawns != show_start_spawns) + { + level.show_start_spawns = show_start_spawns; + setdvar("scr_showstartspawns",level.show_start_spawns); + if(level.show_start_spawns) + { + showstartspawnpoints(); + } + else + { + hidestartspawnpoints(); + } + } + updateminimapsetting(); - updatehardpoints(); - warpalltohost(); - warpalltohost(GetDvar(#"6A09CB73")); - warpalltohost(GetDvar(#"6A09CB73")); - players = get_players(); - setdvar("scr_playerwarp",""); - level.devgui_start_spawn_index = 0; - player = gethostplayer(); - spawns = level.spawn_start[player.pers["team"]]; - return; - i = 0; - for(;;) + if(level.players.size > 0) { - players[i] setorigin(spawns[level.devgui_start_spawn_index].origin); - players[i] setplayerangles(spawns[level.devgui_start_spawn_index].angles); - i++; - } - level.devgui_start_spawn_index++; - level.devgui_start_spawn_index = 0; - players = get_players(); - setdvar("scr_playerwarp",""); - level.devgui_start_spawn_index = 0; - player = gethostplayer(); - spawns = level.spawn_start[player.pers["team"]]; - return; - i = 0; - for(;;) - { - players[i] setorigin(spawns[level.devgui_start_spawn_index].origin); - players[i] setplayerangles(spawns[level.devgui_start_spawn_index].angles); - i++; - } - level.devgui_start_spawn_index--; - level.devgui_start_spawn_index = spawns.size - 1; - players = get_players(); - setdvar("scr_playerwarp",""); - level.devgui_spawn_index = 0; - spawns = level.spawnpoints; - spawns = arraycombine(spawns,level.dem_spawns,1,0); - return; - i = 0; - for(;;) - { - players[i] setorigin(spawns[level.devgui_spawn_index].origin); - players[i] setplayerangles(spawns[level.devgui_spawn_index].angles); - i++; - } - level.devgui_spawn_index++; - level.devgui_spawn_index = 0; - players = get_players(); - setdvar("scr_playerwarp",""); - level.devgui_spawn_index = 0; - spawns = level.spawnpoints; - spawns = arraycombine(spawns,level.dem_spawns,1,0); - return; - i = 0; - for(;;) - { - players[i] setorigin(spawns[level.devgui_spawn_index].origin); - players[i] setplayerangles(spawns[level.devgui_spawn_index].angles); - i++; - } - level.devgui_spawn_index--; - level.devgui_spawn_index = spawns.size - 1; - player = gethostplayer(); - player.devgui_spawn_active = 0; - iprintln("Previous spawn bound to D-Pad Left"); - iprintln("Next spawn bound to D-Pad Right"); - player.devgui_spawn_active = 1; - player thread devgui_spawn_think(); - player notify("devgui_spawn_think",player.devgui_spawn_active,IsDefined(player.devgui_spawn_active),GetDvar(#"1F70E0F8") != "",level.devgui_spawn_index < 0,i < players.size,!IsDefined(spawns) || spawns.size <= 0,IsDefined(level.devgui_spawn_index),GetDvar(#"6A09CB73") == "prev_spawn",level.devgui_spawn_index >= spawns.size,i < players.size,!IsDefined(spawns) || spawns.size <= 0,IsDefined(level.devgui_spawn_index),GetDvar(#"6A09CB73") == "next_spawn",level.devgui_start_spawn_index < 0,i < players.size,!IsDefined(spawns) || spawns.size <= 0,IsDefined(level.devgui_start_spawn_index),GetDvar(#"6A09CB73") == "prev_start_spawn",level.devgui_start_spawn_index >= spawns.size,i < players.size,!IsDefined(spawns) || spawns.size <= 0,IsDefined(level.devgui_start_spawn_index),GetDvar(#"6A09CB73") == "next_start_spawn",GetDvar(#"6A09CB73") == "friendlies_host",GetDvar(#"6A09CB73") == "enemies_host",GetDvar(#"6A09CB73") == "host",level.players.size > 0,((Stack-Empty ? (Stack-Empty ? Stack-Empty : show_spawns >= 1) : show_start_spawns >= 1) ? !IsDefined(level.show_spawns) || level.show_spawns != show_spawns : level.show_spawns) ? !IsDefined(level.show_start_spawns) || level.show_start_spawns != show_start_spawns : level.show_start_spawns); - player.devgui_spawn_active = 0; - player setactionslot(3,"altMode"); - player setactionslot(4,"nightvision"); - setdvar("scr_devgui_spawn",""); - players = get_players(); - level.devgui_unlimited_ammo = 1; - level.devgui_unlimited_ammo = !level.devgui_unlimited_ammo; - iprintln("Giving unlimited ammo to all players"); - iprintln("Stopping unlimited ammo for all players"); - i = 0; - for(;;) - { - players[i] thread devgui_unlimited_ammo(); - players[i] notify("devgui_unlimited_ammo",level.devgui_unlimited_ammo,i < players.size,Stack-Empty ? ((Stack-Empty ? Stack-Empty : Stack-Empty) ? GetDvar(#"A990D882") != "" : IsDefined(level.devgui_unlimited_ammo)) : level.devgui_unlimited_ammo); - i++; - } - setdvar("scr_player_ammo",""); - level.devgui_unlimited_momentum = 1; - level.devgui_unlimited_momentum = !level.devgui_unlimited_momentum; - iprintln("Giving unlimited momentum to all players"); - level thread devgui_unlimited_momentum(); - iprintln("Stopping unlimited momentum for all players"); - level notify("devgui_unlimited_momentum",level.devgui_unlimited_momentum,(Stack-Empty ? Stack-Empty : Stack-Empty) ? GetDvar(#"EC01172A") != "" : IsDefined(level.devgui_unlimited_momentum)); - setdvar("scr_player_momentum",""); - level thread devgui_increase_momentum(GetDvarInt(#"ADB1B0DE")); - setdvar("scr_give_player_score",""); - players = get_players(); - i = 0; - for(;;) - { - player = players[i]; - weapons = player getweaponslist(); - arrayremovevalue(weapons,"knife_mp"); - j = 0; - for(;;) + updatehardpoints(); + if(GetDvar(#"6A09CB73") == "host") { - player setweaponammostock(weapons[j],0); - player setweaponammoclip(weapons[j],0); - j++; + warpalltohost(); } - i++; - } - setdvar("scr_player_zero_ammo",""); - players = get_players(); - i = 0; - for(;;) - { - player = players[i]; - player setempjammed(0); - player setempjammed(1); - i++; - } - setdvar("scr_emp_jammed",""); - iprintln("Pausing Round Timer"); - maps/mp/gametypes/_globallogic_utils::pausetimer(); - iprintln("Resuming Round Timer"); - maps/mp/gametypes/_globallogic_utils::resumetimer(); - setdvar("scr_round_pause",""); - level maps/mp/gametypes/_globallogic::forceend(); - setdvar("scr_round_end",""); - players = get_players(); - host = gethostplayer(); - host.devgui_health_debug = 0; - host.devgui_health_debug = 0; - i = 0; - for(;;) - { - players[i] notify("devgui_health_debug",i < players.size,host.devgui_health_debug,IsDefined(host.devgui_health_debug),GetDvar(#"9A7D1E68") != "",GetDvar(#"6C3088CA") != "",((GetDvar(#"C2F42DBB") != "") ? i < players.size : GetDvar(#"C2F42DBB") == "0") ? GetDvar(#"3B362771") != "" : level.timerstopped,i < players.size ? j < weapons.size : weapons[j] == "none",GetDvar(#"B3003261") != "",GetDvar(#"ADB1B0DE") != "",Stack-Empty ? Stack-Empty : Stack-Empty); - players[i].debug_health_bar destroy(); - players[i].debug_health_text destroy(); - players[i].debug_health_bar = undefined; - players[i].debug_health_text = undefined; - i++; - } - host.devgui_health_debug = 1; - i = 0; - for(;;) - { - players[i] thread devgui_health_debug(); - i++; - } - setdvar("scr_health_debug",""); - level.devgui_show_hq = 0; - i = 0; - for(;;) - { - color = (1,0,0); - level showonespawnpoint(level.radios[i],color,"hide_hq_points",32,"hq_spawn"); - i++; - } - level notify("hide_hq_points",i < level.radios.size,level.devgui_show_hq,level.gametype == "koth" && IsDefined(level.radios),IsDefined(level.devgui_show_hq),GetDvar(#"F8E39F40") != "",Stack-Empty ? IsDefined(players[i].debug_health_bar) : i < players.size); - level.devgui_show_hq = !level.devgui_show_hq; - setdvar("scr_show_hq_spawns",""); - level.streamdumpteamindex = 0; - level.streamdumpteamindex++; - numpoints = 0; - teamname = getarraykeys(level.teams)[level.streamdumpteamindex]; - numpoints = level.spawn_start[teamname].size; - setdvar("r_streamDumpDistance","0"); - level.streamdumpteamindex = -1; - averageorigin = (0,0,0); - averageangles = (0,0,0); - _a761 = level.spawn_start[teamname]; - _k761 = FirstArrayKey(_a761); - for(;;) - { - spawnpoint = _a761[_k761]; - averageorigin = averageorigin + spawnpoint.origin / numpoints; - averageangles = averageangles + spawnpoint.angles / numpoints; - _k761 = NextArrayKey(_a761); - } - level.players[0] setplayerangles(averageangles); - level.players[0] setorigin(averageorigin); - wait(0.05); - setdvar("r_streamDumpDistance","2"); - players = get_players(); - iprintln("Taking all perks from all players"); - i = 0; - for(;;) - { - players[i] clearperks(); - i++; - } - setdvar("scr_giveperk",""); - perk = GetDvar(#"AB757D49"); - specialties = strtok(perk,"|"); - players = get_players(); - iprintln("Giving all players perk: \'" + perk + "\'"); - i = 0; - for(;;) - { - j = 0; - for(;;) + else if(GetDvar(#"6A09CB73") == "enemies_host") { - players[i] setperk(specialties[j]); - players[i].extraperks[specialties[j]] = 1; - j++; + warpalltohost(GetDvar(#"6A09CB73")); + } + else if(GetDvar(#"6A09CB73") == "friendlies_host") + { + warpalltohost(GetDvar(#"6A09CB73")); + } + else if(GetDvar(#"6A09CB73") == "next_start_spawn") + { + players = get_players(); + setdvar("scr_playerwarp",""); + if(!(IsDefined(level.devgui_start_spawn_index))) + { + level.devgui_start_spawn_index = 0; + } + + player = gethostplayer(); + spawns = level.spawn_start[player.pers["team"]]; + if(!IsDefined(spawns) || spawns.size <= 0) + { + return; + } + + for(i = 0;i < players.size;i++) + { + players[i] setorigin(spawns[level.devgui_start_spawn_index].origin); + players[i] setplayerangles(spawns[level.devgui_start_spawn_index].angles); + } + + level.devgui_start_spawn_index++; + if(level.devgui_start_spawn_index >= spawns.size) + { + level.devgui_start_spawn_index = 0; + } + } + else if(GetDvar(#"6A09CB73") == "prev_start_spawn") + { + players = get_players(); + setdvar("scr_playerwarp",""); + if(!(IsDefined(level.devgui_start_spawn_index))) + { + level.devgui_start_spawn_index = 0; + } + + player = gethostplayer(); + spawns = level.spawn_start[player.pers["team"]]; + if(!IsDefined(spawns) || spawns.size <= 0) + { + return; + } + + for(i = 0;i < players.size;i++) + { + players[i] setorigin(spawns[level.devgui_start_spawn_index].origin); + players[i] setplayerangles(spawns[level.devgui_start_spawn_index].angles); + } + + level.devgui_start_spawn_index--; + if(level.devgui_start_spawn_index < 0) + { + level.devgui_start_spawn_index = spawns.size - 1; + } + } + else if(GetDvar(#"6A09CB73") == "next_spawn") + { + players = get_players(); + setdvar("scr_playerwarp",""); + if(!(IsDefined(level.devgui_spawn_index))) + { + level.devgui_spawn_index = 0; + } + + spawns = level.spawnpoints; + spawns = arraycombine(spawns,level.dem_spawns,1,0); + if(!IsDefined(spawns) || spawns.size <= 0) + { + return; + } + + for(i = 0;i < players.size;i++) + { + players[i] setorigin(spawns[level.devgui_spawn_index].origin); + players[i] setplayerangles(spawns[level.devgui_spawn_index].angles); + } + + level.devgui_spawn_index++; + if(level.devgui_spawn_index >= spawns.size) + { + level.devgui_spawn_index = 0; + } + } + else if(GetDvar(#"6A09CB73") == "prev_spawn") + { + players = get_players(); + setdvar("scr_playerwarp",""); + if(!(IsDefined(level.devgui_spawn_index))) + { + level.devgui_spawn_index = 0; + } + + spawns = level.spawnpoints; + spawns = arraycombine(spawns,level.dem_spawns,1,0); + if(!IsDefined(spawns) || spawns.size <= 0) + { + return; + } + + for(i = 0;i < players.size;i++) + { + players[i] setorigin(spawns[level.devgui_spawn_index].origin); + players[i] setplayerangles(spawns[level.devgui_spawn_index].angles); + } + + level.devgui_spawn_index--; + if(level.devgui_spawn_index < 0) + { + level.devgui_spawn_index = spawns.size - 1; + } + } + else if(GetDvar(#"1F70E0F8") != "") + { + player = gethostplayer(); + if(!(IsDefined(player.devgui_spawn_active))) + { + player.devgui_spawn_active = 0; + } + + if(!(player.devgui_spawn_active)) + { + iprintln("Previous spawn bound to D-Pad Left"); + iprintln("Next spawn bound to D-Pad Right"); + player.devgui_spawn_active = 1; + player thread devgui_spawn_think(); + } + else + { + player notify("devgui_spawn_think"); + player.devgui_spawn_active = 0; + player setactionslot(3,"altMode"); + player setactionslot(4,"nightvision"); + } + + setdvar("scr_devgui_spawn",""); + } + else if(GetDvar(#"A990D882") != "") + { + players = get_players(); + if(!(IsDefined(level.devgui_unlimited_ammo))) + { + level.devgui_unlimited_ammo = 1; + } + else + { + level.devgui_unlimited_ammo = !level.devgui_unlimited_ammo; + } + + if(level.devgui_unlimited_ammo) + { + iprintln("Giving unlimited ammo to all players"); + } + else + { + iprintln("Stopping unlimited ammo for all players"); + } + + for(i = 0;i < players.size;i++) + { + if(level.devgui_unlimited_ammo) + { + players[i] thread devgui_unlimited_ammo(); + } + else + { + players[i] notify("devgui_unlimited_ammo"); + } + } + + setdvar("scr_player_ammo",""); + } + else if(GetDvar(#"EC01172A") != "") + { + if(!(IsDefined(level.devgui_unlimited_momentum))) + { + level.devgui_unlimited_momentum = 1; + } + else + { + level.devgui_unlimited_momentum = !level.devgui_unlimited_momentum; + } + + if(level.devgui_unlimited_momentum) + { + iprintln("Giving unlimited momentum to all players"); + level thread devgui_unlimited_momentum(); + } + else + { + iprintln("Stopping unlimited momentum for all players"); + level notify("devgui_unlimited_momentum"); + } + + setdvar("scr_player_momentum",""); + } + else if(GetDvar(#"ADB1B0DE") != "") + { + level thread devgui_increase_momentum(GetDvarInt(#"ADB1B0DE")); + setdvar("scr_give_player_score",""); + } + else if(GetDvar(#"B3003261") != "") + { + players = get_players(); + for(i = 0;i < players.size;i++) + { + player = players[i]; + weapons = player getweaponslist(); + arrayremovevalue(weapons,"knife_mp"); + for(j = 0;j < weapons.size;j++) + { + if(weapons[j] == "none") + { + } + else + { + player setweaponammostock(weapons[j],0); + player setweaponammoclip(weapons[j],0); + } + } + } + + setdvar("scr_player_zero_ammo",""); + } + else if(GetDvar(#"C2F42DBB") != "") + { + players = get_players(); + for(i = 0;i < players.size;i++) + { + player = players[i]; + if(GetDvar(#"C2F42DBB") == "0") + { + player setempjammed(0); + } + else + { + player setempjammed(1); + } + } + + setdvar("scr_emp_jammed",""); + } + else if(GetDvar(#"3B362771") != "") + { + if(!(level.timerstopped)) + { + iprintln("Pausing Round Timer"); + maps/mp/gametypes/_globallogic_utils::pausetimer(); + } + else + { + iprintln("Resuming Round Timer"); + maps/mp/gametypes/_globallogic_utils::resumetimer(); + } + + setdvar("scr_round_pause",""); + } + else if(GetDvar(#"6C3088CA") != "") + { + level maps/mp/gametypes/_globallogic::forceend(); + setdvar("scr_round_end",""); + } + else if(GetDvar(#"9A7D1E68") != "") + { + players = get_players(); + host = gethostplayer(); + if(!(IsDefined(host.devgui_health_debug))) + { + host.devgui_health_debug = 0; + } + + if(host.devgui_health_debug) + { + host.devgui_health_debug = 0; + for(i = 0;i < players.size;i++) + { + players[i] notify("devgui_health_debug"); + if(IsDefined(players[i].debug_health_bar)) + { + players[i].debug_health_bar destroy(); + players[i].debug_health_text destroy(); + players[i].debug_health_bar = undefined; + players[i].debug_health_text = undefined; + } + } + } + else + { + host.devgui_health_debug = 1; + for(i = 0;i < players.size;i++) + { + players[i] thread devgui_health_debug(); + } + } + + setdvar("scr_health_debug",""); + } + else if(GetDvar(#"F8E39F40") != "") + { + if(!(IsDefined(level.devgui_show_hq))) + { + level.devgui_show_hq = 0; + } + + if(level.gametype == "koth" && IsDefined(level.radios)) + { + if(!(level.devgui_show_hq)) + { + for(i = 0;i < level.radios.size;i++) + { + color = (1,0,0); + level showonespawnpoint(level.radios[i],color,"hide_hq_points",32,"hq_spawn"); + } + } + else + { + level notify("hide_hq_points"); + } + + level.devgui_show_hq = !level.devgui_show_hq; + } + + setdvar("scr_show_hq_spawns",""); + } + + if(GetDvar(#"7B03E923") == "3") + { + if(!(IsDefined(level.streamdumpteamindex))) + { + level.streamdumpteamindex = 0; + } + else + { + level.streamdumpteamindex++; + } + + numpoints = 0; + if(level.streamdumpteamindex < level.teams.size) + { + teamname = getarraykeys(level.teams)[level.streamdumpteamindex]; + if(IsDefined(level.spawn_start[teamname])) + { + numpoints = level.spawn_start[teamname].size; + } + } + + if(numpoints == 0) + { + setdvar("r_streamDumpDistance","0"); + level.streamdumpteamindex = -1; + } + else + { + averageorigin = (0,0,0); + averageangles = (0,0,0); + foreach(spawnpoint in level.spawn_start[teamname]) + { + averageorigin = averageorigin + spawnpoint.origin / numpoints; + averageangles = averageangles + spawnpoint.angles / numpoints; + } + + level.players[0] setplayerangles(averageangles); + level.players[0] setorigin(averageorigin); + wait(0.05); + setdvar("r_streamDumpDistance","2"); + } } - i++; } - setdvar("scr_giveperk",""); - force_grenade_throw(GetDvar(#"A21C71D1")); - setdvar("scr_forcegrenade",""); - event = GetDvar(#"B107A31D"); - player = gethostplayer(); - forward = AnglesToForward(player.angles); - right = AnglesToRight(player.angles); - player dodamage(1,player.origin + forward); - player dodamage(1,player.origin - forward); - player dodamage(1,player.origin - right); - player dodamage(1,player.origin + right); - setdvar("scr_forceevent",""); - perk = GetDvar(#"2952A7C3"); - i = 0; - for(;;) + + if(GetDvar(#"AB757D49") == "0") { - level.players[i] unsetperk(perk); - level.players[i].extraperks[perk] = undefined; - i++; + players = get_players(); + iprintln("Taking all perks from all players"); + for(i = 0;i < players.size;i++) + { + players[i] clearperks(); + } + + setdvar("scr_giveperk",""); } - setdvar("scr_takeperk",""); - nametokens = strtok(GetDvar(#"5625D4BA")," "); - thread xkillsy(nametokens[0],nametokens[1]); - setdvar("scr_x_kills_y",""); - ownername = GetDvar(#"31F91106"); - setdvar("scr_usedogs",""); - owner = undefined; - index = 0; - for(;;) + + if(GetDvar(#"AB757D49") != "") { - owner = level.players[index]; - index++; + perk = GetDvar(#"AB757D49"); + specialties = strtok(perk,"|"); + players = get_players(); + iprintln("Giving all players perk: \'" + perk + "\'"); + for(i = 0;i < players.size;i++) + { + for(j = 0;j < specialties.size;j++) + { + players[i] setperk(specialties[j]); + players[i].extraperks[specialties[j]] = 1; + } + } + + setdvar("scr_giveperk",""); } - owner maps/mp/killstreaks/_killstreaks::triggerkillstreak("dogs_mp"); - player.pers["rank"] = 0; - player.pers["rankxp"] = 0; - newrank = min(GetDvarInt(#"36B7604F"),54); - newrank = max(newrank,1); - setdvar("scr_set_level",""); - lastxp = 0; - index = 0; - for(;;) + + if(GetDvar(#"A21C71D1") != "") { - newxp = maps/mp/gametypes/_rank::getrankinfominxp(index); - player thread maps/mp/gametypes/_rank::giverankxp("kill",newxp - lastxp); - lastxp = newxp; - wait(0.25); - self notify("cancel_notify",index <= newrank,GetDvar(#"36B7604F") != "",IsDefined(owner),level.players[index].name == ownername,index < level.players.size,GetDvar(#"31F91106") != "",nametokens.size > 1,GetDvar(#"5625D4BA") != "",i < level.players.size,GetDvar(#"2952A7C3") != "",j < specialties.size ? GetDvar(#"A21C71D1") != "" : ((GetDvar(#"B107A31D") != "") ? event == "painfront" : (event == "painback" ? event == "painleft" : event == "painright")),i < players.size,GetDvar(#"AB757D49") != "",i < players.size,GetDvar(#"AB757D49") == "0",numpoints == 0 ? IsDefined(_k761) : _k761,IsDefined(level.spawn_start[teamname]),level.streamdumpteamindex < level.teams.size,(Stack-Empty ? Stack-Empty : (Stack-Empty ? Stack-Empty : (Stack-Empty ? Stack-Empty : (Stack-Empty ? Stack-Empty : (Stack-Empty ? Stack-Empty : (Stack-Empty ? Stack-Empty : (Stack-Empty ? Stack-Empty : (Stack-Empty ? Stack-Empty : (Stack-Empty ? Stack-Empty : (Stack-Empty ? Stack-Empty : (Stack-Empty ? Stack-Empty : (Stack-Empty ? Stack-Empty : (Stack-Empty ? Stack-Empty : (Stack-Empty ? Stack-Empty : (Stack-Empty ? Stack-Empty : (Stack-Empty ? Stack-Empty : (Stack-Empty ? Stack-Empty : Stack-Empty))))))))))))))))) ? GetDvar(#"7B03E923") == "3" : IsDefined(level.streamdumpteamindex)); - index++; + force_grenade_throw(GetDvar(#"A21C71D1")); + setdvar("scr_forcegrenade",""); } - player thread maps/mp/gametypes/_rank::giverankxp("challenge",GetDvarInt(#"D0ABF43F"),1); - setdvar("scr_givexp",""); - i = 0; - for(;;) + + if(GetDvar(#"B107A31D") != "") { - level.players[i] maps/mp/gametypes/_hud_message::oldnotifymessage(GetDvar(#"70B3C3B7"),GetDvar(#"70B3C3B7"),game["icons"]["allies"]); - i++; + event = GetDvar(#"B107A31D"); + player = gethostplayer(); + forward = AnglesToForward(player.angles); + right = AnglesToRight(player.angles); + if(event == "painfront") + { + player dodamage(1,player.origin + forward); + } + else if(event == "painback") + { + player dodamage(1,player.origin - forward); + } + else if(event == "painleft") + { + player dodamage(1,player.origin - right); + } + else if(event == "painright") + { + player dodamage(1,player.origin + right); + } + + setdvar("scr_forceevent",""); } - announcement(GetDvar(#"70B3C3B7"),0); - setdvar("scr_do_notify",""); - ents = getentarray(); - level.entarray = []; - level.entcounts = []; - level.entgroups = []; - index = 0; - for(;;) + + if(GetDvar(#"2952A7C3") != "") { - classname = ents[index].classname; - curent = ents[index]; - level.entarray[level.entarray.size] = curent; - level.entcounts[classname] = 0; - level.entcounts[classname]++; - level.entgroups[classname] = []; - level.entgroups[classname][level.entgroups[classname].size] = curent; - index++; + perk = GetDvar(#"2952A7C3"); + for(i = 0;i < level.players.size;i++) + { + level.players[i] unsetperk(perk); + level.players[i].extraperks[perk] = undefined; + } + + setdvar("scr_takeperk",""); + } + + if(GetDvar(#"5625D4BA") != "") + { + nametokens = strtok(GetDvar(#"5625D4BA")," "); + if(nametokens.size > 1) + { + thread xkillsy(nametokens[0],nametokens[1]); + } + + setdvar("scr_x_kills_y",""); + } + + if(GetDvar(#"31F91106") != "") + { + ownername = GetDvar(#"31F91106"); + setdvar("scr_usedogs",""); + owner = undefined; + for(index = 0;index < level.players.size;index++) + { + if(level.players[index].name == ownername) + { + owner = level.players[index]; + } + } + + if(IsDefined(owner)) + { + owner maps/mp/killstreaks/_killstreaks::triggerkillstreak("dogs_mp"); + } + } + + if(GetDvar(#"36B7604F") != "") + { + player.pers["rank"] = 0; + player.pers["rankxp"] = 0; + newrank = min(GetDvarInt(#"36B7604F"),54); + newrank = max(newrank,1); + setdvar("scr_set_level",""); + lastxp = 0; + for(index = 0;index <= newrank;index++) + { + newxp = maps/mp/gametypes/_rank::getrankinfominxp(index); + player thread maps/mp/gametypes/_rank::giverankxp("kill",newxp - lastxp); + lastxp = newxp; + wait(0.25); + self notify("cancel_notify",_k761); + } + } + + if(GetDvar(#"D0ABF43F") != "") + { + player thread maps/mp/gametypes/_rank::giverankxp("challenge",GetDvarInt(#"D0ABF43F"),1); + setdvar("scr_givexp",""); + } + + if(GetDvar(#"70B3C3B7") != "") + { + for(i = 0;i < level.players.size;i++) + { + level.players[i] maps/mp/gametypes/_hud_message::oldnotifymessage(GetDvar(#"70B3C3B7"),GetDvar(#"70B3C3B7"),game["icons"]["allies"]); + } + + announcement(GetDvar(#"70B3C3B7"),0); + setdvar("scr_do_notify",""); + } + + if(GetDvar(#"4F1284FA") != "") + { + ents = getentarray(); + level.entarray = []; + level.entcounts = []; + level.entgroups = []; + for(index = 0;index < ents.size;index++) + { + classname = ents[index].classname; + if(!(issubstr(classname,"_spawn"))) + { + curent = ents[index]; + level.entarray[level.entarray.size] = curent; + if(!(IsDefined(level.entcounts[classname]))) + { + level.entcounts[classname] = 0; + } + + level.entcounts[classname]++; + if(!(IsDefined(level.entgroups[classname]))) + { + level.entgroups[classname] = []; + } + + level.entgroups[classname][level.entgroups[classname].size] = curent; + } + } + } + + if(GetDvar(#"36FAE5DF") == "1" && !IsDefined(level.larry)) + { + thread larry_thread(); + } + else if(GetDvar(#"36FAE5DF") == "0") + { + level notify("kill_larry"); + } + + if(level.bot_overlay == 0 && GetDvarInt(#"1CBC4852") == 1) + { + level thread bot_overlay_think(); + level.bot_overlay = 1; + } + else if(level.bot_overlay == 1 && GetDvarInt(#"1CBC4852") == 0) + { + level bot_overlay_stop(); + level.bot_overlay = 0; + } + + if(level.bot_threat == 0 && GetDvarInt(#"68A98D18") == 1) + { + level thread bot_threat_think(); + level.bot_threat = 1; + } + else if(level.bot_threat == 1 && GetDvarInt(#"68A98D18") == 0) + { + level bot_threat_stop(); + level.bot_threat = 0; + } + + if(level.bot_path == 0 && GetDvarInt(#"D6F2CC5D") == 1) + { + level thread bot_path_think(); + level.bot_path = 1; + } + else if(level.bot_path == 1 && GetDvarInt(#"D6F2CC5D") == 0) + { + level bot_path_stop(); + level.bot_path = 0; + } + + if(GetDvarInt(#"9003F201") == 1) + { + level thread maps/mp/gametypes/_killcam::dofinalkillcam(); + level thread waitthennotifyfinalkillcam(); + } + + if(GetDvarInt(#"A0259FFF") == 1) + { + level thread maps/mp/gametypes/_killcam::dofinalkillcam(); + level thread waitthennotifyroundkillcam(); + } + + if(!level.bot_overlay && !level.bot_threat && !level.bot_path) + { + level notify("bot_dpad_terminate"); } - thread larry_thread(); - level notify("kill_larry",GetDvar(#"36FAE5DF") == "0",GetDvar(#"36FAE5DF") == "1" && !IsDefined(level.larry),IsDefined(level.entgroups[classname]),IsDefined(level.entcounts[classname]),issubstr(classname,"_spawn"),index < ents.size,GetDvar(#"4F1284FA") != "",i < level.players.size,GetDvar(#"70B3C3B7") != "",GetDvar(#"D0ABF43F") != ""); - level thread bot_overlay_think(); - level.bot_overlay = 1; - level bot_overlay_stop(); - level.bot_overlay = 0; - level thread bot_threat_think(); - level.bot_threat = 1; - level bot_threat_stop(); - level.bot_threat = 0; - level thread bot_path_think(); - level.bot_path = 1; - level bot_path_stop(); - level.bot_path = 0; - level thread maps/mp/gametypes/_killcam::dofinalkillcam(); - level thread waitthennotifyfinalkillcam(); - level thread maps/mp/gametypes/_killcam::dofinalkillcam(); - level thread waitthennotifyroundkillcam(); - level notify("bot_dpad_terminate",!level.bot_overlay && !level.bot_threat && !level.bot_path,GetDvarInt(#"A0259FFF") == 1,GetDvarInt(#"9003F201") == 1,(((Stack-Empty ? Stack-Empty : Stack-Empty) ? level.bot_overlay == 0 && GetDvarInt(#"1CBC4852") == 1 : level.bot_overlay == 1 && GetDvarInt(#"1CBC4852") == 0) ? level.bot_threat == 0 && GetDvarInt(#"68A98D18") == 1 : level.bot_threat == 1 && GetDvarInt(#"68A98D18") == 0) ? level.bot_path == 0 && GetDvarInt(#"D6F2CC5D") == 1 : level.bot_path == 1 && GetDvarInt(#"D6F2CC5D") == 0); #/ } @@ -594,15 +1020,28 @@ devgui_spawn_think() { self setactionslot(3,""); self setactionslot(4,""); - setdvar("scr_playerwarp","prev_spawn"); - dpad_left = 1; - dpad_left = 0; - setdvar("scr_playerwarp","next_spawn"); - dpad_right = 1; - dpad_right = 0; + if(!dpad_left && self buttonpressed("DPAD_LEFT")) + { + setdvar("scr_playerwarp","prev_spawn"); + dpad_left = 1; + } + else if(!(self buttonpressed("DPAD_LEFT"))) + { + dpad_left = 0; + } + + if(!dpad_right && self buttonpressed("DPAD_RIGHT")) + { + setdvar("scr_playerwarp","next_spawn"); + dpad_right = 1; + } + else if(!(self buttonpressed("DPAD_RIGHT"))) + { + dpad_right = 0; + } + wait(0.05); } -(Stack-Empty ? !dpad_left && self buttonpressed("DPAD_LEFT") : self buttonpressed("DPAD_LEFT")) ? !dpad_right && self buttonpressed("DPAD_RIGHT") : self buttonpressed("DPAD_RIGHT") #/ } @@ -619,14 +1058,20 @@ devgui_unlimited_ammo() weapons = []; weapons[0] = self getcurrentweapon(); weapons[1] = self getcurrentoffhand(); - i = 0; - for(;;) + for(i = 0;i < weapons.size;i++) { - self givemaxammo(weapons[i]); - i++; + if(weapons[i] == "none") + { + } + else if(maps/mp/killstreaks/_killstreaks::iskillstreakweapon(weapons[i])) + { + } + else + { + self givemaxammo(weapons[i]); + } } } -Stack-Empty ? Stack-Empty : (i < weapons.size ? weapons[i] == "none" : maps/mp/killstreaks/_killstreaks::iskillstreakweapon(weapons[i])) #/ } @@ -640,17 +1085,23 @@ devgui_unlimited_momentum() { wait(1); players = get_players(); - _a1088 = players; - _k1088 = FirstArrayKey(_a1088); - for(;;) + foreach(player in players) { - player = _a1088[_k1088]; - maps/mp/gametypes/_globallogic_score::_setplayermomentum(player,5000); - _k1088 = NextArrayKey(_a1088); + if(!(IsDefined(player))) + { + } + else if(!(isalive(player))) + { + } + else if(player.sessionstate != "playing") + { + } + else + { + maps/mp/gametypes/_globallogic_score::_setplayermomentum(player,5000); + } } } -_k1088 -Stack-Empty ? Stack-Empty : (Stack-Empty ? IsDefined(_k1088) : (IsDefined(player) ? isalive(player) : player.sessionstate != "playing")) #/ } @@ -659,16 +1110,22 @@ devgui_increase_momentum(score) { /# players = get_players(); - _a1114 = players; - _k1114 = FirstArrayKey(_a1114); - for(;;) + foreach(player in players) { - player = _a1114[_k1114]; - player maps/mp/gametypes/_globallogic_score::giveplayermomentumnotification(score,&"testPlayerScoreForTan","PLAYER_SCORE",0); - _k1114 = NextArrayKey(_a1114); + if(!(IsDefined(player))) + { + } + else if(!(isalive(player))) + { + } + else if(player.sessionstate != "playing") + { + } + else + { + player maps/mp/gametypes/_globallogic_score::giveplayermomentumnotification(score,&"testPlayerScoreForTan","PLAYER_SCORE",0); + } } -_k1114 -Stack-Empty ? Stack-Empty : (Stack-Empty ? IsDefined(_k1114) : (IsDefined(player) ? isalive(player) : player.sessionstate != "playing")) #/ } @@ -701,7 +1158,11 @@ devgui_health_debug() self.debug_health_text.alpha = 1; self.debug_health_text.fontscale = 1; self.debug_health_text.foreground = 1; - self.maxhealth = 100; + if(!IsDefined(self.maxhealth) || self.maxhealth <= 0) + { + self.maxhealth = 100; + } + for(;;) { wait(0.05); @@ -710,7 +1171,6 @@ devgui_health_debug() self.debug_health_bar setshader("black",width,8); self.debug_health_text setvalue(self.health); } -!IsDefined(self.maxhealth) || self.maxhealth <= 0 #/ } @@ -718,16 +1178,16 @@ devgui_health_debug() giveextraperks() { /# - return; + if(!(IsDefined(self.extraperks))) + { + return; + } + perks = getarraykeys(self.extraperks); - i = 0; - for(;;) + for(i = 0;i < perks.size;i++) { self setperk(perks[i]); - i++; } -i < perks.size -IsDefined(self.extraperks) #/ } @@ -737,17 +1197,24 @@ xkillsy(attackername,victimname) /# attacker = undefined; victim = undefined; - index = 0; - for(;;) + for(index = 0;index < level.players.size;index++) { - attacker = level.players[index]; - victim = level.players[index]; - index++; + if(level.players[index].name == attackername) + { + attacker = level.players[index]; + } + else if(level.players[index].name == victimname) + { + victim = level.players[index]; + } } - return; + + if(!isalive(attacker) || !isalive(victim)) + { + return; + } + victim thread [[ level.callbackplayerdamage ]](attacker,attacker,1000,0,"MOD_RIFLE_BULLET","none",(0,0,0),(0,0,0),"none",0,0); -!isalive(attacker) || !isalive(victim) -(index < level.players.size) ? level.players[index].name == attackername : level.players[index].name == victimname #/ } @@ -756,87 +1223,171 @@ updateminimapsetting() { /# requiredmapaspectratio = GetDvarFloat(#"33CF364A"); - setdvar("scr_minimap_height","0"); - level.minimapheight = 0; - minimapheight = GetDvarFloat(#"6B3B5DAF"); - gethostplayer() cameraactivate(0); - level.minimapheight = minimapheight; - level notify("end_draw_map_bounds",minimapheight <= 0,minimapheight != level.minimapheight,IsDefined(level.minimapheight)); - level.minimapheight = minimapheight; - players = get_players(); - player = gethostplayer(); - corners = getentarray("minimap_corner","targetname"); - viewpos = corners[0].origin + corners[1].origin; - viewpos = (viewpos[0] * 0.5,viewpos[1] * 0.5,viewpos[2] * 0.5); - level thread minimapwarn(corners); - maxcorner = (corners[0].origin[0],corners[0].origin[1],viewpos[2]); - mincorner = (corners[0].origin[0],corners[0].origin[1],viewpos[2]); - maxcorner = (corners[1].origin[0],maxcorner[1],maxcorner[2]); - mincorner = (corners[1].origin[0],mincorner[1],mincorner[2]); - maxcorner = (maxcorner[0],corners[1].origin[1],maxcorner[2]); - mincorner = (mincorner[0],corners[1].origin[1],mincorner[2]); - viewpostocorner = maxcorner - viewpos; - viewpos = (viewpos[0],viewpos[1],viewpos[2] + minimapheight); - northvector = (cos(getnorthyaw()),sin(getnorthyaw()),0); - eastvector = (northvector[1],0 - northvector[0],0); - disttotop = vectordot(northvector,viewpostocorner); - disttotop = 0 - disttotop; - disttoside = vectordot(eastvector,viewpostocorner); - disttoside = 0 - disttoside; - mapaspectratio = disttoside / disttotop; - incr = requiredmapaspectratio / mapaspectratio; - disttoside = disttoside * incr; - addvec = vecscale(eastvector,vectordot(eastvector,maxcorner - viewpos) * incr - 1); - mincorner = mincorner - addvec; - maxcorner = maxcorner + addvec; - incr = mapaspectratio / requiredmapaspectratio; - disttotop = disttotop * incr; - addvec = vecscale(northvector,vectordot(northvector,maxcorner - viewpos) * incr - 1); - mincorner = mincorner - addvec; - maxcorner = maxcorner + addvec; - aspectratioguess = 1.777778; - angleside = 2 * atan(disttoside * 0.8 / minimapheight); - angletop = 2 * atan(disttotop * aspectratioguess * 0.8 / minimapheight); - aspectratioguess = 1.333333; - angleside = 2 * atan(disttoside / minimapheight); - angletop = 2 * atan(disttotop * aspectratioguess / minimapheight); - angle = angleside; - angle = angletop; - znear = minimapheight - 1000; - znear = 16; - znear = 10000; - player camerasetposition(viewpos,(90,getnorthyaw(),0)); - player cameraactivate(1); - player takeallweapons(); - setdvar("cg_drawGun",0); - setdvar("cg_draw2D",0); - setdvar("cg_drawFPS",0); - setdvar("fx_enable",0); - setdvar("r_fog",0); - setdvar("r_highLodDist",0); - setdvar("r_znear",znear); - setdvar("r_lodscale",0); - setdvar("r_lodScaleRigid",0); - setdvar("cg_drawVersion",0); - setdvar("sm_enable",1); - setdvar("player_view_pitch_down",90); - setdvar("player_view_pitch_up",0); - setdvar("cg_fov",angle); - setdvar("cg_fovMin",1); - setdvar("debug_show_viewpos","0"); - i = 0; - for(;;) + if(!(IsDefined(level.minimapheight))) { - level.objpoints[level.objpointnames[i]] destroy(); - i++; + setdvar("scr_minimap_height","0"); + level.minimapheight = 0; + } + + minimapheight = GetDvarFloat(#"6B3B5DAF"); + if(minimapheight != level.minimapheight) + { + if(minimapheight <= 0) + { + gethostplayer() cameraactivate(0); + level.minimapheight = minimapheight; + level notify("end_draw_map_bounds"); + } + + if(minimapheight > 0) + { + level.minimapheight = minimapheight; + players = get_players(); + if(players.size > 0) + { + player = gethostplayer(); + corners = getentarray("minimap_corner","targetname"); + if(corners.size == 2) + { + viewpos = corners[0].origin + corners[1].origin; + viewpos = (viewpos[0] * 0.5,viewpos[1] * 0.5,viewpos[2] * 0.5); + level thread minimapwarn(corners); + maxcorner = (corners[0].origin[0],corners[0].origin[1],viewpos[2]); + mincorner = (corners[0].origin[0],corners[0].origin[1],viewpos[2]); + if(corners[1].origin[0] > corners[0].origin[0]) + { + maxcorner = (corners[1].origin[0],maxcorner[1],maxcorner[2]); + } + else + { + mincorner = (corners[1].origin[0],mincorner[1],mincorner[2]); + } + + if(corners[1].origin[1] > corners[0].origin[1]) + { + maxcorner = (maxcorner[0],corners[1].origin[1],maxcorner[2]); + } + else + { + mincorner = (mincorner[0],corners[1].origin[1],mincorner[2]); + } + + viewpostocorner = maxcorner - viewpos; + viewpos = (viewpos[0],viewpos[1],viewpos[2] + minimapheight); + northvector = (cos(getnorthyaw()),sin(getnorthyaw()),0); + eastvector = (northvector[1],0 - northvector[0],0); + disttotop = vectordot(northvector,viewpostocorner); + if(disttotop < 0) + { + disttotop = 0 - disttotop; + } + + disttoside = vectordot(eastvector,viewpostocorner); + if(disttoside < 0) + { + disttoside = 0 - disttoside; + } + + if(requiredmapaspectratio > 0) + { + mapaspectratio = disttoside / disttotop; + if(mapaspectratio < requiredmapaspectratio) + { + incr = requiredmapaspectratio / mapaspectratio; + disttoside = disttoside * incr; + addvec = vecscale(eastvector,vectordot(eastvector,maxcorner - viewpos) * incr - 1); + mincorner = mincorner - addvec; + maxcorner = maxcorner + addvec; + } + else + { + incr = mapaspectratio / requiredmapaspectratio; + disttotop = disttotop * incr; + addvec = vecscale(northvector,vectordot(northvector,maxcorner - viewpos) * incr - 1); + mincorner = mincorner - addvec; + maxcorner = maxcorner + addvec; + } + } + + if(level.console) + { + aspectratioguess = 1.777778; + angleside = 2 * atan(disttoside * 0.8 / minimapheight); + angletop = 2 * atan(disttotop * aspectratioguess * 0.8 / minimapheight); + } + else + { + aspectratioguess = 1.333333; + angleside = 2 * atan(disttoside / minimapheight); + angletop = 2 * atan(disttotop * aspectratioguess / minimapheight); + } + + if(angleside > angletop) + { + angle = angleside; + } + else + { + angle = angletop; + } + + znear = minimapheight - 1000; + if(znear < 16) + { + znear = 16; + } + + if(znear > 10000) + { + znear = 10000; + } + + player camerasetposition(viewpos,(90,getnorthyaw(),0)); + player cameraactivate(1); + player takeallweapons(); + setdvar("cg_drawGun",0); + setdvar("cg_draw2D",0); + setdvar("cg_drawFPS",0); + setdvar("fx_enable",0); + setdvar("r_fog",0); + setdvar("r_highLodDist",0); + setdvar("r_znear",znear); + setdvar("r_lodscale",0); + setdvar("r_lodScaleRigid",0); + setdvar("cg_drawVersion",0); + setdvar("sm_enable",1); + setdvar("player_view_pitch_down",90); + setdvar("player_view_pitch_up",0); + setdvar("cg_fov",angle); + setdvar("cg_fovMin",1); + setdvar("debug_show_viewpos","0"); + if(IsDefined(level.objpoints)) + { + for(i = 0;i < level.objpointnames.size;i++) + { + if(IsDefined(level.objpoints[level.objpointnames[i]])) + { + level.objpoints[level.objpointnames[i]] destroy(); + } + } + + level.objpoints = []; + level.objpointnames = []; + } + + thread drawminimapbounds(viewpos,mincorner,maxcorner); + } + else + { + println("^1Error: There are not exactly 2 \"minimap_corner\" entities in the level."); + } + } + else + { + setdvar("scr_minimap_height","0"); + } + } } - level.objpoints = []; - level.objpointnames = []; - thread drawminimapbounds(viewpos,mincorner,maxcorner); - println("^1Error: There are not exactly 2 \"minimap_corner\" entities in the level."); - setdvar("scr_minimap_height","0"); -znear < 16 ? znear > 10000 : ((IsDefined(level.objpoints)) ? i < level.objpointnames.size : IsDefined(level.objpoints[level.objpointnames[i]])) -(minimapheight > 0 ? (players.size > 0 ? corners.size == 2 : corners[1].origin[0] > corners[0].origin[0]) : corners[1].origin[1] > corners[0].origin[1]) ? (disttotop < 0 ? (disttoside < 0 ? requiredmapaspectratio > 0 : mapaspectratio < requiredmapaspectratio) : level.console) : angleside > angletop #/ } @@ -872,7 +1423,7 @@ drawminimapbounds(viewpos,mincorner,maxcorner) corner3 = maxcorner - side; toppos = vecscale(mincorner + maxcorner,0.5) + vecscale(sidenorth,0.51); textscale = diaglen * 0.003; - for(;;) + while(1) { line(corner0,corner1); line(corner1,corner2); @@ -881,7 +1432,6 @@ drawminimapbounds(viewpos,mincorner,maxcorner) print3d(toppos,"This Side Up",(1,1,1),1,textscale); wait(0.05); } -1 #/ } @@ -894,16 +1444,25 @@ minimapwarn(corners) width = int(width); height = Abs(corners[0].origin[1] - corners[1].origin[1]); height = int(height); - for(;;) + if(Abs(width - height) > threshold) { - iprintln("^1Warning: Minimap corners do not form a square (width: " + width + " height: " + height + ")\n"); - scale = height / width; - iprintln("^1Warning: The compass minimap might be scaled: " + scale + " units in height more than width\n"); - scale = width / height; - iprintln("^1Warning: The compass minimap might be scaled: " + scale + " units in width more than height\n"); - wait(10); + for(;;) + { + iprintln("^1Warning: Minimap corners do not form a square (width: " + width + " height: " + height + ")\n"); + if(height > width) + { + scale = height / width; + iprintln("^1Warning: The compass minimap might be scaled: " + scale + " units in height more than width\n"); + } + else + { + scale = width / height; + iprintln("^1Warning: The compass minimap might be scaled: " + scale + " units in width more than height\n"); + } + + wait(10); + } } -Stack-Empty ? Abs(width - height) > threshold : height > width #/ } @@ -923,8 +1482,10 @@ testscriptruntimeerror2() { /# myundefined = "test"; - println("undefined in testScriptRuntimeError2\n"); -myundefined == 1 + if(myundefined == 1) + { + println("undefined in testScriptRuntimeError2\n"); + } #/ } @@ -943,15 +1504,26 @@ testscriptruntimeerror() wait(5); for(;;) { - break; + if(GetDvar(#"316B7BEF") != "0") + { + break; + } + wait(1); } + myerror = GetDvar(#"316B7BEF"); setdvar("scr_testScriptRuntimeError","0"); - testscriptruntimeerrorassert(); - testscriptruntimeerror1(); + if(myerror == "assert") + { + testscriptruntimeerrorassert(); + } + else + { + testscriptruntimeerror1(); + } + thread testscriptruntimeerror(); -Stack-Empty ? GetDvar(#"316B7BEF") != "0" : myerror == "assert" #/ } @@ -962,16 +1534,20 @@ testdvars() wait(5); for(;;) { - break; + if(GetDvar(#"70EE00F9") != "") + { + break; + } + wait(1); } + tokens = strtok(GetDvar(#"70EE00F9")," "); dvarname = tokens[0]; dvarvalue = tokens[1]; setdvar(dvarname,dvarvalue); setdvar("scr_testdvar",""); thread testdvars(); -GetDvar(#"70EE00F9") != "" #/ } @@ -982,24 +1558,33 @@ addtestclients() wait(5); for(;;) { - break; + if(GetDvarInt(#"8EF43DBE") > 0) + { + break; + } + wait(1); } + playsoundonplayers("vox_kls_dav_spawn"); testclients = GetDvarInt(#"8EF43DBE"); setdvar("scr_testclients",0); - i = 0; - for(;;) + for(i = 0;i < testclients;i++) { ent[i] = addtestclient(); - println("Could not add test client"); - wait(1); - ent[i].pers["isBot"] = 1; - ent[i] thread testclient("autoassign"); - i++; + if(!(IsDefined(ent[i]))) + { + println("Could not add test client"); + wait(1); + } + else + { + ent[i].pers["isBot"] = 1; + ent[i] thread testclient("autoassign"); + } } + thread addtestclients(); -(GetDvarInt(#"8EF43DBE") > 0) ? i < testclients : IsDefined(ent[i]) #/ } @@ -1010,19 +1595,32 @@ addenemyheli() wait(5); for(;;) { - break; + if(GetDvarInt(#"A1755E55") > 0) + { + break; + } + wait(1); } + enemyheli = GetDvarInt(#"A1755E55"); setdvar("scr_spawnenemyheli",0); team = "autoassign"; player = gethostplayer(); - team = getotherteam(player.pers["team"]); + if(IsDefined(player.pers["team"])) + { + team = getotherteam(player.pers["team"]); + } + ent = getormakebot(team); - println("Could not add test client"); - wait(1); - thread addenemyheli(); - return; + if(!(IsDefined(ent))) + { + println("Could not add test client"); + wait(1); + thread addenemyheli(); + return; + } + switch(enemyheli) { case "1": @@ -1031,14 +1629,13 @@ addenemyheli() wait(0.5); ent notify("confirm_location",level.helilocation); break; + case "2": ent thread maps/mp/killstreaks/_helicopter_gunner::heli_gunner_killstreak("helicopter_player_gunner_mp"); break; } + thread addenemyheli(); -IsDefined(ent) -IsDefined(player.pers["team"]) -GetDvarInt(#"A1755E55") > 0 #/ } @@ -1046,22 +1643,27 @@ GetDvarInt(#"A1755E55") > 0 getormakebot(team) { /# - i = 0; - for(;;) + for(i = 0;i < level.players.size;i++) { - return level.players[i]; - i++; + if(level.players[i].team == team) + { + if(IsDefined(level.players[i].pers["isBot"]) && level.players[i].pers["isBot"]) + { + return level.players[i]; + } + } } + ent = addtestclient(); - playsoundonplayers("vox_kls_dav_spawn"); - ent.pers["isBot"] = 1; - ent thread testclient(team); - wait(1); + if(IsDefined(ent)) + { + playsoundonplayers("vox_kls_dav_spawn"); + ent.pers["isBot"] = 1; + ent thread testclient(team); + wait(1); + } + return ent; -IsDefined(ent) -IsDefined(level.players[i].pers["isBot"]) && level.players[i].pers["isBot"] -level.players[i].team == team -i < level.players.size #/ } @@ -1072,24 +1674,46 @@ addenemyu2() wait(5); for(;;) { - break; + if(GetDvarInt(#"23E1517A") > 0) + { + break; + } + wait(1); } + type = GetDvarInt(#"23E1517A"); setdvar("scr_spawnenemyu2",0); team = "autoassign"; player = gethostplayer(); - team = getotherteam(player.team); + if(IsDefined(player.team)) + { + team = getotherteam(player.team); + } + ent = getormakebot(team); - println("Could not add test client"); - wait(1); + if(!(IsDefined(ent))) + { + println("Could not add test client"); + wait(1); + thread addenemyu2(); + return; + } + + if(type == 3) + { + ent thread maps/mp/killstreaks/_radar::usekillstreaksatellite("radardirection_mp"); + } + else if(type == 2) + { + ent thread maps/mp/killstreaks/_radar::usekillstreakcounteruav("counteruav_mp"); + } + else + { + ent thread maps/mp/killstreaks/_radar::usekillstreakradar("radar_mp"); + } + thread addenemyu2(); - return; - ent thread maps/mp/killstreaks/_radar::usekillstreaksatellite("radardirection_mp"); - ent thread maps/mp/killstreaks/_radar::usekillstreakcounteruav("counteruav_mp"); - ent thread maps/mp/killstreaks/_radar::usekillstreakradar("radar_mp"); - thread addenemyu2(); -(GetDvarInt(#"23E1517A") > 0) ? IsDefined(player.team) : (IsDefined(ent) ? type == 3 : type == 2) #/ } @@ -1100,34 +1724,45 @@ addtestcarepackage() wait(5); for(;;) { - break; + if(GetDvarInt(#"78762059") > 0) + { + break; + } + wait(1); } + supplydrop = GetDvarInt(#"78762059"); team = "autoassign"; player = gethostplayer(); - switch(supplydrop) + if(IsDefined(player.pers["team"])) { - case "2": - team = getotherteam(player.pers["team"]); - break; - case "1": - default: - team = player.pers["team"]; - break; + switch(supplydrop) + { + case "2": + team = getotherteam(player.pers["team"]); + break; + + case "1": + default: + team = player.pers["team"]; + break; + } } + setdvar("scr_givetestsupplydrop",0); ent = getormakebot(team); - println("Could not add test client"); - wait(1); - thread addtestcarepackage(); - return; + if(!(IsDefined(ent))) + { + println("Could not add test client"); + wait(1); + thread addtestcarepackage(); + return; + } + ent maps/mp/killstreaks/_killstreakrules::killstreakstart("supply_drop_mp",team); ent thread maps/mp/killstreaks/_supplydrop::helidelivercrate(ent.origin,"supplydrop_mp",ent,team); thread addtestcarepackage(); -IsDefined(ent) -IsDefined(player.pers["team"]) -GetDvarInt(#"78762059") > 0 #/ } @@ -1138,22 +1773,37 @@ removetestclients() wait(5); for(;;) { - break; + if(GetDvarInt(#"C97483EC") > 0) + { + break; + } + wait(1); } + playsoundonplayers("vox_kls_dav_kill"); removetype = GetDvarInt(#"C97483EC"); setdvar("scr_testclientsremove",0); host = gethostplayer(); players = level.players; - i = 0; - for(;;) + for(i = 0;i < players.size;i++) { - kick(players[i] getentitynumber()); - i++; + if(IsDefined(players[i].pers["isBot"]) && players[i].pers["isBot"] == 1) + { + if(removetype == 2 && host.team != players[i].team) + { + } + else if(removetype == 3 && host.team == players[i].team) + { + } + else + { + kick(players[i] getentitynumber()); + } + } } + thread removetestclients(); -(GetDvarInt(#"C97483EC") > 0) ? i < players.size : ((IsDefined(players[i].pers["isBot"]) && players[i].pers["isBot"] == 1) ? removetype == 2 && host.team != players[i].team : removetype == 3 && host.team == players[i].team) #/ } @@ -1162,13 +1812,21 @@ testclient(team) { /# self endon("disconnect"); - wait(0.05); - self notify("menuresponse",game["menu_team"],team,level.teambased,IsDefined(self.pers["team"])); - wait(0.5); - for(;;) + while(!(IsDefined(self.pers["team"]))) + { + wait(0.05); + } + + if(level.teambased) + { + self notify("menuresponse",game["menu_team"],team); + wait(0.5); + } + + while(1) { classes = maps/mp/bots/_bot::bot_build_classes(); - self notify("menuresponse","changeclass",random(classes),1); + self notify("menuresponse","changeclass",random(classes)); self waittill("spawned_player"); wait(0.1); } @@ -1179,8 +1837,16 @@ testclient(team) showonespawnpoint(spawn_point,color,notification,height,print) { /# - height = get_player_height(); - print = spawn_point.classname; + if(!IsDefined(height) || height <= 0) + { + height = get_player_height(); + } + + if(!(IsDefined(print))) + { + print = spawn_point.classname; + } + center = spawn_point.origin; forward = AnglesToForward(spawn_point.angles); right = AnglesToRight(spawn_point.angles); @@ -1220,13 +1886,6 @@ showonespawnpoint(spawn_point,color,notification,height,print) thread lineuntilnotified(a,b,color,0,notification); thread lineuntilnotified(a,c,color,0,notification); thread print3duntilnotified(spawn_point.origin + (0,0,height),print,color,1,1,notification); -8 -24 -32 -16 -16 -IsDefined(print) -!IsDefined(height) || height <= 0 #/ } @@ -1234,23 +1893,20 @@ IsDefined(print) showspawnpoints() { /# - color = (1,1,1); - spawn_point_index = 0; - for(;;) + if(IsDefined(level.spawnpoints)) { - showonespawnpoint(level.spawnpoints[spawn_point_index],color,"hide_spawnpoints"); - spawn_point_index++; + color = (1,1,1); + for(spawn_point_index = 0;spawn_point_index < level.spawnpoints.size;spawn_point_index++) + { + showonespawnpoint(level.spawnpoints[spawn_point_index],color,"hide_spawnpoints"); + } } - i = 0; - for(;;) + + for(i = 0;i < level.dem_spawns.size;i++) { color = (0,1,0); showonespawnpoint(level.dem_spawns[i],color,"hide_spawnpoints"); - i++; } -i < level.dem_spawns.size -spawn_point_index < level.spawnpoints.size -IsDefined(level.spawnpoints) #/ } @@ -1259,15 +1915,23 @@ hidespawnpoints() { /# level notify("hide_spawnpoints"); -#/ } //Function Number: 35 showstartspawnpoints() { +#/ /# - return; - return; + if(!(level.teambased)) + { + return; + } + + if(!(IsDefined(level.spawn_start))) + { + return; + } + team_colors = []; team_colors["axis"] = (1,0,1); team_colors["allies"] = (0,1,1); @@ -1277,28 +1941,14 @@ showstartspawnpoints() team_colors["team6"] = (1,0.7,0); team_colors["team7"] = (0.25,0.25,1); team_colors["team8"] = (0.88,0,1); - _a1908 = level.teams; - _k1908 = FirstArrayKey(_a1908); - for(;;) + foreach(team in level.teams) { - team = _a1908[_k1908]; color = team_colors[team]; - _a1912 = level.spawn_start[team]; - _k1912 = FirstArrayKey(_a1912); - for(;;) + foreach(spawnpoint in level.spawn_start[team]) { - spawnpoint = _a1912[_k1912]; showonespawnpoint(spawnpoint,color,"hide_startspawnpoints"); - _k1912 = NextArrayKey(_a1912); } - _k1908 = NextArrayKey(_a1908); } -_k1908 -_k1912 -IsDefined(_k1912) -IsDefined(_k1908) -IsDefined(level.spawn_start) -level.teambased #/ } @@ -1307,12 +1957,12 @@ hidestartspawnpoints() { /# level notify("hide_startspawnpoints"); -#/ } //Function Number: 37 print3duntilnotified(origin,text,color,alpha,scale,notification) { +#/ /# level endon(notification); for(;;) @@ -1341,19 +1991,29 @@ engagement_distance_debug_toggle() { /# level endon("kill_engage_dist_debug_toggle_watcher"); - setdvar("debug_engage_dists","0"); + if(!(IsDefined(GetDvarInt(#"99BAF398")))) + { + setdvar("debug_engage_dists","0"); + } + laststate = GetDvarInt(#"99BAF398"); - for(;;) + while(1) { currentstate = GetDvarInt(#"99BAF398"); - weapon_engage_dists_init(); - thread debug_realtime_engage_dist(); - laststate = currentstate; - level notify("kill_all_engage_dist_debug",!dvar_turned_on(currentstate) && dvar_turned_on(laststate),dvar_turned_on(currentstate) && !dvar_turned_on(laststate),1,IsDefined(GetDvarInt(#"99BAF398"))); - laststate = currentstate; + if(dvar_turned_on(currentstate) && !dvar_turned_on(laststate)) + { + weapon_engage_dists_init(); + thread debug_realtime_engage_dist(); + laststate = currentstate; + } + else if(!dvar_turned_on(currentstate) && dvar_turned_on(laststate)) + { + level notify("kill_all_engage_dist_debug"); + laststate = currentstate; + } + wait(0.3); } -Stack-Empty ? Stack-Empty : Stack-Empty #/ } @@ -1361,9 +2021,14 @@ Stack-Empty ? Stack-Empty : Stack-Empty dvar_turned_on(val) { /# - return 0; - return 1; -Stack-Empty ? Stack-Empty : val <= 0 + if(val <= 0) + { + return 0; + } + else + { + return 1; + } #/ } @@ -1424,13 +2089,10 @@ engage_dist_debug_hud_destroy(hudarray,killnotify) { /# level waittill(killnotify); - i = 0; - for(;;) + for(i = 0;i < hudarray.size;i++) { hudarray[i] destroy(); - i++; } -i < hudarray.size #/ } @@ -1543,9 +2205,14 @@ engage_dists_add(weapontypestr,values) get_engage_dists(weapontypestr) { /# - return level.engagedists[weapontypestr]; - return undefined; -Stack-Empty ? Stack-Empty : IsDefined(level.engagedists[weapontypestr]) + if(IsDefined(level.engagedists[weapontypestr])) + { + return level.engagedists[weapontypestr]; + } + else + { + return undefined; + } #/ } @@ -1555,24 +2222,35 @@ engage_dists_watcher() /# level endon("kill_all_engage_dist_debug"); level endon("kill_engage_dists_watcher"); - for(;;) + while(1) { - for(;;) + player = gethostplayer(); + playerweapon = player getcurrentweapon(); + if(!(IsDefined(player.lastweapon))) { - player = gethostplayer(); - playerweapon = player getcurrentweapon(); player.lastweapon = playerweapon; break; - wait(0.05); } + + if(player.lastweapon == playerweapon) + { + wait(0.05); + continue; + } + values = get_engage_dists(playerweapon); - level.weaponengagedistvalues = values; - level.weaponengagedistvalues = undefined; + if(IsDefined(values)) + { + level.weaponengagedistvalues = values; + } + else + { + level.weaponengagedistvalues = undefined; + } + player.lastweapon = playerweapon; wait(0.05); } -(IsDefined(player.lastweapon)) ? player.lastweapon == playerweapon : IsDefined(values) -1 #/ } @@ -1586,7 +2264,7 @@ debug_realtime_engage_dist() level thread engage_dist_debug_hud_destroy(hudobjarray,"kill_all_engage_dist_debug"); level.debugrtengagedistcolor = level.green; player = gethostplayer(); - for(;;) + while(1) { lasttracepos = (0,0,0); direction = player getplayerangles(); @@ -1597,28 +2275,49 @@ debug_realtime_engage_dist() tracepoint = trace["position"]; tracenormal = trace["normal"]; tracedist = int(distance(eye,tracepoint)); - lasttracepos = tracepoint; - hudobj_changecolor(hudobjarray,level.white); - hudobjarray engagedist_hud_changetext("nodata",tracedist); - engagedistmin = level.weaponengagedistvalues.engagedistmin; - engagedistoptimal = level.weaponengagedistvalues.engagedistoptimal; - engagedistmulligan = level.weaponengagedistvalues.engagedistmulligan; - engagedistmax = level.weaponengagedistvalues.engagedistmax; - hudobjarray engagedist_hud_changetext("optimal",tracedist); - hudobj_changecolor(hudobjarray,level.green); - continue; - hudobjarray engagedist_hud_changetext("ok",tracedist); - hudobj_changecolor(hudobjarray,level.yellow); - hudobj_changecolor(hudobjarray,level.red); - hudobjarray engagedist_hud_changetext("short",tracedist); - hudobj_changecolor(hudobjarray,level.red); - hudobjarray engagedist_hud_changetext("long",tracedist); + if(tracepoint != lasttracepos) + { + lasttracepos = tracepoint; + if(!(IsDefined(level.weaponengagedistvalues))) + { + hudobj_changecolor(hudobjarray,level.white); + hudobjarray engagedist_hud_changetext("nodata",tracedist); + } + else + { + engagedistmin = level.weaponengagedistvalues.engagedistmin; + engagedistoptimal = level.weaponengagedistvalues.engagedistoptimal; + engagedistmulligan = level.weaponengagedistvalues.engagedistmulligan; + engagedistmax = level.weaponengagedistvalues.engagedistmax; + if(tracedist >= engagedistmin && tracedist <= engagedistmax) + { + if(tracedist >= engagedistoptimal - engagedistmulligan && tracedist <= engagedistoptimal + engagedistmulligan) + { + hudobjarray engagedist_hud_changetext("optimal",tracedist); + hudobj_changecolor(hudobjarray,level.green); + continue; + } + + hudobjarray engagedist_hud_changetext("ok",tracedist); + hudobj_changecolor(hudobjarray,level.yellow); + } + else if(tracedist < engagedistmin) + { + hudobj_changecolor(hudobjarray,level.red); + hudobjarray engagedist_hud_changetext("short",tracedist); + } + else if(tracedist > engagedistmax) + { + hudobj_changecolor(hudobjarray,level.red); + hudobjarray engagedist_hud_changetext("long",tracedist); + } + } + } + thread plot_circle_fortime(1,5,0.05,level.debugrtengagedistcolor,tracepoint,tracenormal); thread plot_circle_fortime(1,1,0.05,level.debugrtengagedistcolor,tracepoint,tracenormal); wait(0.05); } -player ? tracepoint != lasttracepos : ((IsDefined(level.weaponengagedistvalues)) ? tracedist >= engagedistmin && tracedist <= engagedistmax : ((tracedist >= engagedistoptimal - engagedistmulligan && tracedist <= engagedistoptimal + engagedistmulligan) ? tracedist < engagedistmin : tracedist > engagedistmax)) -1 #/ } @@ -1626,16 +2325,15 @@ player ? tracepoint != lasttracepos : ((IsDefined(level.weaponengagedistvalues)) hudobj_changecolor(hudobjarray,newcolor) { /# - i = 0; - for(;;) + for(i = 0;i < hudobjarray.size;i++) { hudobj = hudobjarray[i]; - hudobj.color = newcolor; - level.debugrtengagedistcolor = newcolor; - i++; + if(hudobj.color != newcolor) + { + hudobj.color = newcolor; + level.debugrtengagedistcolor = newcolor; + } } -hudobj.color != newcolor -i < hudobjarray.size #/ } @@ -1643,28 +2341,53 @@ i < hudobjarray.size engagedist_hud_changetext(engagedisttype,units) { /# - level.lastdisttype = "none"; - self[1] setvalue(units); - self[2] settext("units: OPTIMAL!"); - self[3].alpha = 0; - self[1] setvalue(units); - self[2] settext("units: OK!"); - self[3].alpha = 0; - amountunder = level.weaponengagedistvalues.engagedistmin - units; - self[1] setvalue(units); - self[3] setvalue(amountunder); - self[3].alpha = 1; - self[2] settext("units: SHORT by "); - amountover = units - level.weaponengagedistvalues.engagedistmax; - self[1] setvalue(units); - self[3] setvalue(amountover); - self[3].alpha = 1; - self[2] settext("units: LONG by "); - self[1] setvalue(units); - self[2] settext(" units: (NO CURRENT WEAPON VALUES)"); - self[3].alpha = 0; + if(!(IsDefined(level.lastdisttype))) + { + level.lastdisttype = "none"; + } + + if(engagedisttype == "optimal") + { + self[1] setvalue(units); + self[2] settext("units: OPTIMAL!"); + self[3].alpha = 0; + } + else if(engagedisttype == "ok") + { + self[1] setvalue(units); + self[2] settext("units: OK!"); + self[3].alpha = 0; + } + else if(engagedisttype == "short") + { + amountunder = level.weaponengagedistvalues.engagedistmin - units; + self[1] setvalue(units); + self[3] setvalue(amountunder); + self[3].alpha = 1; + if(level.lastdisttype != engagedisttype) + { + self[2] settext("units: SHORT by "); + } + } + else if(engagedisttype == "long") + { + amountover = units - level.weaponengagedistvalues.engagedistmax; + self[1] setvalue(units); + self[3] setvalue(amountover); + self[3].alpha = 1; + if(level.lastdisttype != engagedisttype) + { + self[2] settext("units: LONG by "); + } + } + else if(engagedisttype == "nodata") + { + self[1] setvalue(units); + self[2] settext(" units: (NO CURRENT WEAPON VALUES)"); + self[3].alpha = 0; + } + level.lastdisttype = engagedisttype; -Stack-Empty ? IsDefined(level.lastdisttype) : ((engagedisttype == "optimal") ? engagedisttype == "ok" : ((engagedisttype == "short") ? level.lastdisttype != engagedisttype : ((engagedisttype == "long") ? level.lastdisttype != engagedisttype : engagedisttype == "nodata"))) #/ } @@ -1672,7 +2395,11 @@ Stack-Empty ? IsDefined(level.lastdisttype) : ((engagedisttype == "optimal") ? e plot_circle_fortime(radius1,radius2,time,color,origin,normal) { /# - color = (0,1,0); + if(!(IsDefined(color))) + { + color = (0,1,0); + } + hangtime = 0.05; circleres = 6; hemires = circleres / 2; @@ -1682,25 +2409,20 @@ plot_circle_fortime(radius1,radius2,time,color,origin,normal) rad = 0; timer = GetTime() + time * 1000; radius = radius1; - for(;;) + while(GetTime() < timer) { radius = radius2; angletoplayer = VectorToAngles(normal); - i = 0; - for(;;) + for(i = 0;i < circleres;i++) { plotpoints[plotpoints.size] = radius + VectorScale(AnglesToForward(angletoplayer + (rad,90,0))); rad = rad + circleinc; - i++; } + maps/mp/_utility::plot_points(plotpoints,color[0],color[1],color[2],hangtime); plotpoints = []; wait(hangtime); } -origin -i < circleres -GetTime() < timer -IsDefined(color) #/ } @@ -1716,17 +2438,20 @@ larry_thread() player thread larry_init(level.larry); level waittill("kill_larry"); larry_hud_destroy(level.larry); - level.larry.model delete(); - i = 0; - for(;;) + if(IsDefined(level.larry.model)) { - kick(level.larry.ai[i] getentitynumber()); - i++; + level.larry.model delete(); } + + if(IsDefined(level.larry.ai)) + { + for(i = 0;i < level.larry.ai.size;i++) + { + kick(level.larry.ai[i] getentitynumber()); + } + } + level.larry = undefined; -i < level.larry.ai.size -IsDefined(level.larry.ai) -IsDefined(level.larry.model) #/ } @@ -1743,8 +2468,12 @@ larry_init(larry) for(;;) { wait(0.05); - larry.model hide(); - continue; + if(larry.ai.size > 0) + { + larry.model hide(); + continue; + } + direction = self getplayerangles(); direction_vec = AnglesToForward(direction); eye = self geteye(); @@ -1753,15 +2482,15 @@ larry_init(larry) position = dist - 64 + VectorScale(direction_vec); larry.model.origin = position; larry.model.angles = 180 + VectorScale((0,1,0)); - self larry_ai(larry); - wait(0.05); + if(self usebuttonpressed()) + { + self larry_ai(larry); + while(self usebuttonpressed()) + { + wait(0.05); + } + } } -self usebuttonpressed() -self usebuttonpressed() -self.angles -eye -undefined -larry.ai.size > 0 #/ } @@ -1808,21 +2537,44 @@ larry_ai_damage(larry) for(;;) { self waittill("damage",damage,attacker,dir,point); - continue; + if(!(IsDefined(attacker))) + { + continue; + } + player = gethostplayer(); - continue; + if(!(IsDefined(player))) + { + continue; + } + + if(attacker != player) + { + continue; + } + eye = player geteye(); range = int(distance(eye,point)); larry.menu[larry.menu_health] setvalue(self.health); larry.menu[larry.menu_damage] setvalue(damage); larry.menu[larry.menu_range] setvalue(range); - larry.menu[larry.menu_hitloc] settext(self.cac_debug_location); - larry.menu[larry.menu_hitloc] settext(""); - larry.menu[larry.menu_weapon] settext(self.cac_debug_weapon); - continue; + if(IsDefined(self.cac_debug_location)) + { + larry.menu[larry.menu_hitloc] settext(self.cac_debug_location); + } + else + { + larry.menu[larry.menu_hitloc] settext(""); + } + + if(IsDefined(self.cac_debug_weapon)) + { + larry.menu[larry.menu_weapon] settext(self.cac_debug_weapon); + continue; + } + larry.menu[larry.menu_weapon] settext(""); } -IsDefined(attacker) ? (IsDefined(player) ? attacker != player : IsDefined(self.cac_debug_location)) : IsDefined(self.cac_debug_weapon) #/ } @@ -1874,7 +2626,6 @@ larry_hud_init(larry) larry.menu[larry.menu_hitloc] = new_hud(menu_name,"",x + x_offset,y + 40,1); larry.menu[larry.menu_weapon] = new_hud(menu_name,"",x + x_offset,y + 50,1); larry.menu[larry.menu_perks] = new_hud(menu_name,"",x + x_offset,y + 60,1); -0.5 #/ } @@ -1882,16 +2633,16 @@ larry_hud_init(larry) larry_hud_destroy(larry) { /# - larry.hud destroy(); - i = 0; - for(;;) + if(IsDefined(larry.hud)) { - larry.menu[i] destroy(); - i++; + larry.hud destroy(); + for(i = 0;i < larry.menu.size;i++) + { + larry.menu[i] destroy(); + } + + larry.cleartextmarker destroy(); } - larry.cleartextmarker destroy(); -i < larry.menu.size -IsDefined(larry.hud) #/ } @@ -1899,13 +2650,19 @@ IsDefined(larry.hud) new_hud(hud_name,msg,x,y,scale) { /# - level.hud_array = []; - level.hud_array[hud_name] = []; + if(!(IsDefined(level.hud_array))) + { + level.hud_array = []; + } + + if(!(IsDefined(level.hud_array[hud_name]))) + { + level.hud_array[hud_name] = []; + } + hud = set_hudelem(msg,x,y,scale); level.hud_array[hud_name][level.hud_array[hud_name].size] = hud; return hud; -IsDefined(level.hud_array[hud_name]) -IsDefined(level.hud_array) #/ } @@ -1913,9 +2670,21 @@ IsDefined(level.hud_array) set_hudelem(text,x,y,scale,alpha,sort,debug_hudelem) { /# - alpha = 1; - scale = 1; - sort = 20; + if(!(IsDefined(alpha))) + { + alpha = 1; + } + + if(!(IsDefined(scale))) + { + scale = 1; + } + + if(!(IsDefined(sort))) + { + sort = 20; + } + hud = newdebughudelem(); hud.debug_hudelem = 1; hud.location = 0; @@ -1928,12 +2697,12 @@ set_hudelem(text,x,y,scale,alpha,sort,debug_hudelem) hud.x = x; hud.y = y; hud.og_scale = scale; - hud settext(text); + if(IsDefined(text)) + { + hud settext(text); + } + return hud; -IsDefined(text) -IsDefined(sort) -IsDefined(scale) -IsDefined(alpha) #/ } @@ -1944,20 +2713,49 @@ watch_botsdvars() hasplayerweaponprev = GetDvarInt(#"98F33417"); grenadesonlyprev = GetDvarInt(#"8330ABEF"); secondarygrenadesonlyprev = GetDvarInt(#"FC880A10"); - for(;;) + while(1) { - hasplayerweaponprev = GetDvarInt(#"98F33417"); - iprintlnbold("LARRY has player weapon: ON"); - iprintlnbold("LARRY has player weapon: OFF"); - grenadesonlyprev = GetDvarInt(#"8330ABEF"); - iprintlnbold("LARRY using grenades only: ON"); - iprintlnbold("LARRY using grenades only: OFF"); - secondarygrenadesonlyprev = GetDvarInt(#"FC880A10"); - iprintlnbold("LARRY using secondary grenades only: ON"); - iprintlnbold("LARRY using secondary grenades only: OFF"); + if(hasplayerweaponprev != GetDvarInt(#"98F33417")) + { + hasplayerweaponprev = GetDvarInt(#"98F33417"); + if(hasplayerweaponprev) + { + iprintlnbold("LARRY has player weapon: ON"); + } + else + { + iprintlnbold("LARRY has player weapon: OFF"); + } + } + + if(grenadesonlyprev != GetDvarInt(#"8330ABEF")) + { + grenadesonlyprev = GetDvarInt(#"8330ABEF"); + if(grenadesonlyprev) + { + iprintlnbold("LARRY using grenades only: ON"); + } + else + { + iprintlnbold("LARRY using grenades only: OFF"); + } + } + + if(secondarygrenadesonlyprev != GetDvarInt(#"FC880A10")) + { + secondarygrenadesonlyprev = GetDvarInt(#"FC880A10"); + if(secondarygrenadesonlyprev) + { + iprintlnbold("LARRY using secondary grenades only: ON"); + } + else + { + iprintlnbold("LARRY using secondary grenades only: OFF"); + } + } + wait(1); } -((1 ? hasplayerweaponprev != GetDvarInt(#"98F33417") : hasplayerweaponprev) ? grenadesonlyprev != GetDvarInt(#"8330ABEF") : grenadesonlyprev) ? secondarygrenadesonlyprev != GetDvarInt(#"FC880A10") : secondarygrenadesonlyprev #/ } @@ -1975,7 +2773,11 @@ watchattachmentchange() /# self endon("disconnect"); clientnum = self getentitynumber(); - return; + if(clientnum != 0) + { + return; + } + dpad_left = 0; dpad_right = 0; dpad_up = 0; @@ -1984,40 +2786,71 @@ watchattachmentchange() dpad_modifier_button = getattachmentchangemodifierbutton(); for(;;) { - self giveweaponnextattachment("muzzle"); - dpad_left = 1; - self thread print_weapon_name(); - self giveweaponnextattachment("trigger"); - dpad_right = 1; - self thread print_weapon_name(); - self giveweaponnextattachment("top"); - dpad_up = 1; - self thread print_weapon_name(); - self giveweaponnextattachment("bottom"); - dpad_down = 1; - self thread print_weapon_name(); - self giveweaponnextattachment("gunperk"); - lstick_down = 1; - self thread print_weapon_name(); - dpad_left = 0; - dpad_right = 0; - dpad_up = 0; - dpad_down = 0; - lstick_down = 0; + if(self buttonpressed(dpad_modifier_button)) + { + if(!dpad_left && self buttonpressed("DPAD_LEFT")) + { + self giveweaponnextattachment("muzzle"); + dpad_left = 1; + self thread print_weapon_name(); + } + + if(!dpad_right && self buttonpressed("DPAD_RIGHT")) + { + self giveweaponnextattachment("trigger"); + dpad_right = 1; + self thread print_weapon_name(); + } + + if(!dpad_up && self buttonpressed("DPAD_UP")) + { + self giveweaponnextattachment("top"); + dpad_up = 1; + self thread print_weapon_name(); + } + + if(!dpad_down && self buttonpressed("DPAD_DOWN")) + { + self giveweaponnextattachment("bottom"); + dpad_down = 1; + self thread print_weapon_name(); + } + + if(!lstick_down && self buttonpressed("BUTTON_LSTICK")) + { + self giveweaponnextattachment("gunperk"); + lstick_down = 1; + self thread print_weapon_name(); + } + } + + if(!(self buttonpressed("DPAD_LEFT"))) + { + dpad_left = 0; + } + + if(!(self buttonpressed("DPAD_RIGHT"))) + { + dpad_right = 0; + } + + if(!(self buttonpressed("DPAD_UP"))) + { + dpad_up = 0; + } + + if(!(self buttonpressed("DPAD_DOWN"))) + { + dpad_down = 0; + } + + if(!(self buttonpressed("BUTTON_LSTICK"))) + { + lstick_down = 0; + } + wait(0.05); } -self buttonpressed("BUTTON_LSTICK") -self buttonpressed("DPAD_DOWN") -self buttonpressed("DPAD_UP") -self buttonpressed("DPAD_RIGHT") -self buttonpressed("DPAD_LEFT") -!lstick_down && self buttonpressed("BUTTON_LSTICK") -!dpad_down && self buttonpressed("DPAD_DOWN") -!dpad_up && self buttonpressed("DPAD_UP") -!dpad_right && self buttonpressed("DPAD_RIGHT") -!dpad_left && self buttonpressed("DPAD_LEFT") -self buttonpressed(dpad_modifier_button) -clientnum != 0 #/ } @@ -2028,20 +2861,31 @@ print_weapon_name() self notify("print_weapon_name"); self endon("print_weapon_name"); wait(0.2); - self waittill(self isswitchingweapons(),"weapon_change_complete",weapon_name); - fail_safe = 0; - for(;;) + if(self isswitchingweapons()) { - self waittill(weapon_name == "none","weapon_change_complete",weapon_name); - wait(0.05); - fail_safe++; - break; + self waittill("weapon_change_complete",weapon_name); + fail_safe = 0; + while(weapon_name == "none") + { + self waittill("weapon_change_complete",weapon_name); + wait(0.05); + fail_safe++; + if(fail_safe > 120) + { + break; + } + } } - weapon_name = self getcurrentweapon(); + else + { + weapon_name = self getcurrentweapon(); + } + printweaponname = getdvarintdefault("scr_print_weapon_name",1); - iprintlnbold(weapon_name); -printweaponname -Stack-Empty ? Stack-Empty : fail_safe > 120 + if(printweaponname) + { + iprintlnbold(weapon_name); + } #/ } @@ -2049,7 +2893,11 @@ Stack-Empty ? Stack-Empty : fail_safe > 120 set_equipment_list() { /# - return; + if(IsDefined(level.dev_equipment)) + { + return; + } + level.dev_equipment = []; level.dev_equipment[1] = "acoustic_sensor_mp"; level.dev_equipment[2] = "camera_spike_mp"; @@ -2060,7 +2908,6 @@ set_equipment_list() level.dev_equipment[7] = "bouncingbetty_mp"; level.dev_equipment[8] = "trophy_system_mp"; level.dev_equipment[9] = "pda_hack_mp"; -IsDefined(level.dev_equipment) #/ } @@ -2068,7 +2915,11 @@ IsDefined(level.dev_equipment) set_grenade_list() { /# - return; + if(IsDefined(level.dev_grenade)) + { + return; + } + level.dev_grenade = []; level.dev_grenade[1] = "frag_grenade_mp"; level.dev_grenade[2] = "sticky_grenade_mp"; @@ -2080,7 +2931,6 @@ set_grenade_list() level.dev_grenade[8] = "nightingale_mp"; level.dev_grenade[9] = "emp_grenade_mp"; level.dev_grenade[10] = "sensor_grenade_mp"; -IsDefined(level.dev_grenade) #/ } @@ -2088,20 +2938,15 @@ IsDefined(level.dev_grenade) take_all_grenades_and_equipment(player) { /# - i = 0; - for(;;) + for(i = 0;i < level.dev_equipment.size;i++) { player takeweapon(level.dev_equipment[i + 1]); - i++; } - i = 0; - for(;;) + + for(i = 0;i < level.dev_grenade.size;i++) { player takeweapon(level.dev_grenade[i + 1]); - i++; } -i < level.dev_grenade.size -i < level.dev_equipment.size #/ } @@ -2112,22 +2957,21 @@ equipment_dev_gui() set_equipment_list(); set_grenade_list(); setdvar("scr_give_equipment",""); - for(;;) + while(1) { wait(0.5); devgui_int = GetDvarInt(#"A0215B8E"); - i = 0; - for(;;) + if(devgui_int != 0) { - take_all_grenades_and_equipment(level.players[i]); - level.players[i] giveweapon(level.dev_equipment[devgui_int]); - i++; + for(i = 0;i < level.players.size;i++) + { + take_all_grenades_and_equipment(level.players[i]); + level.players[i] giveweapon(level.dev_equipment[devgui_int]); + } + + setdvar("scr_give_equipment","0"); } - setdvar("scr_give_equipment","0"); } -i < level.players.size -devgui_int != 0 -1 #/ } @@ -2138,22 +2982,21 @@ grenade_dev_gui() set_equipment_list(); set_grenade_list(); setdvar("scr_give_grenade",""); - for(;;) + while(1) { wait(0.5); devgui_int = GetDvarInt(#"227BB8EC"); - i = 0; - for(;;) + if(devgui_int != 0) { - take_all_grenades_and_equipment(level.players[i]); - level.players[i] giveweapon(level.dev_grenade[devgui_int]); - i++; + for(i = 0;i < level.players.size;i++) + { + take_all_grenades_and_equipment(level.players[i]); + level.players[i] giveweapon(level.dev_grenade[devgui_int]); + } + + setdvar("scr_give_grenade","0"); } - setdvar("scr_give_grenade","0"); } -i < level.players.size -devgui_int != 0 -1 #/ } @@ -2166,11 +3009,19 @@ force_grenade_throw(weapon) setdvar("bot_PressMeleeBtn","0"); setdvar("scr_botsAllowKillstreaks","0"); host = gethostplayer(); - iprintln("Unable to determine host player team"); - return; + if(!(IsDefined(host.team))) + { + iprintln("Unable to determine host player team"); + return; + } + bot = getormakebot(getotherteam(host.team)); - iprintln("Could not add test client"); - return; + if(!(IsDefined(bot))) + { + iprintln("Could not add test client"); + return; + } + angles = host getplayerangles(); angles = (0,angles[1],0); dir = AnglesToForward(angles); @@ -2180,10 +3031,6 @@ force_grenade_throw(weapon) grenade = bot magicgrenade(weapon,origin,velocity); grenade setteam(bot.team); grenade setowner(bot); --1024 -host geteye() -IsDefined(bot) -IsDefined(host.team) #/ } @@ -2194,14 +3041,19 @@ bot_dpad_think() level notify("bot_dpad_stop"); level endon("bot_dpad_stop"); level endon("bot_dpad_terminate"); - level.bot_index = 0; + if(!(IsDefined(level.bot_index))) + { + level.bot_index = 0; + } + host = gethostplayer(); - for(;;) + while(!(IsDefined(host))) { wait(0.5); host = gethostplayer(); level.bot_index = 0; } + dpad_left = 0; dpad_right = 0; for(;;) @@ -2211,17 +3063,47 @@ bot_dpad_think() host setactionslot(4,""); players = get_players(); max = players.size; - level.bot_index--; - level.bot_index = max - 1; - continue; - dpad_left = 1; - dpad_left = 0; - level.bot_index++; - level.bot_index = 0; - continue; - dpad_right = 1; - dpad_right = 0; - level notify("bot_index_changed",(level.bot_index >= max) ? players[level.bot_index] is_bot() : host buttonpressed("DPAD_RIGHT"),!dpad_right && host buttonpressed("DPAD_RIGHT"),level.bot_index < 0 ? players[level.bot_index] is_bot() : host buttonpressed("DPAD_LEFT"),!dpad_left && host buttonpressed("DPAD_LEFT"),IsDefined(host),IsDefined(level.bot_index)); + if(!dpad_left && host buttonpressed("DPAD_LEFT")) + { + level.bot_index--; + if(level.bot_index < 0) + { + level.bot_index = max - 1; + } + + if(!(players[level.bot_index] is_bot())) + { + continue; + } + + dpad_left = 1; + } + else if(!(host buttonpressed("DPAD_LEFT"))) + { + dpad_left = 0; + } + + if(!dpad_right && host buttonpressed("DPAD_RIGHT")) + { + level.bot_index++; + if(level.bot_index >= max) + { + level.bot_index = 0; + } + + if(!(players[level.bot_index] is_bot())) + { + continue; + } + + dpad_right = 1; + } + else if(!(host buttonpressed("DPAD_RIGHT"))) + { + dpad_right = 0; + } + + level notify("bot_index_changed"); } #/ } @@ -2236,8 +3118,12 @@ bot_overlay_think() iprintln("Next Bot bound to D-Pad Right"); for(;;) { - setdvar("bot_Debug",level.bot_index); - level waittill(GetDvarInt(#"C0935AD0") != level.bot_index,"bot_index_changed"); + if(GetDvarInt(#"C0935AD0") != level.bot_index) + { + setdvar("bot_Debug",level.bot_index); + } + + level waittill("bot_index_changed"); } #/ } @@ -2252,8 +3138,12 @@ bot_threat_think() iprintln("Next Bot bound to D-Pad Right"); for(;;) { - setdvar("bot_DebugThreat",level.bot_index); - level waittill(GetDvarInt(#"3DB0D1F8") != level.bot_index,"bot_index_changed"); + if(GetDvarInt(#"3DB0D1F8") != level.bot_index) + { + setdvar("bot_DebugThreat",level.bot_index); + } + + level waittill("bot_index_changed"); } #/ } @@ -2268,8 +3158,12 @@ bot_path_think() iprintln("Next Bot bound to D-Pad Right"); for(;;) { - setdvar("bot_DebugPaths",level.bot_index); - level waittill(GetDvarInt(#"F20E8150") != level.bot_index,"bot_index_changed"); + if(GetDvarInt(#"F20E8150") != level.bot_index) + { + setdvar("bot_DebugPaths",level.bot_index); + } + + level waittill("bot_index_changed"); } #/ } @@ -2314,81 +3208,95 @@ devstraferunpathdebugdraw() drawtime = maxdrawtime; origintextoffset = VectorScale((0,0,-1)); endonmsg = "devStopStrafeRunPathDebugDraw"; - for(;;) + while(1) { - for(;;) + if(GetDvarInt(#"AD911707") > 0) { nodes = []; end = 0; node = getvehiclenode("warthog_start","targetname"); - println("No strafe run path found"); - setdvar("scr_devStrafeRunPathDebugDraw","0"); + if(!(IsDefined(node))) + { + println("No strafe run path found"); + setdvar("scr_devStrafeRunPathDebugDraw","0"); + continue; + } + + while(IsDefined(node.target)) + { + new_node = getvehiclenode(node.target,"targetname"); + foreach(n in nodes) + { + if(n == new_node) + { + end = 1; + } + } + + textscale = 30; + if(drawtime == maxdrawtime) + { + node thread drawpathsegment(new_node,violet,violet,1,textscale,origintextoffset,drawtime,endonmsg); + } + + if(IsDefined(node.script_noteworthy)) + { + textscale = 10; + switch(node.script_noteworthy) + { + case "strafe_start": + textcolor = green; + textalpha = 1; + break; + + case "strafe_stop": + textcolor = red; + textalpha = 1; + break; + + case "strafe_leave": + textcolor = white; + textalpha = 1; + break; + } + + switch(node.script_noteworthy) + { + case "strafe_leave": + case "strafe_start": + case "strafe_stop": + sides = 10; + radius = 100; + sphere(node.origin,radius,textcolor,textalpha,1,sides,drawtime * 1000); + node draworiginlines(); + node drawnoteworthytext(textcolor,textalpha,textscale); + break; + drawtime == maxdrawtime + break; + } + } + + if(end) + { + break; + } + + nodes[nodes.size] = new_node; + node = new_node; + } + + drawtime = drawtime - 0.05; + if(drawtime < 0) + { + drawtime = maxdrawtime; + } + + wait(0.05); + continue; } - for(;;) - { - new_node = getvehiclenode(node.target,"targetname"); - _a3325 = nodes; - _k3325 = FirstArrayKey(_a3325); - for(;;) - { - n = _a3325[_k3325]; - end = 1; - _k3325 = NextArrayKey(_a3325); - } - textscale = 30; - node thread drawpathsegment(new_node,violet,violet,1,textscale,origintextoffset,drawtime,endonmsg); - textscale = 10; - switch(node.script_noteworthy) - { - case "strafe_start": - textcolor = green; - textalpha = 1; - break; - case "strafe_stop": - textcolor = red; - textalpha = 1; - break; - case "strafe_leave": - textcolor = white; - textalpha = 1; - break; - } - switch(node.script_noteworthy) - { - case "strafe_leave": - case "strafe_start": - case "strafe_stop": - sides = 10; - radius = 100; - sphere(node.origin,radius,textcolor,textalpha,1,sides,drawtime * 1000); - node draworiginlines(); - node drawnoteworthytext(textcolor,textalpha,textscale); - break; - drawtime == maxdrawtime - break; - } - break; - nodes[nodes.size] = new_node; - node = new_node; - } - drawtime = drawtime - 0.05; - drawtime = maxdrawtime; - wait(0.05); - continue; + wait(1); } -drawtime < 0 -end -IsDefined(node.script_noteworthy) -drawtime == maxdrawtime -_k3325 -n == new_node -IsDefined(_k3325) -IsDefined(node.target) -IsDefined(node) -GetDvarInt(#"AD911707") > 0 -1 -50 #/ } @@ -2407,58 +3315,73 @@ devhelipathdebugdraw() drawtime = maxdrawtime; origintextoffset = VectorScale((0,0,-1)); endonmsg = "devStopHeliPathsDebugDraw"; - for(;;) + while(1) { - script_origins = getentarray("script_origin","classname"); - _a3424 = script_origins; - _k3424 = FirstArrayKey(_a3424); - for(;;) + if(GetDvarInt(#"C0DBB722") > 0) { - ent = _a3424[_k3424]; - switch(ent.targetname) + script_origins = getentarray("script_origin","classname"); + foreach(ent in script_origins) { - case "heli_start": - textcolor = blue; - textalpha = 1; - textscale = 3; - break; - case "heli_loop_start": - textcolor = green; - textalpha = 1; - textscale = 3; - break; - case "heli_attack_area": - textcolor = red; - textalpha = 1; - textscale = 3; - break; - case "heli_leave": - textcolor = white; - textalpha = 1; - textscale = 3; - break; + if(IsDefined(ent.targetname)) + { + switch(ent.targetname) + { + case "heli_start": + textcolor = blue; + textalpha = 1; + textscale = 3; + break; + + case "heli_loop_start": + textcolor = green; + textalpha = 1; + textscale = 3; + break; + + case "heli_attack_area": + textcolor = red; + textalpha = 1; + textscale = 3; + break; + + case "heli_leave": + textcolor = white; + textalpha = 1; + textscale = 3; + break; + } + + switch(ent.targetname) + { + case "heli_attack_area": + case "heli_leave": + case "heli_loop_start": + case "heli_start": + ent thread drawpath(textcolor,white,textalpha,textscale,origintextoffset,drawtime,endonmsg); + ent draworiginlines(); + ent drawtargetnametext(textcolor,textalpha,textscale); + ent draworigintext(textcolor,textalpha,textscale,origintextoffset); + break; + drawtime == maxdrawtime + break; + } + } } - switch(ent.targetname) + + drawtime = drawtime - 0.05; + if(drawtime < 0) { - case "heli_attack_area": - case "heli_leave": - case "heli_loop_start": - case "heli_start": - ent thread drawpath(textcolor,white,textalpha,textscale,origintextoffset,drawtime,endonmsg); - ent draworiginlines(); - ent drawtargetnametext(textcolor,textalpha,textscale); - ent draworigintext(textcolor,textalpha,textscale,origintextoffset); - break; - drawtime == maxdrawtime - break; + drawtime = maxdrawtime; } - _k3424 = NextArrayKey(_a3424); } - drawtime = drawtime - 0.05; - drawtime = maxdrawtime; - level notify(endonmsg,GetDvarInt(#"C0DBB722") == 0,drawtime < 0,_k3424,IsDefined(ent.targetname),IsDefined(_k3424),GetDvarInt(#"C0DBB722") > 0,1,50); - drawtime = maxdrawtime; - wait(1); + + if(GetDvarInt(#"C0DBB722") == 0) + { + level notify(endonmsg,_k3424,50); + drawtime = maxdrawtime; + wait(1); + } + wait(0.05); } #/ @@ -2481,9 +3404,12 @@ draworiginlines() drawtargetnametext(textcolor,textalpha,textscale,textoffset) { /# - textoffset = (0,0,0); + if(!(IsDefined(textoffset))) + { + textoffset = (0,0,0); + } + print3d(self.origin + textoffset,self.targetname,textcolor,textalpha,textscale); -IsDefined(textoffset) #/ } @@ -2491,9 +3417,12 @@ IsDefined(textoffset) drawnoteworthytext(textcolor,textalpha,textscale,textoffset) { /# - textoffset = (0,0,0); + if(!(IsDefined(textoffset))) + { + textoffset = (0,0,0); + } + print3d(self.origin + textoffset,self.script_noteworthy,textcolor,textalpha,textscale); -IsDefined(textoffset) #/ } @@ -2501,10 +3430,13 @@ IsDefined(textoffset) draworigintext(textcolor,textalpha,textscale,textoffset) { /# - textoffset = (0,0,0); + if(!(IsDefined(textoffset))) + { + textoffset = (0,0,0); + } + originstring = "(" + self.origin[0] + ", " + self.origin[1] + ", " + self.origin[2] + ")"; print3d(self.origin + textoffset,originstring,textcolor,textalpha,textscale); -IsDefined(textoffset) #/ } @@ -2512,10 +3444,15 @@ IsDefined(textoffset) drawspeedacceltext(textcolor,textalpha,textscale,textoffset) { /# - print3d(self.origin + (0,0,textoffset[2] * 2),"script_airspeed:" + self.script_airspeed,textcolor,textalpha,textscale); - print3d(self.origin + (0,0,textoffset[2] * 3),"script_accel:" + self.script_accel,textcolor,textalpha,textscale); -IsDefined(self.script_accel) -IsDefined(self.script_airspeed) + if(IsDefined(self.script_airspeed)) + { + print3d(self.origin + (0,0,textoffset[2] * 2),"script_airspeed:" + self.script_airspeed,textcolor,textalpha,textscale); + } + + if(IsDefined(self.script_accel)) + { + print3d(self.origin + (0,0,textoffset[2] * 3),"script_accel:" + self.script_accel,textcolor,textalpha,textscale); + } #/ } @@ -2526,16 +3463,22 @@ drawpath(linecolor,textcolor,textalpha,textscale,textoffset,drawtime,endonmsg) level endon(endonmsg); ent = self; entfirsttarget = ent.targetname; - for(;;) + while(IsDefined(ent.target)) { enttarget = getent(ent.target,"targetname"); ent thread drawpathsegment(enttarget,linecolor,textcolor,textalpha,textscale,textoffset,drawtime,endonmsg); - entfirsttarget = ent.target; - break; + if(ent.targetname == "heli_loop_start") + { + entfirsttarget = ent.target; + } + else if(ent.target == entfirsttarget) + { + break; + } + ent = enttarget; wait(0.05); } -(IsDefined(ent.target)) ? ent.targetname == "heli_loop_start" : ent.target == entfirsttarget #/ } @@ -2544,16 +3487,18 @@ drawpathsegment(enttarget,linecolor,textcolor,textalpha,textscale,textoffset,dra { /# level endon(endonmsg); - for(;;) + while(drawtime > 0) { - print3d(self.origin + textoffset,self.targetname,textcolor,textalpha,textscale); + if(IsDefined(self.targetname) && self.targetname == "warthog_start") + { + print3d(self.origin + textoffset,self.targetname,textcolor,textalpha,textscale); + } + line(self.origin,enttarget.origin,linecolor); self drawspeedacceltext(textcolor,textalpha,textscale,textoffset); drawtime = drawtime - 0.05; wait(0.05); } -IsDefined(self.targetname) && self.targetname == "warthog_start" -drawtime > 0 #/ } @@ -2567,7 +3512,6 @@ get_lookat_origin(player) eye = player geteye(); trace = bullettrace(eye,eye + dir,0,undefined); return trace["position"]; -8000 #/ } @@ -2575,11 +3519,12 @@ get_lookat_origin(player) draw_pathnode(node,color) { /# - color = (1,0,1); + if(!(IsDefined(color))) + { + color = (1,0,1); + } + box(node.origin,VectorScale((-1,-1,0)),16,VectorScale((1,1,1)),16,0,color,1); -0 -1 -IsDefined(color) #/ } @@ -2614,15 +3559,28 @@ node_get(player) wait(0.05); origin = get_lookat_origin(player); node = getnearestnode(origin); - continue; - return node; - return undefined; - draw_pathnode(node,(1,0,1)); - continue; + if(!(IsDefined(node))) + { + continue; + } + + if(player buttonpressed("BUTTON_A")) + { + return node; + } + else if(player buttonpressed("BUTTON_B")) + { + return undefined; + } + + if(node.type == "Path") + { + draw_pathnode(node,(1,0,1)); + continue; + } + draw_pathnode(node,(0.85,0.85,0.1)); } -node.type == "Path" -IsDefined(node) ? player buttonpressed("BUTTON_A") : player buttonpressed("BUTTON_B") #/ } @@ -2632,21 +3590,33 @@ dev_get_node_pair() /# player = gethostplayer(); start = undefined; - for(;;) + while(!(IsDefined(start))) { start = node_get(player); - level notify("draw_pathnode_stop",player buttonpressed("BUTTON_B"),IsDefined(start)); - return undefined; + if(player buttonpressed("BUTTON_B")) + { + level notify("draw_pathnode_stop"); + return undefined; + } } + level thread draw_pathnode_think(start,(0,1,0)); - wait(0.05); + while(player buttonpressed("BUTTON_A")) + { + wait(0.05); + } + end = undefined; - for(;;) + while(!(IsDefined(end))) { end = node_get(player); - level notify("draw_pathnode_stop",player buttonpressed("BUTTON_B"),IsDefined(end),player buttonpressed("BUTTON_A")); - return undefined; + if(player buttonpressed("BUTTON_B")) + { + level notify("draw_pathnode_stop"); + return undefined; + } } + level thread draw_pathnode_think(end,(0,1,0)); level thread draw_pathnodes_stop(); array = []; diff --git a/BO2/PC/MP/maps/mp/gametypes/_dev_class.gsc b/BO2/PC/MP/maps/mp/gametypes/_dev_class.gsc index 301c9ad..eda0500 100644 --- a/BO2/PC/MP/maps/mp/gametypes/_dev_class.gsc +++ b/BO2/PC/MP/maps/mp/gametypes/_dev_class.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 22 - * Decompile Time: 93 ms - * Timestamp: 10/27/2023 2:59:57 AM + * Decompile Time: 5 ms + * Timestamp: 10/28/2023 12:10:29 AM *******************************************************************/ #include maps/mp/_utility; @@ -22,29 +22,43 @@ dev_cac_init() { wait(0.5); reset = 1; - continue; + if(GetDvar(#"E6D8B517") != "") + { + continue; + } + host = gethostplayer(); - level.dev_cac_player = host; + if(!(IsDefined(level.dev_cac_player))) + { + level.dev_cac_player = host; + } + switch(GetDvar(#"CA7B9CD")) { case "": reset = 0; break; + case "dpad_body": host thread dev_cac_dpad_think("body",::dev_cac_cycle_body,""); break; + case "dpad_head": host thread dev_cac_dpad_think("head",::dev_cac_cycle_head,""); break; + case "dpad_character": host thread dev_cac_dpad_think("character",::dev_cac_cycle_character,""); break; + case "next_player": dev_cac_cycle_player(1); break; + case "prev_player": dev_cac_cycle_player(0); break; + case "cac_overlay": level notify("dev_cac_overlay_think"); level thread dev_cac_overlay_think(); @@ -52,64 +66,82 @@ dev_cac_init() break; dev_cac_overlay break; + case "best_bullet_armor": dev_cac_set_model_range(::sort_greatest,"armor_bullet"); break; + case "worst_bullet_armor": dev_cac_set_model_range(::sort_least,"armor_bullet"); break; + case "best_explosive_armor": dev_cac_set_model_range(::sort_greatest,"armor_explosive"); break; + case "worst_explosive_armor": dev_cac_set_model_range(::sort_least,"armor_explosive"); break; + case "best_mobility": dev_cac_set_model_range(::sort_greatest,"mobility"); break; + case "worst_mobility": dev_cac_set_model_range(::sort_least,"mobility"); break; + case "camera": dev_cac_camera_on = !dev_cac_camera_on; dev_cac_camera(dev_cac_camera_on); break; + case "dpad_camo": host thread dev_cac_dpad_think("camo",::dev_cac_cycle_render_options,"camo"); break; + case "dpad_meleecamo": host thread dev_cac_dpad_think("meleecamo",::dev_cac_cycle_render_options,"meleecamo"); break; + case "dpad_lens": host thread dev_cac_dpad_think("lens",::dev_cac_cycle_render_options,"lens"); break; + case "dpad_reticle": host thread dev_cac_dpad_think("reticle",::dev_cac_cycle_render_options,"reticle"); break; + case "dpad_reticle_color": host thread dev_cac_dpad_think("reticle color",::dev_cac_cycle_render_options,"reticle_color"); break; + case "dpad_emblem": host thread dev_cac_dpad_think("emblem",::dev_cac_cycle_render_options,"emblem"); break; + case "dpad_tag": host thread dev_cac_dpad_think("tag",::dev_cac_cycle_render_options,"tag"); break; + case "dpad_facepaint_pattern": host thread dev_cac_dpad_think("facepaint pattern",::dev_cac_cycle_render_options,"facepaint_pattern"); break; + case "dpad_facepaint_color": host thread dev_cac_dpad_think("facepaint color",::dev_cac_cycle_render_options,"facepaint_color"); break; + case "dpad_reset": host notify("dev_cac_dpad_think"); break; } - setdvar("devgui_dev_cac",""); + + if(reset) + { + setdvar("devgui_dev_cac",""); + } } -reset -IsDefined(level.dev_cac_player) -GetDvar(#"E6D8B517") != "" #/ } @@ -117,13 +149,18 @@ GetDvar(#"E6D8B517") != "" dev_cac_camera(on) { /# - self setclientthirdperson(1); - setdvar("cg_thirdPersonAngle","185"); - setdvar("cg_thirdPersonRange","138"); - setdvar("cg_fov","20"); - self setclientthirdperson(0); - setdvar("cg_fov",GetDvar(#"55DDAF3D")); -Stack-Empty ? Stack-Empty : on + if(on) + { + self setclientthirdperson(1); + setdvar("cg_thirdPersonAngle","185"); + setdvar("cg_thirdPersonRange","138"); + setdvar("cg_fov","20"); + } + else + { + self setclientthirdperson(0); + setdvar("cg_fov",GetDvar(#"55DDAF3D")); + } #/ } @@ -143,15 +180,28 @@ dev_cac_dpad_think(part_name,cycle_function,tag) { self setactionslot(3,""); self setactionslot(4,""); - [[ cycle_function ]](0,tag); - dpad_left = 1; - dpad_left = 0; - [[ cycle_function ]](1,tag); - dpad_right = 1; - dpad_right = 0; + if(!dpad_left && self buttonpressed("DPAD_LEFT")) + { + [[ cycle_function ]](0,tag); + dpad_left = 1; + } + else if(!(self buttonpressed("DPAD_LEFT"))) + { + dpad_left = 0; + } + + if(!dpad_right && self buttonpressed("DPAD_RIGHT")) + { + [[ cycle_function ]](1,tag); + dpad_right = 1; + } + else if(!(self buttonpressed("DPAD_RIGHT"))) + { + dpad_right = 0; + } + wait(0.05); } -(Stack-Empty ? !dpad_left && self buttonpressed("DPAD_LEFT") : self buttonpressed("DPAD_LEFT")) ? !dpad_right && self buttonpressed("DPAD_RIGHT") : self buttonpressed("DPAD_RIGHT") #/ } @@ -159,21 +209,27 @@ dev_cac_dpad_think(part_name,cycle_function,tag) next_in_list(value,list) { /# - return list[0]; - i = 0; - for(;;) + if(!(IsDefined(value))) { - value = list[i + 1]; - continue; - value = list[0]; - break; - i++; + return list[0]; } + + for(i = 0;i < list.size;i++) + { + if(value == list[i]) + { + if(IsDefined(list[i + 1])) + { + value = list[i + 1]; + continue; + } + + value = list[0]; + break; + } + } + return value; -IsDefined(list[i + 1]) -value == list[i] -i < list.size -IsDefined(value) #/ } @@ -181,21 +237,27 @@ IsDefined(value) prev_in_list(value,list) { /# - return list[0]; - i = 0; - for(;;) + if(!(IsDefined(value))) { - value = list[i - 1]; - continue; - value = list[list.size - 1]; - break; - i++; + return list[0]; } + + for(i = 0;i < list.size;i++) + { + if(value == list[i]) + { + if(IsDefined(list[i - 1])) + { + value = list[i - 1]; + continue; + } + + value = list[list.size - 1]; + break; + } + } + return value; -IsDefined(list[i - 1]) -value == list[i] -i < list.size -IsDefined(value) #/ } @@ -212,13 +274,23 @@ dev_cac_set_player_model() dev_cac_cycle_body(forward,tag) { /# - return; + if(!(dev_cac_player_valid())) + { + return; + } + player = level.dev_cac_player; keys = getarraykeys(level.cac_functions["set_body_model"]); - player.cac_body_type = next_in_list(player.cac_body_type,keys); - player.cac_body_type = prev_in_list(player.cac_body_type,keys); + if(forward) + { + player.cac_body_type = next_in_list(player.cac_body_type,keys); + } + else + { + player.cac_body_type = prev_in_list(player.cac_body_type,keys); + } + player dev_cac_set_player_model(); -Stack-Empty ? dev_cac_player_valid() : forward #/ } @@ -226,14 +298,24 @@ Stack-Empty ? dev_cac_player_valid() : forward dev_cac_cycle_head(forward,tag) { /# - return; + if(!(dev_cac_player_valid())) + { + return; + } + player = level.dev_cac_player; keys = getarraykeys(level.cac_functions["set_head_model"]); - player.cac_head_type = next_in_list(player.cac_head_type,keys); - player.cac_head_type = prev_in_list(player.cac_head_type,keys); + if(forward) + { + player.cac_head_type = next_in_list(player.cac_head_type,keys); + } + else + { + player.cac_head_type = prev_in_list(player.cac_head_type,keys); + } + player.cac_hat_type = "none"; player dev_cac_set_player_model(); -Stack-Empty ? dev_cac_player_valid() : forward #/ } @@ -241,14 +323,24 @@ Stack-Empty ? dev_cac_player_valid() : forward dev_cac_cycle_character(forward,tag) { /# - return; + if(!(dev_cac_player_valid())) + { + return; + } + player = level.dev_cac_player; keys = getarraykeys(level.cac_functions["set_body_model"]); - player.cac_body_type = next_in_list(player.cac_body_type,keys); - player.cac_body_type = prev_in_list(player.cac_body_type,keys); + if(forward) + { + player.cac_body_type = next_in_list(player.cac_body_type,keys); + } + else + { + player.cac_body_type = prev_in_list(player.cac_body_type,keys); + } + player.cac_hat_type = "none"; player dev_cac_set_player_model(); -Stack-Empty ? dev_cac_player_valid() : forward #/ } @@ -256,9 +348,12 @@ Stack-Empty ? dev_cac_player_valid() : forward dev_cac_cycle_render_options(forward,tag) { /# - return; + if(!(dev_cac_player_valid())) + { + return; + } + level.dev_cac_player nextplayerrenderoption(tag,forward); -dev_cac_player_valid() #/ } @@ -275,18 +370,25 @@ dev_cac_cycle_player(forward) { /# players = get_players(); - i = 0; - for(;;) + for(i = 0;i < players.size;i++) { - level.dev_cac_player = next_in_list(level.dev_cac_player,players); - level.dev_cac_player = prev_in_list(level.dev_cac_player,players); - level.dev_cac_player thread highlight_player(); - return; - i++; + if(forward) + { + level.dev_cac_player = next_in_list(level.dev_cac_player,players); + } + else + { + level.dev_cac_player = prev_in_list(level.dev_cac_player,players); + } + + if(dev_cac_player_valid()) + { + level.dev_cac_player thread highlight_player(); + return; + } } + level.dev_cac_player = undefined; -dev_cac_player_valid() -Stack-Empty ? i < players.size : forward #/ } @@ -322,15 +424,13 @@ dev_cac_overlay_update(hud) dev_cac_overlay_destroy(hud) { /# - i = 0; - for(;;) + for(i = 0;i < hud.menu.size;i++) { hud.menu[i] destroy(); - i++; } + hud destroy(); setdvar("player_debugSprint","0"); -i < hud.menu.size #/ } @@ -397,7 +497,6 @@ dev_cac_overlay_create() hud.menu[42] = maps/mp/gametypes/_dev::new_hud(menu_name,"",x + x_offset,y + 265,1); hud.menu[43] = maps/mp/gametypes/_dev::new_hud(menu_name,"",x + x_offset,y + 275,1); return hud; -0.5 #/ } @@ -409,11 +508,17 @@ color(value) g = 1; b = 0; color = (0,0,0); - r = r - value; - g = g + value; + if(value > 0) + { + r = r - value; + } + else + { + g = g + value; + } + c = (r,g,b); return c; -Stack-Empty ? Stack-Empty : value > 0 #/ } @@ -431,31 +536,40 @@ dev_cac_gdt_update_think() case "armorBullet": key = "armor_bullet"; break; + case "armorExplosive": key = "armor_explosive"; break; + case "moveSpeed": key = "mobility"; break; + case "sprintTimeTotal": key = "sprint_time_total"; break; + case "sprintTimeCooldown": key = "sprint_time_cooldown"; break; + default: key = undefined; break; } - continue; + + if(!(IsDefined(key))) + { + continue; + } + value = float(keyvalue[1]); level.cac_attributes[key][asset] = value; players = get_players(); - i = 0; - i++; + for(i = 0;i < players.size;i++) + { + } } -i < players.size -IsDefined(key) #/ } @@ -465,15 +579,15 @@ sort_greatest(function,attribute,greatest) /# keys = getarraykeys(level.cac_functions[function]); greatest = keys[0]; - i = 0; - for(;;) + for(i = 0;i < keys.size;i++) { - greatest = keys[i]; - i++; + if(level.cac_attributes[attribute][keys[i]] > level.cac_attributes[attribute][greatest]) + { + greatest = keys[i]; + } } + return greatest; -level.cac_attributes[attribute][keys[i]] > level.cac_attributes[attribute][greatest] -i < keys.size #/ } @@ -483,15 +597,15 @@ sort_least(function,attribute,least) /# keys = getarraykeys(level.cac_functions[function]); least = keys[0]; - i = 0; - for(;;) + for(i = 0;i < keys.size;i++) { - least = keys[i]; - i++; + if(level.cac_attributes[attribute][keys[i]] < level.cac_attributes[attribute][least]) + { + least = keys[i]; + } } + return least; -level.cac_attributes[attribute][keys[i]] < level.cac_attributes[attribute][least] -i < keys.size #/ } @@ -499,12 +613,15 @@ i < keys.size dev_cac_set_model_range(sort_function,attribute) { /# - return; + if(!(dev_cac_player_valid())) + { + return; + } + player = level.dev_cac_player; player.cac_body_type = [[ sort_function ]]("set_body_model",attribute); player.cac_head_type = [[ sort_function ]]("set_head_model",attribute); player.cac_hat_type = [[ sort_function ]]("set_hat_model",attribute); player dev_cac_set_player_model(); -dev_cac_player_valid() #/ } \ No newline at end of file diff --git a/BO2/PC/MP/maps/mp/gametypes/_friendicons.gsc b/BO2/PC/MP/maps/mp/gametypes/_friendicons.gsc index 898b39a..8a70dfe 100644 --- a/BO2/PC/MP/maps/mp/gametypes/_friendicons.gsc +++ b/BO2/PC/MP/maps/mp/gametypes/_friendicons.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 7 - * Decompile Time: 9 ms - * Timestamp: 10/27/2023 2:59:57 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:10:30 AM *******************************************************************/ //Function Number: 1 diff --git a/BO2/PC/MP/maps/mp/gametypes/_gameobjects.gsc b/BO2/PC/MP/maps/mp/gametypes/_gameobjects.gsc index 0ced32c..c1bc5d2 100644 --- a/BO2/PC/MP/maps/mp/gametypes/_gameobjects.gsc +++ b/BO2/PC/MP/maps/mp/gametypes/_gameobjects.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 101 - * Decompile Time: 220 ms - * Timestamp: 10/27/2023 2:59:58 AM + * Decompile Time: 43 ms + * Timestamp: 10/28/2023 12:10:30 AM *******************************************************************/ #include common_scripts/utility; @@ -26,8 +26,10 @@ main(allowed) level.objectivepingdelay = getgametypesetting("objectivePingTime"); level.nonteambasedteam = "allies"; /# - level.vehiclesenabled = 1; -level.script == "mp_vehicle_test" + if(level.script == "mp_vehicle_test") + { + level.vehiclesenabled = 1; + } #/ if(level.vehiclesenabled) { @@ -2847,7 +2849,9 @@ caninteractwith(player) return 0; return 1; return 0; - Stack-Empty ? Stack-Empty : (Stack-Empty ? (Stack-Empty ? level.teambased : team == self.ownerteam) : player == self.ownerteam) + player == self.ownerteam + team == self.ownerteam + level.teambased break; case "enemy": @@ -2856,7 +2860,10 @@ caninteractwith(player) return 0; return 1; return 0; - Stack-Empty ? Stack-Empty : (Stack-Empty ? (Stack-Empty ? Stack-Empty : (level.teambased ? team != self.ownerteam : IsDefined(self.decayprogress) && self.decayprogress && self.curprogress > 0)) : player != self.ownerteam) + player != self.ownerteam + IsDefined(self.decayprogress) && self.decayprogress && self.curprogress > 0 + team != self.ownerteam + level.teambased break; default: @@ -2948,8 +2955,10 @@ getnextobjid() } /# - println("^3SCRIPT WARNING: Ran out of objective IDs"); -nextid >= 32 + if(nextid >= 32) + { + println("^3SCRIPT WARNING: Ran out of objective IDs"); + } #/ if(nextid > 31) { diff --git a/BO2/PC/MP/maps/mp/gametypes/_globalentities.gsc b/BO2/PC/MP/maps/mp/gametypes/_globalentities.gsc index b95a2c6..4a2665a 100644 --- a/BO2/PC/MP/maps/mp/gametypes/_globalentities.gsc +++ b/BO2/PC/MP/maps/mp/gametypes/_globalentities.gsc @@ -4,6 +4,6 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 0 - * Decompile Time: 1 ms - * Timestamp: 10/27/2023 2:59:59 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:10:30 AM *******************************************************************/ \ No newline at end of file diff --git a/BO2/PC/MP/maps/mp/gametypes/_globallogic.gsc b/BO2/PC/MP/maps/mp/gametypes/_globallogic.gsc index 7d1f88f..b4dc417 100644 --- a/BO2/PC/MP/maps/mp/gametypes/_globallogic.gsc +++ b/BO2/PC/MP/maps/mp/gametypes/_globallogic.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 83 - * Decompile Time: 437 ms - * Timestamp: 10/27/2023 3:00:00 AM + * Decompile Time: 38 ms + * Timestamp: 10/28/2023 12:10:30 AM *******************************************************************/ #include common_scripts/utility; @@ -79,8 +79,10 @@ init() level.contractsenabled = !getgametypesetting("disableContracts"); level.contractsenabled = 0; /# - level.rankedmatch = 1; -GetDvarInt(#"5A4675BD") == 1 + if(GetDvarInt(#"5A4675BD") == 1) + { + level.rankedmatch = 1; + } #/ level.script = tolower(GetDvar(#"B4B895C4")); level.gametype = tolower(GetDvar(#"4F118387")); @@ -718,7 +720,10 @@ doonelefteventupdates() updategameevents() { /# -GetDvarInt(#"1F8C9394") == 1 + if(GetDvarInt(#"1F8C9394") == 1) + { + return; + } #/ if((level.rankedmatch || level.wagermatch || level.leaguematch) && !level.ingraceperiod) { @@ -871,8 +876,10 @@ hostidledout() { hostplayer = gethostplayer(); /# - return 0; -GetDvarInt(#"7AEF62D7") == 1 || GetDvarInt(#"1F8C9394") == 1 + if(GetDvarInt(#"7AEF62D7") == 1 || GetDvarInt(#"1F8C9394") == 1) + { + return 0; + } #/ if(IsDefined(hostplayer) && !hostplayer.hasspawned && !IsDefined(hostplayer.selectedclass)) { @@ -972,7 +979,10 @@ getnexthighestscore(score) sendafteractionreport() { /# -GetDvarInt(#"7AEF62D7") == 1 + if(GetDvarInt(#"7AEF62D7") == 1) + { + return; + } #/ if(!(level.onlinegame)) { @@ -3138,13 +3148,18 @@ callback_startgametype() thread startgame(); level thread updategametypedvars(); /# - level.skipgameend = 1; - level.roundlimit = 1; - wait(1); - thread forceend(0); - thread forcedebughostmigration(); -GetDvarInt(#"1F8C9394") == 1 -GetDvarInt(#"7AEF62D7") == 1 + if(GetDvarInt(#"7AEF62D7") == 1) + { + level.skipgameend = 1; + level.roundlimit = 1; + wait(1); + thread forceend(0); + } + + if(GetDvarInt(#"1F8C9394") == 1) + { + thread forcedebughostmigration(); + } #/ } @@ -3152,14 +3167,13 @@ GetDvarInt(#"7AEF62D7") == 1 forcedebughostmigration() { /# - for(;;) + while(1) { maps/mp/gametypes/_hostmigration::waittillhostmigrationdone(); wait(60); starthostmigration(); maps/mp/gametypes/_hostmigration::waittillhostmigrationdone(); } -1 #/ } diff --git a/BO2/PC/MP/maps/mp/gametypes/_globallogic_actor.gsc b/BO2/PC/MP/maps/mp/gametypes/_globallogic_actor.gsc index 072cec2..3ac4404 100644 --- a/BO2/PC/MP/maps/mp/gametypes/_globallogic_actor.gsc +++ b/BO2/PC/MP/maps/mp/gametypes/_globallogic_actor.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 2 - * Decompile Time: 41 ms - * Timestamp: 10/27/2023 3:00:01 AM + * Decompile Time: 4 ms + * Timestamp: 10/28/2023 12:10:31 AM *******************************************************************/ #include maps/mp/_burnplayer; @@ -183,8 +183,10 @@ callback_actordamage(einflictor,eattacker,idamage,idflags,smeansofdeath,sweapon, } /# - println("actor:" + self getentitynumber() + " health:" + self.health + " attacker:" + eattacker.clientid + " inflictor is player:" + isplayer(einflictor) + " damage:" + idamage + " hitLoc:" + shitloc); -GetDvarInt(#"B1AE74B1") + if(GetDvarInt(#"B1AE74B1")) + { + println("actor:" + self getentitynumber() + " health:" + self.health + " attacker:" + eattacker.clientid + " inflictor is player:" + isplayer(einflictor) + " damage:" + idamage + " hitLoc:" + shitloc); + } #/ if(1) { diff --git a/BO2/PC/MP/maps/mp/gametypes/_globallogic_audio.gsc b/BO2/PC/MP/maps/mp/gametypes/_globallogic_audio.gsc index 7ecef95..1c128bd 100644 --- a/BO2/PC/MP/maps/mp/gametypes/_globallogic_audio.gsc +++ b/BO2/PC/MP/maps/mp/gametypes/_globallogic_audio.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 32 - * Decompile Time: 152 ms - * Timestamp: 10/27/2023 3:00:02 AM + * Decompile Time: 10 ms + * Timestamp: 10/28/2023 12:10:31 AM *******************************************************************/ #include maps/mp/_music; @@ -173,7 +173,7 @@ registerdialoggroup(group,skipifcurrentlyplayinggroup) else if(IsDefined(level.dialoggroup[group])) { /# - error("registerDialogGroup: Dialog group " + group + " already registered."); + error("registerDialogGroup: Dialog group " + group + " already registered."); #/ return; } @@ -196,8 +196,10 @@ sndstartmusicsystem() if(game["state"] == "pregame") { /# - println("Music System - music state is undefined Waiting 15 seconds to set music state"); -GetDvarInt(#"BC4784C") > 0 + if(GetDvarInt(#"BC4784C") > 0) + { + println("Music System - music state is undefined Waiting 15 seconds to set music state"); + } #/ wait(45); if(!(IsDefined(level.nextmusicstate))) @@ -210,8 +212,10 @@ GetDvarInt(#"BC4784C") > 0 if(!(IsDefined(level.nextmusicstate))) { /# - println("Music System - music state is undefined Waiting 15 seconds to set music state"); -GetDvarInt(#"BC4784C") > 0 + if(GetDvarInt(#"BC4784C") > 0) + { + println("Music System - music state is undefined Waiting 15 seconds to set music state"); + } #/ self.pers["music"].currentstate = "UNDERSCORE"; self thread suspensemusic(); @@ -224,8 +228,10 @@ suspensemusicforplayer() self endon("disconnect"); self thread set_music_on_player("UNDERSCORE",0); /# - println("Music System - Setting Music State Random Underscore " + self.pers["music"].returnstate + " On player " + self getentitynumber()); -GetDvarInt(#"BC4784C") > 0 + if(GetDvarInt(#"BC4784C") > 0) + { + println("Music System - Setting Music State Random Underscore " + self.pers["music"].returnstate + " On player " + self getentitynumber()); + } #/ } @@ -236,44 +242,55 @@ suspensemusic(random) level endon("match_ending_soon"); self endon("disconnect"); /# - println("Music System - Starting random underscore"); -GetDvarInt(#"BC4784C") > 0 -#/ - if(1) + if(GetDvarInt(#"BC4784C") > 0) { - wait(randomintrange(25,60)); -/# - println("Music System - Checking for random underscore"); -GetDvarInt(#"BC4784C") > 0 -#/ - if(!(IsDefined(self.pers["music"].inque))) - { - self.pers["music"].inque = 0; - } + println("Music System - Starting random underscore"); + } - if(self.pers["music"].inque) + for(;;) { -/# - println("Music System - Inque no random underscore"); -GetDvarInt(#"BC4784C") > 0 #/ - continue; - } - - if(!(IsDefined(self.pers["music"].currentstate))) + if(1) { - self.pers["music"].currentstate = "SILENT"; - } - - if(randomint(100) < self.underscorechance && self.pers["music"].currentstate != "ACTION" && self.pers["music"].currentstate != "TIME_OUT") - { - self thread suspensemusicforplayer(); - self.underscorechance = self.underscorechance - 20; + wait(randomintrange(25,60)); /# - println("Music System - Starting random underscore"); -GetDvarInt(#"BC4784C") > 0 + if(GetDvarInt(#"BC4784C") > 0) + { + println("Music System - Checking for random underscore"); + } +#/ + if(!(IsDefined(self.pers["music"].inque))) + { + self.pers["music"].inque = 0; + } + + if(self.pers["music"].inque) + { +/# + if(GetDvarInt(#"BC4784C") > 0) + { + println("Music System - Inque no random underscore"); + } +#/ + continue; + } + + if(!(IsDefined(self.pers["music"].currentstate))) + { + self.pers["music"].currentstate = "SILENT"; + } + + if(randomint(100) < self.underscorechance && self.pers["music"].currentstate != "ACTION" && self.pers["music"].currentstate != "TIME_OUT") + { + self thread suspensemusicforplayer(); + self.underscorechance = self.underscorechance - 20; +/# + if(GetDvarInt(#"BC4784C") > 0) + { + println("Music System - Starting random underscore"); + } + } #/ - continue; } } } @@ -742,38 +759,42 @@ set_music_on_team(state,team,save_state,return_state,wait_time) { team = "both"; /# - println("Music System - team undefined: Setting to both"); -GetDvarInt(#"BC4784C") > 0 -#/ + if(GetDvarInt(#"BC4784C") > 0) + { + println("Music System - team undefined: Setting to both"); + } } - +#/ if(!(IsDefined(save_state))) { save_sate = 0; /# - println("Music System - save_sate undefined: Setting to false"); -GetDvarInt(#"BC4784C") > 0 -#/ + if(GetDvarInt(#"BC4784C") > 0) + { + println("Music System - save_sate undefined: Setting to false"); + } } - +#/ if(!(IsDefined(return_state))) { return_state = 0; /# - println("Music System - Music System - return_state undefined: Setting to false"); -GetDvarInt(#"BC4784C") > 0 -#/ + if(GetDvarInt(#"BC4784C") > 0) + { + println("Music System - Music System - return_state undefined: Setting to false"); + } } - +#/ if(!(IsDefined(wait_time))) { wait_time = 0; /# - println("Music System - wait_time undefined: Setting to 0"); -GetDvarInt(#"BC4784C") > 0 -#/ + if(GetDvarInt(#"BC4784C") > 0) + { + println("Music System - wait_time undefined: Setting to 0"); + } } - +#/ for(i = 0;i < level.players.size;i++) { player = level.players[i]; @@ -785,10 +806,12 @@ GetDvarInt(#"BC4784C") > 0 { player thread set_music_on_player(state,save_state,return_state,wait_time); /# + if(GetDvarInt(#"BC4784C") > 0) + { println("Music System - Setting Music State " + state + " On player " + player getentitynumber()); -GetDvarInt(#"BC4784C") > 0 -#/ + } } +#/ } } @@ -808,59 +831,68 @@ set_music_on_player(state,save_state,return_state,wait_time) { save_state = 0; /# - println("Music System - Music System - save_sate undefined: Setting to false"); -GetDvarInt(#"BC4784C") > 0 -#/ + if(GetDvarInt(#"BC4784C") > 0) + { + println("Music System - Music System - save_sate undefined: Setting to false"); + } } - +#/ if(!(IsDefined(return_state))) { return_state = 0; /# - println("Music System - Music System - return_state undefined: Setting to false"); -GetDvarInt(#"BC4784C") > 0 -#/ + if(GetDvarInt(#"BC4784C") > 0) + { + println("Music System - Music System - return_state undefined: Setting to false"); + } } - +#/ if(!(IsDefined(wait_time))) { wait_time = 0; /# - println("Music System - wait_time undefined: Setting to 0"); -GetDvarInt(#"BC4784C") > 0 -#/ + if(GetDvarInt(#"BC4784C") > 0) + { + println("Music System - wait_time undefined: Setting to 0"); + } } - +#/ if(!(IsDefined(state))) { state = "UNDERSCORE"; /# - println("Music System - state undefined: Setting to UNDERSCORE"); -GetDvarInt(#"BC4784C") > 0 -#/ + if(GetDvarInt(#"BC4784C") > 0) + { + println("Music System - state undefined: Setting to UNDERSCORE"); + } } - +#/ maps/mp/_music::setmusicstate(state,self); if(IsDefined(self.pers["music"].currentstate) && save_state) { self.pers["music"].returnstate = state; /# - println("Music System - Saving Music State " + self.pers["music"].returnstate + " On " + self getentitynumber()); -GetDvarInt(#"BC4784C") > 0 -#/ + if(GetDvarInt(#"BC4784C") > 0) + { + println("Music System - Saving Music State " + self.pers["music"].returnstate + " On " + self getentitynumber()); + } } - +#/ self.pers["music"].previousstate = self.pers["music"].currentstate; self.pers["music"].currentstate = state; /# - println("Music System - Setting Music State " + state + " On player " + self getentitynumber()); -GetDvarInt(#"BC4784C") > 0 + if(GetDvarInt(#"BC4784C") > 0) + { + println("Music System - Setting Music State " + state + " On player " + self getentitynumber()); + } #/ if(IsDefined(self.pers["music"].returnstate) && return_state) { /# - println("Music System - Starting Return State " + self.pers["music"].returnstate + " On " + self getentitynumber()); -GetDvarInt(#"BC4784C") > 0 + if(GetDvarInt(#"BC4784C") > 0) + { + println("Music System - Starting Return State " + self.pers["music"].returnstate + " On " + self getentitynumber()); + } #/ self set_next_music_state(self.pers["music"].returnstate,wait_time); } @@ -873,11 +905,12 @@ return_music_state_player(wait_time) { wait_time = 0; /# - println("Music System - wait_time undefined: Setting to 0"); -GetDvarInt(#"BC4784C") > 0 -#/ + if(GetDvarInt(#"BC4784C") > 0) + { + println("Music System - wait_time undefined: Setting to 0"); + } } - +#/ self set_next_music_state(self.pers["music"].returnstate,wait_time); } @@ -888,11 +921,12 @@ return_music_state_team(team,wait_time) { wait_time = 0; /# - println("Music System - wait_time undefined: Setting to 0"); -GetDvarInt(#"BC4784C") > 0 -#/ + if(GetDvarInt(#"BC4784C") > 0) + { + println("Music System - wait_time undefined: Setting to 0"); + } } - +#/ for(i = 0;i < level.players.size;i++) { player = level.players[i]; @@ -904,10 +938,12 @@ GetDvarInt(#"BC4784C") > 0 { player thread set_next_music_state(self.pers["music"].returnstate,wait_time); /# + if(GetDvarInt(#"BC4784C") > 0) + { println("Music System - Setting Music State " + self.pers["music"].returnstate + " On player " + player getentitynumber()); -GetDvarInt(#"BC4784C") > 0 -#/ + } } +#/ } } @@ -917,8 +953,10 @@ set_next_music_state(nextstate,wait_time) self endon("disconnect"); self.pers["music"].nextstate = nextstate; /# - println("Music System - Setting next Music State " + self.pers["music"].nextstate + " On " + self getentitynumber()); -GetDvarInt(#"BC4784C") > 0 + if(GetDvarInt(#"BC4784C") > 0) + { + println("Music System - Setting next Music State " + self.pers["music"].nextstate + " On " + self getentitynumber()); + } #/ if(!(IsDefined(self.pers["music"].inque))) { diff --git a/BO2/PC/MP/maps/mp/gametypes/_globallogic_defaults.gsc b/BO2/PC/MP/maps/mp/gametypes/_globallogic_defaults.gsc index 81b48f3..f773949 100644 --- a/BO2/PC/MP/maps/mp/gametypes/_globallogic_defaults.gsc +++ b/BO2/PC/MP/maps/mp/gametypes/_globallogic_defaults.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 14 - * Decompile Time: 58 ms - * Timestamp: 10/27/2023 3:00:02 AM + * Decompile Time: 1 ms + * Timestamp: 10/28/2023 12:10:31 AM *******************************************************************/ #include common_scripts/utility; @@ -67,10 +67,10 @@ default_onforfeit(team) else { /# - assert(IsDefined(team),"Forfeited team is not defined"); + assert(IsDefined(team),"Forfeited team is not defined"); #/ /# - assert(0,"Forfeited team " + team + " is not allies or axis"); + assert(0,"Forfeited team " + team + " is not allies or axis"); #/ winner = "tie"; } @@ -285,8 +285,8 @@ default_onspawnintermission() { /# maps/mp/_utility::error("NO " + spawnpointname + " SPAWNPOINTS IN MAP"); -#/ } +#/ } //Function Number: 12 diff --git a/BO2/PC/MP/maps/mp/gametypes/_globallogic_player.gsc b/BO2/PC/MP/maps/mp/gametypes/_globallogic_player.gsc index a33d8c8..abd6b54 100644 --- a/BO2/PC/MP/maps/mp/gametypes/_globallogic_player.gsc +++ b/BO2/PC/MP/maps/mp/gametypes/_globallogic_player.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 53 - * Decompile Time: 593 ms - * Timestamp: 10/27/2023 3:00:04 AM + * Decompile Time: 63 ms + * Timestamp: 10/28/2023 12:10:31 AM *******************************************************************/ #include common_scripts/utility; @@ -1268,8 +1268,10 @@ callback_playerdamage(einflictor,eattacker,idamage,idflags,smeansofdeath,sweapon pixbeginevent("PlayerDamage log"); /# - println("client:" + self getentitynumber() + " health:" + self.health + " attacker:" + eattacker.clientid + " inflictor is player:" + isplayer(einflictor) + " damage:" + idamage + " hitLoc:" + shitloc); -GetDvarInt(#"B1AE74B1") + if(GetDvarInt(#"B1AE74B1")) + { + println("client:" + self getentitynumber() + " health:" + self.health + " attacker:" + eattacker.clientid + " inflictor is player:" + isplayer(einflictor) + " damage:" + idamage + " hitLoc:" + shitloc); + } #/ if(self.sessionstate != "dead") { @@ -2354,10 +2356,14 @@ callback_playerkilled(einflictor,attacker,idamage,smeansofdeath,sweapon,vdir,shi maps/mp/gametypes/_globallogic_utils::waitfortimeornotifies(defaultplayerdeathwatchtime); self notify("death_delay_finished"); /# - dokillcam = 1; - lpattacknum = self getentitynumber(); -lpattacknum < 0 -GetDvarInt(#"C1849218") != 0 + if(GetDvarInt(#"C1849218") != 0) + { + dokillcam = 1; + if(lpattacknum < 0) + { + lpattacknum = self getentitynumber(); + } + } #/ if(hit_by_train) { diff --git a/BO2/PC/MP/maps/mp/gametypes/_globallogic_score.gsc b/BO2/PC/MP/maps/mp/gametypes/_globallogic_score.gsc index cbd4586..e83d27c 100644 --- a/BO2/PC/MP/maps/mp/gametypes/_globallogic_score.gsc +++ b/BO2/PC/MP/maps/mp/gametypes/_globallogic_score.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 58 - * Decompile Time: 130 ms - * Timestamp: 10/27/2023 3:00:05 AM + * Decompile Time: 19 ms + * Timestamp: 10/28/2023 12:10:32 AM *******************************************************************/ #include common_scripts/utility; @@ -636,18 +636,24 @@ setplayermomentumdebug() { /# setdvar("sv_momentumPercent",0); - for(;;) + while(1) { wait(1); momentumpercent = getdvarfloatdefault("sv_momentumPercent",0); - player = gethostplayer(); - return; - _setplayermomentum(player,int(2000 * momentumpercent / 100)); + if(momentumpercent != 0) + { + player = gethostplayer(); + if(!(IsDefined(player))) + { + return; + } + + if(IsDefined(player.killstreak)) + { + _setplayermomentum(player,int(2000 * momentumpercent / 100)); + } + } } -IsDefined(player.killstreak) -IsDefined(player) -momentumpercent != 0 -1 #/ } @@ -1499,13 +1505,13 @@ processkillstreakassists(attacker,inflictor,weaponname) else { /# - assert(IsDefined(player.activecounteruavs)); + assert(IsDefined(player.activecounteruavs)); #/ /# - assert(IsDefined(player.activeuavs)); + assert(IsDefined(player.activeuavs)); #/ /# - assert(IsDefined(player.activesatellites)); + assert(IsDefined(player.activesatellites)); #/ if(player.activecounteruavs > 0 && !maps/mp/killstreaks/_killstreaks::iskillstreakweapon(weaponname)) { @@ -1575,13 +1581,18 @@ xpratethread() self endon("death"); self endon("disconnect"); level endon("game_ended"); - wait(0.05); + while(level.inprematchperiod) + { + wait(0.05); + } + for(;;) { wait(5); - self maps/mp/gametypes/_rank::giverankxp("kill",int(min(GetDvarInt(#"F8D00F60"),50))); + if(IsDefined(level.teams[level.players[0].pers["team"]])) + { + self maps/mp/gametypes/_rank::giverankxp("kill",int(min(GetDvarInt(#"F8D00F60"),50))); + } } -IsDefined(level.teams[level.players[0].pers["team"]]) -level.inprematchperiod #/ } \ No newline at end of file diff --git a/BO2/PC/MP/maps/mp/gametypes/_globallogic_spawn.gsc b/BO2/PC/MP/maps/mp/gametypes/_globallogic_spawn.gsc index 551fc68..17945ce 100644 --- a/BO2/PC/MP/maps/mp/gametypes/_globallogic_spawn.gsc +++ b/BO2/PC/MP/maps/mp/gametypes/_globallogic_spawn.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 30 - * Decompile Time: 95 ms - * Timestamp: 10/27/2023 3:00:05 AM + * Decompile Time: 8 ms + * Timestamp: 10/28/2023 12:10:32 AM *******************************************************************/ #include common_scripts/utility; @@ -466,8 +466,10 @@ spawnplayer() } /# - self thread maps/mp/gametypes/_globallogic_score::xpratethread(); -GetDvarInt(#"F8D00F60") > 0 + if(GetDvarInt(#"F8D00F60") > 0) + { + self thread maps/mp/gametypes/_globallogic_score::xpratethread(); + } #/ if(game["state"] == "postgame") { @@ -574,7 +576,10 @@ forcespawn(time) kickifdontspawn() { /# -GetDvarInt(#"1F8C9394") == 1 + if(GetDvarInt(#"1F8C9394") == 1) + { + return; + } #/ if(self ishost()) { diff --git a/BO2/PC/MP/maps/mp/gametypes/_globallogic_ui.gsc b/BO2/PC/MP/maps/mp/gametypes/_globallogic_ui.gsc index c4405e3..6dc6e8e 100644 --- a/BO2/PC/MP/maps/mp/gametypes/_globallogic_ui.gsc +++ b/BO2/PC/MP/maps/mp/gametypes/_globallogic_ui.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 21 - * Decompile Time: 65 ms - * Timestamp: 10/27/2023 3:00:06 AM + * Decompile Time: 5 ms + * Timestamp: 10/28/2023 12:10:32 AM *******************************************************************/ #include common_scripts/utility; @@ -245,7 +245,8 @@ menuautoassign(comingfrommenu) assignment = ""; assignment = team; self setclientscriptmainmenu(game["menu_class"]); -Stack-Empty ? IsDefined(level.teams[team]) : team == "spectator" && !level.forceautoassign +team == "spectator" && !level.forceautoassign +IsDefined(level.teams[team]) break; } } @@ -261,7 +262,7 @@ Stack-Empty ? IsDefined(level.teams[team]) : team == "spectator" && !level.force { host = gethostplayerforbots(); /# - assert(IsDefined(host)); + assert(IsDefined(host)); #/ if(!IsDefined(host.team) || host.team == "spectator") { diff --git a/BO2/PC/MP/maps/mp/gametypes/_globallogic_utils.gsc b/BO2/PC/MP/maps/mp/gametypes/_globallogic_utils.gsc index 38bdc98..667cf5b 100644 --- a/BO2/PC/MP/maps/mp/gametypes/_globallogic_utils.gsc +++ b/BO2/PC/MP/maps/mp/gametypes/_globallogic_utils.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 30 - * Decompile Time: 35 ms - * Timestamp: 10/27/2023 3:00:06 AM + * Decompile Time: 3 ms + * Timestamp: 10/28/2023 12:10:32 AM *******************************************************************/ #include maps/mp/_utility; @@ -168,45 +168,46 @@ assertproperplacement() { /# numplayers = level.placement["all"].size; - i = 0; - for(;;) + if(level.teambased) { - println("^1Placement array:"); - i = 0; - for(;;) + for(i = 0;i < numplayers - 1;i++) { - player = level.placement["all"][i]; - println("^1" + i + ". " + player.name + ": " + player.score); - i++; - } + if(level.placement["all"][i].score < level.placement["all"][i + 1].score) + { + println("^1Placement array:"); + for(i = 0;i < numplayers;i++) + { + player = level.placement["all"][i]; + println("^1" + i + ". " + player.name + ": " + player.score); + } + /# - assertmsg("Placement array was not properly sorted"); + assertmsg("Placement array was not properly sorted"); #/ - break; - i++; + break; + } + } } - i = 0; - for(;;) + else { - println("^1Placement array:"); - i = 0; - for(;;) + for(i = 0;i < numplayers - 1;i++) { - player = level.placement["all"][i]; - println("^1" + i + ". " + player.name + ": " + player.pointstowin); - i++; - } + if(level.placement["all"][i].pointstowin < level.placement["all"][i + 1].pointstowin) + { + println("^1Placement array:"); + for(i = 0;i < numplayers;i++) + { + player = level.placement["all"][i]; + println("^1" + i + ". " + player.name + ": " + player.pointstowin); + } + /# - assertmsg("Placement array was not properly sorted"); + assertmsg("Placement array was not properly sorted"); #/ - break; - i++; + break; + } + } } -i < numplayers - 1 ? level.placement["all"][i].pointstowin < level.placement["all"][i + 1].pointstowin : i < numplayers -i < numplayers -level.placement["all"][i].score < level.placement["all"][i + 1].score -i < numplayers - 1 -level.teambased #/ } @@ -502,14 +503,11 @@ gethitlocheight(shitloc) debugline(start,end) { /# - i = 0; - for(;;) + for(i = 0;i < 50;i++) { line(start,end); wait(0.05); - i++; } -i < 50 #/ } diff --git a/BO2/PC/MP/maps/mp/gametypes/_globallogic_vehicle.gsc b/BO2/PC/MP/maps/mp/gametypes/_globallogic_vehicle.gsc index 773b071..3b020a8 100644 --- a/BO2/PC/MP/maps/mp/gametypes/_globallogic_vehicle.gsc +++ b/BO2/PC/MP/maps/mp/gametypes/_globallogic_vehicle.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 8 - * Decompile Time: 32 ms - * Timestamp: 10/27/2023 3:00:07 AM + * Decompile Time: 2 ms + * Timestamp: 10/28/2023 12:10:33 AM *******************************************************************/ #include maps/mp/_utility; @@ -168,7 +168,10 @@ callback_vehicledamage(einflictor,eattacker,idamage,idflags,smeansofdeath,sweapo } else { - if(IsDefined(self.owner) && IsDefined(eattacker) && self.owner == eattacker) + if(!level.teambased && IsDefined(self.targetname) && self.targetname == "rcbomb") + { + } + else if(IsDefined(self.owner) && IsDefined(eattacker) && self.owner == eattacker) { return; } @@ -219,8 +222,10 @@ callback_vehicledamage(einflictor,eattacker,idamage,idflags,smeansofdeath,sweapo } /# - println("actor:" + self getentitynumber() + " health:" + self.health + " attacker:" + eattacker.clientid + " inflictor is player:" + isplayer(einflictor) + " damage:" + idamage + " hitLoc:" + shitloc); -GetDvarInt(#"B1AE74B1") + if(GetDvarInt(#"B1AE74B1")) + { + println("actor:" + self getentitynumber() + " health:" + self.health + " attacker:" + eattacker.clientid + " inflictor is player:" + isplayer(einflictor) + " damage:" + idamage + " hitLoc:" + shitloc); + } #/ if(1) { diff --git a/BO2/PC/MP/maps/mp/gametypes/_healthoverlay.gsc b/BO2/PC/MP/maps/mp/gametypes/_healthoverlay.gsc index 331660d..e38b27e 100644 --- a/BO2/PC/MP/maps/mp/gametypes/_healthoverlay.gsc +++ b/BO2/PC/MP/maps/mp/gametypes/_healthoverlay.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 11 - * Decompile Time: 20 ms - * Timestamp: 10/27/2023 3:00:07 AM + * Decompile Time: 1 ms + * Timestamp: 10/28/2023 12:10:33 AM *******************************************************************/ #include maps/mp/gametypes/_globallogic_player; diff --git a/BO2/PC/MP/maps/mp/gametypes/_hostmigration.gsc b/BO2/PC/MP/maps/mp/gametypes/_hostmigration.gsc index c9c53fe..f5c5d4a 100644 --- a/BO2/PC/MP/maps/mp/gametypes/_hostmigration.gsc +++ b/BO2/PC/MP/maps/mp/gametypes/_hostmigration.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 19 - * Decompile Time: 31 ms - * Timestamp: 10/27/2023 3:00:07 AM + * Decompile Time: 1 ms + * Timestamp: 10/28/2023 12:10:33 AM *******************************************************************/ #include common_scripts/utility; @@ -17,18 +17,27 @@ debug_script_structs() { /# - println("*** Num structs " + level.struct.size); - println(""); - i = 0; - for(;;) + if(IsDefined(level.struct)) { - struct = level.struct[i]; - println("---" + i + " : " + struct.targetname); - println("---" + i + " : " + "NONE"); - i++; + println("*** Num structs " + level.struct.size); + println(""); + for(i = 0;i < level.struct.size;i++) + { + struct = level.struct[i]; + if(IsDefined(struct.targetname)) + { + println("---" + i + " : " + struct.targetname); + } + else + { + println("---" + i + " : " + "NONE"); + } + } + } + else + { + println("*** No structs defined."); } - println("*** No structs defined."); -Stack-Empty ? Stack-Empty : ((IsDefined(level.struct)) ? i < level.struct.size : IsDefined(struct.targetname)) #/ } @@ -292,8 +301,10 @@ waitlongdurationwithhostmigrationpause(duration) } /# - println("SCRIPT WARNING: gettime() = " + GetTime() + " NOT EQUAL TO endtime = " + endtime); -GetTime() != endtime + if(GetTime() != endtime) + { + println("SCRIPT WARNING: gettime() = " + GetTime() + " NOT EQUAL TO endtime = " + endtime); + } #/ waittillhostmigrationdone(); return GetTime() - starttime; @@ -327,8 +338,10 @@ waitlongdurationwithhostmigrationpauseemp(duration) } /# - println("SCRIPT WARNING: gettime() = " + GetTime() + " NOT EQUAL TO empendtime = " + empendtime); -GetTime() != empendtime + if(GetTime() != empendtime) + { + println("SCRIPT WARNING: gettime() = " + GetTime() + " NOT EQUAL TO empendtime = " + empendtime); + } #/ waittillhostmigrationdone(); level.empendtime = undefined; @@ -360,14 +373,20 @@ waitlongdurationwithgameendtimeupdate(duration) } /# - println("SCRIPT WARNING: gettime() = " + GetTime() + " NOT EQUAL TO endtime = " + endtime); -GetTime() != endtime -#/ - while(IsDefined(level.hostmigrationtimer)) + if(GetTime() != endtime) { - endtime = endtime + 1000; - setgameendtime(int(endtime)); - wait(1); + println("SCRIPT WARNING: gettime() = " + GetTime() + " NOT EQUAL TO endtime = " + endtime); + } + + for(;;) + { +#/ + if(IsDefined(level.hostmigrationtimer)) + { + endtime = endtime + 1000; + setgameendtime(int(endtime)); + wait(1); + } } return GetTime() - starttime; diff --git a/BO2/PC/MP/maps/mp/gametypes/_hud.gsc b/BO2/PC/MP/maps/mp/gametypes/_hud.gsc index 82bab31..4554d13 100644 --- a/BO2/PC/MP/maps/mp/gametypes/_hud.gsc +++ b/BO2/PC/MP/maps/mp/gametypes/_hud.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 4 - * Decompile Time: 20 ms - * Timestamp: 10/27/2023 3:00:08 AM + * Decompile Time: 1 ms + * Timestamp: 10/28/2023 12:10:33 AM *******************************************************************/ //Function Number: 1 diff --git a/BO2/PC/MP/maps/mp/gametypes/_hud_message.gsc b/BO2/PC/MP/maps/mp/gametypes/_hud_message.gsc index b61e93e..098815a 100644 --- a/BO2/PC/MP/maps/mp/gametypes/_hud_message.gsc +++ b/BO2/PC/MP/maps/mp/gametypes/_hud_message.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 32 - * Decompile Time: 124 ms - * Timestamp: 10/27/2023 3:00:08 AM + * Decompile Time: 22 ms + * Timestamp: 10/28/2023 12:10:33 AM *******************************************************************/ #include maps/mp/_music; diff --git a/BO2/PC/MP/maps/mp/gametypes/_hud_util.gsc b/BO2/PC/MP/maps/mp/gametypes/_hud_util.gsc index f3ef6a9..9f69cce 100644 --- a/BO2/PC/MP/maps/mp/gametypes/_hud_util.gsc +++ b/BO2/PC/MP/maps/mp/gametypes/_hud_util.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 47 - * Decompile Time: 89 ms - * Timestamp: 10/27/2023 3:00:09 AM + * Decompile Time: 9 ms + * Timestamp: 10/28/2023 12:10:34 AM *******************************************************************/ #include maps/mp/_utility; @@ -368,7 +368,7 @@ updatebarscale(barfrac,rateofchange) else if(rateofchange < 0) { /# - assert(barfrac / -1 * rateofchange > 0,"barFrac: " + barfrac + "rateOfChange: " + rateofchange); + assert(barfrac / -1 * rateofchange > 0,"barFrac: " + barfrac + "rateOfChange: " + rateofchange); #/ self.bar scaleovertime(barfrac / -1 * rateofchange,1,self.height); } @@ -1165,9 +1165,9 @@ hideperk(index,fadetime,hidetextonly) #/ /# assert(!IsDefined(self.perkname[index])); -#/ - return; } +#/ + return; } /# diff --git a/BO2/PC/MP/maps/mp/gametypes/_killcam.gsc b/BO2/PC/MP/maps/mp/gametypes/_killcam.gsc index bf20d72..57dc1da 100644 --- a/BO2/PC/MP/maps/mp/gametypes/_killcam.gsc +++ b/BO2/PC/MP/maps/mp/gametypes/_killcam.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 39 - * Decompile Time: 56 ms - * Timestamp: 10/27/2023 3:00:09 AM + * Decompile Time: 11 ms + * Timestamp: 10/28/2023 12:10:34 AM *******************************************************************/ #include maps/mp/_challenges; @@ -548,9 +548,11 @@ finalkillcam(winner) } /# - setmatchflag("final_killcam",1); - setmatchflag("round_end_killcam",0); -GetDvarInt(#"9003F201") == 1 + if(GetDvarInt(#"9003F201") == 1) + { + setmatchflag("final_killcam",1); + setmatchflag("round_end_killcam",0); + } #/ if(level.console) { diff --git a/BO2/PC/MP/maps/mp/gametypes/_menus.gsc b/BO2/PC/MP/maps/mp/gametypes/_menus.gsc index 6f6140c..00dfd5d 100644 --- a/BO2/PC/MP/maps/mp/gametypes/_menus.gsc +++ b/BO2/PC/MP/maps/mp/gametypes/_menus.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 3 - * Decompile Time: 35 ms - * Timestamp: 10/27/2023 3:00:10 AM + * Decompile Time: 5 ms + * Timestamp: 10/28/2023 12:10:34 AM *******************************************************************/ #include maps/mp/_utility; diff --git a/BO2/PC/MP/maps/mp/gametypes/_objpoints.gsc b/BO2/PC/MP/maps/mp/gametypes/_objpoints.gsc index a920d76..209819e 100644 --- a/BO2/PC/MP/maps/mp/gametypes/_objpoints.gsc +++ b/BO2/PC/MP/maps/mp/gametypes/_objpoints.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 9 - * Decompile Time: 10 ms - * Timestamp: 10/27/2023 3:00:10 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:10:34 AM *******************************************************************/ #include maps/mp/_utility; diff --git a/BO2/PC/MP/maps/mp/gametypes/_perplayer.gsc b/BO2/PC/MP/maps/mp/gametypes/_perplayer.gsc index 1272f10..02d472a 100644 --- a/BO2/PC/MP/maps/mp/gametypes/_perplayer.gsc +++ b/BO2/PC/MP/maps/mp/gametypes/_perplayer.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 11 - * Decompile Time: 18 ms - * Timestamp: 10/27/2023 3:00:10 AM + * Decompile Time: 1 ms + * Timestamp: 10/28/2023 12:10:34 AM *******************************************************************/ #include maps/mp/_utility; diff --git a/BO2/PC/MP/maps/mp/gametypes/_persistence.gsc b/BO2/PC/MP/maps/mp/gametypes/_persistence.gsc index cc9fb62..910dddb 100644 --- a/BO2/PC/MP/maps/mp/gametypes/_persistence.gsc +++ b/BO2/PC/MP/maps/mp/gametypes/_persistence.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 26 - * Decompile Time: 62 ms - * Timestamp: 10/27/2023 3:00:11 AM + * Decompile Time: 8 ms + * Timestamp: 10/28/2023 12:10:35 AM *******************************************************************/ #include maps/mp/_challenges; @@ -127,7 +127,8 @@ uploadglobalstatcounters() } break; - Stack-Empty ? index < level.bombzones.size : !IsDefined(level.bombzones[index].bombexploded) || !level.bombzones[index].bombexploded + !IsDefined(level.bombzones[index].bombexploded) || !level.bombzones[index].bombexploded + index < level.bombzones.size break; case "sab": @@ -332,7 +333,10 @@ statsetwithgametype(dataname,value,incvalue) adjustrecentstats() { /# -GetDvarInt(#"7AEF62D7") == 1 || GetDvarInt(#"1F8C9394") == 1 + if(GetDvarInt(#"7AEF62D7") == 1 || GetDvarInt(#"1F8C9394") == 1) + { + return; + } #/ initializematchstats(); } @@ -464,7 +468,10 @@ setafteractionreportstat(statname,value,index) } /# -GetDvarInt(#"7AEF62D7") == 1 || GetDvarInt(#"1F8C9394") == 1 + if(GetDvarInt(#"7AEF62D7") == 1 || GetDvarInt(#"1F8C9394") == 1) + { + return; + } #/ if(level.rankedmatch || level.wagermatch || level.leaguematch) { diff --git a/BO2/PC/MP/maps/mp/gametypes/_pregame.gsc b/BO2/PC/MP/maps/mp/gametypes/_pregame.gsc index 510b740..4204980 100644 --- a/BO2/PC/MP/maps/mp/gametypes/_pregame.gsc +++ b/BO2/PC/MP/maps/mp/gametypes/_pregame.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 13 - * Decompile Time: 55 ms - * Timestamp: 10/27/2023 3:00:11 AM + * Decompile Time: 4 ms + * Timestamp: 10/28/2023 12:10:35 AM *******************************************************************/ #include maps/mp/_utility; @@ -244,9 +244,11 @@ pregamemain() } /# - setdvar("scr_pregame_abort",0); - break; - GetDvarInt(#"9CAAE1C4") > 0 + if(GetDvarInt(#"9CAAE1C4") > 0) + { + setdvar("scr_pregame_abort",0); + break; + } #/ if(oldcount != count) { diff --git a/BO2/PC/MP/maps/mp/gametypes/_rank.gsc b/BO2/PC/MP/maps/mp/gametypes/_rank.gsc index fc7fea9..f54126d 100644 --- a/BO2/PC/MP/maps/mp/gametypes/_rank.gsc +++ b/BO2/PC/MP/maps/mp/gametypes/_rank.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 41 - * Decompile Time: 95 ms - * Timestamp: 10/27/2023 3:00:12 AM + * Decompile Time: 14 ms + * Timestamp: 10/28/2023 12:10:35 AM *******************************************************************/ #include common_scripts/utility; @@ -61,17 +61,20 @@ init() rankname = tablelookup("mp/ranktable.csv",0,rankid,1); /# assert(IsDefined(rankname) && rankname != ""); + for(;;) + { #/ - while(IsDefined(rankname) && rankname != "") - { - level.ranktable[rankid][1] = tablelookup("mp/ranktable.csv",0,rankid,1); - level.ranktable[rankid][2] = tablelookup("mp/ranktable.csv",0,rankid,2); - level.ranktable[rankid][3] = tablelookup("mp/ranktable.csv",0,rankid,3); - level.ranktable[rankid][7] = tablelookup("mp/ranktable.csv",0,rankid,7); - level.ranktable[rankid][14] = tablelookup("mp/ranktable.csv",0,rankid,14); - precachestring(tablelookupistring("mp/ranktable.csv",0,rankid,16)); - rankid++; - rankname = tablelookup("mp/ranktable.csv",0,rankid,1); + if(IsDefined(rankname) && rankname != "") + { + level.ranktable[rankid][1] = tablelookup("mp/ranktable.csv",0,rankid,1); + level.ranktable[rankid][2] = tablelookup("mp/ranktable.csv",0,rankid,2); + level.ranktable[rankid][3] = tablelookup("mp/ranktable.csv",0,rankid,3); + level.ranktable[rankid][7] = tablelookup("mp/ranktable.csv",0,rankid,7); + level.ranktable[rankid][14] = tablelookup("mp/ranktable.csv",0,rankid,14); + precachestring(tablelookupistring("mp/ranktable.csv",0,rankid,16)); + rankid++; + rankname = tablelookup("mp/ranktable.csv",0,rankid,1); + } } level thread onplayerconnect(); @@ -862,22 +865,25 @@ getrankforxp(xpval) rankname = level.ranktable[rankid][1]; /# assert(IsDefined(rankname)); + for(;;) + { #/ - while(IsDefined(rankname) && rankname != "") - { - if(xpval < getrankinfominxp(rankid) + getrankinfoxpamt(rankid)) + if(IsDefined(rankname) && rankname != "") { - return rankid; - } + if(xpval < getrankinfominxp(rankid) + getrankinfoxpamt(rankid)) + { + return rankid; + } - rankid++; - if(IsDefined(level.ranktable[rankid])) - { - rankname = level.ranktable[rankid][1]; - continue; - } + rankid++; + if(IsDefined(level.ranktable[rankid])) + { + rankname = level.ranktable[rankid][1]; + continue; + } - rankname = undefined; + rankname = undefined; + } } rankid--; diff --git a/BO2/PC/MP/maps/mp/gametypes/_scoreboard.gsc b/BO2/PC/MP/maps/mp/gametypes/_scoreboard.gsc index c752adb..a4e48a5 100644 --- a/BO2/PC/MP/maps/mp/gametypes/_scoreboard.gsc +++ b/BO2/PC/MP/maps/mp/gametypes/_scoreboard.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 1 - * Decompile Time: 4 ms - * Timestamp: 10/27/2023 3:00:12 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:10:35 AM *******************************************************************/ //Function Number: 1 diff --git a/BO2/PC/MP/maps/mp/gametypes/_serversettings.gsc b/BO2/PC/MP/maps/mp/gametypes/_serversettings.gsc index 5f5b4ca..745d618 100644 --- a/BO2/PC/MP/maps/mp/gametypes/_serversettings.gsc +++ b/BO2/PC/MP/maps/mp/gametypes/_serversettings.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 4 - * Decompile Time: 22 ms - * Timestamp: 10/27/2023 3:00:13 AM + * Decompile Time: 1 ms + * Timestamp: 10/28/2023 12:10:35 AM *******************************************************************/ //Function Number: 1 diff --git a/BO2/PC/MP/maps/mp/gametypes/_shellshock.gsc b/BO2/PC/MP/maps/mp/gametypes/_shellshock.gsc index c2b7c7d..11be5c6 100644 --- a/BO2/PC/MP/maps/mp/gametypes/_shellshock.gsc +++ b/BO2/PC/MP/maps/mp/gametypes/_shellshock.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 5 - * Decompile Time: 9 ms - * Timestamp: 10/27/2023 3:00:13 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:10:36 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/PC/MP/maps/mp/gametypes/_spawning.gsc b/BO2/PC/MP/maps/mp/gametypes/_spawning.gsc index 2fcf0dc..fd236ba 100644 --- a/BO2/PC/MP/maps/mp/gametypes/_spawning.gsc +++ b/BO2/PC/MP/maps/mp/gametypes/_spawning.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 53 - * Decompile Time: 159 ms - * Timestamp: 10/27/2023 3:00:14 AM + * Decompile Time: 22 ms + * Timestamp: 10/28/2023 12:10:36 AM *******************************************************************/ #include common_scripts/utility; @@ -766,7 +766,8 @@ create_map_placed_influencer(influencer_entity,optional_score_override) assertmsg("Radiant-placed sphere spawn influencers require \'radius\' parameter"); #/ break; - Stack-Empty ? IsDefined(influencer_entity.radius) : IsDefined(optional_score_override) + IsDefined(optional_score_override) + IsDefined(influencer_entity.radius) break; case "cylinder": @@ -778,7 +779,8 @@ create_map_placed_influencer(influencer_entity,optional_score_override) assertmsg("Radiant-placed cylinder spawn influencers require \'radius\' and \'height\' parameters"); #/ break; - Stack-Empty ? IsDefined(influencer_entity.radius) && IsDefined(influencer_entity.height) : IsDefined(optional_score_override) + IsDefined(optional_score_override) + IsDefined(influencer_entity.radius) && IsDefined(influencer_entity.height) break; default: @@ -792,9 +794,8 @@ create_map_placed_influencer(influencer_entity,optional_score_override) { /# assertmsg("Radiant-placed spawn influencers require \'script_shape\', \'script_score\' and \'script_score_curve\' parameters"); -#/ } - +#/ return influencer_id; } @@ -845,13 +846,12 @@ initialize_player_spawning_dvars() { /# reset_dvars = 1; - for(;;) + while(1) { get_player_spawning_dvars(reset_dvars); reset_dvars = 0; wait(2); } -1 #/ } @@ -986,9 +986,12 @@ onspawnplayer_unified(predictedspawn) } /# - spawn_point = get_debug_spawnpoint(self); - self spawn(spawn_point.origin,spawn_point.angles); -GetDvarInt(#"24A61F21") != 0 + if(GetDvarInt(#"24A61F21") != 0) + { + spawn_point = get_debug_spawnpoint(self); + self spawn(spawn_point.origin,spawn_point.angles); + return; + } #/ use_new_spawn_system = 1; initial_spawn = 1; diff --git a/BO2/PC/MP/maps/mp/gametypes/_spawnlogic.gsc b/BO2/PC/MP/maps/mp/gametypes/_spawnlogic.gsc index 5182421..2315855 100644 --- a/BO2/PC/MP/maps/mp/gametypes/_spawnlogic.gsc +++ b/BO2/PC/MP/maps/mp/gametypes/_spawnlogic.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 62 - * Decompile Time: 129 ms - * Timestamp: 10/27/2023 3:00:14 AM + * Decompile Time: 24 ms + * Timestamp: 10/28/2023 12:10:36 AM *******************************************************************/ #include common_scripts/utility; @@ -150,8 +150,10 @@ placespawnpoints(spawnpointname) addspawnpointclassname(spawnpointname); spawnpoints = getspawnpointarray(spawnpointname); /# - level.extraspawnpointsused = []; -IsDefined(level.extraspawnpointsused) + if(!(IsDefined(level.extraspawnpointsused))) + { + level.extraspawnpointsused = []; + } #/ if(!(spawnpoints.size)) { @@ -393,8 +395,10 @@ getbestweightedspawnpoint(spawnpoints) penalty = getlospenalty(); /# - bestspawnpoint.spawndata[bestspawnpoint.spawndata.size] = "Last minute sight trace: -" + penalty; -level.storespawndata || level.debugspawning + if(level.storespawndata || level.debugspawning) + { + bestspawnpoint.spawndata[bestspawnpoint.spawndata.size] = "Last minute sight trace: -" + penalty; + } #/ bestspawnpoint.weight = bestspawnpoint.weight - penalty; bestspawnpoint.lastsighttracetime = GetTime(); @@ -405,16 +409,24 @@ level.storespawndata || level.debugspawning checkbad(spawnpoint) { /# - i = 0; - for(;;) + for(i = 0;i < level.players.size;i++) { player = level.players[i]; - losexists = bullettracepassed(50 + VectorScale((0,0,1)),player.origin,spawnpoint.sighttracepoint,0); - thread badspawnline(spawnpoint.sighttracepoint,50 + VectorScale((0,0,1)),player.origin,self.name); - i++; + if(!isalive(player) || player.sessionstate != "playing") + { + } + else if(level.teambased && player.team == self.team) + { + } + else + { + losexists = bullettracepassed(50 + VectorScale((0,0,1)),player.origin,spawnpoint.sighttracepoint,0); + if(losexists) + { + thread badspawnline(spawnpoint.sighttracepoint,50 + VectorScale((0,0,1)),player.origin,self.name); + } + } } -(!isalive(player) || player.sessionstate != "playing") ? level.teambased && player.team == self.team : (undefined ? losexists : player.name) -i < level.players.size #/ } @@ -423,16 +435,13 @@ badspawnline(start,end,name1,name2) { /# dist = distance(start,end); - i = 0; - for(;;) + for(i = 0;i < 200;i++) { line(start,end,(1,0,0)); print3d(start,"Bad spawn! " + name1 + ", dist = " + dist); print3d(end,name2); wait(0.05); - i++; } -i < 200 #/ } @@ -440,105 +449,143 @@ i < 200 storespawndata(spawnpoints,useweights,bestspawnpoint) { /# - return; + if(!IsDefined(level.storespawndata) || !level.storespawndata) + { + return; + } + level.storespawndata = GetDvarInt(#"96EBB72E"); - return; - level.spawngameid = randomint(100); - level.spawnid = 0; - return; + if(!(level.storespawndata)) + { + return; + } + + if(!(IsDefined(level.spawnid))) + { + level.spawngameid = randomint(100); + level.spawnid = 0; + } + + if(bestspawnpoint.classname == "mp_global_intermission") + { + return; + } + level.spawnid++; file = openfile("spawndata.txt","append"); fprintfields(file,level.spawngameid + "." + level.spawnid + "," + spawnpoints.size + "," + self.name); - i = 0; - for(;;) + for(i = 0;i < spawnpoints.size;i++) { str = vectostr(spawnpoints[i].origin) + ","; - str = str + "1,"; - str = str + "0,"; - str = str + "0,"; - str = str + spawnpoints[i].weight + ","; - spawnpoints[i].spawndata = []; - spawnpoints[i].sightchecks = []; + if(spawnpoints[i] == bestspawnpoint) + { + str = str + "1,"; + } + else + { + str = str + "0,"; + } + + if(!(useweights)) + { + str = str + "0,"; + } + else + { + str = str + spawnpoints[i].weight + ","; + } + + if(!(IsDefined(spawnpoints[i].spawndata))) + { + spawnpoints[i].spawndata = []; + } + + if(!(IsDefined(spawnpoints[i].sightchecks))) + { + spawnpoints[i].sightchecks = []; + } + str = str + spawnpoints[i].spawndata.size + ","; - j = 0; - for(;;) + for(j = 0;j < spawnpoints[i].spawndata.size;j++) { str = str + spawnpoints[i].spawndata[j] + ","; - j++; } + str = str + spawnpoints[i].sightchecks.size + ","; - j = 0; - for(;;) + for(j = 0;j < spawnpoints[i].sightchecks.size;j++) { str = str + spawnpoints[i].sightchecks[j].penalty + "," + vectostr(spawnpoints[i].origin) + ","; - j++; } + fprintfields(file,str); - i++; } + obj = spawnstruct(); getallalliedandenemyplayers(obj); numallies = 0; numenemies = 0; str = ""; - i = 0; - for(;;) + for(i = 0;i < obj.allies.size;i++) { - numallies++; - str = str + vectostr(obj.allies[i].origin) + ","; - i++; + if(obj.allies[i] == self) + { + } + else + { + numallies++; + str = str + vectostr(obj.allies[i].origin) + ","; + } } - i = 0; - for(;;) + + for(i = 0;i < obj.enemies.size;i++) { numenemies++; str = str + vectostr(obj.enemies[i].origin) + ","; - i++; } + str = numallies + "," + numenemies + "," + str; fprintfields(file,str); otherdata = []; - index = otherdata.size; - otherdata[index] = spawnstruct(); - otherdata[index].origin = 20 + VectorScale((0,0,1)); - otherdata[index].text = "Bomb holder"; - index = otherdata.size; - otherdata[index] = spawnstruct(); - otherdata[index].origin = level.bombpos; - otherdata[index].text = "Bomb"; - i = 0; - for(;;) + if(IsDefined(level.bombguy)) { index = otherdata.size; otherdata[index] = spawnstruct(); - otherdata[index].origin = level.flags[i].origin; - otherdata[index].text = level.flags[i].useobj maps/mp/gametypes/_gameobjects::getownerteam() + " flag"; - i++; + otherdata[index].origin = 20 + VectorScale((0,0,1)); + otherdata[index].text = "Bomb holder"; } + else if(IsDefined(level.bombpos)) + { + index = otherdata.size; + otherdata[index] = spawnstruct(); + otherdata[index].origin = level.bombpos; + otherdata[index].text = "Bomb"; + } + + if(IsDefined(level.flags)) + { + for(i = 0;i < level.flags.size;i++) + { + index = otherdata.size; + otherdata[index] = spawnstruct(); + otherdata[index].origin = level.flags[i].origin; + otherdata[index].text = level.flags[i].useobj maps/mp/gametypes/_gameobjects::getownerteam() + " flag"; + } + } + str = otherdata.size + ","; - i = 0; - for(;;) + for(i = 0;i < otherdata.size;i++) { str = str + vectostr(otherdata[i].origin) + "," + otherdata[i].text + ","; - i++; } + fprintfields(file,str); closefile(file); thisspawnid = level.spawngameid + "." + level.spawnid; + if(IsDefined(self.thisspawnid)) + { + } + self.thisspawnid = thisspawnid; -IsDefined(self.thisspawnid) -i < otherdata.size -i < level.flags.size -IsDefined(level.flags) -(IsDefined(level.bombguy)) ? level.bombguy.origin : IsDefined(level.bombpos) -i < obj.enemies.size -(j < spawnpoints[i].sightchecks.size) ? i < obj.allies.size : obj.allies[i] == self -j < spawnpoints[i].spawndata.size -IsDefined(spawnpoints[i].sightchecks) -IsDefined(spawnpoints[i].spawndata) -(IsDefined(level.spawnid)) ? ((bestspawnpoint.classname == "mp_global_intermission") ? i < spawnpoints.size : spawnpoints[i] == bestspawnpoint) : useweights -level.storespawndata -!IsDefined(level.storespawndata) || !level.storespawndata #/ } @@ -547,55 +594,94 @@ readspawndata(desiredid,relativepos) { /# file = openfile("spawndata.txt","read"); - return; + if(file < 0) + { + return; + } + oldspawndata = level.curspawndata; level.curspawndata = undefined; prev = undefined; prevthisplayer = undefined; lookingfornextthisplayer = 0; lookingfornext = 0; - return; - for(;;) + if(IsDefined(relativepos) && !IsDefined(oldspawndata)) { - break; + return; + } + + while(1) + { + if(freadln(file) <= 0) + { + break; + } + data = spawnstruct(); data.id = fgetarg(file,0); numspawns = int(fgetarg(file,1)); - break; + if(numspawns > 256) + { + break; + } + data.playername = fgetarg(file,2); data.spawnpoints = []; data.friends = []; data.enemies = []; data.otherdata = []; - i = 0; - for(;;) + for(i = 0;i < numspawns;i++) { - break; + if(freadln(file) <= 0) + { + break; + } + spawnpoint = spawnstruct(); spawnpoint.origin = strtovec(fgetarg(file,0)); spawnpoint.winner = int(fgetarg(file,1)); spawnpoint.weight = int(fgetarg(file,2)); spawnpoint.data = []; spawnpoint.sightchecks = []; - data.minweight = spawnpoint.weight; - data.maxweight = spawnpoint.weight; - data.minweight = spawnpoint.weight; - data.maxweight = spawnpoint.weight; + if(i == 0) + { + data.minweight = spawnpoint.weight; + data.maxweight = spawnpoint.weight; + } + else + { + if(spawnpoint.weight < data.minweight) + { + data.minweight = spawnpoint.weight; + } + + if(spawnpoint.weight > data.maxweight) + { + data.maxweight = spawnpoint.weight; + } + } + argnum = 4; numdata = int(fgetarg(file,3)); - break; - j = 0; - for(;;) + if(numdata > 256) + { + break; + } + + for(j = 0;j < numdata;j++) { spawnpoint.data[spawnpoint.data.size] = fgetarg(file,argnum); argnum++; - j++; } + numsightchecks = int(fgetarg(file,argnum)); argnum++; - break; - j = 0; - for(;;) + if(numsightchecks > 256) + { + break; + } + + for(j = 0;j < numsightchecks;j++) { index = spawnpoint.sightchecks.size; spawnpoint.sightchecks[index] = spawnstruct(); @@ -603,38 +689,55 @@ readspawndata(desiredid,relativepos) argnum++; spawnpoint.sightchecks[index].origin = strtovec(fgetarg(file,argnum)); argnum++; - j++; } + data.spawnpoints[data.spawnpoints.size] = spawnpoint; - i++; } - data.minweight = -1; - data.maxweight = 0; - data.minweight = data.minweight - 1; - break; + + if(!(IsDefined(data.minweight))) + { + data.minweight = -1; + data.maxweight = 0; + } + + if(data.minweight == data.maxweight) + { + data.minweight = data.minweight - 1; + } + + if(freadln(file) <= 0) + { + break; + } + numfriends = int(fgetarg(file,0)); numenemies = int(fgetarg(file,1)); - break; + if(numfriends > 32 || numenemies > 32) + { + break; + } + argnum = 2; - i = 0; - for(;;) + for(i = 0;i < numfriends;i++) { data.friends[data.friends.size] = strtovec(fgetarg(file,argnum)); argnum++; - i++; } - i = 0; - for(;;) + + for(i = 0;i < numenemies;i++) { data.enemies[data.enemies.size] = strtovec(fgetarg(file,argnum)); argnum++; - i++; } - break; + + if(freadln(file) <= 0) + { + break; + } + numotherdata = int(fgetarg(file,0)); argnum = 1; - i = 0; - for(;;) + for(i = 0;i < numotherdata;i++) { otherdata = spawnstruct(); otherdata.origin = strtovec(fgetarg(file,argnum)); @@ -642,48 +745,74 @@ readspawndata(desiredid,relativepos) otherdata.text = fgetarg(file,argnum); argnum++; data.otherdata[data.otherdata.size] = otherdata; - i++; } - level.curspawndata = prevthisplayer; - break; - level.curspawndata = prev; - break; - level.curspawndata = data; - break; - lookingfornextthisplayer = 1; - continue; - level.curspawndata = data; - break; - lookingfornext = 1; - level.curspawndata = data; - break; + + if(IsDefined(relativepos)) + { + if(relativepos == "prevthisplayer") + { + if(data.id == oldspawndata.id) + { + level.curspawndata = prevthisplayer; + break; + } + + continue; + } + + if(relativepos == "prev") + { + if(data.id == oldspawndata.id) + { + level.curspawndata = prev; + break; + } + + continue; + } + + if(relativepos == "nextthisplayer") + { + if(lookingfornextthisplayer) + { + level.curspawndata = data; + break; + } + else if(data.id == oldspawndata.id) + { + lookingfornextthisplayer = 1; + } + + continue; + } + + if(relativepos == "next") + { + if(lookingfornext) + { + level.curspawndata = data; + break; + } + else if(data.id == oldspawndata.id) + { + lookingfornext = 1; + } + } + } + else if(data.id == desiredid) + { + level.curspawndata = data; + break; + } + prev = data; - prevthisplayer = data; + if(IsDefined(oldspawndata) && data.playername == oldspawndata.playername) + { + prevthisplayer = data; + } } + closefile(file); -IsDefined(oldspawndata) && data.playername == oldspawndata.playername -(relativepos == "prevthisplayer") ? ((data.id == oldspawndata.id) ? relativepos == "prev" : ((data.id == oldspawndata.id) ? ((relativepos == "nextthisplayer") ? lookingfornextthisplayer : data.id == oldspawndata.id) : ((relativepos == "next") ? lookingfornext : data.id == oldspawndata.id))) : data.id == desiredid -IsDefined(relativepos) -i < numotherdata -freadln(file) <= 0 -i < numenemies -i < numfriends -numfriends > 32 || numenemies > 32 -freadln(file) <= 0 -data.minweight == data.maxweight -IsDefined(data.minweight) -j < numsightchecks -numsightchecks > 256 -j < numdata -numdata > 256 -i == 0 ? spawnpoint.weight < data.minweight : spawnpoint.weight > data.maxweight -freadln(file) <= 0 -i < numspawns -numspawns > 256 -freadln(file) <= 0 -1 -IsDefined(relativepos) && !IsDefined(oldspawndata) -file < 0 #/ } @@ -694,65 +823,57 @@ drawspawndata() level notify("drawing_spawn_data"); level endon("drawing_spawn_data"); textoffset = VectorScale((0,0,-1)); - for(;;) + while(1) { - wait(0.5); - i = 0; - for(;;) + if(!(IsDefined(level.curspawndata))) + { + wait(0.5); + continue; + } + + for(i = 0;i < level.curspawndata.friends.size;i++) { print3d(level.curspawndata.friends[i],"=)",(0.5,1,0.5),1,5); - i++; } - i = 0; - for(;;) + + for(i = 0;i < level.curspawndata.enemies.size;i++) { print3d(level.curspawndata.enemies[i],"=(",(1,0.5,0.5),1,5); - i++; } - i = 0; - for(;;) + + for(i = 0;i < level.curspawndata.otherdata.size;i++) { print3d(level.curspawndata.otherdata[i].origin,level.curspawndata.otherdata[i].text,(0.5,0.75,1),1,2); - i++; } - i = 0; - for(;;) + + for(i = 0;i < level.curspawndata.spawnpoints.size;i++) { sp = level.curspawndata.spawnpoints[i]; orig = sp.sighttracepoint; - print3d(orig,level.curspawndata.playername + " spawned here",(0.5,0.5,1),1,2); - orig = orig + textoffset; + if(sp.winner) + { + print3d(orig,level.curspawndata.playername + " spawned here",(0.5,0.5,1),1,2); + orig = orig + textoffset; + } + amnt = sp.weight - level.curspawndata.minweight / level.curspawndata.maxweight - level.curspawndata.minweight; print3d(orig,"Weight: " + sp.weight,(1 - amnt,amnt,0.5)); orig = orig + textoffset; - j = 0; - for(;;) + for(j = 0;j < sp.data.size;j++) { print3d(orig,sp.data[j],(1,1,1)); orig = orig + textoffset; - j++; } - j = 0; - for(;;) + + for(j = 0;j < sp.sightchecks.size;j++) { print3d(orig,"Sightchecks: -" + sp.sightchecks[j].penalty,(1,0.5,0.5)); orig = orig + textoffset; - j++; } - i++; } + wait(0.05); } -j < sp.sightchecks.size -j < sp.data.size -sp.winner -i < level.curspawndata.spawnpoints.size -i < level.curspawndata.otherdata.size -i < level.curspawndata.enemies.size -i < level.curspawndata.friends.size -IsDefined(level.curspawndata) -1 -12 #/ } @@ -769,9 +890,12 @@ strtovec(str) { /# parts = strtok(str,"/"); - return (0,0,0); + if(parts.size != 3) + { + return (0,0,0); + } + return (int(parts[0]),int(parts[1]),int(parts[2])); -parts.size != 3 #/ } @@ -863,15 +987,14 @@ initweights(spawnpoints) } /# - i = 0; - for(;;) + if(level.storespawndata || level.debugspawning) { - spawnpoints[i].spawndata = []; - spawnpoints[i].sightchecks = []; - i++; + for(i = 0;i < spawnpoints.size;i++) + { + spawnpoints[i].spawndata = []; + spawnpoints[i].sightchecks = []; + } } -i < spawnpoints.size -level.storespawndata || level.debugspawning #/ } @@ -884,10 +1007,15 @@ getspawnpoint_nearteam(spawnpoints,favoredspawnpoints) } /# - setdvar("scr_spawn_randomly","0"); - return getspawnpoint_random(spawnpoints); -GetDvar(#"6486379A") == "1" -GetDvar(#"6486379A") == "" + if(GetDvar(#"6486379A") == "") + { + setdvar("scr_spawn_randomly","0"); + } + + if(GetDvar(#"6486379A") == "1") + { + return getspawnpoint_random(spawnpoints); + } #/ if(GetDvarInt(#"292A749F") > 0) { @@ -916,18 +1044,22 @@ GetDvar(#"6486379A") == "" enemydistsum = spawnpoint.enemydistsum[myteam]; spawnpoint.weight = enemydistsum - allieddistanceweight * allydistsum / spawnpoint.numplayersatlastupdate; /# - spawnpoint.spawndata[spawnpoint.spawndata.size] = "Base weight: " + int(spawnpoint.weight) + " = (" + int(enemydistsum) + " - " + allieddistanceweight + "*" + int(allydistsum) + ") / " + spawnpoint.numplayersatlastupdate; -level.storespawndata || level.debugspawning + if(level.storespawndata || level.debugspawning) + { + spawnpoint.spawndata[spawnpoint.spawndata.size] = "Base weight: " + int(spawnpoint.weight) + " = (" + int(enemydistsum) + " - " + allieddistanceweight + "*" + int(allydistsum) + ") / " + spawnpoint.numplayersatlastupdate; + } #/ } else { spawnpoint.weight = 0; /# - spawnpoint.spawndata[spawnpoint.spawndata.size] = "Base weight: 0"; -level.storespawndata || level.debugspawning -#/ + if(level.storespawndata || level.debugspawning) + { + spawnpoint.spawndata[spawnpoint.spawndata.size] = "Base weight: 0"; + } } +#/ } if(IsDefined(favoredspawnpoints)) @@ -951,10 +1083,15 @@ level.storespawndata || level.debugspawning avoidvisibleenemies(spawnpoints,1); result = getspawnpoint_final(spawnpoints); /# - setdvar("scr_spawn_showbad","0"); - checkbad(result); -GetDvar(#"9E85FAFC") == "1" -GetDvar(#"9E85FAFC") == "" + if(GetDvar(#"9E85FAFC") == "") + { + setdvar("scr_spawn_showbad","0"); + } + + if(GetDvar(#"9E85FAFC") == "1") + { + checkbad(result); + } #/ return result; } @@ -1016,14 +1153,23 @@ spawnlogic_begin() init() { /# - setdvar("scr_recordspawndata",0); + if(GetDvar(#"96EBB72E") == "") + { + setdvar("scr_recordspawndata",0); + } + level.storespawndata = GetDvarInt(#"96EBB72E"); - setdvar("scr_killbots",0); - setdvar("scr_killbottimer",0.25); + if(GetDvar(#"45A06390") == "") + { + setdvar("scr_killbots",0); + } + + if(GetDvar(#"1F9534FE") == "") + { + setdvar("scr_killbottimer",0.25); + } + thread loopbotspawns(); -GetDvar(#"1F9534FE") == "" -GetDvar(#"45A06390") == "" -GetDvar(#"96EBB72E") == "" #/ level.spawnlogic_deaths = []; level.spawnlogic_spawnkills = []; @@ -1052,20 +1198,35 @@ GetDvar(#"96EBB72E") == "" } /# - setdvar("scr_spawnsimple","0"); - setdvar("scr_spawnpointdebug","0"); - thread showdeathsdebug(); - thread updatedeathinfodebug(); - thread profiledebug(); - thread allowspawndatareading(); - setdvar("scr_spawnprofile","0"); + if(GetDvar(#"292A749F") == "") + { + setdvar("scr_spawnsimple","0"); + } + + if(GetDvar(#"632110E6") == "") + { + setdvar("scr_spawnpointdebug","0"); + } + + if(GetDvarInt(#"632110E6") > 0) + { + thread showdeathsdebug(); + thread updatedeathinfodebug(); + thread profiledebug(); + } + + if(level.storespawndata) + { + thread allowspawndatareading(); + } + + if(GetDvar(#"7CA769A6") == "") + { + setdvar("scr_spawnprofile","0"); + } + thread watchspawnprofile(); thread spawngraphcheck(); -GetDvar(#"7CA769A6") == "" -level.storespawndata -GetDvarInt(#"632110E6") > 0 -GetDvar(#"632110E6") == "" -GetDvar(#"292A749F") == "" #/ } @@ -1073,20 +1234,30 @@ GetDvar(#"292A749F") == "" watchspawnprofile() { /# - for(;;) + while(1) { - for(;;) + while(1) { - break; + if(GetDvarInt(#"7CA769A6") > 0) + { + break; + } + wait(0.05); } + thread spawnprofile(); - for(;;) + while(1) { - break; + if(GetDvarInt(#"7CA769A6") <= 0) + { + break; + } + wait(0.05); } - level notify("stop_spawn_profile",GetDvarInt(#"7CA769A6") <= 0,1,GetDvarInt(#"7CA769A6") > 0,1,1); + + level notify("stop_spawn_profile"); } #/ } @@ -1096,23 +1267,25 @@ spawnprofile() { /# level endon("stop_spawn_profile"); - for(;;) + while(1) { - playernum = randomint(level.players.size); - player = level.players[playernum]; - attempt = 1; - for(;;) + if(level.players.size > 0 && level.spawnpoints.size > 0) { - playernum = playernum + 1 % level.players.size; - attempt++; + playernum = randomint(level.players.size); player = level.players[playernum]; + attempt = 1; + while(!IsDefined(player) && attempt < level.players.size) + { + playernum = playernum + 1 % level.players.size; + attempt++; + player = level.players[playernum]; + } + + player getspawnpoint_nearteam(level.spawnpoints); } - player getspawnpoint_nearteam(level.spawnpoints); + wait(0.05); } -!IsDefined(player) && attempt < level.players.size -level.players.size > 0 && level.spawnpoints.size > 0 -1 #/ } @@ -1120,14 +1293,17 @@ level.players.size > 0 && level.spawnpoints.size > 0 spawngraphcheck() { /# - for(;;) + while(1) { - wait(3); + if(GetDvarInt(#"C25B6B47") < 1) + { + wait(3); + continue; + } + thread spawngraph(); return; } -GetDvarInt(#"C25B6B47") < 1 -1 #/ } @@ -1140,21 +1316,37 @@ spawngraph() weightscale = 0.1; fakespawnpoints = []; corners = getentarray("minimap_corner","targetname"); - println("^1 can\'t spawn graph: no minimap corners"); - return; + if(corners.size != 2) + { + println("^1 can\'t spawn graph: no minimap corners"); + return; + } + min = corners[0].origin; max = corners[0].origin; - max = (corners[1].origin[0],max[1],max[2]); - min = (corners[1].origin[0],min[1],min[2]); - max = (max[0],corners[1].origin[1],max[2]); - min = (min[0],corners[1].origin[1],min[2]); + if(corners[1].origin[0] > max[0]) + { + max = (corners[1].origin[0],max[1],max[2]); + } + else + { + min = (corners[1].origin[0],min[1],min[2]); + } + + if(corners[1].origin[1] > max[1]) + { + max = (max[0],corners[1].origin[1],max[2]); + } + else + { + min = (min[0],corners[1].origin[1],min[2]); + } + i = 0; - y = 0; - for(;;) + for(y = 0;y < h;y++) { yamnt = y / h - 1; - x = 0; - for(;;) + for(x = 0;x < w;x++) { xamnt = x / w - 1; fakespawnpoints[i] = spawnstruct(); @@ -1163,56 +1355,57 @@ spawngraph() fakespawnpoints[i].forward = AnglesToForward(fakespawnpoints[i].angles); fakespawnpoints[i].sighttracepoint = fakespawnpoints[i].origin; i++; - x++; } - y++; } + didweights = 0; - for(;;) + while(1) { - for(;;) + spawni = 0; + numiters = 5; + for(i = 0;i < numiters;i++) { - spawni = 0; - numiters = 5; - i = 0; - for(;;) + if(!level.players.size || !IsDefined(level.players[0].team) || level.players[0].team == "spectator" || !IsDefined(level.players[0].class)) { break; - endspawni = spawni + fakespawnpoints.size / numiters; - endspawni = fakespawnpoints.size; - for(;;) - { - spawnpointupdate(fakespawnpoints[spawni]); - spawni++; - } - level.players[0] drawspawngraph(fakespawnpoints,w,h,weightscale); - wait(0.05); - i++; } - wait(1); + + endspawni = spawni + fakespawnpoints.size / numiters; + if(i == numiters - 1) + { + endspawni = fakespawnpoints.size; + } + + while(spawni < endspawni) + { + spawnpointupdate(fakespawnpoints[spawni]); + spawni++; + } + + if(didweights) + { + level.players[0] drawspawngraph(fakespawnpoints,w,h,weightscale); + } + + wait(0.05); } + + if(!level.players.size || !IsDefined(level.players[0].team) || level.players[0].team == "spectator" || !IsDefined(level.players[0].class)) + { + wait(1); + continue; + } + level.players[0] getspawnpoint_nearteam(fakespawnpoints); - i = 0; - for(;;) + for(i = 0;i < fakespawnpoints.size;i++) { setupspawngraphpoint(fakespawnpoints[i],weightscale); - i++; } + didweights = 1; level.players[0] drawspawngraph(fakespawnpoints,w,h,weightscale); wait(0.05); } -i < fakespawnpoints.size -!level.players.size || !IsDefined(level.players[0].team) || level.players[0].team == "spectator" || !IsDefined(level.players[0].class) -didweights -spawni < endspawni -i == numiters - 1 -!level.players.size || !IsDefined(level.players[0].team) || level.players[0].team == "spectator" || !IsDefined(level.players[0].class) -i < numiters -1 -x < w -y < h -Stack-Empty ? (Stack-Empty ? corners.size != 2 : corners[1].origin[0] > max[0]) : corners[1].origin[1] > max[1] #/ } @@ -1221,25 +1414,25 @@ drawspawngraph(fakespawnpoints,w,h,weightscale) { /# i = 0; - y = 0; - for(;;) + for(y = 0;y < h;y++) { yamnt = y / h - 1; - x = 0; - for(;;) + for(x = 0;x < w;x++) { xamnt = x / w - 1; - spawngraphline(fakespawnpoints[i],fakespawnpoints[i - w],weightscale); - spawngraphline(fakespawnpoints[i],fakespawnpoints[i - 1],weightscale); + if(y > 0) + { + spawngraphline(fakespawnpoints[i],fakespawnpoints[i - w],weightscale); + } + + if(x > 0) + { + spawngraphline(fakespawnpoints[i],fakespawnpoints[i - 1],weightscale); + } + i++; - x++; } - y++; } -x > 0 -y > 0 -x < w -y < h #/ } @@ -1248,8 +1441,10 @@ setupspawngraphpoint(s1,weightscale) { /# s1.visible = 1; - s1.visible = 0; -s1.weight < -1000 / weightscale + if(s1.weight < -1000 / weightscale) + { + s1.visible = 0; + } #/ } @@ -1257,11 +1452,14 @@ s1.weight < -1000 / weightscale spawngraphline(s1,s2,weightscale) { /# - return; + if(!s1.visible || !s2.visible) + { + return; + } + p1 = s1.origin + (0,0,s1.weight * weightscale + 100); p2 = s2.origin + (0,0,s2.weight * weightscale + 100); line(p1,p2,(1,1,1)); -!s1.visible || !s2.visible #/ } @@ -1269,46 +1467,67 @@ spawngraphline(s1,s2,weightscale) loopbotspawns() { /# - for(;;) + while(1) { - for(;;) + if(GetDvarInt(#"45A06390") < 1) { wait(3); + continue; + } + + if(!(IsDefined(level.players))) + { wait(0.05); + continue; } + bots = []; - i = 0; - for(;;) + for(i = 0;i < level.players.size;i++) { - bots[bots.size] = level.players[i]; - i++; + if(!(IsDefined(level.players[i]))) + { + } + else if(level.players[i].sessionstate == "playing" && issubstr(level.players[i].name,"bot")) + { + bots[bots.size] = level.players[i]; + } } - killer = bots[randomint(bots.size)]; - victim = bots[randomint(bots.size)]; - victim thread [[ level.callbackplayerdamage ]](killer,killer,1000,0,"MOD_RIFLE_BULLET","none",(0,0,0),(0,0,0),"none",0,0); - numkills = GetDvarInt(#"45A06390"); - lastvictim = undefined; - index = 0; - for(;;) + + if(bots.size > 0) { - killer = bots[randomint(bots.size)]; - victim = bots[randomint(bots.size)]; - victim = bots[randomint(bots.size)]; - victim thread [[ level.callbackplayerdamage ]](killer,killer,1000,0,"MOD_RIFLE_BULLET","none",(0,0,0),(0,0,0),"none",0,0); - lastvictim = victim; - index++; + if(GetDvarInt(#"45A06390") == 1) + { + killer = bots[randomint(bots.size)]; + victim = bots[randomint(bots.size)]; + victim thread [[ level.callbackplayerdamage ]](killer,killer,1000,0,"MOD_RIFLE_BULLET","none",(0,0,0),(0,0,0),"none",0,0); + } + else + { + numkills = GetDvarInt(#"45A06390"); + lastvictim = undefined; + for(index = 0;index < numkills;index++) + { + killer = bots[randomint(bots.size)]; + victim = bots[randomint(bots.size)]; + while(IsDefined(lastvictim) && victim == lastvictim) + { + victim = bots[randomint(bots.size)]; + } + + victim thread [[ level.callbackplayerdamage ]](killer,killer,1000,0,"MOD_RIFLE_BULLET","none",(0,0,0),(0,0,0),"none",0,0); + lastvictim = victim; + } + } } - wait(GetDvarFloat(#"1F9534FE")); - continue; + + if(GetDvar(#"1F9534FE") != "") + { + wait(GetDvarFloat(#"1F9534FE")); + continue; + } + wait(0.05); } -GetDvar(#"1F9534FE") != "" -(GetDvarInt(#"45A06390") == 1) ? index < numkills : IsDefined(lastvictim) && victim == lastvictim -bots.size > 0 -(i < level.players.size) ? IsDefined(level.players[i]) : level.players[i].sessionstate == "playing" && issubstr(level.players[i].name,"bot") -IsDefined(level.players) -GetDvarInt(#"45A06390") < 1 -1 #/ } @@ -1320,26 +1539,37 @@ allowspawndatareading() prevval = GetDvar(#"E0FC7E63"); prevrelval = GetDvar(#"4058B332"); readthistime = 0; - for(;;) + while(1) { - for(;;) + val = GetDvar(#"E0FC7E63"); + relval = undefined; + if(!IsDefined(val) || val == prevval) { - val = GetDvar(#"E0FC7E63"); - relval = undefined; relval = GetDvar(#"4058B332"); - setdvar("scr_spawnidcycle",""); - break; + if(IsDefined(relval) && relval != "") + { + setdvar("scr_spawnidcycle",""); + break; + } + wait(0.5); + continue; } + prevval = val; readthistime = 0; readspawndata(val,relval); - println("No spawn data to draw."); - println("Drawing spawn ID " + level.curspawndata.id); + if(!(IsDefined(level.curspawndata))) + { + println("No spawn data to draw."); + } + else + { + println("Drawing spawn ID " + level.curspawndata.id); + } + thread drawspawndata(); } -(!IsDefined(val) || val == prevval) ? IsDefined(relval) && relval != "" : IsDefined(level.curspawndata) -1 #/ } @@ -1347,50 +1577,70 @@ allowspawndatareading() showdeathsdebug() { /# - for(;;) + while(1) { - wait(3); + if(GetDvar(#"632110E6") == "0") + { + wait(3); + continue; + } + time = GetTime(); - i = 0; - for(;;) + for(i = 0;i < level.spawnlogic_deaths.size;i++) { - line(level.spawnlogic_deaths[i].org,level.spawnlogic_deaths[i].killorg,(1,0,0)); - line(level.spawnlogic_deaths[i].org,level.spawnlogic_deaths[i].killorg,(1,1,1)); + if(IsDefined(level.spawnlogic_deaths[i].los)) + { + line(level.spawnlogic_deaths[i].org,level.spawnlogic_deaths[i].killorg,(1,0,0)); + } + else + { + line(level.spawnlogic_deaths[i].org,level.spawnlogic_deaths[i].killorg,(1,1,1)); + } + killer = level.spawnlogic_deaths[i].killer; - line(level.spawnlogic_deaths[i].killorg,killer.origin,(0.4,0.4,0.8)); - i++; + if(IsDefined(killer) && isalive(killer)) + { + line(level.spawnlogic_deaths[i].killorg,killer.origin,(0.4,0.4,0.8)); + } } - p = 0; - for(;;) + + for(p = 0;p < level.players.size;p++) { - print3d(64 + VectorScale((0,0,1)),level.players[p].origin,level.players[p].spawnlogic_killdist); - p++; + if(!(IsDefined(level.players[p]))) + { + } + else if(IsDefined(level.players[p].spawnlogic_killdist)) + { + print3d(64 + VectorScale((0,0,1)),level.players[p].origin,level.players[p].spawnlogic_killdist); + } } + oldspawnkills = level.spawnlogic_spawnkills; level.spawnlogic_spawnkills = []; - i = 0; - for(;;) + for(i = 0;i < oldspawnkills.size;i++) { spawnkill = oldspawnkills[i]; - line(spawnkill.spawnpointorigin,spawnkill.dierorigin,(0.4,0.5,0.4)); - line(spawnkill.dierorigin,spawnkill.killerorigin,(0,1,1)); - print3d(32 + VectorScale((0,0,1)),spawnkill.dierorigin,"SPAWNKILLED!"); - line(spawnkill.spawnpointorigin,spawnkill.killerorigin,(0.4,0.5,0.4)); - line(spawnkill.killerorigin,spawnkill.dierorigin,(0,1,1)); - print3d(32 + VectorScale((0,0,1)),spawnkill.dierorigin,"SPAWNDIED!"); - level.spawnlogic_spawnkills[level.spawnlogic_spawnkills.size] = oldspawnkills[i]; - i++; + if(spawnkill.dierwasspawner) + { + line(spawnkill.spawnpointorigin,spawnkill.dierorigin,(0.4,0.5,0.4)); + line(spawnkill.dierorigin,spawnkill.killerorigin,(0,1,1)); + print3d(32 + VectorScale((0,0,1)),spawnkill.dierorigin,"SPAWNKILLED!"); + } + else + { + line(spawnkill.spawnpointorigin,spawnkill.killerorigin,(0.4,0.5,0.4)); + line(spawnkill.killerorigin,spawnkill.dierorigin,(0,1,1)); + print3d(32 + VectorScale((0,0,1)),spawnkill.dierorigin,"SPAWNDIED!"); + } + + if(time - spawnkill.time < 60000) + { + level.spawnlogic_spawnkills[level.spawnlogic_spawnkills.size] = oldspawnkills[i]; + } } + wait(0.05); } -time - spawnkill.time < 60000 -(spawnkill.dierwasspawner) ? (0,1,1) : (0,1,1) -i < oldspawnkills.size -(IsDefined(level.players[p])) ? IsDefined(level.players[p].spawnlogic_killdist) : (1,1,1) -p < level.players.size -IsDefined(killer) && isalive(killer) -(GetDvar(#"632110E6") == "0") ? i < level.spawnlogic_deaths.size : IsDefined(level.spawnlogic_deaths[i].los) -1 #/ } @@ -1416,49 +1666,58 @@ spawnweightdebug(spawnpoints) level notify("stop_spawn_weight_debug"); level endon("stop_spawn_weight_debug"); /# - for(;;) + while(1) { - wait(3); + if(GetDvar(#"632110E6") == "0") + { + wait(3); + continue; + } + textoffset = VectorScale((0,0,-1)); - i = 0; - for(;;) + for(i = 0;i < spawnpoints.size;i++) { amnt = 1 * 1 - spawnpoints[i].weight / -100000; - amnt = 0; - amnt = 1; + if(amnt < 0) + { + amnt = 0; + } + + if(amnt > 1) + { + amnt = 1; + } + orig = 80 + VectorScale((0,0,1)); print3d(orig,int(spawnpoints[i].weight),(1,amnt,0.5)); orig = orig + textoffset; - j = 0; - for(;;) + if(IsDefined(spawnpoints[i].spawndata)) { - print3d(orig,spawnpoints[i].spawndata[j],VectorScale((1,1,1))); - orig = orig + textoffset; - j++; + for(j = 0;j < spawnpoints[i].spawndata.size;j++) + { + print3d(orig,spawnpoints[i].spawndata[j],VectorScale((1,1,1))); + orig = orig + textoffset; + } } - j = 0; - for(;;) + + if(IsDefined(spawnpoints[i].sightchecks)) { - print3d(orig,"Sight to enemy: -" + spawnpoints[i].sightchecks[j].penalty,VectorScale((1,1,1))); - orig = orig + textoffset; - j++; + for(j = 0;j < spawnpoints[i].sightchecks.size;j++) + { + if(spawnpoints[i].sightchecks[j].penalty == 0) + { + } + else + { + print3d(orig,"Sight to enemy: -" + spawnpoints[i].sightchecks[j].penalty,VectorScale((1,1,1))); + orig = orig + textoffset; + } + } } - i++; } + wait(0.05); } -(j < spawnpoints[i].sightchecks.size) ? spawnpoints[i].sightchecks[j].penalty == 0 : 0.5 -IsDefined(spawnpoints[i].sightchecks) -0.5 -j < spawnpoints[i].spawndata.size -IsDefined(spawnpoints[i].spawndata) -spawnpoints[i].origin -amnt > 1 -amnt < 0 -i < spawnpoints.size -12 -GetDvar(#"632110E6") == "0" -1 #/ } @@ -1491,23 +1750,26 @@ profiledebug() debugnearbyplayers(players,origin) { /# - return; - starttime = GetTime(); - for(;;) + if(GetDvar(#"632110E6") == "0") { - i = 0; - for(;;) + return; + } + + starttime = GetTime(); + while(1) + { + for(i = 0;i < players.size;i++) { line(players[i].origin,origin,(0.5,1,0.5)); - i++; } - return; + + if(GetTime() - starttime > 5000) + { + return; + } + wait(0.05); } -GetTime() - starttime > 5000 -i < players.size -1 -GetDvar(#"632110E6") == "0" #/ } @@ -1616,10 +1878,12 @@ avoidweapondamage(spawnpoints) { spawnpoints[i].weight = spawnpoints[i].weight - weapondamagepenalty; /# + if(level.storespawndata || level.debugspawning) + { spawnpoints[i].spawndata[spawnpoints[i].spawndata.size] = "Was near grenade: -" + int(weapondamagepenalty); -level.storespawndata || level.debugspawning -#/ + } } +#/ } } } @@ -1767,13 +2031,14 @@ spawnpointupdate(spawnpoint) } /# - line(50 + VectorScale((0,0,1)),player.origin,spawnpoint.sighttracepoint); -(0.5,1,0.5) -debug -#/ + if(debug) + { + line(50 + VectorScale((0,0,1)),player.origin,spawnpoint.sighttracepoint); + } } } } +#/ } if(level.teambased) @@ -1897,12 +2162,14 @@ avoidvisibleenemies(spawnpoints,teambased) penalty = lospenalty * spawnpoints[i].enemysights[self.team]; spawnpoints[i].weight = spawnpoints[i].weight - penalty; /# - index = spawnpoints[i].sightchecks.size; - spawnpoints[i].sightchecks[index] = spawnstruct(); - spawnpoints[i].sightchecks[index].penalty = penalty; -level.storespawndata || level.debugspawning -#/ + if(level.storespawndata || level.debugspawning) + { + index = spawnpoints[i].sightchecks.size; + spawnpoints[i].sightchecks[index] = spawnstruct(); + spawnpoints[i].sightchecks[index].penalty = penalty; + } } +#/ } } else @@ -1917,12 +2184,14 @@ level.storespawndata || level.debugspawning penalty = lospenalty * spawnpoints[i].enemysights; spawnpoints[i].weight = spawnpoints[i].weight - penalty; /# - index = spawnpoints[i].sightchecks.size; - spawnpoints[i].sightchecks[index] = spawnstruct(); - spawnpoints[i].sightchecks[index].penalty = penalty; -level.storespawndata || level.debugspawning -#/ + if(level.storespawndata || level.debugspawning) + { + index = spawnpoints[i].sightchecks.size; + spawnpoints[i].sightchecks[index] = spawnstruct(); + spawnpoints[i].sightchecks[index].penalty = penalty; + } } +#/ } mindistteam = "all"; @@ -1962,11 +2231,13 @@ level.storespawndata || level.debugspawning { spawnpoints[i].weight = spawnpoints[i].weight - penalty; /# - spawnpoints[i].spawndata[spawnpoints[i].spawndata.size] = "Nearest enemy at " + int(spawnpoints[i].minenemydist[mindistteam]) + " units: -" + int(penalty); -level.storespawndata || level.debugspawning -#/ + if(level.storespawndata || level.debugspawning) + { + spawnpoints[i].spawndata[spawnpoints[i].spawndata.size] = "Nearest enemy at " + int(spawnpoints[i].minenemydist[mindistteam]) + " units: -" + int(penalty); + } } } +#/ } } } @@ -2005,8 +2276,10 @@ avoidspawnreuse(spawnpoints,teambased) worsen = 5000 * 1 - distsq / maxdistsq * 1 - timepassed / maxtime; spawnpoint.weight = spawnpoint.weight - worsen; /# - spawnpoint.spawndata[spawnpoint.spawndata.size] = "Was recently used: -" + worsen; -level.storespawndata || level.debugspawning + if(level.storespawndata || level.debugspawning) + { + spawnpoint.spawndata[spawnpoint.spawndata.size] = "Was recently used: -" + worsen; + } #/ continue; } @@ -2040,8 +2313,10 @@ avoidsamespawn(spawnpoints) { spawnpoints[i].weight = spawnpoints[i].weight - 50000; /# - spawnpoints[i].spawndata[spawnpoints[i].spawndata.size] = "Was last spawnpoint: -50000"; -level.storespawndata || level.debugspawning + if(level.storespawndata || level.debugspawning) + { + spawnpoints[i].spawndata[spawnpoints[i].spawndata.size] = "Was last spawnpoint: -50000"; + } #/ break; } diff --git a/BO2/PC/MP/maps/mp/gametypes/_spectating.gsc b/BO2/PC/MP/maps/mp/gametypes/_spectating.gsc index a9ef906..2e21dee 100644 --- a/BO2/PC/MP/maps/mp/gametypes/_spectating.gsc +++ b/BO2/PC/MP/maps/mp/gametypes/_spectating.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 12 - * Decompile Time: 45 ms - * Timestamp: 10/27/2023 3:00:15 AM + * Decompile Time: 1 ms + * Timestamp: 10/28/2023 12:10:36 AM *******************************************************************/ //Function Number: 1 diff --git a/BO2/PC/MP/maps/mp/gametypes/_tweakables.gsc b/BO2/PC/MP/maps/mp/gametypes/_tweakables.gsc index f1d99ac..4dcf0ff 100644 --- a/BO2/PC/MP/maps/mp/gametypes/_tweakables.gsc +++ b/BO2/PC/MP/maps/mp/gametypes/_tweakables.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 11 - * Decompile Time: 35 ms - * Timestamp: 10/27/2023 3:00:15 AM + * Decompile Time: 2 ms + * Timestamp: 10/28/2023 12:10:37 AM *******************************************************************/ #include maps/mp/_utility; diff --git a/BO2/PC/MP/maps/mp/gametypes/_wager.gsc b/BO2/PC/MP/maps/mp/gametypes/_wager.gsc index f3b1c31..81e9bf1 100644 --- a/BO2/PC/MP/maps/mp/gametypes/_wager.gsc +++ b/BO2/PC/MP/maps/mp/gametypes/_wager.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 39 - * Decompile Time: 69 ms - * Timestamp: 10/27/2023 3:00:16 AM + * Decompile Time: 9 ms + * Timestamp: 10/28/2023 12:10:37 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/PC/MP/maps/mp/gametypes/_weapon_utils.gsc b/BO2/PC/MP/maps/mp/gametypes/_weapon_utils.gsc index 9256f15..769c981 100644 --- a/BO2/PC/MP/maps/mp/gametypes/_weapon_utils.gsc +++ b/BO2/PC/MP/maps/mp/gametypes/_weapon_utils.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 9 - * Decompile Time: 12 ms - * Timestamp: 10/27/2023 3:00:16 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:10:37 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/PC/MP/maps/mp/gametypes/_weaponobjects.gsc b/BO2/PC/MP/maps/mp/gametypes/_weaponobjects.gsc index 2d47a92..f559cc7 100644 --- a/BO2/PC/MP/maps/mp/gametypes/_weaponobjects.gsc +++ b/BO2/PC/MP/maps/mp/gametypes/_weaponobjects.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 99 - * Decompile Time: 270 ms - * Timestamp: 10/27/2023 3:00:17 AM + * Decompile Time: 39 ms + * Timestamp: 10/28/2023 12:10:37 AM *******************************************************************/ #include common_scripts/utility; @@ -1094,8 +1094,10 @@ onspawnproximityweaponobject(watcher,owner) self thread commononspawnuseweaponobject(watcher,owner); self thread proximityweaponobjectdetonation(watcher); /# - self thread proximityweaponobjectdebug(watcher); -GetDvarInt(#"38868733") + if(GetDvarInt(#"38868733")) + { + self thread proximityweaponobjectdebug(watcher); + } #/ } @@ -1158,7 +1160,9 @@ watchweaponobjectspawn() } break; - (IsDefined(self.weaponobjectwatcherarray[i].objectarray[j])) ? weapname == "proximity_grenade_mp" : IsDefined(self.weaponobjectwatcherarray[i].detonate) && self.weaponobjectwatcherarray[i].objectarray.size > numallowed - 1 + IsDefined(self.weaponobjectwatcherarray[i].detonate) && self.weaponobjectwatcherarray[i].objectarray.size > numallowed - 1 + weapname == "proximity_grenade_mp" + IsDefined(self.weaponobjectwatcherarray[i].objectarray[j]) j < objectarray_size self.weaponobjectwatcherarray[i].weapon != weapname i < self.weaponobjectwatcherarray.size @@ -1260,24 +1264,24 @@ showcone(angle,range,color) up = vectorcross(forward,right); fullforward = forward * range * cos(angle); sideamnt = range * sin(angle); - for(;;) + while(1) { prevpoint = (0,0,0); - i = 0; - for(;;) + for(i = 0;i <= 20;i++) { coneangle = i / 20 * 360; point = start + fullforward + sideamnt * right * cos(coneangle) + up * sin(coneangle); - line(start,point,color); - line(prevpoint,point,color); + if(i > 0) + { + line(start,point,color); + line(prevpoint,point,color); + } + prevpoint = point; - i++; } + wait(0.05); } -i > 0 -i <= 20 -1 #/ } @@ -2058,14 +2062,11 @@ deleteweaponobjectson() saydamaged(orig,amount) { /# - i = 0; - for(;;) + for(i = 0;i < 60;i++) { print3d(orig,"damaged! " + amount); wait(0.05); - i++; } -i < 60 #/ } @@ -2784,28 +2785,41 @@ switch_team(entity,weapon_name,owner) self endon("stop_disarmthink"); self endon("death"); setdvar("scr_switch_team",""); - for(;;) + while(1) { - for(;;) + wait(0.5); + devgui_int = GetDvarInt(#"BB77CC24"); + if(devgui_int != 0) { - wait(0.5); - devgui_int = GetDvarInt(#"BB77CC24"); team = "autoassign"; player = maps/mp/gametypes/_dev::getormakebot(team); - println("Could not add test client"); - wait(1); + if(!(IsDefined(player))) + { + println("Could not add test client"); + wait(1); + continue; + } + + entity.owner hackerremoveweapon(entity); + entity.hacked = 1; + entity setowner(player); + entity setteam(player.pers["team"]); + entity.owner = player; + entity notify("hacked",player); + level notify("hacked",entity,player); + if(entity.name == "camera_spike_mp" && IsDefined(entity.camerahead)) + { + entity.camerahead notify("hacked",player); + } + + wait(0.05); + if(IsDefined(player) && player.sessionstate == "playing") + { + player notify("grenade_fire",self,self.name); + } + + setdvar("scr_switch_team","0"); } - entity.owner hackerremoveweapon(entity); - entity.hacked = 1; - entity setowner(player); - entity setteam(player.pers["team"]); - entity.owner = player; - entity notify("hacked",player,IsDefined(player),devgui_int != 0,1); - level notify("hacked",entity,player); - entity.camerahead notify("hacked",player,entity.name == "camera_spike_mp" && IsDefined(entity.camerahead)); - wait(0.05); - player notify("grenade_fire",self,self.name,IsDefined(player) && player.sessionstate == "playing"); - setdvar("scr_switch_team","0"); } #/ } \ No newline at end of file diff --git a/BO2/PC/MP/maps/mp/gametypes/_weapons.gsc b/BO2/PC/MP/maps/mp/gametypes/_weapons.gsc index 96bd7a6..d5fc28c 100644 --- a/BO2/PC/MP/maps/mp/gametypes/_weapons.gsc +++ b/BO2/PC/MP/maps/mp/gametypes/_weapons.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 80 - * Decompile Time: 231 ms - * Timestamp: 10/27/2023 3:00:18 AM + * Decompile Time: 30 ms + * Timestamp: 10/28/2023 12:10:38 AM *******************************************************************/ #include common_scripts/utility; @@ -414,8 +414,10 @@ dropweaponfordeath(attacker,sweapon,smeansofdeath) if(!(IsDefined(weapon))) { /# - println("didn\'t drop weapon: not defined"); -GetDvar(#"8F7FC88") == "1" + if(GetDvar(#"8F7FC88") == "1") + { + println("didn\'t drop weapon: not defined"); + } #/ return; } @@ -423,8 +425,10 @@ GetDvar(#"8F7FC88") == "1" if(weapon == "none") { /# - println("didn\'t drop weapon: weapon == none"); -GetDvar(#"8F7FC88") == "1" + if(GetDvar(#"8F7FC88") == "1") + { + println("didn\'t drop weapon: weapon == none"); + } #/ return; } @@ -432,8 +436,10 @@ GetDvar(#"8F7FC88") == "1" if(!(self hasweapon(weapon))) { /# - println("didn\'t drop weapon: don\'t have it anymore (" + weapon + ")"); -GetDvar(#"8F7FC88") == "1" + if(GetDvar(#"8F7FC88") == "1") + { + println("didn\'t drop weapon: don\'t have it anymore (" + weapon + ")"); + } #/ return; } @@ -441,8 +447,10 @@ GetDvar(#"8F7FC88") == "1" if(!(self anyammoforweaponmodes(weapon))) { /# - println("didn\'t drop weapon: no ammo for weapon modes"); -GetDvar(#"8F7FC88") == "1" + if(GetDvar(#"8F7FC88") == "1") + { + println("didn\'t drop weapon: no ammo for weapon modes"); + } #/ return; } @@ -463,8 +471,10 @@ GetDvar(#"8F7FC88") == "1" if(!(clip_and_stock_ammo)) { /# - println("didn\'t drop weapon: no ammo"); -GetDvar(#"8F7FC88") == "1" + if(GetDvar(#"8F7FC88") == "1") + { + println("didn\'t drop weapon: no ammo"); + } #/ return; } @@ -485,8 +495,10 @@ GetDvar(#"8F7FC88") == "1" } /# - println("dropped weapon: " + weapon); -GetDvar(#"8F7FC88") == "1" + if(GetDvar(#"8F7FC88") == "1") + { + println("dropped weapon: " + weapon); + } #/ droplimitedweapon(weapon,self,item); self.droppeddeathweapon = 1; @@ -505,8 +517,10 @@ dropweapontoground(weapon) if(!(IsDefined(weapon))) { /# - println("didn\'t drop weapon: not defined"); -GetDvar(#"8F7FC88") == "1" + if(GetDvar(#"8F7FC88") == "1") + { + println("didn\'t drop weapon: not defined"); + } #/ return; } @@ -514,8 +528,10 @@ GetDvar(#"8F7FC88") == "1" if(weapon == "none") { /# - println("didn\'t drop weapon: weapon == none"); -GetDvar(#"8F7FC88") == "1" + if(GetDvar(#"8F7FC88") == "1") + { + println("didn\'t drop weapon: weapon == none"); + } #/ return; } @@ -523,8 +539,10 @@ GetDvar(#"8F7FC88") == "1" if(!(self hasweapon(weapon))) { /# - println("didn\'t drop weapon: don\'t have it anymore (" + weapon + ")"); -GetDvar(#"8F7FC88") == "1" + if(GetDvar(#"8F7FC88") == "1") + { + println("didn\'t drop weapon: don\'t have it anymore (" + weapon + ")"); + } #/ return; } @@ -532,8 +550,10 @@ GetDvar(#"8F7FC88") == "1" if(!(self anyammoforweaponmodes(weapon))) { /# - println("didn\'t drop weapon: no ammo for weapon modes"); -GetDvar(#"8F7FC88") == "1" + if(GetDvar(#"8F7FC88") == "1") + { + println("didn\'t drop weapon: no ammo for weapon modes"); + } #/ switch(weapon) { @@ -563,8 +583,10 @@ GetDvar(#"8F7FC88") == "1" if(!(clip_and_stock_ammo)) { /# - println("didn\'t drop weapon: no ammo"); -GetDvar(#"8F7FC88") == "1" + if(GetDvar(#"8F7FC88") == "1") + { + println("didn\'t drop weapon: no ammo"); + } #/ return; } @@ -577,8 +599,10 @@ GetDvar(#"8F7FC88") == "1" item = self dropitem(weapon); /# - println("dropped weapon: " + weapon); -GetDvar(#"8F7FC88") == "1" + if(GetDvar(#"8F7FC88") == "1") + { + println("dropped weapon: " + weapon); + } #/ droplimitedweapon(weapon,self,item); item itemweaponsetammo(clipammo,stockammo); @@ -618,8 +642,10 @@ watchpickup() weapname = self getitemweaponname(); self waittill("trigger",player,droppeditem); /# - println("picked up weapon: " + weapname + ", " + IsDefined(self.ownersattacker)); -GetDvar(#"8F7FC88") == "1" + if(GetDvar(#"8F7FC88") == "1") + { + println("picked up weapon: " + weapname + ", " + IsDefined(self.ownersattacker)); + } #/ /# assert(IsDefined(player.tookweaponfrom)); @@ -872,9 +898,9 @@ watchmissileusage() self waittill("missile_fire",missile,weapon_name); self.hasdonecombat = 1; /# - /# +/# assert(IsDefined(missile)); - #/ +#/ #/ level.missileentities[level.missileentities.size] = missile; missile thread watchmissiledeath(); @@ -1074,11 +1100,14 @@ beginothergrenadetracking() case "explosive_bolt_mp": grenade.ownerweaponatlaunch = self.currentweapon; - grenade.owneradsatlaunch = (self playerads() == 1) ? 1 : 0; + grenade.owneradsatlaunch = 0; grenade thread maps/mp/_explosive_bolt::watch_bolt_detonation(self); grenade thread checkstucktoplayer(1,0,weaponname); grenade thread checkstucktoshield(); break; + 1 + self playerads() == 1 + break; case "hatchet_mp": grenade.lastweaponbeforetoss = self getlastweapon(); @@ -1469,14 +1498,11 @@ damageent(einflictor,eattacker,idamage,smeansofdeath,sweapon,damagepos,damagedir debugline(a,b,color) { /# - i = 0; - for(;;) + for(i = 0;i < 600;i++) { line(a,b,color); wait(0.05); - i++; } -i < 600 #/ } @@ -1785,7 +1811,7 @@ stow_on_back(current) { temp_index_weapon = self.weapon_array_primary[idx]; /# - assert(IsDefined(temp_index_weapon),"Primary weapon list corrupted."); + assert(IsDefined(temp_index_weapon),"Primary weapon list corrupted."); #/ if(temp_index_weapon == current) { @@ -1797,7 +1823,7 @@ stow_on_back(current) { index_weapon = temp_index_weapon; /# - assert(IsDefined(self.curclass),"Player missing current class"); + assert(IsDefined(self.curclass),"Player missing current class"); #/ if(issubstr(index_weapon,self.pers["primaryWeapon"]) && issubstr(self.curclass,"CUSTOM")) { @@ -2035,7 +2061,10 @@ scavenger_think() break; ammo > maxammo stock < maxammo - Stack-Empty ? IsDefined(player.grenadetypesecondarycount) && player.grenadetypesecondarycount < 1 : ((IsDefined(level.customloadoutscavenge)) ? weapon == loadout_primary : weapon == loadout_secondary) + weapon == loadout_secondary + weapon == loadout_primary + IsDefined(level.customloadoutscavenge) + IsDefined(player.grenadetypesecondarycount) && player.grenadetypesecondarycount < 1 break; } } diff --git a/BO2/PC/MP/maps/mp/gametypes/conf.gsc b/BO2/PC/MP/maps/mp/gametypes/conf.gsc index b23741e..b8c5a74 100644 --- a/BO2/PC/MP/maps/mp/gametypes/conf.gsc +++ b/BO2/PC/MP/maps/mp/gametypes/conf.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 18 - * Decompile Time: 79 ms - * Timestamp: 10/27/2023 3:00:19 AM + * Decompile Time: 8 ms + * Timestamp: 10/28/2023 12:10:38 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/PC/MP/maps/mp/gametypes/ctf.gsc b/BO2/PC/MP/maps/mp/gametypes/ctf.gsc index 573c22f..40ca6ce 100644 --- a/BO2/PC/MP/maps/mp/gametypes/ctf.gsc +++ b/BO2/PC/MP/maps/mp/gametypes/ctf.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 41 - * Decompile Time: 222 ms - * Timestamp: 10/27/2023 3:00:20 AM + * Decompile Time: 23 ms + * Timestamp: 10/28/2023 12:10:38 AM *******************************************************************/ #include maps/mp/_challenges; diff --git a/BO2/PC/MP/maps/mp/gametypes/dem.gsc b/BO2/PC/MP/maps/mp/gametypes/dem.gsc index a7fb247..f37148a 100644 --- a/BO2/PC/MP/maps/mp/gametypes/dem.gsc +++ b/BO2/PC/MP/maps/mp/gametypes/dem.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 41 - * Decompile Time: 172 ms - * Timestamp: 10/27/2023 3:00:20 AM + * Decompile Time: 23 ms + * Timestamp: 10/28/2023 12:10:38 AM *******************************************************************/ #include common_scripts/utility; @@ -464,38 +464,39 @@ onplayerkilled(einflictor,attacker,idamage,smeansofdeath,sweapon,vdir,shitloc,ps { /# attacker iprintlnbold("GAMETYPE DEBUG: NOT GIVING YOU OFFENSIVE CREDIT AS BOOSTING PREVENTION"); + } #/ - } - } - - if(!(IsDefined(attacker.dem_defends))) - { - attacker.dem_defends = 0; - } - - attacker.dem_defends++; - if(level.playerdefensivemax >= attacker.dem_defends) - { - if(IsDefined(attacker.pers["defends"])) - { - attacker.pers["defends"]++; - attacker.defends = attacker.pers["defends"]; - } - - attacker maps/mp/_medals::defenseglobalcount(); - attacker addplayerstatwithgametype("DEFENDS",1); - self recordkillmodifier("assaulting"); - maps/mp/_scoreevents::processscoreevent("killed_attacker",attacker,self,sweapon); } else { + if(!(IsDefined(attacker.dem_defends))) + { + attacker.dem_defends = 0; + } + + attacker.dem_defends++; + if(level.playerdefensivemax >= attacker.dem_defends) + { + if(IsDefined(attacker.pers["defends"])) + { + attacker.pers["defends"]++; + attacker.defends = attacker.pers["defends"]; + } + + attacker maps/mp/_medals::defenseglobalcount(); + attacker addplayerstatwithgametype("DEFENDS",1); + self recordkillmodifier("assaulting"); + maps/mp/_scoreevents::processscoreevent("killed_attacker",attacker,self,sweapon); + } + else + { /# - attacker iprintlnbold("GAMETYPE DEBUG: NOT GIVING YOU DEFENSIVE CREDIT AS BOOSTING PREVENTION"); -#/ + attacker iprintlnbold("GAMETYPE DEBUG: NOT GIVING YOU DEFENSIVE CREDIT AS BOOSTING PREVENTION"); + } } } - - if(Stack-Empty ? Stack-Empty : self.isplanting == 1) +#/ + if(self.isplanting == 1) { self recordkillmodifier("planting"); } @@ -974,9 +975,8 @@ onuseobject(player) { /# player iprintlnbold("GAMETYPE DEBUG: NOT GIVING YOU PLANT CREDIT AS BOOSTING PREVENTION"); -#/ } - +#/ level thread maps/mp/_popups::displayteammessagetoall(&"MP_EXPLOSIVES_PLANTED_BY",player); maps/mp/gametypes/_globallogic_audio::leaderdialog("bomb_planted"); } @@ -1005,9 +1005,8 @@ onuseobject(player) { /# player iprintlnbold("GAMETYPE DEBUG: NOT GIVING YOU DEFUSE CREDIT AS BOOSTING PREVENTION"); -#/ } - +#/ level thread maps/mp/_popups::displayteammessagetoall(&"MP_EXPLOSIVES_DEFUSED_BY",player); thread maps/mp/gametypes/_globallogic_audio::set_music_on_team("DEM_WE_DEFUSE",team,0,0,5); thread maps/mp/gametypes/_globallogic_audio::set_music_on_team("DEM_THEY_DEFUSE",enemyteam,0,0,5); @@ -1286,14 +1285,20 @@ waitlongdurationwithbombtimeupdate(whichbomb,duration) } /# - println("SCRIPT WARNING: gettime() = " + GetTime() + " NOT EQUAL TO endtime = " + endtime); -GetTime() != endtime -#/ - while(IsDefined(level.hostmigrationtimer)) + if(GetTime() != endtime) { - endtime = endtime + 250; - updatebombtimers(whichbomb,endtime); - wait(0.25); + println("SCRIPT WARNING: gettime() = " + GetTime() + " NOT EQUAL TO endtime = " + endtime); + } + + for(;;) + { +#/ + if(IsDefined(level.hostmigrationtimer)) + { + endtime = endtime + 250; + updatebombtimers(whichbomb,endtime); + wait(0.25); + } } return GetTime() - starttime; diff --git a/BO2/PC/MP/maps/mp/gametypes/dm.gsc b/BO2/PC/MP/maps/mp/gametypes/dm.gsc index 1c460ab..2df7ccb 100644 --- a/BO2/PC/MP/maps/mp/gametypes/dm.gsc +++ b/BO2/PC/MP/maps/mp/gametypes/dm.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 7 - * Decompile Time: 33 ms - * Timestamp: 10/27/2023 3:00:21 AM + * Decompile Time: 1 ms + * Timestamp: 10/28/2023 12:10:39 AM *******************************************************************/ #include maps/mp/_utility; diff --git a/BO2/PC/MP/maps/mp/gametypes/dom.gsc b/BO2/PC/MP/maps/mp/gametypes/dom.gsc index ae1a4a6..945961d 100644 --- a/BO2/PC/MP/maps/mp/gametypes/dom.gsc +++ b/BO2/PC/MP/maps/mp/gametypes/dom.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 47 - * Decompile Time: 194 ms - * Timestamp: 10/27/2023 3:00:22 AM + * Decompile Time: 33 ms + * Timestamp: 10/28/2023 12:10:39 AM *******************************************************************/ #include common_scripts/utility; @@ -412,43 +412,47 @@ getunownedflagneareststart(team,excludeflag) domdebug() { /# - for(;;) + while(1) { - wait(2); - for(;;) + if(GetDvar(#"9F76D073") != "1") { - break; - i = 0; - for(;;) + wait(2); + continue; + } + + while(1) + { + if(GetDvar(#"9F76D073") != "1") { - j = 0; - for(;;) + break; + } + + for(i = 0;i < level.flags.size;i++) + { + for(j = 0;j < level.flags[i].adjflags.size;j++) { line(level.flags[i].origin,level.flags[i].adjflags[j].origin,(1,1,1)); - j++; } - j = 0; - for(;;) + + for(j = 0;j < level.flags[i].nearbyspawns.size;j++) { line(level.flags[i].origin,level.flags[i].nearbyspawns[j].origin,(0.2,0.2,0.6)); - j++; } - print3d(level.flags[i].origin,"allies best spawn flag"); - print3d(level.flags[i].origin,"axis best spawn flag"); - i++; + + if(level.flags[i] == level.bestspawnflag["allies"]) + { + print3d(level.flags[i].origin,"allies best spawn flag"); + } + + if(level.flags[i] == level.bestspawnflag["axis"]) + { + print3d(level.flags[i].origin,"axis best spawn flag"); + } } + wait(0.05); } } -level.flags[i] == level.bestspawnflag["axis"] -level.flags[i] == level.bestspawnflag["allies"] -j < level.flags[i].nearbyspawns.size -j < level.flags[i].adjflags.size -i < level.flags.size -GetDvar(#"9F76D073") != "1" -1 -GetDvar(#"9F76D073") != "1" -1 #/ } @@ -738,9 +742,8 @@ give_capture_credit(touchlist,string,lastownerteam,isbflag) { /# player_from_touchlist iprintlnbold("GAMETYPE DEBUG: NOT GIVING YOU CAPTURE CREDIT AS BOOSTING PREVENTION"); -#/ } - +#/ level thread maps/mp/_popups::displayteammessagetoall(string,player_from_touchlist); } } @@ -824,15 +827,17 @@ onscoreclosemusic() } /# - println("Music System Domination - scoreDif " + scoredif); - println("Music System Domination - axisScore " + axisscore); - println("Music System Domination - alliedScore " + alliedscore); - println("Music System Domination - scoreLimit " + scorelimit); - println("Music System Domination - currentScore " + currentscore); - println("Music System Domination - scoreThreshold " + scorethreshold); - println("Music System Domination - scoreDif " + scoredif); - println("Music System Domination - scoreThresholdStart " + scorethresholdstart); -GetDvarInt(#"BC4784C") > 0 + if(GetDvarInt(#"BC4784C") > 0) + { + println("Music System Domination - scoreDif " + scoredif); + println("Music System Domination - axisScore " + axisscore); + println("Music System Domination - alliedScore " + alliedscore); + println("Music System Domination - scoreLimit " + scorelimit); + println("Music System Domination - currentScore " + currentscore); + println("Music System Domination - scoreThreshold " + scorethreshold); + println("Music System Domination - scoreDif " + scoredif); + println("Music System Domination - scoreThresholdStart " + scorethresholdstart); + } #/ if(scoredif <= scorethreshold && scorethresholdstart <= currentscore && level.playingactionmusic != 1) { @@ -939,10 +944,9 @@ onplayerkilled(einflictor,attacker,idamage,smeansofdeath,sweapon,vdir,shitloc,ps { /# attacker iprintlnbold("GAMETYPE DEBUG: NOT GIVING YOU DEFENSIVE CREDIT AS BOOSTING PREVENTION"); -#/ } } - +#/ if(defendedflag) { if(!(IsDefined(attacker.dom_offends))) @@ -971,10 +975,10 @@ onplayerkilled(einflictor,attacker,idamage,smeansofdeath,sweapon,vdir,shitloc,ps { /# attacker iprintlnbold("GAMETYPE DEBUG: NOT GIVING YOU OFFENSIVE CREDIT AS BOOSTING PREVENTION"); -#/ } } } +#/ } if(self.touchtriggers.size && attacker.pers["team"] != self.pers["team"]) @@ -1311,15 +1315,13 @@ flagsetup() { /# println("^1------------ Map Errors ------------"); - i = 0; - for(;;) + for(i = 0;i < maperrors.size;i++) { println(maperrors[i]); - i++; } + println("^1------------------------------------"); maps/mp/_utility::error("Map errors. See above"); -i < maperrors.size #/ maps/mp/gametypes/_callbacksetup::abortlevel(); } diff --git a/BO2/PC/MP/maps/mp/gametypes/gun.gsc b/BO2/PC/MP/maps/mp/gametypes/gun.gsc index 06d31a2..d88e279 100644 --- a/BO2/PC/MP/maps/mp/gametypes/gun.gsc +++ b/BO2/PC/MP/maps/mp/gametypes/gun.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 13 - * Decompile Time: 296 ms - * Timestamp: 10/27/2023 3:00:23 AM + * Decompile Time: 5 ms + * Timestamp: 10/28/2023 12:10:39 AM *******************************************************************/ #include maps/mp/_scoreevents; diff --git a/BO2/PC/MP/maps/mp/gametypes/hq.gsc b/BO2/PC/MP/maps/mp/gametypes/hq.gsc index 16a83be..feccd64 100644 --- a/BO2/PC/MP/maps/mp/gametypes/hq.gsc +++ b/BO2/PC/MP/maps/mp/gametypes/hq.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 44 - * Decompile Time: 421 ms - * Timestamp: 10/27/2023 3:00:25 AM + * Decompile Time: 15 ms + * Timestamp: 10/28/2023 12:10:39 AM *******************************************************************/ #include maps/mp/_challenges; @@ -871,15 +871,13 @@ setupradios() { /# println("^1------------ Map Errors ------------"); - i = 0; - for(;;) + for(i = 0;i < maperrors.size;i++) { println(maperrors[i]); - i++; } + println("^1------------------------------------"); maps/mp/_utility::error("Map errors. See above"); -i < maperrors.size #/ maps/mp/gametypes/_callbacksetup::abortlevel(); return; diff --git a/BO2/PC/MP/maps/mp/gametypes/koth.gsc b/BO2/PC/MP/maps/mp/gametypes/koth.gsc index 2eefddf..676ce88 100644 --- a/BO2/PC/MP/maps/mp/gametypes/koth.gsc +++ b/BO2/PC/MP/maps/mp/gametypes/koth.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 50 - * Decompile Time: 202 ms - * Timestamp: 10/27/2023 3:00:26 AM + * Decompile Time: 17 ms + * Timestamp: 10/28/2023 12:10:40 AM *******************************************************************/ #include common_scripts/utility; @@ -98,16 +98,10 @@ main() maps/mp/gametypes/_globallogic_audio::registerdialoggroup("gamemode_objective",0); /# trigs = getentarray("radiotrigger","targetname"); - _a101 = trigs; - _k101 = FirstArrayKey(_a101); - for(;;) + foreach(trig in trigs) { - trig = _a101[_k101]; trig delete(); - _k101 = NextArrayKey(_a101); } -_k101 -IsDefined(_k101) #/ } @@ -680,8 +674,8 @@ give_capture_credit(touchlist,string,capturetime,capture_team,lastcaptureteam) { /# player iprintlnbold("GAMETYPE DEBUG: NOT GIVING YOU CAPTURE CREDIT AS BOOSTING PREVENTION"); -#/ } +#/ } } @@ -1010,15 +1004,13 @@ setupzones() { /# println("^1------------ Map Errors ------------"); - i = 0; - for(;;) + for(i = 0;i < maperrors.size;i++) { println(maperrors[i]); - i++; } + println("^1------------------------------------"); maps/mp/_utility::error("Map errors. See above"); -i < maperrors.size #/ maps/mp/gametypes/_callbacksetup::abortlevel(); return; diff --git a/BO2/PC/MP/maps/mp/gametypes/oic.gsc b/BO2/PC/MP/maps/mp/gametypes/oic.gsc index 9ae4421..70697ad 100644 --- a/BO2/PC/MP/maps/mp/gametypes/oic.gsc +++ b/BO2/PC/MP/maps/mp/gametypes/oic.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 17 - * Decompile Time: 276 ms - * Timestamp: 10/27/2023 3:00:27 AM + * Decompile Time: 8 ms + * Timestamp: 10/28/2023 12:10:40 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/PC/MP/maps/mp/gametypes/oneflag.gsc b/BO2/PC/MP/maps/mp/gametypes/oneflag.gsc index cbe9a04..d26d433 100644 --- a/BO2/PC/MP/maps/mp/gametypes/oneflag.gsc +++ b/BO2/PC/MP/maps/mp/gametypes/oneflag.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 43 - * Decompile Time: 683 ms - * Timestamp: 10/27/2023 3:00:29 AM + * Decompile Time: 25 ms + * Timestamp: 10/28/2023 12:10:40 AM *******************************************************************/ #include maps/mp/_challenges; diff --git a/BO2/PC/MP/maps/mp/gametypes/sas.gsc b/BO2/PC/MP/maps/mp/gametypes/sas.gsc index f2ee757..192544c 100644 --- a/BO2/PC/MP/maps/mp/gametypes/sas.gsc +++ b/BO2/PC/MP/maps/mp/gametypes/sas.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 8 - * Decompile Time: 50 ms - * Timestamp: 10/27/2023 3:00:30 AM + * Decompile Time: 6 ms + * Timestamp: 10/28/2023 12:10:40 AM *******************************************************************/ #include maps/mp/_scoreevents; diff --git a/BO2/PC/MP/maps/mp/gametypes/sd.gsc b/BO2/PC/MP/maps/mp/gametypes/sd.gsc index af49cf3..50bd6e7 100644 --- a/BO2/PC/MP/maps/mp/gametypes/sd.gsc +++ b/BO2/PC/MP/maps/mp/gametypes/sd.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 34 - * Decompile Time: 146 ms - * Timestamp: 10/27/2023 3:00:31 AM + * Decompile Time: 11 ms + * Timestamp: 10/28/2023 12:10:41 AM *******************************************************************/ #include common_scripts/utility; @@ -870,8 +870,10 @@ bombplantedmusicdelay() level endon("bomb_defused"); time = level.bombtimer - 30; /# - println("Music System - waiting to set TIME_OUT: " + time); -GetDvarInt(#"BC4784C") > 0 + if(GetDvarInt(#"BC4784C") > 0) + { + println("Music System - waiting to set TIME_OUT: " + time); + } #/ if(time > 1) { diff --git a/BO2/PC/MP/maps/mp/gametypes/shrp.gsc b/BO2/PC/MP/maps/mp/gametypes/shrp.gsc index d4ffe3a..52e5d68 100644 --- a/BO2/PC/MP/maps/mp/gametypes/shrp.gsc +++ b/BO2/PC/MP/maps/mp/gametypes/shrp.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 20 - * Decompile Time: 85 ms - * Timestamp: 10/27/2023 3:00:31 AM + * Decompile Time: 7 ms + * Timestamp: 10/28/2023 12:10:41 AM *******************************************************************/ #include common_scripts/utility; @@ -280,8 +280,10 @@ getrandomgunfromprogression() level.usedbaseweapons[level.usedbaseweapons.size] = baseweaponname; /# - weaponname = debug_weapon; -debug_weapon != "" + if(debug_weapon != "") + { + weaponname = debug_weapon; + } #/ return weaponname; } diff --git a/BO2/PC/MP/maps/mp/gametypes/tdm.gsc b/BO2/PC/MP/maps/mp/gametypes/tdm.gsc index 8e0f5f9..554dd76 100644 --- a/BO2/PC/MP/maps/mp/gametypes/tdm.gsc +++ b/BO2/PC/MP/maps/mp/gametypes/tdm.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 9 - * Decompile Time: 52 ms - * Timestamp: 10/27/2023 3:00:32 AM + * Decompile Time: 6 ms + * Timestamp: 10/28/2023 12:10:41 AM *******************************************************************/ #include maps/mp/_utility; @@ -98,16 +98,10 @@ onstartgametype() maps/mp/gametypes/_spawning::updateallspawnpoints(); /# level.spawn_start = []; - _a161 = level.teams; - _k161 = FirstArrayKey(_a161); - for(;;) + foreach(team in level.teams) { - team = _a161[_k161]; level.spawn_start[team] = maps/mp/gametypes/_spawnlogic::getspawnpointarray(maps/mp/gametypes/_spawning::gettdmstartspawnname(team)); - _k161 = NextArrayKey(_a161); } -_k161 -IsDefined(_k161) #/ level.mapcenter = maps/mp/gametypes/_spawnlogic::findboxcenter(level.spawnmins,level.spawnmaxs); setmapcenter(level.mapcenter); diff --git a/BO2/PC/MP/maps/mp/killstreaks/_ai_tank.gsc b/BO2/PC/MP/maps/mp/killstreaks/_ai_tank.gsc index bfb0081..8b1f2d7 100644 --- a/BO2/PC/MP/maps/mp/killstreaks/_ai_tank.gsc +++ b/BO2/PC/MP/maps/mp/killstreaks/_ai_tank.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 48 - * Decompile Time: 300 ms - * Timestamp: 10/27/2023 3:00:33 AM + * Decompile Time: 17 ms + * Timestamp: 10/28/2023 12:10:41 AM *******************************************************************/ #include common_scripts/utility; @@ -1087,11 +1087,12 @@ valid_target(target,team,owner) } /# - return 0; -target isinmovemode("ufo","noclip") -#/ + if(target isinmovemode("ufo","noclip")) + { + return 0; + } } - +#/ if(level.teambased) { if(IsDefined(target.team) && team == target.team) @@ -1455,10 +1456,12 @@ tank_devgui_think() { wait(0.25); level.ai_tank_turret_fire_rate = weaponfiretime("ai_tank_drone_gun_mp"); - devgui_debug_route(); - setdvar("devgui_tank",""); + if(GetDvar(#"85E86196") == "routes") + { + devgui_debug_route(); + setdvar("devgui_tank",""); + } } -GetDvar(#"85E86196") == "routes" #/ } @@ -1486,20 +1489,19 @@ devgui_debug_route() /# iprintln("Choose nodes with \'A\' or press \'B\' to cancel"); nodes = maps/mp/gametypes/_dev::dev_get_node_pair(); - iprintln("Route Debug Cancelled"); - return; + if(!(IsDefined(nodes))) + { + iprintln("Route Debug Cancelled"); + return; + } + iprintln("Sending talons to chosen nodes"); tanks = getentarray("talon","targetname"); - _a1611 = tanks; - _k1611 = FirstArrayKey(_a1611); - for(;;) + foreach(tank in tanks) { - tank = _a1611[_k1611]; - tank notify("debug_patrol",IsDefined(_k1611),IsDefined(nodes)); + tank notify("debug_patrol"); tank thread tank_debug_patrol(nodes[0],nodes[1]); - _k1611 = NextArrayKey(_a1611); } -_k1611 #/ } @@ -1507,12 +1509,11 @@ _k1611 tank_debug_hud_init() { /# - host = gethostplayer(); - for(;;) + for(host = gethostplayer();!(IsDefined(host));host = gethostplayer()) { wait(0.25); - host = gethostplayer(); } + x = 80; y = 40; level.ai_tank_bar = newclienthudelem(host); @@ -1535,7 +1536,6 @@ tank_debug_hud_init() level.ai_tank_text.alpha = 0; level.ai_tank_text.fontscale = 1; level.ai_tank_text.foreground = 1; -IsDefined(host) #/ } @@ -1549,15 +1549,18 @@ tank_debug_health() for(;;) { wait(0.05); - level.ai_tank_bar.alpha = 0; - level.ai_tank_text.alpha = 0; - return; + if(!IsDefined(self) || !isalive(self)) + { + level.ai_tank_bar.alpha = 0; + level.ai_tank_text.alpha = 0; + return; + } + width = self.health / self.maxhealth * 300; width = int(max(width,1)); level.ai_tank_bar setshader("black",width,8); str = self.health + " Last Damage: " + self.damage_debug; level.ai_tank_text settext(str); } -!IsDefined(self) || !isalive(self) #/ } \ No newline at end of file diff --git a/BO2/PC/MP/maps/mp/killstreaks/_airsupport.gsc b/BO2/PC/MP/maps/mp/killstreaks/_airsupport.gsc index 73cc6b0..70f7fe4 100644 --- a/BO2/PC/MP/maps/mp/killstreaks/_airsupport.gsc +++ b/BO2/PC/MP/maps/mp/killstreaks/_airsupport.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 53 - * Decompile Time: 192 ms - * Timestamp: 10/27/2023 3:00:34 AM + * Decompile Time: 11 ms + * Timestamp: 10/28/2023 12:10:41 AM *******************************************************************/ #include common_scripts/utility; @@ -25,18 +25,24 @@ initairsupport() level.noflyzones = getentarray("no_fly_zone","targetname"); airsupport_heights = getstructarray("air_support_height","targetname"); /# - error("Found more then one \'air_support_height\' structs in the map"); -airsupport_heights.size > 1 + if(airsupport_heights.size > 1) + { + error("Found more then one \'air_support_height\' structs in the map"); + } #/ airsupport_heights = getentarray("air_support_height","targetname"); /# - error("Found an entity in the map with an \'air_support_height\' targetname. There should be only structs."); -airsupport_heights.size > 0 + if(airsupport_heights.size > 0) + { + error("Found an entity in the map with an \'air_support_height\' targetname. There should be only structs."); + } #/ heli_height_meshes = getentarray("heli_height_lock","classname"); /# - error("Found more then one \'heli_height_lock\' classname in the map"); -heli_height_meshes.size > 1 + if(heli_height_meshes.size > 1) + { + error("Found more then one \'heli_height_lock\' classname in the map"); + } #/ } @@ -703,13 +709,10 @@ entlosradiusdamage(ent,pos,radius,max,min,owner,einflictor) debug_no_fly_zones() { /# - i = 0; - for(;;) + for(i = 0;i < level.noflyzones.size;i++) { debug_cylinder(level.noflyzones[i].origin,level.noflyzones[i].radius,level.noflyzones[i].height,(1,1,1),undefined,5000); - i++; } -i < level.noflyzones.size #/ } @@ -741,19 +744,26 @@ debug_draw_bomb_path(projectile,color,time) /# self endon("death"); level.airsupport_debug = getdvarintdefault("scr_airsupport_debug",0); - color = (0.5,1,0); - prevpos = self.origin; - for(;;) + if(!(IsDefined(color))) { - thread debug_line(prevpos,self.origin,color,time); - prevpos = self.origin; - thread debug_draw_bomb_explosion(prevpos); - wait(0.2); + color = (0.5,1,0); + } + + if(IsDefined(level.airsupport_debug) && level.airsupport_debug == 1) + { + prevpos = self.origin; + while(IsDefined(self.origin)) + { + thread debug_line(prevpos,self.origin,color,time); + prevpos = self.origin; + if(IsDefined(projectile) && projectile) + { + thread debug_draw_bomb_explosion(prevpos); + } + + wait(0.2); + } } -IsDefined(projectile) && projectile -IsDefined(self.origin) -IsDefined(level.airsupport_debug) && level.airsupport_debug == 1 -IsDefined(color) #/ } @@ -762,10 +772,17 @@ debug_print3d_simple(message,ent,offset,frames) { /# level.airsupport_debug = getdvarintdefault("scr_airsupport_debug",0); - thread draw_text(message,VectorScale((1,1,1)),0.8,ent,offset); - thread draw_text(message,VectorScale((1,1,1)),0.8,ent,offset); -IsDefined(frames) ? frames : 0 -IsDefined(level.airsupport_debug) && level.airsupport_debug == 1 + if(IsDefined(level.airsupport_debug) && level.airsupport_debug == 1) + { + if(IsDefined(frames)) + { + thread draw_text(message,VectorScale((1,1,1)),0.8,ent,offset); + } + else + { + thread draw_text(message,VectorScale((1,1,1)),0.8,ent,offset); + } + } #/ } @@ -773,21 +790,27 @@ IsDefined(level.airsupport_debug) && level.airsupport_debug == 1 draw_text(msg,color,ent,offset,frames) { /# - for(;;) + if(frames == 0) { - print3d(ent.origin + offset,msg,color,0.5,4); - wait(0.05); + while(IsDefined(ent) && IsDefined(ent.origin)) + { + print3d(ent.origin + offset,msg,color,0.5,4); + wait(0.05); + } } - i = 0; - for(;;) + else { - break; - print3d(ent.origin + offset,msg,color,0.5,4); - wait(0.05); - i++; + for(i = 0;i < frames;i++) + { + if(!(IsDefined(ent))) + { + break; + } + + print3d(ent.origin + offset,msg,color,0.5,4); + wait(0.05); + } } -(IsDefined(ent) && IsDefined(ent.origin)) ? i < frames : IsDefined(ent) -frames == 0 #/ } @@ -796,8 +819,10 @@ debug_print3d(message,color,ent,origin_offset,frames) { /# level.airsupport_debug = getdvarintdefault("scr_airsupport_debug",0); - self thread draw_text(message,color,ent,origin_offset,frames); -IsDefined(level.airsupport_debug) && level.airsupport_debug == 1 + if(IsDefined(level.airsupport_debug) && level.airsupport_debug == 1) + { + self thread draw_text(message,color,ent,origin_offset,frames); + } #/ } @@ -806,12 +831,20 @@ debug_line(from,to,color,time,depthtest) { /# level.airsupport_debug = getdvarintdefault("scr_airsupport_debug",0); - time = 1000; - depthtest = 1; - line(from,to,color,1,depthtest,time); -IsDefined(depthtest) -IsDefined(time) -IsDefined(level.airsupport_debug) && level.airsupport_debug == 1 + if(IsDefined(level.airsupport_debug) && level.airsupport_debug == 1) + { + if(!(IsDefined(time))) + { + time = 1000; + } + + if(!(IsDefined(depthtest))) + { + depthtest = 1; + } + + line(from,to,color,1,depthtest,time); + } #/ } @@ -820,12 +853,20 @@ debug_star(origin,color,time) { /# level.airsupport_debug = getdvarintdefault("scr_airsupport_debug",0); - time = 1000; - color = (1,1,1); - debugstar(origin,time,color); -IsDefined(color) -IsDefined(time) -IsDefined(level.airsupport_debug) && level.airsupport_debug == 1 + if(IsDefined(level.airsupport_debug) && level.airsupport_debug == 1) + { + if(!(IsDefined(time))) + { + time = 1000; + } + + if(!(IsDefined(color))) + { + color = (1,1,1); + } + + debugstar(origin,time,color); + } #/ } @@ -834,12 +875,20 @@ debug_circle(origin,radius,color,time) { /# level.airsupport_debug = getdvarintdefault("scr_airsupport_debug",0); - time = 1000; - color = (1,1,1); - circle(origin,radius,color,1,1,time); -IsDefined(color) -IsDefined(time) -IsDefined(level.airsupport_debug) && level.airsupport_debug == 1 + if(IsDefined(level.airsupport_debug) && level.airsupport_debug == 1) + { + if(!(IsDefined(time))) + { + time = 1000; + } + + if(!(IsDefined(color))) + { + color = (1,1,1); + } + + circle(origin,radius,color,1,1,time); + } #/ } @@ -848,13 +897,21 @@ debug_sphere(origin,radius,color,alpha,time) { /# level.airsupport_debug = getdvarintdefault("scr_airsupport_debug",0); - time = 1000; - color = (1,1,1); - sides = int(10 * 1 + int(radius / 100)); - sphere(origin,radius,color,alpha,1,sides,time); -IsDefined(color) -IsDefined(time) -IsDefined(level.airsupport_debug) && level.airsupport_debug == 1 + if(IsDefined(level.airsupport_debug) && level.airsupport_debug == 1) + { + if(!(IsDefined(time))) + { + time = 1000; + } + + if(!(IsDefined(color))) + { + color = (1,1,1); + } + + sides = int(10 * 1 + int(radius / 100)); + sphere(origin,radius,color,alpha,1,sides,time); + } #/ } @@ -864,23 +921,31 @@ debug_cylinder(origin,radius,height,color,mustrenderheight,time) /# level.airsupport_debug = getdvarintdefault("scr_airsupport_debug",0); subdivision = 600; - time = 1000; - color = (1,1,1); - count = height / subdivision; - i = 0; - for(;;) + if(IsDefined(level.airsupport_debug) && level.airsupport_debug == 1) { - point = origin + (0,0,i * subdivision); - circle(point,radius,color,1,1,time); - i++; + if(!(IsDefined(time))) + { + time = 1000; + } + + if(!(IsDefined(color))) + { + color = (1,1,1); + } + + count = height / subdivision; + for(i = 0;i < count;i++) + { + point = origin + (0,0,i * subdivision); + circle(point,radius,color,1,1,time); + } + + if(IsDefined(mustrenderheight)) + { + point = origin + (0,0,mustrenderheight); + circle(point,radius,color,1,1,time); + } } - point = origin + (0,0,mustrenderheight); - circle(point,radius,color,1,1,time); -IsDefined(mustrenderheight) -i < count -IsDefined(color) -IsDefined(time) -IsDefined(level.airsupport_debug) && level.airsupport_debug == 1 #/ } diff --git a/BO2/PC/MP/maps/mp/killstreaks/_dogs.gsc b/BO2/PC/MP/maps/mp/killstreaks/_dogs.gsc index 746881b..48c4148 100644 --- a/BO2/PC/MP/maps/mp/killstreaks/_dogs.gsc +++ b/BO2/PC/MP/maps/mp/killstreaks/_dogs.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 39 - * Decompile Time: 292 ms - * Timestamp: 10/27/2023 3:00:35 AM + * Decompile Time: 14 ms + * Timestamp: 10/28/2023 12:10:42 AM *******************************************************************/ #include common_scripts/utility; @@ -338,9 +338,9 @@ dog_patrol() self endon("death"); /# self endon("debug_patrol"); -#/ for(;;) { +#/ if(level.dog_abort) { self dog_leave(); @@ -708,6 +708,7 @@ devgui_dog_think() player = gethostplayer(); devgui_dog_spawn(player.team); break; + case "spawn_enemy": player = gethostplayer(); _a769 = level.teams; @@ -718,36 +719,49 @@ devgui_dog_think() devgui_dog_spawn(team); _k769 = NextArrayKey(_a769); } + break; _k769 - Stack-Empty ? IsDefined(_k769) : team == player.team + team == player.team + IsDefined(_k769) break; + case "delete_dogs": level dog_abort(); break; + case "dog_camera": devgui_dog_camera(); break; + case "spawn_crate": devgui_crate_spawn(); break; + case "delete_crates": devgui_crate_delete(); break; + case "show_spawns": devgui_spawn_show(); break; + case "show_exits": devgui_exit_show(); break; + case "debug_route": devgui_debug_route(); break; } - setdvar("devgui_dog",""); + + if(cmd != "") + { + setdvar("devgui_dog",""); + } + wait(0.5); } -cmd != "" #/ } @@ -758,8 +772,12 @@ devgui_dog_spawn(team) player = gethostplayer(); dog_spawner = getent("dog_spawner","targetname"); level.dog_abort = 0; - iprintln("No dog spawners found in map"); - return; + if(!(IsDefined(dog_spawner))) + { + iprintln("No dog spawners found in map"); + return; + } + direction = player getplayerangles(); direction_vec = AnglesToForward(direction); eye = player geteye(); @@ -767,14 +785,21 @@ devgui_dog_spawn(team) direction_vec = (direction_vec[0] * scale,direction_vec[1] * scale,direction_vec[2] * scale); trace = bullettrace(eye,eye + direction_vec,0,undefined); nodes = getnodesinradius(trace["position"],256,0,128,"Path",8); - iprintln("No nodes found near crosshair position"); - return; + if(!(nodes.size)) + { + iprintln("No nodes found near crosshair position"); + return; + } + iprintln("Spawning dog at your crosshair position"); node = getclosest(trace["position"],nodes); dog = dog_manager_spawn_dog(player,player.team,node,5); - dog.aiteam = team; - dog clearentityowner(); - dog notify("clear_owner",team != player.team,nodes.size,IsDefined(dog_spawner)); + if(team != player.team) + { + dog.aiteam = team; + dog clearentityowner(); + dog notify("clear_owner"); + } #/ } @@ -783,33 +808,60 @@ devgui_dog_camera() { /# player = gethostplayer(); - level.devgui_dog_camera = 0; + if(!(IsDefined(level.devgui_dog_camera))) + { + level.devgui_dog_camera = 0; + } + dog = undefined; dogs = dog_manager_get_dogs(); - level.devgui_dog_camera = undefined; - player cameraactivate(0); - return; - i = 0; - for(;;) + if(dogs.size <= 0) + { + level.devgui_dog_camera = undefined; + player cameraactivate(0); + return; + } + + for(i = 0;i < dogs.size;i++) { dog = dogs[i]; - dog = undefined; - forward = AnglesToForward(dog.angles); - dog.cam = spawn("script_model",50 + VectorScale((0,0,1)) + forward * -100); - dog.cam setmodel("tag_origin"); - dog.cam linkto(dog); - dog = undefined; - break; - i++; + if(!IsDefined(dog) || !isalive(dog)) + { + dog = undefined; + } + else + { + if(!(IsDefined(dog.cam))) + { + forward = AnglesToForward(dog.angles); + dog.cam = spawn("script_model",50 + VectorScale((0,0,1)) + forward * -100); + dog.cam setmodel("tag_origin"); + dog.cam linkto(dog); + } + + if(dog getentitynumber() <= level.devgui_dog_camera) + { + dog = undefined; + } + else + { + break; + } + } + } + + if(IsDefined(dog)) + { + level.devgui_dog_camera = dog getentitynumber(); + player camerasetposition(dog.cam); + player camerasetlookat(dog); + player cameraactivate(1); + } + else + { + level.devgui_dog_camera = undefined; + player cameraactivate(0); } - level.devgui_dog_camera = dog getentitynumber(); - player camerasetposition(dog.cam); - player camerasetlookat(dog); - player cameraactivate(1); - level.devgui_dog_camera = undefined; - player cameraactivate(0); -dogs.size <= 0 ? (i < dogs.size ? !IsDefined(dog) || !isalive(dog) : (IsDefined(dog.cam) ? dog.origin : dog getentitynumber() <= level.devgui_dog_camera)) : IsDefined(dog) -IsDefined(level.devgui_dog_camera) #/ } @@ -826,7 +878,6 @@ devgui_crate_spawn() trace = bullettrace(eye,eye + direction_vec,0,undefined); killcament = spawn("script_model",player.origin); level thread maps/mp/killstreaks/_supplydrop::dropcrate(25 + VectorScale((0,0,1)),trace["position"],direction,"supplydrop_mp",player,player.team); -killcament #/ } @@ -834,16 +885,17 @@ killcament devgui_crate_delete() { /# - return; - i = 0; - for(;;) + if(!(IsDefined(level.devgui_crates))) + { + return; + } + + for(i = 0;i < level.devgui_crates.size;i++) { level.devgui_crates[i] delete(); - i++; } + level.devgui_crates = []; -i < level.devgui_crates.size -IsDefined(level.devgui_crates) #/ } @@ -851,19 +903,27 @@ IsDefined(level.devgui_crates) devgui_spawn_show() { /# - level.dog_spawn_show = 1; - level.dog_spawn_show = !level.dog_spawn_show; - level notify("hide_dog_spawns",level.dog_spawn_show,Stack-Empty ? Stack-Empty : IsDefined(level.dog_spawn_show)); - return; + if(!(IsDefined(level.dog_spawn_show))) + { + level.dog_spawn_show = 1; + } + else + { + level.dog_spawn_show = !level.dog_spawn_show; + } + + if(!(level.dog_spawn_show)) + { + level notify("hide_dog_spawns"); + return; + } + spawns = getnodearray("spawn","script_noteworthy"); color = (0,1,0); - i = 0; - for(;;) + for(i = 0;i < spawns.size;i++) { maps/mp/gametypes/_dev::showonespawnpoint(spawns[i],color,"hide_dog_spawns",32,"dog_spawn"); - i++; } -i < spawns.size #/ } @@ -871,19 +931,27 @@ i < spawns.size devgui_exit_show() { /# - level.dog_exit_show = 1; - level.dog_exit_show = !level.dog_exit_show; - level notify("hide_dog_exits",level.dog_exit_show,Stack-Empty ? Stack-Empty : IsDefined(level.dog_exit_show)); - return; + if(!(IsDefined(level.dog_exit_show))) + { + level.dog_exit_show = 1; + } + else + { + level.dog_exit_show = !level.dog_exit_show; + } + + if(!(level.dog_exit_show)) + { + level notify("hide_dog_exits"); + return; + } + exits = getnodearray("exit","script_noteworthy"); color = (1,0,0); - i = 0; - for(;;) + for(i = 0;i < exits.size;i++) { maps/mp/gametypes/_dev::showonespawnpoint(exits[i],color,"hide_dog_exits",32,"dog_exit"); - i++; } -i < exits.size #/ } @@ -911,11 +979,18 @@ devgui_debug_route() /# iprintln("Choose nodes with \'A\' or press \'B\' to cancel"); nodes = maps/mp/gametypes/_dev::dev_get_node_pair(); - iprintln("Route Debug Cancelled"); - return; + if(!(IsDefined(nodes))) + { + iprintln("Route Debug Cancelled"); + return; + } + iprintln("Sending dog to chosen nodes"); dogs = dog_manager_get_dogs(); - dogs[0] notify("debug_patrol",IsDefined(dogs[0]),IsDefined(nodes)); - dogs[0] thread dog_debug_patrol(nodes[0],nodes[1]); + if(IsDefined(dogs[0])) + { + dogs[0] notify("debug_patrol"); + dogs[0] thread dog_debug_patrol(nodes[0],nodes[1]); + } #/ } \ No newline at end of file diff --git a/BO2/PC/MP/maps/mp/killstreaks/_emp.gsc b/BO2/PC/MP/maps/mp/killstreaks/_emp.gsc index 2aef31a..7521f51 100644 --- a/BO2/PC/MP/maps/mp/killstreaks/_emp.gsc +++ b/BO2/PC/MP/maps/mp/killstreaks/_emp.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 23 - * Decompile Time: 67 ms - * Timestamp: 10/27/2023 3:00:36 AM + * Decompile Time: 3 ms + * Timestamp: 10/28/2023 12:10:42 AM *******************************************************************/ #include common_scripts/utility; @@ -449,7 +449,7 @@ destroyactivevehicles(attacker,teamemped) } else { - planemortar notify("emp_deployed",attacker,Stack-Empty ? Stack-Empty : Stack-Empty); + planemortar notify("emp_deployed",attacker); } } } @@ -467,7 +467,7 @@ destroyactivevehicles(attacker,teamemped) } else { - satellite notify("emp_deployed",attacker,Stack-Empty ? Stack-Empty : _k458); + satellite notify("emp_deployed",attacker,_k458); } } } @@ -504,7 +504,7 @@ destroyentities(entities,attacker,team) } else { - entity notify("damage",damage,attacker,direction_vec,point,meansofdeath,tagname,modelname,partname,weapon,Stack-Empty ? Stack-Empty : Stack-Empty); + entity notify("damage",damage,attacker,direction_vec,point,meansofdeath,tagname,modelname,partname,weapon); } } } @@ -514,7 +514,7 @@ destroyentities(entities,attacker,team) drawempdamageorigin(pos,ang,radius) { /# - for(;;) + while(GetDvarInt(#"D04570F2")) { line(pos,pos + AnglesToForward(ang) * radius,(1,0,0)); line(pos,pos + AnglesToRight(ang) * radius,(0,1,0)); @@ -524,7 +524,6 @@ drawempdamageorigin(pos,ang,radius) line(pos,pos - AnglesToUp(ang) * radius,(0,0,1)); wait(0.05); } -GetDvarInt(#"D04570F2") #/ } diff --git a/BO2/PC/MP/maps/mp/killstreaks/_helicopter.gsc b/BO2/PC/MP/maps/mp/killstreaks/_helicopter.gsc index 5fd58a5..2ae2a47 100644 --- a/BO2/PC/MP/maps/mp/killstreaks/_helicopter.gsc +++ b/BO2/PC/MP/maps/mp/killstreaks/_helicopter.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 86 - * Decompile Time: 1235 ms - * Timestamp: 10/27/2023 3:00:40 AM + * Decompile Time: 62 ms + * Timestamp: 10/28/2023 12:10:42 AM *******************************************************************/ #include common_scripts/utility; @@ -676,7 +676,7 @@ heli_targeting(missilesenabled,hardpointtype) } self.primarytarget = targets[0]; - self notify("primary acquired",_k670,_k656,Stack-Empty ? Stack-Empty : Stack-Empty); + self notify("primary acquired",_k670,_k656); self.secondarytarget = undefined; debug_print_target(); } @@ -1689,21 +1689,26 @@ heli_crash(hardpointtype,player,playernotify) } /# - switch(level.heli_debug_crash) + if(level.heli_debug_crash) { - case "1": - crashtype = "explode"; - break; - case "2": - crashtype = "crashOnPath"; - break; - case "3": - crashtype = "spinOut"; - break; - default: - break; + switch(level.heli_debug_crash) + { + case "1": + crashtype = "explode"; + break; + + case "2": + crashtype = "crashOnPath"; + break; + + case "3": + crashtype = "spinOut"; + break; + + default: + break; + } } -level.heli_debug_crash #/ switch(crashtype) { diff --git a/BO2/PC/MP/maps/mp/killstreaks/_helicopter_guard.gsc b/BO2/PC/MP/maps/mp/killstreaks/_helicopter_guard.gsc index 32dea73..f292272 100644 --- a/BO2/PC/MP/maps/mp/killstreaks/_helicopter_guard.gsc +++ b/BO2/PC/MP/maps/mp/killstreaks/_helicopter_guard.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 33 - * Decompile Time: 245 ms - * Timestamp: 10/27/2023 3:00:41 AM + * Decompile Time: 13 ms + * Timestamp: 10/28/2023 12:10:43 AM *******************************************************************/ #include common_scripts/utility; @@ -203,8 +203,10 @@ startheliguardsupport(littlebird,lifeid) littlebird setspeed(littlebird.speed,80,30); littlebird waittill("goal"); /# - debug_no_fly_zones(); -GetDvar(#"2CF8CBA6") == "1" + if(GetDvar(#"2CF8CBA6") == "1") + { + debug_no_fly_zones(); + } #/ littlebird thread heliguardsupport_followplayer(); } @@ -591,8 +593,10 @@ heliguardsupport_getclosestnode(pos) littlebird_debug_text(string) { /# - iprintln(string); -GetDvar(#"2CF8CBA6") == "1" + if(GetDvar(#"2CF8CBA6") == "1") + { + iprintln(string); + } #/ } @@ -600,8 +604,10 @@ GetDvar(#"2CF8CBA6") == "1" littlebird_debug_line(start,end,color) { /# - line(start,end,color,1,1,300); -GetDvar(#"2CF8CBA6") == "1" + if(GetDvar(#"2CF8CBA6") == "1") + { + line(start,end,color,1,1,300); + } #/ } @@ -609,19 +615,13 @@ GetDvar(#"2CF8CBA6") == "1" heli_path_debug() { /# - _a703 = level.heli_paths; - _k703 = FirstArrayKey(_a703); - for(;;) + foreach(path in level.heli_paths) { - path = _a703[_k703]; - _a705 = path; - _k705 = FirstArrayKey(_a705); - for(;;) + foreach(loc in path) { - loc = _a705[_k705]; prev = loc; target = loc.target; - for(;;) + while(IsDefined(target)) { target = getent(target,"targetname"); line(prev.origin,target.origin,(1,0,0),1,0,50000); @@ -629,38 +629,27 @@ heli_path_debug() prev = target; target = prev.target; } - _k705 = NextArrayKey(_a705); } - _k703 = NextArrayKey(_a703); } - _a722 = level.heli_loop_paths; - _k722 = FirstArrayKey(_a722); - for(;;) + + foreach(loc in level.heli_loop_paths) { - loc = _a722[_k722]; prev = loc; target = loc.target; first = loc; - for(;;) + while(IsDefined(target)) { target = getent(target,"targetname"); line(prev.origin,target.origin,(0,1,0),1,0,50000); debugstar(prev.origin,50000,(1,0,0)); prev = target; target = prev.target; - break; + if(prev == first) + { + break; + } } - _k722 = NextArrayKey(_a722); } -_k722 -prev == first -IsDefined(target) -IsDefined(_k722) -_k703 -_k705 -IsDefined(target) -IsDefined(_k705) -IsDefined(_k703) #/ } diff --git a/BO2/PC/MP/maps/mp/killstreaks/_helicopter_gunner.gsc b/BO2/PC/MP/maps/mp/killstreaks/_helicopter_gunner.gsc index aa5ce35..e8e2681 100644 --- a/BO2/PC/MP/maps/mp/killstreaks/_helicopter_gunner.gsc +++ b/BO2/PC/MP/maps/mp/killstreaks/_helicopter_gunner.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 53 - * Decompile Time: 383 ms - * Timestamp: 10/27/2023 3:00:43 AM + * Decompile Time: 20 ms + * Timestamp: 10/28/2023 12:10:43 AM *******************************************************************/ #include common_scripts/utility; @@ -685,10 +685,15 @@ destroyplayerhelicopter() debug_print_heli(msg) { /# - setdvar("scr_debugheli","0"); - println(msg); -GetDvarInt(#"2CCCDCB5") == 1 -GetDvar(#"2CCCDCB5") == "" + if(GetDvar(#"2CCCDCB5") == "") + { + setdvar("scr_debugheli","0"); + } + + if(GetDvarInt(#"2CCCDCB5") == 1) + { + println(msg); + } #/ } @@ -1331,8 +1336,10 @@ debugtag(tagname) { /# start_origin = self gettagorigin(tagname); - sphere(start_origin,5,(1,0,0),1,1,10,1); -IsDefined(start_origin) + if(IsDefined(start_origin)) + { + sphere(start_origin,5,(1,0,0),1,1,10,1); + } #/ } @@ -1648,17 +1655,22 @@ debugcheckforexit(hardpointtype) /# self endon("disconnect"); self endon("heli_timeup"); - return; - for(;;) + if(IsDefined(self.pers["isBot"]) && self.pers["isBot"]) { - player_heli_leave(hardpointtype); - debug_print_heli(">>>>>>>send notify [exit_vehicle***heli_timeup]"); return; + } + + while(1) + { + if(self usebuttonpressed()) + { + player_heli_leave(hardpointtype); + debug_print_heli(">>>>>>>send notify [exit_vehicle***heli_timeup]"); + return; + } + wait(0.1); } -self usebuttonpressed() -1 -IsDefined(self.pers["isBot"]) && self.pers["isBot"] #/ } diff --git a/BO2/PC/MP/maps/mp/killstreaks/_killstreak_weapons.gsc b/BO2/PC/MP/maps/mp/killstreaks/_killstreak_weapons.gsc index fdecc9e..8da8d5c 100644 --- a/BO2/PC/MP/maps/mp/killstreaks/_killstreak_weapons.gsc +++ b/BO2/PC/MP/maps/mp/killstreaks/_killstreak_weapons.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 17 - * Decompile Time: 116 ms - * Timestamp: 10/27/2023 3:00:44 AM + * Decompile Time: 12 ms + * Timestamp: 10/28/2023 12:10:43 AM *******************************************************************/ #include common_scripts/utility; @@ -177,7 +177,14 @@ usecarriedkillstreakweapon(hardpointtype) level.globalkillstreakscalled++; self addweaponstat(hardpointtype,"used",1); level thread maps/mp/_popups::displayteammessagetoall(level.killstreaks[hardpointtype].inboundtext,self); - self.pers["held_killstreak_clip_count"][hardpointtype] = (weaponclipsize(hardpointtype) > currentammo) ? currentammo : weaponclipsize(hardpointtype); + if(weaponclipsize(hardpointtype) > currentammo) + { + } + else + { + } + + self.pers["held_killstreak_clip_count"][hardpointtype] = weaponclipsize(hardpointtype); if(isfrominventory == 0) { if(self.pers["killstreak_quantity"][hardpointtype] > 0) @@ -240,7 +247,7 @@ usecarriedkillstreakweapon(hardpointtype) } notifystring = "killstreakWeapon_" + hardpointtype; - self notify(notifystring); + self notify(notifystring,currentammo); self thread watchkillstreakweaponswitch(hardpointtype,killstreak_id,isfrominventory); self thread watchkillstreakweapondeath(hardpointtype,killstreak_id,isfrominventory); self thread watchkillstreakroundchange(isfrominventory,killstreak_id); @@ -418,7 +425,14 @@ watchkillstreakweapondeath(hardpointtype,killstreak_id,isfrominventory) else { self.pers["held_killstreak_ammo_count"][hardpointtype] = newammo; - self.pers["held_killstreak_clip_count"][hardpointtype] = (maxclipsize <= newammo) ? maxclipsize : newammo; + if(maxclipsize <= newammo) + { + } + else + { + } + + self.pers["held_killstreak_clip_count"][hardpointtype] = newammo; } } @@ -471,7 +485,14 @@ watchplayerdeath(killstreakweapon) self endon(endonweaponstring); self waittill("death"); currentammo = self getammocount(killstreakweapon); - self.pers["held_killstreak_clip_count"][killstreakweapon] = (weaponclipsize(killstreakweapon) <= currentammo) ? weaponclipsize(killstreakweapon) : currentammo; + if(weaponclipsize(killstreakweapon) <= currentammo) + { + } + else + { + } + + self.pers["held_killstreak_clip_count"][killstreakweapon] = currentammo; } //Function Number: 11 @@ -517,13 +538,27 @@ watchkillstreakroundchange(isfrominventory,killstreak_id) if(IsDefined(killstreakindex)) { self.pers["killstreak_ammo_count"][killstreakindex] = currentammo; - self.pers["held_killstreak_clip_count"][currentweapon] = (maxclipsize <= currentammo) ? maxclipsize : currentammo; + if(maxclipsize <= currentammo) + { + } + else + { + } + + self.pers["held_killstreak_clip_count"][currentweapon] = currentammo; } } else { self.pers["held_killstreak_ammo_count"][currentweapon] = currentammo; - self.pers["held_killstreak_clip_count"][currentweapon] = (maxclipsize <= currentammo) ? maxclipsize : currentammo; + if(maxclipsize <= currentammo) + { + } + else + { + } + + self.pers["held_killstreak_clip_count"][currentweapon] = currentammo; } } diff --git a/BO2/PC/MP/maps/mp/killstreaks/_killstreakrules.gsc b/BO2/PC/MP/maps/mp/killstreaks/_killstreakrules.gsc index f4aaa94..780796e 100644 --- a/BO2/PC/MP/maps/mp/killstreaks/_killstreakrules.gsc +++ b/BO2/PC/MP/maps/mp/killstreaks/_killstreakrules.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 7 - * Decompile Time: 114 ms - * Timestamp: 10/27/2023 3:00:44 AM + * Decompile Time: 8 ms + * Timestamp: 10/28/2023 12:10:43 AM *******************************************************************/ #include common_scripts/utility; @@ -283,9 +283,9 @@ killstreakstop(hardpointtype,team,id) level.killstreakrules[key].curteam[team]--; /# assert(level.killstreakrules[key].curteam[team] >= 0); -#/ } } +#/ } if(!IsDefined(id) || id == -1) @@ -416,8 +416,16 @@ killstreak_debug_text(text) { /# level.killstreak_rule_debug = getdvarintdefault("scr_killstreak_rule_debug",0); - iprintln("KSR: " + text + "\n"); - iprintlnbold("KSR: " + text); -(IsDefined(level.killstreak_rule_debug)) ? level.killstreak_rule_debug == 1 : level.killstreak_rule_debug == 2 + if(IsDefined(level.killstreak_rule_debug)) + { + if(level.killstreak_rule_debug == 1) + { + iprintln("KSR: " + text + "\n"); + } + else if(level.killstreak_rule_debug == 2) + { + iprintlnbold("KSR: " + text); + } + } #/ } \ No newline at end of file diff --git a/BO2/PC/MP/maps/mp/killstreaks/_killstreaks.gsc b/BO2/PC/MP/maps/mp/killstreaks/_killstreaks.gsc index 04ef8a0..8e3c567 100644 --- a/BO2/PC/MP/maps/mp/killstreaks/_killstreaks.gsc +++ b/BO2/PC/MP/maps/mp/killstreaks/_killstreaks.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 86 - * Decompile Time: 277 ms - * Timestamp: 10/27/2023 3:00:46 AM + * Decompile Time: 22 ms + * Timestamp: 10/28/2023 12:10:44 AM *******************************************************************/ #include common_scripts/utility; @@ -331,14 +331,11 @@ drawline(start,end,timeslice,color) { /# drawtime = int(timeslice * 20); - time = 0; - for(;;) + for(time = 0;time < drawtime;time++) { line(start,end,(1,0,0),0,1); wait(0.05); - time++; } -time < drawtime #/ } @@ -366,12 +363,20 @@ givekillstreakifstreakcountmatches(index,killstreak,streakcount) { pixbeginevent("giveKillstreakIfStreakCountMatches"); /# - println("Killstreak Undefined.\n"); - println("Killstreak listed as." + killstreak + "\n"); - println("Killstreak Not Available.\n"); -iskillstreakavailable(killstreak) -IsDefined(killstreak) -IsDefined(killstreak) + if(!(IsDefined(killstreak))) + { + println("Killstreak Undefined.\n"); + } + + if(IsDefined(killstreak)) + { + println("Killstreak listed as." + killstreak + "\n"); + } + + if(!(iskillstreakavailable(killstreak))) + { + println("Killstreak Not Available.\n"); + } #/ if(self.pers["killstreaksEarnedThisKillstreak"] > index && isroundbased()) { @@ -879,9 +884,8 @@ changekillstreakquantity(killstreakweapon,delta) { /# assert(quantity > 0); -#/ } - +#/ quantity = quantity + delta; if(quantity > level.scorestreaksmaxstacking) { @@ -1268,9 +1272,9 @@ trackweaponusage() /# assert(self.lastnonkillstreakweapon != "none"); -#/ for(;;) { +#/ currentweapon = self getcurrentweapon(); self waittill("weapon_change",weapon); if(maps/mp/gametypes/_weapons::isprimaryweapon(weapon)) @@ -2114,10 +2118,14 @@ killstreak_debug_think() killstreak_data_dump(); break; } - setdvar("debug_killstreak",""); + + if(cmd != "") + { + setdvar("debug_killstreak",""); + } + wait(0.5); } -cmd != "" #/ } @@ -2129,8 +2137,7 @@ killstreak_data_dump() println("##### Killstreak Data #####"); println("killstreak,killstreaklevel,weapon,altweapon1,altweapon2,altweapon3,altweapon4,type1,type2,type3,type4"); keys = getarraykeys(level.killstreaks); - i = 0; - for(;;) + for(i = 0;i < keys.size;i++) { data = level.killstreaks[keys[i]]; type_data = level.killstreaktype[keys[i]]; @@ -2138,47 +2145,51 @@ killstreak_data_dump() print(data.killstreaklevel + ","); print(data.weapon + ","); alt = 0; -/# - assert(data.altweapons.size <= 4); -#/ - alt = 0; - for(;;) + if(IsDefined(data.altweapons)) { - print(data.altweapons[alt] + ","); - alt++; +/# + assert(data.altweapons.size <= 4); +#/ + for(alt = 0;alt < data.altweapons.size;alt++) + { + print(data.altweapons[alt] + ","); + } } - for(;;) + + while(alt < 4) { print(","); alt++; } + type = 0; -/# - assert(type_data.size < 4); -#/ - type_keys = getarraykeys(type_data); - for(;;) + if(IsDefined(type_data)) { - print(type_keys[type] + ","); - type++; +/# + assert(type_data.size < 4); +#/ + type_keys = getarraykeys(type_data); + while(type < type_keys.size) + { + if(type_data[type_keys[type]] == 1) + { + print(type_keys[type] + ","); + } + + type++; + } } - for(;;) + + while(type < 4) { print(","); type++; } + println(""); - i++; } + println("##### End Killstreak Data #####"); -type < 4 -type_data[type_keys[type]] == 1 -type < type_keys.size -IsDefined(type_data) -alt < 4 -alt < data.altweapons.size -IsDefined(data.altweapons) -i < keys.size #/ } diff --git a/BO2/PC/MP/maps/mp/killstreaks/_missile_drone.gsc b/BO2/PC/MP/maps/mp/killstreaks/_missile_drone.gsc index fe0c957..cbea9a9 100644 --- a/BO2/PC/MP/maps/mp/killstreaks/_missile_drone.gsc +++ b/BO2/PC/MP/maps/mp/killstreaks/_missile_drone.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 24 - * Decompile Time: 107 ms - * Timestamp: 10/27/2023 3:00:46 AM + * Decompile Time: 6 ms + * Timestamp: 10/28/2023 12:10:44 AM *******************************************************************/ #include common_scripts/utility; @@ -245,9 +245,8 @@ drone_target_search(hardpointtype) self.goal.origin = (level.missile_drone_origin[0] + direction[0],level.missile_drone_origin[1] + direction[1],level.missile_drone_origin[2]); /# debug_line(self.origin,self.goal.origin,(0,1,1),5000); -#/ } - +#/ if(IsDefined(target)) { self set_drone_target(hardpointtype,target); diff --git a/BO2/PC/MP/maps/mp/killstreaks/_missile_swarm.gsc b/BO2/PC/MP/maps/mp/killstreaks/_missile_swarm.gsc index 4f63597..dafa9b4 100644 --- a/BO2/PC/MP/maps/mp/killstreaks/_missile_swarm.gsc +++ b/BO2/PC/MP/maps/mp/killstreaks/_missile_swarm.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 24 - * Decompile Time: 252 ms - * Timestamp: 10/27/2023 3:00:47 AM + * Decompile Time: 7 ms + * Timestamp: 10/28/2023 12:10:44 AM *******************************************************************/ #include common_scripts/utility; @@ -537,8 +537,10 @@ projectile_spawn_utility(owner,target,origin,weapon,targetname,movegoal) p.goal = goal; p.targetname = "swarm_missile"; /# - p thread projectile_cam(owner); -!is_true(owner.swarm_cam) && GetDvarInt(#"492656A6") == 1 + if(!is_true(owner.swarm_cam) && GetDvarInt(#"492656A6") == 1) + { + p thread projectile_cam(owner); + } #/ return p; } @@ -773,7 +775,9 @@ player_valid_target(player,team,owner) } /# - return 0; -player isinmovemode("ufo","noclip") + if(player isinmovemode("ufo","noclip")) + { + return 0; + } #/ } \ No newline at end of file diff --git a/BO2/PC/MP/maps/mp/killstreaks/_planemortar.gsc b/BO2/PC/MP/maps/mp/killstreaks/_planemortar.gsc index 7152355..85999d4 100644 --- a/BO2/PC/MP/maps/mp/killstreaks/_planemortar.gsc +++ b/BO2/PC/MP/maps/mp/killstreaks/_planemortar.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 20 - * Decompile Time: 301 ms - * Timestamp: 10/27/2023 3:00:49 AM + * Decompile Time: 4 ms + * Timestamp: 10/28/2023 12:10:44 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/PC/MP/maps/mp/killstreaks/_qrdrone.gsc b/BO2/PC/MP/maps/mp/killstreaks/_qrdrone.gsc index f80cacc..93b46e0 100644 --- a/BO2/PC/MP/maps/mp/killstreaks/_qrdrone.gsc +++ b/BO2/PC/MP/maps/mp/killstreaks/_qrdrone.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 61 - * Decompile Time: 691 ms - * Timestamp: 10/27/2023 3:00:52 AM + * Decompile Time: 27 ms + * Timestamp: 10/28/2023 12:10:45 AM *******************************************************************/ #include common_scripts/utility; @@ -1145,11 +1145,14 @@ qrdrone_leave_on_timeout() set_dvar_int_if_unset("scr_QRDroneFlyTime",self.flytime); self.flytime = GetDvarInt(#"DA835401"); waittime = self.flytime - 10; - wait(self.flytime); - self setclientfield("qrdrone_state",3); - watcher = self.owner maps/mp/gametypes/_weaponobjects::getweaponobjectwatcher("qrdrone"); - watcher thread maps/mp/gametypes/_weaponobjects::waitanddetonate(self,0); -waittime < 0 + if(waittime < 0) + { + wait(self.flytime); + self setclientfield("qrdrone_state",3); + watcher = self.owner maps/mp/gametypes/_weaponobjects::getweaponobjectwatcher("qrdrone"); + watcher thread maps/mp/gametypes/_weaponobjects::waitanddetonate(self,0); + return; + } #/ maps/mp/gametypes/_hostmigration::waitlongdurationwithhostmigrationpause(waittime); shouldtimeout = GetDvar(#"E9EC149"); diff --git a/BO2/PC/MP/maps/mp/killstreaks/_radar.gsc b/BO2/PC/MP/maps/mp/killstreaks/_radar.gsc index d036988..13e9248 100644 --- a/BO2/PC/MP/maps/mp/killstreaks/_radar.gsc +++ b/BO2/PC/MP/maps/mp/killstreaks/_radar.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 13 - * Decompile Time: 102 ms - * Timestamp: 10/27/2023 3:00:53 AM + * Decompile Time: 2 ms + * Timestamp: 10/28/2023 12:10:45 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/PC/MP/maps/mp/killstreaks/_rcbomb.gsc b/BO2/PC/MP/maps/mp/killstreaks/_rcbomb.gsc index 30d6d9b..d088016 100644 --- a/BO2/PC/MP/maps/mp/killstreaks/_rcbomb.gsc +++ b/BO2/PC/MP/maps/mp/killstreaks/_rcbomb.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 34 - * Decompile Time: 309 ms - * Timestamp: 10/27/2023 3:00:54 AM + * Decompile Time: 24 ms + * Timestamp: 10/28/2023 12:10:45 AM *******************************************************************/ #include common_scripts/utility; @@ -478,7 +478,10 @@ cartimer(vehicle) } /# -GetDvarInt(#"B2F33084") != 0 + if(GetDvarInt(#"B2F33084") != 0) + { + return; + } #/ maps/mp/gametypes/_hostmigration::waitlongdurationwithhostmigrationpause(20); vehicle setclientfield("rcbomb_countdown",1); @@ -808,10 +811,13 @@ rcbomb_force_explode() self endon("death"); /# assert(self.targetname == "rcbomb"); + for(;;) + { #/ - while(!(IsDefined(self getseatoccupant(0)))) - { - wait(0.1); + if(!(IsDefined(self getseatoccupant(0)))) + { + wait(0.1); + } } self dodamage(10,10 + VectorScale((0,0,1)),self.origin,self.owner,self.owner,"none"); @@ -822,8 +828,10 @@ rcbomb_debug_box(origin,mins,maxs,color) { /# debug_rcbomb = GetDvar(#"8EAE5CA0"); - box(origin,mins,maxs,0,color,1,1,300); -debug_rcbomb == "1" + if(debug_rcbomb == "1") + { + box(origin,mins,maxs,0,color,1,1,300); + } #/ } @@ -832,7 +840,9 @@ rcbomb_debug_line(start,end,color) { /# debug_rcbomb = GetDvar(#"8EAE5CA0"); - line(start,end,color,1,1,300); -debug_rcbomb == "1" + if(debug_rcbomb == "1") + { + line(start,end,color,1,1,300); + } #/ } \ No newline at end of file diff --git a/BO2/PC/MP/maps/mp/killstreaks/_remote_weapons.gsc b/BO2/PC/MP/maps/mp/killstreaks/_remote_weapons.gsc index 9364308..c9b705f 100644 --- a/BO2/PC/MP/maps/mp/killstreaks/_remote_weapons.gsc +++ b/BO2/PC/MP/maps/mp/killstreaks/_remote_weapons.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 23 - * Decompile Time: 105 ms - * Timestamp: 10/27/2023 3:00:55 AM + * Decompile Time: 5 ms + * Timestamp: 10/28/2023 12:10:45 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/PC/MP/maps/mp/killstreaks/_remotemissile.gsc b/BO2/PC/MP/maps/mp/killstreaks/_remotemissile.gsc index fac6270..e925b2d 100644 --- a/BO2/PC/MP/maps/mp/killstreaks/_remotemissile.gsc +++ b/BO2/PC/MP/maps/mp/killstreaks/_remotemissile.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 35 - * Decompile Time: 472 ms - * Timestamp: 10/27/2023 3:00:57 AM + * Decompile Time: 21 ms + * Timestamp: 10/28/2023 12:10:46 AM *******************************************************************/ #include common_scripts/utility; @@ -161,14 +161,11 @@ drawline(start,end,timeslice,color) { /# drawtime = int(timeslice * 20); - time = 0; - for(;;) + for(time = 0;time < drawtime;time++) { line(start,end,color,0,1); wait(0.05); - time++; } -time < drawtime #/ } @@ -401,13 +398,16 @@ _fire_noplayer(lifeid,player) startpos = player.origin + upvector + forward * backdist * -1; targetpos = player.origin + forward * targetdist; rocket = magicbullet("remotemissile_projectile_mp",startpos,targetpos,player); - return; + if(!(IsDefined(rocket))) + { + return; + } + rocket thread handledamage(); rocket.lifeid = lifeid; rocket.type = "remote"; rocket thread rocket_cleanupondeath(); wait(2); -IsDefined(rocket) #/ } @@ -892,7 +892,7 @@ targeting_hud_think(rocket) { index = target.clientid; /# - assert(IsDefined(index)); + assert(IsDefined(index)); #/ self.missile_target_icons[index].x = target.origin[0]; self.missile_target_icons[index].y = target.origin[1]; diff --git a/BO2/PC/MP/maps/mp/killstreaks/_remotemortar.gsc b/BO2/PC/MP/maps/mp/killstreaks/_remotemortar.gsc index 029bae4..710fb4d 100644 --- a/BO2/PC/MP/maps/mp/killstreaks/_remotemortar.gsc +++ b/BO2/PC/MP/maps/mp/killstreaks/_remotemortar.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 28 - * Decompile Time: 393 ms - * Timestamp: 10/27/2023 3:00:58 AM + * Decompile Time: 20 ms + * Timestamp: 10/28/2023 12:10:46 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/PC/MP/maps/mp/killstreaks/_spyplane.gsc b/BO2/PC/MP/maps/mp/killstreaks/_spyplane.gsc index 388d045..e6e47cc 100644 --- a/BO2/PC/MP/maps/mp/killstreaks/_spyplane.gsc +++ b/BO2/PC/MP/maps/mp/killstreaks/_spyplane.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 46 - * Decompile Time: 623 ms - * Timestamp: 10/27/2023 3:01:01 AM + * Decompile Time: 26 ms + * Timestamp: 10/28/2023 12:10:47 AM *******************************************************************/ #include common_scripts/utility; @@ -399,7 +399,7 @@ removeactiveuav() else if(IsDefined(self.owner)) { /# - assert(IsDefined(self.owner.entnum)); + assert(IsDefined(self.owner.entnum)); #/ if(!(IsDefined(self.owner.entnum))) { @@ -408,7 +408,7 @@ removeactiveuav() level.activeuavs[self.owner.entnum]--; /# - assert(level.activeuavs[self.owner.entnum] >= 0); + assert(level.activeuavs[self.owner.entnum] >= 0); #/ if(level.activeuavs[self.owner.entnum] < 0) { @@ -449,7 +449,7 @@ removeactivecounteruav() else if(IsDefined(self.owner)) { /# - assert(IsDefined(self.owner.entnum)); + assert(IsDefined(self.owner.entnum)); #/ if(!(IsDefined(self.owner.entnum))) { @@ -458,7 +458,7 @@ removeactivecounteruav() level.activecounteruavs[self.owner.entnum]--; /# - assert(level.activecounteruavs[self.owner.entnum] >= 0); + assert(level.activecounteruavs[self.owner.entnum] >= 0); #/ if(level.activecounteruavs[self.owner.entnum] < 0) { @@ -499,7 +499,7 @@ removeactivesatellite() else if(IsDefined(self.owner)) { /# - assert(IsDefined(self.owner.entnum)); + assert(IsDefined(self.owner.entnum)); #/ if(!(IsDefined(self.owner.entnum))) { @@ -508,7 +508,7 @@ removeactivesatellite() level.activesatellites[self.owner.entnum]--; /# - assert(level.activesatellites[self.owner.entnum] >= 0); + assert(level.activesatellites[self.owner.entnum] >= 0); #/ if(level.activesatellites[self.owner.entnum] < 0) { @@ -688,14 +688,11 @@ updatevisibility() debugline(frompoint,topoint,color,durationframes) { /# - i = 0; - for(;;) + for(i = 0;i < durationframes * 20;i++) { line(frompoint,topoint,color); wait(0.05); - i++; } -i < durationframes * 20 #/ } @@ -853,7 +850,6 @@ plane_health() /# debug_print3d_simple("Health: " + self.maxhealth - self.damagetaken,self,VectorScale((0,0,1)),100); -20 #/ wait(1); } diff --git a/BO2/PC/MP/maps/mp/killstreaks/_straferun.gsc b/BO2/PC/MP/maps/mp/killstreaks/_straferun.gsc index 5834617..dd429d7 100644 --- a/BO2/PC/MP/maps/mp/killstreaks/_straferun.gsc +++ b/BO2/PC/MP/maps/mp/killstreaks/_straferun.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 44 - * Decompile Time: 200 ms - * Timestamp: 10/27/2023 3:01:02 AM + * Decompile Time: 17 ms + * Timestamp: 10/28/2023 12:10:47 AM *******************************************************************/ #include common_scripts/utility; @@ -415,15 +415,16 @@ startstrafe() self.gunsoundentity playloopsound(level.straferungunsound); self shellshockplayers(trace["position"]); /# - time = 300; - debug_line(attackstartvector,20 - VectorScale((0,0,1)),trace["position"],(1,0,0),time); - trace = bullettrace(perfectattackstartvector,(perfectattackstartvector[0],perfectattackstartvector[1],-100000),0,self,0,1); - debug_line(20 + VectorScale((0,0,1)),trace["position"],20 - VectorScale((0,0,1)),trace["position"],(0,0,1)); - time - 0 - count % 30 == 0 - 0 - getdvarintdefault(#"B575F615",0) + if(getdvarintdefault(#"B575F615",0)) + { + time = 300; + debug_line(attackstartvector,20 - VectorScale((0,0,1)),trace["position"],(1,0,0),time); + if(count % 30 == 0) + { + trace = bullettrace(perfectattackstartvector,(perfectattackstartvector[0],perfectattackstartvector[1],-100000),0,self,0,1); + debug_line(20 + VectorScale((0,0,1)),trace["position"],20 - VectorScale((0,0,1)),trace["position"],(0,0,1)); + } + } #/ count++; wait(weaponshoottime); @@ -490,9 +491,10 @@ firerockets() rocket.soundmod = "straferun"; rocket attachkillcamtorocket(level.straferunkillcams.rockets[rocketindex],selectedtarget,targetorigin); /# - rocket thread debug_draw_bomb_path(undefined,VectorScale((0,1,0)),0.5); -400 -getdvarintdefault(#"9191CAAA",0) + if(getdvarintdefault(#"9191CAAA",0)) + { + rocket thread debug_draw_bomb_path(undefined,VectorScale((0,1,0)),0.5); + } #/ wait(level.straferunrocketdelay); } @@ -808,9 +810,10 @@ createkillcams(numkillcams,numrockets) { level.straferunkillcams.strafes[level.straferunkillcams.strafes.size] = createkillcament(); /# - level.straferunkillcams.strafes[i] thread debug_draw_bomb_path(undefined,VectorScale((0,0,1)),0.5); -200 -getdvarintdefault(#"9191CAAA",0) + if(getdvarintdefault(#"9191CAAA",0)) + { + level.straferunkillcams.strafes[i] thread debug_draw_bomb_path(undefined,VectorScale((0,0,1)),0.5); + } #/ } } diff --git a/BO2/PC/MP/maps/mp/killstreaks/_supplycrate.gsc b/BO2/PC/MP/maps/mp/killstreaks/_supplycrate.gsc index 5ec3948..8c63490 100644 --- a/BO2/PC/MP/maps/mp/killstreaks/_supplycrate.gsc +++ b/BO2/PC/MP/maps/mp/killstreaks/_supplycrate.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 0 - * Decompile Time: 9 ms - * Timestamp: 10/27/2023 3:01:02 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:10:47 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/PC/MP/maps/mp/killstreaks/_supplydrop.gsc b/BO2/PC/MP/maps/mp/killstreaks/_supplydrop.gsc index 81a7668..579a919 100644 --- a/BO2/PC/MP/maps/mp/killstreaks/_supplydrop.gsc +++ b/BO2/PC/MP/maps/mp/killstreaks/_supplydrop.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 97 - * Decompile Time: 776 ms - * Timestamp: 10/27/2023 3:01:05 AM + * Decompile Time: 75 ms + * Timestamp: 10/28/2023 12:10:48 AM *******************************************************************/ #include common_scripts/utility; @@ -346,8 +346,10 @@ getrandomcratetype(category,gambler_crate_name) } /# - typekey = level.dev_gui_supply_drop; -IsDefined(level.dev_gui_supply_drop) && level.dev_gui_supply_drop != "random" + if(IsDefined(level.dev_gui_supply_drop) && level.dev_gui_supply_drop != "random") + { + typekey = level.dev_gui_supply_drop; + } #/ return level.cratetypes[category][typekey]; } @@ -1408,7 +1410,10 @@ watchexplode(weaponname,owner,killstreak_id,package_contents_id) cratetimeoutthreader() { /# -getdvarintdefault("scr_crate_notimeout",0) + if(getdvarintdefault("scr_crate_notimeout",0)) + { + return; + } #/ self thread cratetimeout(90); } @@ -2195,13 +2200,17 @@ gethelistart(drop_origin,drop_direction) start_origin = drop_origin + AnglesToForward(direction) * dist; start_origin = start_origin + (randomfloat(2) - 1 * pathrandomness,randomfloat(2) - 1 * pathrandomness,0); /# - index = randomintrange(0,level.noflyzones.size); - delta = drop_origin - level.noflyzones[index].origin; - delta = (delta[0] + randomint(10),delta[1] + randomint(10),0); - delta = vectornormalize(delta); - start_origin = drop_origin + delta * dist; -level.noflyzones.size -getdvarintdefault("scr_noflyzones_debug",0) + if(getdvarintdefault("scr_noflyzones_debug",0)) + { + if(level.noflyzones.size) + { + index = randomintrange(0,level.noflyzones.size); + delta = drop_origin - level.noflyzones[index].origin; + delta = (delta[0] + randomint(10),delta[1] + randomint(10),0); + delta = vectornormalize(delta); + start_origin = drop_origin + delta * dist; + } + } #/ return start_origin; } @@ -2649,7 +2658,7 @@ supply_drop_dev_gui() { /# setdvar("scr_supply_drop_gui",""); - for(;;) + while(1) { wait(0.5); devgui_string = GetDvar(#"38F6C211"); @@ -2658,85 +2667,110 @@ supply_drop_dev_gui() case "ammo": level.dev_gui_supply_drop = "ammo"; break; + case "spyplane": level.dev_gui_supply_drop = "radar_mp"; break; + case "counter_u2": level.dev_gui_supply_drop = "counteruav_mp"; break; + case "airstrike": level.dev_gui_supply_drop = "airstrike_mp"; break; + case "artillery": level.dev_gui_supply_drop = "artillery_mp"; break; + case "autoturret": level.dev_gui_supply_drop = "autoturret_mp"; break; + case "microwave_turret": level.dev_gui_supply_drop = "microwaveturret_mp"; break; + case "tow_turret": level.dev_gui_supply_drop = "auto_tow_mp"; break; + case "dogs": level.dev_gui_supply_drop = "dogs_mp"; break; + case "rc_bomb": level.dev_gui_supply_drop = "rcbomb_mp"; break; + case "plane_mortar": level.dev_gui_supply_drop = "planemortar_mp"; break; + case "heli": level.dev_gui_supply_drop = "helicopter_comlink_mp"; break; + case "heli_gunner": level.dev_gui_supply_drop = "helicopter_player_gunner_mp"; break; + case "straferun": level.dev_gui_supply_drop = "straferun_mp"; break; + case "missile_swarm": level.dev_gui_supply_drop = "missile_swarm_mp"; break; + case "missile_drone": level.dev_gui_supply_drop = "inventory_missile_drone_mp"; break; + case "satellite": level.dev_gui_supply_drop = "radardirection_mp"; break; + case "remote_missile": level.dev_gui_supply_drop = "remote_missile_mp"; break; + case "helicopter_guard": level.dev_gui_supply_drop = "helicopter_guard_mp"; break; + case "emp": level.dev_gui_supply_drop = "emp_mp"; break; + case "remote_mortar": level.dev_gui_supply_drop = "remote_mortar_mp"; break; + case "qrdrone": level.dev_gui_supply_drop = "qrdrone_mp"; break; + case "ai_tank": level.dev_gui_supply_drop = "inventory_ai_tank_drop_mp"; break; + case "minigun": level.dev_gui_supply_drop = "inventory_minigun_mp"; break; + case "m32": level.dev_gui_supply_drop = "inventory_m32_mp"; break; + case "random": level.dev_gui_supply_drop = "random"; break; + default: break; } } -1 #/ } \ No newline at end of file diff --git a/BO2/PC/MP/maps/mp/killstreaks/_turret_killstreak.gsc b/BO2/PC/MP/maps/mp/killstreaks/_turret_killstreak.gsc index 4f65c8e..8e5b8ed 100644 --- a/BO2/PC/MP/maps/mp/killstreaks/_turret_killstreak.gsc +++ b/BO2/PC/MP/maps/mp/killstreaks/_turret_killstreak.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 77 - * Decompile Time: 651 ms - * Timestamp: 10/27/2023 3:01:08 AM + * Decompile Time: 50 ms + * Timestamp: 10/28/2023 12:10:48 AM *******************************************************************/ #include common_scripts/utility; @@ -2729,8 +2729,10 @@ turret_debug_box(origin,mins,maxs,color) { /# debug_turret = GetDvar(#"94A738D1"); - box(origin,mins,maxs,0,color,1,1,300); -debug_turret == "1" + if(debug_turret == "1") + { + box(origin,mins,maxs,0,color,1,1,300); + } #/ } @@ -2739,7 +2741,9 @@ turret_debug_line(start,end,color) { /# debug_turret = GetDvar(#"94A738D1"); - line(start,end,color,1,1,300); -debug_turret == "1" + if(debug_turret == "1") + { + line(start,end,color,1,1,300); + } #/ } \ No newline at end of file diff --git a/BO2/PC/MP/maps/mp/mp_bridge.gsc b/BO2/PC/MP/maps/mp/mp_bridge.gsc index 3513990..b5d9c34 100644 --- a/BO2/PC/MP/maps/mp/mp_bridge.gsc +++ b/BO2/PC/MP/maps/mp/mp_bridge.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 11 - * Decompile Time: 54 ms - * Timestamp: 10/27/2023 3:01:40 AM + * Decompile Time: 5 ms + * Timestamp: 10/28/2023 12:11:05 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/PC/MP/maps/mp/mp_carrier.gsc b/BO2/PC/MP/maps/mp/mp_carrier.gsc index bddf8ee..19a5261 100644 --- a/BO2/PC/MP/maps/mp/mp_carrier.gsc +++ b/BO2/PC/MP/maps/mp/mp_carrier.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 7 - * Decompile Time: 42 ms - * Timestamp: 10/27/2023 3:01:40 AM + * Decompile Time: 1 ms + * Timestamp: 10/28/2023 12:11:06 AM *******************************************************************/ #include maps/mp/_compass; diff --git a/BO2/PC/MP/maps/mp/mp_castaway.gsc b/BO2/PC/MP/maps/mp/mp_castaway.gsc index 43305f8..1829e76 100644 --- a/BO2/PC/MP/maps/mp/mp_castaway.gsc +++ b/BO2/PC/MP/maps/mp/mp_castaway.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 2 - * Decompile Time: 18 ms - * Timestamp: 10/27/2023 3:01:41 AM + * Decompile Time: 3 ms + * Timestamp: 10/28/2023 12:11:06 AM *******************************************************************/ #include maps/mp/_compass; diff --git a/BO2/PC/MP/maps/mp/mp_concert.gsc b/BO2/PC/MP/maps/mp/mp_concert.gsc index 55233e0..0d38d99 100644 --- a/BO2/PC/MP/maps/mp/mp_concert.gsc +++ b/BO2/PC/MP/maps/mp/mp_concert.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 9 - * Decompile Time: 18 ms - * Timestamp: 10/27/2023 3:01:41 AM + * Decompile Time: 1 ms + * Timestamp: 10/28/2023 12:11:06 AM *******************************************************************/ #include maps/mp/_compass; diff --git a/BO2/PC/MP/maps/mp/mp_dig.gsc b/BO2/PC/MP/maps/mp/mp_dig.gsc index 901acd3..04e03c7 100644 --- a/BO2/PC/MP/maps/mp/mp_dig.gsc +++ b/BO2/PC/MP/maps/mp/mp_dig.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 2 - * Decompile Time: 21 ms - * Timestamp: 10/27/2023 3:01:41 AM + * Decompile Time: 5 ms + * Timestamp: 10/28/2023 12:11:06 AM *******************************************************************/ #include maps/mp/_compass; diff --git a/BO2/PC/MP/maps/mp/mp_dockside.gsc b/BO2/PC/MP/maps/mp/mp_dockside.gsc index a9b7726..20e03dd 100644 --- a/BO2/PC/MP/maps/mp/mp_dockside.gsc +++ b/BO2/PC/MP/maps/mp/mp_dockside.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 10 - * Decompile Time: 30 ms - * Timestamp: 10/27/2023 3:01:42 AM + * Decompile Time: 1 ms + * Timestamp: 10/28/2023 12:11:07 AM *******************************************************************/ #include maps/mp/_compass; @@ -163,15 +163,20 @@ devgui_dockside() { case "": break; + case "crane_print_dvars": crane_print_dvars(); break; + default: break; } - setdvar("devgui_notify",""); + + if(GetDvar(#"9488D1C1") != "") + { + setdvar("devgui_notify",""); + } } -GetDvar(#"9488D1C1") != "" #/ } @@ -187,16 +192,10 @@ crane_print_dvars() dvars[dvars.size] = "scr_crane_arm_z_move_time"; dvars[dvars.size] = "scr_crane_claw_drop_speed"; dvars[dvars.size] = "scr_crane_claw_drop_time_min"; - _a211 = dvars; - _k211 = FirstArrayKey(_a211); - for(;;) + foreach(dvar in dvars) { - dvar = _a211[_k211]; print(dvar + ": "); println(GetDvar(dvar)); - _k211 = NextArrayKey(_a211); } -_k211 -IsDefined(_k211) #/ } \ No newline at end of file diff --git a/BO2/PC/MP/maps/mp/mp_dockside_crane.gsc b/BO2/PC/MP/maps/mp/mp_dockside_crane.gsc index c4b7874..834cf85 100644 --- a/BO2/PC/MP/maps/mp/mp_dockside_crane.gsc +++ b/BO2/PC/MP/maps/mp/mp_dockside_crane.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 28 - * Decompile Time: 126 ms - * Timestamp: 10/27/2023 3:01:43 AM + * Decompile Time: 20 ms + * Timestamp: 10/28/2023 12:11:07 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/PC/MP/maps/mp/mp_downhill.gsc b/BO2/PC/MP/maps/mp/mp_downhill.gsc index 9f37fc3..1e12b5c 100644 --- a/BO2/PC/MP/maps/mp/mp_downhill.gsc +++ b/BO2/PC/MP/maps/mp/mp_downhill.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 2 - * Decompile Time: 20 ms - * Timestamp: 10/27/2023 3:01:43 AM + * Decompile Time: 1 ms + * Timestamp: 10/28/2023 12:11:07 AM *******************************************************************/ #include maps/mp/_compass; diff --git a/BO2/PC/MP/maps/mp/mp_downhill_cablecar.gsc b/BO2/PC/MP/maps/mp/mp_downhill_cablecar.gsc index 9f7d066..dc2181a 100644 --- a/BO2/PC/MP/maps/mp/mp_downhill_cablecar.gsc +++ b/BO2/PC/MP/maps/mp/mp_downhill_cablecar.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 15 - * Decompile Time: 129 ms - * Timestamp: 10/27/2023 3:01:44 AM + * Decompile Time: 10 ms + * Timestamp: 10/28/2023 12:11:08 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/PC/MP/maps/mp/mp_drone.gsc b/BO2/PC/MP/maps/mp/mp_drone.gsc index 73f9dad..aacff8b 100644 --- a/BO2/PC/MP/maps/mp/mp_drone.gsc +++ b/BO2/PC/MP/maps/mp/mp_drone.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 3 - * Decompile Time: 37 ms - * Timestamp: 10/27/2023 3:01:44 AM + * Decompile Time: 2 ms + * Timestamp: 10/28/2023 12:11:08 AM *******************************************************************/ #include maps/mp/_compass; diff --git a/BO2/PC/MP/maps/mp/mp_express.gsc b/BO2/PC/MP/maps/mp/mp_express.gsc index 66465b3..d51112e 100644 --- a/BO2/PC/MP/maps/mp/mp_express.gsc +++ b/BO2/PC/MP/maps/mp/mp_express.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 3 - * Decompile Time: 15 ms - * Timestamp: 10/27/2023 3:01:44 AM + * Decompile Time: 1 ms + * Timestamp: 10/28/2023 12:11:08 AM *******************************************************************/ #include common_scripts/utility; @@ -72,14 +72,19 @@ devgui_express() { case "": break; + case "train_start": level notify("train_start"); break; + default: break; } - setdvar("devgui_notify",""); + + if(GetDvar(#"9488D1C1") != "") + { + setdvar("devgui_notify",""); + } } -GetDvar(#"9488D1C1") != "" #/ } \ No newline at end of file diff --git a/BO2/PC/MP/maps/mp/mp_express_train.gsc b/BO2/PC/MP/maps/mp/mp_express_train.gsc index cc4434d..9392dd9 100644 --- a/BO2/PC/MP/maps/mp/mp_express_train.gsc +++ b/BO2/PC/MP/maps/mp/mp_express_train.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 15 - * Decompile Time: 98 ms - * Timestamp: 10/27/2023 3:01:45 AM + * Decompile Time: 9 ms + * Timestamp: 10/28/2023 12:11:08 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/PC/MP/maps/mp/mp_frostbite.gsc b/BO2/PC/MP/maps/mp/mp_frostbite.gsc index 56d6f74..92ce96c 100644 --- a/BO2/PC/MP/maps/mp/mp_frostbite.gsc +++ b/BO2/PC/MP/maps/mp/mp_frostbite.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 7 - * Decompile Time: 48 ms - * Timestamp: 10/27/2023 3:01:45 AM + * Decompile Time: 13 ms + * Timestamp: 10/28/2023 12:11:09 AM *******************************************************************/ #include maps/mp/_compass; diff --git a/BO2/PC/MP/maps/mp/mp_hijacked.gsc b/BO2/PC/MP/maps/mp/mp_hijacked.gsc index c7b4dab..266b35a 100644 --- a/BO2/PC/MP/maps/mp/mp_hijacked.gsc +++ b/BO2/PC/MP/maps/mp/mp_hijacked.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 9 - * Decompile Time: 48 ms - * Timestamp: 10/27/2023 3:01:46 AM + * Decompile Time: 3 ms + * Timestamp: 10/28/2023 12:11:09 AM *******************************************************************/ #include maps/mp/_compass; diff --git a/BO2/PC/MP/maps/mp/mp_hydro.gsc b/BO2/PC/MP/maps/mp/mp_hydro.gsc index 2dd49b6..e2bb8d0 100644 --- a/BO2/PC/MP/maps/mp/mp_hydro.gsc +++ b/BO2/PC/MP/maps/mp/mp_hydro.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 12 - * Decompile Time: 246 ms - * Timestamp: 10/27/2023 3:01:47 AM + * Decompile Time: 15 ms + * Timestamp: 10/28/2023 12:11:09 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/PC/MP/maps/mp/mp_la.gsc b/BO2/PC/MP/maps/mp/mp_la.gsc index 9a26392..40a6abd 100644 --- a/BO2/PC/MP/maps/mp/mp_la.gsc +++ b/BO2/PC/MP/maps/mp/mp_la.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 4 - * Decompile Time: 39 ms - * Timestamp: 10/27/2023 3:01:47 AM + * Decompile Time: 2 ms + * Timestamp: 10/28/2023 12:11:09 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/PC/MP/maps/mp/mp_magma.gsc b/BO2/PC/MP/maps/mp/mp_magma.gsc index 1ce16fb..a45ddd5 100644 --- a/BO2/PC/MP/maps/mp/mp_magma.gsc +++ b/BO2/PC/MP/maps/mp/mp_magma.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 12 - * Decompile Time: 54 ms - * Timestamp: 10/27/2023 3:01:48 AM + * Decompile Time: 2 ms + * Timestamp: 10/28/2023 12:11:10 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/PC/MP/maps/mp/mp_meltdown.gsc b/BO2/PC/MP/maps/mp/mp_meltdown.gsc index ae28f21..23cb860 100644 --- a/BO2/PC/MP/maps/mp/mp_meltdown.gsc +++ b/BO2/PC/MP/maps/mp/mp_meltdown.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 2 - * Decompile Time: 39 ms - * Timestamp: 10/27/2023 3:01:49 AM + * Decompile Time: 1 ms + * Timestamp: 10/28/2023 12:11:10 AM *******************************************************************/ #include maps/mp/_compass; diff --git a/BO2/PC/MP/maps/mp/mp_mirage.gsc b/BO2/PC/MP/maps/mp/mp_mirage.gsc index a0286d0..c27cfe7 100644 --- a/BO2/PC/MP/maps/mp/mp_mirage.gsc +++ b/BO2/PC/MP/maps/mp/mp_mirage.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 2 - * Decompile Time: 13 ms - * Timestamp: 10/27/2023 3:01:49 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:11:10 AM *******************************************************************/ #include maps/mp/_compass; diff --git a/BO2/PC/MP/maps/mp/mp_nightclub.gsc b/BO2/PC/MP/maps/mp/mp_nightclub.gsc index b7de02a..e5e2dee 100644 --- a/BO2/PC/MP/maps/mp/mp_nightclub.gsc +++ b/BO2/PC/MP/maps/mp/mp_nightclub.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 3 - * Decompile Time: 46 ms - * Timestamp: 10/27/2023 3:01:50 AM + * Decompile Time: 6 ms + * Timestamp: 10/28/2023 12:11:11 AM *******************************************************************/ #include maps/mp/_compass; diff --git a/BO2/PC/MP/maps/mp/mp_nuketown_2020.gsc b/BO2/PC/MP/maps/mp/mp_nuketown_2020.gsc index 772fe09..8d0fb1a 100644 --- a/BO2/PC/MP/maps/mp/mp_nuketown_2020.gsc +++ b/BO2/PC/MP/maps/mp/mp_nuketown_2020.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 17 - * Decompile Time: 108 ms - * Timestamp: 10/27/2023 3:01:50 AM + * Decompile Time: 6 ms + * Timestamp: 10/28/2023 12:11:11 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/PC/MP/maps/mp/mp_overflow.gsc b/BO2/PC/MP/maps/mp/mp_overflow.gsc index 4de0850..bbfde77 100644 --- a/BO2/PC/MP/maps/mp/mp_overflow.gsc +++ b/BO2/PC/MP/maps/mp/mp_overflow.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 7 - * Decompile Time: 47 ms - * Timestamp: 10/27/2023 3:01:51 AM + * Decompile Time: 3 ms + * Timestamp: 10/28/2023 12:11:11 AM *******************************************************************/ #include maps/mp/_compass; diff --git a/BO2/PC/MP/maps/mp/mp_paintball.gsc b/BO2/PC/MP/maps/mp/mp_paintball.gsc index 77b35d5..69187ef 100644 --- a/BO2/PC/MP/maps/mp/mp_paintball.gsc +++ b/BO2/PC/MP/maps/mp/mp_paintball.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 5 - * Decompile Time: 36 ms - * Timestamp: 10/27/2023 3:01:51 AM + * Decompile Time: 9 ms + * Timestamp: 10/28/2023 12:11:11 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/PC/MP/maps/mp/mp_pod.gsc b/BO2/PC/MP/maps/mp/mp_pod.gsc index 076e861..5ee3a62 100644 --- a/BO2/PC/MP/maps/mp/mp_pod.gsc +++ b/BO2/PC/MP/maps/mp/mp_pod.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 3 - * Decompile Time: 25 ms - * Timestamp: 10/27/2023 3:01:51 AM + * Decompile Time: 1 ms + * Timestamp: 10/28/2023 12:11:12 AM *******************************************************************/ #include maps/mp/_compass; diff --git a/BO2/PC/MP/maps/mp/mp_raid.gsc b/BO2/PC/MP/maps/mp/mp_raid.gsc index ca7c5d4..ec7ed81 100644 --- a/BO2/PC/MP/maps/mp/mp_raid.gsc +++ b/BO2/PC/MP/maps/mp/mp_raid.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 5 - * Decompile Time: 59 ms - * Timestamp: 10/27/2023 3:01:52 AM + * Decompile Time: 1 ms + * Timestamp: 10/28/2023 12:11:12 AM *******************************************************************/ #include maps/mp/_compass; diff --git a/BO2/PC/MP/maps/mp/mp_skate.gsc b/BO2/PC/MP/maps/mp/mp_skate.gsc index 7cd21be..e61808f 100644 --- a/BO2/PC/MP/maps/mp/mp_skate.gsc +++ b/BO2/PC/MP/maps/mp/mp_skate.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 2 - * Decompile Time: 54 ms - * Timestamp: 10/27/2023 3:01:53 AM + * Decompile Time: 1 ms + * Timestamp: 10/28/2023 12:11:12 AM *******************************************************************/ #include maps/mp/_compass; diff --git a/BO2/PC/MP/maps/mp/mp_slums.gsc b/BO2/PC/MP/maps/mp/mp_slums.gsc index eb0567e..3548a37 100644 --- a/BO2/PC/MP/maps/mp/mp_slums.gsc +++ b/BO2/PC/MP/maps/mp/mp_slums.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 2 - * Decompile Time: 138 ms - * Timestamp: 10/27/2023 3:01:54 AM + * Decompile Time: 5 ms + * Timestamp: 10/28/2023 12:11:12 AM *******************************************************************/ #include maps/mp/_compass; diff --git a/BO2/PC/MP/maps/mp/mp_socotra.gsc b/BO2/PC/MP/maps/mp/mp_socotra.gsc index 9f871fb..4019f47 100644 --- a/BO2/PC/MP/maps/mp/mp_socotra.gsc +++ b/BO2/PC/MP/maps/mp/mp_socotra.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 3 - * Decompile Time: 46 ms - * Timestamp: 10/27/2023 3:01:54 AM + * Decompile Time: 2 ms + * Timestamp: 10/28/2023 12:11:13 AM *******************************************************************/ #include maps/mp/_compass; diff --git a/BO2/PC/MP/maps/mp/mp_studio.gsc b/BO2/PC/MP/maps/mp/mp_studio.gsc index 7797860..a41e442 100644 --- a/BO2/PC/MP/maps/mp/mp_studio.gsc +++ b/BO2/PC/MP/maps/mp/mp_studio.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 10 - * Decompile Time: 76 ms - * Timestamp: 10/27/2023 3:01:55 AM + * Decompile Time: 8 ms + * Timestamp: 10/28/2023 12:11:13 AM *******************************************************************/ #include maps/mp/_compass; diff --git a/BO2/PC/MP/maps/mp/mp_takeoff.gsc b/BO2/PC/MP/maps/mp/mp_takeoff.gsc index a1f2dd1..f9a8b63 100644 --- a/BO2/PC/MP/maps/mp/mp_takeoff.gsc +++ b/BO2/PC/MP/maps/mp/mp_takeoff.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 19 - * Decompile Time: 131 ms - * Timestamp: 10/27/2023 3:01:56 AM + * Decompile Time: 6 ms + * Timestamp: 10/28/2023 12:11:13 AM *******************************************************************/ #include common_scripts/utility; @@ -129,8 +129,12 @@ watchdevnotify() for(;;) { takeoff_rocket = GetDvarInt(#"12AE1013"); - level notify("dev_takeoff_rocket",takeoff_rocket != startvalue); - startvalue = takeoff_rocket; + if(takeoff_rocket != startvalue) + { + level notify("dev_takeoff_rocket"); + startvalue = takeoff_rocket; + } + wait(0.2); } #/ @@ -159,13 +163,12 @@ devgui_endgame() level notify("debug_end_takeoff"); wait(1); visionsetnaked("mp_takeoff",0.1); - i = 0; - for(;;) + for(i = 0;i < level.players.size;i++) { player = level.players[i]; player cameraactivate(0); - i++; } + stop_exploder(1001); rocket delete(); rocket = spawn("script_model",rocketorigin); @@ -173,7 +176,6 @@ devgui_endgame() rocket setmodel(rocketmodel); level.mptakeoffrocket = rocket; } -i < level.players.size #/ } diff --git a/BO2/PC/MP/maps/mp/mp_turbine.gsc b/BO2/PC/MP/maps/mp/mp_turbine.gsc index 548679d..c892a39 100644 --- a/BO2/PC/MP/maps/mp/mp_turbine.gsc +++ b/BO2/PC/MP/maps/mp/mp_turbine.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 4 - * Decompile Time: 43 ms - * Timestamp: 10/27/2023 3:01:56 AM + * Decompile Time: 2 ms + * Timestamp: 10/28/2023 12:11:14 AM *******************************************************************/ #include maps/mp/_compass; diff --git a/BO2/PC/MP/maps/mp/mp_uplink.gsc b/BO2/PC/MP/maps/mp/mp_uplink.gsc index bd61c4f..52f49a6 100644 --- a/BO2/PC/MP/maps/mp/mp_uplink.gsc +++ b/BO2/PC/MP/maps/mp/mp_uplink.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 4 - * Decompile Time: 43 ms - * Timestamp: 10/27/2023 3:01:57 AM + * Decompile Time: 1 ms + * Timestamp: 10/28/2023 12:11:14 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/PC/MP/maps/mp/mp_vertigo.gsc b/BO2/PC/MP/maps/mp/mp_vertigo.gsc index 1538b93..5f24be3 100644 --- a/BO2/PC/MP/maps/mp/mp_vertigo.gsc +++ b/BO2/PC/MP/maps/mp/mp_vertigo.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 8 - * Decompile Time: 50 ms - * Timestamp: 10/27/2023 3:01:57 AM + * Decompile Time: 5 ms + * Timestamp: 10/28/2023 12:11:14 AM *******************************************************************/ #include maps/mp/_compass; diff --git a/BO2/PC/MP/maps/mp/mp_village.gsc b/BO2/PC/MP/maps/mp/mp_village.gsc index c101fdc..0cda3a1 100644 --- a/BO2/PC/MP/maps/mp/mp_village.gsc +++ b/BO2/PC/MP/maps/mp/mp_village.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 4 - * Decompile Time: 40 ms - * Timestamp: 10/27/2023 3:01:57 AM + * Decompile Time: 2 ms + * Timestamp: 10/28/2023 12:11:14 AM *******************************************************************/ #include maps/mp/_compass; diff --git a/BO2/PC/MP/maps/mp/teams/_teams.gsc b/BO2/PC/MP/maps/mp/teams/_teams.gsc index 7457bee..080c79b 100644 --- a/BO2/PC/MP/maps/mp/teams/_teams.gsc +++ b/BO2/PC/MP/maps/mp/teams/_teams.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 17 - * Decompile Time: 40 ms - * Timestamp: 10/27/2023 3:01:08 AM + * Decompile Time: 4 ms + * Timestamp: 10/28/2023 12:10:48 AM *******************************************************************/ #include maps/mp/_utility; diff --git a/BO2/PC/MP/maps/mp/teams/_teamset.gsc b/BO2/PC/MP/maps/mp/teams/_teamset.gsc index db7ffee..5a7bd3d 100644 --- a/BO2/PC/MP/maps/mp/teams/_teamset.gsc +++ b/BO2/PC/MP/maps/mp/teams/_teamset.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 2 - * Decompile Time: 5 ms - * Timestamp: 10/27/2023 3:01:08 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:10:49 AM *******************************************************************/ //Function Number: 1 diff --git a/BO2/PC/MP/maps/mp/teams/_teamset_multiteam.gsc b/BO2/PC/MP/maps/mp/teams/_teamset_multiteam.gsc index 3382ef0..2401615 100644 --- a/BO2/PC/MP/maps/mp/teams/_teamset_multiteam.gsc +++ b/BO2/PC/MP/maps/mp/teams/_teamset_multiteam.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 8 - * Decompile Time: 70 ms - * Timestamp: 10/27/2023 3:01:09 AM + * Decompile Time: 3 ms + * Timestamp: 10/28/2023 12:10:49 AM *******************************************************************/ #include maps/mp/teams/_teamset; diff --git a/BO2/PC/ZM/codescripts/character.gsc b/BO2/PC/ZM/codescripts/character.gsc index 7a0e2f6..ea478ae 100644 --- a/BO2/PC/ZM/codescripts/character.gsc +++ b/BO2/PC/ZM/codescripts/character.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 12 - * Decompile Time: 26 ms - * Timestamp: 10/27/2023 3:01:58 AM + * Decompile Time: 1 ms + * Timestamp: 10/28/2023 12:11:15 AM *******************************************************************/ //Function Number: 1 @@ -68,9 +68,8 @@ save() { /# println("save: Guy had no name!"); -#/ } - +#/ attachsize = self getattachsize(); for(i = 0;i < attachsize;i++) { @@ -101,9 +100,8 @@ load(info) { /# println("Load: Guy had no name!"); -#/ } - +#/ attachinfo = info["attach"]; attachsize = attachinfo.size; for(i = 0;i < attachsize;i++) @@ -125,9 +123,8 @@ precache(info) { /# println("Precache: Guy had no name!"); -#/ } - +#/ precachemodel(info["model"]); attachinfo = info["attach"]; attachsize = attachinfo.size; diff --git a/BO2/PC/ZM/codescripts/character_mp.gsc b/BO2/PC/ZM/codescripts/character_mp.gsc index f5adbbb..5c28133 100644 --- a/BO2/PC/ZM/codescripts/character_mp.gsc +++ b/BO2/PC/ZM/codescripts/character_mp.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 3 - * Decompile Time: 6 ms - * Timestamp: 10/27/2023 3:01:58 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:11:15 AM *******************************************************************/ #include codescripts/character; diff --git a/BO2/PC/ZM/codescripts/delete.gsc b/BO2/PC/ZM/codescripts/delete.gsc index 92b9d67..8cb94ff 100644 --- a/BO2/PC/ZM/codescripts/delete.gsc +++ b/BO2/PC/ZM/codescripts/delete.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 1 - * Decompile Time: 4 ms - * Timestamp: 10/27/2023 3:01:59 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:11:15 AM *******************************************************************/ //Function Number: 1 @@ -18,11 +18,15 @@ main() if(IsDefined(self)) { /# - println(""); - println("*** trigger debug: delete.gsc is deleting trigger with ent#: " + self getentitynumber() + " at origin: " + self.origin); - println(""); -self.classname == "trigger_once" || self.classname == "trigger_radius" || self.classname == "trigger_multiple" -IsDefined(self.classname) + if(IsDefined(self.classname)) + { + if(self.classname == "trigger_once" || self.classname == "trigger_radius" || self.classname == "trigger_multiple") + { + println(""); + println("*** trigger debug: delete.gsc is deleting trigger with ent#: " + self getentitynumber() + " at origin: " + self.origin); + println(""); + } + } #/ self delete(); } diff --git a/BO2/PC/ZM/codescripts/struct.gsc b/BO2/PC/ZM/codescripts/struct.gsc index 808898b..46d4f83 100644 --- a/BO2/PC/ZM/codescripts/struct.gsc +++ b/BO2/PC/ZM/codescripts/struct.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 3 - * Decompile Time: 5 ms - * Timestamp: 10/27/2023 3:01:59 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:11:16 AM *******************************************************************/ //Function Number: 1 diff --git a/BO2/PC/ZM/common_scripts/utility.gsc b/BO2/PC/ZM/common_scripts/utility.gsc index e7f0474..f708f1d 100644 --- a/BO2/PC/ZM/common_scripts/utility.gsc +++ b/BO2/PC/ZM/common_scripts/utility.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 124 - * Decompile Time: 197 ms - * Timestamp: 10/27/2023 3:02:00 AM + * Decompile Time: 30 ms + * Timestamp: 10/28/2023 12:11:16 AM *******************************************************************/ //Function Number: 1 @@ -385,14 +385,11 @@ vector_compare(vec1,vec2) draw_debug_line(start,end,timer) { /# - i = 0; - for(;;) + for(i = 0;i < timer * 20;i++) { line(start,end,(1,1,0.5)); wait(0.05); - i++; } -i < timer * 20 #/ } @@ -863,8 +860,8 @@ flag_delete(flagname) { /# println("flag_delete() called on flag that does not exist: " + flagname); -#/ } +#/ } //Function Number: 51 @@ -889,9 +886,8 @@ flag_init(flagname,val,b_is_trigger) { /# assert(!IsDefined(level.flag[flagname]),"Attempt to reinitialize existing flag: " + flagname); -#/ } - +#/ if(IsDefined(val) && val) { level.flag[flagname] = 1; @@ -1473,9 +1469,9 @@ trigger_use(str_name,str_key,ent,b_assert) { /# assertmsg("trigger not found: " + str_name + " key: " + str_key); -#/ - return; } +#/ + return; } } else @@ -1567,13 +1563,27 @@ init_trigger_flags() //Function Number: 83 is_look_trigger(trig) { - return IsDefined(trig) ? trig has_spawnflag(256) && !(!IsDefined(trig.classname) && !IsDefined("trigger_damage")) || IsDefined(trig.classname) && IsDefined("trigger_damage") && trig.classname == "trigger_damage" : 0; + if(IsDefined(trig)) + { + } + else + { + } + + return 0; } //Function Number: 84 is_trigger_once(trig) { - return IsDefined(trig) ? trig has_spawnflag(1024) || (!IsDefined(self.classname) && !IsDefined("trigger_once")) || IsDefined(self.classname) && IsDefined("trigger_once") && self.classname == "trigger_once" : 0; + if(IsDefined(trig)) + { + } + else + { + } + + return 0; } //Function Number: 85 @@ -1742,11 +1752,14 @@ fileprint_chk(file,str) { /# level.fileprintlinecount++; - wait(0.05); - level.fileprintlinecount++; - level.fileprintlinecount = 0; + if(level.fileprintlinecount > 400) + { + wait(0.05); + level.fileprintlinecount++; + level.fileprintlinecount = 0; + } + fprintln(file,str); -level.fileprintlinecount > 400 #/ } @@ -1765,11 +1778,14 @@ fileprint_map_header(binclude_blank_worldspawn) fileprint_chk(level.fileprint,"iwmap 4"); fileprint_chk(level.fileprint,"\"000_Global\" flags active"); fileprint_chk(level.fileprint,"\"The Map\" flags"); - return; + if(!(binclude_blank_worldspawn)) + { + return; + } + fileprint_map_entity_start(); fileprint_map_keypairprint("classname","worldspawn"); fileprint_map_entity_end(); -binclude_blank_worldspawn #/ } @@ -1824,29 +1840,32 @@ fileprint_end() assert(!IsDefined(level.fileprint_entitystart)); #/ saved = closefile(level.fileprint); - println("-----------------------------------"); - println(" "); - println("file write failure"); - println("file with name: " + level.fileprint_filename); - println("make sure you checkout the file you are trying to save"); - println("note: USE P4 Search to find the file and check that one out"); - println(" Do not checkin files in from the xenonoutput folder, "); - println(" this is junctioned to the proper directory where you need to go"); - println("junctions looks like this"); - println(" "); - println("..\\xenonOutput\\scriptdata\\createfx ..\\share\\raw\\maps\\createfx"); - println("..\\xenonOutput\\scriptdata\\createart ..\\share\\raw\\maps\\createart"); - println("..\\xenonOutput\\scriptdata\\vision ..\\share\\raw\\vision"); - println("..\\xenonOutput\\scriptdata\\scriptgen ..\\share\\raw\\maps\\scriptgen"); - println("..\\xenonOutput\\scriptdata\\zone_source ..\\xenon\\zone_source"); - println("..\\xenonOutput\\accuracy ..\\share\\raw\\accuracy"); - println("..\\xenonOutput\\scriptdata\\map_source ..\\map_source\\xenon_export"); - println(" "); - println("-----------------------------------"); - println("File not saved( see console.log for info ) "); + if(saved != 1) + { + println("-----------------------------------"); + println(" "); + println("file write failure"); + println("file with name: " + level.fileprint_filename); + println("make sure you checkout the file you are trying to save"); + println("note: USE P4 Search to find the file and check that one out"); + println(" Do not checkin files in from the xenonoutput folder, "); + println(" this is junctioned to the proper directory where you need to go"); + println("junctions looks like this"); + println(" "); + println("..\\xenonOutput\\scriptdata\\createfx ..\\share\\raw\\maps\\createfx"); + println("..\\xenonOutput\\scriptdata\\createart ..\\share\\raw\\maps\\createart"); + println("..\\xenonOutput\\scriptdata\\vision ..\\share\\raw\\vision"); + println("..\\xenonOutput\\scriptdata\\scriptgen ..\\share\\raw\\maps\\scriptgen"); + println("..\\xenonOutput\\scriptdata\\zone_source ..\\xenon\\zone_source"); + println("..\\xenonOutput\\accuracy ..\\share\\raw\\accuracy"); + println("..\\xenonOutput\\scriptdata\\map_source ..\\map_source\\xenon_export"); + println(" "); + println("-----------------------------------"); + println("File not saved( see console.log for info ) "); + } + level.fileprint = undefined; level.fileprint_filename = undefined; -saved != 1 #/ } diff --git a/BO2/PC/ZM/maps/mp/_art.gsc b/BO2/PC/ZM/maps/mp/_art.gsc index e22684e..f498008 100644 --- a/BO2/PC/ZM/maps/mp/_art.gsc +++ b/BO2/PC/ZM/maps/mp/_art.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 14 - * Decompile Time: 127 ms - * Timestamp: 10/27/2023 3:03:36 AM + * Decompile Time: 7 ms + * Timestamp: 10/28/2023 12:11:59 AM *******************************************************************/ #include common_scripts/utility; @@ -15,13 +15,41 @@ main() { /# - setdvar("scr_art_tweak",0); - setdvar("scr_dof_enable","1"); - setdvar("scr_cinematic_autofocus","1"); - setdvar("scr_art_visionfile",level.script); - setdvar("debug_reflection","0"); - setdvar("debug_reflection_matte","0"); - setdvar("debug_color_pallete","0"); + if(GetDvar(#"5E997AE") == "" || GetDvar(#"5E997AE") == "0") + { + setdvar("scr_art_tweak",0); + } + + if(GetDvar(#"628ADECB") == "") + { + setdvar("scr_dof_enable","1"); + } + + if(GetDvar(#"69E20811") == "") + { + setdvar("scr_cinematic_autofocus","1"); + } + + if(GetDvar(#"FE68F88A") == "" && IsDefined(level.script)) + { + setdvar("scr_art_visionfile",level.script); + } + + if(GetDvar(#"628768B6") == "") + { + setdvar("debug_reflection","0"); + } + + if(GetDvar(#"33E24970") == "") + { + setdvar("debug_reflection_matte","0"); + } + + if(GetDvar(#"C450CB50") == "") + { + setdvar("debug_color_pallete","0"); + } + precachemodel("test_sphere_lambert"); precachemodel("test_macbeth_chart"); precachemodel("test_macbeth_chart_unlit"); @@ -29,13 +57,6 @@ main() level thread debug_reflection(); level thread debug_reflection_matte(); level thread debug_color_pallete(); -GetDvar(#"C450CB50") == "" -GetDvar(#"33E24970") == "" -GetDvar(#"628768B6") == "" -GetDvar(#"FE68F88A") == "" && IsDefined(level.script) -GetDvar(#"69E20811") == "" -GetDvar(#"628ADECB") == "" -GetDvar(#"5E997AE") == "" || GetDvar(#"5E997AE") == "0" #/ if(!(IsDefined(level.dofdefault))) { @@ -61,9 +82,12 @@ GetDvar(#"5E997AE") == "" || GetDvar(#"5E997AE") == "0" artfxprintln(file,string) { /# - return; + if(file == -1) + { + return; + } + fprintln(file,string); -file == -1 #/ } @@ -120,11 +144,19 @@ setfogsliders() tweakart() { /# - level.tweakfile = 0; - setdvar("scr_fog_exp_halfplane","500"); - setdvar("scr_fog_exp_halfheight","500"); - setdvar("scr_fog_nearplane","0"); - setdvar("scr_fog_baseheight","0"); + if(!(IsDefined(level.tweakfile))) + { + level.tweakfile = 0; + } + + if(GetDvar(#"829C0FDB") == "") + { + setdvar("scr_fog_exp_halfplane","500"); + setdvar("scr_fog_exp_halfheight","500"); + setdvar("scr_fog_nearplane","0"); + setdvar("scr_fog_baseheight","0"); + } + setdvar("scr_fog_fraction","1.0"); setdvar("scr_art_dump","0"); setdvar("scr_art_sun_fog_dir_set","0"); @@ -139,27 +171,32 @@ tweakart() tweak_toggle = 1; for(;;) { - for(;;) + while(GetDvarInt(#"5E997AE") == 0) { tweak_toggle = 1; wait(0.05); } - tweak_toggle = 0; - fogsettings = getfogsettings(); - setdvar("scr_fog_nearplane",fogsettings[0]); - setdvar("scr_fog_exp_halfplane",fogsettings[1]); - setdvar("scr_fog_exp_halfheight",fogsettings[3]); - setdvar("scr_fog_baseheight",fogsettings[2]); - setdvar("scr_fog_color",fogsettings[4] + " " + fogsettings[5] + " " + fogsettings[6]); - setdvar("scr_fog_color_scale",fogsettings[7]); - setdvar("scr_sun_fog_color",fogsettings[8] + " " + fogsettings[9] + " " + fogsettings[10]); - level.fogsundir = []; - level.fogsundir[0] = fogsettings[11]; - level.fogsundir[1] = fogsettings[12]; - level.fogsundir[2] = fogsettings[13]; - setdvar("scr_sun_fog_start_angle",fogsettings[14]); - setdvar("scr_sun_fog_end_angle",fogsettings[15]); - setdvar("scr_fog_max_opacity",fogsettings[16]); + + if(tweak_toggle) + { + tweak_toggle = 0; + fogsettings = getfogsettings(); + setdvar("scr_fog_nearplane",fogsettings[0]); + setdvar("scr_fog_exp_halfplane",fogsettings[1]); + setdvar("scr_fog_exp_halfheight",fogsettings[3]); + setdvar("scr_fog_baseheight",fogsettings[2]); + setdvar("scr_fog_color",fogsettings[4] + " " + fogsettings[5] + " " + fogsettings[6]); + setdvar("scr_fog_color_scale",fogsettings[7]); + setdvar("scr_sun_fog_color",fogsettings[8] + " " + fogsettings[9] + " " + fogsettings[10]); + level.fogsundir = []; + level.fogsundir[0] = fogsettings[11]; + level.fogsundir[1] = fogsettings[12]; + level.fogsundir[2] = fogsettings[13]; + setdvar("scr_sun_fog_start_angle",fogsettings[14]); + setdvar("scr_sun_fog_end_angle",fogsettings[15]); + setdvar("scr_fog_max_opacity",fogsettings[16]); + } + level.fogexphalfplane = GetDvarFloat(#"B59305FE"); level.fogexphalfheight = GetDvarFloat(#"54D01B47"); level.fognearplane = GetDvarFloat(#"5C40223D"); @@ -174,29 +211,39 @@ tweakart() level.sunstartangle = GetDvarFloat(#"ECC36390"); level.sunendangle = GetDvarFloat(#"FA1301D9"); level.fogmaxopacity = GetDvarFloat(#"81EA8425"); - setdvar("scr_art_sun_fog_dir_set","0"); - println("Setting sun fog direction to facing of player"); - players = get_players(); - dir = vectornormalize(AnglesToForward(players[0] getplayerangles())); - level.fogsundir = []; - level.fogsundir[0] = dir[0]; - level.fogsundir[1] = dir[1]; - level.fogsundir[2] = dir[2]; + if(GetDvarInt(#"9EF57A6C")) + { + setdvar("scr_art_sun_fog_dir_set","0"); + println("Setting sun fog direction to facing of player"); + players = get_players(); + dir = vectornormalize(AnglesToForward(players[0] getplayerangles())); + level.fogsundir = []; + level.fogsundir[0] = dir[0]; + level.fogsundir[1] = dir[1]; + level.fogsundir[2] = dir[2]; + } + fovslidercheck(); dumpsettings(); - level.fogsundir = []; - level.fogsundir[0] = 1; - level.fogsundir[1] = 0; - level.fogsundir[2] = 0; - setvolfog(level.fognearplane,level.fogexphalfplane,level.fogexphalfheight,level.fogbaseheight,level.fogcolorred,level.fogcolorgreen,level.fogcolorblue,level.fogcolorscale,level.sunfogcolorred,level.sunfogcolorgreen,level.sunfogcolorblue,level.fogsundir[0],level.fogsundir[1],level.fogsundir[2],level.sunstartangle,level.sunendangle,0,level.fogmaxopacity); - setexpfog(100000000,100000001,0,0,0,0); + if(!(GetDvarInt(#"DBBD8F3B"))) + { + if(!(IsDefined(level.fogsundir))) + { + level.fogsundir = []; + level.fogsundir[0] = 1; + level.fogsundir[1] = 0; + level.fogsundir[2] = 0; + } + + setvolfog(level.fognearplane,level.fogexphalfplane,level.fogexphalfheight,level.fogbaseheight,level.fogcolorred,level.fogcolorgreen,level.fogcolorblue,level.fogcolorscale,level.sunfogcolorred,level.sunfogcolorgreen,level.sunfogcolorblue,level.fogsundir[0],level.fogsundir[1],level.fogsundir[2],level.sunstartangle,level.sunendangle,0,level.fogmaxopacity); + } + else + { + setexpfog(100000000,100000001,0,0,0,0); + } + wait(0.1); } -(GetDvarInt(#"9EF57A6C")) ? GetDvarInt(#"DBBD8F3B") : IsDefined(level.fogsundir) -tweak_toggle -GetDvarInt(#"5E997AE") == 0 -GetDvar(#"829C0FDB") == "" -IsDefined(level.tweakfile) #/ } @@ -244,30 +291,32 @@ fovslidercheck() dumpsettings() { /# - println("\tstart_dist = " + level.fognearplane + ";"); - println("\thalf_dist = " + level.fogexphalfplane + ";"); - println("\thalf_height = " + level.fogexphalfheight + ";"); - println("\tbase_height = " + level.fogbaseheight + ";"); - println("\tfog_r = " + level.fogcolorred + ";"); - println("\tfog_g = " + level.fogcolorgreen + ";"); - println("\tfog_b = " + level.fogcolorblue + ";"); - println("\tfog_scale = " + level.fogcolorscale + ";"); - println("\tsun_col_r = " + level.sunfogcolorred + ";"); - println("\tsun_col_g = " + level.sunfogcolorgreen + ";"); - println("\tsun_col_b = " + level.sunfogcolorblue + ";"); - println("\tsun_dir_x = " + level.fogsundir[0] + ";"); - println("\tsun_dir_y = " + level.fogsundir[1] + ";"); - println("\tsun_dir_z = " + level.fogsundir[2] + ";"); - println("\tsun_start_ang = " + level.sunstartangle + ";"); - println("\tsun_stop_ang = " + level.sunendangle + ";"); - println("\ttime = 0;"); - println("\tmax_fog_opacity = " + level.fogmaxopacity + ";"); - println(""); - println("\tsetVolFog(start_dist, half_dist, half_height, base_height, fog_r, fog_g, fog_b, fog_scale,"); - println("\t\tsun_col_r, sun_col_g, sun_col_b, sun_dir_x, sun_dir_y, sun_dir_z, sun_start_ang, "); - println("\t\tsun_stop_ang, time, max_fog_opacity);"); - setdvar("scr_art_dump","0"); -GetDvar(#"D1996D68") != "0" + if(GetDvar(#"D1996D68") != "0") + { + println("\tstart_dist = " + level.fognearplane + ";"); + println("\thalf_dist = " + level.fogexphalfplane + ";"); + println("\thalf_height = " + level.fogexphalfheight + ";"); + println("\tbase_height = " + level.fogbaseheight + ";"); + println("\tfog_r = " + level.fogcolorred + ";"); + println("\tfog_g = " + level.fogcolorgreen + ";"); + println("\tfog_b = " + level.fogcolorblue + ";"); + println("\tfog_scale = " + level.fogcolorscale + ";"); + println("\tsun_col_r = " + level.sunfogcolorred + ";"); + println("\tsun_col_g = " + level.sunfogcolorgreen + ";"); + println("\tsun_col_b = " + level.sunfogcolorblue + ";"); + println("\tsun_dir_x = " + level.fogsundir[0] + ";"); + println("\tsun_dir_y = " + level.fogsundir[1] + ";"); + println("\tsun_dir_z = " + level.fogsundir[2] + ";"); + println("\tsun_start_ang = " + level.sunstartangle + ";"); + println("\tsun_stop_ang = " + level.sunendangle + ";"); + println("\ttime = 0;"); + println("\tmax_fog_opacity = " + level.fogmaxopacity + ";"); + println(""); + println("\tsetVolFog(start_dist, half_dist, half_height, base_height, fog_r, fog_g, fog_b, fog_scale,"); + println("\t\tsun_col_r, sun_col_g, sun_col_b, sun_dir_x, sun_dir_y, sun_dir_z, sun_start_ang, "); + println("\t\tsun_stop_ang, time, max_fog_opacity);"); + setdvar("scr_art_dump","0"); + } #/ } @@ -276,31 +325,41 @@ debug_reflection() { /# level.debug_reflection = 0; - for(;;) + while(1) { wait(0.1); - remove_reflection_objects(); - create_reflection_objects(); - level.debug_reflection = 2; - continue; - create_reflection_objects(); - create_reflection_object(); - level.debug_reflection = 3; - continue; - setdvar("debug_reflection_matte","0"); - setdvar("debug_color_pallete","0"); - remove_reflection_objects(); - create_reflection_object(); - level.debug_reflection = 1; - continue; - remove_reflection_objects(); - level.debug_reflection = 0; + if((GetDvar(#"628768B6") == "2" && level.debug_reflection != 2) || GetDvar(#"628768B6") == "3" && level.debug_reflection != 3) + { + remove_reflection_objects(); + if(GetDvar(#"628768B6") == "2") + { + create_reflection_objects(); + level.debug_reflection = 2; + continue; + } + + create_reflection_objects(); + create_reflection_object(); + level.debug_reflection = 3; + continue; + } + + if(GetDvar(#"628768B6") == "1" && level.debug_reflection != 1) + { + setdvar("debug_reflection_matte","0"); + setdvar("debug_color_pallete","0"); + remove_reflection_objects(); + create_reflection_object(); + level.debug_reflection = 1; + continue; + } + + if(GetDvar(#"628768B6") == "0" && level.debug_reflection != 0) + { + remove_reflection_objects(); + level.debug_reflection = 0; + } } -GetDvar(#"628768B6") == "0" && level.debug_reflection != 0 -GetDvar(#"628768B6") == "1" && level.debug_reflection != 1 -GetDvar(#"628768B6") == "2" -(GetDvar(#"628768B6") == "2" && level.debug_reflection != 2) || GetDvar(#"628768B6") == "3" && level.debug_reflection != 3 -1 #/ } @@ -308,18 +367,23 @@ GetDvar(#"628768B6") == "2" remove_reflection_objects() { /# - i = 0; - for(;;) + if((level.debug_reflection == 2 || level.debug_reflection == 3) && IsDefined(level.debug_reflection_objects)) { - level.debug_reflection_objects[i] delete(); - i++; + for(i = 0;i < level.debug_reflection_objects.size;i++) + { + level.debug_reflection_objects[i] delete(); + } + + level.debug_reflection_objects = undefined; + } + + if(level.debug_reflection == 1 || level.debug_reflection == 3 || level.debug_reflection_matte == 1 || level.debug_color_pallete == 1 || level.debug_color_pallete == 2) + { + if(IsDefined(level.debug_reflectionobject)) + { + level.debug_reflectionobject delete(); + } } - level.debug_reflection_objects = undefined; - level.debug_reflectionobject delete(); -IsDefined(level.debug_reflectionobject) -level.debug_reflection == 1 || level.debug_reflection == 3 || level.debug_reflection_matte == 1 || level.debug_color_pallete == 1 || level.debug_color_pallete == 2 -i < level.debug_reflection_objects.size -(level.debug_reflection == 2 || level.debug_reflection == 3) && IsDefined(level.debug_reflection_objects) #/ } @@ -328,14 +392,11 @@ create_reflection_objects() { /# reflection_locs = getreflectionlocs(); - i = 0; - for(;;) + for(i = 0;i < reflection_locs.size;i++) { level.debug_reflection_objects[i] = spawn("script_model",reflection_locs[i]); level.debug_reflection_objects[i] setmodel("test_sphere_silver"); - i++; } -i < reflection_locs.size #/ } @@ -348,7 +409,11 @@ create_reflection_object(model) } /# - level.debug_reflectionobject delete(); + if(IsDefined(level.debug_reflectionobject)) + { + level.debug_reflectionobject delete(); + } + players = get_players(); player = players[0]; level.debug_reflectionobject = spawn("script_model",100 + VectorScale(AnglesToForward(player.angles))); @@ -356,9 +421,6 @@ create_reflection_object(model) level.debug_reflectionobject.origin = 100 + VectorScale(AnglesToForward(player getplayerangles())); level.debug_reflectionobject linkto(player); thread debug_reflection_buttons(); -player geteye() -player geteye() -IsDefined(level.debug_reflectionobject) #/ } @@ -371,13 +433,29 @@ debug_reflection_buttons() level.debug_reflectionobject endon("death"); offset = 100; lastoffset = offset; - for(;;) + while(GetDvar(#"628768B6") == "1" || GetDvar(#"628768B6") == "3" || GetDvar(#"33E24970") == "1" || GetDvar(#"C450CB50") == "1" || GetDvar(#"C450CB50") == "2") { players = get_players(); - offset = offset + 50; - offset = offset - 50; - offset = 1000; - offset = 64; + if(players[0] buttonpressed("BUTTON_X")) + { + offset = offset + 50; + } + + if(players[0] buttonpressed("BUTTON_Y")) + { + offset = offset - 50; + } + + if(offset > 1000) + { + offset = 1000; + } + + if(offset < 64) + { + offset = 64; + } + level.debug_reflectionobject unlink(); level.debug_reflectionobject.origin = offset + VectorScale(AnglesToForward(players[0] getplayerangles())); temp_angles = VectorToAngles(players[0].origin - level.debug_reflectionobject.origin); @@ -385,15 +463,11 @@ debug_reflection_buttons() lastoffset = offset; line(level.debug_reflectionobject.origin,getreflectionorigin(level.debug_reflectionobject.origin),(1,0,0),1,1); wait(0.05); - level.debug_reflectionobject linkto(players[0]); + if(IsDefined(level.debug_reflectionobject)) + { + level.debug_reflectionobject linkto(players[0]); + } } -IsDefined(level.debug_reflectionobject) -players[0] geteye() -offset < 64 -offset > 1000 -players[0] buttonpressed("BUTTON_Y") -players[0] buttonpressed("BUTTON_X") -GetDvar(#"628768B6") == "1" || GetDvar(#"628768B6") == "3" || GetDvar(#"33E24970") == "1" || GetDvar(#"C450CB50") == "1" || GetDvar(#"C450CB50") == "2" #/ } @@ -402,21 +476,25 @@ debug_reflection_matte() { /# level.debug_reflection_matte = 0; - for(;;) + while(1) { wait(0.1); - setdvar("debug_reflection","0"); - setdvar("debug_color_pallete","0"); - remove_reflection_objects(); - create_reflection_object("test_sphere_lambert"); - level.debug_reflection_matte = 1; - continue; - remove_reflection_objects(); - level.debug_reflection_matte = 0; + if(GetDvar(#"33E24970") == "1" && level.debug_reflection_matte != 1) + { + setdvar("debug_reflection","0"); + setdvar("debug_color_pallete","0"); + remove_reflection_objects(); + create_reflection_object("test_sphere_lambert"); + level.debug_reflection_matte = 1; + continue; + } + + if(GetDvar(#"33E24970") == "0" && level.debug_reflection_matte != 0) + { + remove_reflection_objects(); + level.debug_reflection_matte = 0; + } } -GetDvar(#"33E24970") == "0" && level.debug_reflection_matte != 0 -GetDvar(#"33E24970") == "1" && level.debug_reflection_matte != 1 -1 #/ } @@ -425,25 +503,32 @@ debug_color_pallete() { /# level.debug_color_pallete = 0; - for(;;) + while(1) { wait(0.1); - setdvar("debug_reflection","0"); - setdvar("debug_reflection_matte","0"); - remove_reflection_objects(); - create_reflection_object("test_macbeth_chart"); - level.debug_color_pallete = 1; - continue; - remove_reflection_objects(); - create_reflection_object("test_macbeth_chart_unlit"); - level.debug_color_pallete = 2; - continue; - remove_reflection_objects(); - level.debug_color_pallete = 0; + if(GetDvar(#"C450CB50") == "1" && level.debug_color_pallete != 1) + { + setdvar("debug_reflection","0"); + setdvar("debug_reflection_matte","0"); + remove_reflection_objects(); + create_reflection_object("test_macbeth_chart"); + level.debug_color_pallete = 1; + continue; + } + + if(GetDvar(#"C450CB50") == "2" && level.debug_color_pallete != 2) + { + remove_reflection_objects(); + create_reflection_object("test_macbeth_chart_unlit"); + level.debug_color_pallete = 2; + continue; + } + + if(GetDvar(#"C450CB50") == "0" && level.debug_color_pallete != 0) + { + remove_reflection_objects(); + level.debug_color_pallete = 0; + } } -GetDvar(#"C450CB50") == "0" && level.debug_color_pallete != 0 -GetDvar(#"C450CB50") == "2" && level.debug_color_pallete != 2 -GetDvar(#"C450CB50") == "1" && level.debug_color_pallete != 1 -1 #/ } \ No newline at end of file diff --git a/BO2/PC/ZM/maps/mp/_audio.gsc b/BO2/PC/ZM/maps/mp/_audio.gsc index 033e048..63855ba 100644 --- a/BO2/PC/ZM/maps/mp/_audio.gsc +++ b/BO2/PC/ZM/maps/mp/_audio.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 9 - * Decompile Time: 26 ms - * Timestamp: 10/27/2023 3:03:37 AM + * Decompile Time: 7 ms + * Timestamp: 10/28/2023 12:12:00 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/PC/ZM/maps/mp/_ballistic_knife.gsc b/BO2/PC/ZM/maps/mp/_ballistic_knife.gsc index 0fc92bd..cdcd8a5 100644 --- a/BO2/PC/ZM/maps/mp/_ballistic_knife.gsc +++ b/BO2/PC/ZM/maps/mp/_ballistic_knife.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 11 - * Decompile Time: 41 ms - * Timestamp: 10/27/2023 3:03:37 AM + * Decompile Time: 2 ms + * Timestamp: 10/28/2023 12:12:00 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/PC/ZM/maps/mp/_bb.gsc b/BO2/PC/ZM/maps/mp/_bb.gsc index 7fbb417..4f44054 100644 --- a/BO2/PC/ZM/maps/mp/_bb.gsc +++ b/BO2/PC/ZM/maps/mp/_bb.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 8 - * Decompile Time: 9 ms - * Timestamp: 10/27/2023 3:03:37 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:12:00 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/PC/ZM/maps/mp/_busing.gsc b/BO2/PC/ZM/maps/mp/_busing.gsc index 3dfeae8..b3f19e5 100644 --- a/BO2/PC/ZM/maps/mp/_busing.gsc +++ b/BO2/PC/ZM/maps/mp/_busing.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 2 - * Decompile Time: 2 ms - * Timestamp: 10/27/2023 3:03:38 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:12:01 AM *******************************************************************/ #include maps/mp/_utility; diff --git a/BO2/PC/ZM/maps/mp/_challenges.gsc b/BO2/PC/ZM/maps/mp/_challenges.gsc index 571e4f3..47b3521 100644 --- a/BO2/PC/ZM/maps/mp/_challenges.gsc +++ b/BO2/PC/ZM/maps/mp/_challenges.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 87 - * Decompile Time: 206 ms - * Timestamp: 10/27/2023 3:03:39 AM + * Decompile Time: 24 ms + * Timestamp: 10/28/2023 12:12:01 AM *******************************************************************/ #include common_scripts/utility; @@ -77,8 +77,10 @@ addflyswatterstat(weapon,aircraft) canprocesschallenges() { /# - return 1; -getdvarintdefault("scr_debug_challenges",0) + if(getdvarintdefault("scr_debug_challenges",0)) + { + return 1; + } #/ if(level.rankedmatch || level.wagermatch) { diff --git a/BO2/PC/ZM/maps/mp/_compass.gsc b/BO2/PC/ZM/maps/mp/_compass.gsc index e7d26f5..cc9fda3 100644 --- a/BO2/PC/ZM/maps/mp/_compass.gsc +++ b/BO2/PC/ZM/maps/mp/_compass.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 2 - * Decompile Time: 10 ms - * Timestamp: 10/27/2023 3:03:39 AM + * Decompile Time: 1 ms + * Timestamp: 10/28/2023 12:12:01 AM *******************************************************************/ //Function Number: 1 diff --git a/BO2/PC/ZM/maps/mp/_createfx.gsc b/BO2/PC/ZM/maps/mp/_createfx.gsc index 30d1954..445dee7 100644 --- a/BO2/PC/ZM/maps/mp/_createfx.gsc +++ b/BO2/PC/ZM/maps/mp/_createfx.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 98 - * Decompile Time: 520 ms - * Timestamp: 10/27/2023 3:03:41 AM + * Decompile Time: 59 ms + * Timestamp: 10/28/2023 12:12:02 AM *******************************************************************/ #include common_scripts/utility; @@ -176,10 +176,9 @@ fx_init() delete_arrays_in_sp(); /# println("We\'re not in MP!"); -#/ } } - +#/ for(i = 0;i < level.createfxent.size;i++) { ent = level.createfxent[i]; @@ -345,9 +344,14 @@ createfxlogic() filename = level.cfx_server_scriptdata + level.script + "_fx.gsc"; file = openfile(filename,"append"); level.write_error = ""; - level.write_error = filename; - closefile(file); -Stack-Empty ? Stack-Empty : file == -1 + if(file == -1) + { + level.write_error = filename; + } + else + { + closefile(file); + } #/ level.createfxhudelements = []; level.createfx_hudelements = 100; @@ -837,8 +841,7 @@ manipulate_createfx_ents(highlightedent,leftclick,leftheld,ctrlheld,colors,right offset = level.createfx_manipulate_offset; level.createfx_manipulate_offset = level.createfx_manipulate_offset + 1 % print_frames; - i = offset; - while(i < level.createfxent.size) + for(i = offset;i < level.createfxent.size;i = i + print_frames) { ent = level.createfxent[i]; if(!(ent.drawn)) @@ -856,19 +859,17 @@ manipulate_createfx_ents(highlightedent,leftclick,leftheld,ctrlheld,colors,right } /# - print3d(ent.v["origin"],".",colors[ent.v["type"]][colorindex],1,scale,print_frames); + print3d(ent.v["origin"],".",colors[ent.v["type"]][colorindex],1,scale,print_frames); #/ if(ent.textalpha > 0) { printright = VectorScale(right); printup = (0,0,15 * scale); /# - print3d(ent.v["origin"] + printright + printup,ent.v["fxid"],colors[ent.v["type"]][colorindex],ent.textalpha,scale,print_frames); -#/ + print3d(ent.v["origin"] + printright + printup,ent.v["fxid"],colors[ent.v["type"]][colorindex],ent.textalpha,scale,print_frames); } } - - i = Stack-Empty ? ent.v["fxid"].size * -2.93 * scale : i + print_frames; +#/ } if(IsDefined(highlightedent)) @@ -925,9 +926,9 @@ manipulate_createfx_ents(highlightedent,leftclick,leftheld,ctrlheld,colors,right printup = (0,0,15 * scale); /# print3d(highlightedent.v["origin"] + printright + printup,highlightedent.v["fxid"],colors[highlightedent.v["type"]][colorindex],highlightedent.textalpha,scale,1); -#/ } } +#/ } //Function Number: 10 @@ -1495,55 +1496,214 @@ set_anglemod_move_vector() /# ctrlheld = button_is_held("ctrl","BUTTON_LSHLDR"); players = get_players(); - newmovement = players[0] getnormalizedmovement(); - dolly_movement = players[0] getnormalizedcameramovement(); - level.selectedrotate_yaw = level.selectedrotate_yaw - 1; - level.selectedrotate_yaw = level.selectedrotate_yaw + 1; - level.selectedrotate_yaw = 0; - level.selectedrotate_yaw = level.selectedrotate_yaw + 0.1; - level.selectedrotate_yaw = 0; - level.selectedrotate_yaw = level.selectedrotate_yaw - 0.1; - level.selectedrotate_yaw = 0; - level.selectedrotate_pitch = level.selectedrotate_pitch + 1; - level.selectedrotate_pitch = level.selectedrotate_pitch - 1; - level.selectedrotate_pitch = 0; - level.selectedrotate_pitch = level.selectedrotate_pitch + 0.1; - level.selectedrotate_pitch = 0; - level.selectedrotate_pitch = level.selectedrotate_pitch - 0.1; - level.selectedrotate_pitch = 0; - level.selectedrotate_roll = 0; - level.selectedrotate_roll = level.selectedrotate_roll + 0.1; - level.selectedrotate_roll = 0; - level.selectedrotate_roll = level.selectedrotate_roll - 0.1; - level.selectedrotate_roll = 0; - level.selectedrotate_pitch = 0; - level.selectedrotate_pitch = 0.1; - wait(0.05); - level.selectedrotate_pitch = level.selectedrotate_pitch + 1; - level.selectedrotate_pitch = 0; - level.selectedrotate_pitch = -1 * 0.1; - wait(0.05); - level.selectedrotate_pitch = level.selectedrotate_pitch - 1; - level.selectedrotate_pitch = 0; - level.selectedrotate_yaw = 0; - level.selectedrotate_yaw = 0.1; - wait(0.05); - level.selectedrotate_yaw = level.selectedrotate_yaw + 1; - level.selectedrotate_yaw = 0; - level.selectedrotate_yaw = -1 * 0.1; - wait(0.05); - level.selectedrotate_yaw = level.selectedrotate_yaw - 1; - level.selectedrotate_yaw = 0; - level.selectedrotate_roll = 0; - level.selectedrotate_roll = 0.1; - wait(0.05); - level.selectedrotate_roll = level.selectedrotate_roll + 1; - level.selectedrotate_roll = 0; - level.selectedrotate_roll = -1 * 0.1; - wait(0.05); - level.selectedrotate_roll = level.selectedrotate_roll - 1; - level.selectedrotate_roll = 0; -Stack-Empty ? Stack-Empty : (Stack-Empty ? Stack-Empty : ((Stack-Empty ? Stack-Empty : ((Stack-Empty ? Stack-Empty : (((Stack-Empty ? Stack-Empty : ((Stack-Empty ? Stack-Empty : ((level.is_camera_on == 1) ? newmovement[1] <= -0.3 : ((newmovement[1] >= 0.3) ? buttondown("kp_leftarrow","DPAD_LEFT") : ((level.selectedrotate_yaw < 0) ? buttondown("kp_rightarrow","DPAD_RIGHT") : level.selectedrotate_yaw > 0)))) ? dolly_movement[0] <= -0.2 : ((dolly_movement[0] >= 0.2) ? buttondown("kp_uparrow","DPAD_UP") : ((level.selectedrotate_pitch < 0) ? buttondown("kp_downarrow","DPAD_DOWN") : level.selectedrotate_pitch > 0)))) ? buttondown("BUTTON_Y") : ((level.selectedrotate_roll < 0) ? buttondown("BUTTON_B") : level.selectedrotate_roll > 0)) ? ((buttondown("kp_uparrow","DPAD_UP")) ? level.selectedrotate_pitch < 0 : ctrlheld) : ((buttondown("kp_downarrow","DPAD_DOWN")) ? level.selectedrotate_pitch > 0 : ctrlheld))) ? ((buttondown("kp_leftarrow","DPAD_LEFT")) ? level.selectedrotate_yaw < 0 : ctrlheld) : ((buttondown("kp_rightarrow","DPAD_RIGHT")) ? level.selectedrotate_yaw > 0 : ctrlheld))) ? ((buttondown("BUTTON_Y")) ? level.selectedrotate_roll < 0 : ctrlheld) : ((buttondown("BUTTON_B")) ? level.selectedrotate_roll > 0 : ctrlheld))) + if(level.is_camera_on == 1) + { + newmovement = players[0] getnormalizedmovement(); + dolly_movement = players[0] getnormalizedcameramovement(); + if(newmovement[1] <= -0.3) + { + level.selectedrotate_yaw = level.selectedrotate_yaw - 1; + } + else if(newmovement[1] >= 0.3) + { + level.selectedrotate_yaw = level.selectedrotate_yaw + 1; + } + else if(buttondown("kp_leftarrow","DPAD_LEFT")) + { + if(level.selectedrotate_yaw < 0) + { + level.selectedrotate_yaw = 0; + } + + level.selectedrotate_yaw = level.selectedrotate_yaw + 0.1; + } + else if(buttondown("kp_rightarrow","DPAD_RIGHT")) + { + if(level.selectedrotate_yaw > 0) + { + level.selectedrotate_yaw = 0; + } + + level.selectedrotate_yaw = level.selectedrotate_yaw - 0.1; + } + else + { + level.selectedrotate_yaw = 0; + } + + if(dolly_movement[0] <= -0.2) + { + level.selectedrotate_pitch = level.selectedrotate_pitch + 1; + } + else if(dolly_movement[0] >= 0.2) + { + level.selectedrotate_pitch = level.selectedrotate_pitch - 1; + } + else if(buttondown("kp_uparrow","DPAD_UP")) + { + if(level.selectedrotate_pitch < 0) + { + level.selectedrotate_pitch = 0; + } + + level.selectedrotate_pitch = level.selectedrotate_pitch + 0.1; + } + else if(buttondown("kp_downarrow","DPAD_DOWN")) + { + if(level.selectedrotate_pitch > 0) + { + level.selectedrotate_pitch = 0; + } + + level.selectedrotate_pitch = level.selectedrotate_pitch - 0.1; + } + else + { + level.selectedrotate_pitch = 0; + } + + if(buttondown("BUTTON_Y")) + { + if(level.selectedrotate_roll < 0) + { + level.selectedrotate_roll = 0; + } + + level.selectedrotate_roll = level.selectedrotate_roll + 0.1; + } + else if(buttondown("BUTTON_B")) + { + if(level.selectedrotate_roll > 0) + { + level.selectedrotate_roll = 0; + } + + level.selectedrotate_roll = level.selectedrotate_roll - 0.1; + } + else + { + level.selectedrotate_roll = 0; + } + } + else + { + if(buttondown("kp_uparrow","DPAD_UP")) + { + if(level.selectedrotate_pitch < 0) + { + level.selectedrotate_pitch = 0; + } + + if(ctrlheld) + { + level.selectedrotate_pitch = 0.1; + wait(0.05); + } + else + { + level.selectedrotate_pitch = level.selectedrotate_pitch + 1; + } + } + else if(buttondown("kp_downarrow","DPAD_DOWN")) + { + if(level.selectedrotate_pitch > 0) + { + level.selectedrotate_pitch = 0; + } + + if(ctrlheld) + { + level.selectedrotate_pitch = -1 * 0.1; + wait(0.05); + } + else + { + level.selectedrotate_pitch = level.selectedrotate_pitch - 1; + } + } + else + { + level.selectedrotate_pitch = 0; + } + + if(buttondown("kp_leftarrow","DPAD_LEFT")) + { + if(level.selectedrotate_yaw < 0) + { + level.selectedrotate_yaw = 0; + } + + if(ctrlheld) + { + level.selectedrotate_yaw = 0.1; + wait(0.05); + } + else + { + level.selectedrotate_yaw = level.selectedrotate_yaw + 1; + } + } + else if(buttondown("kp_rightarrow","DPAD_RIGHT")) + { + if(level.selectedrotate_yaw > 0) + { + level.selectedrotate_yaw = 0; + } + + if(ctrlheld) + { + level.selectedrotate_yaw = -1 * 0.1; + wait(0.05); + } + else + { + level.selectedrotate_yaw = level.selectedrotate_yaw - 1; + } + } + else + { + level.selectedrotate_yaw = 0; + } + + if(buttondown("BUTTON_Y")) + { + if(level.selectedrotate_roll < 0) + { + level.selectedrotate_roll = 0; + } + + if(ctrlheld) + { + level.selectedrotate_roll = 0.1; + wait(0.05); + } + else + { + level.selectedrotate_roll = level.selectedrotate_roll + 1; + } + } + else if(buttondown("BUTTON_B")) + { + if(level.selectedrotate_roll > 0) + { + level.selectedrotate_roll = 0; + } + + if(ctrlheld) + { + level.selectedrotate_roll = -1 * 0.1; + wait(0.05); + } + else + { + level.selectedrotate_roll = level.selectedrotate_roll - 1; + } + } + else + { + level.selectedrotate_roll = 0; + } + } #/ } @@ -1551,9 +1711,12 @@ Stack-Empty ? Stack-Empty : (Stack-Empty ? Stack-Empty : ((Stack-Empty ? Stack-E cfxprintln(file,string) { /# - return; + if(file == -1) + { + return; + } + fprintln(file,string); -file == -1 #/ } @@ -1582,92 +1745,170 @@ generate_fx_log(type,autosave) { /# autosave = IsDefined(autosave); - filename = level.cfx_server_scriptdata + level.script + "_fx.gsc"; - filename = level.cfx_server_scriptdata + "backup.gsc"; - call_loop = level.cfx_server_loop; - call_oneshot = level.cfx_server_oneshot; - call_exploder = level.cfx_server_exploder; - call_loopsound = level.cfx_server_loopsound; - filename = level.cfx_client_scriptdata + level.script + "_fx.csc"; - filename = level.cfx_client_scriptdata + "backup.csc"; - call_loop = level.cfx_client_loop; - call_oneshot = level.cfx_client_oneshot; - call_exploder = level.cfx_client_exploder; - call_loopsound = level.cfx_client_loopsound; - println("^1Error: Improper type in generate_fx_log()"); - return; - file = openfile(filename,"write"); - level.write_error = filename; - return 1; - return 2; - return 3; - cfxprintln(file,"//_createfx generated. Do not touch!!"); - cfxprintln(file,"main()"); - cfxprintln(file,"{"); - p = 0; - for(;;) + if(type == "server") { - ent = level.createfxent[p]; - origin = []; - angles = []; - i = 0; - for(;;) + if(!(autosave)) { - origin[i] = ent.v["origin"][i]; - angles[i] = ent.v["angles"][i]; - origin[i] = 0; - angles[i] = 0; - i++; + filename = level.cfx_server_scriptdata + level.script + "_fx.gsc"; } - ent.v["origin"] = (origin[0],origin[1],origin[2]); - ent.v["angles"] = (angles[0],angles[1],angles[2]); - p++; + else + { + filename = level.cfx_server_scriptdata + "backup.gsc"; + } + + call_loop = level.cfx_server_loop; + call_oneshot = level.cfx_server_oneshot; + call_exploder = level.cfx_server_exploder; + call_loopsound = level.cfx_server_loopsound; } - println(" *** CREATING EFFECT, COPY THESE LINES TO ",level.script,"_fx.gsc *** "); - cfxprintln(file,"// CreateFX entities placed: " + level.createfxent.size - level.non_fx_ents); - breather = 0; - breather_pause = 1; - breather_pause = 5; - i = 0; - for(;;) + else if(type == "client") { - e = level.createfxent[i]; -/# - assert(IsDefined(e.v["type"]),"effect at origin " + e.v["origin"] + " has no type"); -#/ - output_name = "\t"; - output_props = "\t"; - ent_type = e.v["type"]; - output_name = output_name + "ent = " + call_loop + "( \" + e.v["fxid"] + "\" );"; - output_name = output_name + "ent = " + call_oneshot + "( \" + e.v["fxid"] + "\" );"; - output_name = output_name + "ent = " + call_exploder + "( \" + e.v["fxid"] + "\" );"; - output_name = output_name + "ent = " + call_loopsound + "();"; - output_props = output_props + get_fx_options(e); - cfxprintln(file,output_name); - cfxprintln(file,output_props); - cfxprintln(file,"\t"); - breather++; - wait(0.05); - breather = 0; - i++; + if(!(autosave)) + { + filename = level.cfx_client_scriptdata + level.script + "_fx.csc"; + } + else + { + filename = level.cfx_client_scriptdata + "backup.csc"; + } + + call_loop = level.cfx_client_loop; + call_oneshot = level.cfx_client_oneshot; + call_exploder = level.cfx_client_exploder; + call_loopsound = level.cfx_client_loopsound; } - script_gen_dump_addline(level.cfx_server_scriptgendump,level.script + "_fx"); - [[ level.cfx_func_script_gen_dump ]](); - cfxprintln(file,"}"); - saved = closefile(file); + else + { + println("^1Error: Improper type in generate_fx_log()"); + return; + } + + file = openfile(filename,"write"); + if(file == -1) + { + level.write_error = filename; + if(type == "server") + { + return 1; + } + else if(type == "client") + { + return 2; + } + else + { + return 3; + } + } + else + { + cfxprintln(file,"//_createfx generated. Do not touch!!"); + cfxprintln(file,"main()"); + cfxprintln(file,"{"); + for(p = 0;p < level.createfxent.size;p++) + { + ent = level.createfxent[p]; + origin = []; + angles = []; + for(i = 0;i < 3;i++) + { + origin[i] = ent.v["origin"][i]; + angles[i] = ent.v["angles"][i]; + if(origin[i] < 0.1 && origin[i] > 0.1 * -1) + { + origin[i] = 0; + } + + if(angles[i] < 0.1 && angles[i] > 0.1 * -1) + { + angles[i] = 0; + } + } + + ent.v["origin"] = (origin[0],origin[1],origin[2]); + ent.v["angles"] = (angles[0],angles[1],angles[2]); + } + + if(!(autosave)) + { + println(" *** CREATING EFFECT, COPY THESE LINES TO ",level.script,"_fx.gsc *** "); + } + + cfxprintln(file,"// CreateFX entities placed: " + level.createfxent.size - level.non_fx_ents); + breather = 0; + if(autosave) + { + breather_pause = 1; + } + else + { + breather_pause = 5; + } + + for(i = 0;i < level.createfxent.size;i++) + { + e = level.createfxent[i]; /# - assert(saved == 1,"File not saved (see above message?): " + filename); + assert(IsDefined(e.v["type"]),"effect at origin " + e.v["origin"] + " has no type"); #/ - println("CreateFX entities placed: " + level.createfxent.size - level.non_fx_ents); - return 0; -(e.v["fxid"] == "No FX") ? (ent_type == "loopfx" ? ent_type == "oneshotfx" : ((ent_type == "exploder") ? ent_type == "soundfx" : breather >= breather_pause)) : level.bscriptgened -IsDefined(e.model) -i < level.createfxent.size -(angles[i] < 0.1 && angles[i] > 0.1 * -1) ? autosave : autosave -origin[i] < 0.1 && origin[i] > 0.1 * -1 -i < 3 -p < level.createfxent.size -Stack-Empty ? (Stack-Empty ? Stack-Empty : (Stack-Empty ? Stack-Empty : ((Stack-Empty ? type == "server" : autosave) ? type == "client" : autosave))) : (file == -1 ? type == "server" : type == "client") + if(IsDefined(e.model)) + { + } + else if(e.v["fxid"] == "No FX") + { + } + else + { + output_name = "\t"; + output_props = "\t"; + ent_type = e.v["type"]; + if(ent_type == "loopfx") + { + output_name = output_name + "ent = " + call_loop + "( \" + e.v["fxid"] + "\" );"; + } + + if(ent_type == "oneshotfx") + { + output_name = output_name + "ent = " + call_oneshot + "( \" + e.v["fxid"] + "\" );"; + } + + if(ent_type == "exploder") + { + output_name = output_name + "ent = " + call_exploder + "( \" + e.v["fxid"] + "\" );"; + } + + if(ent_type == "soundfx") + { + output_name = output_name + "ent = " + call_loopsound + "();"; + } + + output_props = output_props + get_fx_options(e); + cfxprintln(file,output_name); + cfxprintln(file,output_props); + cfxprintln(file,"\t"); + breather++; + if(breather >= breather_pause) + { + wait(0.05); + breather = 0; + } + } + } + + if(level.bscriptgened) + { + script_gen_dump_addline(level.cfx_server_scriptgendump,level.script + "_fx"); + [[ level.cfx_func_script_gen_dump ]](); + } + + cfxprintln(file,"}"); + saved = closefile(file); +/# + assert(saved == 1,"File not saved (see above message?): " + filename); +#/ + println("CreateFX entities placed: " + level.createfxent.size - level.non_fx_ents); + return 0; + } #/ } @@ -2421,8 +2662,10 @@ draw_distance() maxdist = GetDvarInt(#"94DFBE78"); maxdistsqr = maxdist * maxdist; /# - println("Waiting for createfx to save..."); - flag("createfx_saving") + if(flag("createfx_saving")) + { + println("Waiting for createfx to save..."); + } #/ flag_waitopen("createfx_saving"); for(i = 0;i < level.createfxent.size;i++) @@ -2550,9 +2793,8 @@ createfx_emergency_backup() { /# println("^5#### CREATEFX EMERGENCY BACKUP END ####"); -#/ } - +#/ flag_clear("createfx_saving"); } @@ -2786,68 +3028,62 @@ print_ambient_fx_inventory() ent_list = []; fx_list_count = []; println("\n\n^2INVENTORY OF AMBIENT EFFECTS: "); - i = 0; - for(;;) + for(i = 0;i < level.createfxent.size;i++) { ent_list[i] = level.createfxent[i].v["fxid"]; - i++; } - i = 0; - for(;;) + + for(i = 0;i < fx_list.size;i++) { count = 0; - j = 0; - for(;;) + for(j = 0;j < ent_list.size;j++) { - count++; - ent_list[j] = ""; - j++; + if(fx_list[i] == ent_list[j]) + { + count++; + ent_list[j] = ""; + } } + fx_list_count[i] = count; - i++; } - i = 0; - for(;;) + + for(i = 0;i < fx_list_count.size - 1;i++) { - j = i + 1; - for(;;) + for(j = i + 1;j < fx_list_count.size;j++) { - temp_count = fx_list_count[i]; - temp_id = fx_list[i]; - fx_list_count[i] = fx_list_count[j]; - fx_list[i] = fx_list[j]; - fx_list_count[j] = temp_count; - fx_list[j] = temp_id; - j++; + if(fx_list_count[j] < fx_list_count[i]) + { + temp_count = fx_list_count[i]; + temp_id = fx_list[i]; + fx_list_count[i] = fx_list_count[j]; + fx_list[i] = fx_list[j]; + fx_list_count[j] = temp_count; + fx_list[j] = temp_id; + } } - i++; } - i = 0; - for(;;) + + for(i = 0;i < fx_list_count.size;i++) { switch(fx_list_count[i]) { case "0": print("^1"); break; + case "1": print("^3"); break; + default: break; } + print(fx_list_count[i] + "\t" + fx_list[i] + "\n"); - i++; } + print("\n"); -i < fx_list_count.size -fx_list_count[j] < fx_list_count[i] -j < fx_list_count.size -i < fx_list_count.size - 1 -fx_list[i] == ent_list[j] -j < ent_list.size -i < fx_list.size -i < level.createfxent.size #/ } @@ -2884,8 +3120,12 @@ handle_camera() level notify("new_camera"); level endon("new_camera"); movement = (0,0,0); - level.camera = spawn("script_origin",(0,0,0)); - level.camera setmodel("tag_origin"); + if(!(IsDefined(level.camera))) + { + level.camera = spawn("script_origin",(0,0,0)); + level.camera setmodel("tag_origin"); + } + players = get_players(); players[0] playerlinktodelta(level.camera,"tag_origin",1,0,0,0,0,1); players[0] disableweapons(); @@ -2901,58 +3141,116 @@ handle_camera() b_changes_z = 0; b_changes_y = 0; test_string = ""; - for(;;) + while(1) { - for(;;) + if(level.camera_snapto > 0) { - originoffset = VectorScale(level.cameravec); - temp_offset = 60 + VectorScale((0,0,-1)); - anglesoffset = VectorToAngles(temp_offset); - players = get_players(); - newmovement = players[0] getnormalizedmovement(); - dolly_movement = players[0] getnormalizedcameramovement(); - continue; - n_y_vector = n_y_vector + -0.2; - b_changes_y = 1; - n_y_vector = n_y_vector + 0.2; - b_changes_y = 1; - b_changes_y = 0; - n_x_vector = n_x_vector + -0.4; - b_changes_x = 1; - n_x_vector = n_x_vector + 0.4; - b_changes_x = 1; - b_changes_x = 0; - zoom_level = zoom_level + 30; - b_changes_z = 1; - zoom_level = zoom_level + -30; - b_changes_z = 1; - b_changes_z = 0; - newmovement = (n_x_vector,n_y_vector,newmovement[2]); - movement = (0,0,0); - movement = 1 - 0.8 + VectorScale(newmovement); - tilt = max(0,10 + movement[0] * 160); - level.cameravec = (cos(movement[1] * 180) * zoom_level,sin(movement[1] * 180) * zoom_level,tilt); - iprintln(level.cameravec[0] + " " + level.cameravec[1] + " " + level.cameravec[2]); - level.camera_prev_snapto = level.camera_snapto; - originoffset = VectorScale(level.cameravec); - temp_offset = 60 + VectorScale((0,0,-1)); - anglesoffset = VectorToAngles(temp_offset); - model = spawn("script_origin",level.current_select_ent.v["origin"]); - model setmodel("tag_origin"); - model.origin = level.current_select_ent.v["origin"]; - level.camera linkto(model,"tag_origin",level.cameravec,anglesoffset); - break; - wait(0.05); + if(level.stick_camera) + { + originoffset = VectorScale(level.cameravec); + temp_offset = 60 + VectorScale((0,0,-1)); + anglesoffset = VectorToAngles(temp_offset); + if(level.camera_prev_snapto == level.camera_snapto) + { + players = get_players(); + newmovement = players[0] getnormalizedmovement(); + dolly_movement = players[0] getnormalizedcameramovement(); + if(button_is_held("BUTTON_LTRIG") || button_is_held("BUTTON_RTRIG")) + { + continue; + } + + if(newmovement[1] <= -0.4) + { + n_y_vector = n_y_vector + -0.2; + b_changes_y = 1; + } + else if(newmovement[1] >= 0.4) + { + n_y_vector = n_y_vector + 0.2; + b_changes_y = 1; + } + else + { + b_changes_y = 0; + } + + if(newmovement[0] <= -0.4) + { + n_x_vector = n_x_vector + -0.4; + b_changes_x = 1; + } + else if(newmovement[0] >= 0.4) + { + n_x_vector = n_x_vector + 0.4; + b_changes_x = 1; + } + else + { + b_changes_x = 0; + } + + if(dolly_movement[0] <= -0.4) + { + zoom_level = zoom_level + 30; + b_changes_z = 1; + } + else if(dolly_movement[0] >= 0.4) + { + zoom_level = zoom_level + -30; + b_changes_z = 1; + } + else + { + b_changes_z = 0; + } + + if(b_changes_z || b_changes_x || b_changes_y) + { + newmovement = (n_x_vector,n_y_vector,newmovement[2]); + movement = (0,0,0); + movement = 1 - 0.8 + VectorScale(newmovement); + tilt = max(0,10 + movement[0] * 160); + level.cameravec = (cos(movement[1] * 180) * zoom_level,sin(movement[1] * 180) * zoom_level,tilt); + iprintln(level.cameravec[0] + " " + level.cameravec[1] + " " + level.cameravec[2]); + } + } + else + { + level.camera_prev_snapto = level.camera_snapto; + } + + if(IsDefined(level.current_select_ent)) + { + originoffset = VectorScale(level.cameravec); + temp_offset = 60 + VectorScale((0,0,-1)); + anglesoffset = VectorToAngles(temp_offset); + if(!(IsDefined(model))) + { + model = spawn("script_origin",level.current_select_ent.v["origin"]); + model setmodel("tag_origin"); + } + + if(model.origin != level.current_select_ent.v["origin"]) + { + model.origin = level.current_select_ent.v["origin"]; + } + + level.camera linkto(model,"tag_origin",level.cameravec,anglesoffset); + break; + } + + wait(0.05); + continue; + } + else + { + level.camera unlink(); + } } - level.camera unlink(); + wait(0.05); } -originoffset ? IsDefined(model) : model.origin != level.current_select_ent.v["origin"] --1 -IsDefined(level.current_select_ent) -(b_changes_z || b_changes_x || b_changes_y) ? 0.8 : VectorScale(movement) -1 ? level.camera_snapto > 0 : ((level.stick_camera ? -1 : ((originoffset ? level.camera_prev_snapto == level.camera_snapto : ((button_is_held("BUTTON_LTRIG") || button_is_held("BUTTON_RTRIG")) ? newmovement[1] <= -0.4 : newmovement[1] >= 0.4)) ? newmovement[0] <= -0.4 : newmovement[0] >= 0.4)) ? dolly_movement[0] <= -0.4 : dolly_movement[0] >= 0.4) -IsDefined(level.camera) #/ } diff --git a/BO2/PC/ZM/maps/mp/_createfxmenu.gsc b/BO2/PC/ZM/maps/mp/_createfxmenu.gsc index 48f1a20..6954693 100644 --- a/BO2/PC/ZM/maps/mp/_createfxmenu.gsc +++ b/BO2/PC/ZM/maps/mp/_createfxmenu.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 35 - * Decompile Time: 145 ms - * Timestamp: 10/27/2023 3:03:42 AM + * Decompile Time: 15 ms + * Timestamp: 10/28/2023 12:12:02 AM *******************************************************************/ #include common_scripts/utility; @@ -33,61 +33,136 @@ setmenu(name) create_fx_menu() { /# - exit_menu(); - return; - setmenu("create_oneshot"); - draw_effects_list(); - return; - setmenu("create_loopfx"); - draw_effects_list(); - return; - setmenu("create_exploder"); - draw_effects_list(); - return; - setmenu("create_loopsound"); - ent = createloopsound(); - finish_creating_entity(ent); - setmenu("none"); - return; - increment_list_offset(); - draw_effects_list(); - decrement_list_offset(); - draw_effects_list(); - menu_fx_creation(); - menu_change_selected_fx(); - display_fx_info(get_last_selected_entity()); - clear_settable_fx(); - setmenu("add_options"); - clear_fx_hudelements(); - setmenu("none"); - return; - display_fx_add_options(get_last_selected_entity()); - increment_list_offset(); - decrement_list_offset(); - increment_list_offset(); - draw_effects_list("Select effect to jump to:"); - decrement_list_offset(); - draw_effects_list("Select effect to jump to:"); - jump_to_effect(); - menu_selection(); - increment_list_offset(); - decrement_list_offset(); - clear_fx_hudelements(); - setmenu("none"); - return; - menu_fx_type(); -(button_is_clicked("a")) ? menu("add_options") : ((entities_are_selected()) ? button_is_clicked("rightarrow") : ((button_is_clicked("leftarrow")) ? menu("jump_to_effect") : ((button_is_clicked("rightarrow")) ? button_is_clicked("leftarrow") : ((menu("select_by_property")) ? button_is_clicked("rightarrow") : ((button_is_clicked("leftarrow")) ? menu("change_type") : entities_are_selected()))))) -entities_are_selected() -menu("none") -button_is_clicked("leftarrow") -button_is_clicked("rightarrow") -menu("create_oneshot") || menu("create_loopfx") || menu("create_exploder") || menu("change_fxid") -button_is_clicked("4") -button_is_clicked("3") -button_is_clicked("2") -button_is_clicked("1") -menu("creation") -button_is_clicked("escape","x") + if(button_is_clicked("escape","x")) + { + exit_menu(); + return; + } + + if(menu("creation")) + { + if(button_is_clicked("1")) + { + setmenu("create_oneshot"); + draw_effects_list(); + return; + } + + if(button_is_clicked("2")) + { + setmenu("create_loopfx"); + draw_effects_list(); + return; + } + + if(button_is_clicked("3")) + { + setmenu("create_exploder"); + draw_effects_list(); + return; + } + + if(button_is_clicked("4")) + { + setmenu("create_loopsound"); + ent = createloopsound(); + finish_creating_entity(ent); + setmenu("none"); + return; + } + } + + if(menu("create_oneshot") || menu("create_loopfx") || menu("create_exploder") || menu("change_fxid")) + { + if(button_is_clicked("rightarrow")) + { + increment_list_offset(); + draw_effects_list(); + } + + if(button_is_clicked("leftarrow")) + { + decrement_list_offset(); + draw_effects_list(); + } + + menu_fx_creation(); + } + else if(menu("none")) + { + menu_change_selected_fx(); + if(entities_are_selected()) + { + display_fx_info(get_last_selected_entity()); + if(button_is_clicked("a")) + { + clear_settable_fx(); + setmenu("add_options"); + } + } + } + else if(menu("add_options")) + { + if(!(entities_are_selected())) + { + clear_fx_hudelements(); + setmenu("none"); + return; + } + + display_fx_add_options(get_last_selected_entity()); + if(button_is_clicked("rightarrow")) + { + increment_list_offset(); + } + + if(button_is_clicked("leftarrow")) + { + decrement_list_offset(); + } + } + else if(menu("jump_to_effect")) + { + if(button_is_clicked("rightarrow")) + { + increment_list_offset(); + draw_effects_list("Select effect to jump to:"); + } + + if(button_is_clicked("leftarrow")) + { + decrement_list_offset(); + draw_effects_list("Select effect to jump to:"); + } + + jump_to_effect(); + } + else if(menu("select_by_property")) + { + menu_selection(); + if(button_is_clicked("rightarrow")) + { + increment_list_offset(); + } + + if(button_is_clicked("leftarrow")) + { + decrement_list_offset(); + } + } + else if(menu("change_type")) + { + if(!(entities_are_selected())) + { + clear_fx_hudelements(); + setmenu("none"); + return; + } + else + { + menu_fx_type(); + } + } #/ } @@ -117,46 +192,76 @@ menu_fx_creation() count = 0; picked_fx = undefined; keys = get_level_ambient_fx(); - i = level.effect_list_offset; - for(;;) + for(i = level.effect_list_offset;i < keys.size;i++) { count = count + 1; button_to_check = count; - button_to_check = 0; - picked_fx = keys[i]; - break; - i++; + if(button_to_check == 10) + { + button_to_check = 0; + } + + if(button_is_clicked(button_to_check + "") && !button_is_held("f")) + { + picked_fx = keys[i]; + break; + } + + if(count > level.effect_list_offset_max) + { + break; + } } - return; - apply_option_to_selected_fx(get_option("fxid"),picked_fx); - level.effect_list_offset = 0; - clear_fx_hudelements(); - setmenu("none"); - return; + + if(!(IsDefined(picked_fx))) + { + return; + } + + if(menu("change_fxid")) + { + apply_option_to_selected_fx(get_option("fxid"),picked_fx); + level.effect_list_offset = 0; + clear_fx_hudelements(); + setmenu("none"); + return; + } + ent = undefined; - ent = createloopeffect(picked_fx); - ent = createoneshoteffect(picked_fx); - delay_min = GetDvarInt(#"72501C7"); - delay_max = GetDvarInt(#"A6DCBA49"); - temp = delay_min; - delay_min = delay_max; - delay_max = temp; - ent.v["delay"] = randomintrange(delay_min,delay_max); - ent = createexploder(picked_fx); + if(menu("create_loopfx")) + { + ent = createloopeffect(picked_fx); + } + + if(menu("create_oneshot")) + { + ent = createoneshoteffect(picked_fx); + delay_min = GetDvarInt(#"72501C7"); + delay_max = GetDvarInt(#"A6DCBA49"); + if(delay_min > delay_max) + { + temp = delay_min; + delay_min = delay_max; + delay_max = temp; + } + + ent.v["delay"] = randomintrange(delay_min,delay_max); + } + + if(menu("create_exploder")) + { + ent = createexploder(picked_fx); + } + finish_creating_entity(ent); - store_undo_state("edit",level.selected_fx_ents); + if(level.cfx_last_action != "none") + { + store_undo_state("edit",level.selected_fx_ents); + } + store_undo_state("add",level.createfxent[level.createfxent.size - 1]); level.cfx_last_action = "none"; setmenu("none"); -level.cfx_last_action != "none" -menu("create_exploder") -delay_min > delay_max -menu("create_oneshot") -menu("create_loopfx") -menu("change_fxid") -IsDefined(picked_fx) -(button_to_check == 10) ? button_is_clicked(button_to_check + "") && !button_is_held("f") : count > level.effect_list_offset_max -i < keys.size #/ } @@ -173,7 +278,6 @@ finish_creating_entity(ent) select_last_entity("skip_undo"); move_selection_to_cursor("skip_undo"); update_selected_entities(); -ent.v["origin"] #/ } @@ -181,21 +285,33 @@ ent.v["origin"] change_effect_to_oneshot(ent) { /# - return; - ent.v["exploder"] = undefined; - ent.v["exploder_type"] = undefined; - ent.v["soundalias"] = undefined; - delay_min = GetDvarInt(#"72501C7"); - delay_max = GetDvarInt(#"A6DCBA49"); - temp = delay_min; - delay_min = delay_max; - delay_max = temp; - ent.v["delay"] = randomintrange(delay_min,delay_max); + if(ent.v["type"] == "oneshotfx") + { + return; + } + + if(ent.v["type"] == "exploder") + { + ent.v["exploder"] = undefined; + ent.v["exploder_type"] = undefined; + ent.v["soundalias"] = undefined; + } + + if(!IsDefined(ent.v["delay"]) || ent.v["delay"] == 0) + { + delay_min = GetDvarInt(#"72501C7"); + delay_max = GetDvarInt(#"A6DCBA49"); + if(delay_min > delay_max) + { + temp = delay_min; + delay_min = delay_max; + delay_max = temp; + } + + ent.v["delay"] = randomintrange(delay_min,delay_max); + } + ent.v["type"] = "oneshotfx"; -delay_min > delay_max -!IsDefined(ent.v["delay"]) || ent.v["delay"] == 0 -ent.v["type"] == "exploder" -ent.v["type"] == "oneshotfx" #/ } @@ -203,15 +319,24 @@ ent.v["type"] == "oneshotfx" change_effect_to_loop(ent) { /# - return; - ent.v["exploder"] = undefined; - ent.v["exploder_type"] = undefined; - ent.v["soundalias"] = undefined; - ent.v["delay"] = 1; + if(ent.v["type"] == "loopfx") + { + return; + } + + if(ent.v["type"] == "exploder") + { + ent.v["exploder"] = undefined; + ent.v["exploder_type"] = undefined; + ent.v["soundalias"] = undefined; + } + + if(!IsDefined(ent.v["delay"]) || ent.v["delay"] <= 0) + { + ent.v["delay"] = 1; + } + ent.v["type"] = "loopfx"; -!IsDefined(ent.v["delay"]) || ent.v["delay"] <= 0 -ent.v["type"] == "exploder" -ent.v["type"] == "loopfx" #/ } @@ -219,13 +344,19 @@ ent.v["type"] == "loopfx" change_effect_to_exploder(ent) { /# - return; + if(ent.v["type"] == "exploder") + { + return; + } + ent.v["type"] = "exploder"; - ent.v["delay"] = 0; + if(!IsDefined(ent.v["delay"]) || ent.v["delay"] < 0) + { + ent.v["delay"] = 0; + } + ent.v["exploder"] = 1; ent.v["exploder_type"] = "normal"; -!IsDefined(ent.v["delay"]) || ent.v["delay"] < 0 -ent.v["type"] == "exploder" #/ } @@ -235,26 +366,27 @@ change_ent_type(newtype) /# store_undo_state("edit",level.selected_fx_ents); level.cfx_last_action = "ent_type"; - i = 0; - for(;;) + if(newtype == "oneshotfx") { - change_effect_to_oneshot(level.selected_fx_ents[i]); - i++; + for(i = 0;i < level.selected_fx_ents.size;i++) + { + change_effect_to_oneshot(level.selected_fx_ents[i]); + } } - i = 0; - for(;;) + else if(newtype == "loopfx") { - change_effect_to_loop(level.selected_fx_ents[i]); - i++; + for(i = 0;i < level.selected_fx_ents.size;i++) + { + change_effect_to_loop(level.selected_fx_ents[i]); + } } - i = 0; - for(;;) + else if(newtype == "exploder") { - change_effect_to_exploder(level.selected_fx_ents[i]); - i++; + for(i = 0;i < level.selected_fx_ents.size;i++) + { + change_effect_to_exploder(level.selected_fx_ents[i]); + } } -(i < level.selected_fx_ents.size) ? newtype == "loopfx" : ((i < level.selected_fx_ents.size) ? newtype == "exploder" : i < level.selected_fx_ents.size) -newtype == "oneshotfx" #/ } @@ -329,23 +461,48 @@ entities_are_selected() menu_change_selected_fx() { /# - return; + if(!(level.selected_fx_ents.size)) + { + return; + } + count = 0; drawncount = 0; ent = get_last_selected_ent(); - i = 0; - for(;;) + for(i = 0;i < level.createfx_options.size;i++) { option = level.createfx_options[i]; - count++; - drawncount++; - button_to_check = drawncount; - button_to_check = 0; - prepare_option_for_change(option,drawncount); - break; - i++; + if(!(IsDefined(ent.v[option["name"]]))) + { + } + else + { + count++; + if(count < level.effect_list_offset) + { + } + else + { + drawncount++; + button_to_check = drawncount; + if(button_to_check == 10) + { + button_to_check = 0; + } + + if(button_is_clicked(button_to_check + "") && !button_is_held("f")) + { + prepare_option_for_change(option,drawncount); + break; + } + + if(drawncount > level.effect_list_offset_max) + { + break; + } + } + } } -(level.selected_fx_ents.size) ? i < level.createfx_options.size : ((IsDefined(ent.v[option["name"]])) ? count < level.effect_list_offset : ((button_to_check == 10) ? button_is_clicked(button_to_check + "") && !button_is_held("f") : drawncount > level.effect_list_offset_max)) #/ } @@ -353,17 +510,23 @@ menu_change_selected_fx() prepare_option_for_change(option,drawncount) { /# - setmenu("change_fxid"); - draw_effects_list(); - return; - setmenu("change_type"); - return; + if(option["name"] == "fxid") + { + setmenu("change_fxid"); + draw_effects_list(); + return; + } + + if(option["name"] == "type") + { + setmenu("change_type"); + return; + } + level.createfx_inputlocked = 1; set_option_index(option["name"]); setdvar("fx","nil"); level.createfxhudelements[drawncount + 1][0].color = (1,1,0); -option["name"] == "type" -option["name"] == "fxid" #/ } @@ -371,22 +534,44 @@ option["name"] == "fxid" menu_fx_option_set() { /# - return; + if(GetDvar(#"5977E3") == "nil") + { + return; + } + option = get_selected_option(); setting = undefined; - setting = GetDvar(#"5977E3"); - setting = GetDvarInt(#"5977E3"); - setting = GetDvarFloat(#"5977E3"); - setting = GetDvar(#"5977E3"); - temparray = strtok(setting," "); - setting = (float(temparray[0]),float(temparray[1]),float(temparray[2])); - clear_settable_fx(); - return; + if(option["type"] == "string") + { + setting = GetDvar(#"5977E3"); + } + + if(option["type"] == "int") + { + setting = GetDvarInt(#"5977E3"); + } + + if(option["type"] == "float") + { + setting = GetDvarFloat(#"5977E3"); + } + + if(option["type"] == "vector") + { + setting = GetDvar(#"5977E3"); + temparray = strtok(setting," "); + if(temparray.size == 3) + { + setting = (float(temparray[0]),float(temparray[1]),float(temparray[2])); + } + else + { + clear_settable_fx(); + return; + } + } + apply_option_to_selected_fx(option,setting); -(option["type"] == "float") ? option["type"] == "vector" : temparray.size == 3 -option["type"] == "int" -option["type"] == "string" -GetDvar(#"5977E3") == "nil" #/ } @@ -400,15 +585,26 @@ menu_fx_type() set_fx_hudelement(" (2) Looped"); set_fx_hudelement(" (3) Exploder"); set_fx_hudelement("(x) Exit >"); - change_ent_type("oneshotfx"); - setmenu("none"); - change_ent_type("loopfx"); - setmenu("none"); - change_ent_type("exploder"); - setmenu("none"); - update_selected_entities(); -menu("none") -Stack-Empty ? Stack-Empty : ((button_is_clicked("1") && !button_is_held("f")) ? button_is_clicked("2") && !button_is_held("f") : button_is_clicked("3") && !button_is_held("f")) + if(button_is_clicked("1") && !button_is_held("f")) + { + change_ent_type("oneshotfx"); + setmenu("none"); + } + else if(button_is_clicked("2") && !button_is_held("f")) + { + change_ent_type("loopfx"); + setmenu("none"); + } + else if(button_is_clicked("3") && !button_is_held("f")) + { + change_ent_type("exploder"); + setmenu("none"); + } + + if(menu("none")) + { + update_selected_entities(); + } #/ } @@ -421,28 +617,54 @@ menu_selection() drawncount = 0; option_number = 0; ent = level.selected_fx_ents[level.selected_fx_ents.size - 1]; - set_fx_hudelement("No ent is selected."); - i = level.effect_list_offset; - for(;;) + if(level.selected_fx_ents.size < 1) { - break; - prop_name = level.createfx_options[i]["name"]; - option_number = drawncount + 1; - level.cfx_selected_prop = prop_name; - menunone(); - level.effect_list_offset = 0; - return; - prop_desc = level.createfx_options[i]["description"]; - set_fx_hudelement(option_number + ". " + prop_desc + ": " + ent.v[prop_name]); - drawncount++; - i++; + set_fx_hudelement("No ent is selected."); } - pages = ceil(ent.v.size / level.effect_list_offset_max); - current_page = level.effect_list_offset / level.effect_list_offset_max + 1; - set_fx_hudelement("(<-) Page " + current_page + " of " + pages + " (->)"); + else + { + for(i = level.effect_list_offset;i < level.createfx_options.size;i++) + { + if(drawncount > level.effect_list_offset_max) + { + break; + } + + if(drawncount > ent.v.size) + { + break; + } + + prop_name = level.createfx_options[i]["name"]; + option_number = drawncount + 1; + if(IsDefined(ent.v[prop_name])) + { + if(button_is_clicked(option_number + "") && !button_is_held("f")) + { + level.cfx_selected_prop = prop_name; + menunone(); + level.effect_list_offset = 0; + return; + } + + prop_desc = level.createfx_options[i]["description"]; + set_fx_hudelement(option_number + ". " + prop_desc + ": " + ent.v[prop_name]); + drawncount++; + } + else + { + } + } + } + + if(drawncount > level.effect_list_offset_max) + { + pages = ceil(ent.v.size / level.effect_list_offset_max); + current_page = level.effect_list_offset / level.effect_list_offset_max + 1; + set_fx_hudelement("(<-) Page " + current_page + " of " + pages + " (->)"); + } + set_fx_hudelement("(x) Exit >"); -drawncount > level.effect_list_offset_max -Stack-Empty ? level.selected_fx_ents.size < 1 : ((i < level.createfx_options.size) ? drawncount > level.effect_list_offset_max : ((drawncount > ent.v.size) ? IsDefined(ent.v[prop_name]) : button_is_clicked(option_number + "") && !button_is_held("f"))) #/ } @@ -450,20 +672,23 @@ Stack-Empty ? level.selected_fx_ents.size < 1 : ((i < level.createfx_options.siz apply_option_to_selected_fx(option,setting) { /# - store_undo_state("edit",level.selected_fx_ents); - level.cfx_last_action = option["name"]; - i = 0; - for(;;) + if(level.cfx_last_action != option["name"]) + { + store_undo_state("edit",level.selected_fx_ents); + level.cfx_last_action = option["name"]; + } + + for(i = 0;i < level.selected_fx_ents.size;i++) { ent = level.selected_fx_ents[i]; - ent.v[option["name"]] = setting; - i++; + if(mask(option["mask"],ent.v["type"])) + { + ent.v[option["name"]] = setting; + } } + update_selected_entities(); clear_settable_fx(); -mask(option["mask"],ent.v["type"]) -i < level.selected_fx_ents.size -level.cfx_last_action != option["name"] #/ } @@ -471,14 +696,17 @@ level.cfx_last_action != option["name"] set_option_index(name) { /# - i = 0; - for(;;) + for(i = 0;i < level.createfx_options.size;i++) { - level.selected_fx_option_index = i; - return; - i++; + if(level.createfx_options[i]["name"] != name) + { + } + else + { + level.selected_fx_option_index = i; + return; + } } -Stack-Empty ? i < level.createfx_options.size : level.createfx_options[i]["name"] != name #/ } @@ -516,14 +744,13 @@ addoption(type,name,description,defaultsetting,mask) get_option(name) { /# - i = 0; - for(;;) + for(i = 0;i < level.createfx_options.size;i++) { - return level.createfx_options[i]; - i++; + if(level.createfx_options[i]["name"] == name) + { + return level.createfx_options[i]; + } } -level.createfx_options[i]["name"] == name -i < level.createfx_options.size #/ } @@ -531,34 +758,64 @@ i < level.createfx_options.size display_fx_info(ent) { /# - return; + if(!(menu("none"))) + { + return; + } + clear_fx_hudelements(); - return; + if(!(level.createfx_draw_enabled)) + { + return; + } + set_fx_hudelement("Selected: " + level.selected_fx_ents.size + " Distance: " + get_distance_from_ent(ent)); level.createfxhudelements[0][0].color = (1,1,0); set_fx_hudelement("Name: " + ent.v["fxid"]); - count = 0; - drawncount = 0; - i = 0; - for(;;) + if(entities_are_selected()) { - option = level.createfx_options[i]; - count++; - drawncount++; - set_fx_hudelement(drawncount + ". " + option["description"] + ": " + ent.v[option["name"]]); - more = 1; - break; - i++; + count = 0; + drawncount = 0; + for(i = 0;i < level.createfx_options.size;i++) + { + option = level.createfx_options[i]; + if(!(IsDefined(ent.v[option["name"]]))) + { + } + else + { + count++; + if(count < level.effect_list_offset) + { + } + else + { + drawncount++; + set_fx_hudelement(drawncount + ". " + option["description"] + ": " + ent.v[option["name"]]); + if(drawncount > level.effect_list_offset_max) + { + more = 1; + break; + } + } + } + } + + if(count > level.effect_list_offset_max) + { + pages = ceil(level.createfx_options.size / level.effect_list_offset_max); + current_page = level.effect_list_offset / level.effect_list_offset_max + 1; + set_fx_hudelement("(<-) Page " + current_page + " of " + pages + " (->)"); + } + + set_fx_hudelement("(a) Add >"); + set_fx_hudelement("(x) Exit >"); + } + else + { + set_fx_hudelement("Origin: " + ent.v["origin"]); + set_fx_hudelement("Angles: " + ent.v["angles"]); } - pages = ceil(level.createfx_options.size / level.effect_list_offset_max); - current_page = level.effect_list_offset / level.effect_list_offset_max + 1; - set_fx_hudelement("(<-) Page " + current_page + " of " + pages + " (->)"); - set_fx_hudelement("(a) Add >"); - set_fx_hudelement("(x) Exit >"); - set_fx_hudelement("Origin: " + ent.v["origin"]); - set_fx_hudelement("Angles: " + ent.v["angles"]); -(level.createfx_draw_enabled) ? ((entities_are_selected()) ? i < level.createfx_options.size : ((IsDefined(ent.v[option["name"]])) ? count < level.effect_list_offset : drawncount > level.effect_list_offset_max)) : count > level.effect_list_offset_max -menu("none") #/ } @@ -580,27 +837,58 @@ display_fx_add_options(ent) set_fx_hudelement("Angles: " + ent.v["angles"]); count = 0; drawncount = 0; - level.effect_list_offset = 0; - i = 0; - for(;;) + if(level.effect_list_offset >= level.createfx_options.size) + { + level.effect_list_offset = 0; + } + + for(i = 0;i < level.createfx_options.size;i++) { option = level.createfx_options[i]; - count++; - drawncount++; - button_to_check = drawncount; - button_to_check = 0; - add_option_to_selected_entities(option); - menunone(); - return; - set_fx_hudelement(button_to_check + ". " + option["description"]); - i++; + if(IsDefined(ent.v[option["name"]])) + { + } + else if(!(mask(option["mask"],ent.v["type"]))) + { + } + else + { + count++; + if(count < level.effect_list_offset) + { + } + else if(drawncount >= level.effect_list_offset_max) + { + } + else + { + drawncount++; + button_to_check = drawncount; + if(button_to_check == 10) + { + button_to_check = 0; + } + + if(button_is_clicked(button_to_check + "") && !button_is_held("f")) + { + add_option_to_selected_entities(option); + menunone(); + return; + } + + set_fx_hudelement(button_to_check + ". " + option["description"]); + } + } } - pages = ceil(level.createfx_options.size / level.effect_list_offset_max); - current_page = level.effect_list_offset / level.effect_list_offset_max + 1; - set_fx_hudelement("(<-) Page " + current_page + " of " + pages + " (->)"); + + if(count > level.effect_list_offset_max) + { + pages = ceil(level.createfx_options.size / level.effect_list_offset_max); + current_page = level.effect_list_offset / level.effect_list_offset_max + 1; + set_fx_hudelement("(<-) Page " + current_page + " of " + pages + " (->)"); + } + set_fx_hudelement("(x) Exit >"); -count > level.effect_list_offset_max -Stack-Empty ? level.effect_list_offset >= level.createfx_options.size : ((i < level.createfx_options.size) ? IsDefined(ent.v[option["name"]]) : ((mask(option["mask"],ent.v["type"])) ? count < level.effect_list_offset : ((drawncount >= level.effect_list_offset_max) ? button_to_check == 10 : button_is_clicked(button_to_check + "") && !button_is_held("f")))) #/ } @@ -608,15 +896,14 @@ Stack-Empty ? level.effect_list_offset >= level.createfx_options.size : ((i < le add_option_to_selected_entities(option) { /# - i = 0; - for(;;) + for(i = 0;i < level.selected_fx_ents.size;i++) { ent = level.selected_fx_ents[i]; - ent.v[option["name"]] = option["default"]; - i++; + if(mask(option["mask"],ent.v["type"])) + { + ent.v[option["name"]] = option["default"]; + } } -mask(option["mask"],ent.v["type"]) -i < level.selected_fx_ents.size #/ } @@ -635,29 +922,41 @@ draw_effects_list(title) { /# clear_fx_hudelements(); - title = "Pick an effect:"; + if(!(IsDefined(title))) + { + title = "Pick an effect:"; + } + set_fx_hudelement(title); count = 0; more = 0; keys = get_level_ambient_fx(); - level.effect_list_offset = 0; - level.effect_list_offset = int(floor(keys.size / level.effect_list_offset_max) * level.effect_list_offset_max); - i = level.effect_list_offset; - for(;;) + if(level.effect_list_offset >= keys.size) + { + level.effect_list_offset = 0; + } + else if(level.effect_list_offset < 0) + { + level.effect_list_offset = int(floor(keys.size / level.effect_list_offset_max) * level.effect_list_offset_max); + } + + for(i = level.effect_list_offset;i < keys.size;i++) { count = count + 1; set_fx_hudelement(count + ". " + keys[i]); - more = 1; - break; - i++; + if(count >= level.effect_list_offset_max) + { + more = 1; + break; + } + } + + if(keys.size > level.effect_list_offset_max) + { + pages = ceil(keys.size / level.effect_list_offset_max); + current_page = level.effect_list_offset / level.effect_list_offset_max + 1; + set_fx_hudelement("(<-) Page " + current_page + " of " + pages + " (->)"); } - pages = ceil(keys.size / level.effect_list_offset_max); - current_page = level.effect_list_offset / level.effect_list_offset_max + 1; - set_fx_hudelement("(<-) Page " + current_page + " of " + pages + " (->)"); -keys.size > level.effect_list_offset_max -count >= level.effect_list_offset_max -i < keys.size -IsDefined(title) ? level.effect_list_offset >= keys.size : level.effect_list_offset < 0 #/ } @@ -684,27 +983,47 @@ jump_to_effect() count = 0; picked_fxid = undefined; keys = get_level_ambient_fx(); - i = level.effect_list_offset; - for(;;) + for(i = level.effect_list_offset;i < keys.size;i++) { count = count + 1; button_to_check = count; - button_to_check = 0; - picked_fxid = keys[i]; - break; - i++; + if(button_to_check == 10) + { + button_to_check = 0; + } + + if(button_is_clicked(button_to_check + "") && !button_is_held("f")) + { + picked_fxid = keys[i]; + break; + } + + if(count > level.effect_list_offset_max) + { + break; + } } - return; + + if(!(IsDefined(picked_fxid))) + { + return; + } + clear_entity_selection(); ent = get_next_ent_with_same_id(-1,picked_fxid); - level.cfx_next_ent = ent; - move_player_to_next_same_effect(1); - iprintln("Effect " + picked_fxid + " has not been placed."); + if(IsDefined(ent)) + { + level.cfx_next_ent = ent; + move_player_to_next_same_effect(1); + } + else + { + iprintln("Effect " + picked_fxid + " has not been placed."); + } + level.effect_list_offset = 0; clear_fx_hudelements(); setmenu("none"); -((button_to_check == 10) ? button_is_clicked(button_to_check + "") && !button_is_held("f") : count > level.effect_list_offset_max) ? IsDefined(picked_fxid) : IsDefined(ent) -i < keys.size #/ } @@ -712,22 +1031,27 @@ i < keys.size get_level_ambient_fx() { /# - keys = getarraykeys(level._effect); - level._effect_keys = []; - k = 0; - i = 0; - for(;;) + if(!(IsDefined(level._effect_keys))) { - level._effect_keys[k] = keys[i]; - k++; - i++; + keys = getarraykeys(level._effect); + level._effect_keys = []; + k = 0; + for(i = 0;i < keys.size;i++) + { + if(issubstr(keys[i],"fx_")) + { + level._effect_keys[k] = keys[i]; + k++; + } + } + + if(level._effect_keys.size == 0) + { + level._effect_keys = keys; + } } - level._effect_keys = keys; + return level._effect_keys; -level._effect_keys.size == 0 -issubstr(keys[i],"fx_") -i < keys.size -IsDefined(level._effect_keys) #/ } diff --git a/BO2/PC/ZM/maps/mp/_createfxundo.gsc b/BO2/PC/ZM/maps/mp/_createfxundo.gsc index e8713c0..0da06c3 100644 --- a/BO2/PC/ZM/maps/mp/_createfxundo.gsc +++ b/BO2/PC/ZM/maps/mp/_createfxundo.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 20 - * Decompile Time: 64 ms - * Timestamp: 10/27/2023 3:03:42 AM + * Decompile Time: 5 ms + * Timestamp: 10/28/2023 12:12:02 AM *******************************************************************/ #include common_scripts/utility; @@ -509,16 +509,26 @@ array_drop(array) debug_print_ent_array(array,name) { /# - println("Printing out " + name); - println("Printing out some array"); - i = 0; - for(;;) + if(IsDefined(name)) { - println("" + i + ": deleted effect"); - println("" + i + ": uniqueid: " + array[i].uniqueid + " fxid: " + array[i].v["fxid"]); - i++; + println("Printing out " + name); + } + else + { + println("Printing out some array"); + } + + for(i = 0;i < array.size;i++) + { + if(!(IsDefined(array[i]))) + { + println("" + i + ": deleted effect"); + } + else + { + println("" + i + ": uniqueid: " + array[i].uniqueid + " fxid: " + array[i].v["fxid"]); + } } -(Stack-Empty ? Stack-Empty : IsDefined(name)) ? i < array.size : IsDefined(array[i]) #/ } @@ -527,20 +537,41 @@ debug_print_latest_state(type) { /# println("^3Saving " + type + " state"); - println("There are no undo states."); - return; - state = level.cfx_undo_states[level.cfx_undo_states.size - 1]; - size = level.cfx_undo_states.size - 1; - println("There are no redo states."); - return; - state = level.cfx_redo_states[level.cfx_redo_states.size - 1]; - size = level.cfx_redo_states.size - 1; - println("There is no limbo state."); - return; - state = level.cfx_limbo_state; - size = 0; + if(type == "undo") + { + if(!(IsDefined(level.cfx_undo_states[level.cfx_undo_states.size - 1]))) + { + println("There are no undo states."); + return; + } + + state = level.cfx_undo_states[level.cfx_undo_states.size - 1]; + size = level.cfx_undo_states.size - 1; + } + else if(type == "redo") + { + if(!(IsDefined(level.cfx_redo_states[level.cfx_redo_states.size - 1]))) + { + println("There are no redo states."); + return; + } + + state = level.cfx_redo_states[level.cfx_redo_states.size - 1]; + size = level.cfx_redo_states.size - 1; + } + else + { + if(!(IsDefined(level.cfx_limbo_state))) + { + println("There is no limbo state."); + return; + } + + state = level.cfx_limbo_state; + size = 0; + } + println("State " + size + " - " + state.operation + ": " + state.last_action); debug_print_ent_array(state.ent_array,"save state ent_array"); -type == "undo" ? IsDefined(level.cfx_undo_states[level.cfx_undo_states.size - 1]) : (type == "redo" ? IsDefined(level.cfx_redo_states[level.cfx_redo_states.size - 1]) : IsDefined(level.cfx_limbo_state)) #/ } \ No newline at end of file diff --git a/BO2/PC/ZM/maps/mp/_demo.gsc b/BO2/PC/ZM/maps/mp/_demo.gsc index ff30994..481fa4f 100644 --- a/BO2/PC/ZM/maps/mp/_demo.gsc +++ b/BO2/PC/ZM/maps/mp/_demo.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 3 - * Decompile Time: 15 ms - * Timestamp: 10/27/2023 3:03:42 AM + * Decompile Time: 1 ms + * Timestamp: 10/28/2023 12:12:02 AM *******************************************************************/ //Function Number: 1 diff --git a/BO2/PC/ZM/maps/mp/_fx.gsc b/BO2/PC/ZM/maps/mp/_fx.gsc index e9f4a82..d5a0bd0 100644 --- a/BO2/PC/ZM/maps/mp/_fx.gsc +++ b/BO2/PC/ZM/maps/mp/_fx.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 31 - * Decompile Time: 94 ms - * Timestamp: 10/27/2023 3:03:43 AM + * Decompile Time: 12 ms + * Timestamp: 10/28/2023 12:12:03 AM *******************************************************************/ #include common_scripts/utility; @@ -16,15 +16,17 @@ print_org(fxcommand,fxid,fxpos,waittime) { /# - println("{"); - println("\"origin\" \" + fxpos[0] + " " + fxpos[1] + " " + fxpos[2] + "\"); - println("\"classname\" \"script_model\"); - println("\"model\" \"fx\"); - println("\"script_fxcommand\" \" + fxcommand + "\"); - println("\"script_fxid\" \" + fxid + "\"); - println("\"script_delay\" \" + waittime + "\"); - println("}"); -GetDvar(#"F49A52C") == "1" + if(GetDvar(#"F49A52C") == "1") + { + println("{"); + println("\"origin\" \" + fxpos[0] + " " + fxpos[1] + " " + fxpos[2] + "\"); + println("\"classname\" \"script_model\"); + println("\"model\" \"fx\"); + println("\"script_fxcommand\" \" + fxcommand + "\"); + println("\"script_fxid\" \" + fxid + "\"); + println("\"script_delay\" \" + waittime + "\"); + println("}"); + } #/ } @@ -415,18 +417,36 @@ setup_fx() script_print_fx() { /# - println("Effect at origin ",self.origin," doesn\'t have script_fxid/script_fxcommand/script_delay"); - self delete(); - return; - org = getent(self.target,"targetname").origin; - org = "undefined"; - println("mapsmp_fx::OneShotfx(\" + self.script_fxid + "\", " + self.origin + ", " + self.script_delay + ", " + org + ");"); - println("mapsmp_fx::LoopFx(\" + self.script_fxid + "\", " + self.origin + ", " + self.script_delay + ", " + org + ");"); - println("mapsmp_fx::LoopSound(\" + self.script_fxid + "\", " + self.origin + ", " + self.script_delay + ", " + org + ");"); -self.script_fxcommand == "loopsound" -self.script_fxcommand == "loopfx" -self.script_fxcommand == "OneShotfx" -Stack-Empty ? !IsDefined(self.script_fxid) || !IsDefined(self.script_fxcommand) || !IsDefined(self.script_delay) : IsDefined(self.target) + if(!IsDefined(self.script_fxid) || !IsDefined(self.script_fxcommand) || !IsDefined(self.script_delay)) + { + println("Effect at origin ",self.origin," doesn\'t have script_fxid/script_fxcommand/script_delay"); + self delete(); + return; + } + + if(IsDefined(self.target)) + { + org = getent(self.target,"targetname").origin; + } + else + { + org = "undefined"; + } + + if(self.script_fxcommand == "OneShotfx") + { + println("mapsmp_fx::OneShotfx(\" + self.script_fxid + "\", " + self.origin + ", " + self.script_delay + ", " + org + ");"); + } + + if(self.script_fxcommand == "loopfx") + { + println("mapsmp_fx::LoopFx(\" + self.script_fxid + "\", " + self.origin + ", " + self.script_delay + ", " + org + ");"); + } + + if(self.script_fxcommand == "loopsound") + { + println("mapsmp_fx::LoopSound(\" + self.script_fxid + "\", " + self.origin + ", " + self.script_delay + ", " + org + ");"); + } #/ } diff --git a/BO2/PC/ZM/maps/mp/_fxanim.gsc b/BO2/PC/ZM/maps/mp/_fxanim.gsc index 08318e0..d4b6542 100644 --- a/BO2/PC/ZM/maps/mp/_fxanim.gsc +++ b/BO2/PC/ZM/maps/mp/_fxanim.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 1 - * Decompile Time: 13 ms - * Timestamp: 10/27/2023 3:03:44 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:12:03 AM *******************************************************************/ #using_animtree( "fxanim_props" ); diff --git a/BO2/PC/ZM/maps/mp/_global_fx.gsc b/BO2/PC/ZM/maps/mp/_global_fx.gsc index e37ce24..ee5f687 100644 --- a/BO2/PC/ZM/maps/mp/_global_fx.gsc +++ b/BO2/PC/ZM/maps/mp/_global_fx.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 3 - * Decompile Time: 12 ms - * Timestamp: 10/27/2023 3:03:44 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:12:03 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/PC/ZM/maps/mp/_interactive_objects.gsc b/BO2/PC/ZM/maps/mp/_interactive_objects.gsc index 58b91af..3782cb5 100644 --- a/BO2/PC/ZM/maps/mp/_interactive_objects.gsc +++ b/BO2/PC/ZM/maps/mp/_interactive_objects.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 9 - * Decompile Time: 70 ms - * Timestamp: 10/27/2023 3:03:45 AM + * Decompile Time: 13 ms + * Timestamp: 10/28/2023 12:12:04 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/PC/ZM/maps/mp/_music.gsc b/BO2/PC/ZM/maps/mp/_music.gsc index c46020b..ffabd4b 100644 --- a/BO2/PC/ZM/maps/mp/_music.gsc +++ b/BO2/PC/ZM/maps/mp/_music.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 2 - * Decompile Time: 3 ms - * Timestamp: 10/27/2023 3:03:45 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:12:04 AM *******************************************************************/ #include maps/mp/_utility; diff --git a/BO2/PC/ZM/maps/mp/_script_gen.gsc b/BO2/PC/ZM/maps/mp/_script_gen.gsc index aabfd15..57204bb 100644 --- a/BO2/PC/ZM/maps/mp/_script_gen.gsc +++ b/BO2/PC/ZM/maps/mp/_script_gen.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 4 - * Decompile Time: 66 ms - * Timestamp: 10/27/2023 3:03:45 AM + * Decompile Time: 3 ms + * Timestamp: 10/28/2023 12:12:04 AM *******************************************************************/ #include common_scripts/utility; @@ -31,45 +31,76 @@ script_gen_dump() { /# script_gen_dump_checksaved(); - flag_set("scriptgen_done"); - return; - firstrun = 0; - println(" "); - println(" "); - println(" "); - println("^2 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- "); - println("^3Dumping scriptgen dump for these reasons"); - println("^2 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- "); - i = 0; - for(;;) + if(!(level.script_gen_dump_reasons.size)) { - substr = getsubstr(level.script_gen_dump_reasons[i],15); - println(i + ". ) " + substr); - println(i + ". ) " + level.script_gen_dump_reasons[i]); - firstrun = 1; - i++; + flag_set("scriptgen_done"); + return; } - println("^2 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- "); - println(" "); - println("for First Run make sure you delete all of the vehicle precache script calls, createart calls, createfx calls( most commonly placed in maps\\" + level.script + "_fx.gsc ) "); - println(" "); - println("replace:"); - println("maps\\_load::main( 1 );"); - println(" "); - println("with( don\'t forget to add this file to P4 ):"); - println("maps\\scriptgen\\" + level.script + "_scriptgen::main();"); - println(" "); - println("^2 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- "); - println(" "); - println("^2 / \\ / \\ / \\"); - println("^2scroll up"); - println("^2 / \\ / \\ / \\"); - println(" "); - return; + + firstrun = 0; + if(level.bscriptgened) + { + println(" "); + println(" "); + println(" "); + println("^2 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- "); + println("^3Dumping scriptgen dump for these reasons"); + println("^2 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- "); + for(i = 0;i < level.script_gen_dump_reasons.size;i++) + { + if(issubstr(level.script_gen_dump_reasons[i],"nowrite")) + { + substr = getsubstr(level.script_gen_dump_reasons[i],15); + println(i + ". ) " + substr); + } + else + { + println(i + ". ) " + level.script_gen_dump_reasons[i]); + } + + if(level.script_gen_dump_reasons[i] == "First run") + { + firstrun = 1; + } + } + + println("^2 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- "); + println(" "); + if(firstrun) + { + println("for First Run make sure you delete all of the vehicle precache script calls, createart calls, createfx calls( most commonly placed in maps\\" + level.script + "_fx.gsc ) "); + println(" "); + println("replace:"); + println("maps\\_load::main( 1 );"); + println(" "); + println("with( don\'t forget to add this file to P4 ):"); + println("maps\\scriptgen\\" + level.script + "_scriptgen::main();"); + println(" "); + } + + println("^2 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- "); + println(" "); + println("^2 / \\ / \\ / \\"); + println("^2scroll up"); + println("^2 / \\ / \\ / \\"); + println(" "); + } + else + { + return; + } + filename = "scriptgen/" + level.script + "_scriptgen.gsc"; csvfilename = "zone_source/" + level.script + ".csv"; - file = openfile(filename,"write"); - file = 0; + if(level.bscriptgened) + { + file = openfile(filename,"write"); + } + else + { + file = 0; + } + /# assert(file != -1,"File not writeable( check it and and restart the map ): " + filename); #/ @@ -80,82 +111,114 @@ script_gen_dump() script_gen_dumpprintln(file,"\tlevel.script_gen_dump = [];"); script_gen_dumpprintln(file,""); signatures = getarraykeys(level.script_gen_dump); - i = 0; - for(;;) + for(i = 0;i < signatures.size;i++) { - script_gen_dumpprintln(file,"\t" + level.script_gen_dump[signatures[i]]); - i++; + if(!(issubstr(level.script_gen_dump[signatures[i]],"nowrite"))) + { + script_gen_dumpprintln(file,"\t" + level.script_gen_dump[signatures[i]]); + } } - i = 0; - for(;;) + + for(i = 0;i < signatures.size;i++) { - script_gen_dumpprintln(file,"\tlevel.script_gen_dump[ " + "\" + signatures[i] + "\" + " ] = " + "\" + signatures[i] + "\" + ";"); - script_gen_dumpprintln(file,"\tlevel.script_gen_dump[ " + "\" + signatures[i] + "\" + " ] = " + "\"nowrite\" + ";"); - i++; + if(!(issubstr(level.script_gen_dump[signatures[i]],"nowrite"))) + { + script_gen_dumpprintln(file,"\tlevel.script_gen_dump[ " + "\" + signatures[i] + "\" + " ] = " + "\" + signatures[i] + "\" + ";"); + } + else + { + script_gen_dumpprintln(file,"\tlevel.script_gen_dump[ " + "\" + signatures[i] + "\" + " ] = " + "\"nowrite\" + ";"); + } } + script_gen_dumpprintln(file,""); keys1 = undefined; keys2 = undefined; - keys1 = getarraykeys(level.sg_precacheanims); - i = 0; - for(;;) + if(IsDefined(level.sg_precacheanims)) { - script_gen_dumpprintln(file,"\tanim_precach_" + keys1[i] + "();"); - i++; + keys1 = getarraykeys(level.sg_precacheanims); } + + if(IsDefined(keys1)) + { + for(i = 0;i < keys1.size;i++) + { + script_gen_dumpprintln(file,"\tanim_precach_" + keys1[i] + "();"); + } + } + script_gen_dumpprintln(file,"\tmaps\\_load::main( 1, " + level.bcsvgened + ", 1 );"); script_gen_dumpprintln(file,"}"); script_gen_dumpprintln(file,""); - keys1 = getarraykeys(level.sg_precacheanims); - i = 0; - for(;;) + if(IsDefined(level.sg_precacheanims)) { - script_gen_dumpprintln(file,"#using_animtree( \" + keys1[i] + "\" );"); - script_gen_dumpprintln(file,"anim_precach_" + keys1[i] + "()"); - script_gen_dumpprintln(file,"{"); - script_gen_dumpprintln(file,"\tlevel.sg_animtree[ \" + keys1[i] + "\" ] = #animtree;"); - keys2 = getarraykeys(level.sg_precacheanims[keys1[i]]); - j = 0; - for(;;) - { - script_gen_dumpprintln(file,"\tlevel.sg_anim[ \" + keys2[j] + "\" ] = %" + keys2[j] + ";"); - j++; - } - script_gen_dumpprintln(file,"}"); - script_gen_dumpprintln(file,""); - i++; + keys1 = getarraykeys(level.sg_precacheanims); } - saved = closefile(file); - saved = 1; - csvfile = openfile(csvfilename,"write"); - csvfile = 0; + + if(IsDefined(keys1)) + { + for(i = 0;i < keys1.size;i++) + { + script_gen_dumpprintln(file,"#using_animtree( \" + keys1[i] + "\" );"); + script_gen_dumpprintln(file,"anim_precach_" + keys1[i] + "()"); + script_gen_dumpprintln(file,"{"); + script_gen_dumpprintln(file,"\tlevel.sg_animtree[ \" + keys1[i] + "\" ] = #animtree;"); + keys2 = getarraykeys(level.sg_precacheanims[keys1[i]]); + if(IsDefined(keys2)) + { + for(j = 0;j < keys2.size;j++) + { + script_gen_dumpprintln(file,"\tlevel.sg_anim[ \" + keys2[j] + "\" ] = %" + keys2[j] + ";"); + } + } + + script_gen_dumpprintln(file,"}"); + script_gen_dumpprintln(file,""); + } + } + + if(level.bscriptgened) + { + saved = closefile(file); + } + else + { + saved = 1; + } + + if(level.bcsvgened) + { + csvfile = openfile(csvfilename,"write"); + } + else + { + csvfile = 0; + } + /# assert(csvfile != -1,"File not writeable( check it and and restart the map ): " + csvfilename); #/ signatures = getarraykeys(level.script_gen_dump); - i = 0; - for(;;) + for(i = 0;i < signatures.size;i++) { script_gen_csvdumpprintln(csvfile,signatures[i]); - i++; } - csvfilesaved = closefile(csvfile); - csvfilesaved = 1; + + if(level.bcsvgened) + { + csvfilesaved = closefile(csvfile); + } + else + { + csvfilesaved = 1; + } + /# assert(csvfilesaved == 1,"csv not saved( see above message? ): " + csvfilename); #/ /# assert(saved == 1,"map not saved( see above message? ): " + filename); #/ -(i < keys1.size ? (IsDefined(keys2) ? j < keys2.size : level.bscriptgened) : level.bcsvgened) ? i < signatures.size : level.bcsvgened -IsDefined(keys1) -IsDefined(level.sg_precacheanims) -i < keys1.size -IsDefined(keys1) -IsDefined(level.sg_precacheanims) -(issubstr(level.script_gen_dump[signatures[i]],"nowrite")) ? i < signatures.size : issubstr(level.script_gen_dump[signatures[i]],"nowrite") -i < signatures.size -(level.script_gen_dump_reasons.size) ? ((level.bscriptgened ? i < level.script_gen_dump_reasons.size : issubstr(level.script_gen_dump_reasons[i],"nowrite")) ? level.script_gen_dump_reasons[i] == "First run" : firstrun) : level.bscriptgened #/ /# assert(!level.bscriptgened,"SCRIPTGEN generated: follow instructions listed above this error in the console"); @@ -164,9 +227,8 @@ i < signatures.size { /# assertmsg("SCRIPTGEN updated: Rebuild fast file and run map again"); -#/ } - +#/ flag_set("scriptgen_done"); } @@ -244,7 +306,7 @@ script_gen_csvdumpprintln(file,signature) { prefix = "string"; /# - assertmsg("string not yet supported by scriptgen"); + assertmsg("string not yet supported by scriptgen"); #/ } else if(issubstr(signature,"turret")) @@ -275,9 +337,14 @@ script_gen_csvdumpprintln(file,signature) } /# - println(string); - fprintln(file,string); -Stack-Empty ? Stack-Empty : file == -1 || !level.bcsvgened + if(file == -1 || !level.bcsvgened) + { + println(string); + } + else + { + fprintln(file,string); + } #/ } @@ -285,8 +352,13 @@ Stack-Empty ? Stack-Empty : file == -1 || !level.bcsvgened script_gen_dumpprintln(file,string) { /# - println(string); - fprintln(file,string); -Stack-Empty ? Stack-Empty : file == -1 || !level.bscriptgened + if(file == -1 || !level.bscriptgened) + { + println(string); + } + else + { + fprintln(file,string); + } #/ } \ No newline at end of file diff --git a/BO2/PC/ZM/maps/mp/_serverfaceanim_mp.gsc b/BO2/PC/ZM/maps/mp/_serverfaceanim_mp.gsc index dd02f9e..ade14f6 100644 --- a/BO2/PC/ZM/maps/mp/_serverfaceanim_mp.gsc +++ b/BO2/PC/ZM/maps/mp/_serverfaceanim_mp.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 4 - * Decompile Time: 18 ms - * Timestamp: 10/27/2023 3:03:46 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:12:04 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/PC/ZM/maps/mp/_sticky_grenade.gsc b/BO2/PC/ZM/maps/mp/_sticky_grenade.gsc index 890d80f..4285b35 100644 --- a/BO2/PC/ZM/maps/mp/_sticky_grenade.gsc +++ b/BO2/PC/ZM/maps/mp/_sticky_grenade.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 2 - * Decompile Time: 8 ms - * Timestamp: 10/27/2023 3:03:46 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:12:05 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/PC/ZM/maps/mp/_utility.gsc b/BO2/PC/ZM/maps/mp/_utility.gsc index d4d7b4a..2335bfd 100644 --- a/BO2/PC/ZM/maps/mp/_utility.gsc +++ b/BO2/PC/ZM/maps/mp/_utility.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 176 - * Decompile Time: 324 ms - * Timestamp: 10/27/2023 3:03:48 AM + * Decompile Time: 33 ms + * Timestamp: 10/28/2023 12:12:05 AM *******************************************************************/ #include common_scripts/utility; @@ -78,10 +78,12 @@ error(msg) /# println("^c*ERROR* ",msg); wait(0.05); + if(GetDvar(#"F49A52C") != "1") + { /# - assertmsg("This is a forced error - attach the log file"); + assertmsg("This is a forced error - attach the log file"); + } #/ -GetDvar(#"F49A52C") != "1" #/ } @@ -1195,15 +1197,36 @@ activate_exploder(num) { num = int(num); /# - i = 0; - for(;;) + if(level.createfx_enabled) { - ent = level.createfxent[i]; - client_send = 0; - ent activate_individual_exploder(); - i++; + for(i = 0;i < level.createfxent.size;i++) + { + ent = level.createfxent[i]; + if(!(IsDefined(ent))) + { + } + else if(ent.v["type"] != "exploder") + { + } + else if(!(IsDefined(ent.v["exploder"]))) + { + } + else if(ent.v["exploder"] != num) + { + } + else + { + if(IsDefined(ent.v["exploder_server"])) + { + client_send = 0; + } + + ent activate_individual_exploder(); + } + } + + return; } -Stack-Empty ? Stack-Empty : ((level.createfx_enabled) ? i < level.createfxent.size : (IsDefined(ent) ? ent.v["type"] != "exploder" : ((IsDefined(ent.v["exploder"])) ? ent.v["exploder"] != num : IsDefined(ent.v["exploder_server"])))) #/ client_send = 1; if(IsDefined(level.createfxexploders[num])) @@ -1459,22 +1482,31 @@ plot_points(plotpoints,r,g,b,timer) { /# lastpoint = plotpoints[0]; - r = 1; - g = 1; - b = 1; - timer = 0.05; - i = 1; - for(;;) + if(!(IsDefined(r))) + { + r = 1; + } + + if(!(IsDefined(g))) + { + g = 1; + } + + if(!(IsDefined(b))) + { + b = 1; + } + + if(!(IsDefined(timer))) + { + timer = 0.05; + } + + for(i = 1;i < plotpoints.size;i++) { line(lastpoint,plotpoints[i],(r,g,b),1,timer); lastpoint = plotpoints[i]; - i++; } -i < plotpoints.size -IsDefined(timer) -IsDefined(b) -IsDefined(g) -IsDefined(r) #/ } @@ -2249,9 +2281,12 @@ set_dvar_int_if_unset(dvar,value,reset) drawcylinder(pos,rad,height,duration,stop_notify) { /# - duration = 0; + if(!(IsDefined(duration))) + { + duration = 0; + } + level thread drawcylinder_think(pos,rad,height,duration,stop_notify); -IsDefined(duration) #/ } @@ -2259,27 +2294,32 @@ IsDefined(duration) drawcylinder_think(pos,rad,height,seconds,stop_notify) { /# - level endon(stop_notify,IsDefined(stop_notify)); + if(IsDefined(stop_notify)) + { + level endon(stop_notify); + } + stop_time = GetTime() + seconds * 1000; currad = rad; curheight = height; for(;;) { - return; - r = 0; - for(;;) + if(seconds > 0 && stop_time <= GetTime()) + { + return; + } + + for(r = 0;r < 20;r++) { theta = r / 20 * 360; theta2 = r + 1 / 20 * 360; line(pos + (cos(theta) * currad,sin(theta) * currad,0),pos + (cos(theta2) * currad,sin(theta2) * currad,0)); line(pos + (cos(theta) * currad,sin(theta) * currad,curheight),pos + (cos(theta2) * currad,sin(theta2) * currad,curheight)); line(pos + (cos(theta) * currad,sin(theta) * currad,0),pos + (cos(theta) * currad,sin(theta) * currad,curheight)); - r++; } + wait(0.05); } -r < 20 -seconds > 0 && stop_time <= GetTime() #/ } diff --git a/BO2/PC/ZM/maps/mp/_visionset_mgr.gsc b/BO2/PC/ZM/maps/mp/_visionset_mgr.gsc index 2746267..ce66dd7 100644 --- a/BO2/PC/ZM/maps/mp/_visionset_mgr.gsc +++ b/BO2/PC/ZM/maps/mp/_visionset_mgr.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 27 - * Decompile Time: 60 ms - * Timestamp: 10/27/2023 3:03:48 AM + * Decompile Time: 15 ms + * Timestamp: 10/28/2023 12:12:05 AM *******************************************************************/ #include common_scripts/utility; @@ -415,9 +415,14 @@ monitor() for(player_index = 0;player_index < players.size;player_index++) { /# -is_true(players[player_index].pers["isBot"]) + if(is_true(players[player_index].pers["isBot"])) + { + } + else + { #/ - update_clientfields(players[player_index],level.vsmgr[type]); + update_clientfields(players[player_index],level.vsmgr[type]); + } } } } diff --git a/BO2/PC/ZM/maps/mp/animscripts/dog_combat.gsc b/BO2/PC/ZM/maps/mp/animscripts/dog_combat.gsc index b014669..f679e2f 100644 --- a/BO2/PC/ZM/maps/mp/animscripts/dog_combat.gsc +++ b/BO2/PC/ZM/maps/mp/animscripts/dog_combat.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 5 - * Decompile Time: 21 ms - * Timestamp: 10/27/2023 3:02:01 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:11:25 AM *******************************************************************/ #include common_scripts/utility; @@ -19,8 +19,11 @@ main() self endon("killanimscript"); self setaimanimweights(0,0); /# - combatidle(); -debug_allow_combat() + if(!(debug_allow_combat())) + { + combatidle(); + return; + } #/ if(IsDefined(level.hostmigrationtimer)) { diff --git a/BO2/PC/ZM/maps/mp/animscripts/dog_death.gsc b/BO2/PC/ZM/maps/mp/animscripts/dog_death.gsc index a4c18a7..b499f58 100644 --- a/BO2/PC/ZM/maps/mp/animscripts/dog_death.gsc +++ b/BO2/PC/ZM/maps/mp/animscripts/dog_death.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 1 - * Decompile Time: 10 ms - * Timestamp: 10/27/2023 3:02:02 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:11:26 AM *******************************************************************/ #include maps/mp/animscripts/shared; diff --git a/BO2/PC/ZM/maps/mp/animscripts/dog_flashed.gsc b/BO2/PC/ZM/maps/mp/animscripts/dog_flashed.gsc index 923d0f1..8b9b0dc 100644 --- a/BO2/PC/ZM/maps/mp/animscripts/dog_flashed.gsc +++ b/BO2/PC/ZM/maps/mp/animscripts/dog_flashed.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 2 - * Decompile Time: 8 ms - * Timestamp: 10/27/2023 3:02:02 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:11:26 AM *******************************************************************/ #include maps/mp/animscripts/shared; diff --git a/BO2/PC/ZM/maps/mp/animscripts/dog_init.gsc b/BO2/PC/ZM/maps/mp/animscripts/dog_init.gsc index 149472d..bd0e7a1 100644 --- a/BO2/PC/ZM/maps/mp/animscripts/dog_init.gsc +++ b/BO2/PC/ZM/maps/mp/animscripts/dog_init.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 3 - * Decompile Time: 35 ms - * Timestamp: 10/27/2023 3:02:03 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:11:26 AM *******************************************************************/ #include maps/mp/animscripts/dog_combat; diff --git a/BO2/PC/ZM/maps/mp/animscripts/dog_jump.gsc b/BO2/PC/ZM/maps/mp/animscripts/dog_jump.gsc index fab958a..3aec3a4 100644 --- a/BO2/PC/ZM/maps/mp/animscripts/dog_jump.gsc +++ b/BO2/PC/ZM/maps/mp/animscripts/dog_jump.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 1 - * Decompile Time: 7 ms - * Timestamp: 10/27/2023 3:02:03 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:11:26 AM *******************************************************************/ #include maps/mp/animscripts/shared; diff --git a/BO2/PC/ZM/maps/mp/animscripts/dog_move.gsc b/BO2/PC/ZM/maps/mp/animscripts/dog_move.gsc index d2de284..767c452 100644 --- a/BO2/PC/ZM/maps/mp/animscripts/dog_move.gsc +++ b/BO2/PC/ZM/maps/mp/animscripts/dog_move.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 6 - * Decompile Time: 87 ms - * Timestamp: 10/27/2023 3:02:04 AM + * Decompile Time: 9 ms + * Timestamp: 10/28/2023 12:11:27 AM *******************************************************************/ #include maps/mp/animscripts/dog_stop; @@ -43,8 +43,10 @@ main() self setaimanimweights(0,0); do_movement = 1; /# - do_movement = 0; -debug_allow_movement() + if(!(debug_allow_movement())) + { + do_movement = 0; + } #/ if(IsDefined(level.hostmigrationtimer)) { @@ -105,8 +107,10 @@ moveloop() { do_movement = 1; /# - do_movement = 0; -debug_allow_movement() + if(!(debug_allow_movement())) + { + do_movement = 0; + } #/ if(IsDefined(level.hostmigrationtimer)) { @@ -172,9 +176,14 @@ stopmove() shouldrun() { /# - return 1; - return 0; -Stack-Empty ? GetDvarInt(#"DFB12081") != 0 : GetDvarInt(#"D5D7999B") != 0 + if(GetDvarInt(#"DFB12081") != 0) + { + return 1; + } + else if(GetDvarInt(#"D5D7999B") != 0) + { + return 0; + } #/ if(IsDefined(self.enemy)) { diff --git a/BO2/PC/ZM/maps/mp/animscripts/dog_pain.gsc b/BO2/PC/ZM/maps/mp/animscripts/dog_pain.gsc index c624fdb..45e6a33 100644 --- a/BO2/PC/ZM/maps/mp/animscripts/dog_pain.gsc +++ b/BO2/PC/ZM/maps/mp/animscripts/dog_pain.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 1 - * Decompile Time: 40 ms - * Timestamp: 10/27/2023 3:02:04 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:11:27 AM *******************************************************************/ #include maps/mp/animscripts/shared; diff --git a/BO2/PC/ZM/maps/mp/animscripts/dog_stop.gsc b/BO2/PC/ZM/maps/mp/animscripts/dog_stop.gsc index 277147b..878c700 100644 --- a/BO2/PC/ZM/maps/mp/animscripts/dog_stop.gsc +++ b/BO2/PC/ZM/maps/mp/animscripts/dog_stop.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 6 - * Decompile Time: 71 ms - * Timestamp: 10/27/2023 3:02:05 AM + * Decompile Time: 1 ms + * Timestamp: 10/28/2023 12:11:27 AM *******************************************************************/ #include maps/mp/animscripts/shared; diff --git a/BO2/PC/ZM/maps/mp/animscripts/dog_turn.gsc b/BO2/PC/ZM/maps/mp/animscripts/dog_turn.gsc index 63f49a5..b8fa732 100644 --- a/BO2/PC/ZM/maps/mp/animscripts/dog_turn.gsc +++ b/BO2/PC/ZM/maps/mp/animscripts/dog_turn.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 10 - * Decompile Time: 60 ms - * Timestamp: 10/27/2023 3:02:06 AM + * Decompile Time: 1 ms + * Timestamp: 10/28/2023 12:11:27 AM *******************************************************************/ #include maps/mp/animscripts/shared; diff --git a/BO2/PC/ZM/maps/mp/animscripts/shared.gsc b/BO2/PC/ZM/maps/mp/animscripts/shared.gsc index f62478b..03bf541 100644 --- a/BO2/PC/ZM/maps/mp/animscripts/shared.gsc +++ b/BO2/PC/ZM/maps/mp/animscripts/shared.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 12 - * Decompile Time: 38 ms - * Timestamp: 10/27/2023 3:02:06 AM + * Decompile Time: 2 ms + * Timestamp: 10/28/2023 12:11:27 AM *******************************************************************/ #include common_scripts/utility; @@ -39,8 +39,10 @@ growling() handlenotetrack(note,flagname,customfunction,var1) { /# - println("dog notetrack: " + flagname + " " + note + " " + GetTime()); -GetDvarInt(#"6EBEB982") + if(GetDvarInt(#"6EBEB982")) + { + println("dog notetrack: " + flagname + " " + note + " " + GetTime()); + } #/ if(isai(self) && self.type == "dog") { @@ -60,7 +62,8 @@ GetDvarInt(#"6EBEB982") default: return [[ customfunction ]](note); return [[ customfunction ]](note,var1); - Stack-Empty ? IsDefined(customfunction) : IsDefined(var1) + IsDefined(var1) + IsDefined(customfunction) break; } } diff --git a/BO2/PC/ZM/maps/mp/animscripts/traverse/shared.gsc b/BO2/PC/ZM/maps/mp/animscripts/traverse/shared.gsc index e00b5e6..47a23f8 100644 --- a/BO2/PC/ZM/maps/mp/animscripts/traverse/shared.gsc +++ b/BO2/PC/ZM/maps/mp/animscripts/traverse/shared.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 8 - * Decompile Time: 43 ms - * Timestamp: 10/27/2023 3:02:00 AM + * Decompile Time: 3 ms + * Timestamp: 10/28/2023 12:11:16 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/PC/ZM/maps/mp/animscripts/traverse/zm_mantle_over_40.gsc b/BO2/PC/ZM/maps/mp/animscripts/traverse/zm_mantle_over_40.gsc index b77184a..bcd27f9 100644 --- a/BO2/PC/ZM/maps/mp/animscripts/traverse/zm_mantle_over_40.gsc +++ b/BO2/PC/ZM/maps/mp/animscripts/traverse/zm_mantle_over_40.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 1 - * Decompile Time: 4 ms - * Timestamp: 10/27/2023 3:02:01 AM + * Decompile Time: 2774 ms + * Timestamp: 10/28/2023 12:11:25 AM *******************************************************************/ #include maps/mp/animscripts/traverse/shared; @@ -40,11 +40,11 @@ main() break; default: - traversealias = self [[ level.zm_mantle_over_40_move_speed_override ]](); - /# - assertmsg("Zombie \'" + self.classname + "\' move speed of \'" + self.zombie_move_speed + "\' is not supported for mantle_over_40."); - #/ - IsDefined(level.zm_mantle_over_40_move_speed_override) + if(IsDefined(level.zm_mantle_over_40_move_speed_override)) + traversealias = self [[ level.zm_mantle_over_40_move_speed_override ]](); +/# else + assertmsg("Zombie \'" + self.classname + "\' move speed of \'" + self.zombie_move_speed + "\' is not supported for mantle_over_40."); +#/ break; } } @@ -53,6 +53,5 @@ main() traversestate = "zm_traverse_barrier_crawl"; traversealias = "barrier_crawl"; } - - self dotraverse(traversestate,traversealias); + self dotraverse( traversestate, traversealias ); } \ No newline at end of file diff --git a/BO2/PC/ZM/maps/mp/animscripts/traverse/zm_shared.gsc b/BO2/PC/ZM/maps/mp/animscripts/traverse/zm_shared.gsc index e77ee78..e3075c8 100644 --- a/BO2/PC/ZM/maps/mp/animscripts/traverse/zm_shared.gsc +++ b/BO2/PC/ZM/maps/mp/animscripts/traverse/zm_shared.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 6 - * Decompile Time: 28 ms - * Timestamp: 10/27/2023 3:02:01 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:11:25 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/PC/ZM/maps/mp/animscripts/utility.gsc b/BO2/PC/ZM/maps/mp/animscripts/utility.gsc index 9ea09f9..e07ed2d 100644 --- a/BO2/PC/ZM/maps/mp/animscripts/utility.gsc +++ b/BO2/PC/ZM/maps/mp/animscripts/utility.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 10 - * Decompile Time: 26 ms - * Timestamp: 10/27/2023 3:02:07 AM + * Decompile Time: 3 ms + * Timestamp: 10/28/2023 12:11:27 AM *******************************************************************/ //Function Number: 1 @@ -32,9 +32,17 @@ anim_get_dvar(dvar,def) set_orient_mode(mode,val1) { /# - println("DOG: Setting orient mode: " + mode + " " + val1 + " " + GetTime()); - println("DOG: Setting orient mode: " + mode + " " + GetTime()); -Stack-Empty ? level.dog_debug_orient == self getentnum() : IsDefined(val1) + if(level.dog_debug_orient == self getentnum()) + { + if(IsDefined(val1)) + { + println("DOG: Setting orient mode: " + mode + " " + val1 + " " + GetTime()); + } + else + { + println("DOG: Setting orient mode: " + mode + " " + GetTime()); + } + } #/ if(IsDefined(val1)) { @@ -50,10 +58,15 @@ Stack-Empty ? level.dog_debug_orient == self getentnum() : IsDefined(val1) debug_anim_print(text) { /# - println(text + " " + GetTime()); - println(text + " " + GetTime()); -level.dog_debug_anims_ent == self getentnum() -level.dog_debug_anims + if(level.dog_debug_anims) + { + println(text + " " + GetTime()); + } + + if(level.dog_debug_anims_ent == self getentnum()) + { + println(text + " " + GetTime()); + } #/ } @@ -61,17 +74,19 @@ level.dog_debug_anims debug_turn_print(text,line) { /# - duration = 200; - currentyawcolor = (1,1,1); - lookaheadyawcolor = (1,0,0); - desiredyawcolor = (1,1,0); - currentyaw = AngleClamp180(self.angles[1]); - desiredyaw = AngleClamp180(self.desiredangle); - lookaheaddir = self.lookaheaddir; - lookaheadangles = VectorToAngles(lookaheaddir); - lookaheadyaw = AngleClamp180(lookaheadangles[1]); - println(text + " " + GetTime() + " cur: " + currentyaw + " look: " + lookaheadyaw + " desired: " + desiredyaw); -level.dog_debug_turns == self getentnum() + if(level.dog_debug_turns == self getentnum()) + { + duration = 200; + currentyawcolor = (1,1,1); + lookaheadyawcolor = (1,0,0); + desiredyawcolor = (1,1,0); + currentyaw = AngleClamp180(self.angles[1]); + desiredyaw = AngleClamp180(self.desiredangle); + lookaheaddir = self.lookaheaddir; + lookaheadangles = VectorToAngles(lookaheaddir); + lookaheadyaw = AngleClamp180(lookaheadangles[1]); + println(text + " " + GetTime() + " cur: " + currentyaw + " look: " + lookaheadyaw + " desired: " + desiredyaw); + } #/ } @@ -100,8 +115,12 @@ current_yaw_line_debug(duration) currentyawcolor[1] = (1,0,1); current_color_index = 0; start_time = GetTime(); - level.lastdebugheight = 15; - for(;;) + if(!(IsDefined(level.lastdebugheight))) + { + level.lastdebugheight = 15; + } + + while(GetTime() - start_time < 1000) { pos1 = (self.origin[0],self.origin[1],self.origin[2] + level.lastdebugheight); pos2 = current_color_index + 1 * 10 + VectorScale(AnglesToForward(self.angles)); @@ -109,10 +128,15 @@ current_yaw_line_debug(duration) current_color_index = current_color_index + 1 % currentyawcolor.size; wait(0.05); } - level.lastdebugheight = 30; - level.lastdebugheight = 15; -(GetTime() - start_time < 1000) ? pos1 : level.lastdebugheight == 15 -IsDefined(level.lastdebugheight) + + if(level.lastdebugheight == 15) + { + level.lastdebugheight = 30; + } + else + { + level.lastdebugheight = 15; + } #/ } diff --git a/BO2/PC/ZM/maps/mp/animscripts/zm_combat.gsc b/BO2/PC/ZM/maps/mp/animscripts/zm_combat.gsc index d2097f6..033aaf6 100644 --- a/BO2/PC/ZM/maps/mp/animscripts/zm_combat.gsc +++ b/BO2/PC/ZM/maps/mp/animscripts/zm_combat.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 3 - * Decompile Time: 26 ms - * Timestamp: 10/27/2023 3:02:07 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:11:28 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/PC/ZM/maps/mp/animscripts/zm_death.gsc b/BO2/PC/ZM/maps/mp/animscripts/zm_death.gsc index 67a03aa..ac7296a 100644 --- a/BO2/PC/ZM/maps/mp/animscripts/zm_death.gsc +++ b/BO2/PC/ZM/maps/mp/animscripts/zm_death.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 13 - * Decompile Time: 71 ms - * Timestamp: 10/27/2023 3:02:08 AM + * Decompile Time: 3 ms + * Timestamp: 10/28/2023 12:11:28 AM *******************************************************************/ #include common_scripts/utility; @@ -132,9 +132,8 @@ flame_death_fx() { /# println("^3ANIMSCRIPT WARNING: You are missing level._effect[\"character_fire_death_torso\"], please set it in your levelname_fx.gsc. Use \"env/fire/fx_fire_player_torso\"); -#/ } - +#/ if(IsDefined(level._effect) && IsDefined(level._effect["character_fire_death_sm"])) { wait(1); @@ -162,8 +161,8 @@ flame_death_fx() { /# println("^3ANIMSCRIPT WARNING: You are missing level._effect[\"character_fire_death_sm\"], please set it in your levelname_fx.gsc. Use \"env/fire/fx_fire_zombie_md\"); -#/ } +#/ } //Function Number: 5 diff --git a/BO2/PC/ZM/maps/mp/animscripts/zm_dog_combat.gsc b/BO2/PC/ZM/maps/mp/animscripts/zm_dog_combat.gsc index b151dd5..2bc4f40 100644 --- a/BO2/PC/ZM/maps/mp/animscripts/zm_dog_combat.gsc +++ b/BO2/PC/ZM/maps/mp/animscripts/zm_dog_combat.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 23 - * Decompile Time: 116 ms - * Timestamp: 10/27/2023 3:02:08 AM + * Decompile Time: 7 ms + * Timestamp: 10/28/2023 12:11:28 AM *******************************************************************/ #include common_scripts/utility; @@ -21,8 +21,11 @@ main() self endon("killanimscript"); self setaimanimweights(0,0); /# - combatidle(); -debug_allow_combat() + if(!(debug_allow_combat())) + { + combatidle(); + return; + } #/ if(IsDefined(level.hostmigrationtimer)) { @@ -127,8 +130,10 @@ meleebiteattackplayer2(player) self animmode("gravity"); self.safetochangescript = 0; /# - iprintln("dog " + self getentnum() + " attack player " + GetTime()); - GetDvarInt(#"7B06BF0D") + if(GetDvarInt(#"7B06BF0D")) + { + iprintln("dog " + self getentnum() + " attack player " + GetTime()); + } #/ player setnextdogattackallowtime(200); if(dog_cant_kill_in_one_hit(player)) @@ -226,7 +231,7 @@ handlemeleebiteattacknotetracks(note,player) melee_time = level.dogmeleebiteattacktime; self thread orienttoplayerdeadreckoning(player,melee_time); break; - Stack-Empty ? Stack-Empty : IsDefined(level.dogmeleebiteattacktime) + IsDefined(level.dogmeleebiteattacktime) break; } } @@ -243,7 +248,9 @@ handlemeleefinishattacknotetracks(note,player) break; attackmiss(); return 1; - (IsDefined(level.dogmeleefinishattacktime)) ? IsDefined(hitent) && isalive(player) : hitent == player + hitent == player + IsDefined(hitent) && isalive(player) + IsDefined(level.dogmeleefinishattacktime) break; case "dog_early": @@ -268,7 +275,7 @@ handlemeleefinishattacknotetracks(note,player) melee_time = level.dogmeleefinishattacktime; self thread orienttoplayerdeadreckoning(player,melee_time); break; - Stack-Empty ? Stack-Empty : IsDefined(level.dogmeleefinishattacktime) + IsDefined(level.dogmeleefinishattacktime) break; } } diff --git a/BO2/PC/ZM/maps/mp/animscripts/zm_dog_death.gsc b/BO2/PC/ZM/maps/mp/animscripts/zm_dog_death.gsc index 1d322bd..4c91e17 100644 --- a/BO2/PC/ZM/maps/mp/animscripts/zm_dog_death.gsc +++ b/BO2/PC/ZM/maps/mp/animscripts/zm_dog_death.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 1 - * Decompile Time: 10 ms - * Timestamp: 10/27/2023 3:02:09 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:11:28 AM *******************************************************************/ #include maps/mp/animscripts/utility; diff --git a/BO2/PC/ZM/maps/mp/animscripts/zm_dog_flashed.gsc b/BO2/PC/ZM/maps/mp/animscripts/zm_dog_flashed.gsc index b92477d..3b7c7f4 100644 --- a/BO2/PC/ZM/maps/mp/animscripts/zm_dog_flashed.gsc +++ b/BO2/PC/ZM/maps/mp/animscripts/zm_dog_flashed.gsc @@ -5,7 +5,7 @@ * Platform: PC * Function Count: 1 * Decompile Time: 0 ms - * Timestamp: 10/27/2023 3:02:09 AM + * Timestamp: 10/28/2023 12:11:29 AM *******************************************************************/ //Function Number: 1 diff --git a/BO2/PC/ZM/maps/mp/animscripts/zm_dog_init.gsc b/BO2/PC/ZM/maps/mp/animscripts/zm_dog_init.gsc index e9cae5f..38254f3 100644 --- a/BO2/PC/ZM/maps/mp/animscripts/zm_dog_init.gsc +++ b/BO2/PC/ZM/maps/mp/animscripts/zm_dog_init.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 2 - * Decompile Time: 34 ms - * Timestamp: 10/27/2023 3:02:10 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:11:29 AM *******************************************************************/ #include maps/mp/animscripts/dog_move; diff --git a/BO2/PC/ZM/maps/mp/animscripts/zm_dog_jump.gsc b/BO2/PC/ZM/maps/mp/animscripts/zm_dog_jump.gsc index 4cd8978..c568332 100644 --- a/BO2/PC/ZM/maps/mp/animscripts/zm_dog_jump.gsc +++ b/BO2/PC/ZM/maps/mp/animscripts/zm_dog_jump.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 1 - * Decompile Time: 60 ms - * Timestamp: 10/27/2023 3:02:10 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:11:29 AM *******************************************************************/ #include maps/mp/animscripts/shared; diff --git a/BO2/PC/ZM/maps/mp/animscripts/zm_dog_move.gsc b/BO2/PC/ZM/maps/mp/animscripts/zm_dog_move.gsc index 41fdf88..424a041 100644 --- a/BO2/PC/ZM/maps/mp/animscripts/zm_dog_move.gsc +++ b/BO2/PC/ZM/maps/mp/animscripts/zm_dog_move.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 9 - * Decompile Time: 235 ms - * Timestamp: 10/27/2023 3:02:12 AM + * Decompile Time: 6 ms + * Timestamp: 10/28/2023 12:11:29 AM *******************************************************************/ #include maps/mp/animscripts/dog_stop; @@ -45,8 +45,10 @@ main() self setaimanimweights(0,0); do_movement = 1; /# - do_movement = 0; -debug_allow_movement() + if(!(debug_allow_movement())) + { + do_movement = 0; + } #/ if(IsDefined(level.hostmigrationtimer)) { @@ -107,8 +109,10 @@ moveloop() { do_movement = 1; /# - do_movement = 0; -debug_allow_movement() + if(!(debug_allow_movement())) + { + do_movement = 0; + } #/ if(IsDefined(level.hostmigrationtimer)) { diff --git a/BO2/PC/ZM/maps/mp/animscripts/zm_dog_pain.gsc b/BO2/PC/ZM/maps/mp/animscripts/zm_dog_pain.gsc index 3b201db..93e3d0e 100644 --- a/BO2/PC/ZM/maps/mp/animscripts/zm_dog_pain.gsc +++ b/BO2/PC/ZM/maps/mp/animscripts/zm_dog_pain.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 1 - * Decompile Time: 3 ms - * Timestamp: 10/27/2023 3:02:12 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:11:29 AM *******************************************************************/ #include maps/mp/animscripts/utility; diff --git a/BO2/PC/ZM/maps/mp/animscripts/zm_dog_stop.gsc b/BO2/PC/ZM/maps/mp/animscripts/zm_dog_stop.gsc index 811a8fa..326ba4d 100644 --- a/BO2/PC/ZM/maps/mp/animscripts/zm_dog_stop.gsc +++ b/BO2/PC/ZM/maps/mp/animscripts/zm_dog_stop.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 7 - * Decompile Time: 71 ms - * Timestamp: 10/27/2023 3:02:13 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:11:30 AM *******************************************************************/ #include maps/mp/animscripts/shared; diff --git a/BO2/PC/ZM/maps/mp/animscripts/zm_dog_turn.gsc b/BO2/PC/ZM/maps/mp/animscripts/zm_dog_turn.gsc index 3e8d8d2..8ae373c 100644 --- a/BO2/PC/ZM/maps/mp/animscripts/zm_dog_turn.gsc +++ b/BO2/PC/ZM/maps/mp/animscripts/zm_dog_turn.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 10 - * Decompile Time: 42 ms - * Timestamp: 10/27/2023 3:02:13 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:11:30 AM *******************************************************************/ #include maps/mp/animscripts/shared; diff --git a/BO2/PC/ZM/maps/mp/animscripts/zm_flashed.gsc b/BO2/PC/ZM/maps/mp/animscripts/zm_flashed.gsc index 3b6f33b..b1e62be 100644 --- a/BO2/PC/ZM/maps/mp/animscripts/zm_flashed.gsc +++ b/BO2/PC/ZM/maps/mp/animscripts/zm_flashed.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 1 - * Decompile Time: 15 ms - * Timestamp: 10/27/2023 3:02:14 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:11:30 AM *******************************************************************/ #include maps/mp/animscripts/shared; diff --git a/BO2/PC/ZM/maps/mp/animscripts/zm_init.gsc b/BO2/PC/ZM/maps/mp/animscripts/zm_init.gsc index a0fc96c..b39e08a 100644 --- a/BO2/PC/ZM/maps/mp/animscripts/zm_init.gsc +++ b/BO2/PC/ZM/maps/mp/animscripts/zm_init.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 7 - * Decompile Time: 60 ms - * Timestamp: 10/27/2023 3:02:15 AM + * Decompile Time: 1 ms + * Timestamp: 10/28/2023 12:11:30 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/PC/ZM/maps/mp/animscripts/zm_jump.gsc b/BO2/PC/ZM/maps/mp/animscripts/zm_jump.gsc index 8c0ffd0..3f8ef01 100644 --- a/BO2/PC/ZM/maps/mp/animscripts/zm_jump.gsc +++ b/BO2/PC/ZM/maps/mp/animscripts/zm_jump.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 1 - * Decompile Time: 3 ms - * Timestamp: 10/27/2023 3:02:15 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:11:30 AM *******************************************************************/ #include maps/mp/animscripts/shared; diff --git a/BO2/PC/ZM/maps/mp/animscripts/zm_melee.gsc b/BO2/PC/ZM/maps/mp/animscripts/zm_melee.gsc index 029462e..d5d251d 100644 --- a/BO2/PC/ZM/maps/mp/animscripts/zm_melee.gsc +++ b/BO2/PC/ZM/maps/mp/animscripts/zm_melee.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 8 - * Decompile Time: 116 ms - * Timestamp: 10/27/2023 3:02:16 AM + * Decompile Time: 6 ms + * Timestamp: 10/28/2023 12:11:31 AM *******************************************************************/ #include common_scripts/utility; @@ -15,119 +15,120 @@ #include maps/mp/animscripts/zm_utility; //Function Number: 1 - for(;;) - { - meleecombat() - { - self endon("end_melee"); - self endon("killanimscript"); +meleecombat() +{ + self endon("end_melee"); + self endon("killanimscript"); /# - assert(canmeleeanyrange()); + assert(canmeleeanyrange()); #/ - self orientmode("face enemy"); - if(is_true(self.sliding_on_goo)) - { - self animmode("slide"); - } - else - { - self animmode("zonly_physics"); + self orientmode("face enemy"); + if(is_true(self.sliding_on_goo)) + { + self animmode("slide"); + } + else + { + self animmode("zonly_physics"); + } + for(;;) { - } + if(IsDefined(self.marked_for_death)) + { + return; + } - if(IsDefined(self.marked_for_death)) - { - return; - } + if(IsDefined(self.enemy)) + { + angles = VectorToAngles(self.enemy.origin - self.origin); + self orientmode("face angle",angles[1]); + } - if(IsDefined(self.enemy)) - { - angles = VectorToAngles(self.enemy.origin - self.origin); - self orientmode("face angle",angles[1]); - } + if(IsDefined(self.zmb_vocals_attack)) + { + self playsound(self.zmb_vocals_attack); + } - if(IsDefined(self.zmb_vocals_attack)) - { - self playsound(self.zmb_vocals_attack); - } + if(IsDefined(self.nochangeduringmelee) && self.nochangeduringmelee) + { + self.safetochangescript = 0; + } - if(IsDefined(self.nochangeduringmelee) && self.nochangeduringmelee) - { - self.safetochangescript = 0; - } + if(IsDefined(self.is_inert) && self.is_inert) + { + return; + } - if(IsDefined(self.is_inert) && self.is_inert) - { - return; - } + set_zombie_melee_anim_state(self); + if(IsDefined(self.melee_anim_func)) + { + self thread [[ self.melee_anim_func ]](); + } - set_zombie_melee_anim_state(self); - if(IsDefined(self.melee_anim_func)) + while(1) + { + self waittill("melee_anim",note); + if(note == "end") { - self thread [[ self.melee_anim_func ]](); + break; } - - if(1) + else { - self waittill("melee_anim",note); - if(note == "end") + if(note == "fire") { - break; - } - else - { - if(note == "fire") + if(!(IsDefined(self.enemy))) { - if(!(IsDefined(self.enemy))) - { - break; - } - - if(IsDefined(self.dont_die_on_me) && self.dont_die_on_me) - { - break; - } - - self.enemy notify("melee_swipe",self); - oldhealth = self.enemy.health; - self melee(); - if(!(IsDefined(self.enemy))) - { - break; - } - - if(self.enemy.health >= oldhealth) - { - if(IsDefined(self.melee_miss_func)) - { - self [[ self.melee_miss_func ]](); - } - else if(IsDefined(level.melee_miss_func)) - { - self [[ level.melee_miss_func ]](); - } - } - -/# - zombie_eye = self geteye(); - player_eye = self.enemy geteye(); - trace = bullettrace(zombie_eye,player_eye,1,self); - hitpos = trace["position"]; - dist = distance(zombie_eye,hitpos); - iprintln("melee HIT " + dist); - self.enemy.health < oldhealth - GetDvarInt(#"7F11F572") -#/ - continue; + break; } - if(note == "stop") + if(IsDefined(self.dont_die_on_me) && self.dont_die_on_me) { - if(!(cancontinuetomelee())) + break; + } + + self.enemy notify("melee_swipe",self); + oldhealth = self.enemy.health; + self melee(); + if(!(IsDefined(self.enemy))) + { + break; + } + + if(self.enemy.health >= oldhealth) + { + if(IsDefined(self.melee_miss_func)) { - break; + self [[ self.melee_miss_func ]](); } + else if(IsDefined(level.melee_miss_func)) + { + self [[ level.melee_miss_func ]](); + } + } + +/# + if(GetDvarInt(#"7F11F572")) + { + if(self.enemy.health < oldhealth) + { + zombie_eye = self geteye(); + player_eye = self.enemy geteye(); + trace = bullettrace(zombie_eye,player_eye,1,self); + hitpos = trace["position"]; + dist = distance(zombie_eye,hitpos); + iprintln("melee HIT " + dist); + } + } +#/ + continue; + } + + if(note == "stop") + { + if(!(cancontinuetomelee())) + { + break; } } } diff --git a/BO2/PC/ZM/maps/mp/animscripts/zm_move.gsc b/BO2/PC/ZM/maps/mp/animscripts/zm_move.gsc index 56de3a5..0e5000e 100644 --- a/BO2/PC/ZM/maps/mp/animscripts/zm_move.gsc +++ b/BO2/PC/ZM/maps/mp/animscripts/zm_move.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 14 - * Decompile Time: 82 ms - * Timestamp: 10/27/2023 3:02:18 AM + * Decompile Time: 1 ms + * Timestamp: 10/28/2023 12:11:31 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/PC/ZM/maps/mp/animscripts/zm_pain.gsc b/BO2/PC/ZM/maps/mp/animscripts/zm_pain.gsc index ef3540c..eb12b52 100644 --- a/BO2/PC/ZM/maps/mp/animscripts/zm_pain.gsc +++ b/BO2/PC/ZM/maps/mp/animscripts/zm_pain.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 1 - * Decompile Time: 122 ms - * Timestamp: 10/27/2023 3:02:19 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:11:31 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/PC/ZM/maps/mp/animscripts/zm_run.gsc b/BO2/PC/ZM/maps/mp/animscripts/zm_run.gsc index b4cc54c..7e4cbbd 100644 --- a/BO2/PC/ZM/maps/mp/animscripts/zm_run.gsc +++ b/BO2/PC/ZM/maps/mp/animscripts/zm_run.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 4 - * Decompile Time: 49 ms - * Timestamp: 10/27/2023 3:02:20 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:11:31 AM *******************************************************************/ #include maps/mp/animscripts/shared; diff --git a/BO2/PC/ZM/maps/mp/animscripts/zm_scripted.gsc b/BO2/PC/ZM/maps/mp/animscripts/zm_scripted.gsc index b7f03d1..d81dc5f 100644 --- a/BO2/PC/ZM/maps/mp/animscripts/zm_scripted.gsc +++ b/BO2/PC/ZM/maps/mp/animscripts/zm_scripted.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 3 - * Decompile Time: 177 ms - * Timestamp: 10/27/2023 3:02:21 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:11:31 AM *******************************************************************/ //Function Number: 1 diff --git a/BO2/PC/ZM/maps/mp/animscripts/zm_shared.gsc b/BO2/PC/ZM/maps/mp/animscripts/zm_shared.gsc index 1acf5bd..5efba9b 100644 --- a/BO2/PC/ZM/maps/mp/animscripts/zm_shared.gsc +++ b/BO2/PC/ZM/maps/mp/animscripts/zm_shared.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 32 - * Decompile Time: 205 ms - * Timestamp: 10/27/2023 3:02:23 AM + * Decompile Time: 18 ms + * Timestamp: 10/28/2023 12:11:32 AM *******************************************************************/ #include maps/mp/animscripts/shared; @@ -369,7 +369,8 @@ handlenotetrack(note,flagname,customfunction,var1) default: return [[ customfunction ]](note); return [[ customfunction ]](note,var1); - Stack-Empty ? IsDefined(customfunction) : IsDefined(var1) + IsDefined(var1) + IsDefined(customfunction) break; } } diff --git a/BO2/PC/ZM/maps/mp/animscripts/zm_stop.gsc b/BO2/PC/ZM/maps/mp/animscripts/zm_stop.gsc index 67bb172..4456c35 100644 --- a/BO2/PC/ZM/maps/mp/animscripts/zm_stop.gsc +++ b/BO2/PC/ZM/maps/mp/animscripts/zm_stop.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 1 - * Decompile Time: 10 ms - * Timestamp: 10/27/2023 3:02:23 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:11:32 AM *******************************************************************/ #include maps/mp/animscripts/shared; diff --git a/BO2/PC/ZM/maps/mp/animscripts/zm_turn.gsc b/BO2/PC/ZM/maps/mp/animscripts/zm_turn.gsc index a4edd8b..fc94f85 100644 --- a/BO2/PC/ZM/maps/mp/animscripts/zm_turn.gsc +++ b/BO2/PC/ZM/maps/mp/animscripts/zm_turn.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 1 - * Decompile Time: 2 ms - * Timestamp: 10/27/2023 3:02:24 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:11:32 AM *******************************************************************/ #include maps/mp/animscripts/shared; diff --git a/BO2/PC/ZM/maps/mp/animscripts/zm_utility.gsc b/BO2/PC/ZM/maps/mp/animscripts/zm_utility.gsc index a2a3b78..d4bc9e8 100644 --- a/BO2/PC/ZM/maps/mp/animscripts/zm_utility.gsc +++ b/BO2/PC/ZM/maps/mp/animscripts/zm_utility.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 86 - * Decompile Time: 212 ms - * Timestamp: 10/27/2023 3:02:25 AM + * Decompile Time: 8 ms + * Timestamp: 10/28/2023 12:11:32 AM *******************************************************************/ #include maps/mp/_utility; @@ -505,14 +505,11 @@ drawstringtime(msg,org,color,timer) { /# maxtime = timer * 20; - i = 0; - for(;;) + for(i = 0;i < maxtime;i++) { print3d(org,msg,color,1,1); wait(0.05); - i++; } -i < maxtime #/ } @@ -523,17 +520,30 @@ showlastenemysightpos(string) self notify("got known enemy2"); self endon("got known enemy2"); self endon("death"); - return; - color = (0.4,0.7,1); - color = (1,0.7,0.4); - for(;;) + if(!(isvalidenemy(self.enemy))) + { + return; + } + + if(self.enemy.team == "allies") + { + color = (0.4,0.7,1); + } + else + { + color = (1,0.7,0.4); + } + + while(1) { wait(0.05); + if(!(IsDefined(self.lastenemysightpos))) + { + continue; + } + print3d(self.lastenemysightpos,string,color,1,2.15); } -IsDefined(self.lastenemysightpos) -1 -Stack-Empty ? isvalidenemy(self.enemy) : self.enemy.team == "allies" #/ } @@ -554,15 +564,20 @@ debugposinternal(org,string,size) ent = spawnstruct(); ent thread debugtimeout(); ent endon("timeout"); - color = (0.4,0.7,1); - color = (1,0.7,0.4); - for(;;) + if(self.enemy.team == "allies") + { + color = (0.4,0.7,1); + } + else + { + color = (1,0.7,0.4); + } + + while(1) { wait(0.05); print3d(org,string,color,1,size); } -1 -Stack-Empty ? Stack-Empty : self.enemy.team == "allies" #/ } @@ -584,14 +599,11 @@ showdebugproc(frompoint,topoint,color,printtime) /# self endon("death"); timer = printtime * 20; - i = 0; - for(;;) + for(i = 0;i < timer;i = i + 1) { wait(0.05); line(frompoint,topoint,color); - i = i + 1; } -i < timer #/ } @@ -752,14 +764,11 @@ print3dtime(timer,org,msg,color,alpha,scale) { /# newtime = timer / 0.05; - i = 0; - for(;;) + for(i = 0;i < newtime;i++) { print3d(org,msg,color,alpha,scale); wait(0.05); - i++; } -i < newtime #/ } @@ -770,15 +779,12 @@ print3drise(org,msg,color,alpha,scale) newtime = 100; up = 0; org = org; - i = 0; - for(;;) + for(i = 0;i < newtime;i++) { up = up + 0.5; print3d(org + (0,0,up),msg,color,alpha,scale); wait(0.05); - i++; } -i < newtime #/ } @@ -932,11 +938,13 @@ animarray(animname) assert(IsDefined(self.a.array)); #/ /# - dumpanimarray(); + if(!(IsDefined(self.a.array[animname]))) + { + dumpanimarray(); /# - assert(IsDefined(self.a.array[animname]),"self.a.array[ \" + animname + "\" ] is undefined"); + assert(IsDefined(self.a.array[animname]),"self.a.array[ \" + animname + "\" ] is undefined"); + } #/ -IsDefined(self.a.array[animname]) #/ return self.a.array[animname]; } @@ -948,11 +956,13 @@ animarrayanyexist(animname) assert(IsDefined(self.a.array)); #/ /# - dumpanimarray(); + if(!(IsDefined(self.a.array[animname]))) + { + dumpanimarray(); /# - assert(IsDefined(self.a.array[animname]),"self.a.array[ \" + animname + "\" ] is undefined"); + assert(IsDefined(self.a.array[animname]),"self.a.array[ \" + animname + "\" ] is undefined"); + } #/ -IsDefined(self.a.array[animname]) #/ return self.a.array[animname].size > 0; } @@ -964,11 +974,13 @@ animarraypickrandom(animname) assert(IsDefined(self.a.array)); #/ /# - dumpanimarray(); + if(!(IsDefined(self.a.array[animname]))) + { + dumpanimarray(); /# - assert(IsDefined(self.a.array[animname]),"self.a.array[ \" + animname + "\" ] is undefined"); + assert(IsDefined(self.a.array[animname]),"self.a.array[ \" + animname + "\" ] is undefined"); + } #/ -IsDefined(self.a.array[animname]) #/ /# assert(self.a.array[animname].size > 0); @@ -991,14 +1003,17 @@ dumpanimarray() /# println("self.a.array:"); keys = getarraykeys(self.a.array); - i = 0; - for(;;) + for(i = 0;i < keys.size;i++) { - println(" array[ \" + keys[i] + "\" ] = {array of size " + self.a.array[keys[i]].size + "}"); - println(" array[ \" + keys[i] + "\" ] = ",self.a.array[keys[i]]); - i++; + if(isarray(self.a.array[keys[i]])) + { + println(" array[ \" + keys[i] + "\" ] = {array of size " + self.a.array[keys[i]].size + "}"); + } + else + { + println(" array[ \" + keys[i] + "\" ] = ",self.a.array[keys[i]]); + } } -Stack-Empty ? i < keys.size : isarray(self.a.array[keys[i]]) #/ } @@ -1261,10 +1276,15 @@ get_skeleton() debug_anim_print(text) { /# - println(text + " " + GetTime()); - println(text + " " + GetTime()); -IsDefined(level.dog_debug_anims_ent) && level.dog_debug_anims_ent == self getentnum() -IsDefined(level.dog_debug_anims) && level.dog_debug_anims + if(IsDefined(level.dog_debug_anims) && level.dog_debug_anims) + { + println(text + " " + GetTime()); + } + + if(IsDefined(level.dog_debug_anims_ent) && level.dog_debug_anims_ent == self getentnum()) + { + println(text + " " + GetTime()); + } #/ } @@ -1272,17 +1292,19 @@ IsDefined(level.dog_debug_anims) && level.dog_debug_anims debug_turn_print(text,line) { /# - duration = 200; - currentyawcolor = (1,1,1); - lookaheadyawcolor = (1,0,0); - desiredyawcolor = (1,1,0); - currentyaw = AngleClamp180(self.angles[1]); - desiredyaw = AngleClamp180(self.desiredangle); - lookaheaddir = self.lookaheaddir; - lookaheadangles = VectorToAngles(lookaheaddir); - lookaheadyaw = AngleClamp180(lookaheadangles[1]); - println(text + " " + GetTime() + " cur: " + currentyaw + " look: " + lookaheadyaw + " desired: " + desiredyaw); -IsDefined(level.dog_debug_turns) && level.dog_debug_turns == self getentnum() + if(IsDefined(level.dog_debug_turns) && level.dog_debug_turns == self getentnum()) + { + duration = 200; + currentyawcolor = (1,1,1); + lookaheadyawcolor = (1,0,0); + desiredyawcolor = (1,1,0); + currentyaw = AngleClamp180(self.angles[1]); + desiredyaw = AngleClamp180(self.desiredangle); + lookaheaddir = self.lookaheaddir; + lookaheadangles = VectorToAngles(lookaheaddir); + lookaheadyaw = AngleClamp180(lookaheadangles[1]); + println(text + " " + GetTime() + " cur: " + currentyaw + " look: " + lookaheadyaw + " desired: " + desiredyaw); + } #/ } diff --git a/BO2/PC/ZM/maps/mp/gametypes_zm/_callbacksetup.gsc b/BO2/PC/ZM/maps/mp/gametypes_zm/_callbacksetup.gsc index 4837fac..a81a585 100644 --- a/BO2/PC/ZM/maps/mp/gametypes_zm/_callbacksetup.gsc +++ b/BO2/PC/ZM/maps/mp/gametypes_zm/_callbacksetup.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 24 - * Decompile Time: 30 ms - * Timestamp: 10/27/2023 3:02:25 AM + * Decompile Time: 6 ms + * Timestamp: 10/28/2023 12:11:33 AM *******************************************************************/ #include maps/mp/_audio; diff --git a/BO2/PC/ZM/maps/mp/gametypes_zm/_clientids.gsc b/BO2/PC/ZM/maps/mp/gametypes_zm/_clientids.gsc index 664fca3..8de7060 100644 --- a/BO2/PC/ZM/maps/mp/gametypes_zm/_clientids.gsc +++ b/BO2/PC/ZM/maps/mp/gametypes_zm/_clientids.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 2 - * Decompile Time: 4 ms - * Timestamp: 10/27/2023 3:02:26 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:11:33 AM *******************************************************************/ //Function Number: 1 diff --git a/BO2/PC/ZM/maps/mp/gametypes_zm/_damagefeedback.gsc b/BO2/PC/ZM/maps/mp/gametypes_zm/_damagefeedback.gsc index 7db10bb..14ff8a0 100644 --- a/BO2/PC/ZM/maps/mp/gametypes_zm/_damagefeedback.gsc +++ b/BO2/PC/ZM/maps/mp/gametypes_zm/_damagefeedback.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 6 - * Decompile Time: 20 ms - * Timestamp: 10/27/2023 3:02:26 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:11:33 AM *******************************************************************/ //Function Number: 1 diff --git a/BO2/PC/ZM/maps/mp/gametypes_zm/_dev.gsc b/BO2/PC/ZM/maps/mp/gametypes_zm/_dev.gsc index d4c6578..0202256 100644 --- a/BO2/PC/ZM/maps/mp/gametypes_zm/_dev.gsc +++ b/BO2/PC/ZM/maps/mp/gametypes_zm/_dev.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 2 - * Decompile Time: 16 ms - * Timestamp: 10/27/2023 3:02:26 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:11:33 AM *******************************************************************/ #include common_scripts/utility; @@ -27,61 +27,81 @@ init() updatedevsettingszm() { /# - level.streamdumpteamindex = 0; - level.streamdumpteamindex++; - numpoints = 0; - spawnpoints = []; - location = level.scr_zm_map_start_location; - location = level.default_start_location; - match_string = level.scr_zm_ui_gametype + "_" + location; - structs = getstructarray("initial_spawn","script_noteworthy"); - _a46 = structs; - _k46 = FirstArrayKey(_a46); - for(;;) + if(level.players.size > 0) { - struct = _a46[_k46]; - tokens = strtok(struct.script_string," "); - _a51 = tokens; - _k51 = FirstArrayKey(_a51); - for(;;) + if(GetDvar(#"7B03E923") == "3") { - token = _a51[_k51]; - spawnpoints[spawnpoints.size] = struct; - _k51 = NextArrayKey(_a51); + if(!(IsDefined(level.streamdumpteamindex))) + { + level.streamdumpteamindex = 0; + } + else + { + level.streamdumpteamindex++; + } + + numpoints = 0; + spawnpoints = []; + location = level.scr_zm_map_start_location; + if((location == "default" || location == "") && IsDefined(level.default_start_location)) + { + location = level.default_start_location; + } + + match_string = level.scr_zm_ui_gametype + "_" + location; + if(level.streamdumpteamindex < level.teams.size) + { + structs = getstructarray("initial_spawn","script_noteworthy"); + if(IsDefined(structs)) + { + foreach(struct in structs) + { + if(IsDefined(struct.script_string)) + { + tokens = strtok(struct.script_string," "); + foreach(token in tokens) + { + if(token == match_string) + { + spawnpoints[spawnpoints.size] = struct; + } + } + } + } + } + + if(!IsDefined(spawnpoints) || spawnpoints.size == 0) + { + spawnpoints = getstructarray("initial_spawn_points","targetname"); + } + + if(IsDefined(spawnpoints)) + { + numpoints = spawnpoints.size; + } + } + + if(numpoints == 0) + { + setdvar("r_streamDumpDistance","0"); + level.streamdumpteamindex = -1; + } + else + { + averageorigin = (0,0,0); + averageangles = (0,0,0); + foreach(spawnpoint in spawnpoints) + { + averageorigin = averageorigin + spawnpoint.origin / numpoints; + averageangles = averageangles + spawnpoint.angles / numpoints; + } + + level.players[0] setplayerangles(averageangles); + level.players[0] setorigin(averageorigin); + wait(0.05); + setdvar("r_streamDumpDistance","2"); + } } - _k46 = NextArrayKey(_a46); } - spawnpoints = getstructarray("initial_spawn_points","targetname"); - numpoints = spawnpoints.size; - setdvar("r_streamDumpDistance","0"); - level.streamdumpteamindex = -1; - averageorigin = (0,0,0); - averageangles = (0,0,0); - _a80 = spawnpoints; - _k80 = FirstArrayKey(_a80); - for(;;) - { - spawnpoint = _a80[_k80]; - averageorigin = averageorigin + spawnpoint.origin / numpoints; - averageangles = averageangles + spawnpoint.angles / numpoints; - _k80 = NextArrayKey(_a80); - } - level.players[0] setplayerangles(averageangles); - level.players[0] setorigin(averageorigin); - wait(0.05); - setdvar("r_streamDumpDistance","2"); -numpoints == 0 ? IsDefined(_k80) : _k80 -IsDefined(spawnpoints) -!IsDefined(spawnpoints) || spawnpoints.size == 0 -_k46 -_k51 -token == match_string -IsDefined(_k51) -IsDefined(struct.script_string) -IsDefined(_k46) -IsDefined(structs) -level.streamdumpteamindex < level.teams.size -(location == "default" || location == "") && IsDefined(level.default_start_location) -(level.players.size > 0) ? GetDvar(#"7B03E923") == "3" : IsDefined(level.streamdumpteamindex) #/ } \ No newline at end of file diff --git a/BO2/PC/ZM/maps/mp/gametypes_zm/_gameobjects.gsc b/BO2/PC/ZM/maps/mp/gametypes_zm/_gameobjects.gsc index 9529b99..4882af6 100644 --- a/BO2/PC/ZM/maps/mp/gametypes_zm/_gameobjects.gsc +++ b/BO2/PC/ZM/maps/mp/gametypes_zm/_gameobjects.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 99 - * Decompile Time: 235 ms - * Timestamp: 10/27/2023 3:02:28 AM + * Decompile Time: 34 ms + * Timestamp: 10/28/2023 12:11:33 AM *******************************************************************/ #include common_scripts/utility; @@ -23,8 +23,10 @@ main(allowed) level.objectivepingdelay = getgametypesetting("objectivePingTime"); level.nonteambasedteam = "allies"; /# - level.vehiclesenabled = 1; -level.script == "mp_vehicle_test" + if(level.script == "mp_vehicle_test") + { + level.vehiclesenabled = 1; + } #/ if(level.vehiclesenabled) { @@ -2638,7 +2640,9 @@ caninteractwith(player) return 0; return 1; return 0; - Stack-Empty ? Stack-Empty : (Stack-Empty ? (Stack-Empty ? level.teambased : team == self.ownerteam) : player == self.ownerteam) + player == self.ownerteam + team == self.ownerteam + level.teambased break; case "enemy": @@ -2647,7 +2651,10 @@ caninteractwith(player) return 0; return 1; return 0; - Stack-Empty ? Stack-Empty : (Stack-Empty ? (Stack-Empty ? Stack-Empty : (level.teambased ? team != self.ownerteam : IsDefined(self.decayprogress) && self.decayprogress && self.curprogress > 0)) : player != self.ownerteam) + player != self.ownerteam + IsDefined(self.decayprogress) && self.decayprogress && self.curprogress > 0 + team != self.ownerteam + level.teambased break; default: diff --git a/BO2/PC/ZM/maps/mp/gametypes_zm/_globalentities.gsc b/BO2/PC/ZM/maps/mp/gametypes_zm/_globalentities.gsc index 8e0ab8a..99aa470 100644 --- a/BO2/PC/ZM/maps/mp/gametypes_zm/_globalentities.gsc +++ b/BO2/PC/ZM/maps/mp/gametypes_zm/_globalentities.gsc @@ -5,5 +5,5 @@ * Platform: PC * Function Count: 0 * Decompile Time: 0 ms - * Timestamp: 10/27/2023 3:02:28 AM + * Timestamp: 10/28/2023 12:11:34 AM *******************************************************************/ \ No newline at end of file diff --git a/BO2/PC/ZM/maps/mp/gametypes_zm/_globallogic.gsc b/BO2/PC/ZM/maps/mp/gametypes_zm/_globallogic.gsc index 1276f42..53d9d7c 100644 --- a/BO2/PC/ZM/maps/mp/gametypes_zm/_globallogic.gsc +++ b/BO2/PC/ZM/maps/mp/gametypes_zm/_globallogic.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 77 - * Decompile Time: 384 ms - * Timestamp: 10/27/2023 3:02:29 AM + * Decompile Time: 41 ms + * Timestamp: 10/28/2023 12:11:34 AM *******************************************************************/ #include common_scripts/utility; @@ -60,8 +60,10 @@ init() level.contractsenabled = !getgametypesetting("disableContracts"); level.contractsenabled = 0; /# - level.rankedmatch = 1; -GetDvarInt(#"5A4675BD") == 1 + if(GetDvarInt(#"5A4675BD") == 1) + { + level.rankedmatch = 1; + } #/ level.script = tolower(GetDvar(#"B4B895C4")); level.gametype = tolower(GetDvar(#"4F118387")); @@ -620,7 +622,10 @@ doonelefteventupdates() updategameevents() { /# -GetDvarInt(#"1F8C9394") == 1 + if(GetDvarInt(#"1F8C9394") == 1) + { + return; + } #/ if((level.rankedmatch || level.wagermatch || level.leaguematch) && !level.ingraceperiod) { @@ -766,8 +771,10 @@ hostidledout() { hostplayer = gethostplayer(); /# - return 0; -GetDvarInt(#"7AEF62D7") == 1 || GetDvarInt(#"1F8C9394") == 1 + if(GetDvarInt(#"7AEF62D7") == 1 || GetDvarInt(#"1F8C9394") == 1) + { + return 0; + } #/ if(IsDefined(hostplayer) && !hostplayer.hasspawned && !IsDefined(hostplayer.selectedclass)) { @@ -2552,13 +2559,18 @@ callback_startgametype() thread startgame(); level thread updategametypedvars(); /# - level.skipgameend = 1; - level.roundlimit = 1; - wait(1); - thread forceend(0); - thread forcedebughostmigration(); -GetDvarInt(#"1F8C9394") == 1 -GetDvarInt(#"7AEF62D7") == 1 + if(GetDvarInt(#"7AEF62D7") == 1) + { + level.skipgameend = 1; + level.roundlimit = 1; + wait(1); + thread forceend(0); + } + + if(GetDvarInt(#"1F8C9394") == 1) + { + thread forcedebughostmigration(); + } #/ } @@ -2566,14 +2578,13 @@ GetDvarInt(#"7AEF62D7") == 1 forcedebughostmigration() { /# - for(;;) + while(1) { maps/mp/gametypes_zm/_hostmigration::waittillhostmigrationdone(); wait(60); starthostmigration(); maps/mp/gametypes_zm/_hostmigration::waittillhostmigrationdone(); } -1 #/ } diff --git a/BO2/PC/ZM/maps/mp/gametypes_zm/_globallogic_actor.gsc b/BO2/PC/ZM/maps/mp/gametypes_zm/_globallogic_actor.gsc index 921b766..cb1e5b7 100644 --- a/BO2/PC/ZM/maps/mp/gametypes_zm/_globallogic_actor.gsc +++ b/BO2/PC/ZM/maps/mp/gametypes_zm/_globallogic_actor.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 2 - * Decompile Time: 31 ms - * Timestamp: 10/27/2023 3:02:30 AM + * Decompile Time: 1 ms + * Timestamp: 10/28/2023 12:11:34 AM *******************************************************************/ #include maps/mp/_challenges; @@ -168,8 +168,10 @@ callback_actordamage(einflictor,eattacker,idamage,idflags,smeansofdeath,sweapon, } /# - println("actor:" + self getentitynumber() + " health:" + self.health + " attacker:" + eattacker.clientid + " inflictor is player:" + isplayer(einflictor) + " damage:" + idamage + shitloc + ";" + boneindex + "\n"); -GetDvarInt(#"B1AE74B1") + if(GetDvarInt(#"B1AE74B1")) + { + println("actor:" + self getentitynumber() + " health:" + self.health + " attacker:" + eattacker.clientid + " inflictor is player:" + isplayer(einflictor) + " damage:" + idamage + shitloc + ";" + boneindex + "\n"); + } #/ if(1) { diff --git a/BO2/PC/ZM/maps/mp/gametypes_zm/_globallogic_audio.gsc b/BO2/PC/ZM/maps/mp/gametypes_zm/_globallogic_audio.gsc index 0f5b437..af79e94 100644 --- a/BO2/PC/ZM/maps/mp/gametypes_zm/_globallogic_audio.gsc +++ b/BO2/PC/ZM/maps/mp/gametypes_zm/_globallogic_audio.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 33 - * Decompile Time: 125 ms - * Timestamp: 10/27/2023 3:02:31 AM + * Decompile Time: 18 ms + * Timestamp: 10/28/2023 12:11:34 AM *******************************************************************/ #include maps/mp/_music; @@ -186,8 +186,10 @@ sndstartmusicsystem() if(game["state"] == "pregame") { /# - println("Music System - music state is undefined Waiting 15 seconds to set music state"); -GetDvarInt(#"BC4784C") > 0 + if(GetDvarInt(#"BC4784C") > 0) + { + println("Music System - music state is undefined Waiting 15 seconds to set music state"); + } #/ wait(30); if(!(IsDefined(level.nextmusicstate))) @@ -200,8 +202,10 @@ GetDvarInt(#"BC4784C") > 0 if(!(IsDefined(level.nextmusicstate))) { /# - println("Music System - music state is undefined Waiting 15 seconds to set music state"); -GetDvarInt(#"BC4784C") > 0 + if(GetDvarInt(#"BC4784C") > 0) + { + println("Music System - music state is undefined Waiting 15 seconds to set music state"); + } #/ self.pers["music"].currentstate = "UNDERSCORE"; self thread suspensemusic(); @@ -214,8 +218,10 @@ suspensemusicforplayer() self endon("disconnect"); self thread set_music_on_player("UNDERSCORE",0); /# - println("Music System - Setting Music State Random Underscore " + self.pers["music"].returnstate + " On player " + self getentitynumber()); -GetDvarInt(#"BC4784C") > 0 + if(GetDvarInt(#"BC4784C") > 0) + { + println("Music System - Setting Music State Random Underscore " + self.pers["music"].returnstate + " On player " + self getentitynumber()); + } #/ } @@ -226,44 +232,55 @@ suspensemusic(random) level endon("match_ending_soon"); self endon("disconnect"); /# - println("Music System - Starting random underscore"); -GetDvarInt(#"BC4784C") > 0 -#/ - if(1) + if(GetDvarInt(#"BC4784C") > 0) { - wait(randomintrange(25,60)); -/# - println("Music System - Checking for random underscore"); -GetDvarInt(#"BC4784C") > 0 -#/ - if(!(IsDefined(self.pers["music"].inque))) - { - self.pers["music"].inque = 0; - } + println("Music System - Starting random underscore"); + } - if(self.pers["music"].inque) + for(;;) { -/# - println("Music System - Inque no random underscore"); -GetDvarInt(#"BC4784C") > 0 #/ - continue; - } - - if(!(IsDefined(self.pers["music"].currentstate))) + if(1) { - self.pers["music"].currentstate = "SILENT"; - } - - if(randomint(100) < self.underscorechance && self.pers["music"].currentstate != "ACTION" && self.pers["music"].currentstate != "TIME_OUT") - { - self thread suspensemusicforplayer(); - self.underscorechance = self.underscorechance - 20; + wait(randomintrange(25,60)); /# - println("Music System - Starting random underscore"); -GetDvarInt(#"BC4784C") > 0 + if(GetDvarInt(#"BC4784C") > 0) + { + println("Music System - Checking for random underscore"); + } +#/ + if(!(IsDefined(self.pers["music"].inque))) + { + self.pers["music"].inque = 0; + } + + if(self.pers["music"].inque) + { +/# + if(GetDvarInt(#"BC4784C") > 0) + { + println("Music System - Inque no random underscore"); + } +#/ + continue; + } + + if(!(IsDefined(self.pers["music"].currentstate))) + { + self.pers["music"].currentstate = "SILENT"; + } + + if(randomint(100) < self.underscorechance && self.pers["music"].currentstate != "ACTION" && self.pers["music"].currentstate != "TIME_OUT") + { + self thread suspensemusicforplayer(); + self.underscorechance = self.underscorechance - 20; +/# + if(GetDvarInt(#"BC4784C") > 0) + { + println("Music System - Starting random underscore"); + } + } #/ - continue; } } } @@ -545,19 +562,18 @@ testdialogqueue(group) { /# count = 0; - _a585 = self.leaderdialogqueue; - _k585 = FirstArrayKey(_a585); - for(;;) + foreach(temp in self.leaderdialogqueue) { - temp = _a585[_k585]; - count++; - _k585 = NextArrayKey(_a585); + if(temp == group) + { + count++; + } + } + + if(count > 1) + { + shit = 0; } - shit = 0; -count > 1 -_k585 -temp == group -IsDefined(_k585) #/ } @@ -793,38 +809,42 @@ set_music_on_team(state,team,save_state,return_state,wait_time) { team = "both"; /# - println("Music System - team undefined: Setting to both"); -GetDvarInt(#"BC4784C") > 0 -#/ + if(GetDvarInt(#"BC4784C") > 0) + { + println("Music System - team undefined: Setting to both"); + } } - +#/ if(!(IsDefined(save_state))) { save_sate = 0; /# - println("Music System - save_sate undefined: Setting to false"); -GetDvarInt(#"BC4784C") > 0 -#/ + if(GetDvarInt(#"BC4784C") > 0) + { + println("Music System - save_sate undefined: Setting to false"); + } } - +#/ if(!(IsDefined(return_state))) { return_state = 0; /# - println("Music System - Music System - return_state undefined: Setting to false"); -GetDvarInt(#"BC4784C") > 0 -#/ + if(GetDvarInt(#"BC4784C") > 0) + { + println("Music System - Music System - return_state undefined: Setting to false"); + } } - +#/ if(!(IsDefined(wait_time))) { wait_time = 0; /# - println("Music System - wait_time undefined: Setting to 0"); -GetDvarInt(#"BC4784C") > 0 -#/ + if(GetDvarInt(#"BC4784C") > 0) + { + println("Music System - wait_time undefined: Setting to 0"); + } } - +#/ for(i = 0;i < level.players.size;i++) { player = level.players[i]; @@ -836,10 +856,12 @@ GetDvarInt(#"BC4784C") > 0 { player thread set_music_on_player(state,save_state,return_state,wait_time); /# + if(GetDvarInt(#"BC4784C") > 0) + { println("Music System - Setting Music State " + state + " On player " + player getentitynumber()); -GetDvarInt(#"BC4784C") > 0 -#/ + } } +#/ } } @@ -859,59 +881,68 @@ set_music_on_player(state,save_state,return_state,wait_time) { save_state = 0; /# - println("Music System - Music System - save_sate undefined: Setting to false"); -GetDvarInt(#"BC4784C") > 0 -#/ + if(GetDvarInt(#"BC4784C") > 0) + { + println("Music System - Music System - save_sate undefined: Setting to false"); + } } - +#/ if(!(IsDefined(return_state))) { return_state = 0; /# - println("Music System - Music System - return_state undefined: Setting to false"); -GetDvarInt(#"BC4784C") > 0 -#/ + if(GetDvarInt(#"BC4784C") > 0) + { + println("Music System - Music System - return_state undefined: Setting to false"); + } } - +#/ if(!(IsDefined(wait_time))) { wait_time = 0; /# - println("Music System - wait_time undefined: Setting to 0"); -GetDvarInt(#"BC4784C") > 0 -#/ + if(GetDvarInt(#"BC4784C") > 0) + { + println("Music System - wait_time undefined: Setting to 0"); + } } - +#/ if(!(IsDefined(state))) { state = "UNDERSCORE"; /# - println("Music System - state undefined: Setting to UNDERSCORE"); -GetDvarInt(#"BC4784C") > 0 -#/ + if(GetDvarInt(#"BC4784C") > 0) + { + println("Music System - state undefined: Setting to UNDERSCORE"); + } } - +#/ maps/mp/_music::setmusicstate(state,self); if(IsDefined(self.pers["music"].currentstate) && save_state) { self.pers["music"].returnstate = state; /# - println("Music System - Saving Music State " + self.pers["music"].returnstate + " On " + self getentitynumber()); -GetDvarInt(#"BC4784C") > 0 -#/ + if(GetDvarInt(#"BC4784C") > 0) + { + println("Music System - Saving Music State " + self.pers["music"].returnstate + " On " + self getentitynumber()); + } } - +#/ self.pers["music"].previousstate = self.pers["music"].currentstate; self.pers["music"].currentstate = state; /# - println("Music System - Setting Music State " + state + " On player " + self getentitynumber()); -GetDvarInt(#"BC4784C") > 0 + if(GetDvarInt(#"BC4784C") > 0) + { + println("Music System - Setting Music State " + state + " On player " + self getentitynumber()); + } #/ if(IsDefined(self.pers["music"].returnstate) && return_state) { /# - println("Music System - Starting Return State " + self.pers["music"].returnstate + " On " + self getentitynumber()); -GetDvarInt(#"BC4784C") > 0 + if(GetDvarInt(#"BC4784C") > 0) + { + println("Music System - Starting Return State " + self.pers["music"].returnstate + " On " + self getentitynumber()); + } #/ self set_next_music_state(self.pers["music"].returnstate,wait_time); } @@ -924,11 +955,12 @@ return_music_state_player(wait_time) { wait_time = 0; /# - println("Music System - wait_time undefined: Setting to 0"); -GetDvarInt(#"BC4784C") > 0 -#/ + if(GetDvarInt(#"BC4784C") > 0) + { + println("Music System - wait_time undefined: Setting to 0"); + } } - +#/ self set_next_music_state(self.pers["music"].returnstate,wait_time); } @@ -939,11 +971,12 @@ return_music_state_team(team,wait_time) { wait_time = 0; /# - println("Music System - wait_time undefined: Setting to 0"); -GetDvarInt(#"BC4784C") > 0 -#/ + if(GetDvarInt(#"BC4784C") > 0) + { + println("Music System - wait_time undefined: Setting to 0"); + } } - +#/ for(i = 0;i < level.players.size;i++) { player = level.players[i]; @@ -955,10 +988,12 @@ GetDvarInt(#"BC4784C") > 0 { player thread set_next_music_state(self.pers["music"].returnstate,wait_time); /# + if(GetDvarInt(#"BC4784C") > 0) + { println("Music System - Setting Music State " + self.pers["music"].returnstate + " On player " + player getentitynumber()); -GetDvarInt(#"BC4784C") > 0 -#/ + } } +#/ } } @@ -968,8 +1003,10 @@ set_next_music_state(nextstate,wait_time) self endon("disconnect"); self.pers["music"].nextstate = nextstate; /# - println("Music System - Setting next Music State " + self.pers["music"].nextstate + " On " + self getentitynumber()); -GetDvarInt(#"BC4784C") > 0 + if(GetDvarInt(#"BC4784C") > 0) + { + println("Music System - Setting next Music State " + self.pers["music"].nextstate + " On " + self getentitynumber()); + } #/ if(!(IsDefined(self.pers["music"].inque))) { diff --git a/BO2/PC/ZM/maps/mp/gametypes_zm/_globallogic_defaults.gsc b/BO2/PC/ZM/maps/mp/gametypes_zm/_globallogic_defaults.gsc index 9999217..4b6e497 100644 --- a/BO2/PC/ZM/maps/mp/gametypes_zm/_globallogic_defaults.gsc +++ b/BO2/PC/ZM/maps/mp/gametypes_zm/_globallogic_defaults.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 11 - * Decompile Time: 35 ms - * Timestamp: 10/27/2023 3:02:31 AM + * Decompile Time: 3 ms + * Timestamp: 10/28/2023 12:11:35 AM *******************************************************************/ #include common_scripts/utility; @@ -59,10 +59,10 @@ default_onforfeit(team) else { /# - assert(IsDefined(team),"Forfeited team is not defined"); + assert(IsDefined(team),"Forfeited team is not defined"); #/ /# - assert(0,"Forfeited team " + team + " is not allies or axis"); + assert(0,"Forfeited team " + team + " is not allies or axis"); #/ winner = "tie"; } @@ -248,8 +248,8 @@ default_onspawnintermission() { /# maps/mp/_utility::error("NO " + spawnpointname + " SPAWNPOINTS IN MAP"); -#/ } +#/ } //Function Number: 11 diff --git a/BO2/PC/ZM/maps/mp/gametypes_zm/_globallogic_player.gsc b/BO2/PC/ZM/maps/mp/gametypes_zm/_globallogic_player.gsc index b60f57d..a2be428 100644 --- a/BO2/PC/ZM/maps/mp/gametypes_zm/_globallogic_player.gsc +++ b/BO2/PC/ZM/maps/mp/gametypes_zm/_globallogic_player.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 45 - * Decompile Time: 360 ms - * Timestamp: 10/27/2023 3:02:33 AM + * Decompile Time: 46 ms + * Timestamp: 10/28/2023 12:11:35 AM *******************************************************************/ #include common_scripts/utility; @@ -478,9 +478,8 @@ spectate_player_watcher() self freezecontrols(0); /# println(" Unfreeze controls 2"); -#/ } - +#/ self.watchingactiveclient = 1; } else @@ -956,8 +955,10 @@ callback_playerdamage(einflictor,eattacker,idamage,idflags,smeansofdeath,sweapon pixbeginevent("PlayerDamage log"); /# - println("client:" + self getentitynumber() + " health:" + self.health + " attacker:" + eattacker.clientid + " inflictor is player:" + isplayer(einflictor) + " damage:" + idamage + " hitLoc:" + shitloc); -GetDvarInt(#"B1AE74B1") + if(GetDvarInt(#"B1AE74B1")) + { + println("client:" + self getentitynumber() + " health:" + self.health + " attacker:" + eattacker.clientid + " inflictor is player:" + isplayer(einflictor) + " damage:" + idamage + " hitLoc:" + shitloc); + } #/ if(self.sessionstate != "dead") { @@ -1513,6 +1514,15 @@ callback_playerkilled(einflictor,attacker,idamage,smeansofdeath,sweapon,vdir,shi if(IsDefined(level.killstreaks) && shouldgivekillstreak) { attacker.pers["cur_kill_streak"]++; + if(attacker.pers["cur_kill_streak"] >= 3) + { + if(attacker.pers["cur_kill_streak"] <= 30) + { + } + else + { + } + } } } @@ -1530,6 +1540,22 @@ callback_playerkilled(einflictor,attacker,idamage,smeansofdeath,sweapon,vdir,shi } killstreak = undefined; + if(IsDefined(killstreak)) + { + } + else if(smeansofdeath == "MOD_HEAD_SHOT") + { + } + else if(smeansofdeath == "MOD_MELEE") + { + if(sweapon == "riotshield_mp") + { + } + else + { + } + } + attacker thread maps/mp/gametypes_zm/_globallogic_score::trackattackerkill(self.name,self.pers["rank"],self.pers["rankxp"],self.pers["prestige"],self getxuid(1)); attackername = attacker.name; self thread maps/mp/gametypes_zm/_globallogic_score::trackattackeedeath(attackername,attacker.pers["rank"],attacker.pers["rankxp"],attacker.pers["prestige"],attacker getxuid(1)); @@ -1650,7 +1676,7 @@ callback_playerkilled(einflictor,attacker,idamage,smeansofdeath,sweapon,vdir,shi } else { - self notify("playerKilledChallengesProcessed",Stack-Empty ? Stack-Empty : ((Stack-Empty ? attacker.pers["cur_kill_streak"] >= 3 : attacker.pers["cur_kill_streak"] <= 30) ? IsDefined(killstreak) : ((smeansofdeath == "MOD_HEAD_SHOT") ? smeansofdeath == "MOD_MELEE" : sweapon == "riotshield_mp"))); + self notify("playerKilledChallengesProcessed"); } if(IsDefined(self.attackers)) @@ -1761,10 +1787,14 @@ callback_playerkilled(einflictor,attacker,idamage,smeansofdeath,sweapon,vdir,shi maps/mp/gametypes_zm/_globallogic_utils::waitfortimeornotifies(defaultplayerdeathwatchtime); self notify("death_delay_finished"); /# - dokillcam = 1; - lpattacknum = self getentitynumber(); -lpattacknum < 0 -GetDvarInt(#"C1849218") != 0 + if(GetDvarInt(#"C1849218") != 0) + { + dokillcam = 1; + if(lpattacknum < 0) + { + lpattacknum = self getentitynumber(); + } + } #/ if(game["state"] != "playing") { diff --git a/BO2/PC/ZM/maps/mp/gametypes_zm/_globallogic_score.gsc b/BO2/PC/ZM/maps/mp/gametypes_zm/_globallogic_score.gsc index 33b1a6a..e94c168 100644 --- a/BO2/PC/ZM/maps/mp/gametypes_zm/_globallogic_score.gsc +++ b/BO2/PC/ZM/maps/mp/gametypes_zm/_globallogic_score.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 50 - * Decompile Time: 217 ms - * Timestamp: 10/27/2023 3:02:34 AM + * Decompile Time: 7 ms + * Timestamp: 10/28/2023 12:11:35 AM *******************************************************************/ #include common_scripts/utility; @@ -239,18 +239,24 @@ setplayermomentumdebug() { /# setdvar("sv_momentumPercent",0); - for(;;) + while(1) { wait(1); momentumpercent = getdvarfloatdefault("sv_momentumPercent",0); - player = gethostplayer(); - return; - _setplayermomentum(player,int(2000 * momentumpercent / 100)); + if(momentumpercent != 0) + { + player = gethostplayer(); + if(!(IsDefined(player))) + { + return; + } + + if(IsDefined(player.killstreak)) + { + _setplayermomentum(player,int(2000 * momentumpercent / 100)); + } + } } -IsDefined(player.killstreak) -IsDefined(player) -momentumpercent != 0 -1 #/ } diff --git a/BO2/PC/ZM/maps/mp/gametypes_zm/_globallogic_spawn.gsc b/BO2/PC/ZM/maps/mp/gametypes_zm/_globallogic_spawn.gsc index a61c67b..38c6055 100644 --- a/BO2/PC/ZM/maps/mp/gametypes_zm/_globallogic_spawn.gsc +++ b/BO2/PC/ZM/maps/mp/gametypes_zm/_globallogic_spawn.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 30 - * Decompile Time: 225 ms - * Timestamp: 10/27/2023 3:02:35 AM + * Decompile Time: 8 ms + * Timestamp: 10/28/2023 12:11:35 AM *******************************************************************/ #include common_scripts/utility; @@ -456,8 +456,10 @@ spawnplayer() self logstring("S " + self.origin[0] + " " + self.origin[1] + " " + self.origin[2]); setdvar("scr_selecting_location",""); /# - self thread maps/mp/gametypes_zm/_globallogic_score::xpratethread(); -GetDvarInt(#"F8D00F60") > 0 + if(GetDvarInt(#"F8D00F60") > 0) + { + self thread maps/mp/gametypes_zm/_globallogic_score::xpratethread(); + } #/ self maps/mp/zombies/_zm_perks::perk_set_max_health_if_jugg("health_reboot",1,0); if(game["state"] == "postgame") @@ -565,7 +567,10 @@ forcespawn(time) kickifdontspawn() { /# -GetDvarInt(#"1F8C9394") == 1 + if(GetDvarInt(#"1F8C9394") == 1) + { + return; + } #/ if(self ishost()) { diff --git a/BO2/PC/ZM/maps/mp/gametypes_zm/_globallogic_ui.gsc b/BO2/PC/ZM/maps/mp/gametypes_zm/_globallogic_ui.gsc index 2bc1d6b..ae88fa9 100644 --- a/BO2/PC/ZM/maps/mp/gametypes_zm/_globallogic_ui.gsc +++ b/BO2/PC/ZM/maps/mp/gametypes_zm/_globallogic_ui.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 21 - * Decompile Time: 88 ms - * Timestamp: 10/27/2023 3:02:35 AM + * Decompile Time: 3 ms + * Timestamp: 10/28/2023 12:11:36 AM *******************************************************************/ #include maps/mp/_utility; @@ -242,7 +242,8 @@ menuautoassign(comingfrommenu) assignment = ""; assignment = team; self setclientscriptmainmenu(game["menu_class"]); -Stack-Empty ? IsDefined(level.teams[team]) : team == "spectator" && !level.forceautoassign +team == "spectator" && !level.forceautoassign +IsDefined(level.teams[team]) break; } } diff --git a/BO2/PC/ZM/maps/mp/gametypes_zm/_globallogic_utils.gsc b/BO2/PC/ZM/maps/mp/gametypes_zm/_globallogic_utils.gsc index 035a3f5..a75e0c7 100644 --- a/BO2/PC/ZM/maps/mp/gametypes_zm/_globallogic_utils.gsc +++ b/BO2/PC/ZM/maps/mp/gametypes_zm/_globallogic_utils.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 29 - * Decompile Time: 55 ms - * Timestamp: 10/27/2023 3:02:36 AM + * Decompile Time: 7 ms + * Timestamp: 10/28/2023 12:11:36 AM *******************************************************************/ #include maps/mp/_utility; @@ -162,27 +162,26 @@ assertproperplacement() { /# numplayers = level.placement["all"].size; - i = 0; - for(;;) + for(i = 0;i < numplayers - 1;i++) { - println("^1Placement array:"); - i = 0; - for(;;) + if(IsDefined(level.placement["all"][i]) && IsDefined(level.placement["all"][i + 1])) { - player = level.placement["all"][i]; - println("^1" + i + ". " + player.name + ": " + player.score); - i++; - } + if(level.placement["all"][i].score < level.placement["all"][i + 1].score) + { + println("^1Placement array:"); + for(i = 0;i < numplayers;i++) + { + player = level.placement["all"][i]; + println("^1" + i + ". " + player.name + ": " + player.score); + } + /# - assertmsg("Placement array was not properly sorted"); + assertmsg("Placement array was not properly sorted"); #/ - break; - i++; + break; + } + } } -i < numplayers -level.placement["all"][i].score < level.placement["all"][i + 1].score -IsDefined(level.placement["all"][i]) && IsDefined(level.placement["all"][i + 1]) -i < numplayers - 1 #/ } @@ -459,14 +458,11 @@ gethitlocheight(shitloc) debugline(start,end) { /# - i = 0; - for(;;) + for(i = 0;i < 50;i++) { line(start,end); wait(0.05); - i++; } -i < 50 #/ } diff --git a/BO2/PC/ZM/maps/mp/gametypes_zm/_globallogic_vehicle.gsc b/BO2/PC/ZM/maps/mp/gametypes_zm/_globallogic_vehicle.gsc index 1139e25..14d2a25 100644 --- a/BO2/PC/ZM/maps/mp/gametypes_zm/_globallogic_vehicle.gsc +++ b/BO2/PC/ZM/maps/mp/gametypes_zm/_globallogic_vehicle.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 8 - * Decompile Time: 54 ms - * Timestamp: 10/27/2023 3:02:36 AM + * Decompile Time: 2 ms + * Timestamp: 10/28/2023 12:11:36 AM *******************************************************************/ #include maps/mp/_utility; @@ -153,7 +153,10 @@ callback_vehicledamage(einflictor,eattacker,idamage,idflags,smeansofdeath,sweapo } else { - if(IsDefined(self.owner) && IsDefined(eattacker) && self.owner == eattacker) + if(!level.teambased && IsDefined(self.targetname) && self.targetname == "rcbomb") + { + } + else if(IsDefined(self.owner) && IsDefined(eattacker) && self.owner == eattacker) { return; } @@ -204,8 +207,10 @@ callback_vehicledamage(einflictor,eattacker,idamage,idflags,smeansofdeath,sweapo } /# - println("actor:" + self getentitynumber() + " health:" + self.health + " attacker:" + eattacker.clientid + " inflictor is player:" + isplayer(einflictor) + " damage:" + idamage + " hitLoc:" + shitloc); -GetDvarInt(#"B1AE74B1") + if(GetDvarInt(#"B1AE74B1")) + { + println("actor:" + self getentitynumber() + " health:" + self.health + " attacker:" + eattacker.clientid + " inflictor is player:" + isplayer(einflictor) + " damage:" + idamage + " hitLoc:" + shitloc); + } #/ if(1) { diff --git a/BO2/PC/ZM/maps/mp/gametypes_zm/_gv_actions.gsc b/BO2/PC/ZM/maps/mp/gametypes_zm/_gv_actions.gsc index ea4c9a4..59c6033 100644 --- a/BO2/PC/ZM/maps/mp/gametypes_zm/_gv_actions.gsc +++ b/BO2/PC/ZM/maps/mp/gametypes_zm/_gv_actions.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 71 - * Decompile Time: 101 ms - * Timestamp: 10/27/2023 3:02:37 AM + * Decompile Time: 7 ms + * Timestamp: 10/28/2023 12:11:36 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/PC/ZM/maps/mp/gametypes_zm/_healthoverlay.gsc b/BO2/PC/ZM/maps/mp/gametypes_zm/_healthoverlay.gsc index 8265578..8df6bc5 100644 --- a/BO2/PC/ZM/maps/mp/gametypes_zm/_healthoverlay.gsc +++ b/BO2/PC/ZM/maps/mp/gametypes_zm/_healthoverlay.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 11 - * Decompile Time: 18 ms - * Timestamp: 10/27/2023 3:02:37 AM + * Decompile Time: 1 ms + * Timestamp: 10/28/2023 12:11:37 AM *******************************************************************/ #include maps/mp/gametypes_zm/_globallogic_player; diff --git a/BO2/PC/ZM/maps/mp/gametypes_zm/_hostmigration.gsc b/BO2/PC/ZM/maps/mp/gametypes_zm/_hostmigration.gsc index 37882f3..dc6555f 100644 --- a/BO2/PC/ZM/maps/mp/gametypes_zm/_hostmigration.gsc +++ b/BO2/PC/ZM/maps/mp/gametypes_zm/_hostmigration.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 21 - * Decompile Time: 99 ms - * Timestamp: 10/27/2023 3:02:38 AM + * Decompile Time: 5 ms + * Timestamp: 10/28/2023 12:11:37 AM *******************************************************************/ #include common_scripts/utility; @@ -19,18 +19,27 @@ debug_script_structs() { /# - println("*** Num structs " + level.struct.size); - println(""); - i = 0; - for(;;) + if(IsDefined(level.struct)) { - struct = level.struct[i]; - println("---" + i + " : " + struct.targetname); - println("---" + i + " : " + "NONE"); - i++; + println("*** Num structs " + level.struct.size); + println(""); + for(i = 0;i < level.struct.size;i++) + { + struct = level.struct[i]; + if(IsDefined(struct.targetname)) + { + println("---" + i + " : " + struct.targetname); + } + else + { + println("---" + i + " : " + "NONE"); + } + } + } + else + { + println("*** No structs defined."); } - println("*** No structs defined."); -Stack-Empty ? Stack-Empty : ((IsDefined(level.struct)) ? i < level.struct.size : IsDefined(struct.targetname)) #/ } @@ -310,9 +319,8 @@ hostmigrationtimerthink_internal() self._host_migration_link_helper = ent; /# println("Linking player to ent " + self._host_migration_link_entity.targetname); -#/ } - +#/ self.hostmigrationcontrolsfrozen = 1; self freezecontrols(1); level waittill("host_migration_end"); @@ -330,9 +338,8 @@ hostmigrationtimerthink() self.hostmigrationcontrolsfrozen = 0; /# println(" Host migration unfreeze controls"); -#/ } - +#/ if(IsDefined(self._host_migration_link_entity)) { self unlink(); @@ -399,9 +406,8 @@ waitlongdurationwithhostmigrationpause(duration) { /# println("SCRIPT WARNING: gettime() = " + GetTime() + " NOT EQUAL TO endtime = " + endtime); -#/ } - +#/ waittillhostmigrationdone(); return GetTime() - starttime; } @@ -431,14 +437,20 @@ waitlongdurationwithgameendtimeupdate(duration) } /# - println("SCRIPT WARNING: gettime() = " + GetTime() + " NOT EQUAL TO endtime = " + endtime); -GetTime() != endtime -#/ - while(IsDefined(level.hostmigrationtimer)) + if(GetTime() != endtime) { - endtime = endtime + 1000; - setgameendtime(int(endtime)); - wait(1); + println("SCRIPT WARNING: gettime() = " + GetTime() + " NOT EQUAL TO endtime = " + endtime); + } + + for(;;) + { +#/ + if(IsDefined(level.hostmigrationtimer)) + { + endtime = endtime + 1000; + setgameendtime(int(endtime)); + wait(1); + } } return GetTime() - starttime; diff --git a/BO2/PC/ZM/maps/mp/gametypes_zm/_hud.gsc b/BO2/PC/ZM/maps/mp/gametypes_zm/_hud.gsc index ebd3cdc..f8b519d 100644 --- a/BO2/PC/ZM/maps/mp/gametypes_zm/_hud.gsc +++ b/BO2/PC/ZM/maps/mp/gametypes_zm/_hud.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 4 - * Decompile Time: 32 ms - * Timestamp: 10/27/2023 3:02:38 AM + * Decompile Time: 1 ms + * Timestamp: 10/28/2023 12:11:37 AM *******************************************************************/ //Function Number: 1 diff --git a/BO2/PC/ZM/maps/mp/gametypes_zm/_hud_message.gsc b/BO2/PC/ZM/maps/mp/gametypes_zm/_hud_message.gsc index f4e807c..e4c6e9d 100644 --- a/BO2/PC/ZM/maps/mp/gametypes_zm/_hud_message.gsc +++ b/BO2/PC/ZM/maps/mp/gametypes_zm/_hud_message.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 30 - * Decompile Time: 306 ms - * Timestamp: 10/27/2023 3:02:40 AM + * Decompile Time: 15 ms + * Timestamp: 10/28/2023 12:11:37 AM *******************************************************************/ #include maps/mp/_music; diff --git a/BO2/PC/ZM/maps/mp/gametypes_zm/_hud_util.gsc b/BO2/PC/ZM/maps/mp/gametypes_zm/_hud_util.gsc index 028879e..102de20 100644 --- a/BO2/PC/ZM/maps/mp/gametypes_zm/_hud_util.gsc +++ b/BO2/PC/ZM/maps/mp/gametypes_zm/_hud_util.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 47 - * Decompile Time: 83 ms - * Timestamp: 10/27/2023 3:02:40 AM + * Decompile Time: 14 ms + * Timestamp: 10/28/2023 12:11:37 AM *******************************************************************/ #include maps/mp/_utility; @@ -368,7 +368,7 @@ updatebarscale(barfrac,rateofchange) else if(rateofchange < 0) { /# - assert(barfrac / -1 * rateofchange > 0,"barFrac: " + barfrac + "rateOfChange: " + rateofchange); + assert(barfrac / -1 * rateofchange > 0,"barFrac: " + barfrac + "rateOfChange: " + rateofchange); #/ self.bar scaleovertime(barfrac / -1 * rateofchange,1,self.height); } @@ -1191,9 +1191,9 @@ hideperk(index,fadetime,hidetextonly) #/ /# assert(!IsDefined(self.perkname[index])); -#/ - return; } +#/ + return; } /# diff --git a/BO2/PC/ZM/maps/mp/gametypes_zm/_menus.gsc b/BO2/PC/ZM/maps/mp/gametypes_zm/_menus.gsc index d2459e8..67f4bff 100644 --- a/BO2/PC/ZM/maps/mp/gametypes_zm/_menus.gsc +++ b/BO2/PC/ZM/maps/mp/gametypes_zm/_menus.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 3 - * Decompile Time: 124 ms - * Timestamp: 10/27/2023 3:02:41 AM + * Decompile Time: 1 ms + * Timestamp: 10/28/2023 12:11:38 AM *******************************************************************/ #include maps/mp/_utility; diff --git a/BO2/PC/ZM/maps/mp/gametypes_zm/_perplayer.gsc b/BO2/PC/ZM/maps/mp/gametypes_zm/_perplayer.gsc index 103641e..6b8966e 100644 --- a/BO2/PC/ZM/maps/mp/gametypes_zm/_perplayer.gsc +++ b/BO2/PC/ZM/maps/mp/gametypes_zm/_perplayer.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 11 - * Decompile Time: 17 ms - * Timestamp: 10/27/2023 3:02:41 AM + * Decompile Time: 1 ms + * Timestamp: 10/28/2023 12:11:38 AM *******************************************************************/ #include maps/mp/_utility; diff --git a/BO2/PC/ZM/maps/mp/gametypes_zm/_scoreboard.gsc b/BO2/PC/ZM/maps/mp/gametypes_zm/_scoreboard.gsc index 9951b6e..83046e5 100644 --- a/BO2/PC/ZM/maps/mp/gametypes_zm/_scoreboard.gsc +++ b/BO2/PC/ZM/maps/mp/gametypes_zm/_scoreboard.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 1 - * Decompile Time: 7 ms - * Timestamp: 10/27/2023 3:02:41 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:11:38 AM *******************************************************************/ //Function Number: 1 diff --git a/BO2/PC/ZM/maps/mp/gametypes_zm/_serversettings.gsc b/BO2/PC/ZM/maps/mp/gametypes_zm/_serversettings.gsc index cae22d7..6f4e043 100644 --- a/BO2/PC/ZM/maps/mp/gametypes_zm/_serversettings.gsc +++ b/BO2/PC/ZM/maps/mp/gametypes_zm/_serversettings.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 4 - * Decompile Time: 31 ms - * Timestamp: 10/27/2023 3:02:42 AM + * Decompile Time: 3 ms + * Timestamp: 10/28/2023 12:11:38 AM *******************************************************************/ //Function Number: 1 diff --git a/BO2/PC/ZM/maps/mp/gametypes_zm/_shellshock.gsc b/BO2/PC/ZM/maps/mp/gametypes_zm/_shellshock.gsc index d5435e3..2b9259c 100644 --- a/BO2/PC/ZM/maps/mp/gametypes_zm/_shellshock.gsc +++ b/BO2/PC/ZM/maps/mp/gametypes_zm/_shellshock.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 5 - * Decompile Time: 95 ms - * Timestamp: 10/27/2023 3:02:43 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:11:38 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/PC/ZM/maps/mp/gametypes_zm/_spawning.gsc b/BO2/PC/ZM/maps/mp/gametypes_zm/_spawning.gsc index 289e5d7..4539bad 100644 --- a/BO2/PC/ZM/maps/mp/gametypes_zm/_spawning.gsc +++ b/BO2/PC/ZM/maps/mp/gametypes_zm/_spawning.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 49 - * Decompile Time: 162 ms - * Timestamp: 10/27/2023 3:02:43 AM + * Decompile Time: 16 ms + * Timestamp: 10/28/2023 12:11:39 AM *******************************************************************/ #include common_scripts/utility; @@ -635,7 +635,8 @@ create_map_placed_influencer(influencer_entity,optional_score_override) assertmsg("Radiant-placed sphere spawn influencers require \'radius\' parameter"); #/ break; - Stack-Empty ? IsDefined(influencer_entity.radius) : IsDefined(optional_score_override) + IsDefined(optional_score_override) + IsDefined(influencer_entity.radius) break; case "cylinder": @@ -647,7 +648,8 @@ create_map_placed_influencer(influencer_entity,optional_score_override) assertmsg("Radiant-placed cylinder spawn influencers require \'radius\' and \'height\' parameters"); #/ break; - Stack-Empty ? IsDefined(influencer_entity.radius) && IsDefined(influencer_entity.height) : IsDefined(optional_score_override) + IsDefined(optional_score_override) + IsDefined(influencer_entity.radius) && IsDefined(influencer_entity.height) break; default: @@ -661,9 +663,8 @@ create_map_placed_influencer(influencer_entity,optional_score_override) { /# assertmsg("Radiant-placed spawn influencers require \'script_shape\', \'script_score\' and \'script_score_curve\' parameters"); -#/ } - +#/ return influencer_id; } @@ -714,13 +715,12 @@ initialize_player_spawning_dvars() { /# reset_dvars = 1; - for(;;) + while(1) { get_player_spawning_dvars(reset_dvars); reset_dvars = 0; wait(2); } -1 #/ } @@ -837,9 +837,12 @@ onspawnplayer_unified(predictedspawn) } /# - spawn_point = get_debug_spawnpoint(self); - self spawn(spawn_point.origin,spawn_point.angles); -GetDvarInt(#"24A61F21") != 0 + if(GetDvarInt(#"24A61F21") != 0) + { + spawn_point = get_debug_spawnpoint(self); + self spawn(spawn_point.origin,spawn_point.angles); + return; + } #/ use_new_spawn_system = 0; initial_spawn = 1; diff --git a/BO2/PC/ZM/maps/mp/gametypes_zm/_spawnlogic.gsc b/BO2/PC/ZM/maps/mp/gametypes_zm/_spawnlogic.gsc index 51c321a..4e91469 100644 --- a/BO2/PC/ZM/maps/mp/gametypes_zm/_spawnlogic.gsc +++ b/BO2/PC/ZM/maps/mp/gametypes_zm/_spawnlogic.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 64 - * Decompile Time: 260 ms - * Timestamp: 10/27/2023 3:02:44 AM + * Decompile Time: 31 ms + * Timestamp: 10/28/2023 12:11:39 AM *******************************************************************/ #include common_scripts/utility; @@ -150,8 +150,10 @@ placespawnpoints(spawnpointname) addspawnpointclassname(spawnpointname); spawnpoints = getspawnpointarray(spawnpointname); /# - level.extraspawnpointsused = []; -IsDefined(level.extraspawnpointsused) + if(!(IsDefined(level.extraspawnpointsused))) + { + level.extraspawnpointsused = []; + } #/ if(!(spawnpoints.size)) { @@ -393,8 +395,10 @@ getbestweightedspawnpoint(spawnpoints) penalty = getlospenalty(); /# - bestspawnpoint.spawndata[bestspawnpoint.spawndata.size] = "Last minute sight trace: -" + penalty; -level.storespawndata || level.debugspawning + if(level.storespawndata || level.debugspawning) + { + bestspawnpoint.spawndata[bestspawnpoint.spawndata.size] = "Last minute sight trace: -" + penalty; + } #/ bestspawnpoint.weight = bestspawnpoint.weight - penalty; bestspawnpoint.lastsighttracetime = GetTime(); @@ -405,16 +409,24 @@ level.storespawndata || level.debugspawning checkbad(spawnpoint) { /# - i = 0; - for(;;) + for(i = 0;i < level.players.size;i++) { player = level.players[i]; - losexists = bullettracepassed(50 + VectorScale((0,0,1)),player.origin,spawnpoint.sighttracepoint,0); - thread badspawnline(spawnpoint.sighttracepoint,50 + VectorScale((0,0,1)),player.origin,self.name); - i++; + if(!isalive(player) || player.sessionstate != "playing") + { + } + else if(level.teambased && player.team == self.team) + { + } + else + { + losexists = bullettracepassed(50 + VectorScale((0,0,1)),player.origin,spawnpoint.sighttracepoint,0); + if(losexists) + { + thread badspawnline(spawnpoint.sighttracepoint,50 + VectorScale((0,0,1)),player.origin,self.name); + } + } } -(!isalive(player) || player.sessionstate != "playing") ? level.teambased && player.team == self.team : (undefined ? losexists : player.name) -i < level.players.size #/ } @@ -423,16 +435,13 @@ badspawnline(start,end,name1,name2) { /# dist = distance(start,end); - i = 0; - for(;;) + for(i = 0;i < 200;i++) { line(start,end,(1,0,0)); print3d(start,"Bad spawn! " + name1 + ", dist = " + dist); print3d(end,name2); wait(0.05); - i++; } -i < 200 #/ } @@ -440,105 +449,143 @@ i < 200 storespawndata(spawnpoints,useweights,bestspawnpoint) { /# - return; + if(!IsDefined(level.storespawndata) || !level.storespawndata) + { + return; + } + level.storespawndata = GetDvarInt(#"96EBB72E"); - return; - level.spawngameid = randomint(100); - level.spawnid = 0; - return; + if(!(level.storespawndata)) + { + return; + } + + if(!(IsDefined(level.spawnid))) + { + level.spawngameid = randomint(100); + level.spawnid = 0; + } + + if(bestspawnpoint.classname == "mp_global_intermission") + { + return; + } + level.spawnid++; file = openfile("spawndata.txt","append"); fprintfields(file,level.spawngameid + "." + level.spawnid + "," + spawnpoints.size + "," + self.name); - i = 0; - for(;;) + for(i = 0;i < spawnpoints.size;i++) { str = vectostr(spawnpoints[i].origin) + ","; - str = str + "1,"; - str = str + "0,"; - str = str + "0,"; - str = str + spawnpoints[i].weight + ","; - spawnpoints[i].spawndata = []; - spawnpoints[i].sightchecks = []; + if(spawnpoints[i] == bestspawnpoint) + { + str = str + "1,"; + } + else + { + str = str + "0,"; + } + + if(!(useweights)) + { + str = str + "0,"; + } + else + { + str = str + spawnpoints[i].weight + ","; + } + + if(!(IsDefined(spawnpoints[i].spawndata))) + { + spawnpoints[i].spawndata = []; + } + + if(!(IsDefined(spawnpoints[i].sightchecks))) + { + spawnpoints[i].sightchecks = []; + } + str = str + spawnpoints[i].spawndata.size + ","; - j = 0; - for(;;) + for(j = 0;j < spawnpoints[i].spawndata.size;j++) { str = str + spawnpoints[i].spawndata[j] + ","; - j++; } + str = str + spawnpoints[i].sightchecks.size + ","; - j = 0; - for(;;) + for(j = 0;j < spawnpoints[i].sightchecks.size;j++) { str = str + spawnpoints[i].sightchecks[j].penalty + "," + vectostr(spawnpoints[i].origin) + ","; - j++; } + fprintfields(file,str); - i++; } + obj = spawnstruct(); getallalliedandenemyplayers(obj); numallies = 0; numenemies = 0; str = ""; - i = 0; - for(;;) + for(i = 0;i < obj.allies.size;i++) { - numallies++; - str = str + vectostr(obj.allies[i].origin) + ","; - i++; + if(obj.allies[i] == self) + { + } + else + { + numallies++; + str = str + vectostr(obj.allies[i].origin) + ","; + } } - i = 0; - for(;;) + + for(i = 0;i < obj.enemies.size;i++) { numenemies++; str = str + vectostr(obj.enemies[i].origin) + ","; - i++; } + str = numallies + "," + numenemies + "," + str; fprintfields(file,str); otherdata = []; - index = otherdata.size; - otherdata[index] = spawnstruct(); - otherdata[index].origin = 20 + VectorScale((0,0,1)); - otherdata[index].text = "Bomb holder"; - index = otherdata.size; - otherdata[index] = spawnstruct(); - otherdata[index].origin = level.bombpos; - otherdata[index].text = "Bomb"; - i = 0; - for(;;) + if(IsDefined(level.bombguy)) { index = otherdata.size; otherdata[index] = spawnstruct(); - otherdata[index].origin = level.flags[i].origin; - otherdata[index].text = level.flags[i].useobj maps/mp/gametypes_zm/_gameobjects::getownerteam() + " flag"; - i++; + otherdata[index].origin = 20 + VectorScale((0,0,1)); + otherdata[index].text = "Bomb holder"; } + else if(IsDefined(level.bombpos)) + { + index = otherdata.size; + otherdata[index] = spawnstruct(); + otherdata[index].origin = level.bombpos; + otherdata[index].text = "Bomb"; + } + + if(IsDefined(level.flags)) + { + for(i = 0;i < level.flags.size;i++) + { + index = otherdata.size; + otherdata[index] = spawnstruct(); + otherdata[index].origin = level.flags[i].origin; + otherdata[index].text = level.flags[i].useobj maps/mp/gametypes_zm/_gameobjects::getownerteam() + " flag"; + } + } + str = otherdata.size + ","; - i = 0; - for(;;) + for(i = 0;i < otherdata.size;i++) { str = str + vectostr(otherdata[i].origin) + "," + otherdata[i].text + ","; - i++; } + fprintfields(file,str); closefile(file); thisspawnid = level.spawngameid + "." + level.spawnid; + if(IsDefined(self.thisspawnid)) + { + } + self.thisspawnid = thisspawnid; -IsDefined(self.thisspawnid) -i < otherdata.size -i < level.flags.size -IsDefined(level.flags) -(IsDefined(level.bombguy)) ? level.bombguy.origin : IsDefined(level.bombpos) -i < obj.enemies.size -(j < spawnpoints[i].sightchecks.size) ? i < obj.allies.size : obj.allies[i] == self -j < spawnpoints[i].spawndata.size -IsDefined(spawnpoints[i].sightchecks) -IsDefined(spawnpoints[i].spawndata) -(IsDefined(level.spawnid)) ? ((bestspawnpoint.classname == "mp_global_intermission") ? i < spawnpoints.size : spawnpoints[i] == bestspawnpoint) : useweights -level.storespawndata -!IsDefined(level.storespawndata) || !level.storespawndata #/ } @@ -547,55 +594,94 @@ readspawndata(desiredid,relativepos) { /# file = openfile("spawndata.txt","read"); - return; + if(file < 0) + { + return; + } + oldspawndata = level.curspawndata; level.curspawndata = undefined; prev = undefined; prevthisplayer = undefined; lookingfornextthisplayer = 0; lookingfornext = 0; - return; - for(;;) + if(IsDefined(relativepos) && !IsDefined(oldspawndata)) { - break; + return; + } + + while(1) + { + if(freadln(file) <= 0) + { + break; + } + data = spawnstruct(); data.id = fgetarg(file,0); numspawns = int(fgetarg(file,1)); - break; + if(numspawns > 256) + { + break; + } + data.playername = fgetarg(file,2); data.spawnpoints = []; data.friends = []; data.enemies = []; data.otherdata = []; - i = 0; - for(;;) + for(i = 0;i < numspawns;i++) { - break; + if(freadln(file) <= 0) + { + break; + } + spawnpoint = spawnstruct(); spawnpoint.origin = strtovec(fgetarg(file,0)); spawnpoint.winner = int(fgetarg(file,1)); spawnpoint.weight = int(fgetarg(file,2)); spawnpoint.data = []; spawnpoint.sightchecks = []; - data.minweight = spawnpoint.weight; - data.maxweight = spawnpoint.weight; - data.minweight = spawnpoint.weight; - data.maxweight = spawnpoint.weight; + if(i == 0) + { + data.minweight = spawnpoint.weight; + data.maxweight = spawnpoint.weight; + } + else + { + if(spawnpoint.weight < data.minweight) + { + data.minweight = spawnpoint.weight; + } + + if(spawnpoint.weight > data.maxweight) + { + data.maxweight = spawnpoint.weight; + } + } + argnum = 4; numdata = int(fgetarg(file,3)); - break; - j = 0; - for(;;) + if(numdata > 256) + { + break; + } + + for(j = 0;j < numdata;j++) { spawnpoint.data[spawnpoint.data.size] = fgetarg(file,argnum); argnum++; - j++; } + numsightchecks = int(fgetarg(file,argnum)); argnum++; - break; - j = 0; - for(;;) + if(numsightchecks > 256) + { + break; + } + + for(j = 0;j < numsightchecks;j++) { index = spawnpoint.sightchecks.size; spawnpoint.sightchecks[index] = spawnstruct(); @@ -603,38 +689,55 @@ readspawndata(desiredid,relativepos) argnum++; spawnpoint.sightchecks[index].origin = strtovec(fgetarg(file,argnum)); argnum++; - j++; } + data.spawnpoints[data.spawnpoints.size] = spawnpoint; - i++; } - data.minweight = -1; - data.maxweight = 0; - data.minweight = data.minweight - 1; - break; + + if(!(IsDefined(data.minweight))) + { + data.minweight = -1; + data.maxweight = 0; + } + + if(data.minweight == data.maxweight) + { + data.minweight = data.minweight - 1; + } + + if(freadln(file) <= 0) + { + break; + } + numfriends = int(fgetarg(file,0)); numenemies = int(fgetarg(file,1)); - break; + if(numfriends > 32 || numenemies > 32) + { + break; + } + argnum = 2; - i = 0; - for(;;) + for(i = 0;i < numfriends;i++) { data.friends[data.friends.size] = strtovec(fgetarg(file,argnum)); argnum++; - i++; } - i = 0; - for(;;) + + for(i = 0;i < numenemies;i++) { data.enemies[data.enemies.size] = strtovec(fgetarg(file,argnum)); argnum++; - i++; } - break; + + if(freadln(file) <= 0) + { + break; + } + numotherdata = int(fgetarg(file,0)); argnum = 1; - i = 0; - for(;;) + for(i = 0;i < numotherdata;i++) { otherdata = spawnstruct(); otherdata.origin = strtovec(fgetarg(file,argnum)); @@ -642,48 +745,74 @@ readspawndata(desiredid,relativepos) otherdata.text = fgetarg(file,argnum); argnum++; data.otherdata[data.otherdata.size] = otherdata; - i++; } - level.curspawndata = prevthisplayer; - break; - level.curspawndata = prev; - break; - level.curspawndata = data; - break; - lookingfornextthisplayer = 1; - continue; - level.curspawndata = data; - break; - lookingfornext = 1; - level.curspawndata = data; - break; + + if(IsDefined(relativepos)) + { + if(relativepos == "prevthisplayer") + { + if(data.id == oldspawndata.id) + { + level.curspawndata = prevthisplayer; + break; + } + + continue; + } + + if(relativepos == "prev") + { + if(data.id == oldspawndata.id) + { + level.curspawndata = prev; + break; + } + + continue; + } + + if(relativepos == "nextthisplayer") + { + if(lookingfornextthisplayer) + { + level.curspawndata = data; + break; + } + else if(data.id == oldspawndata.id) + { + lookingfornextthisplayer = 1; + } + + continue; + } + + if(relativepos == "next") + { + if(lookingfornext) + { + level.curspawndata = data; + break; + } + else if(data.id == oldspawndata.id) + { + lookingfornext = 1; + } + } + } + else if(data.id == desiredid) + { + level.curspawndata = data; + break; + } + prev = data; - prevthisplayer = data; + if(IsDefined(oldspawndata) && data.playername == oldspawndata.playername) + { + prevthisplayer = data; + } } + closefile(file); -IsDefined(oldspawndata) && data.playername == oldspawndata.playername -(relativepos == "prevthisplayer") ? ((data.id == oldspawndata.id) ? relativepos == "prev" : ((data.id == oldspawndata.id) ? ((relativepos == "nextthisplayer") ? lookingfornextthisplayer : data.id == oldspawndata.id) : ((relativepos == "next") ? lookingfornext : data.id == oldspawndata.id))) : data.id == desiredid -IsDefined(relativepos) -i < numotherdata -freadln(file) <= 0 -i < numenemies -i < numfriends -numfriends > 32 || numenemies > 32 -freadln(file) <= 0 -data.minweight == data.maxweight -IsDefined(data.minweight) -j < numsightchecks -numsightchecks > 256 -j < numdata -numdata > 256 -i == 0 ? spawnpoint.weight < data.minweight : spawnpoint.weight > data.maxweight -freadln(file) <= 0 -i < numspawns -numspawns > 256 -freadln(file) <= 0 -1 -IsDefined(relativepos) && !IsDefined(oldspawndata) -file < 0 #/ } @@ -694,65 +823,57 @@ drawspawndata() level notify("drawing_spawn_data"); level endon("drawing_spawn_data"); textoffset = VectorScale((0,0,-1)); - for(;;) + while(1) { - wait(0.5); - i = 0; - for(;;) + if(!(IsDefined(level.curspawndata))) + { + wait(0.5); + continue; + } + + for(i = 0;i < level.curspawndata.friends.size;i++) { print3d(level.curspawndata.friends[i],"=)",(0.5,1,0.5),1,5); - i++; } - i = 0; - for(;;) + + for(i = 0;i < level.curspawndata.enemies.size;i++) { print3d(level.curspawndata.enemies[i],"=(",(1,0.5,0.5),1,5); - i++; } - i = 0; - for(;;) + + for(i = 0;i < level.curspawndata.otherdata.size;i++) { print3d(level.curspawndata.otherdata[i].origin,level.curspawndata.otherdata[i].text,(0.5,0.75,1),1,2); - i++; } - i = 0; - for(;;) + + for(i = 0;i < level.curspawndata.spawnpoints.size;i++) { sp = level.curspawndata.spawnpoints[i]; orig = sp.sighttracepoint; - print3d(orig,level.curspawndata.playername + " spawned here",(0.5,0.5,1),1,2); - orig = orig + textoffset; + if(sp.winner) + { + print3d(orig,level.curspawndata.playername + " spawned here",(0.5,0.5,1),1,2); + orig = orig + textoffset; + } + amnt = sp.weight - level.curspawndata.minweight / level.curspawndata.maxweight - level.curspawndata.minweight; print3d(orig,"Weight: " + sp.weight,(1 - amnt,amnt,0.5)); orig = orig + textoffset; - j = 0; - for(;;) + for(j = 0;j < sp.data.size;j++) { print3d(orig,sp.data[j],(1,1,1)); orig = orig + textoffset; - j++; } - j = 0; - for(;;) + + for(j = 0;j < sp.sightchecks.size;j++) { print3d(orig,"Sightchecks: -" + sp.sightchecks[j].penalty,(1,0.5,0.5)); orig = orig + textoffset; - j++; } - i++; } + wait(0.05); } -j < sp.sightchecks.size -j < sp.data.size -sp.winner -i < level.curspawndata.spawnpoints.size -i < level.curspawndata.otherdata.size -i < level.curspawndata.enemies.size -i < level.curspawndata.friends.size -IsDefined(level.curspawndata) -1 -12 #/ } @@ -769,9 +890,12 @@ strtovec(str) { /# parts = strtok(str,"/"); - return (0,0,0); + if(parts.size != 3) + { + return (0,0,0); + } + return (int(parts[0]),int(parts[1]),int(parts[2])); -parts.size != 3 #/ } @@ -879,15 +1003,14 @@ initweights(spawnpoints) } /# - i = 0; - for(;;) + if(level.storespawndata || level.debugspawning) { - spawnpoints[i].spawndata = []; - spawnpoints[i].sightchecks = []; - i++; + for(i = 0;i < spawnpoints.size;i++) + { + spawnpoints[i].spawndata = []; + spawnpoints[i].sightchecks = []; + } } -i < spawnpoints.size -level.storespawndata || level.debugspawning #/ } @@ -940,10 +1063,15 @@ getspawnpoint_nearteam(spawnpoints,favoredspawnpoints,forceallydistanceweight,fo } /# - setdvar("scr_spawn_randomly","0"); - return getspawnpoint_random(spawnpoints); -GetDvar(#"6486379A") == "1" -GetDvar(#"6486379A") == "" + if(GetDvar(#"6486379A") == "") + { + setdvar("scr_spawn_randomly","0"); + } + + if(GetDvar(#"6486379A") == "1") + { + return getspawnpoint_random(spawnpoints); + } #/ if(GetDvarInt(#"292A749F") > 0) { @@ -984,18 +1112,22 @@ GetDvar(#"6486379A") == "" enemydistsum = spawnpoint.enemydistsum[myteam]; spawnpoint.weight = enemydistanceweight * enemydistsum - allieddistanceweight * allydistsum / spawnpoint.numplayersatlastupdate; /# - spawnpoint.spawndata[spawnpoint.spawndata.size] = "Base weight: " + int(spawnpoint.weight) + " = (" + enemydistanceweight + "*" + int(enemydistsum) + " - " + allieddistanceweight + "*" + int(allydistsum) + ") / " + spawnpoint.numplayersatlastupdate; -level.storespawndata || level.debugspawning + if(level.storespawndata || level.debugspawning) + { + spawnpoint.spawndata[spawnpoint.spawndata.size] = "Base weight: " + int(spawnpoint.weight) + " = (" + enemydistanceweight + "*" + int(enemydistsum) + " - " + allieddistanceweight + "*" + int(allydistsum) + ") / " + spawnpoint.numplayersatlastupdate; + } #/ } else { spawnpoint.weight = 0; /# - spawnpoint.spawndata[spawnpoint.spawndata.size] = "Base weight: 0"; -level.storespawndata || level.debugspawning -#/ + if(level.storespawndata || level.debugspawning) + { + spawnpoint.spawndata[spawnpoint.spawndata.size] = "Base weight: 0"; + } } +#/ } if(IsDefined(favoredspawnpoints)) @@ -1019,10 +1151,15 @@ level.storespawndata || level.debugspawning avoidvisibleenemies(spawnpoints,1); result = getspawnpoint_final(spawnpoints); /# - setdvar("scr_spawn_showbad","0"); - checkbad(result); -GetDvar(#"9E85FAFC") == "1" -GetDvar(#"9E85FAFC") == "" + if(GetDvar(#"9E85FAFC") == "") + { + setdvar("scr_spawn_showbad","0"); + } + + if(GetDvar(#"9E85FAFC") == "1") + { + checkbad(result); + } #/ return result; } @@ -1161,14 +1298,23 @@ spawnlogic_begin() init() { /# - setdvar("scr_recordspawndata",0); + if(GetDvar(#"96EBB72E") == "") + { + setdvar("scr_recordspawndata",0); + } + level.storespawndata = GetDvarInt(#"96EBB72E"); - setdvar("scr_killbots",0); - setdvar("scr_killbottimer",0.25); + if(GetDvar(#"45A06390") == "") + { + setdvar("scr_killbots",0); + } + + if(GetDvar(#"1F9534FE") == "") + { + setdvar("scr_killbottimer",0.25); + } + thread loopbotspawns(); -GetDvar(#"1F9534FE") == "" -GetDvar(#"45A06390") == "" -GetDvar(#"96EBB72E") == "" #/ level.spawnlogic_deaths = []; level.spawnlogic_spawnkills = []; @@ -1197,20 +1343,35 @@ GetDvar(#"96EBB72E") == "" } /# - setdvar("scr_spawnsimple","0"); - setdvar("scr_spawnpointdebug","0"); - thread showdeathsdebug(); - thread updatedeathinfodebug(); - thread profiledebug(); - thread allowspawndatareading(); - setdvar("scr_spawnprofile","0"); + if(GetDvar(#"292A749F") == "") + { + setdvar("scr_spawnsimple","0"); + } + + if(GetDvar(#"632110E6") == "") + { + setdvar("scr_spawnpointdebug","0"); + } + + if(GetDvarInt(#"632110E6") > 0) + { + thread showdeathsdebug(); + thread updatedeathinfodebug(); + thread profiledebug(); + } + + if(level.storespawndata) + { + thread allowspawndatareading(); + } + + if(GetDvar(#"7CA769A6") == "") + { + setdvar("scr_spawnprofile","0"); + } + thread watchspawnprofile(); thread spawngraphcheck(); -GetDvar(#"7CA769A6") == "" -level.storespawndata -GetDvarInt(#"632110E6") > 0 -GetDvar(#"632110E6") == "" -GetDvar(#"292A749F") == "" #/ } @@ -1218,20 +1379,30 @@ GetDvar(#"292A749F") == "" watchspawnprofile() { /# - for(;;) + while(1) { - for(;;) + while(1) { - break; + if(GetDvarInt(#"7CA769A6") > 0) + { + break; + } + wait(0.05); } + thread spawnprofile(); - for(;;) + while(1) { - break; + if(GetDvarInt(#"7CA769A6") <= 0) + { + break; + } + wait(0.05); } - level notify("stop_spawn_profile",GetDvarInt(#"7CA769A6") <= 0,1,GetDvarInt(#"7CA769A6") > 0,1,1); + + level notify("stop_spawn_profile"); } #/ } @@ -1241,23 +1412,25 @@ spawnprofile() { /# level endon("stop_spawn_profile"); - for(;;) + while(1) { - playernum = randomint(level.players.size); - player = level.players[playernum]; - attempt = 1; - for(;;) + if(level.players.size > 0 && level.spawnpoints.size > 0) { - playernum = playernum + 1 % level.players.size; - attempt++; + playernum = randomint(level.players.size); player = level.players[playernum]; + attempt = 1; + while(!IsDefined(player) && attempt < level.players.size) + { + playernum = playernum + 1 % level.players.size; + attempt++; + player = level.players[playernum]; + } + + player getspawnpoint_nearteam(level.spawnpoints); } - player getspawnpoint_nearteam(level.spawnpoints); + wait(0.05); } -!IsDefined(player) && attempt < level.players.size -level.players.size > 0 && level.spawnpoints.size > 0 -1 #/ } @@ -1265,14 +1438,17 @@ level.players.size > 0 && level.spawnpoints.size > 0 spawngraphcheck() { /# - for(;;) + while(1) { - wait(3); + if(GetDvarInt(#"C25B6B47") < 1) + { + wait(3); + continue; + } + thread spawngraph(); return; } -GetDvarInt(#"C25B6B47") < 1 -1 #/ } @@ -1285,21 +1461,37 @@ spawngraph() weightscale = 0.1; fakespawnpoints = []; corners = getentarray("minimap_corner","targetname"); - println("^1 can\'t spawn graph: no minimap corners"); - return; + if(corners.size != 2) + { + println("^1 can\'t spawn graph: no minimap corners"); + return; + } + min = corners[0].origin; max = corners[0].origin; - max = (corners[1].origin[0],max[1],max[2]); - min = (corners[1].origin[0],min[1],min[2]); - max = (max[0],corners[1].origin[1],max[2]); - min = (min[0],corners[1].origin[1],min[2]); + if(corners[1].origin[0] > max[0]) + { + max = (corners[1].origin[0],max[1],max[2]); + } + else + { + min = (corners[1].origin[0],min[1],min[2]); + } + + if(corners[1].origin[1] > max[1]) + { + max = (max[0],corners[1].origin[1],max[2]); + } + else + { + min = (min[0],corners[1].origin[1],min[2]); + } + i = 0; - y = 0; - for(;;) + for(y = 0;y < h;y++) { yamnt = y / h - 1; - x = 0; - for(;;) + for(x = 0;x < w;x++) { xamnt = x / w - 1; fakespawnpoints[i] = spawnstruct(); @@ -1308,56 +1500,57 @@ spawngraph() fakespawnpoints[i].forward = AnglesToForward(fakespawnpoints[i].angles); fakespawnpoints[i].sighttracepoint = fakespawnpoints[i].origin; i++; - x++; } - y++; } + didweights = 0; - for(;;) + while(1) { - for(;;) + spawni = 0; + numiters = 5; + for(i = 0;i < numiters;i++) { - spawni = 0; - numiters = 5; - i = 0; - for(;;) + if(!level.players.size || !IsDefined(level.players[0].team) || level.players[0].team == "spectator" || !IsDefined(level.players[0].class)) { break; - endspawni = spawni + fakespawnpoints.size / numiters; - endspawni = fakespawnpoints.size; - for(;;) - { - spawnpointupdate(fakespawnpoints[spawni]); - spawni++; - } - level.players[0] drawspawngraph(fakespawnpoints,w,h,weightscale); - wait(0.05); - i++; } - wait(1); + + endspawni = spawni + fakespawnpoints.size / numiters; + if(i == numiters - 1) + { + endspawni = fakespawnpoints.size; + } + + while(spawni < endspawni) + { + spawnpointupdate(fakespawnpoints[spawni]); + spawni++; + } + + if(didweights) + { + level.players[0] drawspawngraph(fakespawnpoints,w,h,weightscale); + } + + wait(0.05); } + + if(!level.players.size || !IsDefined(level.players[0].team) || level.players[0].team == "spectator" || !IsDefined(level.players[0].class)) + { + wait(1); + continue; + } + level.players[0] getspawnpoint_nearteam(fakespawnpoints); - i = 0; - for(;;) + for(i = 0;i < fakespawnpoints.size;i++) { setupspawngraphpoint(fakespawnpoints[i],weightscale); - i++; } + didweights = 1; level.players[0] drawspawngraph(fakespawnpoints,w,h,weightscale); wait(0.05); } -i < fakespawnpoints.size -!level.players.size || !IsDefined(level.players[0].team) || level.players[0].team == "spectator" || !IsDefined(level.players[0].class) -didweights -spawni < endspawni -i == numiters - 1 -!level.players.size || !IsDefined(level.players[0].team) || level.players[0].team == "spectator" || !IsDefined(level.players[0].class) -i < numiters -1 -x < w -y < h -Stack-Empty ? (Stack-Empty ? corners.size != 2 : corners[1].origin[0] > max[0]) : corners[1].origin[1] > max[1] #/ } @@ -1366,25 +1559,25 @@ drawspawngraph(fakespawnpoints,w,h,weightscale) { /# i = 0; - y = 0; - for(;;) + for(y = 0;y < h;y++) { yamnt = y / h - 1; - x = 0; - for(;;) + for(x = 0;x < w;x++) { xamnt = x / w - 1; - spawngraphline(fakespawnpoints[i],fakespawnpoints[i - w],weightscale); - spawngraphline(fakespawnpoints[i],fakespawnpoints[i - 1],weightscale); + if(y > 0) + { + spawngraphline(fakespawnpoints[i],fakespawnpoints[i - w],weightscale); + } + + if(x > 0) + { + spawngraphline(fakespawnpoints[i],fakespawnpoints[i - 1],weightscale); + } + i++; - x++; } - y++; } -x > 0 -y > 0 -x < w -y < h #/ } @@ -1393,8 +1586,10 @@ setupspawngraphpoint(s1,weightscale) { /# s1.visible = 1; - s1.visible = 0; -s1.weight < -1000 / weightscale + if(s1.weight < -1000 / weightscale) + { + s1.visible = 0; + } #/ } @@ -1402,11 +1597,14 @@ s1.weight < -1000 / weightscale spawngraphline(s1,s2,weightscale) { /# - return; + if(!s1.visible || !s2.visible) + { + return; + } + p1 = s1.origin + (0,0,s1.weight * weightscale + 100); p2 = s2.origin + (0,0,s2.weight * weightscale + 100); line(p1,p2,(1,1,1)); -!s1.visible || !s2.visible #/ } @@ -1414,46 +1612,67 @@ spawngraphline(s1,s2,weightscale) loopbotspawns() { /# - for(;;) + while(1) { - for(;;) + if(GetDvarInt(#"45A06390") < 1) { wait(3); + continue; + } + + if(!(IsDefined(level.players))) + { wait(0.05); + continue; } + bots = []; - i = 0; - for(;;) + for(i = 0;i < level.players.size;i++) { - bots[bots.size] = level.players[i]; - i++; + if(!(IsDefined(level.players[i]))) + { + } + else if(level.players[i].sessionstate == "playing" && issubstr(level.players[i].name,"bot")) + { + bots[bots.size] = level.players[i]; + } } - killer = bots[randomint(bots.size)]; - victim = bots[randomint(bots.size)]; - victim thread [[ level.callbackplayerdamage ]](killer,killer,1000,0,"MOD_RIFLE_BULLET","none",(0,0,0),(0,0,0),"none",0,0); - numkills = GetDvarInt(#"45A06390"); - lastvictim = undefined; - index = 0; - for(;;) + + if(bots.size > 0) { - killer = bots[randomint(bots.size)]; - victim = bots[randomint(bots.size)]; - victim = bots[randomint(bots.size)]; - victim thread [[ level.callbackplayerdamage ]](killer,killer,1000,0,"MOD_RIFLE_BULLET","none",(0,0,0),(0,0,0),"none",0,0); - lastvictim = victim; - index++; + if(GetDvarInt(#"45A06390") == 1) + { + killer = bots[randomint(bots.size)]; + victim = bots[randomint(bots.size)]; + victim thread [[ level.callbackplayerdamage ]](killer,killer,1000,0,"MOD_RIFLE_BULLET","none",(0,0,0),(0,0,0),"none",0,0); + } + else + { + numkills = GetDvarInt(#"45A06390"); + lastvictim = undefined; + for(index = 0;index < numkills;index++) + { + killer = bots[randomint(bots.size)]; + victim = bots[randomint(bots.size)]; + while(IsDefined(lastvictim) && victim == lastvictim) + { + victim = bots[randomint(bots.size)]; + } + + victim thread [[ level.callbackplayerdamage ]](killer,killer,1000,0,"MOD_RIFLE_BULLET","none",(0,0,0),(0,0,0),"none",0,0); + lastvictim = victim; + } + } } - wait(GetDvarFloat(#"1F9534FE")); - continue; + + if(GetDvar(#"1F9534FE") != "") + { + wait(GetDvarFloat(#"1F9534FE")); + continue; + } + wait(0.05); } -GetDvar(#"1F9534FE") != "" -(GetDvarInt(#"45A06390") == 1) ? index < numkills : IsDefined(lastvictim) && victim == lastvictim -bots.size > 0 -(i < level.players.size) ? IsDefined(level.players[i]) : level.players[i].sessionstate == "playing" && issubstr(level.players[i].name,"bot") -IsDefined(level.players) -GetDvarInt(#"45A06390") < 1 -1 #/ } @@ -1465,26 +1684,37 @@ allowspawndatareading() prevval = GetDvar(#"E0FC7E63"); prevrelval = GetDvar(#"4058B332"); readthistime = 0; - for(;;) + while(1) { - for(;;) + val = GetDvar(#"E0FC7E63"); + relval = undefined; + if(!IsDefined(val) || val == prevval) { - val = GetDvar(#"E0FC7E63"); - relval = undefined; relval = GetDvar(#"4058B332"); - setdvar("scr_spawnidcycle",""); - break; + if(IsDefined(relval) && relval != "") + { + setdvar("scr_spawnidcycle",""); + break; + } + wait(0.5); + continue; } + prevval = val; readthistime = 0; readspawndata(val,relval); - println("No spawn data to draw."); - println("Drawing spawn ID " + level.curspawndata.id); + if(!(IsDefined(level.curspawndata))) + { + println("No spawn data to draw."); + } + else + { + println("Drawing spawn ID " + level.curspawndata.id); + } + thread drawspawndata(); } -(!IsDefined(val) || val == prevval) ? IsDefined(relval) && relval != "" : IsDefined(level.curspawndata) -1 #/ } @@ -1492,50 +1722,70 @@ allowspawndatareading() showdeathsdebug() { /# - for(;;) + while(1) { - wait(3); + if(GetDvar(#"632110E6") == "0") + { + wait(3); + continue; + } + time = GetTime(); - i = 0; - for(;;) + for(i = 0;i < level.spawnlogic_deaths.size;i++) { - line(level.spawnlogic_deaths[i].org,level.spawnlogic_deaths[i].killorg,(1,0,0)); - line(level.spawnlogic_deaths[i].org,level.spawnlogic_deaths[i].killorg,(1,1,1)); + if(IsDefined(level.spawnlogic_deaths[i].los)) + { + line(level.spawnlogic_deaths[i].org,level.spawnlogic_deaths[i].killorg,(1,0,0)); + } + else + { + line(level.spawnlogic_deaths[i].org,level.spawnlogic_deaths[i].killorg,(1,1,1)); + } + killer = level.spawnlogic_deaths[i].killer; - line(level.spawnlogic_deaths[i].killorg,killer.origin,(0.4,0.4,0.8)); - i++; + if(IsDefined(killer) && isalive(killer)) + { + line(level.spawnlogic_deaths[i].killorg,killer.origin,(0.4,0.4,0.8)); + } } - p = 0; - for(;;) + + for(p = 0;p < level.players.size;p++) { - print3d(64 + VectorScale((0,0,1)),level.players[p].origin,level.players[p].spawnlogic_killdist); - p++; + if(!(IsDefined(level.players[p]))) + { + } + else if(IsDefined(level.players[p].spawnlogic_killdist)) + { + print3d(64 + VectorScale((0,0,1)),level.players[p].origin,level.players[p].spawnlogic_killdist); + } } + oldspawnkills = level.spawnlogic_spawnkills; level.spawnlogic_spawnkills = []; - i = 0; - for(;;) + for(i = 0;i < oldspawnkills.size;i++) { spawnkill = oldspawnkills[i]; - line(spawnkill.spawnpointorigin,spawnkill.dierorigin,(0.4,0.5,0.4)); - line(spawnkill.dierorigin,spawnkill.killerorigin,(0,1,1)); - print3d(32 + VectorScale((0,0,1)),spawnkill.dierorigin,"SPAWNKILLED!"); - line(spawnkill.spawnpointorigin,spawnkill.killerorigin,(0.4,0.5,0.4)); - line(spawnkill.killerorigin,spawnkill.dierorigin,(0,1,1)); - print3d(32 + VectorScale((0,0,1)),spawnkill.dierorigin,"SPAWNDIED!"); - level.spawnlogic_spawnkills[level.spawnlogic_spawnkills.size] = oldspawnkills[i]; - i++; + if(spawnkill.dierwasspawner) + { + line(spawnkill.spawnpointorigin,spawnkill.dierorigin,(0.4,0.5,0.4)); + line(spawnkill.dierorigin,spawnkill.killerorigin,(0,1,1)); + print3d(32 + VectorScale((0,0,1)),spawnkill.dierorigin,"SPAWNKILLED!"); + } + else + { + line(spawnkill.spawnpointorigin,spawnkill.killerorigin,(0.4,0.5,0.4)); + line(spawnkill.killerorigin,spawnkill.dierorigin,(0,1,1)); + print3d(32 + VectorScale((0,0,1)),spawnkill.dierorigin,"SPAWNDIED!"); + } + + if(time - spawnkill.time < 60000) + { + level.spawnlogic_spawnkills[level.spawnlogic_spawnkills.size] = oldspawnkills[i]; + } } + wait(0.05); } -time - spawnkill.time < 60000 -(spawnkill.dierwasspawner) ? (0,1,1) : (0,1,1) -i < oldspawnkills.size -(IsDefined(level.players[p])) ? IsDefined(level.players[p].spawnlogic_killdist) : (1,1,1) -p < level.players.size -IsDefined(killer) && isalive(killer) -(GetDvar(#"632110E6") == "0") ? i < level.spawnlogic_deaths.size : IsDefined(level.spawnlogic_deaths[i].los) -1 #/ } @@ -1561,49 +1811,58 @@ spawnweightdebug(spawnpoints) level notify("stop_spawn_weight_debug"); level endon("stop_spawn_weight_debug"); /# - for(;;) + while(1) { - wait(3); + if(GetDvar(#"632110E6") == "0") + { + wait(3); + continue; + } + textoffset = VectorScale((0,0,-1)); - i = 0; - for(;;) + for(i = 0;i < spawnpoints.size;i++) { amnt = 1 * 1 - spawnpoints[i].weight / -100000; - amnt = 0; - amnt = 1; + if(amnt < 0) + { + amnt = 0; + } + + if(amnt > 1) + { + amnt = 1; + } + orig = 80 + VectorScale((0,0,1)); print3d(orig,int(spawnpoints[i].weight),(1,amnt,0.5)); orig = orig + textoffset; - j = 0; - for(;;) + if(IsDefined(spawnpoints[i].spawndata)) { - print3d(orig,spawnpoints[i].spawndata[j],VectorScale((1,1,1))); - orig = orig + textoffset; - j++; + for(j = 0;j < spawnpoints[i].spawndata.size;j++) + { + print3d(orig,spawnpoints[i].spawndata[j],VectorScale((1,1,1))); + orig = orig + textoffset; + } } - j = 0; - for(;;) + + if(IsDefined(spawnpoints[i].sightchecks)) { - print3d(orig,"Sight to enemy: -" + spawnpoints[i].sightchecks[j].penalty,VectorScale((1,1,1))); - orig = orig + textoffset; - j++; + for(j = 0;j < spawnpoints[i].sightchecks.size;j++) + { + if(spawnpoints[i].sightchecks[j].penalty == 0) + { + } + else + { + print3d(orig,"Sight to enemy: -" + spawnpoints[i].sightchecks[j].penalty,VectorScale((1,1,1))); + orig = orig + textoffset; + } + } } - i++; } + wait(0.05); } -(j < spawnpoints[i].sightchecks.size) ? spawnpoints[i].sightchecks[j].penalty == 0 : 0.5 -IsDefined(spawnpoints[i].sightchecks) -0.5 -j < spawnpoints[i].spawndata.size -IsDefined(spawnpoints[i].spawndata) -spawnpoints[i].origin -amnt > 1 -amnt < 0 -i < spawnpoints.size -12 -GetDvar(#"632110E6") == "0" -1 #/ } @@ -1636,23 +1895,26 @@ profiledebug() debugnearbyplayers(players,origin) { /# - return; - starttime = GetTime(); - for(;;) + if(GetDvar(#"632110E6") == "0") { - i = 0; - for(;;) + return; + } + + starttime = GetTime(); + while(1) + { + for(i = 0;i < players.size;i++) { line(players[i].origin,origin,(0.5,1,0.5)); - i++; } - return; + + if(GetTime() - starttime > 5000) + { + return; + } + wait(0.05); } -GetTime() - starttime > 5000 -i < players.size -1 -GetDvar(#"632110E6") == "0" #/ } @@ -1761,10 +2023,12 @@ avoidweapondamage(spawnpoints) { spawnpoints[i].weight = spawnpoints[i].weight - weapondamagepenalty; /# + if(level.storespawndata || level.debugspawning) + { spawnpoints[i].spawndata[spawnpoints[i].spawndata.size] = "Was near grenade: -" + int(weapondamagepenalty); -level.storespawndata || level.debugspawning -#/ + } } +#/ } } } @@ -1912,13 +2176,14 @@ spawnpointupdate(spawnpoint) } /# - line(50 + VectorScale((0,0,1)),player.origin,spawnpoint.sighttracepoint); -(0.5,1,0.5) -debug -#/ + if(debug) + { + line(50 + VectorScale((0,0,1)),player.origin,spawnpoint.sighttracepoint); + } } } } +#/ } if(level.teambased) @@ -2042,12 +2307,14 @@ avoidvisibleenemies(spawnpoints,teambased) penalty = lospenalty * spawnpoints[i].enemysights[self.team]; spawnpoints[i].weight = spawnpoints[i].weight - penalty; /# - index = spawnpoints[i].sightchecks.size; - spawnpoints[i].sightchecks[index] = spawnstruct(); - spawnpoints[i].sightchecks[index].penalty = penalty; -level.storespawndata || level.debugspawning -#/ + if(level.storespawndata || level.debugspawning) + { + index = spawnpoints[i].sightchecks.size; + spawnpoints[i].sightchecks[index] = spawnstruct(); + spawnpoints[i].sightchecks[index].penalty = penalty; + } } +#/ } } else @@ -2062,12 +2329,14 @@ level.storespawndata || level.debugspawning penalty = lospenalty * spawnpoints[i].enemysights; spawnpoints[i].weight = spawnpoints[i].weight - penalty; /# - index = spawnpoints[i].sightchecks.size; - spawnpoints[i].sightchecks[index] = spawnstruct(); - spawnpoints[i].sightchecks[index].penalty = penalty; -level.storespawndata || level.debugspawning -#/ + if(level.storespawndata || level.debugspawning) + { + index = spawnpoints[i].sightchecks.size; + spawnpoints[i].sightchecks[index] = spawnstruct(); + spawnpoints[i].sightchecks[index].penalty = penalty; + } } +#/ } mindistteam = "all"; @@ -2107,11 +2376,13 @@ level.storespawndata || level.debugspawning { spawnpoints[i].weight = spawnpoints[i].weight - penalty; /# - spawnpoints[i].spawndata[spawnpoints[i].spawndata.size] = "Nearest enemy at " + int(spawnpoints[i].minenemydist[mindistteam]) + " units: -" + int(penalty); -level.storespawndata || level.debugspawning -#/ + if(level.storespawndata || level.debugspawning) + { + spawnpoints[i].spawndata[spawnpoints[i].spawndata.size] = "Nearest enemy at " + int(spawnpoints[i].minenemydist[mindistteam]) + " units: -" + int(penalty); + } } } +#/ } } } @@ -2150,8 +2421,10 @@ avoidspawnreuse(spawnpoints,teambased) worsen = 5000 * 1 - distsq / maxdistsq * 1 - timepassed / maxtime; spawnpoint.weight = spawnpoint.weight - worsen; /# - spawnpoint.spawndata[spawnpoint.spawndata.size] = "Was recently used: -" + worsen; -level.storespawndata || level.debugspawning + if(level.storespawndata || level.debugspawning) + { + spawnpoint.spawndata[spawnpoint.spawndata.size] = "Was recently used: -" + worsen; + } #/ continue; } @@ -2185,8 +2458,10 @@ avoidsamespawn(spawnpoints) { spawnpoints[i].weight = spawnpoints[i].weight - 50000; /# - spawnpoints[i].spawndata[spawnpoints[i].spawndata.size] = "Was last spawnpoint: -50000"; -level.storespawndata || level.debugspawning + if(level.storespawndata || level.debugspawning) + { + spawnpoints[i].spawndata[spawnpoints[i].spawndata.size] = "Was last spawnpoint: -50000"; + } #/ break; } diff --git a/BO2/PC/ZM/maps/mp/gametypes_zm/_spectating.gsc b/BO2/PC/ZM/maps/mp/gametypes_zm/_spectating.gsc index 2357b44..b27d6c5 100644 --- a/BO2/PC/ZM/maps/mp/gametypes_zm/_spectating.gsc +++ b/BO2/PC/ZM/maps/mp/gametypes_zm/_spectating.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 12 - * Decompile Time: 26 ms - * Timestamp: 10/27/2023 3:02:45 AM + * Decompile Time: 1 ms + * Timestamp: 10/28/2023 12:11:39 AM *******************************************************************/ //Function Number: 1 diff --git a/BO2/PC/ZM/maps/mp/gametypes_zm/_tweakables.gsc b/BO2/PC/ZM/maps/mp/gametypes_zm/_tweakables.gsc index 00604e2..875749b 100644 --- a/BO2/PC/ZM/maps/mp/gametypes_zm/_tweakables.gsc +++ b/BO2/PC/ZM/maps/mp/gametypes_zm/_tweakables.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 11 - * Decompile Time: 31 ms - * Timestamp: 10/27/2023 3:02:45 AM + * Decompile Time: 6 ms + * Timestamp: 10/28/2023 12:11:39 AM *******************************************************************/ #include maps/mp/_utility; diff --git a/BO2/PC/ZM/maps/mp/gametypes_zm/_weapon_utils.gsc b/BO2/PC/ZM/maps/mp/gametypes_zm/_weapon_utils.gsc index c5e0075..fde6040 100644 --- a/BO2/PC/ZM/maps/mp/gametypes_zm/_weapon_utils.gsc +++ b/BO2/PC/ZM/maps/mp/gametypes_zm/_weapon_utils.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 10 - * Decompile Time: 12 ms - * Timestamp: 10/27/2023 3:02:45 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:11:40 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/PC/ZM/maps/mp/gametypes_zm/_weaponobjects.gsc b/BO2/PC/ZM/maps/mp/gametypes_zm/_weaponobjects.gsc index 1cfda29..c5389e1 100644 --- a/BO2/PC/ZM/maps/mp/gametypes_zm/_weaponobjects.gsc +++ b/BO2/PC/ZM/maps/mp/gametypes_zm/_weaponobjects.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 97 - * Decompile Time: 292 ms - * Timestamp: 10/27/2023 3:02:47 AM + * Decompile Time: 31 ms + * Timestamp: 10/28/2023 12:11:40 AM *******************************************************************/ #include common_scripts/utility; @@ -986,8 +986,10 @@ onspawnproximityweaponobject(watcher,owner) self thread commononspawnuseweaponobject(watcher,owner); self thread proximityweaponobjectdetonation(watcher); /# - self thread proximityweaponobjectdebug(watcher); -GetDvarInt(#"38868733") + if(GetDvarInt(#"38868733")) + { + self thread proximityweaponobjectdebug(watcher); + } #/ } @@ -1050,7 +1052,9 @@ watchweaponobjectspawn() } break; - (IsDefined(self.weaponobjectwatcherarray[i].objectarray[j])) ? weapname == "proximity_grenade_mp" : IsDefined(self.weaponobjectwatcherarray[i].detonate) && self.weaponobjectwatcherarray[i].objectarray.size > numallowed - 1 + IsDefined(self.weaponobjectwatcherarray[i].detonate) && self.weaponobjectwatcherarray[i].objectarray.size > numallowed - 1 + weapname == "proximity_grenade_mp" + IsDefined(self.weaponobjectwatcherarray[i].objectarray[j]) j < objectarray_size self.weaponobjectwatcherarray[i].weapon != weapname i < self.weaponobjectwatcherarray.size @@ -1133,24 +1137,24 @@ showcone(angle,range,color) up = vectorcross(forward,right); fullforward = forward * range * cos(angle); sideamnt = range * sin(angle); - for(;;) + while(1) { prevpoint = (0,0,0); - i = 0; - for(;;) + for(i = 0;i <= 20;i++) { coneangle = i / 20 * 360; point = start + fullforward + sideamnt * right * cos(coneangle) + up * sin(coneangle); - line(start,point,color); - line(prevpoint,point,color); + if(i > 0) + { + line(start,point,color); + line(prevpoint,point,color); + } + prevpoint = point; - i++; } + wait(0.05); } -i > 0 -i <= 20 -1 #/ } @@ -1895,14 +1899,11 @@ deleteweaponobjectson() saydamaged(orig,amount) { /# - i = 0; - for(;;) + for(i = 0;i < 60;i++) { print3d(orig,"damaged! " + amount); wait(0.05); - i++; } -i < 60 #/ } diff --git a/BO2/PC/ZM/maps/mp/gametypes_zm/_weapons.gsc b/BO2/PC/ZM/maps/mp/gametypes_zm/_weapons.gsc index 7057985..111f1b0 100644 --- a/BO2/PC/ZM/maps/mp/gametypes_zm/_weapons.gsc +++ b/BO2/PC/ZM/maps/mp/gametypes_zm/_weapons.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 79 - * Decompile Time: 345 ms - * Timestamp: 10/27/2023 3:02:48 AM + * Decompile Time: 25 ms + * Timestamp: 10/28/2023 12:11:40 AM *******************************************************************/ #include common_scripts/utility; @@ -361,8 +361,10 @@ dropweaponfordeath(attacker) if(!(IsDefined(weapon))) { /# - println("didn\'t drop weapon: not defined"); -GetDvar(#"8F7FC88") == "1" + if(GetDvar(#"8F7FC88") == "1") + { + println("didn\'t drop weapon: not defined"); + } #/ return; } @@ -370,8 +372,10 @@ GetDvar(#"8F7FC88") == "1" if(weapon == "none") { /# - println("didn\'t drop weapon: weapon == none"); -GetDvar(#"8F7FC88") == "1" + if(GetDvar(#"8F7FC88") == "1") + { + println("didn\'t drop weapon: weapon == none"); + } #/ return; } @@ -379,8 +383,10 @@ GetDvar(#"8F7FC88") == "1" if(!(self hasweapon(weapon))) { /# - println("didn\'t drop weapon: don\'t have it anymore (" + weapon + ")"); -GetDvar(#"8F7FC88") == "1" + if(GetDvar(#"8F7FC88") == "1") + { + println("didn\'t drop weapon: don\'t have it anymore (" + weapon + ")"); + } #/ return; } @@ -388,8 +394,10 @@ GetDvar(#"8F7FC88") == "1" if(!(self anyammoforweaponmodes(weapon))) { /# - println("didn\'t drop weapon: no ammo for weapon modes"); -GetDvar(#"8F7FC88") == "1" + if(GetDvar(#"8F7FC88") == "1") + { + println("didn\'t drop weapon: no ammo for weapon modes"); + } #/ return; } @@ -405,8 +413,10 @@ GetDvar(#"8F7FC88") == "1" if(!(clip_and_stock_ammo)) { /# - println("didn\'t drop weapon: no ammo"); -GetDvar(#"8F7FC88") == "1" + if(GetDvar(#"8F7FC88") == "1") + { + println("didn\'t drop weapon: no ammo"); + } #/ return; } @@ -427,8 +437,10 @@ GetDvar(#"8F7FC88") == "1" } /# - println("dropped weapon: " + weapon); -GetDvar(#"8F7FC88") == "1" + if(GetDvar(#"8F7FC88") == "1") + { + println("dropped weapon: " + weapon); + } #/ droplimitedweapon(weapon,self,item); self.droppeddeathweapon = 1; @@ -445,8 +457,10 @@ dropweapontoground(weapon) if(!(IsDefined(weapon))) { /# - println("didn\'t drop weapon: not defined"); -GetDvar(#"8F7FC88") == "1" + if(GetDvar(#"8F7FC88") == "1") + { + println("didn\'t drop weapon: not defined"); + } #/ return; } @@ -454,8 +468,10 @@ GetDvar(#"8F7FC88") == "1" if(weapon == "none") { /# - println("didn\'t drop weapon: weapon == none"); -GetDvar(#"8F7FC88") == "1" + if(GetDvar(#"8F7FC88") == "1") + { + println("didn\'t drop weapon: weapon == none"); + } #/ return; } @@ -463,8 +479,10 @@ GetDvar(#"8F7FC88") == "1" if(!(self hasweapon(weapon))) { /# - println("didn\'t drop weapon: don\'t have it anymore (" + weapon + ")"); -GetDvar(#"8F7FC88") == "1" + if(GetDvar(#"8F7FC88") == "1") + { + println("didn\'t drop weapon: don\'t have it anymore (" + weapon + ")"); + } #/ return; } @@ -472,8 +490,10 @@ GetDvar(#"8F7FC88") == "1" if(!(self anyammoforweaponmodes(weapon))) { /# - println("didn\'t drop weapon: no ammo for weapon modes"); -GetDvar(#"8F7FC88") == "1" + if(GetDvar(#"8F7FC88") == "1") + { + println("didn\'t drop weapon: no ammo for weapon modes"); + } #/ switch(weapon) { @@ -503,8 +523,10 @@ GetDvar(#"8F7FC88") == "1" if(!(clip_and_stock_ammo)) { /# - println("didn\'t drop weapon: no ammo"); -GetDvar(#"8F7FC88") == "1" + if(GetDvar(#"8F7FC88") == "1") + { + println("didn\'t drop weapon: no ammo"); + } #/ return; } @@ -517,8 +539,10 @@ GetDvar(#"8F7FC88") == "1" item = self dropitem(weapon); /# - println("dropped weapon: " + weapon); -GetDvar(#"8F7FC88") == "1" + if(GetDvar(#"8F7FC88") == "1") + { + println("dropped weapon: " + weapon); + } #/ droplimitedweapon(weapon,self,item); item itemweaponsetammo(clipammo,stockammo); @@ -566,8 +590,10 @@ watchpickup() } /# - println("picked up weapon: " + weapname + ", " + IsDefined(self.ownersattacker)); -GetDvar(#"8F7FC88") == "1" + if(GetDvar(#"8F7FC88") == "1") + { + println("picked up weapon: " + weapname + ", " + IsDefined(self.ownersattacker)); + } #/ /# assert(IsDefined(player.tookweaponfrom)); @@ -831,9 +857,9 @@ watchmissileusage() self waittill("missile_fire",missile,weapon_name); self.hasdonecombat = 1; /# - /# +/# assert(IsDefined(missile)); - #/ +#/ #/ level.missileentities[level.missileentities.size] = missile; missile thread watchmissiledeath(); @@ -1314,14 +1340,11 @@ damageent(einflictor,eattacker,idamage,smeansofdeath,sweapon,damagepos,damagedir debugline(a,b,color) { /# - i = 0; - for(;;) + for(i = 0;i < 600;i++) { line(a,b,color); wait(0.05); - i++; } -i < 600 #/ } @@ -1600,7 +1623,7 @@ stow_on_back(current) { temp_index_weapon = self.weapon_array_primary[idx]; /# - assert(IsDefined(temp_index_weapon),"Primary weapon list corrupted."); + assert(IsDefined(temp_index_weapon),"Primary weapon list corrupted."); #/ if(temp_index_weapon == current) { @@ -1628,7 +1651,7 @@ stow_on_back(current) { index_weapon = temp_index_weapon; /# - assert(IsDefined(self.curclass),"Player missing current class"); + assert(IsDefined(self.curclass),"Player missing current class"); #/ if(issubstr(index_weapon,self.pers["primaryWeapon"]) && issubstr(self.curclass,"CUSTOM")) { @@ -1890,7 +1913,11 @@ scavenger_think() break; ammo > maxammo stock < maxammo - (weapon == loadout_secondary && player getweaponammostock(weapon) != loadout_secondary_count) ? player.scavenger_tactical_proc < scavenger_tactical_proc : ((IsDefined(level.customloadoutscavenge)) ? weapon == loadout_primary : weapon == loadout_secondary) + weapon == loadout_secondary + weapon == loadout_primary + IsDefined(level.customloadoutscavenge) + player.scavenger_tactical_proc < scavenger_tactical_proc + weapon == loadout_secondary && player getweaponammostock(weapon) != loadout_secondary_count IsDefined(player.grenadetypesecondarycount) && player.grenadetypesecondarycount < 1 break; diff --git a/BO2/PC/ZM/maps/mp/gametypes_zm/_zm_gametype.gsc b/BO2/PC/ZM/maps/mp/gametypes_zm/_zm_gametype.gsc index 0bcbe1a..1bf2f4f 100644 --- a/BO2/PC/ZM/maps/mp/gametypes_zm/_zm_gametype.gsc +++ b/BO2/PC/ZM/maps/mp/gametypes_zm/_zm_gametype.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 72 - * Decompile Time: 367 ms - * Timestamp: 10/27/2023 3:02:49 AM + * Decompile Time: 44 ms + * Timestamp: 10/28/2023 12:11:41 AM *******************************************************************/ #include common_scripts/utility; @@ -1535,11 +1535,12 @@ onspawnplayer(predictedspawn) { spawnpoint = maps/mp/zombies/_zm::check_for_valid_spawn_near_team(self,1); /# - println("ZM >> WARNING UNABLE TO FIND RESPAWN POINT NEAR TEAM - USING INITIAL SPAWN POINTS"); -IsDefined(spawnpoint) -#/ + if(!(IsDefined(spawnpoint))) + { + println("ZM >> WARNING UNABLE TO FIND RESPAWN POINT NEAR TEAM - USING INITIAL SPAWN POINTS"); + } } - +#/ if(!(IsDefined(spawnpoint))) { match_string = ""; @@ -1600,8 +1601,10 @@ IsDefined(spawnpoint) self.score = self maps/mp/gametypes_zm/_globallogic_score::getpersstat("score"); self.pers["participation"] = 0; /# - self.score = 100000; -GetDvarInt(#"FA81816F") >= 1 + if(GetDvarInt(#"FA81816F") >= 1) + { + self.score = 100000; + } #/ self.score_total = self.score; self.old_score = self.score; @@ -2122,7 +2125,10 @@ wait_for_players() onplayerconnect_check_for_hotjoin() { /# -GetDvarInt(#"EA6D219A") > 0 + if(GetDvarInt(#"EA6D219A") > 0) + { + return; + } #/ map_logic_exists = level flag_exists("start_zombie_round_logic"); map_logic_started = flag("start_zombie_round_logic"); diff --git a/BO2/PC/ZM/maps/mp/gametypes_zm/zclassic.gsc b/BO2/PC/ZM/maps/mp/gametypes_zm/zclassic.gsc index d6c2136..5a647ae 100644 --- a/BO2/PC/ZM/maps/mp/gametypes_zm/zclassic.gsc +++ b/BO2/PC/ZM/maps/mp/gametypes_zm/zclassic.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 3 - * Decompile Time: 4 ms - * Timestamp: 10/27/2023 3:02:50 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:11:41 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/PC/ZM/maps/mp/zm_tomb_craftables.gsc b/BO2/PC/ZM/maps/mp/zm_tomb_craftables.gsc index 05436f8..7a97930 100644 --- a/BO2/PC/ZM/maps/mp/zm_tomb_craftables.gsc +++ b/BO2/PC/ZM/maps/mp/zm_tomb_craftables.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 77 - * Decompile Time: 391 ms - * Timestamp: 10/27/2023 3:03:50 AM + * Decompile Time: 38 ms + * Timestamp: 10/28/2023 12:12:06 AM *******************************************************************/ #include common_scripts/utility; @@ -85,48 +85,50 @@ init_craftables() add_craftable_cheat(craftable) { /# - level.cheat_craftables = []; - _a112 = craftable.a_piecestubs; - _k112 = FirstArrayKey(_a112); - for(;;) + if(!(IsDefined(level.cheat_craftables))) + { + level.cheat_craftables = []; + } + + foreach(s_piece in craftable.a_piecestubs) { - s_piece = _a112[_k112]; id_string = undefined; client_field_val = undefined; - id_string = s_piece.client_field_id; - client_field_val = id_string; - id_string = "gem"; - client_field_val = s_piece.client_field_state; + if(IsDefined(s_piece.client_field_id)) + { + id_string = s_piece.client_field_id; + client_field_val = id_string; + } + else if(IsDefined(s_piece.client_field_state)) + { + id_string = "gem"; + client_field_val = s_piece.client_field_state; + } + else + { + } + tokens = strtok(id_string,"_"); display_string = "piece"; - _a134 = tokens; - _k134 = FirstArrayKey(_a134); - for(;;) + foreach(token in tokens) { - token = _a134[_k134]; - display_string = display_string + "_" + token; - _k134 = NextArrayKey(_a134); + if(token != "piece" && token != "staff" && token != "zm") + { + display_string = display_string + "_" + token; + } } + level.cheat_craftables["" + client_field_val] = s_piece; adddebugcommand("devgui_cmd \"Zombies/Tomb:1/Craftables:1/" + craftable.name + "/" + display_string + "\" \"give_craftable " + client_field_val + "\"\n"); s_piece.waste = "waste"; - _k112 = NextArrayKey(_a112); } + flag_wait("start_zombie_round_logic"); - _a149 = craftable.a_piecestubs; - _k149 = FirstArrayKey(_a149); - for(;;) + foreach(s_piece in craftable.a_piecestubs) { - s_piece = _a149[_k149]; s_piece craftable_waittill_spawned(); s_piece.piecespawn.model thread puzzle_debug_position("C",VectorScale((0,1,0)),255,undefined); - _k149 = NextArrayKey(_a149); } -_k149 -"show_craftable_locations" -IsDefined(_k149) -_k112 -(IsDefined(level.cheat_craftables)) ? IsDefined(_k112) : ((IsDefined(s_piece.client_field_id)) ? IsDefined(s_piece.client_field_state) : (IsDefined(_k134) ? token != "piece" && token != "staff" && token != "zm" : _k134)) #/ } @@ -136,10 +138,13 @@ autocraft_staffs() setdvar("autocraft_staffs","off"); /# adddebugcommand("devgui_cmd \"Zombies/Tomb:1/Craftables:1/Give All Staff Pieces:0\" \"autocraft_staffs on\"\n"); + for(;;) + { #/ - while(GetDvar(#"373B6254") != "on") - { - wait_network_frame(); + if(GetDvar(#"373B6254") != "on") + { + wait_network_frame(); + } } flag_wait("start_zombie_round_logic"); @@ -181,18 +186,23 @@ run_craftables_devgui() /# level thread autocraft_staffs(); setdvar("give_craftable",""); - for(;;) + while(1) { craftable_id = GetDvar(#"817E2753"); - piece_spawn = level.cheat_craftables[craftable_id].piecespawn; - players = getplayers(); - players[0] maps/mp/zombies/_zm_craftables::player_take_piece(piece_spawn); - setdvar("give_craftable",""); + if(craftable_id != "") + { + piece_spawn = level.cheat_craftables[craftable_id].piecespawn; + if(IsDefined(piece_spawn)) + { + players = getplayers(); + players[0] maps/mp/zombies/_zm_craftables::player_take_piece(piece_spawn); + } + + setdvar("give_craftable",""); + } + wait(0.05); } -IsDefined(piece_spawn) -craftable_id != "" -1 #/ } @@ -414,7 +424,7 @@ craftable_add_glow_fx() else { /# - iprintlnbold("ERROR: Unknown staff element type in craftable_add_glow_fx: " + s_craftable.name); + iprintlnbold("ERROR: Unknown staff element type in craftable_add_glow_fx: " + s_craftable.name); #/ return; } @@ -682,15 +692,10 @@ onpickup_common(player) self.piece_owner = player; self thread piece_pickup_conversation(player); /# - _a833 = self.spawns; - _k833 = FirstArrayKey(_a833); - for(;;) + foreach(spawn in self.spawns) { - spawn = _a833[_k833]; - spawn notify("stop_debug_position",IsDefined(_k833)); - _k833 = NextArrayKey(_a833); + spawn notify("stop_debug_position"); } -_k833 #/ } @@ -1062,9 +1067,8 @@ quadrotor_fly_back_to_table() self delete(); /# iprintln("Maxis deleted"); -#/ } - +#/ level notify("drone_available"); } @@ -1086,9 +1090,8 @@ quadrotor_fly_back_to_table_timeout() self delete(); /# iprintln("Maxis deleted"); -#/ } - +#/ self notify("return_timeout"); } diff --git a/BO2/PC/ZM/maps/mp/zm_tomb_ffotd.gsc b/BO2/PC/ZM/maps/mp/zm_tomb_ffotd.gsc index bf2e563..d69600a 100644 --- a/BO2/PC/ZM/maps/mp/zm_tomb_ffotd.gsc +++ b/BO2/PC/ZM/maps/mp/zm_tomb_ffotd.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 9 - * Decompile Time: 117 ms - * Timestamp: 10/27/2023 3:03:50 AM + * Decompile Time: 6 ms + * Timestamp: 10/28/2023 12:12:06 AM *******************************************************************/ #include codescripts/struct; diff --git a/BO2/PC/ZM/maps/mp/zm_tomb_tank.gsc b/BO2/PC/ZM/maps/mp/zm_tomb_tank.gsc index 7fb18be..21a8bde 100644 --- a/BO2/PC/ZM/maps/mp/zm_tomb_tank.gsc +++ b/BO2/PC/ZM/maps/mp/zm_tomb_tank.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 73 - * Decompile Time: 272 ms - * Timestamp: 10/27/2023 3:03:51 AM + * Decompile Time: 25827 ms + * Timestamp: 10/28/2023 12:13:24 AM *******************************************************************/ #include common_scripts/utility; @@ -149,13 +149,9 @@ zm_mantle_over_40_move_speed_override() default: /# assertmsg("Zombie move speed of \'" + self.zombie_move_speed + "\' is not supported for mantle_over_40."); - #/ break; } - return traversealias; -} - //Function Number: 8 init_animtree() { @@ -175,8 +171,6 @@ drawtag(tag,opcolor) org = self gettagorigin(tag); ang = self gettagangles(tag); box(org,VectorScale((-1,-1,0)),8,VectorScale((1,1,1)),8,ang[1],opcolor,1); -0 -1 #/ } @@ -187,11 +181,17 @@ draw_tank_tag(tag,opcolor) self endon("death"); for(;;) { - drawtag(tag.str_tag,VectorScale((0,1,0))); - drawtag(tag.str_tag,VectorScale((1,0,0))); + if(self tank_tag_is_valid(tag)) + { + drawtag(tag.str_tag,VectorScale((0,1,0))); + } + else + { + drawtag(tag.str_tag,VectorScale((1,0,0))); + } + wait(0.05); } -(self tank_tag_is_valid(tag)) ? 255 : 255 #/ } @@ -203,53 +203,39 @@ tank_debug_tags() adddebugcommand("devgui_cmd \"Zombies:2/Tomb:1/Tank Debug:5\" \"debug_tank on\"\n"); flag_wait("start_zombie_round_logic"); a_spots = getstructarray("tank_jump_down_spots","script_noteworthy"); - for(;;) + while(1) { - _a224 = self.a_tank_tags; - _k224 = FirstArrayKey(_a224); - for(;;) + if(GetDvar(#"55B41FB9") == "on") { - s_tag = _a224[_k224]; - self thread draw_tank_tag(s_tag); - _k224 = NextArrayKey(_a224); - } - self.tags_drawing = 1; - ang = self.angles; - _a232 = a_spots; - _k232 = FirstArrayKey(_a232); - for(;;) - { - s_spot = _a232[_k232]; - org = self tank_get_jump_down_offset(s_spot); - box(org,VectorScale((-1,-1,0)),4,VectorScale((1,1,1)),4,ang[1],VectorScale((1,1,0)),128); - _k232 = NextArrayKey(_a232); - } - a_zombies = get_round_enemy_array(); - _a239 = a_zombies; - _k239 = FirstArrayKey(_a239); - for(;;) - { - e_zombie = _a239[_k239]; - print3d(60 + VectorScale((0,0,1)),e_zombie.origin,e_zombie.tank_state,VectorScale((1,0,0))); - _k239 = NextArrayKey(_a239); + if(!(IsDefined(self.tags_drawing) && self.tags_drawing)) + { + foreach(s_tag in self.a_tank_tags) + { + self thread draw_tank_tag(s_tag); + } + + self.tags_drawing = 1; + } + + ang = self.angles; + foreach(s_spot in a_spots) + { + org = self tank_get_jump_down_offset(s_spot); + box(org,VectorScale((-1,-1,0)),4,VectorScale((1,1,1)),4,ang[1],VectorScale((1,1,0)),128); + } + + a_zombies = get_round_enemy_array(); + foreach(e_zombie in a_zombies) + { + if(IsDefined(e_zombie.tank_state)) + { + print3d(60 + VectorScale((0,0,1)),e_zombie.origin,e_zombie.tank_state,VectorScale((1,0,0))); + } + } } + wait(0.05); } -_k239 -255 -1 -IsDefined(e_zombie.tank_state) -IsDefined(_k239) -_k232 -1 -0 -1 -IsDefined(_k232) -_k224 -IsDefined(_k224) -IsDefined(self.tags_drawing) && self.tags_drawing -GetDvar(#"55B41FB9") == "on" -1 #/ } @@ -1325,7 +1311,7 @@ tank_zombie_think() continue; self stop_chasing_tank(); break; - self notify("stop_path_to_tag",(IsDefined(self.tank_re_eval_time)) ? self.tank_re_eval_time <= 0 : self entity_on_tank()); + self notify("stop_path_to_tag",self entity_on_tank(),self.tank_re_eval_time <= 0,IsDefined(self.tank_re_eval_time)); self stop_chasing_tank(); break; dist_sq_to_tank = distancesquared(self.origin,level.vh_tank.origin); @@ -1400,9 +1386,10 @@ update_zombie_goal_pos(str_position,stop_notify) { v_origin = level.vh_tank tank_get_jump_down_offset(s_script_origin); /# - line(30 + VectorScale((0,0,1)),self.origin); -v_origin -GetDvar(#"55B41FB9") == "on" + if(GetDvar(#"55B41FB9") == "on") + { + line(30 + VectorScale((0,0,1)),self.origin); + } #/ } else diff --git a/BO2/PC/ZM/maps/mp/zombies/_load.gsc b/BO2/PC/ZM/maps/mp/zombies/_load.gsc index c200839..199ef5a 100644 --- a/BO2/PC/ZM/maps/mp/zombies/_load.gsc +++ b/BO2/PC/ZM/maps/mp/zombies/_load.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 10 - * Decompile Time: 78 ms - * Timestamp: 10/27/2023 3:02:50 AM + * Decompile Time: 6 ms + * Timestamp: 10/28/2023 12:11:41 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/PC/ZM/maps/mp/zombies/_zm.gsc b/BO2/PC/ZM/maps/mp/zombies/_zm.gsc index 14d928c..9c6ff17 100644 --- a/BO2/PC/ZM/maps/mp/zombies/_zm.gsc +++ b/BO2/PC/ZM/maps/mp/zombies/_zm.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 168 - * Decompile Time: 1033 ms - * Timestamp: 10/27/2023 3:02:54 AM + * Decompile Time: 129 ms + * Timestamp: 10/28/2023 12:11:42 AM *******************************************************************/ #include common_scripts/utility; @@ -293,10 +293,10 @@ fade_out_intro_screen_zm(hold_black_time,fade_out_time,destroyed_afterwards) { players[i] freezecontrols(0); /# - println(" Unfreeze controls 5"); -#/ + println(" Unfreeze controls 5"); } } +#/ } if(destroyed_afterwards == 1) @@ -1147,7 +1147,7 @@ callback_playerdamage(einflictor,eattacker,idamage,idflags,smeansofdeath,sweapon else if(smeansofdeath != "MOD_GRENADE_SPLASH" && smeansofdeath != "MOD_GRENADE" && smeansofdeath != "MOD_EXPLOSIVE" && smeansofdeath != "MOD_PROJECTILE" && smeansofdeath != "MOD_PROJECTILE_SPLASH" && smeansofdeath != "MOD_BURNED" && smeansofdeath != "MOD_SUICIDE") { /# - println("Exiting - damage type verbotten."); + println("Exiting - damage type verbotten."); #/ return; } @@ -1449,9 +1449,8 @@ onplayerspawned() self freezecontrols(0); /# println(" Unfreeze controls 7"); -#/ } - +#/ self.hits = 0; self init_player_offhand_weapons(); lethal_grenade = self get_player_lethal_grenade(); @@ -1463,8 +1462,10 @@ onplayerspawned() self recordplayerrevivezombies(self); /# - self enableinvulnerability(); - GetDvarInt(#"FA81816F") >= 1 && GetDvarInt(#"FA81816F") <= 3 + if(GetDvarInt(#"FA81816F") >= 1 && GetDvarInt(#"FA81816F") <= 3) + { + self enableinvulnerability(); + } #/ self setactionslot(3,"altMode"); self playerknockback(0); @@ -1631,8 +1632,10 @@ in_enabled_playable_area() get_player_out_of_playable_area_monitor_wait_time() { /# - return 0.05; -IsDefined(level.check_kill_thread_every_frame) && level.check_kill_thread_every_frame + if(IsDefined(level.check_kill_thread_every_frame) && level.check_kill_thread_every_frame) + { + return 0.05; + } #/ } @@ -1668,11 +1671,18 @@ player_out_of_playable_area_monitor() if(!IsDefined(level.player_out_of_playable_area_monitor_callback) || self [[ level.player_out_of_playable_area_monitor_callback ]]()) { /# - iprintlnbold("out of playable"); - wait(get_player_out_of_playable_area_monitor_wait_time()); - wait(get_player_out_of_playable_area_monitor_wait_time()); -self isinmovemode("ufo","noclip") || (IsDefined(level.disable_kill_thread) && level.disable_kill_thread) || GetDvarInt(#"FA81816F") > 0 -IsDefined(level.kill_thread_test_mode) && level.kill_thread_test_mode + if(IsDefined(level.kill_thread_test_mode) && level.kill_thread_test_mode) + { + iprintlnbold("out of playable"); + wait(get_player_out_of_playable_area_monitor_wait_time()); + continue; + } + + if(self isinmovemode("ufo","noclip") || (IsDefined(level.disable_kill_thread) && level.disable_kill_thread) || GetDvarInt(#"FA81816F") > 0) + { + wait(get_player_out_of_playable_area_monitor_wait_time()); + continue; + } #/ self maps/mp/zombies/_zm_stats::increment_map_cheat_stat("cheat_out_of_playable"); self maps/mp/zombies/_zm_stats::increment_client_stat("cheat_out_of_playable",0); @@ -1775,8 +1785,11 @@ player_too_many_weapons_monitor() } /# - wait(get_player_too_many_weapons_monitor_wait_time()); -GetDvarInt(#"FA81816F") > 0 + if(GetDvarInt(#"FA81816F") > 0) + { + wait(get_player_too_many_weapons_monitor_wait_time()); + continue; + } #/ weapon_limit = get_player_weapon_limit(self); primaryweapons = self getweaponslistprimaries(); @@ -1897,26 +1910,31 @@ watch_rampage_bookmark() { player = players[player_index]; /# -IsDefined(player.pers["isBot"]) && player.pers["isBot"] -#/ - for(time_index = 0;time_index < level.rampage_bookmark_kill_times_count;time_index++) + if(IsDefined(player.pers["isBot"]) && player.pers["isBot"]) { - if(!(player.rampage_bookmark_kill_times[time_index])) - { - break; - } - else if(oldest_allowed > player.rampage_bookmark_kill_times[time_index]) - { - player.rampage_bookmark_kill_times[time_index] = 0; - break; - } } - - if(time_index >= level.rampage_bookmark_kill_times_count) + else { - maps/mp/_demo::bookmark("zm_player_rampage",GetTime(),player); - player reset_rampage_bookmark_kill_times(); - player.ignore_rampage_kill_times = now + level.rampage_bookmark_kill_times_delay; +#/ + for(time_index = 0;time_index < level.rampage_bookmark_kill_times_count;time_index++) + { + if(!(player.rampage_bookmark_kill_times[time_index])) + { + break; + } + else if(oldest_allowed > player.rampage_bookmark_kill_times[time_index]) + { + player.rampage_bookmark_kill_times[time_index] = 0; + break; + } + } + + if(time_index >= level.rampage_bookmark_kill_times_count) + { + maps/mp/_demo::bookmark("zm_player_rampage",GetTime(),player); + player reset_rampage_bookmark_kill_times(); + player.ignore_rampage_kill_times = now + level.rampage_bookmark_kill_times_delay; + } } } } @@ -3188,8 +3206,10 @@ default_max_zombie_func(max_num) { /# count = GetDvarInt(#"CF687B54"); - return count; -count > -1 + if(count > -1) + { + return count; + } #/ max = max_num; if(level.round_number < 2) @@ -3231,7 +3251,10 @@ round_spawning() } /# -GetDvarInt(#"FA81816F") == 2 || GetDvarInt(#"FA81816F") >= 4 + if(GetDvarInt(#"FA81816F") == 2 || GetDvarInt(#"FA81816F") >= 4) + { + return; + } #/ if(level.zombie_spawn_locations.size < 1) { @@ -3522,10 +3545,13 @@ zombie_speed_up() level endon("restart_round"); /# level endon("kill_round"); + for(;;) + { #/ - while(level.zombie_total > 4) - { - wait(2); + if(level.zombie_total > 4) + { + wait(2); + } } for(num_zombies = get_current_zombie_count();num_zombies > 3;num_zombies = get_current_zombie_count()) @@ -3643,8 +3669,10 @@ round_start() } /# - level.round_spawn_func = ::round_spawning_test; -GetDvarInt(#"7688603C") + if(GetDvarInt(#"7688603C")) + { + level.round_spawn_func = ::round_spawning_test; + } #/ if(!(IsDefined(level.round_wait_func))) { @@ -3826,9 +3854,8 @@ round_think(restart) player freezecontrols(0); /# println(" Unfreeze controls 8"); -#/ } - +#/ player maps/mp/zombies/_zm_stats::set_global_stat("rounds",level.round_number); } } @@ -4047,14 +4074,16 @@ round_spawn_failsafe_debug() level endon("failsafe_debug_stop"); start = GetTime(); level.chunk_time = 0; - for(;;) + while(1) { level.failsafe_time = GetTime() - start; - level.chunk_time = GetTime() - self.lastchunk_destroy_time; + if(IsDefined(self.lastchunk_destroy_time)) + { + level.chunk_time = GetTime() - self.lastchunk_destroy_time; + } + wait_network_frame(); } -IsDefined(self.lastchunk_destroy_time) -1 #/ } @@ -4135,10 +4164,16 @@ round_wait() { level endon("restart_round"); /# - level waittill(GetDvarInt(#"7688603C"),"forever"); + if(GetDvarInt(#"7688603C")) + { + level waittill("forever"); + } #/ /# - level waittill(GetDvarInt(#"FA81816F") == 2 || GetDvarInt(#"FA81816F") >= 4,"forever"); + if(GetDvarInt(#"FA81816F") == 2 || GetDvarInt(#"FA81816F") >= 4) + { + level waittill("forever"); + } #/ wait(1); if(flag("dog_round")) @@ -4993,8 +5028,10 @@ actor_damage_override(inflictor,attacker,damage,flags,meansofdeath,weapon,vpoint } /# - println("Perk/> Damage Factor: " + final_damage / old_damage + " - Pre Damage: " + old_damage + " - Post Damage: " + final_damage); -GetDvarInt(#"5ABA6445") + if(GetDvarInt(#"5ABA6445")) + { + println("Perk/> Damage Factor: " + final_damage / old_damage + " - Pre Damage: " + old_damage + " - Post Damage: " + final_damage); + } #/ if(attacker.classname == "script_vehicle" && IsDefined(attacker.owner)) { diff --git a/BO2/PC/ZM/maps/mp/zombies/_zm_ai_basic.gsc b/BO2/PC/ZM/maps/mp/zombies/_zm_ai_basic.gsc index 28ca515..f8190c8 100644 --- a/BO2/PC/ZM/maps/mp/zombies/_zm_ai_basic.gsc +++ b/BO2/PC/ZM/maps/mp/zombies/_zm_ai_basic.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 15 - * Decompile Time: 78 ms - * Timestamp: 10/27/2023 3:02:54 AM + * Decompile Time: 10 ms + * Timestamp: 10/28/2023 12:11:42 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/PC/ZM/maps/mp/zombies/_zm_ai_dogs.gsc b/BO2/PC/ZM/maps/mp/zombies/_zm_ai_dogs.gsc index 2a713c7..e7f67ca 100644 --- a/BO2/PC/ZM/maps/mp/zombies/_zm_ai_dogs.gsc +++ b/BO2/PC/ZM/maps/mp/zombies/_zm_ai_dogs.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 28 - * Decompile Time: 121 ms - * Timestamp: 10/27/2023 3:02:55 AM + * Decompile Time: 10 ms + * Timestamp: 10/28/2023 12:11:42 AM *******************************************************************/ #include common_scripts/utility; @@ -116,7 +116,10 @@ dog_round_spawning() /# level endon("kill_round"); -GetDvarInt(#"FA81816F") == 2 || GetDvarInt(#"FA81816F") >= 4 + if(GetDvarInt(#"FA81816F") == 2 || GetDvarInt(#"FA81816F") >= 4) + { + return; + } #/ if(level.intermission) { @@ -140,8 +143,10 @@ GetDvarInt(#"FA81816F") == 2 || GetDvarInt(#"FA81816F") >= 4 } /# - max = GetDvarInt(#"4077D7E0"); -GetDvar(#"4077D7E0") != "" + if(GetDvar(#"4077D7E0") != "") + { + max = GetDvarInt(#"4077D7E0"); + } #/ level.zombie_total = max; dog_health_increase(); @@ -385,8 +390,10 @@ dog_round_tracker() { level waittill("between_round_over"); /# - level.next_dog_round = level.round_number; -GetDvarInt(#"4077D7E0") > 0 + if(GetDvarInt(#"4077D7E0") > 0) + { + level.next_dog_round = level.round_number; + } #/ if(level.round_number == level.next_dog_round) { diff --git a/BO2/PC/ZM/maps/mp/zombies/_zm_ai_faller.gsc b/BO2/PC/ZM/maps/mp/zombies/_zm_ai_faller.gsc index 4a99d3d..a53f1c3 100644 --- a/BO2/PC/ZM/maps/mp/zombies/_zm_ai_faller.gsc +++ b/BO2/PC/ZM/maps/mp/zombies/_zm_ai_faller.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 33 - * Decompile Time: 150 ms - * Timestamp: 10/27/2023 3:02:56 AM + * Decompile Time: 10 ms + * Timestamp: 10/28/2023 12:11:42 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/PC/ZM/maps/mp/zombies/_zm_audio.gsc b/BO2/PC/ZM/maps/mp/zombies/_zm_audio.gsc index 6b96f53..d614fef 100644 --- a/BO2/PC/ZM/maps/mp/zombies/_zm_audio.gsc +++ b/BO2/PC/ZM/maps/mp/zombies/_zm_audio.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 44 - * Decompile Time: 225 ms - * Timestamp: 10/27/2023 3:02:57 AM + * Decompile Time: 26 ms + * Timestamp: 10/28/2023 12:11:43 AM *******************************************************************/ #include common_scripts/utility; @@ -358,7 +358,10 @@ attack_vox_network_choke() do_zombies_playvocals(alias_type,zombie_type) { /# -GetDvarInt(#"6C610250") > 0 + if(GetDvarInt(#"6C610250") > 0) + { + return; + } #/ self endon("death"); if(!(IsDefined(zombie_type))) @@ -520,8 +523,10 @@ create_and_play_dialog(category,type,response,force_variant,override) if(!(IsDefined(self.zmbvoxid))) { /# - iprintln("DIALOG DEBUGGER: No zmbVoxID setup on this character. Run zmbVoxInitSpeaker on this character in order to play vox"); -GetDvarInt(#"AEB127D") > 0 + if(GetDvarInt(#"AEB127D") > 0) + { + iprintln("DIALOG DEBUGGER: No zmbVoxID setup on this character. Run zmbVoxInitSpeaker on this character in order to play vox"); + } #/ return; } @@ -532,8 +537,10 @@ GetDvarInt(#"AEB127D") > 0 } /# - self thread dialog_debugger(category,type); -GetDvarInt(#"AEB127D") > 0 + if(GetDvarInt(#"AEB127D") > 0) + { + self thread dialog_debugger(category,type); + } #/ isresponse = 0; alias_suffix = undefined; @@ -587,10 +594,12 @@ GetDvarInt(#"AEB127D") > 0 else { /# - iprintln("DIALOG DEBUGGER: SOUND_TO_PLAY is undefined"); -GetDvarInt(#"AEB127D") > 0 -#/ + if(GetDvarInt(#"AEB127D") > 0) + { + iprintln("DIALOG DEBUGGER: SOUND_TO_PLAY is undefined"); + } } +#/ } //Function Number: 15 @@ -687,8 +696,8 @@ do_player_or_npc_playvox(prefix,index,sound_to_play,waittime,category,type,overr { /# println("DIALOG DEBUGGER: Can\'t play (" + prefix + sound_to_play + ") because someone is nearby speaking already."); -#/ } +#/ } //Function Number: 16 @@ -1222,11 +1231,16 @@ dialog_debugger(category,type) { /# println("DIALOG DEBUGGER: " + self.zmbvoxid + " attempting to speak"); - iprintlnbold(self.zmbvoxid + " tried to play a line, but no alias exists. Category: " + category + " Type: " + type); - println("DIALOG DEBUGGER ERROR: Alias Not Defined For " + category + " " + type); - println("DIALOG DEBUGGER ERROR: Response Alias Not Defined For " + category + " " + type + "_response"); -IsDefined(level.vox.speaker[self.zmbvoxid].response) -IsDefined(level.vox.speaker[self.zmbvoxid].alias[category][type]) + if(!(IsDefined(level.vox.speaker[self.zmbvoxid].alias[category][type]))) + { + iprintlnbold(self.zmbvoxid + " tried to play a line, but no alias exists. Category: " + category + " Type: " + type); + println("DIALOG DEBUGGER ERROR: Alias Not Defined For " + category + " " + type); + } + + if(!(IsDefined(level.vox.speaker[self.zmbvoxid].response))) + { + println("DIALOG DEBUGGER ERROR: Response Alias Not Defined For " + category + " " + type + "_response"); + } #/ } @@ -1519,8 +1533,10 @@ zmbvoxgetlinevariant(prefix,alias_suffix,force_variant,override) if(num_variants <= 0) { /# - println("DIALOG DEBUGGER: No variants found for - " + prefix + alias_suffix); -GetDvarInt(#"AEB127D") > 0 + if(GetDvarInt(#"AEB127D") > 0) + { + println("DIALOG DEBUGGER: No variants found for - " + prefix + alias_suffix); + } #/ return undefined; } diff --git a/BO2/PC/ZM/maps/mp/zombies/_zm_audio_announcer.gsc b/BO2/PC/ZM/maps/mp/zombies/_zm_audio_announcer.gsc index 1098662..5537aa2 100644 --- a/BO2/PC/ZM/maps/mp/zombies/_zm_audio_announcer.gsc +++ b/BO2/PC/ZM/maps/mp/zombies/_zm_audio_announcer.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 18 - * Decompile Time: 89 ms - * Timestamp: 10/27/2023 3:02:57 AM + * Decompile Time: 5 ms + * Timestamp: 10/28/2023 12:11:43 AM *******************************************************************/ #include common_scripts/utility; @@ -396,8 +396,10 @@ playleaderdialogonplayer(dialog,team,waittime) if(!(IsDefined(game["zmbdialog"][dialog]))) { /# - println("DIALOG DEBUGGER: No VOX created for - " + dialog); -GetDvarInt(#"AEB127D") > 0 + if(GetDvarInt(#"AEB127D") > 0) + { + println("DIALOG DEBUGGER: No VOX created for - " + dialog); + } #/ return; } @@ -470,8 +472,10 @@ getleaderdialogvariant(alias) if(num_variants <= 0) { /# - println("DIALOG DEBUGGER: No variants found for - " + alias); -GetDvarInt(#"AEB127D") > 0 + if(GetDvarInt(#"AEB127D") > 0) + { + println("DIALOG DEBUGGER: No variants found for - " + alias); + } #/ return undefined; } diff --git a/BO2/PC/ZM/maps/mp/zombies/_zm_blockers.gsc b/BO2/PC/ZM/maps/mp/zombies/_zm_blockers.gsc index 6f86e71..c842584 100644 --- a/BO2/PC/ZM/maps/mp/zombies/_zm_blockers.gsc +++ b/BO2/PC/ZM/maps/mp/zombies/_zm_blockers.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 63 - * Decompile Time: 339 ms - * Timestamp: 10/27/2023 3:02:59 AM + * Decompile Time: 31 ms + * Timestamp: 10/28/2023 12:11:43 AM *******************************************************************/ #include common_scripts/utility; @@ -427,7 +427,9 @@ door_activate(time,open,quick,use_blocker_clip_for_pathing) wait(randomfloat(0.15)); break; open - (IsDefined(self.script_vector)) ? scale : time >= 0.5 + time >= 0.5 + scale + IsDefined(self.script_vector) break; case "anim": @@ -613,14 +615,12 @@ waittill_door_can_close() self waittill_door_trigger_clear_local_power_off(trigger,all_trigs); self thread kill_trapped_zombies(trigger); self waittill(IsDefined(trigger) || IsDefined(all_trigs),IsDefined(self.local_power_on) && self.local_power_on,"local_power_off"); - Stack-Empty ? Stack-Empty : Stack-Empty break; case "electric_door": self waittill_door_trigger_clear_global_power_off(trigger,all_trigs); self thread kill_trapped_zombies(trigger); self waittill(IsDefined(trigger) || IsDefined(all_trigs),IsDefined(trigger),IsDefined(self.power_on) && self.power_on,"power_off"); - Stack-Empty ? Stack-Empty : Stack-Empty break; } } @@ -1209,12 +1209,11 @@ blocker_init() targets[j] hide(); /# iprintlnbold(" Hide "); -#/ } } +#/ } - - if(targets[j].script_parameters == "repair_board") + else if(targets[j].script_parameters == "repair_board") { targets[j].unbroken_section = getent(targets[j].target,"targetname"); if(IsDefined(targets[j].unbroken_section)) @@ -1578,121 +1577,18 @@ blocker_trigger_think() self thread trigger_delete_on_repair(); thread maps/mp/zombies/_zm_unitrigger::register_static_unitrigger(self.unitrigger_stub,::blocker_unitrigger_think); /# - thread debug_blocker(trigger_pos,radius,height); -GetDvarInt(#"FA91EA91") > 0 -#/ - while(1) + if(GetDvarInt(#"FA91EA91") > 0) { - self waittill(groundpos(trigger_location.origin),groundpos(trigger_location.origin),"trigger",player); - has_perk = player has_blocker_affecting_perk(); - if(all_chunks_intact(self,self.barrier_chunks)) + thread debug_blocker(trigger_pos,radius,height); + } + + for(;;) { - self notify("all_boards_repaired"); - return; - } - - if(no_valid_repairable_boards(self,self.barrier_chunks)) +#/ + if(1) { - self notify("no valid boards"); - return; - } - - if(IsDefined(level._zm_blocker_trigger_think_return_override)) - { - if(self [[ level._zm_blocker_trigger_think_return_override ]](player)) - { - return; - } - } - - while(1) - { - players = get_players(); - if(player_fails_blocker_repair_trigger_preamble(player,players,self.unitrigger_stub.trigger,0)) - { - break; - } - - if(IsDefined(self.zbarrier)) - { - chunk = get_random_destroyed_chunk(self,self.barrier_chunks); - self thread replace_chunk(self,chunk,has_perk,IsDefined(player.pers_upgrades_awarded["board"]) && player.pers_upgrades_awarded["board"]); - } - else - { - chunk = get_random_destroyed_chunk(self,self.barrier_chunks); - if((IsDefined(chunk.script_parameter) && chunk.script_parameters == "repair_board") || chunk.script_parameters == "barricade_vents") - { - if(IsDefined(chunk.unbroken_section)) - { - chunk show(); - chunk solid(); - chunk.unbroken_section self_delete(); - } - } - else - { - chunk show(); - } - - if(!IsDefined(chunk.script_parameters) || chunk.script_parameters == "board" || chunk.script_parameters == "repair_board" || chunk.script_parameters == "barricade_vents") - { - if(!(IsDefined(level.use_clientside_board_fx) && level.use_clientside_board_fx)) - { - if(!IsDefined(chunk.material) || IsDefined(chunk.material) && chunk.material != "rock") - { - chunk play_sound_on_ent("rebuild_barrier_piece"); - } - - playsoundatposition("zmb_cha_ching",(0,0,0)); - } - } - - if(chunk.script_parameters == "bar") - { - chunk play_sound_on_ent("rebuild_barrier_piece"); - playsoundatposition("zmb_cha_ching",(0,0,0)); - } - - if(IsDefined(chunk.script_parameters)) - { - if(chunk.script_parameters == "bar") - { - if(IsDefined(chunk.script_noteworthy)) - { - if(chunk.script_noteworthy == "5") - { - chunk hide(); - } - else if(chunk.script_noteworthy == "3") - { - chunk hide(); - } - } - } - } - - self thread replace_chunk(self,chunk,has_perk,IsDefined(player.pers_upgrades_awarded["board"]) && player.pers_upgrades_awarded["board"]); - } - - if(IsDefined(self.clip)) - { - self.clip enable_trigger(); - self.clip disconnectpaths(); - } - else - { - blocker_disconnect_paths(self.neg_start,self.neg_end); - } - - bbprint("zombie_uses","playername %s playerscore %d round %d cost %d name %s x %f y %f z %f type %s",player.name,player.score,level.round_number,original_cost,self.target,self.origin,"repair"); - self do_post_chunk_repair_delay(has_perk); - if(!(is_player_valid(player))) - { - break; - } - - player handle_post_board_repair_rewards(cost,self); + self waittill(groundpos(trigger_location.origin),groundpos(trigger_location.origin),"trigger",player); + has_perk = player has_blocker_affecting_perk(); if(all_chunks_intact(self,self.barrier_chunks)) { self notify("all_boards_repaired"); @@ -1704,6 +1600,115 @@ GetDvarInt(#"FA91EA91") > 0 self notify("no valid boards"); return; } + + if(IsDefined(level._zm_blocker_trigger_think_return_override)) + { + if(self [[ level._zm_blocker_trigger_think_return_override ]](player)) + { + return; + } + } + + while(1) + { + players = get_players(); + if(player_fails_blocker_repair_trigger_preamble(player,players,self.unitrigger_stub.trigger,0)) + { + break; + } + + if(IsDefined(self.zbarrier)) + { + chunk = get_random_destroyed_chunk(self,self.barrier_chunks); + self thread replace_chunk(self,chunk,has_perk,IsDefined(player.pers_upgrades_awarded["board"]) && player.pers_upgrades_awarded["board"]); + } + else + { + chunk = get_random_destroyed_chunk(self,self.barrier_chunks); + if((IsDefined(chunk.script_parameter) && chunk.script_parameters == "repair_board") || chunk.script_parameters == "barricade_vents") + { + if(IsDefined(chunk.unbroken_section)) + { + chunk show(); + chunk solid(); + chunk.unbroken_section self_delete(); + } + } + else + { + chunk show(); + } + + if(!IsDefined(chunk.script_parameters) || chunk.script_parameters == "board" || chunk.script_parameters == "repair_board" || chunk.script_parameters == "barricade_vents") + { + if(!(IsDefined(level.use_clientside_board_fx) && level.use_clientside_board_fx)) + { + if(!IsDefined(chunk.material) || IsDefined(chunk.material) && chunk.material != "rock") + { + chunk play_sound_on_ent("rebuild_barrier_piece"); + } + + playsoundatposition("zmb_cha_ching",(0,0,0)); + } + } + + if(chunk.script_parameters == "bar") + { + chunk play_sound_on_ent("rebuild_barrier_piece"); + playsoundatposition("zmb_cha_ching",(0,0,0)); + } + + if(IsDefined(chunk.script_parameters)) + { + if(chunk.script_parameters == "bar") + { + if(IsDefined(chunk.script_noteworthy)) + { + if(chunk.script_noteworthy == "5") + { + chunk hide(); + } + else if(chunk.script_noteworthy == "3") + { + chunk hide(); + } + } + } + } + + self thread replace_chunk(self,chunk,has_perk,IsDefined(player.pers_upgrades_awarded["board"]) && player.pers_upgrades_awarded["board"]); + } + + if(IsDefined(self.clip)) + { + self.clip enable_trigger(); + self.clip disconnectpaths(); + } + else + { + blocker_disconnect_paths(self.neg_start,self.neg_end); + } + + bbprint("zombie_uses","playername %s playerscore %d round %d cost %d name %s x %f y %f z %f type %s",player.name,player.score,level.round_number,original_cost,self.target,self.origin,"repair"); + self do_post_chunk_repair_delay(has_perk); + if(!(is_player_valid(player))) + { + break; + } + + player handle_post_board_repair_rewards(cost,self); + if(all_chunks_intact(self,self.barrier_chunks)) + { + self notify("all_boards_repaired"); + return; + } + + if(no_valid_repairable_boards(self,self.barrier_chunks)) + { + self notify("no valid boards"); + return; + } + } } } } diff --git a/BO2/PC/ZM/maps/mp/zombies/_zm_bot.gsc b/BO2/PC/ZM/maps/mp/zombies/_zm_bot.gsc index 4e4c9ca..e4e949c 100644 --- a/BO2/PC/ZM/maps/mp/zombies/_zm_bot.gsc +++ b/BO2/PC/ZM/maps/mp/zombies/_zm_bot.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 1 - * Decompile Time: 2 ms - * Timestamp: 10/27/2023 3:02:59 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:11:43 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/PC/ZM/maps/mp/zombies/_zm_buildables.gsc b/BO2/PC/ZM/maps/mp/zombies/_zm_buildables.gsc index 384cc87..0bf1508 100644 --- a/BO2/PC/ZM/maps/mp/zombies/_zm_buildables.gsc +++ b/BO2/PC/ZM/maps/mp/zombies/_zm_buildables.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 127 - * Decompile Time: 453 ms - * Timestamp: 10/27/2023 3:03:01 AM + * Decompile Time: 56 ms + * Timestamp: 10/28/2023 12:11:44 AM *******************************************************************/ #include common_scripts/utility; @@ -255,8 +255,10 @@ generate_zombie_buildable_piece(buildablename,modelname,radius,height,drop_offse buildable_pieces = []; buildable_pieces_structs = getstructarray(buildablename + "_" + modelname,"targetname"); /# - println("ERROR: Missing buildable piece <" + buildablename + "> <" + modelname + ">\n"); -buildable_pieces_structs.size < 1 + if(buildable_pieces_structs.size < 1) + { + println("ERROR: Missing buildable piece <" + buildablename + "> <" + modelname + ">\n"); + } #/ foreach(index, struct in buildable_pieces_structs) { @@ -363,9 +365,9 @@ add_buildable_piece(piece,part_name,can_reuse) /# /# assert(self.buildable_slot == piece.buildable_slot); -#/ -#/ } +#/ +#/ } //Function Number: 18 @@ -709,10 +711,12 @@ player_set_buildable_piece(piece,slot) } /# + if(IsDefined(slot) && IsDefined(piece) && IsDefined(piece.buildable_slot)) + { /# - assert(slot == piece.buildable_slot); + assert(slot == piece.buildable_slot); + } #/ -IsDefined(slot) && IsDefined(piece) && IsDefined(piece.buildable_slot) #/ if(!(IsDefined(self.current_buildable_pieces))) { @@ -736,13 +740,12 @@ dbline(from,to) { /# time = 20; - for(;;) + while(time > 0) { line(from,to,(0,0,1),0,1); time = time - 0.05; wait(0.05); } -time > 0 #/ } @@ -1347,10 +1350,13 @@ piece_spawn_at(origin,angles) } /# - level.drop_offset = 0; + if(!(IsDefined(level.drop_offset))) + { + level.drop_offset = 0; + } + origin = origin + (0,0,level.drop_offset); unitrigger_offset = unitrigger_offset - (0,0,level.drop_offset); -IsDefined(level.drop_offset) #/ self.model = spawn("script_model",origin); if(IsDefined(angles)) @@ -2025,7 +2031,7 @@ buildablestub_update_prompt(player) else { /# - assert(IsDefined(level.zombie_buildables[self.equipname].hint),"Missing buildable hint"); + assert(IsDefined(level.zombie_buildables[self.equipname].hint),"Missing buildable hint"); #/ if(IsDefined(level.zombie_buildables[self.equipname].hint)) { @@ -2915,8 +2921,10 @@ ai_buildable_trigger_think(parent,equipname,weaponname,trigger_hintstring,persis onpickuputs(player) { /# - println("ZM >> Buildable piece recovered by - " + player.name); -IsDefined(player) && IsDefined(player.name) + if(IsDefined(player) && IsDefined(player.name)) + { + println("ZM >> Buildable piece recovered by - " + player.name); + } #/ } @@ -2924,8 +2932,10 @@ IsDefined(player) && IsDefined(player.name) ondroputs(player) { /# - println("ZM >> Buildable piece dropped by - " + player.name); -IsDefined(player) && IsDefined(player.name) + if(IsDefined(player) && IsDefined(player.name)) + { + println("ZM >> Buildable piece dropped by - " + player.name); + } #/ player notify("event_ended"); } @@ -2934,8 +2944,10 @@ IsDefined(player) && IsDefined(player.name) onbeginuseuts(player) { /# - println("ZM >> Buildable piece begin use by - " + player.name); -IsDefined(player) && IsDefined(player.name) + if(IsDefined(player) && IsDefined(player.name)) + { + println("ZM >> Buildable piece begin use by - " + player.name); + } #/ if(IsDefined(self.buildablestruct.onbeginuse)) { @@ -2980,8 +2992,10 @@ sndbuildableusealias(name) onenduseuts(team,player,result) { /# - println("ZM >> Buildable piece end use by - " + player.name); -IsDefined(player) && IsDefined(player.name) + if(IsDefined(player) && IsDefined(player.name)) + { + println("ZM >> Buildable piece end use by - " + player.name); + } #/ if(!(IsDefined(player))) { @@ -3006,8 +3020,10 @@ IsDefined(player) && IsDefined(player.name) oncantuseuts(player) { /# - println("ZM >> Buildable piece can\'t use by - " + player.name); -IsDefined(player) && IsDefined(player.name) + if(IsDefined(player) && IsDefined(player.name)) + { + println("ZM >> Buildable piece can\'t use by - " + player.name); + } #/ if(IsDefined(self.buildablestruct.oncantuse)) { @@ -3019,8 +3035,10 @@ IsDefined(player) && IsDefined(player.name) onuseplantobjectuts(player) { /# - println("ZM >> Buildable piece crafted by - " + player.name); -IsDefined(player) && IsDefined(player.name) + if(IsDefined(player) && IsDefined(player.name)) + { + println("ZM >> Buildable piece crafted by - " + player.name); + } #/ if(IsDefined(self.buildablestruct.onuseplantobject)) { diff --git a/BO2/PC/ZM/maps/mp/zombies/_zm_chugabud.gsc b/BO2/PC/ZM/maps/mp/zombies/_zm_chugabud.gsc index 871fba2..960c400 100644 --- a/BO2/PC/ZM/maps/mp/zombies/_zm_chugabud.gsc +++ b/BO2/PC/ZM/maps/mp/zombies/_zm_chugabud.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 36 - * Decompile Time: 104 ms - * Timestamp: 10/27/2023 3:03:01 AM + * Decompile Time: 8 ms + * Timestamp: 10/28/2023 12:11:44 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/PC/ZM/maps/mp/zombies/_zm_clone.gsc b/BO2/PC/ZM/maps/mp/zombies/_zm_clone.gsc index 779d595..6608fe3 100644 --- a/BO2/PC/ZM/maps/mp/zombies/_zm_clone.gsc +++ b/BO2/PC/ZM/maps/mp/zombies/_zm_clone.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 8 - * Decompile Time: 56 ms - * Timestamp: 10/27/2023 3:03:02 AM + * Decompile Time: 1 ms + * Timestamp: 10/28/2023 12:11:44 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/PC/ZM/maps/mp/zombies/_zm_devgui.gsc b/BO2/PC/ZM/maps/mp/zombies/_zm_devgui.gsc index f3ac2ce..f31610e 100644 --- a/BO2/PC/ZM/maps/mp/zombies/_zm_devgui.gsc +++ b/BO2/PC/ZM/maps/mp/zombies/_zm_devgui.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 84 - * Decompile Time: 610 ms - * Timestamp: 10/27/2023 3:03:04 AM + * Decompile Time: 37 ms + * Timestamp: 10/28/2023 12:11:44 AM *******************************************************************/ #include common_scripts/utility; @@ -50,8 +50,7 @@ zombie_devgui_player_commands() flag_wait("start_zombie_round_logic"); wait(1); players = get_players(); - i = 0; - for(;;) + for(i = 0;i < players.size;i++) { ip1 = i + 1; adddebugcommand("devgui_cmd \"Zombies:1/Players:1/Player:1/" + players[i].name + "/Give Money:1\" \"set zombie_devgui player" + ip1 + "_money\" \n"); @@ -64,9 +63,7 @@ zombie_devgui_player_commands() adddebugcommand("devgui_cmd \"Zombies:1/Players:1/Player:1/" + players[i].name + "/Turn Player:8\" \"set zombie_devgui player" + ip1 + "_turnplayer\" \n"); adddebugcommand("devgui_cmd \"Zombies:1/Players:1/Player:1/" + players[i].name + "/Debug Pers:9\" \"set zombie_devgui player" + ip1 + "_debug_pers\" \n"); adddebugcommand("devgui_cmd \"Zombies:1/Players:1/Player:1/" + players[i].name + "/Take Money:10\" \"set zombie_devgui player" + ip1 + "_moneydown\" \n"); - i++; } -i < players.size #/ } @@ -75,13 +72,19 @@ devgui_add_weapon_entry(hint,up,weapon_name,root) { /# rootslash = ""; - rootslash = root + "/"; + if(IsDefined(root) && root.size) + { + rootslash = root + "/"; + } + uppath = "/" + up; - uppath = ""; + if(up.size < 1) + { + uppath = ""; + } + cmd = "devgui_cmd \"Zombies:1/Weapons:10/" + rootslash + hint + uppath + "\" \"set zombie_devgui_gun " + weapon_name + "\" \n"; adddebugcommand(cmd); -up.size < 1 -IsDefined(root) && root.size #/ } @@ -97,12 +100,25 @@ devgui_add_weapon_and_attachments(hint,up,weapon_name,root) devgui_add_weapon(weapon_name,upgrade_name,hint,cost,weaponvo,weaponvoresp,ammo_cost) { /# - return; - level.devgui_weapons_added = 0; + if(is_offhand_weapon(weapon_name) && !is_melee_weapon(weapon_name)) + { + return; + } + + if(!(IsDefined(level.devgui_weapons_added))) + { + level.devgui_weapons_added = 0; + } + level.devgui_weapons_added++; - devgui_add_weapon_and_attachments(weapon_name,"",weapon_name,"Melee:8"); - devgui_add_weapon_and_attachments(weapon_name,"",weapon_name,""); -(is_offhand_weapon(weapon_name) && !is_melee_weapon(weapon_name)) ? IsDefined(level.devgui_weapons_added) : is_melee_weapon(weapon_name) + if(is_melee_weapon(weapon_name)) + { + devgui_add_weapon_and_attachments(weapon_name,"",weapon_name,"Melee:8"); + } + else + { + devgui_add_weapon_and_attachments(weapon_name,"",weapon_name,""); + } #/ } @@ -116,15 +132,20 @@ zombie_weapon_devgui_think() { wait(0.25); cmd = GetDvar(#"CE4F9F97"); - level.zombie_devgui_gun = cmd; - array_thread(get_players(),::zombie_devgui_weapon_give,level.zombie_devgui_gun); + if(!IsDefined(level.zombie_devgui_gun) || level.zombie_devgui_gun != cmd) + { + level.zombie_devgui_gun = cmd; + array_thread(get_players(),::zombie_devgui_weapon_give,level.zombie_devgui_gun); + } + wait(0.25); att = GetDvar(#"A965F402"); - level.zombie_devgui_att = att; - array_thread(get_players(),::zombie_devgui_attachment_give,level.zombie_devgui_att); + if(!IsDefined(level.zombie_devgui_att) || level.zombie_devgui_att != att) + { + level.zombie_devgui_att = att; + array_thread(get_players(),::zombie_devgui_attachment_give,level.zombie_devgui_att); + } } -!IsDefined(level.zombie_devgui_att) || level.zombie_devgui_att != att -!IsDefined(level.zombie_devgui_gun) || level.zombie_devgui_gun != cmd #/ } @@ -150,19 +171,25 @@ devgui_add_ability(name,upgrade_active_func,stat_name,stat_desired_value,game_en { /# online_game = sessionmodeisonlinegame(); - return; - cmd = "devgui_cmd \"Zombies:1/Players:1/Abilities:3/Disable All:1\" \"set zombie_devgui_give_ability _disable\" \n"; - adddebugcommand(cmd); - cmd = "devgui_cmd \"Zombies:1/Players:1/Abilities:3/Enable All:2\" \"set zombie_devgui_give_ability _enable\" \n"; - adddebugcommand(cmd); - level thread zombie_ability_devgui_think(); - level.devgui_watch_abilities = 1; + if(!(online_game)) + { + return; + } + + if(!(is_true(level.devgui_watch_abilities))) + { + cmd = "devgui_cmd \"Zombies:1/Players:1/Abilities:3/Disable All:1\" \"set zombie_devgui_give_ability _disable\" \n"; + adddebugcommand(cmd); + cmd = "devgui_cmd \"Zombies:1/Players:1/Abilities:3/Enable All:2\" \"set zombie_devgui_give_ability _enable\" \n"; + adddebugcommand(cmd); + level thread zombie_ability_devgui_think(); + level.devgui_watch_abilities = 1; + } + cmd = "devgui_cmd \"Zombies:1/Players:1/Abilities:3/" + name + "\" \"set zombie_devgui_give_ability " + name + "\" \n"; adddebugcommand(cmd); cmd = "devgui_cmd \"Zombies:1/Players:1/Abilities:3/Take:3/" + name + "\" \"set zombie_devgui_take_ability " + name + "\" \n"; adddebugcommand(cmd); -is_true(level.devgui_watch_abilities) -online_game #/ } @@ -171,17 +198,16 @@ zombie_devgui_ability_give(name) { /# pers_upgrade = level.pers_upgrades[name]; - i = 0; - for(;;) + if(IsDefined(pers_upgrade)) { - stat_name = pers_upgrade.stat_names[i]; - stat_value = pers_upgrade.stat_desired_values[i]; - self maps/mp/zombies/_zm_stats::set_global_stat(stat_name,stat_value); - self.pers_upgrade_force_test = 1; - i++; + for(i = 0;i < pers_upgrade.stat_names.size;i++) + { + stat_name = pers_upgrade.stat_names[i]; + stat_value = pers_upgrade.stat_desired_values[i]; + self maps/mp/zombies/_zm_stats::set_global_stat(stat_name,stat_value); + self.pers_upgrade_force_test = 1; + } } -i < pers_upgrade.stat_names.size -IsDefined(pers_upgrade) #/ } @@ -190,17 +216,16 @@ zombie_devgui_ability_take(name) { /# pers_upgrade = level.pers_upgrades[name]; - i = 0; - for(;;) + if(IsDefined(pers_upgrade)) { - stat_name = pers_upgrade.stat_names[i]; - stat_value = 0; - self maps/mp/zombies/_zm_stats::set_global_stat(stat_name,stat_value); - self.pers_upgrade_force_test = 1; - i++; + for(i = 0;i < pers_upgrade.stat_names.size;i++) + { + stat_name = pers_upgrade.stat_names[i]; + stat_value = 0; + self maps/mp/zombies/_zm_stats::set_global_stat(stat_name,stat_value); + self.pers_upgrade_force_test = 1; + } } -i < pers_upgrade.stat_names.size -IsDefined(pers_upgrade) #/ } @@ -214,17 +239,31 @@ zombie_ability_devgui_think() { wait(0.25); cmd = GetDvar(#"E2245F05"); - flag_set("sq_minigame_active"); - flag_clear("sq_minigame_active"); - level.zombie_devgui_give_ability = cmd; - array_thread(get_players(),::zombie_devgui_ability_give,level.zombie_devgui_give_ability); + if(!IsDefined(level.zombie_devgui_give_ability) || level.zombie_devgui_give_ability != cmd) + { + if(cmd == "_disable") + { + flag_set("sq_minigame_active"); + } + else if(cmd == "_enable") + { + flag_clear("sq_minigame_active"); + } + else + { + level.zombie_devgui_give_ability = cmd; + array_thread(get_players(),::zombie_devgui_ability_give,level.zombie_devgui_give_ability); + } + } + wait(0.25); cmd = GetDvar(#"726367F"); - level.zombie_devgui_take_ability = cmd; - array_thread(get_players(),::zombie_devgui_ability_take,level.zombie_devgui_take_ability); + if(!IsDefined(level.zombie_devgui_take_ability) || level.zombie_devgui_take_ability != cmd) + { + level.zombie_devgui_take_ability = cmd; + array_thread(get_players(),::zombie_devgui_ability_take,level.zombie_devgui_take_ability); + } } -!IsDefined(level.zombie_devgui_take_ability) || level.zombie_devgui_take_ability != cmd -Stack-Empty ? Stack-Empty : ((!IsDefined(level.zombie_devgui_give_ability) || level.zombie_devgui_give_ability != cmd) ? cmd == "_disable" : cmd == "_enable") #/ } @@ -232,14 +271,20 @@ Stack-Empty ? Stack-Empty : ((!IsDefined(level.zombie_devgui_give_ability) || le zombie_healthbar(pos,dsquared) { /# - return; + if(distancesquared(pos,self.origin) > dsquared) + { + return; + } + rate = 1; - rate = self.health / self.maxhealth; + if(IsDefined(self.maxhealth)) + { + rate = self.health / self.maxhealth; + } + color = (1 - rate,rate,0); text = "" + int(self.health); print3d(self.origin + (0,0,0),text,color,1,0.5,1); -IsDefined(self.maxhealth) -distancesquared(pos,self.origin) > dsquared #/ } @@ -247,25 +292,23 @@ distancesquared(pos,self.origin) > dsquared devgui_zombie_healthbar() { /# - for(;;) + while(1) { - lp = get_players()[0]; - zombies = getaispeciesarray("all","all"); - _a260 = zombies; - _k260 = FirstArrayKey(_a260); - for(;;) + if(GetDvarInt(#"5B45DCAF") == 1) { - zombie = _a260[_k260]; - zombie zombie_healthbar(lp.origin,360000); - _k260 = NextArrayKey(_a260); + lp = get_players()[0]; + zombies = getaispeciesarray("all","all"); + if(IsDefined(zombies)) + { + foreach(zombie in zombies) + { + zombie zombie_healthbar(lp.origin,360000); + } + } } + wait(0.05); } -_k260 -IsDefined(_k260) -IsDefined(zombies) -GetDvarInt(#"5B45DCAF") == 1 -1 #/ } @@ -276,13 +319,10 @@ zombie_devgui_watch_input() flag_wait("start_zombie_round_logic"); wait(1); players = get_players(); - i = 0; - for(;;) + for(i = 0;i < players.size;i++) { players[i] thread watch_debug_input(); - i++; } -i < players.size #/ } @@ -325,14 +365,17 @@ force_drink() wait(2); self maps/mp/zombies/_zm_weapons::switch_back_primary_weapon(orgweapon); self takeweapon("zombie_builder_zm"); - self decrement_is_drinking(); + if(is_true(self.is_drinking)) + { + self decrement_is_drinking(); + } + self allowlean(lean); self allowads(ads); self allowsprint(sprint); self allowprone(prone); self allowcrouch(crouch); self allowmelee(melee); -is_true(self.is_drinking) #/ } @@ -376,16 +419,23 @@ watch_debug_input(callback) self notify("watch_debug_input"); self endon("watch_debug_input"); level.devgui_dpad_watch = 0; - level.devgui_dpad_watch = 1; - for(;;) + if(IsDefined(callback)) { - self thread [[ callback ]](); - wait(0.05); - wait(0.05); + level.devgui_dpad_watch = 1; + for(;;) + { + if(self actionslottwobuttonpressed()) + { + self thread [[ callback ]](); + while(self actionslottwobuttonpressed()) + { + wait(0.05); + } + } + + wait(0.05); + } } -self actionslottwobuttonpressed() -self actionslottwobuttonpressed() -IsDefined(callback) #/ } @@ -402,204 +452,246 @@ zombie_devgui_think() players = get_players(); array_thread(players,::zombie_devgui_give_money); break; + case "player1_money": players = get_players(); players[0] thread zombie_devgui_give_money(); break; players.size >= 1 break; + case "player2_money": players = get_players(); players[1] thread zombie_devgui_give_money(); break; players.size >= 2 break; + case "player3_money": players = get_players(); players[2] thread zombie_devgui_give_money(); break; players.size >= 3 break; + case "player4_money": players = get_players(); players[3] thread zombie_devgui_give_money(); break; players.size >= 4 break; + case "moneydown": players = get_players(); array_thread(players,::zombie_devgui_take_money); break; + case "player1_moneydown": players = get_players(); players[0] thread zombie_devgui_take_money(); break; players.size >= 1 break; + case "player2_moneydown": players = get_players(); players[1] thread zombie_devgui_take_money(); break; players.size >= 2 break; + case "player3_moneydown": players = get_players(); players[2] thread zombie_devgui_take_money(); break; players.size >= 3 break; + case "player4_moneydown": players = get_players(); players[3] thread zombie_devgui_take_money(); break; players.size >= 4 break; + case "health": array_thread(get_players(),::zombie_devgui_give_health); break; + case "player1_health": players = get_players(); players[0] thread zombie_devgui_give_health(); break; players.size >= 1 break; + case "player2_health": players = get_players(); players[1] thread zombie_devgui_give_health(); break; players.size >= 2 break; + case "player3_health": players = get_players(); players[2] thread zombie_devgui_give_health(); break; players.size >= 3 break; + case "player4_health": players = get_players(); players[3] thread zombie_devgui_give_health(); break; players.size >= 4 break; + case "ammo": array_thread(get_players(),::zombie_devgui_toggle_ammo); break; + case "ignore": array_thread(get_players(),::zombie_devgui_toggle_ignore); break; + case "player1_ignore": players = get_players(); players[0] thread zombie_devgui_toggle_ignore(); break; players.size >= 1 break; + case "player2_ignore": players = get_players(); players[1] thread zombie_devgui_toggle_ignore(); break; players.size >= 2 break; + case "player3_ignore": players = get_players(); players[2] thread zombie_devgui_toggle_ignore(); break; players.size >= 3 break; + case "player4_ignore": players = get_players(); players[3] thread zombie_devgui_toggle_ignore(); break; players.size >= 4 break; + case "invul_on": zombie_devgui_invulnerable(undefined,1); break; + case "invul_off": zombie_devgui_invulnerable(undefined,0); break; + case "player1_invul_on": zombie_devgui_invulnerable(0,1); break; + case "player1_invul_off": zombie_devgui_invulnerable(0,0); break; + case "player2_invul_on": zombie_devgui_invulnerable(1,1); break; + case "player2_invul_off": zombie_devgui_invulnerable(1,0); break; + case "player3_invul_on": zombie_devgui_invulnerable(2,1); break; + case "player3_invul_off": zombie_devgui_invulnerable(2,0); break; + case "player4_invul_on": zombie_devgui_invulnerable(3,1); break; + case "player4_invul_off": zombie_devgui_invulnerable(3,0); break; + case "revive_all": array_thread(get_players(),::zombie_devgui_revive); break; + case "player1_revive": players = get_players(); players[0] thread zombie_devgui_revive(); break; players.size >= 1 break; + case "player2_revive": players = get_players(); players[1] thread zombie_devgui_revive(); break; players.size >= 2 break; + case "player3_revive": players = get_players(); players[2] thread zombie_devgui_revive(); break; players.size >= 3 break; + case "player4_revive": players = get_players(); players[3] thread zombie_devgui_revive(); break; players.size >= 4 break; + case "player1_kill": players = get_players(); players[0] thread zombie_devgui_kill(); break; players.size >= 1 break; + case "player2_kill": players = get_players(); players[1] thread zombie_devgui_kill(); break; players.size >= 2 break; + case "player3_kill": players = get_players(); players[2] thread zombie_devgui_kill(); break; players.size >= 3 break; + case "player4_kill": players = get_players(); players[3] thread zombie_devgui_kill(); break; players.size >= 4 break; + case "spawn_friendly_bot": player = gethostplayer(); team = player.team; devgui_bot_spawn(team); break; + case "specialty_quickrevive": level.solo_lives_given = 0; break; + case "specialty_additionalprimaryweapon": case "specialty_armorvest": case "specialty_deadshot": @@ -615,33 +707,43 @@ zombie_devgui_think() case "specialty_showonradar": zombie_devgui_give_perk(cmd); break; + case "turnplayer": zombie_devgui_turn_player(); break; + case "player1_turnplayer": zombie_devgui_turn_player(0); break; + case "player2_turnplayer": zombie_devgui_turn_player(1); break; + case "player3_turnplayer": zombie_devgui_turn_player(2); break; + case "player4_turnplayer": zombie_devgui_turn_player(3); break; + case "player1_debug_pers": zombie_devgui_debug_pers(0); break; + case "player2_debug_pers": zombie_devgui_debug_pers(1); break; + case "player3_debug_pers": zombie_devgui_debug_pers(2); break; + case "player4_debug_pers": zombie_devgui_debug_pers(3); break; + case "bonfire_sale": case "bonus_points_player": case "bonus_points_team": @@ -661,6 +763,7 @@ zombie_devgui_think() case "tesla": zombie_devgui_give_powerup(cmd,1); break; + case "next_bonfire_sale": case "next_bonus_points_player": case "next_bonus_points_team": @@ -680,237 +783,314 @@ zombie_devgui_think() case "next_tesla": zombie_devgui_give_powerup(getsubstr(cmd,5),0); break; + case "round": zombie_devgui_goto_round(GetDvarInt(#"D81B6E19")); break; + case "round_next": zombie_devgui_goto_round(level.round_number + 1); break; + case "round_prev": zombie_devgui_goto_round(level.round_number - 1); break; + case "chest_move": level notify("devgui_chest_end_monitor",IsDefined(level.chest_accessed)); level.chest_accessed = 100; break; + case "chest_never_move": level thread zombie_devgui_chest_never_move(); break; IsDefined(level.chest_accessed) break; + case "chest": break; IsDefined(level.zombie_weapons[GetDvar(#"45ED7744")]) break; + case "quantum_bomb_random_result": setdvar("scr_force_quantum_bomb_result",""); break; + case "give_gasmask": array_thread(get_players(),::zombie_devgui_equipment_give,"equip_gasmask_zm"); break; + case "give_hacker": array_thread(get_players(),::zombie_devgui_equipment_give,"equip_hacker_zm"); break; + case "give_turbine": array_thread(get_players(),::zombie_devgui_equipment_give,"equip_turbine_zm"); break; + case "give_turret": array_thread(get_players(),::zombie_devgui_equipment_give,"equip_turret_zm"); break; + case "give_electrictrap": array_thread(get_players(),::zombie_devgui_equipment_give,"equip_electrictrap_zm"); break; + case "give_riotshield": array_thread(get_players(),::zombie_devgui_equipment_give,"riotshield_zm"); break; + case "give_jetgun": array_thread(get_players(),::zombie_devgui_equipment_give,"jetgun_zm"); break; + case "give_springpad": array_thread(get_players(),::zombie_devgui_equipment_give,"equip_springpad_zm"); break; + case "give_subwoofer": array_thread(get_players(),::zombie_devgui_equipment_give,"equip_subwoofer_zm"); break; + case "give_headchopper": array_thread(get_players(),::zombie_devgui_equipment_give,"equip_headchopper_zm"); break; + case "cool_jetgun": array_thread(get_players(),::zombie_devgui_cool_jetgun); break; + case "preserve_turbines": array_thread(get_players(),::zombie_devgui_preserve_turbines); break; + case "healthy_equipment": array_thread(get_players(),::zombie_devgui_equipment_stays_healthy); break; + case "disown_equipment": array_thread(get_players(),::zombie_devgui_disown_equipment); break; + case "buildable_drop": array_thread(get_players(),::zombie_devgui_buildable_drop); break; + case "build_busladder": zombie_devgui_build("busladder"); break; + case "build_bushatch": zombie_devgui_build("bushatch"); break; + case "build_dinerhatch": zombie_devgui_build("dinerhatch"); break; + case "build_cattlecatcher": zombie_devgui_build("cattlecatcher"); break; + case "build_pap": zombie_devgui_build("pap"); break; + case "build_riotshield_zm": zombie_devgui_build("riotshield_zm"); break; + case "build_powerswitch": zombie_devgui_build("powerswitch"); break; + case "build_turbine": zombie_devgui_build("turbine"); break; + case "build_turret": zombie_devgui_build("turret"); break; + case "build_electric_trap": zombie_devgui_build("electric_trap"); break; + case "build_jetgun_zm": zombie_devgui_build("jetgun_zm"); break; + case "build_sq_common": zombie_devgui_build("sq_common"); break; + case "build_springpad": zombie_devgui_build("springpad_zm"); break; + case "build_slipgun": zombie_devgui_build("slipgun_zm"); break; + case "build_keys": zombie_devgui_build("keys_zm"); break; + case "give_claymores": array_thread(get_players(),::zombie_devgui_give_claymores); break; + case "give_frags": array_thread(get_players(),::zombie_devgui_give_frags); break; + case "give_sticky": array_thread(get_players(),::zombie_devgui_give_sticky); break; + case "give_monkey": array_thread(get_players(),::zombie_devgui_give_monkey); break; + case "give_beacon": array_thread(get_players(),::zombie_devgui_give_beacon); break; + case "give_time_bomb": array_thread(get_players(),::zombie_devgui_give_time_bomb); break; + case "give_black_hole_bomb": array_thread(get_players(),::zombie_devgui_give_black_hole_bomb); break; + case "give_dolls": array_thread(get_players(),::zombie_devgui_give_dolls); break; + case "give_quantum_bomb": array_thread(get_players(),::zombie_devgui_give_quantum_bomb); break; + case "give_emp_bomb": array_thread(get_players(),::zombie_devgui_give_emp_bomb); break; + case "monkey_round": zombie_devgui_monkey_round(); break; + case "thief_round": zombie_devgui_thief_round(); break; + case "dog_round": zombie_devgui_dog_round(GetDvarInt(#"3CD25BFE")); break; + case "dog_round_skip": zombie_devgui_dog_round_skip(); break; + case "print_variables": zombie_devgui_dump_zombie_vars(); break; + case "pack_current_weapon": zombie_devgui_pack_current_weapon(); break; + case "unpack_current_weapon": zombie_devgui_unpack_current_weapon(); break; + case "reopt_current_weapon": zombie_devgui_reopt_current_weapon(); break; + case "weapon_take_all_fallback": zombie_devgui_take_weapons(1); break; + case "weapon_take_all": zombie_devgui_take_weapons(0); break; + case "weapon_take_current": zombie_devgui_take_weapon(); break; + case "power_on": flag_set("power_on"); break; + case "power_off": flag_clear("power_on"); break; + case "zombie_dpad_none": array_thread(get_players(),::zombie_devgui_dpad_none); break; + case "zombie_dpad_damage": array_thread(get_players(),::zombie_devgui_dpad_damage); break; + case "zombie_dpad_kill": array_thread(get_players(),::zombie_devgui_dpad_death); break; + case "zombie_dpad_drink": array_thread(get_players(),::zombie_devgui_dpad_changeweapon); break; + case "director_easy": zombie_devgui_director_easy(); break; + case "open_sesame": zombie_devgui_open_sesame(); break; + case "allow_fog": zombie_devgui_allow_fog(); break; + case "disable_kill_thread_toggle": zombie_devgui_disable_kill_thread_toggle(); break; + case "check_kill_thread_every_frame_toggle": zombie_devgui_check_kill_thread_every_frame_toggle(); break; + case "kill_thread_test_mode_toggle": zombie_devgui_kill_thread_test_mode_toggle(); break; + case "zombie_failsafe_debug_flush": level notify("zombie_failsafe_debug_flush"); break; + case "spawn": devgui_zombie_spawn(); break; + case "spawn_all": devgui_all_spawn(); break; + case "toggle_show_spawn_locations": devgui_toggle_show_spawn_locations(); break; + case "debug_hud": array_thread(get_players(),::devgui_debug_hud); break; + case "": break; + default: i = 0; b_found_entry = is_true([[ level.custom_devgui[i] ]](cmd)); @@ -923,6 +1103,7 @@ zombie_devgui_think() IsDefined(level.custom_devgui) break; } + setdvar("zombie_devgui",""); wait(0.5); } @@ -948,9 +1129,14 @@ devgui_all_spawn() devgui_toggle_show_spawn_locations() { /# - level.toggle_show_spawn_locations = 1; - level.toggle_show_spawn_locations = !level.toggle_show_spawn_locations; -Stack-Empty ? Stack-Empty : IsDefined(level.toggle_show_spawn_locations) + if(!(IsDefined(level.toggle_show_spawn_locations))) + { + level.toggle_show_spawn_locations = 1; + } + else + { + level.toggle_show_spawn_locations = !level.toggle_show_spawn_locations; + } #/ } @@ -971,14 +1157,14 @@ devgui_zombie_spawn() spawners = getentarray(spawnername,"script_noteworthy"); spawner = spawners[0]; guy = maps/mp/zombies/_zm_utility::spawn_zombie(spawner); - wait(0.5); - guy.origin = trace["position"]; - guy.angles = 180 + VectorScale((0,1,0)); - guy forceteleport(trace["position"],180 + VectorScale((0,1,0))); - guy thread maps/mp/zombies/_zm_ai_basic::find_flesh(); -player.angles -player.angles -IsDefined(guy) + if(IsDefined(guy)) + { + wait(0.5); + guy.origin = trace["position"]; + guy.angles = 180 + VectorScale((0,1,0)); + guy forceteleport(trace["position"],180 + VectorScale((0,1,0))); + guy thread maps/mp/zombies/_zm_ai_basic::find_flesh(); + } #/ } @@ -996,8 +1182,12 @@ devgui_bot_spawn(team) direction_vec = player.origin - trace["position"]; direction = VectorToAngles(direction_vec); bot = addtestclient(); - println("Could not add test client"); - return; + if(!(IsDefined(bot))) + { + println("Could not add test client"); + return; + } + bot.pers["isBot"] = 1; bot.equipment_enabled = 0; bot maps/mp/zombies/_zm::reset_rampage_bookmark_kill_times(); @@ -1005,7 +1195,6 @@ devgui_bot_spawn(team) bot._player_entnum = bot getentitynumber(); yaw = direction[1]; bot thread devgui_bot_spawn_think(trace["position"],yaw); -IsDefined(bot) #/ } @@ -1033,30 +1222,31 @@ zombie_devgui_open_sesame() players = get_players(); array_thread(players,::zombie_devgui_give_money); zombie_doors = getentarray("zombie_door","targetname"); - i = 0; - for(;;) + for(i = 0;i < zombie_doors.size;i++) { - zombie_doors[i] notify("trigger",players[0],i < zombie_doors.size); - zombie_doors[i] notify("power_on",is_true(zombie_doors[i].power_door_ignore_flag_wait)); + zombie_doors[i] notify("trigger",players[0]); + if(is_true(zombie_doors[i].power_door_ignore_flag_wait)) + { + zombie_doors[i] notify("power_on"); + } + wait(0.05); - i++; } + zombie_airlock_doors = getentarray("zombie_airlock_buy","targetname"); - i = 0; - for(;;) + for(i = 0;i < zombie_airlock_doors.size;i++) { - zombie_airlock_doors[i] notify("trigger",players[0],i < zombie_airlock_doors.size); + zombie_airlock_doors[i] notify("trigger",players[0]); wait(0.05); - i++; } + zombie_debris = getentarray("zombie_debris","targetname"); - i = 0; - for(;;) + for(i = 0;i < zombie_debris.size;i++) { - zombie_debris[i] notify("trigger",players[0],i < zombie_debris.size); + zombie_debris[i] notify("trigger",players[0]); wait(0.05); - i++; } + zombie_devgui_build(undefined); level notify("open_sesame"); wait(1); @@ -1068,18 +1258,15 @@ zombie_devgui_open_sesame() any_player_in_noclip() { /# - _a1161 = get_players(); - _k1161 = FirstArrayKey(_a1161); - for(;;) + foreach(player in get_players()) { - player = _a1161[_k1161]; - return 1; - _k1161 = NextArrayKey(_a1161); + if(player isinmovemode("ufo","noclip")) + { + return 1; + } } + return 0; -_k1161 -player isinmovemode("ufo","noclip") -IsDefined(_k1161) #/ } @@ -1090,22 +1277,32 @@ diable_fog_in_noclip() level.fog_disabled_in_noclip = 1; level endon("allowfoginnoclip"); flag_wait("start_zombie_round_logic"); - for(;;) + while(1) { - wait(1); + while(!(any_player_in_noclip())) + { + wait(1); + } + setdvar("scr_fog_disable","1"); setdvar("r_fog_disable","1"); - setculldist(0); - wait(1); + if(IsDefined(level.culldist)) + { + setculldist(0); + } + + while(any_player_in_noclip()) + { + wait(1); + } + setdvar("scr_fog_disable","0"); setdvar("r_fog_disable","0"); - setculldist(level.culldist); + if(IsDefined(level.culldist)) + { + setculldist(level.culldist); + } } -IsDefined(level.culldist) -any_player_in_noclip() -IsDefined(level.culldist) -any_player_in_noclip() -1 #/ } @@ -1113,12 +1310,17 @@ any_player_in_noclip() zombie_devgui_allow_fog() { /# - level notify("allowfoginnoclip",level.fog_disabled_in_noclip); - level.fog_disabled_in_noclip = 0; - setdvar("scr_fog_disable","0"); - setdvar("r_fog_disable","0"); - thread diable_fog_in_noclip(); -Stack-Empty ? Stack-Empty : Stack-Empty + if(level.fog_disabled_in_noclip) + { + level notify("allowfoginnoclip"); + level.fog_disabled_in_noclip = 0; + setdvar("scr_fog_disable","0"); + setdvar("r_fog_disable","0"); + } + else + { + thread diable_fog_in_noclip(); + } #/ } @@ -1153,9 +1355,14 @@ zombie_devgui_take_money() /# assert(isalive(self)); #/ - self maps/mp/zombies/_zm_score::minus_to_player_score(int(self.score / 2)); - self maps/mp/zombies/_zm_score::minus_to_player_score(self.score); -Stack-Empty ? Stack-Empty : self.score > 100 + if(self.score > 100) + { + self maps/mp/zombies/_zm_score::minus_to_player_score(int(self.score / 2)); + } + else + { + self maps/mp/zombies/_zm_score::minus_to_player_score(self.score); + } #/ } @@ -1164,8 +1371,15 @@ zombie_devgui_turn_player(index) { /# players = get_players(); - player = players[0]; - player = players[index]; + if(!IsDefined(index) || index >= players.size) + { + player = players[0]; + } + else + { + player = players[index]; + } + /# assert(IsDefined(player)); #/ @@ -1176,11 +1390,16 @@ zombie_devgui_turn_player(index) assert(isalive(player)); #/ level.devcheater = 1; - println("Player turned HUMAN"); - player maps/mp/zombies/_zm_turned::turn_to_human(); - println("Player turned ZOMBIE"); - player maps/mp/zombies/_zm_turned::turn_to_zombie(); -Stack-Empty ? (Stack-Empty ? Stack-Empty : !IsDefined(index) || index >= players.size) : player hasperk("specialty_noname") + if(player hasperk("specialty_noname")) + { + println("Player turned HUMAN"); + player maps/mp/zombies/_zm_turned::turn_to_human(); + } + else + { + println("Player turned ZOMBIE"); + player maps/mp/zombies/_zm_turned::turn_to_zombie(); + } #/ } @@ -1189,8 +1408,15 @@ zombie_devgui_debug_pers(index) { /# players = get_players(); - player = players[0]; - player = players[index]; + if(!IsDefined(index) || index >= players.size) + { + player = players[0]; + } + else + { + player = players[index]; + } + /# assert(IsDefined(player)); #/ @@ -1203,14 +1429,12 @@ zombie_devgui_debug_pers(index) level.devcheater = 1; println("\n\n----------------------------------------------------------------------------------------------"); println("Active Persistent upgrades [count=" + level.pers_upgrades_keys.size + "]"); - pers_upgrade_index = 0; - for(;;) + for(pers_upgrade_index = 0;pers_upgrade_index < level.pers_upgrades_keys.size;pers_upgrade_index++) { name = level.pers_upgrades_keys[pers_upgrade_index]; println(pers_upgrade_index + ">pers_upgrade name = " + name); pers_upgrade = level.pers_upgrades[name]; - i = 0; - for(;;) + for(i = 0;i < pers_upgrade.stat_names.size;i++) { stat_name = pers_upgrade.stat_names[i]; stat_desired_value = pers_upgrade.stat_desired_values[i]; @@ -1218,15 +1442,19 @@ zombie_devgui_debug_pers(index) println(" " + i + ")stat_name = " + stat_name); println(" " + i + ")stat_desired_values = " + stat_desired_value); println(" " + i + ")player_current_stat_value = " + player_current_stat_value); - i++; } - println("PLAYER HAS - " + name); - println("PLAYER DOES NOT HAVE - " + name); - pers_upgrade_index++; + + if(is_true(player.pers_upgrades_awarded[name])) + { + println("PLAYER HAS - " + name); + } + else + { + println("PLAYER DOES NOT HAVE - " + name); + } } + println("----------------------------------------------------------------------------------------------\n\n"); -(pers_upgrade_index < level.pers_upgrades_keys.size) ? i < pers_upgrade.stat_names.size : is_true(player.pers_upgrades_awarded[name]) -Stack-Empty ? Stack-Empty : !IsDefined(index) || index >= players.size #/ } @@ -1234,8 +1462,10 @@ Stack-Empty ? Stack-Empty : !IsDefined(index) || index >= players.size zombie_devgui_cool_jetgun() { /# - self thread [[ level.zm_devgui_jetgun_never_overheat ]](); -IsDefined(level.zm_devgui_jetgun_never_overheat) + if(IsDefined(level.zm_devgui_jetgun_never_overheat)) + { + self thread [[ level.zm_devgui_jetgun_never_overheat ]](); + } #/ } @@ -1246,15 +1476,17 @@ zombie_devgui_preserve_turbines() self endon("disconnect"); self notify("preserve_turbines"); self endon("preserve_turbines"); - self.preserving_turbines = 1; - for(;;) + if(!(is_true(self.preserving_turbines))) { - self.turbine_health = 1200; - wait(1); + self.preserving_turbines = 1; + while(1) + { + self.turbine_health = 1200; + wait(1); + } } + self.preserving_turbines = 0; -1 -is_true(self.preserving_turbines) #/ } @@ -1265,32 +1497,33 @@ zombie_devgui_equipment_stays_healthy() self endon("disconnect"); self notify("preserve_equipment"); self endon("preserve_equipment"); - self.preserving_equipment = 1; - for(;;) + if(!(is_true(self.preserving_equipment))) { - self.equipment_damage = []; - self.shielddamagetaken = 0; - _a1357 = level.destructible_equipment; - _k1357 = FirstArrayKey(_a1357); - for(;;) + self.preserving_equipment = 1; + while(1) { - equip = _a1357[_k1357]; - equip.shielddamagetaken = 0; - equip.damage = 0; - equip.headchopper_kills = 0; - equip.springpad_kills = 0; - equip.subwoofer_kills = 0; - _k1357 = NextArrayKey(_a1357); + self.equipment_damage = []; + self.shielddamagetaken = 0; + if(IsDefined(level.destructible_equipment)) + { + foreach(equip in level.destructible_equipment) + { + if(IsDefined(equip)) + { + equip.shielddamagetaken = 0; + equip.damage = 0; + equip.headchopper_kills = 0; + equip.springpad_kills = 0; + equip.subwoofer_kills = 0; + } + } + } + + wait(0.1); } - wait(0.1); } + self.preserving_equipment = 0; -_k1357 -IsDefined(equip) -IsDefined(_k1357) -IsDefined(level.destructible_equipment) -1 -is_true(self.preserving_equipment) #/ } @@ -1316,8 +1549,10 @@ zombie_devgui_equipment_give(equipment) assert(isalive(self)); #/ level.devcheater = 1; - self maps/mp/zombies/_zm_equipment::equipment_buy(equipment); -is_equipment_included(equipment) + if(is_equipment_included(equipment)) + { + self maps/mp/zombies/_zm_equipment::equipment_buy(equipment); + } #/ } @@ -1325,14 +1560,17 @@ is_equipment_included(equipment) zombie_devgui_buildable_drop() { /# - i = 0; - for(;;) + if(IsDefined(level.buildable_slot_count)) { - self maps/mp/zombies/_zm_buildables::player_drop_piece(undefined,i); - i++; + for(i = 0;i < level.buildable_slot_count;i++) + { + self maps/mp/zombies/_zm_buildables::player_drop_piece(undefined,i); + } + } + else + { + self maps/mp/zombies/_zm_buildables::player_drop_piece(); } - self maps/mp/zombies/_zm_buildables::player_drop_piece(); -Stack-Empty ? IsDefined(level.buildable_slot_count) : i < level.buildable_slot_count #/ } @@ -1341,14 +1579,19 @@ zombie_devgui_build(buildable) { /# player = get_players()[0]; - i = 0; - for(;;) + for(i = 0;i < level.buildable_stubs.size;i++) { - level.buildable_stubs[i] maps/mp/zombies/_zm_buildables::buildablestub_finish_build(player); - i++; + if(!IsDefined(buildable) || level.buildable_stubs[i].equipname == buildable) + { + if(!IsDefined(buildable) && is_true(level.buildable_stubs[i].ignore_open_sesame)) + { + } + else if(IsDefined(buildable) || level.buildable_stubs[i].persistent != 3) + { + level.buildable_stubs[i] maps/mp/zombies/_zm_buildables::buildablestub_finish_build(player); + } + } } -(!IsDefined(buildable) || level.buildable_stubs[i].equipname == buildable) ? !IsDefined(buildable) && is_true(level.buildable_stubs[i].ignore_open_sesame) : IsDefined(buildable) || level.buildable_stubs[i].persistent != 3 -i < level.buildable_stubs.size #/ } @@ -1369,15 +1612,17 @@ zombie_devgui_give_claymores() assert(isalive(self)); #/ level.devcheater = 1; - self takeweapon(self get_player_placeable_mine()); + if(IsDefined(self get_player_placeable_mine())) + { + self takeweapon(self get_player_placeable_mine()); + } + self thread maps/mp/zombies/_zm_weap_claymore::claymore_setup(); - for(;;) + while(1) { self givemaxammo("claymore_zm"); wait(1); } -1 -IsDefined(self get_player_placeable_mine()) #/ } @@ -1398,16 +1643,18 @@ zombie_devgui_give_lethal(weapon) assert(isalive(self)); #/ level.devcheater = 1; - self takeweapon(self get_player_lethal_grenade()); + if(IsDefined(self get_player_lethal_grenade())) + { + self takeweapon(self get_player_lethal_grenade()); + } + self giveweapon(weapon); self set_player_lethal_grenade(weapon); - for(;;) + while(1) { self givemaxammo(weapon); wait(1); } -1 -IsDefined(self get_player_lethal_grenade()) #/ } @@ -1444,16 +1691,20 @@ zombie_devgui_give_monkey() assert(isalive(self)); #/ level.devcheater = 1; - self takeweapon(self get_player_tactical_grenade()); - self [[ level.zombiemode_devgui_cymbal_monkey_give ]](); - for(;;) + if(IsDefined(self get_player_tactical_grenade())) { - self givemaxammo("cymbal_monkey_zm"); - wait(1); + self takeweapon(self get_player_tactical_grenade()); + } + + if(IsDefined(level.zombiemode_devgui_cymbal_monkey_give)) + { + self [[ level.zombiemode_devgui_cymbal_monkey_give ]](); + while(1) + { + self givemaxammo("cymbal_monkey_zm"); + wait(1); + } } -1 -IsDefined(level.zombiemode_devgui_cymbal_monkey_give) -IsDefined(self get_player_tactical_grenade()) #/ } @@ -1474,16 +1725,20 @@ zombie_devgui_give_beacon() assert(isalive(self)); #/ level.devcheater = 1; - self takeweapon(self get_player_tactical_grenade()); - self [[ level.zombiemode_devgui_beacon_give ]](); - for(;;) + if(IsDefined(self get_player_tactical_grenade())) { - self givemaxammo("beacon_zm"); - wait(1); + self takeweapon(self get_player_tactical_grenade()); + } + + if(IsDefined(level.zombiemode_devgui_beacon_give)) + { + self [[ level.zombiemode_devgui_beacon_give ]](); + while(1) + { + self givemaxammo("beacon_zm"); + wait(1); + } } -1 -IsDefined(level.zombiemode_devgui_beacon_give) -IsDefined(self get_player_tactical_grenade()) #/ } @@ -1504,10 +1759,15 @@ zombie_devgui_give_time_bomb() assert(isalive(self)); #/ level.devcheater = 1; - self takeweapon(self get_player_tactical_grenade()); - self [[ level.zombiemode_time_bomb_give_func ]](); -IsDefined(level.zombiemode_time_bomb_give_func) -IsDefined(self get_player_tactical_grenade()) + if(IsDefined(self get_player_tactical_grenade())) + { + self takeweapon(self get_player_tactical_grenade()); + } + + if(IsDefined(level.zombiemode_time_bomb_give_func)) + { + self [[ level.zombiemode_time_bomb_give_func ]](); + } #/ } @@ -1528,16 +1788,20 @@ zombie_devgui_give_black_hole_bomb() assert(isalive(self)); #/ level.devcheater = 1; - self takeweapon(self get_player_tactical_grenade()); - self [[ level.zombiemode_devgui_black_hole_bomb_give ]](); - for(;;) + if(IsDefined(self get_player_tactical_grenade())) { - self givemaxammo("zombie_black_hole_bomb"); - wait(1); + self takeweapon(self get_player_tactical_grenade()); + } + + if(IsDefined(level.zombiemode_devgui_black_hole_bomb_give)) + { + self [[ level.zombiemode_devgui_black_hole_bomb_give ]](); + while(1) + { + self givemaxammo("zombie_black_hole_bomb"); + wait(1); + } } -1 -IsDefined(level.zombiemode_devgui_black_hole_bomb_give) -IsDefined(self get_player_tactical_grenade()) #/ } @@ -1558,16 +1822,20 @@ zombie_devgui_give_dolls() assert(isalive(self)); #/ level.devcheater = 1; - self takeweapon(self get_player_tactical_grenade()); - self [[ level.zombiemode_devgui_nesting_dolls_give ]](); - for(;;) + if(IsDefined(self get_player_tactical_grenade())) { - self givemaxammo("zombie_nesting_dolls"); - wait(1); + self takeweapon(self get_player_tactical_grenade()); + } + + if(IsDefined(level.zombiemode_devgui_nesting_dolls_give)) + { + self [[ level.zombiemode_devgui_nesting_dolls_give ]](); + while(1) + { + self givemaxammo("zombie_nesting_dolls"); + wait(1); + } } -1 -IsDefined(level.zombiemode_devgui_nesting_dolls_give) -IsDefined(self get_player_tactical_grenade()) #/ } @@ -1588,16 +1856,20 @@ zombie_devgui_give_quantum_bomb() assert(isalive(self)); #/ level.devcheater = 1; - self takeweapon(self get_player_tactical_grenade()); - self [[ level.zombiemode_devgui_quantum_bomb_give ]](); - for(;;) + if(IsDefined(self get_player_tactical_grenade())) { - self givemaxammo("zombie_quantum_bomb"); - wait(1); + self takeweapon(self get_player_tactical_grenade()); + } + + if(IsDefined(level.zombiemode_devgui_quantum_bomb_give)) + { + self [[ level.zombiemode_devgui_quantum_bomb_give ]](); + while(1) + { + self givemaxammo("zombie_quantum_bomb"); + wait(1); + } } -1 -IsDefined(level.zombiemode_devgui_quantum_bomb_give) -IsDefined(self get_player_tactical_grenade()) #/ } @@ -1618,16 +1890,20 @@ zombie_devgui_give_emp_bomb() assert(isalive(self)); #/ level.devcheater = 1; - self takeweapon(self get_player_tactical_grenade()); - self [[ level.zombiemode_devgui_emp_bomb_give ]](); - for(;;) + if(IsDefined(self get_player_tactical_grenade())) { - self givemaxammo("emp_grenade_zm"); - wait(1); + self takeweapon(self get_player_tactical_grenade()); + } + + if(IsDefined(level.zombiemode_devgui_emp_bomb_give)) + { + self [[ level.zombiemode_devgui_emp_bomb_give ]](); + while(1) + { + self givemaxammo("emp_grenade_zm"); + wait(1); + } } -1 -IsDefined(level.zombiemode_devgui_emp_bomb_give) -IsDefined(self get_player_tactical_grenade()) #/ } @@ -1636,15 +1912,24 @@ zombie_devgui_invulnerable(playerindex,onoff) { /# players = get_players(); - i = 0; - for(;;) + if(!(IsDefined(playerindex))) { - zombie_devgui_invulnerable(i,onoff); - i++; + for(i = 0;i < players.size;i++) + { + zombie_devgui_invulnerable(i,onoff); + } + } + else if(players.size > playerindex) + { + if(onoff) + { + players[playerindex] enableinvulnerability(); + } + else + { + players[playerindex] disableinvulnerability(); + } } - players[playerindex] enableinvulnerability(); - players[playerindex] disableinvulnerability(); -Stack-Empty ? IsDefined(playerindex) : (i < players.size ? players.size > playerindex : onoff) #/ } @@ -1683,21 +1968,31 @@ zombie_devgui_toggle_ammo() self notify("devgui_toggle_ammo"); self endon("devgui_toggle_ammo"); self.ammo4evah = !is_true(self.ammo4evah); - for(;;) + while(IsDefined(self) && self.ammo4evah) { weapon = self getcurrentweapon(); - self setweaponoverheating(0,0); - max = weaponmaxammo(weapon); - self setweaponammostock(weapon,max); - self givemaxammo(self get_player_tactical_grenade()); - self givemaxammo(self get_player_lethal_grenade()); + if(weapon != "none") + { + self setweaponoverheating(0,0); + max = weaponmaxammo(weapon); + if(IsDefined(max)) + { + self setweaponammostock(weapon,max); + } + + if(IsDefined(self get_player_tactical_grenade())) + { + self givemaxammo(self get_player_tactical_grenade()); + } + + if(IsDefined(self get_player_lethal_grenade())) + { + self givemaxammo(self get_player_lethal_grenade()); + } + } + wait(1); } -IsDefined(self get_player_lethal_grenade()) -IsDefined(self get_player_tactical_grenade()) -IsDefined(max) -weapon != "none" -IsDefined(self) && self.ammo4evah #/ } @@ -1715,8 +2010,10 @@ zombie_devgui_toggle_ignore() assert(isalive(self)); #/ self.ignoreme = !self.ignoreme; - setdvar("ai_showFailedPaths",0); -self.ignoreme + if(self.ignoreme) + { + setdvar("ai_showFailedPaths",0); + } #/ } @@ -1735,12 +2032,16 @@ zombie_devgui_revive() #/ self reviveplayer(); self notify("stop_revive_trigger"); - self.revivetrigger delete(); - self.revivetrigger = undefined; + if(IsDefined(self.revivetrigger)) + { + self.revivetrigger delete(); + self.revivetrigger = undefined; + } + self allowjump(1); self.ignoreme = 0; self.laststand = undefined; - self notify("player_revived",self,IsDefined(self.revivetrigger)); + self notify("player_revived",self); #/ } @@ -1762,14 +2063,13 @@ zombie_devgui_give_health() self endon("disconnect"); self endon("death"); level.devcheater = 1; - for(;;) + while(1) { self.maxhealth = 100000; self.health = 100000; self waittill_any("player_revived","perk_used","spawned_player"); wait(2); } -1 #/ } @@ -1780,13 +2080,18 @@ zombie_devgui_give_perk(perk) vending_triggers = getentarray("zombie_vending","targetname"); player = get_players()[0]; level.devcheater = 1; - return; - i = 0; - for(;;) + if(vending_triggers.size < 1) { - vending_triggers[i] notify("trigger",player,vending_triggers[i].script_noteworthy == perk,i < vending_triggers.size,vending_triggers.size < 1); return; - i++; + } + + for(i = 0;i < vending_triggers.size;i++) + { + if(vending_triggers[i].script_noteworthy == perk) + { + vending_triggers[i] notify("trigger",player); + return; + } } #/ } @@ -1798,15 +2103,21 @@ zombie_devgui_give_powerup(powerup_name,now,origin) player = get_players()[0]; found = 0; level.devcheater = 1; - i = 0; - for(;;) + for(i = 0;i < level.zombie_powerup_array.size;i++) { - level.zombie_powerup_index = i; - found = 1; - break; - i++; + if(level.zombie_powerup_array[i] == powerup_name) + { + level.zombie_powerup_index = i; + found = 1; + break; + } } - return; + + if(!(found)) + { + return; + } + direction = player getplayerangles(); direction_vec = AnglesToForward(direction); eye = player geteye(); @@ -1816,11 +2127,14 @@ zombie_devgui_give_powerup(powerup_name,now,origin) level.zombie_devgui_power = 1; level.zombie_vars["zombie_drop_item"] = 1; level.powerup_drop_count = 0; - level thread maps/mp/zombies/_zm_powerups::powerup_drop(origin); - level thread maps/mp/zombies/_zm_powerups::powerup_drop(trace["position"]); -found ? IsDefined(origin) : !IsDefined(now) || now -level.zombie_powerup_array[i] == powerup_name -i < level.zombie_powerup_array.size + if(IsDefined(origin)) + { + level thread maps/mp/zombies/_zm_powerups::powerup_drop(origin); + } + else if(!IsDefined(now) || now) + { + level thread maps/mp/zombies/_zm_powerups::powerup_drop(trace["position"]); + } #/ } @@ -1829,21 +2143,31 @@ zombie_devgui_goto_round(target_round) { /# player = get_players()[0]; - target_round = 1; + if(target_round < 1) + { + target_round = 1; + } + level.devcheater = 1; level.zombie_total = 0; maps/mp/zombies/_zm::ai_calculate_health(target_round); level.round_number = target_round - 1; - level notify("kill_round",target_round < 1); + level notify("kill_round"); wait(1); zombies = get_round_enemy_array(); - i = 0; - for(;;) + if(IsDefined(zombies)) { - zombies[i] dodamage(zombies[i].health + 666,zombies[i].origin); - i++; + for(i = 0;i < zombies.size;i++) + { + if(is_true(zombies[i].ignore_devgui_death)) + { + } + else + { + zombies[i] dodamage(zombies[i].health + 666,zombies[i].origin); + } + } } -IsDefined(zombies) ? i < zombies.size : is_true(zombies[i].ignore_devgui_death) #/ } @@ -1851,8 +2175,10 @@ IsDefined(zombies) ? i < zombies.size : is_true(zombies[i].ignore_devgui_death) zombie_devgui_monkey_round() { /# - zombie_devgui_goto_round(level.next_monkey_round); -IsDefined(level.next_monkey_round) + if(IsDefined(level.next_monkey_round)) + { + zombie_devgui_goto_round(level.next_monkey_round); + } #/ } @@ -1860,8 +2186,10 @@ IsDefined(level.next_monkey_round) zombie_devgui_thief_round() { /# - zombie_devgui_goto_round(level.next_thief_round); -IsDefined(level.next_thief_round) + if(IsDefined(level.next_thief_round)) + { + zombie_devgui_goto_round(level.next_thief_round); + } #/ } @@ -1869,13 +2197,30 @@ IsDefined(level.next_thief_round) zombie_devgui_dog_round(num_dogs) { /# - return; - return; - return; - setdvar("force_dogs",num_dogs); + if(!IsDefined(level.dogs_enabled) || !level.dogs_enabled) + { + return; + } + + if(!IsDefined(level.dog_rounds_enabled) || !level.dog_rounds_enabled) + { + return; + } + + if(!IsDefined(level.enemy_dog_spawns) || level.enemy_dog_spawns.size < 1) + { + return; + } + + if(!(flag("dog_round"))) + { + setdvar("force_dogs",num_dogs); + } + else + { + } + zombie_devgui_goto_round(level.round_number + 1); -(!IsDefined(level.dog_rounds_enabled) || !level.dog_rounds_enabled) ? !IsDefined(level.enemy_dog_spawns) || level.enemy_dog_spawns.size < 1 : flag("dog_round") -!IsDefined(level.dogs_enabled) || !level.dogs_enabled #/ } @@ -1883,8 +2228,10 @@ zombie_devgui_dog_round(num_dogs) zombie_devgui_dog_round_skip() { /# - zombie_devgui_goto_round(level.next_dog_round); -IsDefined(level.next_dog_round) + if(IsDefined(level.next_dog_round)) + { + zombie_devgui_goto_round(level.next_dog_round); + } #/ } @@ -1892,20 +2239,28 @@ IsDefined(level.next_dog_round) zombie_devgui_dump_zombie_vars() { /# - return; - println("#### Zombie Variables ####"); - return; + if(!(IsDefined(level.zombie_vars))) + { + return; + } + + if(level.zombie_vars.size > 0) + { + println("#### Zombie Variables ####"); + } + else + { + return; + } + var_names = getarraykeys(level.zombie_vars); - i = 0; - for(;;) + for(i = 0;i < level.zombie_vars.size;i++) { key = var_names[i]; println(key + ": " + level.zombie_vars[key]); - i++; } + println("##### End Zombie Variables #####"); -i < level.zombie_vars.size -Stack-Empty ? IsDefined(level.zombie_vars) : level.zombie_vars.size > 0 #/ } @@ -1916,20 +2271,21 @@ zombie_devgui_pack_current_weapon() players = get_players(); reviver = players[0]; level.devcheater = 1; - i = 0; - for(;;) + for(i = 0;i < players.size;i++) { - weap = maps/mp/zombies/_zm_weapons::get_base_name(players[i] getcurrentweapon()); - weapon = get_upgrade(weap); - players[i] takeweapon(weap); - players[i] giveweapon(weapon,0,players[i] maps/mp/zombies/_zm_weapons::get_pack_a_punch_weapon_options(weapon)); - players[i] givestartammo(weapon); - players[i] switchtoweapon(weapon); - i++; + if(!(players[i] maps/mp/zombies/_zm_laststand::player_is_in_laststand())) + { + weap = maps/mp/zombies/_zm_weapons::get_base_name(players[i] getcurrentweapon()); + weapon = get_upgrade(weap); + if(IsDefined(weapon)) + { + players[i] takeweapon(weap); + players[i] giveweapon(weapon,0,players[i] maps/mp/zombies/_zm_weapons::get_pack_a_punch_weapon_options(weapon)); + players[i] givestartammo(weapon); + players[i] switchtoweapon(weapon); + } + } } -IsDefined(weapon) -players[i] maps/mp/zombies/_zm_laststand::player_is_in_laststand() -i < players.size #/ } @@ -1940,20 +2296,21 @@ zombie_devgui_unpack_current_weapon() players = get_players(); reviver = players[0]; level.devcheater = 1; - i = 0; - for(;;) + for(i = 0;i < players.size;i++) { - weap = players[i] getcurrentweapon(); - weapon = maps/mp/zombies/_zm_weapons::get_base_weapon_name(weap,1); - players[i] takeweapon(weap); - players[i] giveweapon(weapon,0,players[i] maps/mp/zombies/_zm_weapons::get_pack_a_punch_weapon_options(weapon)); - players[i] givestartammo(weapon); - players[i] switchtoweapon(weapon); - i++; + if(!(players[i] maps/mp/zombies/_zm_laststand::player_is_in_laststand())) + { + weap = players[i] getcurrentweapon(); + weapon = maps/mp/zombies/_zm_weapons::get_base_weapon_name(weap,1); + if(IsDefined(weapon)) + { + players[i] takeweapon(weap); + players[i] giveweapon(weapon,0,players[i] maps/mp/zombies/_zm_weapons::get_pack_a_punch_weapon_options(weapon)); + players[i] givestartammo(weapon); + players[i] switchtoweapon(weapon); + } + } } -IsDefined(weapon) -players[i] maps/mp/zombies/_zm_laststand::player_is_in_laststand() -i < players.size #/ } @@ -1964,22 +2321,26 @@ zombie_devgui_reopt_current_weapon() players = get_players(); reviver = players[0]; level.devcheater = 1; - i = 0; - for(;;) + for(i = 0;i < players.size;i++) { - weap = players[i] getcurrentweapon(); - weapon = weap; - players[i].pack_a_punch_weapon_options[weapon] = undefined; - players[i] takeweapon(weap); - players[i] giveweapon(weapon,0,players[i] maps/mp/zombies/_zm_weapons::get_pack_a_punch_weapon_options(weapon)); - players[i] givestartammo(weapon); - players[i] switchtoweapon(weapon); - i++; + if(!(players[i] maps/mp/zombies/_zm_laststand::player_is_in_laststand())) + { + weap = players[i] getcurrentweapon(); + weapon = weap; + if(IsDefined(weapon)) + { + if(IsDefined(players[i].pack_a_punch_weapon_options)) + { + players[i].pack_a_punch_weapon_options[weapon] = undefined; + } + + players[i] takeweapon(weap); + players[i] giveweapon(weapon,0,players[i] maps/mp/zombies/_zm_weapons::get_pack_a_punch_weapon_options(weapon)); + players[i] givestartammo(weapon); + players[i] switchtoweapon(weapon); + } + } } -IsDefined(players[i].pack_a_punch_weapon_options) -IsDefined(weapon) -players[i] maps/mp/zombies/_zm_laststand::player_is_in_laststand() -i < players.size #/ } @@ -1990,18 +2351,19 @@ zombie_devgui_take_weapon() players = get_players(); reviver = players[0]; level.devcheater = 1; - i = 0; - for(;;) + for(i = 0;i < players.size;i++) { - weap = players[i] getcurrentweapon(); - weapon = weap; - players[i] takeweapon(weap); - players[i] switch_back_primary_weapon(undefined); - i++; + if(!(players[i] maps/mp/zombies/_zm_laststand::player_is_in_laststand())) + { + weap = players[i] getcurrentweapon(); + weapon = weap; + if(IsDefined(weapon)) + { + players[i] takeweapon(weap); + players[i] switch_back_primary_weapon(undefined); + } + } } -IsDefined(weapon) -players[i] maps/mp/zombies/_zm_laststand::player_is_in_laststand() -i < players.size #/ } @@ -2012,16 +2374,17 @@ zombie_devgui_take_weapons(give_fallback) players = get_players(); reviver = players[0]; level.devcheater = 1; - i = 0; - for(;;) + for(i = 0;i < players.size;i++) { - players[i] takeallweapons(); - players[i] give_fallback_weapon(); - i++; + if(!(players[i] maps/mp/zombies/_zm_laststand::player_is_in_laststand())) + { + players[i] takeallweapons(); + if(give_fallback) + { + players[i] give_fallback_weapon(); + } + } } -give_fallback -players[i] maps/mp/zombies/_zm_laststand::player_is_in_laststand() -i < players.size #/ } @@ -2029,9 +2392,14 @@ i < players.size get_upgrade(weaponname) { /# - return maps/mp/zombies/_zm_weapons::get_upgrade_weapon(weaponname,0); - return maps/mp/zombies/_zm_weapons::get_upgrade_weapon(weaponname,1); -Stack-Empty ? Stack-Empty : IsDefined(level.zombie_weapons[weaponname]) && IsDefined(level.zombie_weapons[weaponname].upgrade_name) + if(IsDefined(level.zombie_weapons[weaponname]) && IsDefined(level.zombie_weapons[weaponname].upgrade_name)) + { + return maps/mp/zombies/_zm_weapons::get_upgrade_weapon(weaponname,0); + } + else + { + return maps/mp/zombies/_zm_weapons::get_upgrade_weapon(weaponname,1); + } #/ } @@ -2039,8 +2407,10 @@ Stack-Empty ? Stack-Empty : IsDefined(level.zombie_weapons[weaponname]) && IsDef zombie_devgui_director_easy() { /# - [[ level.director_devgui_health ]](); -IsDefined(level.director_devgui_health) + if(IsDefined(level.director_devgui_health)) + { + [[ level.director_devgui_health ]](); + } #/ } @@ -2062,9 +2432,14 @@ zombie_devgui_chest_never_move() zombie_devgui_disable_kill_thread_toggle() { /# - level.disable_kill_thread = 1; - level.disable_kill_thread = 0; -Stack-Empty ? Stack-Empty : is_true(level.disable_kill_thread) + if(!(is_true(level.disable_kill_thread))) + { + level.disable_kill_thread = 1; + } + else + { + level.disable_kill_thread = 0; + } #/ } @@ -2072,9 +2447,14 @@ Stack-Empty ? Stack-Empty : is_true(level.disable_kill_thread) zombie_devgui_check_kill_thread_every_frame_toggle() { /# - level.check_kill_thread_every_frame = 1; - level.check_kill_thread_every_frame = 0; -Stack-Empty ? Stack-Empty : is_true(level.check_kill_thread_every_frame) + if(!(is_true(level.check_kill_thread_every_frame))) + { + level.check_kill_thread_every_frame = 1; + } + else + { + level.check_kill_thread_every_frame = 0; + } #/ } @@ -2082,9 +2462,14 @@ Stack-Empty ? Stack-Empty : is_true(level.check_kill_thread_every_frame) zombie_devgui_kill_thread_test_mode_toggle() { /# - level.kill_thread_test_mode = 1; - level.kill_thread_test_mode = 0; -Stack-Empty ? Stack-Empty : is_true(level.kill_thread_test_mode) + if(!(is_true(level.kill_thread_test_mode))) + { + level.kill_thread_test_mode = 1; + } + else + { + level.kill_thread_test_mode = 0; + } #/ } @@ -2092,8 +2477,16 @@ Stack-Empty ? Stack-Empty : is_true(level.kill_thread_test_mode) showonespawnpoint(spawn_point,color,notification,height,print) { /# - height = get_player_height(); - print = spawn_point.classname; + if(!IsDefined(height) || height <= 0) + { + height = get_player_height(); + } + + if(!(IsDefined(print))) + { + print = spawn_point.classname; + } + center = spawn_point.origin; forward = AnglesToForward(spawn_point.angles); right = AnglesToRight(spawn_point.angles); @@ -2133,13 +2526,6 @@ showonespawnpoint(spawn_point,color,notification,height,print) thread lineuntilnotified(a,b,color,0,notification); thread lineuntilnotified(a,c,color,0,notification); thread print3duntilnotified(spawn_point.origin + (0,0,height),print,color,1,1,notification); -8 -24 -32 -16 -16 -IsDefined(print) -!IsDefined(height) || height <= 0 #/ } @@ -2173,39 +2559,70 @@ lineuntilnotified(start,end,color,depthtest,notification) devgui_debug_hud() { /# - self givemaxammo(self get_player_lethal_grenade()); + if(IsDefined(self get_player_lethal_grenade())) + { + self givemaxammo(self get_player_lethal_grenade()); + } + self thread maps/mp/zombies/_zm_weap_claymore::claymore_setup(); - self takeweapon(self get_player_tactical_grenade()); - self [[ level.zombiemode_time_bomb_give_func ]](); - self takeweapon(self get_player_tactical_grenade()); - self [[ level.zombiemode_devgui_cymbal_monkey_give ]](); - self givemaxammo(self get_player_tactical_grenade()); - equipment = getarraykeys(level.zombie_include_equipment); - self zombie_devgui_equipment_give(equipment[0]); + if(IsDefined(level.zombiemode_time_bomb_give_func)) + { + if(IsDefined(self get_player_tactical_grenade())) + { + self takeweapon(self get_player_tactical_grenade()); + } + + self [[ level.zombiemode_time_bomb_give_func ]](); + } + else if(IsDefined(level.zombiemode_devgui_cymbal_monkey_give)) + { + if(IsDefined(self get_player_tactical_grenade())) + { + self takeweapon(self get_player_tactical_grenade()); + } + + self [[ level.zombiemode_devgui_cymbal_monkey_give ]](); + } + else if(IsDefined(self get_player_tactical_grenade())) + { + self givemaxammo(self get_player_tactical_grenade()); + } + + if(IsDefined(level.zombie_include_equipment) && !IsDefined(self get_player_equipment())) + { + equipment = getarraykeys(level.zombie_include_equipment); + if(IsDefined(equipment[0])) + { + self zombie_devgui_equipment_give(equipment[0]); + } + } + candidate_list = []; - _a2327 = level.zones; - _k2327 = FirstArrayKey(_a2327); - for(;;) + foreach(zone in level.zones) { - zone = _a2327[_k2327]; - candidate_list = arraycombine(candidate_list,zone.unitrigger_stubs,1,0); - _k2327 = NextArrayKey(_a2327); + if(IsDefined(zone.unitrigger_stubs)) + { + candidate_list = arraycombine(candidate_list,zone.unitrigger_stubs,1,0); + } } - _a2335 = candidate_list; - _k2335 = FirstArrayKey(_a2335); - for(;;) + + foreach(stub in candidate_list) { - stub = _a2335[_k2335]; - self thread maps/mp/zombies/_zm_buildables::player_take_piece(stub.piece); - _k2335 = NextArrayKey(_a2335); + if(IsDefined(stub.piece) && IsDefined(stub.piece.buildable_slot)) + { + if(!(IsDefined(self player_get_buildable_piece(stub.piece.buildable_slot)))) + { + self thread maps/mp/zombies/_zm_buildables::player_take_piece(stub.piece); + } + } } - i = 0; - for(;;) + + for(i = 0;i < 10;i++) { zombie_devgui_give_powerup("free_perk",1,self.origin); wait(0.25); - i++; } + zombie_devgui_give_powerup("insta_kill",1,self.origin); wait(0.25); zombie_devgui_give_powerup("double_points",1,self.origin); @@ -2217,17 +2634,5 @@ devgui_debug_hud() zombie_devgui_give_powerup("bonfire_sale",1,self.origin); wait(0.25); self weapon_give("tar21_upgraded_zm+gl"); -i < 10 -_k2335 -IsDefined(self player_get_buildable_piece(stub.piece.buildable_slot)) -IsDefined(stub.piece) && IsDefined(stub.piece.buildable_slot) -IsDefined(_k2335) -_k2327 -IsDefined(zone.unitrigger_stubs) -IsDefined(_k2327) -IsDefined(equipment[0]) -IsDefined(level.zombie_include_equipment) && !IsDefined(self get_player_equipment()) -(IsDefined(level.zombiemode_time_bomb_give_func)) ? IsDefined(self get_player_tactical_grenade()) : ((IsDefined(level.zombiemode_devgui_cymbal_monkey_give)) ? IsDefined(self get_player_tactical_grenade()) : IsDefined(self get_player_tactical_grenade())) -IsDefined(self get_player_lethal_grenade()) #/ } \ No newline at end of file diff --git a/BO2/PC/ZM/maps/mp/zombies/_zm_equip_gasmask.gsc b/BO2/PC/ZM/maps/mp/zombies/_zm_equip_gasmask.gsc index 931fa5b..92c77b6 100644 --- a/BO2/PC/ZM/maps/mp/zombies/_zm_equip_gasmask.gsc +++ b/BO2/PC/ZM/maps/mp/zombies/_zm_equip_gasmask.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 8 - * Decompile Time: 27 ms - * Timestamp: 10/27/2023 3:03:04 AM + * Decompile Time: 4 ms + * Timestamp: 10/28/2023 12:11:45 AM *******************************************************************/ #include common_scripts/utility; @@ -215,11 +215,16 @@ gasmask_active() gasmask_debug_print(msg,color) { /# - return; - color = (1,1,1); + if(!(GetDvarInt(#"4D1BCA99"))) + { + return; + } + + if(!(IsDefined(color))) + { + color = (1,1,1); + } + print3d(60 + VectorScale((0,0,1)),self.origin,msg,color,1,1); -40 -IsDefined(color) -GetDvarInt(#"4D1BCA99") #/ } \ No newline at end of file diff --git a/BO2/PC/ZM/maps/mp/zombies/_zm_equip_hacker.gsc b/BO2/PC/ZM/maps/mp/zombies/_zm_equip_hacker.gsc index 467a55f..d60df80 100644 --- a/BO2/PC/ZM/maps/mp/zombies/_zm_equip_hacker.gsc +++ b/BO2/PC/ZM/maps/mp/zombies/_zm_equip_hacker.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 31 - * Decompile Time: 59 ms - * Timestamp: 10/27/2023 3:03:05 AM + * Decompile Time: 11 ms + * Timestamp: 10/28/2023 12:11:45 AM *******************************************************************/ #include common_scripts/utility; @@ -100,16 +100,14 @@ hacker_debug() /# print3d(hackable.origin,"+",VectorScale((0,0,1)),255,1); -1 #/ } else { /# print3d(hackable.origin,"+",VectorScale((1,0,0)),255,1); -1 -#/ } +#/ } wait(0.1); @@ -940,11 +938,16 @@ hide_hint_when_hackers_active(custom_logic_func,custom_logic_func_param) hacker_debug_print(msg,color) { /# - return; - color = (1,1,1); + if(!(GetDvarInt(#"428DE100"))) + { + return; + } + + if(!(IsDefined(color))) + { + color = (1,1,1); + } + print3d(60 + VectorScale((0,0,1)),self.origin,msg,color,1,1); -40 -IsDefined(color) -GetDvarInt(#"428DE100") #/ } \ No newline at end of file diff --git a/BO2/PC/ZM/maps/mp/zombies/_zm_equip_turbine.gsc b/BO2/PC/ZM/maps/mp/zombies/_zm_equip_turbine.gsc index 2c5cdbb..878600f 100644 --- a/BO2/PC/ZM/maps/mp/zombies/_zm_equip_turbine.gsc +++ b/BO2/PC/ZM/maps/mp/zombies/_zm_equip_turbine.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 30 - * Decompile Time: 73 ms - * Timestamp: 10/27/2023 3:03:05 AM + * Decompile Time: 6 ms + * Timestamp: 10/28/2023 12:11:45 AM *******************************************************************/ #include common_scripts/utility; @@ -798,26 +798,54 @@ debugturbine(radius) self endon("disconnect"); self endon("equip_turbine_zm_taken"); self.buildableturbine endon("death"); - for(;;) + while(IsDefined(self.buildableturbine)) { - color = (0,1,0); - text = ""; - text = "" + self.turbine_health + ""; - text = "dying"; - color = (0,0,0); - color = (0,0,1); - emp_time = level.zombie_vars["emp_perk_off_time"]; - now = GetTime(); - emp_time_left = int(emp_time - now - self.turbine_emp_time / 1000); - text = text + " emp(" + emp_time_left + ")"; - text = text + " warmup"; - color = (1,0,0); - color = (1,0.7,0); - color = (1,1,0); - print3d(60 + VectorScale((0,0,1)),self.buildableturbine.origin,text,color,1,0.5); + if(GetDvarInt(#"EB512CB7")) + { + color = (0,1,0); + text = ""; + if(IsDefined(self.turbine_health)) + { + text = "" + self.turbine_health + ""; + } + + if(IsDefined(self.buildableturbine.dying) && self.buildableturbine.dying) + { + text = "dying"; + color = (0,0,0); + } + else if(IsDefined(self.turbine_emped) && self.turbine_emped) + { + color = (0,0,1); + emp_time = level.zombie_vars["emp_perk_off_time"]; + now = GetTime(); + emp_time_left = int(emp_time - now - self.turbine_emp_time / 1000); + text = text + " emp(" + emp_time_left + ")"; + } + else if(IsDefined(self.turbine_is_powering_on) && self.turbine_is_powering_on) + { + text = text + " warmup"; + } + else if(IsDefined(self.turbine_power_is_on) && self.turbine_power_is_on) + { + if(self.turbine_health < 200) + { + color = (1,0,0); + } + else if(self.turbine_health < 600) + { + color = (1,0.7,0); + } + else + { + color = (1,1,0); + } + } + + print3d(60 + VectorScale((0,0,1)),self.buildableturbine.origin,text,color,1,0.5); + } + wait(0.05); } -1 -Stack-Empty ? Stack-Empty : ((IsDefined(self.buildableturbine)) ? GetDvarInt(#"EB512CB7") : ((IsDefined(self.turbine_health)) ? IsDefined(self.buildableturbine.dying) && self.buildableturbine.dying : ((IsDefined(self.turbine_emped) && self.turbine_emped) ? IsDefined(self.turbine_is_powering_on) && self.turbine_is_powering_on : ((IsDefined(self.turbine_power_is_on) && self.turbine_power_is_on) ? self.turbine_health < 200 : self.turbine_health < 600)))) #/ } \ No newline at end of file diff --git a/BO2/PC/ZM/maps/mp/zombies/_zm_equipment.gsc b/BO2/PC/ZM/maps/mp/zombies/_zm_equipment.gsc index 0c17b84..4f01c1f 100644 --- a/BO2/PC/ZM/maps/mp/zombies/_zm_equipment.gsc +++ b/BO2/PC/ZM/maps/mp/zombies/_zm_equipment.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 75 - * Decompile Time: 314 ms - * Timestamp: 10/27/2023 3:03:07 AM + * Decompile Time: 27 ms + * Timestamp: 10/28/2023 12:11:45 AM *******************************************************************/ #include common_scripts/utility; @@ -601,13 +601,15 @@ equipment_onspawnretrievableweaponobject(watcher,player) equipment = watcher.name + "_zm"; /# + if(!IsDefined(player.current_equipment) || player.current_equipment != equipment) + { /# - assert(player has_deployed_equipment(equipment)); + assert(player has_deployed_equipment(equipment)); #/ /# - assert(!IsDefined(player.current_equipment)); + assert(!IsDefined(player.current_equipment)); + } #/ -!IsDefined(player.current_equipment) || player.current_equipment != equipment #/ if(IsDefined(player.current_equipment) && player.current_equipment == equipment) { @@ -738,13 +740,15 @@ equipment_retrieve(player) equipment_drop_to_planted(equipment,player) { /# + if(!IsDefined(player.current_equipment) || player.current_equipment != equipment) + { /# - assert(player has_deployed_equipment(equipment)); + assert(player has_deployed_equipment(equipment)); #/ /# - assert(!IsDefined(player.current_equipment)); + assert(!IsDefined(player.current_equipment)); + } #/ -!IsDefined(player.current_equipment) || player.current_equipment != equipment #/ if(IsDefined(player.current_equipment) && player.current_equipment == equipment) { @@ -865,7 +869,7 @@ equipment_drop(equipment) } /# - println("ZM EQUIPMENT: " + self.name + " dropped " + equipment + "\n"); + println("ZM EQUIPMENT: " + self.name + " dropped " + equipment + "\n"); #/ } else @@ -1690,15 +1694,33 @@ get_item_health() { /# damage = 0; - damagemax = level.zombie_vars["riotshield_hit_points"]; - damage = self.owner.shielddamagetaken; - damage = self.shielddamagetaken; - damagemax = 1500; - damage = self.owner player_get_equipment_damage(self.equipname); - damagemax = 1500; - damage = self.damage; + if(IsDefined(self.isriotshield) && self.isriotshield) + { + damagemax = level.zombie_vars["riotshield_hit_points"]; + if(IsDefined(self.owner)) + { + damage = self.owner.shielddamagetaken; + } + else if(IsDefined(level.deployed_riotshield_damage_callback)) + { + damage = self.shielddamagetaken; + } + } + else if(IsDefined(self.owner)) + { + damagemax = 1500; + damage = self.owner player_get_equipment_damage(self.equipname); + } + else + { + damagemax = 1500; + if(IsDefined(self.damage)) + { + damage = self.damage; + } + } + return damagemax - damage / damagemax; -Stack-Empty ? Stack-Empty : (((IsDefined(self.isriotshield) && self.isriotshield) ? IsDefined(self.owner) : IsDefined(level.deployed_riotshield_damage_callback)) ? IsDefined(self.owner) : IsDefined(self.damage)) #/ } @@ -1708,16 +1730,18 @@ debughealth() /# self endon("death"); self endon("stop_attracting_zombies"); - for(;;) + while(1) { - health = self get_item_health(); - color = (1 - health,health,0); - text = "" + health * 100 + ""; - print3d(self.origin,text,color,1,0.5,1); + if(GetDvarInt(#"EB512CB7")) + { + health = self get_item_health(); + color = (1 - health,health,0); + text = "" + health * 100 + ""; + print3d(self.origin,text,color,1,0.5,1); + } + wait(0.05); } -GetDvarInt(#"EB512CB7") -1 #/ } diff --git a/BO2/PC/ZM/maps/mp/zombies/_zm_ffotd.gsc b/BO2/PC/ZM/maps/mp/zombies/_zm_ffotd.gsc index 1d072cd..77e470a 100644 --- a/BO2/PC/ZM/maps/mp/zombies/_zm_ffotd.gsc +++ b/BO2/PC/ZM/maps/mp/zombies/_zm_ffotd.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 10 - * Decompile Time: 42 ms - * Timestamp: 10/27/2023 3:03:07 AM + * Decompile Time: 2 ms + * Timestamp: 10/28/2023 12:11:46 AM *******************************************************************/ #include common_scripts/utility; @@ -164,13 +164,16 @@ path_exploit_fix(zombie_trigger_origin,zombie_trigger_radius,zombie_trigger_heig zombie_trigger setteamfortrigger(level.zombie_team); /# thread debug_exploit(zombie_trigger_origin,zombie_trigger_radius,player_trigger_origin,player_trigger_radius,zombie_goto_point); -#/ - while(1) - { - zombie_trigger waittill("trigger",who); - if(!(is_true(who.reroute))) + for(;;) { - who thread exploit_reroute(zombie_trigger,player_trigger_origin,player_trigger_radius,zombie_goto_point); +#/ + if(1) + { + zombie_trigger waittill("trigger",who); + if(!(is_true(who.reroute))) + { + who thread exploit_reroute(zombie_trigger,player_trigger_origin,player_trigger_radius,zombie_goto_point); + } } } } @@ -208,7 +211,7 @@ exploit_reroute(zombie_trigger,player_trigger_origin,player_trigger_radius,zombi debug_exploit(player_origin,player_radius,enemy_origin,enemy_radius,zombie_goto_point) { /# - for(;;) + while(IsDefined(self)) { circle(player_origin,player_radius,(0,0,1),0,1,1); circle(enemy_origin,enemy_radius,(1,0,0),0,1,1); @@ -216,7 +219,6 @@ debug_exploit(player_origin,player_radius,enemy_origin,enemy_radius,zombie_goto_ line(enemy_origin,zombie_goto_point,(1,1,0),1); wait(0.05); } -IsDefined(self) #/ } diff --git a/BO2/PC/ZM/maps/mp/zombies/_zm_game_module.gsc b/BO2/PC/ZM/maps/mp/zombies/_zm_game_module.gsc index 5a67297..a22eca5 100644 --- a/BO2/PC/ZM/maps/mp/zombies/_zm_game_module.gsc +++ b/BO2/PC/ZM/maps/mp/zombies/_zm_game_module.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 21 - * Decompile Time: 72 ms - * Timestamp: 10/27/2023 3:03:07 AM + * Decompile Time: 7 ms + * Timestamp: 10/28/2023 12:11:46 AM *******************************************************************/ #include common_scripts/utility; @@ -32,9 +32,9 @@ register_game_module(index,module_name,pre_init_func,post_init_func,pre_init_zom else if(IsDefined(level._game_modules[i].index) && level._game_modules[i].index == index) { /# - assert(level._game_modules[i].index != index,"A Game module is already registered for index (" + index + ")"); -#/ + assert(level._game_modules[i].index != index,"A Game module is already registered for index (" + index + ")"); } +#/ } level._game_modules[level._num_registered_game_modules] = spawnstruct(); diff --git a/BO2/PC/ZM/maps/mp/zombies/_zm_gump.gsc b/BO2/PC/ZM/maps/mp/zombies/_zm_gump.gsc index 5dcd2f4..a071273 100644 --- a/BO2/PC/ZM/maps/mp/zombies/_zm_gump.gsc +++ b/BO2/PC/ZM/maps/mp/zombies/_zm_gump.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 5 - * Decompile Time: 10 ms - * Timestamp: 10/27/2023 3:03:08 AM + * Decompile Time: 1 ms + * Timestamp: 10/28/2023 12:11:46 AM *******************************************************************/ #include common_scripts/utility; @@ -79,13 +79,21 @@ gump_test() pos3 = (7918,-6506,177); pos2 = (1986,-73,4); players = get_players(); - players[0] setorigin(pos1); + if(IsDefined(players[0])) + { + players[0] setorigin(pos1); + } + wait(0.05); - players[1] setorigin(pos2); + if(IsDefined(players[1])) + { + players[1] setorigin(pos2); + } + wait(0.05); - players[2] setorigin(pos3); -IsDefined(players[2]) -IsDefined(players[1]) -IsDefined(players[0]) + if(IsDefined(players[2])) + { + players[2] setorigin(pos3); + } #/ } \ No newline at end of file diff --git a/BO2/PC/ZM/maps/mp/zombies/_zm_hackables_boards.gsc b/BO2/PC/ZM/maps/mp/zombies/_zm_hackables_boards.gsc index 1f6584c..748b9ef 100644 --- a/BO2/PC/ZM/maps/mp/zombies/_zm_hackables_boards.gsc +++ b/BO2/PC/ZM/maps/mp/zombies/_zm_hackables_boards.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 3 - * Decompile Time: 36 ms - * Timestamp: 10/27/2023 3:03:08 AM + * Decompile Time: 1 ms + * Timestamp: 10/28/2023 12:11:47 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/PC/ZM/maps/mp/zombies/_zm_hackables_box.gsc b/BO2/PC/ZM/maps/mp/zombies/_zm_hackables_box.gsc index 705b30d..3472463 100644 --- a/BO2/PC/ZM/maps/mp/zombies/_zm_hackables_box.gsc +++ b/BO2/PC/ZM/maps/mp/zombies/_zm_hackables_box.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 19 - * Decompile Time: 49 ms - * Timestamp: 10/27/2023 3:03:09 AM + * Decompile Time: 10 ms + * Timestamp: 10/28/2023 12:11:47 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/PC/ZM/maps/mp/zombies/_zm_hackables_doors.gsc b/BO2/PC/ZM/maps/mp/zombies/_zm_hackables_doors.gsc index 8bf633e..fe8fe5b 100644 --- a/BO2/PC/ZM/maps/mp/zombies/_zm_hackables_doors.gsc +++ b/BO2/PC/ZM/maps/mp/zombies/_zm_hackables_doors.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 6 - * Decompile Time: 11 ms - * Timestamp: 10/27/2023 3:03:09 AM + * Decompile Time: 2 ms + * Timestamp: 10/28/2023 12:11:47 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/PC/ZM/maps/mp/zombies/_zm_hackables_packapunch.gsc b/BO2/PC/ZM/maps/mp/zombies/_zm_hackables_packapunch.gsc index ebc3731..8332ab7 100644 --- a/BO2/PC/ZM/maps/mp/zombies/_zm_hackables_packapunch.gsc +++ b/BO2/PC/ZM/maps/mp/zombies/_zm_hackables_packapunch.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 3 - * Decompile Time: 9 ms - * Timestamp: 10/27/2023 3:03:09 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:11:48 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/PC/ZM/maps/mp/zombies/_zm_hackables_perks.gsc b/BO2/PC/ZM/maps/mp/zombies/_zm_hackables_perks.gsc index 893d7cc..ba184d6 100644 --- a/BO2/PC/ZM/maps/mp/zombies/_zm_hackables_perks.gsc +++ b/BO2/PC/ZM/maps/mp/zombies/_zm_hackables_perks.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 4 - * Decompile Time: 12 ms - * Timestamp: 10/27/2023 3:03:10 AM + * Decompile Time: 2 ms + * Timestamp: 10/28/2023 12:11:48 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/PC/ZM/maps/mp/zombies/_zm_hackables_powerups.gsc b/BO2/PC/ZM/maps/mp/zombies/_zm_hackables_powerups.gsc index d580608..f2aa42e 100644 --- a/BO2/PC/ZM/maps/mp/zombies/_zm_hackables_powerups.gsc +++ b/BO2/PC/ZM/maps/mp/zombies/_zm_hackables_powerups.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 4 - * Decompile Time: 15 ms - * Timestamp: 10/27/2023 3:03:10 AM + * Decompile Time: 1 ms + * Timestamp: 10/28/2023 12:11:49 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/PC/ZM/maps/mp/zombies/_zm_hackables_wallbuys.gsc b/BO2/PC/ZM/maps/mp/zombies/_zm_hackables_wallbuys.gsc index dc86a44..9552b32 100644 --- a/BO2/PC/ZM/maps/mp/zombies/_zm_hackables_wallbuys.gsc +++ b/BO2/PC/ZM/maps/mp/zombies/_zm_hackables_wallbuys.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 2 - * Decompile Time: 45 ms - * Timestamp: 10/27/2023 3:03:11 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:11:49 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/PC/ZM/maps/mp/zombies/_zm_jump_pad.gsc b/BO2/PC/ZM/maps/mp/zombies/_zm_jump_pad.gsc index 39ed6f8..aab1f67 100644 --- a/BO2/PC/ZM/maps/mp/zombies/_zm_jump_pad.gsc +++ b/BO2/PC/ZM/maps/mp/zombies/_zm_jump_pad.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 13 - * Decompile Time: 64 ms - * Timestamp: 10/27/2023 3:03:11 AM + * Decompile Time: 8 ms + * Timestamp: 10/28/2023 12:11:49 AM *******************************************************************/ #include common_scripts/utility; @@ -172,11 +172,18 @@ jump_pad_start(ent_player,endon_condition) z_dist = z_dist * 2.5; forward_scaling = 1.1; /# - z_dist = z_dist * GetDvarFloat(#"E2494021"); - forward_scaling = GetDvarFloat(#"4E3BC729"); -GetDvar(#"4E3BC729") != "" -GetDvar(#"E2494021") != "" -GetDvarInt(#"D5FD01C3") + if(GetDvarInt(#"D5FD01C3")) + { + if(GetDvar(#"E2494021") != "") + { + z_dist = z_dist * GetDvarFloat(#"E2494021"); + } + + if(GetDvar(#"4E3BC729") != "") + { + forward_scaling = GetDvarFloat(#"4E3BC729"); + } + } #/ } else if(z_dist >= 135) @@ -184,11 +191,18 @@ GetDvarInt(#"D5FD01C3") z_dist = z_dist * 2.7; forward_scaling = 1.3; /# - z_dist = z_dist * GetDvarFloat(#"E2494021"); - forward_scaling = GetDvarFloat(#"4E3BC729"); -GetDvar(#"4E3BC729") != "" -GetDvar(#"E2494021") != "" -GetDvarInt(#"D5FD01C3") + if(GetDvarInt(#"D5FD01C3")) + { + if(GetDvar(#"E2494021") != "") + { + z_dist = z_dist * GetDvarFloat(#"E2494021"); + } + + if(GetDvar(#"4E3BC729") != "") + { + forward_scaling = GetDvarFloat(#"4E3BC729"); + } + } #/ } else if(z_dist < 0) @@ -196,14 +210,20 @@ GetDvarInt(#"D5FD01C3") z_dist = z_dist * 2.4; forward_scaling = 1; /# + if(GetDvarInt(#"D5FD01C3")) + { + if(GetDvar(#"E2494021") != "") + { z_dist = z_dist * GetDvarFloat(#"E2494021"); - forward_scaling = GetDvarFloat(#"4E3BC729"); -GetDvar(#"4E3BC729") != "" -GetDvar(#"E2494021") != "" -GetDvarInt(#"D5FD01C3") -#/ - } + } + if(GetDvar(#"4E3BC729") != "") + { + forward_scaling = GetDvarFloat(#"4E3BC729"); + } + } + } +#/ z_velocity = 2 * z_dist * world_gravity; if(z_velocity < 0) { diff --git a/BO2/PC/ZM/maps/mp/zombies/_zm_laststand.gsc b/BO2/PC/ZM/maps/mp/zombies/_zm_laststand.gsc index 91412e2..5d1a3c6 100644 --- a/BO2/PC/ZM/maps/mp/zombies/_zm_laststand.gsc +++ b/BO2/PC/ZM/maps/mp/zombies/_zm_laststand.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 56 - * Decompile Time: 189 ms - * Timestamp: 10/27/2023 3:03:12 AM + * Decompile Time: 15 ms + * Timestamp: 10/28/2023 12:11:50 AM *******************************************************************/ #include common_scripts/utility; @@ -1384,17 +1384,14 @@ drawcylinder(pos,rad,height) /# currad = rad; curheight = height; - r = 0; - for(;;) + for(r = 0;r < 20;r++) { theta = r / 20 * 360; theta2 = r + 1 / 20 * 360; line(pos + (cos(theta) * currad,sin(theta) * currad,0),pos + (cos(theta2) * currad,sin(theta2) * currad,0)); line(pos + (cos(theta) * currad,sin(theta) * currad,curheight),pos + (cos(theta2) * currad,sin(theta2) * currad,curheight)); line(pos + (cos(theta) * currad,sin(theta) * currad,0),pos + (cos(theta) * currad,sin(theta) * currad,curheight)); - r++; } -r < 20 #/ } @@ -1419,9 +1416,23 @@ update_lives_remaining(increment) /# assert(IsDefined(increment),"Must specify increment true or false"); #/ - increment = IsDefined(increment) ? increment : 0; - self.laststand_info.type_getup_lives = max(0,increment ? self.laststand_info.type_getup_lives + 1 : self.laststand_info.type_getup_lives - 1); - self notify("laststand_lives_updated"); + if(IsDefined(increment)) + { + } + else + { + } + + increment = 0; + if(increment) + { + } + else + { + } + + self.laststand_info.type_getup_lives = max(0,self.laststand_info.type_getup_lives - 1); + self notify("laststand_lives_updated",self.laststand_info.type_getup_lives + 1,increment); } //Function Number: 48 diff --git a/BO2/PC/ZM/maps/mp/zombies/_zm_magicbox.gsc b/BO2/PC/ZM/maps/mp/zombies/_zm_magicbox.gsc index e2287e9..7b67765 100644 --- a/BO2/PC/ZM/maps/mp/zombies/_zm_magicbox.gsc +++ b/BO2/PC/ZM/maps/mp/zombies/_zm_magicbox.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 58 - * Decompile Time: 165 ms - * Timestamp: 10/27/2023 3:03:13 AM + * Decompile Time: 32 ms + * Timestamp: 10/28/2023 12:11:50 AM *******************************************************************/ #include common_scripts/utility; @@ -1072,8 +1072,10 @@ treasure_chest_chooseweightedrandomweapon(player) /# forced_weapon = GetDvar(#"45ED7744"); - arrayinsert(keys,forced_weapon,0); -forced_weapon != "" && IsDefined(level.zombie_weapons[forced_weapon]) + if(forced_weapon != "" && IsDefined(level.zombie_weapons[forced_weapon])) + { + arrayinsert(keys,forced_weapon,0); + } #/ pap_triggers = getentarray("specialty_weapupgrade","script_noteworthy"); for(i = 0;i < keys.size;i++) diff --git a/BO2/PC/ZM/maps/mp/zombies/_zm_magicbox_lock.gsc b/BO2/PC/ZM/maps/mp/zombies/_zm_magicbox_lock.gsc index 558b382..33661d3 100644 --- a/BO2/PC/ZM/maps/mp/zombies/_zm_magicbox_lock.gsc +++ b/BO2/PC/ZM/maps/mp/zombies/_zm_magicbox_lock.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 6 - * Decompile Time: 18 ms - * Timestamp: 10/27/2023 3:03:13 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:11:50 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/PC/ZM/maps/mp/zombies/_zm_mgturret.gsc b/BO2/PC/ZM/maps/mp/zombies/_zm_mgturret.gsc index 6945be6..aa9fb45 100644 --- a/BO2/PC/ZM/maps/mp/zombies/_zm_mgturret.gsc +++ b/BO2/PC/ZM/maps/mp/zombies/_zm_mgturret.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 12 - * Decompile Time: 67 ms - * Timestamp: 10/27/2023 3:03:14 AM + * Decompile Time: 2 ms + * Timestamp: 10/28/2023 12:11:50 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/PC/ZM/maps/mp/zombies/_zm_net.gsc b/BO2/PC/ZM/maps/mp/zombies/_zm_net.gsc index 6e81542..5898de9 100644 --- a/BO2/PC/ZM/maps/mp/zombies/_zm_net.gsc +++ b/BO2/PC/ZM/maps/mp/zombies/_zm_net.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 10 - * Decompile Time: 11 ms - * Timestamp: 10/27/2023 3:03:14 AM + * Decompile Time: 2 ms + * Timestamp: 10/28/2023 12:11:51 AM *******************************************************************/ #include common_scripts/utility; @@ -48,10 +48,13 @@ network_choke_action(id,choke_action,arg1,arg2,arg3) { /# assert(IsDefined(level.zombie_network_choke_ids_max[id]),"Network Choke: " + id + " undefined"); + for(;;) + { #/ - while(!(network_choke_safe(id))) - { - wait(0.05); + if(!(network_choke_safe(id))) + { + wait(0.05); + } } level.zombie_network_choke_ids_count[id]++; diff --git a/BO2/PC/ZM/maps/mp/zombies/_zm_perk_electric_cherry.gsc b/BO2/PC/ZM/maps/mp/zombies/_zm_perk_electric_cherry.gsc index 89b9188..73e4349 100644 --- a/BO2/PC/ZM/maps/mp/zombies/_zm_perk_electric_cherry.gsc +++ b/BO2/PC/ZM/maps/mp/zombies/_zm_perk_electric_cherry.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 18 - * Decompile Time: 59 ms - * Timestamp: 10/27/2023 3:03:14 AM + * Decompile Time: 10 ms + * Timestamp: 10/28/2023 12:11:51 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/PC/ZM/maps/mp/zombies/_zm_perks.gsc b/BO2/PC/ZM/maps/mp/zombies/_zm_perks.gsc index 05dea8b..42c1b11 100644 --- a/BO2/PC/ZM/maps/mp/zombies/_zm_perks.gsc +++ b/BO2/PC/ZM/maps/mp/zombies/_zm_perks.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 95 - * Decompile Time: 496 ms - * Timestamp: 10/27/2023 3:03:16 AM + * Decompile Time: 109 ms + * Timestamp: 10/28/2023 12:11:52 AM *******************************************************************/ #include common_scripts/utility; @@ -854,8 +854,10 @@ wait_for_player_to_take(player,weapon,packa_timer,upgrade_as_attachment) player maps/mp/zombies/_zm_stats::increment_player_stat("pap_weapon_grabbed"); current_weapon = player getcurrentweapon(); /# - iprintlnbold("WEAPON IS NONE, PACKAPUNCH RETRIEVAL DENIED"); -"none" == current_weapon + if("none" == current_weapon) + { + iprintlnbold("WEAPON IS NONE, PACKAPUNCH RETRIEVAL DENIED"); + } #/ if(is_player_valid(player) && !player.is_drinking > 0 && !is_placeable_mine(current_weapon) && !is_equipment(current_weapon) && level.revive_tool != current_weapon && "none" != current_weapon && !player hacker_active()) { @@ -1802,11 +1804,11 @@ electric_perks_dialog() self notify("warning_dialog"); /# iprintlnbold("warning_given"); -#/ } } } } +#/ } } } @@ -2095,8 +2097,10 @@ vending_trigger_think() { cheat = 0; /# - cheat = 1; - GetDvarInt(#"FA81816F") >= 5 + if(GetDvarInt(#"FA81816F") >= 5) + { + cheat = 1; + } #/ if(cheat != 1) { @@ -2418,7 +2422,10 @@ check_player_has_perk(perk) { self endon("death"); /# -GetDvarInt(#"FA81816F") >= 5 + if(GetDvarInt(#"FA81816F") >= 5) + { + return; + } #/ dist = 16384; while(1) @@ -2458,8 +2465,13 @@ vending_set_hintstring(perk) perk_think(perk) { /# -IsDefined(self.perk_hud[perk]) -GetDvarInt(#"FA81816F") >= 5 + if(GetDvarInt(#"FA81816F") >= 5) + { + if(IsDefined(self.perk_hud[perk])) + { + return; + } + } #/ perk_str = perk + "_stop"; result = self waittill_any_return("fake_death","death","player_downed",perk_str); @@ -3055,8 +3067,8 @@ perk_pause(perk) /# println(" ZM PERKS " + player.name + " paused perk " + perk + "\n"); -#/ } +#/ } } diff --git a/BO2/PC/ZM/maps/mp/zombies/_zm_pers_upgrades.gsc b/BO2/PC/ZM/maps/mp/zombies/_zm_pers_upgrades.gsc index 6853ed2..7f8c77d 100644 --- a/BO2/PC/ZM/maps/mp/zombies/_zm_pers_upgrades.gsc +++ b/BO2/PC/ZM/maps/mp/zombies/_zm_pers_upgrades.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 38 - * Decompile Time: 188 ms - * Timestamp: 10/27/2023 3:03:17 AM + * Decompile Time: 6 ms + * Timestamp: 10/28/2023 12:11:52 AM *******************************************************************/ #include common_scripts/utility; @@ -451,9 +451,8 @@ pers_upgrade_carpenter_active() } /# -#/ } - +#/ self.pers_carpenter_kill = undefined; } diff --git a/BO2/PC/ZM/maps/mp/zombies/_zm_pers_upgrades_functions.gsc b/BO2/PC/ZM/maps/mp/zombies/_zm_pers_upgrades_functions.gsc index 2e5590f..a9520d1 100644 --- a/BO2/PC/ZM/maps/mp/zombies/_zm_pers_upgrades_functions.gsc +++ b/BO2/PC/ZM/maps/mp/zombies/_zm_pers_upgrades_functions.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 48 - * Decompile Time: 241 ms - * Timestamp: 10/27/2023 3:03:18 AM + * Decompile Time: 13 ms + * Timestamp: 10/28/2023 12:11:52 AM *******************************************************************/ #include common_scripts/utility; @@ -308,11 +308,11 @@ pers_upgrade_jugg_player_death_stat() { self maps/mp/zombies/_zm_stats::increment_client_stat("pers_jugg",0); /# -#/ } } } } +#/ } //Function Number: 13 @@ -358,24 +358,26 @@ pers_upgrade_flopper_damage_check(smeansofdeath,idamage) self maps/mp/zombies/_zm_stats::increment_client_stat("pers_flopper_counter",0); /# iprintlnbold("FLOPPER STAT: INCREMENTED"); + } #/ - } } - - if(!(IsDefined(self.pers_flopper_active) && self.pers_flopper_active)) + else { - if(idamage >= level.pers_flopper_min_fall_damage_deactivate) + if(!(IsDefined(self.pers_flopper_active) && self.pers_flopper_active)) { - self notify("pers_flopper_lost"); + if(idamage >= level.pers_flopper_min_fall_damage_deactivate) + { + self notify("pers_flopper_lost"); + } + + return 0; } - return 0; - } - - if(idamage > 0) - { - self notify("activate_pers_flopper_effect"); - return 1; + if(idamage > 0) + { + self notify("activate_pers_flopper_effect"); + return 1; + } } return 0; @@ -498,12 +500,14 @@ pers_upgrade_pistol_points_kill() self maps/mp/zombies/_zm_stats::increment_client_stat("pers_pistol_points_counter",0); /# iprintlnbold("PISTOL POINTS STAT: INCREMENTED"); -#/ } } +#/ + } + else + { + self notify("pers_pistol_points_kill"); } - - self notify("pers_pistol_points_kill"); } //Function Number: 21 @@ -627,10 +631,9 @@ pers_upgrade_double_points_pickup_start() self maps/mp/zombies/_zm_stats::increment_client_stat("pers_double_points_counter",0); /# iprintlnbold("PISTOL POINTS STAT: INCREMENTED"); -#/ } } - +#/ self.double_points_ability_check_active = undefined; } @@ -881,9 +884,9 @@ pers_upgrade_sniper_kill_check(zombie,attacker) self maps/mp/zombies/_zm_stats::increment_client_stat("pers_sniper_counter",0); /# iprintlnbold("SNIPER STAT: INCREMENTED"); -#/ } } +#/ } //Function Number: 30 @@ -1024,8 +1027,8 @@ pers_upgrade_box_weapon_used(e_user,e_grabber) e_user maps/mp/zombies/_zm_stats::zero_client_stat("pers_box_weapon_counter",0); /# -#/ } +#/ } //Function Number: 35 @@ -1173,8 +1176,10 @@ pers_treasure_chest_choosespecialweapon(player) keys = array_randomize(level.pers_box_weapons); /# forced_weapon = GetDvar(#"45ED7744"); - arrayinsert(keys,forced_weapon,0); -forced_weapon != "" && IsDefined(level.zombie_weapons[forced_weapon]) + if(forced_weapon != "" && IsDefined(level.zombie_weapons[forced_weapon])) + { + arrayinsert(keys,forced_weapon,0); + } #/ pap_triggers = getentarray("specialty_weapupgrade","script_noteworthy"); for(i = 0;i < keys.size;i++) diff --git a/BO2/PC/ZM/maps/mp/zombies/_zm_pers_upgrades_system.gsc b/BO2/PC/ZM/maps/mp/zombies/_zm_pers_upgrades_system.gsc index 4fe61c4..631a4ec 100644 --- a/BO2/PC/ZM/maps/mp/zombies/_zm_pers_upgrades_system.gsc +++ b/BO2/PC/ZM/maps/mp/zombies/_zm_pers_upgrades_system.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 8 - * Decompile Time: 35 ms - * Timestamp: 10/27/2023 3:03:18 AM + * Decompile Time: 1 ms + * Timestamp: 10/28/2023 12:11:53 AM *******************************************************************/ #include common_scripts/utility; @@ -28,9 +28,8 @@ pers_register_upgrade(name,upgrade_active_func,stat_name,stat_desired_value,game { /# assert(0,"A persistent upgrade is already registered for name: " + name); -#/ } - +#/ level.pers_upgrades_keys[level.pers_upgrades_keys.size] = name; level.pers_upgrades[name] = spawnstruct(); level.pers_upgrades[name].stat_names = []; @@ -39,8 +38,10 @@ pers_register_upgrade(name,upgrade_active_func,stat_name,stat_desired_value,game level.pers_upgrades[name].game_end_reset_if_not_achieved = game_end_reset_if_not_achieved; add_pers_upgrade_stat(name,stat_name,stat_desired_value); /# - [[ level.devgui_add_ability ]](name,upgrade_active_func,stat_name,stat_desired_value,game_end_reset_if_not_achieved); -IsDefined(level.devgui_add_ability) + if(IsDefined(level.devgui_add_ability)) + { + [[ level.devgui_add_ability ]](name,upgrade_active_func,stat_name,stat_desired_value,game_end_reset_if_not_achieved); + } #/ } @@ -51,9 +52,8 @@ add_pers_upgrade_stat(name,stat_name,stat_desired_value) { /# assert(0,name + " - Persistent upgrade is not registered yet."); -#/ } - +#/ stats_size = level.pers_upgrades[name].stat_names.size; level.pers_upgrades[name].stat_names[stats_size] = stat_name; level.pers_upgrades[name].stat_desired_values[stats_size] = stat_desired_value; @@ -154,9 +154,8 @@ pers_upgrades_monitor() /# player iprintlnbold("Downgraded!"); -#/ } - +#/ player.pers_upgrades_awarded[level.pers_upgrades_keys[pers_upgrade_index]] = 0; } } diff --git a/BO2/PC/ZM/maps/mp/zombies/_zm_playerhealth.gsc b/BO2/PC/ZM/maps/mp/zombies/_zm_playerhealth.gsc index fbf115c..d49e9c0 100644 --- a/BO2/PC/ZM/maps/mp/zombies/_zm_playerhealth.gsc +++ b/BO2/PC/ZM/maps/mp/zombies/_zm_playerhealth.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 18 - * Decompile Time: 81 ms - * Timestamp: 10/27/2023 3:03:19 AM + * Decompile Time: 15 ms + * Timestamp: 10/28/2023 12:11:53 AM *******************************************************************/ #include common_scripts/utility; @@ -232,8 +232,10 @@ playerhealthregen() } /# - logregen(newhealth); - newhealth > health_ratio + if(newhealth > health_ratio) + { + logregen(newhealth); + } #/ self setnormalhealth(newhealth); oldratio = self.health / self.maxhealth; @@ -246,13 +248,17 @@ playerhealthregen() self setnormalhealth(2 / self.maxhealth); invulworthyhealthdrop = 1; /# - level.player_deathinvulnerabletimeout = 0; - level.player_deathinvulnerabletimeout = GetTime() + GetDvarInt(#"4E44E32D"); - level.player_deathinvulnerabletimeout < GetTime() - IsDefined(level.player_deathinvulnerabletimeout) -#/ - } + if(!(IsDefined(level.player_deathinvulnerabletimeout))) + { + level.player_deathinvulnerabletimeout = 0; + } + if(level.player_deathinvulnerabletimeout < GetTime()) + { + level.player_deathinvulnerabletimeout = GetTime() + GetDvarInt(#"4E44E32D"); + } + } +#/ oldratio = self.health / self.maxhealth; level notify("hit_again"); health_add = 0; @@ -469,22 +475,36 @@ showhitlog() playerhealthdebug() { /# - setdvar("scr_health_debug","0"); - waittillframeend; - for(;;) + if(GetDvar(#"9A7D1E68") == "") { - for(;;) + setdvar("scr_health_debug","0"); + } + + waittillframeend; + while(1) + { + while(1) { - break; + if(GetDvar(#"9A7D1E68") != "0") + { + break; + } + wait(0.5); } + thread printhealthdebug(); - for(;;) + while(1) { - break; + if(GetDvar(#"9A7D1E68") == "0") + { + break; + } + wait(0.5); } - level notify("stop_printing_grenade_timers",GetDvar(#"9A7D1E68") == "0",1,GetDvar(#"9A7D1E68") != "0",1,1,GetDvar(#"9A7D1E68") == ""); + + level notify("stop_printing_grenade_timers"); destroyhealthdebug(); } #/ @@ -502,10 +522,17 @@ printhealthdebug() level.healthbarkeys[0] = "Health"; level.healthbarkeys[1] = "No Hit Time"; level.healthbarkeys[2] = "No Die Time"; - level.playerinvultimeend = 0; - level.player_deathinvulnerabletimeout = 0; - i = 0; - for(;;) + if(!(IsDefined(level.playerinvultimeend))) + { + level.playerinvultimeend = 0; + } + + if(!(IsDefined(level.player_deathinvulnerabletimeout))) + { + level.player_deathinvulnerabletimeout = 0; + } + + for(i = 0;i < level.healthbarkeys.size;i++) { key = level.healthbarkeys[i]; textelem = newhudelem(); @@ -539,40 +566,44 @@ printhealthdebug() textelem.key = key; y = y + 10; level.healthbarhudelems[key] = textelem; - i++; } + flag_wait("start_zombie_round_logic"); - for(;;) + while(1) { wait(0.05); players = get_players(); - i = 0; - for(;;) + for(i = 0;i < level.healthbarkeys.size && players.size > 0;i++) { key = level.healthbarkeys[i]; player = players[0]; width = 0; - width = player.health / player.maxhealth * 300; - width = level.playerinvultimeend - GetTime() / 1000 * 40; - width = level.player_deathinvulnerabletimeout - GetTime() / 1000 * 40; + if(i == 0) + { + width = player.health / player.maxhealth * 300; + } + else if(i == 1) + { + width = level.playerinvultimeend - GetTime() / 1000 * 40; + } + else if(i == 2) + { + width = level.player_deathinvulnerabletimeout - GetTime() / 1000 * 40; + } + width = int(max(width,1)); width = int(min(width,300)); bar = level.healthbarhudelems[key].bar; bar setshader("black",width,8); bgbar = level.healthbarhudelems[key].bgbar; - bgbar.maxwidth = width + 2; - bgbar setshader("white",bgbar.maxwidth,10); - bgbar.color = VectorScale((1,1,1)); - i++; + if(width + 2 > bgbar.maxwidth) + { + bgbar.maxwidth = width + 2; + bgbar setshader("white",bgbar.maxwidth,10); + bgbar.color = VectorScale((1,1,1)); + } } } -0.5 -width + 2 > bgbar.maxwidth -1 ? i < level.healthbarkeys.size && players.size > 0 : (i == 0 ? i == 1 : i == 2) -0.5 -i < level.healthbarkeys.size -IsDefined(level.player_deathinvulnerabletimeout) -IsDefined(level.playerinvultimeend) #/ } @@ -580,16 +611,16 @@ IsDefined(level.playerinvultimeend) destroyhealthdebug() { /# - return; - i = 0; - for(;;) + if(!(IsDefined(level.healthbarhudelems))) + { + return; + } + + for(i = 0;i < level.healthbarkeys.size;i++) { level.healthbarhudelems[level.healthbarkeys[i]].bgbar destroy(); level.healthbarhudelems[level.healthbarkeys[i]].bar destroy(); level.healthbarhudelems[level.healthbarkeys[i]] destroy(); - i++; } -i < level.healthbarkeys.size -IsDefined(level.healthbarhudelems) #/ } \ No newline at end of file diff --git a/BO2/PC/ZM/maps/mp/zombies/_zm_power.gsc b/BO2/PC/ZM/maps/mp/zombies/_zm_power.gsc index 67c2ffa..db5b8a6 100644 --- a/BO2/PC/ZM/maps/mp/zombies/_zm_power.gsc +++ b/BO2/PC/ZM/maps/mp/zombies/_zm_power.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 41 - * Decompile Time: 67 ms - * Timestamp: 10/27/2023 3:03:19 AM + * Decompile Time: 17 ms + * Timestamp: 10/28/2023 12:11:53 AM *******************************************************************/ #include common_scripts/utility; @@ -38,23 +38,21 @@ init() debug_powered_items() { /# - for(;;) + while(1) { - _a32 = level.local_power; - _k32 = FirstArrayKey(_a32); - for(;;) + if(GetDvarInt(#"EB512CB7")) { - localpower = _a32[_k32]; - circle(localpower.origin,localpower.radius,(1,0,0),0,1,1); - _k32 = NextArrayKey(_a32); + if(IsDefined(level.local_power)) + { + foreach(localpower in level.local_power) + { + circle(localpower.origin,localpower.radius,(1,0,0),0,1,1); + } + } } + wait(0.05); } -_k32 -IsDefined(_k32) -IsDefined(level.local_power) -GetDvarInt(#"EB512CB7") -1 #/ } @@ -266,7 +264,7 @@ revert_power(delta,origin,radius,powered_list) { self.powered_count--; /# - assert(self.powered_count >= 0,"Repower underflow in power system"); + assert(self.powered_count >= 0,"Repower underflow in power system"); #/ if(self.powered_count == 0 && self.power) { diff --git a/BO2/PC/ZM/maps/mp/zombies/_zm_powerups.gsc b/BO2/PC/ZM/maps/mp/zombies/_zm_powerups.gsc index b45507c..ff765f9 100644 --- a/BO2/PC/ZM/maps/mp/zombies/_zm_powerups.gsc +++ b/BO2/PC/ZM/maps/mp/zombies/_zm_powerups.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 102 - * Decompile Time: 584 ms - * Timestamp: 10/27/2023 3:03:22 AM + * Decompile Time: 54 ms + * Timestamp: 10/28/2023 12:11:54 AM *******************************************************************/ #include common_scripts/utility; @@ -240,46 +240,51 @@ powerup_hud_monitor() { player = players[playerindex]; /# -IsDefined(player.pers["isBot"]) && player.pers["isBot"] -#/ - if(IsDefined(level.powerup_player_valid)) + if(IsDefined(player.pers["isBot"]) && player.pers["isBot"]) { - if(!([[ level.powerup_player_valid ]](player))) + } + else + { +#/ + if(IsDefined(level.powerup_player_valid)) { - } - else - { - client_field_name = client_fields[client_field_keys[client_field_key_index]].client_field_name; - time_name = client_fields[client_field_keys[client_field_key_index]].time_name; - on_name = client_fields[client_field_keys[client_field_key_index]].on_name; - powerup_timer = undefined; - powerup_on = undefined; - if(client_fields[client_field_keys[client_field_key_index]].solo) + if(!([[ level.powerup_player_valid ]](player))) { - if(IsDefined(player._show_solo_hud) && player._show_solo_hud == 1) - { - powerup_timer = player.zombie_vars[time_name]; - powerup_on = player.zombie_vars[on_name]; - } - } - else if(IsDefined(level.zombie_vars[player.team][time_name])) - { - powerup_timer = level.zombie_vars[player.team][time_name]; - powerup_on = level.zombie_vars[player.team][on_name]; - } - else if(IsDefined(level.zombie_vars[time_name])) - { - powerup_timer = level.zombie_vars[time_name]; - powerup_on = level.zombie_vars[on_name]; - } - - if(IsDefined(powerup_timer) && IsDefined(powerup_on)) - { - player set_clientfield_powerups(client_field_name,powerup_timer,powerup_on,flashing_timers,flashing_values); } else { - player setclientfieldtoplayer(client_field_name,0); + client_field_name = client_fields[client_field_keys[client_field_key_index]].client_field_name; + time_name = client_fields[client_field_keys[client_field_key_index]].time_name; + on_name = client_fields[client_field_keys[client_field_key_index]].on_name; + powerup_timer = undefined; + powerup_on = undefined; + if(client_fields[client_field_keys[client_field_key_index]].solo) + { + if(IsDefined(player._show_solo_hud) && player._show_solo_hud == 1) + { + powerup_timer = player.zombie_vars[time_name]; + powerup_on = player.zombie_vars[on_name]; + } + } + else if(IsDefined(level.zombie_vars[player.team][time_name])) + { + powerup_timer = level.zombie_vars[player.team][time_name]; + powerup_on = level.zombie_vars[player.team][on_name]; + } + else if(IsDefined(level.zombie_vars[time_name])) + { + powerup_timer = level.zombie_vars[time_name]; + powerup_on = level.zombie_vars[on_name]; + } + + if(IsDefined(powerup_timer) && IsDefined(powerup_on)) + { + player set_clientfield_powerups(client_field_name,powerup_timer,powerup_on,flashing_timers,flashing_values); + } + else + { + player setclientfieldtoplayer(client_field_name,0); + } } } } @@ -342,8 +347,10 @@ get_next_powerup() get_valid_powerup() { /# - return level.zombie_powerup_array[level.zombie_powerup_index]; -IsDefined(level.zombie_devgui_power) && level.zombie_devgui_power == 1 + if(IsDefined(level.zombie_devgui_power) && level.zombie_devgui_power == 1) + { + return level.zombie_powerup_array[level.zombie_powerup_index]; + } #/ if(IsDefined(level.zombie_powerup_boss)) { @@ -800,9 +807,11 @@ powerup_setup(powerup_override,powerup_team,powerup_location) self.weapon = maps/mp/zombies/_zm_magicbox::treasure_chest_chooseweightedrandomweapon(players[0]); /# weapon = GetDvar(#"45ED7744"); - self.weapon = weapon; - setdvar("scr_force_weapon",""); -weapon != "" && IsDefined(level.zombie_weapons[weapon]) + if(weapon != "" && IsDefined(level.zombie_weapons[weapon])) + { + self.weapon = weapon; + setdvar("scr_force_weapon",""); + } #/ self.base_weapon = self.weapon; if(!(IsDefined(level.random_weapon_powerups))) @@ -935,7 +944,7 @@ special_drop_setup() wait(1); thread play_sound_2d("sam_nospawn"); self delete(); - Stack-Empty ? Stack-Empty : IsDefined(level._zombiemode_special_drop_setup) + IsDefined(level._zombiemode_special_drop_setup) break; } @@ -1118,7 +1127,8 @@ powerup_grab(powerup_team) level thread start_carpenter(self.origin); players[i] thread powerup_vo("carpenter"); break; -Stack-Empty ? is_classic() : IsDefined(level.use_new_carpenter_func) +IsDefined(level.use_new_carpenter_func) +is_classic() break; case "fire_sale": @@ -2713,13 +2723,24 @@ tesla_powerup_active() print_powerup_drop(powerup,type) { /# - level.powerup_drop_time = 0; - level.powerup_random_count = 0; - level.powerup_score_count = 0; + if(!(IsDefined(level.powerup_drop_time))) + { + level.powerup_drop_time = 0; + level.powerup_random_count = 0; + level.powerup_score_count = 0; + } + time = GetTime() - level.powerup_drop_time * 0.001; level.powerup_drop_time = GetTime(); - level.powerup_random_count++; - level.powerup_score_count++; + if(type == "random") + { + level.powerup_random_count++; + } + else + { + level.powerup_score_count++; + } + println("========== POWER UP DROPPED =========="); println("DROPPED: " + powerup); println("HOW IT DROPPED: " + type); @@ -2728,7 +2749,6 @@ print_powerup_drop(powerup,type) println("Random Powerup Count: " + level.powerup_random_count); println("Random Powerup Count: " + level.powerup_score_count); println("======================================"); -Stack-Empty ? IsDefined(level.powerup_drop_time) : type == "random" #/ } @@ -2764,7 +2784,7 @@ start_carpenter_new(origin) window = boards_near_players[i]; num_chunks_checked = 0; last_repaired_chunk = undefined; - if(1) + while(1) { if(all_chunks_intact(window,window.barrier_chunks)) { @@ -2795,8 +2815,6 @@ start_carpenter_new(origin) { break; } - - continue; } if(IsDefined(window.zbarrier)) diff --git a/BO2/PC/ZM/maps/mp/zombies/_zm_score.gsc b/BO2/PC/ZM/maps/mp/zombies/_zm_score.gsc index f30475b..bc7acbe 100644 --- a/BO2/PC/ZM/maps/mp/zombies/_zm_score.gsc +++ b/BO2/PC/ZM/maps/mp/zombies/_zm_score.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 16 - * Decompile Time: 60 ms - * Timestamp: 10/27/2023 3:03:22 AM + * Decompile Time: 5 ms + * Timestamp: 10/28/2023 12:11:54 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/PC/ZM/maps/mp/zombies/_zm_server_throttle.gsc b/BO2/PC/ZM/maps/mp/zombies/_zm_server_throttle.gsc index 0c74f24..4ed35fa 100644 --- a/BO2/PC/ZM/maps/mp/zombies/_zm_server_throttle.gsc +++ b/BO2/PC/ZM/maps/mp/zombies/_zm_server_throttle.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 10 - * Decompile Time: 11 ms - * Timestamp: 10/27/2023 3:03:22 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:11:54 AM *******************************************************************/ #include maps/mp/_utility; @@ -46,10 +46,13 @@ server_choke_action(id,choke_action,arg1,arg2,arg3) { /# assert(IsDefined(level.zombie_server_choke_ids_max[id]),"server Choke: " + id + " undefined"); + for(;;) + { #/ - while(!(server_choke_safe(id))) - { - wait(0.05); + if(!(server_choke_safe(id))) + { + wait(0.05); + } } level.zombie_server_choke_ids_count[id]++; diff --git a/BO2/PC/ZM/maps/mp/zombies/_zm_sidequests.gsc b/BO2/PC/ZM/maps/mp/zombies/_zm_sidequests.gsc index 7ad5db9..04e1989 100644 --- a/BO2/PC/ZM/maps/mp/zombies/_zm_sidequests.gsc +++ b/BO2/PC/ZM/maps/mp/zombies/_zm_sidequests.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 44 - * Decompile Time: 167 ms - * Timestamp: 10/27/2023 3:03:23 AM + * Decompile Time: 12 ms + * Timestamp: 10/28/2023 12:11:55 AM *******************************************************************/ #include common_scripts/utility; @@ -51,10 +51,15 @@ is_sidequest_allowed(a_gametypes) sidequest_debug() { /# - return; - wait(1); -1 -GetDvar(#"A7AC338D") != "1" + if(GetDvar(#"A7AC338D") != "1") + { + return; + } + + while(1) + { + wait(1); + } #/ } @@ -199,8 +204,11 @@ declare_sidequest(name,init_func,logic_func,complete_func,generic_stage_start_fu } /# - println("*** ERROR: Attempt to re-declare sidequest with name " + name); -IsDefined(level._zombie_sidequests[name]) + if(IsDefined(level._zombie_sidequests[name])) + { + println("*** ERROR: Attempt to re-declare sidequest with name " + name); + return; + } #/ sq = spawnstruct(); sq.name = name; @@ -225,14 +233,23 @@ IsDefined(level._zombie_sidequests[name]) declare_sidequest_stage(sidequest_name,stage_name,init_func,logic_func,exit_func) { /# - println("*** ERROR: Attempt to declare a side quest stage before sidequests declared."); - return; - println("*** ERROR: Attempt to add stage " + stage_name + " to side quest " + sidequest_name + " but no such side quest exists."); - return; - println("*** ERROR: Sidequest " + sidequest_name + " already has a stage called " + stage_name); -IsDefined(level._zombie_sidequests[sidequest_name].stages[stage_name]) -IsDefined(level._zombie_sidequests[sidequest_name]) -IsDefined(level._zombie_sidequests) + if(!(IsDefined(level._zombie_sidequests))) + { + println("*** ERROR: Attempt to declare a side quest stage before sidequests declared."); + return; + } + + if(!(IsDefined(level._zombie_sidequests[sidequest_name]))) + { + println("*** ERROR: Attempt to add stage " + stage_name + " to side quest " + sidequest_name + " but no such side quest exists."); + return; + } + + if(IsDefined(level._zombie_sidequests[sidequest_name].stages[stage_name])) + { + println("*** ERROR: Sidequest " + sidequest_name + " already has a stage called " + stage_name); + return; + } #/ stage = spawnstruct(); stage.name = stage_name; @@ -251,14 +268,23 @@ IsDefined(level._zombie_sidequests) set_stage_time_limit(sidequest_name,stage_name,time_limit,timer_func) { /# - println("*** ERROR: Attempt to set a side quest stage time limit before sidequests declared."); - return; - println("*** ERROR: Attempt to add timelimit to stage " + stage_name + " in side quest " + sidequest_name + " but no such side quest exists."); - return; - println("*** ERROR: Attempt to add timelimit to stage " + stage_name + " in Sidequest " + sidequest_name + " but stage does not exist."); -IsDefined(level._zombie_sidequests[sidequest_name].stages[stage_name]) -IsDefined(level._zombie_sidequests[sidequest_name]) -IsDefined(level._zombie_sidequests) + if(!(IsDefined(level._zombie_sidequests))) + { + println("*** ERROR: Attempt to set a side quest stage time limit before sidequests declared."); + return; + } + + if(!(IsDefined(level._zombie_sidequests[sidequest_name]))) + { + println("*** ERROR: Attempt to add timelimit to stage " + stage_name + " in side quest " + sidequest_name + " but no such side quest exists."); + return; + } + + if(!(IsDefined(level._zombie_sidequests[sidequest_name].stages[stage_name]))) + { + println("*** ERROR: Attempt to add timelimit to stage " + stage_name + " in Sidequest " + sidequest_name + " but stage does not exist."); + return; + } #/ level._zombie_sidequests[sidequest_name].stages[stage_name].time_limit = time_limit; level._zombie_sidequests[sidequest_name].stages[stage_name].time_limit_func = timer_func; @@ -269,17 +295,29 @@ declare_stage_asset_from_struct(sidequest_name,stage_name,target_name,thread_fun { structs = getstructarray(target_name,"targetname"); /# - println("*** ERROR: Attempt to declare a side quest asset " + target_name + " before sidequests declared."); - return; - println("*** ERROR: Attempt to add asset " + target_name + " to side quest " + sidequest_name + " but no such side quest exists."); - return; - println("*** ERROR: Attempt to add asset " + target_name + " to side quest " + sidequest_name + " : " + stage_name + " but no such stage exists."); - return; - println("*** ERROR: No Structs with " + target_name + " not found."); -structs.size -IsDefined(level._zombie_sidequests[sidequest_name].stages[stage_name]) -IsDefined(level._zombie_sidequests[sidequest_name]) -IsDefined(level._zombie_sidequests) + if(!(IsDefined(level._zombie_sidequests))) + { + println("*** ERROR: Attempt to declare a side quest asset " + target_name + " before sidequests declared."); + return; + } + + if(!(IsDefined(level._zombie_sidequests[sidequest_name]))) + { + println("*** ERROR: Attempt to add asset " + target_name + " to side quest " + sidequest_name + " but no such side quest exists."); + return; + } + + if(!(IsDefined(level._zombie_sidequests[sidequest_name].stages[stage_name]))) + { + println("*** ERROR: Attempt to add asset " + target_name + " to side quest " + sidequest_name + " : " + stage_name + " but no such stage exists."); + return; + } + + if(!(structs.size)) + { + println("*** ERROR: No Structs with " + target_name + " not found."); + return; + } #/ for(i = 0;i < structs.size;i++) { @@ -296,14 +334,23 @@ IsDefined(level._zombie_sidequests) declare_stage_title(sidequest_name,stage_name,title) { /# - println("*** ERROR: Attempt to declare a stage title " + title + " before sidequests declared."); - return; - println("*** ERROR: Attempt to declare a stage title " + title + " to side quest " + sidequest_name + " but no such side quest exists."); - return; - println("*** ERROR: Attempt to declare stage title " + title + " to side quest " + sidequest_name + " : " + stage_name + " but no such stage exists."); -IsDefined(level._zombie_sidequests[sidequest_name].stages[stage_name]) -IsDefined(level._zombie_sidequests[sidequest_name]) -IsDefined(level._zombie_sidequests) + if(!(IsDefined(level._zombie_sidequests))) + { + println("*** ERROR: Attempt to declare a stage title " + title + " before sidequests declared."); + return; + } + + if(!(IsDefined(level._zombie_sidequests[sidequest_name]))) + { + println("*** ERROR: Attempt to declare a stage title " + title + " to side quest " + sidequest_name + " but no such side quest exists."); + return; + } + + if(!(IsDefined(level._zombie_sidequests[sidequest_name].stages[stage_name]))) + { + println("*** ERROR: Attempt to declare stage title " + title + " to side quest " + sidequest_name + " : " + stage_name + " but no such stage exists."); + return; + } #/ level._zombie_sidequests[sidequest_name].stages[stage_name].title = title; } @@ -313,17 +360,29 @@ declare_stage_asset(sidequest_name,stage_name,target_name,thread_func,trigger_th { ents = getentarray(target_name,"targetname"); /# - println("*** ERROR: Attempt to declare a side quest asset " + target_name + " before sidequests declared."); - return; - println("*** ERROR: Attempt to add asset " + target_name + " to side quest " + sidequest_name + " but no such side quest exists."); - return; - println("*** ERROR: Attempt to add asset " + target_name + " to side quest " + sidequest_name + " : " + stage_name + " but no such stage exists."); - return; - println("*** ERROR: No Ents with " + target_name + " not found."); -ents.size -IsDefined(level._zombie_sidequests[sidequest_name].stages[stage_name]) -IsDefined(level._zombie_sidequests[sidequest_name]) -IsDefined(level._zombie_sidequests) + if(!(IsDefined(level._zombie_sidequests))) + { + println("*** ERROR: Attempt to declare a side quest asset " + target_name + " before sidequests declared."); + return; + } + + if(!(IsDefined(level._zombie_sidequests[sidequest_name]))) + { + println("*** ERROR: Attempt to add asset " + target_name + " to side quest " + sidequest_name + " but no such side quest exists."); + return; + } + + if(!(IsDefined(level._zombie_sidequests[sidequest_name].stages[stage_name]))) + { + println("*** ERROR: Attempt to add asset " + target_name + " to side quest " + sidequest_name + " : " + stage_name + " but no such stage exists."); + return; + } + + if(!(ents.size)) + { + println("*** ERROR: No Ents with " + target_name + " not found."); + return; + } #/ for(i = 0;i < ents.size;i++) { @@ -341,14 +400,23 @@ declare_sidequest_asset(sidequest_name,target_name,thread_func,trigger_thread_fu { ents = getentarray(target_name,"targetname"); /# - println("*** ERROR: Attempt to declare a side quest asset " + target_name + " before sidequests declared."); - return; - println("*** ERROR: Attempt to add asset " + target_name + " to side quest " + sidequest_name + " but no such side quest exists."); - return; - println("*** ERROR: No Ents with " + target_name + " not found."); -ents.size -IsDefined(level._zombie_sidequests[sidequest_name]) -IsDefined(level._zombie_sidequests) + if(!(IsDefined(level._zombie_sidequests))) + { + println("*** ERROR: Attempt to declare a side quest asset " + target_name + " before sidequests declared."); + return; + } + + if(!(IsDefined(level._zombie_sidequests[sidequest_name]))) + { + println("*** ERROR: Attempt to add asset " + target_name + " to side quest " + sidequest_name + " but no such side quest exists."); + return; + } + + if(!(ents.size)) + { + println("*** ERROR: No Ents with " + target_name + " not found."); + return; + } #/ for(i = 0;i < ents.size;i++) { @@ -368,14 +436,23 @@ declare_sidequest_asset_from_struct(sidequest_name,target_name,thread_func,trigg { structs = getstructarray(target_name,"targetname"); /# - println("*** ERROR: Attempt to declare a side quest asset " + target_name + " before sidequests declared."); - return; - println("*** ERROR: Attempt to add asset " + target_name + " to side quest " + sidequest_name + " but no such side quest exists."); - return; - println("*** ERROR: No Structs with " + target_name + " not found."); -structs.size -IsDefined(level._zombie_sidequests[sidequest_name]) -IsDefined(level._zombie_sidequests) + if(!(IsDefined(level._zombie_sidequests))) + { + println("*** ERROR: Attempt to declare a side quest asset " + target_name + " before sidequests declared."); + return; + } + + if(!(IsDefined(level._zombie_sidequests[sidequest_name]))) + { + println("*** ERROR: Attempt to add asset " + target_name + " to side quest " + sidequest_name + " but no such side quest exists."); + return; + } + + if(!(structs.size)) + { + println("*** ERROR: No Structs with " + target_name + " not found."); + return; + } #/ for(i = 0;i < structs.size;i++) { @@ -536,7 +613,8 @@ build_assets() use_trigger thread use_trigger_thread(); self.active_assets[self.active_assets.size - 1].trigger = use_trigger; break; - Stack-Empty ? IsDefined(asset.radius) : IsDefined(asset.trigger_thread_func) + IsDefined(asset.trigger_thread_func) + IsDefined(asset.radius) break; case "trigger_radius_damage": @@ -547,7 +625,8 @@ build_assets() damage_trigger thread damage_trigger_thread(); self.active_assets[self.active_assets.size - 1].trigger = damage_trigger; break; - Stack-Empty ? IsDefined(asset.radius) : IsDefined(asset.trigger_thread_func) + IsDefined(asset.trigger_thread_func) + IsDefined(asset.radius) break; case "trigger_radius": @@ -558,7 +637,8 @@ build_assets() radius_trigger thread radius_trigger_thread(); self.active_assets[self.active_assets.size - 1].trigger = radius_trigger; break; - Stack-Empty ? IsDefined(asset.radius) : IsDefined(asset.trigger_thread_func) + IsDefined(asset.trigger_thread_func) + IsDefined(asset.radius) break; } } @@ -623,11 +703,17 @@ stage_logic_func_wrapper(sidequest,stage) sidequest_start(sidequest_name) { /# - println("*** ERROR: Attempt start a side quest asset " + sidequest_name + " before sidequests declared."); - return; - println("*** ERROR: Attempt to start " + sidequest_name + " but no such side quest exists."); -IsDefined(level._zombie_sidequests[sidequest_name]) -IsDefined(level._zombie_sidequests) + if(!(IsDefined(level._zombie_sidequests))) + { + println("*** ERROR: Attempt start a side quest asset " + sidequest_name + " before sidequests declared."); + return; + } + + if(!(IsDefined(level._zombie_sidequests[sidequest_name]))) + { + println("*** ERROR: Attempt to start " + sidequest_name + " but no such side quest exists."); + return; + } #/ sidequest = level._zombie_sidequests[sidequest_name]; sidequest build_assets(); @@ -749,9 +835,12 @@ time_limited_stage(sidequest) sidequest_println(str) { /# - return; + if(GetDvar(#"A7AC338D") != "1") + { + return; + } + println(str); -GetDvar(#"A7AC338D") != "1" #/ } @@ -791,11 +880,17 @@ precache_sidequest_assets() sidequest_complete(sidequest_name) { /# - println("*** ERROR: Attempt to call sidequest_complete for sidequest " + sidequest_name + " before sidequests declared."); - return; - println("*** ERROR: Attempt to call sidequest_complete for sidequest " + sidequest_name + " but no such side quest exists."); -IsDefined(level._zombie_sidequests[sidequest_name]) -IsDefined(level._zombie_sidequests) + if(!(IsDefined(level._zombie_sidequests))) + { + println("*** ERROR: Attempt to call sidequest_complete for sidequest " + sidequest_name + " before sidequests declared."); + return; + } + + if(!(IsDefined(level._zombie_sidequests[sidequest_name]))) + { + println("*** ERROR: Attempt to call sidequest_complete for sidequest " + sidequest_name + " but no such side quest exists."); + return; + } #/ return level._zombie_sidequests[sidequest_name].sidequest_complete; } @@ -804,16 +899,25 @@ IsDefined(level._zombie_sidequests) stage_completed(sidequest_name,stage_name) { /# - println("*** ERROR: Attempt to call stage_complete for sidequest " + sidequest_name + " before sidequests declared."); - return; - println("*** ERROR: Attempt to call stage_complete for sidequest " + sidequest_name + " but no such side quest exists."); - return; - println("*** ERROR: Attempt to call stage_complete in sq " + sidequest_name + " : " + stage_name + " but no such stage exists."); - return; + if(!(IsDefined(level._zombie_sidequests))) + { + println("*** ERROR: Attempt to call stage_complete for sidequest " + sidequest_name + " before sidequests declared."); + return; + } + + if(!(IsDefined(level._zombie_sidequests[sidequest_name]))) + { + println("*** ERROR: Attempt to call stage_complete for sidequest " + sidequest_name + " but no such side quest exists."); + return; + } + + if(!(IsDefined(level._zombie_sidequests[sidequest_name].stages[stage_name]))) + { + println("*** ERROR: Attempt to call stage_complete in sq " + sidequest_name + " : " + stage_name + " but no such stage exists."); + return; + } + println("*** stage completed called."); -IsDefined(level._zombie_sidequests[sidequest_name].stages[stage_name]) -IsDefined(level._zombie_sidequests[sidequest_name]) -IsDefined(level._zombie_sidequests) #/ sidequest = level._zombie_sidequests[sidequest_name]; stage = sidequest.stages[stage_name]; @@ -980,11 +1084,17 @@ sidequest_stage_active(sidequest_name,stage_name) sidequest_start_next_stage(sidequest_name) { /# - println("*** ERROR: Attempt start next stage in side quest asset " + sidequest_name + " before sidequests declared."); - return; - println("*** ERROR: Attempt to start next sidequest in sidequest " + sidequest_name + " but no such side quest exists."); -IsDefined(level._zombie_sidequests[sidequest_name]) -IsDefined(level._zombie_sidequests) + if(!(IsDefined(level._zombie_sidequests))) + { + println("*** ERROR: Attempt start next stage in side quest asset " + sidequest_name + " before sidequests declared."); + return; + } + + if(!(IsDefined(level._zombie_sidequests[sidequest_name]))) + { + println("*** ERROR: Attempt to start next sidequest in sidequest " + sidequest_name + " but no such side quest exists."); + return; + } #/ sidequest = level._zombie_sidequests[sidequest_name]; if(sidequest.sidequest_complete == 1) @@ -1047,7 +1157,6 @@ fake_use(notify_string,qualifier_func) /# print3d(self.origin,"+",VectorScale((0,1,0)),255); -1 #/ players = get_players(); for(i = 0;i < players.size;i++) @@ -1064,7 +1173,7 @@ fake_use(notify_string,qualifier_func) { if(players[i] usebuttonpressed()) { - self notify(notify_string,players[i]); + self notify(notify_string,players[i],1); return; } } diff --git a/BO2/PC/ZM/maps/mp/zombies/_zm_spawner.gsc b/BO2/PC/ZM/maps/mp/zombies/_zm_spawner.gsc index ac117e9..751a77f 100644 --- a/BO2/PC/ZM/maps/mp/zombies/_zm_spawner.gsc +++ b/BO2/PC/ZM/maps/mp/zombies/_zm_spawner.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 93 - * Decompile Time: 387 ms - * Timestamp: 10/27/2023 3:03:25 AM + * Decompile Time: 65 ms + * Timestamp: 10/28/2023 12:11:55 AM *******************************************************************/ #include common_scripts/utility; @@ -482,7 +482,7 @@ zombie_think() { /# /# - assert(IsDefined(find_flesh_struct_string)); + assert(IsDefined(find_flesh_struct_string)); #/ #/ for(i = 0;i < level.exterior_goals.size;i++) @@ -1695,7 +1695,8 @@ zombie_gib_on_damage() refs[refs.size] = "left_leg"; refs[refs.size] = "no_legs"; break; - Stack-Empty ? self.damagelocation == "none" : type == "MOD_GRENADE" || type == "MOD_GRENADE_SPLASH" || type == "MOD_PROJECTILE" || type == "MOD_PROJECTILE_SPLASH" + type == "MOD_GRENADE" || type == "MOD_GRENADE_SPLASH" || type == "MOD_PROJECTILE" || type == "MOD_PROJECTILE_SPLASH" + self.damagelocation == "none" break; } @@ -2877,8 +2878,10 @@ zombie_pathing_get_breadcrumb(origin,breadcrumbs,bad_crumbs,pick_random) assert(isarray(breadcrumbs)); #/ /# - debug_print("Finding random breadcrumb"); -pick_random + if(pick_random) + { + debug_print("Finding random breadcrumb"); + } #/ for(i = 0;i < breadcrumbs.size;i++) { @@ -3084,9 +3087,12 @@ zombie_eye_glow_stop() zombie_history(msg) { /# - self.zombie_history = []; + if(!IsDefined(self.zombie_history) || 32 <= self.zombie_history.size) + { + self.zombie_history = []; + } + self.zombie_history[self.zombie_history.size] = msg; -!IsDefined(self.zombie_history) || 32 <= self.zombie_history.size #/ } @@ -3126,25 +3132,31 @@ do_zombie_spawn() } /# - player = get_players()[0]; - spots = []; - i = 0; - for(;;) + if(GetDvarInt(#"A8C231AA")) { - player_vec = vectornormalize(AnglesToForward(player.angles)); - player_spawn = vectornormalize(level.zombie_spawn_locations[i].origin - player.origin); - dot = vectordot(player_vec,player_spawn); - spots[spots.size] = level.zombie_spawn_locations[i]; - debugstar(level.zombie_spawn_locations[i].origin,1000,(1,1,1)); - i++; + if(IsDefined(level.zombie_spawn_locations)) + { + player = get_players()[0]; + spots = []; + for(i = 0;i < level.zombie_spawn_locations.size;i++) + { + player_vec = vectornormalize(AnglesToForward(player.angles)); + player_spawn = vectornormalize(level.zombie_spawn_locations[i].origin - player.origin); + dot = vectordot(player_vec,player_spawn); + if(dot > 0.707) + { + spots[spots.size] = level.zombie_spawn_locations[i]; + debugstar(level.zombie_spawn_locations[i].origin,1000,(1,1,1)); + } + } + + if(spots.size <= 0) + { + spots[spots.size] = level.zombie_spawn_locations[0]; + iprintln("no spawner in view"); + } + } } - spots[spots.size] = level.zombie_spawn_locations[0]; - iprintln("no spawner in view"); -spots.size <= 0 -dot > 0.707 -i < level.zombie_spawn_locations.size -IsDefined(level.zombie_spawn_locations) -GetDvarInt(#"A8C231AA") #/ /# assert(spots.size > 0,"No spawn locations found"); @@ -3152,11 +3164,13 @@ GetDvarInt(#"A8C231AA") spot = random(spots); self.spawn_point = spot; /# - debugstar(spot.origin,GetDvarInt(#"BB9101B2"),(0,1,0)); - host_player = gethostplayer(); - distance = distance(spot.origin,host_player.origin); - iprintln("Distance to player: " + distance / 12 + "feet"); -IsDefined(level.toggle_show_spawn_locations) && level.toggle_show_spawn_locations + if(IsDefined(level.toggle_show_spawn_locations) && level.toggle_show_spawn_locations) + { + debugstar(spot.origin,GetDvarInt(#"BB9101B2"),(0,1,0)); + host_player = gethostplayer(); + distance = distance(spot.origin,host_player.origin); + iprintln("Distance to player: " + distance / 12 + "feet"); + } #/ if(IsDefined(spot.target)) { @@ -3226,7 +3240,7 @@ IsDefined(level.toggle_show_spawn_locations) && level.toggle_show_spawn_location self ghost(); self.anchor moveto(spot.origin,0.05); - self.anchor waittill(Stack-Empty ? Stack-Empty : Stack-Empty,"movedone"); + self.anchor waittill("movedone"); target_org = get_desired_origin(); if(IsDefined(target_org)) { diff --git a/BO2/PC/ZM/maps/mp/zombies/_zm_stats.gsc b/BO2/PC/ZM/maps/mp/zombies/_zm_stats.gsc index 6ec0592..45671b5 100644 --- a/BO2/PC/ZM/maps/mp/zombies/_zm_stats.gsc +++ b/BO2/PC/ZM/maps/mp/zombies/_zm_stats.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 45 - * Decompile Time: 280 ms - * Timestamp: 10/27/2023 3:03:26 AM + * Decompile Time: 29 ms + * Timestamp: 10/28/2023 12:11:56 AM *******************************************************************/ #include common_scripts/utility; @@ -1144,7 +1144,10 @@ initializematchstats() adjustrecentstats() { /# -GetDvarInt(#"7AEF62D7") == 1 || GetDvarInt(#"1F8C9394") == 1 + if(GetDvarInt(#"7AEF62D7") == 1 || GetDvarInt(#"1F8C9394") == 1) + { + return; + } #/ initializematchstats(); } diff --git a/BO2/PC/ZM/maps/mp/zombies/_zm_timer.gsc b/BO2/PC/ZM/maps/mp/zombies/_zm_timer.gsc index 8d0f7e4..cb6f8d1 100644 --- a/BO2/PC/ZM/maps/mp/zombies/_zm_timer.gsc +++ b/BO2/PC/ZM/maps/mp/zombies/_zm_timer.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 4 - * Decompile Time: 12 ms - * Timestamp: 10/27/2023 3:03:26 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:11:56 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/PC/ZM/maps/mp/zombies/_zm_tombstone.gsc b/BO2/PC/ZM/maps/mp/zombies/_zm_tombstone.gsc index 7395804..4ab0a16 100644 --- a/BO2/PC/ZM/maps/mp/zombies/_zm_tombstone.gsc +++ b/BO2/PC/ZM/maps/mp/zombies/_zm_tombstone.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 19 - * Decompile Time: 154 ms - * Timestamp: 10/27/2023 3:03:27 AM + * Decompile Time: 13 ms + * Timestamp: 10/28/2023 12:11:56 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/PC/ZM/maps/mp/zombies/_zm_traps.gsc b/BO2/PC/ZM/maps/mp/zombies/_zm_traps.gsc index ad44812..49c3c10 100644 --- a/BO2/PC/ZM/maps/mp/zombies/_zm_traps.gsc +++ b/BO2/PC/ZM/maps/mp/zombies/_zm_traps.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 29 - * Decompile Time: 104 ms - * Timestamp: 10/27/2023 3:03:28 AM + * Decompile Time: 13 ms + * Timestamp: 10/28/2023 12:11:57 AM *******************************************************************/ #include common_scripts/utility; @@ -255,8 +255,10 @@ trap_use_think(trap) trap._trap_cooling_down = 1; trap trap_set_string(&"ZOMBIE_TRAP_COOLDOWN"); /# - trap._trap_cooldown_time = 5; -GetDvarInt(#"FA81816F") >= 1 + if(GetDvarInt(#"FA81816F") >= 1) + { + trap._trap_cooldown_time = 5; + } #/ wait(trap._trap_cooldown_time); trap._trap_cooling_down = 0; @@ -670,7 +672,7 @@ zombie_trap_death(trap,param) self playsound("zmb_zombie_arc"); self [[ self.fire_damage_func ]](trap); continue; - level notify("trap_kill",self,trap,IsDefined(self.fire_damage_func),(param > 90 && level.burning_zombies.size < 6) ? trap._trap_type == "electric" : randomint(100) > 50,IsDefined(self.animname) && self.animname != "zombie_dog"); + level notify("trap_kill",self,trap,IsDefined(self.fire_damage_func),randomint(100) > 50,trap._trap_type == "electric",param > 90 && level.burning_zombies.size < 6,IsDefined(self.animname) && self.animname != "zombie_dog"); self dodamage(self.health + 666,self.origin,trap); break; diff --git a/BO2/PC/ZM/maps/mp/zombies/_zm_turned.gsc b/BO2/PC/ZM/maps/mp/zombies/_zm_turned.gsc index 244650f..043df72 100644 --- a/BO2/PC/ZM/maps/mp/zombies/_zm_turned.gsc +++ b/BO2/PC/ZM/maps/mp/zombies/_zm_turned.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 14 - * Decompile Time: 151 ms - * Timestamp: 10/27/2023 3:03:28 AM + * Decompile Time: 7 ms + * Timestamp: 10/28/2023 12:11:57 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/PC/ZM/maps/mp/zombies/_zm_unitrigger.gsc b/BO2/PC/ZM/maps/mp/zombies/_zm_unitrigger.gsc index 169ac2a..4cfc166 100644 --- a/BO2/PC/ZM/maps/mp/zombies/_zm_unitrigger.gsc +++ b/BO2/PC/ZM/maps/mp/zombies/_zm_unitrigger.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 22 - * Decompile Time: 80 ms - * Timestamp: 10/27/2023 3:03:29 AM + * Decompile Time: 9 ms + * Timestamp: 10/28/2023 12:11:57 AM *******************************************************************/ #include common_scripts/utility; @@ -288,45 +288,55 @@ reregister_unitrigger_as_dynamic(unitrigger_stub) debug_unitriggers() { /# - for(;;) + while(1) { - i = 0; - for(;;) + if(GetDvarInt(#"D256F24B") > 0) { - triggerstub = level._unitriggers.trigger_stubs[i]; - color = VectorScale((1,0,0)); - color = VectorScale((1,1,0)); - color = (1,1,0); - color = (0,1,0); - print3d(triggerstub.origin,triggerstub.playertrigger.size,color,1,1,1); - origin = triggerstub unitrigger_origin(); - switch(triggerstub.script_unitrigger_type) + for(i = 0;i < level._unitriggers.trigger_stubs.size;i++) { - case "unitrigger_radius": - case "unitrigger_radius_use": - circle(origin,triggerstub.radius,color,0,0,1); - line(origin,origin + (0,0,triggerstub.script_height),color,0,1); - break; - triggerstub.script_height - triggerstub.radius - break; - case "unitrigger_box": - case "unitrigger_box_use": - vec = (triggerstub.script_width / 2,triggerstub.script_length / 2,triggerstub.script_height / 2); - box(origin,vec * -1,vec,triggerstub.angles[1],color,1,0,1); - break; + triggerstub = level._unitriggers.trigger_stubs[i]; + color = VectorScale((1,0,0)); + if(!(IsDefined(triggerstub.in_zone))) + { + color = VectorScale((1,1,0)); + } + else if(level.zones[triggerstub.in_zone].is_active) + { + color = (1,1,0); + } + + if(IsDefined(triggerstub.trigger) || IsDefined(triggerstub.playertrigger) && triggerstub.playertrigger.size > 0) + { + color = (0,1,0); + if(IsDefined(triggerstub.playertrigger) && triggerstub.playertrigger.size > 0) + { + print3d(triggerstub.origin,triggerstub.playertrigger.size,color,1,1,1); + } + } + + origin = triggerstub unitrigger_origin(); + switch(triggerstub.script_unitrigger_type) + { + case "unitrigger_radius": + case "unitrigger_radius_use": + circle(origin,triggerstub.radius,color,0,0,1); + line(origin,origin + (0,0,triggerstub.script_height),color,0,1); + break; + triggerstub.script_height + triggerstub.radius + break; + + case "unitrigger_box": + case "unitrigger_box_use": + vec = (triggerstub.script_width / 2,triggerstub.script_length / 2,triggerstub.script_height / 2); + box(origin,vec * -1,vec,triggerstub.angles[1],color,1,0,1); + break; + } } - i++; } + wait(0.05); } -IsDefined(triggerstub.playertrigger) && triggerstub.playertrigger.size > 0 -IsDefined(triggerstub.trigger) || IsDefined(triggerstub.playertrigger) && triggerstub.playertrigger.size > 0 -(IsDefined(triggerstub.in_zone)) ? 0.65 : level.zones[triggerstub.in_zone].is_active -0.75 -i < level._unitriggers.trigger_stubs.size -GetDvarInt(#"D256F24B") > 0 -1 #/ } diff --git a/BO2/PC/ZM/maps/mp/zombies/_zm_utility.gsc b/BO2/PC/ZM/maps/mp/zombies/_zm_utility.gsc index 2236722..2c6fcd4 100644 --- a/BO2/PC/ZM/maps/mp/zombies/_zm_utility.gsc +++ b/BO2/PC/ZM/maps/mp/zombies/_zm_utility.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 306 - * Decompile Time: 508 ms - * Timestamp: 10/27/2023 3:03:31 AM + * Decompile Time: 114 ms + * Timestamp: 10/28/2023 12:11:58 AM *******************************************************************/ #include common_scripts/utility; @@ -479,7 +479,7 @@ all_chunks_destroyed(barrier,barrier_chunks) else if(IsDefined(barrier_chunks)) { /# - assert(IsDefined(barrier_chunks),"_zm_utility::all_chunks_destroyed - Barrier chunks undefined"); + assert(IsDefined(barrier_chunks),"_zm_utility::all_chunks_destroyed - Barrier chunks undefined"); #/ for(i = 0;i < barrier_chunks.size;i++) { @@ -808,22 +808,27 @@ generated_radius_attract_positions(forward,offset,num_positions,attract_radius) debug_draw_attractor_positions() { /# - for(;;) + while(1) { - wait(0.05); - i = 0; - for(;;) + for(;;) + { + while(!(IsDefined(self.attractor_positions))) + { + wait(0.05); + } + } + + for(i = 0;i < self.attractor_positions.size;i++) { line(self.origin,self.attractor_positions[i][0],(1,0,0),1,1); - i++; } + wait(0.05); - return; + if(!(IsDefined(self))) + { + return; + } } -IsDefined(self) -i < self.attractor_positions.size -IsDefined(self.attractor_positions) -1 #/ } @@ -1669,7 +1674,7 @@ non_destroyed_grate_order(origin,chunks_grate) else if(grate_order3[i].state == "repaired") { /# - iprintlnbold(" pull bar3 "); + iprintlnbold(" pull bar3 "); #/ grate_order4[i] thread show_grate_pull(); return grate_order3[i]; @@ -1677,7 +1682,7 @@ non_destroyed_grate_order(origin,chunks_grate) else if(grate_order4[i].state == "repaired") { /# - iprintlnbold(" pull bar4 "); + iprintlnbold(" pull bar4 "); #/ grate_order5[i] thread show_grate_pull(); return grate_order4[i]; @@ -1685,7 +1690,7 @@ non_destroyed_grate_order(origin,chunks_grate) else if(grate_order5[i].state == "repaired") { /# - iprintlnbold(" pull bar5 "); + iprintlnbold(" pull bar5 "); #/ grate_order6[i] thread show_grate_pull(); return grate_order5[i]; @@ -2507,7 +2512,7 @@ grate_order_destroyed(chunks_repair_grate) else if(grate_repair_order4[i].state == "destroyed") { /# - iprintlnbold(" Fix grate4 "); + iprintlnbold(" Fix grate4 "); #/ grate_repair_order5[i] thread show_grate_repair(); return grate_repair_order4[i]; @@ -2515,7 +2520,7 @@ grate_order_destroyed(chunks_repair_grate) else if(grate_repair_order3[i].state == "destroyed") { /# - iprintlnbold(" Fix grate3 "); + iprintlnbold(" Fix grate3 "); #/ grate_repair_order4[i] thread show_grate_repair(); return grate_repair_order3[i]; @@ -2523,7 +2528,7 @@ grate_order_destroyed(chunks_repair_grate) else if(grate_repair_order2[i].state == "destroyed") { /# - iprintlnbold(" Fix grate2 "); + iprintlnbold(" Fix grate2 "); #/ grate_repair_order3[i] thread show_grate_repair(); return grate_repair_order2[i]; @@ -2531,7 +2536,7 @@ grate_order_destroyed(chunks_repair_grate) else if(grate_repair_order1[i].state == "destroyed") { /# - iprintlnbold(" Fix grate1 "); + iprintlnbold(" Fix grate1 "); #/ grate_repair_order2[i] thread show_grate_repair(); return grate_repair_order1[i]; @@ -2966,14 +2971,16 @@ hudelem_count() /# max = 0; curr_total = 0; - for(;;) + while(1) { - max = level.hudelem_count; + if(level.hudelem_count > max) + { + max = level.hudelem_count; + } + println("HudElems: " + level.hudelem_count + "[Peak: " + max + "]"); wait(0.05); } -level.hudelem_count > max -1 #/ } @@ -2981,19 +2988,15 @@ level.hudelem_count > max debug_round_advancer() { /# - for(;;) + while(1) { zombs = get_round_enemy_array(); - i = 0; - for(;;) + for(i = 0;i < zombs.size;i++) { zombs[i] dodamage(zombs[i].health + 666,(0,0,0)); wait(0.5); - i++; } } -i < zombs.size -1 #/ } @@ -3002,13 +3005,11 @@ print_run_speed(speed) { /# self endon("death"); - for(;;) + while(1) { print3d(64 + VectorScale((0,0,1)),self.origin,speed); wait(0.05); } -(1,1,1) -1 #/ } @@ -3016,15 +3017,18 @@ print_run_speed(speed) draw_line_ent_to_ent(ent1,ent2) { /# - return; - ent1 endon("death",GetDvarInt(#"FA91EA91") != 1); + if(GetDvarInt(#"FA91EA91") != 1) + { + return; + } + + ent1 endon("death"); ent2 endon("death"); - for(;;) + while(1) { line(ent1.origin,ent2.origin); wait(0.05); } -1 #/ } @@ -3032,17 +3036,24 @@ draw_line_ent_to_ent(ent1,ent2) draw_line_ent_to_pos(ent,pos,end_on) { /# - return; - ent endon("death",GetDvarInt(#"FA91EA91") != 1); + if(GetDvarInt(#"FA91EA91") != 1) + { + return; + } + + ent endon("death"); ent notify("stop_draw_line_ent_to_pos"); ent endon("stop_draw_line_ent_to_pos"); - ent endon(end_on,IsDefined(end_on)); - for(;;) + if(IsDefined(end_on)) + { + ent endon(end_on); + } + + while(1) { line(ent.origin,pos); wait(0.05); } -1 #/ } @@ -3050,8 +3061,10 @@ draw_line_ent_to_pos(ent,pos,end_on) debug_print(msg) { /# - println("######### ZOMBIE: " + msg); -GetDvarInt(#"FA91EA91") > 0 + if(GetDvarInt(#"FA91EA91") > 0) + { + println("######### ZOMBIE: " + msg); + } #/ } @@ -3063,11 +3076,14 @@ debug_blocker(pos,rad,height) self endon("stop_debug_blocker"); for(;;) { - return; + if(GetDvarInt(#"FA91EA91") != 1) + { + return; + } + wait(0.05); drawcylinder(pos,rad,height); } -GetDvarInt(#"FA91EA91") != 1 #/ } @@ -3077,17 +3093,14 @@ drawcylinder(pos,rad,height) /# currad = rad; curheight = height; - r = 0; - for(;;) + for(r = 0;r < 20;r++) { theta = r / 20 * 360; theta2 = r + 1 / 20 * 360; line(pos + (cos(theta) * currad,sin(theta) * currad,0),pos + (cos(theta2) * currad,sin(theta2) * currad,0)); line(pos + (cos(theta) * currad,sin(theta) * currad,curheight),pos + (cos(theta2) * currad,sin(theta2) * currad,curheight)); line(pos + (cos(theta) * currad,sin(theta) * currad,0),pos + (cos(theta) * currad,sin(theta) * currad,curheight)); - r++; } -r < 20 #/ } @@ -3096,16 +3109,22 @@ print3d_at_pos(msg,pos,thread_endon,offset) { /# self endon("death"); - self notify(thread_endon,IsDefined(thread_endon)); - self endon(thread_endon); - offset = (0,0,0); - for(;;) + if(IsDefined(thread_endon)) + { + self notify(thread_endon); + self endon(thread_endon); + } + + if(!(IsDefined(offset))) + { + offset = (0,0,0); + } + + while(1) { print3d(self.origin + offset,msg); wait(0.05); } -1 -IsDefined(offset) #/ } @@ -3116,20 +3135,21 @@ debug_breadcrumbs() self endon("disconnect"); self notify("stop_debug_breadcrumbs"); self endon("stop_debug_breadcrumbs"); - for(;;) + while(1) { - wait(1); - i = 0; - for(;;) + if(GetDvarInt(#"FA91EA91") != 1) + { + wait(1); + continue; + } + + for(i = 0;i < self.zombie_breadcrumbs.size;i++) { drawcylinder(self.zombie_breadcrumbs[i],5,5); - i++; } + wait(0.05); } -i < self.zombie_breadcrumbs.size -GetDvarInt(#"FA91EA91") != 1 -1 #/ } @@ -3139,24 +3159,32 @@ debug_attack_spots_taken() /# self notify("stop_debug_breadcrumbs"); self endon("stop_debug_breadcrumbs"); - for(;;) + while(1) { - wait(1); + if(GetDvarInt(#"FA91EA91") != 2) + { + wait(1); + continue; + } + wait(0.05); count = 0; - i = 0; - for(;;) + for(i = 0;i < self.attack_spots_taken.size;i++) { - count++; - circle(self.attack_spots[i],12,(1,0,0),0,1,1); - circle(self.attack_spots[i],12,(0,1,0),0,1,1); - i++; + if(self.attack_spots_taken[i]) + { + count++; + circle(self.attack_spots[i],12,(1,0,0),0,1,1); + } + else + { + circle(self.attack_spots[i],12,(0,1,0),0,1,1); + } } + msg = "" + count + " / " + self.attack_spots_taken.size; print3d(self.origin,msg); } -(GetDvarInt(#"FA91EA91") != 2) ? i < self.attack_spots_taken.size : self.attack_spots_taken[i] -1 #/ } @@ -3167,15 +3195,12 @@ float_print3d(msg,time) self endon("death"); time = GetTime() + time * 1000; offset = VectorScale((0,0,1)); - for(;;) + while(GetTime() < time) { offset = 2 + VectorScale((0,0,1)); print3d(self.origin + offset,msg,(1,1,1)); wait(0.05); } -offset -GetTime() < time -72 #/ } @@ -3245,9 +3270,9 @@ magic_bullet_shield() { /# assertmsg("magic_bullet_shield does not support entity of classname \'" + self.classname + "\'."); -#/ } } +#/ } //Function Number: 119 @@ -3424,12 +3449,11 @@ print3d_ent(text,color,scale,offset,end_msg,overwrite) self._debug_print3d_msg = text; /# - for(;;) + while(1) { print3d(self.origin + offset,self._debug_print3d_msg,color,scale); wait(0.05); } -1 #/ } @@ -3674,8 +3698,11 @@ shock_onexplosion(damage,shocktype,shocklight) increment_is_drinking() { /# - self.is_drinking++; -IsDefined(level.devgui_dpad_watch) && level.devgui_dpad_watch + if(IsDefined(level.devgui_dpad_watch) && level.devgui_dpad_watch) + { + self.is_drinking++; + return; + } #/ if(!(IsDefined(self.is_drinking))) { @@ -3708,9 +3735,8 @@ decrement_is_drinking() { /# assertmsg("making is_drinking less than 0"); -#/ } - +#/ if(self.is_drinking == 0) { self enableoffhandweapons(); @@ -4803,9 +4829,8 @@ ent_flag_init(message,val) { /# assert(!IsDefined(self.ent_flag[message]),"Attempt to reinitialize existing flag \'" + message + "\' on entity."); -#/ } - +#/ if(IsDefined(val) && val) { self.ent_flag[message] = 1; @@ -4818,8 +4843,8 @@ ent_flag_init(message,val) self.ent_flag[message] = 0; /# self.ent_flags_lock[message] = 0; -#/ } +#/ } //Function Number: 238 @@ -5031,7 +5056,7 @@ track_players_intersection_tracker() else { /# - iprintlnbold("PLAYERS ARE TOO FRIENDLY!!!!!"); + iprintlnbold("PLAYERS ARE TOO FRIENDLY!!!!!"); #/ players[i] dodamage(1000,(0,0,0)); players[j] dodamage(1000,(0,0,0)); @@ -5406,11 +5431,14 @@ general_vox_timer(timer,type) level endon("end_game"); /# println("ZM >> VOX TIMER STARTED FOR " + type + " ( " + timer + ")"); + for(;;) + { #/ - while(timer > 0) - { - wait(1); - timer--; + if(timer > 0) + { + wait(1); + timer--; + } } level.votimer[type] = timer; diff --git a/BO2/PC/ZM/maps/mp/zombies/_zm_weap_cymbal_monkey.gsc b/BO2/PC/ZM/maps/mp/zombies/_zm_weap_cymbal_monkey.gsc index f991b63..a3f6095 100644 --- a/BO2/PC/ZM/maps/mp/zombies/_zm_weap_cymbal_monkey.gsc +++ b/BO2/PC/ZM/maps/mp/zombies/_zm_weap_cymbal_monkey.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 15 - * Decompile Time: 105 ms - * Timestamp: 10/27/2023 3:03:31 AM + * Decompile Time: 2 ms + * Timestamp: 10/28/2023 12:11:58 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/PC/ZM/maps/mp/zombies/_zm_weap_thundergun.gsc b/BO2/PC/ZM/maps/mp/zombies/_zm_weap_thundergun.gsc index 713585c..ca49437 100644 --- a/BO2/PC/ZM/maps/mp/zombies/_zm_weap_thundergun.gsc +++ b/BO2/PC/ZM/maps/mp/zombies/_zm_weap_thundergun.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 16 - * Decompile Time: 241 ms - * Timestamp: 10/27/2023 3:03:33 AM + * Decompile Time: 8 ms + * Timestamp: 10/28/2023 12:11:58 AM *******************************************************************/ #include common_scripts/utility; @@ -56,7 +56,11 @@ init() thundergun_devgui_dvar_think() { /# - return; + if(!(maps/mp/zombies/_zm_weapons::is_weapon_included("thundergun_zm"))) + { + return; + } + setdvar("scr_thundergun_cylinder_radius",level.zombie_vars["thundergun_cylinder_radius"]); setdvar("scr_thundergun_fling_range",level.zombie_vars["thundergun_fling_range"]); setdvar("scr_thundergun_gib_range",level.zombie_vars["thundergun_gib_range"]); @@ -73,7 +77,6 @@ thundergun_devgui_dvar_think() level.zombie_vars["thundergun_knockdown_damage"] = GetDvarInt(#"EAB5937B"); wait(0.5); } -maps/mp/zombies/_zm_weapons::is_weapon_included("thundergun_zm") #/ } @@ -163,12 +166,13 @@ thundergun_get_enemies_in_range() forward_view_angles = self getweaponforwarddir(); end_pos = level.zombie_vars["thundergun_knockdown_range"] + VectorScale(forward_view_angles); /# - near_circle_pos = 2 + VectorScale(forward_view_angles); - circle(near_circle_pos,level.zombie_vars["thundergun_cylinder_radius"],(1,0,0),0,0,100); - line(near_circle_pos,end_pos,(0,0,1),1,0,100); - circle(end_pos,level.zombie_vars["thundergun_cylinder_radius"],(1,0,0),0,0,100); -view_pos -2 == GetDvarInt(#"AAC84AD6") + if(2 == GetDvarInt(#"AAC84AD6")) + { + near_circle_pos = 2 + VectorScale(forward_view_angles); + circle(near_circle_pos,level.zombie_vars["thundergun_cylinder_radius"],(1,0,0),0,0,100); + line(near_circle_pos,end_pos,(0,0,1),1,0,100); + circle(end_pos,level.zombie_vars["thundergun_cylinder_radius"],(1,0,0),0,0,100); + } #/ for(i = 0;i < zombies.size;i++) { @@ -238,12 +242,17 @@ view_pos thundergun_debug_print(msg,color) { /# - return; - color = (1,1,1); + if(!(GetDvarInt(#"AAC84AD6"))) + { + return; + } + + if(!(IsDefined(color))) + { + color = (1,1,1); + } + print3d(60 + VectorScale((0,0,1)),self.origin,msg,color,1,1); -40 -IsDefined(color) -GetDvarInt(#"AAC84AD6") #/ } diff --git a/BO2/PC/ZM/maps/mp/zombies/_zm_weapons.gsc b/BO2/PC/ZM/maps/mp/zombies/_zm_weapons.gsc index 310d808..0f8f1ee 100644 --- a/BO2/PC/ZM/maps/mp/zombies/_zm_weapons.gsc +++ b/BO2/PC/ZM/maps/mp/zombies/_zm_weapons.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 108 - * Decompile Time: 449 ms - * Timestamp: 10/27/2023 3:03:35 AM + * Decompile Time: 51 ms + * Timestamp: 10/28/2023 12:11:59 AM *******************************************************************/ #include common_scripts/utility; @@ -645,8 +645,10 @@ add_zombie_weapon(weapon_name,upgrade_name,hint,cost,weaponvo,weaponvoresp,ammo_ } /# - [[ level.devgui_add_weapon ]](weapon_name,upgrade_name,hint,cost,weaponvo,weaponvoresp,ammo_cost); -IsDefined(level.devgui_add_weapon) + if(IsDefined(level.devgui_add_weapon)) + { + [[ level.devgui_add_weapon ]](weapon_name,upgrade_name,hint,cost,weaponvo,weaponvoresp,ammo_cost); + } #/ } @@ -1788,9 +1790,8 @@ get_weapon_display_name(weapon_name) weapon_display = &"MPUI_NONE"; /# weapon_display = "missing weapon name " + weapon_name; -#/ } - +#/ return weapon_display; } @@ -2674,8 +2675,10 @@ get_pack_a_punch_weapon_options(weapon) } /# - reticle_index = GetDvarInt(#"471F9AB9"); -GetDvarInt(#"471F9AB9") >= 0 + if(GetDvarInt(#"471F9AB9") >= 0) + { + reticle_index = GetDvarInt(#"471F9AB9"); + } #/ scary_eyes_reticle_index = 8; purple_reticle_color_index = 3; @@ -2943,9 +2946,11 @@ get_player_index(player) assert(IsDefined(player.characterindex)); #/ /# - new_vo_index = GetDvarInt(#"2222BA21"); - return new_vo_index; -player.entity_num == 0 && GetDvar(#"2222BA21") != "" + if(player.entity_num == 0 && GetDvar(#"2222BA21") != "") + { + new_vo_index = GetDvarInt(#"2222BA21"); + return new_vo_index; + } #/ return player.characterindex; } diff --git a/BO2/PC/ZM/maps/mp/zombies/_zm_zonemgr.gsc b/BO2/PC/ZM/maps/mp/zombies/_zm_zonemgr.gsc index 30ec0ab..0ca6a39 100644 --- a/BO2/PC/ZM/maps/mp/zombies/_zm_zonemgr.gsc +++ b/BO2/PC/ZM/maps/mp/zombies/_zm_zonemgr.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: PC * Function Count: 29 - * Decompile Time: 115 ms - * Timestamp: 10/27/2023 3:03:35 AM + * Decompile Time: 20 ms + * Timestamp: 10/28/2023 12:11:59 AM *******************************************************************/ #include common_scripts/utility; @@ -739,103 +739,106 @@ manage_zones(initial_zone) flag_wait("begin_spawning"); /# level thread _debug_zones(); + for(;;) + { #/ - while(GetDvarInt(#"10873CCA") == 0 || GetDvarInt(#"762F1309") != 0) - { - for(z = 0;z < zkeys.size;z++) + if(GetDvarInt(#"10873CCA") == 0 || GetDvarInt(#"762F1309") != 0) { - level.newzones[zkeys[z]].is_active = 0; - level.newzones[zkeys[z]].is_occupied = 0; - } - - a_zone_is_active = 0; - a_zone_is_spawning_allowed = 0; - level.zone_scanning_active = 1; - for(z = 0;z < zkeys.size;z++) - { - zone = level.zones[zkeys[z]]; - newzone = level.newzones[zkeys[z]]; - if(!(zone.is_enabled)) + for(z = 0;z < zkeys.size;z++) { + level.newzones[zkeys[z]].is_active = 0; + level.newzones[zkeys[z]].is_occupied = 0; } - else + + a_zone_is_active = 0; + a_zone_is_spawning_allowed = 0; + level.zone_scanning_active = 1; + for(z = 0;z < zkeys.size;z++) { - if(IsDefined(level.zone_occupied_func)) + zone = level.zones[zkeys[z]]; + newzone = level.newzones[zkeys[z]]; + if(!(zone.is_enabled)) { - newzone.is_occupied = [[ level.zone_occupied_func ]](zkeys[z]); } else { - newzone.is_occupied = player_in_zone(zkeys[z]); - } - - if(newzone.is_occupied) - { - newzone.is_active = 1; - a_zone_is_active = 1; - if(zone.is_spawning_allowed) + if(IsDefined(level.zone_occupied_func)) { - a_zone_is_spawning_allowed = 1; + newzone.is_occupied = [[ level.zone_occupied_func ]](zkeys[z]); + } + else + { + newzone.is_occupied = player_in_zone(zkeys[z]); } - if(!IsDefined(oldzone) || oldzone != newzone) + if(newzone.is_occupied) { - level notify("newzoneActive",zkeys[z]); - oldzone = newzone; - } - - azkeys = getarraykeys(zone.adjacent_zones); - for(az = 0;az < zone.adjacent_zones.size;az++) - { - if(zone.adjacent_zones[azkeys[az]].is_connected && level.zones[azkeys[az]].is_enabled) + newzone.is_active = 1; + a_zone_is_active = 1; + if(zone.is_spawning_allowed) { - level.newzones[azkeys[az]].is_active = 1; - if(level.zones[azkeys[az]].is_spawning_allowed) + a_zone_is_spawning_allowed = 1; + } + + if(!IsDefined(oldzone) || oldzone != newzone) + { + level notify("newzoneActive",zkeys[z]); + oldzone = newzone; + } + + azkeys = getarraykeys(zone.adjacent_zones); + for(az = 0;az < zone.adjacent_zones.size;az++) + { + if(zone.adjacent_zones[azkeys[az]].is_connected && level.zones[azkeys[az]].is_enabled) { - a_zone_is_spawning_allowed = 1; + level.newzones[azkeys[az]].is_active = 1; + if(level.zones[azkeys[az]].is_spawning_allowed) + { + a_zone_is_spawning_allowed = 1; + } } } } - } - zone_choke++; - if(zone_choke >= 3) + zone_choke++; + if(zone_choke >= 3) + { + zone_choke = 0; + wait(0.05); + } + } + } + + level.zone_scanning_active = 0; + for(z = 0;z < zkeys.size;z++) + { + level.zones[zkeys[z]].is_active = level.newzones[zkeys[z]].is_active; + level.zones[zkeys[z]].is_occupied = level.newzones[zkeys[z]].is_occupied; + } + + if(!a_zone_is_active || !a_zone_is_spawning_allowed) + { + if(isarray(initial_zone)) { - zone_choke = 0; - wait(0.05); + level.zones[initial_zone[0]].is_active = 1; + level.zones[initial_zone[0]].is_occupied = 1; + level.zones[initial_zone[0]].is_spawning_allowed = 1; + } + else + { + level.zones[initial_zone].is_active = 1; + level.zones[initial_zone].is_occupied = 1; + level.zones[initial_zone].is_spawning_allowed = 1; } } - } - level.zone_scanning_active = 0; - for(z = 0;z < zkeys.size;z++) - { - level.zones[zkeys[z]].is_active = level.newzones[zkeys[z]].is_active; - level.zones[zkeys[z]].is_occupied = level.newzones[zkeys[z]].is_occupied; - } - - if(!a_zone_is_active || !a_zone_is_spawning_allowed) - { - if(isarray(initial_zone)) - { - level.zones[initial_zone[0]].is_active = 1; - level.zones[initial_zone[0]].is_occupied = 1; - level.zones[initial_zone[0]].is_spawning_allowed = 1; - } - else - { - level.zones[initial_zone].is_active = 1; - level.zones[initial_zone].is_occupied = 1; - level.zones[initial_zone].is_spawning_allowed = 1; - } - } - - [[ level.create_spawner_list_func ]](zkeys); + [[ level.create_spawner_list_func ]](zkeys); /# - debug_show_spawn_locations(); + debug_show_spawn_locations(); #/ - level.active_zone_names = maps/mp/zombies/_zm_zonemgr::get_active_zone_names(); - wait(1); + level.active_zone_names = maps/mp/zombies/_zm_zonemgr::get_active_zone_names(); + wait(1); + } } } @@ -843,22 +846,21 @@ manage_zones(initial_zone) debug_show_spawn_locations() { /# - host_player = gethostplayer(); - _a980 = level.zombie_spawn_locations; - _k980 = FirstArrayKey(_a980); - for(;;) + if(IsDefined(level.toggle_show_spawn_locations) && level.toggle_show_spawn_locations) { - location = _a980[_k980]; - distance = distance(location.origin,host_player.origin); - color = (0,0,1); - color = (1,0,0); - debugstar(location.origin,GetDvarInt(#"BB9101B2"),color); - _k980 = NextArrayKey(_a980); + host_player = gethostplayer(); + foreach(location in level.zombie_spawn_locations) + { + distance = distance(location.origin,host_player.origin); + color = (0,0,1); + if(distance > GetDvarInt(#"85E6B1CE") * 12) + { + color = (1,0,0); + } + + debugstar(location.origin,GetDvarInt(#"BB9101B2"),color); + } } -_k980 -distance > GetDvarInt(#"85E6B1CE") * 12 -IsDefined(_k980) -IsDefined(level.toggle_show_spawn_locations) && level.toggle_show_spawn_locations #/ } @@ -913,78 +915,81 @@ old_manage_zones(initial_zone) flag_wait("begin_spawning"); /# level thread _debug_zones(); + for(;;) + { #/ - while(GetDvarInt(#"10873CCA") == 0 || GetDvarInt(#"762F1309") != 0) - { - for(z = 0;z < zkeys.size;z++) + if(GetDvarInt(#"10873CCA") == 0 || GetDvarInt(#"762F1309") != 0) { - level.zones[zkeys[z]].is_active = 0; - level.zones[zkeys[z]].is_occupied = 0; - } - - a_zone_is_active = 0; - a_zone_is_spawning_allowed = 0; - for(z = 0;z < zkeys.size;z++) - { - zone = level.zones[zkeys[z]]; - if(!(zone.is_enabled)) + for(z = 0;z < zkeys.size;z++) { + level.zones[zkeys[z]].is_active = 0; + level.zones[zkeys[z]].is_occupied = 0; } - else + + a_zone_is_active = 0; + a_zone_is_spawning_allowed = 0; + for(z = 0;z < zkeys.size;z++) { - if(IsDefined(level.zone_occupied_func)) + zone = level.zones[zkeys[z]]; + if(!(zone.is_enabled)) { - zone.is_occupied = [[ level.zone_occupied_func ]](zkeys[z]); } else { - zone.is_occupied = player_in_zone(zkeys[z]); - } - - if(zone.is_occupied) - { - zone.is_active = 1; - a_zone_is_active = 1; - if(zone.is_spawning_allowed) + if(IsDefined(level.zone_occupied_func)) { - a_zone_is_spawning_allowed = 1; + zone.is_occupied = [[ level.zone_occupied_func ]](zkeys[z]); + } + else + { + zone.is_occupied = player_in_zone(zkeys[z]); } - azkeys = getarraykeys(zone.adjacent_zones); - for(az = 0;az < zone.adjacent_zones.size;az++) + if(zone.is_occupied) { - if(zone.adjacent_zones[azkeys[az]].is_connected && level.zones[azkeys[az]].is_enabled) + zone.is_active = 1; + a_zone_is_active = 1; + if(zone.is_spawning_allowed) { - level.zones[azkeys[az]].is_active = 1; - if(level.zones[azkeys[az]].is_spawning_allowed) + a_zone_is_spawning_allowed = 1; + } + + azkeys = getarraykeys(zone.adjacent_zones); + for(az = 0;az < zone.adjacent_zones.size;az++) + { + if(zone.adjacent_zones[azkeys[az]].is_connected && level.zones[azkeys[az]].is_enabled) { - a_zone_is_spawning_allowed = 1; + level.zones[azkeys[az]].is_active = 1; + if(level.zones[azkeys[az]].is_spawning_allowed) + { + a_zone_is_spawning_allowed = 1; + } } } } } } - } - if(!a_zone_is_active || !a_zone_is_spawning_allowed) - { - if(isarray(initial_zone)) + if(!a_zone_is_active || !a_zone_is_spawning_allowed) { - level.zones[initial_zone[0]].is_active = 1; - level.zones[initial_zone[0]].is_occupied = 1; - level.zones[initial_zone[0]].is_spawning_allowed = 1; + if(isarray(initial_zone)) + { + level.zones[initial_zone[0]].is_active = 1; + level.zones[initial_zone[0]].is_occupied = 1; + level.zones[initial_zone[0]].is_spawning_allowed = 1; + } + else + { + level.zones[initial_zone].is_active = 1; + level.zones[initial_zone].is_occupied = 1; + level.zones[initial_zone].is_spawning_allowed = 1; + } } - else - { - level.zones[initial_zone].is_active = 1; - level.zones[initial_zone].is_occupied = 1; - level.zones[initial_zone].is_spawning_allowed = 1; - } - } - [[ level.create_spawner_list_func ]](zkeys); - level.active_zone_names = maps/mp/zombies/_zm_zonemgr::get_active_zone_names(); - wait(1); + [[ level.create_spawner_list_func ]](zkeys); + level.active_zone_names = maps/mp/zombies/_zm_zonemgr::get_active_zone_names(); + wait(1); + } } } diff --git a/BO2/Xbox/MP/codescripts/character_mp.gsc b/BO2/Xbox/MP/codescripts/character_mp.gsc index 86db78d..7e1cc64 100644 --- a/BO2/Xbox/MP/codescripts/character_mp.gsc +++ b/BO2/Xbox/MP/codescripts/character_mp.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 3 - * Decompile Time: 6 ms - * Timestamp: 10/27/2023 3:04:04 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:13:28 AM *******************************************************************/ #include codescripts/character; diff --git a/BO2/Xbox/MP/codescripts/delete.gsc b/BO2/Xbox/MP/codescripts/delete.gsc index 1754393..a332129 100644 --- a/BO2/Xbox/MP/codescripts/delete.gsc +++ b/BO2/Xbox/MP/codescripts/delete.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 1 - * Decompile Time: 4 ms - * Timestamp: 10/27/2023 3:04:04 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:13:28 AM *******************************************************************/ //Function Number: 1 @@ -18,11 +18,15 @@ main() if(IsDefined(self)) { /# - println(""); - println("*** trigger debug: delete.gsc is deleting trigger with ent#: " + self getentitynumber() + " at origin: " + self.origin); - println(""); -self.classname == "trigger_once" || self.classname == "trigger_radius" || self.classname == "trigger_multiple" -IsDefined(self.classname) + if(IsDefined(self.classname)) + { + if(self.classname == "trigger_once" || self.classname == "trigger_radius" || self.classname == "trigger_multiple") + { + println(""); + println("*** trigger debug: delete.gsc is deleting trigger with ent#: " + self getentitynumber() + " at origin: " + self.origin); + println(""); + } + } #/ self delete(); } diff --git a/BO2/Xbox/MP/codescripts/struct.gsc b/BO2/Xbox/MP/codescripts/struct.gsc index 21a0b07..048f015 100644 --- a/BO2/Xbox/MP/codescripts/struct.gsc +++ b/BO2/Xbox/MP/codescripts/struct.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 3 - * Decompile Time: 8 ms - * Timestamp: 10/27/2023 3:04:05 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:13:28 AM *******************************************************************/ //Function Number: 1 diff --git a/BO2/Xbox/MP/common_scripts/utility.gsc b/BO2/Xbox/MP/common_scripts/utility.gsc index 372ebc5..c084d3c 100644 --- a/BO2/Xbox/MP/common_scripts/utility.gsc +++ b/BO2/Xbox/MP/common_scripts/utility.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 124 - * Decompile Time: 173 ms - * Timestamp: 10/27/2023 3:04:05 AM + * Decompile Time: 22 ms + * Timestamp: 10/28/2023 12:13:29 AM *******************************************************************/ //Function Number: 1 @@ -385,14 +385,11 @@ vector_compare(vec1,vec2) draw_debug_line(start,end,timer) { /# - i = 0; - for(;;) + for(i = 0;i < timer * 20;i++) { line(start,end,(1,1,0.5)); wait(0.05); - i++; } -i < timer * 20 #/ } @@ -863,8 +860,8 @@ flag_delete(flagname) { /# println("flag_delete() called on flag that does not exist: " + flagname); -#/ } +#/ } //Function Number: 51 @@ -889,9 +886,8 @@ flag_init(flagname,val,b_is_trigger) { /# assert(!IsDefined(level.flag[flagname]),"Attempt to reinitialize existing flag: " + flagname); -#/ } - +#/ if(IsDefined(val) && val) { level.flag[flagname] = 1; @@ -1473,9 +1469,9 @@ trigger_use(str_name,str_key,ent,b_assert) { /# assertmsg("trigger not found: " + str_name + " key: " + str_key); -#/ - return; } +#/ + return; } } else @@ -1567,13 +1563,27 @@ init_trigger_flags() //Function Number: 83 is_look_trigger(trig) { - return IsDefined(trig) ? trig has_spawnflag(256) && !(!IsDefined(trig.classname) && !IsDefined("trigger_damage")) || IsDefined(trig.classname) && IsDefined("trigger_damage") && trig.classname == "trigger_damage" : 0; + if(IsDefined(trig)) + { + } + else + { + } + + return 0; } //Function Number: 84 is_trigger_once(trig) { - return IsDefined(trig) ? trig has_spawnflag(1024) || (!IsDefined(self.classname) && !IsDefined("trigger_once")) || IsDefined(self.classname) && IsDefined("trigger_once") && self.classname == "trigger_once" : 0; + if(IsDefined(trig)) + { + } + else + { + } + + return 0; } //Function Number: 85 @@ -1742,11 +1752,14 @@ fileprint_chk(file,str) { /# level.fileprintlinecount++; - wait(0.05); - level.fileprintlinecount++; - level.fileprintlinecount = 0; + if(level.fileprintlinecount > 400) + { + wait(0.05); + level.fileprintlinecount++; + level.fileprintlinecount = 0; + } + fprintln(file,str); -level.fileprintlinecount > 400 #/ } @@ -1765,11 +1778,14 @@ fileprint_map_header(binclude_blank_worldspawn) fileprint_chk(level.fileprint,"iwmap 4"); fileprint_chk(level.fileprint,"\"000_Global\" flags active"); fileprint_chk(level.fileprint,"\"The Map\" flags"); - return; + if(!(binclude_blank_worldspawn)) + { + return; + } + fileprint_map_entity_start(); fileprint_map_keypairprint("classname","worldspawn"); fileprint_map_entity_end(); -binclude_blank_worldspawn #/ } @@ -1824,29 +1840,32 @@ fileprint_end() assert(!IsDefined(level.fileprint_entitystart)); #/ saved = closefile(level.fileprint); - println("-----------------------------------"); - println(" "); - println("file write failure"); - println("file with name: " + level.fileprint_filename); - println("make sure you checkout the file you are trying to save"); - println("note: USE P4 Search to find the file and check that one out"); - println(" Do not checkin files in from the xenonoutput folder, "); - println(" this is junctioned to the proper directory where you need to go"); - println("junctions looks like this"); - println(" "); - println("..\\xenonOutput\\scriptdata\\createfx ..\\share\\raw\\maps\\createfx"); - println("..\\xenonOutput\\scriptdata\\createart ..\\share\\raw\\maps\\createart"); - println("..\\xenonOutput\\scriptdata\\vision ..\\share\\raw\\vision"); - println("..\\xenonOutput\\scriptdata\\scriptgen ..\\share\\raw\\maps\\scriptgen"); - println("..\\xenonOutput\\scriptdata\\zone_source ..\\xenon\\zone_source"); - println("..\\xenonOutput\\accuracy ..\\share\\raw\\accuracy"); - println("..\\xenonOutput\\scriptdata\\map_source ..\\map_source\\xenon_export"); - println(" "); - println("-----------------------------------"); - println("File not saved( see console.log for info ) "); + if(saved != 1) + { + println("-----------------------------------"); + println(" "); + println("file write failure"); + println("file with name: " + level.fileprint_filename); + println("make sure you checkout the file you are trying to save"); + println("note: USE P4 Search to find the file and check that one out"); + println(" Do not checkin files in from the xenonoutput folder, "); + println(" this is junctioned to the proper directory where you need to go"); + println("junctions looks like this"); + println(" "); + println("..\\xenonOutput\\scriptdata\\createfx ..\\share\\raw\\maps\\createfx"); + println("..\\xenonOutput\\scriptdata\\createart ..\\share\\raw\\maps\\createart"); + println("..\\xenonOutput\\scriptdata\\vision ..\\share\\raw\\vision"); + println("..\\xenonOutput\\scriptdata\\scriptgen ..\\share\\raw\\maps\\scriptgen"); + println("..\\xenonOutput\\scriptdata\\zone_source ..\\xenon\\zone_source"); + println("..\\xenonOutput\\accuracy ..\\share\\raw\\accuracy"); + println("..\\xenonOutput\\scriptdata\\map_source ..\\map_source\\xenon_export"); + println(" "); + println("-----------------------------------"); + println("File not saved( see console.log for info ) "); + } + level.fileprint = undefined; level.fileprint_filename = undefined; -saved != 1 #/ } diff --git a/BO2/Xbox/MP/maps/mp/_acousticsensor.gsc b/BO2/Xbox/MP/maps/mp/_acousticsensor.gsc index ebac9e6..9ae60f9 100644 --- a/BO2/Xbox/MP/maps/mp/_acousticsensor.gsc +++ b/BO2/Xbox/MP/maps/mp/_acousticsensor.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 7 - * Decompile Time: 31 ms - * Timestamp: 10/27/2023 3:04:49 AM + * Decompile Time: 1 ms + * Timestamp: 10/28/2023 12:13:42 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/Xbox/MP/maps/mp/_ambientpackage.gsc b/BO2/Xbox/MP/maps/mp/_ambientpackage.gsc index 1c16840..fe4c7e5 100644 --- a/BO2/Xbox/MP/maps/mp/_ambientpackage.gsc +++ b/BO2/Xbox/MP/maps/mp/_ambientpackage.gsc @@ -5,5 +5,5 @@ * Platform: Console * Function Count: 0 * Decompile Time: 0 ms - * Timestamp: 10/27/2023 3:04:49 AM + * Timestamp: 10/28/2023 12:13:42 AM *******************************************************************/ \ No newline at end of file diff --git a/BO2/Xbox/MP/maps/mp/_art.gsc b/BO2/Xbox/MP/maps/mp/_art.gsc index 6fc52dc..6f5b1c8 100644 --- a/BO2/Xbox/MP/maps/mp/_art.gsc +++ b/BO2/Xbox/MP/maps/mp/_art.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 14 - * Decompile Time: 74 ms - * Timestamp: 10/27/2023 3:04:50 AM + * Decompile Time: 9 ms + * Timestamp: 10/28/2023 12:13:42 AM *******************************************************************/ #include common_scripts/utility; @@ -15,13 +15,41 @@ main() { /# - setdvar("scr_art_tweak",0); - setdvar("scr_dof_enable","1"); - setdvar("scr_cinematic_autofocus","1"); - setdvar("scr_art_visionfile",level.script); - setdvar("debug_reflection","0"); - setdvar("debug_reflection_matte","0"); - setdvar("debug_color_pallete","0"); + if(GetDvar(#"5E997AE") == "" || GetDvar(#"5E997AE") == "0") + { + setdvar("scr_art_tweak",0); + } + + if(GetDvar(#"628ADECB") == "") + { + setdvar("scr_dof_enable","1"); + } + + if(GetDvar(#"69E20811") == "") + { + setdvar("scr_cinematic_autofocus","1"); + } + + if(GetDvar(#"FE68F88A") == "" && IsDefined(level.script)) + { + setdvar("scr_art_visionfile",level.script); + } + + if(GetDvar(#"628768B6") == "") + { + setdvar("debug_reflection","0"); + } + + if(GetDvar(#"33E24970") == "") + { + setdvar("debug_reflection_matte","0"); + } + + if(GetDvar(#"C450CB50") == "") + { + setdvar("debug_color_pallete","0"); + } + precachemodel("test_sphere_lambert"); precachemodel("test_macbeth_chart"); precachemodel("test_macbeth_chart_unlit"); @@ -29,13 +57,6 @@ main() level thread debug_reflection(); level thread debug_reflection_matte(); level thread debug_color_pallete(); -GetDvar(#"C450CB50") == "" -GetDvar(#"33E24970") == "" -GetDvar(#"628768B6") == "" -GetDvar(#"FE68F88A") == "" && IsDefined(level.script) -GetDvar(#"69E20811") == "" -GetDvar(#"628ADECB") == "" -GetDvar(#"5E997AE") == "" || GetDvar(#"5E997AE") == "0" #/ if(!(IsDefined(level.dofdefault))) { @@ -61,9 +82,12 @@ GetDvar(#"5E997AE") == "" || GetDvar(#"5E997AE") == "0" artfxprintln(file,string) { /# - return; + if(file == -1) + { + return; + } + fprintln(file,string); -file == -1 #/ } @@ -120,11 +144,19 @@ setfogsliders() tweakart() { /# - level.tweakfile = 0; - setdvar("scr_fog_exp_halfplane","500"); - setdvar("scr_fog_exp_halfheight","500"); - setdvar("scr_fog_nearplane","0"); - setdvar("scr_fog_baseheight","0"); + if(!(IsDefined(level.tweakfile))) + { + level.tweakfile = 0; + } + + if(GetDvar(#"829C0FDB") == "") + { + setdvar("scr_fog_exp_halfplane","500"); + setdvar("scr_fog_exp_halfheight","500"); + setdvar("scr_fog_nearplane","0"); + setdvar("scr_fog_baseheight","0"); + } + setdvar("scr_fog_fraction","1.0"); setdvar("scr_art_dump","0"); setdvar("scr_art_sun_fog_dir_set","0"); @@ -139,27 +171,32 @@ tweakart() tweak_toggle = 1; for(;;) { - for(;;) + while(GetDvarInt(#"5E997AE") == 0) { tweak_toggle = 1; wait(0.05); } - tweak_toggle = 0; - fogsettings = getfogsettings(); - setdvar("scr_fog_nearplane",fogsettings[0]); - setdvar("scr_fog_exp_halfplane",fogsettings[1]); - setdvar("scr_fog_exp_halfheight",fogsettings[3]); - setdvar("scr_fog_baseheight",fogsettings[2]); - setdvar("scr_fog_color",fogsettings[4] + " " + fogsettings[5] + " " + fogsettings[6]); - setdvar("scr_fog_color_scale",fogsettings[7]); - setdvar("scr_sun_fog_color",fogsettings[8] + " " + fogsettings[9] + " " + fogsettings[10]); - level.fogsundir = []; - level.fogsundir[0] = fogsettings[11]; - level.fogsundir[1] = fogsettings[12]; - level.fogsundir[2] = fogsettings[13]; - setdvar("scr_sun_fog_start_angle",fogsettings[14]); - setdvar("scr_sun_fog_end_angle",fogsettings[15]); - setdvar("scr_fog_max_opacity",fogsettings[16]); + + if(tweak_toggle) + { + tweak_toggle = 0; + fogsettings = getfogsettings(); + setdvar("scr_fog_nearplane",fogsettings[0]); + setdvar("scr_fog_exp_halfplane",fogsettings[1]); + setdvar("scr_fog_exp_halfheight",fogsettings[3]); + setdvar("scr_fog_baseheight",fogsettings[2]); + setdvar("scr_fog_color",fogsettings[4] + " " + fogsettings[5] + " " + fogsettings[6]); + setdvar("scr_fog_color_scale",fogsettings[7]); + setdvar("scr_sun_fog_color",fogsettings[8] + " " + fogsettings[9] + " " + fogsettings[10]); + level.fogsundir = []; + level.fogsundir[0] = fogsettings[11]; + level.fogsundir[1] = fogsettings[12]; + level.fogsundir[2] = fogsettings[13]; + setdvar("scr_sun_fog_start_angle",fogsettings[14]); + setdvar("scr_sun_fog_end_angle",fogsettings[15]); + setdvar("scr_fog_max_opacity",fogsettings[16]); + } + level.fogexphalfplane = GetDvarFloat(#"B59305FE"); level.fogexphalfheight = GetDvarFloat(#"54D01B47"); level.fognearplane = GetDvarFloat(#"5C40223D"); @@ -174,29 +211,39 @@ tweakart() level.sunstartangle = GetDvarFloat(#"ECC36390"); level.sunendangle = GetDvarFloat(#"FA1301D9"); level.fogmaxopacity = GetDvarFloat(#"81EA8425"); - setdvar("scr_art_sun_fog_dir_set","0"); - println("Setting sun fog direction to facing of player"); - players = get_players(); - dir = vectornormalize(AnglesToForward(players[0] getplayerangles())); - level.fogsundir = []; - level.fogsundir[0] = dir[0]; - level.fogsundir[1] = dir[1]; - level.fogsundir[2] = dir[2]; + if(GetDvarInt(#"9EF57A6C")) + { + setdvar("scr_art_sun_fog_dir_set","0"); + println("Setting sun fog direction to facing of player"); + players = get_players(); + dir = vectornormalize(AnglesToForward(players[0] getplayerangles())); + level.fogsundir = []; + level.fogsundir[0] = dir[0]; + level.fogsundir[1] = dir[1]; + level.fogsundir[2] = dir[2]; + } + fovslidercheck(); dumpsettings(); - level.fogsundir = []; - level.fogsundir[0] = 1; - level.fogsundir[1] = 0; - level.fogsundir[2] = 0; - setvolfog(level.fognearplane,level.fogexphalfplane,level.fogexphalfheight,level.fogbaseheight,level.fogcolorred,level.fogcolorgreen,level.fogcolorblue,level.fogcolorscale,level.sunfogcolorred,level.sunfogcolorgreen,level.sunfogcolorblue,level.fogsundir[0],level.fogsundir[1],level.fogsundir[2],level.sunstartangle,level.sunendangle,0,level.fogmaxopacity); - setexpfog(100000000,100000001,0,0,0,0); + if(!(GetDvarInt(#"DBBD8F3B"))) + { + if(!(IsDefined(level.fogsundir))) + { + level.fogsundir = []; + level.fogsundir[0] = 1; + level.fogsundir[1] = 0; + level.fogsundir[2] = 0; + } + + setvolfog(level.fognearplane,level.fogexphalfplane,level.fogexphalfheight,level.fogbaseheight,level.fogcolorred,level.fogcolorgreen,level.fogcolorblue,level.fogcolorscale,level.sunfogcolorred,level.sunfogcolorgreen,level.sunfogcolorblue,level.fogsundir[0],level.fogsundir[1],level.fogsundir[2],level.sunstartangle,level.sunendangle,0,level.fogmaxopacity); + } + else + { + setexpfog(100000000,100000001,0,0,0,0); + } + wait(0.1); } -(GetDvarInt(#"9EF57A6C")) ? GetDvarInt(#"DBBD8F3B") : IsDefined(level.fogsundir) -tweak_toggle -GetDvarInt(#"5E997AE") == 0 -GetDvar(#"829C0FDB") == "" -IsDefined(level.tweakfile) #/ } @@ -244,30 +291,32 @@ fovslidercheck() dumpsettings() { /# - println("\tstart_dist = " + level.fognearplane + ";"); - println("\thalf_dist = " + level.fogexphalfplane + ";"); - println("\thalf_height = " + level.fogexphalfheight + ";"); - println("\tbase_height = " + level.fogbaseheight + ";"); - println("\tfog_r = " + level.fogcolorred + ";"); - println("\tfog_g = " + level.fogcolorgreen + ";"); - println("\tfog_b = " + level.fogcolorblue + ";"); - println("\tfog_scale = " + level.fogcolorscale + ";"); - println("\tsun_col_r = " + level.sunfogcolorred + ";"); - println("\tsun_col_g = " + level.sunfogcolorgreen + ";"); - println("\tsun_col_b = " + level.sunfogcolorblue + ";"); - println("\tsun_dir_x = " + level.fogsundir[0] + ";"); - println("\tsun_dir_y = " + level.fogsundir[1] + ";"); - println("\tsun_dir_z = " + level.fogsundir[2] + ";"); - println("\tsun_start_ang = " + level.sunstartangle + ";"); - println("\tsun_stop_ang = " + level.sunendangle + ";"); - println("\ttime = 0;"); - println("\tmax_fog_opacity = " + level.fogmaxopacity + ";"); - println(""); - println("\tsetVolFog(start_dist, half_dist, half_height, base_height, fog_r, fog_g, fog_b, fog_scale,"); - println("\t\tsun_col_r, sun_col_g, sun_col_b, sun_dir_x, sun_dir_y, sun_dir_z, sun_start_ang, "); - println("\t\tsun_stop_ang, time, max_fog_opacity);"); - setdvar("scr_art_dump","0"); -GetDvar(#"D1996D68") != "0" + if(GetDvar(#"D1996D68") != "0") + { + println("\tstart_dist = " + level.fognearplane + ";"); + println("\thalf_dist = " + level.fogexphalfplane + ";"); + println("\thalf_height = " + level.fogexphalfheight + ";"); + println("\tbase_height = " + level.fogbaseheight + ";"); + println("\tfog_r = " + level.fogcolorred + ";"); + println("\tfog_g = " + level.fogcolorgreen + ";"); + println("\tfog_b = " + level.fogcolorblue + ";"); + println("\tfog_scale = " + level.fogcolorscale + ";"); + println("\tsun_col_r = " + level.sunfogcolorred + ";"); + println("\tsun_col_g = " + level.sunfogcolorgreen + ";"); + println("\tsun_col_b = " + level.sunfogcolorblue + ";"); + println("\tsun_dir_x = " + level.fogsundir[0] + ";"); + println("\tsun_dir_y = " + level.fogsundir[1] + ";"); + println("\tsun_dir_z = " + level.fogsundir[2] + ";"); + println("\tsun_start_ang = " + level.sunstartangle + ";"); + println("\tsun_stop_ang = " + level.sunendangle + ";"); + println("\ttime = 0;"); + println("\tmax_fog_opacity = " + level.fogmaxopacity + ";"); + println(""); + println("\tsetVolFog(start_dist, half_dist, half_height, base_height, fog_r, fog_g, fog_b, fog_scale,"); + println("\t\tsun_col_r, sun_col_g, sun_col_b, sun_dir_x, sun_dir_y, sun_dir_z, sun_start_ang, "); + println("\t\tsun_stop_ang, time, max_fog_opacity);"); + setdvar("scr_art_dump","0"); + } #/ } @@ -276,31 +325,41 @@ debug_reflection() { /# level.debug_reflection = 0; - for(;;) + while(1) { wait(0.1); - remove_reflection_objects(); - create_reflection_objects(); - level.debug_reflection = 2; - continue; - create_reflection_objects(); - create_reflection_object(); - level.debug_reflection = 3; - continue; - setdvar("debug_reflection_matte","0"); - setdvar("debug_color_pallete","0"); - remove_reflection_objects(); - create_reflection_object(); - level.debug_reflection = 1; - continue; - remove_reflection_objects(); - level.debug_reflection = 0; + if((GetDvar(#"628768B6") == "2" && level.debug_reflection != 2) || GetDvar(#"628768B6") == "3" && level.debug_reflection != 3) + { + remove_reflection_objects(); + if(GetDvar(#"628768B6") == "2") + { + create_reflection_objects(); + level.debug_reflection = 2; + continue; + } + + create_reflection_objects(); + create_reflection_object(); + level.debug_reflection = 3; + continue; + } + + if(GetDvar(#"628768B6") == "1" && level.debug_reflection != 1) + { + setdvar("debug_reflection_matte","0"); + setdvar("debug_color_pallete","0"); + remove_reflection_objects(); + create_reflection_object(); + level.debug_reflection = 1; + continue; + } + + if(GetDvar(#"628768B6") == "0" && level.debug_reflection != 0) + { + remove_reflection_objects(); + level.debug_reflection = 0; + } } -GetDvar(#"628768B6") == "0" && level.debug_reflection != 0 -GetDvar(#"628768B6") == "1" && level.debug_reflection != 1 -GetDvar(#"628768B6") == "2" -(GetDvar(#"628768B6") == "2" && level.debug_reflection != 2) || GetDvar(#"628768B6") == "3" && level.debug_reflection != 3 -1 #/ } @@ -308,18 +367,23 @@ GetDvar(#"628768B6") == "2" remove_reflection_objects() { /# - i = 0; - for(;;) + if((level.debug_reflection == 2 || level.debug_reflection == 3) && IsDefined(level.debug_reflection_objects)) { - level.debug_reflection_objects[i] delete(); - i++; + for(i = 0;i < level.debug_reflection_objects.size;i++) + { + level.debug_reflection_objects[i] delete(); + } + + level.debug_reflection_objects = undefined; + } + + if(level.debug_reflection == 1 || level.debug_reflection == 3 || level.debug_reflection_matte == 1 || level.debug_color_pallete == 1 || level.debug_color_pallete == 2) + { + if(IsDefined(level.debug_reflectionobject)) + { + level.debug_reflectionobject delete(); + } } - level.debug_reflection_objects = undefined; - level.debug_reflectionobject delete(); -IsDefined(level.debug_reflectionobject) -level.debug_reflection == 1 || level.debug_reflection == 3 || level.debug_reflection_matte == 1 || level.debug_color_pallete == 1 || level.debug_color_pallete == 2 -i < level.debug_reflection_objects.size -(level.debug_reflection == 2 || level.debug_reflection == 3) && IsDefined(level.debug_reflection_objects) #/ } @@ -328,14 +392,11 @@ create_reflection_objects() { /# reflection_locs = getreflectionlocs(); - i = 0; - for(;;) + for(i = 0;i < reflection_locs.size;i++) { level.debug_reflection_objects[i] = spawn("script_model",reflection_locs[i]); level.debug_reflection_objects[i] setmodel("test_sphere_silver"); - i++; } -i < reflection_locs.size #/ } @@ -348,7 +409,11 @@ create_reflection_object(model) } /# - level.debug_reflectionobject delete(); + if(IsDefined(level.debug_reflectionobject)) + { + level.debug_reflectionobject delete(); + } + players = get_players(); player = players[0]; level.debug_reflectionobject = spawn("script_model",100 + VectorScale(AnglesToForward(player.angles))); @@ -356,9 +421,6 @@ create_reflection_object(model) level.debug_reflectionobject.origin = 100 + VectorScale(AnglesToForward(player getplayerangles())); level.debug_reflectionobject linkto(player); thread debug_reflection_buttons(); -player geteye() -player geteye() -IsDefined(level.debug_reflectionobject) #/ } @@ -371,13 +433,29 @@ debug_reflection_buttons() level.debug_reflectionobject endon("death"); offset = 100; lastoffset = offset; - for(;;) + while(GetDvar(#"628768B6") == "1" || GetDvar(#"628768B6") == "3" || GetDvar(#"33E24970") == "1" || GetDvar(#"C450CB50") == "1" || GetDvar(#"C450CB50") == "2") { players = get_players(); - offset = offset + 50; - offset = offset - 50; - offset = 1000; - offset = 64; + if(players[0] buttonpressed("BUTTON_X")) + { + offset = offset + 50; + } + + if(players[0] buttonpressed("BUTTON_Y")) + { + offset = offset - 50; + } + + if(offset > 1000) + { + offset = 1000; + } + + if(offset < 64) + { + offset = 64; + } + level.debug_reflectionobject unlink(); level.debug_reflectionobject.origin = offset + VectorScale(AnglesToForward(players[0] getplayerangles())); temp_angles = VectorToAngles(players[0].origin - level.debug_reflectionobject.origin); @@ -385,15 +463,11 @@ debug_reflection_buttons() lastoffset = offset; line(level.debug_reflectionobject.origin,getreflectionorigin(level.debug_reflectionobject.origin),(1,0,0),1,1); wait(0.05); - level.debug_reflectionobject linkto(players[0]); + if(IsDefined(level.debug_reflectionobject)) + { + level.debug_reflectionobject linkto(players[0]); + } } -IsDefined(level.debug_reflectionobject) -players[0] geteye() -offset < 64 -offset > 1000 -players[0] buttonpressed("BUTTON_Y") -players[0] buttonpressed("BUTTON_X") -GetDvar(#"628768B6") == "1" || GetDvar(#"628768B6") == "3" || GetDvar(#"33E24970") == "1" || GetDvar(#"C450CB50") == "1" || GetDvar(#"C450CB50") == "2" #/ } @@ -402,21 +476,25 @@ debug_reflection_matte() { /# level.debug_reflection_matte = 0; - for(;;) + while(1) { wait(0.1); - setdvar("debug_reflection","0"); - setdvar("debug_color_pallete","0"); - remove_reflection_objects(); - create_reflection_object("test_sphere_lambert"); - level.debug_reflection_matte = 1; - continue; - remove_reflection_objects(); - level.debug_reflection_matte = 0; + if(GetDvar(#"33E24970") == "1" && level.debug_reflection_matte != 1) + { + setdvar("debug_reflection","0"); + setdvar("debug_color_pallete","0"); + remove_reflection_objects(); + create_reflection_object("test_sphere_lambert"); + level.debug_reflection_matte = 1; + continue; + } + + if(GetDvar(#"33E24970") == "0" && level.debug_reflection_matte != 0) + { + remove_reflection_objects(); + level.debug_reflection_matte = 0; + } } -GetDvar(#"33E24970") == "0" && level.debug_reflection_matte != 0 -GetDvar(#"33E24970") == "1" && level.debug_reflection_matte != 1 -1 #/ } @@ -425,25 +503,32 @@ debug_color_pallete() { /# level.debug_color_pallete = 0; - for(;;) + while(1) { wait(0.1); - setdvar("debug_reflection","0"); - setdvar("debug_reflection_matte","0"); - remove_reflection_objects(); - create_reflection_object("test_macbeth_chart"); - level.debug_color_pallete = 1; - continue; - remove_reflection_objects(); - create_reflection_object("test_macbeth_chart_unlit"); - level.debug_color_pallete = 2; - continue; - remove_reflection_objects(); - level.debug_color_pallete = 0; + if(GetDvar(#"C450CB50") == "1" && level.debug_color_pallete != 1) + { + setdvar("debug_reflection","0"); + setdvar("debug_reflection_matte","0"); + remove_reflection_objects(); + create_reflection_object("test_macbeth_chart"); + level.debug_color_pallete = 1; + continue; + } + + if(GetDvar(#"C450CB50") == "2" && level.debug_color_pallete != 2) + { + remove_reflection_objects(); + create_reflection_object("test_macbeth_chart_unlit"); + level.debug_color_pallete = 2; + continue; + } + + if(GetDvar(#"C450CB50") == "0" && level.debug_color_pallete != 0) + { + remove_reflection_objects(); + level.debug_color_pallete = 0; + } } -GetDvar(#"C450CB50") == "0" && level.debug_color_pallete != 0 -GetDvar(#"C450CB50") == "2" && level.debug_color_pallete != 2 -GetDvar(#"C450CB50") == "1" && level.debug_color_pallete != 1 -1 #/ } \ No newline at end of file diff --git a/BO2/Xbox/MP/maps/mp/_audio.gsc b/BO2/Xbox/MP/maps/mp/_audio.gsc index 8c34dd6..a08f890 100644 --- a/BO2/Xbox/MP/maps/mp/_audio.gsc +++ b/BO2/Xbox/MP/maps/mp/_audio.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 9 - * Decompile Time: 12 ms - * Timestamp: 10/27/2023 3:04:50 AM + * Decompile Time: 1 ms + * Timestamp: 10/28/2023 12:13:42 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/Xbox/MP/maps/mp/_ballistic_knife.gsc b/BO2/Xbox/MP/maps/mp/_ballistic_knife.gsc index 17656e2..5e80999 100644 --- a/BO2/Xbox/MP/maps/mp/_ballistic_knife.gsc +++ b/BO2/Xbox/MP/maps/mp/_ballistic_knife.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 11 - * Decompile Time: 54 ms - * Timestamp: 10/27/2023 3:04:50 AM + * Decompile Time: 6 ms + * Timestamp: 10/28/2023 12:13:43 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/Xbox/MP/maps/mp/_bb.gsc b/BO2/Xbox/MP/maps/mp/_bb.gsc index 80a1736..d65c8dd 100644 --- a/BO2/Xbox/MP/maps/mp/_bb.gsc +++ b/BO2/Xbox/MP/maps/mp/_bb.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 8 - * Decompile Time: 20 ms - * Timestamp: 10/27/2023 3:04:51 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:13:43 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/Xbox/MP/maps/mp/_bouncingbetty.gsc b/BO2/Xbox/MP/maps/mp/_bouncingbetty.gsc index 7249666..6828ee6 100644 --- a/BO2/Xbox/MP/maps/mp/_bouncingbetty.gsc +++ b/BO2/Xbox/MP/maps/mp/_bouncingbetty.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 10 - * Decompile Time: 32 ms - * Timestamp: 10/27/2023 3:04:51 AM + * Decompile Time: 1 ms + * Timestamp: 10/28/2023 12:13:43 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/Xbox/MP/maps/mp/_burnplayer.gsc b/BO2/Xbox/MP/maps/mp/_burnplayer.gsc index 9db26f7..c49f2dd 100644 --- a/BO2/Xbox/MP/maps/mp/_burnplayer.gsc +++ b/BO2/Xbox/MP/maps/mp/_burnplayer.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 21 - * Decompile Time: 58 ms - * Timestamp: 10/27/2023 3:04:52 AM + * Decompile Time: 5 ms + * Timestamp: 10/28/2023 12:13:43 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/Xbox/MP/maps/mp/_busing.gsc b/BO2/Xbox/MP/maps/mp/_busing.gsc index eecf661..d071f2f 100644 --- a/BO2/Xbox/MP/maps/mp/_busing.gsc +++ b/BO2/Xbox/MP/maps/mp/_busing.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 2 - * Decompile Time: 1 ms - * Timestamp: 10/27/2023 3:04:52 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:13:43 AM *******************************************************************/ #include maps/mp/_utility; diff --git a/BO2/Xbox/MP/maps/mp/_challenges.gsc b/BO2/Xbox/MP/maps/mp/_challenges.gsc index 96d35f4..61940f6 100644 --- a/BO2/Xbox/MP/maps/mp/_challenges.gsc +++ b/BO2/Xbox/MP/maps/mp/_challenges.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 87 - * Decompile Time: 231 ms - * Timestamp: 10/27/2023 3:04:53 AM + * Decompile Time: 32 ms + * Timestamp: 10/28/2023 12:13:44 AM *******************************************************************/ #include common_scripts/utility; @@ -77,8 +77,10 @@ addflyswatterstat(weapon,aircraft) canprocesschallenges() { /# - return 1; -getdvarintdefault("scr_debug_challenges",0) + if(getdvarintdefault("scr_debug_challenges",0)) + { + return 1; + } #/ if(level.rankedmatch || level.wagermatch) { diff --git a/BO2/Xbox/MP/maps/mp/_compass.gsc b/BO2/Xbox/MP/maps/mp/_compass.gsc index d8c0dca..5a46074 100644 --- a/BO2/Xbox/MP/maps/mp/_compass.gsc +++ b/BO2/Xbox/MP/maps/mp/_compass.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 2 - * Decompile Time: 10 ms - * Timestamp: 10/27/2023 3:04:53 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:13:44 AM *******************************************************************/ //Function Number: 1 diff --git a/BO2/Xbox/MP/maps/mp/_createfx.gsc b/BO2/Xbox/MP/maps/mp/_createfx.gsc index 944f013..8eb1c14 100644 --- a/BO2/Xbox/MP/maps/mp/_createfx.gsc +++ b/BO2/Xbox/MP/maps/mp/_createfx.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 98 - * Decompile Time: 385 ms - * Timestamp: 10/27/2023 3:04:55 AM + * Decompile Time: 39 ms + * Timestamp: 10/28/2023 12:13:44 AM *******************************************************************/ #include common_scripts/utility; @@ -176,10 +176,9 @@ fx_init() delete_arrays_in_sp(); /# println("We\'re not in MP!"); -#/ } } - +#/ for(i = 0;i < level.createfxent.size;i++) { ent = level.createfxent[i]; @@ -345,9 +344,14 @@ createfxlogic() filename = level.cfx_server_scriptdata + level.script + "_fx.gsc"; file = openfile(filename,"append"); level.write_error = ""; - level.write_error = filename; - closefile(file); -Stack-Empty ? Stack-Empty : file == -1 + if(file == -1) + { + level.write_error = filename; + } + else + { + closefile(file); + } #/ level.createfxhudelements = []; level.createfx_hudelements = 100; @@ -837,8 +841,7 @@ manipulate_createfx_ents(highlightedent,leftclick,leftheld,ctrlheld,colors,right offset = level.createfx_manipulate_offset; level.createfx_manipulate_offset = level.createfx_manipulate_offset + 1 % print_frames; - i = offset; - while(i < level.createfxent.size) + for(i = offset;i < level.createfxent.size;i = i + print_frames) { ent = level.createfxent[i]; if(!(ent.drawn)) @@ -856,19 +859,17 @@ manipulate_createfx_ents(highlightedent,leftclick,leftheld,ctrlheld,colors,right } /# - print3d(ent.v["origin"],".",colors[ent.v["type"]][colorindex],1,scale,print_frames); + print3d(ent.v["origin"],".",colors[ent.v["type"]][colorindex],1,scale,print_frames); #/ if(ent.textalpha > 0) { printright = VectorScale(right); printup = (0,0,15 * scale); /# - print3d(ent.v["origin"] + printright + printup,ent.v["fxid"],colors[ent.v["type"]][colorindex],ent.textalpha,scale,print_frames); -#/ + print3d(ent.v["origin"] + printright + printup,ent.v["fxid"],colors[ent.v["type"]][colorindex],ent.textalpha,scale,print_frames); } } - - i = Stack-Empty ? ent.v["fxid"].size * -2.93 * scale : i + print_frames; +#/ } if(IsDefined(highlightedent)) @@ -925,9 +926,9 @@ manipulate_createfx_ents(highlightedent,leftclick,leftheld,ctrlheld,colors,right printup = (0,0,15 * scale); /# print3d(highlightedent.v["origin"] + printright + printup,highlightedent.v["fxid"],colors[highlightedent.v["type"]][colorindex],highlightedent.textalpha,scale,1); -#/ } } +#/ } //Function Number: 10 @@ -1495,55 +1496,214 @@ set_anglemod_move_vector() /# ctrlheld = button_is_held("ctrl","BUTTON_LSHLDR"); players = get_players(); - newmovement = players[0] getnormalizedmovement(); - dolly_movement = players[0] getnormalizedcameramovement(); - level.selectedrotate_yaw = level.selectedrotate_yaw - 1; - level.selectedrotate_yaw = level.selectedrotate_yaw + 1; - level.selectedrotate_yaw = 0; - level.selectedrotate_yaw = level.selectedrotate_yaw + 0.1; - level.selectedrotate_yaw = 0; - level.selectedrotate_yaw = level.selectedrotate_yaw - 0.1; - level.selectedrotate_yaw = 0; - level.selectedrotate_pitch = level.selectedrotate_pitch + 1; - level.selectedrotate_pitch = level.selectedrotate_pitch - 1; - level.selectedrotate_pitch = 0; - level.selectedrotate_pitch = level.selectedrotate_pitch + 0.1; - level.selectedrotate_pitch = 0; - level.selectedrotate_pitch = level.selectedrotate_pitch - 0.1; - level.selectedrotate_pitch = 0; - level.selectedrotate_roll = 0; - level.selectedrotate_roll = level.selectedrotate_roll + 0.1; - level.selectedrotate_roll = 0; - level.selectedrotate_roll = level.selectedrotate_roll - 0.1; - level.selectedrotate_roll = 0; - level.selectedrotate_pitch = 0; - level.selectedrotate_pitch = 0.1; - wait(0.05); - level.selectedrotate_pitch = level.selectedrotate_pitch + 1; - level.selectedrotate_pitch = 0; - level.selectedrotate_pitch = -1 * 0.1; - wait(0.05); - level.selectedrotate_pitch = level.selectedrotate_pitch - 1; - level.selectedrotate_pitch = 0; - level.selectedrotate_yaw = 0; - level.selectedrotate_yaw = 0.1; - wait(0.05); - level.selectedrotate_yaw = level.selectedrotate_yaw + 1; - level.selectedrotate_yaw = 0; - level.selectedrotate_yaw = -1 * 0.1; - wait(0.05); - level.selectedrotate_yaw = level.selectedrotate_yaw - 1; - level.selectedrotate_yaw = 0; - level.selectedrotate_roll = 0; - level.selectedrotate_roll = 0.1; - wait(0.05); - level.selectedrotate_roll = level.selectedrotate_roll + 1; - level.selectedrotate_roll = 0; - level.selectedrotate_roll = -1 * 0.1; - wait(0.05); - level.selectedrotate_roll = level.selectedrotate_roll - 1; - level.selectedrotate_roll = 0; -Stack-Empty ? Stack-Empty : (Stack-Empty ? Stack-Empty : ((Stack-Empty ? Stack-Empty : ((Stack-Empty ? Stack-Empty : (((Stack-Empty ? Stack-Empty : ((Stack-Empty ? Stack-Empty : ((level.is_camera_on == 1) ? newmovement[1] <= -0.3 : ((newmovement[1] >= 0.3) ? buttondown("kp_leftarrow","DPAD_LEFT") : ((level.selectedrotate_yaw < 0) ? buttondown("kp_rightarrow","DPAD_RIGHT") : level.selectedrotate_yaw > 0)))) ? dolly_movement[0] <= -0.2 : ((dolly_movement[0] >= 0.2) ? buttondown("kp_uparrow","DPAD_UP") : ((level.selectedrotate_pitch < 0) ? buttondown("kp_downarrow","DPAD_DOWN") : level.selectedrotate_pitch > 0)))) ? buttondown("BUTTON_Y") : ((level.selectedrotate_roll < 0) ? buttondown("BUTTON_B") : level.selectedrotate_roll > 0)) ? ((buttondown("kp_uparrow","DPAD_UP")) ? level.selectedrotate_pitch < 0 : ctrlheld) : ((buttondown("kp_downarrow","DPAD_DOWN")) ? level.selectedrotate_pitch > 0 : ctrlheld))) ? ((buttondown("kp_leftarrow","DPAD_LEFT")) ? level.selectedrotate_yaw < 0 : ctrlheld) : ((buttondown("kp_rightarrow","DPAD_RIGHT")) ? level.selectedrotate_yaw > 0 : ctrlheld))) ? ((buttondown("BUTTON_Y")) ? level.selectedrotate_roll < 0 : ctrlheld) : ((buttondown("BUTTON_B")) ? level.selectedrotate_roll > 0 : ctrlheld))) + if(level.is_camera_on == 1) + { + newmovement = players[0] getnormalizedmovement(); + dolly_movement = players[0] getnormalizedcameramovement(); + if(newmovement[1] <= -0.3) + { + level.selectedrotate_yaw = level.selectedrotate_yaw - 1; + } + else if(newmovement[1] >= 0.3) + { + level.selectedrotate_yaw = level.selectedrotate_yaw + 1; + } + else if(buttondown("kp_leftarrow","DPAD_LEFT")) + { + if(level.selectedrotate_yaw < 0) + { + level.selectedrotate_yaw = 0; + } + + level.selectedrotate_yaw = level.selectedrotate_yaw + 0.1; + } + else if(buttondown("kp_rightarrow","DPAD_RIGHT")) + { + if(level.selectedrotate_yaw > 0) + { + level.selectedrotate_yaw = 0; + } + + level.selectedrotate_yaw = level.selectedrotate_yaw - 0.1; + } + else + { + level.selectedrotate_yaw = 0; + } + + if(dolly_movement[0] <= -0.2) + { + level.selectedrotate_pitch = level.selectedrotate_pitch + 1; + } + else if(dolly_movement[0] >= 0.2) + { + level.selectedrotate_pitch = level.selectedrotate_pitch - 1; + } + else if(buttondown("kp_uparrow","DPAD_UP")) + { + if(level.selectedrotate_pitch < 0) + { + level.selectedrotate_pitch = 0; + } + + level.selectedrotate_pitch = level.selectedrotate_pitch + 0.1; + } + else if(buttondown("kp_downarrow","DPAD_DOWN")) + { + if(level.selectedrotate_pitch > 0) + { + level.selectedrotate_pitch = 0; + } + + level.selectedrotate_pitch = level.selectedrotate_pitch - 0.1; + } + else + { + level.selectedrotate_pitch = 0; + } + + if(buttondown("BUTTON_Y")) + { + if(level.selectedrotate_roll < 0) + { + level.selectedrotate_roll = 0; + } + + level.selectedrotate_roll = level.selectedrotate_roll + 0.1; + } + else if(buttondown("BUTTON_B")) + { + if(level.selectedrotate_roll > 0) + { + level.selectedrotate_roll = 0; + } + + level.selectedrotate_roll = level.selectedrotate_roll - 0.1; + } + else + { + level.selectedrotate_roll = 0; + } + } + else + { + if(buttondown("kp_uparrow","DPAD_UP")) + { + if(level.selectedrotate_pitch < 0) + { + level.selectedrotate_pitch = 0; + } + + if(ctrlheld) + { + level.selectedrotate_pitch = 0.1; + wait(0.05); + } + else + { + level.selectedrotate_pitch = level.selectedrotate_pitch + 1; + } + } + else if(buttondown("kp_downarrow","DPAD_DOWN")) + { + if(level.selectedrotate_pitch > 0) + { + level.selectedrotate_pitch = 0; + } + + if(ctrlheld) + { + level.selectedrotate_pitch = -1 * 0.1; + wait(0.05); + } + else + { + level.selectedrotate_pitch = level.selectedrotate_pitch - 1; + } + } + else + { + level.selectedrotate_pitch = 0; + } + + if(buttondown("kp_leftarrow","DPAD_LEFT")) + { + if(level.selectedrotate_yaw < 0) + { + level.selectedrotate_yaw = 0; + } + + if(ctrlheld) + { + level.selectedrotate_yaw = 0.1; + wait(0.05); + } + else + { + level.selectedrotate_yaw = level.selectedrotate_yaw + 1; + } + } + else if(buttondown("kp_rightarrow","DPAD_RIGHT")) + { + if(level.selectedrotate_yaw > 0) + { + level.selectedrotate_yaw = 0; + } + + if(ctrlheld) + { + level.selectedrotate_yaw = -1 * 0.1; + wait(0.05); + } + else + { + level.selectedrotate_yaw = level.selectedrotate_yaw - 1; + } + } + else + { + level.selectedrotate_yaw = 0; + } + + if(buttondown("BUTTON_Y")) + { + if(level.selectedrotate_roll < 0) + { + level.selectedrotate_roll = 0; + } + + if(ctrlheld) + { + level.selectedrotate_roll = 0.1; + wait(0.05); + } + else + { + level.selectedrotate_roll = level.selectedrotate_roll + 1; + } + } + else if(buttondown("BUTTON_B")) + { + if(level.selectedrotate_roll > 0) + { + level.selectedrotate_roll = 0; + } + + if(ctrlheld) + { + level.selectedrotate_roll = -1 * 0.1; + wait(0.05); + } + else + { + level.selectedrotate_roll = level.selectedrotate_roll - 1; + } + } + else + { + level.selectedrotate_roll = 0; + } + } #/ } @@ -1551,9 +1711,12 @@ Stack-Empty ? Stack-Empty : (Stack-Empty ? Stack-Empty : ((Stack-Empty ? Stack-E cfxprintln(file,string) { /# - return; + if(file == -1) + { + return; + } + fprintln(file,string); -file == -1 #/ } @@ -1582,92 +1745,170 @@ generate_fx_log(type,autosave) { /# autosave = IsDefined(autosave); - filename = level.cfx_server_scriptdata + level.script + "_fx.gsc"; - filename = level.cfx_server_scriptdata + "backup.gsc"; - call_loop = level.cfx_server_loop; - call_oneshot = level.cfx_server_oneshot; - call_exploder = level.cfx_server_exploder; - call_loopsound = level.cfx_server_loopsound; - filename = level.cfx_client_scriptdata + level.script + "_fx.csc"; - filename = level.cfx_client_scriptdata + "backup.csc"; - call_loop = level.cfx_client_loop; - call_oneshot = level.cfx_client_oneshot; - call_exploder = level.cfx_client_exploder; - call_loopsound = level.cfx_client_loopsound; - println("^1Error: Improper type in generate_fx_log()"); - return; - file = openfile(filename,"write"); - level.write_error = filename; - return 1; - return 2; - return 3; - cfxprintln(file,"//_createfx generated. Do not touch!!"); - cfxprintln(file,"main()"); - cfxprintln(file,"{"); - p = 0; - for(;;) + if(type == "server") { - ent = level.createfxent[p]; - origin = []; - angles = []; - i = 0; - for(;;) + if(!(autosave)) { - origin[i] = ent.v["origin"][i]; - angles[i] = ent.v["angles"][i]; - origin[i] = 0; - angles[i] = 0; - i++; + filename = level.cfx_server_scriptdata + level.script + "_fx.gsc"; } - ent.v["origin"] = (origin[0],origin[1],origin[2]); - ent.v["angles"] = (angles[0],angles[1],angles[2]); - p++; + else + { + filename = level.cfx_server_scriptdata + "backup.gsc"; + } + + call_loop = level.cfx_server_loop; + call_oneshot = level.cfx_server_oneshot; + call_exploder = level.cfx_server_exploder; + call_loopsound = level.cfx_server_loopsound; } - println(" *** CREATING EFFECT, COPY THESE LINES TO ",level.script,"_fx.gsc *** "); - cfxprintln(file,"// CreateFX entities placed: " + level.createfxent.size - level.non_fx_ents); - breather = 0; - breather_pause = 1; - breather_pause = 5; - i = 0; - for(;;) + else if(type == "client") { - e = level.createfxent[i]; -/# - assert(IsDefined(e.v["type"]),"effect at origin " + e.v["origin"] + " has no type"); -#/ - output_name = "\t"; - output_props = "\t"; - ent_type = e.v["type"]; - output_name = output_name + "ent = " + call_loop + "( \" + e.v["fxid"] + "\" );"; - output_name = output_name + "ent = " + call_oneshot + "( \" + e.v["fxid"] + "\" );"; - output_name = output_name + "ent = " + call_exploder + "( \" + e.v["fxid"] + "\" );"; - output_name = output_name + "ent = " + call_loopsound + "();"; - output_props = output_props + get_fx_options(e); - cfxprintln(file,output_name); - cfxprintln(file,output_props); - cfxprintln(file,"\t"); - breather++; - wait(0.05); - breather = 0; - i++; + if(!(autosave)) + { + filename = level.cfx_client_scriptdata + level.script + "_fx.csc"; + } + else + { + filename = level.cfx_client_scriptdata + "backup.csc"; + } + + call_loop = level.cfx_client_loop; + call_oneshot = level.cfx_client_oneshot; + call_exploder = level.cfx_client_exploder; + call_loopsound = level.cfx_client_loopsound; } - script_gen_dump_addline(level.cfx_server_scriptgendump,level.script + "_fx"); - [[ level.cfx_func_script_gen_dump ]](); - cfxprintln(file,"}"); - saved = closefile(file); + else + { + println("^1Error: Improper type in generate_fx_log()"); + return; + } + + file = openfile(filename,"write"); + if(file == -1) + { + level.write_error = filename; + if(type == "server") + { + return 1; + } + else if(type == "client") + { + return 2; + } + else + { + return 3; + } + } + else + { + cfxprintln(file,"//_createfx generated. Do not touch!!"); + cfxprintln(file,"main()"); + cfxprintln(file,"{"); + for(p = 0;p < level.createfxent.size;p++) + { + ent = level.createfxent[p]; + origin = []; + angles = []; + for(i = 0;i < 3;i++) + { + origin[i] = ent.v["origin"][i]; + angles[i] = ent.v["angles"][i]; + if(origin[i] < 0.1 && origin[i] > 0.1 * -1) + { + origin[i] = 0; + } + + if(angles[i] < 0.1 && angles[i] > 0.1 * -1) + { + angles[i] = 0; + } + } + + ent.v["origin"] = (origin[0],origin[1],origin[2]); + ent.v["angles"] = (angles[0],angles[1],angles[2]); + } + + if(!(autosave)) + { + println(" *** CREATING EFFECT, COPY THESE LINES TO ",level.script,"_fx.gsc *** "); + } + + cfxprintln(file,"// CreateFX entities placed: " + level.createfxent.size - level.non_fx_ents); + breather = 0; + if(autosave) + { + breather_pause = 1; + } + else + { + breather_pause = 5; + } + + for(i = 0;i < level.createfxent.size;i++) + { + e = level.createfxent[i]; /# - assert(saved == 1,"File not saved (see above message?): " + filename); + assert(IsDefined(e.v["type"]),"effect at origin " + e.v["origin"] + " has no type"); #/ - println("CreateFX entities placed: " + level.createfxent.size - level.non_fx_ents); - return 0; -(e.v["fxid"] == "No FX") ? (ent_type == "loopfx" ? ent_type == "oneshotfx" : ((ent_type == "exploder") ? ent_type == "soundfx" : breather >= breather_pause)) : level.bscriptgened -IsDefined(e.model) -i < level.createfxent.size -(angles[i] < 0.1 && angles[i] > 0.1 * -1) ? autosave : autosave -origin[i] < 0.1 && origin[i] > 0.1 * -1 -i < 3 -p < level.createfxent.size -Stack-Empty ? (Stack-Empty ? Stack-Empty : (Stack-Empty ? Stack-Empty : ((Stack-Empty ? type == "server" : autosave) ? type == "client" : autosave))) : (file == -1 ? type == "server" : type == "client") + if(IsDefined(e.model)) + { + } + else if(e.v["fxid"] == "No FX") + { + } + else + { + output_name = "\t"; + output_props = "\t"; + ent_type = e.v["type"]; + if(ent_type == "loopfx") + { + output_name = output_name + "ent = " + call_loop + "( \" + e.v["fxid"] + "\" );"; + } + + if(ent_type == "oneshotfx") + { + output_name = output_name + "ent = " + call_oneshot + "( \" + e.v["fxid"] + "\" );"; + } + + if(ent_type == "exploder") + { + output_name = output_name + "ent = " + call_exploder + "( \" + e.v["fxid"] + "\" );"; + } + + if(ent_type == "soundfx") + { + output_name = output_name + "ent = " + call_loopsound + "();"; + } + + output_props = output_props + get_fx_options(e); + cfxprintln(file,output_name); + cfxprintln(file,output_props); + cfxprintln(file,"\t"); + breather++; + if(breather >= breather_pause) + { + wait(0.05); + breather = 0; + } + } + } + + if(level.bscriptgened) + { + script_gen_dump_addline(level.cfx_server_scriptgendump,level.script + "_fx"); + [[ level.cfx_func_script_gen_dump ]](); + } + + cfxprintln(file,"}"); + saved = closefile(file); +/# + assert(saved == 1,"File not saved (see above message?): " + filename); +#/ + println("CreateFX entities placed: " + level.createfxent.size - level.non_fx_ents); + return 0; + } #/ } @@ -2421,8 +2662,10 @@ draw_distance() maxdist = GetDvarInt(#"94DFBE78"); maxdistsqr = maxdist * maxdist; /# - println("Waiting for createfx to save..."); - flag("createfx_saving") + if(flag("createfx_saving")) + { + println("Waiting for createfx to save..."); + } #/ flag_waitopen("createfx_saving"); for(i = 0;i < level.createfxent.size;i++) @@ -2550,9 +2793,8 @@ createfx_emergency_backup() { /# println("^5#### CREATEFX EMERGENCY BACKUP END ####"); -#/ } - +#/ flag_clear("createfx_saving"); } @@ -2786,68 +3028,62 @@ print_ambient_fx_inventory() ent_list = []; fx_list_count = []; println("\n\n^2INVENTORY OF AMBIENT EFFECTS: "); - i = 0; - for(;;) + for(i = 0;i < level.createfxent.size;i++) { ent_list[i] = level.createfxent[i].v["fxid"]; - i++; } - i = 0; - for(;;) + + for(i = 0;i < fx_list.size;i++) { count = 0; - j = 0; - for(;;) + for(j = 0;j < ent_list.size;j++) { - count++; - ent_list[j] = ""; - j++; + if(fx_list[i] == ent_list[j]) + { + count++; + ent_list[j] = ""; + } } + fx_list_count[i] = count; - i++; } - i = 0; - for(;;) + + for(i = 0;i < fx_list_count.size - 1;i++) { - j = i + 1; - for(;;) + for(j = i + 1;j < fx_list_count.size;j++) { - temp_count = fx_list_count[i]; - temp_id = fx_list[i]; - fx_list_count[i] = fx_list_count[j]; - fx_list[i] = fx_list[j]; - fx_list_count[j] = temp_count; - fx_list[j] = temp_id; - j++; + if(fx_list_count[j] < fx_list_count[i]) + { + temp_count = fx_list_count[i]; + temp_id = fx_list[i]; + fx_list_count[i] = fx_list_count[j]; + fx_list[i] = fx_list[j]; + fx_list_count[j] = temp_count; + fx_list[j] = temp_id; + } } - i++; } - i = 0; - for(;;) + + for(i = 0;i < fx_list_count.size;i++) { switch(fx_list_count[i]) { case "etnextarraykey": print("^1"); break; + case "etnextarraykey": print("^3"); break; + default: break; } + print(fx_list_count[i] + "\t" + fx_list[i] + "\n"); - i++; } + print("\n"); -i < fx_list_count.size -fx_list_count[j] < fx_list_count[i] -j < fx_list_count.size -i < fx_list_count.size - 1 -fx_list[i] == ent_list[j] -j < ent_list.size -i < fx_list.size -i < level.createfxent.size #/ } @@ -2884,8 +3120,12 @@ handle_camera() level notify("new_camera"); level endon("new_camera"); movement = (0,0,0); - level.camera = spawn("script_origin",(0,0,0)); - level.camera setmodel("tag_origin"); + if(!(IsDefined(level.camera))) + { + level.camera = spawn("script_origin",(0,0,0)); + level.camera setmodel("tag_origin"); + } + players = get_players(); players[0] playerlinktodelta(level.camera,"tag_origin",1,0,0,0,0,1); players[0] disableweapons(); @@ -2901,58 +3141,116 @@ handle_camera() b_changes_z = 0; b_changes_y = 0; test_string = ""; - for(;;) + while(1) { - for(;;) + if(level.camera_snapto > 0) { - originoffset = VectorScale(level.cameravec); - temp_offset = 60 + VectorScale((0,0,-1)); - anglesoffset = VectorToAngles(temp_offset); - players = get_players(); - newmovement = players[0] getnormalizedmovement(); - dolly_movement = players[0] getnormalizedcameramovement(); - continue; - n_y_vector = n_y_vector + -0.2; - b_changes_y = 1; - n_y_vector = n_y_vector + 0.2; - b_changes_y = 1; - b_changes_y = 0; - n_x_vector = n_x_vector + -0.4; - b_changes_x = 1; - n_x_vector = n_x_vector + 0.4; - b_changes_x = 1; - b_changes_x = 0; - zoom_level = zoom_level + 30; - b_changes_z = 1; - zoom_level = zoom_level + -30; - b_changes_z = 1; - b_changes_z = 0; - newmovement = (n_x_vector,n_y_vector,newmovement[2]); - movement = (0,0,0); - movement = 1 - 0.8 + VectorScale(newmovement); - tilt = max(0,10 + movement[0] * 160); - level.cameravec = (cos(movement[1] * 180) * zoom_level,sin(movement[1] * 180) * zoom_level,tilt); - iprintln(level.cameravec[0] + " " + level.cameravec[1] + " " + level.cameravec[2]); - level.camera_prev_snapto = level.camera_snapto; - originoffset = VectorScale(level.cameravec); - temp_offset = 60 + VectorScale((0,0,-1)); - anglesoffset = VectorToAngles(temp_offset); - model = spawn("script_origin",level.current_select_ent.v["origin"]); - model setmodel("tag_origin"); - model.origin = level.current_select_ent.v["origin"]; - level.camera linkto(model,"tag_origin",level.cameravec,anglesoffset); - break; - wait(0.05); + if(level.stick_camera) + { + originoffset = VectorScale(level.cameravec); + temp_offset = 60 + VectorScale((0,0,-1)); + anglesoffset = VectorToAngles(temp_offset); + if(level.camera_prev_snapto == level.camera_snapto) + { + players = get_players(); + newmovement = players[0] getnormalizedmovement(); + dolly_movement = players[0] getnormalizedcameramovement(); + if(button_is_held("BUTTON_LTRIG") || button_is_held("BUTTON_RTRIG")) + { + continue; + } + + if(newmovement[1] <= -0.4) + { + n_y_vector = n_y_vector + -0.2; + b_changes_y = 1; + } + else if(newmovement[1] >= 0.4) + { + n_y_vector = n_y_vector + 0.2; + b_changes_y = 1; + } + else + { + b_changes_y = 0; + } + + if(newmovement[0] <= -0.4) + { + n_x_vector = n_x_vector + -0.4; + b_changes_x = 1; + } + else if(newmovement[0] >= 0.4) + { + n_x_vector = n_x_vector + 0.4; + b_changes_x = 1; + } + else + { + b_changes_x = 0; + } + + if(dolly_movement[0] <= -0.4) + { + zoom_level = zoom_level + 30; + b_changes_z = 1; + } + else if(dolly_movement[0] >= 0.4) + { + zoom_level = zoom_level + -30; + b_changes_z = 1; + } + else + { + b_changes_z = 0; + } + + if(b_changes_z || b_changes_x || b_changes_y) + { + newmovement = (n_x_vector,n_y_vector,newmovement[2]); + movement = (0,0,0); + movement = 1 - 0.8 + VectorScale(newmovement); + tilt = max(0,10 + movement[0] * 160); + level.cameravec = (cos(movement[1] * 180) * zoom_level,sin(movement[1] * 180) * zoom_level,tilt); + iprintln(level.cameravec[0] + " " + level.cameravec[1] + " " + level.cameravec[2]); + } + } + else + { + level.camera_prev_snapto = level.camera_snapto; + } + + if(IsDefined(level.current_select_ent)) + { + originoffset = VectorScale(level.cameravec); + temp_offset = 60 + VectorScale((0,0,-1)); + anglesoffset = VectorToAngles(temp_offset); + if(!(IsDefined(model))) + { + model = spawn("script_origin",level.current_select_ent.v["origin"]); + model setmodel("tag_origin"); + } + + if(model.origin != level.current_select_ent.v["origin"]) + { + model.origin = level.current_select_ent.v["origin"]; + } + + level.camera linkto(model,"tag_origin",level.cameravec,anglesoffset); + break; + } + + wait(0.05); + continue; + } + else + { + level.camera unlink(); + } } - level.camera unlink(); + wait(0.05); } -originoffset ? IsDefined(model) : model.origin != level.current_select_ent.v["origin"] --1 -IsDefined(level.current_select_ent) -(b_changes_z || b_changes_x || b_changes_y) ? 0.8 : VectorScale(movement) -1 ? level.camera_snapto > 0 : ((level.stick_camera ? -1 : ((originoffset ? level.camera_prev_snapto == level.camera_snapto : ((button_is_held("BUTTON_LTRIG") || button_is_held("BUTTON_RTRIG")) ? newmovement[1] <= -0.4 : newmovement[1] >= 0.4)) ? newmovement[0] <= -0.4 : newmovement[0] >= 0.4)) ? dolly_movement[0] <= -0.4 : dolly_movement[0] >= 0.4) -IsDefined(level.camera) #/ } diff --git a/BO2/Xbox/MP/maps/mp/_createfxmenu.gsc b/BO2/Xbox/MP/maps/mp/_createfxmenu.gsc index 24b5e62..377cb6c 100644 --- a/BO2/Xbox/MP/maps/mp/_createfxmenu.gsc +++ b/BO2/Xbox/MP/maps/mp/_createfxmenu.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 35 - * Decompile Time: 125 ms - * Timestamp: 10/27/2023 3:04:55 AM + * Decompile Time: 8 ms + * Timestamp: 10/28/2023 12:13:44 AM *******************************************************************/ #include common_scripts/utility; @@ -33,61 +33,136 @@ setmenu(name) create_fx_menu() { /# - exit_menu(); - return; - setmenu("create_oneshot"); - draw_effects_list(); - return; - setmenu("create_loopfx"); - draw_effects_list(); - return; - setmenu("create_exploder"); - draw_effects_list(); - return; - setmenu("create_loopsound"); - ent = createloopsound(); - finish_creating_entity(ent); - setmenu("none"); - return; - increment_list_offset(); - draw_effects_list(); - decrement_list_offset(); - draw_effects_list(); - menu_fx_creation(); - menu_change_selected_fx(); - display_fx_info(get_last_selected_entity()); - clear_settable_fx(); - setmenu("add_options"); - clear_fx_hudelements(); - setmenu("none"); - return; - display_fx_add_options(get_last_selected_entity()); - increment_list_offset(); - decrement_list_offset(); - increment_list_offset(); - draw_effects_list("Select effect to jump to:"); - decrement_list_offset(); - draw_effects_list("Select effect to jump to:"); - jump_to_effect(); - menu_selection(); - increment_list_offset(); - decrement_list_offset(); - clear_fx_hudelements(); - setmenu("none"); - return; - menu_fx_type(); -(button_is_clicked("a")) ? menu("add_options") : ((entities_are_selected()) ? button_is_clicked("rightarrow") : ((button_is_clicked("leftarrow")) ? menu("jump_to_effect") : ((button_is_clicked("rightarrow")) ? button_is_clicked("leftarrow") : ((menu("select_by_property")) ? button_is_clicked("rightarrow") : ((button_is_clicked("leftarrow")) ? menu("change_type") : entities_are_selected()))))) -entities_are_selected() -menu("none") -button_is_clicked("leftarrow") -button_is_clicked("rightarrow") -menu("create_oneshot") || menu("create_loopfx") || menu("create_exploder") || menu("change_fxid") -button_is_clicked("4") -button_is_clicked("3") -button_is_clicked("2") -button_is_clicked("1") -menu("creation") -button_is_clicked("escape","x") + if(button_is_clicked("escape","x")) + { + exit_menu(); + return; + } + + if(menu("creation")) + { + if(button_is_clicked("1")) + { + setmenu("create_oneshot"); + draw_effects_list(); + return; + } + + if(button_is_clicked("2")) + { + setmenu("create_loopfx"); + draw_effects_list(); + return; + } + + if(button_is_clicked("3")) + { + setmenu("create_exploder"); + draw_effects_list(); + return; + } + + if(button_is_clicked("4")) + { + setmenu("create_loopsound"); + ent = createloopsound(); + finish_creating_entity(ent); + setmenu("none"); + return; + } + } + + if(menu("create_oneshot") || menu("create_loopfx") || menu("create_exploder") || menu("change_fxid")) + { + if(button_is_clicked("rightarrow")) + { + increment_list_offset(); + draw_effects_list(); + } + + if(button_is_clicked("leftarrow")) + { + decrement_list_offset(); + draw_effects_list(); + } + + menu_fx_creation(); + } + else if(menu("none")) + { + menu_change_selected_fx(); + if(entities_are_selected()) + { + display_fx_info(get_last_selected_entity()); + if(button_is_clicked("a")) + { + clear_settable_fx(); + setmenu("add_options"); + } + } + } + else if(menu("add_options")) + { + if(!(entities_are_selected())) + { + clear_fx_hudelements(); + setmenu("none"); + return; + } + + display_fx_add_options(get_last_selected_entity()); + if(button_is_clicked("rightarrow")) + { + increment_list_offset(); + } + + if(button_is_clicked("leftarrow")) + { + decrement_list_offset(); + } + } + else if(menu("jump_to_effect")) + { + if(button_is_clicked("rightarrow")) + { + increment_list_offset(); + draw_effects_list("Select effect to jump to:"); + } + + if(button_is_clicked("leftarrow")) + { + decrement_list_offset(); + draw_effects_list("Select effect to jump to:"); + } + + jump_to_effect(); + } + else if(menu("select_by_property")) + { + menu_selection(); + if(button_is_clicked("rightarrow")) + { + increment_list_offset(); + } + + if(button_is_clicked("leftarrow")) + { + decrement_list_offset(); + } + } + else if(menu("change_type")) + { + if(!(entities_are_selected())) + { + clear_fx_hudelements(); + setmenu("none"); + return; + } + else + { + menu_fx_type(); + } + } #/ } @@ -117,46 +192,76 @@ menu_fx_creation() count = 0; picked_fx = undefined; keys = get_level_ambient_fx(); - i = level.effect_list_offset; - for(;;) + for(i = level.effect_list_offset;i < keys.size;i++) { count = count + 1; button_to_check = count; - button_to_check = 0; - picked_fx = keys[i]; - break; - i++; + if(button_to_check == 10) + { + button_to_check = 0; + } + + if(button_is_clicked(button_to_check + "") && !button_is_held("f")) + { + picked_fx = keys[i]; + break; + } + + if(count > level.effect_list_offset_max) + { + break; + } } - return; - apply_option_to_selected_fx(get_option("fxid"),picked_fx); - level.effect_list_offset = 0; - clear_fx_hudelements(); - setmenu("none"); - return; + + if(!(IsDefined(picked_fx))) + { + return; + } + + if(menu("change_fxid")) + { + apply_option_to_selected_fx(get_option("fxid"),picked_fx); + level.effect_list_offset = 0; + clear_fx_hudelements(); + setmenu("none"); + return; + } + ent = undefined; - ent = createloopeffect(picked_fx); - ent = createoneshoteffect(picked_fx); - delay_min = GetDvarInt(#"72501C7"); - delay_max = GetDvarInt(#"A6DCBA49"); - temp = delay_min; - delay_min = delay_max; - delay_max = temp; - ent.v["delay"] = randomintrange(delay_min,delay_max); - ent = createexploder(picked_fx); + if(menu("create_loopfx")) + { + ent = createloopeffect(picked_fx); + } + + if(menu("create_oneshot")) + { + ent = createoneshoteffect(picked_fx); + delay_min = GetDvarInt(#"72501C7"); + delay_max = GetDvarInt(#"A6DCBA49"); + if(delay_min > delay_max) + { + temp = delay_min; + delay_min = delay_max; + delay_max = temp; + } + + ent.v["delay"] = randomintrange(delay_min,delay_max); + } + + if(menu("create_exploder")) + { + ent = createexploder(picked_fx); + } + finish_creating_entity(ent); - store_undo_state("edit",level.selected_fx_ents); + if(level.cfx_last_action != "none") + { + store_undo_state("edit",level.selected_fx_ents); + } + store_undo_state("add",level.createfxent[level.createfxent.size - 1]); level.cfx_last_action = "none"; setmenu("none"); -level.cfx_last_action != "none" -menu("create_exploder") -delay_min > delay_max -menu("create_oneshot") -menu("create_loopfx") -menu("change_fxid") -IsDefined(picked_fx) -(button_to_check == 10) ? button_is_clicked(button_to_check + "") && !button_is_held("f") : count > level.effect_list_offset_max -i < keys.size #/ } @@ -173,7 +278,6 @@ finish_creating_entity(ent) select_last_entity("skip_undo"); move_selection_to_cursor("skip_undo"); update_selected_entities(); -ent.v["origin"] #/ } @@ -181,21 +285,33 @@ ent.v["origin"] change_effect_to_oneshot(ent) { /# - return; - ent.v["exploder"] = undefined; - ent.v["exploder_type"] = undefined; - ent.v["soundalias"] = undefined; - delay_min = GetDvarInt(#"72501C7"); - delay_max = GetDvarInt(#"A6DCBA49"); - temp = delay_min; - delay_min = delay_max; - delay_max = temp; - ent.v["delay"] = randomintrange(delay_min,delay_max); + if(ent.v["type"] == "oneshotfx") + { + return; + } + + if(ent.v["type"] == "exploder") + { + ent.v["exploder"] = undefined; + ent.v["exploder_type"] = undefined; + ent.v["soundalias"] = undefined; + } + + if(!IsDefined(ent.v["delay"]) || ent.v["delay"] == 0) + { + delay_min = GetDvarInt(#"72501C7"); + delay_max = GetDvarInt(#"A6DCBA49"); + if(delay_min > delay_max) + { + temp = delay_min; + delay_min = delay_max; + delay_max = temp; + } + + ent.v["delay"] = randomintrange(delay_min,delay_max); + } + ent.v["type"] = "oneshotfx"; -delay_min > delay_max -!IsDefined(ent.v["delay"]) || ent.v["delay"] == 0 -ent.v["type"] == "exploder" -ent.v["type"] == "oneshotfx" #/ } @@ -203,15 +319,24 @@ ent.v["type"] == "oneshotfx" change_effect_to_loop(ent) { /# - return; - ent.v["exploder"] = undefined; - ent.v["exploder_type"] = undefined; - ent.v["soundalias"] = undefined; - ent.v["delay"] = 1; + if(ent.v["type"] == "loopfx") + { + return; + } + + if(ent.v["type"] == "exploder") + { + ent.v["exploder"] = undefined; + ent.v["exploder_type"] = undefined; + ent.v["soundalias"] = undefined; + } + + if(!IsDefined(ent.v["delay"]) || ent.v["delay"] <= 0) + { + ent.v["delay"] = 1; + } + ent.v["type"] = "loopfx"; -!IsDefined(ent.v["delay"]) || ent.v["delay"] <= 0 -ent.v["type"] == "exploder" -ent.v["type"] == "loopfx" #/ } @@ -219,13 +344,19 @@ ent.v["type"] == "loopfx" change_effect_to_exploder(ent) { /# - return; + if(ent.v["type"] == "exploder") + { + return; + } + ent.v["type"] = "exploder"; - ent.v["delay"] = 0; + if(!IsDefined(ent.v["delay"]) || ent.v["delay"] < 0) + { + ent.v["delay"] = 0; + } + ent.v["exploder"] = 1; ent.v["exploder_type"] = "normal"; -!IsDefined(ent.v["delay"]) || ent.v["delay"] < 0 -ent.v["type"] == "exploder" #/ } @@ -235,26 +366,27 @@ change_ent_type(newtype) /# store_undo_state("edit",level.selected_fx_ents); level.cfx_last_action = "ent_type"; - i = 0; - for(;;) + if(newtype == "oneshotfx") { - change_effect_to_oneshot(level.selected_fx_ents[i]); - i++; + for(i = 0;i < level.selected_fx_ents.size;i++) + { + change_effect_to_oneshot(level.selected_fx_ents[i]); + } } - i = 0; - for(;;) + else if(newtype == "loopfx") { - change_effect_to_loop(level.selected_fx_ents[i]); - i++; + for(i = 0;i < level.selected_fx_ents.size;i++) + { + change_effect_to_loop(level.selected_fx_ents[i]); + } } - i = 0; - for(;;) + else if(newtype == "exploder") { - change_effect_to_exploder(level.selected_fx_ents[i]); - i++; + for(i = 0;i < level.selected_fx_ents.size;i++) + { + change_effect_to_exploder(level.selected_fx_ents[i]); + } } -(i < level.selected_fx_ents.size) ? newtype == "loopfx" : ((i < level.selected_fx_ents.size) ? newtype == "exploder" : i < level.selected_fx_ents.size) -newtype == "oneshotfx" #/ } @@ -329,23 +461,48 @@ entities_are_selected() menu_change_selected_fx() { /# - return; + if(!(level.selected_fx_ents.size)) + { + return; + } + count = 0; drawncount = 0; ent = get_last_selected_ent(); - i = 0; - for(;;) + for(i = 0;i < level.createfx_options.size;i++) { option = level.createfx_options[i]; - count++; - drawncount++; - button_to_check = drawncount; - button_to_check = 0; - prepare_option_for_change(option,drawncount); - break; - i++; + if(!(IsDefined(ent.v[option["name"]]))) + { + } + else + { + count++; + if(count < level.effect_list_offset) + { + } + else + { + drawncount++; + button_to_check = drawncount; + if(button_to_check == 10) + { + button_to_check = 0; + } + + if(button_is_clicked(button_to_check + "") && !button_is_held("f")) + { + prepare_option_for_change(option,drawncount); + break; + } + + if(drawncount > level.effect_list_offset_max) + { + break; + } + } + } } -(level.selected_fx_ents.size) ? i < level.createfx_options.size : ((IsDefined(ent.v[option["name"]])) ? count < level.effect_list_offset : ((button_to_check == 10) ? button_is_clicked(button_to_check + "") && !button_is_held("f") : drawncount > level.effect_list_offset_max)) #/ } @@ -353,17 +510,23 @@ menu_change_selected_fx() prepare_option_for_change(option,drawncount) { /# - setmenu("change_fxid"); - draw_effects_list(); - return; - setmenu("change_type"); - return; + if(option["name"] == "fxid") + { + setmenu("change_fxid"); + draw_effects_list(); + return; + } + + if(option["name"] == "type") + { + setmenu("change_type"); + return; + } + level.createfx_inputlocked = 1; set_option_index(option["name"]); setdvar("fx","nil"); level.createfxhudelements[drawncount + 1][0].color = (1,1,0); -option["name"] == "type" -option["name"] == "fxid" #/ } @@ -371,22 +534,44 @@ option["name"] == "fxid" menu_fx_option_set() { /# - return; + if(GetDvar(#"5977E3") == "nil") + { + return; + } + option = get_selected_option(); setting = undefined; - setting = GetDvar(#"5977E3"); - setting = GetDvarInt(#"5977E3"); - setting = GetDvarFloat(#"5977E3"); - setting = GetDvar(#"5977E3"); - temparray = strtok(setting," "); - setting = (float(temparray[0]),float(temparray[1]),float(temparray[2])); - clear_settable_fx(); - return; + if(option["type"] == "string") + { + setting = GetDvar(#"5977E3"); + } + + if(option["type"] == "int") + { + setting = GetDvarInt(#"5977E3"); + } + + if(option["type"] == "float") + { + setting = GetDvarFloat(#"5977E3"); + } + + if(option["type"] == "vector") + { + setting = GetDvar(#"5977E3"); + temparray = strtok(setting," "); + if(temparray.size == 3) + { + setting = (float(temparray[0]),float(temparray[1]),float(temparray[2])); + } + else + { + clear_settable_fx(); + return; + } + } + apply_option_to_selected_fx(option,setting); -(option["type"] == "float") ? option["type"] == "vector" : temparray.size == 3 -option["type"] == "int" -option["type"] == "string" -GetDvar(#"5977E3") == "nil" #/ } @@ -400,15 +585,26 @@ menu_fx_type() set_fx_hudelement(" (2) Looped"); set_fx_hudelement(" (3) Exploder"); set_fx_hudelement("(x) Exit >"); - change_ent_type("oneshotfx"); - setmenu("none"); - change_ent_type("loopfx"); - setmenu("none"); - change_ent_type("exploder"); - setmenu("none"); - update_selected_entities(); -menu("none") -Stack-Empty ? Stack-Empty : ((button_is_clicked("1") && !button_is_held("f")) ? button_is_clicked("2") && !button_is_held("f") : button_is_clicked("3") && !button_is_held("f")) + if(button_is_clicked("1") && !button_is_held("f")) + { + change_ent_type("oneshotfx"); + setmenu("none"); + } + else if(button_is_clicked("2") && !button_is_held("f")) + { + change_ent_type("loopfx"); + setmenu("none"); + } + else if(button_is_clicked("3") && !button_is_held("f")) + { + change_ent_type("exploder"); + setmenu("none"); + } + + if(menu("none")) + { + update_selected_entities(); + } #/ } @@ -421,28 +617,54 @@ menu_selection() drawncount = 0; option_number = 0; ent = level.selected_fx_ents[level.selected_fx_ents.size - 1]; - set_fx_hudelement("No ent is selected."); - i = level.effect_list_offset; - for(;;) + if(level.selected_fx_ents.size < 1) { - break; - prop_name = level.createfx_options[i]["name"]; - option_number = drawncount + 1; - level.cfx_selected_prop = prop_name; - menunone(); - level.effect_list_offset = 0; - return; - prop_desc = level.createfx_options[i]["description"]; - set_fx_hudelement(option_number + ". " + prop_desc + ": " + ent.v[prop_name]); - drawncount++; - i++; + set_fx_hudelement("No ent is selected."); } - pages = ceil(ent.v.size / level.effect_list_offset_max); - current_page = level.effect_list_offset / level.effect_list_offset_max + 1; - set_fx_hudelement("(<-) Page " + current_page + " of " + pages + " (->)"); + else + { + for(i = level.effect_list_offset;i < level.createfx_options.size;i++) + { + if(drawncount > level.effect_list_offset_max) + { + break; + } + + if(drawncount > ent.v.size) + { + break; + } + + prop_name = level.createfx_options[i]["name"]; + option_number = drawncount + 1; + if(IsDefined(ent.v[prop_name])) + { + if(button_is_clicked(option_number + "") && !button_is_held("f")) + { + level.cfx_selected_prop = prop_name; + menunone(); + level.effect_list_offset = 0; + return; + } + + prop_desc = level.createfx_options[i]["description"]; + set_fx_hudelement(option_number + ". " + prop_desc + ": " + ent.v[prop_name]); + drawncount++; + } + else + { + } + } + } + + if(drawncount > level.effect_list_offset_max) + { + pages = ceil(ent.v.size / level.effect_list_offset_max); + current_page = level.effect_list_offset / level.effect_list_offset_max + 1; + set_fx_hudelement("(<-) Page " + current_page + " of " + pages + " (->)"); + } + set_fx_hudelement("(x) Exit >"); -drawncount > level.effect_list_offset_max -Stack-Empty ? level.selected_fx_ents.size < 1 : ((i < level.createfx_options.size) ? drawncount > level.effect_list_offset_max : ((drawncount > ent.v.size) ? IsDefined(ent.v[prop_name]) : button_is_clicked(option_number + "") && !button_is_held("f"))) #/ } @@ -450,20 +672,23 @@ Stack-Empty ? level.selected_fx_ents.size < 1 : ((i < level.createfx_options.siz apply_option_to_selected_fx(option,setting) { /# - store_undo_state("edit",level.selected_fx_ents); - level.cfx_last_action = option["name"]; - i = 0; - for(;;) + if(level.cfx_last_action != option["name"]) + { + store_undo_state("edit",level.selected_fx_ents); + level.cfx_last_action = option["name"]; + } + + for(i = 0;i < level.selected_fx_ents.size;i++) { ent = level.selected_fx_ents[i]; - ent.v[option["name"]] = setting; - i++; + if(mask(option["mask"],ent.v["type"])) + { + ent.v[option["name"]] = setting; + } } + update_selected_entities(); clear_settable_fx(); -mask(option["mask"],ent.v["type"]) -i < level.selected_fx_ents.size -level.cfx_last_action != option["name"] #/ } @@ -471,14 +696,17 @@ level.cfx_last_action != option["name"] set_option_index(name) { /# - i = 0; - for(;;) + for(i = 0;i < level.createfx_options.size;i++) { - level.selected_fx_option_index = i; - return; - i++; + if(level.createfx_options[i]["name"] != name) + { + } + else + { + level.selected_fx_option_index = i; + return; + } } -Stack-Empty ? i < level.createfx_options.size : level.createfx_options[i]["name"] != name #/ } @@ -516,14 +744,13 @@ addoption(type,name,description,defaultsetting,mask) get_option(name) { /# - i = 0; - for(;;) + for(i = 0;i < level.createfx_options.size;i++) { - return level.createfx_options[i]; - i++; + if(level.createfx_options[i]["name"] == name) + { + return level.createfx_options[i]; + } } -level.createfx_options[i]["name"] == name -i < level.createfx_options.size #/ } @@ -531,34 +758,64 @@ i < level.createfx_options.size display_fx_info(ent) { /# - return; + if(!(menu("none"))) + { + return; + } + clear_fx_hudelements(); - return; + if(!(level.createfx_draw_enabled)) + { + return; + } + set_fx_hudelement("Selected: " + level.selected_fx_ents.size + " Distance: " + get_distance_from_ent(ent)); level.createfxhudelements[0][0].color = (1,1,0); set_fx_hudelement("Name: " + ent.v["fxid"]); - count = 0; - drawncount = 0; - i = 0; - for(;;) + if(entities_are_selected()) { - option = level.createfx_options[i]; - count++; - drawncount++; - set_fx_hudelement(drawncount + ". " + option["description"] + ": " + ent.v[option["name"]]); - more = 1; - break; - i++; + count = 0; + drawncount = 0; + for(i = 0;i < level.createfx_options.size;i++) + { + option = level.createfx_options[i]; + if(!(IsDefined(ent.v[option["name"]]))) + { + } + else + { + count++; + if(count < level.effect_list_offset) + { + } + else + { + drawncount++; + set_fx_hudelement(drawncount + ". " + option["description"] + ": " + ent.v[option["name"]]); + if(drawncount > level.effect_list_offset_max) + { + more = 1; + break; + } + } + } + } + + if(count > level.effect_list_offset_max) + { + pages = ceil(level.createfx_options.size / level.effect_list_offset_max); + current_page = level.effect_list_offset / level.effect_list_offset_max + 1; + set_fx_hudelement("(<-) Page " + current_page + " of " + pages + " (->)"); + } + + set_fx_hudelement("(a) Add >"); + set_fx_hudelement("(x) Exit >"); + } + else + { + set_fx_hudelement("Origin: " + ent.v["origin"]); + set_fx_hudelement("Angles: " + ent.v["angles"]); } - pages = ceil(level.createfx_options.size / level.effect_list_offset_max); - current_page = level.effect_list_offset / level.effect_list_offset_max + 1; - set_fx_hudelement("(<-) Page " + current_page + " of " + pages + " (->)"); - set_fx_hudelement("(a) Add >"); - set_fx_hudelement("(x) Exit >"); - set_fx_hudelement("Origin: " + ent.v["origin"]); - set_fx_hudelement("Angles: " + ent.v["angles"]); -(level.createfx_draw_enabled) ? ((entities_are_selected()) ? i < level.createfx_options.size : ((IsDefined(ent.v[option["name"]])) ? count < level.effect_list_offset : drawncount > level.effect_list_offset_max)) : count > level.effect_list_offset_max -menu("none") #/ } @@ -580,27 +837,58 @@ display_fx_add_options(ent) set_fx_hudelement("Angles: " + ent.v["angles"]); count = 0; drawncount = 0; - level.effect_list_offset = 0; - i = 0; - for(;;) + if(level.effect_list_offset >= level.createfx_options.size) + { + level.effect_list_offset = 0; + } + + for(i = 0;i < level.createfx_options.size;i++) { option = level.createfx_options[i]; - count++; - drawncount++; - button_to_check = drawncount; - button_to_check = 0; - add_option_to_selected_entities(option); - menunone(); - return; - set_fx_hudelement(button_to_check + ". " + option["description"]); - i++; + if(IsDefined(ent.v[option["name"]])) + { + } + else if(!(mask(option["mask"],ent.v["type"]))) + { + } + else + { + count++; + if(count < level.effect_list_offset) + { + } + else if(drawncount >= level.effect_list_offset_max) + { + } + else + { + drawncount++; + button_to_check = drawncount; + if(button_to_check == 10) + { + button_to_check = 0; + } + + if(button_is_clicked(button_to_check + "") && !button_is_held("f")) + { + add_option_to_selected_entities(option); + menunone(); + return; + } + + set_fx_hudelement(button_to_check + ". " + option["description"]); + } + } } - pages = ceil(level.createfx_options.size / level.effect_list_offset_max); - current_page = level.effect_list_offset / level.effect_list_offset_max + 1; - set_fx_hudelement("(<-) Page " + current_page + " of " + pages + " (->)"); + + if(count > level.effect_list_offset_max) + { + pages = ceil(level.createfx_options.size / level.effect_list_offset_max); + current_page = level.effect_list_offset / level.effect_list_offset_max + 1; + set_fx_hudelement("(<-) Page " + current_page + " of " + pages + " (->)"); + } + set_fx_hudelement("(x) Exit >"); -count > level.effect_list_offset_max -Stack-Empty ? level.effect_list_offset >= level.createfx_options.size : ((i < level.createfx_options.size) ? IsDefined(ent.v[option["name"]]) : ((mask(option["mask"],ent.v["type"])) ? count < level.effect_list_offset : ((drawncount >= level.effect_list_offset_max) ? button_to_check == 10 : button_is_clicked(button_to_check + "") && !button_is_held("f")))) #/ } @@ -608,15 +896,14 @@ Stack-Empty ? level.effect_list_offset >= level.createfx_options.size : ((i < le add_option_to_selected_entities(option) { /# - i = 0; - for(;;) + for(i = 0;i < level.selected_fx_ents.size;i++) { ent = level.selected_fx_ents[i]; - ent.v[option["name"]] = option["default"]; - i++; + if(mask(option["mask"],ent.v["type"])) + { + ent.v[option["name"]] = option["default"]; + } } -mask(option["mask"],ent.v["type"]) -i < level.selected_fx_ents.size #/ } @@ -635,29 +922,41 @@ draw_effects_list(title) { /# clear_fx_hudelements(); - title = "Pick an effect:"; + if(!(IsDefined(title))) + { + title = "Pick an effect:"; + } + set_fx_hudelement(title); count = 0; more = 0; keys = get_level_ambient_fx(); - level.effect_list_offset = 0; - level.effect_list_offset = int(floor(keys.size / level.effect_list_offset_max) * level.effect_list_offset_max); - i = level.effect_list_offset; - for(;;) + if(level.effect_list_offset >= keys.size) + { + level.effect_list_offset = 0; + } + else if(level.effect_list_offset < 0) + { + level.effect_list_offset = int(floor(keys.size / level.effect_list_offset_max) * level.effect_list_offset_max); + } + + for(i = level.effect_list_offset;i < keys.size;i++) { count = count + 1; set_fx_hudelement(count + ". " + keys[i]); - more = 1; - break; - i++; + if(count >= level.effect_list_offset_max) + { + more = 1; + break; + } + } + + if(keys.size > level.effect_list_offset_max) + { + pages = ceil(keys.size / level.effect_list_offset_max); + current_page = level.effect_list_offset / level.effect_list_offset_max + 1; + set_fx_hudelement("(<-) Page " + current_page + " of " + pages + " (->)"); } - pages = ceil(keys.size / level.effect_list_offset_max); - current_page = level.effect_list_offset / level.effect_list_offset_max + 1; - set_fx_hudelement("(<-) Page " + current_page + " of " + pages + " (->)"); -keys.size > level.effect_list_offset_max -count >= level.effect_list_offset_max -i < keys.size -IsDefined(title) ? level.effect_list_offset >= keys.size : level.effect_list_offset < 0 #/ } @@ -684,27 +983,47 @@ jump_to_effect() count = 0; picked_fxid = undefined; keys = get_level_ambient_fx(); - i = level.effect_list_offset; - for(;;) + for(i = level.effect_list_offset;i < keys.size;i++) { count = count + 1; button_to_check = count; - button_to_check = 0; - picked_fxid = keys[i]; - break; - i++; + if(button_to_check == 10) + { + button_to_check = 0; + } + + if(button_is_clicked(button_to_check + "") && !button_is_held("f")) + { + picked_fxid = keys[i]; + break; + } + + if(count > level.effect_list_offset_max) + { + break; + } } - return; + + if(!(IsDefined(picked_fxid))) + { + return; + } + clear_entity_selection(); ent = get_next_ent_with_same_id(-1,picked_fxid); - level.cfx_next_ent = ent; - move_player_to_next_same_effect(1); - iprintln("Effect " + picked_fxid + " has not been placed."); + if(IsDefined(ent)) + { + level.cfx_next_ent = ent; + move_player_to_next_same_effect(1); + } + else + { + iprintln("Effect " + picked_fxid + " has not been placed."); + } + level.effect_list_offset = 0; clear_fx_hudelements(); setmenu("none"); -((button_to_check == 10) ? button_is_clicked(button_to_check + "") && !button_is_held("f") : count > level.effect_list_offset_max) ? IsDefined(picked_fxid) : IsDefined(ent) -i < keys.size #/ } @@ -712,22 +1031,27 @@ i < keys.size get_level_ambient_fx() { /# - keys = getarraykeys(level._effect); - level._effect_keys = []; - k = 0; - i = 0; - for(;;) + if(!(IsDefined(level._effect_keys))) { - level._effect_keys[k] = keys[i]; - k++; - i++; + keys = getarraykeys(level._effect); + level._effect_keys = []; + k = 0; + for(i = 0;i < keys.size;i++) + { + if(issubstr(keys[i],"fx_")) + { + level._effect_keys[k] = keys[i]; + k++; + } + } + + if(level._effect_keys.size == 0) + { + level._effect_keys = keys; + } } - level._effect_keys = keys; + return level._effect_keys; -level._effect_keys.size == 0 -issubstr(keys[i],"fx_") -i < keys.size -IsDefined(level._effect_keys) #/ } diff --git a/BO2/Xbox/MP/maps/mp/_createfxundo.gsc b/BO2/Xbox/MP/maps/mp/_createfxundo.gsc index e88ec2f..8e68fd6 100644 --- a/BO2/Xbox/MP/maps/mp/_createfxundo.gsc +++ b/BO2/Xbox/MP/maps/mp/_createfxundo.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 20 - * Decompile Time: 52 ms - * Timestamp: 10/27/2023 3:04:56 AM + * Decompile Time: 2 ms + * Timestamp: 10/28/2023 12:13:45 AM *******************************************************************/ #include common_scripts/utility; @@ -509,16 +509,26 @@ array_drop(array) debug_print_ent_array(array,name) { /# - println("Printing out " + name); - println("Printing out some array"); - i = 0; - for(;;) + if(IsDefined(name)) { - println("" + i + ": deleted effect"); - println("" + i + ": uniqueid: " + array[i].uniqueid + " fxid: " + array[i].v["fxid"]); - i++; + println("Printing out " + name); + } + else + { + println("Printing out some array"); + } + + for(i = 0;i < array.size;i++) + { + if(!(IsDefined(array[i]))) + { + println("" + i + ": deleted effect"); + } + else + { + println("" + i + ": uniqueid: " + array[i].uniqueid + " fxid: " + array[i].v["fxid"]); + } } -(Stack-Empty ? Stack-Empty : IsDefined(name)) ? i < array.size : IsDefined(array[i]) #/ } @@ -527,20 +537,41 @@ debug_print_latest_state(type) { /# println("^3Saving " + type + " state"); - println("There are no undo states."); - return; - state = level.cfx_undo_states[level.cfx_undo_states.size - 1]; - size = level.cfx_undo_states.size - 1; - println("There are no redo states."); - return; - state = level.cfx_redo_states[level.cfx_redo_states.size - 1]; - size = level.cfx_redo_states.size - 1; - println("There is no limbo state."); - return; - state = level.cfx_limbo_state; - size = 0; + if(type == "undo") + { + if(!(IsDefined(level.cfx_undo_states[level.cfx_undo_states.size - 1]))) + { + println("There are no undo states."); + return; + } + + state = level.cfx_undo_states[level.cfx_undo_states.size - 1]; + size = level.cfx_undo_states.size - 1; + } + else if(type == "redo") + { + if(!(IsDefined(level.cfx_redo_states[level.cfx_redo_states.size - 1]))) + { + println("There are no redo states."); + return; + } + + state = level.cfx_redo_states[level.cfx_redo_states.size - 1]; + size = level.cfx_redo_states.size - 1; + } + else + { + if(!(IsDefined(level.cfx_limbo_state))) + { + println("There is no limbo state."); + return; + } + + state = level.cfx_limbo_state; + size = 0; + } + println("State " + size + " - " + state.operation + ": " + state.last_action); debug_print_ent_array(state.ent_array,"save state ent_array"); -type == "undo" ? IsDefined(level.cfx_undo_states[level.cfx_undo_states.size - 1]) : (type == "redo" ? IsDefined(level.cfx_redo_states[level.cfx_redo_states.size - 1]) : IsDefined(level.cfx_limbo_state)) #/ } \ No newline at end of file diff --git a/BO2/Xbox/MP/maps/mp/_decoy.gsc b/BO2/Xbox/MP/maps/mp/_decoy.gsc index 8a42f9e..738693e 100644 --- a/BO2/Xbox/MP/maps/mp/_decoy.gsc +++ b/BO2/Xbox/MP/maps/mp/_decoy.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 23 - * Decompile Time: 174 ms - * Timestamp: 10/27/2023 3:04:57 AM + * Decompile Time: 2 ms + * Timestamp: 10/28/2023 12:13:45 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/Xbox/MP/maps/mp/_demo.gsc b/BO2/Xbox/MP/maps/mp/_demo.gsc index 9eb0721..9d627e9 100644 --- a/BO2/Xbox/MP/maps/mp/_demo.gsc +++ b/BO2/Xbox/MP/maps/mp/_demo.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 3 - * Decompile Time: 11 ms - * Timestamp: 10/27/2023 3:04:57 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:13:45 AM *******************************************************************/ //Function Number: 1 diff --git a/BO2/Xbox/MP/maps/mp/_destructible.gsc b/BO2/Xbox/MP/maps/mp/_destructible.gsc index e6096a8..8f4d022 100644 --- a/BO2/Xbox/MP/maps/mp/_destructible.gsc +++ b/BO2/Xbox/MP/maps/mp/_destructible.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 21 - * Decompile Time: 86 ms - * Timestamp: 10/27/2023 3:04:58 AM + * Decompile Time: 2 ms + * Timestamp: 10/28/2023 12:13:45 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/Xbox/MP/maps/mp/_development_dvars.gsc b/BO2/Xbox/MP/maps/mp/_development_dvars.gsc index 7668ba5..5af7620 100644 --- a/BO2/Xbox/MP/maps/mp/_development_dvars.gsc +++ b/BO2/Xbox/MP/maps/mp/_development_dvars.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 1 - * Decompile Time: 2 ms - * Timestamp: 10/27/2023 3:04:58 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:13:45 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/Xbox/MP/maps/mp/_empgrenade.gsc b/BO2/Xbox/MP/maps/mp/_empgrenade.gsc index 4fd3eff..0e1f81d 100644 --- a/BO2/Xbox/MP/maps/mp/_empgrenade.gsc +++ b/BO2/Xbox/MP/maps/mp/_empgrenade.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 10 - * Decompile Time: 12 ms - * Timestamp: 10/27/2023 3:04:58 AM + * Decompile Time: 2 ms + * Timestamp: 10/28/2023 12:13:46 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/Xbox/MP/maps/mp/_entityheadicons.gsc b/BO2/Xbox/MP/maps/mp/_entityheadicons.gsc index 24fc6b2..12b098c 100644 --- a/BO2/Xbox/MP/maps/mp/_entityheadicons.gsc +++ b/BO2/Xbox/MP/maps/mp/_entityheadicons.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 7 - * Decompile Time: 12 ms - * Timestamp: 10/27/2023 3:04:59 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:13:46 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/Xbox/MP/maps/mp/_explosive_bolt.gsc b/BO2/Xbox/MP/maps/mp/_explosive_bolt.gsc index c6c3b27..c801c4f 100644 --- a/BO2/Xbox/MP/maps/mp/_explosive_bolt.gsc +++ b/BO2/Xbox/MP/maps/mp/_explosive_bolt.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 2 - * Decompile Time: 3 ms - * Timestamp: 10/27/2023 3:04:59 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:13:46 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/Xbox/MP/maps/mp/_flashgrenades.gsc b/BO2/Xbox/MP/maps/mp/_flashgrenades.gsc index 7dcfe93..49f3ede 100644 --- a/BO2/Xbox/MP/maps/mp/_flashgrenades.gsc +++ b/BO2/Xbox/MP/maps/mp/_flashgrenades.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 10 - * Decompile Time: 39 ms - * Timestamp: 10/27/2023 3:04:59 AM + * Decompile Time: 1 ms + * Timestamp: 10/28/2023 12:13:46 AM *******************************************************************/ #include maps/mp/_utility; diff --git a/BO2/Xbox/MP/maps/mp/_fx.gsc b/BO2/Xbox/MP/maps/mp/_fx.gsc index 2b26714..1f0821a 100644 --- a/BO2/Xbox/MP/maps/mp/_fx.gsc +++ b/BO2/Xbox/MP/maps/mp/_fx.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 31 - * Decompile Time: 63 ms - * Timestamp: 10/27/2023 3:05:00 AM + * Decompile Time: 9 ms + * Timestamp: 10/28/2023 12:13:46 AM *******************************************************************/ #include common_scripts/utility; @@ -16,15 +16,17 @@ print_org(fxcommand,fxid,fxpos,waittime) { /# - println("{"); - println("\"origin\" \" + fxpos[0] + " " + fxpos[1] + " " + fxpos[2] + "\"); - println("\"classname\" \"script_model\"); - println("\"model\" \"fx\"); - println("\"script_fxcommand\" \" + fxcommand + "\"); - println("\"script_fxid\" \" + fxid + "\"); - println("\"script_delay\" \" + waittime + "\"); - println("}"); -GetDvar(#"F49A52C") == "1" + if(GetDvar(#"F49A52C") == "1") + { + println("{"); + println("\"origin\" \" + fxpos[0] + " " + fxpos[1] + " " + fxpos[2] + "\"); + println("\"classname\" \"script_model\"); + println("\"model\" \"fx\"); + println("\"script_fxcommand\" \" + fxcommand + "\"); + println("\"script_fxid\" \" + fxid + "\"); + println("\"script_delay\" \" + waittime + "\"); + println("}"); + } #/ } @@ -415,18 +417,36 @@ setup_fx() script_print_fx() { /# - println("Effect at origin ",self.origin," doesn\'t have script_fxid/script_fxcommand/script_delay"); - self delete(); - return; - org = getent(self.target,"targetname").origin; - org = "undefined"; - println("mapsmp_fx::OneShotfx(\" + self.script_fxid + "\", " + self.origin + ", " + self.script_delay + ", " + org + ");"); - println("mapsmp_fx::LoopFx(\" + self.script_fxid + "\", " + self.origin + ", " + self.script_delay + ", " + org + ");"); - println("mapsmp_fx::LoopSound(\" + self.script_fxid + "\", " + self.origin + ", " + self.script_delay + ", " + org + ");"); -self.script_fxcommand == "loopsound" -self.script_fxcommand == "loopfx" -self.script_fxcommand == "OneShotfx" -Stack-Empty ? !IsDefined(self.script_fxid) || !IsDefined(self.script_fxcommand) || !IsDefined(self.script_delay) : IsDefined(self.target) + if(!IsDefined(self.script_fxid) || !IsDefined(self.script_fxcommand) || !IsDefined(self.script_delay)) + { + println("Effect at origin ",self.origin," doesn\'t have script_fxid/script_fxcommand/script_delay"); + self delete(); + return; + } + + if(IsDefined(self.target)) + { + org = getent(self.target,"targetname").origin; + } + else + { + org = "undefined"; + } + + if(self.script_fxcommand == "OneShotfx") + { + println("mapsmp_fx::OneShotfx(\" + self.script_fxid + "\", " + self.origin + ", " + self.script_delay + ", " + org + ");"); + } + + if(self.script_fxcommand == "loopfx") + { + println("mapsmp_fx::LoopFx(\" + self.script_fxid + "\", " + self.origin + ", " + self.script_delay + ", " + org + ");"); + } + + if(self.script_fxcommand == "loopsound") + { + println("mapsmp_fx::LoopSound(\" + self.script_fxid + "\", " + self.origin + ", " + self.script_delay + ", " + org + ");"); + } #/ } diff --git a/BO2/Xbox/MP/maps/mp/_fxanim.gsc b/BO2/Xbox/MP/maps/mp/_fxanim.gsc index 80909d4..59034e2 100644 --- a/BO2/Xbox/MP/maps/mp/_fxanim.gsc +++ b/BO2/Xbox/MP/maps/mp/_fxanim.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 1 - * Decompile Time: 1 ms - * Timestamp: 10/27/2023 3:05:00 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:13:47 AM *******************************************************************/ #using_animtree( "fxanim_props" ); diff --git a/BO2/Xbox/MP/maps/mp/_gameadvertisement.gsc b/BO2/Xbox/MP/maps/mp/_gameadvertisement.gsc index 8fc1b0c..3503bb2 100644 --- a/BO2/Xbox/MP/maps/mp/_gameadvertisement.gsc +++ b/BO2/Xbox/MP/maps/mp/_gameadvertisement.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 22 - * Decompile Time: 227 ms - * Timestamp: 10/27/2023 3:05:01 AM + * Decompile Time: 2 ms + * Timestamp: 10/28/2023 12:13:47 AM *******************************************************************/ #include maps/mp/_utility; @@ -134,9 +134,8 @@ teamscorelimitcheck(rulescorepercent) /# updatedebughud(3,"Score Percentage Left: ",int(minscorepercentageleft)); -#/ } - +#/ return 1; } @@ -442,14 +441,17 @@ updatedebughud(hudindex,text,value) level.sessionadverthud_1a_text = text; level.sessionadverthud_1b_text = value; break; + case "st": level.sessionadverthud_2a_text = text; level.sessionadverthud_2b_text = value; break; + case "st": level.sessionadverthud_3a_text = text; level.sessionadverthud_3b_text = value; break; + case "st": level.sessionadverthud_4a_text = text; level.sessionadverthud_4b_text = value; @@ -481,73 +483,98 @@ sessionadvertismentupdatedebughud() level.sessionadverthud_3b_text = ""; level.sessionadverthud_4a_text = ""; level.sessionadverthud_4b_text = ""; - for(;;) + while(1) { - for(;;) + wait(1); + showdebughud = getdvarintdefault("sessionAdvertShowDebugHud",0); + level.sessionadverthud_0_text = "Session is advertised"; + if(level.sessionadvertstatus == 0) { - wait(1); - showdebughud = getdvarintdefault("sessionAdvertShowDebugHud",0); - level.sessionadverthud_0_text = "Session is advertised"; level.sessionadverthud_0_text = "Session is not advertised"; - host = gethostplayer(); } - sessionadverthud_0 = host sessionadvertismentcreatedebughud(0,0); - sessionadverthud_1a = host sessionadvertismentcreatedebughud(1,-20); - sessionadverthud_1b = host sessionadvertismentcreatedebughud(1,0); - sessionadverthud_2a = host sessionadvertismentcreatedebughud(2,-20); - sessionadverthud_2b = host sessionadvertismentcreatedebughud(2,0); - sessionadverthud_3a = host sessionadvertismentcreatedebughud(3,-20); - sessionadverthud_3b = host sessionadvertismentcreatedebughud(3,0); - sessionadverthud_4a = host sessionadvertismentcreatedebughud(4,-20); - sessionadverthud_4b = host sessionadvertismentcreatedebughud(4,0); - sessionadverthud_1a.color = VectorScale((0,1,0)); - sessionadverthud_1b.color = VectorScale((0,1,0)); - sessionadverthud_2a.color = VectorScale((0,1,0)); - sessionadverthud_2b.color = VectorScale((0,1,0)); - sessionadverthud_0 destroy(); - sessionadverthud_1a destroy(); - sessionadverthud_1b destroy(); - sessionadverthud_2a destroy(); - sessionadverthud_2b destroy(); - sessionadverthud_3a destroy(); - sessionadverthud_3b destroy(); - sessionadverthud_4a destroy(); - sessionadverthud_4b destroy(); - sessionadverthud_0 = undefined; - sessionadverthud_1a = undefined; - sessionadverthud_1b = undefined; - sessionadverthud_2a = undefined; - sessionadverthud_2b = undefined; - sessionadverthud_3a = undefined; - sessionadverthud_3b = undefined; - sessionadverthud_4a = undefined; - sessionadverthud_4b = undefined; - continue; - sessionadverthud_0.color = (1,1,1); - sessionadverthud_0.color = VectorScale((1,0,0)); - sessionadverthud_0 settext(level.sessionadverthud_0_text); - sessionadverthud_1a settext(level.sessionadverthud_1a_text); - sessionadverthud_1b setvalue(level.sessionadverthud_1b_text); - sessionadverthud_2a settext(level.sessionadverthud_2a_text); - sessionadverthud_2b setvalue(level.sessionadverthud_2b_text); - sessionadverthud_3a settext(level.sessionadverthud_3a_text); - sessionadverthud_3b setvalue(level.sessionadverthud_3b_text); - sessionadverthud_4a settext(level.sessionadverthud_4a_text); - sessionadverthud_4b setvalue(level.sessionadverthud_4b_text); + + if(!IsDefined(sessionadverthud_0) && showdebughud != 0) + { + host = gethostplayer(); + if(!(IsDefined(host))) + { + continue; + } + + sessionadverthud_0 = host sessionadvertismentcreatedebughud(0,0); + sessionadverthud_1a = host sessionadvertismentcreatedebughud(1,-20); + sessionadverthud_1b = host sessionadvertismentcreatedebughud(1,0); + sessionadverthud_2a = host sessionadvertismentcreatedebughud(2,-20); + sessionadverthud_2b = host sessionadvertismentcreatedebughud(2,0); + sessionadverthud_3a = host sessionadvertismentcreatedebughud(3,-20); + sessionadverthud_3b = host sessionadvertismentcreatedebughud(3,0); + sessionadverthud_4a = host sessionadvertismentcreatedebughud(4,-20); + sessionadverthud_4b = host sessionadvertismentcreatedebughud(4,0); + sessionadverthud_1a.color = VectorScale((0,1,0)); + sessionadverthud_1b.color = VectorScale((0,1,0)); + sessionadverthud_2a.color = VectorScale((0,1,0)); + sessionadverthud_2b.color = VectorScale((0,1,0)); + } + + if(IsDefined(sessionadverthud_0)) + { + if(showdebughud == 0) + { + sessionadverthud_0 destroy(); + sessionadverthud_1a destroy(); + sessionadverthud_1b destroy(); + sessionadverthud_2a destroy(); + sessionadverthud_2b destroy(); + sessionadverthud_3a destroy(); + sessionadverthud_3b destroy(); + sessionadverthud_4a destroy(); + sessionadverthud_4b destroy(); + sessionadverthud_0 = undefined; + sessionadverthud_1a = undefined; + sessionadverthud_1b = undefined; + sessionadverthud_2a = undefined; + sessionadverthud_2b = undefined; + sessionadverthud_3a = undefined; + sessionadverthud_3b = undefined; + sessionadverthud_4a = undefined; + sessionadverthud_4b = undefined; + continue; + } + + if(level.sessionadvertstatus == 1) + { + sessionadverthud_0.color = (1,1,1); + } + else + { + sessionadverthud_0.color = VectorScale((1,0,0)); + } + + sessionadverthud_0 settext(level.sessionadverthud_0_text); + if(level.sessionadverthud_1a_text != "") + { + sessionadverthud_1a settext(level.sessionadverthud_1a_text); + sessionadverthud_1b setvalue(level.sessionadverthud_1b_text); + } + + if(level.sessionadverthud_2a_text != "") + { + sessionadverthud_2a settext(level.sessionadverthud_2a_text); + sessionadverthud_2b setvalue(level.sessionadverthud_2b_text); + } + + if(level.sessionadverthud_3a_text != "") + { + sessionadverthud_3a settext(level.sessionadverthud_3a_text); + sessionadverthud_3b setvalue(level.sessionadverthud_3b_text); + } + + if(level.sessionadverthud_4a_text != "") + { + sessionadverthud_4a settext(level.sessionadverthud_4a_text); + sessionadverthud_4b setvalue(level.sessionadverthud_4b_text); + } + } } -level.sessionadverthud_4a_text != "" -level.sessionadverthud_3a_text != "" -level.sessionadverthud_2a_text != "" -level.sessionadverthud_1a_text != "" -showdebughud == 0 ? level.sessionadvertstatus == 1 : 0.9 -IsDefined(sessionadverthud_0) -0.5 -0.5 -0.5 -0.5 -IsDefined(host) -!IsDefined(sessionadverthud_0) && showdebughud != 0 -level.sessionadvertstatus == 0 -1 #/ } \ No newline at end of file diff --git a/BO2/Xbox/MP/maps/mp/_gamerep.gsc b/BO2/Xbox/MP/maps/mp/_gamerep.gsc index f848292..9775b46 100644 --- a/BO2/Xbox/MP/maps/mp/_gamerep.gsc +++ b/BO2/Xbox/MP/maps/mp/_gamerep.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 16 - * Decompile Time: 34 ms - * Timestamp: 10/27/2023 3:05:02 AM + * Decompile Time: 9 ms + * Timestamp: 10/28/2023 12:13:47 AM *******************************************************************/ #include maps/mp/_utility; diff --git a/BO2/Xbox/MP/maps/mp/_global_fx.gsc b/BO2/Xbox/MP/maps/mp/_global_fx.gsc index a39ea3a..0b70328 100644 --- a/BO2/Xbox/MP/maps/mp/_global_fx.gsc +++ b/BO2/Xbox/MP/maps/mp/_global_fx.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 3 - * Decompile Time: 20 ms - * Timestamp: 10/27/2023 3:05:02 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:13:47 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/Xbox/MP/maps/mp/_hacker_tool.gsc b/BO2/Xbox/MP/maps/mp/_hacker_tool.gsc index 6196577..3bf4099 100644 --- a/BO2/Xbox/MP/maps/mp/_hacker_tool.gsc +++ b/BO2/Xbox/MP/maps/mp/_hacker_tool.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 23 - * Decompile Time: 149 ms - * Timestamp: 10/27/2023 3:05:03 AM + * Decompile Time: 10 ms + * Timestamp: 10/28/2023 12:13:48 AM *******************************************************************/ #include common_scripts/utility; @@ -380,55 +380,62 @@ getbesthackertooltarget() else { /# - targetsvalid[targetsvalid.size] = targetsall[idx]; -self iswithinhackertoolreticle(targetsall[idx]) -GetDvar(#"4C560F97") == "1" -#/ - if(level.teambased) + if(GetDvar(#"4C560F97") == "1") { - if(isentityhackablecarepackage(target_ent)) + if(self iswithinhackertoolreticle(targetsall[idx])) { - if(self iswithinhackertoolreticle(target_ent)) + targetsvalid[targetsvalid.size] = targetsall[idx]; + } + } + else + { +#/ + if(level.teambased) + { + if(isentityhackablecarepackage(target_ent)) + { + if(self iswithinhackertoolreticle(target_ent)) + { + targetsvalid[targetsvalid.size] = target_ent; + } + + continue; + } + + if(IsDefined(target_ent.team)) + { + if(target_ent.team != self.team) + { + if(self iswithinhackertoolreticle(target_ent)) + { + targetsvalid[targetsvalid.size] = target_ent; + } + } + + continue; + } + + if(IsDefined(target_ent.owner.team)) + { + if(target_ent.owner.team != self.team) + { + if(self iswithinhackertoolreticle(target_ent)) + { + targetsvalid[targetsvalid.size] = target_ent; + } + } + } + } + else if(self iswithinhackertoolreticle(target_ent)) + { + if(isentityhackablecarepackage(target_ent)) { targetsvalid[targetsvalid.size] = target_ent; } - - continue; - } - - if(IsDefined(target_ent.team)) - { - if(target_ent.team != self.team) + else if(IsDefined(target_ent.owner) && self != target_ent.owner) { - if(self iswithinhackertoolreticle(target_ent)) - { - targetsvalid[targetsvalid.size] = target_ent; - } + targetsvalid[targetsvalid.size] = target_ent; } - - continue; - } - - if(IsDefined(target_ent.owner.team)) - { - if(target_ent.owner.team != self.team) - { - if(self iswithinhackertoolreticle(target_ent)) - { - targetsvalid[targetsvalid.size] = target_ent; - } - } - } - } - else if(self iswithinhackertoolreticle(target_ent)) - { - if(isentityhackablecarepackage(target_ent)) - { - targetsvalid[targetsvalid.size] = target_ent; - } - else if(IsDefined(target_ent.owner) && self != target_ent.owner) - { - targetsvalid[targetsvalid.size] = target_ent; } } } @@ -817,7 +824,7 @@ gethacktime(target) tunables() { /# - for(;;) + while(1) { level.hackertoollostsightlimitms = weapons_get_dvar_int("scr_hackerToolLostSightLimitMs",1000); level.hackertoollockonradius = weapons_get_dvar("scr_hackerToolLockOnRadius",20); @@ -837,6 +844,5 @@ tunables() level.chopper_gunner_time = weapons_get_dvar_int("scr_chopper_gunner_time",7); wait(1); } -1 #/ } \ No newline at end of file diff --git a/BO2/Xbox/MP/maps/mp/_heatseekingmissile.gsc b/BO2/Xbox/MP/maps/mp/_heatseekingmissile.gsc index 9f18c95..46732c9 100644 --- a/BO2/Xbox/MP/maps/mp/_heatseekingmissile.gsc +++ b/BO2/Xbox/MP/maps/mp/_heatseekingmissile.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 34 - * Decompile Time: 226 ms - * Timestamp: 10/27/2023 3:05:04 AM + * Decompile Time: 12 ms + * Timestamp: 10/28/2023 12:13:48 AM *******************************************************************/ #include common_scripts/utility; @@ -273,27 +273,34 @@ getbeststingertarget() for(idx = 0;idx < targetsall.size;idx++) { /# - targetsvalid[targetsvalid.size] = targetsall[idx]; -self insidestingerreticlenolock(targetsall[idx]) -GetDvar(#"4C560F97") == "1" -#/ - if(level.teambased) + if(GetDvar(#"4C560F97") == "1") { - if(IsDefined(targetsall[idx].team) && targetsall[idx].team != self.team) + if(self insidestingerreticlenolock(targetsall[idx])) { - if(self insidestingerreticlenolock(targetsall[idx])) + targetsvalid[targetsvalid.size] = targetsall[idx]; + } + } + else + { +#/ + if(level.teambased) + { + if(IsDefined(targetsall[idx].team) && targetsall[idx].team != self.team) + { + if(self insidestingerreticlenolock(targetsall[idx])) + { + targetsvalid[targetsvalid.size] = targetsall[idx]; + } + } + } + else if(self insidestingerreticlenolock(targetsall[idx])) + { + if(IsDefined(targetsall[idx].owner) && self != targetsall[idx].owner) { targetsvalid[targetsvalid.size] = targetsall[idx]; } } } - else if(self insidestingerreticlenolock(targetsall[idx])) - { - if(IsDefined(targetsall[idx].owner) && self != targetsall[idx].owner) - { - targetsvalid[targetsvalid.size] = targetsall[idx]; - } - } } if(targetsvalid.size == 0) diff --git a/BO2/Xbox/MP/maps/mp/_interactive_objects.gsc b/BO2/Xbox/MP/maps/mp/_interactive_objects.gsc index c2ab5d3..dab0e51 100644 --- a/BO2/Xbox/MP/maps/mp/_interactive_objects.gsc +++ b/BO2/Xbox/MP/maps/mp/_interactive_objects.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 9 - * Decompile Time: 107 ms - * Timestamp: 10/27/2023 3:05:04 AM + * Decompile Time: 2 ms + * Timestamp: 10/28/2023 12:13:48 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/Xbox/MP/maps/mp/_load.gsc b/BO2/Xbox/MP/maps/mp/_load.gsc index 47ce5aa..c0a2605 100644 --- a/BO2/Xbox/MP/maps/mp/_load.gsc +++ b/BO2/Xbox/MP/maps/mp/_load.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 10 - * Decompile Time: 123 ms - * Timestamp: 10/27/2023 3:05:05 AM + * Decompile Time: 9 ms + * Timestamp: 10/28/2023 12:13:48 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/Xbox/MP/maps/mp/_medals.gsc b/BO2/Xbox/MP/maps/mp/_medals.gsc index 651483b..4f868c8 100644 --- a/BO2/Xbox/MP/maps/mp/_medals.gsc +++ b/BO2/Xbox/MP/maps/mp/_medals.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 6 - * Decompile Time: 4 ms - * Timestamp: 10/27/2023 3:05:05 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:13:48 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/Xbox/MP/maps/mp/_menus.gsc b/BO2/Xbox/MP/maps/mp/_menus.gsc index 2e3f267..9324ead 100644 --- a/BO2/Xbox/MP/maps/mp/_menus.gsc +++ b/BO2/Xbox/MP/maps/mp/_menus.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 1 - * Decompile Time: 1 ms - * Timestamp: 10/27/2023 3:05:06 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:13:49 AM *******************************************************************/ //Function Number: 1 diff --git a/BO2/Xbox/MP/maps/mp/_mgturret.gsc b/BO2/Xbox/MP/maps/mp/_mgturret.gsc index f6681d3..1e2ed0f 100644 --- a/BO2/Xbox/MP/maps/mp/_mgturret.gsc +++ b/BO2/Xbox/MP/maps/mp/_mgturret.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 11 - * Decompile Time: 52 ms - * Timestamp: 10/27/2023 3:05:06 AM + * Decompile Time: 2 ms + * Timestamp: 10/28/2023 12:13:49 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/Xbox/MP/maps/mp/_multi_extracam.gsc b/BO2/Xbox/MP/maps/mp/_multi_extracam.gsc index b9f51e9..49cc0dd 100644 --- a/BO2/Xbox/MP/maps/mp/_multi_extracam.gsc +++ b/BO2/Xbox/MP/maps/mp/_multi_extracam.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 1 - * Decompile Time: 2 ms - * Timestamp: 10/27/2023 3:05:07 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:13:49 AM *******************************************************************/ //Function Number: 1 diff --git a/BO2/Xbox/MP/maps/mp/_music.gsc b/BO2/Xbox/MP/maps/mp/_music.gsc index 75fed3b..68d04d7 100644 --- a/BO2/Xbox/MP/maps/mp/_music.gsc +++ b/BO2/Xbox/MP/maps/mp/_music.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 2 - * Decompile Time: 4 ms - * Timestamp: 10/27/2023 3:05:07 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:13:49 AM *******************************************************************/ #include maps/mp/_utility; diff --git a/BO2/Xbox/MP/maps/mp/_pc.gsc b/BO2/Xbox/MP/maps/mp/_pc.gsc index 87cc323..63413f8 100644 --- a/BO2/Xbox/MP/maps/mp/_pc.gsc +++ b/BO2/Xbox/MP/maps/mp/_pc.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 1 - * Decompile Time: 4 ms - * Timestamp: 10/27/2023 3:05:07 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:13:50 AM *******************************************************************/ //Function Number: 1 diff --git a/BO2/Xbox/MP/maps/mp/_popups.gsc b/BO2/Xbox/MP/maps/mp/_popups.gsc index 4d4e815..9e8d28c 100644 --- a/BO2/Xbox/MP/maps/mp/_popups.gsc +++ b/BO2/Xbox/MP/maps/mp/_popups.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 10 - * Decompile Time: 46 ms - * Timestamp: 10/27/2023 3:05:08 AM + * Decompile Time: 2 ms + * Timestamp: 10/28/2023 12:13:50 AM *******************************************************************/ #include common_scripts/utility; @@ -71,10 +71,14 @@ init() popupsfromconsole() { /# - for(;;) + while(1) { timeout = getdvarintdefault("scr_popuptime",1); - timeout = 1; + if(timeout == 0) + { + timeout = 1; + } + wait(timeout); medal = getdvarintdefault("scr_popupmedal",0); challenge = getdvarintdefault("scr_popupchallenge",0); @@ -85,80 +89,92 @@ popupsfromconsole() gamemodemsg = getdvarintdefault("scr_gamemodeslideout",0); teammsg = getdvarintdefault("scr_teamslideout",0); challengeindex = getdvarintdefault("scr_challengeIndex",1); - i = 0; - for(;;) + for(i = 0;i < medal;i++) { level.players[0] maps/mp/_medals::codecallback_medal(4); - i++; } - i = 0; - for(;;) + + for(i = 0;i < challenge;i++) { level.players[0] maps/mp/gametypes/_persistence::codecallback_challengecomplete(2500,1,84,3,0,0,851); level.players[0] maps/mp/gametypes/_persistence::codecallback_challengecomplete(500,1,22,2,0,0,533); - i++; } - i = 0; - for(;;) + + for(i = 0;i < rank;i++) { level.players[0] maps/mp/gametypes/_rank::codecallback_rankup(4,0,0); - i++; } - i = 0; - for(;;) + + for(i = 0;i < gun;i++) { level.players[0] maps/mp/gametypes/_persistence::codecallback_gunchallengecomplete(0,20,25,0); - i++; } - i = 0; - for(;;) + + for(i = 0;i < contractpass;i++) { level.players[0] maps/mp/gametypes/_persistence::addcontracttoqueue(12,1); - i++; } - i = 0; - for(;;) + + for(i = 0;i < contractfail;i++) { level.players[0] maps/mp/gametypes/_persistence::addcontracttoqueue(12,0); - i++; } - i = 0; - for(;;) + + for(i = 0;i < teammsg;i++) { player = level.players[0]; - player = level.players[1]; + if(IsDefined(level.players[1])) + { + player = level.players[1]; + } + level.players[0] displayteammessagetoall(&"KILLSTREAK_DESTROYED_HELICOPTER",player); - i++; } + reset = getdvarintdefault("scr_popupreset",1); - setdvar("scr_popupmedal",0); - setdvar("scr_popupchallenge",0); - setdvar("scr_popupgun",0); - setdvar("scr_popuprank",0); - setdvar("scr_popupcontractpass",0); - setdvar("scr_popupcontractfail",0); - setdvar("scr_gamemodeslideout",0); - setdvar("scr_teamslideout",0); + if(reset) + { + if(medal) + { + setdvar("scr_popupmedal",0); + } + + if(challenge) + { + setdvar("scr_popupchallenge",0); + } + + if(gun) + { + setdvar("scr_popupgun",0); + } + + if(rank) + { + setdvar("scr_popuprank",0); + } + + if(contractpass) + { + setdvar("scr_popupcontractpass",0); + } + + if(contractfail) + { + setdvar("scr_popupcontractfail",0); + } + + if(gamemodemsg) + { + setdvar("scr_gamemodeslideout",0); + } + + if(teammsg) + { + setdvar("scr_teamslideout",0); + } + } } -teammsg -gamemodemsg -contractfail -contractpass -rank -gun -challenge -medal -reset -IsDefined(level.players[1]) -i < teammsg -i < contractfail -i < contractpass -i < gun -i < rank -i < challenge -i < medal -timeout == 0 -1 #/ } diff --git a/BO2/Xbox/MP/maps/mp/_proximity_grenade.gsc b/BO2/Xbox/MP/maps/mp/_proximity_grenade.gsc index 4849dd0..527ca7d 100644 --- a/BO2/Xbox/MP/maps/mp/_proximity_grenade.gsc +++ b/BO2/Xbox/MP/maps/mp/_proximity_grenade.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 16 - * Decompile Time: 77 ms - * Timestamp: 10/27/2023 3:05:08 AM + * Decompile Time: 2 ms + * Timestamp: 10/28/2023 12:13:50 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/Xbox/MP/maps/mp/_riotshield.gsc b/BO2/Xbox/MP/maps/mp/_riotshield.gsc index 6342719..4394603 100644 --- a/BO2/Xbox/MP/maps/mp/_riotshield.gsc +++ b/BO2/Xbox/MP/maps/mp/_riotshield.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 19 - * Decompile Time: 78 ms - * Timestamp: 10/27/2023 3:05:09 AM + * Decompile Time: 6 ms + * Timestamp: 10/28/2023 12:13:50 AM *******************************************************************/ #include common_scripts/utility; @@ -315,10 +315,12 @@ watchriotshielddeploy() /# assert(!IsDefined(self.riotshieldentity)); #/ + if(level.gametype != "shrp") + { /# - assert(primaries.size > 0); + assert(primaries.size > 0); + } #/ -level.gametype != "shrp" #/ shield_ent setclientfield("riotshield_state",1); shield_ent.reconmodel setclientfield("riotshield_state",1); diff --git a/BO2/Xbox/MP/maps/mp/_satchel_charge.gsc b/BO2/Xbox/MP/maps/mp/_satchel_charge.gsc index cf1ca99..f35cd9a 100644 --- a/BO2/Xbox/MP/maps/mp/_satchel_charge.gsc +++ b/BO2/Xbox/MP/maps/mp/_satchel_charge.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 3 - * Decompile Time: 13 ms - * Timestamp: 10/27/2023 3:05:09 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:13:50 AM *******************************************************************/ #include maps/mp/_challenges; diff --git a/BO2/Xbox/MP/maps/mp/_scoreevents.gsc b/BO2/Xbox/MP/maps/mp/_scoreevents.gsc index 896ea55..c3e1278 100644 --- a/BO2/Xbox/MP/maps/mp/_scoreevents.gsc +++ b/BO2/Xbox/MP/maps/mp/_scoreevents.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 22 - * Decompile Time: 94 ms - * Timestamp: 10/27/2023 3:05:10 AM + * Decompile Time: 16 ms + * Timestamp: 10/28/2023 12:13:51 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/Xbox/MP/maps/mp/_scrambler.gsc b/BO2/Xbox/MP/maps/mp/_scrambler.gsc index 34e3d17..4fa60ce 100644 --- a/BO2/Xbox/MP/maps/mp/_scrambler.gsc +++ b/BO2/Xbox/MP/maps/mp/_scrambler.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 9 - * Decompile Time: 24 ms - * Timestamp: 10/27/2023 3:05:10 AM + * Decompile Time: 1 ms + * Timestamp: 10/28/2023 12:13:51 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/Xbox/MP/maps/mp/_script_gen.gsc b/BO2/Xbox/MP/maps/mp/_script_gen.gsc index 432017e..f4e88c2 100644 --- a/BO2/Xbox/MP/maps/mp/_script_gen.gsc +++ b/BO2/Xbox/MP/maps/mp/_script_gen.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 4 - * Decompile Time: 49 ms - * Timestamp: 10/27/2023 3:05:11 AM + * Decompile Time: 4 ms + * Timestamp: 10/28/2023 12:13:51 AM *******************************************************************/ #include common_scripts/utility; @@ -31,45 +31,76 @@ script_gen_dump() { /# script_gen_dump_checksaved(); - flag_set("scriptgen_done"); - return; - firstrun = 0; - println(" "); - println(" "); - println(" "); - println("^2 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- "); - println("^3Dumping scriptgen dump for these reasons"); - println("^2 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- "); - i = 0; - for(;;) + if(!(level.script_gen_dump_reasons.size)) { - substr = getsubstr(level.script_gen_dump_reasons[i],15); - println(i + ". ) " + substr); - println(i + ". ) " + level.script_gen_dump_reasons[i]); - firstrun = 1; - i++; + flag_set("scriptgen_done"); + return; } - println("^2 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- "); - println(" "); - println("for First Run make sure you delete all of the vehicle precache script calls, createart calls, createfx calls( most commonly placed in maps\\" + level.script + "_fx.gsc ) "); - println(" "); - println("replace:"); - println("maps\\_load::main( 1 );"); - println(" "); - println("with( don\'t forget to add this file to P4 ):"); - println("maps\\scriptgen\\" + level.script + "_scriptgen::main();"); - println(" "); - println("^2 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- "); - println(" "); - println("^2 / \\ / \\ / \\"); - println("^2scroll up"); - println("^2 / \\ / \\ / \\"); - println(" "); - return; + + firstrun = 0; + if(level.bscriptgened) + { + println(" "); + println(" "); + println(" "); + println("^2 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- "); + println("^3Dumping scriptgen dump for these reasons"); + println("^2 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- "); + for(i = 0;i < level.script_gen_dump_reasons.size;i++) + { + if(issubstr(level.script_gen_dump_reasons[i],"nowrite")) + { + substr = getsubstr(level.script_gen_dump_reasons[i],15); + println(i + ". ) " + substr); + } + else + { + println(i + ". ) " + level.script_gen_dump_reasons[i]); + } + + if(level.script_gen_dump_reasons[i] == "First run") + { + firstrun = 1; + } + } + + println("^2 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- "); + println(" "); + if(firstrun) + { + println("for First Run make sure you delete all of the vehicle precache script calls, createart calls, createfx calls( most commonly placed in maps\\" + level.script + "_fx.gsc ) "); + println(" "); + println("replace:"); + println("maps\\_load::main( 1 );"); + println(" "); + println("with( don\'t forget to add this file to P4 ):"); + println("maps\\scriptgen\\" + level.script + "_scriptgen::main();"); + println(" "); + } + + println("^2 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- "); + println(" "); + println("^2 / \\ / \\ / \\"); + println("^2scroll up"); + println("^2 / \\ / \\ / \\"); + println(" "); + } + else + { + return; + } + filename = "scriptgen/" + level.script + "_scriptgen.gsc"; csvfilename = "zone_source/" + level.script + ".csv"; - file = openfile(filename,"write"); - file = 0; + if(level.bscriptgened) + { + file = openfile(filename,"write"); + } + else + { + file = 0; + } + /# assert(file != -1,"File not writeable( check it and and restart the map ): " + filename); #/ @@ -80,82 +111,114 @@ script_gen_dump() script_gen_dumpprintln(file,"\tlevel.script_gen_dump = [];"); script_gen_dumpprintln(file,""); signatures = getarraykeys(level.script_gen_dump); - i = 0; - for(;;) + for(i = 0;i < signatures.size;i++) { - script_gen_dumpprintln(file,"\t" + level.script_gen_dump[signatures[i]]); - i++; + if(!(issubstr(level.script_gen_dump[signatures[i]],"nowrite"))) + { + script_gen_dumpprintln(file,"\t" + level.script_gen_dump[signatures[i]]); + } } - i = 0; - for(;;) + + for(i = 0;i < signatures.size;i++) { - script_gen_dumpprintln(file,"\tlevel.script_gen_dump[ " + "\" + signatures[i] + "\" + " ] = " + "\" + signatures[i] + "\" + ";"); - script_gen_dumpprintln(file,"\tlevel.script_gen_dump[ " + "\" + signatures[i] + "\" + " ] = " + "\"nowrite\" + ";"); - i++; + if(!(issubstr(level.script_gen_dump[signatures[i]],"nowrite"))) + { + script_gen_dumpprintln(file,"\tlevel.script_gen_dump[ " + "\" + signatures[i] + "\" + " ] = " + "\" + signatures[i] + "\" + ";"); + } + else + { + script_gen_dumpprintln(file,"\tlevel.script_gen_dump[ " + "\" + signatures[i] + "\" + " ] = " + "\"nowrite\" + ";"); + } } + script_gen_dumpprintln(file,""); keys1 = undefined; keys2 = undefined; - keys1 = getarraykeys(level.sg_precacheanims); - i = 0; - for(;;) + if(IsDefined(level.sg_precacheanims)) { - script_gen_dumpprintln(file,"\tanim_precach_" + keys1[i] + "();"); - i++; + keys1 = getarraykeys(level.sg_precacheanims); } + + if(IsDefined(keys1)) + { + for(i = 0;i < keys1.size;i++) + { + script_gen_dumpprintln(file,"\tanim_precach_" + keys1[i] + "();"); + } + } + script_gen_dumpprintln(file,"\tmaps\\_load::main( 1, " + level.bcsvgened + ", 1 );"); script_gen_dumpprintln(file,"}"); script_gen_dumpprintln(file,""); - keys1 = getarraykeys(level.sg_precacheanims); - i = 0; - for(;;) + if(IsDefined(level.sg_precacheanims)) { - script_gen_dumpprintln(file,"#using_animtree( \" + keys1[i] + "\" );"); - script_gen_dumpprintln(file,"anim_precach_" + keys1[i] + "()"); - script_gen_dumpprintln(file,"{"); - script_gen_dumpprintln(file,"\tlevel.sg_animtree[ \" + keys1[i] + "\" ] = #animtree;"); - keys2 = getarraykeys(level.sg_precacheanims[keys1[i]]); - j = 0; - for(;;) - { - script_gen_dumpprintln(file,"\tlevel.sg_anim[ \" + keys2[j] + "\" ] = %" + keys2[j] + ";"); - j++; - } - script_gen_dumpprintln(file,"}"); - script_gen_dumpprintln(file,""); - i++; + keys1 = getarraykeys(level.sg_precacheanims); } - saved = closefile(file); - saved = 1; - csvfile = openfile(csvfilename,"write"); - csvfile = 0; + + if(IsDefined(keys1)) + { + for(i = 0;i < keys1.size;i++) + { + script_gen_dumpprintln(file,"#using_animtree( \" + keys1[i] + "\" );"); + script_gen_dumpprintln(file,"anim_precach_" + keys1[i] + "()"); + script_gen_dumpprintln(file,"{"); + script_gen_dumpprintln(file,"\tlevel.sg_animtree[ \" + keys1[i] + "\" ] = #animtree;"); + keys2 = getarraykeys(level.sg_precacheanims[keys1[i]]); + if(IsDefined(keys2)) + { + for(j = 0;j < keys2.size;j++) + { + script_gen_dumpprintln(file,"\tlevel.sg_anim[ \" + keys2[j] + "\" ] = %" + keys2[j] + ";"); + } + } + + script_gen_dumpprintln(file,"}"); + script_gen_dumpprintln(file,""); + } + } + + if(level.bscriptgened) + { + saved = closefile(file); + } + else + { + saved = 1; + } + + if(level.bcsvgened) + { + csvfile = openfile(csvfilename,"write"); + } + else + { + csvfile = 0; + } + /# assert(csvfile != -1,"File not writeable( check it and and restart the map ): " + csvfilename); #/ signatures = getarraykeys(level.script_gen_dump); - i = 0; - for(;;) + for(i = 0;i < signatures.size;i++) { script_gen_csvdumpprintln(csvfile,signatures[i]); - i++; } - csvfilesaved = closefile(csvfile); - csvfilesaved = 1; + + if(level.bcsvgened) + { + csvfilesaved = closefile(csvfile); + } + else + { + csvfilesaved = 1; + } + /# assert(csvfilesaved == 1,"csv not saved( see above message? ): " + csvfilename); #/ /# assert(saved == 1,"map not saved( see above message? ): " + filename); #/ -(i < keys1.size ? (IsDefined(keys2) ? j < keys2.size : level.bscriptgened) : level.bcsvgened) ? i < signatures.size : level.bcsvgened -IsDefined(keys1) -IsDefined(level.sg_precacheanims) -i < keys1.size -IsDefined(keys1) -IsDefined(level.sg_precacheanims) -(issubstr(level.script_gen_dump[signatures[i]],"nowrite")) ? i < signatures.size : issubstr(level.script_gen_dump[signatures[i]],"nowrite") -i < signatures.size -(level.script_gen_dump_reasons.size) ? ((level.bscriptgened ? i < level.script_gen_dump_reasons.size : issubstr(level.script_gen_dump_reasons[i],"nowrite")) ? level.script_gen_dump_reasons[i] == "First run" : firstrun) : level.bscriptgened #/ /# assert(!level.bscriptgened,"SCRIPTGEN generated: follow instructions listed above this error in the console"); @@ -164,9 +227,8 @@ i < signatures.size { /# assertmsg("SCRIPTGEN updated: Rebuild fast file and run map again"); -#/ } - +#/ flag_set("scriptgen_done"); } @@ -244,7 +306,7 @@ script_gen_csvdumpprintln(file,signature) { prefix = "string"; /# - assertmsg("string not yet supported by scriptgen"); + assertmsg("string not yet supported by scriptgen"); #/ } else if(issubstr(signature,"turret")) @@ -275,9 +337,14 @@ script_gen_csvdumpprintln(file,signature) } /# - println(string); - fprintln(file,string); -Stack-Empty ? Stack-Empty : file == -1 || !level.bcsvgened + if(file == -1 || !level.bcsvgened) + { + println(string); + } + else + { + fprintln(file,string); + } #/ } @@ -285,8 +352,13 @@ Stack-Empty ? Stack-Empty : file == -1 || !level.bcsvgened script_gen_dumpprintln(file,string) { /# - println(string); - fprintln(file,string); -Stack-Empty ? Stack-Empty : file == -1 || !level.bscriptgened + if(file == -1 || !level.bscriptgened) + { + println(string); + } + else + { + fprintln(file,string); + } #/ } \ No newline at end of file diff --git a/BO2/Xbox/MP/maps/mp/_sensor_grenade.gsc b/BO2/Xbox/MP/maps/mp/_sensor_grenade.gsc index d5a2742..c7261b9 100644 --- a/BO2/Xbox/MP/maps/mp/_sensor_grenade.gsc +++ b/BO2/Xbox/MP/maps/mp/_sensor_grenade.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 10 - * Decompile Time: 35 ms - * Timestamp: 10/27/2023 3:05:11 AM + * Decompile Time: 1 ms + * Timestamp: 10/28/2023 12:13:51 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/Xbox/MP/maps/mp/_serverfaceanim_mp.gsc b/BO2/Xbox/MP/maps/mp/_serverfaceanim_mp.gsc index dcfe6f6..0d5c3e9 100644 --- a/BO2/Xbox/MP/maps/mp/_serverfaceanim_mp.gsc +++ b/BO2/Xbox/MP/maps/mp/_serverfaceanim_mp.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 4 - * Decompile Time: 5 ms - * Timestamp: 10/27/2023 3:05:11 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:13:51 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/Xbox/MP/maps/mp/_smokegrenade.gsc b/BO2/Xbox/MP/maps/mp/_smokegrenade.gsc index bd41057..86ee15a 100644 --- a/BO2/Xbox/MP/maps/mp/_smokegrenade.gsc +++ b/BO2/Xbox/MP/maps/mp/_smokegrenade.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 4 - * Decompile Time: 14 ms - * Timestamp: 10/27/2023 3:05:12 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:13:52 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/Xbox/MP/maps/mp/_sticky_grenade.gsc b/BO2/Xbox/MP/maps/mp/_sticky_grenade.gsc index 284c380..8ba6c63 100644 --- a/BO2/Xbox/MP/maps/mp/_sticky_grenade.gsc +++ b/BO2/Xbox/MP/maps/mp/_sticky_grenade.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 2 - * Decompile Time: 3 ms - * Timestamp: 10/27/2023 3:05:12 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:13:52 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/Xbox/MP/maps/mp/_tabun.gsc b/BO2/Xbox/MP/maps/mp/_tabun.gsc index 54df24f..de41bfd 100644 --- a/BO2/Xbox/MP/maps/mp/_tabun.gsc +++ b/BO2/Xbox/MP/maps/mp/_tabun.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 19 - * Decompile Time: 80 ms - * Timestamp: 10/27/2023 3:05:12 AM + * Decompile Time: 6 ms + * Timestamp: 10/28/2023 12:13:52 AM *******************************************************************/ #include common_scripts/utility; @@ -103,8 +103,10 @@ damageeffectarea(owner,position,radius,height,killcament) shockeffectarea = spawn("trigger_radius",position,0,radius,height); gaseffectarea = spawn("trigger_radius",position,0,radius,height); /# - level thread drawcylinder(position,radius,height,undefined,"tabun_draw_cylinder_stop"); -GetDvarInt(#"9CB86F60") + if(GetDvarInt(#"9CB86F60")) + { + level thread drawcylinder(position,radius,height,undefined,"tabun_draw_cylinder_stop"); + } #/ owner thread maps/mp/killstreaks/_dogs::flash_dogs(shockeffectarea); owner thread maps/mp/killstreaks/_dogs::flash_dogs(gaseffectarea); @@ -156,7 +158,10 @@ GetDvarInt(#"9CB86F60") shockeffectarea delete(); gaseffectarea delete(); /# - level notify("tabun_draw_cylinder_stop",GetDvarInt(#"9CB86F60")); + if(GetDvarInt(#"9CB86F60")) + { + level notify("tabun_draw_cylinder_stop",players[i]); + } #/ } @@ -277,10 +282,11 @@ generatelocations(position,owner) startpos = position + onefoot; /# level.tabun_debug = getdvarintdefault("scr_tabun_debug",0); - black = VectorScale((1,1,1)); - debugstar(startpos,2000,black); -0.2 -level.tabun_debug + if(level.tabun_debug) + { + black = VectorScale((1,1,1)); + debugstar(startpos,2000,black); + } #/ spawnalllocs(owner,startpos); } @@ -301,9 +307,12 @@ hitpos(start,end,color) trace = bullettrace(start,end,0,undefined); /# level.tabun_debug = getdvarintdefault("scr_tabun_debug",0); - debugstar(trace["position"],2000,color); + if(level.tabun_debug) + { + debugstar(trace["position"],2000,color); + } + thread debug_line(start,trace["position"],color,80); -level.tabun_debug #/ return trace["position"]; } @@ -500,9 +509,11 @@ getcentroid(locations) /# level.tabun_debug = getdvarintdefault("scr_tabun_debug",0); - purple = (0.9,0.2,0.9); - debugstar(centroid,2000,purple); -level.tabun_debug + if(level.tabun_debug) + { + purple = (0.9,0.2,0.9); + debugstar(centroid,2000,purple); + } #/ return centroid; } @@ -545,9 +556,11 @@ getcenter(locations) center = (avgx,avgy,locations["tracePos"][0][2]); /# level.tabun_debug = getdvarintdefault("scr_tabun_debug",0); - cyan = (0.2,0.9,0.9); - debugstar(center,2000,cyan); -level.tabun_debug + if(level.tabun_debug) + { + cyan = (0.2,0.9,0.9); + debugstar(center,2000,cyan); + } #/ return center; } \ No newline at end of file diff --git a/BO2/Xbox/MP/maps/mp/_tacticalinsertion.gsc b/BO2/Xbox/MP/maps/mp/_tacticalinsertion.gsc index 90a8dd0..7897723 100644 --- a/BO2/Xbox/MP/maps/mp/_tacticalinsertion.gsc +++ b/BO2/Xbox/MP/maps/mp/_tacticalinsertion.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 17 - * Decompile Time: 118 ms - * Timestamp: 10/27/2023 3:05:13 AM + * Decompile Time: 9 ms + * Timestamp: 10/28/2023 12:13:52 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/Xbox/MP/maps/mp/_teargrenades.gsc b/BO2/Xbox/MP/maps/mp/_teargrenades.gsc index 2b7eebd..9f3e2b2 100644 --- a/BO2/Xbox/MP/maps/mp/_teargrenades.gsc +++ b/BO2/Xbox/MP/maps/mp/_teargrenades.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 9 - * Decompile Time: 19 ms - * Timestamp: 10/27/2023 3:05:14 AM + * Decompile Time: 1 ms + * Timestamp: 10/28/2023 12:13:53 AM *******************************************************************/ #include maps/mp/gametypes/_perplayer; diff --git a/BO2/Xbox/MP/maps/mp/_treadfx.gsc b/BO2/Xbox/MP/maps/mp/_treadfx.gsc index ed4dbf7..8e6198c 100644 --- a/BO2/Xbox/MP/maps/mp/_treadfx.gsc +++ b/BO2/Xbox/MP/maps/mp/_treadfx.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 2 - * Decompile Time: 21 ms - * Timestamp: 10/27/2023 3:05:14 AM + * Decompile Time: 1 ms + * Timestamp: 10/28/2023 12:13:53 AM *******************************************************************/ //Function Number: 1 diff --git a/BO2/Xbox/MP/maps/mp/_trophy_system.gsc b/BO2/Xbox/MP/maps/mp/_trophy_system.gsc index cfe3aa1..62cd800 100644 --- a/BO2/Xbox/MP/maps/mp/_trophy_system.gsc +++ b/BO2/Xbox/MP/maps/mp/_trophy_system.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 12 - * Decompile Time: 71 ms - * Timestamp: 10/27/2023 3:05:14 AM + * Decompile Time: 4 ms + * Timestamp: 10/28/2023 12:13:53 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/Xbox/MP/maps/mp/_utility.gsc b/BO2/Xbox/MP/maps/mp/_utility.gsc index 72dd344..ed44e6e 100644 --- a/BO2/Xbox/MP/maps/mp/_utility.gsc +++ b/BO2/Xbox/MP/maps/mp/_utility.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 176 - * Decompile Time: 213 ms - * Timestamp: 10/27/2023 3:05:15 AM + * Decompile Time: 29 ms + * Timestamp: 10/28/2023 12:13:53 AM *******************************************************************/ #include common_scripts/utility; @@ -78,10 +78,12 @@ error(msg) /# println("^c*ERROR* ",msg); wait(0.05); + if(GetDvar(#"F49A52C") != "1") + { /# - assertmsg("This is a forced error - attach the log file"); + assertmsg("This is a forced error - attach the log file"); + } #/ -GetDvar(#"F49A52C") != "1" #/ } @@ -1195,15 +1197,36 @@ activate_exploder(num) { num = int(num); /# - i = 0; - for(;;) + if(level.createfx_enabled) { - ent = level.createfxent[i]; - client_send = 0; - ent activate_individual_exploder(); - i++; + for(i = 0;i < level.createfxent.size;i++) + { + ent = level.createfxent[i]; + if(!(IsDefined(ent))) + { + } + else if(ent.v["type"] != "exploder") + { + } + else if(!(IsDefined(ent.v["exploder"]))) + { + } + else if(ent.v["exploder"] != num) + { + } + else + { + if(IsDefined(ent.v["exploder_server"])) + { + client_send = 0; + } + + ent activate_individual_exploder(); + } + } + + return; } -Stack-Empty ? Stack-Empty : ((level.createfx_enabled) ? i < level.createfxent.size : (IsDefined(ent) ? ent.v["type"] != "exploder" : ((IsDefined(ent.v["exploder"])) ? ent.v["exploder"] != num : IsDefined(ent.v["exploder_server"])))) #/ client_send = 1; if(IsDefined(level.createfxexploders[num])) @@ -1459,22 +1482,31 @@ plot_points(plotpoints,r,g,b,timer) { /# lastpoint = plotpoints[0]; - r = 1; - g = 1; - b = 1; - timer = 0.05; - i = 1; - for(;;) + if(!(IsDefined(r))) + { + r = 1; + } + + if(!(IsDefined(g))) + { + g = 1; + } + + if(!(IsDefined(b))) + { + b = 1; + } + + if(!(IsDefined(timer))) + { + timer = 0.05; + } + + for(i = 1;i < plotpoints.size;i++) { line(lastpoint,plotpoints[i],(r,g,b),1,timer); lastpoint = plotpoints[i]; - i++; } -i < plotpoints.size -IsDefined(timer) -IsDefined(b) -IsDefined(g) -IsDefined(r) #/ } @@ -2249,9 +2281,12 @@ set_dvar_int_if_unset(dvar,value,reset) drawcylinder(pos,rad,height,duration,stop_notify) { /# - duration = 0; + if(!(IsDefined(duration))) + { + duration = 0; + } + level thread drawcylinder_think(pos,rad,height,duration,stop_notify); -IsDefined(duration) #/ } @@ -2259,27 +2294,32 @@ IsDefined(duration) drawcylinder_think(pos,rad,height,seconds,stop_notify) { /# - level endon(stop_notify,IsDefined(stop_notify)); + if(IsDefined(stop_notify)) + { + level endon(stop_notify); + } + stop_time = GetTime() + seconds * 1000; currad = rad; curheight = height; for(;;) { - return; - r = 0; - for(;;) + if(seconds > 0 && stop_time <= GetTime()) + { + return; + } + + for(r = 0;r < 20;r++) { theta = r / 20 * 360; theta2 = r + 1 / 20 * 360; line(pos + (cos(theta) * currad,sin(theta) * currad,0),pos + (cos(theta2) * currad,sin(theta2) * currad,0)); line(pos + (cos(theta) * currad,sin(theta) * currad,curheight),pos + (cos(theta2) * currad,sin(theta2) * currad,curheight)); line(pos + (cos(theta) * currad,sin(theta) * currad,0),pos + (cos(theta) * currad,sin(theta) * currad,curheight)); - r++; } + wait(0.05); } -r < 20 -seconds > 0 && stop_time <= GetTime() #/ } diff --git a/BO2/Xbox/MP/maps/mp/_vehicles.gsc b/BO2/Xbox/MP/maps/mp/_vehicles.gsc index 3530533..30318a0 100644 --- a/BO2/Xbox/MP/maps/mp/_vehicles.gsc +++ b/BO2/Xbox/MP/maps/mp/_vehicles.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 86 - * Decompile Time: 220 ms - * Timestamp: 10/27/2023 3:05:16 AM + * Decompile Time: 23 ms + * Timestamp: 10/28/2023 12:13:53 AM *******************************************************************/ #include common_scripts/utility; @@ -406,9 +406,8 @@ init_vehicle() self.maxhealth = GetDvarInt(#"20E17551"); /# println("No health specified for vehicle type " + self.vehicletype + "! Using default..."); -#/ } - +#/ self.health = self.maxhealth; self vehicle_record_initial_values(); self init_vehicle_threads(); @@ -631,14 +630,15 @@ cleanup_debug_print_t() self endon("death"); self endon("delete"); /# - for(;;) + while(1) { - print3d(150 + VectorScale((0,0,1)),self.origin,self.debug_message,(0,1,0),1,1); + if(IsDefined(self.debug_message) && GetDvarInt(#"AAD1512A") != 0) + { + print3d(150 + VectorScale((0,0,1)),self.origin,self.debug_message,(0,1,0),1,1); + } + wait(0.01); } -1 -IsDefined(self.debug_message) && GetDvarInt(#"AAD1512A") != 0 -1 #/ } @@ -649,9 +649,9 @@ cleanup_debug_print_clearmsg_t() self endon("death"); self endon("delete"); /# - for(;;) + while(1) { - self waittill(1,"enter_vehicle"); + self waittill("enter_vehicle"); self.debug_message = undefined; } #/ diff --git a/BO2/Xbox/MP/maps/mp/animscripts/dog_init.gsc b/BO2/Xbox/MP/maps/mp/animscripts/dog_init.gsc index 694465a..602e371 100644 --- a/BO2/Xbox/MP/maps/mp/animscripts/dog_init.gsc +++ b/BO2/Xbox/MP/maps/mp/animscripts/dog_init.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 3 - * Decompile Time: 20 ms - * Timestamp: 10/27/2023 3:04:06 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:13:29 AM *******************************************************************/ #include maps/mp/animscripts/dog_move; diff --git a/BO2/Xbox/MP/maps/mp/animscripts/dog_jump.gsc b/BO2/Xbox/MP/maps/mp/animscripts/dog_jump.gsc index 22d273b..d00a398 100644 --- a/BO2/Xbox/MP/maps/mp/animscripts/dog_jump.gsc +++ b/BO2/Xbox/MP/maps/mp/animscripts/dog_jump.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 1 - * Decompile Time: 4 ms - * Timestamp: 10/27/2023 3:04:06 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:13:29 AM *******************************************************************/ #include maps/mp/animscripts/shared; diff --git a/BO2/Xbox/MP/maps/mp/animscripts/dog_move.gsc b/BO2/Xbox/MP/maps/mp/animscripts/dog_move.gsc index 66faaef..604599a 100644 --- a/BO2/Xbox/MP/maps/mp/animscripts/dog_move.gsc +++ b/BO2/Xbox/MP/maps/mp/animscripts/dog_move.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 6 - * Decompile Time: 28 ms - * Timestamp: 10/27/2023 3:04:07 AM + * Decompile Time: 1 ms + * Timestamp: 10/28/2023 12:13:29 AM *******************************************************************/ #include maps/mp/animscripts/dog_stop; @@ -43,8 +43,10 @@ main() self setaimanimweights(0,0); do_movement = 1; /# - do_movement = 0; -debug_allow_movement() + if(!(debug_allow_movement())) + { + do_movement = 0; + } #/ if(IsDefined(level.hostmigrationtimer)) { @@ -105,8 +107,10 @@ moveloop() { do_movement = 1; /# - do_movement = 0; -debug_allow_movement() + if(!(debug_allow_movement())) + { + do_movement = 0; + } #/ if(IsDefined(level.hostmigrationtimer)) { @@ -172,9 +176,14 @@ stopmove() shouldrun() { /# - return 1; - return 0; -Stack-Empty ? GetDvarInt(#"DFB12081") != 0 : GetDvarInt(#"D5D7999B") != 0 + if(GetDvarInt(#"DFB12081") != 0) + { + return 1; + } + else if(GetDvarInt(#"D5D7999B") != 0) + { + return 0; + } #/ if(IsDefined(self.enemy)) { diff --git a/BO2/Xbox/MP/maps/mp/animscripts/dog_pain.gsc b/BO2/Xbox/MP/maps/mp/animscripts/dog_pain.gsc index c210cdd..8c4e8b2 100644 --- a/BO2/Xbox/MP/maps/mp/animscripts/dog_pain.gsc +++ b/BO2/Xbox/MP/maps/mp/animscripts/dog_pain.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 1 - * Decompile Time: 9 ms - * Timestamp: 10/27/2023 3:04:07 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:13:29 AM *******************************************************************/ #include maps/mp/animscripts/shared; diff --git a/BO2/Xbox/MP/maps/mp/animscripts/dog_stop.gsc b/BO2/Xbox/MP/maps/mp/animscripts/dog_stop.gsc index f3e8dd6..4fa507f 100644 --- a/BO2/Xbox/MP/maps/mp/animscripts/dog_stop.gsc +++ b/BO2/Xbox/MP/maps/mp/animscripts/dog_stop.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 6 - * Decompile Time: 29 ms - * Timestamp: 10/27/2023 3:04:07 AM + * Decompile Time: 1 ms + * Timestamp: 10/28/2023 12:13:30 AM *******************************************************************/ #include maps/mp/animscripts/shared; diff --git a/BO2/Xbox/MP/maps/mp/animscripts/dog_turn.gsc b/BO2/Xbox/MP/maps/mp/animscripts/dog_turn.gsc index 31137ee..95afcd8 100644 --- a/BO2/Xbox/MP/maps/mp/animscripts/dog_turn.gsc +++ b/BO2/Xbox/MP/maps/mp/animscripts/dog_turn.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 10 - * Decompile Time: 23 ms - * Timestamp: 10/27/2023 3:04:08 AM + * Decompile Time: 6 ms + * Timestamp: 10/28/2023 12:13:30 AM *******************************************************************/ #include maps/mp/animscripts/shared; diff --git a/BO2/Xbox/MP/maps/mp/animscripts/shared.gsc b/BO2/Xbox/MP/maps/mp/animscripts/shared.gsc index f1d0455..5e5af80 100644 --- a/BO2/Xbox/MP/maps/mp/animscripts/shared.gsc +++ b/BO2/Xbox/MP/maps/mp/animscripts/shared.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 12 - * Decompile Time: 22 ms - * Timestamp: 10/27/2023 3:04:08 AM + * Decompile Time: 1 ms + * Timestamp: 10/28/2023 12:13:30 AM *******************************************************************/ #include common_scripts/utility; @@ -39,8 +39,10 @@ growling() handlenotetrack(note,flagname,customfunction,var1) { /# - println("dog notetrack: " + flagname + " " + note + " " + GetTime()); -GetDvarInt(#"6EBEB982") + if(GetDvarInt(#"6EBEB982")) + { + println("dog notetrack: " + flagname + " " + note + " " + GetTime()); + } #/ if(isai(self) && self.type == "dog") { @@ -60,7 +62,8 @@ GetDvarInt(#"6EBEB982") default: return [[ customfunction ]](note); return [[ customfunction ]](note,var1); - Stack-Empty ? IsDefined(customfunction) : IsDefined(var1) + IsDefined(var1) + IsDefined(customfunction) break; } } diff --git a/BO2/Xbox/MP/maps/mp/animscripts/utility.gsc b/BO2/Xbox/MP/maps/mp/animscripts/utility.gsc index 4c6b27b..28fb94e 100644 --- a/BO2/Xbox/MP/maps/mp/animscripts/utility.gsc +++ b/BO2/Xbox/MP/maps/mp/animscripts/utility.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 10 - * Decompile Time: 12 ms - * Timestamp: 10/27/2023 3:04:08 AM + * Decompile Time: 1 ms + * Timestamp: 10/28/2023 12:13:30 AM *******************************************************************/ //Function Number: 1 @@ -32,9 +32,17 @@ anim_get_dvar(dvar,def) set_orient_mode(mode,val1) { /# - println("DOG: Setting orient mode: " + mode + " " + val1 + " " + GetTime()); - println("DOG: Setting orient mode: " + mode + " " + GetTime()); -Stack-Empty ? level.dog_debug_orient == self getentnum() : IsDefined(val1) + if(level.dog_debug_orient == self getentnum()) + { + if(IsDefined(val1)) + { + println("DOG: Setting orient mode: " + mode + " " + val1 + " " + GetTime()); + } + else + { + println("DOG: Setting orient mode: " + mode + " " + GetTime()); + } + } #/ if(IsDefined(val1)) { @@ -50,10 +58,15 @@ Stack-Empty ? level.dog_debug_orient == self getentnum() : IsDefined(val1) debug_anim_print(text) { /# - println(text + " " + GetTime()); - println(text + " " + GetTime()); -level.dog_debug_anims_ent == self getentnum() -level.dog_debug_anims + if(level.dog_debug_anims) + { + println(text + " " + GetTime()); + } + + if(level.dog_debug_anims_ent == self getentnum()) + { + println(text + " " + GetTime()); + } #/ } @@ -61,17 +74,19 @@ level.dog_debug_anims debug_turn_print(text,line) { /# - duration = 200; - currentyawcolor = (1,1,1); - lookaheadyawcolor = (1,0,0); - desiredyawcolor = (1,1,0); - currentyaw = AngleClamp180(self.angles[1]); - desiredyaw = AngleClamp180(self.desiredangle); - lookaheaddir = self.lookaheaddir; - lookaheadangles = VectorToAngles(lookaheaddir); - lookaheadyaw = AngleClamp180(lookaheadangles[1]); - println(text + " " + GetTime() + " cur: " + currentyaw + " look: " + lookaheadyaw + " desired: " + desiredyaw); -level.dog_debug_turns == self getentnum() + if(level.dog_debug_turns == self getentnum()) + { + duration = 200; + currentyawcolor = (1,1,1); + lookaheadyawcolor = (1,0,0); + desiredyawcolor = (1,1,0); + currentyaw = AngleClamp180(self.angles[1]); + desiredyaw = AngleClamp180(self.desiredangle); + lookaheaddir = self.lookaheaddir; + lookaheadangles = VectorToAngles(lookaheaddir); + lookaheadyaw = AngleClamp180(lookaheadangles[1]); + println(text + " " + GetTime() + " cur: " + currentyaw + " look: " + lookaheadyaw + " desired: " + desiredyaw); + } #/ } @@ -100,8 +115,12 @@ current_yaw_line_debug(duration) currentyawcolor[1] = (1,0,1); current_color_index = 0; start_time = GetTime(); - level.lastdebugheight = 15; - for(;;) + if(!(IsDefined(level.lastdebugheight))) + { + level.lastdebugheight = 15; + } + + while(GetTime() - start_time < 1000) { pos1 = (self.origin[0],self.origin[1],self.origin[2] + level.lastdebugheight); pos2 = current_color_index + 1 * 10 + VectorScale(AnglesToForward(self.angles)); @@ -109,10 +128,15 @@ current_yaw_line_debug(duration) current_color_index = current_color_index + 1 % currentyawcolor.size; wait(0.05); } - level.lastdebugheight = 30; - level.lastdebugheight = 15; -(GetTime() - start_time < 1000) ? pos1 : level.lastdebugheight == 15 -IsDefined(level.lastdebugheight) + + if(level.lastdebugheight == 15) + { + level.lastdebugheight = 30; + } + else + { + level.lastdebugheight = 15; + } #/ } diff --git a/BO2/Xbox/MP/maps/mp/bots/_bot.gsc b/BO2/Xbox/MP/maps/mp/bots/_bot.gsc index 63020a0..c5ec12b 100644 --- a/BO2/Xbox/MP/maps/mp/bots/_bot.gsc +++ b/BO2/Xbox/MP/maps/mp/bots/_bot.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 77 - * Decompile Time: 310 ms - * Timestamp: 10/27/2023 3:04:10 AM + * Decompile Time: 37 ms + * Timestamp: 10/28/2023 12:13:30 AM *******************************************************************/ #include common_scripts/utility; @@ -496,7 +496,14 @@ bot_local_think() bot_expected_friends = GetDvarInt(#"EB92E914"); bot_expected_enemies = GetDvarInt(#"94FFF5AF"); - max_players = islocalgame() ? 10 : 18; + if(islocalgame()) + { + } + else + { + } + + max_players = 18; for(;;) { for(;;) @@ -649,18 +656,26 @@ bot_spawn() self endon("disconnect"); /# weapon = undefined; - player = gethostplayer(); - weapon = player getcurrentweapon(); - weapon = GetDvar(#"605D81B6"); - self maps/mp/gametypes/_weapons::detach_all_weapons(); - self takeallweapons(); - self giveweapon(weapon); - self switchtoweapon(weapon); - self setspawnweapon(weapon); - self maps/mp/teams/_teams::set_player_model(self.team,weapon); -IsDefined(weapon) -GetDvar(#"605D81B6") != "" -GetDvarInt(#"98F33417") != 0 + if(GetDvarInt(#"98F33417") != 0) + { + player = gethostplayer(); + weapon = player getcurrentweapon(); + } + + if(GetDvar(#"605D81B6") != "") + { + weapon = GetDvar(#"605D81B6"); + } + + if(IsDefined(weapon)) + { + self maps/mp/gametypes/_weapons::detach_all_weapons(); + self takeallweapons(); + self giveweapon(weapon); + self switchtoweapon(weapon); + self setspawnweapon(weapon); + self maps/mp/teams/_teams::set_player_model(self.team,weapon); + } #/ self bot_spawn_init(); if(IsDefined(self.bot_first_spawn)) @@ -1170,15 +1185,14 @@ bot_get_enemies(on_radar) enemies = self getenemies(1); /# - i = 0; - for(;;) + for(i = 0;i < enemies.size;i++) { - arrayremoveindex(enemies,i); - i--; - i++; + if(enemies[i] isinmovemode("ufo","noclip")) + { + arrayremoveindex(enemies,i); + i--; + } } -enemies[i] isinmovemode("ufo","noclip") -i < enemies.size #/ if(on_radar && !self bot_has_radar()) { @@ -1205,15 +1219,14 @@ bot_get_friends() { friends = self getfriendlies(1); /# - i = 0; - for(;;) + for(i = 0;i < friends.size;i++) { - arrayremoveindex(friends,i); - i--; - i++; + if(friends[i] isinmovemode("ufo","noclip")) + { + arrayremoveindex(friends,i); + i--; + } } -friends[i] isinmovemode("ufo","noclip") -i < friends.size #/ return friends; } @@ -1976,7 +1989,10 @@ bot_update_killstreak() } /# -GetDvarInt(#"1D5FB2EC") + if(!(GetDvarInt(#"1D5FB2EC"))) + { + return; + } #/ self.bot.update_killstreak = time + randomintrange(1000,3000); weapons = self getweaponslist(); @@ -2101,19 +2117,24 @@ bot_rccar_think() else { /# -player isinmovemode("ufo","noclip") -#/ - if(bot_get_difficulty() == "easy") + if(player isinmovemode("ufo","noclip")) { - if(distancesquared(ent.origin,player.origin) < 262144) + } + else + { +#/ + if(bot_get_difficulty() == "easy") + { + if(distancesquared(ent.origin,player.origin) < 262144) + { + self pressattackbutton(); + } + } + else if(distancesquared(ent.origin,player.origin) < 40000) { self pressattackbutton(); } } - else if(distancesquared(ent.origin,player.origin) < 40000) - { - self pressattackbutton(); - } } } } @@ -2385,12 +2406,18 @@ gametype_void() bot_debug_star(origin,seconds,color) { /# - seconds = 1; - color = (1,0,0); + if(!(IsDefined(seconds))) + { + seconds = 1; + } + + if(!(IsDefined(color))) + { + color = (1,0,0); + } + frames = int(20 * seconds); debugstar(origin,frames,color); -IsDefined(color) -IsDefined(seconds) #/ } @@ -2398,12 +2425,18 @@ IsDefined(seconds) bot_debug_circle(origin,radius,seconds,color) { /# - seconds = 1; - color = (1,0,0); + if(!(IsDefined(seconds))) + { + seconds = 1; + } + + if(!(IsDefined(color))) + { + color = (1,0,0); + } + frames = int(20 * seconds); circle(origin,radius,color,0,1,frames); -IsDefined(color) -IsDefined(seconds) #/ } @@ -2411,14 +2444,23 @@ IsDefined(seconds) bot_debug_box(origin,mins,maxs,yaw,seconds,color) { /# - yaw = 0; - seconds = 1; - color = (1,0,0); + if(!(IsDefined(yaw))) + { + yaw = 0; + } + + if(!(IsDefined(seconds))) + { + seconds = 1; + } + + if(!(IsDefined(color))) + { + color = (1,0,0); + } + frames = int(20 * seconds); box(origin,mins,maxs,yaw,color,1,0,frames); -IsDefined(color) -IsDefined(seconds) -IsDefined(yaw) #/ } @@ -2444,20 +2486,25 @@ bot_devgui_think() self notify("crosshair_follow_off",GetDvarInt(#"487CD523") != 0); setdvar("bot_AllowMovement","0"); break; + case "€GSC\r\n": setdvar("scr_forcelaststand","1"); self setperk("specialty_pistoldeath"); self setperk("specialty_finalstand"); self dodamage(self.health,self.origin); break; + case "€GSC\r\n": default: reset = 0; break; } - setdvar("devgui_bot",""); + + if(reset) + { + setdvar("devgui_bot",""); + } } -reset #/ } @@ -2478,11 +2525,13 @@ bot_system_devgui_think() team = player.team; devgui_bot_spawn(team); break; + case "€GSC\r\n": player = gethostplayer(); team = getenemyteamwithlowestplayercount(player.team); devgui_bot_spawn(team); break; + case "€GSC\r\n": case "€GSC\r\n": players = get_players(); @@ -2501,21 +2550,28 @@ bot_system_devgui_think() player maps/mp/teams/_teams::set_player_model(player.team,weapon); _k2692 = NextArrayKey(_a2692); } + break; _k2692 - Stack-Empty ? IsDefined(_k2692) : player is_bot() + player is_bot() + IsDefined(_k2692) break; + case "€GSC\r\n": devgui_debug_route(); break; + case "€GSC\r\n": default: reset = 0; break; } - setdvar("devgui_bot",""); + + if(reset) + { + setdvar("devgui_bot",""); + } } -reset #/ } @@ -2541,8 +2597,10 @@ bot_crosshair_follow() direction_vec = (direction_vec[0] * scale,direction_vec[1] * scale,direction_vec[2] * scale); trace = bullettrace(eye,eye + direction_vec,0,undefined); origin = trace["position"] + (0,0,0); + if(distancesquared(self.origin,origin) > 16384) + { + } } -distancesquared(self.origin,origin) > 16384 #/ } @@ -2556,14 +2614,20 @@ bot_debug_patrol(node1,node2) { self addgoal(node1,24,4,"debug_route"); self waittill("debug_route",result); - self cancelgoal("debug_route"); - wait(5); + if(result == "failed") + { + self cancelgoal("debug_route"); + wait(5); + } + self addgoal(node2,24,4,"debug_route"); - self waittill(result == "failed","debug_route",result); - self cancelgoal("debug_route"); - wait(5); + self waittill("debug_route",result); + if(result == "failed") + { + self cancelgoal("debug_route"); + wait(5); + } } -result == "failed" #/ } @@ -2573,21 +2637,25 @@ devgui_debug_route() /# iprintln("Choose nodes with \'A\' or press \'B\' to cancel"); nodes = maps/mp/gametypes/_dev::dev_get_node_pair(); - iprintln("Route Debug Cancelled"); - return; + if(!(IsDefined(nodes))) + { + iprintln("Route Debug Cancelled"); + return; + } + iprintln("Sending bots to chosen nodes"); players = get_players(); - _a2804 = players; - _k2804 = FirstArrayKey(_a2804); - for(;;) + foreach(player in players) { - player = _a2804[_k2804]; - player notify("debug_patrol",player is_bot(),IsDefined(_k2804),IsDefined(nodes)); - player thread bot_debug_patrol(nodes[0],nodes[1]); - _k2804 = NextArrayKey(_a2804); + if(!(player is_bot())) + { + } + else + { + player notify("debug_patrol"); + player thread bot_debug_patrol(nodes[0],nodes[1]); + } } -_k2804 -Stack-Empty ? Stack-Empty : Stack-Empty #/ } @@ -2605,13 +2673,16 @@ devgui_bot_spawn(team) direction_vec = player.origin - trace["position"]; direction = VectorToAngles(direction_vec); bot = addtestclient(); - println("Could not add test client"); - return; + if(!(IsDefined(bot))) + { + println("Could not add test client"); + return; + } + bot.pers["isBot"] = 1; bot thread bot_spawn_think(team); yaw = direction[1]; bot thread devgui_bot_spawn_think(trace["position"],yaw); -IsDefined(bot) #/ } diff --git a/BO2/Xbox/MP/maps/mp/bots/_bot_combat.gsc b/BO2/Xbox/MP/maps/mp/bots/_bot_combat.gsc index 99ecc0e..be16320 100644 --- a/BO2/Xbox/MP/maps/mp/bots/_bot_combat.gsc +++ b/BO2/Xbox/MP/maps/mp/bots/_bot_combat.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 65 - * Decompile Time: 294 ms - * Timestamp: 10/27/2023 3:04:11 AM + * Decompile Time: 20 ms + * Timestamp: 10/28/2023 12:13:31 AM *******************************************************************/ #include common_scripts/utility; @@ -35,10 +35,16 @@ bot_combat_think(damage,attacker,direction) difficulty = maps/mp/bots/_bot::bot_get_difficulty(); /# - self bot_combat_idle(); - isplayer(self.bot.threat.entity) && !self.bot.threat.entity is_bot() - GetDvarInt(#"D3EB879") - bot_has_enemy() + if(bot_has_enemy()) + { + if(GetDvarInt(#"D3EB879")) + { + if(isplayer(self.bot.threat.entity) && !self.bot.threat.entity is_bot()) + { + self bot_combat_idle(); + } + } + } #/ sight = bot_best_enemy(); bot_select_weapon(); diff --git a/BO2/Xbox/MP/maps/mp/bots/_bot_conf.gsc b/BO2/Xbox/MP/maps/mp/bots/_bot_conf.gsc index eea33b3..ab11ee2 100644 --- a/BO2/Xbox/MP/maps/mp/bots/_bot_conf.gsc +++ b/BO2/Xbox/MP/maps/mp/bots/_bot_conf.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 3 - * Decompile Time: 22 ms - * Timestamp: 10/27/2023 3:04:11 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:13:31 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/Xbox/MP/maps/mp/bots/_bot_ctf.gsc b/BO2/Xbox/MP/maps/mp/bots/_bot_ctf.gsc index 983435a..db278d3 100644 --- a/BO2/Xbox/MP/maps/mp/bots/_bot_ctf.gsc +++ b/BO2/Xbox/MP/maps/mp/bots/_bot_ctf.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 12 - * Decompile Time: 66 ms - * Timestamp: 10/27/2023 3:04:12 AM + * Decompile Time: 9 ms + * Timestamp: 10/28/2023 12:13:31 AM *******************************************************************/ #include common_scripts/utility; @@ -32,9 +32,30 @@ bot_ctf_think() { nodes = getnodesinradius(flag_mine.curorigin,256,0,64,"any",8); node = random(nodes); - self maps/mp/bots/_bot_combat::bot_combat_throw_proximity(cointoss() ? flag_mine.curorigin : node.origin); - self maps/mp/bots/_bot_combat::bot_combat_toss_frag(cointoss() ? flag_mine.curorigin : node.origin); - self maps/mp/bots/_bot_combat::bot_combat_toss_flash(cointoss() ? flag_mine.curorigin : node.origin); + if(cointoss()) + { + } + else + { + } + + self maps/mp/bots/_bot_combat::bot_combat_throw_proximity(node.origin); + if(cointoss()) + { + } + else + { + } + + self maps/mp/bots/_bot_combat::bot_combat_toss_frag(node.origin); + if(cointoss()) + { + } + else + { + } + + self maps/mp/bots/_bot_combat::bot_combat_toss_flash(node.origin); } } diff --git a/BO2/Xbox/MP/maps/mp/bots/_bot_dem.gsc b/BO2/Xbox/MP/maps/mp/bots/_bot_dem.gsc index 180c99c..bafc884 100644 --- a/BO2/Xbox/MP/maps/mp/bots/_bot_dem.gsc +++ b/BO2/Xbox/MP/maps/mp/bots/_bot_dem.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 11 - * Decompile Time: 57 ms - * Timestamp: 10/27/2023 3:04:12 AM + * Decompile Time: 2 ms + * Timestamp: 10/28/2023 12:13:31 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/Xbox/MP/maps/mp/bots/_bot_dom.gsc b/BO2/Xbox/MP/maps/mp/bots/_bot_dom.gsc index 039e2da..885e328 100644 --- a/BO2/Xbox/MP/maps/mp/bots/_bot_dom.gsc +++ b/BO2/Xbox/MP/maps/mp/bots/_bot_dom.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 19 - * Decompile Time: 153 ms - * Timestamp: 10/27/2023 3:04:13 AM + * Decompile Time: 8 ms + * Timestamp: 10/28/2023 12:13:32 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/Xbox/MP/maps/mp/bots/_bot_hack.gsc b/BO2/Xbox/MP/maps/mp/bots/_bot_hack.gsc index f0ce419..10eaa9b 100644 --- a/BO2/Xbox/MP/maps/mp/bots/_bot_hack.gsc +++ b/BO2/Xbox/MP/maps/mp/bots/_bot_hack.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 5 - * Decompile Time: 28 ms - * Timestamp: 10/27/2023 3:04:13 AM + * Decompile Time: 1 ms + * Timestamp: 10/28/2023 12:13:32 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/Xbox/MP/maps/mp/bots/_bot_hq.gsc b/BO2/Xbox/MP/maps/mp/bots/_bot_hq.gsc index 64d8e0f..80afe19 100644 --- a/BO2/Xbox/MP/maps/mp/bots/_bot_hq.gsc +++ b/BO2/Xbox/MP/maps/mp/bots/_bot_hq.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 14 - * Decompile Time: 181 ms - * Timestamp: 10/27/2023 3:04:14 AM + * Decompile Time: 2 ms + * Timestamp: 10/28/2023 12:13:32 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/Xbox/MP/maps/mp/bots/_bot_koth.gsc b/BO2/Xbox/MP/maps/mp/bots/_bot_koth.gsc index acdc8fc..909d931 100644 --- a/BO2/Xbox/MP/maps/mp/bots/_bot_koth.gsc +++ b/BO2/Xbox/MP/maps/mp/bots/_bot_koth.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 11 - * Decompile Time: 48 ms - * Timestamp: 10/27/2023 3:04:15 AM + * Decompile Time: 8 ms + * Timestamp: 10/28/2023 12:13:32 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/Xbox/MP/maps/mp/bots/_bot_loadout.gsc b/BO2/Xbox/MP/maps/mp/bots/_bot_loadout.gsc index 31f16ff..b7dca6c 100644 --- a/BO2/Xbox/MP/maps/mp/bots/_bot_loadout.gsc +++ b/BO2/Xbox/MP/maps/mp/bots/_bot_loadout.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 15 - * Decompile Time: 151 ms - * Timestamp: 10/27/2023 3:04:15 AM + * Decompile Time: 5 ms + * Timestamp: 10/28/2023 12:13:32 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/Xbox/MP/maps/mp/bots/_bot_sd.gsc b/BO2/Xbox/MP/maps/mp/bots/_bot_sd.gsc index b79e520..bcbb827 100644 --- a/BO2/Xbox/MP/maps/mp/bots/_bot_sd.gsc +++ b/BO2/Xbox/MP/maps/mp/bots/_bot_sd.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 11 - * Decompile Time: 80 ms - * Timestamp: 10/27/2023 3:04:16 AM + * Decompile Time: 2 ms + * Timestamp: 10/28/2023 12:13:33 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/Xbox/MP/maps/mp/gametypes/_class.gsc b/BO2/Xbox/MP/maps/mp/gametypes/_class.gsc index 40d8166..8e293fb 100644 --- a/BO2/Xbox/MP/maps/mp/gametypes/_class.gsc +++ b/BO2/Xbox/MP/maps/mp/gametypes/_class.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 45 - * Decompile Time: 188 ms - * Timestamp: 10/27/2023 3:04:17 AM + * Decompile Time: 16 ms + * Timestamp: 10/28/2023 12:13:33 AM *******************************************************************/ #include common_scripts/utility; @@ -270,9 +270,9 @@ weapon_class_register(weapon,weapon_type) else { /# - assert(0,"Weapon group info is missing from statsTable for: " + weapon_type); -#/ + assert(0,"Weapon group info is missing from statsTable for: " + weapon_type); } +#/ } //Function Number: 10 @@ -1097,16 +1097,20 @@ cac_modified_vehicle_damage(victim,attacker,damage,meansofdeath,weapon,inflictor { final_damage = damage * 100 + level.cac_bulletdamage_data / 100; /# - println("Perk/> " + attacker.name + "\'s bullet damage did extra damage to vehicle"); -GetDvarInt(#"5ABA6445") + if(GetDvarInt(#"5ABA6445")) + { + println("Perk/> " + attacker.name + "\'s bullet damage did extra damage to vehicle"); + } #/ } else if(attacker hasperk("specialty_explosivedamage") && isplayerexplosiveweapon(weapon,meansofdeath)) { final_damage = damage * 100 + level.cac_explosivedamage_data / 100; /# + if(GetDvarInt(#"5ABA6445")) + { println("Perk/> " + attacker.name + "\'s explosive damage did extra damage to vehicle"); -GetDvarInt(#"5ABA6445") + } #/ } else @@ -1115,8 +1119,10 @@ GetDvarInt(#"5ABA6445") } /# - println("Perk/> Damage Factor: " + final_damage / old_damage + " - Pre Damage: " + old_damage + " - Post Damage: " + final_damage); -GetDvarInt(#"5ABA6445") + if(GetDvarInt(#"5ABA6445")) + { + println("Perk/> Damage Factor: " + final_damage / old_damage + " - Pre Damage: " + old_damage + " - Post Damage: " + final_damage); + } #/ return int(final_damage); } @@ -1150,8 +1156,10 @@ cac_modified_damage(victim,attacker,damage,mod,weapon,inflictor,hitloc) /# debug = 0; - debug = 1; -GetDvarInt(#"5ABA6445") + if(GetDvarInt(#"5ABA6445")) + { + debug = 1; + } #/ final_damage = damage; if(attacker hasperk("specialty_bulletdamage") && isprimarydamage(mod)) @@ -1159,47 +1167,63 @@ GetDvarInt(#"5ABA6445") if(victim hasperk("specialty_armorvest") && !isheaddamage(hitloc)) { /# - println("Perk/> " + victim.name + "\'s armor countered " + attacker.name + "\'s increased bullet damage"); -debug + if(debug) + { + println("Perk/> " + victim.name + "\'s armor countered " + attacker.name + "\'s increased bullet damage"); + } #/ } else { final_damage = damage * 100 + level.cac_bulletdamage_data / 100; /# - println("Perk/> " + attacker.name + "\'s bullet damage did extra damage to " + victim.name); -debug -#/ + if(debug) + { + println("Perk/> " + attacker.name + "\'s bullet damage did extra damage to " + victim.name); + } } +#/ } - - if(victim hasperk("specialty_armorvest") && isprimarydamage(mod) && !isheaddamage(hitloc)) + else if(victim hasperk("specialty_armorvest") && isprimarydamage(mod) && !isheaddamage(hitloc)) { final_damage = damage * level.cac_armorvest_data * 0.01; /# - println("Perk/> " + attacker.name + "\'s bullet damage did less damage to " + victim.name); -debug + if(debug) + { + println("Perk/> " + attacker.name + "\'s bullet damage did less damage to " + victim.name); + } #/ } else if(victim hasperk("specialty_fireproof") && isfiredamage(weapon,mod)) { final_damage = damage * 100 - level.cac_fireproof_data / 100; /# + if(debug) + { println("Perk/> " + attacker.name + "\'s flames did less damage to " + victim.name); -debug + } #/ } else if(attacker hasperk("specialty_explosivedamage") && isplayerexplosiveweapon(weapon,mod)) { final_damage = damage * 100 + level.cac_explosivedamage_data / 100; /# - println("Perk/> " + attacker.name + "\'s explosive damage did extra damage to " + victim.name); -debug + if(debug) + { + println("Perk/> " + attacker.name + "\'s explosive damage did extra damage to " + victim.name); + } #/ } else if(victim hasperk("specialty_flakjacket") && isexplosivedamage(weapon,mod) && !victim grenadestuck(inflictor)) { - cac_data = level.hardcoremode ? level.cac_flakjacket_hardcore_data : level.cac_flakjacket_data; + if(level.hardcoremode) + { + } + else + { + } + + cac_data = level.cac_flakjacket_data; if(level.teambased && attacker.team != victim.team) { victim thread maps/mp/_challenges::flakjacketprotected(weapon,attacker); @@ -1211,21 +1235,24 @@ debug final_damage = int(damage * cac_data / 100); /# - println("Perk/> " + victim.name + "\'s flak jacket decreased " + attacker.name + "\'s grenade damage"); -debug + if(debug) + { + println("Perk/> " + victim.name + "\'s flak jacket decreased " + attacker.name + "\'s grenade damage"); + } + } #/ /# - victim.cac_debug_damage_type = tolower(mod); - victim.cac_debug_original_damage = damage; - victim.cac_debug_final_damage = final_damage; - victim.cac_debug_location = tolower(hitloc); - victim.cac_debug_weapon = tolower(weapon); - victim.cac_debug_range = int(distance(attacker.origin,victim.origin)); - println("Perk/> Damage Factor: " + final_damage / damage + " - Pre Damage: " + damage + " - Post Damage: " + final_damage); -debug -#/ + victim.cac_debug_damage_type = tolower(mod); + victim.cac_debug_original_damage = damage; + victim.cac_debug_final_damage = final_damage; + victim.cac_debug_location = tolower(hitloc); + victim.cac_debug_weapon = tolower(weapon); + victim.cac_debug_range = int(distance(attacker.origin,victim.origin)); + if(debug) + { + println("Perk/> Damage Factor: " + final_damage / damage + " - Pre Damage: " + damage + " - Post Damage: " + final_damage); } - +#/ final_damage = int(final_damage); if(final_damage < 1) { diff --git a/BO2/Xbox/MP/maps/mp/gametypes/_clientids.gsc b/BO2/Xbox/MP/maps/mp/gametypes/_clientids.gsc index c6be59d..2a8d0c3 100644 --- a/BO2/Xbox/MP/maps/mp/gametypes/_clientids.gsc +++ b/BO2/Xbox/MP/maps/mp/gametypes/_clientids.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 2 - * Decompile Time: 1 ms - * Timestamp: 10/27/2023 3:04:17 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:13:33 AM *******************************************************************/ //Function Number: 1 diff --git a/BO2/Xbox/MP/maps/mp/gametypes/_copter.gsc b/BO2/Xbox/MP/maps/mp/gametypes/_copter.gsc index 07cde07..ec0458f 100644 --- a/BO2/Xbox/MP/maps/mp/gametypes/_copter.gsc +++ b/BO2/Xbox/MP/maps/mp/gametypes/_copter.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 24 - * Decompile Time: 151 ms - * Timestamp: 10/27/2023 3:04:19 AM + * Decompile Time: 10 ms + * Timestamp: 10/28/2023 12:13:33 AM *******************************************************************/ //Function Number: 1 diff --git a/BO2/Xbox/MP/maps/mp/gametypes/_dev.gsc b/BO2/Xbox/MP/maps/mp/gametypes/_dev.gsc index 47629ca..7a7d63d 100644 --- a/BO2/Xbox/MP/maps/mp/gametypes/_dev.gsc +++ b/BO2/Xbox/MP/maps/mp/gametypes/_dev.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 92 - * Decompile Time: 460 ms - * Timestamp: 10/27/2023 3:04:20 AM + * Decompile Time: 57 ms + * Timestamp: 10/28/2023 12:13:34 AM *******************************************************************/ #include common_scripts/utility; @@ -29,21 +29,62 @@ init() { /# - for(;;) + if(sessionmodeiszombiesgame()) { - updatedevsettingszm(); - wait(0.5); + for(;;) + { + updatedevsettingszm(); + wait(0.5); + } + + return; } - return; - setdvar("scr_showspawns","0"); - setdvar("scr_showstartspawns","0"); - setdvar("scr_botsHasPlayerWeapon","0"); - setdvar("scr_botsGrenadesOnly","0"); - setdvar("scr_botsSpecialGrenadesOnly","0"); - setdvar("scr_devHeliPathsDebugDraw","0"); - setdvar("scr_devStrafeRunPathDebugDraw","0"); - setdvar("scr_show_hq_spawns",""); - setdvar("scr_testScriptRuntimeError","0"); + + if(GetDvar(#"16553A29") == "") + { + setdvar("scr_showspawns","0"); + } + + if(GetDvar(#"472D7677") == "") + { + setdvar("scr_showstartspawns","0"); + } + + if(GetDvar(#"98F33417") == "") + { + setdvar("scr_botsHasPlayerWeapon","0"); + } + + if(GetDvar(#"8330ABEF") == "") + { + setdvar("scr_botsGrenadesOnly","0"); + } + + if(GetDvar(#"FC880A10") == "") + { + setdvar("scr_botsSpecialGrenadesOnly","0"); + } + + if(GetDvar(#"C0DBB722") == "") + { + setdvar("scr_devHeliPathsDebugDraw","0"); + } + + if(GetDvar(#"AD911707") == "") + { + setdvar("scr_devStrafeRunPathDebugDraw","0"); + } + + if(GetDvar(#"F8E39F40") == "") + { + setdvar("scr_show_hq_spawns",""); + } + + if(GetDvar(#"316B7BEF") == "") + { + setdvar("scr_testScriptRuntimeError","0"); + } + precachemodel("defaultactor"); precachestring(&"testPlayerScoreForTan"); thread testscriptruntimeerror(); @@ -69,37 +110,29 @@ init() level.bot_threat = 0; level.bot_path = 0; level.dem_spawns = []; - extra_spawns = []; - extra_spawns[0] = "mp_dem_spawn_attacker_a"; - extra_spawns[1] = "mp_dem_spawn_attacker_b"; - extra_spawns[2] = "mp_dem_spawn_defender_a"; - extra_spawns[3] = "mp_dem_spawn_defender_b"; - i = 0; - for(;;) + if(level.gametype == "dem") { - points = getentarray(extra_spawns[i],"classname"); - level.dem_spawns = arraycombine(level.dem_spawns,points,1,0); - i++; + extra_spawns = []; + extra_spawns[0] = "mp_dem_spawn_attacker_a"; + extra_spawns[1] = "mp_dem_spawn_attacker_b"; + extra_spawns[2] = "mp_dem_spawn_defender_a"; + extra_spawns[3] = "mp_dem_spawn_defender_b"; + for(i = 0;i < extra_spawns.size;i++) + { + points = getentarray(extra_spawns[i],"classname"); + if(IsDefined(points) && points.size > 0) + { + level.dem_spawns = arraycombine(level.dem_spawns,points,1,0); + } + } } + thread onplayerconnect(); for(;;) { updatedevsettings(); wait(0.5); } -IsDefined(points) && points.size > 0 -i < extra_spawns.size -level.gametype == "dem" -GetDvar(#"316B7BEF") == "" -GetDvar(#"F8E39F40") == "" -GetDvar(#"AD911707") == "" -GetDvar(#"C0DBB722") == "" -GetDvar(#"FC880A10") == "" -GetDvar(#"8330ABEF") == "" -GetDvar(#"98F33417") == "" -GetDvar(#"472D7677") == "" -GetDvar(#"16553A29") == "" -sessionmodeiszombiesgame() #/ } @@ -116,28 +149,40 @@ updatehardpoints() { /# keys = getarraykeys(level.killstreaks); - i = 0; - for(;;) + for(i = 0;i < keys.size;i++) { - dvar = level.killstreaks[keys[i]].devdvar; - _a148 = level.players; - _k148 = FirstArrayKey(_a148); - for(;;) + if(!(IsDefined(level.killstreaks[keys[i]].devdvar))) { - player = _a148[_k148]; - player maps/mp/killstreaks/_killstreaks::givekillstreak(keys[i]); - player.bot["killstreaks"] = []; - player.bot["killstreaks"][0] = maps/mp/killstreaks/_killstreaks::getkillstreakmenuname(keys[i]); - killstreakweapon = maps/mp/killstreaks/_killstreaks::getkillstreakweapon(keys[i]); - player maps/mp/killstreaks/_killstreaks::givekillstreakweapon(killstreakweapon,1); - maps/mp/gametypes/_globallogic_score::_setplayermomentum(player,2000); - player maps/mp/killstreaks/_killstreaks::givekillstreak(keys[i]); - _k148 = NextArrayKey(_a148); } - setdvar(dvar,"0"); - i++; + else + { + dvar = level.killstreaks[keys[i]].devdvar; + if(GetDvarInt(dvar) == 1) + { + foreach(player in level.players) + { + if(IsDefined(level.usingmomentum) && level.usingmomentum && IsDefined(level.usingscorestreaks) && level.usingscorestreaks) + { + player maps/mp/killstreaks/_killstreaks::givekillstreak(keys[i]); + } + else if(player is_bot()) + { + player.bot["killstreaks"] = []; + player.bot["killstreaks"][0] = maps/mp/killstreaks/_killstreaks::getkillstreakmenuname(keys[i]); + killstreakweapon = maps/mp/killstreaks/_killstreaks::getkillstreakweapon(keys[i]); + player maps/mp/killstreaks/_killstreaks::givekillstreakweapon(killstreakweapon,1); + maps/mp/gametypes/_globallogic_score::_setplayermomentum(player,2000); + } + else + { + player maps/mp/killstreaks/_killstreaks::givekillstreak(keys[i]); + } + } + + setdvar(dvar,"0"); + } + } } -i < keys.size ? ((IsDefined(level.killstreaks[keys[i]].devdvar)) ? GetDvarInt(dvar) == 1 : (IsDefined(_k148) ? IsDefined(level.usingmomentum) && level.usingmomentum && IsDefined(level.usingscorestreaks) && level.usingscorestreaks : player is_bot())) : _k148 #/ } @@ -153,18 +198,41 @@ warpalltohost(team) yaw = (0,angles[1],0); forward = AnglesToForward(yaw); spawn_origin = 16 + VectorScale((0,0,1)); - spawn_origin = undefined; - i = 0; - for(;;) + if(!(bullettracepassed(host geteye(),spawn_origin,0,host))) { - players[i] setorigin(spawn_origin); - node = random(nodes); - players[i] setorigin(node.origin); - players[i] setorigin(origin); - i++; + spawn_origin = undefined; } + + for(i = 0;i < players.size;i++) + { + if(players[i] == host) + { + } + else if(IsDefined(team)) + { + if(team == "enemies_host" && host.team == players[i].team) + { + } + else if(team == "friendlies_host" && host.team != players[i].team) + { + } + else if(IsDefined(spawn_origin)) + { + players[i] setorigin(spawn_origin); + } + else if(nodes.size > 0) + { + node = random(nodes); + players[i] setorigin(node.origin); + } + else + { + players[i] setorigin(origin); + } + } + } + setdvar("scr_playerwarp",""); -Stack-Empty ? Stack-Empty : ((origin + forward * 128) ? bullettracepassed(host geteye(),spawn_origin,0,host) : (i < players.size ? players[i] == host : (IsDefined(team) ? team == "enemies_host" && host.team == players[i].team : ((team == "friendlies_host" && host.team != players[i].team) ? IsDefined(spawn_origin) : nodes.size > 0)))) #/ } @@ -172,62 +240,82 @@ Stack-Empty ? Stack-Empty : ((origin + forward * 128) ? bullettracepassed(host g updatedevsettingszm() { /# - level.streamdumpteamindex = 0; - level.streamdumpteamindex++; - numpoints = 0; - spawnpoints = []; - location = level.scr_zm_map_start_location; - location = level.default_start_location; - match_string = level.scr_zm_ui_gametype + "_" + location; - structs = getstructarray("initial_spawn","script_noteworthy"); - _a260 = structs; - _k260 = FirstArrayKey(_a260); - for(;;) + if(level.players.size > 0) { - struct = _a260[_k260]; - tokens = strtok(struct.script_string," "); - _a265 = tokens; - _k265 = FirstArrayKey(_a265); - for(;;) + if(GetDvar(#"7B03E923") == "3") { - token = _a265[_k265]; - spawnpoints[spawnpoints.size] = struct; - _k265 = NextArrayKey(_a265); + if(!(IsDefined(level.streamdumpteamindex))) + { + level.streamdumpteamindex = 0; + } + else + { + level.streamdumpteamindex++; + } + + numpoints = 0; + spawnpoints = []; + location = level.scr_zm_map_start_location; + if((location == "default" || location == "") && IsDefined(level.default_start_location)) + { + location = level.default_start_location; + } + + match_string = level.scr_zm_ui_gametype + "_" + location; + if(level.streamdumpteamindex < level.teams.size) + { + structs = getstructarray("initial_spawn","script_noteworthy"); + if(IsDefined(structs)) + { + foreach(struct in structs) + { + if(IsDefined(struct.script_string)) + { + tokens = strtok(struct.script_string," "); + foreach(token in tokens) + { + if(token == match_string) + { + spawnpoints[spawnpoints.size] = struct; + } + } + } + } + } + + if(!IsDefined(spawnpoints) || spawnpoints.size == 0) + { + spawnpoints = getstructarray("initial_spawn_points","targetname"); + } + + if(IsDefined(spawnpoints)) + { + numpoints = spawnpoints.size; + } + } + + if(numpoints == 0) + { + setdvar("r_streamDumpDistance","0"); + level.streamdumpteamindex = -1; + } + else + { + averageorigin = (0,0,0); + averageangles = (0,0,0); + foreach(spawnpoint in spawnpoints) + { + averageorigin = averageorigin + spawnpoint.origin / numpoints; + averageangles = averageangles + spawnpoint.angles / numpoints; + } + + level.players[0] setplayerangles(averageangles); + level.players[0] setorigin(averageorigin); + wait(0.05); + setdvar("r_streamDumpDistance","2"); + } } - _k260 = NextArrayKey(_a260); } - spawnpoints = getstructarray("initial_spawn_points","targetname"); - numpoints = spawnpoints.size; - setdvar("r_streamDumpDistance","0"); - level.streamdumpteamindex = -1; - averageorigin = (0,0,0); - averageangles = (0,0,0); - _a294 = spawnpoints; - _k294 = FirstArrayKey(_a294); - for(;;) - { - spawnpoint = _a294[_k294]; - averageorigin = averageorigin + spawnpoint.origin / numpoints; - averageangles = averageangles + spawnpoint.angles / numpoints; - _k294 = NextArrayKey(_a294); - } - level.players[0] setplayerangles(averageangles); - level.players[0] setorigin(averageorigin); - wait(0.05); - setdvar("r_streamDumpDistance","2"); -numpoints == 0 ? IsDefined(_k294) : _k294 -IsDefined(spawnpoints) -!IsDefined(spawnpoints) || spawnpoints.size == 0 -_k260 -_k265 -token == match_string -IsDefined(_k265) -IsDefined(struct.script_string) -IsDefined(_k260) -IsDefined(structs) -level.streamdumpteamindex < level.teams.size -(location == "default" || location == "") && IsDefined(level.default_start_location) -(level.players.size > 0) ? GetDvar(#"7B03E923") == "3" : IsDefined(level.streamdumpteamindex) #/ } @@ -238,325 +326,663 @@ updatedevsettings() show_spawns = GetDvarInt(#"16553A29"); show_start_spawns = GetDvarInt(#"472D7677"); player = gethostplayer(); - show_spawns = 1; - show_spawns = 0; - show_start_spawns = 1; - show_start_spawns = 0; - level.show_spawns = show_spawns; - setdvar("scr_showspawns",level.show_spawns); - showspawnpoints(); - hidespawnpoints(); - level.show_start_spawns = show_start_spawns; - setdvar("scr_showstartspawns",level.show_start_spawns); - showstartspawnpoints(); - hidestartspawnpoints(); + if(show_spawns >= 1) + { + show_spawns = 1; + } + else + { + show_spawns = 0; + } + + if(show_start_spawns >= 1) + { + show_start_spawns = 1; + } + else + { + show_start_spawns = 0; + } + + if(!IsDefined(level.show_spawns) || level.show_spawns != show_spawns) + { + level.show_spawns = show_spawns; + setdvar("scr_showspawns",level.show_spawns); + if(level.show_spawns) + { + showspawnpoints(); + } + else + { + hidespawnpoints(); + } + } + + if(!IsDefined(level.show_start_spawns) || level.show_start_spawns != show_start_spawns) + { + level.show_start_spawns = show_start_spawns; + setdvar("scr_showstartspawns",level.show_start_spawns); + if(level.show_start_spawns) + { + showstartspawnpoints(); + } + else + { + hidestartspawnpoints(); + } + } + updateminimapsetting(); - updatehardpoints(); - warpalltohost(); - warpalltohost(GetDvar(#"6A09CB73")); - warpalltohost(GetDvar(#"6A09CB73")); - players = get_players(); - setdvar("scr_playerwarp",""); - level.devgui_start_spawn_index = 0; - player = gethostplayer(); - spawns = level.spawn_start[player.pers["team"]]; - return; - i = 0; - for(;;) + if(level.players.size > 0) { - players[i] setorigin(spawns[level.devgui_start_spawn_index].origin); - players[i] setplayerangles(spawns[level.devgui_start_spawn_index].angles); - i++; - } - level.devgui_start_spawn_index++; - level.devgui_start_spawn_index = 0; - players = get_players(); - setdvar("scr_playerwarp",""); - level.devgui_start_spawn_index = 0; - player = gethostplayer(); - spawns = level.spawn_start[player.pers["team"]]; - return; - i = 0; - for(;;) - { - players[i] setorigin(spawns[level.devgui_start_spawn_index].origin); - players[i] setplayerangles(spawns[level.devgui_start_spawn_index].angles); - i++; - } - level.devgui_start_spawn_index--; - level.devgui_start_spawn_index = spawns.size - 1; - players = get_players(); - setdvar("scr_playerwarp",""); - level.devgui_spawn_index = 0; - spawns = level.spawnpoints; - spawns = arraycombine(spawns,level.dem_spawns,1,0); - return; - i = 0; - for(;;) - { - players[i] setorigin(spawns[level.devgui_spawn_index].origin); - players[i] setplayerangles(spawns[level.devgui_spawn_index].angles); - i++; - } - level.devgui_spawn_index++; - level.devgui_spawn_index = 0; - players = get_players(); - setdvar("scr_playerwarp",""); - level.devgui_spawn_index = 0; - spawns = level.spawnpoints; - spawns = arraycombine(spawns,level.dem_spawns,1,0); - return; - i = 0; - for(;;) - { - players[i] setorigin(spawns[level.devgui_spawn_index].origin); - players[i] setplayerangles(spawns[level.devgui_spawn_index].angles); - i++; - } - level.devgui_spawn_index--; - level.devgui_spawn_index = spawns.size - 1; - player = gethostplayer(); - player.devgui_spawn_active = 0; - iprintln("Previous spawn bound to D-Pad Left"); - iprintln("Next spawn bound to D-Pad Right"); - player.devgui_spawn_active = 1; - player thread devgui_spawn_think(); - player notify("devgui_spawn_think",player.devgui_spawn_active,IsDefined(player.devgui_spawn_active),GetDvar(#"1F70E0F8") != "",level.devgui_spawn_index < 0,i < players.size,!IsDefined(spawns) || spawns.size <= 0,IsDefined(level.devgui_spawn_index),GetDvar(#"6A09CB73") == "prev_spawn",level.devgui_spawn_index >= spawns.size,i < players.size,!IsDefined(spawns) || spawns.size <= 0,IsDefined(level.devgui_spawn_index),GetDvar(#"6A09CB73") == "next_spawn",level.devgui_start_spawn_index < 0,i < players.size,!IsDefined(spawns) || spawns.size <= 0,IsDefined(level.devgui_start_spawn_index),GetDvar(#"6A09CB73") == "prev_start_spawn",level.devgui_start_spawn_index >= spawns.size,i < players.size,!IsDefined(spawns) || spawns.size <= 0,IsDefined(level.devgui_start_spawn_index),GetDvar(#"6A09CB73") == "next_start_spawn",GetDvar(#"6A09CB73") == "friendlies_host",GetDvar(#"6A09CB73") == "enemies_host",GetDvar(#"6A09CB73") == "host",level.players.size > 0,((Stack-Empty ? (Stack-Empty ? Stack-Empty : show_spawns >= 1) : show_start_spawns >= 1) ? !IsDefined(level.show_spawns) || level.show_spawns != show_spawns : level.show_spawns) ? !IsDefined(level.show_start_spawns) || level.show_start_spawns != show_start_spawns : level.show_start_spawns); - player.devgui_spawn_active = 0; - player setactionslot(3,"altMode"); - player setactionslot(4,"nightvision"); - setdvar("scr_devgui_spawn",""); - players = get_players(); - level.devgui_unlimited_ammo = 1; - level.devgui_unlimited_ammo = !level.devgui_unlimited_ammo; - iprintln("Giving unlimited ammo to all players"); - iprintln("Stopping unlimited ammo for all players"); - i = 0; - for(;;) - { - players[i] thread devgui_unlimited_ammo(); - players[i] notify("devgui_unlimited_ammo",level.devgui_unlimited_ammo,i < players.size,Stack-Empty ? ((Stack-Empty ? Stack-Empty : Stack-Empty) ? GetDvar(#"A990D882") != "" : IsDefined(level.devgui_unlimited_ammo)) : level.devgui_unlimited_ammo); - i++; - } - setdvar("scr_player_ammo",""); - level.devgui_unlimited_momentum = 1; - level.devgui_unlimited_momentum = !level.devgui_unlimited_momentum; - iprintln("Giving unlimited momentum to all players"); - level thread devgui_unlimited_momentum(); - iprintln("Stopping unlimited momentum for all players"); - level notify("devgui_unlimited_momentum",level.devgui_unlimited_momentum,(Stack-Empty ? Stack-Empty : Stack-Empty) ? GetDvar(#"EC01172A") != "" : IsDefined(level.devgui_unlimited_momentum)); - setdvar("scr_player_momentum",""); - level thread devgui_increase_momentum(GetDvarInt(#"ADB1B0DE")); - setdvar("scr_give_player_score",""); - players = get_players(); - i = 0; - for(;;) - { - player = players[i]; - weapons = player getweaponslist(); - arrayremovevalue(weapons,"knife_mp"); - j = 0; - for(;;) + updatehardpoints(); + if(GetDvar(#"6A09CB73") == "host") { - player setweaponammostock(weapons[j],0); - player setweaponammoclip(weapons[j],0); - j++; + warpalltohost(); } - i++; - } - setdvar("scr_player_zero_ammo",""); - players = get_players(); - i = 0; - for(;;) - { - player = players[i]; - player setempjammed(0); - player setempjammed(1); - i++; - } - setdvar("scr_emp_jammed",""); - iprintln("Pausing Round Timer"); - maps/mp/gametypes/_globallogic_utils::pausetimer(); - iprintln("Resuming Round Timer"); - maps/mp/gametypes/_globallogic_utils::resumetimer(); - setdvar("scr_round_pause",""); - level maps/mp/gametypes/_globallogic::forceend(); - setdvar("scr_round_end",""); - players = get_players(); - host = gethostplayer(); - host.devgui_health_debug = 0; - host.devgui_health_debug = 0; - i = 0; - for(;;) - { - players[i] notify("devgui_health_debug",i < players.size,host.devgui_health_debug,IsDefined(host.devgui_health_debug),GetDvar(#"9A7D1E68") != "",GetDvar(#"6C3088CA") != "",((GetDvar(#"C2F42DBB") != "") ? i < players.size : GetDvar(#"C2F42DBB") == "0") ? GetDvar(#"3B362771") != "" : level.timerstopped,i < players.size ? j < weapons.size : weapons[j] == "none",GetDvar(#"B3003261") != "",GetDvar(#"ADB1B0DE") != "",Stack-Empty ? Stack-Empty : Stack-Empty); - players[i].debug_health_bar destroy(); - players[i].debug_health_text destroy(); - players[i].debug_health_bar = undefined; - players[i].debug_health_text = undefined; - i++; - } - host.devgui_health_debug = 1; - i = 0; - for(;;) - { - players[i] thread devgui_health_debug(); - i++; - } - setdvar("scr_health_debug",""); - level.devgui_show_hq = 0; - i = 0; - for(;;) - { - color = (1,0,0); - level showonespawnpoint(level.radios[i],color,"hide_hq_points",32,"hq_spawn"); - i++; - } - level notify("hide_hq_points",i < level.radios.size,level.devgui_show_hq,level.gametype == "koth" && IsDefined(level.radios),IsDefined(level.devgui_show_hq),GetDvar(#"F8E39F40") != "",Stack-Empty ? IsDefined(players[i].debug_health_bar) : i < players.size); - level.devgui_show_hq = !level.devgui_show_hq; - setdvar("scr_show_hq_spawns",""); - level.streamdumpteamindex = 0; - level.streamdumpteamindex++; - numpoints = 0; - teamname = getarraykeys(level.teams)[level.streamdumpteamindex]; - numpoints = level.spawn_start[teamname].size; - setdvar("r_streamDumpDistance","0"); - level.streamdumpteamindex = -1; - averageorigin = (0,0,0); - averageangles = (0,0,0); - _a761 = level.spawn_start[teamname]; - _k761 = FirstArrayKey(_a761); - for(;;) - { - spawnpoint = _a761[_k761]; - averageorigin = averageorigin + spawnpoint.origin / numpoints; - averageangles = averageangles + spawnpoint.angles / numpoints; - _k761 = NextArrayKey(_a761); - } - level.players[0] setplayerangles(averageangles); - level.players[0] setorigin(averageorigin); - wait(0.05); - setdvar("r_streamDumpDistance","2"); - players = get_players(); - iprintln("Taking all perks from all players"); - i = 0; - for(;;) - { - players[i] clearperks(); - i++; - } - setdvar("scr_giveperk",""); - perk = GetDvar(#"AB757D49"); - specialties = strtok(perk,"|"); - players = get_players(); - iprintln("Giving all players perk: \'" + perk + "\'"); - i = 0; - for(;;) - { - j = 0; - for(;;) + else if(GetDvar(#"6A09CB73") == "enemies_host") { - players[i] setperk(specialties[j]); - players[i].extraperks[specialties[j]] = 1; - j++; + warpalltohost(GetDvar(#"6A09CB73")); + } + else if(GetDvar(#"6A09CB73") == "friendlies_host") + { + warpalltohost(GetDvar(#"6A09CB73")); + } + else if(GetDvar(#"6A09CB73") == "next_start_spawn") + { + players = get_players(); + setdvar("scr_playerwarp",""); + if(!(IsDefined(level.devgui_start_spawn_index))) + { + level.devgui_start_spawn_index = 0; + } + + player = gethostplayer(); + spawns = level.spawn_start[player.pers["team"]]; + if(!IsDefined(spawns) || spawns.size <= 0) + { + return; + } + + for(i = 0;i < players.size;i++) + { + players[i] setorigin(spawns[level.devgui_start_spawn_index].origin); + players[i] setplayerangles(spawns[level.devgui_start_spawn_index].angles); + } + + level.devgui_start_spawn_index++; + if(level.devgui_start_spawn_index >= spawns.size) + { + level.devgui_start_spawn_index = 0; + } + } + else if(GetDvar(#"6A09CB73") == "prev_start_spawn") + { + players = get_players(); + setdvar("scr_playerwarp",""); + if(!(IsDefined(level.devgui_start_spawn_index))) + { + level.devgui_start_spawn_index = 0; + } + + player = gethostplayer(); + spawns = level.spawn_start[player.pers["team"]]; + if(!IsDefined(spawns) || spawns.size <= 0) + { + return; + } + + for(i = 0;i < players.size;i++) + { + players[i] setorigin(spawns[level.devgui_start_spawn_index].origin); + players[i] setplayerangles(spawns[level.devgui_start_spawn_index].angles); + } + + level.devgui_start_spawn_index--; + if(level.devgui_start_spawn_index < 0) + { + level.devgui_start_spawn_index = spawns.size - 1; + } + } + else if(GetDvar(#"6A09CB73") == "next_spawn") + { + players = get_players(); + setdvar("scr_playerwarp",""); + if(!(IsDefined(level.devgui_spawn_index))) + { + level.devgui_spawn_index = 0; + } + + spawns = level.spawnpoints; + spawns = arraycombine(spawns,level.dem_spawns,1,0); + if(!IsDefined(spawns) || spawns.size <= 0) + { + return; + } + + for(i = 0;i < players.size;i++) + { + players[i] setorigin(spawns[level.devgui_spawn_index].origin); + players[i] setplayerangles(spawns[level.devgui_spawn_index].angles); + } + + level.devgui_spawn_index++; + if(level.devgui_spawn_index >= spawns.size) + { + level.devgui_spawn_index = 0; + } + } + else if(GetDvar(#"6A09CB73") == "prev_spawn") + { + players = get_players(); + setdvar("scr_playerwarp",""); + if(!(IsDefined(level.devgui_spawn_index))) + { + level.devgui_spawn_index = 0; + } + + spawns = level.spawnpoints; + spawns = arraycombine(spawns,level.dem_spawns,1,0); + if(!IsDefined(spawns) || spawns.size <= 0) + { + return; + } + + for(i = 0;i < players.size;i++) + { + players[i] setorigin(spawns[level.devgui_spawn_index].origin); + players[i] setplayerangles(spawns[level.devgui_spawn_index].angles); + } + + level.devgui_spawn_index--; + if(level.devgui_spawn_index < 0) + { + level.devgui_spawn_index = spawns.size - 1; + } + } + else if(GetDvar(#"1F70E0F8") != "") + { + player = gethostplayer(); + if(!(IsDefined(player.devgui_spawn_active))) + { + player.devgui_spawn_active = 0; + } + + if(!(player.devgui_spawn_active)) + { + iprintln("Previous spawn bound to D-Pad Left"); + iprintln("Next spawn bound to D-Pad Right"); + player.devgui_spawn_active = 1; + player thread devgui_spawn_think(); + } + else + { + player notify("devgui_spawn_think"); + player.devgui_spawn_active = 0; + player setactionslot(3,"altMode"); + player setactionslot(4,"nightvision"); + } + + setdvar("scr_devgui_spawn",""); + } + else if(GetDvar(#"A990D882") != "") + { + players = get_players(); + if(!(IsDefined(level.devgui_unlimited_ammo))) + { + level.devgui_unlimited_ammo = 1; + } + else + { + level.devgui_unlimited_ammo = !level.devgui_unlimited_ammo; + } + + if(level.devgui_unlimited_ammo) + { + iprintln("Giving unlimited ammo to all players"); + } + else + { + iprintln("Stopping unlimited ammo for all players"); + } + + for(i = 0;i < players.size;i++) + { + if(level.devgui_unlimited_ammo) + { + players[i] thread devgui_unlimited_ammo(); + } + else + { + players[i] notify("devgui_unlimited_ammo"); + } + } + + setdvar("scr_player_ammo",""); + } + else if(GetDvar(#"EC01172A") != "") + { + if(!(IsDefined(level.devgui_unlimited_momentum))) + { + level.devgui_unlimited_momentum = 1; + } + else + { + level.devgui_unlimited_momentum = !level.devgui_unlimited_momentum; + } + + if(level.devgui_unlimited_momentum) + { + iprintln("Giving unlimited momentum to all players"); + level thread devgui_unlimited_momentum(); + } + else + { + iprintln("Stopping unlimited momentum for all players"); + level notify("devgui_unlimited_momentum"); + } + + setdvar("scr_player_momentum",""); + } + else if(GetDvar(#"ADB1B0DE") != "") + { + level thread devgui_increase_momentum(GetDvarInt(#"ADB1B0DE")); + setdvar("scr_give_player_score",""); + } + else if(GetDvar(#"B3003261") != "") + { + players = get_players(); + for(i = 0;i < players.size;i++) + { + player = players[i]; + weapons = player getweaponslist(); + arrayremovevalue(weapons,"knife_mp"); + for(j = 0;j < weapons.size;j++) + { + if(weapons[j] == "none") + { + } + else + { + player setweaponammostock(weapons[j],0); + player setweaponammoclip(weapons[j],0); + } + } + } + + setdvar("scr_player_zero_ammo",""); + } + else if(GetDvar(#"C2F42DBB") != "") + { + players = get_players(); + for(i = 0;i < players.size;i++) + { + player = players[i]; + if(GetDvar(#"C2F42DBB") == "0") + { + player setempjammed(0); + } + else + { + player setempjammed(1); + } + } + + setdvar("scr_emp_jammed",""); + } + else if(GetDvar(#"3B362771") != "") + { + if(!(level.timerstopped)) + { + iprintln("Pausing Round Timer"); + maps/mp/gametypes/_globallogic_utils::pausetimer(); + } + else + { + iprintln("Resuming Round Timer"); + maps/mp/gametypes/_globallogic_utils::resumetimer(); + } + + setdvar("scr_round_pause",""); + } + else if(GetDvar(#"6C3088CA") != "") + { + level maps/mp/gametypes/_globallogic::forceend(); + setdvar("scr_round_end",""); + } + else if(GetDvar(#"9A7D1E68") != "") + { + players = get_players(); + host = gethostplayer(); + if(!(IsDefined(host.devgui_health_debug))) + { + host.devgui_health_debug = 0; + } + + if(host.devgui_health_debug) + { + host.devgui_health_debug = 0; + for(i = 0;i < players.size;i++) + { + players[i] notify("devgui_health_debug"); + if(IsDefined(players[i].debug_health_bar)) + { + players[i].debug_health_bar destroy(); + players[i].debug_health_text destroy(); + players[i].debug_health_bar = undefined; + players[i].debug_health_text = undefined; + } + } + } + else + { + host.devgui_health_debug = 1; + for(i = 0;i < players.size;i++) + { + players[i] thread devgui_health_debug(); + } + } + + setdvar("scr_health_debug",""); + } + else if(GetDvar(#"F8E39F40") != "") + { + if(!(IsDefined(level.devgui_show_hq))) + { + level.devgui_show_hq = 0; + } + + if(level.gametype == "koth" && IsDefined(level.radios)) + { + if(!(level.devgui_show_hq)) + { + for(i = 0;i < level.radios.size;i++) + { + color = (1,0,0); + level showonespawnpoint(level.radios[i],color,"hide_hq_points",32,"hq_spawn"); + } + } + else + { + level notify("hide_hq_points"); + } + + level.devgui_show_hq = !level.devgui_show_hq; + } + + setdvar("scr_show_hq_spawns",""); + } + + if(GetDvar(#"7B03E923") == "3") + { + if(!(IsDefined(level.streamdumpteamindex))) + { + level.streamdumpteamindex = 0; + } + else + { + level.streamdumpteamindex++; + } + + numpoints = 0; + if(level.streamdumpteamindex < level.teams.size) + { + teamname = getarraykeys(level.teams)[level.streamdumpteamindex]; + if(IsDefined(level.spawn_start[teamname])) + { + numpoints = level.spawn_start[teamname].size; + } + } + + if(numpoints == 0) + { + setdvar("r_streamDumpDistance","0"); + level.streamdumpteamindex = -1; + } + else + { + averageorigin = (0,0,0); + averageangles = (0,0,0); + foreach(spawnpoint in level.spawn_start[teamname]) + { + averageorigin = averageorigin + spawnpoint.origin / numpoints; + averageangles = averageangles + spawnpoint.angles / numpoints; + } + + level.players[0] setplayerangles(averageangles); + level.players[0] setorigin(averageorigin); + wait(0.05); + setdvar("r_streamDumpDistance","2"); + } } - i++; } - setdvar("scr_giveperk",""); - force_grenade_throw(GetDvar(#"A21C71D1")); - setdvar("scr_forcegrenade",""); - event = GetDvar(#"B107A31D"); - player = gethostplayer(); - forward = AnglesToForward(player.angles); - right = AnglesToRight(player.angles); - player dodamage(1,player.origin + forward); - player dodamage(1,player.origin - forward); - player dodamage(1,player.origin - right); - player dodamage(1,player.origin + right); - setdvar("scr_forceevent",""); - perk = GetDvar(#"2952A7C3"); - i = 0; - for(;;) + + if(GetDvar(#"AB757D49") == "0") { - level.players[i] unsetperk(perk); - level.players[i].extraperks[perk] = undefined; - i++; + players = get_players(); + iprintln("Taking all perks from all players"); + for(i = 0;i < players.size;i++) + { + players[i] clearperks(); + } + + setdvar("scr_giveperk",""); } - setdvar("scr_takeperk",""); - nametokens = strtok(GetDvar(#"5625D4BA")," "); - thread xkillsy(nametokens[0],nametokens[1]); - setdvar("scr_x_kills_y",""); - ownername = GetDvar(#"31F91106"); - setdvar("scr_usedogs",""); - owner = undefined; - index = 0; - for(;;) + + if(GetDvar(#"AB757D49") != "") { - owner = level.players[index]; - index++; + perk = GetDvar(#"AB757D49"); + specialties = strtok(perk,"|"); + players = get_players(); + iprintln("Giving all players perk: \'" + perk + "\'"); + for(i = 0;i < players.size;i++) + { + for(j = 0;j < specialties.size;j++) + { + players[i] setperk(specialties[j]); + players[i].extraperks[specialties[j]] = 1; + } + } + + setdvar("scr_giveperk",""); } - owner maps/mp/killstreaks/_killstreaks::triggerkillstreak("dogs_mp"); - player.pers["rank"] = 0; - player.pers["rankxp"] = 0; - newrank = min(GetDvarInt(#"36B7604F"),54); - newrank = max(newrank,1); - setdvar("scr_set_level",""); - lastxp = 0; - index = 0; - for(;;) + + if(GetDvar(#"A21C71D1") != "") { - newxp = maps/mp/gametypes/_rank::getrankinfominxp(index); - player thread maps/mp/gametypes/_rank::giverankxp("kill",newxp - lastxp); - lastxp = newxp; - wait(0.25); - self notify("cancel_notify",index <= newrank,GetDvar(#"36B7604F") != "",IsDefined(owner),level.players[index].name == ownername,index < level.players.size,GetDvar(#"31F91106") != "",nametokens.size > 1,GetDvar(#"5625D4BA") != "",i < level.players.size,GetDvar(#"2952A7C3") != "",j < specialties.size ? GetDvar(#"A21C71D1") != "" : ((GetDvar(#"B107A31D") != "") ? event == "painfront" : (event == "painback" ? event == "painleft" : event == "painright")),i < players.size,GetDvar(#"AB757D49") != "",i < players.size,GetDvar(#"AB757D49") == "0",numpoints == 0 ? IsDefined(_k761) : _k761,IsDefined(level.spawn_start[teamname]),level.streamdumpteamindex < level.teams.size,(Stack-Empty ? Stack-Empty : (Stack-Empty ? Stack-Empty : (Stack-Empty ? Stack-Empty : (Stack-Empty ? Stack-Empty : (Stack-Empty ? Stack-Empty : (Stack-Empty ? Stack-Empty : (Stack-Empty ? Stack-Empty : (Stack-Empty ? Stack-Empty : (Stack-Empty ? Stack-Empty : (Stack-Empty ? Stack-Empty : (Stack-Empty ? Stack-Empty : (Stack-Empty ? Stack-Empty : (Stack-Empty ? Stack-Empty : (Stack-Empty ? Stack-Empty : (Stack-Empty ? Stack-Empty : (Stack-Empty ? Stack-Empty : (Stack-Empty ? Stack-Empty : Stack-Empty))))))))))))))))) ? GetDvar(#"7B03E923") == "3" : IsDefined(level.streamdumpteamindex)); - index++; + force_grenade_throw(GetDvar(#"A21C71D1")); + setdvar("scr_forcegrenade",""); } - player thread maps/mp/gametypes/_rank::giverankxp("challenge",GetDvarInt(#"D0ABF43F"),1); - setdvar("scr_givexp",""); - i = 0; - for(;;) + + if(GetDvar(#"B107A31D") != "") { - level.players[i] maps/mp/gametypes/_hud_message::oldnotifymessage(GetDvar(#"70B3C3B7"),GetDvar(#"70B3C3B7"),game["icons"]["allies"]); - i++; + event = GetDvar(#"B107A31D"); + player = gethostplayer(); + forward = AnglesToForward(player.angles); + right = AnglesToRight(player.angles); + if(event == "painfront") + { + player dodamage(1,player.origin + forward); + } + else if(event == "painback") + { + player dodamage(1,player.origin - forward); + } + else if(event == "painleft") + { + player dodamage(1,player.origin - right); + } + else if(event == "painright") + { + player dodamage(1,player.origin + right); + } + + setdvar("scr_forceevent",""); } - announcement(GetDvar(#"70B3C3B7"),0); - setdvar("scr_do_notify",""); - ents = getentarray(); - level.entarray = []; - level.entcounts = []; - level.entgroups = []; - index = 0; - for(;;) + + if(GetDvar(#"2952A7C3") != "") { - classname = ents[index].classname; - curent = ents[index]; - level.entarray[level.entarray.size] = curent; - level.entcounts[classname] = 0; - level.entcounts[classname]++; - level.entgroups[classname] = []; - level.entgroups[classname][level.entgroups[classname].size] = curent; - index++; + perk = GetDvar(#"2952A7C3"); + for(i = 0;i < level.players.size;i++) + { + level.players[i] unsetperk(perk); + level.players[i].extraperks[perk] = undefined; + } + + setdvar("scr_takeperk",""); + } + + if(GetDvar(#"5625D4BA") != "") + { + nametokens = strtok(GetDvar(#"5625D4BA")," "); + if(nametokens.size > 1) + { + thread xkillsy(nametokens[0],nametokens[1]); + } + + setdvar("scr_x_kills_y",""); + } + + if(GetDvar(#"31F91106") != "") + { + ownername = GetDvar(#"31F91106"); + setdvar("scr_usedogs",""); + owner = undefined; + for(index = 0;index < level.players.size;index++) + { + if(level.players[index].name == ownername) + { + owner = level.players[index]; + } + } + + if(IsDefined(owner)) + { + owner maps/mp/killstreaks/_killstreaks::triggerkillstreak("dogs_mp"); + } + } + + if(GetDvar(#"36B7604F") != "") + { + player.pers["rank"] = 0; + player.pers["rankxp"] = 0; + newrank = min(GetDvarInt(#"36B7604F"),54); + newrank = max(newrank,1); + setdvar("scr_set_level",""); + lastxp = 0; + for(index = 0;index <= newrank;index++) + { + newxp = maps/mp/gametypes/_rank::getrankinfominxp(index); + player thread maps/mp/gametypes/_rank::giverankxp("kill",newxp - lastxp); + lastxp = newxp; + wait(0.25); + self notify("cancel_notify",_k761); + } + } + + if(GetDvar(#"D0ABF43F") != "") + { + player thread maps/mp/gametypes/_rank::giverankxp("challenge",GetDvarInt(#"D0ABF43F"),1); + setdvar("scr_givexp",""); + } + + if(GetDvar(#"70B3C3B7") != "") + { + for(i = 0;i < level.players.size;i++) + { + level.players[i] maps/mp/gametypes/_hud_message::oldnotifymessage(GetDvar(#"70B3C3B7"),GetDvar(#"70B3C3B7"),game["icons"]["allies"]); + } + + announcement(GetDvar(#"70B3C3B7"),0); + setdvar("scr_do_notify",""); + } + + if(GetDvar(#"4F1284FA") != "") + { + ents = getentarray(); + level.entarray = []; + level.entcounts = []; + level.entgroups = []; + for(index = 0;index < ents.size;index++) + { + classname = ents[index].classname; + if(!(issubstr(classname,"_spawn"))) + { + curent = ents[index]; + level.entarray[level.entarray.size] = curent; + if(!(IsDefined(level.entcounts[classname]))) + { + level.entcounts[classname] = 0; + } + + level.entcounts[classname]++; + if(!(IsDefined(level.entgroups[classname]))) + { + level.entgroups[classname] = []; + } + + level.entgroups[classname][level.entgroups[classname].size] = curent; + } + } + } + + if(GetDvar(#"36FAE5DF") == "1" && !IsDefined(level.larry)) + { + thread larry_thread(); + } + else if(GetDvar(#"36FAE5DF") == "0") + { + level notify("kill_larry"); + } + + if(level.bot_overlay == 0 && GetDvarInt(#"1CBC4852") == 1) + { + level thread bot_overlay_think(); + level.bot_overlay = 1; + } + else if(level.bot_overlay == 1 && GetDvarInt(#"1CBC4852") == 0) + { + level bot_overlay_stop(); + level.bot_overlay = 0; + } + + if(level.bot_threat == 0 && GetDvarInt(#"68A98D18") == 1) + { + level thread bot_threat_think(); + level.bot_threat = 1; + } + else if(level.bot_threat == 1 && GetDvarInt(#"68A98D18") == 0) + { + level bot_threat_stop(); + level.bot_threat = 0; + } + + if(level.bot_path == 0 && GetDvarInt(#"D6F2CC5D") == 1) + { + level thread bot_path_think(); + level.bot_path = 1; + } + else if(level.bot_path == 1 && GetDvarInt(#"D6F2CC5D") == 0) + { + level bot_path_stop(); + level.bot_path = 0; + } + + if(GetDvarInt(#"9003F201") == 1) + { + level thread maps/mp/gametypes/_killcam::dofinalkillcam(); + level thread waitthennotifyfinalkillcam(); + } + + if(GetDvarInt(#"A0259FFF") == 1) + { + level thread maps/mp/gametypes/_killcam::dofinalkillcam(); + level thread waitthennotifyroundkillcam(); + } + + if(!level.bot_overlay && !level.bot_threat && !level.bot_path) + { + level notify("bot_dpad_terminate"); } - thread larry_thread(); - level notify("kill_larry",GetDvar(#"36FAE5DF") == "0",GetDvar(#"36FAE5DF") == "1" && !IsDefined(level.larry),IsDefined(level.entgroups[classname]),IsDefined(level.entcounts[classname]),issubstr(classname,"_spawn"),index < ents.size,GetDvar(#"4F1284FA") != "",i < level.players.size,GetDvar(#"70B3C3B7") != "",GetDvar(#"D0ABF43F") != ""); - level thread bot_overlay_think(); - level.bot_overlay = 1; - level bot_overlay_stop(); - level.bot_overlay = 0; - level thread bot_threat_think(); - level.bot_threat = 1; - level bot_threat_stop(); - level.bot_threat = 0; - level thread bot_path_think(); - level.bot_path = 1; - level bot_path_stop(); - level.bot_path = 0; - level thread maps/mp/gametypes/_killcam::dofinalkillcam(); - level thread waitthennotifyfinalkillcam(); - level thread maps/mp/gametypes/_killcam::dofinalkillcam(); - level thread waitthennotifyroundkillcam(); - level notify("bot_dpad_terminate",!level.bot_overlay && !level.bot_threat && !level.bot_path,GetDvarInt(#"A0259FFF") == 1,GetDvarInt(#"9003F201") == 1,(((Stack-Empty ? Stack-Empty : Stack-Empty) ? level.bot_overlay == 0 && GetDvarInt(#"1CBC4852") == 1 : level.bot_overlay == 1 && GetDvarInt(#"1CBC4852") == 0) ? level.bot_threat == 0 && GetDvarInt(#"68A98D18") == 1 : level.bot_threat == 1 && GetDvarInt(#"68A98D18") == 0) ? level.bot_path == 0 && GetDvarInt(#"D6F2CC5D") == 1 : level.bot_path == 1 && GetDvarInt(#"D6F2CC5D") == 0); #/ } @@ -594,15 +1020,28 @@ devgui_spawn_think() { self setactionslot(3,""); self setactionslot(4,""); - setdvar("scr_playerwarp","prev_spawn"); - dpad_left = 1; - dpad_left = 0; - setdvar("scr_playerwarp","next_spawn"); - dpad_right = 1; - dpad_right = 0; + if(!dpad_left && self buttonpressed("DPAD_LEFT")) + { + setdvar("scr_playerwarp","prev_spawn"); + dpad_left = 1; + } + else if(!(self buttonpressed("DPAD_LEFT"))) + { + dpad_left = 0; + } + + if(!dpad_right && self buttonpressed("DPAD_RIGHT")) + { + setdvar("scr_playerwarp","next_spawn"); + dpad_right = 1; + } + else if(!(self buttonpressed("DPAD_RIGHT"))) + { + dpad_right = 0; + } + wait(0.05); } -(Stack-Empty ? !dpad_left && self buttonpressed("DPAD_LEFT") : self buttonpressed("DPAD_LEFT")) ? !dpad_right && self buttonpressed("DPAD_RIGHT") : self buttonpressed("DPAD_RIGHT") #/ } @@ -619,14 +1058,20 @@ devgui_unlimited_ammo() weapons = []; weapons[0] = self getcurrentweapon(); weapons[1] = self getcurrentoffhand(); - i = 0; - for(;;) + for(i = 0;i < weapons.size;i++) { - self givemaxammo(weapons[i]); - i++; + if(weapons[i] == "none") + { + } + else if(maps/mp/killstreaks/_killstreaks::iskillstreakweapon(weapons[i])) + { + } + else + { + self givemaxammo(weapons[i]); + } } } -Stack-Empty ? Stack-Empty : (i < weapons.size ? weapons[i] == "none" : maps/mp/killstreaks/_killstreaks::iskillstreakweapon(weapons[i])) #/ } @@ -640,17 +1085,23 @@ devgui_unlimited_momentum() { wait(1); players = get_players(); - _a1088 = players; - _k1088 = FirstArrayKey(_a1088); - for(;;) + foreach(player in players) { - player = _a1088[_k1088]; - maps/mp/gametypes/_globallogic_score::_setplayermomentum(player,5000); - _k1088 = NextArrayKey(_a1088); + if(!(IsDefined(player))) + { + } + else if(!(isalive(player))) + { + } + else if(player.sessionstate != "playing") + { + } + else + { + maps/mp/gametypes/_globallogic_score::_setplayermomentum(player,5000); + } } } -_k1088 -Stack-Empty ? Stack-Empty : (Stack-Empty ? IsDefined(_k1088) : (IsDefined(player) ? isalive(player) : player.sessionstate != "playing")) #/ } @@ -659,16 +1110,22 @@ devgui_increase_momentum(score) { /# players = get_players(); - _a1114 = players; - _k1114 = FirstArrayKey(_a1114); - for(;;) + foreach(player in players) { - player = _a1114[_k1114]; - player maps/mp/gametypes/_globallogic_score::giveplayermomentumnotification(score,&"testPlayerScoreForTan","PLAYER_SCORE",0); - _k1114 = NextArrayKey(_a1114); + if(!(IsDefined(player))) + { + } + else if(!(isalive(player))) + { + } + else if(player.sessionstate != "playing") + { + } + else + { + player maps/mp/gametypes/_globallogic_score::giveplayermomentumnotification(score,&"testPlayerScoreForTan","PLAYER_SCORE",0); + } } -_k1114 -Stack-Empty ? Stack-Empty : (Stack-Empty ? IsDefined(_k1114) : (IsDefined(player) ? isalive(player) : player.sessionstate != "playing")) #/ } @@ -701,7 +1158,11 @@ devgui_health_debug() self.debug_health_text.alpha = 1; self.debug_health_text.fontscale = 1; self.debug_health_text.foreground = 1; - self.maxhealth = 100; + if(!IsDefined(self.maxhealth) || self.maxhealth <= 0) + { + self.maxhealth = 100; + } + for(;;) { wait(0.05); @@ -710,7 +1171,6 @@ devgui_health_debug() self.debug_health_bar setshader("black",width,8); self.debug_health_text setvalue(self.health); } -!IsDefined(self.maxhealth) || self.maxhealth <= 0 #/ } @@ -718,16 +1178,16 @@ devgui_health_debug() giveextraperks() { /# - return; + if(!(IsDefined(self.extraperks))) + { + return; + } + perks = getarraykeys(self.extraperks); - i = 0; - for(;;) + for(i = 0;i < perks.size;i++) { self setperk(perks[i]); - i++; } -i < perks.size -IsDefined(self.extraperks) #/ } @@ -737,17 +1197,24 @@ xkillsy(attackername,victimname) /# attacker = undefined; victim = undefined; - index = 0; - for(;;) + for(index = 0;index < level.players.size;index++) { - attacker = level.players[index]; - victim = level.players[index]; - index++; + if(level.players[index].name == attackername) + { + attacker = level.players[index]; + } + else if(level.players[index].name == victimname) + { + victim = level.players[index]; + } } - return; + + if(!isalive(attacker) || !isalive(victim)) + { + return; + } + victim thread [[ level.callbackplayerdamage ]](attacker,attacker,1000,0,"MOD_RIFLE_BULLET","none",(0,0,0),(0,0,0),"none",0,0); -!isalive(attacker) || !isalive(victim) -(index < level.players.size) ? level.players[index].name == attackername : level.players[index].name == victimname #/ } @@ -756,87 +1223,171 @@ updateminimapsetting() { /# requiredmapaspectratio = GetDvarFloat(#"33CF364A"); - setdvar("scr_minimap_height","0"); - level.minimapheight = 0; - minimapheight = GetDvarFloat(#"6B3B5DAF"); - gethostplayer() cameraactivate(0); - level.minimapheight = minimapheight; - level notify("end_draw_map_bounds",minimapheight <= 0,minimapheight != level.minimapheight,IsDefined(level.minimapheight)); - level.minimapheight = minimapheight; - players = get_players(); - player = gethostplayer(); - corners = getentarray("minimap_corner","targetname"); - viewpos = corners[0].origin + corners[1].origin; - viewpos = (viewpos[0] * 0.5,viewpos[1] * 0.5,viewpos[2] * 0.5); - level thread minimapwarn(corners); - maxcorner = (corners[0].origin[0],corners[0].origin[1],viewpos[2]); - mincorner = (corners[0].origin[0],corners[0].origin[1],viewpos[2]); - maxcorner = (corners[1].origin[0],maxcorner[1],maxcorner[2]); - mincorner = (corners[1].origin[0],mincorner[1],mincorner[2]); - maxcorner = (maxcorner[0],corners[1].origin[1],maxcorner[2]); - mincorner = (mincorner[0],corners[1].origin[1],mincorner[2]); - viewpostocorner = maxcorner - viewpos; - viewpos = (viewpos[0],viewpos[1],viewpos[2] + minimapheight); - northvector = (cos(getnorthyaw()),sin(getnorthyaw()),0); - eastvector = (northvector[1],0 - northvector[0],0); - disttotop = vectordot(northvector,viewpostocorner); - disttotop = 0 - disttotop; - disttoside = vectordot(eastvector,viewpostocorner); - disttoside = 0 - disttoside; - mapaspectratio = disttoside / disttotop; - incr = requiredmapaspectratio / mapaspectratio; - disttoside = disttoside * incr; - addvec = vecscale(eastvector,vectordot(eastvector,maxcorner - viewpos) * incr - 1); - mincorner = mincorner - addvec; - maxcorner = maxcorner + addvec; - incr = mapaspectratio / requiredmapaspectratio; - disttotop = disttotop * incr; - addvec = vecscale(northvector,vectordot(northvector,maxcorner - viewpos) * incr - 1); - mincorner = mincorner - addvec; - maxcorner = maxcorner + addvec; - aspectratioguess = 1.777778; - angleside = 2 * atan(disttoside * 0.8 / minimapheight); - angletop = 2 * atan(disttotop * aspectratioguess * 0.8 / minimapheight); - aspectratioguess = 1.333333; - angleside = 2 * atan(disttoside / minimapheight); - angletop = 2 * atan(disttotop * aspectratioguess / minimapheight); - angle = angleside; - angle = angletop; - znear = minimapheight - 1000; - znear = 16; - znear = 10000; - player camerasetposition(viewpos,(90,getnorthyaw(),0)); - player cameraactivate(1); - player takeallweapons(); - setdvar("cg_drawGun",0); - setdvar("cg_draw2D",0); - setdvar("cg_drawFPS",0); - setdvar("fx_enable",0); - setdvar("r_fog",0); - setdvar("r_highLodDist",0); - setdvar("r_znear",znear); - setdvar("r_lodscale",0); - setdvar("r_lodScaleRigid",0); - setdvar("cg_drawVersion",0); - setdvar("sm_enable",1); - setdvar("player_view_pitch_down",90); - setdvar("player_view_pitch_up",0); - setdvar("cg_fov",angle); - setdvar("cg_fovMin",1); - setdvar("debug_show_viewpos","0"); - i = 0; - for(;;) + if(!(IsDefined(level.minimapheight))) { - level.objpoints[level.objpointnames[i]] destroy(); - i++; + setdvar("scr_minimap_height","0"); + level.minimapheight = 0; + } + + minimapheight = GetDvarFloat(#"6B3B5DAF"); + if(minimapheight != level.minimapheight) + { + if(minimapheight <= 0) + { + gethostplayer() cameraactivate(0); + level.minimapheight = minimapheight; + level notify("end_draw_map_bounds"); + } + + if(minimapheight > 0) + { + level.minimapheight = minimapheight; + players = get_players(); + if(players.size > 0) + { + player = gethostplayer(); + corners = getentarray("minimap_corner","targetname"); + if(corners.size == 2) + { + viewpos = corners[0].origin + corners[1].origin; + viewpos = (viewpos[0] * 0.5,viewpos[1] * 0.5,viewpos[2] * 0.5); + level thread minimapwarn(corners); + maxcorner = (corners[0].origin[0],corners[0].origin[1],viewpos[2]); + mincorner = (corners[0].origin[0],corners[0].origin[1],viewpos[2]); + if(corners[1].origin[0] > corners[0].origin[0]) + { + maxcorner = (corners[1].origin[0],maxcorner[1],maxcorner[2]); + } + else + { + mincorner = (corners[1].origin[0],mincorner[1],mincorner[2]); + } + + if(corners[1].origin[1] > corners[0].origin[1]) + { + maxcorner = (maxcorner[0],corners[1].origin[1],maxcorner[2]); + } + else + { + mincorner = (mincorner[0],corners[1].origin[1],mincorner[2]); + } + + viewpostocorner = maxcorner - viewpos; + viewpos = (viewpos[0],viewpos[1],viewpos[2] + minimapheight); + northvector = (cos(getnorthyaw()),sin(getnorthyaw()),0); + eastvector = (northvector[1],0 - northvector[0],0); + disttotop = vectordot(northvector,viewpostocorner); + if(disttotop < 0) + { + disttotop = 0 - disttotop; + } + + disttoside = vectordot(eastvector,viewpostocorner); + if(disttoside < 0) + { + disttoside = 0 - disttoside; + } + + if(requiredmapaspectratio > 0) + { + mapaspectratio = disttoside / disttotop; + if(mapaspectratio < requiredmapaspectratio) + { + incr = requiredmapaspectratio / mapaspectratio; + disttoside = disttoside * incr; + addvec = vecscale(eastvector,vectordot(eastvector,maxcorner - viewpos) * incr - 1); + mincorner = mincorner - addvec; + maxcorner = maxcorner + addvec; + } + else + { + incr = mapaspectratio / requiredmapaspectratio; + disttotop = disttotop * incr; + addvec = vecscale(northvector,vectordot(northvector,maxcorner - viewpos) * incr - 1); + mincorner = mincorner - addvec; + maxcorner = maxcorner + addvec; + } + } + + if(level.console) + { + aspectratioguess = 1.777778; + angleside = 2 * atan(disttoside * 0.8 / minimapheight); + angletop = 2 * atan(disttotop * aspectratioguess * 0.8 / minimapheight); + } + else + { + aspectratioguess = 1.333333; + angleside = 2 * atan(disttoside / minimapheight); + angletop = 2 * atan(disttotop * aspectratioguess / minimapheight); + } + + if(angleside > angletop) + { + angle = angleside; + } + else + { + angle = angletop; + } + + znear = minimapheight - 1000; + if(znear < 16) + { + znear = 16; + } + + if(znear > 10000) + { + znear = 10000; + } + + player camerasetposition(viewpos,(90,getnorthyaw(),0)); + player cameraactivate(1); + player takeallweapons(); + setdvar("cg_drawGun",0); + setdvar("cg_draw2D",0); + setdvar("cg_drawFPS",0); + setdvar("fx_enable",0); + setdvar("r_fog",0); + setdvar("r_highLodDist",0); + setdvar("r_znear",znear); + setdvar("r_lodscale",0); + setdvar("r_lodScaleRigid",0); + setdvar("cg_drawVersion",0); + setdvar("sm_enable",1); + setdvar("player_view_pitch_down",90); + setdvar("player_view_pitch_up",0); + setdvar("cg_fov",angle); + setdvar("cg_fovMin",1); + setdvar("debug_show_viewpos","0"); + if(IsDefined(level.objpoints)) + { + for(i = 0;i < level.objpointnames.size;i++) + { + if(IsDefined(level.objpoints[level.objpointnames[i]])) + { + level.objpoints[level.objpointnames[i]] destroy(); + } + } + + level.objpoints = []; + level.objpointnames = []; + } + + thread drawminimapbounds(viewpos,mincorner,maxcorner); + } + else + { + println("^1Error: There are not exactly 2 \"minimap_corner\" entities in the level."); + } + } + else + { + setdvar("scr_minimap_height","0"); + } + } } - level.objpoints = []; - level.objpointnames = []; - thread drawminimapbounds(viewpos,mincorner,maxcorner); - println("^1Error: There are not exactly 2 \"minimap_corner\" entities in the level."); - setdvar("scr_minimap_height","0"); -znear < 16 ? znear > 10000 : ((IsDefined(level.objpoints)) ? i < level.objpointnames.size : IsDefined(level.objpoints[level.objpointnames[i]])) -(minimapheight > 0 ? (players.size > 0 ? corners.size == 2 : corners[1].origin[0] > corners[0].origin[0]) : corners[1].origin[1] > corners[0].origin[1]) ? (disttotop < 0 ? (disttoside < 0 ? requiredmapaspectratio > 0 : mapaspectratio < requiredmapaspectratio) : level.console) : angleside > angletop #/ } @@ -872,7 +1423,7 @@ drawminimapbounds(viewpos,mincorner,maxcorner) corner3 = maxcorner - side; toppos = vecscale(mincorner + maxcorner,0.5) + vecscale(sidenorth,0.51); textscale = diaglen * 0.003; - for(;;) + while(1) { line(corner0,corner1); line(corner1,corner2); @@ -881,7 +1432,6 @@ drawminimapbounds(viewpos,mincorner,maxcorner) print3d(toppos,"This Side Up",(1,1,1),1,textscale); wait(0.05); } -1 #/ } @@ -894,16 +1444,25 @@ minimapwarn(corners) width = int(width); height = Abs(corners[0].origin[1] - corners[1].origin[1]); height = int(height); - for(;;) + if(Abs(width - height) > threshold) { - iprintln("^1Warning: Minimap corners do not form a square (width: " + width + " height: " + height + ")\n"); - scale = height / width; - iprintln("^1Warning: The compass minimap might be scaled: " + scale + " units in height more than width\n"); - scale = width / height; - iprintln("^1Warning: The compass minimap might be scaled: " + scale + " units in width more than height\n"); - wait(10); + for(;;) + { + iprintln("^1Warning: Minimap corners do not form a square (width: " + width + " height: " + height + ")\n"); + if(height > width) + { + scale = height / width; + iprintln("^1Warning: The compass minimap might be scaled: " + scale + " units in height more than width\n"); + } + else + { + scale = width / height; + iprintln("^1Warning: The compass minimap might be scaled: " + scale + " units in width more than height\n"); + } + + wait(10); + } } -Stack-Empty ? Abs(width - height) > threshold : height > width #/ } @@ -923,8 +1482,10 @@ testscriptruntimeerror2() { /# myundefined = "test"; - println("undefined in testScriptRuntimeError2\n"); -myundefined == 1 + if(myundefined == 1) + { + println("undefined in testScriptRuntimeError2\n"); + } #/ } @@ -943,15 +1504,26 @@ testscriptruntimeerror() wait(5); for(;;) { - break; + if(GetDvar(#"316B7BEF") != "0") + { + break; + } + wait(1); } + myerror = GetDvar(#"316B7BEF"); setdvar("scr_testScriptRuntimeError","0"); - testscriptruntimeerrorassert(); - testscriptruntimeerror1(); + if(myerror == "assert") + { + testscriptruntimeerrorassert(); + } + else + { + testscriptruntimeerror1(); + } + thread testscriptruntimeerror(); -Stack-Empty ? GetDvar(#"316B7BEF") != "0" : myerror == "assert" #/ } @@ -962,16 +1534,20 @@ testdvars() wait(5); for(;;) { - break; + if(GetDvar(#"70EE00F9") != "") + { + break; + } + wait(1); } + tokens = strtok(GetDvar(#"70EE00F9")," "); dvarname = tokens[0]; dvarvalue = tokens[1]; setdvar(dvarname,dvarvalue); setdvar("scr_testdvar",""); thread testdvars(); -GetDvar(#"70EE00F9") != "" #/ } @@ -982,24 +1558,33 @@ addtestclients() wait(5); for(;;) { - break; + if(GetDvarInt(#"8EF43DBE") > 0) + { + break; + } + wait(1); } + playsoundonplayers("vox_kls_dav_spawn"); testclients = GetDvarInt(#"8EF43DBE"); setdvar("scr_testclients",0); - i = 0; - for(;;) + for(i = 0;i < testclients;i++) { ent[i] = addtestclient(); - println("Could not add test client"); - wait(1); - ent[i].pers["isBot"] = 1; - ent[i] thread testclient("autoassign"); - i++; + if(!(IsDefined(ent[i]))) + { + println("Could not add test client"); + wait(1); + } + else + { + ent[i].pers["isBot"] = 1; + ent[i] thread testclient("autoassign"); + } } + thread addtestclients(); -(GetDvarInt(#"8EF43DBE") > 0) ? i < testclients : IsDefined(ent[i]) #/ } @@ -1010,19 +1595,32 @@ addenemyheli() wait(5); for(;;) { - break; + if(GetDvarInt(#"A1755E55") > 0) + { + break; + } + wait(1); } + enemyheli = GetDvarInt(#"A1755E55"); setdvar("scr_spawnenemyheli",0); team = "autoassign"; player = gethostplayer(); - team = getotherteam(player.pers["team"]); + if(IsDefined(player.pers["team"])) + { + team = getotherteam(player.pers["team"]); + } + ent = getormakebot(team); - println("Could not add test client"); - wait(1); - thread addenemyheli(); - return; + if(!(IsDefined(ent))) + { + println("Could not add test client"); + wait(1); + thread addenemyheli(); + return; + } + switch(enemyheli) { case "ON_B": @@ -1031,14 +1629,13 @@ addenemyheli() wait(0.5); ent notify("confirm_location",level.helilocation); break; + case "ON_B": ent thread maps/mp/killstreaks/_helicopter_gunner::heli_gunner_killstreak("helicopter_player_gunner_mp"); break; } + thread addenemyheli(); -IsDefined(ent) -IsDefined(player.pers["team"]) -GetDvarInt(#"A1755E55") > 0 #/ } @@ -1046,22 +1643,27 @@ GetDvarInt(#"A1755E55") > 0 getormakebot(team) { /# - i = 0; - for(;;) + for(i = 0;i < level.players.size;i++) { - return level.players[i]; - i++; + if(level.players[i].team == team) + { + if(IsDefined(level.players[i].pers["isBot"]) && level.players[i].pers["isBot"]) + { + return level.players[i]; + } + } } + ent = addtestclient(); - playsoundonplayers("vox_kls_dav_spawn"); - ent.pers["isBot"] = 1; - ent thread testclient(team); - wait(1); + if(IsDefined(ent)) + { + playsoundonplayers("vox_kls_dav_spawn"); + ent.pers["isBot"] = 1; + ent thread testclient(team); + wait(1); + } + return ent; -IsDefined(ent) -IsDefined(level.players[i].pers["isBot"]) && level.players[i].pers["isBot"] -level.players[i].team == team -i < level.players.size #/ } @@ -1072,24 +1674,46 @@ addenemyu2() wait(5); for(;;) { - break; + if(GetDvarInt(#"23E1517A") > 0) + { + break; + } + wait(1); } + type = GetDvarInt(#"23E1517A"); setdvar("scr_spawnenemyu2",0); team = "autoassign"; player = gethostplayer(); - team = getotherteam(player.team); + if(IsDefined(player.team)) + { + team = getotherteam(player.team); + } + ent = getormakebot(team); - println("Could not add test client"); - wait(1); + if(!(IsDefined(ent))) + { + println("Could not add test client"); + wait(1); + thread addenemyu2(); + return; + } + + if(type == 3) + { + ent thread maps/mp/killstreaks/_radar::usekillstreaksatellite("radardirection_mp"); + } + else if(type == 2) + { + ent thread maps/mp/killstreaks/_radar::usekillstreakcounteruav("counteruav_mp"); + } + else + { + ent thread maps/mp/killstreaks/_radar::usekillstreakradar("radar_mp"); + } + thread addenemyu2(); - return; - ent thread maps/mp/killstreaks/_radar::usekillstreaksatellite("radardirection_mp"); - ent thread maps/mp/killstreaks/_radar::usekillstreakcounteruav("counteruav_mp"); - ent thread maps/mp/killstreaks/_radar::usekillstreakradar("radar_mp"); - thread addenemyu2(); -(GetDvarInt(#"23E1517A") > 0) ? IsDefined(player.team) : (IsDefined(ent) ? type == 3 : type == 2) #/ } @@ -1100,34 +1724,45 @@ addtestcarepackage() wait(5); for(;;) { - break; + if(GetDvarInt(#"78762059") > 0) + { + break; + } + wait(1); } + supplydrop = GetDvarInt(#"78762059"); team = "autoassign"; player = gethostplayer(); - switch(supplydrop) + if(IsDefined(player.pers["team"])) { - case "ON_B": - team = getotherteam(player.pers["team"]); - break; - case "ON_B": - default: - team = player.pers["team"]; - break; + switch(supplydrop) + { + case "ON_B": + team = getotherteam(player.pers["team"]); + break; + + case "ON_B": + default: + team = player.pers["team"]; + break; + } } + setdvar("scr_givetestsupplydrop",0); ent = getormakebot(team); - println("Could not add test client"); - wait(1); - thread addtestcarepackage(); - return; + if(!(IsDefined(ent))) + { + println("Could not add test client"); + wait(1); + thread addtestcarepackage(); + return; + } + ent maps/mp/killstreaks/_killstreakrules::killstreakstart("supply_drop_mp",team); ent thread maps/mp/killstreaks/_supplydrop::helidelivercrate(ent.origin,"supplydrop_mp",ent,team); thread addtestcarepackage(); -IsDefined(ent) -IsDefined(player.pers["team"]) -GetDvarInt(#"78762059") > 0 #/ } @@ -1138,22 +1773,37 @@ removetestclients() wait(5); for(;;) { - break; + if(GetDvarInt(#"C97483EC") > 0) + { + break; + } + wait(1); } + playsoundonplayers("vox_kls_dav_kill"); removetype = GetDvarInt(#"C97483EC"); setdvar("scr_testclientsremove",0); host = gethostplayer(); players = level.players; - i = 0; - for(;;) + for(i = 0;i < players.size;i++) { - kick(players[i] getentitynumber()); - i++; + if(IsDefined(players[i].pers["isBot"]) && players[i].pers["isBot"] == 1) + { + if(removetype == 2 && host.team != players[i].team) + { + } + else if(removetype == 3 && host.team == players[i].team) + { + } + else + { + kick(players[i] getentitynumber()); + } + } } + thread removetestclients(); -(GetDvarInt(#"C97483EC") > 0) ? i < players.size : ((IsDefined(players[i].pers["isBot"]) && players[i].pers["isBot"] == 1) ? removetype == 2 && host.team != players[i].team : removetype == 3 && host.team == players[i].team) #/ } @@ -1162,13 +1812,21 @@ testclient(team) { /# self endon("disconnect"); - wait(0.05); - self notify("menuresponse",game["menu_team"],team,level.teambased,IsDefined(self.pers["team"])); - wait(0.5); - for(;;) + while(!(IsDefined(self.pers["team"]))) + { + wait(0.05); + } + + if(level.teambased) + { + self notify("menuresponse",game["menu_team"],team); + wait(0.5); + } + + while(1) { classes = maps/mp/bots/_bot::bot_build_classes(); - self notify("menuresponse","changeclass",random(classes),1); + self notify("menuresponse","changeclass",random(classes)); self waittill("spawned_player"); wait(0.1); } @@ -1179,8 +1837,16 @@ testclient(team) showonespawnpoint(spawn_point,color,notification,height,print) { /# - height = get_player_height(); - print = spawn_point.classname; + if(!IsDefined(height) || height <= 0) + { + height = get_player_height(); + } + + if(!(IsDefined(print))) + { + print = spawn_point.classname; + } + center = spawn_point.origin; forward = AnglesToForward(spawn_point.angles); right = AnglesToRight(spawn_point.angles); @@ -1220,13 +1886,6 @@ showonespawnpoint(spawn_point,color,notification,height,print) thread lineuntilnotified(a,b,color,0,notification); thread lineuntilnotified(a,c,color,0,notification); thread print3duntilnotified(spawn_point.origin + (0,0,height),print,color,1,1,notification); -8 -24 -32 -16 -16 -IsDefined(print) -!IsDefined(height) || height <= 0 #/ } @@ -1234,23 +1893,20 @@ IsDefined(print) showspawnpoints() { /# - color = (1,1,1); - spawn_point_index = 0; - for(;;) + if(IsDefined(level.spawnpoints)) { - showonespawnpoint(level.spawnpoints[spawn_point_index],color,"hide_spawnpoints"); - spawn_point_index++; + color = (1,1,1); + for(spawn_point_index = 0;spawn_point_index < level.spawnpoints.size;spawn_point_index++) + { + showonespawnpoint(level.spawnpoints[spawn_point_index],color,"hide_spawnpoints"); + } } - i = 0; - for(;;) + + for(i = 0;i < level.dem_spawns.size;i++) { color = (0,1,0); showonespawnpoint(level.dem_spawns[i],color,"hide_spawnpoints"); - i++; } -i < level.dem_spawns.size -spawn_point_index < level.spawnpoints.size -IsDefined(level.spawnpoints) #/ } @@ -1259,15 +1915,23 @@ hidespawnpoints() { /# level notify("hide_spawnpoints"); -#/ } //Function Number: 35 showstartspawnpoints() { +#/ /# - return; - return; + if(!(level.teambased)) + { + return; + } + + if(!(IsDefined(level.spawn_start))) + { + return; + } + team_colors = []; team_colors["axis"] = (1,0,1); team_colors["allies"] = (0,1,1); @@ -1277,28 +1941,14 @@ showstartspawnpoints() team_colors["team6"] = (1,0.7,0); team_colors["team7"] = (0.25,0.25,1); team_colors["team8"] = (0.88,0,1); - _a1908 = level.teams; - _k1908 = FirstArrayKey(_a1908); - for(;;) + foreach(team in level.teams) { - team = _a1908[_k1908]; color = team_colors[team]; - _a1912 = level.spawn_start[team]; - _k1912 = FirstArrayKey(_a1912); - for(;;) + foreach(spawnpoint in level.spawn_start[team]) { - spawnpoint = _a1912[_k1912]; showonespawnpoint(spawnpoint,color,"hide_startspawnpoints"); - _k1912 = NextArrayKey(_a1912); } - _k1908 = NextArrayKey(_a1908); } -_k1908 -_k1912 -IsDefined(_k1912) -IsDefined(_k1908) -IsDefined(level.spawn_start) -level.teambased #/ } @@ -1307,12 +1957,12 @@ hidestartspawnpoints() { /# level notify("hide_startspawnpoints"); -#/ } //Function Number: 37 print3duntilnotified(origin,text,color,alpha,scale,notification) { +#/ /# level endon(notification); for(;;) @@ -1341,19 +1991,29 @@ engagement_distance_debug_toggle() { /# level endon("kill_engage_dist_debug_toggle_watcher"); - setdvar("debug_engage_dists","0"); + if(!(IsDefined(GetDvarInt(#"99BAF398")))) + { + setdvar("debug_engage_dists","0"); + } + laststate = GetDvarInt(#"99BAF398"); - for(;;) + while(1) { currentstate = GetDvarInt(#"99BAF398"); - weapon_engage_dists_init(); - thread debug_realtime_engage_dist(); - laststate = currentstate; - level notify("kill_all_engage_dist_debug",!dvar_turned_on(currentstate) && dvar_turned_on(laststate),dvar_turned_on(currentstate) && !dvar_turned_on(laststate),1,IsDefined(GetDvarInt(#"99BAF398"))); - laststate = currentstate; + if(dvar_turned_on(currentstate) && !dvar_turned_on(laststate)) + { + weapon_engage_dists_init(); + thread debug_realtime_engage_dist(); + laststate = currentstate; + } + else if(!dvar_turned_on(currentstate) && dvar_turned_on(laststate)) + { + level notify("kill_all_engage_dist_debug"); + laststate = currentstate; + } + wait(0.3); } -Stack-Empty ? Stack-Empty : Stack-Empty #/ } @@ -1361,9 +2021,14 @@ Stack-Empty ? Stack-Empty : Stack-Empty dvar_turned_on(val) { /# - return 0; - return 1; -Stack-Empty ? Stack-Empty : val <= 0 + if(val <= 0) + { + return 0; + } + else + { + return 1; + } #/ } @@ -1424,13 +2089,10 @@ engage_dist_debug_hud_destroy(hudarray,killnotify) { /# level waittill(killnotify); - i = 0; - for(;;) + for(i = 0;i < hudarray.size;i++) { hudarray[i] destroy(); - i++; } -i < hudarray.size #/ } @@ -1543,9 +2205,14 @@ engage_dists_add(weapontypestr,values) get_engage_dists(weapontypestr) { /# - return level.engagedists[weapontypestr]; - return undefined; -Stack-Empty ? Stack-Empty : IsDefined(level.engagedists[weapontypestr]) + if(IsDefined(level.engagedists[weapontypestr])) + { + return level.engagedists[weapontypestr]; + } + else + { + return undefined; + } #/ } @@ -1555,24 +2222,35 @@ engage_dists_watcher() /# level endon("kill_all_engage_dist_debug"); level endon("kill_engage_dists_watcher"); - for(;;) + while(1) { - for(;;) + player = gethostplayer(); + playerweapon = player getcurrentweapon(); + if(!(IsDefined(player.lastweapon))) { - player = gethostplayer(); - playerweapon = player getcurrentweapon(); player.lastweapon = playerweapon; break; - wait(0.05); } + + if(player.lastweapon == playerweapon) + { + wait(0.05); + continue; + } + values = get_engage_dists(playerweapon); - level.weaponengagedistvalues = values; - level.weaponengagedistvalues = undefined; + if(IsDefined(values)) + { + level.weaponengagedistvalues = values; + } + else + { + level.weaponengagedistvalues = undefined; + } + player.lastweapon = playerweapon; wait(0.05); } -(IsDefined(player.lastweapon)) ? player.lastweapon == playerweapon : IsDefined(values) -1 #/ } @@ -1586,7 +2264,7 @@ debug_realtime_engage_dist() level thread engage_dist_debug_hud_destroy(hudobjarray,"kill_all_engage_dist_debug"); level.debugrtengagedistcolor = level.green; player = gethostplayer(); - for(;;) + while(1) { lasttracepos = (0,0,0); direction = player getplayerangles(); @@ -1597,28 +2275,49 @@ debug_realtime_engage_dist() tracepoint = trace["position"]; tracenormal = trace["normal"]; tracedist = int(distance(eye,tracepoint)); - lasttracepos = tracepoint; - hudobj_changecolor(hudobjarray,level.white); - hudobjarray engagedist_hud_changetext("nodata",tracedist); - engagedistmin = level.weaponengagedistvalues.engagedistmin; - engagedistoptimal = level.weaponengagedistvalues.engagedistoptimal; - engagedistmulligan = level.weaponengagedistvalues.engagedistmulligan; - engagedistmax = level.weaponengagedistvalues.engagedistmax; - hudobjarray engagedist_hud_changetext("optimal",tracedist); - hudobj_changecolor(hudobjarray,level.green); - continue; - hudobjarray engagedist_hud_changetext("ok",tracedist); - hudobj_changecolor(hudobjarray,level.yellow); - hudobj_changecolor(hudobjarray,level.red); - hudobjarray engagedist_hud_changetext("short",tracedist); - hudobj_changecolor(hudobjarray,level.red); - hudobjarray engagedist_hud_changetext("long",tracedist); + if(tracepoint != lasttracepos) + { + lasttracepos = tracepoint; + if(!(IsDefined(level.weaponengagedistvalues))) + { + hudobj_changecolor(hudobjarray,level.white); + hudobjarray engagedist_hud_changetext("nodata",tracedist); + } + else + { + engagedistmin = level.weaponengagedistvalues.engagedistmin; + engagedistoptimal = level.weaponengagedistvalues.engagedistoptimal; + engagedistmulligan = level.weaponengagedistvalues.engagedistmulligan; + engagedistmax = level.weaponengagedistvalues.engagedistmax; + if(tracedist >= engagedistmin && tracedist <= engagedistmax) + { + if(tracedist >= engagedistoptimal - engagedistmulligan && tracedist <= engagedistoptimal + engagedistmulligan) + { + hudobjarray engagedist_hud_changetext("optimal",tracedist); + hudobj_changecolor(hudobjarray,level.green); + continue; + } + + hudobjarray engagedist_hud_changetext("ok",tracedist); + hudobj_changecolor(hudobjarray,level.yellow); + } + else if(tracedist < engagedistmin) + { + hudobj_changecolor(hudobjarray,level.red); + hudobjarray engagedist_hud_changetext("short",tracedist); + } + else if(tracedist > engagedistmax) + { + hudobj_changecolor(hudobjarray,level.red); + hudobjarray engagedist_hud_changetext("long",tracedist); + } + } + } + thread plot_circle_fortime(1,5,0.05,level.debugrtengagedistcolor,tracepoint,tracenormal); thread plot_circle_fortime(1,1,0.05,level.debugrtengagedistcolor,tracepoint,tracenormal); wait(0.05); } -player ? tracepoint != lasttracepos : ((IsDefined(level.weaponengagedistvalues)) ? tracedist >= engagedistmin && tracedist <= engagedistmax : ((tracedist >= engagedistoptimal - engagedistmulligan && tracedist <= engagedistoptimal + engagedistmulligan) ? tracedist < engagedistmin : tracedist > engagedistmax)) -1 #/ } @@ -1626,16 +2325,15 @@ player ? tracepoint != lasttracepos : ((IsDefined(level.weaponengagedistvalues)) hudobj_changecolor(hudobjarray,newcolor) { /# - i = 0; - for(;;) + for(i = 0;i < hudobjarray.size;i++) { hudobj = hudobjarray[i]; - hudobj.color = newcolor; - level.debugrtengagedistcolor = newcolor; - i++; + if(hudobj.color != newcolor) + { + hudobj.color = newcolor; + level.debugrtengagedistcolor = newcolor; + } } -hudobj.color != newcolor -i < hudobjarray.size #/ } @@ -1643,28 +2341,53 @@ i < hudobjarray.size engagedist_hud_changetext(engagedisttype,units) { /# - level.lastdisttype = "none"; - self[1] setvalue(units); - self[2] settext("units: OPTIMAL!"); - self[3].alpha = 0; - self[1] setvalue(units); - self[2] settext("units: OK!"); - self[3].alpha = 0; - amountunder = level.weaponengagedistvalues.engagedistmin - units; - self[1] setvalue(units); - self[3] setvalue(amountunder); - self[3].alpha = 1; - self[2] settext("units: SHORT by "); - amountover = units - level.weaponengagedistvalues.engagedistmax; - self[1] setvalue(units); - self[3] setvalue(amountover); - self[3].alpha = 1; - self[2] settext("units: LONG by "); - self[1] setvalue(units); - self[2] settext(" units: (NO CURRENT WEAPON VALUES)"); - self[3].alpha = 0; + if(!(IsDefined(level.lastdisttype))) + { + level.lastdisttype = "none"; + } + + if(engagedisttype == "optimal") + { + self[1] setvalue(units); + self[2] settext("units: OPTIMAL!"); + self[3].alpha = 0; + } + else if(engagedisttype == "ok") + { + self[1] setvalue(units); + self[2] settext("units: OK!"); + self[3].alpha = 0; + } + else if(engagedisttype == "short") + { + amountunder = level.weaponengagedistvalues.engagedistmin - units; + self[1] setvalue(units); + self[3] setvalue(amountunder); + self[3].alpha = 1; + if(level.lastdisttype != engagedisttype) + { + self[2] settext("units: SHORT by "); + } + } + else if(engagedisttype == "long") + { + amountover = units - level.weaponengagedistvalues.engagedistmax; + self[1] setvalue(units); + self[3] setvalue(amountover); + self[3].alpha = 1; + if(level.lastdisttype != engagedisttype) + { + self[2] settext("units: LONG by "); + } + } + else if(engagedisttype == "nodata") + { + self[1] setvalue(units); + self[2] settext(" units: (NO CURRENT WEAPON VALUES)"); + self[3].alpha = 0; + } + level.lastdisttype = engagedisttype; -Stack-Empty ? IsDefined(level.lastdisttype) : ((engagedisttype == "optimal") ? engagedisttype == "ok" : ((engagedisttype == "short") ? level.lastdisttype != engagedisttype : ((engagedisttype == "long") ? level.lastdisttype != engagedisttype : engagedisttype == "nodata"))) #/ } @@ -1672,7 +2395,11 @@ Stack-Empty ? IsDefined(level.lastdisttype) : ((engagedisttype == "optimal") ? e plot_circle_fortime(radius1,radius2,time,color,origin,normal) { /# - color = (0,1,0); + if(!(IsDefined(color))) + { + color = (0,1,0); + } + hangtime = 0.05; circleres = 6; hemires = circleres / 2; @@ -1682,25 +2409,20 @@ plot_circle_fortime(radius1,radius2,time,color,origin,normal) rad = 0; timer = GetTime() + time * 1000; radius = radius1; - for(;;) + while(GetTime() < timer) { radius = radius2; angletoplayer = VectorToAngles(normal); - i = 0; - for(;;) + for(i = 0;i < circleres;i++) { plotpoints[plotpoints.size] = radius + VectorScale(AnglesToForward(angletoplayer + (rad,90,0))); rad = rad + circleinc; - i++; } + maps/mp/_utility::plot_points(plotpoints,color[0],color[1],color[2],hangtime); plotpoints = []; wait(hangtime); } -origin -i < circleres -GetTime() < timer -IsDefined(color) #/ } @@ -1716,17 +2438,20 @@ larry_thread() player thread larry_init(level.larry); level waittill("kill_larry"); larry_hud_destroy(level.larry); - level.larry.model delete(); - i = 0; - for(;;) + if(IsDefined(level.larry.model)) { - kick(level.larry.ai[i] getentitynumber()); - i++; + level.larry.model delete(); } + + if(IsDefined(level.larry.ai)) + { + for(i = 0;i < level.larry.ai.size;i++) + { + kick(level.larry.ai[i] getentitynumber()); + } + } + level.larry = undefined; -i < level.larry.ai.size -IsDefined(level.larry.ai) -IsDefined(level.larry.model) #/ } @@ -1743,8 +2468,12 @@ larry_init(larry) for(;;) { wait(0.05); - larry.model hide(); - continue; + if(larry.ai.size > 0) + { + larry.model hide(); + continue; + } + direction = self getplayerangles(); direction_vec = AnglesToForward(direction); eye = self geteye(); @@ -1753,15 +2482,15 @@ larry_init(larry) position = dist - 64 + VectorScale(direction_vec); larry.model.origin = position; larry.model.angles = 180 + VectorScale((0,1,0)); - self larry_ai(larry); - wait(0.05); + if(self usebuttonpressed()) + { + self larry_ai(larry); + while(self usebuttonpressed()) + { + wait(0.05); + } + } } -self usebuttonpressed() -self usebuttonpressed() -self.angles -eye -undefined -larry.ai.size > 0 #/ } @@ -1808,21 +2537,44 @@ larry_ai_damage(larry) for(;;) { self waittill("damage",damage,attacker,dir,point); - continue; + if(!(IsDefined(attacker))) + { + continue; + } + player = gethostplayer(); - continue; + if(!(IsDefined(player))) + { + continue; + } + + if(attacker != player) + { + continue; + } + eye = player geteye(); range = int(distance(eye,point)); larry.menu[larry.menu_health] setvalue(self.health); larry.menu[larry.menu_damage] setvalue(damage); larry.menu[larry.menu_range] setvalue(range); - larry.menu[larry.menu_hitloc] settext(self.cac_debug_location); - larry.menu[larry.menu_hitloc] settext(""); - larry.menu[larry.menu_weapon] settext(self.cac_debug_weapon); - continue; + if(IsDefined(self.cac_debug_location)) + { + larry.menu[larry.menu_hitloc] settext(self.cac_debug_location); + } + else + { + larry.menu[larry.menu_hitloc] settext(""); + } + + if(IsDefined(self.cac_debug_weapon)) + { + larry.menu[larry.menu_weapon] settext(self.cac_debug_weapon); + continue; + } + larry.menu[larry.menu_weapon] settext(""); } -IsDefined(attacker) ? (IsDefined(player) ? attacker != player : IsDefined(self.cac_debug_location)) : IsDefined(self.cac_debug_weapon) #/ } @@ -1874,7 +2626,6 @@ larry_hud_init(larry) larry.menu[larry.menu_hitloc] = new_hud(menu_name,"",x + x_offset,y + 40,1); larry.menu[larry.menu_weapon] = new_hud(menu_name,"",x + x_offset,y + 50,1); larry.menu[larry.menu_perks] = new_hud(menu_name,"",x + x_offset,y + 60,1); -0.5 #/ } @@ -1882,16 +2633,16 @@ larry_hud_init(larry) larry_hud_destroy(larry) { /# - larry.hud destroy(); - i = 0; - for(;;) + if(IsDefined(larry.hud)) { - larry.menu[i] destroy(); - i++; + larry.hud destroy(); + for(i = 0;i < larry.menu.size;i++) + { + larry.menu[i] destroy(); + } + + larry.cleartextmarker destroy(); } - larry.cleartextmarker destroy(); -i < larry.menu.size -IsDefined(larry.hud) #/ } @@ -1899,13 +2650,19 @@ IsDefined(larry.hud) new_hud(hud_name,msg,x,y,scale) { /# - level.hud_array = []; - level.hud_array[hud_name] = []; + if(!(IsDefined(level.hud_array))) + { + level.hud_array = []; + } + + if(!(IsDefined(level.hud_array[hud_name]))) + { + level.hud_array[hud_name] = []; + } + hud = set_hudelem(msg,x,y,scale); level.hud_array[hud_name][level.hud_array[hud_name].size] = hud; return hud; -IsDefined(level.hud_array[hud_name]) -IsDefined(level.hud_array) #/ } @@ -1913,9 +2670,21 @@ IsDefined(level.hud_array) set_hudelem(text,x,y,scale,alpha,sort,debug_hudelem) { /# - alpha = 1; - scale = 1; - sort = 20; + if(!(IsDefined(alpha))) + { + alpha = 1; + } + + if(!(IsDefined(scale))) + { + scale = 1; + } + + if(!(IsDefined(sort))) + { + sort = 20; + } + hud = newdebughudelem(); hud.debug_hudelem = 1; hud.location = 0; @@ -1928,12 +2697,12 @@ set_hudelem(text,x,y,scale,alpha,sort,debug_hudelem) hud.x = x; hud.y = y; hud.og_scale = scale; - hud settext(text); + if(IsDefined(text)) + { + hud settext(text); + } + return hud; -IsDefined(text) -IsDefined(sort) -IsDefined(scale) -IsDefined(alpha) #/ } @@ -1944,20 +2713,49 @@ watch_botsdvars() hasplayerweaponprev = GetDvarInt(#"98F33417"); grenadesonlyprev = GetDvarInt(#"8330ABEF"); secondarygrenadesonlyprev = GetDvarInt(#"FC880A10"); - for(;;) + while(1) { - hasplayerweaponprev = GetDvarInt(#"98F33417"); - iprintlnbold("LARRY has player weapon: ON"); - iprintlnbold("LARRY has player weapon: OFF"); - grenadesonlyprev = GetDvarInt(#"8330ABEF"); - iprintlnbold("LARRY using grenades only: ON"); - iprintlnbold("LARRY using grenades only: OFF"); - secondarygrenadesonlyprev = GetDvarInt(#"FC880A10"); - iprintlnbold("LARRY using secondary grenades only: ON"); - iprintlnbold("LARRY using secondary grenades only: OFF"); + if(hasplayerweaponprev != GetDvarInt(#"98F33417")) + { + hasplayerweaponprev = GetDvarInt(#"98F33417"); + if(hasplayerweaponprev) + { + iprintlnbold("LARRY has player weapon: ON"); + } + else + { + iprintlnbold("LARRY has player weapon: OFF"); + } + } + + if(grenadesonlyprev != GetDvarInt(#"8330ABEF")) + { + grenadesonlyprev = GetDvarInt(#"8330ABEF"); + if(grenadesonlyprev) + { + iprintlnbold("LARRY using grenades only: ON"); + } + else + { + iprintlnbold("LARRY using grenades only: OFF"); + } + } + + if(secondarygrenadesonlyprev != GetDvarInt(#"FC880A10")) + { + secondarygrenadesonlyprev = GetDvarInt(#"FC880A10"); + if(secondarygrenadesonlyprev) + { + iprintlnbold("LARRY using secondary grenades only: ON"); + } + else + { + iprintlnbold("LARRY using secondary grenades only: OFF"); + } + } + wait(1); } -((1 ? hasplayerweaponprev != GetDvarInt(#"98F33417") : hasplayerweaponprev) ? grenadesonlyprev != GetDvarInt(#"8330ABEF") : grenadesonlyprev) ? secondarygrenadesonlyprev != GetDvarInt(#"FC880A10") : secondarygrenadesonlyprev #/ } @@ -1975,7 +2773,11 @@ watchattachmentchange() /# self endon("disconnect"); clientnum = self getentitynumber(); - return; + if(clientnum != 0) + { + return; + } + dpad_left = 0; dpad_right = 0; dpad_up = 0; @@ -1984,40 +2786,71 @@ watchattachmentchange() dpad_modifier_button = getattachmentchangemodifierbutton(); for(;;) { - self giveweaponnextattachment("muzzle"); - dpad_left = 1; - self thread print_weapon_name(); - self giveweaponnextattachment("trigger"); - dpad_right = 1; - self thread print_weapon_name(); - self giveweaponnextattachment("top"); - dpad_up = 1; - self thread print_weapon_name(); - self giveweaponnextattachment("bottom"); - dpad_down = 1; - self thread print_weapon_name(); - self giveweaponnextattachment("gunperk"); - lstick_down = 1; - self thread print_weapon_name(); - dpad_left = 0; - dpad_right = 0; - dpad_up = 0; - dpad_down = 0; - lstick_down = 0; + if(self buttonpressed(dpad_modifier_button)) + { + if(!dpad_left && self buttonpressed("DPAD_LEFT")) + { + self giveweaponnextattachment("muzzle"); + dpad_left = 1; + self thread print_weapon_name(); + } + + if(!dpad_right && self buttonpressed("DPAD_RIGHT")) + { + self giveweaponnextattachment("trigger"); + dpad_right = 1; + self thread print_weapon_name(); + } + + if(!dpad_up && self buttonpressed("DPAD_UP")) + { + self giveweaponnextattachment("top"); + dpad_up = 1; + self thread print_weapon_name(); + } + + if(!dpad_down && self buttonpressed("DPAD_DOWN")) + { + self giveweaponnextattachment("bottom"); + dpad_down = 1; + self thread print_weapon_name(); + } + + if(!lstick_down && self buttonpressed("BUTTON_LSTICK")) + { + self giveweaponnextattachment("gunperk"); + lstick_down = 1; + self thread print_weapon_name(); + } + } + + if(!(self buttonpressed("DPAD_LEFT"))) + { + dpad_left = 0; + } + + if(!(self buttonpressed("DPAD_RIGHT"))) + { + dpad_right = 0; + } + + if(!(self buttonpressed("DPAD_UP"))) + { + dpad_up = 0; + } + + if(!(self buttonpressed("DPAD_DOWN"))) + { + dpad_down = 0; + } + + if(!(self buttonpressed("BUTTON_LSTICK"))) + { + lstick_down = 0; + } + wait(0.05); } -self buttonpressed("BUTTON_LSTICK") -self buttonpressed("DPAD_DOWN") -self buttonpressed("DPAD_UP") -self buttonpressed("DPAD_RIGHT") -self buttonpressed("DPAD_LEFT") -!lstick_down && self buttonpressed("BUTTON_LSTICK") -!dpad_down && self buttonpressed("DPAD_DOWN") -!dpad_up && self buttonpressed("DPAD_UP") -!dpad_right && self buttonpressed("DPAD_RIGHT") -!dpad_left && self buttonpressed("DPAD_LEFT") -self buttonpressed(dpad_modifier_button) -clientnum != 0 #/ } @@ -2028,20 +2861,31 @@ print_weapon_name() self notify("print_weapon_name"); self endon("print_weapon_name"); wait(0.2); - self waittill(self isswitchingweapons(),"weapon_change_complete",weapon_name); - fail_safe = 0; - for(;;) + if(self isswitchingweapons()) { - self waittill(weapon_name == "none","weapon_change_complete",weapon_name); - wait(0.05); - fail_safe++; - break; + self waittill("weapon_change_complete",weapon_name); + fail_safe = 0; + while(weapon_name == "none") + { + self waittill("weapon_change_complete",weapon_name); + wait(0.05); + fail_safe++; + if(fail_safe > 120) + { + break; + } + } } - weapon_name = self getcurrentweapon(); + else + { + weapon_name = self getcurrentweapon(); + } + printweaponname = getdvarintdefault("scr_print_weapon_name",1); - iprintlnbold(weapon_name); -printweaponname -Stack-Empty ? Stack-Empty : fail_safe > 120 + if(printweaponname) + { + iprintlnbold(weapon_name); + } #/ } @@ -2049,7 +2893,11 @@ Stack-Empty ? Stack-Empty : fail_safe > 120 set_equipment_list() { /# - return; + if(IsDefined(level.dev_equipment)) + { + return; + } + level.dev_equipment = []; level.dev_equipment[1] = "acoustic_sensor_mp"; level.dev_equipment[2] = "camera_spike_mp"; @@ -2060,7 +2908,6 @@ set_equipment_list() level.dev_equipment[7] = "bouncingbetty_mp"; level.dev_equipment[8] = "trophy_system_mp"; level.dev_equipment[9] = "pda_hack_mp"; -IsDefined(level.dev_equipment) #/ } @@ -2068,7 +2915,11 @@ IsDefined(level.dev_equipment) set_grenade_list() { /# - return; + if(IsDefined(level.dev_grenade)) + { + return; + } + level.dev_grenade = []; level.dev_grenade[1] = "frag_grenade_mp"; level.dev_grenade[2] = "sticky_grenade_mp"; @@ -2080,7 +2931,6 @@ set_grenade_list() level.dev_grenade[8] = "nightingale_mp"; level.dev_grenade[9] = "emp_grenade_mp"; level.dev_grenade[10] = "sensor_grenade_mp"; -IsDefined(level.dev_grenade) #/ } @@ -2088,20 +2938,15 @@ IsDefined(level.dev_grenade) take_all_grenades_and_equipment(player) { /# - i = 0; - for(;;) + for(i = 0;i < level.dev_equipment.size;i++) { player takeweapon(level.dev_equipment[i + 1]); - i++; } - i = 0; - for(;;) + + for(i = 0;i < level.dev_grenade.size;i++) { player takeweapon(level.dev_grenade[i + 1]); - i++; } -i < level.dev_grenade.size -i < level.dev_equipment.size #/ } @@ -2112,22 +2957,21 @@ equipment_dev_gui() set_equipment_list(); set_grenade_list(); setdvar("scr_give_equipment",""); - for(;;) + while(1) { wait(0.5); devgui_int = GetDvarInt(#"A0215B8E"); - i = 0; - for(;;) + if(devgui_int != 0) { - take_all_grenades_and_equipment(level.players[i]); - level.players[i] giveweapon(level.dev_equipment[devgui_int]); - i++; + for(i = 0;i < level.players.size;i++) + { + take_all_grenades_and_equipment(level.players[i]); + level.players[i] giveweapon(level.dev_equipment[devgui_int]); + } + + setdvar("scr_give_equipment","0"); } - setdvar("scr_give_equipment","0"); } -i < level.players.size -devgui_int != 0 -1 #/ } @@ -2138,22 +2982,21 @@ grenade_dev_gui() set_equipment_list(); set_grenade_list(); setdvar("scr_give_grenade",""); - for(;;) + while(1) { wait(0.5); devgui_int = GetDvarInt(#"227BB8EC"); - i = 0; - for(;;) + if(devgui_int != 0) { - take_all_grenades_and_equipment(level.players[i]); - level.players[i] giveweapon(level.dev_grenade[devgui_int]); - i++; + for(i = 0;i < level.players.size;i++) + { + take_all_grenades_and_equipment(level.players[i]); + level.players[i] giveweapon(level.dev_grenade[devgui_int]); + } + + setdvar("scr_give_grenade","0"); } - setdvar("scr_give_grenade","0"); } -i < level.players.size -devgui_int != 0 -1 #/ } @@ -2166,11 +3009,19 @@ force_grenade_throw(weapon) setdvar("bot_PressMeleeBtn","0"); setdvar("scr_botsAllowKillstreaks","0"); host = gethostplayer(); - iprintln("Unable to determine host player team"); - return; + if(!(IsDefined(host.team))) + { + iprintln("Unable to determine host player team"); + return; + } + bot = getormakebot(getotherteam(host.team)); - iprintln("Could not add test client"); - return; + if(!(IsDefined(bot))) + { + iprintln("Could not add test client"); + return; + } + angles = host getplayerangles(); angles = (0,angles[1],0); dir = AnglesToForward(angles); @@ -2180,10 +3031,6 @@ force_grenade_throw(weapon) grenade = bot magicgrenade(weapon,origin,velocity); grenade setteam(bot.team); grenade setowner(bot); --1024 -host geteye() -IsDefined(bot) -IsDefined(host.team) #/ } @@ -2194,14 +3041,19 @@ bot_dpad_think() level notify("bot_dpad_stop"); level endon("bot_dpad_stop"); level endon("bot_dpad_terminate"); - level.bot_index = 0; + if(!(IsDefined(level.bot_index))) + { + level.bot_index = 0; + } + host = gethostplayer(); - for(;;) + while(!(IsDefined(host))) { wait(0.5); host = gethostplayer(); level.bot_index = 0; } + dpad_left = 0; dpad_right = 0; for(;;) @@ -2211,17 +3063,47 @@ bot_dpad_think() host setactionslot(4,""); players = get_players(); max = players.size; - level.bot_index--; - level.bot_index = max - 1; - continue; - dpad_left = 1; - dpad_left = 0; - level.bot_index++; - level.bot_index = 0; - continue; - dpad_right = 1; - dpad_right = 0; - level notify("bot_index_changed",(level.bot_index >= max) ? players[level.bot_index] is_bot() : host buttonpressed("DPAD_RIGHT"),!dpad_right && host buttonpressed("DPAD_RIGHT"),level.bot_index < 0 ? players[level.bot_index] is_bot() : host buttonpressed("DPAD_LEFT"),!dpad_left && host buttonpressed("DPAD_LEFT"),IsDefined(host),IsDefined(level.bot_index)); + if(!dpad_left && host buttonpressed("DPAD_LEFT")) + { + level.bot_index--; + if(level.bot_index < 0) + { + level.bot_index = max - 1; + } + + if(!(players[level.bot_index] is_bot())) + { + continue; + } + + dpad_left = 1; + } + else if(!(host buttonpressed("DPAD_LEFT"))) + { + dpad_left = 0; + } + + if(!dpad_right && host buttonpressed("DPAD_RIGHT")) + { + level.bot_index++; + if(level.bot_index >= max) + { + level.bot_index = 0; + } + + if(!(players[level.bot_index] is_bot())) + { + continue; + } + + dpad_right = 1; + } + else if(!(host buttonpressed("DPAD_RIGHT"))) + { + dpad_right = 0; + } + + level notify("bot_index_changed"); } #/ } @@ -2236,8 +3118,12 @@ bot_overlay_think() iprintln("Next Bot bound to D-Pad Right"); for(;;) { - setdvar("bot_Debug",level.bot_index); - level waittill(GetDvarInt(#"C0935AD0") != level.bot_index,"bot_index_changed"); + if(GetDvarInt(#"C0935AD0") != level.bot_index) + { + setdvar("bot_Debug",level.bot_index); + } + + level waittill("bot_index_changed"); } #/ } @@ -2252,8 +3138,12 @@ bot_threat_think() iprintln("Next Bot bound to D-Pad Right"); for(;;) { - setdvar("bot_DebugThreat",level.bot_index); - level waittill(GetDvarInt(#"3DB0D1F8") != level.bot_index,"bot_index_changed"); + if(GetDvarInt(#"3DB0D1F8") != level.bot_index) + { + setdvar("bot_DebugThreat",level.bot_index); + } + + level waittill("bot_index_changed"); } #/ } @@ -2268,8 +3158,12 @@ bot_path_think() iprintln("Next Bot bound to D-Pad Right"); for(;;) { - setdvar("bot_DebugPaths",level.bot_index); - level waittill(GetDvarInt(#"F20E8150") != level.bot_index,"bot_index_changed"); + if(GetDvarInt(#"F20E8150") != level.bot_index) + { + setdvar("bot_DebugPaths",level.bot_index); + } + + level waittill("bot_index_changed"); } #/ } @@ -2314,81 +3208,95 @@ devstraferunpathdebugdraw() drawtime = maxdrawtime; origintextoffset = VectorScale((0,0,-1)); endonmsg = "devStopStrafeRunPathDebugDraw"; - for(;;) + while(1) { - for(;;) + if(GetDvarInt(#"AD911707") > 0) { nodes = []; end = 0; node = getvehiclenode("warthog_start","targetname"); - println("No strafe run path found"); - setdvar("scr_devStrafeRunPathDebugDraw","0"); + if(!(IsDefined(node))) + { + println("No strafe run path found"); + setdvar("scr_devStrafeRunPathDebugDraw","0"); + continue; + } + + while(IsDefined(node.target)) + { + new_node = getvehiclenode(node.target,"targetname"); + foreach(n in nodes) + { + if(n == new_node) + { + end = 1; + } + } + + textscale = 30; + if(drawtime == maxdrawtime) + { + node thread drawpathsegment(new_node,violet,violet,1,textscale,origintextoffset,drawtime,endonmsg); + } + + if(IsDefined(node.script_noteworthy)) + { + textscale = 10; + switch(node.script_noteworthy) + { + case "€GSC\r\n": + textcolor = green; + textalpha = 1; + break; + + case "€GSC\r\n": + textcolor = red; + textalpha = 1; + break; + + case "€GSC\r\n": + textcolor = white; + textalpha = 1; + break; + } + + switch(node.script_noteworthy) + { + case "€GSC\r\n": + case "€GSC\r\n": + case "€GSC\r\n": + sides = 10; + radius = 100; + sphere(node.origin,radius,textcolor,textalpha,1,sides,drawtime * 1000); + node draworiginlines(); + node drawnoteworthytext(textcolor,textalpha,textscale); + break; + drawtime == maxdrawtime + break; + } + } + + if(end) + { + break; + } + + nodes[nodes.size] = new_node; + node = new_node; + } + + drawtime = drawtime - 0.05; + if(drawtime < 0) + { + drawtime = maxdrawtime; + } + + wait(0.05); + continue; } - for(;;) - { - new_node = getvehiclenode(node.target,"targetname"); - _a3325 = nodes; - _k3325 = FirstArrayKey(_a3325); - for(;;) - { - n = _a3325[_k3325]; - end = 1; - _k3325 = NextArrayKey(_a3325); - } - textscale = 30; - node thread drawpathsegment(new_node,violet,violet,1,textscale,origintextoffset,drawtime,endonmsg); - textscale = 10; - switch(node.script_noteworthy) - { - case "€GSC\r\n": - textcolor = green; - textalpha = 1; - break; - case "€GSC\r\n": - textcolor = red; - textalpha = 1; - break; - case "€GSC\r\n": - textcolor = white; - textalpha = 1; - break; - } - switch(node.script_noteworthy) - { - case "€GSC\r\n": - case "€GSC\r\n": - case "€GSC\r\n": - sides = 10; - radius = 100; - sphere(node.origin,radius,textcolor,textalpha,1,sides,drawtime * 1000); - node draworiginlines(); - node drawnoteworthytext(textcolor,textalpha,textscale); - break; - drawtime == maxdrawtime - break; - } - break; - nodes[nodes.size] = new_node; - node = new_node; - } - drawtime = drawtime - 0.05; - drawtime = maxdrawtime; - wait(0.05); - continue; + wait(1); } -drawtime < 0 -end -IsDefined(node.script_noteworthy) -drawtime == maxdrawtime -_k3325 -n == new_node -IsDefined(_k3325) -IsDefined(node.target) -IsDefined(node) -GetDvarInt(#"AD911707") > 0 -1 -50 #/ } @@ -2407,58 +3315,73 @@ devhelipathdebugdraw() drawtime = maxdrawtime; origintextoffset = VectorScale((0,0,-1)); endonmsg = "devStopHeliPathsDebugDraw"; - for(;;) + while(1) { - script_origins = getentarray("script_origin","classname"); - _a3424 = script_origins; - _k3424 = FirstArrayKey(_a3424); - for(;;) + if(GetDvarInt(#"C0DBB722") > 0) { - ent = _a3424[_k3424]; - switch(ent.targetname) + script_origins = getentarray("script_origin","classname"); + foreach(ent in script_origins) { - case "€GSC\r\n": - textcolor = blue; - textalpha = 1; - textscale = 3; - break; - case "€GSC\r\n": - textcolor = green; - textalpha = 1; - textscale = 3; - break; - case "€GSC\r\n": - textcolor = red; - textalpha = 1; - textscale = 3; - break; - case "€GSC\r\n": - textcolor = white; - textalpha = 1; - textscale = 3; - break; + if(IsDefined(ent.targetname)) + { + switch(ent.targetname) + { + case "€GSC\r\n": + textcolor = blue; + textalpha = 1; + textscale = 3; + break; + + case "€GSC\r\n": + textcolor = green; + textalpha = 1; + textscale = 3; + break; + + case "€GSC\r\n": + textcolor = red; + textalpha = 1; + textscale = 3; + break; + + case "€GSC\r\n": + textcolor = white; + textalpha = 1; + textscale = 3; + break; + } + + switch(ent.targetname) + { + case "€GSC\r\n": + case "€GSC\r\n": + case "€GSC\r\n": + case "€GSC\r\n": + ent thread drawpath(textcolor,white,textalpha,textscale,origintextoffset,drawtime,endonmsg); + ent draworiginlines(); + ent drawtargetnametext(textcolor,textalpha,textscale); + ent draworigintext(textcolor,textalpha,textscale,origintextoffset); + break; + drawtime == maxdrawtime + break; + } + } } - switch(ent.targetname) + + drawtime = drawtime - 0.05; + if(drawtime < 0) { - case "€GSC\r\n": - case "€GSC\r\n": - case "€GSC\r\n": - case "€GSC\r\n": - ent thread drawpath(textcolor,white,textalpha,textscale,origintextoffset,drawtime,endonmsg); - ent draworiginlines(); - ent drawtargetnametext(textcolor,textalpha,textscale); - ent draworigintext(textcolor,textalpha,textscale,origintextoffset); - break; - drawtime == maxdrawtime - break; + drawtime = maxdrawtime; } - _k3424 = NextArrayKey(_a3424); } - drawtime = drawtime - 0.05; - drawtime = maxdrawtime; - level notify(endonmsg,GetDvarInt(#"C0DBB722") == 0,drawtime < 0,_k3424,IsDefined(ent.targetname),IsDefined(_k3424),GetDvarInt(#"C0DBB722") > 0,1,50); - drawtime = maxdrawtime; - wait(1); + + if(GetDvarInt(#"C0DBB722") == 0) + { + level notify(endonmsg,_k3424,50); + drawtime = maxdrawtime; + wait(1); + } + wait(0.05); } #/ @@ -2481,9 +3404,12 @@ draworiginlines() drawtargetnametext(textcolor,textalpha,textscale,textoffset) { /# - textoffset = (0,0,0); + if(!(IsDefined(textoffset))) + { + textoffset = (0,0,0); + } + print3d(self.origin + textoffset,self.targetname,textcolor,textalpha,textscale); -IsDefined(textoffset) #/ } @@ -2491,9 +3417,12 @@ IsDefined(textoffset) drawnoteworthytext(textcolor,textalpha,textscale,textoffset) { /# - textoffset = (0,0,0); + if(!(IsDefined(textoffset))) + { + textoffset = (0,0,0); + } + print3d(self.origin + textoffset,self.script_noteworthy,textcolor,textalpha,textscale); -IsDefined(textoffset) #/ } @@ -2501,10 +3430,13 @@ IsDefined(textoffset) draworigintext(textcolor,textalpha,textscale,textoffset) { /# - textoffset = (0,0,0); + if(!(IsDefined(textoffset))) + { + textoffset = (0,0,0); + } + originstring = "(" + self.origin[0] + ", " + self.origin[1] + ", " + self.origin[2] + ")"; print3d(self.origin + textoffset,originstring,textcolor,textalpha,textscale); -IsDefined(textoffset) #/ } @@ -2512,10 +3444,15 @@ IsDefined(textoffset) drawspeedacceltext(textcolor,textalpha,textscale,textoffset) { /# - print3d(self.origin + (0,0,textoffset[2] * 2),"script_airspeed:" + self.script_airspeed,textcolor,textalpha,textscale); - print3d(self.origin + (0,0,textoffset[2] * 3),"script_accel:" + self.script_accel,textcolor,textalpha,textscale); -IsDefined(self.script_accel) -IsDefined(self.script_airspeed) + if(IsDefined(self.script_airspeed)) + { + print3d(self.origin + (0,0,textoffset[2] * 2),"script_airspeed:" + self.script_airspeed,textcolor,textalpha,textscale); + } + + if(IsDefined(self.script_accel)) + { + print3d(self.origin + (0,0,textoffset[2] * 3),"script_accel:" + self.script_accel,textcolor,textalpha,textscale); + } #/ } @@ -2526,16 +3463,22 @@ drawpath(linecolor,textcolor,textalpha,textscale,textoffset,drawtime,endonmsg) level endon(endonmsg); ent = self; entfirsttarget = ent.targetname; - for(;;) + while(IsDefined(ent.target)) { enttarget = getent(ent.target,"targetname"); ent thread drawpathsegment(enttarget,linecolor,textcolor,textalpha,textscale,textoffset,drawtime,endonmsg); - entfirsttarget = ent.target; - break; + if(ent.targetname == "heli_loop_start") + { + entfirsttarget = ent.target; + } + else if(ent.target == entfirsttarget) + { + break; + } + ent = enttarget; wait(0.05); } -(IsDefined(ent.target)) ? ent.targetname == "heli_loop_start" : ent.target == entfirsttarget #/ } @@ -2544,16 +3487,18 @@ drawpathsegment(enttarget,linecolor,textcolor,textalpha,textscale,textoffset,dra { /# level endon(endonmsg); - for(;;) + while(drawtime > 0) { - print3d(self.origin + textoffset,self.targetname,textcolor,textalpha,textscale); + if(IsDefined(self.targetname) && self.targetname == "warthog_start") + { + print3d(self.origin + textoffset,self.targetname,textcolor,textalpha,textscale); + } + line(self.origin,enttarget.origin,linecolor); self drawspeedacceltext(textcolor,textalpha,textscale,textoffset); drawtime = drawtime - 0.05; wait(0.05); } -IsDefined(self.targetname) && self.targetname == "warthog_start" -drawtime > 0 #/ } @@ -2567,7 +3512,6 @@ get_lookat_origin(player) eye = player geteye(); trace = bullettrace(eye,eye + dir,0,undefined); return trace["position"]; -8000 #/ } @@ -2575,11 +3519,12 @@ get_lookat_origin(player) draw_pathnode(node,color) { /# - color = (1,0,1); + if(!(IsDefined(color))) + { + color = (1,0,1); + } + box(node.origin,VectorScale((-1,-1,0)),16,VectorScale((1,1,1)),16,0,color,1); -0 -1 -IsDefined(color) #/ } @@ -2614,15 +3559,28 @@ node_get(player) wait(0.05); origin = get_lookat_origin(player); node = getnearestnode(origin); - continue; - return node; - return undefined; - draw_pathnode(node,(1,0,1)); - continue; + if(!(IsDefined(node))) + { + continue; + } + + if(player buttonpressed("BUTTON_A")) + { + return node; + } + else if(player buttonpressed("BUTTON_B")) + { + return undefined; + } + + if(node.type == "Path") + { + draw_pathnode(node,(1,0,1)); + continue; + } + draw_pathnode(node,(0.85,0.85,0.1)); } -node.type == "Path" -IsDefined(node) ? player buttonpressed("BUTTON_A") : player buttonpressed("BUTTON_B") #/ } @@ -2632,21 +3590,33 @@ dev_get_node_pair() /# player = gethostplayer(); start = undefined; - for(;;) + while(!(IsDefined(start))) { start = node_get(player); - level notify("draw_pathnode_stop",player buttonpressed("BUTTON_B"),IsDefined(start)); - return undefined; + if(player buttonpressed("BUTTON_B")) + { + level notify("draw_pathnode_stop"); + return undefined; + } } + level thread draw_pathnode_think(start,(0,1,0)); - wait(0.05); + while(player buttonpressed("BUTTON_A")) + { + wait(0.05); + } + end = undefined; - for(;;) + while(!(IsDefined(end))) { end = node_get(player); - level notify("draw_pathnode_stop",player buttonpressed("BUTTON_B"),IsDefined(end),player buttonpressed("BUTTON_A")); - return undefined; + if(player buttonpressed("BUTTON_B")) + { + level notify("draw_pathnode_stop"); + return undefined; + } } + level thread draw_pathnode_think(end,(0,1,0)); level thread draw_pathnodes_stop(); array = []; diff --git a/BO2/Xbox/MP/maps/mp/gametypes/_dev_class.gsc b/BO2/Xbox/MP/maps/mp/gametypes/_dev_class.gsc index 5a7dc0f..6d9ccd8 100644 --- a/BO2/Xbox/MP/maps/mp/gametypes/_dev_class.gsc +++ b/BO2/Xbox/MP/maps/mp/gametypes/_dev_class.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 22 - * Decompile Time: 77 ms - * Timestamp: 10/27/2023 3:04:21 AM + * Decompile Time: 5 ms + * Timestamp: 10/28/2023 12:13:34 AM *******************************************************************/ #include maps/mp/_utility; @@ -22,29 +22,43 @@ dev_cac_init() { wait(0.5); reset = 1; - continue; + if(GetDvar(#"E6D8B517") != "") + { + continue; + } + host = gethostplayer(); - level.dev_cac_player = host; + if(!(IsDefined(level.dev_cac_player))) + { + level.dev_cac_player = host; + } + switch(GetDvar(#"CA7B9CD")) { case "€GSC\r\n": reset = 0; break; + case "€GSC\r\n": host thread dev_cac_dpad_think("body",::dev_cac_cycle_body,""); break; + case "€GSC\r\n": host thread dev_cac_dpad_think("head",::dev_cac_cycle_head,""); break; + case "€GSC\r\n": host thread dev_cac_dpad_think("character",::dev_cac_cycle_character,""); break; + case "€GSC\r\n": dev_cac_cycle_player(1); break; + case "€GSC\r\n": dev_cac_cycle_player(0); break; + case "€GSC\r\n": level notify("dev_cac_overlay_think"); level thread dev_cac_overlay_think(); @@ -52,64 +66,82 @@ dev_cac_init() break; dev_cac_overlay break; + case "€GSC\r\n": dev_cac_set_model_range(::sort_greatest,"armor_bullet"); break; + case "€GSC\r\n": dev_cac_set_model_range(::sort_least,"armor_bullet"); break; + case "€GSC\r\n": dev_cac_set_model_range(::sort_greatest,"armor_explosive"); break; + case "€GSC\r\n": dev_cac_set_model_range(::sort_least,"armor_explosive"); break; + case "€GSC\r\n": dev_cac_set_model_range(::sort_greatest,"mobility"); break; + case "€GSC\r\n": dev_cac_set_model_range(::sort_least,"mobility"); break; + case "€GSC\r\n": dev_cac_camera_on = !dev_cac_camera_on; dev_cac_camera(dev_cac_camera_on); break; + case "€GSC\r\n": host thread dev_cac_dpad_think("camo",::dev_cac_cycle_render_options,"camo"); break; + case "€GSC\r\n": host thread dev_cac_dpad_think("meleecamo",::dev_cac_cycle_render_options,"meleecamo"); break; + case "€GSC\r\n": host thread dev_cac_dpad_think("lens",::dev_cac_cycle_render_options,"lens"); break; + case "€GSC\r\n": host thread dev_cac_dpad_think("reticle",::dev_cac_cycle_render_options,"reticle"); break; + case "€GSC\r\n": host thread dev_cac_dpad_think("reticle color",::dev_cac_cycle_render_options,"reticle_color"); break; + case "€GSC\r\n": host thread dev_cac_dpad_think("emblem",::dev_cac_cycle_render_options,"emblem"); break; + case "€GSC\r\n": host thread dev_cac_dpad_think("tag",::dev_cac_cycle_render_options,"tag"); break; + case "€GSC\r\n": host thread dev_cac_dpad_think("facepaint pattern",::dev_cac_cycle_render_options,"facepaint_pattern"); break; + case "€GSC\r\n": host thread dev_cac_dpad_think("facepaint color",::dev_cac_cycle_render_options,"facepaint_color"); break; + case "€GSC\r\n": host notify("dev_cac_dpad_think"); break; } - setdvar("devgui_dev_cac",""); + + if(reset) + { + setdvar("devgui_dev_cac",""); + } } -reset -IsDefined(level.dev_cac_player) -GetDvar(#"E6D8B517") != "" #/ } @@ -117,13 +149,18 @@ GetDvar(#"E6D8B517") != "" dev_cac_camera(on) { /# - self setclientthirdperson(1); - setdvar("cg_thirdPersonAngle","185"); - setdvar("cg_thirdPersonRange","138"); - setdvar("cg_fov","20"); - self setclientthirdperson(0); - setdvar("cg_fov",GetDvar(#"55DDAF3D")); -Stack-Empty ? Stack-Empty : on + if(on) + { + self setclientthirdperson(1); + setdvar("cg_thirdPersonAngle","185"); + setdvar("cg_thirdPersonRange","138"); + setdvar("cg_fov","20"); + } + else + { + self setclientthirdperson(0); + setdvar("cg_fov",GetDvar(#"55DDAF3D")); + } #/ } @@ -143,15 +180,28 @@ dev_cac_dpad_think(part_name,cycle_function,tag) { self setactionslot(3,""); self setactionslot(4,""); - [[ cycle_function ]](0,tag); - dpad_left = 1; - dpad_left = 0; - [[ cycle_function ]](1,tag); - dpad_right = 1; - dpad_right = 0; + if(!dpad_left && self buttonpressed("DPAD_LEFT")) + { + [[ cycle_function ]](0,tag); + dpad_left = 1; + } + else if(!(self buttonpressed("DPAD_LEFT"))) + { + dpad_left = 0; + } + + if(!dpad_right && self buttonpressed("DPAD_RIGHT")) + { + [[ cycle_function ]](1,tag); + dpad_right = 1; + } + else if(!(self buttonpressed("DPAD_RIGHT"))) + { + dpad_right = 0; + } + wait(0.05); } -(Stack-Empty ? !dpad_left && self buttonpressed("DPAD_LEFT") : self buttonpressed("DPAD_LEFT")) ? !dpad_right && self buttonpressed("DPAD_RIGHT") : self buttonpressed("DPAD_RIGHT") #/ } @@ -159,21 +209,27 @@ dev_cac_dpad_think(part_name,cycle_function,tag) next_in_list(value,list) { /# - return list[0]; - i = 0; - for(;;) + if(!(IsDefined(value))) { - value = list[i + 1]; - continue; - value = list[0]; - break; - i++; + return list[0]; } + + for(i = 0;i < list.size;i++) + { + if(value == list[i]) + { + if(IsDefined(list[i + 1])) + { + value = list[i + 1]; + continue; + } + + value = list[0]; + break; + } + } + return value; -IsDefined(list[i + 1]) -value == list[i] -i < list.size -IsDefined(value) #/ } @@ -181,21 +237,27 @@ IsDefined(value) prev_in_list(value,list) { /# - return list[0]; - i = 0; - for(;;) + if(!(IsDefined(value))) { - value = list[i - 1]; - continue; - value = list[list.size - 1]; - break; - i++; + return list[0]; } + + for(i = 0;i < list.size;i++) + { + if(value == list[i]) + { + if(IsDefined(list[i - 1])) + { + value = list[i - 1]; + continue; + } + + value = list[list.size - 1]; + break; + } + } + return value; -IsDefined(list[i - 1]) -value == list[i] -i < list.size -IsDefined(value) #/ } @@ -212,13 +274,23 @@ dev_cac_set_player_model() dev_cac_cycle_body(forward,tag) { /# - return; + if(!(dev_cac_player_valid())) + { + return; + } + player = level.dev_cac_player; keys = getarraykeys(level.cac_functions["set_body_model"]); - player.cac_body_type = next_in_list(player.cac_body_type,keys); - player.cac_body_type = prev_in_list(player.cac_body_type,keys); + if(forward) + { + player.cac_body_type = next_in_list(player.cac_body_type,keys); + } + else + { + player.cac_body_type = prev_in_list(player.cac_body_type,keys); + } + player dev_cac_set_player_model(); -Stack-Empty ? dev_cac_player_valid() : forward #/ } @@ -226,14 +298,24 @@ Stack-Empty ? dev_cac_player_valid() : forward dev_cac_cycle_head(forward,tag) { /# - return; + if(!(dev_cac_player_valid())) + { + return; + } + player = level.dev_cac_player; keys = getarraykeys(level.cac_functions["set_head_model"]); - player.cac_head_type = next_in_list(player.cac_head_type,keys); - player.cac_head_type = prev_in_list(player.cac_head_type,keys); + if(forward) + { + player.cac_head_type = next_in_list(player.cac_head_type,keys); + } + else + { + player.cac_head_type = prev_in_list(player.cac_head_type,keys); + } + player.cac_hat_type = "none"; player dev_cac_set_player_model(); -Stack-Empty ? dev_cac_player_valid() : forward #/ } @@ -241,14 +323,24 @@ Stack-Empty ? dev_cac_player_valid() : forward dev_cac_cycle_character(forward,tag) { /# - return; + if(!(dev_cac_player_valid())) + { + return; + } + player = level.dev_cac_player; keys = getarraykeys(level.cac_functions["set_body_model"]); - player.cac_body_type = next_in_list(player.cac_body_type,keys); - player.cac_body_type = prev_in_list(player.cac_body_type,keys); + if(forward) + { + player.cac_body_type = next_in_list(player.cac_body_type,keys); + } + else + { + player.cac_body_type = prev_in_list(player.cac_body_type,keys); + } + player.cac_hat_type = "none"; player dev_cac_set_player_model(); -Stack-Empty ? dev_cac_player_valid() : forward #/ } @@ -256,9 +348,12 @@ Stack-Empty ? dev_cac_player_valid() : forward dev_cac_cycle_render_options(forward,tag) { /# - return; + if(!(dev_cac_player_valid())) + { + return; + } + level.dev_cac_player nextplayerrenderoption(tag,forward); -dev_cac_player_valid() #/ } @@ -275,18 +370,25 @@ dev_cac_cycle_player(forward) { /# players = get_players(); - i = 0; - for(;;) + for(i = 0;i < players.size;i++) { - level.dev_cac_player = next_in_list(level.dev_cac_player,players); - level.dev_cac_player = prev_in_list(level.dev_cac_player,players); - level.dev_cac_player thread highlight_player(); - return; - i++; + if(forward) + { + level.dev_cac_player = next_in_list(level.dev_cac_player,players); + } + else + { + level.dev_cac_player = prev_in_list(level.dev_cac_player,players); + } + + if(dev_cac_player_valid()) + { + level.dev_cac_player thread highlight_player(); + return; + } } + level.dev_cac_player = undefined; -dev_cac_player_valid() -Stack-Empty ? i < players.size : forward #/ } @@ -322,15 +424,13 @@ dev_cac_overlay_update(hud) dev_cac_overlay_destroy(hud) { /# - i = 0; - for(;;) + for(i = 0;i < hud.menu.size;i++) { hud.menu[i] destroy(); - i++; } + hud destroy(); setdvar("player_debugSprint","0"); -i < hud.menu.size #/ } @@ -397,7 +497,6 @@ dev_cac_overlay_create() hud.menu[42] = maps/mp/gametypes/_dev::new_hud(menu_name,"",x + x_offset,y + 265,1); hud.menu[43] = maps/mp/gametypes/_dev::new_hud(menu_name,"",x + x_offset,y + 275,1); return hud; -0.5 #/ } @@ -409,11 +508,17 @@ color(value) g = 1; b = 0; color = (0,0,0); - r = r - value; - g = g + value; + if(value > 0) + { + r = r - value; + } + else + { + g = g + value; + } + c = (r,g,b); return c; -Stack-Empty ? Stack-Empty : value > 0 #/ } @@ -431,31 +536,40 @@ dev_cac_gdt_update_think() case "€GSC\r\n": key = "armor_bullet"; break; + case "€GSC\r\n": key = "armor_explosive"; break; + case "€GSC\r\n": key = "mobility"; break; + case "€GSC\r\n": key = "sprint_time_total"; break; + case "€GSC\r\n": key = "sprint_time_cooldown"; break; + default: key = undefined; break; } - continue; + + if(!(IsDefined(key))) + { + continue; + } + value = float(keyvalue[1]); level.cac_attributes[key][asset] = value; players = get_players(); - i = 0; - i++; + for(i = 0;i < players.size;i++) + { + } } -i < players.size -IsDefined(key) #/ } @@ -465,15 +579,15 @@ sort_greatest(function,attribute,greatest) /# keys = getarraykeys(level.cac_functions[function]); greatest = keys[0]; - i = 0; - for(;;) + for(i = 0;i < keys.size;i++) { - greatest = keys[i]; - i++; + if(level.cac_attributes[attribute][keys[i]] > level.cac_attributes[attribute][greatest]) + { + greatest = keys[i]; + } } + return greatest; -level.cac_attributes[attribute][keys[i]] > level.cac_attributes[attribute][greatest] -i < keys.size #/ } @@ -483,15 +597,15 @@ sort_least(function,attribute,least) /# keys = getarraykeys(level.cac_functions[function]); least = keys[0]; - i = 0; - for(;;) + for(i = 0;i < keys.size;i++) { - least = keys[i]; - i++; + if(level.cac_attributes[attribute][keys[i]] < level.cac_attributes[attribute][least]) + { + least = keys[i]; + } } + return least; -level.cac_attributes[attribute][keys[i]] < level.cac_attributes[attribute][least] -i < keys.size #/ } @@ -499,12 +613,15 @@ i < keys.size dev_cac_set_model_range(sort_function,attribute) { /# - return; + if(!(dev_cac_player_valid())) + { + return; + } + player = level.dev_cac_player; player.cac_body_type = [[ sort_function ]]("set_body_model",attribute); player.cac_head_type = [[ sort_function ]]("set_head_model",attribute); player.cac_hat_type = [[ sort_function ]]("set_hat_model",attribute); player dev_cac_set_player_model(); -dev_cac_player_valid() #/ } \ No newline at end of file diff --git a/BO2/Xbox/MP/maps/mp/gametypes/_hud.gsc b/BO2/Xbox/MP/maps/mp/gametypes/_hud.gsc index 15286c4..92dad8a 100644 --- a/BO2/Xbox/MP/maps/mp/gametypes/_hud.gsc +++ b/BO2/Xbox/MP/maps/mp/gametypes/_hud.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 4 - * Decompile Time: 23 ms - * Timestamp: 10/27/2023 3:04:21 AM + * Decompile Time: 1 ms + * Timestamp: 10/28/2023 12:13:34 AM *******************************************************************/ //Function Number: 1 diff --git a/BO2/Xbox/MP/maps/mp/gametypes/_hud_util.gsc b/BO2/Xbox/MP/maps/mp/gametypes/_hud_util.gsc index b1e8ea0..118d43e 100644 --- a/BO2/Xbox/MP/maps/mp/gametypes/_hud_util.gsc +++ b/BO2/Xbox/MP/maps/mp/gametypes/_hud_util.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 47 - * Decompile Time: 283 ms - * Timestamp: 10/27/2023 3:04:22 AM + * Decompile Time: 8 ms + * Timestamp: 10/28/2023 12:13:34 AM *******************************************************************/ #include maps/mp/_utility; @@ -368,7 +368,7 @@ updatebarscale(barfrac,rateofchange) else if(rateofchange < 0) { /# - assert(barfrac / -1 * rateofchange > 0,"barFrac: " + barfrac + "rateOfChange: " + rateofchange); + assert(barfrac / -1 * rateofchange > 0,"barFrac: " + barfrac + "rateOfChange: " + rateofchange); #/ self.bar scaleovertime(barfrac / -1 * rateofchange,1,self.height); } @@ -1165,9 +1165,9 @@ hideperk(index,fadetime,hidetextonly) #/ /# assert(!IsDefined(self.perkname[index])); -#/ - return; } +#/ + return; } /# diff --git a/BO2/Xbox/MP/maps/mp/gametypes/_killcam.gsc b/BO2/Xbox/MP/maps/mp/gametypes/_killcam.gsc index ee3b063..69e26cf 100644 --- a/BO2/Xbox/MP/maps/mp/gametypes/_killcam.gsc +++ b/BO2/Xbox/MP/maps/mp/gametypes/_killcam.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 39 - * Decompile Time: 73 ms - * Timestamp: 10/27/2023 3:04:23 AM + * Decompile Time: 6 ms + * Timestamp: 10/28/2023 12:13:35 AM *******************************************************************/ #include maps/mp/_challenges; @@ -548,9 +548,11 @@ finalkillcam(winner) } /# - setmatchflag("final_killcam",1); - setmatchflag("round_end_killcam",0); -GetDvarInt(#"9003F201") == 1 + if(GetDvarInt(#"9003F201") == 1) + { + setmatchflag("final_killcam",1); + setmatchflag("round_end_killcam",0); + } #/ if(level.console) { diff --git a/BO2/Xbox/MP/maps/mp/gametypes/_menus.gsc b/BO2/Xbox/MP/maps/mp/gametypes/_menus.gsc index 2711ebd..5342a32 100644 --- a/BO2/Xbox/MP/maps/mp/gametypes/_menus.gsc +++ b/BO2/Xbox/MP/maps/mp/gametypes/_menus.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 3 - * Decompile Time: 80 ms - * Timestamp: 10/27/2023 3:04:23 AM + * Decompile Time: 3 ms + * Timestamp: 10/28/2023 12:13:35 AM *******************************************************************/ #include maps/mp/_utility; diff --git a/BO2/Xbox/MP/maps/mp/gametypes/_objpoints.gsc b/BO2/Xbox/MP/maps/mp/gametypes/_objpoints.gsc index a9e6b10..7c98bed 100644 --- a/BO2/Xbox/MP/maps/mp/gametypes/_objpoints.gsc +++ b/BO2/Xbox/MP/maps/mp/gametypes/_objpoints.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 9 - * Decompile Time: 15 ms - * Timestamp: 10/27/2023 3:04:24 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:13:35 AM *******************************************************************/ #include maps/mp/_utility; diff --git a/BO2/Xbox/MP/maps/mp/gametypes/_perplayer.gsc b/BO2/Xbox/MP/maps/mp/gametypes/_perplayer.gsc index ecb3d7f..508fd2d 100644 --- a/BO2/Xbox/MP/maps/mp/gametypes/_perplayer.gsc +++ b/BO2/Xbox/MP/maps/mp/gametypes/_perplayer.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 11 - * Decompile Time: 21 ms - * Timestamp: 10/27/2023 3:04:24 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:13:35 AM *******************************************************************/ #include maps/mp/_utility; diff --git a/BO2/Xbox/MP/maps/mp/gametypes/_pregame.gsc b/BO2/Xbox/MP/maps/mp/gametypes/_pregame.gsc index 0e2e471..0f7584e 100644 --- a/BO2/Xbox/MP/maps/mp/gametypes/_pregame.gsc +++ b/BO2/Xbox/MP/maps/mp/gametypes/_pregame.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 13 - * Decompile Time: 50 ms - * Timestamp: 10/27/2023 3:04:24 AM + * Decompile Time: 8 ms + * Timestamp: 10/28/2023 12:13:35 AM *******************************************************************/ #include maps/mp/_utility; @@ -244,9 +244,11 @@ pregamemain() } /# - setdvar("scr_pregame_abort",0); - break; - GetDvarInt(#"9CAAE1C4") > 0 + if(GetDvarInt(#"9CAAE1C4") > 0) + { + setdvar("scr_pregame_abort",0); + break; + } #/ if(oldcount != count) { diff --git a/BO2/Xbox/MP/maps/mp/gametypes/_rank.gsc b/BO2/Xbox/MP/maps/mp/gametypes/_rank.gsc index 2348b5b..97ad6df 100644 --- a/BO2/Xbox/MP/maps/mp/gametypes/_rank.gsc +++ b/BO2/Xbox/MP/maps/mp/gametypes/_rank.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 41 - * Decompile Time: 230 ms - * Timestamp: 10/27/2023 3:04:25 AM + * Decompile Time: 7 ms + * Timestamp: 10/28/2023 12:13:36 AM *******************************************************************/ #include common_scripts/utility; @@ -61,17 +61,20 @@ init() rankname = tablelookup("mp/ranktable.csv",0,rankid,1); /# assert(IsDefined(rankname) && rankname != ""); + for(;;) + { #/ - while(IsDefined(rankname) && rankname != "") - { - level.ranktable[rankid][1] = tablelookup("mp/ranktable.csv",0,rankid,1); - level.ranktable[rankid][2] = tablelookup("mp/ranktable.csv",0,rankid,2); - level.ranktable[rankid][3] = tablelookup("mp/ranktable.csv",0,rankid,3); - level.ranktable[rankid][7] = tablelookup("mp/ranktable.csv",0,rankid,7); - level.ranktable[rankid][14] = tablelookup("mp/ranktable.csv",0,rankid,14); - precachestring(tablelookupistring("mp/ranktable.csv",0,rankid,16)); - rankid++; - rankname = tablelookup("mp/ranktable.csv",0,rankid,1); + if(IsDefined(rankname) && rankname != "") + { + level.ranktable[rankid][1] = tablelookup("mp/ranktable.csv",0,rankid,1); + level.ranktable[rankid][2] = tablelookup("mp/ranktable.csv",0,rankid,2); + level.ranktable[rankid][3] = tablelookup("mp/ranktable.csv",0,rankid,3); + level.ranktable[rankid][7] = tablelookup("mp/ranktable.csv",0,rankid,7); + level.ranktable[rankid][14] = tablelookup("mp/ranktable.csv",0,rankid,14); + precachestring(tablelookupistring("mp/ranktable.csv",0,rankid,16)); + rankid++; + rankname = tablelookup("mp/ranktable.csv",0,rankid,1); + } } level thread onplayerconnect(); @@ -862,22 +865,25 @@ getrankforxp(xpval) rankname = level.ranktable[rankid][1]; /# assert(IsDefined(rankname)); + for(;;) + { #/ - while(IsDefined(rankname) && rankname != "") - { - if(xpval < getrankinfominxp(rankid) + getrankinfoxpamt(rankid)) + if(IsDefined(rankname) && rankname != "") { - return rankid; - } + if(xpval < getrankinfominxp(rankid) + getrankinfoxpamt(rankid)) + { + return rankid; + } - rankid++; - if(IsDefined(level.ranktable[rankid])) - { - rankname = level.ranktable[rankid][1]; - continue; - } + rankid++; + if(IsDefined(level.ranktable[rankid])) + { + rankname = level.ranktable[rankid][1]; + continue; + } - rankname = undefined; + rankname = undefined; + } } rankid--; diff --git a/BO2/Xbox/MP/maps/mp/gametypes/_spawning.gsc b/BO2/Xbox/MP/maps/mp/gametypes/_spawning.gsc index 602ac79..98aa38b 100644 --- a/BO2/Xbox/MP/maps/mp/gametypes/_spawning.gsc +++ b/BO2/Xbox/MP/maps/mp/gametypes/_spawning.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 53 - * Decompile Time: 222 ms - * Timestamp: 10/27/2023 3:04:26 AM + * Decompile Time: 20 ms + * Timestamp: 10/28/2023 12:13:36 AM *******************************************************************/ #include common_scripts/utility; @@ -766,7 +766,8 @@ create_map_placed_influencer(influencer_entity,optional_score_override) assertmsg("Radiant-placed sphere spawn influencers require \'radius\' parameter"); #/ break; - Stack-Empty ? IsDefined(influencer_entity.radius) : IsDefined(optional_score_override) + IsDefined(optional_score_override) + IsDefined(influencer_entity.radius) break; case "€GSC\r\n": @@ -778,7 +779,8 @@ create_map_placed_influencer(influencer_entity,optional_score_override) assertmsg("Radiant-placed cylinder spawn influencers require \'radius\' and \'height\' parameters"); #/ break; - Stack-Empty ? IsDefined(influencer_entity.radius) && IsDefined(influencer_entity.height) : IsDefined(optional_score_override) + IsDefined(optional_score_override) + IsDefined(influencer_entity.radius) && IsDefined(influencer_entity.height) break; default: @@ -792,9 +794,8 @@ create_map_placed_influencer(influencer_entity,optional_score_override) { /# assertmsg("Radiant-placed spawn influencers require \'script_shape\', \'script_score\' and \'script_score_curve\' parameters"); -#/ } - +#/ return influencer_id; } @@ -845,13 +846,12 @@ initialize_player_spawning_dvars() { /# reset_dvars = 1; - for(;;) + while(1) { get_player_spawning_dvars(reset_dvars); reset_dvars = 0; wait(2); } -1 #/ } @@ -986,9 +986,12 @@ onspawnplayer_unified(predictedspawn) } /# - spawn_point = get_debug_spawnpoint(self); - self spawn(spawn_point.origin,spawn_point.angles); -GetDvarInt(#"24A61F21") != 0 + if(GetDvarInt(#"24A61F21") != 0) + { + spawn_point = get_debug_spawnpoint(self); + self spawn(spawn_point.origin,spawn_point.angles); + return; + } #/ use_new_spawn_system = 1; initial_spawn = 1; diff --git a/BO2/Xbox/MP/maps/mp/gametypes/_wager.gsc b/BO2/Xbox/MP/maps/mp/gametypes/_wager.gsc index ede5548..8735934 100644 --- a/BO2/Xbox/MP/maps/mp/gametypes/_wager.gsc +++ b/BO2/Xbox/MP/maps/mp/gametypes/_wager.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 39 - * Decompile Time: 109 ms - * Timestamp: 10/27/2023 3:04:27 AM + * Decompile Time: 9 ms + * Timestamp: 10/28/2023 12:13:36 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/Xbox/MP/maps/mp/gametypes/_weapons.gsc b/BO2/Xbox/MP/maps/mp/gametypes/_weapons.gsc index 52cccb5..3e93ce0 100644 --- a/BO2/Xbox/MP/maps/mp/gametypes/_weapons.gsc +++ b/BO2/Xbox/MP/maps/mp/gametypes/_weapons.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 80 - * Decompile Time: 639 ms - * Timestamp: 10/27/2023 3:04:29 AM + * Decompile Time: 24 ms + * Timestamp: 10/28/2023 12:13:36 AM *******************************************************************/ #include common_scripts/utility; @@ -414,8 +414,10 @@ dropweaponfordeath(attacker,sweapon,smeansofdeath) if(!(IsDefined(weapon))) { /# - println("didn\'t drop weapon: not defined"); -GetDvar(#"8F7FC88") == "1" + if(GetDvar(#"8F7FC88") == "1") + { + println("didn\'t drop weapon: not defined"); + } #/ return; } @@ -423,8 +425,10 @@ GetDvar(#"8F7FC88") == "1" if(weapon == "none") { /# - println("didn\'t drop weapon: weapon == none"); -GetDvar(#"8F7FC88") == "1" + if(GetDvar(#"8F7FC88") == "1") + { + println("didn\'t drop weapon: weapon == none"); + } #/ return; } @@ -432,8 +436,10 @@ GetDvar(#"8F7FC88") == "1" if(!(self hasweapon(weapon))) { /# - println("didn\'t drop weapon: don\'t have it anymore (" + weapon + ")"); -GetDvar(#"8F7FC88") == "1" + if(GetDvar(#"8F7FC88") == "1") + { + println("didn\'t drop weapon: don\'t have it anymore (" + weapon + ")"); + } #/ return; } @@ -441,8 +447,10 @@ GetDvar(#"8F7FC88") == "1" if(!(self anyammoforweaponmodes(weapon))) { /# - println("didn\'t drop weapon: no ammo for weapon modes"); -GetDvar(#"8F7FC88") == "1" + if(GetDvar(#"8F7FC88") == "1") + { + println("didn\'t drop weapon: no ammo for weapon modes"); + } #/ return; } @@ -463,8 +471,10 @@ GetDvar(#"8F7FC88") == "1" if(!(clip_and_stock_ammo)) { /# - println("didn\'t drop weapon: no ammo"); -GetDvar(#"8F7FC88") == "1" + if(GetDvar(#"8F7FC88") == "1") + { + println("didn\'t drop weapon: no ammo"); + } #/ return; } @@ -485,8 +495,10 @@ GetDvar(#"8F7FC88") == "1" } /# - println("dropped weapon: " + weapon); -GetDvar(#"8F7FC88") == "1" + if(GetDvar(#"8F7FC88") == "1") + { + println("dropped weapon: " + weapon); + } #/ droplimitedweapon(weapon,self,item); self.droppeddeathweapon = 1; @@ -505,8 +517,10 @@ dropweapontoground(weapon) if(!(IsDefined(weapon))) { /# - println("didn\'t drop weapon: not defined"); -GetDvar(#"8F7FC88") == "1" + if(GetDvar(#"8F7FC88") == "1") + { + println("didn\'t drop weapon: not defined"); + } #/ return; } @@ -514,8 +528,10 @@ GetDvar(#"8F7FC88") == "1" if(weapon == "none") { /# - println("didn\'t drop weapon: weapon == none"); -GetDvar(#"8F7FC88") == "1" + if(GetDvar(#"8F7FC88") == "1") + { + println("didn\'t drop weapon: weapon == none"); + } #/ return; } @@ -523,8 +539,10 @@ GetDvar(#"8F7FC88") == "1" if(!(self hasweapon(weapon))) { /# - println("didn\'t drop weapon: don\'t have it anymore (" + weapon + ")"); -GetDvar(#"8F7FC88") == "1" + if(GetDvar(#"8F7FC88") == "1") + { + println("didn\'t drop weapon: don\'t have it anymore (" + weapon + ")"); + } #/ return; } @@ -532,8 +550,10 @@ GetDvar(#"8F7FC88") == "1" if(!(self anyammoforweaponmodes(weapon))) { /# - println("didn\'t drop weapon: no ammo for weapon modes"); -GetDvar(#"8F7FC88") == "1" + if(GetDvar(#"8F7FC88") == "1") + { + println("didn\'t drop weapon: no ammo for weapon modes"); + } #/ switch(weapon) { @@ -563,8 +583,10 @@ GetDvar(#"8F7FC88") == "1" if(!(clip_and_stock_ammo)) { /# - println("didn\'t drop weapon: no ammo"); -GetDvar(#"8F7FC88") == "1" + if(GetDvar(#"8F7FC88") == "1") + { + println("didn\'t drop weapon: no ammo"); + } #/ return; } @@ -577,8 +599,10 @@ GetDvar(#"8F7FC88") == "1" item = self dropitem(weapon); /# - println("dropped weapon: " + weapon); -GetDvar(#"8F7FC88") == "1" + if(GetDvar(#"8F7FC88") == "1") + { + println("dropped weapon: " + weapon); + } #/ droplimitedweapon(weapon,self,item); item itemweaponsetammo(clipammo,stockammo); @@ -618,8 +642,10 @@ watchpickup() weapname = self getitemweaponname(); self waittill("trigger",player,droppeditem); /# - println("picked up weapon: " + weapname + ", " + IsDefined(self.ownersattacker)); -GetDvar(#"8F7FC88") == "1" + if(GetDvar(#"8F7FC88") == "1") + { + println("picked up weapon: " + weapname + ", " + IsDefined(self.ownersattacker)); + } #/ /# assert(IsDefined(player.tookweaponfrom)); @@ -872,9 +898,9 @@ watchmissileusage() self waittill("missile_fire",missile,weapon_name); self.hasdonecombat = 1; /# - /# +/# assert(IsDefined(missile)); - #/ +#/ #/ level.missileentities[level.missileentities.size] = missile; missile thread watchmissiledeath(); @@ -1074,11 +1100,14 @@ beginothergrenadetracking() case "€GSC\r\n": grenade.ownerweaponatlaunch = self.currentweapon; - grenade.owneradsatlaunch = (self playerads() == 1) ? 1 : 0; + grenade.owneradsatlaunch = 0; grenade thread maps/mp/_explosive_bolt::watch_bolt_detonation(self); grenade thread checkstucktoplayer(1,0,weaponname); grenade thread checkstucktoshield(); break; + 1 + self playerads() == 1 + break; case "€GSC\r\n": grenade.lastweaponbeforetoss = self getlastweapon(); @@ -1469,14 +1498,11 @@ damageent(einflictor,eattacker,idamage,smeansofdeath,sweapon,damagepos,damagedir debugline(a,b,color) { /# - i = 0; - for(;;) + for(i = 0;i < 600;i++) { line(a,b,color); wait(0.05); - i++; } -i < 600 #/ } @@ -1785,7 +1811,7 @@ stow_on_back(current) { temp_index_weapon = self.weapon_array_primary[idx]; /# - assert(IsDefined(temp_index_weapon),"Primary weapon list corrupted."); + assert(IsDefined(temp_index_weapon),"Primary weapon list corrupted."); #/ if(temp_index_weapon == current) { @@ -1797,7 +1823,7 @@ stow_on_back(current) { index_weapon = temp_index_weapon; /# - assert(IsDefined(self.curclass),"Player missing current class"); + assert(IsDefined(self.curclass),"Player missing current class"); #/ if(issubstr(index_weapon,self.pers["primaryWeapon"]) && issubstr(self.curclass,"CUSTOM")) { @@ -2035,7 +2061,10 @@ scavenger_think() break; ammo > maxammo stock < maxammo - Stack-Empty ? IsDefined(player.grenadetypesecondarycount) && player.grenadetypesecondarycount < 1 : ((IsDefined(level.customloadoutscavenge)) ? weapon == loadout_primary : weapon == loadout_secondary) + weapon == loadout_secondary + weapon == loadout_primary + IsDefined(level.customloadoutscavenge) + IsDefined(player.grenadetypesecondarycount) && player.grenadetypesecondarycount < 1 break; } } diff --git a/BO2/Xbox/MP/maps/mp/gametypes/conf.gsc b/BO2/Xbox/MP/maps/mp/gametypes/conf.gsc index 78fcaf3..910711a 100644 --- a/BO2/Xbox/MP/maps/mp/gametypes/conf.gsc +++ b/BO2/Xbox/MP/maps/mp/gametypes/conf.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 18 - * Decompile Time: 95 ms - * Timestamp: 10/27/2023 3:04:30 AM + * Decompile Time: 6 ms + * Timestamp: 10/28/2023 12:13:37 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/Xbox/MP/maps/mp/gametypes/ctf.gsc b/BO2/Xbox/MP/maps/mp/gametypes/ctf.gsc index f90146d..1a299f5 100644 --- a/BO2/Xbox/MP/maps/mp/gametypes/ctf.gsc +++ b/BO2/Xbox/MP/maps/mp/gametypes/ctf.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 41 - * Decompile Time: 294 ms - * Timestamp: 10/27/2023 3:04:31 AM + * Decompile Time: 21 ms + * Timestamp: 10/28/2023 12:13:37 AM *******************************************************************/ #include maps/mp/_challenges; diff --git a/BO2/Xbox/MP/maps/mp/gametypes/dem.gsc b/BO2/Xbox/MP/maps/mp/gametypes/dem.gsc index 39ca1b4..1e0aa34 100644 --- a/BO2/Xbox/MP/maps/mp/gametypes/dem.gsc +++ b/BO2/Xbox/MP/maps/mp/gametypes/dem.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 41 - * Decompile Time: 231 ms - * Timestamp: 10/27/2023 3:04:32 AM + * Decompile Time: 29 ms + * Timestamp: 10/28/2023 12:13:37 AM *******************************************************************/ #include common_scripts/utility; @@ -464,38 +464,39 @@ onplayerkilled(einflictor,attacker,idamage,smeansofdeath,sweapon,vdir,shitloc,ps { /# attacker iprintlnbold("GAMETYPE DEBUG: NOT GIVING YOU OFFENSIVE CREDIT AS BOOSTING PREVENTION"); + } #/ - } - } - - if(!(IsDefined(attacker.dem_defends))) - { - attacker.dem_defends = 0; - } - - attacker.dem_defends++; - if(level.playerdefensivemax >= attacker.dem_defends) - { - if(IsDefined(attacker.pers["defends"])) - { - attacker.pers["defends"]++; - attacker.defends = attacker.pers["defends"]; - } - - attacker maps/mp/_medals::defenseglobalcount(); - attacker addplayerstatwithgametype("DEFENDS",1); - self recordkillmodifier("assaulting"); - maps/mp/_scoreevents::processscoreevent("killed_attacker",attacker,self,sweapon); } else { + if(!(IsDefined(attacker.dem_defends))) + { + attacker.dem_defends = 0; + } + + attacker.dem_defends++; + if(level.playerdefensivemax >= attacker.dem_defends) + { + if(IsDefined(attacker.pers["defends"])) + { + attacker.pers["defends"]++; + attacker.defends = attacker.pers["defends"]; + } + + attacker maps/mp/_medals::defenseglobalcount(); + attacker addplayerstatwithgametype("DEFENDS",1); + self recordkillmodifier("assaulting"); + maps/mp/_scoreevents::processscoreevent("killed_attacker",attacker,self,sweapon); + } + else + { /# - attacker iprintlnbold("GAMETYPE DEBUG: NOT GIVING YOU DEFENSIVE CREDIT AS BOOSTING PREVENTION"); -#/ + attacker iprintlnbold("GAMETYPE DEBUG: NOT GIVING YOU DEFENSIVE CREDIT AS BOOSTING PREVENTION"); + } } } - - if(Stack-Empty ? Stack-Empty : self.isplanting == 1) +#/ + if(self.isplanting == 1) { self recordkillmodifier("planting"); } @@ -974,9 +975,8 @@ onuseobject(player) { /# player iprintlnbold("GAMETYPE DEBUG: NOT GIVING YOU PLANT CREDIT AS BOOSTING PREVENTION"); -#/ } - +#/ level thread maps/mp/_popups::displayteammessagetoall(&"MP_EXPLOSIVES_PLANTED_BY",player); maps/mp/gametypes/_globallogic_audio::leaderdialog("bomb_planted"); } @@ -1005,9 +1005,8 @@ onuseobject(player) { /# player iprintlnbold("GAMETYPE DEBUG: NOT GIVING YOU DEFUSE CREDIT AS BOOSTING PREVENTION"); -#/ } - +#/ level thread maps/mp/_popups::displayteammessagetoall(&"MP_EXPLOSIVES_DEFUSED_BY",player); thread maps/mp/gametypes/_globallogic_audio::set_music_on_team("DEM_WE_DEFUSE",team,0,0,5); thread maps/mp/gametypes/_globallogic_audio::set_music_on_team("DEM_THEY_DEFUSE",enemyteam,0,0,5); @@ -1286,14 +1285,20 @@ waitlongdurationwithbombtimeupdate(whichbomb,duration) } /# - println("SCRIPT WARNING: gettime() = " + GetTime() + " NOT EQUAL TO endtime = " + endtime); -GetTime() != endtime -#/ - while(IsDefined(level.hostmigrationtimer)) + if(GetTime() != endtime) { - endtime = endtime + 250; - updatebombtimers(whichbomb,endtime); - wait(0.25); + println("SCRIPT WARNING: gettime() = " + GetTime() + " NOT EQUAL TO endtime = " + endtime); + } + + for(;;) + { +#/ + if(IsDefined(level.hostmigrationtimer)) + { + endtime = endtime + 250; + updatebombtimers(whichbomb,endtime); + wait(0.25); + } } return GetTime() - starttime; diff --git a/BO2/Xbox/MP/maps/mp/gametypes/dm.gsc b/BO2/Xbox/MP/maps/mp/gametypes/dm.gsc index 14d8200..1e7c32c 100644 --- a/BO2/Xbox/MP/maps/mp/gametypes/dm.gsc +++ b/BO2/Xbox/MP/maps/mp/gametypes/dm.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 7 - * Decompile Time: 36 ms - * Timestamp: 10/27/2023 3:04:32 AM + * Decompile Time: 1 ms + * Timestamp: 10/28/2023 12:13:37 AM *******************************************************************/ #include maps/mp/_utility; diff --git a/BO2/Xbox/MP/maps/mp/gametypes/dom.gsc b/BO2/Xbox/MP/maps/mp/gametypes/dom.gsc index 5406fb7..8a410ce 100644 --- a/BO2/Xbox/MP/maps/mp/gametypes/dom.gsc +++ b/BO2/Xbox/MP/maps/mp/gametypes/dom.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 47 - * Decompile Time: 276 ms - * Timestamp: 10/27/2023 3:04:34 AM + * Decompile Time: 26 ms + * Timestamp: 10/28/2023 12:13:38 AM *******************************************************************/ #include common_scripts/utility; @@ -412,43 +412,47 @@ getunownedflagneareststart(team,excludeflag) domdebug() { /# - for(;;) + while(1) { - wait(2); - for(;;) + if(GetDvar(#"9F76D073") != "1") { - break; - i = 0; - for(;;) + wait(2); + continue; + } + + while(1) + { + if(GetDvar(#"9F76D073") != "1") { - j = 0; - for(;;) + break; + } + + for(i = 0;i < level.flags.size;i++) + { + for(j = 0;j < level.flags[i].adjflags.size;j++) { line(level.flags[i].origin,level.flags[i].adjflags[j].origin,(1,1,1)); - j++; } - j = 0; - for(;;) + + for(j = 0;j < level.flags[i].nearbyspawns.size;j++) { line(level.flags[i].origin,level.flags[i].nearbyspawns[j].origin,(0.2,0.2,0.6)); - j++; } - print3d(level.flags[i].origin,"allies best spawn flag"); - print3d(level.flags[i].origin,"axis best spawn flag"); - i++; + + if(level.flags[i] == level.bestspawnflag["allies"]) + { + print3d(level.flags[i].origin,"allies best spawn flag"); + } + + if(level.flags[i] == level.bestspawnflag["axis"]) + { + print3d(level.flags[i].origin,"axis best spawn flag"); + } } + wait(0.05); } } -level.flags[i] == level.bestspawnflag["axis"] -level.flags[i] == level.bestspawnflag["allies"] -j < level.flags[i].nearbyspawns.size -j < level.flags[i].adjflags.size -i < level.flags.size -GetDvar(#"9F76D073") != "1" -1 -GetDvar(#"9F76D073") != "1" -1 #/ } @@ -738,9 +742,8 @@ give_capture_credit(touchlist,string,lastownerteam,isbflag) { /# player_from_touchlist iprintlnbold("GAMETYPE DEBUG: NOT GIVING YOU CAPTURE CREDIT AS BOOSTING PREVENTION"); -#/ } - +#/ level thread maps/mp/_popups::displayteammessagetoall(string,player_from_touchlist); } } @@ -824,15 +827,17 @@ onscoreclosemusic() } /# - println("Music System Domination - scoreDif " + scoredif); - println("Music System Domination - axisScore " + axisscore); - println("Music System Domination - alliedScore " + alliedscore); - println("Music System Domination - scoreLimit " + scorelimit); - println("Music System Domination - currentScore " + currentscore); - println("Music System Domination - scoreThreshold " + scorethreshold); - println("Music System Domination - scoreDif " + scoredif); - println("Music System Domination - scoreThresholdStart " + scorethresholdstart); -GetDvarInt(#"BC4784C") > 0 + if(GetDvarInt(#"BC4784C") > 0) + { + println("Music System Domination - scoreDif " + scoredif); + println("Music System Domination - axisScore " + axisscore); + println("Music System Domination - alliedScore " + alliedscore); + println("Music System Domination - scoreLimit " + scorelimit); + println("Music System Domination - currentScore " + currentscore); + println("Music System Domination - scoreThreshold " + scorethreshold); + println("Music System Domination - scoreDif " + scoredif); + println("Music System Domination - scoreThresholdStart " + scorethresholdstart); + } #/ if(scoredif <= scorethreshold && scorethresholdstart <= currentscore && level.playingactionmusic != 1) { @@ -939,10 +944,9 @@ onplayerkilled(einflictor,attacker,idamage,smeansofdeath,sweapon,vdir,shitloc,ps { /# attacker iprintlnbold("GAMETYPE DEBUG: NOT GIVING YOU DEFENSIVE CREDIT AS BOOSTING PREVENTION"); -#/ } } - +#/ if(defendedflag) { if(!(IsDefined(attacker.dom_offends))) @@ -971,10 +975,10 @@ onplayerkilled(einflictor,attacker,idamage,smeansofdeath,sweapon,vdir,shitloc,ps { /# attacker iprintlnbold("GAMETYPE DEBUG: NOT GIVING YOU OFFENSIVE CREDIT AS BOOSTING PREVENTION"); -#/ } } } +#/ } if(self.touchtriggers.size && attacker.pers["team"] != self.pers["team"]) @@ -1311,15 +1315,13 @@ flagsetup() { /# println("^1------------ Map Errors ------------"); - i = 0; - for(;;) + for(i = 0;i < maperrors.size;i++) { println(maperrors[i]); - i++; } + println("^1------------------------------------"); maps/mp/_utility::error("Map errors. See above"); -i < maperrors.size #/ maps/mp/gametypes/_callbacksetup::abortlevel(); } diff --git a/BO2/Xbox/MP/maps/mp/gametypes/gun.gsc b/BO2/Xbox/MP/maps/mp/gametypes/gun.gsc index 78480c8..6482d7d 100644 --- a/BO2/Xbox/MP/maps/mp/gametypes/gun.gsc +++ b/BO2/Xbox/MP/maps/mp/gametypes/gun.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 13 - * Decompile Time: 102 ms - * Timestamp: 10/27/2023 3:04:34 AM + * Decompile Time: 7 ms + * Timestamp: 10/28/2023 12:13:38 AM *******************************************************************/ #include maps/mp/_scoreevents; diff --git a/BO2/Xbox/MP/maps/mp/gametypes/hq.gsc b/BO2/Xbox/MP/maps/mp/gametypes/hq.gsc index 6c437e5..840b4da 100644 --- a/BO2/Xbox/MP/maps/mp/gametypes/hq.gsc +++ b/BO2/Xbox/MP/maps/mp/gametypes/hq.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 44 - * Decompile Time: 534 ms - * Timestamp: 10/27/2023 3:04:36 AM + * Decompile Time: 18 ms + * Timestamp: 10/28/2023 12:13:38 AM *******************************************************************/ #include maps/mp/_challenges; @@ -871,15 +871,13 @@ setupradios() { /# println("^1------------ Map Errors ------------"); - i = 0; - for(;;) + for(i = 0;i < maperrors.size;i++) { println(maperrors[i]); - i++; } + println("^1------------------------------------"); maps/mp/_utility::error("Map errors. See above"); -i < maperrors.size #/ maps/mp/gametypes/_callbacksetup::abortlevel(); return; diff --git a/BO2/Xbox/MP/maps/mp/gametypes/koth.gsc b/BO2/Xbox/MP/maps/mp/gametypes/koth.gsc index aa9758b..bffb259 100644 --- a/BO2/Xbox/MP/maps/mp/gametypes/koth.gsc +++ b/BO2/Xbox/MP/maps/mp/gametypes/koth.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 50 - * Decompile Time: 221 ms - * Timestamp: 10/27/2023 3:04:37 AM + * Decompile Time: 18 ms + * Timestamp: 10/28/2023 12:13:38 AM *******************************************************************/ #include common_scripts/utility; @@ -98,16 +98,10 @@ main() maps/mp/gametypes/_globallogic_audio::registerdialoggroup("gamemode_objective",0); /# trigs = getentarray("radiotrigger","targetname"); - _a101 = trigs; - _k101 = FirstArrayKey(_a101); - for(;;) + foreach(trig in trigs) { - trig = _a101[_k101]; trig delete(); - _k101 = NextArrayKey(_a101); } -_k101 -IsDefined(_k101) #/ } @@ -680,8 +674,8 @@ give_capture_credit(touchlist,string,capturetime,capture_team,lastcaptureteam) { /# player iprintlnbold("GAMETYPE DEBUG: NOT GIVING YOU CAPTURE CREDIT AS BOOSTING PREVENTION"); -#/ } +#/ } } @@ -1010,15 +1004,13 @@ setupzones() { /# println("^1------------ Map Errors ------------"); - i = 0; - for(;;) + for(i = 0;i < maperrors.size;i++) { println(maperrors[i]); - i++; } + println("^1------------------------------------"); maps/mp/_utility::error("Map errors. See above"); -i < maperrors.size #/ maps/mp/gametypes/_callbacksetup::abortlevel(); return; diff --git a/BO2/Xbox/MP/maps/mp/gametypes/oic.gsc b/BO2/Xbox/MP/maps/mp/gametypes/oic.gsc index a2033cb..9128c9a 100644 --- a/BO2/Xbox/MP/maps/mp/gametypes/oic.gsc +++ b/BO2/Xbox/MP/maps/mp/gametypes/oic.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 17 - * Decompile Time: 203 ms - * Timestamp: 10/27/2023 3:04:38 AM + * Decompile Time: 8 ms + * Timestamp: 10/28/2023 12:13:38 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/Xbox/MP/maps/mp/gametypes/oneflag.gsc b/BO2/Xbox/MP/maps/mp/gametypes/oneflag.gsc index 3a49250..9c30528 100644 --- a/BO2/Xbox/MP/maps/mp/gametypes/oneflag.gsc +++ b/BO2/Xbox/MP/maps/mp/gametypes/oneflag.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 43 - * Decompile Time: 306 ms - * Timestamp: 10/27/2023 3:04:39 AM + * Decompile Time: 26 ms + * Timestamp: 10/28/2023 12:13:39 AM *******************************************************************/ #include maps/mp/_challenges; diff --git a/BO2/Xbox/MP/maps/mp/gametypes/sas.gsc b/BO2/Xbox/MP/maps/mp/gametypes/sas.gsc index 297ebe6..a938511 100644 --- a/BO2/Xbox/MP/maps/mp/gametypes/sas.gsc +++ b/BO2/Xbox/MP/maps/mp/gametypes/sas.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 8 - * Decompile Time: 87 ms - * Timestamp: 10/27/2023 3:04:40 AM + * Decompile Time: 4 ms + * Timestamp: 10/28/2023 12:13:39 AM *******************************************************************/ #include maps/mp/_scoreevents; diff --git a/BO2/Xbox/MP/maps/mp/gametypes/sd.gsc b/BO2/Xbox/MP/maps/mp/gametypes/sd.gsc index c091dd2..ec4f707 100644 --- a/BO2/Xbox/MP/maps/mp/gametypes/sd.gsc +++ b/BO2/Xbox/MP/maps/mp/gametypes/sd.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 34 - * Decompile Time: 163 ms - * Timestamp: 10/27/2023 3:04:41 AM + * Decompile Time: 23 ms + * Timestamp: 10/28/2023 12:13:39 AM *******************************************************************/ #include common_scripts/utility; @@ -870,8 +870,10 @@ bombplantedmusicdelay() level endon("bomb_defused"); time = level.bombtimer - 30; /# - println("Music System - waiting to set TIME_OUT: " + time); -GetDvarInt(#"BC4784C") > 0 + if(GetDvarInt(#"BC4784C") > 0) + { + println("Music System - waiting to set TIME_OUT: " + time); + } #/ if(time > 1) { diff --git a/BO2/Xbox/MP/maps/mp/gametypes/shrp.gsc b/BO2/Xbox/MP/maps/mp/gametypes/shrp.gsc index c5caae3..4881a86 100644 --- a/BO2/Xbox/MP/maps/mp/gametypes/shrp.gsc +++ b/BO2/Xbox/MP/maps/mp/gametypes/shrp.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 20 - * Decompile Time: 133 ms - * Timestamp: 10/27/2023 3:04:41 AM + * Decompile Time: 8 ms + * Timestamp: 10/28/2023 12:13:39 AM *******************************************************************/ #include common_scripts/utility; @@ -280,8 +280,10 @@ getrandomgunfromprogression() level.usedbaseweapons[level.usedbaseweapons.size] = baseweaponname; /# - weaponname = debug_weapon; -debug_weapon != "" + if(debug_weapon != "") + { + weaponname = debug_weapon; + } #/ return weaponname; } diff --git a/BO2/Xbox/MP/maps/mp/gametypes/tdm.gsc b/BO2/Xbox/MP/maps/mp/gametypes/tdm.gsc index 9c297ab..d34a325 100644 --- a/BO2/Xbox/MP/maps/mp/gametypes/tdm.gsc +++ b/BO2/Xbox/MP/maps/mp/gametypes/tdm.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 9 - * Decompile Time: 44 ms - * Timestamp: 10/27/2023 3:04:42 AM + * Decompile Time: 2 ms + * Timestamp: 10/28/2023 12:13:40 AM *******************************************************************/ #include maps/mp/_utility; @@ -98,16 +98,10 @@ onstartgametype() maps/mp/gametypes/_spawning::updateallspawnpoints(); /# level.spawn_start = []; - _a161 = level.teams; - _k161 = FirstArrayKey(_a161); - for(;;) + foreach(team in level.teams) { - team = _a161[_k161]; level.spawn_start[team] = maps/mp/gametypes/_spawnlogic::getspawnpointarray(maps/mp/gametypes/_spawning::gettdmstartspawnname(team)); - _k161 = NextArrayKey(_a161); } -_k161 -IsDefined(_k161) #/ level.mapcenter = maps/mp/gametypes/_spawnlogic::findboxcenter(level.spawnmins,level.spawnmaxs); setmapcenter(level.mapcenter); diff --git a/BO2/Xbox/MP/maps/mp/killstreaks/_ai_tank.gsc b/BO2/Xbox/MP/maps/mp/killstreaks/_ai_tank.gsc index b979647..345e8f6 100644 --- a/BO2/Xbox/MP/maps/mp/killstreaks/_ai_tank.gsc +++ b/BO2/Xbox/MP/maps/mp/killstreaks/_ai_tank.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 48 - * Decompile Time: 246 ms - * Timestamp: 10/27/2023 3:04:43 AM + * Decompile Time: 26 ms + * Timestamp: 10/28/2023 12:13:40 AM *******************************************************************/ #include common_scripts/utility; @@ -1087,11 +1087,12 @@ valid_target(target,team,owner) } /# - return 0; -target isinmovemode("ufo","noclip") -#/ + if(target isinmovemode("ufo","noclip")) + { + return 0; + } } - +#/ if(level.teambased) { if(IsDefined(target.team) && team == target.team) @@ -1455,10 +1456,12 @@ tank_devgui_think() { wait(0.25); level.ai_tank_turret_fire_rate = weaponfiretime("ai_tank_drone_gun_mp"); - devgui_debug_route(); - setdvar("devgui_tank",""); + if(GetDvar(#"85E86196") == "routes") + { + devgui_debug_route(); + setdvar("devgui_tank",""); + } } -GetDvar(#"85E86196") == "routes" #/ } @@ -1486,20 +1489,19 @@ devgui_debug_route() /# iprintln("Choose nodes with \'A\' or press \'B\' to cancel"); nodes = maps/mp/gametypes/_dev::dev_get_node_pair(); - iprintln("Route Debug Cancelled"); - return; + if(!(IsDefined(nodes))) + { + iprintln("Route Debug Cancelled"); + return; + } + iprintln("Sending talons to chosen nodes"); tanks = getentarray("talon","targetname"); - _a1611 = tanks; - _k1611 = FirstArrayKey(_a1611); - for(;;) + foreach(tank in tanks) { - tank = _a1611[_k1611]; - tank notify("debug_patrol",IsDefined(_k1611),IsDefined(nodes)); + tank notify("debug_patrol"); tank thread tank_debug_patrol(nodes[0],nodes[1]); - _k1611 = NextArrayKey(_a1611); } -_k1611 #/ } @@ -1507,12 +1509,11 @@ _k1611 tank_debug_hud_init() { /# - host = gethostplayer(); - for(;;) + for(host = gethostplayer();!(IsDefined(host));host = gethostplayer()) { wait(0.25); - host = gethostplayer(); } + x = 80; y = 40; level.ai_tank_bar = newclienthudelem(host); @@ -1535,7 +1536,6 @@ tank_debug_hud_init() level.ai_tank_text.alpha = 0; level.ai_tank_text.fontscale = 1; level.ai_tank_text.foreground = 1; -IsDefined(host) #/ } @@ -1549,15 +1549,18 @@ tank_debug_health() for(;;) { wait(0.05); - level.ai_tank_bar.alpha = 0; - level.ai_tank_text.alpha = 0; - return; + if(!IsDefined(self) || !isalive(self)) + { + level.ai_tank_bar.alpha = 0; + level.ai_tank_text.alpha = 0; + return; + } + width = self.health / self.maxhealth * 300; width = int(max(width,1)); level.ai_tank_bar setshader("black",width,8); str = self.health + " Last Damage: " + self.damage_debug; level.ai_tank_text settext(str); } -!IsDefined(self) || !isalive(self) #/ } \ No newline at end of file diff --git a/BO2/Xbox/MP/maps/mp/killstreaks/_dogs.gsc b/BO2/Xbox/MP/maps/mp/killstreaks/_dogs.gsc index c013b6f..3906908 100644 --- a/BO2/Xbox/MP/maps/mp/killstreaks/_dogs.gsc +++ b/BO2/Xbox/MP/maps/mp/killstreaks/_dogs.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 39 - * Decompile Time: 101 ms - * Timestamp: 10/27/2023 3:04:43 AM + * Decompile Time: 7 ms + * Timestamp: 10/28/2023 12:13:40 AM *******************************************************************/ #include common_scripts/utility; @@ -338,9 +338,9 @@ dog_patrol() self endon("death"); /# self endon("debug_patrol"); -#/ for(;;) { +#/ if(level.dog_abort) { self dog_leave(); @@ -708,6 +708,7 @@ devgui_dog_think() player = gethostplayer(); devgui_dog_spawn(player.team); break; + case "€GSC\r\n": player = gethostplayer(); _a769 = level.teams; @@ -718,36 +719,49 @@ devgui_dog_think() devgui_dog_spawn(team); _k769 = NextArrayKey(_a769); } + break; _k769 - Stack-Empty ? IsDefined(_k769) : team == player.team + team == player.team + IsDefined(_k769) break; + case "€GSC\r\n": level dog_abort(); break; + case "€GSC\r\n": devgui_dog_camera(); break; + case "€GSC\r\n": devgui_crate_spawn(); break; + case "€GSC\r\n": devgui_crate_delete(); break; + case "€GSC\r\n": devgui_spawn_show(); break; + case "€GSC\r\n": devgui_exit_show(); break; + case "€GSC\r\n": devgui_debug_route(); break; } - setdvar("devgui_dog",""); + + if(cmd != "") + { + setdvar("devgui_dog",""); + } + wait(0.5); } -cmd != "" #/ } @@ -758,8 +772,12 @@ devgui_dog_spawn(team) player = gethostplayer(); dog_spawner = getent("dog_spawner","targetname"); level.dog_abort = 0; - iprintln("No dog spawners found in map"); - return; + if(!(IsDefined(dog_spawner))) + { + iprintln("No dog spawners found in map"); + return; + } + direction = player getplayerangles(); direction_vec = AnglesToForward(direction); eye = player geteye(); @@ -767,14 +785,21 @@ devgui_dog_spawn(team) direction_vec = (direction_vec[0] * scale,direction_vec[1] * scale,direction_vec[2] * scale); trace = bullettrace(eye,eye + direction_vec,0,undefined); nodes = getnodesinradius(trace["position"],256,0,128,"Path",8); - iprintln("No nodes found near crosshair position"); - return; + if(!(nodes.size)) + { + iprintln("No nodes found near crosshair position"); + return; + } + iprintln("Spawning dog at your crosshair position"); node = getclosest(trace["position"],nodes); dog = dog_manager_spawn_dog(player,player.team,node,5); - dog.aiteam = team; - dog clearentityowner(); - dog notify("clear_owner",team != player.team,nodes.size,IsDefined(dog_spawner)); + if(team != player.team) + { + dog.aiteam = team; + dog clearentityowner(); + dog notify("clear_owner"); + } #/ } @@ -783,33 +808,60 @@ devgui_dog_camera() { /# player = gethostplayer(); - level.devgui_dog_camera = 0; + if(!(IsDefined(level.devgui_dog_camera))) + { + level.devgui_dog_camera = 0; + } + dog = undefined; dogs = dog_manager_get_dogs(); - level.devgui_dog_camera = undefined; - player cameraactivate(0); - return; - i = 0; - for(;;) + if(dogs.size <= 0) + { + level.devgui_dog_camera = undefined; + player cameraactivate(0); + return; + } + + for(i = 0;i < dogs.size;i++) { dog = dogs[i]; - dog = undefined; - forward = AnglesToForward(dog.angles); - dog.cam = spawn("script_model",50 + VectorScale((0,0,1)) + forward * -100); - dog.cam setmodel("tag_origin"); - dog.cam linkto(dog); - dog = undefined; - break; - i++; + if(!IsDefined(dog) || !isalive(dog)) + { + dog = undefined; + } + else + { + if(!(IsDefined(dog.cam))) + { + forward = AnglesToForward(dog.angles); + dog.cam = spawn("script_model",50 + VectorScale((0,0,1)) + forward * -100); + dog.cam setmodel("tag_origin"); + dog.cam linkto(dog); + } + + if(dog getentitynumber() <= level.devgui_dog_camera) + { + dog = undefined; + } + else + { + break; + } + } + } + + if(IsDefined(dog)) + { + level.devgui_dog_camera = dog getentitynumber(); + player camerasetposition(dog.cam); + player camerasetlookat(dog); + player cameraactivate(1); + } + else + { + level.devgui_dog_camera = undefined; + player cameraactivate(0); } - level.devgui_dog_camera = dog getentitynumber(); - player camerasetposition(dog.cam); - player camerasetlookat(dog); - player cameraactivate(1); - level.devgui_dog_camera = undefined; - player cameraactivate(0); -dogs.size <= 0 ? (i < dogs.size ? !IsDefined(dog) || !isalive(dog) : (IsDefined(dog.cam) ? dog.origin : dog getentitynumber() <= level.devgui_dog_camera)) : IsDefined(dog) -IsDefined(level.devgui_dog_camera) #/ } @@ -826,7 +878,6 @@ devgui_crate_spawn() trace = bullettrace(eye,eye + direction_vec,0,undefined); killcament = spawn("script_model",player.origin); level thread maps/mp/killstreaks/_supplydrop::dropcrate(25 + VectorScale((0,0,1)),trace["position"],direction,"supplydrop_mp",player,player.team); -killcament #/ } @@ -834,16 +885,17 @@ killcament devgui_crate_delete() { /# - return; - i = 0; - for(;;) + if(!(IsDefined(level.devgui_crates))) + { + return; + } + + for(i = 0;i < level.devgui_crates.size;i++) { level.devgui_crates[i] delete(); - i++; } + level.devgui_crates = []; -i < level.devgui_crates.size -IsDefined(level.devgui_crates) #/ } @@ -851,19 +903,27 @@ IsDefined(level.devgui_crates) devgui_spawn_show() { /# - level.dog_spawn_show = 1; - level.dog_spawn_show = !level.dog_spawn_show; - level notify("hide_dog_spawns",level.dog_spawn_show,Stack-Empty ? Stack-Empty : IsDefined(level.dog_spawn_show)); - return; + if(!(IsDefined(level.dog_spawn_show))) + { + level.dog_spawn_show = 1; + } + else + { + level.dog_spawn_show = !level.dog_spawn_show; + } + + if(!(level.dog_spawn_show)) + { + level notify("hide_dog_spawns"); + return; + } + spawns = getnodearray("spawn","script_noteworthy"); color = (0,1,0); - i = 0; - for(;;) + for(i = 0;i < spawns.size;i++) { maps/mp/gametypes/_dev::showonespawnpoint(spawns[i],color,"hide_dog_spawns",32,"dog_spawn"); - i++; } -i < spawns.size #/ } @@ -871,19 +931,27 @@ i < spawns.size devgui_exit_show() { /# - level.dog_exit_show = 1; - level.dog_exit_show = !level.dog_exit_show; - level notify("hide_dog_exits",level.dog_exit_show,Stack-Empty ? Stack-Empty : IsDefined(level.dog_exit_show)); - return; + if(!(IsDefined(level.dog_exit_show))) + { + level.dog_exit_show = 1; + } + else + { + level.dog_exit_show = !level.dog_exit_show; + } + + if(!(level.dog_exit_show)) + { + level notify("hide_dog_exits"); + return; + } + exits = getnodearray("exit","script_noteworthy"); color = (1,0,0); - i = 0; - for(;;) + for(i = 0;i < exits.size;i++) { maps/mp/gametypes/_dev::showonespawnpoint(exits[i],color,"hide_dog_exits",32,"dog_exit"); - i++; } -i < exits.size #/ } @@ -911,11 +979,18 @@ devgui_debug_route() /# iprintln("Choose nodes with \'A\' or press \'B\' to cancel"); nodes = maps/mp/gametypes/_dev::dev_get_node_pair(); - iprintln("Route Debug Cancelled"); - return; + if(!(IsDefined(nodes))) + { + iprintln("Route Debug Cancelled"); + return; + } + iprintln("Sending dog to chosen nodes"); dogs = dog_manager_get_dogs(); - dogs[0] notify("debug_patrol",IsDefined(dogs[0]),IsDefined(nodes)); - dogs[0] thread dog_debug_patrol(nodes[0],nodes[1]); + if(IsDefined(dogs[0])) + { + dogs[0] notify("debug_patrol"); + dogs[0] thread dog_debug_patrol(nodes[0],nodes[1]); + } #/ } \ No newline at end of file diff --git a/BO2/Xbox/MP/maps/mp/killstreaks/_emp.gsc b/BO2/Xbox/MP/maps/mp/killstreaks/_emp.gsc index d98df0b..9f58d3f 100644 --- a/BO2/Xbox/MP/maps/mp/killstreaks/_emp.gsc +++ b/BO2/Xbox/MP/maps/mp/killstreaks/_emp.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 23 - * Decompile Time: 178 ms - * Timestamp: 10/27/2023 3:04:44 AM + * Decompile Time: 5 ms + * Timestamp: 10/28/2023 12:13:40 AM *******************************************************************/ #include common_scripts/utility; @@ -449,7 +449,7 @@ destroyactivevehicles(attacker,teamemped) } else { - planemortar notify("emp_deployed",attacker,Stack-Empty ? Stack-Empty : Stack-Empty); + planemortar notify("emp_deployed",attacker); } } } @@ -467,7 +467,7 @@ destroyactivevehicles(attacker,teamemped) } else { - satellite notify("emp_deployed",attacker,Stack-Empty ? Stack-Empty : _k458); + satellite notify("emp_deployed",attacker,_k458); } } } @@ -504,7 +504,7 @@ destroyentities(entities,attacker,team) } else { - entity notify("damage",damage,attacker,direction_vec,point,meansofdeath,tagname,modelname,partname,weapon,Stack-Empty ? Stack-Empty : Stack-Empty); + entity notify("damage",damage,attacker,direction_vec,point,meansofdeath,tagname,modelname,partname,weapon); } } } @@ -514,7 +514,7 @@ destroyentities(entities,attacker,team) drawempdamageorigin(pos,ang,radius) { /# - for(;;) + while(GetDvarInt(#"D04570F2")) { line(pos,pos + AnglesToForward(ang) * radius,(1,0,0)); line(pos,pos + AnglesToRight(ang) * radius,(0,1,0)); @@ -524,7 +524,6 @@ drawempdamageorigin(pos,ang,radius) line(pos,pos - AnglesToUp(ang) * radius,(0,0,1)); wait(0.05); } -GetDvarInt(#"D04570F2") #/ } diff --git a/BO2/Xbox/MP/maps/mp/killstreaks/_qrdrone.gsc b/BO2/Xbox/MP/maps/mp/killstreaks/_qrdrone.gsc index 7c40c20..22807fb 100644 --- a/BO2/Xbox/MP/maps/mp/killstreaks/_qrdrone.gsc +++ b/BO2/Xbox/MP/maps/mp/killstreaks/_qrdrone.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 61 - * Decompile Time: 245 ms - * Timestamp: 10/27/2023 3:04:45 AM + * Decompile Time: 16 ms + * Timestamp: 10/28/2023 12:13:41 AM *******************************************************************/ #include common_scripts/utility; @@ -1145,11 +1145,14 @@ qrdrone_leave_on_timeout() set_dvar_int_if_unset("scr_QRDroneFlyTime",self.flytime); self.flytime = GetDvarInt(#"DA835401"); waittime = self.flytime - 10; - wait(self.flytime); - self setclientfield("qrdrone_state",3); - watcher = self.owner maps/mp/gametypes/_weaponobjects::getweaponobjectwatcher("qrdrone"); - watcher thread maps/mp/gametypes/_weaponobjects::waitanddetonate(self,0); -waittime < 0 + if(waittime < 0) + { + wait(self.flytime); + self setclientfield("qrdrone_state",3); + watcher = self.owner maps/mp/gametypes/_weaponobjects::getweaponobjectwatcher("qrdrone"); + watcher thread maps/mp/gametypes/_weaponobjects::waitanddetonate(self,0); + return; + } #/ maps/mp/gametypes/_hostmigration::waitlongdurationwithhostmigrationpause(waittime); shouldtimeout = GetDvar(#"E9EC149"); diff --git a/BO2/Xbox/MP/maps/mp/killstreaks/_radar.gsc b/BO2/Xbox/MP/maps/mp/killstreaks/_radar.gsc index 4f891ce..892815a 100644 --- a/BO2/Xbox/MP/maps/mp/killstreaks/_radar.gsc +++ b/BO2/Xbox/MP/maps/mp/killstreaks/_radar.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 13 - * Decompile Time: 323 ms - * Timestamp: 10/27/2023 3:04:47 AM + * Decompile Time: 2 ms + * Timestamp: 10/28/2023 12:13:41 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/Xbox/MP/maps/mp/killstreaks/_rcbomb.gsc b/BO2/Xbox/MP/maps/mp/killstreaks/_rcbomb.gsc index c06ac77..8ff862b 100644 --- a/BO2/Xbox/MP/maps/mp/killstreaks/_rcbomb.gsc +++ b/BO2/Xbox/MP/maps/mp/killstreaks/_rcbomb.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 34 - * Decompile Time: 131 ms - * Timestamp: 10/27/2023 3:04:47 AM + * Decompile Time: 9 ms + * Timestamp: 10/28/2023 12:13:41 AM *******************************************************************/ #include common_scripts/utility; @@ -478,7 +478,10 @@ cartimer(vehicle) } /# -GetDvarInt(#"B2F33084") != 0 + if(GetDvarInt(#"B2F33084") != 0) + { + return; + } #/ maps/mp/gametypes/_hostmigration::waitlongdurationwithhostmigrationpause(20); vehicle setclientfield("rcbomb_countdown",1); @@ -808,10 +811,13 @@ rcbomb_force_explode() self endon("death"); /# assert(self.targetname == "rcbomb"); + for(;;) + { #/ - while(!(IsDefined(self getseatoccupant(0)))) - { - wait(0.1); + if(!(IsDefined(self getseatoccupant(0)))) + { + wait(0.1); + } } self dodamage(10,10 + VectorScale((0,0,1)),self.origin,self.owner,self.owner,"none"); @@ -822,8 +828,10 @@ rcbomb_debug_box(origin,mins,maxs,color) { /# debug_rcbomb = GetDvar(#"8EAE5CA0"); - box(origin,mins,maxs,0,color,1,1,300); -debug_rcbomb == "1" + if(debug_rcbomb == "1") + { + box(origin,mins,maxs,0,color,1,1,300); + } #/ } @@ -832,7 +840,9 @@ rcbomb_debug_line(start,end,color) { /# debug_rcbomb = GetDvar(#"8EAE5CA0"); - line(start,end,color,1,1,300); -debug_rcbomb == "1" + if(debug_rcbomb == "1") + { + line(start,end,color,1,1,300); + } #/ } \ No newline at end of file diff --git a/BO2/Xbox/MP/maps/mp/mp_bridge.gsc b/BO2/Xbox/MP/maps/mp/mp_bridge.gsc index cd8c472..3035deb 100644 --- a/BO2/Xbox/MP/maps/mp/mp_bridge.gsc +++ b/BO2/Xbox/MP/maps/mp/mp_bridge.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 11 - * Decompile Time: 51 ms - * Timestamp: 10/27/2023 3:05:17 AM + * Decompile Time: 4 ms + * Timestamp: 10/28/2023 12:13:54 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/Xbox/MP/maps/mp/mp_carrier.gsc b/BO2/Xbox/MP/maps/mp/mp_carrier.gsc index 680df73..fb5eea7 100644 --- a/BO2/Xbox/MP/maps/mp/mp_carrier.gsc +++ b/BO2/Xbox/MP/maps/mp/mp_carrier.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 7 - * Decompile Time: 44 ms - * Timestamp: 10/27/2023 3:05:17 AM + * Decompile Time: 2 ms + * Timestamp: 10/28/2023 12:13:54 AM *******************************************************************/ #include maps/mp/_compass; diff --git a/BO2/Xbox/MP/maps/mp/mp_castaway.gsc b/BO2/Xbox/MP/maps/mp/mp_castaway.gsc index 5267995..b661314 100644 --- a/BO2/Xbox/MP/maps/mp/mp_castaway.gsc +++ b/BO2/Xbox/MP/maps/mp/mp_castaway.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 2 - * Decompile Time: 28 ms - * Timestamp: 10/27/2023 3:05:18 AM + * Decompile Time: 1 ms + * Timestamp: 10/28/2023 12:13:54 AM *******************************************************************/ #include maps/mp/_compass; diff --git a/BO2/Xbox/MP/maps/mp/mp_concert.gsc b/BO2/Xbox/MP/maps/mp/mp_concert.gsc index 737edd5..6842392 100644 --- a/BO2/Xbox/MP/maps/mp/mp_concert.gsc +++ b/BO2/Xbox/MP/maps/mp/mp_concert.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 9 - * Decompile Time: 39 ms - * Timestamp: 10/27/2023 3:05:18 AM + * Decompile Time: 1 ms + * Timestamp: 10/28/2023 12:13:54 AM *******************************************************************/ #include maps/mp/_compass; diff --git a/BO2/Xbox/MP/maps/mp/mp_dig.gsc b/BO2/Xbox/MP/maps/mp/mp_dig.gsc index 3b3e9b8..b2c1a59 100644 --- a/BO2/Xbox/MP/maps/mp/mp_dig.gsc +++ b/BO2/Xbox/MP/maps/mp/mp_dig.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 2 - * Decompile Time: 29 ms - * Timestamp: 10/27/2023 3:05:19 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:13:54 AM *******************************************************************/ #include maps/mp/_compass; diff --git a/BO2/Xbox/MP/maps/mp/mp_dockside.gsc b/BO2/Xbox/MP/maps/mp/mp_dockside.gsc index 6514dbb..1e0bf8d 100644 --- a/BO2/Xbox/MP/maps/mp/mp_dockside.gsc +++ b/BO2/Xbox/MP/maps/mp/mp_dockside.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 10 - * Decompile Time: 155 ms - * Timestamp: 10/27/2023 3:05:20 AM + * Decompile Time: 1 ms + * Timestamp: 10/28/2023 12:13:55 AM *******************************************************************/ #include maps/mp/_compass; @@ -163,15 +163,20 @@ devgui_dockside() { case "€GSC\r\n": break; + case "€GSC\r\n": crane_print_dvars(); break; + default: break; } - setdvar("devgui_notify",""); + + if(GetDvar(#"9488D1C1") != "") + { + setdvar("devgui_notify",""); + } } -GetDvar(#"9488D1C1") != "" #/ } @@ -187,16 +192,10 @@ crane_print_dvars() dvars[dvars.size] = "scr_crane_arm_z_move_time"; dvars[dvars.size] = "scr_crane_claw_drop_speed"; dvars[dvars.size] = "scr_crane_claw_drop_time_min"; - _a211 = dvars; - _k211 = FirstArrayKey(_a211); - for(;;) + foreach(dvar in dvars) { - dvar = _a211[_k211]; print(dvar + ": "); println(GetDvar(dvar)); - _k211 = NextArrayKey(_a211); } -_k211 -IsDefined(_k211) #/ } \ No newline at end of file diff --git a/BO2/Xbox/MP/maps/mp/mp_dockside_crane.gsc b/BO2/Xbox/MP/maps/mp/mp_dockside_crane.gsc index 676717f..7565bcf 100644 --- a/BO2/Xbox/MP/maps/mp/mp_dockside_crane.gsc +++ b/BO2/Xbox/MP/maps/mp/mp_dockside_crane.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 28 - * Decompile Time: 386 ms - * Timestamp: 10/27/2023 3:05:21 AM + * Decompile Time: 9 ms + * Timestamp: 10/28/2023 12:13:55 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/Xbox/MP/maps/mp/mp_downhill.gsc b/BO2/Xbox/MP/maps/mp/mp_downhill.gsc index acfee18..445ec36 100644 --- a/BO2/Xbox/MP/maps/mp/mp_downhill.gsc +++ b/BO2/Xbox/MP/maps/mp/mp_downhill.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 2 - * Decompile Time: 32 ms - * Timestamp: 10/27/2023 3:05:22 AM + * Decompile Time: 3 ms + * Timestamp: 10/28/2023 12:13:55 AM *******************************************************************/ #include maps/mp/_compass; diff --git a/BO2/Xbox/MP/maps/mp/mp_downhill_cablecar.gsc b/BO2/Xbox/MP/maps/mp/mp_downhill_cablecar.gsc index a31e7f1..b3a47a4 100644 --- a/BO2/Xbox/MP/maps/mp/mp_downhill_cablecar.gsc +++ b/BO2/Xbox/MP/maps/mp/mp_downhill_cablecar.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 15 - * Decompile Time: 323 ms - * Timestamp: 10/27/2023 3:05:24 AM + * Decompile Time: 14 ms + * Timestamp: 10/28/2023 12:13:56 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/Xbox/MP/maps/mp/mp_drone.gsc b/BO2/Xbox/MP/maps/mp/mp_drone.gsc index a5e2cfd..d53a89e 100644 --- a/BO2/Xbox/MP/maps/mp/mp_drone.gsc +++ b/BO2/Xbox/MP/maps/mp/mp_drone.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 3 - * Decompile Time: 86 ms - * Timestamp: 10/27/2023 3:05:24 AM + * Decompile Time: 6 ms + * Timestamp: 10/28/2023 12:13:56 AM *******************************************************************/ #include maps/mp/_compass; diff --git a/BO2/Xbox/MP/maps/mp/mp_express.gsc b/BO2/Xbox/MP/maps/mp/mp_express.gsc index 876ad02..d90d26d 100644 --- a/BO2/Xbox/MP/maps/mp/mp_express.gsc +++ b/BO2/Xbox/MP/maps/mp/mp_express.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 3 - * Decompile Time: 21 ms - * Timestamp: 10/27/2023 3:05:25 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:13:56 AM *******************************************************************/ #include common_scripts/utility; @@ -72,14 +72,19 @@ devgui_express() { case "€GSC\r\n": break; + case "€GSC\r\n": level notify("train_start"); break; + default: break; } - setdvar("devgui_notify",""); + + if(GetDvar(#"9488D1C1") != "") + { + setdvar("devgui_notify",""); + } } -GetDvar(#"9488D1C1") != "" #/ } \ No newline at end of file diff --git a/BO2/Xbox/MP/maps/mp/mp_express_train.gsc b/BO2/Xbox/MP/maps/mp/mp_express_train.gsc index c80c592..a2b37ce 100644 --- a/BO2/Xbox/MP/maps/mp/mp_express_train.gsc +++ b/BO2/Xbox/MP/maps/mp/mp_express_train.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 15 - * Decompile Time: 276 ms - * Timestamp: 10/27/2023 3:05:27 AM + * Decompile Time: 8 ms + * Timestamp: 10/28/2023 12:13:56 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/Xbox/MP/maps/mp/mp_frostbite.gsc b/BO2/Xbox/MP/maps/mp/mp_frostbite.gsc index 3346db7..95d450d 100644 --- a/BO2/Xbox/MP/maps/mp/mp_frostbite.gsc +++ b/BO2/Xbox/MP/maps/mp/mp_frostbite.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 7 - * Decompile Time: 71 ms - * Timestamp: 10/27/2023 3:05:27 AM + * Decompile Time: 4 ms + * Timestamp: 10/28/2023 12:13:56 AM *******************************************************************/ #include maps/mp/_compass; diff --git a/BO2/Xbox/MP/maps/mp/mp_hijacked.gsc b/BO2/Xbox/MP/maps/mp/mp_hijacked.gsc index 995125b..f8af292 100644 --- a/BO2/Xbox/MP/maps/mp/mp_hijacked.gsc +++ b/BO2/Xbox/MP/maps/mp/mp_hijacked.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 9 - * Decompile Time: 63 ms - * Timestamp: 10/27/2023 3:05:28 AM + * Decompile Time: 5 ms + * Timestamp: 10/28/2023 12:13:57 AM *******************************************************************/ #include maps/mp/_compass; diff --git a/BO2/Xbox/MP/maps/mp/mp_hydro.gsc b/BO2/Xbox/MP/maps/mp/mp_hydro.gsc index 84c72a8..c1d3da9 100644 --- a/BO2/Xbox/MP/maps/mp/mp_hydro.gsc +++ b/BO2/Xbox/MP/maps/mp/mp_hydro.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 12 - * Decompile Time: 287 ms - * Timestamp: 10/27/2023 3:05:29 AM + * Decompile Time: 10 ms + * Timestamp: 10/28/2023 12:13:57 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/Xbox/MP/maps/mp/mp_la.gsc b/BO2/Xbox/MP/maps/mp/mp_la.gsc index 046fd5c..c7b064f 100644 --- a/BO2/Xbox/MP/maps/mp/mp_la.gsc +++ b/BO2/Xbox/MP/maps/mp/mp_la.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 4 - * Decompile Time: 35 ms - * Timestamp: 10/27/2023 3:05:29 AM + * Decompile Time: 2 ms + * Timestamp: 10/28/2023 12:13:57 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/Xbox/MP/maps/mp/mp_magma.gsc b/BO2/Xbox/MP/maps/mp/mp_magma.gsc index 3f25e81..eb2b6f2 100644 --- a/BO2/Xbox/MP/maps/mp/mp_magma.gsc +++ b/BO2/Xbox/MP/maps/mp/mp_magma.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 12 - * Decompile Time: 116 ms - * Timestamp: 10/27/2023 3:05:30 AM + * Decompile Time: 2 ms + * Timestamp: 10/28/2023 12:13:57 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/Xbox/MP/maps/mp/mp_meltdown.gsc b/BO2/Xbox/MP/maps/mp/mp_meltdown.gsc index e563d6a..1aaaf78 100644 --- a/BO2/Xbox/MP/maps/mp/mp_meltdown.gsc +++ b/BO2/Xbox/MP/maps/mp/mp_meltdown.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 2 - * Decompile Time: 16 ms - * Timestamp: 10/27/2023 3:05:31 AM + * Decompile Time: 10 ms + * Timestamp: 10/28/2023 12:13:58 AM *******************************************************************/ #include maps/mp/_compass; diff --git a/BO2/Xbox/MP/maps/mp/mp_mirage.gsc b/BO2/Xbox/MP/maps/mp/mp_mirage.gsc index 47c8a1d..3d32ad6 100644 --- a/BO2/Xbox/MP/maps/mp/mp_mirage.gsc +++ b/BO2/Xbox/MP/maps/mp/mp_mirage.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 2 - * Decompile Time: 41 ms - * Timestamp: 10/27/2023 3:05:31 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:13:58 AM *******************************************************************/ #include maps/mp/_compass; diff --git a/BO2/Xbox/MP/maps/mp/mp_nightclub.gsc b/BO2/Xbox/MP/maps/mp/mp_nightclub.gsc index 90ee401..bbb9fbe 100644 --- a/BO2/Xbox/MP/maps/mp/mp_nightclub.gsc +++ b/BO2/Xbox/MP/maps/mp/mp_nightclub.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 3 - * Decompile Time: 53 ms - * Timestamp: 10/27/2023 3:05:32 AM + * Decompile Time: 1 ms + * Timestamp: 10/28/2023 12:13:58 AM *******************************************************************/ #include maps/mp/_compass; diff --git a/BO2/Xbox/MP/maps/mp/mp_nuketown_2020.gsc b/BO2/Xbox/MP/maps/mp/mp_nuketown_2020.gsc index dd12f0b..ec9a9fa 100644 --- a/BO2/Xbox/MP/maps/mp/mp_nuketown_2020.gsc +++ b/BO2/Xbox/MP/maps/mp/mp_nuketown_2020.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 17 - * Decompile Time: 144 ms - * Timestamp: 10/27/2023 3:05:32 AM + * Decompile Time: 8 ms + * Timestamp: 10/28/2023 12:13:58 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/Xbox/MP/maps/mp/mp_overflow.gsc b/BO2/Xbox/MP/maps/mp/mp_overflow.gsc index 941a363..5c144e6 100644 --- a/BO2/Xbox/MP/maps/mp/mp_overflow.gsc +++ b/BO2/Xbox/MP/maps/mp/mp_overflow.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 7 - * Decompile Time: 50 ms - * Timestamp: 10/27/2023 3:05:33 AM + * Decompile Time: 2 ms + * Timestamp: 10/28/2023 12:13:59 AM *******************************************************************/ #include maps/mp/_compass; diff --git a/BO2/Xbox/MP/maps/mp/mp_paintball.gsc b/BO2/Xbox/MP/maps/mp/mp_paintball.gsc index 68d33c7..9900522 100644 --- a/BO2/Xbox/MP/maps/mp/mp_paintball.gsc +++ b/BO2/Xbox/MP/maps/mp/mp_paintball.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 5 - * Decompile Time: 31 ms - * Timestamp: 10/27/2023 3:05:33 AM + * Decompile Time: 4 ms + * Timestamp: 10/28/2023 12:13:59 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/Xbox/MP/maps/mp/mp_pod.gsc b/BO2/Xbox/MP/maps/mp/mp_pod.gsc index 44b93a9..34ced5d 100644 --- a/BO2/Xbox/MP/maps/mp/mp_pod.gsc +++ b/BO2/Xbox/MP/maps/mp/mp_pod.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 3 - * Decompile Time: 97 ms - * Timestamp: 10/27/2023 3:05:34 AM + * Decompile Time: 1 ms + * Timestamp: 10/28/2023 12:13:59 AM *******************************************************************/ #include maps/mp/_compass; diff --git a/BO2/Xbox/MP/maps/mp/mp_raid.gsc b/BO2/Xbox/MP/maps/mp/mp_raid.gsc index 129c6fe..0a7b454 100644 --- a/BO2/Xbox/MP/maps/mp/mp_raid.gsc +++ b/BO2/Xbox/MP/maps/mp/mp_raid.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 5 - * Decompile Time: 159 ms - * Timestamp: 10/27/2023 3:05:35 AM + * Decompile Time: 1 ms + * Timestamp: 10/28/2023 12:13:59 AM *******************************************************************/ #include maps/mp/_compass; diff --git a/BO2/Xbox/MP/maps/mp/mp_skate.gsc b/BO2/Xbox/MP/maps/mp/mp_skate.gsc index 01f8e51..22e456f 100644 --- a/BO2/Xbox/MP/maps/mp/mp_skate.gsc +++ b/BO2/Xbox/MP/maps/mp/mp_skate.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 2 - * Decompile Time: 92 ms - * Timestamp: 10/27/2023 3:05:36 AM + * Decompile Time: 2 ms + * Timestamp: 10/28/2023 12:14:00 AM *******************************************************************/ #include maps/mp/_compass; diff --git a/BO2/Xbox/MP/maps/mp/mp_slums.gsc b/BO2/Xbox/MP/maps/mp/mp_slums.gsc index 73920cb..0e987be 100644 --- a/BO2/Xbox/MP/maps/mp/mp_slums.gsc +++ b/BO2/Xbox/MP/maps/mp/mp_slums.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 2 - * Decompile Time: 331 ms - * Timestamp: 10/27/2023 3:05:37 AM + * Decompile Time: 14 ms + * Timestamp: 10/28/2023 12:14:00 AM *******************************************************************/ #include maps/mp/_compass; diff --git a/BO2/Xbox/MP/maps/mp/mp_socotra.gsc b/BO2/Xbox/MP/maps/mp/mp_socotra.gsc index 821e89f..df41b27 100644 --- a/BO2/Xbox/MP/maps/mp/mp_socotra.gsc +++ b/BO2/Xbox/MP/maps/mp/mp_socotra.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 3 - * Decompile Time: 149 ms - * Timestamp: 10/27/2023 3:05:38 AM + * Decompile Time: 1 ms + * Timestamp: 10/28/2023 12:14:00 AM *******************************************************************/ #include maps/mp/_compass; diff --git a/BO2/Xbox/MP/maps/mp/mp_studio.gsc b/BO2/Xbox/MP/maps/mp/mp_studio.gsc index 6338822..09f8ced 100644 --- a/BO2/Xbox/MP/maps/mp/mp_studio.gsc +++ b/BO2/Xbox/MP/maps/mp/mp_studio.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 10 - * Decompile Time: 163 ms - * Timestamp: 10/27/2023 3:05:40 AM + * Decompile Time: 10 ms + * Timestamp: 10/28/2023 12:14:00 AM *******************************************************************/ #include maps/mp/_compass; diff --git a/BO2/Xbox/MP/maps/mp/mp_takeoff.gsc b/BO2/Xbox/MP/maps/mp/mp_takeoff.gsc index 149d97b..6ebbd65 100644 --- a/BO2/Xbox/MP/maps/mp/mp_takeoff.gsc +++ b/BO2/Xbox/MP/maps/mp/mp_takeoff.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 19 - * Decompile Time: 252 ms - * Timestamp: 10/27/2023 3:05:42 AM + * Decompile Time: 4 ms + * Timestamp: 10/28/2023 12:14:01 AM *******************************************************************/ #include common_scripts/utility; @@ -129,8 +129,12 @@ watchdevnotify() for(;;) { takeoff_rocket = GetDvarInt(#"12AE1013"); - level notify("dev_takeoff_rocket",takeoff_rocket != startvalue); - startvalue = takeoff_rocket; + if(takeoff_rocket != startvalue) + { + level notify("dev_takeoff_rocket"); + startvalue = takeoff_rocket; + } + wait(0.2); } #/ @@ -159,13 +163,12 @@ devgui_endgame() level notify("debug_end_takeoff"); wait(1); visionsetnaked("mp_takeoff",0.1); - i = 0; - for(;;) + for(i = 0;i < level.players.size;i++) { player = level.players[i]; player cameraactivate(0); - i++; } + stop_exploder(1001); rocket delete(); rocket = spawn("script_model",rocketorigin); @@ -173,7 +176,6 @@ devgui_endgame() rocket setmodel(rocketmodel); level.mptakeoffrocket = rocket; } -i < level.players.size #/ } diff --git a/BO2/Xbox/MP/maps/mp/mp_turbine.gsc b/BO2/Xbox/MP/maps/mp/mp_turbine.gsc index bb7a675..42ddfbf 100644 --- a/BO2/Xbox/MP/maps/mp/mp_turbine.gsc +++ b/BO2/Xbox/MP/maps/mp/mp_turbine.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 4 - * Decompile Time: 81 ms - * Timestamp: 10/27/2023 3:05:42 AM + * Decompile Time: 2 ms + * Timestamp: 10/28/2023 12:14:01 AM *******************************************************************/ #include maps/mp/_compass; diff --git a/BO2/Xbox/MP/maps/mp/mp_uplink.gsc b/BO2/Xbox/MP/maps/mp/mp_uplink.gsc index 52a7943..fc1fdb2 100644 --- a/BO2/Xbox/MP/maps/mp/mp_uplink.gsc +++ b/BO2/Xbox/MP/maps/mp/mp_uplink.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 4 - * Decompile Time: 83 ms - * Timestamp: 10/27/2023 3:05:43 AM + * Decompile Time: 11 ms + * Timestamp: 10/28/2023 12:14:01 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/Xbox/MP/maps/mp/mp_vertigo.gsc b/BO2/Xbox/MP/maps/mp/mp_vertigo.gsc index 5b5d087..bb4d666 100644 --- a/BO2/Xbox/MP/maps/mp/mp_vertigo.gsc +++ b/BO2/Xbox/MP/maps/mp/mp_vertigo.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 8 - * Decompile Time: 28 ms - * Timestamp: 10/27/2023 3:05:43 AM + * Decompile Time: 3 ms + * Timestamp: 10/28/2023 12:14:02 AM *******************************************************************/ #include maps/mp/_compass; diff --git a/BO2/Xbox/MP/maps/mp/mp_village.gsc b/BO2/Xbox/MP/maps/mp/mp_village.gsc index fed3091..4de0053 100644 --- a/BO2/Xbox/MP/maps/mp/mp_village.gsc +++ b/BO2/Xbox/MP/maps/mp/mp_village.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 4 - * Decompile Time: 61 ms - * Timestamp: 10/27/2023 3:05:44 AM + * Decompile Time: 5 ms + * Timestamp: 10/28/2023 12:14:02 AM *******************************************************************/ #include maps/mp/_compass; diff --git a/BO2/Xbox/MP/maps/mp/teams/_teams.gsc b/BO2/Xbox/MP/maps/mp/teams/_teams.gsc index 470f630..5e6245f 100644 --- a/BO2/Xbox/MP/maps/mp/teams/_teams.gsc +++ b/BO2/Xbox/MP/maps/mp/teams/_teams.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 17 - * Decompile Time: 42 ms - * Timestamp: 10/27/2023 3:04:48 AM + * Decompile Time: 2 ms + * Timestamp: 10/28/2023 12:13:41 AM *******************************************************************/ #include maps/mp/_utility; diff --git a/BO2/Xbox/MP/maps/mp/teams/_teamset.gsc b/BO2/Xbox/MP/maps/mp/teams/_teamset.gsc index 26fad3a..efcc546 100644 --- a/BO2/Xbox/MP/maps/mp/teams/_teamset.gsc +++ b/BO2/Xbox/MP/maps/mp/teams/_teamset.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 2 - * Decompile Time: 4 ms - * Timestamp: 10/27/2023 3:04:48 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:13:41 AM *******************************************************************/ //Function Number: 1 diff --git a/BO2/Xbox/Test/Core_CompiledScript_Works.gsc b/BO2/Xbox/Test/Core_CompiledScript_Works.gsc deleted file mode 100644 index 72462f9..0000000 --- a/BO2/Xbox/Test/Core_CompiledScript_Works.gsc +++ /dev/null @@ -1 +0,0 @@ -Failed to decompile this file, open a ticket if you need this fixed. \ No newline at end of file diff --git a/BO2/Xbox/Test/_compass.gsc b/BO2/Xbox/Test/_compass.gsc deleted file mode 100644 index cc7658a..0000000 --- a/BO2/Xbox/Test/_compass.gsc +++ /dev/null @@ -1,82 +0,0 @@ -/******************************************************************* - * Decompiled By: Bog - * Decompiled File: _compass.gsc - * Game: Call of Duty: Black Ops 2 - * Platform: Console - * Function Count: 2 - * Decompile Time: 40 ms - * Timestamp: 10/27/2023 3:05:45 AM -*******************************************************************/ - -//Function Number: 1 -setupminimap(material) -{ - requiredmapaspectratio = GetDvarFloat(#"33CF364A"); - corners = getentarray("minimap_corner","targetname"); - if(corners.size != 2) - { -/# - println("^1Error: There are not exactly two \"minimap_corner\" entities in the map. Could not set up minimap."); -#/ - return; - } - - corner0 = (corners[0].origin[0],corners[0].origin[1],0); - corner1 = (corners[1].origin[0],corners[1].origin[1],0); - cornerdiff = corner1 - corner0; - north = (cos(getnorthyaw()),sin(getnorthyaw()),0); - west = (0 - north[1],north[0],0); - if(vectordot(cornerdiff,west) > 0) - { - if(vectordot(cornerdiff,north) > 0) - { - northwest = corner1; - southeast = corner0; - } - else - { - side = vecscale(north,vectordot(cornerdiff,north)); - northwest = corner1 - side; - southeast = corner0 + side; - } - } - else if(vectordot(cornerdiff,north) > 0) - { - side = vecscale(north,vectordot(cornerdiff,north)); - northwest = corner0 + side; - southeast = corner1 - side; - } - else - { - northwest = corner0; - southeast = corner1; - } - - if(requiredmapaspectratio > 0) - { - northportion = vectordot(northwest - southeast,north); - westportion = vectordot(northwest - southeast,west); - mapaspectratio = westportion / northportion; - if(mapaspectratio < requiredmapaspectratio) - { - incr = requiredmapaspectratio / mapaspectratio; - addvec = vecscale(west,westportion * incr - 1 * 0.5); - } - else - { - incr = mapaspectratio / requiredmapaspectratio; - addvec = vecscale(north,northportion * incr - 1 * 0.5); - } - - northwest = northwest + addvec; - southeast = southeast - addvec; - } - - setminimap(material,northwest[0],northwest[1],southeast[0],southeast[1]); -} - -//Function Number: 2 -vecscale(vec,scalar) -{ - return (vec[0] * scalar,vec[1] * scalar,vec[2] * scalar); -} \ No newline at end of file diff --git a/BO2/Xbox/ZM/codescripts/character.gsc b/BO2/Xbox/ZM/codescripts/character.gsc index ff2f8f3..5a6b002 100644 --- a/BO2/Xbox/ZM/codescripts/character.gsc +++ b/BO2/Xbox/ZM/codescripts/character.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 12 - * Decompile Time: 31 ms - * Timestamp: 10/27/2023 3:05:46 AM + * Decompile Time: 7 ms + * Timestamp: 10/28/2023 12:14:03 AM *******************************************************************/ //Function Number: 1 @@ -68,9 +68,8 @@ save() { /# println("save: Guy had no name!"); -#/ } - +#/ attachsize = self getattachsize(); for(i = 0;i < attachsize;i++) { @@ -101,9 +100,8 @@ load(info) { /# println("Load: Guy had no name!"); -#/ } - +#/ attachinfo = info["attach"]; attachsize = attachinfo.size; for(i = 0;i < attachsize;i++) @@ -125,9 +123,8 @@ precache(info) { /# println("Precache: Guy had no name!"); -#/ } - +#/ precachemodel(info["model"]); attachinfo = info["attach"]; attachsize = attachinfo.size; diff --git a/BO2/Xbox/ZM/codescripts/character_mp.gsc b/BO2/Xbox/ZM/codescripts/character_mp.gsc index 4249e59..78f06f8 100644 --- a/BO2/Xbox/ZM/codescripts/character_mp.gsc +++ b/BO2/Xbox/ZM/codescripts/character_mp.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 3 - * Decompile Time: 4 ms - * Timestamp: 10/27/2023 3:05:46 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:14:03 AM *******************************************************************/ #include codescripts/character; diff --git a/BO2/Xbox/ZM/codescripts/delete.gsc b/BO2/Xbox/ZM/codescripts/delete.gsc index 074a237..eacb05e 100644 --- a/BO2/Xbox/ZM/codescripts/delete.gsc +++ b/BO2/Xbox/ZM/codescripts/delete.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 1 - * Decompile Time: 3 ms - * Timestamp: 10/27/2023 3:05:47 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:14:04 AM *******************************************************************/ //Function Number: 1 @@ -18,11 +18,15 @@ main() if(IsDefined(self)) { /# - println(""); - println("*** trigger debug: delete.gsc is deleting trigger with ent#: " + self getentitynumber() + " at origin: " + self.origin); - println(""); -self.classname == "trigger_once" || self.classname == "trigger_radius" || self.classname == "trigger_multiple" -IsDefined(self.classname) + if(IsDefined(self.classname)) + { + if(self.classname == "trigger_once" || self.classname == "trigger_radius" || self.classname == "trigger_multiple") + { + println(""); + println("*** trigger debug: delete.gsc is deleting trigger with ent#: " + self getentitynumber() + " at origin: " + self.origin); + println(""); + } + } #/ self delete(); } diff --git a/BO2/Xbox/ZM/common_scripts/utility.gsc b/BO2/Xbox/ZM/common_scripts/utility.gsc index 75a0f53..4ee0793 100644 --- a/BO2/Xbox/ZM/common_scripts/utility.gsc +++ b/BO2/Xbox/ZM/common_scripts/utility.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 124 - * Decompile Time: 321 ms - * Timestamp: 10/27/2023 3:05:48 AM + * Decompile Time: 25 ms + * Timestamp: 10/28/2023 12:14:04 AM *******************************************************************/ //Function Number: 1 @@ -385,14 +385,11 @@ vector_compare(vec1,vec2) draw_debug_line(start,end,timer) { /# - i = 0; - for(;;) + for(i = 0;i < timer * 20;i++) { line(start,end,(1,1,0.5)); wait(0.05); - i++; } -i < timer * 20 #/ } @@ -863,8 +860,8 @@ flag_delete(flagname) { /# println("flag_delete() called on flag that does not exist: " + flagname); -#/ } +#/ } //Function Number: 51 @@ -889,9 +886,8 @@ flag_init(flagname,val,b_is_trigger) { /# assert(!IsDefined(level.flag[flagname]),"Attempt to reinitialize existing flag: " + flagname); -#/ } - +#/ if(IsDefined(val) && val) { level.flag[flagname] = 1; @@ -1473,9 +1469,9 @@ trigger_use(str_name,str_key,ent,b_assert) { /# assertmsg("trigger not found: " + str_name + " key: " + str_key); -#/ - return; } +#/ + return; } } else @@ -1567,13 +1563,27 @@ init_trigger_flags() //Function Number: 83 is_look_trigger(trig) { - return IsDefined(trig) ? trig has_spawnflag(256) && !(!IsDefined(trig.classname) && !IsDefined("trigger_damage")) || IsDefined(trig.classname) && IsDefined("trigger_damage") && trig.classname == "trigger_damage" : 0; + if(IsDefined(trig)) + { + } + else + { + } + + return 0; } //Function Number: 84 is_trigger_once(trig) { - return IsDefined(trig) ? trig has_spawnflag(1024) || (!IsDefined(self.classname) && !IsDefined("trigger_once")) || IsDefined(self.classname) && IsDefined("trigger_once") && self.classname == "trigger_once" : 0; + if(IsDefined(trig)) + { + } + else + { + } + + return 0; } //Function Number: 85 @@ -1742,11 +1752,14 @@ fileprint_chk(file,str) { /# level.fileprintlinecount++; - wait(0.05); - level.fileprintlinecount++; - level.fileprintlinecount = 0; + if(level.fileprintlinecount > 400) + { + wait(0.05); + level.fileprintlinecount++; + level.fileprintlinecount = 0; + } + fprintln(file,str); -level.fileprintlinecount > 400 #/ } @@ -1765,11 +1778,14 @@ fileprint_map_header(binclude_blank_worldspawn) fileprint_chk(level.fileprint,"iwmap 4"); fileprint_chk(level.fileprint,"\"000_Global\" flags active"); fileprint_chk(level.fileprint,"\"The Map\" flags"); - return; + if(!(binclude_blank_worldspawn)) + { + return; + } + fileprint_map_entity_start(); fileprint_map_keypairprint("classname","worldspawn"); fileprint_map_entity_end(); -binclude_blank_worldspawn #/ } @@ -1824,29 +1840,32 @@ fileprint_end() assert(!IsDefined(level.fileprint_entitystart)); #/ saved = closefile(level.fileprint); - println("-----------------------------------"); - println(" "); - println("file write failure"); - println("file with name: " + level.fileprint_filename); - println("make sure you checkout the file you are trying to save"); - println("note: USE P4 Search to find the file and check that one out"); - println(" Do not checkin files in from the xenonoutput folder, "); - println(" this is junctioned to the proper directory where you need to go"); - println("junctions looks like this"); - println(" "); - println("..\\xenonOutput\\scriptdata\\createfx ..\\share\\raw\\maps\\createfx"); - println("..\\xenonOutput\\scriptdata\\createart ..\\share\\raw\\maps\\createart"); - println("..\\xenonOutput\\scriptdata\\vision ..\\share\\raw\\vision"); - println("..\\xenonOutput\\scriptdata\\scriptgen ..\\share\\raw\\maps\\scriptgen"); - println("..\\xenonOutput\\scriptdata\\zone_source ..\\xenon\\zone_source"); - println("..\\xenonOutput\\accuracy ..\\share\\raw\\accuracy"); - println("..\\xenonOutput\\scriptdata\\map_source ..\\map_source\\xenon_export"); - println(" "); - println("-----------------------------------"); - println("File not saved( see console.log for info ) "); + if(saved != 1) + { + println("-----------------------------------"); + println(" "); + println("file write failure"); + println("file with name: " + level.fileprint_filename); + println("make sure you checkout the file you are trying to save"); + println("note: USE P4 Search to find the file and check that one out"); + println(" Do not checkin files in from the xenonoutput folder, "); + println(" this is junctioned to the proper directory where you need to go"); + println("junctions looks like this"); + println(" "); + println("..\\xenonOutput\\scriptdata\\createfx ..\\share\\raw\\maps\\createfx"); + println("..\\xenonOutput\\scriptdata\\createart ..\\share\\raw\\maps\\createart"); + println("..\\xenonOutput\\scriptdata\\vision ..\\share\\raw\\vision"); + println("..\\xenonOutput\\scriptdata\\scriptgen ..\\share\\raw\\maps\\scriptgen"); + println("..\\xenonOutput\\scriptdata\\zone_source ..\\xenon\\zone_source"); + println("..\\xenonOutput\\accuracy ..\\share\\raw\\accuracy"); + println("..\\xenonOutput\\scriptdata\\map_source ..\\map_source\\xenon_export"); + println(" "); + println("-----------------------------------"); + println("File not saved( see console.log for info ) "); + } + level.fileprint = undefined; level.fileprint_filename = undefined; -saved != 1 #/ } diff --git a/BO2/Xbox/ZM/maps/mp/_art.gsc b/BO2/Xbox/ZM/maps/mp/_art.gsc index 51712ba..ac3cf38 100644 --- a/BO2/Xbox/ZM/maps/mp/_art.gsc +++ b/BO2/Xbox/ZM/maps/mp/_art.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 14 - * Decompile Time: 54 ms - * Timestamp: 10/27/2023 3:06:23 AM + * Decompile Time: 6 ms + * Timestamp: 10/28/2023 12:14:20 AM *******************************************************************/ #include common_scripts/utility; @@ -15,13 +15,41 @@ main() { /# - setdvar("scr_art_tweak",0); - setdvar("scr_dof_enable","1"); - setdvar("scr_cinematic_autofocus","1"); - setdvar("scr_art_visionfile",level.script); - setdvar("debug_reflection","0"); - setdvar("debug_reflection_matte","0"); - setdvar("debug_color_pallete","0"); + if(GetDvar(#"5E997AE") == "" || GetDvar(#"5E997AE") == "0") + { + setdvar("scr_art_tweak",0); + } + + if(GetDvar(#"628ADECB") == "") + { + setdvar("scr_dof_enable","1"); + } + + if(GetDvar(#"69E20811") == "") + { + setdvar("scr_cinematic_autofocus","1"); + } + + if(GetDvar(#"FE68F88A") == "" && IsDefined(level.script)) + { + setdvar("scr_art_visionfile",level.script); + } + + if(GetDvar(#"628768B6") == "") + { + setdvar("debug_reflection","0"); + } + + if(GetDvar(#"33E24970") == "") + { + setdvar("debug_reflection_matte","0"); + } + + if(GetDvar(#"C450CB50") == "") + { + setdvar("debug_color_pallete","0"); + } + precachemodel("test_sphere_lambert"); precachemodel("test_macbeth_chart"); precachemodel("test_macbeth_chart_unlit"); @@ -29,13 +57,6 @@ main() level thread debug_reflection(); level thread debug_reflection_matte(); level thread debug_color_pallete(); -GetDvar(#"C450CB50") == "" -GetDvar(#"33E24970") == "" -GetDvar(#"628768B6") == "" -GetDvar(#"FE68F88A") == "" && IsDefined(level.script) -GetDvar(#"69E20811") == "" -GetDvar(#"628ADECB") == "" -GetDvar(#"5E997AE") == "" || GetDvar(#"5E997AE") == "0" #/ if(!(IsDefined(level.dofdefault))) { @@ -61,9 +82,12 @@ GetDvar(#"5E997AE") == "" || GetDvar(#"5E997AE") == "0" artfxprintln(file,string) { /# - return; + if(file == -1) + { + return; + } + fprintln(file,string); -file == -1 #/ } @@ -120,11 +144,19 @@ setfogsliders() tweakart() { /# - level.tweakfile = 0; - setdvar("scr_fog_exp_halfplane","500"); - setdvar("scr_fog_exp_halfheight","500"); - setdvar("scr_fog_nearplane","0"); - setdvar("scr_fog_baseheight","0"); + if(!(IsDefined(level.tweakfile))) + { + level.tweakfile = 0; + } + + if(GetDvar(#"829C0FDB") == "") + { + setdvar("scr_fog_exp_halfplane","500"); + setdvar("scr_fog_exp_halfheight","500"); + setdvar("scr_fog_nearplane","0"); + setdvar("scr_fog_baseheight","0"); + } + setdvar("scr_fog_fraction","1.0"); setdvar("scr_art_dump","0"); setdvar("scr_art_sun_fog_dir_set","0"); @@ -139,27 +171,32 @@ tweakart() tweak_toggle = 1; for(;;) { - for(;;) + while(GetDvarInt(#"5E997AE") == 0) { tweak_toggle = 1; wait(0.05); } - tweak_toggle = 0; - fogsettings = getfogsettings(); - setdvar("scr_fog_nearplane",fogsettings[0]); - setdvar("scr_fog_exp_halfplane",fogsettings[1]); - setdvar("scr_fog_exp_halfheight",fogsettings[3]); - setdvar("scr_fog_baseheight",fogsettings[2]); - setdvar("scr_fog_color",fogsettings[4] + " " + fogsettings[5] + " " + fogsettings[6]); - setdvar("scr_fog_color_scale",fogsettings[7]); - setdvar("scr_sun_fog_color",fogsettings[8] + " " + fogsettings[9] + " " + fogsettings[10]); - level.fogsundir = []; - level.fogsundir[0] = fogsettings[11]; - level.fogsundir[1] = fogsettings[12]; - level.fogsundir[2] = fogsettings[13]; - setdvar("scr_sun_fog_start_angle",fogsettings[14]); - setdvar("scr_sun_fog_end_angle",fogsettings[15]); - setdvar("scr_fog_max_opacity",fogsettings[16]); + + if(tweak_toggle) + { + tweak_toggle = 0; + fogsettings = getfogsettings(); + setdvar("scr_fog_nearplane",fogsettings[0]); + setdvar("scr_fog_exp_halfplane",fogsettings[1]); + setdvar("scr_fog_exp_halfheight",fogsettings[3]); + setdvar("scr_fog_baseheight",fogsettings[2]); + setdvar("scr_fog_color",fogsettings[4] + " " + fogsettings[5] + " " + fogsettings[6]); + setdvar("scr_fog_color_scale",fogsettings[7]); + setdvar("scr_sun_fog_color",fogsettings[8] + " " + fogsettings[9] + " " + fogsettings[10]); + level.fogsundir = []; + level.fogsundir[0] = fogsettings[11]; + level.fogsundir[1] = fogsettings[12]; + level.fogsundir[2] = fogsettings[13]; + setdvar("scr_sun_fog_start_angle",fogsettings[14]); + setdvar("scr_sun_fog_end_angle",fogsettings[15]); + setdvar("scr_fog_max_opacity",fogsettings[16]); + } + level.fogexphalfplane = GetDvarFloat(#"B59305FE"); level.fogexphalfheight = GetDvarFloat(#"54D01B47"); level.fognearplane = GetDvarFloat(#"5C40223D"); @@ -174,29 +211,39 @@ tweakart() level.sunstartangle = GetDvarFloat(#"ECC36390"); level.sunendangle = GetDvarFloat(#"FA1301D9"); level.fogmaxopacity = GetDvarFloat(#"81EA8425"); - setdvar("scr_art_sun_fog_dir_set","0"); - println("Setting sun fog direction to facing of player"); - players = get_players(); - dir = vectornormalize(AnglesToForward(players[0] getplayerangles())); - level.fogsundir = []; - level.fogsundir[0] = dir[0]; - level.fogsundir[1] = dir[1]; - level.fogsundir[2] = dir[2]; + if(GetDvarInt(#"9EF57A6C")) + { + setdvar("scr_art_sun_fog_dir_set","0"); + println("Setting sun fog direction to facing of player"); + players = get_players(); + dir = vectornormalize(AnglesToForward(players[0] getplayerangles())); + level.fogsundir = []; + level.fogsundir[0] = dir[0]; + level.fogsundir[1] = dir[1]; + level.fogsundir[2] = dir[2]; + } + fovslidercheck(); dumpsettings(); - level.fogsundir = []; - level.fogsundir[0] = 1; - level.fogsundir[1] = 0; - level.fogsundir[2] = 0; - setvolfog(level.fognearplane,level.fogexphalfplane,level.fogexphalfheight,level.fogbaseheight,level.fogcolorred,level.fogcolorgreen,level.fogcolorblue,level.fogcolorscale,level.sunfogcolorred,level.sunfogcolorgreen,level.sunfogcolorblue,level.fogsundir[0],level.fogsundir[1],level.fogsundir[2],level.sunstartangle,level.sunendangle,0,level.fogmaxopacity); - setexpfog(100000000,100000001,0,0,0,0); + if(!(GetDvarInt(#"DBBD8F3B"))) + { + if(!(IsDefined(level.fogsundir))) + { + level.fogsundir = []; + level.fogsundir[0] = 1; + level.fogsundir[1] = 0; + level.fogsundir[2] = 0; + } + + setvolfog(level.fognearplane,level.fogexphalfplane,level.fogexphalfheight,level.fogbaseheight,level.fogcolorred,level.fogcolorgreen,level.fogcolorblue,level.fogcolorscale,level.sunfogcolorred,level.sunfogcolorgreen,level.sunfogcolorblue,level.fogsundir[0],level.fogsundir[1],level.fogsundir[2],level.sunstartangle,level.sunendangle,0,level.fogmaxopacity); + } + else + { + setexpfog(100000000,100000001,0,0,0,0); + } + wait(0.1); } -(GetDvarInt(#"9EF57A6C")) ? GetDvarInt(#"DBBD8F3B") : IsDefined(level.fogsundir) -tweak_toggle -GetDvarInt(#"5E997AE") == 0 -GetDvar(#"829C0FDB") == "" -IsDefined(level.tweakfile) #/ } @@ -244,30 +291,32 @@ fovslidercheck() dumpsettings() { /# - println("\tstart_dist = " + level.fognearplane + ";"); - println("\thalf_dist = " + level.fogexphalfplane + ";"); - println("\thalf_height = " + level.fogexphalfheight + ";"); - println("\tbase_height = " + level.fogbaseheight + ";"); - println("\tfog_r = " + level.fogcolorred + ";"); - println("\tfog_g = " + level.fogcolorgreen + ";"); - println("\tfog_b = " + level.fogcolorblue + ";"); - println("\tfog_scale = " + level.fogcolorscale + ";"); - println("\tsun_col_r = " + level.sunfogcolorred + ";"); - println("\tsun_col_g = " + level.sunfogcolorgreen + ";"); - println("\tsun_col_b = " + level.sunfogcolorblue + ";"); - println("\tsun_dir_x = " + level.fogsundir[0] + ";"); - println("\tsun_dir_y = " + level.fogsundir[1] + ";"); - println("\tsun_dir_z = " + level.fogsundir[2] + ";"); - println("\tsun_start_ang = " + level.sunstartangle + ";"); - println("\tsun_stop_ang = " + level.sunendangle + ";"); - println("\ttime = 0;"); - println("\tmax_fog_opacity = " + level.fogmaxopacity + ";"); - println(""); - println("\tsetVolFog(start_dist, half_dist, half_height, base_height, fog_r, fog_g, fog_b, fog_scale,"); - println("\t\tsun_col_r, sun_col_g, sun_col_b, sun_dir_x, sun_dir_y, sun_dir_z, sun_start_ang, "); - println("\t\tsun_stop_ang, time, max_fog_opacity);"); - setdvar("scr_art_dump","0"); -GetDvar(#"D1996D68") != "0" + if(GetDvar(#"D1996D68") != "0") + { + println("\tstart_dist = " + level.fognearplane + ";"); + println("\thalf_dist = " + level.fogexphalfplane + ";"); + println("\thalf_height = " + level.fogexphalfheight + ";"); + println("\tbase_height = " + level.fogbaseheight + ";"); + println("\tfog_r = " + level.fogcolorred + ";"); + println("\tfog_g = " + level.fogcolorgreen + ";"); + println("\tfog_b = " + level.fogcolorblue + ";"); + println("\tfog_scale = " + level.fogcolorscale + ";"); + println("\tsun_col_r = " + level.sunfogcolorred + ";"); + println("\tsun_col_g = " + level.sunfogcolorgreen + ";"); + println("\tsun_col_b = " + level.sunfogcolorblue + ";"); + println("\tsun_dir_x = " + level.fogsundir[0] + ";"); + println("\tsun_dir_y = " + level.fogsundir[1] + ";"); + println("\tsun_dir_z = " + level.fogsundir[2] + ";"); + println("\tsun_start_ang = " + level.sunstartangle + ";"); + println("\tsun_stop_ang = " + level.sunendangle + ";"); + println("\ttime = 0;"); + println("\tmax_fog_opacity = " + level.fogmaxopacity + ";"); + println(""); + println("\tsetVolFog(start_dist, half_dist, half_height, base_height, fog_r, fog_g, fog_b, fog_scale,"); + println("\t\tsun_col_r, sun_col_g, sun_col_b, sun_dir_x, sun_dir_y, sun_dir_z, sun_start_ang, "); + println("\t\tsun_stop_ang, time, max_fog_opacity);"); + setdvar("scr_art_dump","0"); + } #/ } @@ -276,31 +325,41 @@ debug_reflection() { /# level.debug_reflection = 0; - for(;;) + while(1) { wait(0.1); - remove_reflection_objects(); - create_reflection_objects(); - level.debug_reflection = 2; - continue; - create_reflection_objects(); - create_reflection_object(); - level.debug_reflection = 3; - continue; - setdvar("debug_reflection_matte","0"); - setdvar("debug_color_pallete","0"); - remove_reflection_objects(); - create_reflection_object(); - level.debug_reflection = 1; - continue; - remove_reflection_objects(); - level.debug_reflection = 0; + if((GetDvar(#"628768B6") == "2" && level.debug_reflection != 2) || GetDvar(#"628768B6") == "3" && level.debug_reflection != 3) + { + remove_reflection_objects(); + if(GetDvar(#"628768B6") == "2") + { + create_reflection_objects(); + level.debug_reflection = 2; + continue; + } + + create_reflection_objects(); + create_reflection_object(); + level.debug_reflection = 3; + continue; + } + + if(GetDvar(#"628768B6") == "1" && level.debug_reflection != 1) + { + setdvar("debug_reflection_matte","0"); + setdvar("debug_color_pallete","0"); + remove_reflection_objects(); + create_reflection_object(); + level.debug_reflection = 1; + continue; + } + + if(GetDvar(#"628768B6") == "0" && level.debug_reflection != 0) + { + remove_reflection_objects(); + level.debug_reflection = 0; + } } -GetDvar(#"628768B6") == "0" && level.debug_reflection != 0 -GetDvar(#"628768B6") == "1" && level.debug_reflection != 1 -GetDvar(#"628768B6") == "2" -(GetDvar(#"628768B6") == "2" && level.debug_reflection != 2) || GetDvar(#"628768B6") == "3" && level.debug_reflection != 3 -1 #/ } @@ -308,18 +367,23 @@ GetDvar(#"628768B6") == "2" remove_reflection_objects() { /# - i = 0; - for(;;) + if((level.debug_reflection == 2 || level.debug_reflection == 3) && IsDefined(level.debug_reflection_objects)) { - level.debug_reflection_objects[i] delete(); - i++; + for(i = 0;i < level.debug_reflection_objects.size;i++) + { + level.debug_reflection_objects[i] delete(); + } + + level.debug_reflection_objects = undefined; + } + + if(level.debug_reflection == 1 || level.debug_reflection == 3 || level.debug_reflection_matte == 1 || level.debug_color_pallete == 1 || level.debug_color_pallete == 2) + { + if(IsDefined(level.debug_reflectionobject)) + { + level.debug_reflectionobject delete(); + } } - level.debug_reflection_objects = undefined; - level.debug_reflectionobject delete(); -IsDefined(level.debug_reflectionobject) -level.debug_reflection == 1 || level.debug_reflection == 3 || level.debug_reflection_matte == 1 || level.debug_color_pallete == 1 || level.debug_color_pallete == 2 -i < level.debug_reflection_objects.size -(level.debug_reflection == 2 || level.debug_reflection == 3) && IsDefined(level.debug_reflection_objects) #/ } @@ -328,14 +392,11 @@ create_reflection_objects() { /# reflection_locs = getreflectionlocs(); - i = 0; - for(;;) + for(i = 0;i < reflection_locs.size;i++) { level.debug_reflection_objects[i] = spawn("script_model",reflection_locs[i]); level.debug_reflection_objects[i] setmodel("test_sphere_silver"); - i++; } -i < reflection_locs.size #/ } @@ -348,7 +409,11 @@ create_reflection_object(model) } /# - level.debug_reflectionobject delete(); + if(IsDefined(level.debug_reflectionobject)) + { + level.debug_reflectionobject delete(); + } + players = get_players(); player = players[0]; level.debug_reflectionobject = spawn("script_model",100 + VectorScale(AnglesToForward(player.angles))); @@ -356,9 +421,6 @@ create_reflection_object(model) level.debug_reflectionobject.origin = 100 + VectorScale(AnglesToForward(player getplayerangles())); level.debug_reflectionobject linkto(player); thread debug_reflection_buttons(); -player geteye() -player geteye() -IsDefined(level.debug_reflectionobject) #/ } @@ -371,13 +433,29 @@ debug_reflection_buttons() level.debug_reflectionobject endon("death"); offset = 100; lastoffset = offset; - for(;;) + while(GetDvar(#"628768B6") == "1" || GetDvar(#"628768B6") == "3" || GetDvar(#"33E24970") == "1" || GetDvar(#"C450CB50") == "1" || GetDvar(#"C450CB50") == "2") { players = get_players(); - offset = offset + 50; - offset = offset - 50; - offset = 1000; - offset = 64; + if(players[0] buttonpressed("BUTTON_X")) + { + offset = offset + 50; + } + + if(players[0] buttonpressed("BUTTON_Y")) + { + offset = offset - 50; + } + + if(offset > 1000) + { + offset = 1000; + } + + if(offset < 64) + { + offset = 64; + } + level.debug_reflectionobject unlink(); level.debug_reflectionobject.origin = offset + VectorScale(AnglesToForward(players[0] getplayerangles())); temp_angles = VectorToAngles(players[0].origin - level.debug_reflectionobject.origin); @@ -385,15 +463,11 @@ debug_reflection_buttons() lastoffset = offset; line(level.debug_reflectionobject.origin,getreflectionorigin(level.debug_reflectionobject.origin),(1,0,0),1,1); wait(0.05); - level.debug_reflectionobject linkto(players[0]); + if(IsDefined(level.debug_reflectionobject)) + { + level.debug_reflectionobject linkto(players[0]); + } } -IsDefined(level.debug_reflectionobject) -players[0] geteye() -offset < 64 -offset > 1000 -players[0] buttonpressed("BUTTON_Y") -players[0] buttonpressed("BUTTON_X") -GetDvar(#"628768B6") == "1" || GetDvar(#"628768B6") == "3" || GetDvar(#"33E24970") == "1" || GetDvar(#"C450CB50") == "1" || GetDvar(#"C450CB50") == "2" #/ } @@ -402,21 +476,25 @@ debug_reflection_matte() { /# level.debug_reflection_matte = 0; - for(;;) + while(1) { wait(0.1); - setdvar("debug_reflection","0"); - setdvar("debug_color_pallete","0"); - remove_reflection_objects(); - create_reflection_object("test_sphere_lambert"); - level.debug_reflection_matte = 1; - continue; - remove_reflection_objects(); - level.debug_reflection_matte = 0; + if(GetDvar(#"33E24970") == "1" && level.debug_reflection_matte != 1) + { + setdvar("debug_reflection","0"); + setdvar("debug_color_pallete","0"); + remove_reflection_objects(); + create_reflection_object("test_sphere_lambert"); + level.debug_reflection_matte = 1; + continue; + } + + if(GetDvar(#"33E24970") == "0" && level.debug_reflection_matte != 0) + { + remove_reflection_objects(); + level.debug_reflection_matte = 0; + } } -GetDvar(#"33E24970") == "0" && level.debug_reflection_matte != 0 -GetDvar(#"33E24970") == "1" && level.debug_reflection_matte != 1 -1 #/ } @@ -425,25 +503,32 @@ debug_color_pallete() { /# level.debug_color_pallete = 0; - for(;;) + while(1) { wait(0.1); - setdvar("debug_reflection","0"); - setdvar("debug_reflection_matte","0"); - remove_reflection_objects(); - create_reflection_object("test_macbeth_chart"); - level.debug_color_pallete = 1; - continue; - remove_reflection_objects(); - create_reflection_object("test_macbeth_chart_unlit"); - level.debug_color_pallete = 2; - continue; - remove_reflection_objects(); - level.debug_color_pallete = 0; + if(GetDvar(#"C450CB50") == "1" && level.debug_color_pallete != 1) + { + setdvar("debug_reflection","0"); + setdvar("debug_reflection_matte","0"); + remove_reflection_objects(); + create_reflection_object("test_macbeth_chart"); + level.debug_color_pallete = 1; + continue; + } + + if(GetDvar(#"C450CB50") == "2" && level.debug_color_pallete != 2) + { + remove_reflection_objects(); + create_reflection_object("test_macbeth_chart_unlit"); + level.debug_color_pallete = 2; + continue; + } + + if(GetDvar(#"C450CB50") == "0" && level.debug_color_pallete != 0) + { + remove_reflection_objects(); + level.debug_color_pallete = 0; + } } -GetDvar(#"C450CB50") == "0" && level.debug_color_pallete != 0 -GetDvar(#"C450CB50") == "2" && level.debug_color_pallete != 2 -GetDvar(#"C450CB50") == "1" && level.debug_color_pallete != 1 -1 #/ } \ No newline at end of file diff --git a/BO2/Xbox/ZM/maps/mp/_audio.gsc b/BO2/Xbox/ZM/maps/mp/_audio.gsc index 371f527..e99de1f 100644 --- a/BO2/Xbox/ZM/maps/mp/_audio.gsc +++ b/BO2/Xbox/ZM/maps/mp/_audio.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 9 - * Decompile Time: 11 ms - * Timestamp: 10/27/2023 3:06:24 AM + * Decompile Time: 1 ms + * Timestamp: 10/28/2023 12:14:20 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/Xbox/ZM/maps/mp/_ballistic_knife.gsc b/BO2/Xbox/ZM/maps/mp/_ballistic_knife.gsc index fd0ba9f..ca4fb3a 100644 --- a/BO2/Xbox/ZM/maps/mp/_ballistic_knife.gsc +++ b/BO2/Xbox/ZM/maps/mp/_ballistic_knife.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 11 - * Decompile Time: 22 ms - * Timestamp: 10/27/2023 3:06:24 AM + * Decompile Time: 3 ms + * Timestamp: 10/28/2023 12:14:20 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/Xbox/ZM/maps/mp/_bb.gsc b/BO2/Xbox/ZM/maps/mp/_bb.gsc index 81f3820..30d95f1 100644 --- a/BO2/Xbox/ZM/maps/mp/_bb.gsc +++ b/BO2/Xbox/ZM/maps/mp/_bb.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 8 - * Decompile Time: 7 ms - * Timestamp: 10/27/2023 3:06:24 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:14:21 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/Xbox/ZM/maps/mp/_busing.gsc b/BO2/Xbox/ZM/maps/mp/_busing.gsc index 151f8ec..93858dc 100644 --- a/BO2/Xbox/ZM/maps/mp/_busing.gsc +++ b/BO2/Xbox/ZM/maps/mp/_busing.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 2 - * Decompile Time: 1 ms - * Timestamp: 10/27/2023 3:06:24 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:14:21 AM *******************************************************************/ #include maps/mp/_utility; diff --git a/BO2/Xbox/ZM/maps/mp/_challenges.gsc b/BO2/Xbox/ZM/maps/mp/_challenges.gsc index 3ec2197..2071600 100644 --- a/BO2/Xbox/ZM/maps/mp/_challenges.gsc +++ b/BO2/Xbox/ZM/maps/mp/_challenges.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 87 - * Decompile Time: 172 ms - * Timestamp: 10/27/2023 3:06:25 AM + * Decompile Time: 41 ms + * Timestamp: 10/28/2023 12:14:21 AM *******************************************************************/ #include common_scripts/utility; @@ -77,8 +77,10 @@ addflyswatterstat(weapon,aircraft) canprocesschallenges() { /# - return 1; -getdvarintdefault("scr_debug_challenges",0) + if(getdvarintdefault("scr_debug_challenges",0)) + { + return 1; + } #/ if(level.rankedmatch || level.wagermatch) { diff --git a/BO2/Xbox/ZM/maps/mp/_compass.gsc b/BO2/Xbox/ZM/maps/mp/_compass.gsc index a0a0d16..7f7eca0 100644 --- a/BO2/Xbox/ZM/maps/mp/_compass.gsc +++ b/BO2/Xbox/ZM/maps/mp/_compass.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 2 - * Decompile Time: 10 ms - * Timestamp: 10/27/2023 3:06:26 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:14:22 AM *******************************************************************/ //Function Number: 1 diff --git a/BO2/Xbox/ZM/maps/mp/_createfx.gsc b/BO2/Xbox/ZM/maps/mp/_createfx.gsc index a1960a4..41fb3b3 100644 --- a/BO2/Xbox/ZM/maps/mp/_createfx.gsc +++ b/BO2/Xbox/ZM/maps/mp/_createfx.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 98 - * Decompile Time: 267 ms - * Timestamp: 10/27/2023 3:06:27 AM + * Decompile Time: 55 ms + * Timestamp: 10/28/2023 12:14:22 AM *******************************************************************/ #include common_scripts/utility; @@ -176,10 +176,9 @@ fx_init() delete_arrays_in_sp(); /# println("We\'re not in MP!"); -#/ } } - +#/ for(i = 0;i < level.createfxent.size;i++) { ent = level.createfxent[i]; @@ -345,9 +344,14 @@ createfxlogic() filename = level.cfx_server_scriptdata + level.script + "_fx.gsc"; file = openfile(filename,"append"); level.write_error = ""; - level.write_error = filename; - closefile(file); -Stack-Empty ? Stack-Empty : file == -1 + if(file == -1) + { + level.write_error = filename; + } + else + { + closefile(file); + } #/ level.createfxhudelements = []; level.createfx_hudelements = 100; @@ -837,8 +841,7 @@ manipulate_createfx_ents(highlightedent,leftclick,leftheld,ctrlheld,colors,right offset = level.createfx_manipulate_offset; level.createfx_manipulate_offset = level.createfx_manipulate_offset + 1 % print_frames; - i = offset; - while(i < level.createfxent.size) + for(i = offset;i < level.createfxent.size;i = i + print_frames) { ent = level.createfxent[i]; if(!(ent.drawn)) @@ -856,19 +859,17 @@ manipulate_createfx_ents(highlightedent,leftclick,leftheld,ctrlheld,colors,right } /# - print3d(ent.v["origin"],".",colors[ent.v["type"]][colorindex],1,scale,print_frames); + print3d(ent.v["origin"],".",colors[ent.v["type"]][colorindex],1,scale,print_frames); #/ if(ent.textalpha > 0) { printright = VectorScale(right); printup = (0,0,15 * scale); /# - print3d(ent.v["origin"] + printright + printup,ent.v["fxid"],colors[ent.v["type"]][colorindex],ent.textalpha,scale,print_frames); -#/ + print3d(ent.v["origin"] + printright + printup,ent.v["fxid"],colors[ent.v["type"]][colorindex],ent.textalpha,scale,print_frames); } } - - i = Stack-Empty ? ent.v["fxid"].size * -2.93 * scale : i + print_frames; +#/ } if(IsDefined(highlightedent)) @@ -925,9 +926,9 @@ manipulate_createfx_ents(highlightedent,leftclick,leftheld,ctrlheld,colors,right printup = (0,0,15 * scale); /# print3d(highlightedent.v["origin"] + printright + printup,highlightedent.v["fxid"],colors[highlightedent.v["type"]][colorindex],highlightedent.textalpha,scale,1); -#/ } } +#/ } //Function Number: 10 @@ -1495,55 +1496,214 @@ set_anglemod_move_vector() /# ctrlheld = button_is_held("ctrl","BUTTON_LSHLDR"); players = get_players(); - newmovement = players[0] getnormalizedmovement(); - dolly_movement = players[0] getnormalizedcameramovement(); - level.selectedrotate_yaw = level.selectedrotate_yaw - 1; - level.selectedrotate_yaw = level.selectedrotate_yaw + 1; - level.selectedrotate_yaw = 0; - level.selectedrotate_yaw = level.selectedrotate_yaw + 0.1; - level.selectedrotate_yaw = 0; - level.selectedrotate_yaw = level.selectedrotate_yaw - 0.1; - level.selectedrotate_yaw = 0; - level.selectedrotate_pitch = level.selectedrotate_pitch + 1; - level.selectedrotate_pitch = level.selectedrotate_pitch - 1; - level.selectedrotate_pitch = 0; - level.selectedrotate_pitch = level.selectedrotate_pitch + 0.1; - level.selectedrotate_pitch = 0; - level.selectedrotate_pitch = level.selectedrotate_pitch - 0.1; - level.selectedrotate_pitch = 0; - level.selectedrotate_roll = 0; - level.selectedrotate_roll = level.selectedrotate_roll + 0.1; - level.selectedrotate_roll = 0; - level.selectedrotate_roll = level.selectedrotate_roll - 0.1; - level.selectedrotate_roll = 0; - level.selectedrotate_pitch = 0; - level.selectedrotate_pitch = 0.1; - wait(0.05); - level.selectedrotate_pitch = level.selectedrotate_pitch + 1; - level.selectedrotate_pitch = 0; - level.selectedrotate_pitch = -1 * 0.1; - wait(0.05); - level.selectedrotate_pitch = level.selectedrotate_pitch - 1; - level.selectedrotate_pitch = 0; - level.selectedrotate_yaw = 0; - level.selectedrotate_yaw = 0.1; - wait(0.05); - level.selectedrotate_yaw = level.selectedrotate_yaw + 1; - level.selectedrotate_yaw = 0; - level.selectedrotate_yaw = -1 * 0.1; - wait(0.05); - level.selectedrotate_yaw = level.selectedrotate_yaw - 1; - level.selectedrotate_yaw = 0; - level.selectedrotate_roll = 0; - level.selectedrotate_roll = 0.1; - wait(0.05); - level.selectedrotate_roll = level.selectedrotate_roll + 1; - level.selectedrotate_roll = 0; - level.selectedrotate_roll = -1 * 0.1; - wait(0.05); - level.selectedrotate_roll = level.selectedrotate_roll - 1; - level.selectedrotate_roll = 0; -Stack-Empty ? Stack-Empty : (Stack-Empty ? Stack-Empty : ((Stack-Empty ? Stack-Empty : ((Stack-Empty ? Stack-Empty : (((Stack-Empty ? Stack-Empty : ((Stack-Empty ? Stack-Empty : ((level.is_camera_on == 1) ? newmovement[1] <= -0.3 : ((newmovement[1] >= 0.3) ? buttondown("kp_leftarrow","DPAD_LEFT") : ((level.selectedrotate_yaw < 0) ? buttondown("kp_rightarrow","DPAD_RIGHT") : level.selectedrotate_yaw > 0)))) ? dolly_movement[0] <= -0.2 : ((dolly_movement[0] >= 0.2) ? buttondown("kp_uparrow","DPAD_UP") : ((level.selectedrotate_pitch < 0) ? buttondown("kp_downarrow","DPAD_DOWN") : level.selectedrotate_pitch > 0)))) ? buttondown("BUTTON_Y") : ((level.selectedrotate_roll < 0) ? buttondown("BUTTON_B") : level.selectedrotate_roll > 0)) ? ((buttondown("kp_uparrow","DPAD_UP")) ? level.selectedrotate_pitch < 0 : ctrlheld) : ((buttondown("kp_downarrow","DPAD_DOWN")) ? level.selectedrotate_pitch > 0 : ctrlheld))) ? ((buttondown("kp_leftarrow","DPAD_LEFT")) ? level.selectedrotate_yaw < 0 : ctrlheld) : ((buttondown("kp_rightarrow","DPAD_RIGHT")) ? level.selectedrotate_yaw > 0 : ctrlheld))) ? ((buttondown("BUTTON_Y")) ? level.selectedrotate_roll < 0 : ctrlheld) : ((buttondown("BUTTON_B")) ? level.selectedrotate_roll > 0 : ctrlheld))) + if(level.is_camera_on == 1) + { + newmovement = players[0] getnormalizedmovement(); + dolly_movement = players[0] getnormalizedcameramovement(); + if(newmovement[1] <= -0.3) + { + level.selectedrotate_yaw = level.selectedrotate_yaw - 1; + } + else if(newmovement[1] >= 0.3) + { + level.selectedrotate_yaw = level.selectedrotate_yaw + 1; + } + else if(buttondown("kp_leftarrow","DPAD_LEFT")) + { + if(level.selectedrotate_yaw < 0) + { + level.selectedrotate_yaw = 0; + } + + level.selectedrotate_yaw = level.selectedrotate_yaw + 0.1; + } + else if(buttondown("kp_rightarrow","DPAD_RIGHT")) + { + if(level.selectedrotate_yaw > 0) + { + level.selectedrotate_yaw = 0; + } + + level.selectedrotate_yaw = level.selectedrotate_yaw - 0.1; + } + else + { + level.selectedrotate_yaw = 0; + } + + if(dolly_movement[0] <= -0.2) + { + level.selectedrotate_pitch = level.selectedrotate_pitch + 1; + } + else if(dolly_movement[0] >= 0.2) + { + level.selectedrotate_pitch = level.selectedrotate_pitch - 1; + } + else if(buttondown("kp_uparrow","DPAD_UP")) + { + if(level.selectedrotate_pitch < 0) + { + level.selectedrotate_pitch = 0; + } + + level.selectedrotate_pitch = level.selectedrotate_pitch + 0.1; + } + else if(buttondown("kp_downarrow","DPAD_DOWN")) + { + if(level.selectedrotate_pitch > 0) + { + level.selectedrotate_pitch = 0; + } + + level.selectedrotate_pitch = level.selectedrotate_pitch - 0.1; + } + else + { + level.selectedrotate_pitch = 0; + } + + if(buttondown("BUTTON_Y")) + { + if(level.selectedrotate_roll < 0) + { + level.selectedrotate_roll = 0; + } + + level.selectedrotate_roll = level.selectedrotate_roll + 0.1; + } + else if(buttondown("BUTTON_B")) + { + if(level.selectedrotate_roll > 0) + { + level.selectedrotate_roll = 0; + } + + level.selectedrotate_roll = level.selectedrotate_roll - 0.1; + } + else + { + level.selectedrotate_roll = 0; + } + } + else + { + if(buttondown("kp_uparrow","DPAD_UP")) + { + if(level.selectedrotate_pitch < 0) + { + level.selectedrotate_pitch = 0; + } + + if(ctrlheld) + { + level.selectedrotate_pitch = 0.1; + wait(0.05); + } + else + { + level.selectedrotate_pitch = level.selectedrotate_pitch + 1; + } + } + else if(buttondown("kp_downarrow","DPAD_DOWN")) + { + if(level.selectedrotate_pitch > 0) + { + level.selectedrotate_pitch = 0; + } + + if(ctrlheld) + { + level.selectedrotate_pitch = -1 * 0.1; + wait(0.05); + } + else + { + level.selectedrotate_pitch = level.selectedrotate_pitch - 1; + } + } + else + { + level.selectedrotate_pitch = 0; + } + + if(buttondown("kp_leftarrow","DPAD_LEFT")) + { + if(level.selectedrotate_yaw < 0) + { + level.selectedrotate_yaw = 0; + } + + if(ctrlheld) + { + level.selectedrotate_yaw = 0.1; + wait(0.05); + } + else + { + level.selectedrotate_yaw = level.selectedrotate_yaw + 1; + } + } + else if(buttondown("kp_rightarrow","DPAD_RIGHT")) + { + if(level.selectedrotate_yaw > 0) + { + level.selectedrotate_yaw = 0; + } + + if(ctrlheld) + { + level.selectedrotate_yaw = -1 * 0.1; + wait(0.05); + } + else + { + level.selectedrotate_yaw = level.selectedrotate_yaw - 1; + } + } + else + { + level.selectedrotate_yaw = 0; + } + + if(buttondown("BUTTON_Y")) + { + if(level.selectedrotate_roll < 0) + { + level.selectedrotate_roll = 0; + } + + if(ctrlheld) + { + level.selectedrotate_roll = 0.1; + wait(0.05); + } + else + { + level.selectedrotate_roll = level.selectedrotate_roll + 1; + } + } + else if(buttondown("BUTTON_B")) + { + if(level.selectedrotate_roll > 0) + { + level.selectedrotate_roll = 0; + } + + if(ctrlheld) + { + level.selectedrotate_roll = -1 * 0.1; + wait(0.05); + } + else + { + level.selectedrotate_roll = level.selectedrotate_roll - 1; + } + } + else + { + level.selectedrotate_roll = 0; + } + } #/ } @@ -1551,9 +1711,12 @@ Stack-Empty ? Stack-Empty : (Stack-Empty ? Stack-Empty : ((Stack-Empty ? Stack-E cfxprintln(file,string) { /# - return; + if(file == -1) + { + return; + } + fprintln(file,string); -file == -1 #/ } @@ -1582,92 +1745,170 @@ generate_fx_log(type,autosave) { /# autosave = IsDefined(autosave); - filename = level.cfx_server_scriptdata + level.script + "_fx.gsc"; - filename = level.cfx_server_scriptdata + "backup.gsc"; - call_loop = level.cfx_server_loop; - call_oneshot = level.cfx_server_oneshot; - call_exploder = level.cfx_server_exploder; - call_loopsound = level.cfx_server_loopsound; - filename = level.cfx_client_scriptdata + level.script + "_fx.csc"; - filename = level.cfx_client_scriptdata + "backup.csc"; - call_loop = level.cfx_client_loop; - call_oneshot = level.cfx_client_oneshot; - call_exploder = level.cfx_client_exploder; - call_loopsound = level.cfx_client_loopsound; - println("^1Error: Improper type in generate_fx_log()"); - return; - file = openfile(filename,"write"); - level.write_error = filename; - return 1; - return 2; - return 3; - cfxprintln(file,"//_createfx generated. Do not touch!!"); - cfxprintln(file,"main()"); - cfxprintln(file,"{"); - p = 0; - for(;;) + if(type == "server") { - ent = level.createfxent[p]; - origin = []; - angles = []; - i = 0; - for(;;) + if(!(autosave)) { - origin[i] = ent.v["origin"][i]; - angles[i] = ent.v["angles"][i]; - origin[i] = 0; - angles[i] = 0; - i++; + filename = level.cfx_server_scriptdata + level.script + "_fx.gsc"; } - ent.v["origin"] = (origin[0],origin[1],origin[2]); - ent.v["angles"] = (angles[0],angles[1],angles[2]); - p++; + else + { + filename = level.cfx_server_scriptdata + "backup.gsc"; + } + + call_loop = level.cfx_server_loop; + call_oneshot = level.cfx_server_oneshot; + call_exploder = level.cfx_server_exploder; + call_loopsound = level.cfx_server_loopsound; } - println(" *** CREATING EFFECT, COPY THESE LINES TO ",level.script,"_fx.gsc *** "); - cfxprintln(file,"// CreateFX entities placed: " + level.createfxent.size - level.non_fx_ents); - breather = 0; - breather_pause = 1; - breather_pause = 5; - i = 0; - for(;;) + else if(type == "client") { - e = level.createfxent[i]; -/# - assert(IsDefined(e.v["type"]),"effect at origin " + e.v["origin"] + " has no type"); -#/ - output_name = "\t"; - output_props = "\t"; - ent_type = e.v["type"]; - output_name = output_name + "ent = " + call_loop + "( \" + e.v["fxid"] + "\" );"; - output_name = output_name + "ent = " + call_oneshot + "( \" + e.v["fxid"] + "\" );"; - output_name = output_name + "ent = " + call_exploder + "( \" + e.v["fxid"] + "\" );"; - output_name = output_name + "ent = " + call_loopsound + "();"; - output_props = output_props + get_fx_options(e); - cfxprintln(file,output_name); - cfxprintln(file,output_props); - cfxprintln(file,"\t"); - breather++; - wait(0.05); - breather = 0; - i++; + if(!(autosave)) + { + filename = level.cfx_client_scriptdata + level.script + "_fx.csc"; + } + else + { + filename = level.cfx_client_scriptdata + "backup.csc"; + } + + call_loop = level.cfx_client_loop; + call_oneshot = level.cfx_client_oneshot; + call_exploder = level.cfx_client_exploder; + call_loopsound = level.cfx_client_loopsound; } - script_gen_dump_addline(level.cfx_server_scriptgendump,level.script + "_fx"); - [[ level.cfx_func_script_gen_dump ]](); - cfxprintln(file,"}"); - saved = closefile(file); + else + { + println("^1Error: Improper type in generate_fx_log()"); + return; + } + + file = openfile(filename,"write"); + if(file == -1) + { + level.write_error = filename; + if(type == "server") + { + return 1; + } + else if(type == "client") + { + return 2; + } + else + { + return 3; + } + } + else + { + cfxprintln(file,"//_createfx generated. Do not touch!!"); + cfxprintln(file,"main()"); + cfxprintln(file,"{"); + for(p = 0;p < level.createfxent.size;p++) + { + ent = level.createfxent[p]; + origin = []; + angles = []; + for(i = 0;i < 3;i++) + { + origin[i] = ent.v["origin"][i]; + angles[i] = ent.v["angles"][i]; + if(origin[i] < 0.1 && origin[i] > 0.1 * -1) + { + origin[i] = 0; + } + + if(angles[i] < 0.1 && angles[i] > 0.1 * -1) + { + angles[i] = 0; + } + } + + ent.v["origin"] = (origin[0],origin[1],origin[2]); + ent.v["angles"] = (angles[0],angles[1],angles[2]); + } + + if(!(autosave)) + { + println(" *** CREATING EFFECT, COPY THESE LINES TO ",level.script,"_fx.gsc *** "); + } + + cfxprintln(file,"// CreateFX entities placed: " + level.createfxent.size - level.non_fx_ents); + breather = 0; + if(autosave) + { + breather_pause = 1; + } + else + { + breather_pause = 5; + } + + for(i = 0;i < level.createfxent.size;i++) + { + e = level.createfxent[i]; /# - assert(saved == 1,"File not saved (see above message?): " + filename); + assert(IsDefined(e.v["type"]),"effect at origin " + e.v["origin"] + " has no type"); #/ - println("CreateFX entities placed: " + level.createfxent.size - level.non_fx_ents); - return 0; -(e.v["fxid"] == "No FX") ? (ent_type == "loopfx" ? ent_type == "oneshotfx" : ((ent_type == "exploder") ? ent_type == "soundfx" : breather >= breather_pause)) : level.bscriptgened -IsDefined(e.model) -i < level.createfxent.size -(angles[i] < 0.1 && angles[i] > 0.1 * -1) ? autosave : autosave -origin[i] < 0.1 && origin[i] > 0.1 * -1 -i < 3 -p < level.createfxent.size -Stack-Empty ? (Stack-Empty ? Stack-Empty : (Stack-Empty ? Stack-Empty : ((Stack-Empty ? type == "server" : autosave) ? type == "client" : autosave))) : (file == -1 ? type == "server" : type == "client") + if(IsDefined(e.model)) + { + } + else if(e.v["fxid"] == "No FX") + { + } + else + { + output_name = "\t"; + output_props = "\t"; + ent_type = e.v["type"]; + if(ent_type == "loopfx") + { + output_name = output_name + "ent = " + call_loop + "( \" + e.v["fxid"] + "\" );"; + } + + if(ent_type == "oneshotfx") + { + output_name = output_name + "ent = " + call_oneshot + "( \" + e.v["fxid"] + "\" );"; + } + + if(ent_type == "exploder") + { + output_name = output_name + "ent = " + call_exploder + "( \" + e.v["fxid"] + "\" );"; + } + + if(ent_type == "soundfx") + { + output_name = output_name + "ent = " + call_loopsound + "();"; + } + + output_props = output_props + get_fx_options(e); + cfxprintln(file,output_name); + cfxprintln(file,output_props); + cfxprintln(file,"\t"); + breather++; + if(breather >= breather_pause) + { + wait(0.05); + breather = 0; + } + } + } + + if(level.bscriptgened) + { + script_gen_dump_addline(level.cfx_server_scriptgendump,level.script + "_fx"); + [[ level.cfx_func_script_gen_dump ]](); + } + + cfxprintln(file,"}"); + saved = closefile(file); +/# + assert(saved == 1,"File not saved (see above message?): " + filename); +#/ + println("CreateFX entities placed: " + level.createfxent.size - level.non_fx_ents); + return 0; + } #/ } @@ -2421,8 +2662,10 @@ draw_distance() maxdist = GetDvarInt(#"94DFBE78"); maxdistsqr = maxdist * maxdist; /# - println("Waiting for createfx to save..."); - flag("createfx_saving") + if(flag("createfx_saving")) + { + println("Waiting for createfx to save..."); + } #/ flag_waitopen("createfx_saving"); for(i = 0;i < level.createfxent.size;i++) @@ -2550,9 +2793,8 @@ createfx_emergency_backup() { /# println("^5#### CREATEFX EMERGENCY BACKUP END ####"); -#/ } - +#/ flag_clear("createfx_saving"); } @@ -2786,68 +3028,62 @@ print_ambient_fx_inventory() ent_list = []; fx_list_count = []; println("\n\n^2INVENTORY OF AMBIENT EFFECTS: "); - i = 0; - for(;;) + for(i = 0;i < level.createfxent.size;i++) { ent_list[i] = level.createfxent[i].v["fxid"]; - i++; } - i = 0; - for(;;) + + for(i = 0;i < fx_list.size;i++) { count = 0; - j = 0; - for(;;) + for(j = 0;j < ent_list.size;j++) { - count++; - ent_list[j] = ""; - j++; + if(fx_list[i] == ent_list[j]) + { + count++; + ent_list[j] = ""; + } } + fx_list_count[i] = count; - i++; } - i = 0; - for(;;) + + for(i = 0;i < fx_list_count.size - 1;i++) { - j = i + 1; - for(;;) + for(j = i + 1;j < fx_list_count.size;j++) { - temp_count = fx_list_count[i]; - temp_id = fx_list[i]; - fx_list_count[i] = fx_list_count[j]; - fx_list[i] = fx_list[j]; - fx_list_count[j] = temp_count; - fx_list[j] = temp_id; - j++; + if(fx_list_count[j] < fx_list_count[i]) + { + temp_count = fx_list_count[i]; + temp_id = fx_list[i]; + fx_list_count[i] = fx_list_count[j]; + fx_list[i] = fx_list[j]; + fx_list_count[j] = temp_count; + fx_list[j] = temp_id; + } } - i++; } - i = 0; - for(;;) + + for(i = 0;i < fx_list_count.size;i++) { switch(fx_list_count[i]) { case "etnextarraykey": print("^1"); break; + case "etnextarraykey": print("^3"); break; + default: break; } + print(fx_list_count[i] + "\t" + fx_list[i] + "\n"); - i++; } + print("\n"); -i < fx_list_count.size -fx_list_count[j] < fx_list_count[i] -j < fx_list_count.size -i < fx_list_count.size - 1 -fx_list[i] == ent_list[j] -j < ent_list.size -i < fx_list.size -i < level.createfxent.size #/ } @@ -2884,8 +3120,12 @@ handle_camera() level notify("new_camera"); level endon("new_camera"); movement = (0,0,0); - level.camera = spawn("script_origin",(0,0,0)); - level.camera setmodel("tag_origin"); + if(!(IsDefined(level.camera))) + { + level.camera = spawn("script_origin",(0,0,0)); + level.camera setmodel("tag_origin"); + } + players = get_players(); players[0] playerlinktodelta(level.camera,"tag_origin",1,0,0,0,0,1); players[0] disableweapons(); @@ -2901,58 +3141,116 @@ handle_camera() b_changes_z = 0; b_changes_y = 0; test_string = ""; - for(;;) + while(1) { - for(;;) + if(level.camera_snapto > 0) { - originoffset = VectorScale(level.cameravec); - temp_offset = 60 + VectorScale((0,0,-1)); - anglesoffset = VectorToAngles(temp_offset); - players = get_players(); - newmovement = players[0] getnormalizedmovement(); - dolly_movement = players[0] getnormalizedcameramovement(); - continue; - n_y_vector = n_y_vector + -0.2; - b_changes_y = 1; - n_y_vector = n_y_vector + 0.2; - b_changes_y = 1; - b_changes_y = 0; - n_x_vector = n_x_vector + -0.4; - b_changes_x = 1; - n_x_vector = n_x_vector + 0.4; - b_changes_x = 1; - b_changes_x = 0; - zoom_level = zoom_level + 30; - b_changes_z = 1; - zoom_level = zoom_level + -30; - b_changes_z = 1; - b_changes_z = 0; - newmovement = (n_x_vector,n_y_vector,newmovement[2]); - movement = (0,0,0); - movement = 1 - 0.8 + VectorScale(newmovement); - tilt = max(0,10 + movement[0] * 160); - level.cameravec = (cos(movement[1] * 180) * zoom_level,sin(movement[1] * 180) * zoom_level,tilt); - iprintln(level.cameravec[0] + " " + level.cameravec[1] + " " + level.cameravec[2]); - level.camera_prev_snapto = level.camera_snapto; - originoffset = VectorScale(level.cameravec); - temp_offset = 60 + VectorScale((0,0,-1)); - anglesoffset = VectorToAngles(temp_offset); - model = spawn("script_origin",level.current_select_ent.v["origin"]); - model setmodel("tag_origin"); - model.origin = level.current_select_ent.v["origin"]; - level.camera linkto(model,"tag_origin",level.cameravec,anglesoffset); - break; - wait(0.05); + if(level.stick_camera) + { + originoffset = VectorScale(level.cameravec); + temp_offset = 60 + VectorScale((0,0,-1)); + anglesoffset = VectorToAngles(temp_offset); + if(level.camera_prev_snapto == level.camera_snapto) + { + players = get_players(); + newmovement = players[0] getnormalizedmovement(); + dolly_movement = players[0] getnormalizedcameramovement(); + if(button_is_held("BUTTON_LTRIG") || button_is_held("BUTTON_RTRIG")) + { + continue; + } + + if(newmovement[1] <= -0.4) + { + n_y_vector = n_y_vector + -0.2; + b_changes_y = 1; + } + else if(newmovement[1] >= 0.4) + { + n_y_vector = n_y_vector + 0.2; + b_changes_y = 1; + } + else + { + b_changes_y = 0; + } + + if(newmovement[0] <= -0.4) + { + n_x_vector = n_x_vector + -0.4; + b_changes_x = 1; + } + else if(newmovement[0] >= 0.4) + { + n_x_vector = n_x_vector + 0.4; + b_changes_x = 1; + } + else + { + b_changes_x = 0; + } + + if(dolly_movement[0] <= -0.4) + { + zoom_level = zoom_level + 30; + b_changes_z = 1; + } + else if(dolly_movement[0] >= 0.4) + { + zoom_level = zoom_level + -30; + b_changes_z = 1; + } + else + { + b_changes_z = 0; + } + + if(b_changes_z || b_changes_x || b_changes_y) + { + newmovement = (n_x_vector,n_y_vector,newmovement[2]); + movement = (0,0,0); + movement = 1 - 0.8 + VectorScale(newmovement); + tilt = max(0,10 + movement[0] * 160); + level.cameravec = (cos(movement[1] * 180) * zoom_level,sin(movement[1] * 180) * zoom_level,tilt); + iprintln(level.cameravec[0] + " " + level.cameravec[1] + " " + level.cameravec[2]); + } + } + else + { + level.camera_prev_snapto = level.camera_snapto; + } + + if(IsDefined(level.current_select_ent)) + { + originoffset = VectorScale(level.cameravec); + temp_offset = 60 + VectorScale((0,0,-1)); + anglesoffset = VectorToAngles(temp_offset); + if(!(IsDefined(model))) + { + model = spawn("script_origin",level.current_select_ent.v["origin"]); + model setmodel("tag_origin"); + } + + if(model.origin != level.current_select_ent.v["origin"]) + { + model.origin = level.current_select_ent.v["origin"]; + } + + level.camera linkto(model,"tag_origin",level.cameravec,anglesoffset); + break; + } + + wait(0.05); + continue; + } + else + { + level.camera unlink(); + } } - level.camera unlink(); + wait(0.05); } -originoffset ? IsDefined(model) : model.origin != level.current_select_ent.v["origin"] --1 -IsDefined(level.current_select_ent) -(b_changes_z || b_changes_x || b_changes_y) ? 0.8 : VectorScale(movement) -1 ? level.camera_snapto > 0 : ((level.stick_camera ? -1 : ((originoffset ? level.camera_prev_snapto == level.camera_snapto : ((button_is_held("BUTTON_LTRIG") || button_is_held("BUTTON_RTRIG")) ? newmovement[1] <= -0.4 : newmovement[1] >= 0.4)) ? newmovement[0] <= -0.4 : newmovement[0] >= 0.4)) ? dolly_movement[0] <= -0.4 : dolly_movement[0] >= 0.4) -IsDefined(level.camera) #/ } diff --git a/BO2/Xbox/ZM/maps/mp/_createfxmenu.gsc b/BO2/Xbox/ZM/maps/mp/_createfxmenu.gsc index 0ec8006..a8ee159 100644 --- a/BO2/Xbox/ZM/maps/mp/_createfxmenu.gsc +++ b/BO2/Xbox/ZM/maps/mp/_createfxmenu.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 35 - * Decompile Time: 96 ms - * Timestamp: 10/27/2023 3:06:27 AM + * Decompile Time: 10 ms + * Timestamp: 10/28/2023 12:14:22 AM *******************************************************************/ #include common_scripts/utility; @@ -33,61 +33,136 @@ setmenu(name) create_fx_menu() { /# - exit_menu(); - return; - setmenu("create_oneshot"); - draw_effects_list(); - return; - setmenu("create_loopfx"); - draw_effects_list(); - return; - setmenu("create_exploder"); - draw_effects_list(); - return; - setmenu("create_loopsound"); - ent = createloopsound(); - finish_creating_entity(ent); - setmenu("none"); - return; - increment_list_offset(); - draw_effects_list(); - decrement_list_offset(); - draw_effects_list(); - menu_fx_creation(); - menu_change_selected_fx(); - display_fx_info(get_last_selected_entity()); - clear_settable_fx(); - setmenu("add_options"); - clear_fx_hudelements(); - setmenu("none"); - return; - display_fx_add_options(get_last_selected_entity()); - increment_list_offset(); - decrement_list_offset(); - increment_list_offset(); - draw_effects_list("Select effect to jump to:"); - decrement_list_offset(); - draw_effects_list("Select effect to jump to:"); - jump_to_effect(); - menu_selection(); - increment_list_offset(); - decrement_list_offset(); - clear_fx_hudelements(); - setmenu("none"); - return; - menu_fx_type(); -(button_is_clicked("a")) ? menu("add_options") : ((entities_are_selected()) ? button_is_clicked("rightarrow") : ((button_is_clicked("leftarrow")) ? menu("jump_to_effect") : ((button_is_clicked("rightarrow")) ? button_is_clicked("leftarrow") : ((menu("select_by_property")) ? button_is_clicked("rightarrow") : ((button_is_clicked("leftarrow")) ? menu("change_type") : entities_are_selected()))))) -entities_are_selected() -menu("none") -button_is_clicked("leftarrow") -button_is_clicked("rightarrow") -menu("create_oneshot") || menu("create_loopfx") || menu("create_exploder") || menu("change_fxid") -button_is_clicked("4") -button_is_clicked("3") -button_is_clicked("2") -button_is_clicked("1") -menu("creation") -button_is_clicked("escape","x") + if(button_is_clicked("escape","x")) + { + exit_menu(); + return; + } + + if(menu("creation")) + { + if(button_is_clicked("1")) + { + setmenu("create_oneshot"); + draw_effects_list(); + return; + } + + if(button_is_clicked("2")) + { + setmenu("create_loopfx"); + draw_effects_list(); + return; + } + + if(button_is_clicked("3")) + { + setmenu("create_exploder"); + draw_effects_list(); + return; + } + + if(button_is_clicked("4")) + { + setmenu("create_loopsound"); + ent = createloopsound(); + finish_creating_entity(ent); + setmenu("none"); + return; + } + } + + if(menu("create_oneshot") || menu("create_loopfx") || menu("create_exploder") || menu("change_fxid")) + { + if(button_is_clicked("rightarrow")) + { + increment_list_offset(); + draw_effects_list(); + } + + if(button_is_clicked("leftarrow")) + { + decrement_list_offset(); + draw_effects_list(); + } + + menu_fx_creation(); + } + else if(menu("none")) + { + menu_change_selected_fx(); + if(entities_are_selected()) + { + display_fx_info(get_last_selected_entity()); + if(button_is_clicked("a")) + { + clear_settable_fx(); + setmenu("add_options"); + } + } + } + else if(menu("add_options")) + { + if(!(entities_are_selected())) + { + clear_fx_hudelements(); + setmenu("none"); + return; + } + + display_fx_add_options(get_last_selected_entity()); + if(button_is_clicked("rightarrow")) + { + increment_list_offset(); + } + + if(button_is_clicked("leftarrow")) + { + decrement_list_offset(); + } + } + else if(menu("jump_to_effect")) + { + if(button_is_clicked("rightarrow")) + { + increment_list_offset(); + draw_effects_list("Select effect to jump to:"); + } + + if(button_is_clicked("leftarrow")) + { + decrement_list_offset(); + draw_effects_list("Select effect to jump to:"); + } + + jump_to_effect(); + } + else if(menu("select_by_property")) + { + menu_selection(); + if(button_is_clicked("rightarrow")) + { + increment_list_offset(); + } + + if(button_is_clicked("leftarrow")) + { + decrement_list_offset(); + } + } + else if(menu("change_type")) + { + if(!(entities_are_selected())) + { + clear_fx_hudelements(); + setmenu("none"); + return; + } + else + { + menu_fx_type(); + } + } #/ } @@ -117,46 +192,76 @@ menu_fx_creation() count = 0; picked_fx = undefined; keys = get_level_ambient_fx(); - i = level.effect_list_offset; - for(;;) + for(i = level.effect_list_offset;i < keys.size;i++) { count = count + 1; button_to_check = count; - button_to_check = 0; - picked_fx = keys[i]; - break; - i++; + if(button_to_check == 10) + { + button_to_check = 0; + } + + if(button_is_clicked(button_to_check + "") && !button_is_held("f")) + { + picked_fx = keys[i]; + break; + } + + if(count > level.effect_list_offset_max) + { + break; + } } - return; - apply_option_to_selected_fx(get_option("fxid"),picked_fx); - level.effect_list_offset = 0; - clear_fx_hudelements(); - setmenu("none"); - return; + + if(!(IsDefined(picked_fx))) + { + return; + } + + if(menu("change_fxid")) + { + apply_option_to_selected_fx(get_option("fxid"),picked_fx); + level.effect_list_offset = 0; + clear_fx_hudelements(); + setmenu("none"); + return; + } + ent = undefined; - ent = createloopeffect(picked_fx); - ent = createoneshoteffect(picked_fx); - delay_min = GetDvarInt(#"72501C7"); - delay_max = GetDvarInt(#"A6DCBA49"); - temp = delay_min; - delay_min = delay_max; - delay_max = temp; - ent.v["delay"] = randomintrange(delay_min,delay_max); - ent = createexploder(picked_fx); + if(menu("create_loopfx")) + { + ent = createloopeffect(picked_fx); + } + + if(menu("create_oneshot")) + { + ent = createoneshoteffect(picked_fx); + delay_min = GetDvarInt(#"72501C7"); + delay_max = GetDvarInt(#"A6DCBA49"); + if(delay_min > delay_max) + { + temp = delay_min; + delay_min = delay_max; + delay_max = temp; + } + + ent.v["delay"] = randomintrange(delay_min,delay_max); + } + + if(menu("create_exploder")) + { + ent = createexploder(picked_fx); + } + finish_creating_entity(ent); - store_undo_state("edit",level.selected_fx_ents); + if(level.cfx_last_action != "none") + { + store_undo_state("edit",level.selected_fx_ents); + } + store_undo_state("add",level.createfxent[level.createfxent.size - 1]); level.cfx_last_action = "none"; setmenu("none"); -level.cfx_last_action != "none" -menu("create_exploder") -delay_min > delay_max -menu("create_oneshot") -menu("create_loopfx") -menu("change_fxid") -IsDefined(picked_fx) -(button_to_check == 10) ? button_is_clicked(button_to_check + "") && !button_is_held("f") : count > level.effect_list_offset_max -i < keys.size #/ } @@ -173,7 +278,6 @@ finish_creating_entity(ent) select_last_entity("skip_undo"); move_selection_to_cursor("skip_undo"); update_selected_entities(); -ent.v["origin"] #/ } @@ -181,21 +285,33 @@ ent.v["origin"] change_effect_to_oneshot(ent) { /# - return; - ent.v["exploder"] = undefined; - ent.v["exploder_type"] = undefined; - ent.v["soundalias"] = undefined; - delay_min = GetDvarInt(#"72501C7"); - delay_max = GetDvarInt(#"A6DCBA49"); - temp = delay_min; - delay_min = delay_max; - delay_max = temp; - ent.v["delay"] = randomintrange(delay_min,delay_max); + if(ent.v["type"] == "oneshotfx") + { + return; + } + + if(ent.v["type"] == "exploder") + { + ent.v["exploder"] = undefined; + ent.v["exploder_type"] = undefined; + ent.v["soundalias"] = undefined; + } + + if(!IsDefined(ent.v["delay"]) || ent.v["delay"] == 0) + { + delay_min = GetDvarInt(#"72501C7"); + delay_max = GetDvarInt(#"A6DCBA49"); + if(delay_min > delay_max) + { + temp = delay_min; + delay_min = delay_max; + delay_max = temp; + } + + ent.v["delay"] = randomintrange(delay_min,delay_max); + } + ent.v["type"] = "oneshotfx"; -delay_min > delay_max -!IsDefined(ent.v["delay"]) || ent.v["delay"] == 0 -ent.v["type"] == "exploder" -ent.v["type"] == "oneshotfx" #/ } @@ -203,15 +319,24 @@ ent.v["type"] == "oneshotfx" change_effect_to_loop(ent) { /# - return; - ent.v["exploder"] = undefined; - ent.v["exploder_type"] = undefined; - ent.v["soundalias"] = undefined; - ent.v["delay"] = 1; + if(ent.v["type"] == "loopfx") + { + return; + } + + if(ent.v["type"] == "exploder") + { + ent.v["exploder"] = undefined; + ent.v["exploder_type"] = undefined; + ent.v["soundalias"] = undefined; + } + + if(!IsDefined(ent.v["delay"]) || ent.v["delay"] <= 0) + { + ent.v["delay"] = 1; + } + ent.v["type"] = "loopfx"; -!IsDefined(ent.v["delay"]) || ent.v["delay"] <= 0 -ent.v["type"] == "exploder" -ent.v["type"] == "loopfx" #/ } @@ -219,13 +344,19 @@ ent.v["type"] == "loopfx" change_effect_to_exploder(ent) { /# - return; + if(ent.v["type"] == "exploder") + { + return; + } + ent.v["type"] = "exploder"; - ent.v["delay"] = 0; + if(!IsDefined(ent.v["delay"]) || ent.v["delay"] < 0) + { + ent.v["delay"] = 0; + } + ent.v["exploder"] = 1; ent.v["exploder_type"] = "normal"; -!IsDefined(ent.v["delay"]) || ent.v["delay"] < 0 -ent.v["type"] == "exploder" #/ } @@ -235,26 +366,27 @@ change_ent_type(newtype) /# store_undo_state("edit",level.selected_fx_ents); level.cfx_last_action = "ent_type"; - i = 0; - for(;;) + if(newtype == "oneshotfx") { - change_effect_to_oneshot(level.selected_fx_ents[i]); - i++; + for(i = 0;i < level.selected_fx_ents.size;i++) + { + change_effect_to_oneshot(level.selected_fx_ents[i]); + } } - i = 0; - for(;;) + else if(newtype == "loopfx") { - change_effect_to_loop(level.selected_fx_ents[i]); - i++; + for(i = 0;i < level.selected_fx_ents.size;i++) + { + change_effect_to_loop(level.selected_fx_ents[i]); + } } - i = 0; - for(;;) + else if(newtype == "exploder") { - change_effect_to_exploder(level.selected_fx_ents[i]); - i++; + for(i = 0;i < level.selected_fx_ents.size;i++) + { + change_effect_to_exploder(level.selected_fx_ents[i]); + } } -(i < level.selected_fx_ents.size) ? newtype == "loopfx" : ((i < level.selected_fx_ents.size) ? newtype == "exploder" : i < level.selected_fx_ents.size) -newtype == "oneshotfx" #/ } @@ -329,23 +461,48 @@ entities_are_selected() menu_change_selected_fx() { /# - return; + if(!(level.selected_fx_ents.size)) + { + return; + } + count = 0; drawncount = 0; ent = get_last_selected_ent(); - i = 0; - for(;;) + for(i = 0;i < level.createfx_options.size;i++) { option = level.createfx_options[i]; - count++; - drawncount++; - button_to_check = drawncount; - button_to_check = 0; - prepare_option_for_change(option,drawncount); - break; - i++; + if(!(IsDefined(ent.v[option["name"]]))) + { + } + else + { + count++; + if(count < level.effect_list_offset) + { + } + else + { + drawncount++; + button_to_check = drawncount; + if(button_to_check == 10) + { + button_to_check = 0; + } + + if(button_is_clicked(button_to_check + "") && !button_is_held("f")) + { + prepare_option_for_change(option,drawncount); + break; + } + + if(drawncount > level.effect_list_offset_max) + { + break; + } + } + } } -(level.selected_fx_ents.size) ? i < level.createfx_options.size : ((IsDefined(ent.v[option["name"]])) ? count < level.effect_list_offset : ((button_to_check == 10) ? button_is_clicked(button_to_check + "") && !button_is_held("f") : drawncount > level.effect_list_offset_max)) #/ } @@ -353,17 +510,23 @@ menu_change_selected_fx() prepare_option_for_change(option,drawncount) { /# - setmenu("change_fxid"); - draw_effects_list(); - return; - setmenu("change_type"); - return; + if(option["name"] == "fxid") + { + setmenu("change_fxid"); + draw_effects_list(); + return; + } + + if(option["name"] == "type") + { + setmenu("change_type"); + return; + } + level.createfx_inputlocked = 1; set_option_index(option["name"]); setdvar("fx","nil"); level.createfxhudelements[drawncount + 1][0].color = (1,1,0); -option["name"] == "type" -option["name"] == "fxid" #/ } @@ -371,22 +534,44 @@ option["name"] == "fxid" menu_fx_option_set() { /# - return; + if(GetDvar(#"5977E3") == "nil") + { + return; + } + option = get_selected_option(); setting = undefined; - setting = GetDvar(#"5977E3"); - setting = GetDvarInt(#"5977E3"); - setting = GetDvarFloat(#"5977E3"); - setting = GetDvar(#"5977E3"); - temparray = strtok(setting," "); - setting = (float(temparray[0]),float(temparray[1]),float(temparray[2])); - clear_settable_fx(); - return; + if(option["type"] == "string") + { + setting = GetDvar(#"5977E3"); + } + + if(option["type"] == "int") + { + setting = GetDvarInt(#"5977E3"); + } + + if(option["type"] == "float") + { + setting = GetDvarFloat(#"5977E3"); + } + + if(option["type"] == "vector") + { + setting = GetDvar(#"5977E3"); + temparray = strtok(setting," "); + if(temparray.size == 3) + { + setting = (float(temparray[0]),float(temparray[1]),float(temparray[2])); + } + else + { + clear_settable_fx(); + return; + } + } + apply_option_to_selected_fx(option,setting); -(option["type"] == "float") ? option["type"] == "vector" : temparray.size == 3 -option["type"] == "int" -option["type"] == "string" -GetDvar(#"5977E3") == "nil" #/ } @@ -400,15 +585,26 @@ menu_fx_type() set_fx_hudelement(" (2) Looped"); set_fx_hudelement(" (3) Exploder"); set_fx_hudelement("(x) Exit >"); - change_ent_type("oneshotfx"); - setmenu("none"); - change_ent_type("loopfx"); - setmenu("none"); - change_ent_type("exploder"); - setmenu("none"); - update_selected_entities(); -menu("none") -Stack-Empty ? Stack-Empty : ((button_is_clicked("1") && !button_is_held("f")) ? button_is_clicked("2") && !button_is_held("f") : button_is_clicked("3") && !button_is_held("f")) + if(button_is_clicked("1") && !button_is_held("f")) + { + change_ent_type("oneshotfx"); + setmenu("none"); + } + else if(button_is_clicked("2") && !button_is_held("f")) + { + change_ent_type("loopfx"); + setmenu("none"); + } + else if(button_is_clicked("3") && !button_is_held("f")) + { + change_ent_type("exploder"); + setmenu("none"); + } + + if(menu("none")) + { + update_selected_entities(); + } #/ } @@ -421,28 +617,54 @@ menu_selection() drawncount = 0; option_number = 0; ent = level.selected_fx_ents[level.selected_fx_ents.size - 1]; - set_fx_hudelement("No ent is selected."); - i = level.effect_list_offset; - for(;;) + if(level.selected_fx_ents.size < 1) { - break; - prop_name = level.createfx_options[i]["name"]; - option_number = drawncount + 1; - level.cfx_selected_prop = prop_name; - menunone(); - level.effect_list_offset = 0; - return; - prop_desc = level.createfx_options[i]["description"]; - set_fx_hudelement(option_number + ". " + prop_desc + ": " + ent.v[prop_name]); - drawncount++; - i++; + set_fx_hudelement("No ent is selected."); } - pages = ceil(ent.v.size / level.effect_list_offset_max); - current_page = level.effect_list_offset / level.effect_list_offset_max + 1; - set_fx_hudelement("(<-) Page " + current_page + " of " + pages + " (->)"); + else + { + for(i = level.effect_list_offset;i < level.createfx_options.size;i++) + { + if(drawncount > level.effect_list_offset_max) + { + break; + } + + if(drawncount > ent.v.size) + { + break; + } + + prop_name = level.createfx_options[i]["name"]; + option_number = drawncount + 1; + if(IsDefined(ent.v[prop_name])) + { + if(button_is_clicked(option_number + "") && !button_is_held("f")) + { + level.cfx_selected_prop = prop_name; + menunone(); + level.effect_list_offset = 0; + return; + } + + prop_desc = level.createfx_options[i]["description"]; + set_fx_hudelement(option_number + ". " + prop_desc + ": " + ent.v[prop_name]); + drawncount++; + } + else + { + } + } + } + + if(drawncount > level.effect_list_offset_max) + { + pages = ceil(ent.v.size / level.effect_list_offset_max); + current_page = level.effect_list_offset / level.effect_list_offset_max + 1; + set_fx_hudelement("(<-) Page " + current_page + " of " + pages + " (->)"); + } + set_fx_hudelement("(x) Exit >"); -drawncount > level.effect_list_offset_max -Stack-Empty ? level.selected_fx_ents.size < 1 : ((i < level.createfx_options.size) ? drawncount > level.effect_list_offset_max : ((drawncount > ent.v.size) ? IsDefined(ent.v[prop_name]) : button_is_clicked(option_number + "") && !button_is_held("f"))) #/ } @@ -450,20 +672,23 @@ Stack-Empty ? level.selected_fx_ents.size < 1 : ((i < level.createfx_options.siz apply_option_to_selected_fx(option,setting) { /# - store_undo_state("edit",level.selected_fx_ents); - level.cfx_last_action = option["name"]; - i = 0; - for(;;) + if(level.cfx_last_action != option["name"]) + { + store_undo_state("edit",level.selected_fx_ents); + level.cfx_last_action = option["name"]; + } + + for(i = 0;i < level.selected_fx_ents.size;i++) { ent = level.selected_fx_ents[i]; - ent.v[option["name"]] = setting; - i++; + if(mask(option["mask"],ent.v["type"])) + { + ent.v[option["name"]] = setting; + } } + update_selected_entities(); clear_settable_fx(); -mask(option["mask"],ent.v["type"]) -i < level.selected_fx_ents.size -level.cfx_last_action != option["name"] #/ } @@ -471,14 +696,17 @@ level.cfx_last_action != option["name"] set_option_index(name) { /# - i = 0; - for(;;) + for(i = 0;i < level.createfx_options.size;i++) { - level.selected_fx_option_index = i; - return; - i++; + if(level.createfx_options[i]["name"] != name) + { + } + else + { + level.selected_fx_option_index = i; + return; + } } -Stack-Empty ? i < level.createfx_options.size : level.createfx_options[i]["name"] != name #/ } @@ -516,14 +744,13 @@ addoption(type,name,description,defaultsetting,mask) get_option(name) { /# - i = 0; - for(;;) + for(i = 0;i < level.createfx_options.size;i++) { - return level.createfx_options[i]; - i++; + if(level.createfx_options[i]["name"] == name) + { + return level.createfx_options[i]; + } } -level.createfx_options[i]["name"] == name -i < level.createfx_options.size #/ } @@ -531,34 +758,64 @@ i < level.createfx_options.size display_fx_info(ent) { /# - return; + if(!(menu("none"))) + { + return; + } + clear_fx_hudelements(); - return; + if(!(level.createfx_draw_enabled)) + { + return; + } + set_fx_hudelement("Selected: " + level.selected_fx_ents.size + " Distance: " + get_distance_from_ent(ent)); level.createfxhudelements[0][0].color = (1,1,0); set_fx_hudelement("Name: " + ent.v["fxid"]); - count = 0; - drawncount = 0; - i = 0; - for(;;) + if(entities_are_selected()) { - option = level.createfx_options[i]; - count++; - drawncount++; - set_fx_hudelement(drawncount + ". " + option["description"] + ": " + ent.v[option["name"]]); - more = 1; - break; - i++; + count = 0; + drawncount = 0; + for(i = 0;i < level.createfx_options.size;i++) + { + option = level.createfx_options[i]; + if(!(IsDefined(ent.v[option["name"]]))) + { + } + else + { + count++; + if(count < level.effect_list_offset) + { + } + else + { + drawncount++; + set_fx_hudelement(drawncount + ". " + option["description"] + ": " + ent.v[option["name"]]); + if(drawncount > level.effect_list_offset_max) + { + more = 1; + break; + } + } + } + } + + if(count > level.effect_list_offset_max) + { + pages = ceil(level.createfx_options.size / level.effect_list_offset_max); + current_page = level.effect_list_offset / level.effect_list_offset_max + 1; + set_fx_hudelement("(<-) Page " + current_page + " of " + pages + " (->)"); + } + + set_fx_hudelement("(a) Add >"); + set_fx_hudelement("(x) Exit >"); + } + else + { + set_fx_hudelement("Origin: " + ent.v["origin"]); + set_fx_hudelement("Angles: " + ent.v["angles"]); } - pages = ceil(level.createfx_options.size / level.effect_list_offset_max); - current_page = level.effect_list_offset / level.effect_list_offset_max + 1; - set_fx_hudelement("(<-) Page " + current_page + " of " + pages + " (->)"); - set_fx_hudelement("(a) Add >"); - set_fx_hudelement("(x) Exit >"); - set_fx_hudelement("Origin: " + ent.v["origin"]); - set_fx_hudelement("Angles: " + ent.v["angles"]); -(level.createfx_draw_enabled) ? ((entities_are_selected()) ? i < level.createfx_options.size : ((IsDefined(ent.v[option["name"]])) ? count < level.effect_list_offset : drawncount > level.effect_list_offset_max)) : count > level.effect_list_offset_max -menu("none") #/ } @@ -580,27 +837,58 @@ display_fx_add_options(ent) set_fx_hudelement("Angles: " + ent.v["angles"]); count = 0; drawncount = 0; - level.effect_list_offset = 0; - i = 0; - for(;;) + if(level.effect_list_offset >= level.createfx_options.size) + { + level.effect_list_offset = 0; + } + + for(i = 0;i < level.createfx_options.size;i++) { option = level.createfx_options[i]; - count++; - drawncount++; - button_to_check = drawncount; - button_to_check = 0; - add_option_to_selected_entities(option); - menunone(); - return; - set_fx_hudelement(button_to_check + ". " + option["description"]); - i++; + if(IsDefined(ent.v[option["name"]])) + { + } + else if(!(mask(option["mask"],ent.v["type"]))) + { + } + else + { + count++; + if(count < level.effect_list_offset) + { + } + else if(drawncount >= level.effect_list_offset_max) + { + } + else + { + drawncount++; + button_to_check = drawncount; + if(button_to_check == 10) + { + button_to_check = 0; + } + + if(button_is_clicked(button_to_check + "") && !button_is_held("f")) + { + add_option_to_selected_entities(option); + menunone(); + return; + } + + set_fx_hudelement(button_to_check + ". " + option["description"]); + } + } } - pages = ceil(level.createfx_options.size / level.effect_list_offset_max); - current_page = level.effect_list_offset / level.effect_list_offset_max + 1; - set_fx_hudelement("(<-) Page " + current_page + " of " + pages + " (->)"); + + if(count > level.effect_list_offset_max) + { + pages = ceil(level.createfx_options.size / level.effect_list_offset_max); + current_page = level.effect_list_offset / level.effect_list_offset_max + 1; + set_fx_hudelement("(<-) Page " + current_page + " of " + pages + " (->)"); + } + set_fx_hudelement("(x) Exit >"); -count > level.effect_list_offset_max -Stack-Empty ? level.effect_list_offset >= level.createfx_options.size : ((i < level.createfx_options.size) ? IsDefined(ent.v[option["name"]]) : ((mask(option["mask"],ent.v["type"])) ? count < level.effect_list_offset : ((drawncount >= level.effect_list_offset_max) ? button_to_check == 10 : button_is_clicked(button_to_check + "") && !button_is_held("f")))) #/ } @@ -608,15 +896,14 @@ Stack-Empty ? level.effect_list_offset >= level.createfx_options.size : ((i < le add_option_to_selected_entities(option) { /# - i = 0; - for(;;) + for(i = 0;i < level.selected_fx_ents.size;i++) { ent = level.selected_fx_ents[i]; - ent.v[option["name"]] = option["default"]; - i++; + if(mask(option["mask"],ent.v["type"])) + { + ent.v[option["name"]] = option["default"]; + } } -mask(option["mask"],ent.v["type"]) -i < level.selected_fx_ents.size #/ } @@ -635,29 +922,41 @@ draw_effects_list(title) { /# clear_fx_hudelements(); - title = "Pick an effect:"; + if(!(IsDefined(title))) + { + title = "Pick an effect:"; + } + set_fx_hudelement(title); count = 0; more = 0; keys = get_level_ambient_fx(); - level.effect_list_offset = 0; - level.effect_list_offset = int(floor(keys.size / level.effect_list_offset_max) * level.effect_list_offset_max); - i = level.effect_list_offset; - for(;;) + if(level.effect_list_offset >= keys.size) + { + level.effect_list_offset = 0; + } + else if(level.effect_list_offset < 0) + { + level.effect_list_offset = int(floor(keys.size / level.effect_list_offset_max) * level.effect_list_offset_max); + } + + for(i = level.effect_list_offset;i < keys.size;i++) { count = count + 1; set_fx_hudelement(count + ". " + keys[i]); - more = 1; - break; - i++; + if(count >= level.effect_list_offset_max) + { + more = 1; + break; + } + } + + if(keys.size > level.effect_list_offset_max) + { + pages = ceil(keys.size / level.effect_list_offset_max); + current_page = level.effect_list_offset / level.effect_list_offset_max + 1; + set_fx_hudelement("(<-) Page " + current_page + " of " + pages + " (->)"); } - pages = ceil(keys.size / level.effect_list_offset_max); - current_page = level.effect_list_offset / level.effect_list_offset_max + 1; - set_fx_hudelement("(<-) Page " + current_page + " of " + pages + " (->)"); -keys.size > level.effect_list_offset_max -count >= level.effect_list_offset_max -i < keys.size -IsDefined(title) ? level.effect_list_offset >= keys.size : level.effect_list_offset < 0 #/ } @@ -684,27 +983,47 @@ jump_to_effect() count = 0; picked_fxid = undefined; keys = get_level_ambient_fx(); - i = level.effect_list_offset; - for(;;) + for(i = level.effect_list_offset;i < keys.size;i++) { count = count + 1; button_to_check = count; - button_to_check = 0; - picked_fxid = keys[i]; - break; - i++; + if(button_to_check == 10) + { + button_to_check = 0; + } + + if(button_is_clicked(button_to_check + "") && !button_is_held("f")) + { + picked_fxid = keys[i]; + break; + } + + if(count > level.effect_list_offset_max) + { + break; + } } - return; + + if(!(IsDefined(picked_fxid))) + { + return; + } + clear_entity_selection(); ent = get_next_ent_with_same_id(-1,picked_fxid); - level.cfx_next_ent = ent; - move_player_to_next_same_effect(1); - iprintln("Effect " + picked_fxid + " has not been placed."); + if(IsDefined(ent)) + { + level.cfx_next_ent = ent; + move_player_to_next_same_effect(1); + } + else + { + iprintln("Effect " + picked_fxid + " has not been placed."); + } + level.effect_list_offset = 0; clear_fx_hudelements(); setmenu("none"); -((button_to_check == 10) ? button_is_clicked(button_to_check + "") && !button_is_held("f") : count > level.effect_list_offset_max) ? IsDefined(picked_fxid) : IsDefined(ent) -i < keys.size #/ } @@ -712,22 +1031,27 @@ i < keys.size get_level_ambient_fx() { /# - keys = getarraykeys(level._effect); - level._effect_keys = []; - k = 0; - i = 0; - for(;;) + if(!(IsDefined(level._effect_keys))) { - level._effect_keys[k] = keys[i]; - k++; - i++; + keys = getarraykeys(level._effect); + level._effect_keys = []; + k = 0; + for(i = 0;i < keys.size;i++) + { + if(issubstr(keys[i],"fx_")) + { + level._effect_keys[k] = keys[i]; + k++; + } + } + + if(level._effect_keys.size == 0) + { + level._effect_keys = keys; + } } - level._effect_keys = keys; + return level._effect_keys; -level._effect_keys.size == 0 -issubstr(keys[i],"fx_") -i < keys.size -IsDefined(level._effect_keys) #/ } diff --git a/BO2/Xbox/ZM/maps/mp/_createfxundo.gsc b/BO2/Xbox/ZM/maps/mp/_createfxundo.gsc index 8ca3af3..91bd98e 100644 --- a/BO2/Xbox/ZM/maps/mp/_createfxundo.gsc +++ b/BO2/Xbox/ZM/maps/mp/_createfxundo.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 20 - * Decompile Time: 44 ms - * Timestamp: 10/27/2023 3:06:28 AM + * Decompile Time: 11 ms + * Timestamp: 10/28/2023 12:14:23 AM *******************************************************************/ #include common_scripts/utility; @@ -509,16 +509,26 @@ array_drop(array) debug_print_ent_array(array,name) { /# - println("Printing out " + name); - println("Printing out some array"); - i = 0; - for(;;) + if(IsDefined(name)) { - println("" + i + ": deleted effect"); - println("" + i + ": uniqueid: " + array[i].uniqueid + " fxid: " + array[i].v["fxid"]); - i++; + println("Printing out " + name); + } + else + { + println("Printing out some array"); + } + + for(i = 0;i < array.size;i++) + { + if(!(IsDefined(array[i]))) + { + println("" + i + ": deleted effect"); + } + else + { + println("" + i + ": uniqueid: " + array[i].uniqueid + " fxid: " + array[i].v["fxid"]); + } } -(Stack-Empty ? Stack-Empty : IsDefined(name)) ? i < array.size : IsDefined(array[i]) #/ } @@ -527,20 +537,41 @@ debug_print_latest_state(type) { /# println("^3Saving " + type + " state"); - println("There are no undo states."); - return; - state = level.cfx_undo_states[level.cfx_undo_states.size - 1]; - size = level.cfx_undo_states.size - 1; - println("There are no redo states."); - return; - state = level.cfx_redo_states[level.cfx_redo_states.size - 1]; - size = level.cfx_redo_states.size - 1; - println("There is no limbo state."); - return; - state = level.cfx_limbo_state; - size = 0; + if(type == "undo") + { + if(!(IsDefined(level.cfx_undo_states[level.cfx_undo_states.size - 1]))) + { + println("There are no undo states."); + return; + } + + state = level.cfx_undo_states[level.cfx_undo_states.size - 1]; + size = level.cfx_undo_states.size - 1; + } + else if(type == "redo") + { + if(!(IsDefined(level.cfx_redo_states[level.cfx_redo_states.size - 1]))) + { + println("There are no redo states."); + return; + } + + state = level.cfx_redo_states[level.cfx_redo_states.size - 1]; + size = level.cfx_redo_states.size - 1; + } + else + { + if(!(IsDefined(level.cfx_limbo_state))) + { + println("There is no limbo state."); + return; + } + + state = level.cfx_limbo_state; + size = 0; + } + println("State " + size + " - " + state.operation + ": " + state.last_action); debug_print_ent_array(state.ent_array,"save state ent_array"); -type == "undo" ? IsDefined(level.cfx_undo_states[level.cfx_undo_states.size - 1]) : (type == "redo" ? IsDefined(level.cfx_redo_states[level.cfx_redo_states.size - 1]) : IsDefined(level.cfx_limbo_state)) #/ } \ No newline at end of file diff --git a/BO2/Xbox/ZM/maps/mp/_demo.gsc b/BO2/Xbox/ZM/maps/mp/_demo.gsc index 225e150..c177992 100644 --- a/BO2/Xbox/ZM/maps/mp/_demo.gsc +++ b/BO2/Xbox/ZM/maps/mp/_demo.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 3 - * Decompile Time: 8 ms - * Timestamp: 10/27/2023 3:06:28 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:14:23 AM *******************************************************************/ //Function Number: 1 diff --git a/BO2/Xbox/ZM/maps/mp/_fx.gsc b/BO2/Xbox/ZM/maps/mp/_fx.gsc index b9d7f5a..66d3efa 100644 --- a/BO2/Xbox/ZM/maps/mp/_fx.gsc +++ b/BO2/Xbox/ZM/maps/mp/_fx.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 31 - * Decompile Time: 45 ms - * Timestamp: 10/27/2023 3:06:28 AM + * Decompile Time: 9 ms + * Timestamp: 10/28/2023 12:14:23 AM *******************************************************************/ #include common_scripts/utility; @@ -16,15 +16,17 @@ print_org(fxcommand,fxid,fxpos,waittime) { /# - println("{"); - println("\"origin\" \" + fxpos[0] + " " + fxpos[1] + " " + fxpos[2] + "\"); - println("\"classname\" \"script_model\"); - println("\"model\" \"fx\"); - println("\"script_fxcommand\" \" + fxcommand + "\"); - println("\"script_fxid\" \" + fxid + "\"); - println("\"script_delay\" \" + waittime + "\"); - println("}"); -GetDvar(#"F49A52C") == "1" + if(GetDvar(#"F49A52C") == "1") + { + println("{"); + println("\"origin\" \" + fxpos[0] + " " + fxpos[1] + " " + fxpos[2] + "\"); + println("\"classname\" \"script_model\"); + println("\"model\" \"fx\"); + println("\"script_fxcommand\" \" + fxcommand + "\"); + println("\"script_fxid\" \" + fxid + "\"); + println("\"script_delay\" \" + waittime + "\"); + println("}"); + } #/ } @@ -415,18 +417,36 @@ setup_fx() script_print_fx() { /# - println("Effect at origin ",self.origin," doesn\'t have script_fxid/script_fxcommand/script_delay"); - self delete(); - return; - org = getent(self.target,"targetname").origin; - org = "undefined"; - println("mapsmp_fx::OneShotfx(\" + self.script_fxid + "\", " + self.origin + ", " + self.script_delay + ", " + org + ");"); - println("mapsmp_fx::LoopFx(\" + self.script_fxid + "\", " + self.origin + ", " + self.script_delay + ", " + org + ");"); - println("mapsmp_fx::LoopSound(\" + self.script_fxid + "\", " + self.origin + ", " + self.script_delay + ", " + org + ");"); -self.script_fxcommand == "loopsound" -self.script_fxcommand == "loopfx" -self.script_fxcommand == "OneShotfx" -Stack-Empty ? !IsDefined(self.script_fxid) || !IsDefined(self.script_fxcommand) || !IsDefined(self.script_delay) : IsDefined(self.target) + if(!IsDefined(self.script_fxid) || !IsDefined(self.script_fxcommand) || !IsDefined(self.script_delay)) + { + println("Effect at origin ",self.origin," doesn\'t have script_fxid/script_fxcommand/script_delay"); + self delete(); + return; + } + + if(IsDefined(self.target)) + { + org = getent(self.target,"targetname").origin; + } + else + { + org = "undefined"; + } + + if(self.script_fxcommand == "OneShotfx") + { + println("mapsmp_fx::OneShotfx(\" + self.script_fxid + "\", " + self.origin + ", " + self.script_delay + ", " + org + ");"); + } + + if(self.script_fxcommand == "loopfx") + { + println("mapsmp_fx::LoopFx(\" + self.script_fxid + "\", " + self.origin + ", " + self.script_delay + ", " + org + ");"); + } + + if(self.script_fxcommand == "loopsound") + { + println("mapsmp_fx::LoopSound(\" + self.script_fxid + "\", " + self.origin + ", " + self.script_delay + ", " + org + ");"); + } #/ } diff --git a/BO2/Xbox/ZM/maps/mp/_fxanim.gsc b/BO2/Xbox/ZM/maps/mp/_fxanim.gsc index 5968349..f0b569d 100644 --- a/BO2/Xbox/ZM/maps/mp/_fxanim.gsc +++ b/BO2/Xbox/ZM/maps/mp/_fxanim.gsc @@ -5,7 +5,7 @@ * Platform: Console * Function Count: 1 * Decompile Time: 0 ms - * Timestamp: 10/27/2023 3:06:28 AM + * Timestamp: 10/28/2023 12:14:24 AM *******************************************************************/ #using_animtree( "fxanim_props" ); diff --git a/BO2/Xbox/ZM/maps/mp/_global_fx.gsc b/BO2/Xbox/ZM/maps/mp/_global_fx.gsc index 33aa9eb..87ce72f 100644 --- a/BO2/Xbox/ZM/maps/mp/_global_fx.gsc +++ b/BO2/Xbox/ZM/maps/mp/_global_fx.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 3 - * Decompile Time: 12 ms - * Timestamp: 10/27/2023 3:06:29 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:14:24 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/Xbox/ZM/maps/mp/_interactive_objects.gsc b/BO2/Xbox/ZM/maps/mp/_interactive_objects.gsc index 7c50b68..a56153e 100644 --- a/BO2/Xbox/ZM/maps/mp/_interactive_objects.gsc +++ b/BO2/Xbox/ZM/maps/mp/_interactive_objects.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 9 - * Decompile Time: 29 ms - * Timestamp: 10/27/2023 3:06:29 AM + * Decompile Time: 6 ms + * Timestamp: 10/28/2023 12:14:24 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/Xbox/ZM/maps/mp/_music.gsc b/BO2/Xbox/ZM/maps/mp/_music.gsc index 43212f5..58abc78 100644 --- a/BO2/Xbox/ZM/maps/mp/_music.gsc +++ b/BO2/Xbox/ZM/maps/mp/_music.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 2 - * Decompile Time: 2 ms - * Timestamp: 10/27/2023 3:06:29 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:14:24 AM *******************************************************************/ #include maps/mp/_utility; diff --git a/BO2/Xbox/ZM/maps/mp/_script_gen.gsc b/BO2/Xbox/ZM/maps/mp/_script_gen.gsc index c258037..5f30282 100644 --- a/BO2/Xbox/ZM/maps/mp/_script_gen.gsc +++ b/BO2/Xbox/ZM/maps/mp/_script_gen.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 4 - * Decompile Time: 43 ms - * Timestamp: 10/27/2023 3:06:30 AM + * Decompile Time: 3 ms + * Timestamp: 10/28/2023 12:14:25 AM *******************************************************************/ #include common_scripts/utility; @@ -31,45 +31,76 @@ script_gen_dump() { /# script_gen_dump_checksaved(); - flag_set("scriptgen_done"); - return; - firstrun = 0; - println(" "); - println(" "); - println(" "); - println("^2 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- "); - println("^3Dumping scriptgen dump for these reasons"); - println("^2 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- "); - i = 0; - for(;;) + if(!(level.script_gen_dump_reasons.size)) { - substr = getsubstr(level.script_gen_dump_reasons[i],15); - println(i + ". ) " + substr); - println(i + ". ) " + level.script_gen_dump_reasons[i]); - firstrun = 1; - i++; + flag_set("scriptgen_done"); + return; } - println("^2 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- "); - println(" "); - println("for First Run make sure you delete all of the vehicle precache script calls, createart calls, createfx calls( most commonly placed in maps\\" + level.script + "_fx.gsc ) "); - println(" "); - println("replace:"); - println("maps\\_load::main( 1 );"); - println(" "); - println("with( don\'t forget to add this file to P4 ):"); - println("maps\\scriptgen\\" + level.script + "_scriptgen::main();"); - println(" "); - println("^2 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- "); - println(" "); - println("^2 / \\ / \\ / \\"); - println("^2scroll up"); - println("^2 / \\ / \\ / \\"); - println(" "); - return; + + firstrun = 0; + if(level.bscriptgened) + { + println(" "); + println(" "); + println(" "); + println("^2 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- "); + println("^3Dumping scriptgen dump for these reasons"); + println("^2 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- "); + for(i = 0;i < level.script_gen_dump_reasons.size;i++) + { + if(issubstr(level.script_gen_dump_reasons[i],"nowrite")) + { + substr = getsubstr(level.script_gen_dump_reasons[i],15); + println(i + ". ) " + substr); + } + else + { + println(i + ". ) " + level.script_gen_dump_reasons[i]); + } + + if(level.script_gen_dump_reasons[i] == "First run") + { + firstrun = 1; + } + } + + println("^2 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- "); + println(" "); + if(firstrun) + { + println("for First Run make sure you delete all of the vehicle precache script calls, createart calls, createfx calls( most commonly placed in maps\\" + level.script + "_fx.gsc ) "); + println(" "); + println("replace:"); + println("maps\\_load::main( 1 );"); + println(" "); + println("with( don\'t forget to add this file to P4 ):"); + println("maps\\scriptgen\\" + level.script + "_scriptgen::main();"); + println(" "); + } + + println("^2 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- "); + println(" "); + println("^2 / \\ / \\ / \\"); + println("^2scroll up"); + println("^2 / \\ / \\ / \\"); + println(" "); + } + else + { + return; + } + filename = "scriptgen/" + level.script + "_scriptgen.gsc"; csvfilename = "zone_source/" + level.script + ".csv"; - file = openfile(filename,"write"); - file = 0; + if(level.bscriptgened) + { + file = openfile(filename,"write"); + } + else + { + file = 0; + } + /# assert(file != -1,"File not writeable( check it and and restart the map ): " + filename); #/ @@ -80,82 +111,114 @@ script_gen_dump() script_gen_dumpprintln(file,"\tlevel.script_gen_dump = [];"); script_gen_dumpprintln(file,""); signatures = getarraykeys(level.script_gen_dump); - i = 0; - for(;;) + for(i = 0;i < signatures.size;i++) { - script_gen_dumpprintln(file,"\t" + level.script_gen_dump[signatures[i]]); - i++; + if(!(issubstr(level.script_gen_dump[signatures[i]],"nowrite"))) + { + script_gen_dumpprintln(file,"\t" + level.script_gen_dump[signatures[i]]); + } } - i = 0; - for(;;) + + for(i = 0;i < signatures.size;i++) { - script_gen_dumpprintln(file,"\tlevel.script_gen_dump[ " + "\" + signatures[i] + "\" + " ] = " + "\" + signatures[i] + "\" + ";"); - script_gen_dumpprintln(file,"\tlevel.script_gen_dump[ " + "\" + signatures[i] + "\" + " ] = " + "\"nowrite\" + ";"); - i++; + if(!(issubstr(level.script_gen_dump[signatures[i]],"nowrite"))) + { + script_gen_dumpprintln(file,"\tlevel.script_gen_dump[ " + "\" + signatures[i] + "\" + " ] = " + "\" + signatures[i] + "\" + ";"); + } + else + { + script_gen_dumpprintln(file,"\tlevel.script_gen_dump[ " + "\" + signatures[i] + "\" + " ] = " + "\"nowrite\" + ";"); + } } + script_gen_dumpprintln(file,""); keys1 = undefined; keys2 = undefined; - keys1 = getarraykeys(level.sg_precacheanims); - i = 0; - for(;;) + if(IsDefined(level.sg_precacheanims)) { - script_gen_dumpprintln(file,"\tanim_precach_" + keys1[i] + "();"); - i++; + keys1 = getarraykeys(level.sg_precacheanims); } + + if(IsDefined(keys1)) + { + for(i = 0;i < keys1.size;i++) + { + script_gen_dumpprintln(file,"\tanim_precach_" + keys1[i] + "();"); + } + } + script_gen_dumpprintln(file,"\tmaps\\_load::main( 1, " + level.bcsvgened + ", 1 );"); script_gen_dumpprintln(file,"}"); script_gen_dumpprintln(file,""); - keys1 = getarraykeys(level.sg_precacheanims); - i = 0; - for(;;) + if(IsDefined(level.sg_precacheanims)) { - script_gen_dumpprintln(file,"#using_animtree( \" + keys1[i] + "\" );"); - script_gen_dumpprintln(file,"anim_precach_" + keys1[i] + "()"); - script_gen_dumpprintln(file,"{"); - script_gen_dumpprintln(file,"\tlevel.sg_animtree[ \" + keys1[i] + "\" ] = #animtree;"); - keys2 = getarraykeys(level.sg_precacheanims[keys1[i]]); - j = 0; - for(;;) - { - script_gen_dumpprintln(file,"\tlevel.sg_anim[ \" + keys2[j] + "\" ] = %" + keys2[j] + ";"); - j++; - } - script_gen_dumpprintln(file,"}"); - script_gen_dumpprintln(file,""); - i++; + keys1 = getarraykeys(level.sg_precacheanims); } - saved = closefile(file); - saved = 1; - csvfile = openfile(csvfilename,"write"); - csvfile = 0; + + if(IsDefined(keys1)) + { + for(i = 0;i < keys1.size;i++) + { + script_gen_dumpprintln(file,"#using_animtree( \" + keys1[i] + "\" );"); + script_gen_dumpprintln(file,"anim_precach_" + keys1[i] + "()"); + script_gen_dumpprintln(file,"{"); + script_gen_dumpprintln(file,"\tlevel.sg_animtree[ \" + keys1[i] + "\" ] = #animtree;"); + keys2 = getarraykeys(level.sg_precacheanims[keys1[i]]); + if(IsDefined(keys2)) + { + for(j = 0;j < keys2.size;j++) + { + script_gen_dumpprintln(file,"\tlevel.sg_anim[ \" + keys2[j] + "\" ] = %" + keys2[j] + ";"); + } + } + + script_gen_dumpprintln(file,"}"); + script_gen_dumpprintln(file,""); + } + } + + if(level.bscriptgened) + { + saved = closefile(file); + } + else + { + saved = 1; + } + + if(level.bcsvgened) + { + csvfile = openfile(csvfilename,"write"); + } + else + { + csvfile = 0; + } + /# assert(csvfile != -1,"File not writeable( check it and and restart the map ): " + csvfilename); #/ signatures = getarraykeys(level.script_gen_dump); - i = 0; - for(;;) + for(i = 0;i < signatures.size;i++) { script_gen_csvdumpprintln(csvfile,signatures[i]); - i++; } - csvfilesaved = closefile(csvfile); - csvfilesaved = 1; + + if(level.bcsvgened) + { + csvfilesaved = closefile(csvfile); + } + else + { + csvfilesaved = 1; + } + /# assert(csvfilesaved == 1,"csv not saved( see above message? ): " + csvfilename); #/ /# assert(saved == 1,"map not saved( see above message? ): " + filename); #/ -(i < keys1.size ? (IsDefined(keys2) ? j < keys2.size : level.bscriptgened) : level.bcsvgened) ? i < signatures.size : level.bcsvgened -IsDefined(keys1) -IsDefined(level.sg_precacheanims) -i < keys1.size -IsDefined(keys1) -IsDefined(level.sg_precacheanims) -(issubstr(level.script_gen_dump[signatures[i]],"nowrite")) ? i < signatures.size : issubstr(level.script_gen_dump[signatures[i]],"nowrite") -i < signatures.size -(level.script_gen_dump_reasons.size) ? ((level.bscriptgened ? i < level.script_gen_dump_reasons.size : issubstr(level.script_gen_dump_reasons[i],"nowrite")) ? level.script_gen_dump_reasons[i] == "First run" : firstrun) : level.bscriptgened #/ /# assert(!level.bscriptgened,"SCRIPTGEN generated: follow instructions listed above this error in the console"); @@ -164,9 +227,8 @@ i < signatures.size { /# assertmsg("SCRIPTGEN updated: Rebuild fast file and run map again"); -#/ } - +#/ flag_set("scriptgen_done"); } @@ -244,7 +306,7 @@ script_gen_csvdumpprintln(file,signature) { prefix = "string"; /# - assertmsg("string not yet supported by scriptgen"); + assertmsg("string not yet supported by scriptgen"); #/ } else if(issubstr(signature,"turret")) @@ -275,9 +337,14 @@ script_gen_csvdumpprintln(file,signature) } /# - println(string); - fprintln(file,string); -Stack-Empty ? Stack-Empty : file == -1 || !level.bcsvgened + if(file == -1 || !level.bcsvgened) + { + println(string); + } + else + { + fprintln(file,string); + } #/ } @@ -285,8 +352,13 @@ Stack-Empty ? Stack-Empty : file == -1 || !level.bcsvgened script_gen_dumpprintln(file,string) { /# - println(string); - fprintln(file,string); -Stack-Empty ? Stack-Empty : file == -1 || !level.bscriptgened + if(file == -1 || !level.bscriptgened) + { + println(string); + } + else + { + fprintln(file,string); + } #/ } \ No newline at end of file diff --git a/BO2/Xbox/ZM/maps/mp/_serverfaceanim_mp.gsc b/BO2/Xbox/ZM/maps/mp/_serverfaceanim_mp.gsc index e20f133..f08bf92 100644 --- a/BO2/Xbox/ZM/maps/mp/_serverfaceanim_mp.gsc +++ b/BO2/Xbox/ZM/maps/mp/_serverfaceanim_mp.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 4 - * Decompile Time: 3 ms - * Timestamp: 10/27/2023 3:06:30 AM + * Decompile Time: 1 ms + * Timestamp: 10/28/2023 12:14:25 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/Xbox/ZM/maps/mp/_sticky_grenade.gsc b/BO2/Xbox/ZM/maps/mp/_sticky_grenade.gsc index 9fc22b3..1624eae 100644 --- a/BO2/Xbox/ZM/maps/mp/_sticky_grenade.gsc +++ b/BO2/Xbox/ZM/maps/mp/_sticky_grenade.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 2 - * Decompile Time: 1 ms - * Timestamp: 10/27/2023 3:06:30 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:14:25 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/Xbox/ZM/maps/mp/_utility.gsc b/BO2/Xbox/ZM/maps/mp/_utility.gsc index 30fa405..c11090e 100644 --- a/BO2/Xbox/ZM/maps/mp/_utility.gsc +++ b/BO2/Xbox/ZM/maps/mp/_utility.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 176 - * Decompile Time: 181 ms - * Timestamp: 10/27/2023 3:06:31 AM + * Decompile Time: 42 ms + * Timestamp: 10/28/2023 12:14:26 AM *******************************************************************/ #include common_scripts/utility; @@ -78,10 +78,12 @@ error(msg) /# println("^c*ERROR* ",msg); wait(0.05); + if(GetDvar(#"F49A52C") != "1") + { /# - assertmsg("This is a forced error - attach the log file"); + assertmsg("This is a forced error - attach the log file"); + } #/ -GetDvar(#"F49A52C") != "1" #/ } @@ -1195,15 +1197,36 @@ activate_exploder(num) { num = int(num); /# - i = 0; - for(;;) + if(level.createfx_enabled) { - ent = level.createfxent[i]; - client_send = 0; - ent activate_individual_exploder(); - i++; + for(i = 0;i < level.createfxent.size;i++) + { + ent = level.createfxent[i]; + if(!(IsDefined(ent))) + { + } + else if(ent.v["type"] != "exploder") + { + } + else if(!(IsDefined(ent.v["exploder"]))) + { + } + else if(ent.v["exploder"] != num) + { + } + else + { + if(IsDefined(ent.v["exploder_server"])) + { + client_send = 0; + } + + ent activate_individual_exploder(); + } + } + + return; } -Stack-Empty ? Stack-Empty : ((level.createfx_enabled) ? i < level.createfxent.size : (IsDefined(ent) ? ent.v["type"] != "exploder" : ((IsDefined(ent.v["exploder"])) ? ent.v["exploder"] != num : IsDefined(ent.v["exploder_server"])))) #/ client_send = 1; if(IsDefined(level.createfxexploders[num])) @@ -1459,22 +1482,31 @@ plot_points(plotpoints,r,g,b,timer) { /# lastpoint = plotpoints[0]; - r = 1; - g = 1; - b = 1; - timer = 0.05; - i = 1; - for(;;) + if(!(IsDefined(r))) + { + r = 1; + } + + if(!(IsDefined(g))) + { + g = 1; + } + + if(!(IsDefined(b))) + { + b = 1; + } + + if(!(IsDefined(timer))) + { + timer = 0.05; + } + + for(i = 1;i < plotpoints.size;i++) { line(lastpoint,plotpoints[i],(r,g,b),1,timer); lastpoint = plotpoints[i]; - i++; } -i < plotpoints.size -IsDefined(timer) -IsDefined(b) -IsDefined(g) -IsDefined(r) #/ } @@ -2249,9 +2281,12 @@ set_dvar_int_if_unset(dvar,value,reset) drawcylinder(pos,rad,height,duration,stop_notify) { /# - duration = 0; + if(!(IsDefined(duration))) + { + duration = 0; + } + level thread drawcylinder_think(pos,rad,height,duration,stop_notify); -IsDefined(duration) #/ } @@ -2259,27 +2294,32 @@ IsDefined(duration) drawcylinder_think(pos,rad,height,seconds,stop_notify) { /# - level endon(stop_notify,IsDefined(stop_notify)); + if(IsDefined(stop_notify)) + { + level endon(stop_notify); + } + stop_time = GetTime() + seconds * 1000; currad = rad; curheight = height; for(;;) { - return; - r = 0; - for(;;) + if(seconds > 0 && stop_time <= GetTime()) + { + return; + } + + for(r = 0;r < 20;r++) { theta = r / 20 * 360; theta2 = r + 1 / 20 * 360; line(pos + (cos(theta) * currad,sin(theta) * currad,0),pos + (cos(theta2) * currad,sin(theta2) * currad,0)); line(pos + (cos(theta) * currad,sin(theta) * currad,curheight),pos + (cos(theta2) * currad,sin(theta2) * currad,curheight)); line(pos + (cos(theta) * currad,sin(theta) * currad,0),pos + (cos(theta) * currad,sin(theta) * currad,curheight)); - r++; } + wait(0.05); } -r < 20 -seconds > 0 && stop_time <= GetTime() #/ } diff --git a/BO2/Xbox/ZM/maps/mp/_visionset_mgr.gsc b/BO2/Xbox/ZM/maps/mp/_visionset_mgr.gsc index 1e8116b..da135b5 100644 --- a/BO2/Xbox/ZM/maps/mp/_visionset_mgr.gsc +++ b/BO2/Xbox/ZM/maps/mp/_visionset_mgr.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 27 - * Decompile Time: 39 ms - * Timestamp: 10/27/2023 3:06:31 AM + * Decompile Time: 6 ms + * Timestamp: 10/28/2023 12:14:26 AM *******************************************************************/ #include common_scripts/utility; @@ -415,9 +415,14 @@ monitor() for(player_index = 0;player_index < players.size;player_index++) { /# -is_true(players[player_index].pers["isBot"]) + if(is_true(players[player_index].pers["isBot"])) + { + } + else + { #/ - update_clientfields(players[player_index],level.vsmgr[type]); + update_clientfields(players[player_index],level.vsmgr[type]); + } } } } diff --git a/BO2/Xbox/ZM/maps/mp/animscripts/dog_init.gsc b/BO2/Xbox/ZM/maps/mp/animscripts/dog_init.gsc index 07aa96c..2ca3333 100644 --- a/BO2/Xbox/ZM/maps/mp/animscripts/dog_init.gsc +++ b/BO2/Xbox/ZM/maps/mp/animscripts/dog_init.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 3 - * Decompile Time: 11 ms - * Timestamp: 10/27/2023 3:05:48 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:14:04 AM *******************************************************************/ #include maps/mp/animscripts/dog_combat; diff --git a/BO2/Xbox/ZM/maps/mp/animscripts/dog_jump.gsc b/BO2/Xbox/ZM/maps/mp/animscripts/dog_jump.gsc index d3f8af3..ec27487 100644 --- a/BO2/Xbox/ZM/maps/mp/animscripts/dog_jump.gsc +++ b/BO2/Xbox/ZM/maps/mp/animscripts/dog_jump.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 1 - * Decompile Time: 10 ms - * Timestamp: 10/27/2023 3:05:49 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:14:05 AM *******************************************************************/ #include maps/mp/animscripts/shared; diff --git a/BO2/Xbox/ZM/maps/mp/animscripts/dog_move.gsc b/BO2/Xbox/ZM/maps/mp/animscripts/dog_move.gsc index b45eda0..a4b6553 100644 --- a/BO2/Xbox/ZM/maps/mp/animscripts/dog_move.gsc +++ b/BO2/Xbox/ZM/maps/mp/animscripts/dog_move.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 6 - * Decompile Time: 86 ms - * Timestamp: 10/27/2023 3:05:50 AM + * Decompile Time: 7 ms + * Timestamp: 10/28/2023 12:14:05 AM *******************************************************************/ #include maps/mp/animscripts/dog_stop; @@ -43,8 +43,10 @@ main() self setaimanimweights(0,0); do_movement = 1; /# - do_movement = 0; -debug_allow_movement() + if(!(debug_allow_movement())) + { + do_movement = 0; + } #/ if(IsDefined(level.hostmigrationtimer)) { @@ -105,8 +107,10 @@ moveloop() { do_movement = 1; /# - do_movement = 0; -debug_allow_movement() + if(!(debug_allow_movement())) + { + do_movement = 0; + } #/ if(IsDefined(level.hostmigrationtimer)) { @@ -172,9 +176,14 @@ stopmove() shouldrun() { /# - return 1; - return 0; -Stack-Empty ? GetDvarInt(#"DFB12081") != 0 : GetDvarInt(#"D5D7999B") != 0 + if(GetDvarInt(#"DFB12081") != 0) + { + return 1; + } + else if(GetDvarInt(#"D5D7999B") != 0) + { + return 0; + } #/ if(IsDefined(self.enemy)) { diff --git a/BO2/Xbox/ZM/maps/mp/animscripts/dog_pain.gsc b/BO2/Xbox/ZM/maps/mp/animscripts/dog_pain.gsc index 374f95b..ae04885 100644 --- a/BO2/Xbox/ZM/maps/mp/animscripts/dog_pain.gsc +++ b/BO2/Xbox/ZM/maps/mp/animscripts/dog_pain.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 1 - * Decompile Time: 11 ms - * Timestamp: 10/27/2023 3:05:50 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:14:05 AM *******************************************************************/ #include maps/mp/animscripts/shared; diff --git a/BO2/Xbox/ZM/maps/mp/animscripts/dog_stop.gsc b/BO2/Xbox/ZM/maps/mp/animscripts/dog_stop.gsc index 03663ae..c7d57b1 100644 --- a/BO2/Xbox/ZM/maps/mp/animscripts/dog_stop.gsc +++ b/BO2/Xbox/ZM/maps/mp/animscripts/dog_stop.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 6 - * Decompile Time: 41 ms - * Timestamp: 10/27/2023 3:05:51 AM + * Decompile Time: 1 ms + * Timestamp: 10/28/2023 12:14:05 AM *******************************************************************/ #include maps/mp/animscripts/shared; diff --git a/BO2/Xbox/ZM/maps/mp/animscripts/dog_turn.gsc b/BO2/Xbox/ZM/maps/mp/animscripts/dog_turn.gsc index d4235fa..c208033 100644 --- a/BO2/Xbox/ZM/maps/mp/animscripts/dog_turn.gsc +++ b/BO2/Xbox/ZM/maps/mp/animscripts/dog_turn.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 10 - * Decompile Time: 146 ms - * Timestamp: 10/27/2023 3:05:51 AM + * Decompile Time: 1 ms + * Timestamp: 10/28/2023 12:14:06 AM *******************************************************************/ #include maps/mp/animscripts/shared; diff --git a/BO2/Xbox/ZM/maps/mp/animscripts/shared.gsc b/BO2/Xbox/ZM/maps/mp/animscripts/shared.gsc index 7c24fd7..373883a 100644 --- a/BO2/Xbox/ZM/maps/mp/animscripts/shared.gsc +++ b/BO2/Xbox/ZM/maps/mp/animscripts/shared.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 12 - * Decompile Time: 20 ms - * Timestamp: 10/27/2023 3:05:52 AM + * Decompile Time: 2 ms + * Timestamp: 10/28/2023 12:14:06 AM *******************************************************************/ #include common_scripts/utility; @@ -39,8 +39,10 @@ growling() handlenotetrack(note,flagname,customfunction,var1) { /# - println("dog notetrack: " + flagname + " " + note + " " + GetTime()); -GetDvarInt(#"6EBEB982") + if(GetDvarInt(#"6EBEB982")) + { + println("dog notetrack: " + flagname + " " + note + " " + GetTime()); + } #/ if(isai(self) && self.type == "dog") { @@ -60,7 +62,8 @@ GetDvarInt(#"6EBEB982") default: return [[ customfunction ]](note); return [[ customfunction ]](note,var1); - Stack-Empty ? IsDefined(customfunction) : IsDefined(var1) + IsDefined(var1) + IsDefined(customfunction) break; } } diff --git a/BO2/Xbox/ZM/maps/mp/animscripts/utility.gsc b/BO2/Xbox/ZM/maps/mp/animscripts/utility.gsc index 4b31a79..be8043d 100644 --- a/BO2/Xbox/ZM/maps/mp/animscripts/utility.gsc +++ b/BO2/Xbox/ZM/maps/mp/animscripts/utility.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 10 - * Decompile Time: 18 ms - * Timestamp: 10/27/2023 3:05:52 AM + * Decompile Time: 1 ms + * Timestamp: 10/28/2023 12:14:06 AM *******************************************************************/ //Function Number: 1 @@ -32,9 +32,17 @@ anim_get_dvar(dvar,def) set_orient_mode(mode,val1) { /# - println("DOG: Setting orient mode: " + mode + " " + val1 + " " + GetTime()); - println("DOG: Setting orient mode: " + mode + " " + GetTime()); -Stack-Empty ? level.dog_debug_orient == self getentnum() : IsDefined(val1) + if(level.dog_debug_orient == self getentnum()) + { + if(IsDefined(val1)) + { + println("DOG: Setting orient mode: " + mode + " " + val1 + " " + GetTime()); + } + else + { + println("DOG: Setting orient mode: " + mode + " " + GetTime()); + } + } #/ if(IsDefined(val1)) { @@ -50,10 +58,15 @@ Stack-Empty ? level.dog_debug_orient == self getentnum() : IsDefined(val1) debug_anim_print(text) { /# - println(text + " " + GetTime()); - println(text + " " + GetTime()); -level.dog_debug_anims_ent == self getentnum() -level.dog_debug_anims + if(level.dog_debug_anims) + { + println(text + " " + GetTime()); + } + + if(level.dog_debug_anims_ent == self getentnum()) + { + println(text + " " + GetTime()); + } #/ } @@ -61,17 +74,19 @@ level.dog_debug_anims debug_turn_print(text,line) { /# - duration = 200; - currentyawcolor = (1,1,1); - lookaheadyawcolor = (1,0,0); - desiredyawcolor = (1,1,0); - currentyaw = AngleClamp180(self.angles[1]); - desiredyaw = AngleClamp180(self.desiredangle); - lookaheaddir = self.lookaheaddir; - lookaheadangles = VectorToAngles(lookaheaddir); - lookaheadyaw = AngleClamp180(lookaheadangles[1]); - println(text + " " + GetTime() + " cur: " + currentyaw + " look: " + lookaheadyaw + " desired: " + desiredyaw); -level.dog_debug_turns == self getentnum() + if(level.dog_debug_turns == self getentnum()) + { + duration = 200; + currentyawcolor = (1,1,1); + lookaheadyawcolor = (1,0,0); + desiredyawcolor = (1,1,0); + currentyaw = AngleClamp180(self.angles[1]); + desiredyaw = AngleClamp180(self.desiredangle); + lookaheaddir = self.lookaheaddir; + lookaheadangles = VectorToAngles(lookaheaddir); + lookaheadyaw = AngleClamp180(lookaheadangles[1]); + println(text + " " + GetTime() + " cur: " + currentyaw + " look: " + lookaheadyaw + " desired: " + desiredyaw); + } #/ } @@ -100,8 +115,12 @@ current_yaw_line_debug(duration) currentyawcolor[1] = (1,0,1); current_color_index = 0; start_time = GetTime(); - level.lastdebugheight = 15; - for(;;) + if(!(IsDefined(level.lastdebugheight))) + { + level.lastdebugheight = 15; + } + + while(GetTime() - start_time < 1000) { pos1 = (self.origin[0],self.origin[1],self.origin[2] + level.lastdebugheight); pos2 = current_color_index + 1 * 10 + VectorScale(AnglesToForward(self.angles)); @@ -109,10 +128,15 @@ current_yaw_line_debug(duration) current_color_index = current_color_index + 1 % currentyawcolor.size; wait(0.05); } - level.lastdebugheight = 30; - level.lastdebugheight = 15; -(GetTime() - start_time < 1000) ? pos1 : level.lastdebugheight == 15 -IsDefined(level.lastdebugheight) + + if(level.lastdebugheight == 15) + { + level.lastdebugheight = 30; + } + else + { + level.lastdebugheight = 15; + } #/ } diff --git a/BO2/Xbox/ZM/maps/mp/animscripts/zm_death.gsc b/BO2/Xbox/ZM/maps/mp/animscripts/zm_death.gsc index 264c385..e7cbeee 100644 --- a/BO2/Xbox/ZM/maps/mp/animscripts/zm_death.gsc +++ b/BO2/Xbox/ZM/maps/mp/animscripts/zm_death.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 13 - * Decompile Time: 50 ms - * Timestamp: 10/27/2023 3:05:53 AM + * Decompile Time: 13 ms + * Timestamp: 10/28/2023 12:14:06 AM *******************************************************************/ #include common_scripts/utility; @@ -132,9 +132,8 @@ flame_death_fx() { /# println("^3ANIMSCRIPT WARNING: You are missing level._effect[\"character_fire_death_torso\"], please set it in your levelname_fx.gsc. Use \"env/fire/fx_fire_player_torso\"); -#/ } - +#/ if(IsDefined(level._effect) && IsDefined(level._effect["character_fire_death_sm"])) { wait(1); @@ -162,8 +161,8 @@ flame_death_fx() { /# println("^3ANIMSCRIPT WARNING: You are missing level._effect[\"character_fire_death_sm\"], please set it in your levelname_fx.gsc. Use \"env/fire/fx_fire_zombie_md\"); -#/ } +#/ } //Function Number: 5 diff --git a/BO2/Xbox/ZM/maps/mp/animscripts/zm_init.gsc b/BO2/Xbox/ZM/maps/mp/animscripts/zm_init.gsc index ef8c9ad..2dd6b02 100644 --- a/BO2/Xbox/ZM/maps/mp/animscripts/zm_init.gsc +++ b/BO2/Xbox/ZM/maps/mp/animscripts/zm_init.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 7 - * Decompile Time: 18 ms - * Timestamp: 10/27/2023 3:05:53 AM + * Decompile Time: 1 ms + * Timestamp: 10/28/2023 12:14:07 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/Xbox/ZM/maps/mp/animscripts/zm_jump.gsc b/BO2/Xbox/ZM/maps/mp/animscripts/zm_jump.gsc index 67ba650..7c2c0f3 100644 --- a/BO2/Xbox/ZM/maps/mp/animscripts/zm_jump.gsc +++ b/BO2/Xbox/ZM/maps/mp/animscripts/zm_jump.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 1 - * Decompile Time: 2 ms - * Timestamp: 10/27/2023 3:05:53 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:14:07 AM *******************************************************************/ #include maps/mp/animscripts/shared; diff --git a/BO2/Xbox/ZM/maps/mp/animscripts/zm_melee.gsc b/BO2/Xbox/ZM/maps/mp/animscripts/zm_melee.gsc index 5e49a11..65710b5 100644 --- a/BO2/Xbox/ZM/maps/mp/animscripts/zm_melee.gsc +++ b/BO2/Xbox/ZM/maps/mp/animscripts/zm_melee.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 8 - * Decompile Time: 36 ms - * Timestamp: 10/27/2023 3:05:54 AM + * Decompile Time: 2 ms + * Timestamp: 10/28/2023 12:14:07 AM *******************************************************************/ #include common_scripts/utility; @@ -15,119 +15,120 @@ #include maps/mp/animscripts/zm_utility; //Function Number: 1 - for(;;) - { - meleecombat() - { - self endon("end_melee"); - self endon("killanimscript"); +meleecombat() +{ + self endon("end_melee"); + self endon("killanimscript"); /# - assert(canmeleeanyrange()); + assert(canmeleeanyrange()); #/ - self orientmode("face enemy"); - if(is_true(self.sliding_on_goo)) - { - self animmode("slide"); - } - else - { - self animmode("zonly_physics"); + self orientmode("face enemy"); + if(is_true(self.sliding_on_goo)) + { + self animmode("slide"); + } + else + { + self animmode("zonly_physics"); + } + for(;;) { - } + if(IsDefined(self.marked_for_death)) + { + return; + } - if(IsDefined(self.marked_for_death)) - { - return; - } + if(IsDefined(self.enemy)) + { + angles = VectorToAngles(self.enemy.origin - self.origin); + self orientmode("face angle",angles[1]); + } - if(IsDefined(self.enemy)) - { - angles = VectorToAngles(self.enemy.origin - self.origin); - self orientmode("face angle",angles[1]); - } + if(IsDefined(self.zmb_vocals_attack)) + { + self playsound(self.zmb_vocals_attack); + } - if(IsDefined(self.zmb_vocals_attack)) - { - self playsound(self.zmb_vocals_attack); - } + if(IsDefined(self.nochangeduringmelee) && self.nochangeduringmelee) + { + self.safetochangescript = 0; + } - if(IsDefined(self.nochangeduringmelee) && self.nochangeduringmelee) - { - self.safetochangescript = 0; - } + if(IsDefined(self.is_inert) && self.is_inert) + { + return; + } - if(IsDefined(self.is_inert) && self.is_inert) - { - return; - } + set_zombie_melee_anim_state(self); + if(IsDefined(self.melee_anim_func)) + { + self thread [[ self.melee_anim_func ]](); + } - set_zombie_melee_anim_state(self); - if(IsDefined(self.melee_anim_func)) + while(1) + { + self waittill("melee_anim",note); + if(note == "end") { - self thread [[ self.melee_anim_func ]](); + break; } - - if(1) + else { - self waittill("melee_anim",note); - if(note == "end") + if(note == "fire") { - break; - } - else - { - if(note == "fire") + if(!(IsDefined(self.enemy))) { - if(!(IsDefined(self.enemy))) - { - break; - } - - if(IsDefined(self.dont_die_on_me) && self.dont_die_on_me) - { - break; - } - - self.enemy notify("melee_swipe",self); - oldhealth = self.enemy.health; - self melee(); - if(!(IsDefined(self.enemy))) - { - break; - } - - if(self.enemy.health >= oldhealth) - { - if(IsDefined(self.melee_miss_func)) - { - self [[ self.melee_miss_func ]](); - } - else if(IsDefined(level.melee_miss_func)) - { - self [[ level.melee_miss_func ]](); - } - } - -/# - zombie_eye = self geteye(); - player_eye = self.enemy geteye(); - trace = bullettrace(zombie_eye,player_eye,1,self); - hitpos = trace["position"]; - dist = distance(zombie_eye,hitpos); - iprintln("melee HIT " + dist); - self.enemy.health < oldhealth - GetDvarInt(#"7F11F572") -#/ - continue; + break; } - if(note == "stop") + if(IsDefined(self.dont_die_on_me) && self.dont_die_on_me) { - if(!(cancontinuetomelee())) + break; + } + + self.enemy notify("melee_swipe",self); + oldhealth = self.enemy.health; + self melee(); + if(!(IsDefined(self.enemy))) + { + break; + } + + if(self.enemy.health >= oldhealth) + { + if(IsDefined(self.melee_miss_func)) { - break; + self [[ self.melee_miss_func ]](); } + else if(IsDefined(level.melee_miss_func)) + { + self [[ level.melee_miss_func ]](); + } + } + +/# + if(GetDvarInt(#"7F11F572")) + { + if(self.enemy.health < oldhealth) + { + zombie_eye = self geteye(); + player_eye = self.enemy geteye(); + trace = bullettrace(zombie_eye,player_eye,1,self); + hitpos = trace["position"]; + dist = distance(zombie_eye,hitpos); + iprintln("melee HIT " + dist); + } + } +#/ + continue; + } + + if(note == "stop") + { + if(!(cancontinuetomelee())) + { + break; } } } diff --git a/BO2/Xbox/ZM/maps/mp/animscripts/zm_move.gsc b/BO2/Xbox/ZM/maps/mp/animscripts/zm_move.gsc index 34cd111..b90a6a6 100644 --- a/BO2/Xbox/ZM/maps/mp/animscripts/zm_move.gsc +++ b/BO2/Xbox/ZM/maps/mp/animscripts/zm_move.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 14 - * Decompile Time: 54 ms - * Timestamp: 10/27/2023 3:05:54 AM + * Decompile Time: 2 ms + * Timestamp: 10/28/2023 12:14:08 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/Xbox/ZM/maps/mp/animscripts/zm_pain.gsc b/BO2/Xbox/ZM/maps/mp/animscripts/zm_pain.gsc index 5dd1c22..1b413cd 100644 --- a/BO2/Xbox/ZM/maps/mp/animscripts/zm_pain.gsc +++ b/BO2/Xbox/ZM/maps/mp/animscripts/zm_pain.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 1 - * Decompile Time: 2 ms - * Timestamp: 10/27/2023 3:05:55 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:14:08 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/Xbox/ZM/maps/mp/animscripts/zm_run.gsc b/BO2/Xbox/ZM/maps/mp/animscripts/zm_run.gsc index 0360746..aa61a72 100644 --- a/BO2/Xbox/ZM/maps/mp/animscripts/zm_run.gsc +++ b/BO2/Xbox/ZM/maps/mp/animscripts/zm_run.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 4 - * Decompile Time: 9 ms - * Timestamp: 10/27/2023 3:05:55 AM + * Decompile Time: 5 ms + * Timestamp: 10/28/2023 12:14:08 AM *******************************************************************/ #include maps/mp/animscripts/shared; diff --git a/BO2/Xbox/ZM/maps/mp/animscripts/zm_stop.gsc b/BO2/Xbox/ZM/maps/mp/animscripts/zm_stop.gsc index 07668eb..1826182 100644 --- a/BO2/Xbox/ZM/maps/mp/animscripts/zm_stop.gsc +++ b/BO2/Xbox/ZM/maps/mp/animscripts/zm_stop.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 1 - * Decompile Time: 4 ms - * Timestamp: 10/27/2023 3:05:55 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:14:08 AM *******************************************************************/ #include maps/mp/animscripts/shared; diff --git a/BO2/Xbox/ZM/maps/mp/animscripts/zm_turn.gsc b/BO2/Xbox/ZM/maps/mp/animscripts/zm_turn.gsc index c23172c..25b4ee9 100644 --- a/BO2/Xbox/ZM/maps/mp/animscripts/zm_turn.gsc +++ b/BO2/Xbox/ZM/maps/mp/animscripts/zm_turn.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 1 - * Decompile Time: 3 ms - * Timestamp: 10/27/2023 3:05:56 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:14:09 AM *******************************************************************/ #include maps/mp/animscripts/shared; diff --git a/BO2/Xbox/ZM/maps/mp/gametypes_zm/_dev.gsc b/BO2/Xbox/ZM/maps/mp/gametypes_zm/_dev.gsc index bd5adaf..c56d8ff 100644 --- a/BO2/Xbox/ZM/maps/mp/gametypes_zm/_dev.gsc +++ b/BO2/Xbox/ZM/maps/mp/gametypes_zm/_dev.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 2 - * Decompile Time: 22 ms - * Timestamp: 10/27/2023 3:05:56 AM + * Decompile Time: 1 ms + * Timestamp: 10/28/2023 12:14:09 AM *******************************************************************/ #include common_scripts/utility; @@ -27,61 +27,81 @@ init() updatedevsettingszm() { /# - level.streamdumpteamindex = 0; - level.streamdumpteamindex++; - numpoints = 0; - spawnpoints = []; - location = level.scr_zm_map_start_location; - location = level.default_start_location; - match_string = level.scr_zm_ui_gametype + "_" + location; - structs = getstructarray("initial_spawn","script_noteworthy"); - _a46 = structs; - _k46 = FirstArrayKey(_a46); - for(;;) + if(level.players.size > 0) { - struct = _a46[_k46]; - tokens = strtok(struct.script_string," "); - _a51 = tokens; - _k51 = FirstArrayKey(_a51); - for(;;) + if(GetDvar(#"7B03E923") == "3") { - token = _a51[_k51]; - spawnpoints[spawnpoints.size] = struct; - _k51 = NextArrayKey(_a51); + if(!(IsDefined(level.streamdumpteamindex))) + { + level.streamdumpteamindex = 0; + } + else + { + level.streamdumpteamindex++; + } + + numpoints = 0; + spawnpoints = []; + location = level.scr_zm_map_start_location; + if((location == "default" || location == "") && IsDefined(level.default_start_location)) + { + location = level.default_start_location; + } + + match_string = level.scr_zm_ui_gametype + "_" + location; + if(level.streamdumpteamindex < level.teams.size) + { + structs = getstructarray("initial_spawn","script_noteworthy"); + if(IsDefined(structs)) + { + foreach(struct in structs) + { + if(IsDefined(struct.script_string)) + { + tokens = strtok(struct.script_string," "); + foreach(token in tokens) + { + if(token == match_string) + { + spawnpoints[spawnpoints.size] = struct; + } + } + } + } + } + + if(!IsDefined(spawnpoints) || spawnpoints.size == 0) + { + spawnpoints = getstructarray("initial_spawn_points","targetname"); + } + + if(IsDefined(spawnpoints)) + { + numpoints = spawnpoints.size; + } + } + + if(numpoints == 0) + { + setdvar("r_streamDumpDistance","0"); + level.streamdumpteamindex = -1; + } + else + { + averageorigin = (0,0,0); + averageangles = (0,0,0); + foreach(spawnpoint in spawnpoints) + { + averageorigin = averageorigin + spawnpoint.origin / numpoints; + averageangles = averageangles + spawnpoint.angles / numpoints; + } + + level.players[0] setplayerangles(averageangles); + level.players[0] setorigin(averageorigin); + wait(0.05); + setdvar("r_streamDumpDistance","2"); + } } - _k46 = NextArrayKey(_a46); } - spawnpoints = getstructarray("initial_spawn_points","targetname"); - numpoints = spawnpoints.size; - setdvar("r_streamDumpDistance","0"); - level.streamdumpteamindex = -1; - averageorigin = (0,0,0); - averageangles = (0,0,0); - _a80 = spawnpoints; - _k80 = FirstArrayKey(_a80); - for(;;) - { - spawnpoint = _a80[_k80]; - averageorigin = averageorigin + spawnpoint.origin / numpoints; - averageangles = averageangles + spawnpoint.angles / numpoints; - _k80 = NextArrayKey(_a80); - } - level.players[0] setplayerangles(averageangles); - level.players[0] setorigin(averageorigin); - wait(0.05); - setdvar("r_streamDumpDistance","2"); -numpoints == 0 ? IsDefined(_k80) : _k80 -IsDefined(spawnpoints) -!IsDefined(spawnpoints) || spawnpoints.size == 0 -_k46 -_k51 -token == match_string -IsDefined(_k51) -IsDefined(struct.script_string) -IsDefined(_k46) -IsDefined(structs) -level.streamdumpteamindex < level.teams.size -(location == "default" || location == "") && IsDefined(level.default_start_location) -(level.players.size > 0) ? GetDvar(#"7B03E923") == "3" : IsDefined(level.streamdumpteamindex) #/ } \ No newline at end of file diff --git a/BO2/Xbox/ZM/maps/mp/gametypes_zm/_hud.gsc b/BO2/Xbox/ZM/maps/mp/gametypes_zm/_hud.gsc index ddf7874..e03164d 100644 --- a/BO2/Xbox/ZM/maps/mp/gametypes_zm/_hud.gsc +++ b/BO2/Xbox/ZM/maps/mp/gametypes_zm/_hud.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 4 - * Decompile Time: 24 ms - * Timestamp: 10/27/2023 3:05:57 AM + * Decompile Time: 1 ms + * Timestamp: 10/28/2023 12:14:09 AM *******************************************************************/ //Function Number: 1 diff --git a/BO2/Xbox/ZM/maps/mp/gametypes_zm/_menus.gsc b/BO2/Xbox/ZM/maps/mp/gametypes_zm/_menus.gsc index fe0365a..a98e3ba 100644 --- a/BO2/Xbox/ZM/maps/mp/gametypes_zm/_menus.gsc +++ b/BO2/Xbox/ZM/maps/mp/gametypes_zm/_menus.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 3 - * Decompile Time: 88 ms - * Timestamp: 10/27/2023 3:05:57 AM + * Decompile Time: 2 ms + * Timestamp: 10/28/2023 12:14:09 AM *******************************************************************/ #include maps/mp/_utility; diff --git a/BO2/Xbox/ZM/maps/mp/zombies/_load.gsc b/BO2/Xbox/ZM/maps/mp/zombies/_load.gsc index 0964d34..c7c0fa7 100644 --- a/BO2/Xbox/ZM/maps/mp/zombies/_load.gsc +++ b/BO2/Xbox/ZM/maps/mp/zombies/_load.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 10 - * Decompile Time: 86 ms - * Timestamp: 10/27/2023 3:05:58 AM + * Decompile Time: 17 ms + * Timestamp: 10/28/2023 12:14:10 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/Xbox/ZM/maps/mp/zombies/_zm.gsc b/BO2/Xbox/ZM/maps/mp/zombies/_zm.gsc index c7538ea..3bd437d 100644 --- a/BO2/Xbox/ZM/maps/mp/zombies/_zm.gsc +++ b/BO2/Xbox/ZM/maps/mp/zombies/_zm.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 168 - * Decompile Time: 1092 ms - * Timestamp: 10/27/2023 3:06:02 AM + * Decompile Time: 188 ms + * Timestamp: 10/28/2023 12:14:11 AM *******************************************************************/ #include common_scripts/utility; @@ -293,10 +293,10 @@ fade_out_intro_screen_zm(hold_black_time,fade_out_time,destroyed_afterwards) { players[i] freezecontrols(0); /# - println(" Unfreeze controls 5"); -#/ + println(" Unfreeze controls 5"); } } +#/ } if(destroyed_afterwards == 1) @@ -1147,7 +1147,7 @@ callback_playerdamage(einflictor,eattacker,idamage,idflags,smeansofdeath,sweapon else if(smeansofdeath != "MOD_GRENADE_SPLASH" && smeansofdeath != "MOD_GRENADE" && smeansofdeath != "MOD_EXPLOSIVE" && smeansofdeath != "MOD_PROJECTILE" && smeansofdeath != "MOD_PROJECTILE_SPLASH" && smeansofdeath != "MOD_BURNED" && smeansofdeath != "MOD_SUICIDE") { /# - println("Exiting - damage type verbotten."); + println("Exiting - damage type verbotten."); #/ return; } @@ -1449,9 +1449,8 @@ onplayerspawned() self freezecontrols(0); /# println(" Unfreeze controls 7"); -#/ } - +#/ self.hits = 0; self init_player_offhand_weapons(); lethal_grenade = self get_player_lethal_grenade(); @@ -1463,8 +1462,10 @@ onplayerspawned() self recordplayerrevivezombies(self); /# - self enableinvulnerability(); - GetDvarInt(#"FA81816F") >= 1 && GetDvarInt(#"FA81816F") <= 3 + if(GetDvarInt(#"FA81816F") >= 1 && GetDvarInt(#"FA81816F") <= 3) + { + self enableinvulnerability(); + } #/ self setactionslot(3,"altMode"); self playerknockback(0); @@ -1631,8 +1632,10 @@ in_enabled_playable_area() get_player_out_of_playable_area_monitor_wait_time() { /# - return 0.05; -IsDefined(level.check_kill_thread_every_frame) && level.check_kill_thread_every_frame + if(IsDefined(level.check_kill_thread_every_frame) && level.check_kill_thread_every_frame) + { + return 0.05; + } #/ } @@ -1668,11 +1671,18 @@ player_out_of_playable_area_monitor() if(!IsDefined(level.player_out_of_playable_area_monitor_callback) || self [[ level.player_out_of_playable_area_monitor_callback ]]()) { /# - iprintlnbold("out of playable"); - wait(get_player_out_of_playable_area_monitor_wait_time()); - wait(get_player_out_of_playable_area_monitor_wait_time()); -self isinmovemode("ufo","noclip") || (IsDefined(level.disable_kill_thread) && level.disable_kill_thread) || GetDvarInt(#"FA81816F") > 0 -IsDefined(level.kill_thread_test_mode) && level.kill_thread_test_mode + if(IsDefined(level.kill_thread_test_mode) && level.kill_thread_test_mode) + { + iprintlnbold("out of playable"); + wait(get_player_out_of_playable_area_monitor_wait_time()); + continue; + } + + if(self isinmovemode("ufo","noclip") || (IsDefined(level.disable_kill_thread) && level.disable_kill_thread) || GetDvarInt(#"FA81816F") > 0) + { + wait(get_player_out_of_playable_area_monitor_wait_time()); + continue; + } #/ self maps/mp/zombies/_zm_stats::increment_map_cheat_stat("cheat_out_of_playable"); self maps/mp/zombies/_zm_stats::increment_client_stat("cheat_out_of_playable",0); @@ -1775,8 +1785,11 @@ player_too_many_weapons_monitor() } /# - wait(get_player_too_many_weapons_monitor_wait_time()); -GetDvarInt(#"FA81816F") > 0 + if(GetDvarInt(#"FA81816F") > 0) + { + wait(get_player_too_many_weapons_monitor_wait_time()); + continue; + } #/ weapon_limit = get_player_weapon_limit(self); primaryweapons = self getweaponslistprimaries(); @@ -1897,26 +1910,31 @@ watch_rampage_bookmark() { player = players[player_index]; /# -IsDefined(player.pers["isBot"]) && player.pers["isBot"] -#/ - for(time_index = 0;time_index < level.rampage_bookmark_kill_times_count;time_index++) + if(IsDefined(player.pers["isBot"]) && player.pers["isBot"]) { - if(!(player.rampage_bookmark_kill_times[time_index])) - { - break; - } - else if(oldest_allowed > player.rampage_bookmark_kill_times[time_index]) - { - player.rampage_bookmark_kill_times[time_index] = 0; - break; - } } - - if(time_index >= level.rampage_bookmark_kill_times_count) + else { - maps/mp/_demo::bookmark("zm_player_rampage",GetTime(),player); - player reset_rampage_bookmark_kill_times(); - player.ignore_rampage_kill_times = now + level.rampage_bookmark_kill_times_delay; +#/ + for(time_index = 0;time_index < level.rampage_bookmark_kill_times_count;time_index++) + { + if(!(player.rampage_bookmark_kill_times[time_index])) + { + break; + } + else if(oldest_allowed > player.rampage_bookmark_kill_times[time_index]) + { + player.rampage_bookmark_kill_times[time_index] = 0; + break; + } + } + + if(time_index >= level.rampage_bookmark_kill_times_count) + { + maps/mp/_demo::bookmark("zm_player_rampage",GetTime(),player); + player reset_rampage_bookmark_kill_times(); + player.ignore_rampage_kill_times = now + level.rampage_bookmark_kill_times_delay; + } } } } @@ -3188,8 +3206,10 @@ default_max_zombie_func(max_num) { /# count = GetDvarInt(#"CF687B54"); - return count; -count > -1 + if(count > -1) + { + return count; + } #/ max = max_num; if(level.round_number < 2) @@ -3231,7 +3251,10 @@ round_spawning() } /# -GetDvarInt(#"FA81816F") == 2 || GetDvarInt(#"FA81816F") >= 4 + if(GetDvarInt(#"FA81816F") == 2 || GetDvarInt(#"FA81816F") >= 4) + { + return; + } #/ if(level.zombie_spawn_locations.size < 1) { @@ -3522,10 +3545,13 @@ zombie_speed_up() level endon("restart_round"); /# level endon("kill_round"); + for(;;) + { #/ - while(level.zombie_total > 4) - { - wait(2); + if(level.zombie_total > 4) + { + wait(2); + } } for(num_zombies = get_current_zombie_count();num_zombies > 3;num_zombies = get_current_zombie_count()) @@ -3643,8 +3669,10 @@ round_start() } /# - level.round_spawn_func = ::round_spawning_test; -GetDvarInt(#"7688603C") + if(GetDvarInt(#"7688603C")) + { + level.round_spawn_func = ::round_spawning_test; + } #/ if(!(IsDefined(level.round_wait_func))) { @@ -3826,9 +3854,8 @@ round_think(restart) player freezecontrols(0); /# println(" Unfreeze controls 8"); -#/ } - +#/ player maps/mp/zombies/_zm_stats::set_global_stat("rounds",level.round_number); } } @@ -4047,14 +4074,16 @@ round_spawn_failsafe_debug() level endon("failsafe_debug_stop"); start = GetTime(); level.chunk_time = 0; - for(;;) + while(1) { level.failsafe_time = GetTime() - start; - level.chunk_time = GetTime() - self.lastchunk_destroy_time; + if(IsDefined(self.lastchunk_destroy_time)) + { + level.chunk_time = GetTime() - self.lastchunk_destroy_time; + } + wait_network_frame(); } -IsDefined(self.lastchunk_destroy_time) -1 #/ } @@ -4135,10 +4164,16 @@ round_wait() { level endon("restart_round"); /# - level waittill(GetDvarInt(#"7688603C"),"forever"); + if(GetDvarInt(#"7688603C")) + { + level waittill("forever"); + } #/ /# - level waittill(GetDvarInt(#"FA81816F") == 2 || GetDvarInt(#"FA81816F") >= 4,"forever"); + if(GetDvarInt(#"FA81816F") == 2 || GetDvarInt(#"FA81816F") >= 4) + { + level waittill("forever"); + } #/ wait(1); if(flag("dog_round")) @@ -4993,8 +5028,10 @@ actor_damage_override(inflictor,attacker,damage,flags,meansofdeath,weapon,vpoint } /# - println("Perk/> Damage Factor: " + final_damage / old_damage + " - Pre Damage: " + old_damage + " - Post Damage: " + final_damage); -GetDvarInt(#"5ABA6445") + if(GetDvarInt(#"5ABA6445")) + { + println("Perk/> Damage Factor: " + final_damage / old_damage + " - Pre Damage: " + old_damage + " - Post Damage: " + final_damage); + } #/ if(attacker.classname == "script_vehicle" && IsDefined(attacker.owner)) { diff --git a/BO2/Xbox/ZM/maps/mp/zombies/_zm_ai_basic.gsc b/BO2/Xbox/ZM/maps/mp/zombies/_zm_ai_basic.gsc index ed385ff..b0d2ed1 100644 --- a/BO2/Xbox/ZM/maps/mp/zombies/_zm_ai_basic.gsc +++ b/BO2/Xbox/ZM/maps/mp/zombies/_zm_ai_basic.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 15 - * Decompile Time: 52 ms - * Timestamp: 10/27/2023 3:06:02 AM + * Decompile Time: 13 ms + * Timestamp: 10/28/2023 12:14:11 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/Xbox/ZM/maps/mp/zombies/_zm_ai_dogs.gsc b/BO2/Xbox/ZM/maps/mp/zombies/_zm_ai_dogs.gsc index c925c04..722acec 100644 --- a/BO2/Xbox/ZM/maps/mp/zombies/_zm_ai_dogs.gsc +++ b/BO2/Xbox/ZM/maps/mp/zombies/_zm_ai_dogs.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 28 - * Decompile Time: 200 ms - * Timestamp: 10/27/2023 3:06:03 AM + * Decompile Time: 15 ms + * Timestamp: 10/28/2023 12:14:11 AM *******************************************************************/ #include common_scripts/utility; @@ -116,7 +116,10 @@ dog_round_spawning() /# level endon("kill_round"); -GetDvarInt(#"FA81816F") == 2 || GetDvarInt(#"FA81816F") >= 4 + if(GetDvarInt(#"FA81816F") == 2 || GetDvarInt(#"FA81816F") >= 4) + { + return; + } #/ if(level.intermission) { @@ -140,8 +143,10 @@ GetDvarInt(#"FA81816F") == 2 || GetDvarInt(#"FA81816F") >= 4 } /# - max = GetDvarInt(#"4077D7E0"); -GetDvar(#"4077D7E0") != "" + if(GetDvar(#"4077D7E0") != "") + { + max = GetDvarInt(#"4077D7E0"); + } #/ level.zombie_total = max; dog_health_increase(); @@ -385,8 +390,10 @@ dog_round_tracker() { level waittill("between_round_over"); /# - level.next_dog_round = level.round_number; -GetDvarInt(#"4077D7E0") > 0 + if(GetDvarInt(#"4077D7E0") > 0) + { + level.next_dog_round = level.round_number; + } #/ if(level.round_number == level.next_dog_round) { diff --git a/BO2/Xbox/ZM/maps/mp/zombies/_zm_audio.gsc b/BO2/Xbox/ZM/maps/mp/zombies/_zm_audio.gsc index 1a62916..f7dc0de 100644 --- a/BO2/Xbox/ZM/maps/mp/zombies/_zm_audio.gsc +++ b/BO2/Xbox/ZM/maps/mp/zombies/_zm_audio.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 44 - * Decompile Time: 184 ms - * Timestamp: 10/27/2023 3:06:04 AM + * Decompile Time: 42 ms + * Timestamp: 10/28/2023 12:14:12 AM *******************************************************************/ #include common_scripts/utility; @@ -358,7 +358,10 @@ attack_vox_network_choke() do_zombies_playvocals(alias_type,zombie_type) { /# -GetDvarInt(#"6C610250") > 0 + if(GetDvarInt(#"6C610250") > 0) + { + return; + } #/ self endon("death"); if(!(IsDefined(zombie_type))) @@ -520,8 +523,10 @@ create_and_play_dialog(category,type,response,force_variant,override) if(!(IsDefined(self.zmbvoxid))) { /# - iprintln("DIALOG DEBUGGER: No zmbVoxID setup on this character. Run zmbVoxInitSpeaker on this character in order to play vox"); -GetDvarInt(#"AEB127D") > 0 + if(GetDvarInt(#"AEB127D") > 0) + { + iprintln("DIALOG DEBUGGER: No zmbVoxID setup on this character. Run zmbVoxInitSpeaker on this character in order to play vox"); + } #/ return; } @@ -532,8 +537,10 @@ GetDvarInt(#"AEB127D") > 0 } /# - self thread dialog_debugger(category,type); -GetDvarInt(#"AEB127D") > 0 + if(GetDvarInt(#"AEB127D") > 0) + { + self thread dialog_debugger(category,type); + } #/ isresponse = 0; alias_suffix = undefined; @@ -587,10 +594,12 @@ GetDvarInt(#"AEB127D") > 0 else { /# - iprintln("DIALOG DEBUGGER: SOUND_TO_PLAY is undefined"); -GetDvarInt(#"AEB127D") > 0 -#/ + if(GetDvarInt(#"AEB127D") > 0) + { + iprintln("DIALOG DEBUGGER: SOUND_TO_PLAY is undefined"); + } } +#/ } //Function Number: 15 @@ -687,8 +696,8 @@ do_player_or_npc_playvox(prefix,index,sound_to_play,waittime,category,type,overr { /# println("DIALOG DEBUGGER: Can\'t play (" + prefix + sound_to_play + ") because someone is nearby speaking already."); -#/ } +#/ } //Function Number: 16 @@ -1222,11 +1231,16 @@ dialog_debugger(category,type) { /# println("DIALOG DEBUGGER: " + self.zmbvoxid + " attempting to speak"); - iprintlnbold(self.zmbvoxid + " tried to play a line, but no alias exists. Category: " + category + " Type: " + type); - println("DIALOG DEBUGGER ERROR: Alias Not Defined For " + category + " " + type); - println("DIALOG DEBUGGER ERROR: Response Alias Not Defined For " + category + " " + type + "_response"); -IsDefined(level.vox.speaker[self.zmbvoxid].response) -IsDefined(level.vox.speaker[self.zmbvoxid].alias[category][type]) + if(!(IsDefined(level.vox.speaker[self.zmbvoxid].alias[category][type]))) + { + iprintlnbold(self.zmbvoxid + " tried to play a line, but no alias exists. Category: " + category + " Type: " + type); + println("DIALOG DEBUGGER ERROR: Alias Not Defined For " + category + " " + type); + } + + if(!(IsDefined(level.vox.speaker[self.zmbvoxid].response))) + { + println("DIALOG DEBUGGER ERROR: Response Alias Not Defined For " + category + " " + type + "_response"); + } #/ } @@ -1519,8 +1533,10 @@ zmbvoxgetlinevariant(prefix,alias_suffix,force_variant,override) if(num_variants <= 0) { /# - println("DIALOG DEBUGGER: No variants found for - " + prefix + alias_suffix); -GetDvarInt(#"AEB127D") > 0 + if(GetDvarInt(#"AEB127D") > 0) + { + println("DIALOG DEBUGGER: No variants found for - " + prefix + alias_suffix); + } #/ return undefined; } diff --git a/BO2/Xbox/ZM/maps/mp/zombies/_zm_blockers.gsc b/BO2/Xbox/ZM/maps/mp/zombies/_zm_blockers.gsc index 71e9f91..9c6595e 100644 --- a/BO2/Xbox/ZM/maps/mp/zombies/_zm_blockers.gsc +++ b/BO2/Xbox/ZM/maps/mp/zombies/_zm_blockers.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 63 - * Decompile Time: 392 ms - * Timestamp: 10/27/2023 3:06:05 AM + * Decompile Time: 45 ms + * Timestamp: 10/28/2023 12:14:12 AM *******************************************************************/ #include common_scripts/utility; @@ -427,7 +427,9 @@ door_activate(time,open,quick,use_blocker_clip_for_pathing) wait(randomfloat(0.15)); break; open - (IsDefined(self.script_vector)) ? scale : time >= 0.5 + time >= 0.5 + scale + IsDefined(self.script_vector) break; case "€GSC\r\n": @@ -613,14 +615,12 @@ waittill_door_can_close() self waittill_door_trigger_clear_local_power_off(trigger,all_trigs); self thread kill_trapped_zombies(trigger); self waittill(IsDefined(trigger) || IsDefined(all_trigs),IsDefined(self.local_power_on) && self.local_power_on,"local_power_off"); - Stack-Empty ? Stack-Empty : Stack-Empty break; case "€GSC\r\n": self waittill_door_trigger_clear_global_power_off(trigger,all_trigs); self thread kill_trapped_zombies(trigger); self waittill(IsDefined(trigger) || IsDefined(all_trigs),IsDefined(trigger),IsDefined(self.power_on) && self.power_on,"power_off"); - Stack-Empty ? Stack-Empty : Stack-Empty break; } } @@ -1209,12 +1209,11 @@ blocker_init() targets[j] hide(); /# iprintlnbold(" Hide "); -#/ } } +#/ } - - if(targets[j].script_parameters == "repair_board") + else if(targets[j].script_parameters == "repair_board") { targets[j].unbroken_section = getent(targets[j].target,"targetname"); if(IsDefined(targets[j].unbroken_section)) @@ -1578,121 +1577,18 @@ blocker_trigger_think() self thread trigger_delete_on_repair(); thread maps/mp/zombies/_zm_unitrigger::register_static_unitrigger(self.unitrigger_stub,::blocker_unitrigger_think); /# - thread debug_blocker(trigger_pos,radius,height); -GetDvarInt(#"FA91EA91") > 0 -#/ - while(1) + if(GetDvarInt(#"FA91EA91") > 0) { - self waittill(groundpos(trigger_location.origin),groundpos(trigger_location.origin),"trigger",player); - has_perk = player has_blocker_affecting_perk(); - if(all_chunks_intact(self,self.barrier_chunks)) + thread debug_blocker(trigger_pos,radius,height); + } + + for(;;) { - self notify("all_boards_repaired"); - return; - } - - if(no_valid_repairable_boards(self,self.barrier_chunks)) +#/ + if(1) { - self notify("no valid boards"); - return; - } - - if(IsDefined(level._zm_blocker_trigger_think_return_override)) - { - if(self [[ level._zm_blocker_trigger_think_return_override ]](player)) - { - return; - } - } - - while(1) - { - players = get_players(); - if(player_fails_blocker_repair_trigger_preamble(player,players,self.unitrigger_stub.trigger,0)) - { - break; - } - - if(IsDefined(self.zbarrier)) - { - chunk = get_random_destroyed_chunk(self,self.barrier_chunks); - self thread replace_chunk(self,chunk,has_perk,IsDefined(player.pers_upgrades_awarded["board"]) && player.pers_upgrades_awarded["board"]); - } - else - { - chunk = get_random_destroyed_chunk(self,self.barrier_chunks); - if((IsDefined(chunk.script_parameter) && chunk.script_parameters == "repair_board") || chunk.script_parameters == "barricade_vents") - { - if(IsDefined(chunk.unbroken_section)) - { - chunk show(); - chunk solid(); - chunk.unbroken_section self_delete(); - } - } - else - { - chunk show(); - } - - if(!IsDefined(chunk.script_parameters) || chunk.script_parameters == "board" || chunk.script_parameters == "repair_board" || chunk.script_parameters == "barricade_vents") - { - if(!(IsDefined(level.use_clientside_board_fx) && level.use_clientside_board_fx)) - { - if(!IsDefined(chunk.material) || IsDefined(chunk.material) && chunk.material != "rock") - { - chunk play_sound_on_ent("rebuild_barrier_piece"); - } - - playsoundatposition("zmb_cha_ching",(0,0,0)); - } - } - - if(chunk.script_parameters == "bar") - { - chunk play_sound_on_ent("rebuild_barrier_piece"); - playsoundatposition("zmb_cha_ching",(0,0,0)); - } - - if(IsDefined(chunk.script_parameters)) - { - if(chunk.script_parameters == "bar") - { - if(IsDefined(chunk.script_noteworthy)) - { - if(chunk.script_noteworthy == "5") - { - chunk hide(); - } - else if(chunk.script_noteworthy == "3") - { - chunk hide(); - } - } - } - } - - self thread replace_chunk(self,chunk,has_perk,IsDefined(player.pers_upgrades_awarded["board"]) && player.pers_upgrades_awarded["board"]); - } - - if(IsDefined(self.clip)) - { - self.clip enable_trigger(); - self.clip disconnectpaths(); - } - else - { - blocker_disconnect_paths(self.neg_start,self.neg_end); - } - - bbprint("zombie_uses","playername %s playerscore %d round %d cost %d name %s x %f y %f z %f type %s",player.name,player.score,level.round_number,original_cost,self.target,self.origin,"repair"); - self do_post_chunk_repair_delay(has_perk); - if(!(is_player_valid(player))) - { - break; - } - - player handle_post_board_repair_rewards(cost,self); + self waittill(groundpos(trigger_location.origin),groundpos(trigger_location.origin),"trigger",player); + has_perk = player has_blocker_affecting_perk(); if(all_chunks_intact(self,self.barrier_chunks)) { self notify("all_boards_repaired"); @@ -1704,6 +1600,115 @@ GetDvarInt(#"FA91EA91") > 0 self notify("no valid boards"); return; } + + if(IsDefined(level._zm_blocker_trigger_think_return_override)) + { + if(self [[ level._zm_blocker_trigger_think_return_override ]](player)) + { + return; + } + } + + while(1) + { + players = get_players(); + if(player_fails_blocker_repair_trigger_preamble(player,players,self.unitrigger_stub.trigger,0)) + { + break; + } + + if(IsDefined(self.zbarrier)) + { + chunk = get_random_destroyed_chunk(self,self.barrier_chunks); + self thread replace_chunk(self,chunk,has_perk,IsDefined(player.pers_upgrades_awarded["board"]) && player.pers_upgrades_awarded["board"]); + } + else + { + chunk = get_random_destroyed_chunk(self,self.barrier_chunks); + if((IsDefined(chunk.script_parameter) && chunk.script_parameters == "repair_board") || chunk.script_parameters == "barricade_vents") + { + if(IsDefined(chunk.unbroken_section)) + { + chunk show(); + chunk solid(); + chunk.unbroken_section self_delete(); + } + } + else + { + chunk show(); + } + + if(!IsDefined(chunk.script_parameters) || chunk.script_parameters == "board" || chunk.script_parameters == "repair_board" || chunk.script_parameters == "barricade_vents") + { + if(!(IsDefined(level.use_clientside_board_fx) && level.use_clientside_board_fx)) + { + if(!IsDefined(chunk.material) || IsDefined(chunk.material) && chunk.material != "rock") + { + chunk play_sound_on_ent("rebuild_barrier_piece"); + } + + playsoundatposition("zmb_cha_ching",(0,0,0)); + } + } + + if(chunk.script_parameters == "bar") + { + chunk play_sound_on_ent("rebuild_barrier_piece"); + playsoundatposition("zmb_cha_ching",(0,0,0)); + } + + if(IsDefined(chunk.script_parameters)) + { + if(chunk.script_parameters == "bar") + { + if(IsDefined(chunk.script_noteworthy)) + { + if(chunk.script_noteworthy == "5") + { + chunk hide(); + } + else if(chunk.script_noteworthy == "3") + { + chunk hide(); + } + } + } + } + + self thread replace_chunk(self,chunk,has_perk,IsDefined(player.pers_upgrades_awarded["board"]) && player.pers_upgrades_awarded["board"]); + } + + if(IsDefined(self.clip)) + { + self.clip enable_trigger(); + self.clip disconnectpaths(); + } + else + { + blocker_disconnect_paths(self.neg_start,self.neg_end); + } + + bbprint("zombie_uses","playername %s playerscore %d round %d cost %d name %s x %f y %f z %f type %s",player.name,player.score,level.round_number,original_cost,self.target,self.origin,"repair"); + self do_post_chunk_repair_delay(has_perk); + if(!(is_player_valid(player))) + { + break; + } + + player handle_post_board_repair_rewards(cost,self); + if(all_chunks_intact(self,self.barrier_chunks)) + { + self notify("all_boards_repaired"); + return; + } + + if(no_valid_repairable_boards(self,self.barrier_chunks)) + { + self notify("no valid boards"); + return; + } + } } } } diff --git a/BO2/Xbox/ZM/maps/mp/zombies/_zm_bot.gsc b/BO2/Xbox/ZM/maps/mp/zombies/_zm_bot.gsc index 708bf5a..91401c7 100644 --- a/BO2/Xbox/ZM/maps/mp/zombies/_zm_bot.gsc +++ b/BO2/Xbox/ZM/maps/mp/zombies/_zm_bot.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 1 - * Decompile Time: 4 ms - * Timestamp: 10/27/2023 3:06:05 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:14:12 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/Xbox/ZM/maps/mp/zombies/_zm_chugabud.gsc b/BO2/Xbox/ZM/maps/mp/zombies/_zm_chugabud.gsc index 4e9141c..b193036 100644 --- a/BO2/Xbox/ZM/maps/mp/zombies/_zm_chugabud.gsc +++ b/BO2/Xbox/ZM/maps/mp/zombies/_zm_chugabud.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 36 - * Decompile Time: 117 ms - * Timestamp: 10/27/2023 3:06:06 AM + * Decompile Time: 22 ms + * Timestamp: 10/28/2023 12:14:13 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/Xbox/ZM/maps/mp/zombies/_zm_clone.gsc b/BO2/Xbox/ZM/maps/mp/zombies/_zm_clone.gsc index 17786a8..e72539c 100644 --- a/BO2/Xbox/ZM/maps/mp/zombies/_zm_clone.gsc +++ b/BO2/Xbox/ZM/maps/mp/zombies/_zm_clone.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 8 - * Decompile Time: 22 ms - * Timestamp: 10/27/2023 3:06:06 AM + * Decompile Time: 3 ms + * Timestamp: 10/28/2023 12:14:13 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/Xbox/ZM/maps/mp/zombies/_zm_devgui.gsc b/BO2/Xbox/ZM/maps/mp/zombies/_zm_devgui.gsc index d155f46..364969f 100644 --- a/BO2/Xbox/ZM/maps/mp/zombies/_zm_devgui.gsc +++ b/BO2/Xbox/ZM/maps/mp/zombies/_zm_devgui.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 84 - * Decompile Time: 476 ms - * Timestamp: 10/27/2023 3:06:08 AM + * Decompile Time: 40 ms + * Timestamp: 10/28/2023 12:14:13 AM *******************************************************************/ #include common_scripts/utility; @@ -50,8 +50,7 @@ zombie_devgui_player_commands() flag_wait("start_zombie_round_logic"); wait(1); players = get_players(); - i = 0; - for(;;) + for(i = 0;i < players.size;i++) { ip1 = i + 1; adddebugcommand("devgui_cmd \"Zombies:1/Players:1/Player:1/" + players[i].name + "/Give Money:1\" \"set zombie_devgui player" + ip1 + "_money\" \n"); @@ -64,9 +63,7 @@ zombie_devgui_player_commands() adddebugcommand("devgui_cmd \"Zombies:1/Players:1/Player:1/" + players[i].name + "/Turn Player:8\" \"set zombie_devgui player" + ip1 + "_turnplayer\" \n"); adddebugcommand("devgui_cmd \"Zombies:1/Players:1/Player:1/" + players[i].name + "/Debug Pers:9\" \"set zombie_devgui player" + ip1 + "_debug_pers\" \n"); adddebugcommand("devgui_cmd \"Zombies:1/Players:1/Player:1/" + players[i].name + "/Take Money:10\" \"set zombie_devgui player" + ip1 + "_moneydown\" \n"); - i++; } -i < players.size #/ } @@ -75,13 +72,19 @@ devgui_add_weapon_entry(hint,up,weapon_name,root) { /# rootslash = ""; - rootslash = root + "/"; + if(IsDefined(root) && root.size) + { + rootslash = root + "/"; + } + uppath = "/" + up; - uppath = ""; + if(up.size < 1) + { + uppath = ""; + } + cmd = "devgui_cmd \"Zombies:1/Weapons:10/" + rootslash + hint + uppath + "\" \"set zombie_devgui_gun " + weapon_name + "\" \n"; adddebugcommand(cmd); -up.size < 1 -IsDefined(root) && root.size #/ } @@ -97,12 +100,25 @@ devgui_add_weapon_and_attachments(hint,up,weapon_name,root) devgui_add_weapon(weapon_name,upgrade_name,hint,cost,weaponvo,weaponvoresp,ammo_cost) { /# - return; - level.devgui_weapons_added = 0; + if(is_offhand_weapon(weapon_name) && !is_melee_weapon(weapon_name)) + { + return; + } + + if(!(IsDefined(level.devgui_weapons_added))) + { + level.devgui_weapons_added = 0; + } + level.devgui_weapons_added++; - devgui_add_weapon_and_attachments(weapon_name,"",weapon_name,"Melee:8"); - devgui_add_weapon_and_attachments(weapon_name,"",weapon_name,""); -(is_offhand_weapon(weapon_name) && !is_melee_weapon(weapon_name)) ? IsDefined(level.devgui_weapons_added) : is_melee_weapon(weapon_name) + if(is_melee_weapon(weapon_name)) + { + devgui_add_weapon_and_attachments(weapon_name,"",weapon_name,"Melee:8"); + } + else + { + devgui_add_weapon_and_attachments(weapon_name,"",weapon_name,""); + } #/ } @@ -116,15 +132,20 @@ zombie_weapon_devgui_think() { wait(0.25); cmd = GetDvar(#"CE4F9F97"); - level.zombie_devgui_gun = cmd; - array_thread(get_players(),::zombie_devgui_weapon_give,level.zombie_devgui_gun); + if(!IsDefined(level.zombie_devgui_gun) || level.zombie_devgui_gun != cmd) + { + level.zombie_devgui_gun = cmd; + array_thread(get_players(),::zombie_devgui_weapon_give,level.zombie_devgui_gun); + } + wait(0.25); att = GetDvar(#"A965F402"); - level.zombie_devgui_att = att; - array_thread(get_players(),::zombie_devgui_attachment_give,level.zombie_devgui_att); + if(!IsDefined(level.zombie_devgui_att) || level.zombie_devgui_att != att) + { + level.zombie_devgui_att = att; + array_thread(get_players(),::zombie_devgui_attachment_give,level.zombie_devgui_att); + } } -!IsDefined(level.zombie_devgui_att) || level.zombie_devgui_att != att -!IsDefined(level.zombie_devgui_gun) || level.zombie_devgui_gun != cmd #/ } @@ -150,19 +171,25 @@ devgui_add_ability(name,upgrade_active_func,stat_name,stat_desired_value,game_en { /# online_game = sessionmodeisonlinegame(); - return; - cmd = "devgui_cmd \"Zombies:1/Players:1/Abilities:3/Disable All:1\" \"set zombie_devgui_give_ability _disable\" \n"; - adddebugcommand(cmd); - cmd = "devgui_cmd \"Zombies:1/Players:1/Abilities:3/Enable All:2\" \"set zombie_devgui_give_ability _enable\" \n"; - adddebugcommand(cmd); - level thread zombie_ability_devgui_think(); - level.devgui_watch_abilities = 1; + if(!(online_game)) + { + return; + } + + if(!(is_true(level.devgui_watch_abilities))) + { + cmd = "devgui_cmd \"Zombies:1/Players:1/Abilities:3/Disable All:1\" \"set zombie_devgui_give_ability _disable\" \n"; + adddebugcommand(cmd); + cmd = "devgui_cmd \"Zombies:1/Players:1/Abilities:3/Enable All:2\" \"set zombie_devgui_give_ability _enable\" \n"; + adddebugcommand(cmd); + level thread zombie_ability_devgui_think(); + level.devgui_watch_abilities = 1; + } + cmd = "devgui_cmd \"Zombies:1/Players:1/Abilities:3/" + name + "\" \"set zombie_devgui_give_ability " + name + "\" \n"; adddebugcommand(cmd); cmd = "devgui_cmd \"Zombies:1/Players:1/Abilities:3/Take:3/" + name + "\" \"set zombie_devgui_take_ability " + name + "\" \n"; adddebugcommand(cmd); -is_true(level.devgui_watch_abilities) -online_game #/ } @@ -171,17 +198,16 @@ zombie_devgui_ability_give(name) { /# pers_upgrade = level.pers_upgrades[name]; - i = 0; - for(;;) + if(IsDefined(pers_upgrade)) { - stat_name = pers_upgrade.stat_names[i]; - stat_value = pers_upgrade.stat_desired_values[i]; - self maps/mp/zombies/_zm_stats::set_global_stat(stat_name,stat_value); - self.pers_upgrade_force_test = 1; - i++; + for(i = 0;i < pers_upgrade.stat_names.size;i++) + { + stat_name = pers_upgrade.stat_names[i]; + stat_value = pers_upgrade.stat_desired_values[i]; + self maps/mp/zombies/_zm_stats::set_global_stat(stat_name,stat_value); + self.pers_upgrade_force_test = 1; + } } -i < pers_upgrade.stat_names.size -IsDefined(pers_upgrade) #/ } @@ -190,17 +216,16 @@ zombie_devgui_ability_take(name) { /# pers_upgrade = level.pers_upgrades[name]; - i = 0; - for(;;) + if(IsDefined(pers_upgrade)) { - stat_name = pers_upgrade.stat_names[i]; - stat_value = 0; - self maps/mp/zombies/_zm_stats::set_global_stat(stat_name,stat_value); - self.pers_upgrade_force_test = 1; - i++; + for(i = 0;i < pers_upgrade.stat_names.size;i++) + { + stat_name = pers_upgrade.stat_names[i]; + stat_value = 0; + self maps/mp/zombies/_zm_stats::set_global_stat(stat_name,stat_value); + self.pers_upgrade_force_test = 1; + } } -i < pers_upgrade.stat_names.size -IsDefined(pers_upgrade) #/ } @@ -214,17 +239,31 @@ zombie_ability_devgui_think() { wait(0.25); cmd = GetDvar(#"E2245F05"); - flag_set("sq_minigame_active"); - flag_clear("sq_minigame_active"); - level.zombie_devgui_give_ability = cmd; - array_thread(get_players(),::zombie_devgui_ability_give,level.zombie_devgui_give_ability); + if(!IsDefined(level.zombie_devgui_give_ability) || level.zombie_devgui_give_ability != cmd) + { + if(cmd == "_disable") + { + flag_set("sq_minigame_active"); + } + else if(cmd == "_enable") + { + flag_clear("sq_minigame_active"); + } + else + { + level.zombie_devgui_give_ability = cmd; + array_thread(get_players(),::zombie_devgui_ability_give,level.zombie_devgui_give_ability); + } + } + wait(0.25); cmd = GetDvar(#"726367F"); - level.zombie_devgui_take_ability = cmd; - array_thread(get_players(),::zombie_devgui_ability_take,level.zombie_devgui_take_ability); + if(!IsDefined(level.zombie_devgui_take_ability) || level.zombie_devgui_take_ability != cmd) + { + level.zombie_devgui_take_ability = cmd; + array_thread(get_players(),::zombie_devgui_ability_take,level.zombie_devgui_take_ability); + } } -!IsDefined(level.zombie_devgui_take_ability) || level.zombie_devgui_take_ability != cmd -Stack-Empty ? Stack-Empty : ((!IsDefined(level.zombie_devgui_give_ability) || level.zombie_devgui_give_ability != cmd) ? cmd == "_disable" : cmd == "_enable") #/ } @@ -232,14 +271,20 @@ Stack-Empty ? Stack-Empty : ((!IsDefined(level.zombie_devgui_give_ability) || le zombie_healthbar(pos,dsquared) { /# - return; + if(distancesquared(pos,self.origin) > dsquared) + { + return; + } + rate = 1; - rate = self.health / self.maxhealth; + if(IsDefined(self.maxhealth)) + { + rate = self.health / self.maxhealth; + } + color = (1 - rate,rate,0); text = "" + int(self.health); print3d(self.origin + (0,0,0),text,color,1,0.5,1); -IsDefined(self.maxhealth) -distancesquared(pos,self.origin) > dsquared #/ } @@ -247,25 +292,23 @@ distancesquared(pos,self.origin) > dsquared devgui_zombie_healthbar() { /# - for(;;) + while(1) { - lp = get_players()[0]; - zombies = getaispeciesarray("all","all"); - _a260 = zombies; - _k260 = FirstArrayKey(_a260); - for(;;) + if(GetDvarInt(#"5B45DCAF") == 1) { - zombie = _a260[_k260]; - zombie zombie_healthbar(lp.origin,360000); - _k260 = NextArrayKey(_a260); + lp = get_players()[0]; + zombies = getaispeciesarray("all","all"); + if(IsDefined(zombies)) + { + foreach(zombie in zombies) + { + zombie zombie_healthbar(lp.origin,360000); + } + } } + wait(0.05); } -_k260 -IsDefined(_k260) -IsDefined(zombies) -GetDvarInt(#"5B45DCAF") == 1 -1 #/ } @@ -276,13 +319,10 @@ zombie_devgui_watch_input() flag_wait("start_zombie_round_logic"); wait(1); players = get_players(); - i = 0; - for(;;) + for(i = 0;i < players.size;i++) { players[i] thread watch_debug_input(); - i++; } -i < players.size #/ } @@ -325,14 +365,17 @@ force_drink() wait(2); self maps/mp/zombies/_zm_weapons::switch_back_primary_weapon(orgweapon); self takeweapon("zombie_builder_zm"); - self decrement_is_drinking(); + if(is_true(self.is_drinking)) + { + self decrement_is_drinking(); + } + self allowlean(lean); self allowads(ads); self allowsprint(sprint); self allowprone(prone); self allowcrouch(crouch); self allowmelee(melee); -is_true(self.is_drinking) #/ } @@ -376,16 +419,23 @@ watch_debug_input(callback) self notify("watch_debug_input"); self endon("watch_debug_input"); level.devgui_dpad_watch = 0; - level.devgui_dpad_watch = 1; - for(;;) + if(IsDefined(callback)) { - self thread [[ callback ]](); - wait(0.05); - wait(0.05); + level.devgui_dpad_watch = 1; + for(;;) + { + if(self actionslottwobuttonpressed()) + { + self thread [[ callback ]](); + while(self actionslottwobuttonpressed()) + { + wait(0.05); + } + } + + wait(0.05); + } } -self actionslottwobuttonpressed() -self actionslottwobuttonpressed() -IsDefined(callback) #/ } @@ -402,204 +452,246 @@ zombie_devgui_think() players = get_players(); array_thread(players,::zombie_devgui_give_money); break; + case "€GSC\r\n": players = get_players(); players[0] thread zombie_devgui_give_money(); break; players.size >= 1 break; + case "€GSC\r\n": players = get_players(); players[1] thread zombie_devgui_give_money(); break; players.size >= 2 break; + case "€GSC\r\n": players = get_players(); players[2] thread zombie_devgui_give_money(); break; players.size >= 3 break; + case "€GSC\r\n": players = get_players(); players[3] thread zombie_devgui_give_money(); break; players.size >= 4 break; + case "€GSC\r\n": players = get_players(); array_thread(players,::zombie_devgui_take_money); break; + case "€GSC\r\n": players = get_players(); players[0] thread zombie_devgui_take_money(); break; players.size >= 1 break; + case "€GSC\r\n": players = get_players(); players[1] thread zombie_devgui_take_money(); break; players.size >= 2 break; + case "€GSC\r\n": players = get_players(); players[2] thread zombie_devgui_take_money(); break; players.size >= 3 break; + case "€GSC\r\n": players = get_players(); players[3] thread zombie_devgui_take_money(); break; players.size >= 4 break; + case "€GSC\r\n": array_thread(get_players(),::zombie_devgui_give_health); break; + case "€GSC\r\n": players = get_players(); players[0] thread zombie_devgui_give_health(); break; players.size >= 1 break; + case "€GSC\r\n": players = get_players(); players[1] thread zombie_devgui_give_health(); break; players.size >= 2 break; + case "€GSC\r\n": players = get_players(); players[2] thread zombie_devgui_give_health(); break; players.size >= 3 break; + case "€GSC\r\n": players = get_players(); players[3] thread zombie_devgui_give_health(); break; players.size >= 4 break; + case "€GSC\r\n": array_thread(get_players(),::zombie_devgui_toggle_ammo); break; + case "€GSC\r\n": array_thread(get_players(),::zombie_devgui_toggle_ignore); break; + case "€GSC\r\n": players = get_players(); players[0] thread zombie_devgui_toggle_ignore(); break; players.size >= 1 break; + case "€GSC\r\n": players = get_players(); players[1] thread zombie_devgui_toggle_ignore(); break; players.size >= 2 break; + case "€GSC\r\n": players = get_players(); players[2] thread zombie_devgui_toggle_ignore(); break; players.size >= 3 break; + case "€GSC\r\n": players = get_players(); players[3] thread zombie_devgui_toggle_ignore(); break; players.size >= 4 break; + case "€GSC\r\n": zombie_devgui_invulnerable(undefined,1); break; + case "€GSC\r\n": zombie_devgui_invulnerable(undefined,0); break; + case "€GSC\r\n": zombie_devgui_invulnerable(0,1); break; + case "€GSC\r\n": zombie_devgui_invulnerable(0,0); break; + case "€GSC\r\n": zombie_devgui_invulnerable(1,1); break; + case "€GSC\r\n": zombie_devgui_invulnerable(1,0); break; + case "€GSC\r\n": zombie_devgui_invulnerable(2,1); break; + case "€GSC\r\n": zombie_devgui_invulnerable(2,0); break; + case "€GSC\r\n": zombie_devgui_invulnerable(3,1); break; + case "€GSC\r\n": zombie_devgui_invulnerable(3,0); break; + case "€GSC\r\n": array_thread(get_players(),::zombie_devgui_revive); break; + case "€GSC\r\n": players = get_players(); players[0] thread zombie_devgui_revive(); break; players.size >= 1 break; + case "€GSC\r\n": players = get_players(); players[1] thread zombie_devgui_revive(); break; players.size >= 2 break; + case "€GSC\r\n": players = get_players(); players[2] thread zombie_devgui_revive(); break; players.size >= 3 break; + case "€GSC\r\n": players = get_players(); players[3] thread zombie_devgui_revive(); break; players.size >= 4 break; + case "€GSC\r\n": players = get_players(); players[0] thread zombie_devgui_kill(); break; players.size >= 1 break; + case "€GSC\r\n": players = get_players(); players[1] thread zombie_devgui_kill(); break; players.size >= 2 break; + case "€GSC\r\n": players = get_players(); players[2] thread zombie_devgui_kill(); break; players.size >= 3 break; + case "€GSC\r\n": players = get_players(); players[3] thread zombie_devgui_kill(); break; players.size >= 4 break; + case "€GSC\r\n": player = gethostplayer(); team = player.team; devgui_bot_spawn(team); break; + case "€GSC\r\n": level.solo_lives_given = 0; break; + case "€GSC\r\n": case "€GSC\r\n": case "€GSC\r\n": @@ -615,33 +707,43 @@ zombie_devgui_think() case "€GSC\r\n": zombie_devgui_give_perk(cmd); break; + case "€GSC\r\n": zombie_devgui_turn_player(); break; + case "€GSC\r\n": zombie_devgui_turn_player(0); break; + case "€GSC\r\n": zombie_devgui_turn_player(1); break; + case "€GSC\r\n": zombie_devgui_turn_player(2); break; + case "€GSC\r\n": zombie_devgui_turn_player(3); break; + case "€GSC\r\n": zombie_devgui_debug_pers(0); break; + case "€GSC\r\n": zombie_devgui_debug_pers(1); break; + case "€GSC\r\n": zombie_devgui_debug_pers(2); break; + case "€GSC\r\n": zombie_devgui_debug_pers(3); break; + case "€GSC\r\n": case "€GSC\r\n": case "€GSC\r\n": @@ -661,6 +763,7 @@ zombie_devgui_think() case "€GSC\r\n": zombie_devgui_give_powerup(cmd,1); break; + case "€GSC\r\n": case "€GSC\r\n": case "€GSC\r\n": @@ -680,237 +783,314 @@ zombie_devgui_think() case "€GSC\r\n": zombie_devgui_give_powerup(getsubstr(cmd,5),0); break; + case "€GSC\r\n": zombie_devgui_goto_round(GetDvarInt(#"D81B6E19")); break; + case "€GSC\r\n": zombie_devgui_goto_round(level.round_number + 1); break; + case "€GSC\r\n": zombie_devgui_goto_round(level.round_number - 1); break; + case "€GSC\r\n": level notify("devgui_chest_end_monitor",IsDefined(level.chest_accessed)); level.chest_accessed = 100; break; + case "€GSC\r\n": level thread zombie_devgui_chest_never_move(); break; IsDefined(level.chest_accessed) break; + case "€GSC\r\n": break; IsDefined(level.zombie_weapons[GetDvar(#"45ED7744")]) break; + case "€GSC\r\n": setdvar("scr_force_quantum_bomb_result",""); break; + case "€GSC\r\n": array_thread(get_players(),::zombie_devgui_equipment_give,"equip_gasmask_zm"); break; + case "€GSC\r\n": array_thread(get_players(),::zombie_devgui_equipment_give,"equip_hacker_zm"); break; + case "€GSC\r\n": array_thread(get_players(),::zombie_devgui_equipment_give,"equip_turbine_zm"); break; + case "€GSC\r\n": array_thread(get_players(),::zombie_devgui_equipment_give,"equip_turret_zm"); break; + case "€GSC\r\n": array_thread(get_players(),::zombie_devgui_equipment_give,"equip_electrictrap_zm"); break; + case "€GSC\r\n": array_thread(get_players(),::zombie_devgui_equipment_give,"riotshield_zm"); break; + case "€GSC\r\n": array_thread(get_players(),::zombie_devgui_equipment_give,"jetgun_zm"); break; + case "€GSC\r\n": array_thread(get_players(),::zombie_devgui_equipment_give,"equip_springpad_zm"); break; + case "€GSC\r\n": array_thread(get_players(),::zombie_devgui_equipment_give,"equip_subwoofer_zm"); break; + case "€GSC\r\n": array_thread(get_players(),::zombie_devgui_equipment_give,"equip_headchopper_zm"); break; + case "€GSC\r\n": array_thread(get_players(),::zombie_devgui_cool_jetgun); break; + case "€GSC\r\n": array_thread(get_players(),::zombie_devgui_preserve_turbines); break; + case "€GSC\r\n": array_thread(get_players(),::zombie_devgui_equipment_stays_healthy); break; + case "€GSC\r\n": array_thread(get_players(),::zombie_devgui_disown_equipment); break; + case "€GSC\r\n": array_thread(get_players(),::zombie_devgui_buildable_drop); break; + case "€GSC\r\n": zombie_devgui_build("busladder"); break; + case "€GSC\r\n": zombie_devgui_build("bushatch"); break; + case "€GSC\r\n": zombie_devgui_build("dinerhatch"); break; + case "€GSC\r\n": zombie_devgui_build("cattlecatcher"); break; + case "€GSC\r\n": zombie_devgui_build("pap"); break; + case "€GSC\r\n": zombie_devgui_build("riotshield_zm"); break; + case "€GSC\r\n": zombie_devgui_build("powerswitch"); break; + case "€GSC\r\n": zombie_devgui_build("turbine"); break; + case "€GSC\r\n": zombie_devgui_build("turret"); break; + case "€GSC\r\n": zombie_devgui_build("electric_trap"); break; + case "€GSC\r\n": zombie_devgui_build("jetgun_zm"); break; + case "€GSC\r\n": zombie_devgui_build("sq_common"); break; + case "€GSC\r\n": zombie_devgui_build("springpad_zm"); break; + case "€GSC\r\n": zombie_devgui_build("slipgun_zm"); break; + case "€GSC\r\n": zombie_devgui_build("keys_zm"); break; + case "€GSC\r\n": array_thread(get_players(),::zombie_devgui_give_claymores); break; + case "€GSC\r\n": array_thread(get_players(),::zombie_devgui_give_frags); break; + case "€GSC\r\n": array_thread(get_players(),::zombie_devgui_give_sticky); break; + case "€GSC\r\n": array_thread(get_players(),::zombie_devgui_give_monkey); break; + case "€GSC\r\n": array_thread(get_players(),::zombie_devgui_give_beacon); break; + case "€GSC\r\n": array_thread(get_players(),::zombie_devgui_give_time_bomb); break; + case "€GSC\r\n": array_thread(get_players(),::zombie_devgui_give_black_hole_bomb); break; + case "€GSC\r\n": array_thread(get_players(),::zombie_devgui_give_dolls); break; + case "€GSC\r\n": array_thread(get_players(),::zombie_devgui_give_quantum_bomb); break; + case "€GSC\r\n": array_thread(get_players(),::zombie_devgui_give_emp_bomb); break; + case "€GSC\r\n": zombie_devgui_monkey_round(); break; + case "€GSC\r\n": zombie_devgui_thief_round(); break; + case "€GSC\r\n": zombie_devgui_dog_round(GetDvarInt(#"3CD25BFE")); break; + case "€GSC\r\n": zombie_devgui_dog_round_skip(); break; + case "€GSC\r\n": zombie_devgui_dump_zombie_vars(); break; + case "€GSC\r\n": zombie_devgui_pack_current_weapon(); break; + case "€GSC\r\n": zombie_devgui_unpack_current_weapon(); break; + case "€GSC\r\n": zombie_devgui_reopt_current_weapon(); break; + case "€GSC\r\n": zombie_devgui_take_weapons(1); break; + case "€GSC\r\n": zombie_devgui_take_weapons(0); break; + case "€GSC\r\n": zombie_devgui_take_weapon(); break; + case "€GSC\r\n": flag_set("power_on"); break; + case "€GSC\r\n": flag_clear("power_on"); break; + case "€GSC\r\n": array_thread(get_players(),::zombie_devgui_dpad_none); break; + case "€GSC\r\n": array_thread(get_players(),::zombie_devgui_dpad_damage); break; + case "€GSC\r\n": array_thread(get_players(),::zombie_devgui_dpad_death); break; + case "€GSC\r\n": array_thread(get_players(),::zombie_devgui_dpad_changeweapon); break; + case "€GSC\r\n": zombie_devgui_director_easy(); break; + case "€GSC\r\n": zombie_devgui_open_sesame(); break; + case "€GSC\r\n": zombie_devgui_allow_fog(); break; + case "€GSC\r\n": zombie_devgui_disable_kill_thread_toggle(); break; + case "€GSC\r\n": zombie_devgui_check_kill_thread_every_frame_toggle(); break; + case "€GSC\r\n": zombie_devgui_kill_thread_test_mode_toggle(); break; + case "€GSC\r\n": level notify("zombie_failsafe_debug_flush"); break; + case "€GSC\r\n": devgui_zombie_spawn(); break; + case "€GSC\r\n": devgui_all_spawn(); break; + case "€GSC\r\n": devgui_toggle_show_spawn_locations(); break; + case "€GSC\r\n": array_thread(get_players(),::devgui_debug_hud); break; + case "€GSC\r\n": break; + default: i = 0; b_found_entry = is_true([[ level.custom_devgui[i] ]](cmd)); @@ -923,6 +1103,7 @@ zombie_devgui_think() IsDefined(level.custom_devgui) break; } + setdvar("zombie_devgui",""); wait(0.5); } @@ -948,9 +1129,14 @@ devgui_all_spawn() devgui_toggle_show_spawn_locations() { /# - level.toggle_show_spawn_locations = 1; - level.toggle_show_spawn_locations = !level.toggle_show_spawn_locations; -Stack-Empty ? Stack-Empty : IsDefined(level.toggle_show_spawn_locations) + if(!(IsDefined(level.toggle_show_spawn_locations))) + { + level.toggle_show_spawn_locations = 1; + } + else + { + level.toggle_show_spawn_locations = !level.toggle_show_spawn_locations; + } #/ } @@ -971,14 +1157,14 @@ devgui_zombie_spawn() spawners = getentarray(spawnername,"script_noteworthy"); spawner = spawners[0]; guy = maps/mp/zombies/_zm_utility::spawn_zombie(spawner); - wait(0.5); - guy.origin = trace["position"]; - guy.angles = 180 + VectorScale((0,1,0)); - guy forceteleport(trace["position"],180 + VectorScale((0,1,0))); - guy thread maps/mp/zombies/_zm_ai_basic::find_flesh(); -player.angles -player.angles -IsDefined(guy) + if(IsDefined(guy)) + { + wait(0.5); + guy.origin = trace["position"]; + guy.angles = 180 + VectorScale((0,1,0)); + guy forceteleport(trace["position"],180 + VectorScale((0,1,0))); + guy thread maps/mp/zombies/_zm_ai_basic::find_flesh(); + } #/ } @@ -996,8 +1182,12 @@ devgui_bot_spawn(team) direction_vec = player.origin - trace["position"]; direction = VectorToAngles(direction_vec); bot = addtestclient(); - println("Could not add test client"); - return; + if(!(IsDefined(bot))) + { + println("Could not add test client"); + return; + } + bot.pers["isBot"] = 1; bot.equipment_enabled = 0; bot maps/mp/zombies/_zm::reset_rampage_bookmark_kill_times(); @@ -1005,7 +1195,6 @@ devgui_bot_spawn(team) bot._player_entnum = bot getentitynumber(); yaw = direction[1]; bot thread devgui_bot_spawn_think(trace["position"],yaw); -IsDefined(bot) #/ } @@ -1033,30 +1222,31 @@ zombie_devgui_open_sesame() players = get_players(); array_thread(players,::zombie_devgui_give_money); zombie_doors = getentarray("zombie_door","targetname"); - i = 0; - for(;;) + for(i = 0;i < zombie_doors.size;i++) { - zombie_doors[i] notify("trigger",players[0],i < zombie_doors.size); - zombie_doors[i] notify("power_on",is_true(zombie_doors[i].power_door_ignore_flag_wait)); + zombie_doors[i] notify("trigger",players[0]); + if(is_true(zombie_doors[i].power_door_ignore_flag_wait)) + { + zombie_doors[i] notify("power_on"); + } + wait(0.05); - i++; } + zombie_airlock_doors = getentarray("zombie_airlock_buy","targetname"); - i = 0; - for(;;) + for(i = 0;i < zombie_airlock_doors.size;i++) { - zombie_airlock_doors[i] notify("trigger",players[0],i < zombie_airlock_doors.size); + zombie_airlock_doors[i] notify("trigger",players[0]); wait(0.05); - i++; } + zombie_debris = getentarray("zombie_debris","targetname"); - i = 0; - for(;;) + for(i = 0;i < zombie_debris.size;i++) { - zombie_debris[i] notify("trigger",players[0],i < zombie_debris.size); + zombie_debris[i] notify("trigger",players[0]); wait(0.05); - i++; } + zombie_devgui_build(undefined); level notify("open_sesame"); wait(1); @@ -1068,18 +1258,15 @@ zombie_devgui_open_sesame() any_player_in_noclip() { /# - _a1161 = get_players(); - _k1161 = FirstArrayKey(_a1161); - for(;;) + foreach(player in get_players()) { - player = _a1161[_k1161]; - return 1; - _k1161 = NextArrayKey(_a1161); + if(player isinmovemode("ufo","noclip")) + { + return 1; + } } + return 0; -_k1161 -player isinmovemode("ufo","noclip") -IsDefined(_k1161) #/ } @@ -1090,22 +1277,32 @@ diable_fog_in_noclip() level.fog_disabled_in_noclip = 1; level endon("allowfoginnoclip"); flag_wait("start_zombie_round_logic"); - for(;;) + while(1) { - wait(1); + while(!(any_player_in_noclip())) + { + wait(1); + } + setdvar("scr_fog_disable","1"); setdvar("r_fog_disable","1"); - setculldist(0); - wait(1); + if(IsDefined(level.culldist)) + { + setculldist(0); + } + + while(any_player_in_noclip()) + { + wait(1); + } + setdvar("scr_fog_disable","0"); setdvar("r_fog_disable","0"); - setculldist(level.culldist); + if(IsDefined(level.culldist)) + { + setculldist(level.culldist); + } } -IsDefined(level.culldist) -any_player_in_noclip() -IsDefined(level.culldist) -any_player_in_noclip() -1 #/ } @@ -1113,12 +1310,17 @@ any_player_in_noclip() zombie_devgui_allow_fog() { /# - level notify("allowfoginnoclip",level.fog_disabled_in_noclip); - level.fog_disabled_in_noclip = 0; - setdvar("scr_fog_disable","0"); - setdvar("r_fog_disable","0"); - thread diable_fog_in_noclip(); -Stack-Empty ? Stack-Empty : Stack-Empty + if(level.fog_disabled_in_noclip) + { + level notify("allowfoginnoclip"); + level.fog_disabled_in_noclip = 0; + setdvar("scr_fog_disable","0"); + setdvar("r_fog_disable","0"); + } + else + { + thread diable_fog_in_noclip(); + } #/ } @@ -1153,9 +1355,14 @@ zombie_devgui_take_money() /# assert(isalive(self)); #/ - self maps/mp/zombies/_zm_score::minus_to_player_score(int(self.score / 2)); - self maps/mp/zombies/_zm_score::minus_to_player_score(self.score); -Stack-Empty ? Stack-Empty : self.score > 100 + if(self.score > 100) + { + self maps/mp/zombies/_zm_score::minus_to_player_score(int(self.score / 2)); + } + else + { + self maps/mp/zombies/_zm_score::minus_to_player_score(self.score); + } #/ } @@ -1164,8 +1371,15 @@ zombie_devgui_turn_player(index) { /# players = get_players(); - player = players[0]; - player = players[index]; + if(!IsDefined(index) || index >= players.size) + { + player = players[0]; + } + else + { + player = players[index]; + } + /# assert(IsDefined(player)); #/ @@ -1176,11 +1390,16 @@ zombie_devgui_turn_player(index) assert(isalive(player)); #/ level.devcheater = 1; - println("Player turned HUMAN"); - player maps/mp/zombies/_zm_turned::turn_to_human(); - println("Player turned ZOMBIE"); - player maps/mp/zombies/_zm_turned::turn_to_zombie(); -Stack-Empty ? (Stack-Empty ? Stack-Empty : !IsDefined(index) || index >= players.size) : player hasperk("specialty_noname") + if(player hasperk("specialty_noname")) + { + println("Player turned HUMAN"); + player maps/mp/zombies/_zm_turned::turn_to_human(); + } + else + { + println("Player turned ZOMBIE"); + player maps/mp/zombies/_zm_turned::turn_to_zombie(); + } #/ } @@ -1189,8 +1408,15 @@ zombie_devgui_debug_pers(index) { /# players = get_players(); - player = players[0]; - player = players[index]; + if(!IsDefined(index) || index >= players.size) + { + player = players[0]; + } + else + { + player = players[index]; + } + /# assert(IsDefined(player)); #/ @@ -1203,14 +1429,12 @@ zombie_devgui_debug_pers(index) level.devcheater = 1; println("\n\n----------------------------------------------------------------------------------------------"); println("Active Persistent upgrades [count=" + level.pers_upgrades_keys.size + "]"); - pers_upgrade_index = 0; - for(;;) + for(pers_upgrade_index = 0;pers_upgrade_index < level.pers_upgrades_keys.size;pers_upgrade_index++) { name = level.pers_upgrades_keys[pers_upgrade_index]; println(pers_upgrade_index + ">pers_upgrade name = " + name); pers_upgrade = level.pers_upgrades[name]; - i = 0; - for(;;) + for(i = 0;i < pers_upgrade.stat_names.size;i++) { stat_name = pers_upgrade.stat_names[i]; stat_desired_value = pers_upgrade.stat_desired_values[i]; @@ -1218,15 +1442,19 @@ zombie_devgui_debug_pers(index) println(" " + i + ")stat_name = " + stat_name); println(" " + i + ")stat_desired_values = " + stat_desired_value); println(" " + i + ")player_current_stat_value = " + player_current_stat_value); - i++; } - println("PLAYER HAS - " + name); - println("PLAYER DOES NOT HAVE - " + name); - pers_upgrade_index++; + + if(is_true(player.pers_upgrades_awarded[name])) + { + println("PLAYER HAS - " + name); + } + else + { + println("PLAYER DOES NOT HAVE - " + name); + } } + println("----------------------------------------------------------------------------------------------\n\n"); -(pers_upgrade_index < level.pers_upgrades_keys.size) ? i < pers_upgrade.stat_names.size : is_true(player.pers_upgrades_awarded[name]) -Stack-Empty ? Stack-Empty : !IsDefined(index) || index >= players.size #/ } @@ -1234,8 +1462,10 @@ Stack-Empty ? Stack-Empty : !IsDefined(index) || index >= players.size zombie_devgui_cool_jetgun() { /# - self thread [[ level.zm_devgui_jetgun_never_overheat ]](); -IsDefined(level.zm_devgui_jetgun_never_overheat) + if(IsDefined(level.zm_devgui_jetgun_never_overheat)) + { + self thread [[ level.zm_devgui_jetgun_never_overheat ]](); + } #/ } @@ -1246,15 +1476,17 @@ zombie_devgui_preserve_turbines() self endon("disconnect"); self notify("preserve_turbines"); self endon("preserve_turbines"); - self.preserving_turbines = 1; - for(;;) + if(!(is_true(self.preserving_turbines))) { - self.turbine_health = 1200; - wait(1); + self.preserving_turbines = 1; + while(1) + { + self.turbine_health = 1200; + wait(1); + } } + self.preserving_turbines = 0; -1 -is_true(self.preserving_turbines) #/ } @@ -1265,32 +1497,33 @@ zombie_devgui_equipment_stays_healthy() self endon("disconnect"); self notify("preserve_equipment"); self endon("preserve_equipment"); - self.preserving_equipment = 1; - for(;;) + if(!(is_true(self.preserving_equipment))) { - self.equipment_damage = []; - self.shielddamagetaken = 0; - _a1357 = level.destructible_equipment; - _k1357 = FirstArrayKey(_a1357); - for(;;) + self.preserving_equipment = 1; + while(1) { - equip = _a1357[_k1357]; - equip.shielddamagetaken = 0; - equip.damage = 0; - equip.headchopper_kills = 0; - equip.springpad_kills = 0; - equip.subwoofer_kills = 0; - _k1357 = NextArrayKey(_a1357); + self.equipment_damage = []; + self.shielddamagetaken = 0; + if(IsDefined(level.destructible_equipment)) + { + foreach(equip in level.destructible_equipment) + { + if(IsDefined(equip)) + { + equip.shielddamagetaken = 0; + equip.damage = 0; + equip.headchopper_kills = 0; + equip.springpad_kills = 0; + equip.subwoofer_kills = 0; + } + } + } + + wait(0.1); } - wait(0.1); } + self.preserving_equipment = 0; -_k1357 -IsDefined(equip) -IsDefined(_k1357) -IsDefined(level.destructible_equipment) -1 -is_true(self.preserving_equipment) #/ } @@ -1316,8 +1549,10 @@ zombie_devgui_equipment_give(equipment) assert(isalive(self)); #/ level.devcheater = 1; - self maps/mp/zombies/_zm_equipment::equipment_buy(equipment); -is_equipment_included(equipment) + if(is_equipment_included(equipment)) + { + self maps/mp/zombies/_zm_equipment::equipment_buy(equipment); + } #/ } @@ -1325,14 +1560,17 @@ is_equipment_included(equipment) zombie_devgui_buildable_drop() { /# - i = 0; - for(;;) + if(IsDefined(level.buildable_slot_count)) { - self maps/mp/zombies/_zm_buildables::player_drop_piece(undefined,i); - i++; + for(i = 0;i < level.buildable_slot_count;i++) + { + self maps/mp/zombies/_zm_buildables::player_drop_piece(undefined,i); + } + } + else + { + self maps/mp/zombies/_zm_buildables::player_drop_piece(); } - self maps/mp/zombies/_zm_buildables::player_drop_piece(); -Stack-Empty ? IsDefined(level.buildable_slot_count) : i < level.buildable_slot_count #/ } @@ -1341,14 +1579,19 @@ zombie_devgui_build(buildable) { /# player = get_players()[0]; - i = 0; - for(;;) + for(i = 0;i < level.buildable_stubs.size;i++) { - level.buildable_stubs[i] maps/mp/zombies/_zm_buildables::buildablestub_finish_build(player); - i++; + if(!IsDefined(buildable) || level.buildable_stubs[i].equipname == buildable) + { + if(!IsDefined(buildable) && is_true(level.buildable_stubs[i].ignore_open_sesame)) + { + } + else if(IsDefined(buildable) || level.buildable_stubs[i].persistent != 3) + { + level.buildable_stubs[i] maps/mp/zombies/_zm_buildables::buildablestub_finish_build(player); + } + } } -(!IsDefined(buildable) || level.buildable_stubs[i].equipname == buildable) ? !IsDefined(buildable) && is_true(level.buildable_stubs[i].ignore_open_sesame) : IsDefined(buildable) || level.buildable_stubs[i].persistent != 3 -i < level.buildable_stubs.size #/ } @@ -1369,15 +1612,17 @@ zombie_devgui_give_claymores() assert(isalive(self)); #/ level.devcheater = 1; - self takeweapon(self get_player_placeable_mine()); + if(IsDefined(self get_player_placeable_mine())) + { + self takeweapon(self get_player_placeable_mine()); + } + self thread maps/mp/zombies/_zm_weap_claymore::claymore_setup(); - for(;;) + while(1) { self givemaxammo("claymore_zm"); wait(1); } -1 -IsDefined(self get_player_placeable_mine()) #/ } @@ -1398,16 +1643,18 @@ zombie_devgui_give_lethal(weapon) assert(isalive(self)); #/ level.devcheater = 1; - self takeweapon(self get_player_lethal_grenade()); + if(IsDefined(self get_player_lethal_grenade())) + { + self takeweapon(self get_player_lethal_grenade()); + } + self giveweapon(weapon); self set_player_lethal_grenade(weapon); - for(;;) + while(1) { self givemaxammo(weapon); wait(1); } -1 -IsDefined(self get_player_lethal_grenade()) #/ } @@ -1444,16 +1691,20 @@ zombie_devgui_give_monkey() assert(isalive(self)); #/ level.devcheater = 1; - self takeweapon(self get_player_tactical_grenade()); - self [[ level.zombiemode_devgui_cymbal_monkey_give ]](); - for(;;) + if(IsDefined(self get_player_tactical_grenade())) { - self givemaxammo("cymbal_monkey_zm"); - wait(1); + self takeweapon(self get_player_tactical_grenade()); + } + + if(IsDefined(level.zombiemode_devgui_cymbal_monkey_give)) + { + self [[ level.zombiemode_devgui_cymbal_monkey_give ]](); + while(1) + { + self givemaxammo("cymbal_monkey_zm"); + wait(1); + } } -1 -IsDefined(level.zombiemode_devgui_cymbal_monkey_give) -IsDefined(self get_player_tactical_grenade()) #/ } @@ -1474,16 +1725,20 @@ zombie_devgui_give_beacon() assert(isalive(self)); #/ level.devcheater = 1; - self takeweapon(self get_player_tactical_grenade()); - self [[ level.zombiemode_devgui_beacon_give ]](); - for(;;) + if(IsDefined(self get_player_tactical_grenade())) { - self givemaxammo("beacon_zm"); - wait(1); + self takeweapon(self get_player_tactical_grenade()); + } + + if(IsDefined(level.zombiemode_devgui_beacon_give)) + { + self [[ level.zombiemode_devgui_beacon_give ]](); + while(1) + { + self givemaxammo("beacon_zm"); + wait(1); + } } -1 -IsDefined(level.zombiemode_devgui_beacon_give) -IsDefined(self get_player_tactical_grenade()) #/ } @@ -1504,10 +1759,15 @@ zombie_devgui_give_time_bomb() assert(isalive(self)); #/ level.devcheater = 1; - self takeweapon(self get_player_tactical_grenade()); - self [[ level.zombiemode_time_bomb_give_func ]](); -IsDefined(level.zombiemode_time_bomb_give_func) -IsDefined(self get_player_tactical_grenade()) + if(IsDefined(self get_player_tactical_grenade())) + { + self takeweapon(self get_player_tactical_grenade()); + } + + if(IsDefined(level.zombiemode_time_bomb_give_func)) + { + self [[ level.zombiemode_time_bomb_give_func ]](); + } #/ } @@ -1528,16 +1788,20 @@ zombie_devgui_give_black_hole_bomb() assert(isalive(self)); #/ level.devcheater = 1; - self takeweapon(self get_player_tactical_grenade()); - self [[ level.zombiemode_devgui_black_hole_bomb_give ]](); - for(;;) + if(IsDefined(self get_player_tactical_grenade())) { - self givemaxammo("zombie_black_hole_bomb"); - wait(1); + self takeweapon(self get_player_tactical_grenade()); + } + + if(IsDefined(level.zombiemode_devgui_black_hole_bomb_give)) + { + self [[ level.zombiemode_devgui_black_hole_bomb_give ]](); + while(1) + { + self givemaxammo("zombie_black_hole_bomb"); + wait(1); + } } -1 -IsDefined(level.zombiemode_devgui_black_hole_bomb_give) -IsDefined(self get_player_tactical_grenade()) #/ } @@ -1558,16 +1822,20 @@ zombie_devgui_give_dolls() assert(isalive(self)); #/ level.devcheater = 1; - self takeweapon(self get_player_tactical_grenade()); - self [[ level.zombiemode_devgui_nesting_dolls_give ]](); - for(;;) + if(IsDefined(self get_player_tactical_grenade())) { - self givemaxammo("zombie_nesting_dolls"); - wait(1); + self takeweapon(self get_player_tactical_grenade()); + } + + if(IsDefined(level.zombiemode_devgui_nesting_dolls_give)) + { + self [[ level.zombiemode_devgui_nesting_dolls_give ]](); + while(1) + { + self givemaxammo("zombie_nesting_dolls"); + wait(1); + } } -1 -IsDefined(level.zombiemode_devgui_nesting_dolls_give) -IsDefined(self get_player_tactical_grenade()) #/ } @@ -1588,16 +1856,20 @@ zombie_devgui_give_quantum_bomb() assert(isalive(self)); #/ level.devcheater = 1; - self takeweapon(self get_player_tactical_grenade()); - self [[ level.zombiemode_devgui_quantum_bomb_give ]](); - for(;;) + if(IsDefined(self get_player_tactical_grenade())) { - self givemaxammo("zombie_quantum_bomb"); - wait(1); + self takeweapon(self get_player_tactical_grenade()); + } + + if(IsDefined(level.zombiemode_devgui_quantum_bomb_give)) + { + self [[ level.zombiemode_devgui_quantum_bomb_give ]](); + while(1) + { + self givemaxammo("zombie_quantum_bomb"); + wait(1); + } } -1 -IsDefined(level.zombiemode_devgui_quantum_bomb_give) -IsDefined(self get_player_tactical_grenade()) #/ } @@ -1618,16 +1890,20 @@ zombie_devgui_give_emp_bomb() assert(isalive(self)); #/ level.devcheater = 1; - self takeweapon(self get_player_tactical_grenade()); - self [[ level.zombiemode_devgui_emp_bomb_give ]](); - for(;;) + if(IsDefined(self get_player_tactical_grenade())) { - self givemaxammo("emp_grenade_zm"); - wait(1); + self takeweapon(self get_player_tactical_grenade()); + } + + if(IsDefined(level.zombiemode_devgui_emp_bomb_give)) + { + self [[ level.zombiemode_devgui_emp_bomb_give ]](); + while(1) + { + self givemaxammo("emp_grenade_zm"); + wait(1); + } } -1 -IsDefined(level.zombiemode_devgui_emp_bomb_give) -IsDefined(self get_player_tactical_grenade()) #/ } @@ -1636,15 +1912,24 @@ zombie_devgui_invulnerable(playerindex,onoff) { /# players = get_players(); - i = 0; - for(;;) + if(!(IsDefined(playerindex))) { - zombie_devgui_invulnerable(i,onoff); - i++; + for(i = 0;i < players.size;i++) + { + zombie_devgui_invulnerable(i,onoff); + } + } + else if(players.size > playerindex) + { + if(onoff) + { + players[playerindex] enableinvulnerability(); + } + else + { + players[playerindex] disableinvulnerability(); + } } - players[playerindex] enableinvulnerability(); - players[playerindex] disableinvulnerability(); -Stack-Empty ? IsDefined(playerindex) : (i < players.size ? players.size > playerindex : onoff) #/ } @@ -1683,21 +1968,31 @@ zombie_devgui_toggle_ammo() self notify("devgui_toggle_ammo"); self endon("devgui_toggle_ammo"); self.ammo4evah = !is_true(self.ammo4evah); - for(;;) + while(IsDefined(self) && self.ammo4evah) { weapon = self getcurrentweapon(); - self setweaponoverheating(0,0); - max = weaponmaxammo(weapon); - self setweaponammostock(weapon,max); - self givemaxammo(self get_player_tactical_grenade()); - self givemaxammo(self get_player_lethal_grenade()); + if(weapon != "none") + { + self setweaponoverheating(0,0); + max = weaponmaxammo(weapon); + if(IsDefined(max)) + { + self setweaponammostock(weapon,max); + } + + if(IsDefined(self get_player_tactical_grenade())) + { + self givemaxammo(self get_player_tactical_grenade()); + } + + if(IsDefined(self get_player_lethal_grenade())) + { + self givemaxammo(self get_player_lethal_grenade()); + } + } + wait(1); } -IsDefined(self get_player_lethal_grenade()) -IsDefined(self get_player_tactical_grenade()) -IsDefined(max) -weapon != "none" -IsDefined(self) && self.ammo4evah #/ } @@ -1715,8 +2010,10 @@ zombie_devgui_toggle_ignore() assert(isalive(self)); #/ self.ignoreme = !self.ignoreme; - setdvar("ai_showFailedPaths",0); -self.ignoreme + if(self.ignoreme) + { + setdvar("ai_showFailedPaths",0); + } #/ } @@ -1735,12 +2032,16 @@ zombie_devgui_revive() #/ self reviveplayer(); self notify("stop_revive_trigger"); - self.revivetrigger delete(); - self.revivetrigger = undefined; + if(IsDefined(self.revivetrigger)) + { + self.revivetrigger delete(); + self.revivetrigger = undefined; + } + self allowjump(1); self.ignoreme = 0; self.laststand = undefined; - self notify("player_revived",self,IsDefined(self.revivetrigger)); + self notify("player_revived",self); #/ } @@ -1762,14 +2063,13 @@ zombie_devgui_give_health() self endon("disconnect"); self endon("death"); level.devcheater = 1; - for(;;) + while(1) { self.maxhealth = 100000; self.health = 100000; self waittill_any("player_revived","perk_used","spawned_player"); wait(2); } -1 #/ } @@ -1780,13 +2080,18 @@ zombie_devgui_give_perk(perk) vending_triggers = getentarray("zombie_vending","targetname"); player = get_players()[0]; level.devcheater = 1; - return; - i = 0; - for(;;) + if(vending_triggers.size < 1) { - vending_triggers[i] notify("trigger",player,vending_triggers[i].script_noteworthy == perk,i < vending_triggers.size,vending_triggers.size < 1); return; - i++; + } + + for(i = 0;i < vending_triggers.size;i++) + { + if(vending_triggers[i].script_noteworthy == perk) + { + vending_triggers[i] notify("trigger",player); + return; + } } #/ } @@ -1798,15 +2103,21 @@ zombie_devgui_give_powerup(powerup_name,now,origin) player = get_players()[0]; found = 0; level.devcheater = 1; - i = 0; - for(;;) + for(i = 0;i < level.zombie_powerup_array.size;i++) { - level.zombie_powerup_index = i; - found = 1; - break; - i++; + if(level.zombie_powerup_array[i] == powerup_name) + { + level.zombie_powerup_index = i; + found = 1; + break; + } } - return; + + if(!(found)) + { + return; + } + direction = player getplayerangles(); direction_vec = AnglesToForward(direction); eye = player geteye(); @@ -1816,11 +2127,14 @@ zombie_devgui_give_powerup(powerup_name,now,origin) level.zombie_devgui_power = 1; level.zombie_vars["zombie_drop_item"] = 1; level.powerup_drop_count = 0; - level thread maps/mp/zombies/_zm_powerups::powerup_drop(origin); - level thread maps/mp/zombies/_zm_powerups::powerup_drop(trace["position"]); -found ? IsDefined(origin) : !IsDefined(now) || now -level.zombie_powerup_array[i] == powerup_name -i < level.zombie_powerup_array.size + if(IsDefined(origin)) + { + level thread maps/mp/zombies/_zm_powerups::powerup_drop(origin); + } + else if(!IsDefined(now) || now) + { + level thread maps/mp/zombies/_zm_powerups::powerup_drop(trace["position"]); + } #/ } @@ -1829,21 +2143,31 @@ zombie_devgui_goto_round(target_round) { /# player = get_players()[0]; - target_round = 1; + if(target_round < 1) + { + target_round = 1; + } + level.devcheater = 1; level.zombie_total = 0; maps/mp/zombies/_zm::ai_calculate_health(target_round); level.round_number = target_round - 1; - level notify("kill_round",target_round < 1); + level notify("kill_round"); wait(1); zombies = get_round_enemy_array(); - i = 0; - for(;;) + if(IsDefined(zombies)) { - zombies[i] dodamage(zombies[i].health + 666,zombies[i].origin); - i++; + for(i = 0;i < zombies.size;i++) + { + if(is_true(zombies[i].ignore_devgui_death)) + { + } + else + { + zombies[i] dodamage(zombies[i].health + 666,zombies[i].origin); + } + } } -IsDefined(zombies) ? i < zombies.size : is_true(zombies[i].ignore_devgui_death) #/ } @@ -1851,8 +2175,10 @@ IsDefined(zombies) ? i < zombies.size : is_true(zombies[i].ignore_devgui_death) zombie_devgui_monkey_round() { /# - zombie_devgui_goto_round(level.next_monkey_round); -IsDefined(level.next_monkey_round) + if(IsDefined(level.next_monkey_round)) + { + zombie_devgui_goto_round(level.next_monkey_round); + } #/ } @@ -1860,8 +2186,10 @@ IsDefined(level.next_monkey_round) zombie_devgui_thief_round() { /# - zombie_devgui_goto_round(level.next_thief_round); -IsDefined(level.next_thief_round) + if(IsDefined(level.next_thief_round)) + { + zombie_devgui_goto_round(level.next_thief_round); + } #/ } @@ -1869,13 +2197,30 @@ IsDefined(level.next_thief_round) zombie_devgui_dog_round(num_dogs) { /# - return; - return; - return; - setdvar("force_dogs",num_dogs); + if(!IsDefined(level.dogs_enabled) || !level.dogs_enabled) + { + return; + } + + if(!IsDefined(level.dog_rounds_enabled) || !level.dog_rounds_enabled) + { + return; + } + + if(!IsDefined(level.enemy_dog_spawns) || level.enemy_dog_spawns.size < 1) + { + return; + } + + if(!(flag("dog_round"))) + { + setdvar("force_dogs",num_dogs); + } + else + { + } + zombie_devgui_goto_round(level.round_number + 1); -(!IsDefined(level.dog_rounds_enabled) || !level.dog_rounds_enabled) ? !IsDefined(level.enemy_dog_spawns) || level.enemy_dog_spawns.size < 1 : flag("dog_round") -!IsDefined(level.dogs_enabled) || !level.dogs_enabled #/ } @@ -1883,8 +2228,10 @@ zombie_devgui_dog_round(num_dogs) zombie_devgui_dog_round_skip() { /# - zombie_devgui_goto_round(level.next_dog_round); -IsDefined(level.next_dog_round) + if(IsDefined(level.next_dog_round)) + { + zombie_devgui_goto_round(level.next_dog_round); + } #/ } @@ -1892,20 +2239,28 @@ IsDefined(level.next_dog_round) zombie_devgui_dump_zombie_vars() { /# - return; - println("#### Zombie Variables ####"); - return; + if(!(IsDefined(level.zombie_vars))) + { + return; + } + + if(level.zombie_vars.size > 0) + { + println("#### Zombie Variables ####"); + } + else + { + return; + } + var_names = getarraykeys(level.zombie_vars); - i = 0; - for(;;) + for(i = 0;i < level.zombie_vars.size;i++) { key = var_names[i]; println(key + ": " + level.zombie_vars[key]); - i++; } + println("##### End Zombie Variables #####"); -i < level.zombie_vars.size -Stack-Empty ? IsDefined(level.zombie_vars) : level.zombie_vars.size > 0 #/ } @@ -1916,20 +2271,21 @@ zombie_devgui_pack_current_weapon() players = get_players(); reviver = players[0]; level.devcheater = 1; - i = 0; - for(;;) + for(i = 0;i < players.size;i++) { - weap = maps/mp/zombies/_zm_weapons::get_base_name(players[i] getcurrentweapon()); - weapon = get_upgrade(weap); - players[i] takeweapon(weap); - players[i] giveweapon(weapon,0,players[i] maps/mp/zombies/_zm_weapons::get_pack_a_punch_weapon_options(weapon)); - players[i] givestartammo(weapon); - players[i] switchtoweapon(weapon); - i++; + if(!(players[i] maps/mp/zombies/_zm_laststand::player_is_in_laststand())) + { + weap = maps/mp/zombies/_zm_weapons::get_base_name(players[i] getcurrentweapon()); + weapon = get_upgrade(weap); + if(IsDefined(weapon)) + { + players[i] takeweapon(weap); + players[i] giveweapon(weapon,0,players[i] maps/mp/zombies/_zm_weapons::get_pack_a_punch_weapon_options(weapon)); + players[i] givestartammo(weapon); + players[i] switchtoweapon(weapon); + } + } } -IsDefined(weapon) -players[i] maps/mp/zombies/_zm_laststand::player_is_in_laststand() -i < players.size #/ } @@ -1940,20 +2296,21 @@ zombie_devgui_unpack_current_weapon() players = get_players(); reviver = players[0]; level.devcheater = 1; - i = 0; - for(;;) + for(i = 0;i < players.size;i++) { - weap = players[i] getcurrentweapon(); - weapon = maps/mp/zombies/_zm_weapons::get_base_weapon_name(weap,1); - players[i] takeweapon(weap); - players[i] giveweapon(weapon,0,players[i] maps/mp/zombies/_zm_weapons::get_pack_a_punch_weapon_options(weapon)); - players[i] givestartammo(weapon); - players[i] switchtoweapon(weapon); - i++; + if(!(players[i] maps/mp/zombies/_zm_laststand::player_is_in_laststand())) + { + weap = players[i] getcurrentweapon(); + weapon = maps/mp/zombies/_zm_weapons::get_base_weapon_name(weap,1); + if(IsDefined(weapon)) + { + players[i] takeweapon(weap); + players[i] giveweapon(weapon,0,players[i] maps/mp/zombies/_zm_weapons::get_pack_a_punch_weapon_options(weapon)); + players[i] givestartammo(weapon); + players[i] switchtoweapon(weapon); + } + } } -IsDefined(weapon) -players[i] maps/mp/zombies/_zm_laststand::player_is_in_laststand() -i < players.size #/ } @@ -1964,22 +2321,26 @@ zombie_devgui_reopt_current_weapon() players = get_players(); reviver = players[0]; level.devcheater = 1; - i = 0; - for(;;) + for(i = 0;i < players.size;i++) { - weap = players[i] getcurrentweapon(); - weapon = weap; - players[i].pack_a_punch_weapon_options[weapon] = undefined; - players[i] takeweapon(weap); - players[i] giveweapon(weapon,0,players[i] maps/mp/zombies/_zm_weapons::get_pack_a_punch_weapon_options(weapon)); - players[i] givestartammo(weapon); - players[i] switchtoweapon(weapon); - i++; + if(!(players[i] maps/mp/zombies/_zm_laststand::player_is_in_laststand())) + { + weap = players[i] getcurrentweapon(); + weapon = weap; + if(IsDefined(weapon)) + { + if(IsDefined(players[i].pack_a_punch_weapon_options)) + { + players[i].pack_a_punch_weapon_options[weapon] = undefined; + } + + players[i] takeweapon(weap); + players[i] giveweapon(weapon,0,players[i] maps/mp/zombies/_zm_weapons::get_pack_a_punch_weapon_options(weapon)); + players[i] givestartammo(weapon); + players[i] switchtoweapon(weapon); + } + } } -IsDefined(players[i].pack_a_punch_weapon_options) -IsDefined(weapon) -players[i] maps/mp/zombies/_zm_laststand::player_is_in_laststand() -i < players.size #/ } @@ -1990,18 +2351,19 @@ zombie_devgui_take_weapon() players = get_players(); reviver = players[0]; level.devcheater = 1; - i = 0; - for(;;) + for(i = 0;i < players.size;i++) { - weap = players[i] getcurrentweapon(); - weapon = weap; - players[i] takeweapon(weap); - players[i] switch_back_primary_weapon(undefined); - i++; + if(!(players[i] maps/mp/zombies/_zm_laststand::player_is_in_laststand())) + { + weap = players[i] getcurrentweapon(); + weapon = weap; + if(IsDefined(weapon)) + { + players[i] takeweapon(weap); + players[i] switch_back_primary_weapon(undefined); + } + } } -IsDefined(weapon) -players[i] maps/mp/zombies/_zm_laststand::player_is_in_laststand() -i < players.size #/ } @@ -2012,16 +2374,17 @@ zombie_devgui_take_weapons(give_fallback) players = get_players(); reviver = players[0]; level.devcheater = 1; - i = 0; - for(;;) + for(i = 0;i < players.size;i++) { - players[i] takeallweapons(); - players[i] give_fallback_weapon(); - i++; + if(!(players[i] maps/mp/zombies/_zm_laststand::player_is_in_laststand())) + { + players[i] takeallweapons(); + if(give_fallback) + { + players[i] give_fallback_weapon(); + } + } } -give_fallback -players[i] maps/mp/zombies/_zm_laststand::player_is_in_laststand() -i < players.size #/ } @@ -2029,9 +2392,14 @@ i < players.size get_upgrade(weaponname) { /# - return maps/mp/zombies/_zm_weapons::get_upgrade_weapon(weaponname,0); - return maps/mp/zombies/_zm_weapons::get_upgrade_weapon(weaponname,1); -Stack-Empty ? Stack-Empty : IsDefined(level.zombie_weapons[weaponname]) && IsDefined(level.zombie_weapons[weaponname].upgrade_name) + if(IsDefined(level.zombie_weapons[weaponname]) && IsDefined(level.zombie_weapons[weaponname].upgrade_name)) + { + return maps/mp/zombies/_zm_weapons::get_upgrade_weapon(weaponname,0); + } + else + { + return maps/mp/zombies/_zm_weapons::get_upgrade_weapon(weaponname,1); + } #/ } @@ -2039,8 +2407,10 @@ Stack-Empty ? Stack-Empty : IsDefined(level.zombie_weapons[weaponname]) && IsDef zombie_devgui_director_easy() { /# - [[ level.director_devgui_health ]](); -IsDefined(level.director_devgui_health) + if(IsDefined(level.director_devgui_health)) + { + [[ level.director_devgui_health ]](); + } #/ } @@ -2062,9 +2432,14 @@ zombie_devgui_chest_never_move() zombie_devgui_disable_kill_thread_toggle() { /# - level.disable_kill_thread = 1; - level.disable_kill_thread = 0; -Stack-Empty ? Stack-Empty : is_true(level.disable_kill_thread) + if(!(is_true(level.disable_kill_thread))) + { + level.disable_kill_thread = 1; + } + else + { + level.disable_kill_thread = 0; + } #/ } @@ -2072,9 +2447,14 @@ Stack-Empty ? Stack-Empty : is_true(level.disable_kill_thread) zombie_devgui_check_kill_thread_every_frame_toggle() { /# - level.check_kill_thread_every_frame = 1; - level.check_kill_thread_every_frame = 0; -Stack-Empty ? Stack-Empty : is_true(level.check_kill_thread_every_frame) + if(!(is_true(level.check_kill_thread_every_frame))) + { + level.check_kill_thread_every_frame = 1; + } + else + { + level.check_kill_thread_every_frame = 0; + } #/ } @@ -2082,9 +2462,14 @@ Stack-Empty ? Stack-Empty : is_true(level.check_kill_thread_every_frame) zombie_devgui_kill_thread_test_mode_toggle() { /# - level.kill_thread_test_mode = 1; - level.kill_thread_test_mode = 0; -Stack-Empty ? Stack-Empty : is_true(level.kill_thread_test_mode) + if(!(is_true(level.kill_thread_test_mode))) + { + level.kill_thread_test_mode = 1; + } + else + { + level.kill_thread_test_mode = 0; + } #/ } @@ -2092,8 +2477,16 @@ Stack-Empty ? Stack-Empty : is_true(level.kill_thread_test_mode) showonespawnpoint(spawn_point,color,notification,height,print) { /# - height = get_player_height(); - print = spawn_point.classname; + if(!IsDefined(height) || height <= 0) + { + height = get_player_height(); + } + + if(!(IsDefined(print))) + { + print = spawn_point.classname; + } + center = spawn_point.origin; forward = AnglesToForward(spawn_point.angles); right = AnglesToRight(spawn_point.angles); @@ -2133,13 +2526,6 @@ showonespawnpoint(spawn_point,color,notification,height,print) thread lineuntilnotified(a,b,color,0,notification); thread lineuntilnotified(a,c,color,0,notification); thread print3duntilnotified(spawn_point.origin + (0,0,height),print,color,1,1,notification); -8 -24 -32 -16 -16 -IsDefined(print) -!IsDefined(height) || height <= 0 #/ } @@ -2173,39 +2559,70 @@ lineuntilnotified(start,end,color,depthtest,notification) devgui_debug_hud() { /# - self givemaxammo(self get_player_lethal_grenade()); + if(IsDefined(self get_player_lethal_grenade())) + { + self givemaxammo(self get_player_lethal_grenade()); + } + self thread maps/mp/zombies/_zm_weap_claymore::claymore_setup(); - self takeweapon(self get_player_tactical_grenade()); - self [[ level.zombiemode_time_bomb_give_func ]](); - self takeweapon(self get_player_tactical_grenade()); - self [[ level.zombiemode_devgui_cymbal_monkey_give ]](); - self givemaxammo(self get_player_tactical_grenade()); - equipment = getarraykeys(level.zombie_include_equipment); - self zombie_devgui_equipment_give(equipment[0]); + if(IsDefined(level.zombiemode_time_bomb_give_func)) + { + if(IsDefined(self get_player_tactical_grenade())) + { + self takeweapon(self get_player_tactical_grenade()); + } + + self [[ level.zombiemode_time_bomb_give_func ]](); + } + else if(IsDefined(level.zombiemode_devgui_cymbal_monkey_give)) + { + if(IsDefined(self get_player_tactical_grenade())) + { + self takeweapon(self get_player_tactical_grenade()); + } + + self [[ level.zombiemode_devgui_cymbal_monkey_give ]](); + } + else if(IsDefined(self get_player_tactical_grenade())) + { + self givemaxammo(self get_player_tactical_grenade()); + } + + if(IsDefined(level.zombie_include_equipment) && !IsDefined(self get_player_equipment())) + { + equipment = getarraykeys(level.zombie_include_equipment); + if(IsDefined(equipment[0])) + { + self zombie_devgui_equipment_give(equipment[0]); + } + } + candidate_list = []; - _a2327 = level.zones; - _k2327 = FirstArrayKey(_a2327); - for(;;) + foreach(zone in level.zones) { - zone = _a2327[_k2327]; - candidate_list = arraycombine(candidate_list,zone.unitrigger_stubs,1,0); - _k2327 = NextArrayKey(_a2327); + if(IsDefined(zone.unitrigger_stubs)) + { + candidate_list = arraycombine(candidate_list,zone.unitrigger_stubs,1,0); + } } - _a2335 = candidate_list; - _k2335 = FirstArrayKey(_a2335); - for(;;) + + foreach(stub in candidate_list) { - stub = _a2335[_k2335]; - self thread maps/mp/zombies/_zm_buildables::player_take_piece(stub.piece); - _k2335 = NextArrayKey(_a2335); + if(IsDefined(stub.piece) && IsDefined(stub.piece.buildable_slot)) + { + if(!(IsDefined(self player_get_buildable_piece(stub.piece.buildable_slot)))) + { + self thread maps/mp/zombies/_zm_buildables::player_take_piece(stub.piece); + } + } } - i = 0; - for(;;) + + for(i = 0;i < 10;i++) { zombie_devgui_give_powerup("free_perk",1,self.origin); wait(0.25); - i++; } + zombie_devgui_give_powerup("insta_kill",1,self.origin); wait(0.25); zombie_devgui_give_powerup("double_points",1,self.origin); @@ -2217,17 +2634,5 @@ devgui_debug_hud() zombie_devgui_give_powerup("bonfire_sale",1,self.origin); wait(0.25); self weapon_give("tar21_upgraded_zm+gl"); -i < 10 -_k2335 -IsDefined(self player_get_buildable_piece(stub.piece.buildable_slot)) -IsDefined(stub.piece) && IsDefined(stub.piece.buildable_slot) -IsDefined(_k2335) -_k2327 -IsDefined(zone.unitrigger_stubs) -IsDefined(_k2327) -IsDefined(equipment[0]) -IsDefined(level.zombie_include_equipment) && !IsDefined(self get_player_equipment()) -(IsDefined(level.zombiemode_time_bomb_give_func)) ? IsDefined(self get_player_tactical_grenade()) : ((IsDefined(level.zombiemode_devgui_cymbal_monkey_give)) ? IsDefined(self get_player_tactical_grenade()) : IsDefined(self get_player_tactical_grenade())) -IsDefined(self get_player_lethal_grenade()) #/ } \ No newline at end of file diff --git a/BO2/Xbox/ZM/maps/mp/zombies/_zm_ffotd.gsc b/BO2/Xbox/ZM/maps/mp/zombies/_zm_ffotd.gsc index c1f7a1c..72d0076 100644 --- a/BO2/Xbox/ZM/maps/mp/zombies/_zm_ffotd.gsc +++ b/BO2/Xbox/ZM/maps/mp/zombies/_zm_ffotd.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 10 - * Decompile Time: 28 ms - * Timestamp: 10/27/2023 3:06:09 AM + * Decompile Time: 2 ms + * Timestamp: 10/28/2023 12:14:14 AM *******************************************************************/ #include common_scripts/utility; @@ -164,13 +164,16 @@ path_exploit_fix(zombie_trigger_origin,zombie_trigger_radius,zombie_trigger_heig zombie_trigger setteamfortrigger(level.zombie_team); /# thread debug_exploit(zombie_trigger_origin,zombie_trigger_radius,player_trigger_origin,player_trigger_radius,zombie_goto_point); -#/ - while(1) - { - zombie_trigger waittill("trigger",who); - if(!(is_true(who.reroute))) + for(;;) { - who thread exploit_reroute(zombie_trigger,player_trigger_origin,player_trigger_radius,zombie_goto_point); +#/ + if(1) + { + zombie_trigger waittill("trigger",who); + if(!(is_true(who.reroute))) + { + who thread exploit_reroute(zombie_trigger,player_trigger_origin,player_trigger_radius,zombie_goto_point); + } } } } @@ -208,7 +211,7 @@ exploit_reroute(zombie_trigger,player_trigger_origin,player_trigger_radius,zombi debug_exploit(player_origin,player_radius,enemy_origin,enemy_radius,zombie_goto_point) { /# - for(;;) + while(IsDefined(self)) { circle(player_origin,player_radius,(0,0,1),0,1,1); circle(enemy_origin,enemy_radius,(1,0,0),0,1,1); @@ -216,7 +219,6 @@ debug_exploit(player_origin,player_radius,enemy_origin,enemy_radius,zombie_goto_ line(enemy_origin,zombie_goto_point,(1,1,0),1); wait(0.05); } -IsDefined(self) #/ } diff --git a/BO2/Xbox/ZM/maps/mp/zombies/_zm_gump.gsc b/BO2/Xbox/ZM/maps/mp/zombies/_zm_gump.gsc index 1b1c42d..8cf74d5 100644 --- a/BO2/Xbox/ZM/maps/mp/zombies/_zm_gump.gsc +++ b/BO2/Xbox/ZM/maps/mp/zombies/_zm_gump.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 5 - * Decompile Time: 31 ms - * Timestamp: 10/27/2023 3:06:09 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:14:14 AM *******************************************************************/ #include common_scripts/utility; @@ -79,13 +79,21 @@ gump_test() pos3 = (7918,-6506,177); pos2 = (1986,-73,4); players = get_players(); - players[0] setorigin(pos1); + if(IsDefined(players[0])) + { + players[0] setorigin(pos1); + } + wait(0.05); - players[1] setorigin(pos2); + if(IsDefined(players[1])) + { + players[1] setorigin(pos2); + } + wait(0.05); - players[2] setorigin(pos3); -IsDefined(players[2]) -IsDefined(players[1]) -IsDefined(players[0]) + if(IsDefined(players[2])) + { + players[2] setorigin(pos3); + } #/ } \ No newline at end of file diff --git a/BO2/Xbox/ZM/maps/mp/zombies/_zm_jump_pad.gsc b/BO2/Xbox/ZM/maps/mp/zombies/_zm_jump_pad.gsc index ac74ede..3ac9ca4 100644 --- a/BO2/Xbox/ZM/maps/mp/zombies/_zm_jump_pad.gsc +++ b/BO2/Xbox/ZM/maps/mp/zombies/_zm_jump_pad.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 13 - * Decompile Time: 71 ms - * Timestamp: 10/27/2023 3:06:09 AM + * Decompile Time: 5 ms + * Timestamp: 10/28/2023 12:14:14 AM *******************************************************************/ #include common_scripts/utility; @@ -172,11 +172,18 @@ jump_pad_start(ent_player,endon_condition) z_dist = z_dist * 2.5; forward_scaling = 1.1; /# - z_dist = z_dist * GetDvarFloat(#"E2494021"); - forward_scaling = GetDvarFloat(#"4E3BC729"); -GetDvar(#"4E3BC729") != "" -GetDvar(#"E2494021") != "" -GetDvarInt(#"D5FD01C3") + if(GetDvarInt(#"D5FD01C3")) + { + if(GetDvar(#"E2494021") != "") + { + z_dist = z_dist * GetDvarFloat(#"E2494021"); + } + + if(GetDvar(#"4E3BC729") != "") + { + forward_scaling = GetDvarFloat(#"4E3BC729"); + } + } #/ } else if(z_dist >= 135) @@ -184,11 +191,18 @@ GetDvarInt(#"D5FD01C3") z_dist = z_dist * 2.7; forward_scaling = 1.3; /# - z_dist = z_dist * GetDvarFloat(#"E2494021"); - forward_scaling = GetDvarFloat(#"4E3BC729"); -GetDvar(#"4E3BC729") != "" -GetDvar(#"E2494021") != "" -GetDvarInt(#"D5FD01C3") + if(GetDvarInt(#"D5FD01C3")) + { + if(GetDvar(#"E2494021") != "") + { + z_dist = z_dist * GetDvarFloat(#"E2494021"); + } + + if(GetDvar(#"4E3BC729") != "") + { + forward_scaling = GetDvarFloat(#"4E3BC729"); + } + } #/ } else if(z_dist < 0) @@ -196,14 +210,20 @@ GetDvarInt(#"D5FD01C3") z_dist = z_dist * 2.4; forward_scaling = 1; /# + if(GetDvarInt(#"D5FD01C3")) + { + if(GetDvar(#"E2494021") != "") + { z_dist = z_dist * GetDvarFloat(#"E2494021"); - forward_scaling = GetDvarFloat(#"4E3BC729"); -GetDvar(#"4E3BC729") != "" -GetDvar(#"E2494021") != "" -GetDvarInt(#"D5FD01C3") -#/ - } + } + if(GetDvar(#"4E3BC729") != "") + { + forward_scaling = GetDvarFloat(#"4E3BC729"); + } + } + } +#/ z_velocity = 2 * z_dist * world_gravity; if(z_velocity < 0) { diff --git a/BO2/Xbox/ZM/maps/mp/zombies/_zm_magicbox.gsc b/BO2/Xbox/ZM/maps/mp/zombies/_zm_magicbox.gsc index 78dc8bd..2bb35b1 100644 --- a/BO2/Xbox/ZM/maps/mp/zombies/_zm_magicbox.gsc +++ b/BO2/Xbox/ZM/maps/mp/zombies/_zm_magicbox.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 58 - * Decompile Time: 275 ms - * Timestamp: 10/27/2023 3:06:11 AM + * Decompile Time: 31 ms + * Timestamp: 10/28/2023 12:14:14 AM *******************************************************************/ #include common_scripts/utility; @@ -1072,8 +1072,10 @@ treasure_chest_chooseweightedrandomweapon(player) /# forced_weapon = GetDvar(#"45ED7744"); - arrayinsert(keys,forced_weapon,0); -forced_weapon != "" && IsDefined(level.zombie_weapons[forced_weapon]) + if(forced_weapon != "" && IsDefined(level.zombie_weapons[forced_weapon])) + { + arrayinsert(keys,forced_weapon,0); + } #/ pap_triggers = getentarray("specialty_weapupgrade","script_noteworthy"); for(i = 0;i < keys.size;i++) diff --git a/BO2/Xbox/ZM/maps/mp/zombies/_zm_mgturret.gsc b/BO2/Xbox/ZM/maps/mp/zombies/_zm_mgturret.gsc index ce89024..05fb777 100644 --- a/BO2/Xbox/ZM/maps/mp/zombies/_zm_mgturret.gsc +++ b/BO2/Xbox/ZM/maps/mp/zombies/_zm_mgturret.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 12 - * Decompile Time: 44 ms - * Timestamp: 10/27/2023 3:06:11 AM + * Decompile Time: 4 ms + * Timestamp: 10/28/2023 12:14:15 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/Xbox/ZM/maps/mp/zombies/_zm_net.gsc b/BO2/Xbox/ZM/maps/mp/zombies/_zm_net.gsc index 0c81937..4b62c57 100644 --- a/BO2/Xbox/ZM/maps/mp/zombies/_zm_net.gsc +++ b/BO2/Xbox/ZM/maps/mp/zombies/_zm_net.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 10 - * Decompile Time: 27 ms - * Timestamp: 10/27/2023 3:06:11 AM + * Decompile Time: 1 ms + * Timestamp: 10/28/2023 12:14:15 AM *******************************************************************/ #include common_scripts/utility; @@ -48,10 +48,13 @@ network_choke_action(id,choke_action,arg1,arg2,arg3) { /# assert(IsDefined(level.zombie_network_choke_ids_max[id]),"Network Choke: " + id + " undefined"); + for(;;) + { #/ - while(!(network_choke_safe(id))) - { - wait(0.05); + if(!(network_choke_safe(id))) + { + wait(0.05); + } } level.zombie_network_choke_ids_count[id]++; diff --git a/BO2/Xbox/ZM/maps/mp/zombies/_zm_perks.gsc b/BO2/Xbox/ZM/maps/mp/zombies/_zm_perks.gsc index 062fc19..1e41f4f 100644 --- a/BO2/Xbox/ZM/maps/mp/zombies/_zm_perks.gsc +++ b/BO2/Xbox/ZM/maps/mp/zombies/_zm_perks.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 95 - * Decompile Time: 448 ms - * Timestamp: 10/27/2023 3:06:14 AM + * Decompile Time: 89 ms + * Timestamp: 10/28/2023 12:14:16 AM *******************************************************************/ #include common_scripts/utility; @@ -854,8 +854,10 @@ wait_for_player_to_take(player,weapon,packa_timer,upgrade_as_attachment) player maps/mp/zombies/_zm_stats::increment_player_stat("pap_weapon_grabbed"); current_weapon = player getcurrentweapon(); /# - iprintlnbold("WEAPON IS NONE, PACKAPUNCH RETRIEVAL DENIED"); -"none" == current_weapon + if("none" == current_weapon) + { + iprintlnbold("WEAPON IS NONE, PACKAPUNCH RETRIEVAL DENIED"); + } #/ if(is_player_valid(player) && !player.is_drinking > 0 && !is_placeable_mine(current_weapon) && !is_equipment(current_weapon) && level.revive_tool != current_weapon && "none" != current_weapon && !player hacker_active()) { @@ -1802,11 +1804,11 @@ electric_perks_dialog() self notify("warning_dialog"); /# iprintlnbold("warning_given"); -#/ } } } } +#/ } } } @@ -2095,8 +2097,10 @@ vending_trigger_think() { cheat = 0; /# - cheat = 1; - GetDvarInt(#"FA81816F") >= 5 + if(GetDvarInt(#"FA81816F") >= 5) + { + cheat = 1; + } #/ if(cheat != 1) { @@ -2418,7 +2422,10 @@ check_player_has_perk(perk) { self endon("death"); /# -GetDvarInt(#"FA81816F") >= 5 + if(GetDvarInt(#"FA81816F") >= 5) + { + return; + } #/ dist = 16384; while(1) @@ -2458,8 +2465,13 @@ vending_set_hintstring(perk) perk_think(perk) { /# -IsDefined(self.perk_hud[perk]) -GetDvarInt(#"FA81816F") >= 5 + if(GetDvarInt(#"FA81816F") >= 5) + { + if(IsDefined(self.perk_hud[perk])) + { + return; + } + } #/ perk_str = perk + "_stop"; result = self waittill_any_return("fake_death","death","player_downed",perk_str); @@ -3055,8 +3067,8 @@ perk_pause(perk) /# println(" ZM PERKS " + player.name + " paused perk " + perk + "\n"); -#/ } +#/ } } diff --git a/BO2/Xbox/ZM/maps/mp/zombies/_zm_power.gsc b/BO2/Xbox/ZM/maps/mp/zombies/_zm_power.gsc index 98dbc61..6ad7c61 100644 --- a/BO2/Xbox/ZM/maps/mp/zombies/_zm_power.gsc +++ b/BO2/Xbox/ZM/maps/mp/zombies/_zm_power.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 41 - * Decompile Time: 54 ms - * Timestamp: 10/27/2023 3:06:14 AM + * Decompile Time: 8 ms + * Timestamp: 10/28/2023 12:14:16 AM *******************************************************************/ #include common_scripts/utility; @@ -38,23 +38,21 @@ init() debug_powered_items() { /# - for(;;) + while(1) { - _a32 = level.local_power; - _k32 = FirstArrayKey(_a32); - for(;;) + if(GetDvarInt(#"EB512CB7")) { - localpower = _a32[_k32]; - circle(localpower.origin,localpower.radius,(1,0,0),0,1,1); - _k32 = NextArrayKey(_a32); + if(IsDefined(level.local_power)) + { + foreach(localpower in level.local_power) + { + circle(localpower.origin,localpower.radius,(1,0,0),0,1,1); + } + } } + wait(0.05); } -_k32 -IsDefined(_k32) -IsDefined(level.local_power) -GetDvarInt(#"EB512CB7") -1 #/ } @@ -266,7 +264,7 @@ revert_power(delta,origin,radius,powered_list) { self.powered_count--; /# - assert(self.powered_count >= 0,"Repower underflow in power system"); + assert(self.powered_count >= 0,"Repower underflow in power system"); #/ if(self.powered_count == 0 && self.power) { diff --git a/BO2/Xbox/ZM/maps/mp/zombies/_zm_powerups.gsc b/BO2/Xbox/ZM/maps/mp/zombies/_zm_powerups.gsc index 3a02d43..9be0d7c 100644 --- a/BO2/Xbox/ZM/maps/mp/zombies/_zm_powerups.gsc +++ b/BO2/Xbox/ZM/maps/mp/zombies/_zm_powerups.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 102 - * Decompile Time: 296 ms - * Timestamp: 10/27/2023 3:06:15 AM + * Decompile Time: 64 ms + * Timestamp: 10/28/2023 12:14:16 AM *******************************************************************/ #include common_scripts/utility; @@ -240,46 +240,51 @@ powerup_hud_monitor() { player = players[playerindex]; /# -IsDefined(player.pers["isBot"]) && player.pers["isBot"] -#/ - if(IsDefined(level.powerup_player_valid)) + if(IsDefined(player.pers["isBot"]) && player.pers["isBot"]) { - if(!([[ level.powerup_player_valid ]](player))) + } + else + { +#/ + if(IsDefined(level.powerup_player_valid)) { - } - else - { - client_field_name = client_fields[client_field_keys[client_field_key_index]].client_field_name; - time_name = client_fields[client_field_keys[client_field_key_index]].time_name; - on_name = client_fields[client_field_keys[client_field_key_index]].on_name; - powerup_timer = undefined; - powerup_on = undefined; - if(client_fields[client_field_keys[client_field_key_index]].solo) + if(!([[ level.powerup_player_valid ]](player))) { - if(IsDefined(player._show_solo_hud) && player._show_solo_hud == 1) - { - powerup_timer = player.zombie_vars[time_name]; - powerup_on = player.zombie_vars[on_name]; - } - } - else if(IsDefined(level.zombie_vars[player.team][time_name])) - { - powerup_timer = level.zombie_vars[player.team][time_name]; - powerup_on = level.zombie_vars[player.team][on_name]; - } - else if(IsDefined(level.zombie_vars[time_name])) - { - powerup_timer = level.zombie_vars[time_name]; - powerup_on = level.zombie_vars[on_name]; - } - - if(IsDefined(powerup_timer) && IsDefined(powerup_on)) - { - player set_clientfield_powerups(client_field_name,powerup_timer,powerup_on,flashing_timers,flashing_values); } else { - player setclientfieldtoplayer(client_field_name,0); + client_field_name = client_fields[client_field_keys[client_field_key_index]].client_field_name; + time_name = client_fields[client_field_keys[client_field_key_index]].time_name; + on_name = client_fields[client_field_keys[client_field_key_index]].on_name; + powerup_timer = undefined; + powerup_on = undefined; + if(client_fields[client_field_keys[client_field_key_index]].solo) + { + if(IsDefined(player._show_solo_hud) && player._show_solo_hud == 1) + { + powerup_timer = player.zombie_vars[time_name]; + powerup_on = player.zombie_vars[on_name]; + } + } + else if(IsDefined(level.zombie_vars[player.team][time_name])) + { + powerup_timer = level.zombie_vars[player.team][time_name]; + powerup_on = level.zombie_vars[player.team][on_name]; + } + else if(IsDefined(level.zombie_vars[time_name])) + { + powerup_timer = level.zombie_vars[time_name]; + powerup_on = level.zombie_vars[on_name]; + } + + if(IsDefined(powerup_timer) && IsDefined(powerup_on)) + { + player set_clientfield_powerups(client_field_name,powerup_timer,powerup_on,flashing_timers,flashing_values); + } + else + { + player setclientfieldtoplayer(client_field_name,0); + } } } } @@ -342,8 +347,10 @@ get_next_powerup() get_valid_powerup() { /# - return level.zombie_powerup_array[level.zombie_powerup_index]; -IsDefined(level.zombie_devgui_power) && level.zombie_devgui_power == 1 + if(IsDefined(level.zombie_devgui_power) && level.zombie_devgui_power == 1) + { + return level.zombie_powerup_array[level.zombie_powerup_index]; + } #/ if(IsDefined(level.zombie_powerup_boss)) { @@ -800,9 +807,11 @@ powerup_setup(powerup_override,powerup_team,powerup_location) self.weapon = maps/mp/zombies/_zm_magicbox::treasure_chest_chooseweightedrandomweapon(players[0]); /# weapon = GetDvar(#"45ED7744"); - self.weapon = weapon; - setdvar("scr_force_weapon",""); -weapon != "" && IsDefined(level.zombie_weapons[weapon]) + if(weapon != "" && IsDefined(level.zombie_weapons[weapon])) + { + self.weapon = weapon; + setdvar("scr_force_weapon",""); + } #/ self.base_weapon = self.weapon; if(!(IsDefined(level.random_weapon_powerups))) @@ -935,7 +944,7 @@ special_drop_setup() wait(1); thread play_sound_2d("sam_nospawn"); self delete(); - Stack-Empty ? Stack-Empty : IsDefined(level._zombiemode_special_drop_setup) + IsDefined(level._zombiemode_special_drop_setup) break; } @@ -1118,7 +1127,8 @@ powerup_grab(powerup_team) level thread start_carpenter(self.origin); players[i] thread powerup_vo("carpenter"); break; -Stack-Empty ? is_classic() : IsDefined(level.use_new_carpenter_func) +IsDefined(level.use_new_carpenter_func) +is_classic() break; case "€GSC\r\n": @@ -2713,13 +2723,24 @@ tesla_powerup_active() print_powerup_drop(powerup,type) { /# - level.powerup_drop_time = 0; - level.powerup_random_count = 0; - level.powerup_score_count = 0; + if(!(IsDefined(level.powerup_drop_time))) + { + level.powerup_drop_time = 0; + level.powerup_random_count = 0; + level.powerup_score_count = 0; + } + time = GetTime() - level.powerup_drop_time * 0.001; level.powerup_drop_time = GetTime(); - level.powerup_random_count++; - level.powerup_score_count++; + if(type == "random") + { + level.powerup_random_count++; + } + else + { + level.powerup_score_count++; + } + println("========== POWER UP DROPPED =========="); println("DROPPED: " + powerup); println("HOW IT DROPPED: " + type); @@ -2728,7 +2749,6 @@ print_powerup_drop(powerup,type) println("Random Powerup Count: " + level.powerup_random_count); println("Random Powerup Count: " + level.powerup_score_count); println("======================================"); -Stack-Empty ? IsDefined(level.powerup_drop_time) : type == "random" #/ } @@ -2764,7 +2784,7 @@ start_carpenter_new(origin) window = boards_near_players[i]; num_chunks_checked = 0; last_repaired_chunk = undefined; - if(1) + while(1) { if(all_chunks_intact(window,window.barrier_chunks)) { @@ -2795,8 +2815,6 @@ start_carpenter_new(origin) { break; } - - continue; } if(IsDefined(window.zbarrier)) diff --git a/BO2/Xbox/ZM/maps/mp/zombies/_zm_score.gsc b/BO2/Xbox/ZM/maps/mp/zombies/_zm_score.gsc index 1572586..d437892 100644 --- a/BO2/Xbox/ZM/maps/mp/zombies/_zm_score.gsc +++ b/BO2/Xbox/ZM/maps/mp/zombies/_zm_score.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 16 - * Decompile Time: 46 ms - * Timestamp: 10/27/2023 3:06:16 AM + * Decompile Time: 5 ms + * Timestamp: 10/28/2023 12:14:17 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/Xbox/ZM/maps/mp/zombies/_zm_spawner.gsc b/BO2/Xbox/ZM/maps/mp/zombies/_zm_spawner.gsc index c013696..b998e1e 100644 --- a/BO2/Xbox/ZM/maps/mp/zombies/_zm_spawner.gsc +++ b/BO2/Xbox/ZM/maps/mp/zombies/_zm_spawner.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 93 - * Decompile Time: 441 ms - * Timestamp: 10/27/2023 3:06:17 AM + * Decompile Time: 58 ms + * Timestamp: 10/28/2023 12:14:17 AM *******************************************************************/ #include common_scripts/utility; @@ -482,7 +482,7 @@ zombie_think() { /# /# - assert(IsDefined(find_flesh_struct_string)); + assert(IsDefined(find_flesh_struct_string)); #/ #/ for(i = 0;i < level.exterior_goals.size;i++) @@ -1695,7 +1695,8 @@ zombie_gib_on_damage() refs[refs.size] = "left_leg"; refs[refs.size] = "no_legs"; break; - Stack-Empty ? self.damagelocation == "none" : type == "MOD_GRENADE" || type == "MOD_GRENADE_SPLASH" || type == "MOD_PROJECTILE" || type == "MOD_PROJECTILE_SPLASH" + type == "MOD_GRENADE" || type == "MOD_GRENADE_SPLASH" || type == "MOD_PROJECTILE" || type == "MOD_PROJECTILE_SPLASH" + self.damagelocation == "none" break; } @@ -2877,8 +2878,10 @@ zombie_pathing_get_breadcrumb(origin,breadcrumbs,bad_crumbs,pick_random) assert(isarray(breadcrumbs)); #/ /# - debug_print("Finding random breadcrumb"); -pick_random + if(pick_random) + { + debug_print("Finding random breadcrumb"); + } #/ for(i = 0;i < breadcrumbs.size;i++) { @@ -3084,9 +3087,12 @@ zombie_eye_glow_stop() zombie_history(msg) { /# - self.zombie_history = []; + if(!IsDefined(self.zombie_history) || 32 <= self.zombie_history.size) + { + self.zombie_history = []; + } + self.zombie_history[self.zombie_history.size] = msg; -!IsDefined(self.zombie_history) || 32 <= self.zombie_history.size #/ } @@ -3126,25 +3132,31 @@ do_zombie_spawn() } /# - player = get_players()[0]; - spots = []; - i = 0; - for(;;) + if(GetDvarInt(#"A8C231AA")) { - player_vec = vectornormalize(AnglesToForward(player.angles)); - player_spawn = vectornormalize(level.zombie_spawn_locations[i].origin - player.origin); - dot = vectordot(player_vec,player_spawn); - spots[spots.size] = level.zombie_spawn_locations[i]; - debugstar(level.zombie_spawn_locations[i].origin,1000,(1,1,1)); - i++; + if(IsDefined(level.zombie_spawn_locations)) + { + player = get_players()[0]; + spots = []; + for(i = 0;i < level.zombie_spawn_locations.size;i++) + { + player_vec = vectornormalize(AnglesToForward(player.angles)); + player_spawn = vectornormalize(level.zombie_spawn_locations[i].origin - player.origin); + dot = vectordot(player_vec,player_spawn); + if(dot > 0.707) + { + spots[spots.size] = level.zombie_spawn_locations[i]; + debugstar(level.zombie_spawn_locations[i].origin,1000,(1,1,1)); + } + } + + if(spots.size <= 0) + { + spots[spots.size] = level.zombie_spawn_locations[0]; + iprintln("no spawner in view"); + } + } } - spots[spots.size] = level.zombie_spawn_locations[0]; - iprintln("no spawner in view"); -spots.size <= 0 -dot > 0.707 -i < level.zombie_spawn_locations.size -IsDefined(level.zombie_spawn_locations) -GetDvarInt(#"A8C231AA") #/ /# assert(spots.size > 0,"No spawn locations found"); @@ -3152,11 +3164,13 @@ GetDvarInt(#"A8C231AA") spot = random(spots); self.spawn_point = spot; /# - debugstar(spot.origin,GetDvarInt(#"BB9101B2"),(0,1,0)); - host_player = gethostplayer(); - distance = distance(spot.origin,host_player.origin); - iprintln("Distance to player: " + distance / 12 + "feet"); -IsDefined(level.toggle_show_spawn_locations) && level.toggle_show_spawn_locations + if(IsDefined(level.toggle_show_spawn_locations) && level.toggle_show_spawn_locations) + { + debugstar(spot.origin,GetDvarInt(#"BB9101B2"),(0,1,0)); + host_player = gethostplayer(); + distance = distance(spot.origin,host_player.origin); + iprintln("Distance to player: " + distance / 12 + "feet"); + } #/ if(IsDefined(spot.target)) { @@ -3226,7 +3240,7 @@ IsDefined(level.toggle_show_spawn_locations) && level.toggle_show_spawn_location self ghost(); self.anchor moveto(spot.origin,0.05); - self.anchor waittill(Stack-Empty ? Stack-Empty : Stack-Empty,"movedone"); + self.anchor waittill("movedone"); target_org = get_desired_origin(); if(IsDefined(target_org)) { diff --git a/BO2/Xbox/ZM/maps/mp/zombies/_zm_stats.gsc b/BO2/Xbox/ZM/maps/mp/zombies/_zm_stats.gsc index 42012ec..5112969 100644 --- a/BO2/Xbox/ZM/maps/mp/zombies/_zm_stats.gsc +++ b/BO2/Xbox/ZM/maps/mp/zombies/_zm_stats.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 45 - * Decompile Time: 197 ms - * Timestamp: 10/27/2023 3:06:18 AM + * Decompile Time: 29 ms + * Timestamp: 10/28/2023 12:14:17 AM *******************************************************************/ #include common_scripts/utility; @@ -1144,7 +1144,10 @@ initializematchstats() adjustrecentstats() { /# -GetDvarInt(#"7AEF62D7") == 1 || GetDvarInt(#"1F8C9394") == 1 + if(GetDvarInt(#"7AEF62D7") == 1 || GetDvarInt(#"1F8C9394") == 1) + { + return; + } #/ initializematchstats(); } diff --git a/BO2/Xbox/ZM/maps/mp/zombies/_zm_timer.gsc b/BO2/Xbox/ZM/maps/mp/zombies/_zm_timer.gsc index 3aae5b1..ae85d9b 100644 --- a/BO2/Xbox/ZM/maps/mp/zombies/_zm_timer.gsc +++ b/BO2/Xbox/ZM/maps/mp/zombies/_zm_timer.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 4 - * Decompile Time: 14 ms - * Timestamp: 10/27/2023 3:06:18 AM + * Decompile Time: 0 ms + * Timestamp: 10/28/2023 12:14:18 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/Xbox/ZM/maps/mp/zombies/_zm_traps.gsc b/BO2/Xbox/ZM/maps/mp/zombies/_zm_traps.gsc index 3adaf65..f53154b 100644 --- a/BO2/Xbox/ZM/maps/mp/zombies/_zm_traps.gsc +++ b/BO2/Xbox/ZM/maps/mp/zombies/_zm_traps.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 29 - * Decompile Time: 210 ms - * Timestamp: 10/27/2023 3:06:19 AM + * Decompile Time: 16 ms + * Timestamp: 10/28/2023 12:14:18 AM *******************************************************************/ #include common_scripts/utility; @@ -255,8 +255,10 @@ trap_use_think(trap) trap._trap_cooling_down = 1; trap trap_set_string(&"ZOMBIE_TRAP_COOLDOWN"); /# - trap._trap_cooldown_time = 5; -GetDvarInt(#"FA81816F") >= 1 + if(GetDvarInt(#"FA81816F") >= 1) + { + trap._trap_cooldown_time = 5; + } #/ wait(trap._trap_cooldown_time); trap._trap_cooling_down = 0; @@ -670,7 +672,7 @@ zombie_trap_death(trap,param) self playsound("zmb_zombie_arc"); self [[ self.fire_damage_func ]](trap); continue; - level notify("trap_kill",self,trap,IsDefined(self.fire_damage_func),(param > 90 && level.burning_zombies.size < 6) ? trap._trap_type == "electric" : randomint(100) > 50,IsDefined(self.animname) && self.animname != "zombie_dog"); + level notify("trap_kill",self,trap,IsDefined(self.fire_damage_func),randomint(100) > 50,trap._trap_type == "electric",param > 90 && level.burning_zombies.size < 6,IsDefined(self.animname) && self.animname != "zombie_dog"); self dodamage(self.health + 666,self.origin,trap); break; diff --git a/BO2/Xbox/ZM/maps/mp/zombies/_zm_turned.gsc b/BO2/Xbox/ZM/maps/mp/zombies/_zm_turned.gsc index d0d4b0c..59fea1b 100644 --- a/BO2/Xbox/ZM/maps/mp/zombies/_zm_turned.gsc +++ b/BO2/Xbox/ZM/maps/mp/zombies/_zm_turned.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 14 - * Decompile Time: 69 ms - * Timestamp: 10/27/2023 3:06:20 AM + * Decompile Time: 6 ms + * Timestamp: 10/28/2023 12:14:18 AM *******************************************************************/ #include common_scripts/utility; diff --git a/BO2/Xbox/ZM/maps/mp/zombies/_zm_utility.gsc b/BO2/Xbox/ZM/maps/mp/zombies/_zm_utility.gsc index a34f939..a7b7420 100644 --- a/BO2/Xbox/ZM/maps/mp/zombies/_zm_utility.gsc +++ b/BO2/Xbox/ZM/maps/mp/zombies/_zm_utility.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 306 - * Decompile Time: 359 ms - * Timestamp: 10/27/2023 3:06:21 AM + * Decompile Time: 112 ms + * Timestamp: 10/28/2023 12:14:19 AM *******************************************************************/ #include common_scripts/utility; @@ -479,7 +479,7 @@ all_chunks_destroyed(barrier,barrier_chunks) else if(IsDefined(barrier_chunks)) { /# - assert(IsDefined(barrier_chunks),"_zm_utility::all_chunks_destroyed - Barrier chunks undefined"); + assert(IsDefined(barrier_chunks),"_zm_utility::all_chunks_destroyed - Barrier chunks undefined"); #/ for(i = 0;i < barrier_chunks.size;i++) { @@ -808,22 +808,27 @@ generated_radius_attract_positions(forward,offset,num_positions,attract_radius) debug_draw_attractor_positions() { /# - for(;;) + while(1) { - wait(0.05); - i = 0; - for(;;) + for(;;) + { + while(!(IsDefined(self.attractor_positions))) + { + wait(0.05); + } + } + + for(i = 0;i < self.attractor_positions.size;i++) { line(self.origin,self.attractor_positions[i][0],(1,0,0),1,1); - i++; } + wait(0.05); - return; + if(!(IsDefined(self))) + { + return; + } } -IsDefined(self) -i < self.attractor_positions.size -IsDefined(self.attractor_positions) -1 #/ } @@ -1669,7 +1674,7 @@ non_destroyed_grate_order(origin,chunks_grate) else if(grate_order3[i].state == "repaired") { /# - iprintlnbold(" pull bar3 "); + iprintlnbold(" pull bar3 "); #/ grate_order4[i] thread show_grate_pull(); return grate_order3[i]; @@ -1677,7 +1682,7 @@ non_destroyed_grate_order(origin,chunks_grate) else if(grate_order4[i].state == "repaired") { /# - iprintlnbold(" pull bar4 "); + iprintlnbold(" pull bar4 "); #/ grate_order5[i] thread show_grate_pull(); return grate_order4[i]; @@ -1685,7 +1690,7 @@ non_destroyed_grate_order(origin,chunks_grate) else if(grate_order5[i].state == "repaired") { /# - iprintlnbold(" pull bar5 "); + iprintlnbold(" pull bar5 "); #/ grate_order6[i] thread show_grate_pull(); return grate_order5[i]; @@ -2507,7 +2512,7 @@ grate_order_destroyed(chunks_repair_grate) else if(grate_repair_order4[i].state == "destroyed") { /# - iprintlnbold(" Fix grate4 "); + iprintlnbold(" Fix grate4 "); #/ grate_repair_order5[i] thread show_grate_repair(); return grate_repair_order4[i]; @@ -2515,7 +2520,7 @@ grate_order_destroyed(chunks_repair_grate) else if(grate_repair_order3[i].state == "destroyed") { /# - iprintlnbold(" Fix grate3 "); + iprintlnbold(" Fix grate3 "); #/ grate_repair_order4[i] thread show_grate_repair(); return grate_repair_order3[i]; @@ -2523,7 +2528,7 @@ grate_order_destroyed(chunks_repair_grate) else if(grate_repair_order2[i].state == "destroyed") { /# - iprintlnbold(" Fix grate2 "); + iprintlnbold(" Fix grate2 "); #/ grate_repair_order3[i] thread show_grate_repair(); return grate_repair_order2[i]; @@ -2531,7 +2536,7 @@ grate_order_destroyed(chunks_repair_grate) else if(grate_repair_order1[i].state == "destroyed") { /# - iprintlnbold(" Fix grate1 "); + iprintlnbold(" Fix grate1 "); #/ grate_repair_order2[i] thread show_grate_repair(); return grate_repair_order1[i]; @@ -2966,14 +2971,16 @@ hudelem_count() /# max = 0; curr_total = 0; - for(;;) + while(1) { - max = level.hudelem_count; + if(level.hudelem_count > max) + { + max = level.hudelem_count; + } + println("HudElems: " + level.hudelem_count + "[Peak: " + max + "]"); wait(0.05); } -level.hudelem_count > max -1 #/ } @@ -2981,19 +2988,15 @@ level.hudelem_count > max debug_round_advancer() { /# - for(;;) + while(1) { zombs = get_round_enemy_array(); - i = 0; - for(;;) + for(i = 0;i < zombs.size;i++) { zombs[i] dodamage(zombs[i].health + 666,(0,0,0)); wait(0.5); - i++; } } -i < zombs.size -1 #/ } @@ -3002,13 +3005,11 @@ print_run_speed(speed) { /# self endon("death"); - for(;;) + while(1) { print3d(64 + VectorScale((0,0,1)),self.origin,speed); wait(0.05); } -(1,1,1) -1 #/ } @@ -3016,15 +3017,18 @@ print_run_speed(speed) draw_line_ent_to_ent(ent1,ent2) { /# - return; - ent1 endon("death",GetDvarInt(#"FA91EA91") != 1); + if(GetDvarInt(#"FA91EA91") != 1) + { + return; + } + + ent1 endon("death"); ent2 endon("death"); - for(;;) + while(1) { line(ent1.origin,ent2.origin); wait(0.05); } -1 #/ } @@ -3032,17 +3036,24 @@ draw_line_ent_to_ent(ent1,ent2) draw_line_ent_to_pos(ent,pos,end_on) { /# - return; - ent endon("death",GetDvarInt(#"FA91EA91") != 1); + if(GetDvarInt(#"FA91EA91") != 1) + { + return; + } + + ent endon("death"); ent notify("stop_draw_line_ent_to_pos"); ent endon("stop_draw_line_ent_to_pos"); - ent endon(end_on,IsDefined(end_on)); - for(;;) + if(IsDefined(end_on)) + { + ent endon(end_on); + } + + while(1) { line(ent.origin,pos); wait(0.05); } -1 #/ } @@ -3050,8 +3061,10 @@ draw_line_ent_to_pos(ent,pos,end_on) debug_print(msg) { /# - println("######### ZOMBIE: " + msg); -GetDvarInt(#"FA91EA91") > 0 + if(GetDvarInt(#"FA91EA91") > 0) + { + println("######### ZOMBIE: " + msg); + } #/ } @@ -3063,11 +3076,14 @@ debug_blocker(pos,rad,height) self endon("stop_debug_blocker"); for(;;) { - return; + if(GetDvarInt(#"FA91EA91") != 1) + { + return; + } + wait(0.05); drawcylinder(pos,rad,height); } -GetDvarInt(#"FA91EA91") != 1 #/ } @@ -3077,17 +3093,14 @@ drawcylinder(pos,rad,height) /# currad = rad; curheight = height; - r = 0; - for(;;) + for(r = 0;r < 20;r++) { theta = r / 20 * 360; theta2 = r + 1 / 20 * 360; line(pos + (cos(theta) * currad,sin(theta) * currad,0),pos + (cos(theta2) * currad,sin(theta2) * currad,0)); line(pos + (cos(theta) * currad,sin(theta) * currad,curheight),pos + (cos(theta2) * currad,sin(theta2) * currad,curheight)); line(pos + (cos(theta) * currad,sin(theta) * currad,0),pos + (cos(theta) * currad,sin(theta) * currad,curheight)); - r++; } -r < 20 #/ } @@ -3096,16 +3109,22 @@ print3d_at_pos(msg,pos,thread_endon,offset) { /# self endon("death"); - self notify(thread_endon,IsDefined(thread_endon)); - self endon(thread_endon); - offset = (0,0,0); - for(;;) + if(IsDefined(thread_endon)) + { + self notify(thread_endon); + self endon(thread_endon); + } + + if(!(IsDefined(offset))) + { + offset = (0,0,0); + } + + while(1) { print3d(self.origin + offset,msg); wait(0.05); } -1 -IsDefined(offset) #/ } @@ -3116,20 +3135,21 @@ debug_breadcrumbs() self endon("disconnect"); self notify("stop_debug_breadcrumbs"); self endon("stop_debug_breadcrumbs"); - for(;;) + while(1) { - wait(1); - i = 0; - for(;;) + if(GetDvarInt(#"FA91EA91") != 1) + { + wait(1); + continue; + } + + for(i = 0;i < self.zombie_breadcrumbs.size;i++) { drawcylinder(self.zombie_breadcrumbs[i],5,5); - i++; } + wait(0.05); } -i < self.zombie_breadcrumbs.size -GetDvarInt(#"FA91EA91") != 1 -1 #/ } @@ -3139,24 +3159,32 @@ debug_attack_spots_taken() /# self notify("stop_debug_breadcrumbs"); self endon("stop_debug_breadcrumbs"); - for(;;) + while(1) { - wait(1); + if(GetDvarInt(#"FA91EA91") != 2) + { + wait(1); + continue; + } + wait(0.05); count = 0; - i = 0; - for(;;) + for(i = 0;i < self.attack_spots_taken.size;i++) { - count++; - circle(self.attack_spots[i],12,(1,0,0),0,1,1); - circle(self.attack_spots[i],12,(0,1,0),0,1,1); - i++; + if(self.attack_spots_taken[i]) + { + count++; + circle(self.attack_spots[i],12,(1,0,0),0,1,1); + } + else + { + circle(self.attack_spots[i],12,(0,1,0),0,1,1); + } } + msg = "" + count + " / " + self.attack_spots_taken.size; print3d(self.origin,msg); } -(GetDvarInt(#"FA91EA91") != 2) ? i < self.attack_spots_taken.size : self.attack_spots_taken[i] -1 #/ } @@ -3167,15 +3195,12 @@ float_print3d(msg,time) self endon("death"); time = GetTime() + time * 1000; offset = VectorScale((0,0,1)); - for(;;) + while(GetTime() < time) { offset = 2 + VectorScale((0,0,1)); print3d(self.origin + offset,msg,(1,1,1)); wait(0.05); } -offset -GetTime() < time -72 #/ } @@ -3245,9 +3270,9 @@ magic_bullet_shield() { /# assertmsg("magic_bullet_shield does not support entity of classname \'" + self.classname + "\'."); -#/ } } +#/ } //Function Number: 119 @@ -3424,12 +3449,11 @@ print3d_ent(text,color,scale,offset,end_msg,overwrite) self._debug_print3d_msg = text; /# - for(;;) + while(1) { print3d(self.origin + offset,self._debug_print3d_msg,color,scale); wait(0.05); } -1 #/ } @@ -3674,8 +3698,11 @@ shock_onexplosion(damage,shocktype,shocklight) increment_is_drinking() { /# - self.is_drinking++; -IsDefined(level.devgui_dpad_watch) && level.devgui_dpad_watch + if(IsDefined(level.devgui_dpad_watch) && level.devgui_dpad_watch) + { + self.is_drinking++; + return; + } #/ if(!(IsDefined(self.is_drinking))) { @@ -3708,9 +3735,8 @@ decrement_is_drinking() { /# assertmsg("making is_drinking less than 0"); -#/ } - +#/ if(self.is_drinking == 0) { self enableoffhandweapons(); @@ -4803,9 +4829,8 @@ ent_flag_init(message,val) { /# assert(!IsDefined(self.ent_flag[message]),"Attempt to reinitialize existing flag \'" + message + "\' on entity."); -#/ } - +#/ if(IsDefined(val) && val) { self.ent_flag[message] = 1; @@ -4818,8 +4843,8 @@ ent_flag_init(message,val) self.ent_flag[message] = 0; /# self.ent_flags_lock[message] = 0; -#/ } +#/ } //Function Number: 238 @@ -5031,7 +5056,7 @@ track_players_intersection_tracker() else { /# - iprintlnbold("PLAYERS ARE TOO FRIENDLY!!!!!"); + iprintlnbold("PLAYERS ARE TOO FRIENDLY!!!!!"); #/ players[i] dodamage(1000,(0,0,0)); players[j] dodamage(1000,(0,0,0)); @@ -5406,11 +5431,14 @@ general_vox_timer(timer,type) level endon("end_game"); /# println("ZM >> VOX TIMER STARTED FOR " + type + " ( " + timer + ")"); + for(;;) + { #/ - while(timer > 0) - { - wait(1); - timer--; + if(timer > 0) + { + wait(1); + timer--; + } } level.votimer[type] = timer; diff --git a/BO2/Xbox/ZM/maps/mp/zombies/_zm_weapons.gsc b/BO2/Xbox/ZM/maps/mp/zombies/_zm_weapons.gsc index 58df56e..3b94caf 100644 --- a/BO2/Xbox/ZM/maps/mp/zombies/_zm_weapons.gsc +++ b/BO2/Xbox/ZM/maps/mp/zombies/_zm_weapons.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 108 - * Decompile Time: 270 ms - * Timestamp: 10/27/2023 3:06:22 AM + * Decompile Time: 58 ms + * Timestamp: 10/28/2023 12:14:19 AM *******************************************************************/ #include common_scripts/utility; @@ -645,8 +645,10 @@ add_zombie_weapon(weapon_name,upgrade_name,hint,cost,weaponvo,weaponvoresp,ammo_ } /# - [[ level.devgui_add_weapon ]](weapon_name,upgrade_name,hint,cost,weaponvo,weaponvoresp,ammo_cost); -IsDefined(level.devgui_add_weapon) + if(IsDefined(level.devgui_add_weapon)) + { + [[ level.devgui_add_weapon ]](weapon_name,upgrade_name,hint,cost,weaponvo,weaponvoresp,ammo_cost); + } #/ } @@ -1788,9 +1790,8 @@ get_weapon_display_name(weapon_name) weapon_display = &"MPUI_NONE"; /# weapon_display = "missing weapon name " + weapon_name; -#/ } - +#/ return weapon_display; } @@ -2674,8 +2675,10 @@ get_pack_a_punch_weapon_options(weapon) } /# - reticle_index = GetDvarInt(#"471F9AB9"); -GetDvarInt(#"471F9AB9") >= 0 + if(GetDvarInt(#"471F9AB9") >= 0) + { + reticle_index = GetDvarInt(#"471F9AB9"); + } #/ scary_eyes_reticle_index = 8; purple_reticle_color_index = 3; @@ -2943,9 +2946,11 @@ get_player_index(player) assert(IsDefined(player.characterindex)); #/ /# - new_vo_index = GetDvarInt(#"2222BA21"); - return new_vo_index; -player.entity_num == 0 && GetDvar(#"2222BA21") != "" + if(player.entity_num == 0 && GetDvar(#"2222BA21") != "") + { + new_vo_index = GetDvarInt(#"2222BA21"); + return new_vo_index; + } #/ return player.characterindex; } diff --git a/BO2/Xbox/ZM/maps/mp/zombies/_zm_zonemgr.gsc b/BO2/Xbox/ZM/maps/mp/zombies/_zm_zonemgr.gsc index de8fe55..e72acb4 100644 --- a/BO2/Xbox/ZM/maps/mp/zombies/_zm_zonemgr.gsc +++ b/BO2/Xbox/ZM/maps/mp/zombies/_zm_zonemgr.gsc @@ -4,8 +4,8 @@ * Game: Call of Duty: Black Ops 2 * Platform: Console * Function Count: 29 - * Decompile Time: 82 ms - * Timestamp: 10/27/2023 3:06:23 AM + * Decompile Time: 22 ms + * Timestamp: 10/28/2023 12:14:20 AM *******************************************************************/ #include common_scripts/utility; @@ -739,103 +739,106 @@ manage_zones(initial_zone) flag_wait("begin_spawning"); /# level thread _debug_zones(); + for(;;) + { #/ - while(GetDvarInt(#"10873CCA") == 0 || GetDvarInt(#"762F1309") != 0) - { - for(z = 0;z < zkeys.size;z++) + if(GetDvarInt(#"10873CCA") == 0 || GetDvarInt(#"762F1309") != 0) { - level.newzones[zkeys[z]].is_active = 0; - level.newzones[zkeys[z]].is_occupied = 0; - } - - a_zone_is_active = 0; - a_zone_is_spawning_allowed = 0; - level.zone_scanning_active = 1; - for(z = 0;z < zkeys.size;z++) - { - zone = level.zones[zkeys[z]]; - newzone = level.newzones[zkeys[z]]; - if(!(zone.is_enabled)) + for(z = 0;z < zkeys.size;z++) { + level.newzones[zkeys[z]].is_active = 0; + level.newzones[zkeys[z]].is_occupied = 0; } - else + + a_zone_is_active = 0; + a_zone_is_spawning_allowed = 0; + level.zone_scanning_active = 1; + for(z = 0;z < zkeys.size;z++) { - if(IsDefined(level.zone_occupied_func)) + zone = level.zones[zkeys[z]]; + newzone = level.newzones[zkeys[z]]; + if(!(zone.is_enabled)) { - newzone.is_occupied = [[ level.zone_occupied_func ]](zkeys[z]); } else { - newzone.is_occupied = player_in_zone(zkeys[z]); - } - - if(newzone.is_occupied) - { - newzone.is_active = 1; - a_zone_is_active = 1; - if(zone.is_spawning_allowed) + if(IsDefined(level.zone_occupied_func)) { - a_zone_is_spawning_allowed = 1; + newzone.is_occupied = [[ level.zone_occupied_func ]](zkeys[z]); + } + else + { + newzone.is_occupied = player_in_zone(zkeys[z]); } - if(!IsDefined(oldzone) || oldzone != newzone) + if(newzone.is_occupied) { - level notify("newzoneActive",zkeys[z]); - oldzone = newzone; - } - - azkeys = getarraykeys(zone.adjacent_zones); - for(az = 0;az < zone.adjacent_zones.size;az++) - { - if(zone.adjacent_zones[azkeys[az]].is_connected && level.zones[azkeys[az]].is_enabled) + newzone.is_active = 1; + a_zone_is_active = 1; + if(zone.is_spawning_allowed) { - level.newzones[azkeys[az]].is_active = 1; - if(level.zones[azkeys[az]].is_spawning_allowed) + a_zone_is_spawning_allowed = 1; + } + + if(!IsDefined(oldzone) || oldzone != newzone) + { + level notify("newzoneActive",zkeys[z]); + oldzone = newzone; + } + + azkeys = getarraykeys(zone.adjacent_zones); + for(az = 0;az < zone.adjacent_zones.size;az++) + { + if(zone.adjacent_zones[azkeys[az]].is_connected && level.zones[azkeys[az]].is_enabled) { - a_zone_is_spawning_allowed = 1; + level.newzones[azkeys[az]].is_active = 1; + if(level.zones[azkeys[az]].is_spawning_allowed) + { + a_zone_is_spawning_allowed = 1; + } } } } - } - zone_choke++; - if(zone_choke >= 3) + zone_choke++; + if(zone_choke >= 3) + { + zone_choke = 0; + wait(0.05); + } + } + } + + level.zone_scanning_active = 0; + for(z = 0;z < zkeys.size;z++) + { + level.zones[zkeys[z]].is_active = level.newzones[zkeys[z]].is_active; + level.zones[zkeys[z]].is_occupied = level.newzones[zkeys[z]].is_occupied; + } + + if(!a_zone_is_active || !a_zone_is_spawning_allowed) + { + if(isarray(initial_zone)) { - zone_choke = 0; - wait(0.05); + level.zones[initial_zone[0]].is_active = 1; + level.zones[initial_zone[0]].is_occupied = 1; + level.zones[initial_zone[0]].is_spawning_allowed = 1; + } + else + { + level.zones[initial_zone].is_active = 1; + level.zones[initial_zone].is_occupied = 1; + level.zones[initial_zone].is_spawning_allowed = 1; } } - } - level.zone_scanning_active = 0; - for(z = 0;z < zkeys.size;z++) - { - level.zones[zkeys[z]].is_active = level.newzones[zkeys[z]].is_active; - level.zones[zkeys[z]].is_occupied = level.newzones[zkeys[z]].is_occupied; - } - - if(!a_zone_is_active || !a_zone_is_spawning_allowed) - { - if(isarray(initial_zone)) - { - level.zones[initial_zone[0]].is_active = 1; - level.zones[initial_zone[0]].is_occupied = 1; - level.zones[initial_zone[0]].is_spawning_allowed = 1; - } - else - { - level.zones[initial_zone].is_active = 1; - level.zones[initial_zone].is_occupied = 1; - level.zones[initial_zone].is_spawning_allowed = 1; - } - } - - [[ level.create_spawner_list_func ]](zkeys); + [[ level.create_spawner_list_func ]](zkeys); /# - debug_show_spawn_locations(); + debug_show_spawn_locations(); #/ - level.active_zone_names = maps/mp/zombies/_zm_zonemgr::get_active_zone_names(); - wait(1); + level.active_zone_names = maps/mp/zombies/_zm_zonemgr::get_active_zone_names(); + wait(1); + } } } @@ -843,22 +846,21 @@ manage_zones(initial_zone) debug_show_spawn_locations() { /# - host_player = gethostplayer(); - _a980 = level.zombie_spawn_locations; - _k980 = FirstArrayKey(_a980); - for(;;) + if(IsDefined(level.toggle_show_spawn_locations) && level.toggle_show_spawn_locations) { - location = _a980[_k980]; - distance = distance(location.origin,host_player.origin); - color = (0,0,1); - color = (1,0,0); - debugstar(location.origin,GetDvarInt(#"BB9101B2"),color); - _k980 = NextArrayKey(_a980); + host_player = gethostplayer(); + foreach(location in level.zombie_spawn_locations) + { + distance = distance(location.origin,host_player.origin); + color = (0,0,1); + if(distance > GetDvarInt(#"85E6B1CE") * 12) + { + color = (1,0,0); + } + + debugstar(location.origin,GetDvarInt(#"BB9101B2"),color); + } } -_k980 -distance > GetDvarInt(#"85E6B1CE") * 12 -IsDefined(_k980) -IsDefined(level.toggle_show_spawn_locations) && level.toggle_show_spawn_locations #/ } @@ -913,78 +915,81 @@ old_manage_zones(initial_zone) flag_wait("begin_spawning"); /# level thread _debug_zones(); + for(;;) + { #/ - while(GetDvarInt(#"10873CCA") == 0 || GetDvarInt(#"762F1309") != 0) - { - for(z = 0;z < zkeys.size;z++) + if(GetDvarInt(#"10873CCA") == 0 || GetDvarInt(#"762F1309") != 0) { - level.zones[zkeys[z]].is_active = 0; - level.zones[zkeys[z]].is_occupied = 0; - } - - a_zone_is_active = 0; - a_zone_is_spawning_allowed = 0; - for(z = 0;z < zkeys.size;z++) - { - zone = level.zones[zkeys[z]]; - if(!(zone.is_enabled)) + for(z = 0;z < zkeys.size;z++) { + level.zones[zkeys[z]].is_active = 0; + level.zones[zkeys[z]].is_occupied = 0; } - else + + a_zone_is_active = 0; + a_zone_is_spawning_allowed = 0; + for(z = 0;z < zkeys.size;z++) { - if(IsDefined(level.zone_occupied_func)) + zone = level.zones[zkeys[z]]; + if(!(zone.is_enabled)) { - zone.is_occupied = [[ level.zone_occupied_func ]](zkeys[z]); } else { - zone.is_occupied = player_in_zone(zkeys[z]); - } - - if(zone.is_occupied) - { - zone.is_active = 1; - a_zone_is_active = 1; - if(zone.is_spawning_allowed) + if(IsDefined(level.zone_occupied_func)) { - a_zone_is_spawning_allowed = 1; + zone.is_occupied = [[ level.zone_occupied_func ]](zkeys[z]); + } + else + { + zone.is_occupied = player_in_zone(zkeys[z]); } - azkeys = getarraykeys(zone.adjacent_zones); - for(az = 0;az < zone.adjacent_zones.size;az++) + if(zone.is_occupied) { - if(zone.adjacent_zones[azkeys[az]].is_connected && level.zones[azkeys[az]].is_enabled) + zone.is_active = 1; + a_zone_is_active = 1; + if(zone.is_spawning_allowed) { - level.zones[azkeys[az]].is_active = 1; - if(level.zones[azkeys[az]].is_spawning_allowed) + a_zone_is_spawning_allowed = 1; + } + + azkeys = getarraykeys(zone.adjacent_zones); + for(az = 0;az < zone.adjacent_zones.size;az++) + { + if(zone.adjacent_zones[azkeys[az]].is_connected && level.zones[azkeys[az]].is_enabled) { - a_zone_is_spawning_allowed = 1; + level.zones[azkeys[az]].is_active = 1; + if(level.zones[azkeys[az]].is_spawning_allowed) + { + a_zone_is_spawning_allowed = 1; + } } } } } } - } - if(!a_zone_is_active || !a_zone_is_spawning_allowed) - { - if(isarray(initial_zone)) + if(!a_zone_is_active || !a_zone_is_spawning_allowed) { - level.zones[initial_zone[0]].is_active = 1; - level.zones[initial_zone[0]].is_occupied = 1; - level.zones[initial_zone[0]].is_spawning_allowed = 1; + if(isarray(initial_zone)) + { + level.zones[initial_zone[0]].is_active = 1; + level.zones[initial_zone[0]].is_occupied = 1; + level.zones[initial_zone[0]].is_spawning_allowed = 1; + } + else + { + level.zones[initial_zone].is_active = 1; + level.zones[initial_zone].is_occupied = 1; + level.zones[initial_zone].is_spawning_allowed = 1; + } } - else - { - level.zones[initial_zone].is_active = 1; - level.zones[initial_zone].is_occupied = 1; - level.zones[initial_zone].is_spawning_allowed = 1; - } - } - [[ level.create_spawner_list_func ]](zkeys); - level.active_zone_names = maps/mp/zombies/_zm_zonemgr::get_active_zone_names(); - wait(1); + [[ level.create_spawner_list_func ]](zkeys); + level.active_zone_names = maps/mp/zombies/_zm_zonemgr::get_active_zone_names(); + wait(1); + } } }