Jump to content
twisted

script modules that are updated on event completion

Recommended Posts

Hi again,

trying to get destroying a vehicle to be rewarded by increased support availability.

and i'd prefer to do it all by script.

thing is I've been searching google and either my google-fu is crap or there's not much out there on arma3 modules and script.

anyone able to supply a simple example of how to:

1) spawn the module via script (say ammodrop)

2) link that module to player but give them 0 drops available

3) add drops to the module on some event.

:confused:

Share this post


Link to post
Share on other sites

As all supports only require 1 requester module to be in the mission just place one in the editor, it does not have to be synced to anything and will save headaches trying to set one up from script.

You could also do the same with the provider, again does not have to be synced and allows you to set up things like vehciles to use, crate inits etc

When you wish these to become available to the player just use the provided BIS functions. e.g ..

[player, requester, provider] call BIS_fnc_addSupportLink;

Will sync the modules up and you will get the supports activated in game.

To change the number of a type of support available use ..

[requester, "Drop", 0] call BIS_fnc_limitSupport;

types can be "Artillery", "Transport", "CAS_Heli", "CAS_Bombing" and "Drop".

If you really need to do all this via script heres an example

SupplyDrop.sqf

	//Create a side logic
_center = createCenter sideLogic;
//Create a group for our modules
_logicGroup = createGroup _center;
//Spawn a SupportRequestor module
_requester = _logicGroup createUnit ["SupportRequester",getpos player, [], 0, "FORM"];
//Setup requestor limit values
{
	[_requester, _x, 0] call BIS_fnc_limitSupport;
}forEach [
	"Artillery",
	"CAS_Heli",
	"CAS_Bombing",
	"UAV",
	"Drop",
	"Transport"
];
//Create a position 1km away from player in random direction
_pos = [player, 1000, (floor (random 360))] call BIS_fnc_relPos;
//Spawn a SupportProvider mosule of type Virtual_Drop
_provider = _logicGroup createUnit ["SupportProvider_Virtual_Drop", _pos, [], 0, "FORM"];
//Setup provider values
{
	_provider setVariable [(_x select 0),(_x select 1)];
}forEach [
	["BIS_SUPP_crateInit",""],		//init code for crate
	["BIS_SUPP_vehicles",[]],		//types of vehicles to use
	["BIS_SUPP_vehicleinit",""],	//init code for vehicle
	["BIS_SUPP_filter","SIDE"]		//whether default vehicles comes from "SIDE" or "FACTION"
];

//Set our limit on the requester for drops to 1
[_requester, "Drop", 1] call BIS_fnc_limitSupport;
//Sync the modules and the player together
[player, _requester, _provider] call BIS_fnc_addSupportLink;

Then where ever you need it

scriptHandle = [] execVM "SupplyDrop.sqf";

Edited by Larrow
  • Thanks 1

Share this post


Link to post
Share on other sites

thank you for such a comprehensive answer

made something I'd been struggling with clear.

would be great if the moderator could make a sticky thread with useful and FAQ code snips.

EDIT - i have google searched as well as http://community.bistudio.com/wiki/ searched for more info on

[player, requester, provider] call BIS_fnc_addSupportLink;

[requester, "Drop", 0] call BIS_fnc_limitSupport;

and i presume that one has to set up a module provider for each type of support?

and then manually enable them when appropriate

Edited by twisted

Share this post


Link to post
Share on other sites
and i presume that one has to set up a module provider for each type of support?

and then manually enable them when appropriate

Yes. Say we have already done the above script but now we wanted to add another provider, we would just need to create the provider, setup any variables of BIS_Supp on the provider, call BIS_fnc_addSupportLink specifying the player the requester we already have and the new provider and then set the limit for this new provider on the requester for how many uses the player can have.

	//Create a position for the provider, dependant on what it is??
   _pos = [player, 1000, (floor (random 360))] call BIS_fnc_relPos;
   //Spawn a SupportProvider mosule of type Virtual_Artillery
   _newProvider = _logicGroup createUnit ["SupportProvider_Virtual_Artillery", _pos, [], 0, "FORM"];
   //Setup provider values
   {
       _newProvider setVariable [(_x select 0),(_x select 1)];
   }forEach [
       ["BIS_SUPP_vehicles",[]],        //types of vehicles to use
       ["BIS_SUPP_vehicleinit",""],    //init code for vehicle
       ["BIS_SUPP_filter","SIDE"]        //whether default vehicles comes from "SIDE" or "FACTION"
   ];

   //Sync the modules and the player together
   [player, _requester, _newProvider] call BIS_fnc_addSupportLink;

   //Set our limit on the requester for artillery to 1
   [_requester, "Artillery", 1] call BIS_fnc_limitSupport;

