Jump to content

Sign in to follow this  
splatsh

addaction problem

Recommended Posts

How to addaction with this?

This is what I have in player initfield to get the right loadout.

hNil = [this, "SMAW"] call compile preprocessFile "scripts\fnc_gear.sqf";

Now I want to add some addaction that is load different loadouts.

Some code to show you how I want it.

player addaction ["GEAR: SMAW","[player, "SMAW"]scripts\fnc_gear.sqf"];
player addaction ["GEAR: STINGER","[player, "STINGER"]scripts\fnc_gear.sqf"];

But this code don't work.

So how do I write right code that works for my purpose?

Thanks

Share this post


Link to post
Share on other sites

Try this:

__null= this addAction ["GEAR: SMAW","scripts\fnc_gear.sqf",([this, "SMAW"])];

Share this post


Link to post
Share on other sites

Thanks

I did try this code

player addAction ["GEAR: SMAW","scripts\fnc_gear.sqf",([player, "SMAW"])];

It did not work, it deleted all my gear. So the first part in my fnc_gear.sqf file worked, but it did not give me any new gear =/

Share this post


Link to post
Share on other sites

Well u'll have to post your script in order to understand what is wrong.

Share this post


Link to post
Share on other sites

OK

Player initfield: (Working when I play)

hNil = [this, "START"] call compile preprocessFile "scripts\fnc_gear.sqf";

fnc_gear.sqf (Working when I play)

if (!isServer) exitWith {};
_unit = _this select 0;
_strLoadout = _this select 1;

removeAllWeapons _unit;
removeBackpack _unit;

switch (_strLoadout) do
{   
case "MG":
{
	if (local _unit) then
	{
		{_unit addBackpack "US_Backpack_AmmoMG_EP1";} forEach [1];
		clearMagazineCargo unitBackpack _unit;
		{_unit addMagazine "100Rnd_556x45_BetaCMag";} forEach [1,2,3,4];
     		_unit addWeapon "M249_m145_EP1";
		(unitBackpack _unit) addMagazineCargo ["100Rnd_556x45_BetaCMag",5];
	};
};

case "START":
{
		{_unit addBackpack "US_Backpack_AmmoMG_EP1";} forEach [1];
		clearMagazineCargo unitBackpack _unit;
		{_unit addMagazine "100Rnd_556x45_BetaCMag";} forEach [1,2,3,4];
     		_unit addWeapon "M249_m145_EP1";
		(unitBackpack _unit) addMagazineCargo ["100Rnd_556x45_BetaCMag",5];
};

case "STINGER":
{
		{_unit addBackpack "US_Backpack_AmmoMG_EP1";} forEach [1];
		clearMagazineCargo unitBackpack _unit;
		{_unit addMagazine "20Rnd_762x51_B_SCAR";} forEach [1,2,3,4,5];
     		_unit addWeapon "Stinger";
     		_unit addWeapon "ACE_SCAR_H_STD_Spect";
		(unitBackpack _unit) addMagazineCargo ["20Rnd_762x51_B_SCAR",5];
		(unitBackpack _unit) addMagazineCargo ["Stinger",1];
};

case "JAVELIN":
{
		{_unit addBackpack "US_Backpack_AmmoMG_EP1";} forEach [1];
		clearMagazineCargo unitBackpack _unit;
		{_unit addMagazine "20Rnd_762x51_B_SCAR";} forEach [1,2,3,4,5];
		{_unit addMagazine "ACE_Javelin_Direct";} forEach [1];
     		_unit addWeapon "ACE_Javelin_Direct";
     		_unit addWeapon "ACE_SCAR_H_STD_Spect";
		(unitBackpack _unit) addMagazineCargo ["ACE_Javelin_Direct",1];
		(unitBackpack _unit) addMagazineCargo ["20Rnd_762x51_B_SCAR",5];
};

case "SNIPER":
{
		{_unit addBackpack "US_Backpack_AmmoMG_EP1";} forEach [1];
		clearMagazineCargo unitBackpack _unit;
		{_unit addMagazine "ACE_5Rnd_127x99_B_TAC50";} forEach [1,2,3,4,5,6,7,8,9,10,11];
     		_unit addWeapon "ACE_AS50";
		(unitBackpack _unit) addMagazineCargo ["ACE_5Rnd_127x99_B_TAC50",10];
};

case "SMAW":
{
		{_unit addBackpack "US_Backpack_AmmoMG_EP1";} forEach [1];
		clearMagazineCargo unitBackpack _unit;
		{_unit addMagazine "20Rnd_762x51_B_SCAR";} forEach [1,2,3,4,5];
		{_unit addMagazine "SMAW_HEAA";} forEach [1,2];
     		_unit addWeapon "SMAW";
     		_unit addWeapon "ACE_SCAR_H_STD_Spect";
		(unitBackpack _unit) addMagazineCargo ["20Rnd_762x51_B_SCAR",5];
		(unitBackpack _unit) addMagazineCargo ["SMAW_HEAA",1];
};
};

