UGX-Mods Login

or login with an authentication provider below
Sign In with Google
Sign In with Twitter
Sign In with Discord
Sign In with Steam
Sign In with Facebook
Sign In with Twitch

PanzerSoldat and PatrolSoldat [V1.0]

HOT
broken avatar :(
Created 8 years ago
by BluntStuffy
0 Members and 1 Guest are viewing this topic.
37,179 views
broken avatar :(
×
broken avatar :(
Location: nlApeldoorn
Date Registered: 17 December 2013
Last active: 1 year ago
Posts
1,187
Respect
1,404Add +1
Forum Rank
Zombie Colossus
Primary Group
Community Scripter Elite
My Groups
More
My Contact & Social Links
More
Personal Quote
It aint much, if it aint Dutch
Signature
×
BluntStuffy's Groups
Donator ♥ Benevolent Soul who has our eternal gratitude and exclusive access to betas and the donator section of the forum.
Community Scripter Elite Has shown excellence and experience in the area of custom scripting in the UGX-Mods community.
Oil Rig Beta Access
Oil Rig Beta Access
BluntStuffy's Contact & Social LinksBluntstuffy@BluntZombieBluntStuffyStuffyZombie



This also includes my 'Patrol Soldat' wich is a Panzer with a mingun instead of a flamethrower, to balance things out he's a slow walker  ;)

You can enable/disable the Patrol Soldat, whatever you prefer

Disclaimer:
Hidden Text
This script is originally made for Zombie Sumpf, wich is now released more then 2,5 years ago. Back when i made this i wasn't into scripting for that long.. The script is far from perfect, and right now i would do a lot of things different prob but i could never be bothered to redo it. After all it works ( mostly  ::)  ;D )

Occasionally a player could get stuck inside a model/clip when the panzer grabs him ( wich also happens in official maps every now and then btw.. ). I'm doing countless amount of traces in the script to prevent this, but specially models without collision and clips that stick out a lot increase the chanche of players getting stuck!

Instructions ( also included in the dl ):
FOR VERSION 1.0 MAKE SURE TO USE THE INSTRUCTIONS BELOW AND NOT FROM INSIDE THE DOWNLOAD!
I will update the instructions included in the download in version 1.1

1]
Copy the .iwd file in your COMPILED mod-folder ( so appdata\local\activision\CoDWaW... etc for the disk version )



2]
Pick ONE of the two .ff files depending on if you're allready using one for another feature.

-If you pick the _patch, rename it to 'mapname'_patch. So if my map was called nazi_zombie_example the .ff would be nazi_zombie_example_patch

or

-If you pick the localized_, rename it to localized_'mapname'. So in the example above it would be localized_nazi_zombie_example

Also copy the renamed .ff into you compiled mod-folder



3]
Open your _zombiemode.gsc  Around line 60-70 you'll see similar lines, add this one:

Code Snippet
Plaintext
	maps\_blst_panzersoldat::init();

4]
Next look for this:
Code Snippet
Plaintext
init_anims()
{
init_standard_zombie_anims();
}
And add the mech anims, so it looks like:
Code Snippet
Plaintext
init_anims()
{
init_standard_zombie_anims();
maps\_blst_panzersoldat::init_mech_anims();
}
That's it for _zombiemode. save and close.

5]
Now open _zombiemode_spawner and look for this line:
Code Snippet
Plaintext
	self.head_gibbed = false;
right under it add:
Code Snippet
Plaintext
	self.boss = false;
---------
Next look for these lines:
Code Snippet
Plaintext
	self set_zombie_run_cycle(); 
self thread zombie_think();
right IN BETWEEN those, add the new line so it looks like below:
Code Snippet
Plaintext
	self set_zombie_run_cycle(); 
self maps\_blst_panzersoldat::mech_prespawn();
self thread zombie_think();

6]
Now find this line:
Code Snippet
Plaintext
	rise_struct_string = undefined;
And under that add this:
Code Snippet
Plaintext
	if( self.boss )
{
self notify("no_rise");
self.script_string = "zombie_chaser";
}

7]
A few line's down, under this:
Code Snippet
Plaintext
	else
{
self notify("no_rise");
}
Add these lines:
Code Snippet
Plaintext
	if( IsDefined( self.script_string ) &&  self.script_string == "zombie_chaser" )
{
rise_struct_string = "find_flesh";
}