This will create a new provider of type virtual_Artillery and set the number of uses to 1 and attach it to our current requester.

All Virtual providers have the variables "BIS_SUPP_vehicles", "BIS_SUPP_vehicleinit", "BIS_SUPP_filter" with virtual_drop also having "BIS_SUPP_crateInit" as shown in the previous post. These variables relate to the options available to the module when you place it in the editor.

If you are not using a virtual provider the only other thing you will need to do is to sync the vehicle you want to use to the provider (and to be safe sync the provider to the vehicle aswell). e.g

_vehicle synchronizeObjectsAdd [_newProvider];
_newProvider synchronizeObjectsAdd [_vehicle];

Do this before calling BIS_fnc_addSupportLink as the function will make sure the provider is refreshed and all its variables synced across the network.

Think that is all you need, have not tested the above just going off of what i remember testing yesterday. (Will test it out later and add any changes needed to this post) Tested works fine.

Also check out the support functions in the functions viewer -> support. There are also functions to remove a support link and change the radio channel the support is using.

Edited by Larrow

Share this post


Link to post
Share on other sites

guys i made a repeadable trigger with [requester, "Artillery", 1] call BIS_fnc_limitSupport; all 500sec.

but it gives me just 1 time the artillery, after i fire it up i wont get it again. any solutions for that?

Share this post


Link to post
Share on other sites

There are lots of other variables stored upon the modules, in the missionNameSpace and on the player that are used by these modules that i have not properly looked into.

I think you trigger may not work as when you use a support i dont think this number (the variable you are changing) is decreased but another variable holds how many times you have used it. So you would need to increase this value each time.

Give me a while and ill try to figure out whats actually happening (BIS variables are a pain to track, so wish we had a command that would just show all variables stored on a object/namespace)

Share this post


Link to post
Share on other sites

Ok this is not a comprehensive look into it but...

When a unit that is synced to a requester uses one of the providers a variable is set on that unit to store how many uses of that type of provider they have used.

"BIS_SUPP_limit_#"

Where # is the type ("Artillery", "CAS_Heli", "CAS_Bombing", "UAV", "Drop", "Transport") holds the number of uses of that type is available on the requester module.

When a unit uses a certain type of provider a variable is placed on them of "BIS_SUPP_used_#" where # is the type ("Artillery", "CAS_Heli", "CAS_Bombing", "UAV", "Drop", "Transport").

If you need to give a unit back a usage you need to decrease their used variable.

//Get number of times used
timesUsed = player getvaraible "BIS_SUPP_used_Artillery";
//Decrease it by one
player setvaraible ["BIS_SUPP_used_Artillery", (timesUsed - 1), true ];
//These next two commands are needed to make the modules refresh and notice the change
BIS_supp_refresh = TRUE;
publicVariable "BIS_supp_refresh";

Think that should be enough to get it working for you.

You could increase the number available on the requester but if this requester is synced to more than one unit then you have just increase his artillery uses to two (if he has not already used one) so you are better off just giving a specific unit back one use. The units used variable can go into minus values without it causing any problems e.g

Setup a requester with the artillery limit set to 1.

Give the player a artillery used of -2.

The player now has 3 usable calls for artillery.

Edited by Larrow

Share this post


Link to post
Share on other sites

hello my requester is syced with 12 players. and it starts with 0 requests.

i set it up so that when a sector is captured the 12 players gets 1 artillery. with this code

 [requester, "Artillery", 1] call BIS_fnc_limitSupport;

that all works fine but after that 1 shot of the artillery noone gets another artilery after recaptured the sector.

i tried with that script execution just to test ur script just modded it like this

