Jump to content
Sign in to follow this  
Cyphas Cayne

Questions for the hivemind

Recommended Posts

got a couple of questions for you all.....

plz note that i have been scripting for about 8 hrs straight at the time of this post

 

1st:

I am trying to take a vanilla Data Terminal and turn it into a animated virtual arsenal.

 

Problem: keeps saying "Script \spartac\addons\core\data\Scripts\fn_DataTerminalAnimate.sqf not found"

when loading my mod.

This script is located at "\spartac\addons\core\data\Scripts\fn\fn_DataTerminalAnimate.sqf"

 

fn_DataTerminalAnimate.sqf

Spoiler

//--- A script function for animating "Land_DataTerminal_01_F"
//--- To open terminal: [box, 3] call BIS_fnc_DataTerminalAnimate
//--- To close terminal: [box, 0] call BIS_fnc_DataTerminalAnimate

if !(_this isEqualTypeParams [objNull, 0]) exitWith
{
	["Required format: [<dataTerminalObject>, <animationPhase>]"] call BIS_fnc_error;
	nil
};

params ["_obj", "_phase"];

_obj animateSource ["Lock_source", _phase];
_obj animateSource ["Sesame_source", _phase];
_obj animateSource ["Antenna_source", _phase];

 

 

Config for Data Terminal

Spoiler

#define _ARMA_

class CfgPatches
{
	class SPARTAC_Objects
	{
		requiredAddons[] = 
		{
			"SPARTAC_Core",
			"A3_Props_F_Exp_A_Military"
		};
		requiredVersion = 0.1;
		units[] = 
		{
			"SPARTAC_Flag_A",
			"SPARTAC_Flag_B",
			"SPARAC_Intel_Laptop",
			"SPARTAC_Intel_Screen_A",
			"SPARTAC_Intel_Screen_B",
			"SPARTAC_Intel_Mobile",
			"SPARTAC_DataTerminal"			
		};
		weapons[] = {};
	};
};

class CfgFunctions
{
	class A3_Props_F_Exp_A_Military_Equipment
	{
		tag = "BIS";
		class Scripts
		{
			file = "\spartac\addons\core\data\Scripts\fn";
			class DataTerminalAnimate{};
			class DataTerminalColor{};
		};
	};
};

class CfgEditorCategories
{
	class SPARTAC // Category class, you point to it in editorCategory property
	{
		displayName = "Spartac Items"; // Name visible in the list
	};
};
class CfgEditorSubcategories
{
	class Spartac_Items // Category class, you point to it in editorSubcategory property
	{
		displayName = "Things"; // Name visible in the list
	};
};

