Hello guys my name is xSanchez78 and today i have something that i am sure the zombie community has wanted for a long time Today I have for you:
Who's Who
I have spent about a month scripting this, making sure that the perk is exactly like black ops 2 die rise, and has no glitched or bugs. And it is PERFECT!
Perk Features: When you die, you save your stock ( perks, weapons, and points ) and respawn to revive a clone. When you revive yourself, you get your guns, including offhand grenades, bouncing betties, and your mule kick weapon. You also get every perk back except for who's who itself. Also if you lost points, you get them back. If you dont revive yourself in 45 seconds, if you had quick revive in solo mode when you died, you automatically revive but you dont get quick revive back. If you dont, your clone dissapears and you lose EVERYTHING. just like black ops 2.
Let's Get Started!
Xmodels:
This tutorial does not provide xmodels for you. It is up to you to export the xmodels, as posting them in download links is against the UGX Mods rules. But here is an Easy-To-Follow tutorial:
Follow that and you will learn how to port xmodels. The models you need are "bo2_p6_zm_vending_chugabud", "bo2_p6_zm_vending_chugabud_on", "bo2_t6_wpn_zmb_perk_bottle_whoswho_view", and "bo2_t6_wpn_zmb_perk_bottle_whoswho_world". The models in lime may not have the prefix "bo2_" but just look for these names and when you convert them, make sure they match or else this tutorial will not work properly. In mod.csv, be sure to add the following:
Weapons:
You are probably thinking, what do weapons have to do with this? Well the weapon I am talking about is the perk bottle that you drink when you buy the perk. If you exported all the models correctly in the first step, you will have the models needed. First, go to "root/raw/weapons/sp" and find "zombie_perk_bottle_jugg". Copy it and rename it to "zombie_perk_bottle_whoswho". Now open it with notepad, and find "GunModel". In the next set of slashes, it should say "zombie_perk_bottle_jugg". Rename this to "bo2_t6_wpn_zmb_perk_bottle_whoswho_view". Then find "WorldModel". Next to it, it should say "zombie_3rd_perk_bottle_jugg". Rename this to "bo2_t6_wpn_zmb_perk_bottle_whoswho_world". Save & Close. Now you have your weapon file. Place it in "root/mods/mapname/weapons/sp". In mod.csv, make sure to add this:
Radiant:
In radiant, you need to make your own prefab. First add a trigger_multiple. Add these KVP's targetname - audio_bump_trigger script_sound - perks_rattle
This will be the trigger where you go prone and it gives you 25 points. Now add a script_struct. Give it these KVP's targetname - perksacola script_sound - mx_whoswho_jingle
This will be the spot where it plays the perk jingle when it is idle. Now add a trigger_use. Give it these KVP's: targetname - vending_trigger_whoswho
This will be the trigger that the players use to buy the perk. Now add a script_model Give it these KVP's targetname - vending_whoswho model - bo2_p6_zm_vending_chugabud
This will be the actual perk model. Now just add a clip around your perk and you should have your perk prefab! Now here is one more thing you need to do. Add script_origin's where you want your player to be able to respawn in who's who mode. Currently, this does not check for active zones, so if you place it behind an opened door, you may end up spawning behind it. Don't worry, this will be updated at a later date. Make sure each script_origin gets this KVP targetname - whoswho_spawn_point
Images:
You need to get your own perk shader. These are easy to find. You can probably find one in the forums, or even be a prick and steal one from someone's IWD file. When you get it, make sure when you convert it that it is called "whoswho_vending_zombies".
Animtrees:
Open notepad and save it as "whoswho_animation.atr". In it, simply type the line "pb_laststand_idle". Save and and put it in "root/mods/mapname/animtrees".
Sounds:
The sounds are also up to you to get. The functions for playing sound are already in the script, you just need to do this: For the stinger sound, in the alias, make sure you call it "mx_whoswho_sting", and for the jingle call it "mx_whoswho_jingle". For the whos who trance sound that plays in the backround, you need to make sure it is one long sound that lasts for 45 seconds, ( because thats how long whos who mode lasts ) and can be stopped using the StopSounds() function. It needs to be called "whoswho_spawn".
Scripts:
Alright, you have done every other step, time for the last. Scripting. This is the hardest part, there is much to do. First, copy this script and name it to
"_zombiemode_perks_whoswho.gsc"
Now for some customization. Find the function "respawn_whoswho()" in it, find this code:
This is the part that gives you the weapons and grenades that you get when you respawn in who's who. You may want to change which gun or grenade you want to give back on repspawn and how much ammo you get. Now find this function "whoswho_end()" In this find this line
This is the vision that resets after you exit whos who mode. It is set to the default der riese vision, but if you have custom vision, you may want to change that here. Now find this function "whoswho_take_player_weapons()" In it find this code
These are the perks that you want Who's Who to be able to save. You need to make sure you include all the perks you want to be saved, and exclude the ones you want to be lost. As you can see Who's Who ( specialty_shades ) is not included because you are not able to save whos who. Now find this function at the bottom "give_perk()". Find this
This is how who's who gives back your perks. Make sure that all the perks you listed in "whoswho_take_player_weapons()" have their own case in this list, and that they properly giveback the perk. Finally, find this function "spawn_whoswho_body()". In it find this
This is how the clone that spawns for you to revive in who's who mode is the same model as you being the original player. This already supports the default der riese characters, but if you have custom ones, you need to make sure and include them or else your clone won't look like you in who's who mode. If you need any help with this, just PM me, and i will help you. Now for editing other scripts. Go into "_zombiemode.gsc". In "main()", call "maps\_zombiemode_perks_whoswho::init();" under this
Find this function player_damage_override()
Under this
Add this
Save & Close. Now go into "_zombiemode_perks.gsc" find the function "perk_think()" replace this
With
Also if you have other perk scripts that have the perk_think() function make sure you repeat the same process in those scripts too. Save & Close. Now go into "_laststand.gsc". Find the "laststand_clean_up_on_disconnect()" function. Replace the whole function with this:
Now find the "revive_trigger_think()" function. replace this
With this:
Now find the "revive_do_revive()" function. Find this
and replace it with this
Find this
and replace it with this
find this
and replace it with this
Now find this "revive_success()" function. Replace it with this:
Now you are done scripting!
Your Done!
Make sure you follow each step carefully. The only thing that is missing is sounds. I dont have them yet, but they will come in a later update. Watch for updates. The title will show if i have made an update on the specific date and everything. If you need help just comment or PM. I only had one hour to write this topic so problems may occur. Make sure you call everything in your mod builder and add everything as i said into mod.csv. This has been tested, but you may get errors because i quickly scripted the perk machine logic so that you wouldnt have to add it to your _zombiemode_perks.gsc like i did. I may have made some small syntax errors there so just let me know. Thanks everyone, please credit me, and peace!
Here are some images:
Spoiler: click to open...
Here are some videos ( made by gamer9294 and Alessof )
Who's who repsawn now checks for playable area, active zones ( so you dont repsawn behind doors, and make sure all of your zones in your map have a "script_noteworthy" of "player_zone" for the script to be able to define all the zones and check them ), and if you placed them inside the floor or wall, they will be avoided ( so you dont get stuck ). I also have updated some of the tutorial, so it is easier to use.
Update 4-21-2015
If you are in who's who mode and you rebuy who's who, you automatically leave who's who mode and loose everything. If you somehow end up spectating your clone dissapears and you again loose everything. I have also fixed the bug where it only saved one perk.
Update 5-2-2015
Edited the tutorial to where it says what to change in _laststand.gsc instead of making you replace it all for those who have custom stuff in their _laststand.gsc already. Also added places in the script that support sound if you chose to add it, and a new section in the tut called "sound" to give you info on what to call the sounds and important stuff like that.
Has the ability to issue warnings to users, edit and remove posts from the forum and to move topics to other boards. Upholds the rules of the forum. Moderates Chat Rooms.
MZslayer11's Contact & Social LinksMZslayer11Service_Code_30#2655
Nice, clean and easy to understand tutorial. Great work, thanks for sharing
A couple problems I noticed testing it in my test map is. If you go down in whos who, and you restart the game or go down again and have it restart that way, you will still have the blurry vision until you buy the perk and go down then revive yourself. Also, after reviving myself I still had whos who on me, it did not take it from me.
oh i know why. Because when you die it notifies the player "whoswho_death". You need to add that to your _zombiemode_perks.gsc pek_think() function in the waittill_any function. Sorry i forgot to add that, but you need to put that there otherwise you don't lose perks. I will update this in the tutoiral later today. But for the blurry vision, that is a dvar that needs to be reset. I dont really know how to script that, but ill look into fixing that later.
Has the ability to issue warnings to users, edit and remove posts from the forum and to move topics to other boards. Upholds the rules of the forum. Moderates Chat Rooms.
MZslayer11's Contact & Social LinksMZslayer11Service_Code_30#2655
Unfortunately i dont have a youtube channel. i wouldlike itifsomeone did that for me but i cant do it myself
I could upload it if you send it to me. I barely post anything so you gonna wanna link it in your topic so people actually see it lol. PM me if your interested.