Jump to content


  • Content Count

  • Joined

  • Last visited

  • Medals

Community Reputation

2 Neutral

About Doggifast

  • Rank

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Solved it! Remove the "RSA" folder from C:\Users\admin\AppData\Roaming\Microsoft and it will work again!
  2. I tried using the DSUtils with windows console. Prompt (after setting path to where the program is installed): dsCreateKey SCP_EF
  3. Details: ************** Exception Text ************** System.IO.DirectoryNotFoundException: Could not find a part of the path 'G:\Steam gamos\steamapps\common\Arma 3 Tools\DSSignFile\SCP_EF.biprivatekey'. at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) at System.IO.FileSystemEnumerableIterator`1.CommonInit() at System.IO.FileSystemEnumerableIterator`1..ctor(String path, String originalUserPath, String searchPattern, SearchOption searchOption, SearchResultHandler`1 resultHandler, Boolean checkHost) at System.IO.Directory.GetFiles(String path, String searchPattern, SearchOption searchOption) at LibCommon.Helpers.FileSystem.FileSys.GetMD5(String fileName, Boolean formatted) at DSUtils.FormCreateKey.createAuthority() at DSUtils.FormCreateKey.btnValidate_Click(Object sender, EventArgs e) at System.Windows.Forms.Control.OnClick(EventArgs e) at System.Windows.Forms.Button.OnClick(EventArgs e) at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent) at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks) at System.Windows.Forms.Control.WndProc(Message& m) at System.Windows.Forms.ButtonBase.WndProc(Message& m) at System.Windows.Forms.Button.WndProc(Message& m) at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m) at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m) at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam) there is more to this debug window but that's system specs, i'm not sure if anyone needs them. I have tried: -Restarting PC -Restarting DSUtils -Allowing access to DSUtils folder location -Changing security to more open one -Cleaning %tmp% files -Running DSUtils.exe with administrator -Unmarking folder read-only -Creating key at different path -Fiddling with Windows Security and other antiviruses -Validating tools files -Reinstalling tools -Banging my head on the desk No one else seems to have this issue
  4. When configuring an opfor faction, i ran into a problem. In testing, units loadouts were fine except the uniform which is missing and (probably?) is being auto-corrected to CSAT standard, although still being inaccesible, appearing as empty in inventory. the configs class DGF_EU3_base: O_Soldier_base_F { author="Doggifast"; faction="DGF_EU3"; side=0; scope=0; scopecurator=0; scopeArsenal=0; identityTypes[]={"LanguageENG_F","Head_NATO","G_NP"}; cost=100000; camouflage=1.5; sensitivity=1.75; threat[]={1,0.1,0.1}; displayName="EU3 Man Base"; editorPreview=""; editorSubcategory="EdSubcat_Personnel"; uniformClass="USP_G3C_CS_KP_MX"; modelSides[]={0,1,2,3,4,5,6,7}; canDeactivateMines=0; canHideBodies=1; engineer=0; attendant=0; uavHacker=0; role="Rifleman"; icon="iconMan"; picture=""; weapons[] = {"Throw","Put"}; respawnWeapons[]= {"Throw","Put"}; items[] = {}; respawnItems[] = {}; magazines[] = {}; respawnMagazines[] = {}; linkedItems[] = {}; respawnLinkedItems[]= {}; backpack=""; nameSound = "veh_infantry_s"; textSingular = "rifleman"; textPlural = "riflemen"; }; config for a rifleman for example class DGF_EU3_Rifleman: DGF_EU3_base { author = "Doggifast"; scope = 2; scopeCurator = 2; displayName = "Rifleman"; side = 0; faction = "DGF_EU3"; uniformClass = "USP_G3C_CS_KP_MX"; backpack = ""; weapons[] = {"arifle_Velko_lxWS", "CUP_hgun_Mk23", "Throw", "Put"}; magazines[] = {"35Rnd_556x45_Velko_reload_tracer_red_lxWS", "35Rnd_556x45_Velko_reload_tracer_red_lxWS", "35Rnd_556x45_Velko_reload_tracer_red_lxWS", "35Rnd_556x45_Velko_reload_tracer_red_lxWS", "35Rnd_556x45_Velko_reload_tracer_red_lxWS", "35Rnd_556x45_Velko_reload_tracer_red_lxWS", "35Rnd_556x45_Velko_reload_tracer_red_lxWS", "35Rnd_556x45_Velko_reload_tracer_red_lxWS", "35Rnd_556x45_Velko_reload_tracer_red_lxWS", "CUP_12Rnd_45ACP_mk23", "CUP_12Rnd_45ACP_mk23", "CUP_12Rnd_45ACP_mk23", "rhs_mag_m67", "rhs_mag_m67"}; items[] = {"ACE_elasticBandage", "ACE_elasticBandage", "ACE_elasticBandage", "ACE_elasticBandage", "ACE_elasticBandage", "ACE_elasticBandage", "ACE_elasticBandage", "ACE_elasticBandage", "ACE_elasticBandage", "ACE_elasticBandage", "ACE_CableTie", "ACE_CableTie", "ACE_CableTie", "ACE_CableTie", "ACE_CableTie", "ACE_epinephrine", "ACE_epinephrine", "ACE_morphine", "ACE_morphine", "ACE_splint", "ACE_splint", "ACE_tourniquet", "ACE_tourniquet"}; linkedItems[] = {"CUP_V_PMC_IOTV_Black_TL", "lxWS_H_bmask_base", "G_Balaclava_blk_lxWS", "", "", "", "", "", "", "", ""}; respawnweapons[] = {"arifle_Velko_lxWS", "CUP_hgun_Mk23", "Throw", "Put"}; respawnmagazines[] = {"35Rnd_556x45_Velko_reload_tracer_red_lxWS", "35Rnd_556x45_Velko_reload_tracer_red_lxWS", "35Rnd_556x45_Velko_reload_tracer_red_lxWS", "35Rnd_556x45_Velko_reload_tracer_red_lxWS", "35Rnd_556x45_Velko_reload_tracer_red_lxWS", "35Rnd_556x45_Velko_reload_tracer_red_lxWS", "35Rnd_556x45_Velko_reload_tracer_red_lxWS", "35Rnd_556x45_Velko_reload_tracer_red_lxWS", "35Rnd_556x45_Velko_reload_tracer_red_lxWS", "CUP_12Rnd_45ACP_mk23", "CUP_12Rnd_45ACP_mk23", "CUP_12Rnd_45ACP_mk23", "rhs_mag_m67", "rhs_mag_m67"}; respawnitems[] = {"ACE_elasticBandage", "ACE_elasticBandage", "ACE_elasticBandage", "ACE_elasticBandage", "ACE_elasticBandage", "ACE_elasticBandage", "ACE_elasticBandage", "ACE_elasticBandage", "ACE_elasticBandage", "ACE_elasticBandage", "ACE_CableTie", "ACE_CableTie", "ACE_CableTie", "ACE_CableTie", "ACE_CableTie", "ACE_epinephrine", "ACE_epinephrine", "ACE_morphine", "ACE_morphine", "ACE_splint", "ACE_splint", "ACE_tourniquet", "ACE_tourniquet"}; respawnlinkedItems[] = {"CUP_V_PMC_IOTV_Black_TL", "lxWS_H_bmask_base", "G_Balaclava_blk_lxWS", "", "", "", "", "", "", "", ""}; };
  5. Found this in the platforms config. Gonna investigate the function. class EventHandlers { dragged3DEN="_this call bin_fnc_CargoPlatform_01_update;"; registeredToWorld3DEN="_this call bin_fnc_CargoPlatform_01_update;"; killed="_this spawn bin_fnc_CargoPlatform_01_destruction;"; }; };
  6. The russian vehicle-deployable bridges from RHS also have that, by the way
  7. So i saw a cool function of the cargo platforms from Contact DLC, where if you place them close together the game will snap the second cargo platform to the first one making them stay perfectly next to each other, making them perfectly leveled next to each other. Question is, how do i replicate that? I'm working on a 'Modular Site' mod, where i need it for ease of use while laying out the facility in the 3den editor. This, basically
  8. Problem solved long ago. I just didn't understand the configs then.
  9. Hey. I needed base classes for a draw3D script, so it would place a icon on every object near the player that would match the base class, and i succeeded in that. For example, addMissionEventHandler ["Draw3D", { if (goggles player == "USP_GP21_SH4_BLK3") then { {_pos = ASLToAGL getPosASLVisual _x; drawIcon3D [getMissionPath "Icons\IconMine.paa", [1,0,0,1], _pos, 1, 1, 0, "Mine", 0, 0.05, "RobotoCondensed", "center", true]; } forEach nearestObjects [player, ["APERSMine", "MineBase", "MineGeneric","ModuleExplosive_F"], 20]; }; }]; If you want to test this, change the googles classname to whichever you want, and place some mines around you with zeus, and put the code into the debug console. Don't forget to change the icon path to something different. I originally wanted to make it like a one-time scan with a cooldown (hence the struggle with getting base classes of the objects), but i decided to go with procedural scanning instead, hence the struggle with getting base classes of the objects. (for different types of objects, such as loot (objects/weaponholders on the ground that can be picked up) i just do more entries in the Draw3D event handler. I also put it in initPlayerLocal.sqf, so don't worry about the locality for multiplayer)
  10. Found a way. [ configFile >> "Configwiththeclassnameofathinginit" >> "Classname of a thing", true ] call BIS_fnc_returnParents; example: [ configFile >> "CfgAmmo" >> "Bo_GBU12_LGB", true ] call BIS_fnc_returnParents; will return ["Bo_GBU12_LGB","ammo_Bomb_LaserGuidedBase","LaserBombCore","BombCore","Default"] and with a command (i dont remember which) to check if a specific element is in an array, i can find, for example, for several types of bombs "BombCore" is always present, while obviously not being present for other projectiles or items, etc. now i can check the parents for several objects in an array of all nearest object and maybe pushBack them to another array. found the command: 1 *in* [0, 1, 2]; // true Pretty poggers.
  11. Wait. I'll just use the nearestObjects several times for different arrays and then use forEach for those arrays. I'll report back when i try this.
  12. Thanks, i'll try the function. isKindOf returns bool and not the base class, so i'd have to make a LOT of if-then statements... By the way, i get array by doing nearestObjects with this filter: _array = ["Explosives", "Container", "Cargo", "Backpacks", "Items", "ItemsHeadgear", "ItemsUniforms", "ItemsVests", "Magazines", "Ammo", "Mines", "WeaponAcessories", "WeaponsHandguns", "WeaponsPrimary", "WeaponsSecondary", "MineGeneric", "Man"]; _nearestObjectsLoot = nearestObjects [_caller, _array, 100]; //_caller - it's an action btw
  13. For example, i have an array of objects: _array = [object1, object2, etc] and i have a switch case for "_i" from 0 to ((count _array - 1) do { _newObject = _array select _i; switch ((Somekindof typeOf command) _newObject) do { case "Mines": {code to do something to the object}; case "Man": {code to do something to the object}; case "Cargo": {code to do something to the object}; }; }; //_newObject is updated everytime for each of the element so that it applies the code to every element, but that's not the point of the question How would i get these base classes so I'm basically switching between types?
  14. Doggifast

    Object attaching to humans

    It works, jesus it was so easy. Thank you so much
  15. Doggifast

    Object attaching to humans

    Hm. Maybe i missed something and overthinking this. Give me a minute