[Release] [Source] One Room Die Rise (Buyable Ending)

Topic created ยท 6 Posts ยท 351 Views
  • This post is deleted!
  • @mikzy If your still interested in setting up spawnpoints manually I have a method you can use.

    Download the _zm_gametype.gsc in my github: https://github.com/JezuzLizard/Recompilable-gscs-for-BO2-zombies-and-multiplayer/tree/master/patch_zm/maps/mp/gametypes_zm

    Next look for the functions onspawnplayer() and get_player_spawns_for_gametype() once you've found them look for the lines involving spawnpoints: spawnpoints[ spawnpoints.size ] = structs[ i ]; in onspawnplayer() and player_spawns[ player_spawns.size ] = structs[ i ]; in get_player_spawns_for_gametype()

    Now what you need to do is set spawnpoints[ spawnpoints.size ] = yourCustomArrayOfSpawnpoints for the initial spawn and player_spawns[ player_spawns.size ] = yourCustomArrayOfRespawnpoints and next populate yourCustomArrayOfSpawnpoints and yourCustomArrayOfRespawnpoints with your own spawnpoints.

    To do that you need to follow this example:

            yourCustomArrayOfSpawnpoints = [];
    	yourCustomArrayOfSpawnpoints [ 0 ] = spawnstruct();
    	yourCustomArrayOfSpawnpoints [ 0 ].origin = ( -11196, -837, 192 );
    	yourCustomArrayOfSpawnpoints [ 0 ].angles = ( 0, -94, 0 );
    	yourCustomArrayOfSpawnpoints [ 0 ].radius = 32;
    	yourCustomArrayOfSpawnpoints [ 0 ].script_int = 1; //this is used for spawn randomization and spawnpoint distance checking

    To properly override the initial spawnpoints you need to find the code between the lines if ( !isDefined( spawnpoint ) ) and if ( !isDefined( spawnpoints ) || spawnpoints.size == 0 ) and replace it with a for loop populating spawnpoints[ spawnpoints.size] with your custom spawpoints arrays values.

    To override the respawn points replace all the code in get_player_spawns_for_gametype() except for this line return player_spawns; and again use a for loop to set player_spawns[ player_spawns.size ] to each of your respawn points arrays values.

    For each spawnpoint you'll need to make you'll need to do spawnstruct() for each index of the array. Make sure you make at least 8 spawnpoints in total both initial spawn and respawn points. Otherwise since we're not using the original array whatsoever, since otherwise players might spawn normally, players will be forced spawned at 0, 0, 0 or not be able to spawn at all.

    While _zm_gametype has been thoroughly tested it may still have some bugs depending on the map so use at your own risk. This is the only way to set actual spawn points without access to radiant. You could also use setOrigin to set the origin of the player but that method can't make use of the system that treyarch uses to to randomize spawns and prevent double spawns on the same place.

    Finally, you need to compile _zm_gametype.gsc as _zm_gametype.gsc and place it in maps/mp/gametypes_zm. It will not work as intended otherwise. You'll know you did it right if the server says parsing maps/mp/gametypes_zm/_zm_gametype.gsc

    As for custom placed perks you can use _zm_perks here: https://github.com/JezuzLizard/Recompilable-gscs-for-BO2-zombies-and-multiplayer/tree/master/patch_zm/maps/mp/zombies With _zm_perks you can spawn in any number of perk and packapunch machines you just need to specify the data for the game to determine where to place them. Find perk_machine_spawn_init() and look for the line pos[ pos.size ] = structs[ i ];
    replace all the code relating to the structs variable and instead just use a for loop to set pos[ pos.size ] to myCustomArrayOfPerkSpawns[ i ] The data required for a perk to spawn is simply this:

            myCustomArrayOfPerkSpawns[ 0 ] = spawnstruct();
    	myCustomArrayOfPerkSpawns[ 0 ].origin = ( 5394, 6869, -23 );
    	myCustomArrayOfPerkSpawns[ 0 ].angles = ( 0, 90, 0 );
    	myCustomArrayOfPerkSpawns[ 0 ].model = "tag_origin";
    	myCustomArrayOfPerkSpawns[ 0 ].script_noteworthy = "specialty_weapupgrade";

    Specialty and Model names for base perks

    Replace the .model and .script_noteworthy values with the correct perk specialty and model for each perk you would like to spawn in. If you followed these steps correctly you should have perks spawning with the coordinates and angles you've specified. Do note since you've set the pos array to a totally new array without the original data you will have to add all of the perk spawns by hand. Of course you could also just manually add your perks to the pos array since it can accept duplicates.

    Final word: You can modify quite a few other values and behaviors if you use my recompileable scripts project so if you ever find yourself limited and unable to modify something for whatever reason check and see if I've checked/fixed a script relevant to your current project. I'm open to requests for specific scripts if you need them to be checked, though I don't have enough time generally to debug them since that is a very time consuming activity. Feel free to contact me on discord if you have any questions: JezuzLizard#7864

  • @mikzy This looks pretty cool ngl

  • This post is deleted!
  • @Cahz Good job with this man ๐Ÿ™‚
    I don't have time to make it, but tomorrow i'll realse a custom game for MP

  • If you wanted to override the mystery box to force it onto the rooftop, you could edit the _zm_magicbox.gsc file and override the array of chests already in on the map. I've already done the work for it, all you need to do is copy all the code from HERE and compile it as _zm_magicbox.gsc and place it inside your pluto file location t6r/data/maps/mp/zombies/_zm_magicbox.gsc

    Shoutout @JezuzLizard for all the recompile-able scripts ๐Ÿ™‚

Log in to reply