if (!(_unit hasWeapon "itemGPS")) then
{
_unit addWeapon "itemGPS";
};
_unit addWeapon "Binocular_Vector";
_unit addWeapon "NVGoggles";
_unit addMagazine "ACE_Battery_Rangefinder";
_primaryWeapon = primaryWeapon _unit;
_unit selectweapon _primaryWeapon;
// Fix for weapons with grenade launcher
_muzzles = getArray(configFile>>"cfgWeapons" >> _primaryWeapon >> "muzzles");
_unit selectWeapon (_muzzles select 0);

Now I want to addaction in my init.sqf file

This one down here is not working, but you can see how I want to have it =)

init.sqf

player addAction ["GEAR: SMAW","scripts\fnc_gear.sqf",([player, "SMAW"])];
player addAction ["GEAR: SNIPER","scripts\fnc_gear.sqf",([player, "SNIPER"])];
player addAction ["GEAR: JAVELIN","scripts\fnc_gear.sqf",([player, "JAVELIN"])];
player addAction ["GEAR: STINGER","scripts\fnc_gear.sqf",([player, "STINGER"])];
player addAction ["GEAR: MG","scripts\fnc_gear.sqf",([player, "MG"])];

Share this post


Link to post
Share on other sites

unitName addAction [title, filename, (arguments, priority, showWindow, hideOnUse, shortcut, condition)]

But this

player addAction ["GEAR: JAVELIN","scripts\fnc_gear.sqf",(player, "JAVELIN")];

or this

player addAction ["GEAR: JAVELIN","scripts\fnc_gear.sqf",([player, "JAVELIN"])];

does not work...... help please

Share this post


Link to post
Share on other sites

How about this:

player addAction ["GEAR: JAVELIN", "scripts\fnc_gear.sqf", [player, "JAVELIN"]];

Share this post


Link to post
Share on other sites
  Gekkibi said:
How about this:

player addAction ["GEAR: JAVELIN", "scripts\fnc_gear.sqf", [player, "JAVELIN"]];

No, sorry, don't work

Share this post


Link to post
Share on other sites
  splatsh said:
No, sorry, don't work

Well you gonna have to change your script to make it work using addAction.

Where you write _this in you "normal" script write (_this select 3) in the script file your addaction uses.

So if you somewhere in your "normal" script wrote:

_this select 0 write (_this select 3) select 0 instead.

Share this post


Link to post
Share on other sites
  Muzzleflash said:
Well you gonna have to change your script to make it work using addAction.

Where you write _this in you "normal" script write (_this select 3) in the script file your addaction uses.

So if you somewhere in your "normal" script wrote:

_this select 0 write (_this select 3) select 0 instead.

What?

I am using that you can see above.

In SP and MP and this code is working fine now:

in player initfield I have this:

hNil = [this, "JAVELIN"] call compile preprocessFile "scripts\fnc_gear.sqf";

fnc_gear.sqf

if (!isServer) exitWith {};
_unit = _this select 0;
_strLoadout = _this select 1;

removeAllWeapons _unit;
removeBackpack _unit;

