LordRampantHump

Zombie Bodies as objects

13 posts in this topic

Hi guys

whats the best way to get zombie bodies on the map that will not get cleaned up do you think?

I have tried various things but they always end up in that prone aiming pose on the server (not in editor). I would like to have more control over how they place.

20170708160045_1.jpg

I would like them to be objects rather than dead AI

Any thoughts?

Share this post


Link to post
Share on other sites
Advertisement

Map editor, dropped them and killed them. However, my question was

" whats the best way to get zombie bodies on the map that will not get cleaned up do you think "

not

"lets talk about what I did or didnt do" ;-)

Being that i dont really have a clue........ what i did really doesn't matter. Im trying to get "Your" opinion about how "You" would do it!

Edited by LordRampantHump

Share this post


Link to post
Share on other sites

Make a lookg hoI w the Trader AIs god spawned ;)

i think at will easy worked with this methode.

just take this AI you want and used y death animations for it :) i dont think you can give them equip without make them loottable. its need be tested. but after you have done that you need to add _trader setdamge 1; there. if have done that in the example below. I think it will worked on this way and it will be the best way to do them each player have the own dead bodyAI same the Traders what dont effect by the server cleanup.

 

If you have try them on this way pls make a response about that. :)

if (!hasInterface || isServer) exitWith {};

// 26 NPCs
private _npcs = [
["Exile_Trader_Aircraft", ["Acts_carFixingWheel"], "Exile_Trader_Aircraft", "WhiteHead_08", [[],[],[],["U_I_pilotCoveralls",[]],[],[],"","G_Aviator",[],["","","","","",""]], [6954.19, 7500.08, 2.66144], [0, 1, 0], [0, 0, 1]]
];

{
    private _logic = "Logic" createVehicleLocal [0, 0, 0];
    private _trader = (_x select 0) createVehicleLocal [0, 0, 0];
    private _animations = _x select 1;
    
    _logic setPosWorld (_x select 5);
    _logic setVectorDirAndUp [_x select 6, _x select 7];
    
    _trader setVariable ["BIS_enableRandomization", false];
    _trader setVariable ["BIS_fnc_animalBehaviour_disable", true];
    _trader setVariable ["ExileAnimations", _animations];
//    _trader setVariable ["ExileTraderType", _x select 2];
//    _trader disableAI "ANIM";
//    _trader disableAI "MOVE";
//    _trader disableAI "FSM";
//    _trader disableAI "AUTOTARGET";
//    _trader disableAI "TARGET";
//    _trader disableAI "CHECKVISIBLE";
    
// added by scrap
	_trader setdamage 1;
    
    _trader allowDamage false;
    _trader setFace (_x select 3);
    _trader setUnitLoadOut (_x select 4);
    _trader setPosWorld (_x select 5);
    _trader setVectorDirAndUp [_x select 6, _x select 7];
    _trader reveal _logic;
    _trader attachTo [_logic, [0, 0, 0]];
    _trader switchMove (_animations select 0);
    _trader addEventHandler ["AnimDone", {_this call ExileClient_object_trader_event_onAnimationDone}];
}
forEach _npcs;

 

Share this post


Link to post
Share on other sites

And my question above means i need to know how did you added the current one who dosnt work because then  i know what you have allready trying ^^

 

Share this post


Link to post
Share on other sites
5 hours ago, LordRampantHump said:

Map editor, dropped them and killed them. However, my question was

" whats the best way to get zombie bodies on the map that will not get cleaned up do you think "

not

"lets talk about what I did or didnt do" ;-)

Being that i dont really have a clue........ what i did really doesn't matter. Im trying to get "Your" opinion about how "You" would do it!

I'd suggest not being quite so hostile. Asking how you did it and how it failed eliminates one potential method people could suggest to you.

This is a community, we provide support. Help us to help you.

Share this post


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

I'd suggest not being quite so hostile. Asking how you did it and how it failed eliminates one potential method people could suggest to you.

This is a community, we provide support. Help us to help you.

didnt intend to come off hostile, often i see posts here with pointless condescending replies from people who dont offer advice but seem to enjoy vague replies, i guess i was trying to cut to the chase!

Share this post


Link to post
Share on other sites

While this is fantastic fun, its not working well!

Bang goes my control!