class CfgVehicles
{
	class FlagPole_F;
	class Land_Laptop_unfolded_F;
	class Land_PCSet_01_screen_F;
	class Land_MobilePhone_smart_F;

//
// cut out some code
//
	class Items_base_F;
	class NonStrategic;
	class Land_DataTerminal_01_F;
	class SPARTAC_DataTerminal: Land_DataTerminal_01_F
	{
		author = "Spartan Tactical Group";
		mapSize = 4.02;
	class UserActions
	{
		class TerminalOpenAction
		{
			displayNameDefault = "Open Data Terminal";
            showWindow = 0;
	        hideOnUse = 1;
			displayName="Open Data Terminal";
			position="action";
			radius=0.10000;
            onlyForPlayer = 1;
			statement="this execVM ""\spartac\addons\core\data\Scripts\OpenTerminal.sqf""";
		};
		class TerminalCloseAction
		{
			displayNameDefault = "Close Data Terminal";
            showWindow = 0;
	        hideOnUse = 1;
			displayName="Close Data Terminal";
			position="action";
			radius=0.10000;
            onlyForPlayer = 1;
			statement="this execVM ""\spartac\addons\core\data\Scripts\CloseTerminal.sqf""";
		};		
	};			
		class SimpleObject
		{
			eden = 0;
			animate[] = {{"upload_1_cover_hide_1",931.85},{"upload_2_cover_hide_1",931.85},{"upload_3_cover_hide_1",931.85},{"wifi_1_hide_1",931.85},{"wifi_2_hide_1",931.85},{"wifi_3_hide_1",931.85},{"wifi_4_hide_1",931.85},{"wifi_5_hide_1",931.85},{"vent_1_rot_1",931.85},{"vent_2_rot_1",931.85},{"vent_3_rot_1",931.85},{"vent_4_rot_1",931.85},{"base_stripes_1_1_move_1",0},{"base_stripes_2_1_move_1",0},{"base_stripes_3_1_move_1",0},{"base_stripes_4_1_move_1",0},{"lid_stripes_1_1_move_1",0},{"lid_stripes_2_1_move_1",0},{"lid_stripes_3_1_move_1",0},{"lid_stripes_4_1_move_1",0},{"base_stripes_1_2_move_1",0},{"base_stripes_2_2_move_1",0},{"base_stripes_3_2_move_1",0},{"base_stripes_4_2_move_1",0},{"lid_stripes_1_2_move_1",0},{"lid_stripes_2_2_move_1",0},{"lid_stripes_3_2_move_1",0},{"lid_stripes_4_2_move_1",0},{"base_stripes_1_2_move_2",0},{"base_stripes_2_2_move_2",0},{"base_stripes_3_2_move_2",0},{"base_stripes_4_2_move_2",0},{"lid_stripes_1_2_move_2",0},{"lid_stripes_2_2_move_2",0},{"lid_stripes_3_2_move_2",0},{"lid_stripes_4_2_move_2",0},{"base_stripes_1_3_move_1",0},{"base_stripes_2_3_move_1",0},{"base_stripes_3_3_move_1",0},{"base_stripes_4_3_move_1",0},{"lid_stripes_1_3_move_1",0},{"lid_stripes_2_3_move_1",0},{"lid_stripes_3_3_move_1",0},{"lid_stripes_4_3_move_1",0},{"lock_1_rot_1",0},{"lock_2_rot_1",0},{"lid_rot_1",0},{"lid_pistons_rot_1",0},{"base_pistons_rot_1",0},{"button_7_rot_1",0},{"switch_2_rot_1",0},{"switch_5_rot_1",0},{"switch_6_rot_1",0},{"dish_1_01_rot_1",0},{"dish_1_02_rot_1",0},{"dish_1_03_rot_1",0},{"dish_1_04_rot_1",0},{"dish_1_05_rot_1",0},{"dish_1_06_rot_1",0},{"dish_1_07_rot_1",0},{"dish_1_08_rot_1",0},{"dish_1_09_rot_1",0},{"dish_1_10_rot_1",0},{"dish_1_11_rot_1",0},{"dish_1_12_rot_1",0},{"dish_1_13_rot_1",0},{"dish_1_14_rot_1",0},{"dish_1_15_rot_1",0},{"dish_1_16_rot_1",0},{"dish_1_17_rot_1",0},{"dish_1_18_rot_1",0},{"dish_1_19_rot_1",0},{"dish_1_20_rot_1",0},{"antenna_piston_1_move_1",0},{"antenna_piston_2_move_1",0},{"antenna_piston_3_move_1",0},{"antenna_base_rot_1",0},{"antenna_center_rot_1",0},{"dish_2_01_rot_1",0},{"dish_2_02_rot_1",0},{"dish_2_03_rot_1",0},{"dish_2_04_rot_1",0},{"dish_2_05_rot_1",0},{"dish_2_06_rot_1",0},{"dish_2_07_rot_1",0},{"dish_2_08_rot_1",0},{"dish_2_09_rot_1",0},{"dish_2_10_rot_1",0},{"dish_2_11_rot_1",0},{"dish_2_12_rot_1",0},{"dish_2_13_rot_1",0},{"dish_2_14_rot_1",0},{"dish_2_15_rot_1",0},{"dish_2_16_rot_1",0},{"dish_2_17_rot_1",0},{"dish_2_18_rot_1",0},{"dish_2_19_rot_1",0},{"dish_2_20_rot_1",0},{"screen_1_text_01_fakeunhide_1",0},{"cpu_cover_fakehide_1",0},{"ram_cover_fakehide_1",0},{"cpu_1_rot_1",0},{"cpu_2_rot_1",0},{"ram_1_rot_1",0},{"ram_2_rot_1",0},{"screen_1_text_02_fakeunhide_1",0},{"screen_1_text_03_fakeunhide_1",0},{"screen_1_text_04_fakeunhide_1",0},{"screen_1_text_05_fakeunhide_1",0},{"screen_1_text_06_fakeunhide_1",0},{"screen_1_text_07_fakeunhide_1",0},{"screen_1_text_08_fakeunhide_1",0},{"screen_1_text_09_fakeunhide_1",0},{"screen_1_text_10_fakeunhide_1",0},{"screen_1_text_11_fakeunhide_1",0},{"screen_1_text_12_fakeunhide_1",0},{"screen_1_text_13_fakeunhide_1",0},{"screen_1_text_14_fakeunhide_1",0},{"screen_1_text_15_fakeunhide_1",0},{"screen_1_text_16_fakeunhide_1",0},{"screen_1_text_17_fakeunhide_1",0},{"screen_1_text_18_fakeunhide_1",0},{"screen_1_text_19_fakeunhide_1",0},{"screen_1_text_20_fakeunhide_1",0},{"screen_1_text_21_fakeunhide_1",0},{"screen_1_text_22_fakeunhide_1",0},{"screen_1_text_23_fakeunhide_1",0},{"screen_1_text_24_fakeunhide_1",0},{"screen_1_text_25_fakeunhide_1",0},{"screen_1_text_26_fakeunhide_1",0},{"screen_1_text_27_fakeunhide_1",0},{"screen_1_logo_fakeunhide_1",0},{"screen_2_text_01_fakeunhide_1",0},{"screen_2_text_02_fakeunhide_1",0},{"screen_2_text_03_fakeunhide_1",0},{"screen_2_text_04_fakeunhide_1",0},{"screen_2_text_05_fakeunhide_1",0},{"screen_2_text_06_fakeunhide_1",0},{"screen_2_text_07_fakeunhide_1",0},{"screen_2_text_08_fakeunhide_1",0},{"screen_2_text_09_fakeunhide_1",0},{"screen_2_text_10_fakeunhide_1",0},{"screen_2_text_11_fakeunhide_1",0},{"screen_2_text_12_fakeunhide_1",0},{"screen_2_text_13_fakeunhide_1",0},{"screen_2_text_14_fakeunhide_1",0},{"screen_2_text_15_fakeunhide_1",0},{"upload_fakeunhide_1",0},{"wifi_cover_fakehide_1",0}};
			hide[] = {};
			verticalOffset = 0.009;
			verticalOffsetWorld = 0;
		};
		editorPreview = "\A3\EditorPreviews_F\Data\CfgVehicles\Land_DataTerminal_01_F.jpg";
		_generalMacro = "SPARTAC_DataTerminal";
		scope = 2;
		scopeCurator = 2;
		displayName = "Data Terminal";
		editorCategory = "SPARTAC";
		editorSubcategory = "Spartac_Items";		
		hiddenSelections[] = {"Camo_1","Camo_2","Camo_3","Camo_4","Camo_5"};
		hiddenSelectionsTextures[] = {"#(argb,8,8,3)color(0,0,0,0.0,co)","#(argb,8,8,3)color(0,0,0,0.0,co)","#(argb,8,8,3)color(0,1,1,1.0,co)","#(argb,8,8,3)color(0.75,0.5,0,1.0,co)","#(argb,8,8,3)color(0.25,0.75,0.25,1.0,co)"};
		hiddenSelectionsMaterials[] = {"\A3\Data_F\Lights\Lamp_lcd.rvmat","\A3\Data_F\Lights\Lamp_lcd.rvmat","\A3\Props_F_Exp_A\Military\Equipment\Data\DataTerminal_blue.rvmat","\A3\Props_F_Exp_A\Military\Equipment\Data\DataTerminal_orange.rvmat","\A3\Props_F_Exp_A\Military\Equipment\Data\DataTerminal_green.rvmat"};
		class AnimationSources
		{
			class Sesame_source
			{
				source = "user";
				initPhase = 0;
				animPeriod = 1;
			};
			class Lock_source: Sesame_source
			{
				sound = "TerminalLockSound";
				soundPosition = "Lock_1_axis";
			};
			class Antenna_source: Sesame_source
			{
				sound = "TerminalAntennaSound";
				soundPosition = "Antenna_piston_2_axis";
			};
		};
	};	
};

 

 