switch (_strLoadout) do
{   
case "MG":
{
	if (local _unit) then
	{
		{_unit addBackpack "US_Backpack_AmmoMG_EP1";} forEach [1];
		clearMagazineCargo unitBackpack _unit;
		{_unit addMagazine "100Rnd_556x45_BetaCMag";} forEach [1,2,3,4];
     		_unit addWeapon "M249_m145_EP1";
		(unitBackpack _unit) addMagazineCargo ["100Rnd_556x45_BetaCMag",5];
	};
};

case "START":
{
		{_unit addBackpack "US_Backpack_AmmoMG_EP1";} forEach [1];
		clearMagazineCargo unitBackpack _unit;
		{_unit addMagazine "100Rnd_556x45_BetaCMag";} forEach [1,2,3,4];
     		_unit addWeapon "M249_m145_EP1";
		(unitBackpack _unit) addMagazineCargo ["100Rnd_556x45_BetaCMag",5];
};

case "STINGER":
{
		{_unit addBackpack "US_Backpack_AmmoMG_EP1";} forEach [1];
		clearMagazineCargo unitBackpack _unit;
		{_unit addMagazine "20Rnd_762x51_B_SCAR";} forEach [1,2,3,4,5];
     		_unit addWeapon "Stinger";
     		_unit addWeapon "ACE_SCAR_H_STD_Spect";
		(unitBackpack _unit) addMagazineCargo ["20Rnd_762x51_B_SCAR",5];
		(unitBackpack _unit) addMagazineCargo ["Stinger",1];
};

case "JAVELIN":
{
		{_unit addBackpack "US_Backpack_AmmoMG_EP1";} forEach [1];
		clearMagazineCargo unitBackpack _unit;
		{_unit addMagazine "20Rnd_762x51_B_SCAR";} forEach [1,2,3,4,5];
		{_unit addMagazine "ACE_Javelin_Direct";} forEach [1];
     		_unit addWeapon "ACE_Javelin_Direct";
     		_unit addWeapon "ACE_SCAR_H_STD_Spect";
		(unitBackpack _unit) addMagazineCargo ["ACE_Javelin_Direct",1];
		(unitBackpack _unit) addMagazineCargo ["20Rnd_762x51_B_SCAR",5];
};

case "SNIPER":
{
		{_unit addBackpack "US_Backpack_AmmoMG_EP1";} forEach [1];
		clearMagazineCargo unitBackpack _unit;
		{_unit addMagazine "ACE_5Rnd_127x99_B_TAC50";} forEach [1,2,3,4,5,6,7,8,9,10,11];
     		_unit addWeapon "ACE_AS50";
		(unitBackpack _unit) addMagazineCargo ["ACE_5Rnd_127x99_B_TAC50",10];
};

case "SMAW":
{
		{_unit addBackpack "US_Backpack_AmmoMG_EP1";} forEach [1];
		clearMagazineCargo unitBackpack _unit;
		{_unit addMagazine "20Rnd_762x51_B_SCAR";} forEach [1,2,3,4,5];
		{_unit addMagazine "SMAW_HEAA";} forEach [1,2];
     		_unit addWeapon "SMAW";
     		_unit addWeapon "ACE_SCAR_H_STD_Spect";
		(unitBackpack _unit) addMagazineCargo ["20Rnd_762x51_B_SCAR",5];
		(unitBackpack _unit) addMagazineCargo ["SMAW_HEAA",1];
};
};

if (!(_unit hasWeapon "itemGPS")) then
{
_unit addWeapon "itemGPS";
};
_unit addWeapon "Binocular_Vector";
_unit addWeapon "NVGoggles";
_unit addMagazine "ACE_Battery_Rangefinder";
_primaryWeapon = primaryWeapon _unit;
_unit selectweapon _primaryWeapon;
// Fix for weapons with grenade launcher
_muzzles = getArray(configFile>>"cfgWeapons" >> _primaryWeapon >> "muzzles");
_unit selectWeapon (_muzzles select 0);

Now I want to have something that give my player (me) some actions (addAction) so I can change gear while I am playing.

But all my addActions try are fail and I don't know how to set up some addActions that can use my fnc_gear.sqf file.

addAction

http://community.bistudio.com/wiki/addAction

unitName addAction [title, filename, (arguments, priority, showWindow, hideOnUse, shortcut, condition)]

I have try this and I can't get it to work right.

I can't get right arguments for the code, all that happen is that

my weapon and ammor are lost when I try this:

player addAction ["GEAR: JAVELIN", "scripts\fnc_gear.sqf", [player, "JAVELIN"]];
player addAction ["GEAR: JAVELIN","scripts\fnc_gear.sqf",([player, "JAVELIN"])];
player addAction ["GEAR: JAVELIN","scripts\fnc_gear.sqf",(player, "JAVELIN")];

But I need help with getting the right arguments for it (player) and (TYPE OF GEAR)

Thanks

Edited by splatsh

Share this post


Link to post
Share on other sites

