bo2 zm GSC dump
BO2 Modding Releases & Resources
4
Posts
1
Posters
541
Views
1
Watching
-
been bored of vanilla and these have helped that.
https://www.mediafire.com/folder/cf4y0bq5ms9u2/gsc+dump -
if anyone has any other ones they know of link them. keen to try some
-
there some script in that dump that I did see while ago, I just edited them and tweaked a couple of them
-
i’ve fixed the "player perk buff and graphics" — i merged the two. also, if anyone can figure out why on die rise with the who's who perk, when dying in who's who and being revived, some of the bonus perks don’t apply — but they do when going down and being revived with quick revive.
#include maps\mp\zombies\_zm_utility; #include maps\mp\_utility; #include common_scripts\utility; #include maps\mp\zombies\_zm_perks; init() { level thread on_player_connect(); } on_player_connect() { level endon("end_game"); while (true) { level waittill("connected", player); player._retain_perks = 0; player._jug_hp_set = false; player thread reconnect_perk_manager(); // ✅ Core system to catch all spawns } } reconnect_perk_manager() { self endon("disconnect"); while (true) { self waittill("spawned_player"); // Always re-thread logic (covers Who’s Who revive, normal revive, Quick Revive) self thread on_player_spawned(); self thread watch_for_respawn(); wait_network_frame(); if (!isDefined(self.whoswho)) { self thread sq_give_player_all_perks(); } else { self thread wait_for_whoswho_revive_then_restore(); } } } on_player_spawned() { self endon("disconnect"); self notify("sq_clean_threads"); // Gameplay Tweaks SetDvar("player_clipSizeMultiplier", "2"); SetDvar("perk_weapRateMultiplier", "0.65"); SetDvar("perk_weapSpreadMultiplier", "0.25"); SetDvar("player_backSpeedScale", "1"); SetDvar("player_strafeSpeedScale", "1"); SetDvar("player_useMovementRestrict", "0"); // Visual Clarity self setClientDvar("r_dof_enable", 0); self setClientDvar("r_lodBiasRigid", -1000); self setClientDvar("r_lodBiasSkinned", -1000); self setClientDvar("r_lodScaleRigid", 1); self setClientDvar("r_lodScaleSkinned", 1); self setClientDvar("sm_sunquality", 2); } watch_for_respawn() { self endon("disconnect"); while (true) { self waittill_either("spawned_player", "player_revived"); wait_network_frame(); if (!isDefined(self.whoswho)) { self thread sq_give_player_all_perks(); wait 0.5; self thread apply_bonus_perks(); if (self hasperk("specialty_armorvest")) { self setmaxhealth(level.zombie_vars["zombie_perk_juggernaut_health"]); self._jug_hp_set = true; } } } } wait_for_whoswho_revive_then_restore() { self endon("disconnect"); while (isDefined(self.whoswho) && self.whoswho) wait 0.1; wait 0.5; self thread sq_give_player_all_perks(); self thread apply_bonus_perks(); if (self hasperk("specialty_armorvest")) { self setmaxhealth(level.zombie_vars["zombie_perk_juggernaut_health"]); self._jug_hp_set = true; } } sq_give_player_all_perks() { if (!isdefined(level.sq_perks_ready)) { flag_wait("initial_blackscreen_passed"); flag_wait("initial_players_connected"); level.sq_perks_ready = true; } while (self.afterlife && IsDefined(self.afterlife)) wait 0.05; if (!isdefined(level._all_perk_list)) { level._all_perk_list = []; if (level.script != "zm_tomb") { machines = getentarray("zombie_vending", "targetname"); for (i = 0; i < machines.size; i++) { if (machines[i].script_noteworthy == "specialty_weapupgrade") continue; level._all_perk_list[level._all_perk_list.size] = machines[i].script_noteworthy; } } else { level._all_perk_list = level._random_perk_machine_perk_list; } } foreach (perk in level._all_perk_list) { if (IsDefined(self.perk_purchased) && self.perk_purchased == perk) continue; if (self hasperk(perk) || self has_perk_paused(perk)) continue; self give_perk(perk, 0); self notify("perk_acquired", perk); wait 0.05; } self thread apply_bonus_perks(); if ((self hasperk("specialty_armorvest")) && (!isDefined(self._jug_hp_set) || !self._jug_hp_set)) { self setmaxhealth(level.zombie_vars["zombie_perk_juggernaut_health"]); self._jug_hp_set = true; } } apply_bonus_perks() { self notify("stop_bonus_perks"); self endon("stop_bonus_perks"); bonus_perks = array( "specialty_flakjacket", "specialty_unlimitedsprint", "specialty_fasttoss", "specialty_fastweaponswitch", "specialty_fastladderclimb", "specialty_fastmantle", "specialty_stalker", "specialty_sprintrecovery", "specialty_deadshot", "specialty_fallheight" ); foreach (perk in bonus_perks) { attempts = 0; while (!(self hasperk(perk)) && attempts < 5) { self give_perk(perk, 0); self notify("perk_acquired", perk); wait 0.05; attempts++; } } }