[Release] [GSC] Zombies Custom Powerup | Unlimited Ammo
-
Ox_ I literally was just gonna post my source of my new power-up I cobbled together and I noticed you updated your source guess I'll have to go through it. but ill still post an images of the power-up next to yours.
Pictures (sorry for the gigantic pics before lol)
https://imgur.com/gallery/BH4k3C7I think you get the idea, it's the Pack-A-Punch power up!
It paps your gun! Oh and I used the teddy bear model because I couldn't find a pap. -
Knight said in [GSC] Zombies Custom Powerup | Unlimited Ammo:
Ox_ I literally was just gonna post my source of my new power-up I cobbled together and I noticed you updated your source guess I'll have to go through it. but ill still post an images of the power-up next to yours.
Pictures (sorry for the gigantic pics before lol)
https://imgur.com/gallery/BH4k3C7I think you get the idea, it's the Pack-A-Punch power up!
It paps your gun! Oh and I used the teddy bear model because I couldn't find a pap.Good stuff. Would like to see your implementation of the countdown, always interesting to see what sort of approaches other people have taken.
About the powerup itself, sounds quite overpowered to me haha. Would need some balancing done to it for sure.If you're up for a challenge, try to balance the powerup.
What I'd look into myself, is changing its spawning chance based on in what stage of the game players are.
E.g. really rare to spawn in unless pap is legitmately accessible as well. Also based on how much money the player has.
And if players are really late game, could spawn it in quite commonly just for fun. In such a case I wouldn't use the normal way of spawning them in though. You wouldn't want to consume the limit of powerups per round and push chances of max ammo off powerup array.
I guess same could be said about adding any custom powerup, it always makes max ammo more rare. I didn't see this is a problem with unlimited ammo though, since it should be quite good at high rounds and you also fill up your current clip at least. -
Really like this and hope someday to learn how to do it.
-
GroverFox said in [GSC] Zombies Custom Powerup | Unlimited Ammo:
Really like this and hope someday to learn how to do it.
If you're just looking to use it, there's a download the precompiled .gsc you can use.
How you use this .gsc depends a bit. If you're looking to use it on a Plutionum server, they have a tutorial stickied in here.
If not on a Plutonium server, you can Google for a tutorial on how to inject it to Steam/Redacted. -
No, I'm taking about the coding part
-
GroverFox said in [GSC] Zombies Custom Powerup | Unlimited Ammo:
No, I'm taking about the coding part
I see.
Well good luck with with the learning -
This post is deleted!
-
@colorz808 said in [Release] [GSC] Zombies Custom Powerup | Unlimited Ammo:
Ox_ Are you going to make more custom power ups? I would like to see a perk bottle powerup that gives a perk to all players that leads to gaining all 7 perks on any map or perhaps a pack o punch powerup to upgrade your gun for maps like bus depo or farm that don't have a pack o punch machine. I've used your Unlimited Ammo Powerup and I enjoy it alot when I host my server. Great Work
Guess I could make more. Just seriously lost motivation when I made the nice shader at the bottom of the screen for the powerup timer and all, just to notice it doesn't work for all maps.
Ideas are appreciated though, the more complex, the more interesting it is (but that could also result in cba, haha)
And I don't think I quite understand what your first idea is. Just normal perk bottle powerup, but it also increases the perk cap? Or?
And for pack-a-punch, seems like Knight made it already, here's his post. Maybe he could share it. -
Thanks for the info on Knight already making the pap powerup i'll see if he can share but for the perk powerup I was thinking can give perks like flopper etc that are not originally in the map like town or farm. Everytime they grab the perk bottle it gives everyone one random free perk but it's random between 8 perks like the wunderfizz machine on origins
-
@colorz808 This isn't possible yet not without mod tools. The actual perks aren't on the fast file the map loads so if you do try to give say "specialty_flakjacket" which is flopper the game will crash.
Modding is currently limited to whatever is actually on the fast file, if its not on the fast file already and its not a script its not possible. It is possible to bring over scripts from other maps and use their functions in any map but with varying results.
-
Thanks for the information. Hopefully in the future it's possible.
-
@colorz808 and Ox_ I'll gladly share my code, to be totally honest it wan't that hard to make the pack a punch perk I used code from Rezhified credit to him for the pap code here is the code:
#include maps\mp\_utility; #include common_scripts\utility; #include maps\mp\gametypes_zm\_hud_util; #include maps\mp\gametypes_zm\_hud_message; //important include #include maps\mp\zombies\_zm_powerups; #include maps\mp\zombies\_zm_weapons; //making the code seperate for the Pack-A-Punch Power-Up to make it less confusing. //but they could be merged as I've done before. //Credits // to _Ox for the original code, also thanks for the notes it was really helpful. // and to Rezhified for the pack-a-punch code. init() { level thread onPlayerConnect(); include_zombie_powerup("upgrade_weapon"); add_zombie_powerup("upgrade_weapon", "zombie_teddybear", &"ZOMBIE_POWERUP_UPGRADE_WEAPON", ::func_should_always_drop, 0, 0, 0); powerup_set_can_pick_up_in_last_stand("upgrade_weapon", 1); } /*func_should_drop_past_level() { if ( level.round_number < 5 ) { return 0; } return 1; }*/ onplayerconnect() { for(;;) { level waittill("connected", player); player thread onPlayerSpawned(); } } onplayerspawned() { self endon("disconnect"); level endon("game_ended"); for(;;) { self waittill("spawned_player"); if(self isHost() && !isDefined(level.custom_powerup_first_spawn)) { wait 2; //store the original custom powerup grab function, //if one exists (Origins, Buried, Grief & Turned) //note that this is not intended for Grief or Turned //I have no idea what will happen, probably pretty broken if(isDefined(level._zombiemode_powerup_grab)) level.original_zombiemode_powerup_grab = level._zombiemode_powerup_grab; //delayed defining of the custom function so we're sure to //override the function Origins and Buried defines for this level._zombiemode_powerup_grab = ::custom_powerup_grab; //message for the host to indicate that it should be all good wait 2; self iprintlnbold("^7Custom Powerup Loaded!"); //gives host the ability to test the powerup at the start of the game //can be used to make sure it's actually working and all good //remove the line directly below to disable self thread test_the_powerup(); //whatever so this variable isn't undefined anymore level.custom_powerup_first_spawn = "fortnite!fortnite!!"; } } } test_the_powerup() { self endon("death"); self endon("disconnected"); self endon("testing_chance_ended"); level endon("game_ended"); wait 3; self iprintlnbold("^7Press ^1[{+smoke}] ^7to test, you have ^15 seconds^7."); self thread testing_duration_timeout(); for(;;) { if(self secondaryoffhandbuttonpressed()) { level specific_powerup_drop("upgrade_weapon", self.origin + VectorScale(AnglesToForward(self.angles), 70)); return; } wait .05; } } testing_duration_timeout() { self endon("death"); self endon("disconnected"); wait 5; self notify("testing_chance_ended"); } //fires when we grab any custom powerup custom_powerup_grab(s_powerup, e_player) { if (s_powerup.powerup_name == "upgrade_weapon") level thread upgrade_weapon_powerup(); //pass args onto the original custom powerup grab function else if (isDefined(level.original_zombiemode_powerup_grab)) level thread [[level.original_zombiemode_powerup_grab]](s_powerup, e_player); } upgrade_weapon_powerup() { foreach(player in level.players) { //if powerup is already on, turn it off //player notify("end_unlimited_ammo"); //small cha ching sound for each player when someone picks up the powerup //cba'd to come up with anything better and don't have a list of sounds, //change to w/e if you want. player playsound("zmb_cha_ching"); player thread upgrade_players_weapon(); //player thread turn_on_unlimited_ammo(); //player thread unlimited_ammo_on_hud(); //player thread notify_unlimited_ammo_end(); } } //Rezhified pack-a-punch code. Rezhified.#3039 on discord. [Link To His Source](https://cabconmodding.com/threads/black-ops-2-gsc-managed-code-list.158/post-43365) upgrade_players_weapon() { level endon("game_ended"); self endon("disonnect"); baseweapon = get_base_name(self getcurrentweapon()); weapon = get_upgrade(baseweapon); if(IsDefined(weapon)) { self takeweapon(baseweapon); self giveweapon(weapon, 0, self get_pack_a_punch_weapon_options(weapon)); self switchtoweapon(weapon); self givemaxammo(weapon); } } get_upgrade(weapon) { if(IsDefined(level.zombie_weapons[weapon].upgrade_name) && IsDefined(level.zombie_weapons[weapon])) return get_upgrade_weapon(weapon, 0 ); else return get_upgrade_weapon(weapon, 1 ); } /*Un-Pack-a-Punches current weapon DowngradeWeapon() { baseweapon = self getcurrentweapon(); weapon = get_base_weapon_name(baseweapon, 1); if( IsDefined(weapon)) { self takeweapon(baseweapon); self giveweapon(weapon, 0, self get_pack_a_punch_weapon_options(weapon)); self switchtoweapon(weapon); self givemaxammo(weapon); } }*/
I was trying to figure out how to put something in to stop the perk from being spawned in at low rounds but couldn't figure it out. Maybe someone could figure it out. Thanks again Ox_ for making your code public, your an amazing coder. Would love to see this being used in servers especially if a round limiter is implemented.
Well looks like I left the func_should_drop_past_level() function in by mistake it should work now, but will always drop sorry about that.
-
Knight Thank You, Knight. I will use this when I host my server. Be perfect for farm and bus depot. Wish I knew how to get those map working correctly on my server. Any help you can give would be greatly appreciated
-
Knight I believe you'll have to modify _zm_powerups.gsc itself to manually set conditions for drops. Its possible since fire sale is an example of one such powerup. I have a _zm_powerups.gsc that compiles but will have errors with custom powerups you'll have to fix it if you want it to work with your powerup but it shouldn't be that difficult.
https://github.com/JezuzLizard/Recompilable-gscs-for-BO2-zombies/tree/master/patch_zm
If you do manage to figure out why the function custom_powerup_grab doesn't run make a pull request, otherwise I'll probably fix it later today after I finish working on _zm.gsc.Oh yeah I guess I should also explain how you make use of recompileable .gscs. Just compile it as _zm_powerups.gsc and place it maps/mp/zombies. The game will run this version of _zm_powerups.gsc instead of the base version allowing for total customization of the base powerups.
-
This post is deleted!
-
This post is deleted!
-
Ox_ I play grief and turned...
-
intento agregar caulquiera de los anteriores codigos a un servidor propio y no funcionan, los power ups aparecen pero no hacen nada, y en partidas locales si funcionan bien, alguien me puede ayudar??
-
-