[player, "JAVELIN"] are supposed to be the parms the script gets, so as a test i'd rewrite the script to show you if those parms are correct:

if (!isServer) exitWith {};
_unit = _this select 0;
_strLoadout = _this select 1;

player sidechat format["%1 %2", _unit, _strLoadout];

And did you see the Biki for addaction?:

  Quote
Parameters of the called script upon activation:

An array of parameters is passed to the called script: [target, caller, ID, (arguments)]

* target: Object - the object which the action is assigned to

* caller: Object - the unit that activated the action

* ID: Integer - ID of the activated action

* arguments: Anything - arguments given to the script if you are using the extended syntax

The script gets its arguments inside another array, hence the info Muzzleflash gave you.

So what your script gets is: [target, caller, ID, [player, "JAVELIN"]]

(_this select 3) would be [player, "JAVELIN"]

and ((_this select 3) select 0) would be player

Edited by ])rStrangelove

Share this post


Link to post
Share on other sites

Consult the BIKI: addaction.

Starting a script by action, e.g.:

player addAction ["GEAR: JAVELIN", "scripts\fnc_gear.sqf", [player, "JAVELIN"]];

the script gets passed the following parameters: [target, caller, ID, (arguments)];

Means, in fnc_gear.sqf, you could do:

_target = _this select 0; // the object the action is assigned to; here: player
_caller = _this select 1; // the object using the action; here: usually the player
_id = _this select 2; // the action id, also the return value of addaction
_parameters = _this select 3; // the parameters; here: [player,"JAVELIN"]

In this example:

(_this select 3) select 0 -> player

(_this select 3) select 1 -> "JAVELIN"

Share this post


Link to post
Share on other sites

So how can I do to use my fnc_gear.sqf file to my purpose?

I need this so my starting loadout work

B]fnc_gear.sqf[/b]

_unit = _this select 0;
_strLoadout = _this select 1;

And I need this to get addAction to work?

B]fnc_gear.sqf[/b]

_target = _this select 0; // the object the action is assigned to; here: player
_caller = _this select 1; // the object using the action; here: usually the player
_id = _this select 2; // the action id, also the return value of addaction
_parameters = _this select 3; // the parameters; here: [player,"JAVELIN"]

I want to use the same file twice, can it be done?

(I don't want to have more then one fnc_gear.sqf file)

Share this post


Link to post
Share on other sites

Add -showScriptErrors to your shortcut. That way you will see errors on the screen. They are also logged to your arma2.RPT, with or without that parameter.

Share this post


Link to post
Share on other sites
  Deadfast said:
Add -showScriptErrors to your shortcut. That way you will see errors on the screen. They are also logged to your arma2.RPT, with or without that parameter.

I think that is not the problem, the problem is that I don't know to write this down with right parameters and so on, need someone to guide me to write it right...

My script is working fine...

And I need to add some addActions that can change my gear while I am playing the game.

And that addAction is going to point at my fnc_gear.sqf file.

Can it not be done with my code (fnc_gear.sqf) now, so please show me how to do it right.

Thanks.

Share this post


Link to post
Share on other sites

LOL! Your script is not "working fine" if it does not work!

The add "showscripterrors" and looking in the report file is excellent advice.

Anyway...just from reading this thread and the help you have already been given....I got it working with not too much trouble at all.... Demo here.

EDIT: You can name your script anything you want...it is your script. As it stands however....it is not a function.....so maybe you should leave out the "fnc_" in the name. This normally means it is a function of some sort and may be confusing to others.

Edited by twirly
Added some text

Share this post


Link to post
Share on other sites

1. Remove the "player," brackets and parenthesis from the third parameter in your addAction lines. For example,

replace:

player addAction ["GEAR: SMAW","scripts\fnc_gear.sqf",([player, "SMAW"])];

with:

player addAction ["GEAR: SMAW","scripts\fnc_gear.sqf","SMAW"];

2. In your fnc_gear script, add the following line immediately below line 3:

if (_strLoadout == _unit) then {_strLoadout = _this select 3};

If you follow those two steps exactly, it should work the way you want it to.

Edited by ST_Dux

Share this post


Link to post
Share on other sites

Thanks, I have now done this:

At player init:

_playerInit = [this] execVM "init_player.sqf";

init_player.sqf

_unit = _this select 0;
_plactID1 = _unit addAction ["Gear: STINGER","scripts\change_gear.sqf",[_unit, "STINGER"],1,false]; 
_plactID2 = _unit addAction ["Gear: JAVELIN","scripts\change_gear.sqf",[_unit, "JAVELIN"],1,false]; 
_plactID2 = _unit addAction ["Gear: SMAW","scripts\change_gear.sqf",[_unit, "SMAW"],1,false]; 
_plactID2 = _unit addAction ["Gear: MG","scripts\change_gear.sqf",[_unit, "MG"],1,false]; 
_plactID2 = _unit addAction ["Gear: SNIPER","scripts\change_gear.sqf",[_unit, "SNIPER"],1,false]; 

At this works great and it works as I wanted it do work.

Thanks for the assist on that one :)

