Cyphas Cayne 19 Posted May 24, 2018 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 Thanks for any help with these matters Cyphas Share this post Link to post Share on other sites
Von Quest 1161 Posted May 25, 2018 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
Cyphas Cayne 19 Posted May 25, 2018 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