//Get number of times used
timesUsed = bluforplayer1 getvaraible "BIS_SUPP_used_Artillery";
timesUsed = bluforplayer2 getvaraible "BIS_SUPP_used_Artillery";
timesUsed = bluforplayer3 getvaraible "BIS_SUPP_used_Artillery";
timesUsed = bluforplayer4 getvaraible "BIS_SUPP_used_Artillery";
timesUsed = bluforplayer5 getvaraible "BIS_SUPP_used_Artillery";
timesUsed = bluforplayer6 getvaraible "BIS_SUPP_used_Artillery";
timesUsed = bluforplayer7 getvaraible "BIS_SUPP_used_Artillery";
timesUsed = bluforplayer8 getvaraible "BIS_SUPP_used_Artillery";
timesUsed = bluforplayer9 getvaraible "BIS_SUPP_used_Artillery";
timesUsed = bluforplayer10 getvaraible "BIS_SUPP_used_Artillery";
timesUsed = bluforplayer11 getvaraible "BIS_SUPP_used_Artillery";
timesUsed = bluforplayer12 getvaraible "BIS_SUPP_used_Artillery";
//Decrease it by one
bluforplayer1 setvaraible ["BIS_SUPP_used_Artillery", (timesUsed - 1), true ];
bluforplayer2 setvaraible ["BIS_SUPP_used_Artillery", (timesUsed - 1), true ];
bluforplayer3 setvaraible ["BIS_SUPP_used_Artillery", (timesUsed - 1), true ];
bluforplayer4 setvaraible ["BIS_SUPP_used_Artillery", (timesUsed - 1), true ];
bluforplayer5 setvaraible ["BIS_SUPP_used_Artillery", (timesUsed - 1), true ];
bluforplayer6 setvaraible ["BIS_SUPP_used_Artillery", (timesUsed - 1), true ];
bluforplayer7 setvaraible ["BIS_SUPP_used_Artillery", (timesUsed - 1), true ];
bluforplayer8 setvaraible ["BIS_SUPP_used_Artillery", (timesUsed - 1), true ];
bluforplayer9 setvaraible ["BIS_SUPP_used_Artillery", (timesUsed - 1), true ];
bluforplayer10 setvaraible ["BIS_SUPP_used_Artillery", (timesUsed - 1), true ];
bluforplayer11 setvaraible ["BIS_SUPP_used_Artillery", (timesUsed - 1), true ];
bluforplayer12 setvaraible ["BIS_SUPP_used_Artillery", (timesUsed - 1), true ];

//These next two commands are needed to make the modules refresh and notice the change
BIS_supp_refresh = TRUE;
publicVariable "BIS_supp_refresh";
hint "welldone"

but it just still dont work anyhow

Share this post


Link to post
Share on other sites

ok after 2 days of trying out with the supports module il give it up.

i tried to get a reload effect for every supports like theres an reload time for drop of 5mins, and artillery 10mins after usage. for both sides west and east. (for an multiplayer map)

anyone build somethink like that b4?

Share this post


Link to post
Share on other sites

Hey Larrow,

I wanted to add a custom loadout for the crate. WHere in your script would I add:

ClearWeaponCargo _this; ClearMagazineCargo _this; removeAllItems _this; clearItemCargo _this;

_this addWeaponCargoGlobal ["arifle_MX_F", 50];

_this addWeaponCargoGlobal ["arifle_MX_GL_F", 50];

_this addWeaponCargoGlobal ["arifle_MXC_F", 50];

_this addWeaponCargoGlobal ["arifle_TRG20_F", 50];

_this addWeaponCargoGlobal ["arifle_TRG21_F", 50];

_this addWeaponCargoGlobal ["arifle_TRG21_GL_F", 50];

_this addWeaponCargoGlobal ["srifle_EBR_F", 50];

_this addWeaponCargoGlobal ["LMG_Mk200_F", 50];

_this addMagazineCargoGlobal ["30Rnd_65x39_Caseless_mag", 200];

_this addMagazineCargoGlobal ["100Rnd_65x39_Caseless_mag", 200];

_this addMagazineCargoGlobal ["30Rnd_65x39_caseless_mag_Tracer", 200];

_this addMagazineCargoGlobal ["20Rnd_762x45_Mag", 200];

_this addMagazineCargoGlobal ["16Rnd_9x21_Mag", 200];

_this addMagazineCargoGlobal ["30Rnd_9x21_Mag", 200];

_this addMagazineCargoGlobal ["20Rnd_556x45_UW_Mag", 200];

_this addMagazineCargoGlobal ["30RND_556x45_Stanag", 200];

_this addMagazineCargoGlobal ["200RND_65x39_Cased_box_Tracer", 200];

_this addWeaponCargoGlobal ["launch_NLAW_F", 50];

_this addWeaponCargoGlobal ["launch_RPG32_F", 50];

_this addMagazineCargoGlobal ["RPG32_F", 50];

_this addMagazineCargoGlobal ["NLAW_F", 50];

_this addMagazineCargoGlobal ["ATMine_Range_Mag", 50];