8]
Now find this piece of code:
Code Snippet
Plaintext
zombie_gib_on_damage()
{
// self endon( "death" );

while( 1 )
{
self waittill( "damage", amount, attacker, direction_vec, point, type );

if( !IsDefined( self ) )
{
return;
}
And under that part, add these line's:
Code Snippet
Plaintext
		if(IsDefined(self.boss) && self.boss)
{
continue;
}

9]
In the function:   zombie_damage( mod, hit_location, hit_origin, player )   
under these line's:
Code Snippet
Plaintext
	if( !IsDefined( player ) )
{
return;
}
Add these:
Code Snippet
Plaintext
	if( IsDefined( self.boss ) && self.boss )
{
return;
}

10]
And a bit down in the function:      zombie_damage_ads( mod, hit_location, hit_origin, player )      in the same way add:
Code Snippet
Plaintext
	if( IsDefined( self.boss ) && self.boss )
{
return;
}
That's _spawner. Save and close.

11]
Open animscripts\death.gsc and look for this:
Code Snippet
Plaintext
		if( IsDefined(self.is_zombie) && (!IsDefined(self.in_the_ground) || !self.in_the_ground))
{
self thread death_anim_short_circuit();
}
And change that into:
Code Snippet
Plaintext
		if( IsDefined(self.is_zombie) && (!IsDefined(self.in_the_ground) || !self.in_the_ground) && isdefined( self.boss ) && !self.boss )
{
self thread death_anim_short_circuit();
}
Save and close.

12]
Now open animscripts\melee.gsc, and scroll to the bottom. There you will see this function:
Code Snippet
Plaintext
pick_zombie_melee_anim( zombie_guy )
In there, replace this line:
Code Snippet
Plaintext
	if ( zombie_guy.has_legs )
With this one:
Code Snippet
Plaintext
	if ( zombie_guy.has_legs  && !zombie_guy.boss )
Next, right under this part:
Code Snippet
Plaintext
		switch(zombie_guy.zombie_move_speed)
{

case "walk":
anims = array_combine(level._zombie_melee[zombie_guy.animname],level._zombie_walk_melee[zombie_guy.animname]);
melee_anim = random(anims);
break;

case "run":
case "sprint":
anims = array_combine(level._zombie_melee[zombie_guy.animname],level._zombie_run_melee[zombie_guy.animname]);
melee_anim = random(anims);
break;
}
}
Add these new lines:
Code Snippet
Plaintext
	else if( isdefined(zombie_guy.boss) && zombie_guy.boss )
{
melee_anim = random(level._mech_melee["zombie"]);
}

13]
Now open the animtrees\generic_human.atr:
Right at the top under:
Code Snippet
Plaintext
body
{
add this:
   ai_zombie_mech_grabbed
   bo2_mech_run_to_aim_ft
   bo2_mech_ft_sweep
   bo2_mech_ft_burn_plr
   bo2_mech_arrive
   bo2_mech_exit
   bo2_mech_head_pain
   bo2_mech_downed
   bo2_mech_recover
   bo2_mech_powercore_pain
   bo2_mech_leap_start
   bo2_mech_leap_stop
   bo2_mech_stunned
   bo2_mech_grab_aim
   bo2_mech_grab_idle
   bo2_mech_taunt
   bo2_mech_minigun_sweep
   bo2_mech_minigun_spray
   mech_minigun_fire_loop
=============================================================
Next find the zombie-run anims, around line 450. and add these somewhere in there:
               bo2_mech_walk_basic
               bo2_mech_walk_patrol
               bo2_mech_run01
               bo2_mech_sprint01
               bo2_mech_leap_loop
               bo2_mech_minigun_spray_walk
=============================================================
Next find:
Code Snippet
Plaintext
melee
{
and under that add:
      bo2_mech_melee01
      bo2_mech_melee02
      bo2_mech_run_melee01
============================================================
Find the death anims, around line 1960 and add these in there:
      bo2_mech_death
      bo2_mech_death_explode
============================================================
And now find the taunt anims, around line 2840 and add this one in there:
         blst_zom_mech_taunt         

14]
In radiant:
* Make sure all your zone's have the " script_noteworthy - player_zone "  ( this was actually originally in WaW scripts, but a lot of people dont use it.. )
* Where the mech spawn's, and also the struct's that are used for jetpacking: (place them half inside the ground, like riser-struct's)
Code Snippet
Plaintext
	script_STRUCT		=>	"mech_zombie_spawn" - "targetname"
* Make AT LEAST 6 trigger_damage entities. ( Should be fine for spawning in 5 mechs at the same time )
   make them around 30x30x30 units, give this KVP:
Code Snippet
Plaintext
		"mech_escape_trigger" , "targetname"
   Also select these spawnflags:
      -PROJ_NO
      -EXPLOSION_NO
      -SPLASH_NO
      -FIRE_NO
   Put them somewhere the players cant see / shoot them. These will be used for when the mech grabs a player, but can't be spawned in through script..

15]
If you have a Wonder Weapon you want to have a special effect on the mech, you can call this from where the ww-script does damage:
Code Snippet
Plaintext
	if( isdefined( zombie.boss ) && zombie.boss )
{
zombie thread maps\_blst_panzersoldat::mech_ww_response();
}
He will do a pain-anim, and there's a slight chanche he gets knocked to the ground.

16]
---------------- No nuke and insta-kill effect-----------------
In _zombiemode_powerups find the function   check_for_instakill()    and under the line's:
Code Snippet
Plaintext
		if( self.animname == "boss_zombie" )
{
return;
}
add these line's:
Code Snippet
Plaintext
	if(IsDefined(self.boss) && self.boss)
{
         return;
}
--------
Next find the function      nuke_powerup()   scroll down a bit till you see:
Code Snippet
Plaintext
		if( is_magic_bullet_shield_enabled( zombies[i] ) )
{
continue;
}
and under that add these line's:
Code Snippet
Plaintext
        if(IsDefined(zombies[i].boss) && zombies[i].boss)
        {
            continue;
        }