No to the problem I got, how do I call a custom loadout from a player at player initfield?

My change_gear.sqf look like this now:

change_gear.sqf

_unit = _this select 1;
_strLoadout = (_this select 3) select 1;


removeAllWeapons _unit;
removeBackpack _unit;

switch (_strLoadout) do
{   
case "MG":
{
		{_unit addBackpack "US_Backpack_AmmoMG_EP1";} forEach [1];
		clearMagazineCargo unitBackpack _unit;
		{_unit addMagazine "100Rnd_556x45_BetaCMag";} forEach [1,2,3,4,5];
		{_unit addMagazine "ACE_Bandage";} forEach [1,2,3,4,5,6,7,8];
     		_unit addWeapon "M249_m145_EP1";
		(unitBackpack _unit) addMagazineCargo ["100Rnd_556x45_BetaCMag",5];
};

case "START":
{
		{_unit addBackpack "US_Backpack_AmmoMG_EP1";} forEach [1];
		clearMagazineCargo unitBackpack _unit;
		{_unit addMagazine "100Rnd_556x45_BetaCMag";} forEach [1,2,3,4,5];
		{_unit addMagazine "ACE_Bandage";} forEach [1,2,3,4,5,6,7,8];
     		_unit addWeapon "M249_m145_EP1";
		(unitBackpack _unit) addMagazineCargo ["100Rnd_556x45_BetaCMag",5];
};

case "STINGER":
{
		{_unit addBackpack "US_Backpack_AmmoMG_EP1";} forEach [1];
		clearMagazineCargo unitBackpack _unit;
		{_unit addMagazine "20Rnd_762x51_B_SCAR";} forEach [1,2,3,4,5];
		{_unit addMagazine "ACE_Bandage";} forEach [1,2,3,4,5,6,7,8];
     		_unit addWeapon "Stinger";
     		_unit addWeapon "ACE_SCAR_H_STD_Spect";
		(unitBackpack _unit) addMagazineCargo ["20Rnd_762x51_B_SCAR",5];
		(unitBackpack _unit) addMagazineCargo ["Stinger",1];
};

case "JAVELIN":
{
		{_unit addBackpack "US_Backpack_AmmoMG_EP1";} forEach [1];
		clearMagazineCargo unitBackpack _unit;
		{_unit addMagazine "20Rnd_762x51_B_SCAR";} forEach [1,2,3,4,5];
		{_unit addMagazine "ACE_Bandage";} forEach [1,2,3,4,5,6,7,8];
		{_unit addMagazine "ACE_Javelin_Direct";} forEach [1];
     		_unit addWeapon "ACE_Javelin_Direct";
     		_unit addWeapon "ACE_SCAR_H_STD_Spect";
		(unitBackpack _unit) addMagazineCargo ["ACE_Javelin_Direct",1];
		(unitBackpack _unit) addMagazineCargo ["20Rnd_762x51_B_SCAR",5];
};

case "SNIPER":
{
		{_unit addBackpack "US_Backpack_AmmoMG_EP1";} forEach [1];
		clearMagazineCargo unitBackpack _unit;
		{_unit addMagazine "ACE_5Rnd_127x99_B_TAC50";} forEach [1,2,3,4,5,6,7,8,9,10,11];
		{_unit addMagazine "ACE_Bandage";} forEach [1,2,3,4,5,6,7,8];
     		_unit addWeapon "ACE_AS50";
		(unitBackpack _unit) addMagazineCargo ["ACE_5Rnd_127x99_B_TAC50",10];
};

case "SMAW":
{
		{_unit addBackpack "US_Backpack_AmmoMG_EP1";} forEach [1];
		clearMagazineCargo unitBackpack _unit;
		{_unit addMagazine "20Rnd_762x51_B_SCAR";} forEach [1,2,3,4,5];
		{_unit addMagazine "ACE_Bandage";} forEach [1,2,3,4,5,6,7,8];
		{_unit addMagazine "SMAW_HEAA";} forEach [1,2];
     		_unit addWeapon "SMAW";
     		_unit addWeapon "ACE_SCAR_H_STD_Spect";
		(unitBackpack _unit) addMagazineCargo ["20Rnd_762x51_B_SCAR",5];
		(unitBackpack _unit) addMagazineCargo ["SMAW_HEAA",1];
};
};