_this addMagazineCargoGlobal ["APERSMine_Range_Mag", 50];

_this addMagazineCargoGlobal ["ClaymoreDirectionalMine_Remote_Mag", 50];

_this addMagazineCargoGlobal ["DemoCharge_Remote_Mag", 50];

_this addMagazineCargoGlobal ["APERSBoundingMine_Range_Mag", 50];

_this addMagazineCargoGlobal ["SLAMDirectionalMine_Wire_Mag", 50];

_this addMagazineCargoGlobal ["APERSTripMine_Wire_Mag", 50];

_this addWeaponCargoGlobal ["ToolKit", 50];

_this addWeaponCargoGlobal ["MineDetector", 50];

_this addWeaponCargoGlobal ["Medikit", 50];

_this addMagazineCargoGlobal ["1Rnd_HE_Grenade_shell", 50];

_this addMagazineCargoGlobal ["1Rnd_Smoke_Grenade_shell", 50];

_this addMagazineCargoGlobal ["1Rnd_SmokeGreen_Grenade_shell", 50];

_this addMagazineCargoGlobal ["1Rnd_SmokeYellow_Grenade_shell", 50];

_this addMagazineCargoGlobal ["1Rnd_SmokePurple_Grenade_shell", 50];

_this addMagazineCargoGlobal ["1Rnd_SmokeBlue_Grenade_shell", 50];

_this addMagazineCargoGlobal ["1Rnd_SmokeOrange_Grenade_shell", 50];

_this addMagazineCargoGlobal ["SmokeShellRed", 50];

_this addMagazineCargoGlobal ["SmokeShell", 50];

_this addMagazineCargoGlobal ["SmokeShellGreen", 50];

_this addMagazineCargoGlobal ["SmokeShellYellow", 50];

_this addMagazineCargoGlobal ["SmokeShellPurple", 50];

_this addMagazineCargoGlobal ["SmokeShellBlue", 50];

_this addMagazineCargoGlobal ["SmokeShellOrange", 50];

_this addItemCargoGlobal ["Zasleh2",50];

_this addItemCargoGlobal ["muzzle_snds_H", 50];

_this addItemCargoGlobal ["muzzle_snds_L", 50];

_this addItemCargoGlobal ["muzzle_snds_B", 50];

_this addItemCargoGlobal ["muzzle_snds_H_MG", 50];

_this addItemCargoGlobal ["optic_Arco", 50];

_this addItemCargoGlobal ["optic_Hamr", 50];

_this addItemCargoGlobal ["optic_Aco", 50];

_this addItemCargoGlobal ["optic_ACO_grn",50];

_this addItemCargoGlobal ["optic_Holosight", 50];

_this addItemCargoGlobal ["acc_flashlight", 50];

_this addItemCargoGlobal ["acc_pointer_IR", 50];

I see this line but i cant get the syntax right I think.

["BIS_SUPP_crateInit",""], //init code for crate

Thanks

Share this post


Link to post
Share on other sites
I see this line but i cant get the syntax right I think.

["BIS_SUPP_crateInit",""], //init code for crate

In between the second quotes. e.g...