OpenTerminal.sqf

Spoiler

_object = _this select 0;
_caller = _this select 1;
_id = _this select 2;
_object removeaction _id;
[_object,3] call BIS_fnc_dataTerminalAnimate;
sleep 2;
with uiNamespace do {
     disableserialization; //thank you so much tankbuster
    _object setObjectTexture [0,"\A3\Missions_F_EPA\video\A_in_intro.ogv"];
    _object setObjectTexture [1,"\A3\Missions_F_EPA\video\A_in_intro.ogv"]; ////added this texture selection to make both monitors showing the video
    1100 cutRsc ["RscMissionScreen","PLAIN"];
    _scr = BIS_RscMissionScreen displayCtrl 1100;
    _scr ctrlSetPosition [-10,-10,0,0];
    _scr ctrlSetText "\A3\Missions_F_EPA\video\A_in_intro.ogv";
    _scr ctrlAddEventHandler ["VideoStopped", {
        (uiNamespace getVariable "BIS_RscMissionScreen") closeDisplay 1;
    }];
    _scr ctrlCommit 0;
};
sleep 10;
_closeaction = [[_object,["Close","Scripts\CloseTerminal.sqf"]],"addAction",true] call BIS_fnc_MP;

 

 

CloseTerminal.sqf

Spoiler

