Adding the Engineer Zombie

broken avatar :(
Created 508 days ago
by jiggy22
0 Members and 1 Guest are viewing this topic.
1,436 views
broken avatar :(
×
broken avatar :(
Location: us
Date Registered: 30 December 2016
Last active: 173 days ago
Posts
226
Respect
Forum Rank
Mr. Elemental
Primary Group
Member
My Contact & Social Links
More
×
jiggy22's Groups
jiggy22's Contact & Social Linksarchdukesquidlyllljiggy22
Hey everyone! So as part of my BO mod, I'm hoping to add the Engineer Zombie boss to Kino Der Toten, as what was at one point considered for the map. However, I'm running into trouble with getting him to actually spawn in on the level. Let me try to run down everything I've done so far:

- Add this line:
	level.custom_ai_type = array_add( level.custom_ai_type, maps\_zombiemode_ai_boss::init );
Under:
	level.custom_ai_type = [];

- Call this thread, zombeng_spawn_points, at the bottom of zombie_theater.gsc:
zombeng_spawn_points()
{
org = spawn("script_origin", (-258.693, 695.059, -56.8574));
org.targetname = "boss_zombie_spawner";

org = spawn("script_origin", (-1507.99, 583.312, 0.307038));
org.targetname = "boss_zombie_spawner";

org = spawn("script_origin", (-1446.81, -184.471, 1.34885));
org.targetname = "boss_zombie_spawner";

org = spawn("script_origin", (-166.122, 1847.94, -14.0593));
org.targetname = "boss_zombie_spawner";
}

I got the "boss_zombie_spawner" targetname from the ai_boss.gsc script, which has two lines of code that read:
	level.boss_zombie_spawners = GetEntArray( "boss_zombie_spawner", "targetname" );
array_thread( level.boss_zombie_spawners, ::add_spawn_function, maps\_zombiemode_ai_boss::boss_prespawn );

I'm kinda new with setting up spawn points via gsc files, so I might have done this part wrong. Surely I can just put all of the spawn points together in one function like this?

zombeng_spawn_points()
{
org = spawn("script_origin", (-258.693, 695.059, -56.8574));
org = spawn("script_origin", (-1507.99, 583.312, 0.307038));
org = spawn("script_origin", (-1446.81, -184.471, 1.34885));
org = spawn("script_origin", (-166.122, 1847.94, -14.0593));
org.targetname = "boss_zombie_spawner";
}

- In zombie_theater.gsc, I've added this line:
	level.boss_zombie_enter_level = 3;
Under this:
	maps\_zombiemode_ai_dogs::enable_dog_rounds();

I got this from another line of code from the ai_boss.gsc, which reads:
	if ( !isDefined( level.boss_zombie_enter_level ) )
{
level.boss_zombie_enter_level = maps\_zombiemode_ai_boss::boss_zombie_default_enter_level;
}

The boss_zombie_default_enter_level thread appears as follows:
boss_zombie_default_enter_level()
{
Playfx( level._effect["boss_spawn"], self.origin );
playsoundatposition( "zmb_bolt", self.origin );
PlayRumbleOnPosition("explosion_generic", self.origin);
self.entered_level = true;
}

I'm probably wrong here, but I was assuming that I could simply designate a round to this function as seen above, where I'm trying to get the boss to spawn on round three.

- Before, I also tried adding this:
	level.boss_zombie_spawn_heuristic = true;

Directly under the level.boss_zombie_enter round = 3 line in zombie_theater.gsc, but what that did was cause the spawn music to continuously play over and over again during the match. So I'm guessing that was totally wrong  ::)

Aside from that, I've got all the sounds, animations, models, and character files set up just fine. Any help would be greatly appreciated, thank you!!
broken avatar :(
×
broken avatar :(
Location: ph
Date Registered: 22 May 2016
Last active: 48 days ago
Posts
216
Respect
Forum Rank
Mr. Elemental
Primary Group
Member
Personal Quote
ԅ(≖‿≖ԅ)
×
KhelMho's Groups
KhelMho's Contact & Social Links
oof
Last Edit: August 26, 2018, 04:39:24 am by KhelMho
broken avatar :(
×
broken avatar :(
Location: us
Date Registered: 30 December 2016
Last active: 173 days ago
Posts
226
Respect
Forum Rank
Mr. Elemental
Primary Group
Member
My Contact & Social Links
More
×
jiggy22's Groups
jiggy22's Contact & Social Linksarchdukesquidlyllljiggy22
Anybody out there?
broken avatar :(
×
broken avatar :(
Location: us
Date Registered: 30 December 2016
Last active: 173 days ago
Posts
226
Respect
Forum Rank
Mr. Elemental
Primary Group
Member
My Contact & Social Links
More
×
jiggy22's Groups
jiggy22's Contact & Social Linksarchdukesquidlyllljiggy22
Guess I'll just bump this again  :P
broken avatar :(
×
broken avatar :(
Location: us
Date Registered: 13 May 2017
Last active: 262 days ago
Posts
7
Respect
Forum Rank
Legless Crawler
Primary Group
Member
My Contact & Social Links
More
×
zombiedestroy29's Contact & Social Linkszombiedstroyer29shawnald67Gavin Rolls
I've tried to do this too on a custom map of mine that I made with radiant, same thing happens. everything loads in fine, but the engineer never actually spawns.
broken avatar :(
×
broken avatar :(
Location: nl
Date Registered: 20 September 2013
Last active: 2 days ago
Posts
290
Respect
Forum Rank
Mr. Elemental
Primary Group
Community Scripter
×
gympie6's Groups
Community Scripter Has shown effort and knowledge in the area of scripting while being a part of the UGX-Mods community.
gympie6's Contact & Social LinksDistenc5Teffrie
Hey everyone! So as part of my BO mod, I'm hoping to add the Engineer Zombie boss to Kino Der Toten, as what was at one point considered for the map. However, I'm running into trouble with getting him to actually spawn in on the level. Let me try to run down everything I've done so far:

- Add this line:
	level.custom_ai_type = array_add( level.custom_ai_type, maps\_zombiemode_ai_boss::init );
Under:
	level.custom_ai_type = [];

- Call this thread, zombeng_spawn_points, at the bottom of zombie_theater.gsc:
zombeng_spawn_points()
{
org = spawn("script_origin", (-258.693, 695.059, -56.8574));
org.targetname = "boss_zombie_spawner";

org = spawn("script_origin", (-1507.99, 583.312, 0.307038));
org.targetname = "boss_zombie_spawner";

org = spawn("script_origin", (-1446.81, -184.471, 1.34885));
org.targetname = "boss_zombie_spawner";

org = spawn("script_origin", (-166.122, 1847.94, -14.0593));
org.targetname = "boss_zombie_spawner";
}

I got the "boss_zombie_spawner" targetname from the ai_boss.gsc script, which has two lines of code that read:
	level.boss_zombie_spawners = GetEntArray( "boss_zombie_spawner", "targetname" );
array_thread( level.boss_zombie_spawners, ::add_spawn_function, maps\_zombiemode_ai_boss::boss_prespawn );

I'm kinda new with setting up spawn points via gsc files, so I might have done this part wrong. Surely I can just put all of the spawn points together in one function like this?

zombeng_spawn_points()
{
org = spawn("script_origin", (-258.693, 695.059, -56.8574));
org = spawn("script_origin", (-1507.99, 583.312, 0.307038));
org = spawn("script_origin", (-1446.81, -184.471, 1.34885));
org = spawn("script_origin", (-166.122, 1847.94, -14.0593));
org.targetname = "boss_zombie_spawner";
}

- In zombie_theater.gsc, I've added this line:
	level.boss_zombie_enter_level = 3;
Under this:
	maps\_zombiemode_ai_dogs::enable_dog_rounds();

I got this from another line of code from the ai_boss.gsc, which reads:
	if ( !isDefined( level.boss_zombie_enter_level ) )
{
level.boss_zombie_enter_level = maps\_zombiemode_ai_boss::boss_zombie_default_enter_level;
}

The boss_zombie_default_enter_level thread appears as follows:
boss_zombie_default_enter_level()
{
Playfx( level._effect["boss_spawn"], self.origin );
playsoundatposition( "zmb_bolt", self.origin );
PlayRumbleOnPosition("explosion_generic", self.origin);
self.entered_level = true;
}

I'm probably wrong here, but I was assuming that I could simply designate a round to this function as seen above, where I'm trying to get the boss to spawn on round three.

- Before, I also tried adding this:
	level.boss_zombie_spawn_heuristic = true;

Directly under the level.boss_zombie_enter round = 3 line in zombie_theater.gsc, but what that did was cause the spawn music to continuously play over and over again during the match. So I'm guessing that was totally wrong  ::)

Aside from that, I've got all the sounds, animations, models, and character files set up just fine. Any help would be greatly appreciated, thank you!!

I never modded for bo1 before but there is a thing that's wrong,
You want to link a variable to a method which is not returning anything.

I am talking about this var boss_zombie_default_enter_level.
I think you want to return this: return self.entered_level = true;

Next advice I give you is debugging the engineer zombie and look for problems.
Is he spawning? Where? Does he spawn? Yes or no? Does he enter that method? Cool
But why don't I see him yet, that kind of things.
broken avatar :(
×
broken avatar :(
Location: us
Date Registered: 13 May 2017
Last active: 262 days ago
Posts
7
Respect
Forum Rank
Legless Crawler
Primary Group
Member
My Contact & Social Links
More
×
zombiedestroy29's Contact & Social Linkszombiedstroyer29shawnald67Gavin Rolls
make the script_noteworthy of one your spawns (the one that you want the engineer to spawn at first) this
first_boss_spawner

example:
first_spawn_org = spawn("script_origin", (x,y,z)); 
first_spawn_org.targetname = "boss_zombie_spawner";
first_spawn_org.script_noteworthy = "first_boss_spawner";

also make the model and classname identicle to the engineer's

org.targetname = "boss_zombie_spawner";
org.model = "char_ger_zombeng_body1_1";
org.classname = "actor_zombie_engineer";

next, set the spawnflags and count acoordingly (9999 for count is reccommended)

org.count = "9999";
org.spawnflags = "53";

also I reccomend naming each spawn a different name
so instead of
zombeng_spawn_points()
{
org = spawn("script_origin", (-258.693, 695.059, -56.8574));
org.targetname = "boss_zombie_spawner";

org = spawn("script_origin", (-1507.99, 583.312, 0.307038));
org.targetname = "boss_zombie_spawner";

org = spawn("script_origin", (-1446.81, -184.471, 1.34885));
org.targetname = "boss_zombie_spawner";

org = spawn("script_origin", (-166.122, 1847.94, -14.0593));
org.targetname = "boss_zombie_spawner";
}

it'd be

zombeng_spawn_points()
{
org1 = spawn("script_origin", (-258.693, 695.059, -56.8574));
org1.targetname = "boss_zombie_spawner";

org2 = spawn("script_origin", (-1507.99, 583.312, 0.307038));
org2.targetname = "boss_zombie_spawner";

org3 = spawn("script_origin", (-1446.81, -184.471, 1.34885));
org3.targetname = "boss_zombie_spawner";

org4= spawn("script_origin", (-166.122, 1847.94, -14.0593));
org4.targetname = "boss_zombie_spawner";
}

finally, make sure that the engineer xanims are loaded or else he'll just do the idle animation

 

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 Twitch
Loading ...