if (!(_unit hasWeapon "itemGPS")) then
{
_unit addWeapon "itemGPS";
};
_unit addWeapon "Binocular_Vector";
_unit addWeapon "NVGoggles";
_unit addMagazine "ACE_Battery_Rangefinder";
_primaryWeapon = primaryWeapon _unit;
_unit selectweapon _primaryWeapon;
// Fix for weapons with grenade launcher
_muzzles = getArray(configFile>>"cfgWeapons" >> _primaryWeapon >> "muzzles");
_unit selectWeapon (_muzzles select 0);

And I want that each of my player start diferent loadouts.

Example of players initfield:

Player 1:

_LoadOut = [this, "MG"] execVM "scripts\change_gear.sqf";

Player 2:

_LoadOut = [this, "JAVELIN"] execVM "scripts\change_gear.sqf";

Player 3:

_LoadOut = [this, "STINGER"] execVM "scripts\change_gear.sqf";

Now this exampel is not working, so how to write it so it will work with my change_gear.sqf file?

And my addAction must work at the same time in that way I got it now with my change_gear.sqf file.

Share this post


Link to post
Share on other sites

If you go back to your original script and follow the two steps I outlined in the post above, it will work both for initial gear selection and changing gear later.

Share this post


Link to post
Share on other sites
  ST_Dux said:
If you go back to your original script and follow the two steps I outlined in the post above, it will work both for initial gear selection and changing gear later.

Are you sure?

I tested to do so at firts, but without good result.

Please upload a demo so I can see that I tested the right thing.

Share this post


Link to post
Share on other sites

Yes, I'm sure. Please post your original script and the init lines for your players, both with the suggested changes made, so I can see what's going wrong.

Share this post


Link to post
Share on other sites

oki :)

Initfield player:

_startGear = [this, "JAVELIN"] call compile preprocessFile "scripts\fnc_gear.sqf"; _playerInit = [this] execVM "init_player.sqf";

fnc_gear.sqf

if (!isServer) exitWith {};

_unit = _this select 0;
_strLoadout = _this select 1;
if (_strLoadout == _unit) then {_strLoadout = _this select 3};

removeAllWeapons _unit;
removeBackpack _unit;