_object = _this select 0;
_caller = _this select 1;
_id = _this select 2;
_object removeaction _id;
[_object,0] call BIS_fnc_dataTerminalAnimate;

sleep 10;
_openaction = [[_object,["Open","Scripts\OpenTerminal.sqf"]],"addAction",true] call BIS_fnc_MP;

 

 

 

2nd problem

When adding new infantry config to my mod, i wanted to add a randomization to the unit with a script. Got that working and unit appears ingame, but the problem is that it seems to be adding multiple textures to a single unit making it look like its wearing patchwork clothes.

 

Extract from unit config

Spoiler

    class I_C_Soldier_Bandit_3_F;
	class SPARTAC_Bgpc_base: I_C_Soldier_Bandit_3_F {
		class EventHandlers;
	};
	class SPARTAC_BgpcR : SPARTAC_Bgpc_base 	
	{
		displayName = "SPARTAC Bodyguard Plain Clothes";
		author = "Spartan Tactical Group";
		scope = 2;
		side = 1;
		faction = "BLU_F_SPARTAC";
		identityTypes[] = {"LanguageENG_F","Head_NATO","G_NATO_default"};
		faceType = "Man_A3";
		genericNames = "SPARTAC_Names";
		vehicleClass = "Men";
		editorSubcategory = "BLU_F_SPARTAC_Men_BG";
		model = "\A3\Characters_F_Exp\Syndikat\I_C_Soldier_Para_1_F.p3d";
		modelSides[] = {0,1,2,3};
		nakedUniform = "SPARTAC_U_UBody";
		uniformClass = "U_I_C_Soldier_Bandit_3_F";
		editorPreview = "\A3\EditorPreviews_F\Data\CfgVehicles\C_man_1.jpg";
		weapons[] = {"Throw", "Put", "SMG_02_ACO_F", "hgun_P07_F", "Binocular"};
		respawnWeapons[] = {"Throw", "Put", "SMG_02_ACO_F", "hgun_P07_F", "Binocular"};		
		linkedItems[] = {SPARTAC_Cap_Black,SPARTAC_CarrierLite_Black,ItemMap,ItemCompass,ItemWatch,ItemRadio,NVGoggles_OPFOR};
		respawnLinkedItems[] = {SPARTAC_Cap_Black,SPARTAC_CarrierLite_Black,ItemMap,ItemCompass,ItemWatch,ItemRadio,NVGoggles_OPFOR};
		magazines[] = {mag_10(30Rnd_9x21_Mag_SMG_02_Tracer_Red),mag_3(16Rnd_9x21_Mag), SmokeShell, SmokeShellGreen, Chemlight_green, Chemlight_green, mag_2(HandGrenade)};
        respawnMagazines[] = {mag_10(30Rnd_9x21_Mag_SMG_02_Tracer_Red),mag_3(16Rnd_9x21_Mag), SmokeShell, SmokeShellGreen, Chemlight_green, Chemlight_green ,mag_2(HandGrenade)};		
	
		class EventHandlers : EventHandlers {
		init = "(_this select 0) execVM ""\spartac\addons\factions\spartac\randomizedequiptment.sqf""";
		};
	};

 

 

