Jump to content
Sign in to follow this  
Moon_chilD

Apply script in Config only in editor

Recommended Posts

Update: I managed to get most off the stuff working. Only the 1. ist still missing!

 

Hey guys,

 

okay I know this topic has been talked about for quite some time and there are several threads about it. However I still open a new one because I have some further questions. 

Lets start with my idea:
I'm building a PMC Faction (for my unit) atm. There is no dress code meaning they can basically wear what they want (okay, to an extent ...). What I want to do now is, that the units you can place in the editor will have random gear (taken from a pool of classnames) when placed. Okay, I have managed to do that. Thats how it looks right now:

 

CfgVehicles.hpp

class CfgVehicles
	{
		....
		....
		....
		class MYUNIT
			{
				....
				....
				....
				....
				class Eventhandlers: Eventhandlers
					{
						init = "[(_this select 0)] execVM '\PATH\scripts\random_uniform_unit.sqf';";
					};
			};
		....
		....
		....
	};

random_uniform_unit.sqf

 

_unit = _this select 0;

removeUniform _unit;
removeHeadgear _unit;
removevest _unit;
_uniform = ["classname","classname"...] call BIS_fnc_selectRandom;
_headGear = ["classname","classname"...] call BIS_fnc_selectRandom;
_vest = ["classname","classname"...] call BIS_fnc_selectRandom;
_unit addHeadgear _headGear;
_unit addUniform _uniform;
_unit addvest _vest;

So far that works. Whenever I place a unit in the editor he gets randomly assigned a Helmet, Vest and Uniform. Now I have several other problems.

1. When I start the mission the unit yet again gets a new random gear. I know why but how could I prevent that from happening?

 

2. When the unit respawns he is naked. Again, I know why but how could I make it so the unit gets respawned with the very same gear he had when the mission started?

 

3. The way I do it right now also removes all the ammunition in the Uniform and Vest (setup with "magazines[] = {};" and "respawnmagazines[] = {};"). Yet again, its obvious why, but what would be the best way to get around that problem? One idea would be to assign the equipment (Mags and Grenades) directly in the random_uniform_unit.sqf which works but also creates problems with question number 2. 

I hope someone could help me with that task.
I'm not the very best when it comes to scripting (but I try to learn wherever I can :3)  and also config editing / Mod making is quite new to me. So bear with me, I'll try my best to not be a pain in the butt!

 

BTW, if CBAs Extended EventHandlers would help here, I'd also use them but I'm quite unsure how to set them up.

 

Many Greetings and many thanks in advance
Moony

Share this post


Link to post
Share on other sites

Okay I've 2 and 3 so far. 

2 - I've added another EventHandler but this time a "Respawn" EH. This one leads to another script looking like this:

_unit = _this select 0;
_corpse = _this select 1;

_loadout = getUnitLoadout _corpse;
_unit setUnitLoadout _loadout;

3 - I've added "_magazineStore = magazines _unit;" in the second line and this "{_unit addMagazine _x} forEach _magazineStore;" in the last. 

Now my only problem that stays is the first. 
How can I run the init EH only in editor? (So that it is not run again when the mission starts)

Share this post


Link to post
Share on other sites

I figured it out (or better commy2 on discord did ^^)

I basically gave the unit a default uniform that is not in the uniform pool and checked it in the script. If it has the uniform, the script randomly assigns gear, if not nothing happens!

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
Sign in to follow this  

×