private _npcs = [ 
["RyanZombieC_man_polo_1_FSlowOpfor", ["Acts_carFixingWheel"], "Exile_Trader_Aircraft", "WhiteHead_08", [[],[],[],["U_I_pilotCoveralls",[]],[],[],"","G_Aviator",[],["","","","","",""]], [6815.54,2448.39,0], [0, 1, 0], [0, 0, 1]]
]; 
{ 
    private _logic = "Logic" createVehicleLocal [0, 0, 0]; 
    private _trader = (_x select 0) createVehicleLocal [1629.22,2847.79,0]; 
    private _animations = _x select 1; 
     
    _logic setPosWorld (_x select 5); 
    
     
    _trader setVariable ["BIS_enableRandomization", false]; 
    _trader setVariable ["BIS_fnc_animalBehaviour_disable", true]; 
    _trader setVariable ["ExileAnimations", _animations]; 
 
 _trader setdamage 1; 
     
    _trader allowDamage false; 
 

 
} 
forEach _npcs;

 

Share this post


Link to post
Share on other sites

its really wired just createing this wit the exile_eden editor plugin and its works well :D

https://steamuserimages-a.akamaihd.net/ugc/847090810094944219/BC88F43EFD281E91FF19EB025254963B1235BB0E/

 

I have set them currently with all the Variables but its will work also without them i have changes the setdamage amout to 0.9 because so nowone can loot the dead bodys. ^^ Yeah you can give them on this methode different equip :P

take different death animations and all looks good :)


private _npcs = [
["Exile_Unit_Player", ["KIA_gunner_static_low01"], "", "WhiteHead_02", [[],[],[],["U_I_pilotCoveralls",[]],[],[],"H_PilotHelmetHeli_O","G_Combat",[],["","","","","",""]], [4102.65, 7259.25, 292.521], [-0.0729597, 0.997335, 0], [0, 0, 1]],
["Exile_Unit_Player", ["KIA_gunner_static_low01"], "", "WhiteHead_14", [[],[],[],["U_I_pilotCoveralls",[]],[],[],"H_PilotHelmetHeli_O","",[],["","","","","",""]], [4101.64, 7258.57, 292.577], [0.682934, -0.73048, 0], [0, 0, 1]],
["Exile_Unit_Player", ["KIA_gunner_static_low01"], "", "WhiteHead_12", [[],[],[],["U_I_pilotCoveralls",[]],[],[],"H_PilotHelmetHeli_O","",[],["","","","","",""]], [4102.8, 7257.57, 292.548], [0.849903, 0.52694, 0], [0, 0, 1]],
["Exile_Unit_Player", ["KIA_gunner_static_low01"], "", "WhiteHead_21", [[],[],[],["U_I_pilotCoveralls",[]],[],[],"H_PilotHelmetHeli_O","",[],["","","","","",""]], [4103.36, 7258.76, 292.499], [-0.707505, 0.706708, 0], [0, 0, 1]],
["Exile_Unit_Player", ["KIA_gunner_static_low01"], "", "AfricanHead_03", [[],[],[],["U_I_pilotCoveralls",[]],[],[],"H_PilotHelmetHeli_O","G_Combat",[],["","","","","",""]], [4103.19, 7259.92, 292.484], [-0.965734, -0.259534, 0], [0, 0, 1]],
["Exile_Unit_Player", ["KIA_passenger_boat_holdright"], "", "WhiteHead_21", [[],[],[],["U_I_pilotCoveralls",[]],[],[],"H_PilotHelmetHeli_O","",[],["","","","","",""]], [4104.4, 7258.31, 292.463], [0.38281, 0.923827, 0], [0, 0, 1]],
["Exile_Unit_Player", ["KIA_passenger_boat_holdright"], "", "WhiteHead_09", [[],[],[],["U_I_pilotCoveralls",[]],[],[],"H_PilotHelmetHeli_O","",[],["","","","","",""]], [4102.95, 7256.71, 292.542], [0.799536, 0.600618, 0], [0, 0, 1]],
["Exile_Unit_Player", ["KIA_passenger_boat_holdright"], "", "WhiteHead_11", [[],[],[],["U_I_pilotCoveralls",[]],[],[],"H_PilotHelmetHeli_O","",[],["","","","","",""]], [4100.41, 7258.2, 292.62], [0.684092, -0.729396, 0], [0, 0, 1]],
["Exile_Unit_Player", ["KIA_passenger_boat_holdright"], "", "GreekHead_A3_09", [[],[],[],["U_I_pilotCoveralls",[]],[],[],"H_PilotHelmetHeli_O","G_Tactical_Black",[],["","","","","",""]], [4101.89, 7261, 292.5], [0.966745, -0.255741, 0], [0, 0, 1]],
["Exile_Unit_Player", ["KIA_passenger_boat_holdright"], "", "WhiteHead_06", [[],[],[],["U_I_pilotCoveralls",[]],[],[],"H_PilotHelmetHeli_O","G_Tactical_Clear",[],["","","","","",""]], [4104.52, 7260.81, 292.393], [-0.234188, -0.972191, 0], [0, 0, 1]],
["Exile_Unit_Player", ["KIA_SPG_Gunner"], "", "WhiteHead_14", [[],[],[],["U_I_pilotCoveralls",[]],[],[],"H_PilotHelmetHeli_O","G_Aviator",[],["","","","","",""]], [4104.74, 7256.95, 292.475], [0.799538, 0.600616, 0], [0, 0, 1]]
];