switch (_strLoadout) do
{   
case "MG":
{
		{_unit addBackpack "US_Backpack_AmmoMG_EP1";} forEach [1];
		clearMagazineCargo unitBackpack _unit;
		{_unit addMagazine "100Rnd_556x45_BetaCMag";} forEach [1,2,3,4,5];
		{_unit addMagazine "ACE_Bandage";} forEach [1,2,3,4,5,6,7,8];
     		_unit addWeapon "M249_m145_EP1";
		(unitBackpack _unit) addMagazineCargo ["100Rnd_556x45_BetaCMag",5];
};

case "START":
{
		{_unit addBackpack "US_Backpack_AmmoMG_EP1";} forEach [1];
		clearMagazineCargo unitBackpack _unit;
		{_unit addMagazine "100Rnd_556x45_BetaCMag";} forEach [1,2,3,4,5];
		{_unit addMagazine "ACE_Bandage";} forEach [1,2,3,4,5,6,7,8];
     		_unit addWeapon "M249_m145_EP1";
		(unitBackpack _unit) addMagazineCargo ["100Rnd_556x45_BetaCMag",5];
};

case "STINGER":
{
		{_unit addBackpack "US_Backpack_AmmoMG_EP1";} forEach [1];
		clearMagazineCargo unitBackpack _unit;
		{_unit addMagazine "20Rnd_762x51_B_SCAR";} forEach [1,2,3,4,5];
		{_unit addMagazine "ACE_Bandage";} forEach [1,2,3,4,5,6,7,8];
     		_unit addWeapon "Stinger";
     		_unit addWeapon "ACE_SCAR_H_STD_Spect";
		(unitBackpack _unit) addMagazineCargo ["20Rnd_762x51_B_SCAR",5];
		(unitBackpack _unit) addMagazineCargo ["Stinger",1];
};

case "JAVELIN":
{
		{_unit addBackpack "US_Backpack_AmmoMG_EP1";} forEach [1];
		clearMagazineCargo unitBackpack _unit;
		{_unit addMagazine "20Rnd_762x51_B_SCAR";} forEach [1,2,3,4,5];
		{_unit addMagazine "ACE_Bandage";} forEach [1,2,3,4,5,6,7,8];
		{_unit addMagazine "ACE_Javelin_Direct";} forEach [1];
     		_unit addWeapon "ACE_Javelin_Direct";
     		_unit addWeapon "ACE_SCAR_H_STD_Spect";
		(unitBackpack _unit) addMagazineCargo ["ACE_Javelin_Direct",1];
		(unitBackpack _unit) addMagazineCargo ["20Rnd_762x51_B_SCAR",5];
};

case "SNIPER":
{
		{_unit addBackpack "US_Backpack_AmmoMG_EP1";} forEach [1];
		clearMagazineCargo unitBackpack _unit;
		{_unit addMagazine "ACE_5Rnd_127x99_B_TAC50";} forEach [1,2,3,4,5,6,7,8,9,10,11];
		{_unit addMagazine "ACE_Bandage";} forEach [1,2,3,4,5,6,7,8];
     		_unit addWeapon "ACE_AS50";
		(unitBackpack _unit) addMagazineCargo ["ACE_5Rnd_127x99_B_TAC50",10];
};

case "SMAW":
{
		{_unit addBackpack "US_Backpack_AmmoMG_EP1";} forEach [1];
		clearMagazineCargo unitBackpack _unit;
		{_unit addMagazine "20Rnd_762x51_B_SCAR";} forEach [1,2,3,4,5];
		{_unit addMagazine "ACE_Bandage";} forEach [1,2,3,4,5,6,7,8];
		{_unit addMagazine "SMAW_HEAA";} forEach [1,2];
     		_unit addWeapon "SMAW";
     		_unit addWeapon "ACE_SCAR_H_STD_Spect";
		(unitBackpack _unit) addMagazineCargo ["20Rnd_762x51_B_SCAR",5];
		(unitBackpack _unit) addMagazineCargo ["SMAW_HEAA",1];
};
};

if (!(_unit hasWeapon "itemGPS")) then
{
_unit addWeapon "itemGPS";
};
_unit addWeapon "Binocular_Vector";
_unit addWeapon "NVGoggles";
_unit addMagazine "ACE_Battery_Rangefinder";
_primaryWeapon = primaryWeapon _unit;
_unit selectweapon _primaryWeapon;
// Fix for weapons with grenade launcher
_muzzles = getArray(configFile>>"cfgWeapons" >> _primaryWeapon >> "muzzles");
_unit selectWeapon (_muzzles select 0);

init_player.sqf

_unit = _this select 0;
 _plactID1 = _unit addAction ["Gear: STINGER","scripts\fnc_gear.sqf",[_unit, "STINGER"],1,false]; 
 _plactID2 = _unit addAction ["Gear: JAVELIN","scripts\fnc_gear.sqf",[_unit, "JAVELIN"],1,false]; 
 _plactID3 = _unit addAction ["Gear: SMAW","scripts\fnc_gear.sqf",[_unit, "SMAW"],1,false]; 
 _plactID4 = _unit addAction ["Gear: MG","scripts\fnc_gear.sqf",[_unit, "MG"],1,false]; 
 _plactID5 = _unit addAction ["Gear: SNIPER","scripts\fnc_gear.sqf",[_unit, "SNIPER"],1,false];
 _plactID6 = _unit addAction ["Request: Transport","init_transport.sqf"];

Share this post


Link to post
Share on other sites

fnc_gear.sqf is fine, but you need to change your addAction calls. Instead of this:

["Gear: STINGER","scripts\fnc_gear.sqf",[_unit, "STINGER"],1,false]

Use this:

["Gear: STINGER","scripts\fnc_gear.sqf",[b]"STINGER"[/b],1,false]

The unit is already passed to the script by virtue of it being an addAction. The only additional argument that you need to pass is the weapon string.

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  

×