[Support] Pre-Patch Sliquifier Problem

Topic created · 5 Posts · 96 Views
  • Looking to fix the sliquifier in the folder zm_highrise_patch/maps/mp/zombies/_zm_weap_slipgun.gsc. The init() folder in the file looks like this.

    init()
    {
    level thread onPlayerConnect();
    if ( !maps/mp/zombies/_zm_weapons::is_weapon_included( "slipgun_zm" ) )
    {
    return;
    }
    precachemodel( "t5_weapon_crossbow_bolt" );
    precacheitem( "slip_bolt_zm" );
    precacheitem( "slip_bolt_upgraded_zm" );
    if ( is_true( level.slipgun_as_equipment ) )
    {
    maps/mp/zombies/_zm_equipment::register_equipment( "slipgun_zm", &"ZM_HIGHRISE_EQUIP_SLIPGUN_PICKUP_HINT_STRING", &"ZM_HIGHRISE_EQUIP_SLIPGUN_HOWTO", "jetgun_zm_icon", "slipgun", ::slipgun_activation_watcher_thread, ::transferslipgun, ::dropslipgun, ::pickupslipgun );
    maps/mp/zombies/_zm_equipment::enemies_ignore_equipment( "slipgun_zm" );
    maps/mp/gametypes_zm/_weaponobjects::createretrievablehint( "slipgun", &"ZM_HIGHRISE_EQUIP_SLIPGUN_PICKUP_HINT_STRING" );
    }
    set_zombie_var_once( "slipgun_reslip_max_spots", 8 );
    set_zombie_var_once( "slipgun_reslip_rate", 6 );
    set_zombie_var_once( "slipgun_max_kill_chain_depth", 16 );
    set_zombie_var_once( "slipgun_max_kill_round", 100);
    set_zombie_var_once( "slipgun_chain_radius", 120 );
    set_zombie_var_once( "slipgun_chain_wait_min", 0,75, 1 );
    set_zombie_var_once( "slipgun_chain_wait_max", 1,5, 1 );
    level.slippery_spot_count = 0;
    level.sliquifier_distance_checks = 0;
    maps/mp/zombies/_zm_spawner::register_zombie_damage_callback( ::slipgun_zombie_damage_response );
    maps/mp/zombies/_zm_spawner::register_zombie_death_animscript_callback( ::slipgun_zombie_death_response );
    level._effect[ "slipgun_explode" ] = loadfx( "weapon/liquifier/fx_liquifier_goo_explo" );
    level._effect[ "slipgun_splatter" ] = loadfx( "maps/zombie/fx_zmb_goo_splat" );
    level._effect[ "slipgun_simmer" ] = loadfx( "weapon/liquifier/fx_liquifier_goo_sizzle" );
    level._effect[ "slipgun_viewmodel_eject" ] = loadfx( "weapon/liquifier/fx_liquifier_clip_eject" );
    level._effect[ "slipgun_viewmodel_reload" ] = loadfx( "weapon/liquifier/fx_liquifier_reload_steam" );
    onplayerconnect_callback( ::slipgun_player_connect );
    thread wait_init_damage();
    }

    What I'm trying to do is change the set_zombie_var_once() values in the init() function. I've included the necessary files needed to be able to call set_zombie_var_once() in my clientids file just fine, and it still does nothing. Then there's the problem of keeping the chain reaction going after switching weapons, which I don't have any clue where to look for that. I'm kinda a noob at gsc, and reading the code makes absolutely no sense to me.

  • Can you show what you tried?
    And instead of calling set_zombie_var_once(), you can just call set_zombie_var() found in _zm_utility.gsc with the same arguments.

    And about changing how the gun works, you'll just need to look at the related gsc(s) and find the thing you want to change.
    If you're very lucky you can just change the value of some global variable from your external script.
    But more than likely you'll need to change and recompile the whole gsc file(s).

  • @PlzReviveMe I've tinkered with the sliquifier stats before its fairly simple to do. I don't know what the prepatch sliquifier stats were but this is how you would change the zombie_vars.

    level.zombie_vars[ "slipgun_reslip_max_spots" ] = 8;
    level.zombie_vars[ "slipgun_reslip_rate" ] = 6;
    level.zombie_vars[ "slipgun_max_kill_chain_depth" ] = 16;
    level.zombie_vars[ "slipgun_max_kill_round" ] = 100;
    level.zombie_vars[ "slipgun_chain_radius" ] = 120;
    level.zombie_vars[ "slipgun_chain_wait_min" ] = 0.75;
    level.zombie_vars[ "slipgun_chain_wait_max" ] = 1.5;
    

    Put these values in your init and change them to whatever values you want.

  • @JezuzLizard What files do I need to include to run it properly?

  • @PlzReviveMe If the vars don't work already try using including maps\mp\zombies_zm_utility.

    Heres a simple script I wrote that you can modify to adjust the sliq:

    #include maps\mp\_utility;
    #include common_scripts\utility;
    #include maps\mp\zombies\_zm_utility;
    
    init()
    {
            level thread onPlayerConnect();
            level.zombie_vars[ "slipgun_reslip_max_spots" ] = 8;
    	level.zombie_vars[ "slipgun_reslip_rate" ] = 6;
    	level.zombie_vars[ "slipgun_max_kill_chain_depth" ] = 16;
    	level.zombie_vars[ "slipgun_max_kill_round" ] = 100;
    	level.zombie_vars[ "slipgun_chain_radius" ] = 120;
    	level.zombie_vars[ "slipgun_chain_wait_min" ] = 0.75;
    	level.zombie_vars[ "slipgun_chain_wait_max" ] = 1.5;
    }
    
    onPlayerConnect()
    {
        for(;;)
        {
            level waittill("connected", player);
            player thread onPlayerSpawned();
        }
    }
    
    onPlayerSpawned()
    {
        self endon("disconnect");
        level endon("game_ended");
        for(;;)
        {
            self waittill("spawned_player");
    	self giveWeapon( "slipgun_zm" );
    	// Will appear each time when the player spawn, that's just an exemple.
    	self iprintln("Black Ops 2 - GSC Studio | Project : ^2NewProject"); 
        }
    }
    
Log in to reply