{
    private _logic = "Logic" createVehicleLocal [0, 0, 0];
    private _trader = (_x select 0) createVehicleLocal [0, 0, 0];
    private _animations = _x select 1;
    
    _logic setPosWorld (_x select 5);
    _logic setVectorDirAndUp [_x select 6, _x select 7];
    
    _trader setVariable ["BIS_enableRandomization", false];
    _trader setVariable ["BIS_fnc_animalBehaviour_disable", true];
    _trader setVariable ["ExileAnimations", _animations];
    _trader setVariable ["ExileTraderType", _x select 2];
    _trader disableAI "ANIM";
    _trader disableAI "MOVE";
    _trader disableAI "FSM";
    _trader disableAI "AUTOTARGET";
    _trader disableAI "TARGET";
    _trader disableAI "CHECKVISIBLE";
	_trader setdamage 0.9;
    _trader allowDamage false;
    _trader setFace (_x select 3);
    _trader setUnitLoadOut (_x select 4);
    _trader setPosWorld (_x select 5);
    _trader setVectorDirAndUp [_x select 6, _x select 7];
    _trader reveal _logic;
    _trader attachTo [_logic, [0, 0, 0]];
    _trader switchMove (_animations select 0);
    _trader addEventHandler ["AnimDone", {_this call ExileClient_object_trader_event_onAnimationDone}];
}
forEach _npcs;

 

Share this post


Link to post
Share on other sites

Hey @Sgt. ScrapMetal,

thanks for the help, your script really got me going

here is what i ended up with:

private _npcs = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1];  
_myPos = getPos player; 
_spread = 4; 
 
{  
    _ZedsSlow = selectRandom ["RyanZombieC_man_1SlowOpfor","RyanZombieC_man_polo_1_FSlowOpfor","RyanZombieC_man_pilot_FSlowOpfor","RyanZombieC_journalist_FSlowOpfor","RyanZombieC_OrestesSlowOpfor","RyanZombieC_NikosSlowOpfor","RyanZombieC_man_polo_2_FSlowOpfor","RyanZombieC_man_polo_4_FSlowOpfor","RyanZombieC_man_polo_5_FSlowOpfor","RyanZombieC_man_polo_6_FSlowOpfor","RyanZombieC_man_p_fugitive_FSlowOpfor","RyanZombieC_man_w_worker_FSlowOpfor","RyanZombieC_scientist_FSlowOpfor","RyanZombieC_man_hunter_1_FSlowOpfor"]; 
 _trader = (_ZedsSlow) createVehicleLocal [0,0,0];  
    _trader setpos [((_myPos select 0) + random _spread),((_myPos select 1) + random _spread),random _spread];  
 _trader setDir random 360; 
    _trader setVariable ["BIS_enableRandomization", false];  
    _trader setVariable ["BIS_fnc_animalBehaviour_disable", true];  
    _trader setdamage 1;  
    _trader allowDamage false;  
  
 
uisleep 0.5;  
}  
forEach _npcs;

A few points:

Why did I create an array of 1's?

because I tried an int count do while less than 10 loop but didnt seem to want to work

I also dont have the control i wanted but i do like the randomnesss of it, i guess im not quite where i want to be yet but its certainly a nice touch.

I have got concerns about optimization however and would love some tips

will go over your above method now

Share this post


Link to post
Share on other sites
Advertisement

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.