.GSC Scripts for Zombies Only

Topic created · 6 Posts · 324 Views
  • I'm having a problem with GSC scripts. I have created and been simply running scripts through the Plutonium\storage\t5\scripts folder. The scripts work fine and everything, it is just the problem is I am trying to figure out how I can get certain scripts to only load for zombies. I know that for T6, you create a sub-folder called "zm" and put them in there. However, when I do that same process for T5, the scripts are never executed. The main reason why this is a problem is because when the game loads the front end (main menu), by my understanding, when the script attempts to compile, it can't read a function such as "give_perk" from "maps/_zombiemode_perks" because the front end fast file does not have that script, resulting in a crash. I have tried putting the scripts into "sp/zom", but with no success. Any help with this would be greatly appreciated!

    Here is one of the scripts that I have created, which puts my issue onto display. It simply gives a player juggernog for free when they spawn. The script works fine if you put it into the scripts folder AFTER loading the game, and then boot into a zombies map. But upon going to the main menu, the game will crash, because it can't find the script "maps/_zombiemode_perks":

    #include common_scripts\utility;
    #include maps\_utility;
    
    init()
    {
    	if (GetDvarInt("zombiemode") == 0 || !IsSubStr(level.script, "zombie_") || isdefined(level.zombietron_mode))
    	{
    		return;
    	}
    
    	flag_init("initial_blackscreen_passed");
    
    	level thread on_player_connect();
    	level thread on_fade_in_complete();
    }
    
    on_player_connect()
    {
    	for (;;)
    	{
    		level waittill("connecting", player);
    		player thread on_player_spawned();
    	}
    }
    
    on_player_spawned()
    {
    	self endon("disconnect");
    	level endon("end_game");
    
    	for (;;)
    	{
    		self waittill("spawned_player");
    		self thread give_free_juggernog();
    	}
    }
    
    give_free_juggernog()
    {
    	self notify("end_give_free_juggernog");
    	self endon("end_give_free_juggernog");
    	self endon("death");
    	self endon("disconnect");
    	self endon("player_downed");
    	level endon("end_game");
    
    	flag_wait("initial_blackscreen_passed");
    
    	if (is_juggernog_active() && !self HasPerk("specialty_armorvest"))
    	{
    		self maps\_zombiemode_perks::give_perk("specialty_armorvest", false);
    	}
    }
    
    on_fade_in_complete()
    {
    	level endon("end_game");
    
    	level waittill("fade_in_complete");
    
    	flag_set("initial_blackscreen_passed");
    }
    
    is_juggernog_active()
    {
    	vending_triggers = GetEntArray("zombie_vending", "targetname");
    
    	for (i = 0; i < vending_triggers.size; i++)
    	{
    		perk = vending_triggers[i].script_noteworthy;
    
    		if (perk == "specialty_armorvest")
    		{
    			return true;
    		}
    	}
    
    	return false;
    }
    
    
  • there should be a scripts/sp/zom folder, and you can put your zombie only scripts in there

  • @FragsAreUs As I said in my post, I have already tried that, and the scripts are never executed unfortunately. The only one that gets executed is the one in there, called "zm_spawn_fix.gsc", which I believe Plutonium adds automatically.

  • For me sp/zom folder scripts only load on server. For now best option for me has been file replace with maps folder.

  • @Gremulock change your init to main and they should load

  • @dontknowletsplay @FragsAreUs Thanks for the help guys, I appreciate it!

Log in to reply