Randomization script

Spoiler

_uniform = ["U_B_CombatUniform_mcam", "U_B_CombatUniform_sgg_vest", "U_B_CombatUniform_mcam_worn", "U_BG_Guerilla1_1", "U_BG_Guerilla2_1", "U_BG_Guerilla2_2",
		 "U_BG_Guerilla3_1", "U_BG_leader"];
_headgear = ["H_MilCap_dgtl", "H_Shemag_khk", "H_Beret_blk", "H_Booniehat_dgtl", "H_Booniehat_mcamo"];
_vest = ["V_TacVestCamo_khk", "V_TacVestIR_blk", "V_TacVestIR_blk", "V_Rangemaster_belt", "V_BandollierB_blk", "V_BandollierB_oli",
	 "V_BandollierB_rgr", "V_Chestrig_blk", "V_HarnessO_brn", "V_Rangemaster_belt", "V_TacVest_blk"];
_headCount = count _headgear;
_uniformCount = count _uniform;
_vestCount = count _vest;

if (isServer) then {
BIS_randomSeed1 = [];
BIS_randomSeed2 = [];
_rnd1 = floor random _uniformCount;	
_this setVariable ["BIS_randomSeed1", _rnd1, TRUE];
_rnd2 = floor random _headCount;
_this setVariable ["BIS_randomSeed2", _rnd2, TRUE];
};

waitUntil {!(isNil {_this getVariable "BIS_randomSeed1"})};
waitUntil {!(isNil {_this getVariable "BIS_randomSeed2"})};
_randomSeed1 = _this getVariable "BIS_randomSeed1";
_randomSeed2 = _this getVariable "BIS_randomSeed2";

_magazines = magazines _this;
_items = items _this; // Medkits, ToolKits etc.
_assitems = assignedItems _this; // NVG's, GPS etc.

if (true) then {
Removeuniform _this;
Removeheadgear _this;
Removevest _this;
_this adduniform (_uniform select _randomSeed1);
_this addheadgear (_headgear select _randomSeed2);
_this addvest (_vest select (((_randomSeed1 + _randomSeed2) % (_vestCount - 1)) * (floor random _vestCount) % (_vestCount + 1 )));
};

{_this addItem _x} forEach _items;
{_this addMagazine _x} forEach _magazines;
{_this addItem _x} forEach _assitems;
{_this assignItem _x} forEach _assitems;

if (0.5 > _randomSeed1 / _headCount) then {
_this addmagazine ("16Rnd_9x21_Mag");
_this addweapon ("hgun_P07_F");
_this addmagazine ("16Rnd_9x21_Mag");
_this addmagazine ("16Rnd_9x21_Mag");
_this addmagazine ("16Rnd_9x21_Mag");
};

 

 

Result

 

Spoiler

D3497F4C120C8A40DFFB6EB28D6E0A2A668FCC0F

 

 

 

 

Thanks for any help with these matters

Cyphas

Share this post


Link to post
Share on other sites

Issue #1

\spartac\addons\core\data\Scripts\fn\fn_DataTerminalAnimate.sqf

 

 

You forget to include the \fn folder in your file-path.

Share this post


Link to post
Share on other sites
10 hours ago, Von Quest said:

Issue #1

\spartac\addons\core\data\Scripts\fn\fn_DataTerminalAnimate.sqf

 

 

You forget to include the \fn folder in your file-path.

thanks for the reply.

 

Could you specify where.

 

thanks

cyphas

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  

×