Jump to content
Freddywall

Delete Zombies in trigger

Recommended Posts

Hello, i'm noob in mission editing.
I'am playing with Revage mod and i want to make simple safe zone with trgger which delete all zombies inside the trigger. Any ideas?

Share this post


Link to post
Share on other sites

change ZombieSide to whatever side you have your zombies as or change the condition to another check to see if its a zombie or not

while {SafeZoneActive} do
{
	_Zombies = (AllUnits select {Side _x == zombieSide}) InAreaArray SafeZoneTrigger;
	{
		DeleteVehicle _x;
	} ForEach _Zombies;
	Sleep 1;
};

 

Share this post


Link to post
Share on other sites
8 minutes ago, gokitty1199 said:

change ZombieSide to whatever side you have your zombies as or change the condition to another check to see if its a zombie or not


while {SafeZoneActive} do
{
	_Zombies = (AllUnits select {Side _x == zombieSide}) InAreaArray SafeZoneTrigger;
	{
		DeleteVehicle _x;
	} ForEach _Zombies;
	Sleep 1;
};

 

It's doesn't work

Share this post


Link to post
Share on other sites
13 minutes ago, gokitty1199 said:

since your using ravage use the method @Vandeansonposted above

@Vandeanson method did not work, it only disable damage and zombies can come into safe zone

Share this post


Link to post
Share on other sites

Best report it to the ravage thread then, there are a lot of experienced mission makers there that can hep with ravage topics. And if the module is broken, haleks will surely take a look. 

But did you check if there is an option to delete zombies within the module? 

I can check once i get to the PC, but this is how i recall the modules. 

Share this post


Link to post
Share on other sites
2 minutes ago, Vandeanson said:

But did you check if there is an option to delete zombies within the module? 

 

Yep, i was checked it. Theres nothing about delete zombies or something like this

Share this post


Link to post
Share on other sites

Found how to delete zombies by using other @gokitty1199 script, but how can i loop this script?


_BluforInTrig = (AllUnits + Vehicles) InAreaArray Trig1; 
 

 if ((getNumber (configFile >> "CfgVehicles" >> (typeOf _x) >> "side")) == 3) then 
    { 
     DeleteVehicle _x; 
    };  
} ForEach _BluforInTrig;

 

Share this post


Link to post
Share on other sites
12 minutes ago, Freddywall said:

Yep, i was checked it. Theres nothing about delete zombies or something like this

then back to the scripting option, what did you try from my post? where did you put the script and show the script as well

Share this post


Link to post
Share on other sites
4 minutes ago, Freddywall said:

Found how to delete zombies by using other @gokitty1199 script, but how can i loop this script?


_BluforInTrig = (AllUnits + Vehicles) InAreaArray Trig1; 
 

 if ((getNumber (configFile >> "CfgVehicles" >> (typeOf _x) >> "side")) == 3) then 
    { 
     DeleteVehicle _x; 
    };  
} ForEach _BluforInTrig;

 

when you used my script, did you change the name of the trigger to Trig1 and did you change the side comparison to be the side of the zombies? my script should work as long as you did your part

 

edit: for example

while {true} do
{
	_Zombies = (AllUnits select {Side _x == Civilian}) InAreaArray Trig1;//assuming your zombies are civilians
	{
		DeleteVehicle _x;
	} ForEach _Zombies;
	Sleep 1;
};

 

Share this post


Link to post
Share on other sites

FYI, the ravage zombies parent is "zombie" - i use _referenceToUnitinTrigger isKindOf "zombie"; to check for ravage zombies.

 

Maybe this helps;)

 

  • Like 1

Share this post


Link to post
Share on other sites
3 minutes ago, gokitty1199 said:

when you used my script, did you change the name of the trigger to Trig1 and did you change the side comparison to be the side of the zombies? my script should work as long as you did your part

Yes, i have change name of trigger. This script works one time when i activating trigger

Share this post


Link to post
Share on other sites
2 minutes ago, Vandeanson said:

FYI, the ravage zombies parent is "zombie" - i use _referenceToUnitinTrigger isKindOf "zombie"; to check for ravage zombies.

 

Maybe this helps;)

 

much nicer thank you, ive never used ravage an didnt know of the "zombie" type lol

while {true} do
{
	_Zombies = (AllUnits select {_x IsKindOf "zombie"}) InAreaArray Trig1;
	{
		DeleteVehicle _x;
	} ForEach _Zombies;
	Sleep 1;
};

 

  • Like 1

Share this post


Link to post
Share on other sites

i checked the save zone and the blacklist zombies modules - indeed both do NOT what the above script does. specially not for hand-placed zombies.

I don't think this is intentional - will link this post to the ravage thread.

 

Anyway - we have a solution now;)

 

 

  • Like 1

Share this post


Link to post
Share on other sites
7 minutes ago, gokitty1199 said:

much nicer thank you, ive never used ravage an didnt know of the "zombie" type lol


while {true} do
{
	_Zombies = (AllUnits select {_x IsKindOf "zombie"}) InAreaArray Trig1;
	{
		DeleteVehicle _x;
	} ForEach _Zombies;
	Sleep 1;
};

 

Now it delete hand-placed zombies, but zombies which spawn by addon module didn't disappear

Share this post


Link to post
Share on other sites
2 minutes ago, Freddywall said:

Now it delete hand-placed zombies, but zombies which spawn by addon module didn't disappear

it should as long as they are the same type

Share this post


Link to post
Share on other sites
6 minutes ago, gokitty1199 said:

it should as long as they are the same type

Tried only with zombies which was spawn by module. Still doesn't work

Share this post


Link to post
Share on other sites
Just now, Freddywall said:

Tried only with zombies which was spawn by module. Still doesn't work

what side are the zombies? and are there any other units of that side that are not zombies in the mission?

Share this post


Link to post
Share on other sites
1 minute ago, gokitty1199 said:

what side are the zombies? and are there any other units of that side that are not zombies in the mission?

Zombies side is Civilian. Nothing more units for civilian

Share this post


Link to post
Share on other sites
Just now, Freddywall said:

Zombies side is Civilian. Nothing more units for civilian

then literally back to the first thing i posted

while {true} do
{
	_Zombies = (AllUnits select {Side _x == Civilian}) InAreaArray Trig1;
	{
		DeleteVehicle _x;
	} ForEach _Zombies;
	Sleep 1;
};

 

Share this post


Link to post
Share on other sites
15 minutes ago, gokitty1199 said:

then literally back to the first thing i posted


while {true} do
{
	_Zombies = (AllUnits select {Side _x == Civilian}) InAreaArray Trig1;
	{
		DeleteVehicle _x;
	} ForEach _Zombies;
	Sleep 1;
};

 

Still doesn't work, lol. I tried change side to EAST, WEST, RESISTANCE but nothing help. Zombies which was spawn by module continue ignore the trigger

Share this post


Link to post
Share on other sites
18 minutes ago, Freddywall said:

Still doesn't work, lol. I tried change side to EAST, WEST, RESISTANCE but nothing help. Zombies which was spawn by module continue ignore the trigger

where are you putting the script

Share this post


Link to post
Share on other sites
2 minutes ago, gokitty1199 said:

where are you putting the script

I made SafeZone.sqf, and put in init of trigger: execVM "SafeZone.sqf";

Share this post


Link to post
Share on other sites

This script works well for all sides, but not for zombies which was spawned by revage module although they should be for civilian side

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×