PurpleDrain
Member-
Content Count
7 -
Joined
-
Last visited
-
Medals
Community Reputation
10 GoodAbout PurpleDrain
-
Rank
Rookie
-
It's for others as well, people pointed it out pretty quickly.
-
I've never had this problem before, it only happens with TS3 and when the plugin is activated. The microphone itself is connected through an USB audio interface to the computer, it's connected through XLR to the interface. But I don't think that is the problem since it does it for every other device as well.
-
Hello! I'm having some problems with TS3 and the task force plugin, it makes the input of any audio decives crap out. You hear a lot of static and it almost sounds robotic, teamspeak works fine when the plugin is deactivated. I have the correct dlls and the right TS3 version (3.0.14), my computer runs on Windows 7 64bit. Here's a recording of the problem:
-
ACW - Looking for new players
PurpleDrain replied to Mad_Reizka's topic in ARMA 3 - SQUADS AND FANPAGES
Hey! Here's some footage from one of our recent missions, check it out! -
Problem with animations for ported M32
PurpleDrain replied to PurpleDrain's topic in ARMA 3 - ADDONS - CONFIGS & SCRIPTING
I've tried without binarizing the PBO but it yields the same result, I even have the same problem with custom animations from Blender. Could it be related to the weapons with an incorrect model.cfg or something? -
Problem with animations for ported M32
PurpleDrain posted a topic in ARMA 3 - ADDONS - CONFIGS & SCRIPTING
Hello everyone! I've recently started to work on porting a couple of weapons for the group I'm playing with, and it has gone pretty well with everything that's not related to grenade launchers! Whenever I try to use the rtm of any weapon that is either a grenade launcher or has a grenade launcher attachment, it completetly breaks the arms: Now if would be of great help if anyone could help me resolve this matter. Here are the configs related to the weapon: Config.cpp class CfgPatches { class CAWeapons_E_GrenadeLauncher { units[] = {}; weapons[] = {}; requiredVersion = 1.02; requiredAddons[] = {"A3_Weapons_F"}; }; }; class CfgWeapons { class Rifle_Base_F; class UGL_F; class ACW_M32: Rifle_Base_F { // magazines[] = {1Rnd_HE_M203,FlareWhite_M203,FlareGreen_M203,FlareRed_M203,FlareYellow_M203,1Rnd_Smoke_M203,1Rnd_SmokeRed_M203,1Rnd_SmokeGreen_M203,1Rnd_SmokeYellow_M203}; // begin1[]={"ca\sounds_e\weapons_e\grenade_launcher\gr_launcher_1", db0, 1,200}; // soundBegin[]={begin1,1}; // reloadMagazineSound[]={"ca\sounds_e\weapons_e\grenade_launcher\gr_launcher_reload",db0,1,30}; // drySound[]={"ca\sounds_e\weapons_e\grenade_launcher\gr_launcher_dry",db1,1,40}; drysound[] = {"A3\sounds_f\Weapons\other\sfx5", 1, 1, 30}; magazineReloadTime=3; reloadTime=1; optics = true; modelOptics="-"; cameraDir="GL look"; memoryPointCamera="GL eye"; burst = 1; candrop = 1; canlock = 0; canshootinwater = 0; opticsZoomMin=0.3; opticsZoomMax=1.0; opticsZoomInit=0.5; //copy of class GrenadeLauncher: Default from weapons\config.cpp cursor = GLCursor; cursorAim = \ACW_Weapons\MK32\data\clear_empty; cursorSize = 4; value = 3; // reloadTime=1; // sound[]={\ca\Weapons\Data\Sound\grenadelauncher_1,db-60,1,400}; //grenade_launch1 // reloadMagazineSound[]={\ca\Weapons\Data\Sound\z_sinus,db-90,1,1}; reloadmagazinesound[] = {"A3\sounds_f\Weapons\grenades\ugl_reload", 0.501187, 1, 20}; sound[] = {"A3\sounds_f\Weapons\grenades\ugl_shot_4", 1.12202, 1, 200}; reloadAction = "ManActReloadMagazine"; // magazineReloadTime=1; magazines[] = {}; muzzles[] = {M32_GL}; initSpeed=75; //60 selectionfireanim = "zasleh"; autoReload = false; autoAimEnabled=false; ffMagnitude=0.1; ffFrequency=1; ffCount=1; recoil = "M240Recoil"; dispersion=0.007; aiDispersionCoefY=6; //2.0 ... dispersion used to simulate distance est. error maxLeadSpeed = 15; // optics = false; modes[] = {"this"}; muzzlePos="usti granatometu"; muzzleEnd="konec granatometu"; cartridgePos=""; cartridgeVel=""; minRange=30;minRangeProbab=0.10; midRange=200;midRangeProbab=0.7; maxRange=400;maxRangeProbab=0.05; htMin = 1; htMax = 600; afMax = 0; mfMax = 0; mFact = 1; tBody = 100; class M32_GL : UGL_F { displayName = "M32"; descriptionShort = ""; useModelOptics = 0; useExternalOptic = 0; magazines[] = {"1Rnd_HE_Grenade_shell", "UGL_FlareWhite_F", "UGL_FlareGreen_F", "UGL_FlareRed_F", "UGL_FlareYellow_F", "UGL_FlareCIR_F", "1Rnd_Smoke_Grenade_shell", "1Rnd_SmokeRed_Grenade_shell", "1Rnd_SmokeGreen_Grenade_shell", "1Rnd_SmokeYellow_Grenade_shell", "1Rnd_SmokePurple_Grenade_shell", "1Rnd_SmokeBlue_Grenade_shell", "1Rnd_SmokeOrange_Grenade_shell", "3Rnd_HE_Grenade_shell", "3Rnd_UGL_FlareWhite_F", "3Rnd_UGL_FlareGreen_F", "3Rnd_UGL_FlareRed_F", "3Rnd_UGL_FlareYellow_F", "3Rnd_UGL_FlareCIR_F", "3Rnd_Smoke_Grenade_shell", "3Rnd_SmokeRed_Grenade_shell", "3Rnd_SmokeGreen_Grenade_shell", "3Rnd_SmokeYellow_Grenade_shell", "3Rnd_SmokePurple_Grenade_shell", "3Rnd_SmokeBlue_Grenade_shell", "3Rnd_SmokeOrange_Grenade_shell"}; cameraDir="GL look"; memoryPointCamera="GL eye"; discreteDistance[] = {100, 200, 300, 400}; discreteDistanceCameraPoint[] = {"OP_eye", "OP_eye2", "OP_eye3", "OP_eye4"}; discreteDistanceInitIndex = 1; }; scope = 2; model = "\ACW_Weapons\MK32\M32.p3d"; handAnim[]={"OFP2_ManSkeleton","\ACW_Weapons\MK32\data\anim\M32.rtm"}; // picture="\ca\weapons_E\Data\icons\m32_CA.paa"; displayName= "M32"; // UiPicture="\CA\weapons\data\Ico\i_regular_CA.paa"; }; }; model.cfg class CfgSkeletons { class Default {}; class exp_M32: Default { isDiscrete = 1; skeletonInherit = ""; skeletonBones[] = { "trigger","", "reload","", "drum","reload", "grenade1","drum", "grenade2","drum", "grenade3","drum", "grenade4","drum", "grenade5","drum", "grenade6","drum", "safety_catch","" }; }; class exp_Mk13: Default { isDiscrete = 1; skeletonInherit = ""; skeletonBones[] = { "trigger","", "grenade","barrel", "barrel","", "grip","barrel", "release","" }; }; class exp_M79: Default { isDiscrete = 1; skeletonInherit = ""; skeletonBones[] = { "trigger","", "barrel","", "grenade","barrel", "bolt","", "safety","" }; }; }; class CfgModels { class Default { sectionsInherit = ""; sections[] = {}; skeletonName = ""; }; class M32: Default { skeletonName = "exp_M32"; sections[] = {"zasleh"}; sectionsInherit = ""; class Animations { // Rotate drum after each shot class trigger { type = "rotation"; source="reload"; selection = "trigger"; axis = "trigger_axis"; minValue = "0"; maxValue = ".5"; angle0 = 0; angle1 = "rad 40"; }; class rev { type = "rotation"; source="revolving"; selection = "drum"; axis = "drum_axis"; minValue = "0"; maxValue = "1"; sourceadress="loop"; angle0 = 0; angle1 = "rad 360"; }; // hide grenades when reloading class reload_hide1 { type="hide"; source="reloadMagazine"; selection="grenade1"; minValue=0; maxValue=.5; sourceAddress="mirror"; hideValue=".2+random .8"; }; class reload_hide2: reload_hide1 { selection="grenade2"; // hideValue=.33; }; class reload_hide3: reload_hide2 { selection="grenade3"; }; class reload_hide4: reload_hide2 { selection="grenade4"; }; class reload_hide5: reload_hide2 { selection="grenade5"; }; class reload_hide6: reload_hide2 { selection="grenade6"; }; // flip outwards when reloading class reload_open : rev { source = "reloadMagazine"; selection = "reload"; axis = "reload_axis"; sourceadress="clamp"; angle0 = "0"; angle1 = "-2.5"; minValue="0"; maxValue=".10"; }; class reload_close : reload_open { angle0 = "0"; angle1 = "2.5"; minValue=".9"; maxValue="1"; }; class drum_wobble1:rev { type = "rotation"; source="reloadMagazine"; sourceadress="loop"; minValue="0"; maxValue=".15"; angle0 = "0"; angle1 = "((round(random 2))*(rad (360/6)))"; }; class drum_wobble2:drum_wobble1 { maxValue=".3"; }; class drum_wobble3:drum_wobble1 { maxValue=".45"; }; class drum_wobble4:drum_wobble1 { maxValue=".6"; }; class drum_wobble5:drum_wobble1 { maxValue=".75"; }; class drum_wobble6:drum_wobble1 { maxValue=".9"; angle1 = "(rad (360/6))"; }; /* class drum_wobble7:drum_wobble1 { maxValue=".7"; }; class drum_wobble8:drum_wobble1 { maxValue=".8"; }; class drum_wobble9:drum_wobble1 { maxValue=".9"; }; class drum_wobble10:drum_wobble1 { maxValue="1"; }; */ #define k (rad 4) #define wobbleAngle k #define wobbleAngle2 (-k) class reload_wobble1:reload_open { type = "rotation"; source="reloadMagazine"; //sourceadress="clamp"; minValue="0"; maxValue=".1"; angle0 = "0"; angle1 = wobbleAngle; }; class reload_wobble2:reload_wobble1 { maxValue=".2"; }; class reload_wobble3:reload_wobble1 { maxValue=".3"; }; class reload_wobble4:reload_wobble1 { maxValue=".4"; }; class reload_wobble5:reload_wobble1 { maxValue=".5"; }; class reload_wobble6:reload_wobble1 { minValue=".5"; angle0 = "0"; angle1 = wobbleAngle2; maxValue=".6"; }; class reload_wobble7:reload_wobble6 { maxValue=".7"; }; class reload_wobble8:reload_wobble6 { maxValue=".8"; }; class reload_wobble9:reload_wobble6 { maxValue=".9"; }; class reload_wobble10:reload_wobble6 { maxValue="1"; }; class safety { type = "rotation"; source="revolve"; selection = "safety_catch"; axis = "safety_catch_axis"; minValue = "0.95"; maxValue = "1"; sourceadress="loop"; angle0 = 0; angle1 = "rad 110"; }; }; }; class Mk13: Default { skeletonName = "exp_Mk13"; sections[] = {"zasleh"}; sectionsInherit = ""; class Animations { class reload_hide { type="hide"; source="reloadMagazine"; selection="grenade"; minValue=0; maxValue=.5; sourceAddress="mirror"; hideValue=".45+random .3"; }; class trigger { type = "translation"; source="reload"; selection = "trigger"; axis = "trigger_axis"; minValue = "0"; maxValue = ".01"; Offset0 = "0"; Offset1 = "1"; }; class grip { type = "translation"; source="ReloadMagazine"; selection = "grip"; axis = "grip_axis"; minValue = "0"; maxValue = ".05"; Offset0 = "0"; Offset1 = "1"; }; class barrel_slide { type = "translation"; source="ReloadMagazine"; selection = "barrel"; axis = "grip_axis"; minValue = ".05"; maxValue = ".2"; Offset0 = "0"; Offset1 = "4"; }; class barrel_rotate { type = "rotation"; source="ReloadMagazine"; selection = "barrel"; axis = "barrel_axis"; minValue="0.2"; maxValue="0.22+ random 0.05"; angle0="0.0"; angle1="(rad -25)"; }; class barrel_rotate_b:barrel_rotate { minValue="0.79+ random 0.05"; maxValue="0.87"; angle1="(rad 25)"; }; class barrel_slide_b:barrel_slide { minValue = ".87"; maxValue = ".9+random 0.1"; Offset1 = "-4"; }; class grip_b:grip { minValue = "0.87+ random 0.1"; maxValue = "1"; Offset1 = "-1"; }; }; }; class M79: Default { skeletonName = "exp_M79"; sections[] = {"zasleh"}; sectionsInherit = ""; class Animations { class reload_hide { type="hide"; source="reloadMagazine"; selection="grenade"; minValue=0; maxValue=.5; sourceAddress="mirror"; hideValue=".45+random .3"; }; // flip downwards when reloading class reload_open { type = "rotation"; source = "reloadMagazine"; selection = "barrel"; axis = "barrel_axis"; sourceadress="clamp"; angle0 = "0"; angle1 = "-1"; minValue=".05"; maxValue=".1+random .05"; }; class reload_close : reload_open { angle0 = "0"; angle1 = "1"; minValue=".85-random .2"; maxValue=".95- random .02"; }; // #define k (rad 4) // #define wobbleAngle k // #define wobbleAngle2 (-k) class reload_wobble1:reload_open { type = "rotation"; source="reloadMagazine"; minValue="0.05"; maxValue=".1"; angle0 = "0"; angle1 = wobbleAngle; }; class reload_wobble2:reload_wobble1 { maxValue=".2"; }; class reload_wobble3:reload_wobble1 { maxValue=".3"; }; class reload_wobble4:reload_wobble1 { maxValue=".4"; }; class reload_wobble5:reload_wobble1 { maxValue=".5"; }; class reload_wobble6:reload_wobble1 { minValue=".5"; angle0 = "0"; angle1 = wobbleAngle2; maxValue=".8"; }; class reload_wobble7:reload_wobble6 { minValue=".55"; }; class reload_wobble8:reload_wobble6 { minValue=".6"; }; class reload_wobble9:reload_wobble6 { minValue=".65"; }; class reload_wobble10:reload_wobble6 { minValue=".7"; }; class bolt_open { type = "rotation"; source="ReloadMagazine"; selection = "bolt"; axis = "bolt_axis"; minValue = "0"; maxValue = "0.01+random 0.04"; angle0 = "0"; angle1 = "rad 50"; }; class bolt_close:bolt_open { minValue = "0.95"; maxValue = "1"; angle1 = "rad -50"; }; class safety { type = "translation"; source="revolve"; selection = "safety"; axis = "safety_axis"; minValue = "0"; maxValue = "0.001"; Offset0 = "1"; Offset1 = "0"; }; class trigger { type = "rotation"; source="reload"; selection = "trigger"; axis = "trigger_axis"; minValue = "0"; maxValue = ".1"; angle0 = 0; angle1 = "rad -15"; }; }; }; }; Any kind of help is appreciated, thank you! -
Run script serverside and broadcast array to clients
PurpleDrain posted a topic in ARMA 2 & OA : MISSIONS - Editing & Scripting
Hello! I am trying to make my randomizer script function in multiplayer, but I have not yet been successful in doing so... I have tried make it work with publicVariable in both the init.sqf and the script itself. It works fine both in multiplayer and singleplayer when I am alone but when 2 or more players are present it doesn't work. I have also tried executing it in-game with the same method as in the init.sqf. So my question to you all is how I can successfully run this server-side and broadcast the updated array to the clients? Any help is greatly appreciated. Note: I haven't fully cleaned up the code of old stuff, so if you see something that isn't used... It's because of that. It might also include faults and/or ineffective ways of doing things, but I am still just a beginner. :P init.sqf: ranarr = [0, 0, 0, 0]; publicVariable "ranarr"; if (isServer) then { ran = [2, 1] execVM "randomizer_local.sqf"; publicVariable "ranarr"; } This is the code itself: _times = _this select 0; // First parameter _val = _this select 1; // Second parameter _arrcount = count ranarr; _i = 0; _raninit = floor(random _arrcount); // one inital value to avoid nil value _tmp = []; // temporary array for random values _case = "gen"; // stage controller _con = 1; // loop variable _checktmp = [99]; _checkcount = 1; // ranarr set [_raninit, _val]; while {_con == 1} do { switch (_case) do { case "gen": // generate and check numbers for duplicates { while {_i < _times} do { _ran = floor(random _arrcount); // select random value { if (_ran == _x) then { while {_ran == _x} do { _ran = floor(random _arrcount); }; }; } forEach _checktmp; _tmp set [_i, _ran]; _checktmp set [_checkcount, _ran]; _i = _i + 1; _checkcount = _checkcount + 1; }; _case = "check"; }; case "check": { { ranarr set [_x, _val]; } forEach _tmp; publicVariable "ranarr"; // Broadcast updated array to clients. _con = 0; }; }; };