Jump to content


  • Content count

  • Joined

  • Last visited

  • Medals

Community Reputation

182 Excellent


About 7erra

  • Rank
    Staff Sergeant

Contact Methods

  • Website URL
  • Biography
    - 2012: ArmA2; Public domination, DayZ mod
    - 01.12.2013: Start of ArmA3
    - 06.01.2014: Joined the [IPT] ArmA3 clan, start of milsim "career"
    - March 2014: End of the IPT ArmA3 clan
    - End of 2014: Joined the 23. Luftlandekompanie [23LLK]
    - Middle 2015: Left the 23LLK for the 401PzGrenKp [401]
    - 01.04.1016: 401 joins the virtuelle Lehrbrigade 16 [L16] as PzGrenBtl 402 [402]

    Scripting for 4 years now. Learned by doing, didn't read one single scripting introduction. Not recommended - takes longer I guess.

Profile Information

  • Gender
  • Location

Recent Profile Visitors

849 profile views
  1. The main differences are explained in the comments of the BIKI article. The other advantage that createDisplay gives you is that you can select your parent display. When eg you click a button in a dialog you can create another dialog on top of it and return variables with the onChildDestroyed EH. Also take note of the closeDisplay command which closes the specific display and the closeDialog which will close the uppermost dialog. There's also the dialog command which will tell you if a dialog created with createDialog is open atm. I personally use createDialog when creating a new instance of an interactable dialog and then create child displays using createDisplay on top of that one.
  2. Does anybody know where the config for resizing of the debug console is located? I need to have a look at it to align another control with it. Thanks!
  3. ArmA rule #34: If it exists, there is code for it. If it isn't there will be. Would you mind if I used the code in my mod?
  4. Hi everyone! Since I'm a noob with trigonometry I'd like to ask you how it is possible to draw the outline of a trigger with drawIcon3D. I have come so far that I can draw the border with predefined positions. params ["_trigger"]; //_tParams = triggerArea _trigger; //_tParams params ["_a","_b","_angle","_isRectangle","_c"]; _posArray = [ // predefined positions [4127,4112,1], [4127,4124,1], [4134,4124,1], [4134,4112,1] ]; _posArray apply {_x set [2,0.5]}; _posArray pushBack (_posArray select 0); _posArray = _posArray apply { if ((count _posArray) > _posArray find _x) then { [_x,_posArray select ((_posArray find _x) +1),[0,1,0,1]] } else { [_x,_posArray select 0,[0,1,0,1]] }; }; while {triggerActivated _trigger} do {// other option: eachFrame MEH, but the array will be evaluated over and over. seems redundant as the trigger wont move. Also arguments have to be passed. { drawLine3D _x; } forEach _posArray; _curFrame = diag_frameno; waitUntil {_curFrame != diag_frameno}; }; Thanks, 7erra
  5. A friend of mine had the same issue. So what we did was remove one part of the mission at a time. After many many restarts we came to the revive system of A3 itself. As soon as we enabled the revive system with respawn on custom position we had the issue you mentioned above. As far as I can see your mission doesn't have revive enabled but the "Sunday Revive" mod might change that.
  6. Exactly. The KeyDown EH seems really good. I was was thinking about using a waitUntil loop to detect opening of the escape menu but the actionKeys command is way better, thank you. I will use this too as I'm not only going to save loadouts but also vehicles. Those will only be saved if you bring them back in one piece. The loadouts will only be saved when the player logs out while in the base. Saving the loadout on log out will prevent players from duplicating stuff as they can otherwise just save the loadout, give it to another player, log out and receive the same gear again. That is really helpful acutally. I can use this to save som global stats which are handled on the server. Thanks! The concept of the mission is to do smaller ones while operating from a set base. Maybe I'll end the mission each time an objective is completed. This should remove any leftovers from old missions and makes it easier to save the stats to a database. Thanks for the help, all of you have been as helpful as always 7erra
  7. Is there maybe an eventhandler? getClientState will require to check every so and so seconds. If the variable changes in the time between the last iteration and log out it wont be saved.
  8. Hi everyone, I was wondering if there was a command to detect whether the mission has ended by aborting it? the mission eventhandler only fires on the following cases: HandleDisconnect is one of the MEHs I'm currently using for saving the loadouts of the players (with inidbi2) but when there is someone hosting the server his loadout won't be saved as he is not "disconnecting". This will also be useful in case the dedicated server will get shutdown as I'm planning to add more variables to the mission which need to be saved too. My current workaround would be to use addAction to manually save the progress or a loop, which wouldn't be very performance friendly I think. Thanks in advance, 7erra
  9. Yeah that's the problem. call will not allow supsension (sleep, uiSleep, waitUntil). Try spawn instead. Keep in mind that this will not get you a return value.
  10. Maybe you are running this script in unsuspended environment? The waitUntil statement might cause the problem. Where and how are you calling the script?
  11. Put this into the unit's init: this spawn { waitUntil {time > 1}; _index = 0; _unit = _this; _weapon = secondaryWeapon _unit; _vehicle = vehicle _unit; _unit action ["SwitchWeapon", _vehicle, _vehicle, _index]; while {(currentWeapon _unit) != _weapon} do { _index = _index + 1; _unit action ["SwitchWeapon", _vehicle, _vehicle, _index]; }; systemchat str _index; }; Original code from @Schatten
  12. The whole launch process is a rather complicated subject and not newbie friendly. If you still want to see how BIS did it you'll have to get a pbo viewer, a text editor and an fsm editor (found in the A3 Tools on Steam). The path to BI's mission is this one: <ArmA 3 main folder on Steam>\Jets\Addons\missions_f_jets.pbo\showcases\showcase_jets.altis Here is the mission for the editor: https://drive.google.com/open?id=1LJpJ4hPIQcbZ7dB-WazQ7Pi0IHozOFjy The most interesting part is the following section from missionFlow.fsm: //start the wingman launch procedure [] spawn { _mirroredAnims = false; //animate blast deflector _carrierObjects = BIS_plane_wingman nearObjects ["Land_Carrier_01_hull_07_1_F", 100]; _carrierPart = _carrierObjects param [0, objNull]; _carrierPartCfgCatapult = configfile >> "CfgVehicles" >> "Land_Carrier_01_hull_07_1_F" >> "Catapults" >> "Catapult3"; _carrierPartanimations = getArray (_carrierPartCfgCatapult >> "animations"); _dirOffset = getNumber(_carrierPartCfgCatapult >> "dirOffset"); _direction = (getDir _carrierPart - _dirOffset - 180) % 360; BIS_plane_wingman setDir _direction; sleep 3; [_carrierPart, _carrierPartanimations, 10] spawn BIS_fnc_Carrier01AnimateDeflectors; private _duration = getNumber(missionConfigFile >> "CfgCarrier" >> "LaunchSettings" >> "duration") max 6; private _stepLength = _duration/24; sleep 12; [BIS_crewAidL_2,"playmovenow","Acts_JetsCrewaidLCrouch_loop",_mirroredAnims] call bis_fnc_carrier01CrewPlayAnim; sleep 0.5; [BIS_crewAidR_2,"playmovenow","Acts_JetsCrewaidRCrouch_loop",_mirroredAnims] call bis_fnc_carrier01CrewPlayAnim; sleep 0.5; [BIS_crewAidF_2,"playmovenow","Acts_JetsCrewaidF_runB",_mirroredAnims] call bis_fnc_carrier01CrewPlayAnim; [BIS_shooter_2,"playmove","Acts_JetsShooterIdle",_mirroredAnims] call bis_fnc_carrier01CrewPlayAnim; [BIS_shooter_2,"playmovenow","Acts_JetsShooterIdleMoveaway_loop",_mirroredAnims] call bis_fnc_carrier01CrewPlayAnim; sleep 4.7; [BIS_shooter_2,"playmove","Acts_JetsShooterIdleMoveaway_out",_mirroredAnims] call bis_fnc_carrier01CrewPlayAnim; [BIS_wingman,[BIS_shooter_2,BIS_crewAidF_2,BIS_crewAidL_2,BIS_crewAidR_2],_mirroredAnims] execFSM 'playLaunchAnims.fsm'; private _posWorld = getPosWorld BIS_plane_wingman; BIS_wingman enableAI "MOVE"; BIS_plane_wingman flyInHeightASL [200, 200, 200]; BIS_plane_wingman forceSpeed 200; private _timeStart = time; private _timeLaunch = _timeStart + (24 * _stepLength); waitUntil { BIS_wingman setVariable ["carrierCatapultState",floor((time - _timeStart)/_stepLength)]; BIS_plane_wingman setPosWorld _posWorld; BIS_plane_wingman setDir _direction; time >= _timeLaunch }; BIS_wingman setVariable ["carrierCatapultState",25]; [BIS_plane_wingman,_direction] spawn BIS_fnc_AircraftCatapultLaunch; sleep 5; //ANIMATE BLAST DEFLECTOR DOWN #3 [_carrierPart, _carrierPartanimations, 0] spawn BIS_fnc_Carrier01AnimateDeflectors; sleep 10; BIS_shooter_2 playmove "Acts_JetsShooterIdle2"; BIS_crewAidF_2 playmove "Acts_JetsCrewaidF_idle"; BIS_crewAidL_2 playmove "Acts_JetsCrewaidL_idle"; BIS_crewAidR_2 playmove "Acts_JetsCrewaidR_idle"; }; You might wanna start there if you feel up to the task. I won't be able to provide any script since I am busy atm.
  13. Vehicle Unflip script

    First of all I'd recommend @pierremgi's solution for the condition as it is faster Mine: 0.0164 ms pierre: 0.0062 ms Secondly where are you putting the code? It is meant for the init line of the vehicle.
  14. Vehicle Unflip script

    This condition states that you have to be inside of the vehicle. Are you trying to flip it from the outside?