17]
-----------Doesn't stop the rounds from changing------------
Open _zombiemode_utility.gsc, and find the line:
Code Snippet
Plaintext
		if( enemies[i].animname != "boss_zombie" )		
and REPLACE it with this one:
Code Snippet
Plaintext
	if( enemies[i].animname != "boss_zombie" && ( !isdefined(enemies[i].boss) || !enemies[i].boss ) )

18]
Stock 'settings':
-first panzer round:  round 8
-after that every 3 rounds
-health value's are copied from bo2 script
-the patrol-soldat is included, he and the normal one will take turns spawning
Hidden Text
Single player:
round 8 or higher:   1 mech
round 14 or higher:   2 mechs
round 18 or higher: 3 mechs

COOP:
round 8 or higher:   1 mech
round 11 or higher:   2 mechs
round 14 or higher: 3 mechs
round 17 or higher: *1 or 2 players: 3 mechs
               *3 or 4 players: same number of mechs as players
You can change a lot of settings in the _blst_panzersoldat.gsc thats inside the  BlSt_PanzerSoldat.iwd
To disable the Patrol-Soldat, open the script inside the .iwd and change this line into false:
Code Snippet
Plaintext
level.include_patrol_mech							= true;
That should be all!
PS:
Dont ask me if i can send you the raw-files, or if you can combine two .ff's or if i can do that for you..   I won't, and i can't..
Last Edit: January 06, 2020, 09:02:07 pm by BluntStuffy
broken avatar :(
×
broken avatar :(
OnionmanVere Bo21
Location: ieu dnt wnt 2 no
Date Registered: 27 September 2013
Last active: 1 year ago
Posts
1,864
Respect
Forum Rank
Zombie Destroyer
Primary Group
Community Mapper
My Groups
More
Personal Quote
ok
Signature
Aye mate you don't know me so y don't you shut tf up ok buddy :)

×
Scobalula's Groups
Donator ♥ Benevolent Soul who has our eternal gratitude and exclusive access to betas and the donator section of the forum.
Box Mappers Elite
Box Mappers Elite
Community Mapper Has released one or more maps to the UGX-Mods community which have been added to the UGX Map Manager.
Community Scripter Has shown effort and knowledge in the area of scripting while being a part of the UGX-Mods community.
Scobalula's Contact & Social Links
Dude, this is absolutely amazing, +1 for releasing.
broken avatar :(
×
broken avatar :(
Location: no
Date Registered: 1 January 2014
Last active: 2 years ago
Posts
135
Respect
Forum Rank
Pack-a-Puncher
Primary Group
Member
My Contact & Social Links
More
Signature
Map: No Way Out
Weapon Porter
Custom Music
Mapper
https://i.gyazo.com/4dea470ff0a559d7c79a0a350788da30.png
×
Marsvinking's Groups
Marsvinking's Contact & Social Linksmarsvinkingmarsvinkingmarsvinking
Just downloaded and thanks for that but wont the UGX team take this down because of Raw Assets ?
broken avatar :(
×
broken avatar :(
Location: nlApeldoorn
Date Registered: 17 December 2013
Last active: 1 year ago
Posts
1,187
Respect
1,404Add +1
Forum Rank
Zombie Colossus
Primary Group
Community Scripter Elite
My Groups
More
My Contact & Social Links
More
Personal Quote
It aint much, if it aint Dutch
×
BluntStuffy's Groups
Donator ♥ Benevolent Soul who has our eternal gratitude and exclusive access to betas and the donator section of the forum.
Community Scripter Elite Has shown excellence and experience in the area of custom scripting in the UGX-Mods community.
Oil Rig Beta Access
Oil Rig Beta Access
BluntStuffy's Contact & Social LinksBluntstuffy@BluntZombieBluntStuffyStuffyZombie
What raw assets? It's 2 .ff's and an .IWD  ???
broken avatar :(
×
broken avatar :(
Location: no
Date Registered: 1 January 2014
Last active: 2 years ago
Posts
135
Respect
Forum Rank
Pack-a-Puncher
Primary Group
Member
My Contact & Social Links
More
×
Marsvinking's Groups
Marsvinking's Contact & Social Linksmarsvinkingmarsvinkingmarsvinking
I see it now its a precached model xD
broken avatar :(
×
broken avatar :(
Location: us
Date Registered: 30 October 2013
Last active: 2 months ago
Posts
84
Respect
Forum Rank
Rotting Walker
Primary Group
Member
My Contact & Social Links
More
×
WECoyote99's Groups
WECoyote99's Contact & Social LinksFcochis1afscsrpinoWECoyote99
would a normal riser work for a spawner
broken avatar :(
×
broken avatar :(
Location: nlApeldoorn
Date Registered: 17 December 2013
Last active: 1 year ago
Posts
1,187
Respect
1,404Add +1
Forum Rank
Zombie Colossus
Primary Group
Community Scripter Elite
My Groups
More
My Contact & Social Links
More
Personal Quote
It aint much, if it aint Dutch
×
BluntStuffy's Groups
Donator ♥ Benevolent Soul who has our eternal gratitude and exclusive access to betas and the donator section of the forum.
Community Scripter Elite Has shown excellence and experience in the area of custom scripting in the UGX-Mods community.
Oil Rig Beta Access
Oil Rig Beta Access
BluntStuffy's Contact & Social LinksBluntstuffy@BluntZombieBluntStuffyStuffyZombie
would a normal riser work for a spawner

Yes, it should as long as you place the structs. I would advice at least two structs for each zone
broken avatar :(
×
broken avatar :(
Location: us
Date Registered: 30 October 2013
Last active: 2 months ago
Posts
84
Respect
Forum Rank
Rotting Walker
Primary Group
Member
My Contact & Social Links
More
×
WECoyote99's Groups
WECoyote99's Contact & Social LinksFcochis1afscsrpinoWECoyote99
Yes, it should as long as you place the structs. I would advice at least two structs for each zone

ok thanks
broken avatar :(
×
broken avatar :(
Location: us
Date Registered: 30 December 2013
Last active: 3 months ago
Posts
33
Respect
Forum Rank
Legless Crawler
Primary Group
Member
My Contact & Social Links
More
×
I probably did something wrong, but I got a server script compile error. I went through everything you said, I'm just not sure about this one.

http://imgur.com/i6e5vRN
broken avatar :(
×
broken avatar :(
Location: gbNewport
Date Registered: 2 November 2014
Last active: 2 years ago
Posts
1,265
Respect
Forum Rank
Zombie Colossus
Primary Group
Member
My Contact & Social Links
More
Personal Quote
Embrace the Darkness
×
Tim Smith's Groups
Tim Smith's Contact & Social Linkstimsmith90THEREALBaDBoY17TimSmithMy clan Website
Good work blunt :) +1.
Last Edit: August 13, 2016, 07:06:01 pm by Tim Smith
broken avatar :(
×
broken avatar :(
Location: usNew Jersey
Date Registered: 30 July 2013
Last active: 5 days ago
Posts
271
Respect
Forum Rank
Mr. Elemental
Primary Group
Community Mapper
My Groups
More
My Contact & Social Links
More
Personal Quote
fk
Signature
iPlay - Facts                               
Hex Tower - Facts
Andromeda - Facts
Octagonal Ascension - Facts
iPlay v2 - Facts
Eclipse - Facts
MW2 Rust - Facts
Gulag - Facts
Decagon - Facts
---------------------------------------------- BO3
Scrapyard - Facts
Rust 2.0 - Facts
Rust MP - Facts
Gulag Again ffs - Facts
Hex Tower - Facts
Octagon - Facts
Decagon - Facts
Cataclysm - Facts
Dome - Bland
×
Psh's Groups
Community Mapper Has released one or more maps to the UGX-Mods community which have been added to the UGX Map Manager.
Psh's Contact & Social LinksAskPshZombiesihaZzRaBieZI_haZzZ_RaBieZz
Dank dank and more dank, such dank much dank / :gusta: /
broken avatar :(
×
broken avatar :(
Location: gbMilton Keynes
Date Registered: 17 January 2014
Last active: 4 years ago
Posts
6,877
Respect
1,004Add +1
Forum Rank
Immortal
Primary Group
Community Scripter
My Groups
More
My Contact & Social Links
More
Signature
If you want scripts / features made for you, then contact me by PM or email / skype etc
it will cost you tho so if you have no intention of reciprocating don't even waste my time ;)
×
Harry Bo21's Groups
Donator ♥ Benevolent Soul who has our eternal gratitude and exclusive access to betas and the donator section of the forum.
Community Scripter Has shown effort and knowledge in the area of scripting while being a part of the UGX-Mods community.
Harry Bo21's Contact & Social Links[email protected]HarryBo21HarryBo000
awesome stuffy :)
broken avatar :(
×
broken avatar :(
Location: nlApeldoorn
Date Registered: 17 December 2013
Last active: 1 year ago
Posts
1,187
Respect
1,404Add +1
Forum Rank
Zombie Colossus
Primary Group
Community Scripter Elite
My Groups
More
My Contact & Social Links
More
Personal Quote
It aint much, if it aint Dutch
×
BluntStuffy's Groups
Donator ♥ Benevolent Soul who has our eternal gratitude and exclusive access to betas and the donator section of the forum.
Community Scripter Elite Has shown excellence and experience in the area of custom scripting in the UGX-Mods community.
Oil Rig Beta Access
Oil Rig Beta Access
BluntStuffy's Contact & Social LinksBluntstuffy@BluntZombieBluntStuffyStuffyZombie
I probably did something wrong, but I got a server script compile error. I went through everything you said, I'm just not sure about this one.

http://imgur.com/i6e5vRN

My bad, add this line:

Code Snippet
Plaintext
bo2_mech_minigun_spray_walk

to the generic_human.atr, and put it belowe this line:

Code Snippet
Plaintext
 bo2_mech_leap_loop


I will update the tut..



broken avatar :(
×
broken avatar :(
Location: usgeorgia
Date Registered: 24 April 2013
Last active: 7 months ago
Posts
560
Respect
Forum Rank
Zombie Enslaver
Primary Group
Community Mapper
×
whippytrout's Groups
Community Mapper Has released one or more maps to the UGX-Mods community which have been added to the UGX Map Manager.
whippytrout's Contact & Social LinksWhippyTroutWhippyTrout
Holy Crap This is Awesome! I leave on vacation for 1 week then come back and all this amazing stuff comes out.  :nyan: I swear with this, natesmith's new releases, and Harry's shields and perks I will have my Alcatraz map done in no time.  :D  Thank you so much this will be so fun to use. Imagine the patrolling panzer in the tight prison halls of Alcatraz... creepy.  :)
broken avatar :(
×
broken avatar :(
Location: nlApeldoorn
Date Registered: 17 December 2013
Last active: 1 year ago
Posts
1,187
Respect
1,404Add +1
Forum Rank
Zombie Colossus
Primary Group
Community Scripter Elite
My Groups
More
My Contact & Social Links
More
Personal Quote
It aint much, if it aint Dutch
×
BluntStuffy's Groups
Donator ♥ Benevolent Soul who has our eternal gratitude and exclusive access to betas and the donator section of the forum.
Community Scripter Elite Has shown excellence and experience in the area of custom scripting in the UGX-Mods community.
Oil Rig Beta Access
Oil Rig Beta Access
BluntStuffy's Contact & Social LinksBluntstuffy@BluntZombieBluntStuffyStuffyZombie
Made a minor adjustment in the tutorial, if you install this make sure to use the instructions from the Topic and not from the DL. I'll update the instructions in the dl in version1.1

If you allready installed it and having trouble because the mech doesn't move after he spawns:
-remove this line from _spawner:
Code Snippet
Plaintext
	self thread maps\_blst_panzersoldat::mech_prespawn();

-redo step 5 from the instructions and you should be good to go
Last Edit: August 14, 2016, 04:53:01 am by BluntStuffy

 
Loading ...