["BIS_SUPP_crateInit",'
_this addWeaponCargoGlobal ["arifle_MX_F", 50];
_this addWeaponCargoGlobal ["arifle_MX_GL_F", 50];
_this addWeaponCargoGlobal ["arifle_MXC_F", 50];
_this addWeaponCargoGlobal ["arifle_TRG20_F", 50];
']

Take note that i have changed the outer quotes to ' (single) so you dont have to double up the " on your code.

Share this post


Link to post
Share on other sites

That does not work. It breaks the script.

Complete Script:

//Create a side logic

_center = createCenter sideLogic;

//Create a group for our modules

_logicGroup = createGroup _center;

//Spawn a SupportRequestor module

_requester = _logicGroup createUnit ["SupportRequester",getpos player, [], 0, "FORM"];

//Setup requestor limit values

{

[_requester, _x, 0] call BIS_fnc_limitSupport;

}forEach [

"Artillery",

"CAS_Heli",

"CAS_Bombing",

"UAV",

"Drop",

"Transport"

];

//Create a position 1km away from player in random direction

_pos = [player, 1000, (floor (random 360))] call BIS_fnc_relPos;

//Spawn a SupportProvider mosule of type Virtual_Drop

_provider = _logicGroup createUnit ["SupportProvider_Virtual_Drop", _pos, [], 0, "FORM"];

//Setup provider values

{

_provider setVariable [(_x select 0),(_x select 1)];

}forEach [

["BIS_SUPP_crateInit",'ClearWeaponCargo _this;

ClearMagazineCargo _this;

removeAllItems _this;

clearItemCargo _this;

_this addWeaponCargoGlobal ["arifle_MX_F", 50];

_this addWeaponCargoGlobal ["arifle_MX_GL_F", 50];

_this addWeaponCargoGlobal ["arifle_MXC_F", 50];

_this addWeaponCargoGlobal ["arifle_TRG20_F", 50];

_this addWeaponCargoGlobal ["arifle_TRG21_F", 50];

_this addWeaponCargoGlobal ["arifle_TRG21_GL_F", 50];

_this addWeaponCargoGlobal ["srifle_EBR_F", 50];

_this addWeaponCargoGlobal ["LMG_Mk200_F", 50];

_this addMagazineCargoGlobal ["30Rnd_65x39_Caseless_mag", 200];

_this addMagazineCargoGlobal ["100Rnd_65x39_Caseless_mag", 200];

_this addMagazineCargoGlobal ["30Rnd_65x39_caseless_mag_Tracer", 200];

_this addMagazineCargoGlobal ["20Rnd_762x45_Mag", 200];

_this addMagazineCargoGlobal ["16Rnd_9x21_Mag", 200];

_this addMagazineCargoGlobal ["30Rnd_9x21_Mag", 200];

_this addMagazineCargoGlobal ["20Rnd_556x45_UW_Mag", 200];

_this addMagazineCargoGlobal ["30RND_556x45_Stanag", 200];

_this addMagazineCargoGlobal ["200RND_65x39_Cased_box_Tracer", 200];

_this addWeaponCargoGlobal ["launch_NLAW_F", 50];

_this addWeaponCargoGlobal ["launch_RPG32_F", 50];

_this addMagazineCargoGlobal ["RPG32_F", 50];

_this addMagazineCargoGlobal ["NLAW_F", 50];

_this addMagazineCargoGlobal ["ATMine_Range_Mag", 50];

_this addMagazineCargoGlobal ["APERSMine_Range_Mag", 50];

_this addMagazineCargoGlobal ["ClaymoreDirectionalMine_Remote_Mag", 50];

_this addMagazineCargoGlobal ["DemoCharge_Remote_Mag", 50];

_this addMagazineCargoGlobal ["APERSBoundingMine_Range_Mag", 50];

_this addMagazineCargoGlobal ["SLAMDirectionalMine_Wire_Mag", 50];

_this addMagazineCargoGlobal ["APERSTripMine_Wire_Mag", 50];

_this addWeaponCargoGlobal ["ToolKit", 50];

_this addWeaponCargoGlobal ["MineDetector", 50];

_this addWeaponCargoGlobal ["Medikit", 50];

_this addMagazineCargoGlobal ["1Rnd_HE_Grenade_shell", 50];

_this addMagazineCargoGlobal ["1Rnd_Smoke_Grenade_shell", 50];

_this addMagazineCargoGlobal ["1Rnd_SmokeGreen_Grenade_shell", 50];

_this addMagazineCargoGlobal ["1Rnd_SmokeYellow_Grenade_shell", 50];

_this addMagazineCargoGlobal ["1Rnd_SmokePurple_Grenade_shell", 50];

_this addMagazineCargoGlobal ["1Rnd_SmokeBlue_Grenade_shell", 50];

_this addMagazineCargoGlobal ["1Rnd_SmokeOrange_Grenade_shell", 50];

_this addMagazineCargoGlobal ["SmokeShellRed", 50];

_this addMagazineCargoGlobal ["SmokeShell", 50];

_this addMagazineCargoGlobal ["SmokeShellGreen", 50];

_this addMagazineCargoGlobal ["SmokeShellYellow", 50];

_this addMagazineCargoGlobal ["SmokeShellPurple", 50];

_this addMagazineCargoGlobal ["SmokeShellBlue", 50];

_this addMagazineCargoGlobal ["SmokeShellOrange", 50];

_this addItemCargoGlobal ["Zasleh2",50];

_this addItemCargoGlobal ["muzzle_snds_H", 50];

_this addItemCargoGlobal ["muzzle_snds_L", 50];

_this addItemCargoGlobal ["muzzle_snds_B", 50];

_this addItemCargoGlobal ["muzzle_snds_H_MG", 50];

_this addItemCargoGlobal ["optic_Arco", 50];

_this addItemCargoGlobal ["optic_Hamr", 50];

_this addItemCargoGlobal ["optic_Aco", 50];

_this addItemCargoGlobal ["optic_ACO_grn",50];

_this addItemCargoGlobal ["optic_Holosight", 50];

_this addItemCargoGlobal ["acc_flashlight", 50];

_this addItemCargoGlobal ["acc_pointer_IR", 50];']

["BIS_SUPP_vehicles",[]], //types of vehicles to use

["BIS_SUPP_vehicleinit",""], //init code for vehicle

["BIS_SUPP_filter","SIDE"] //whether default vehicles comes from "SIDE" or "FACTION"

];

//Set our limit on the requester for drops to 1

[_requester, "Drop", 1] call BIS_fnc_limitSupport;

//Sync the modules and the player together

[player, _requester, _provider] call BIS_fnc_addSupportLink;

Share this post


Link to post
Share on other sites

Your missing a comma after

_this addItemCargoGlobal ["acc_pointer_IR", 50];'][color="#FF0000"][b],[/b][/color]

and this line should be

_this addMagazineCargoGlobal ["20Rnd_762x[color="#FF0000"][b]51[/b][/color]_Mag", 200];

Share this post


Link to post
Share on other sites

As all supports only require 1 requester module to be in the mission just place one in the editor, it does not have to be synced to anything and will save headaches trying to set one up from script.

You could also do the same with the provider, again does not have to be synced and allows you to set up things like vehciles to use, crate inits etc

When you wish these to become available to the player just use the provided BIS functions. e.g ..

[player, requester, provider] call BIS_fnc_addSupportLink;

 

Wow Larrow, this is great! Thank you!

 

Just to clarify the steps to get this to work in my scenario...

 

INTENT: Player starts with Mortar and Arty support BUT must destroy 3 artillery pieces to unlock CAS, Transport and Supply drop,

 

This is how I imagine I need to make this happen:

 

1. create requester, sync to artillery, sync to provider, sync provider to player (player starts with arty support)

 

2. create provider(s), sync to CAS (ex), DO NOT SYNC to requester

 

3. name the player "P1" name the requester "support1" and name the unsynced provider "CAS1"

 

4. Put the following in the...um...mission completion trigger "on act"...maybe? (I am always fuzzy when people write these things out WHERE they are supposed to go) [P1, support1, CAS1] call BIS_fnc_addSupportLink;

 

Is that about the long and short of it or am I missing something? Thanks in advance Larrow, I am teh noob.

 

EDIT: HELL yeah it works!

Share this post


Link to post
Share on other sites

Hello everyone and Larrow :)

 

Sorry to bump this, but as I am still having lots of issues with support modules (spontaneous dissapearance of the commanding menu when it was working and player made nothing, or just never working) I am asking myself for a solution on a "reinit" button.

 

The idea: deleteVehicle the modules, create new ones, configure them, sync the old units.

 

As I have been able to test, synch is not the problem, so I am able to know what units are providers or requesters.

 

But I need to know the module names and all those variables.

 

Where I can find them? I've been making a deep study of BIS scripts and are so advanced for me...

Share this post


Link to post
Share on other sites

If you have your A3 files unpacked look in "\a3\modules_f\supports".

 

Its not impossible to reinit everything but it is quite a bit of work to handle it well.

 

You can find a list of provider names in init_common.sqf also held in the global variable BIS_SUPP_providerTypes. Requestors are called "SupportRequester".

 

Just setting BIS_supp_refresh = true should be enough to rectify most problems (which is the same as calling BIS_fnc_refreshMainWindow) although it maybe a idea to manually reset all requestor limits and player used variables first as discussed in post #9.

Share this post


Link to post
Share on other sites

Thanks Larrow, will check the names at init_common.sqf

 

The problem is I have only one way to reproduce the error, and indeed, I am not sure if that's the real error environment. What I am doing is creating the most basic Arty mission (player, mortar, support requester, support provider, all synced), preview, quit mission, click on continue. That makes even the BIS support scripts dissapear if you copytoClipboard str diag_activeSQFScripts. The radio comm 0-8 is still there but no more than selecting the mortar.

 

Tried the BIS_supp_refresh = true in that environment with no success.

 

So the plan is: store player and mortar in variables, clean radio comm menu (with BIS function), delete modules, createUnit modules, config them, sync them between each other and player and mortar, and test. Maybe I will have to make a copy paste of the kbtell things you made for the respawn issue (in the other post)

 

For sure my code won't be as clean as yours but hopefully will work!!!

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

×