Jump to content

fathersarge

Member
  • Content Count

    135
  • Joined

  • Last visited

  • Medals

  • Medals

Posts posted by fathersarge


  1. This is the tested (on a dedi) solution for the sling load question. CBA is required for this script. Drop it into the mission init.sqf to install and use. That's it.

     

    This is good for anything in your mission, even things spawned in Zeus.

     

    This is only setup for vanilla sling loading. However if using Duda's Advanced Sling Loading, the pilot of a helicopter can still get into the driver seat of a vehicle to set locality for the vehicle (just make sure no one gets into the driver seat after the pilot), and they can now use this script to set locality for any other non-vehicle objects you'd like to sling load with Advanced Sling Loading (ammo crates, etc).

     

    Thanks for the help everyone.

     

    	["lsl_slingLocality", 
    		{
    			params ["_heli", "_object"];
    			private _heliOwner = owner _heli;
    			if (_heliOwner != owner _object) then {
    			_object setOwner _heliOwner;
    			};
    		}
    	] 
    	
    	call CBA_fnc_addEventHandler;
    
    	["Helicopter", "init", 
    		{
    			params ["_heli"];
    
    			_heli addEventHandler ["RopeAttach",
    			
    			{
    				params ["_heli", "", "_object"];
    				["lsl_slingLocality", [_heli, _object]] call CBA_fnc_serverEvent;
    			}
    		];
    		}, true, [], true
    	]
    	
    	call CBA_fnc_addClassEventHandler;

     

    • Like 2

  2. It's entirely possible your trigger isn't wide enough and the helicopter flies through it so fast it doesn't trip it. I had the same issue with players in a c130. 

     

    Didn't need any fancy script, just made the trigger a few hundred meters wide (we were flying at 400+ though so your trigger won't have to be that much bigger)


  3. So this is an issue I encounter on some servers and do not encounter on others. I'm curious if anyone knows what the culprit might be and if there is a fix.

     

    For the purposes of this discussion I'm talking about vanilla sling loading, but this occurs more frequently if using Duda's advanced sling loading.

     

    In a nutshell, flying around sling loading any object (I really can't stress anymore that is is truly any object completely independent of mass) at a moderate speed (between 40-60kts, appropriate sling speed), the load and the helicopter are treated as completely separate objects and the server will eventually "hiccup" slightly. This causes the server to think the load and the helicopter are beyond range of each other, thus disconnecting the ropes and letting the load fall to the ground.

     

    This doesn't seem to happen on some servers, it happens infrequently on others, or even extremely frequently on other servers. Have others encountered this? I don't see any topics about it and to me it seems like a pretty big deal as it essential makes anything other than the old script sling loading completely useless. I can take a guess that is might have something to do with latency between the client and the server but when my ping to the main server I play on is usually less than 50 and I still have this occur all the time, there seems to be something wrong.

     

    Let's talk about it.


  4. On 2/21/2018 at 10:10 PM, Drift_91 said:

    I think that was a flaw in the keybindings for the mod that got patched a while back. It was updated again after the Jets DLC so that the afterburner only turns on at a certain throttle setting with the new system. Admittedly, the mod was updated after I went flying off the deck, so it might have been the afterburner and I just wasn't paying attention. I still however don't understand what @oukej is talking about with 18km/h. I set my throttle to 4% in the Caesar BTT and it quickly reaches 22km/h and continues to slowly accelerate until I reach a turn in the taxiway.

     

    I really don't understand why the devs are so against it. It's a combat game, not a flight simulator; As has already been discussed the last thing you want in a combat zone is to be finicking with the throttle. There's a reason real life CAS and fighter aircraft have HOTAS and all manner of electronic flight envelope protection. Also it's pretty sad to see some people have had to completely give up flying in Arma 3 just because of this one simple thing that can be fixed in probably less than a days work by one or two junior programmers.

     

    On 10/9/2017 at 7:10 AM, oukej said:

    Single tap on the Shift key takes me to some 4% throttle which gives me ~18km/h taxi speed.
    If you want a more precise control I'd suggest mapping the throttle increase/decrease to a modifier (alt) + mousewheel. With that you can easily make 1% increments as well as bigger changes.

     

     

     

    Welcome to BIS, where we make everything up and the players' opinions don't matter


  5. On 10/9/2017 at 7:10 AM, oukej said:

    Single tap on the Shift key takes me to some 4% throttle which gives me ~18km/h taxi speed.
    If you want a more precise control I'd suggest mapping the throttle increase/decrease to a modifier (alt) + mousewheel. With that you can easily make 1% increments as well as bigger changes.

     

    Really?

     

    Just give the option to use the old controls already. I don't even fly planes anymore because of this update. Are you all just bad at your jobs or something? If you can switch between SFM and AFM for helicopters, what's the problem with the fixed wing controls?


  6. A mod that allows a player to set multiple waypoints in-game, dynamically, that cycle from one to the next. To get an idea of what I'm talking about just look to the editor, you can set a waypoint and a trigger so that when the player reaches the first waypoint a new waypoint appears, and so on.

     

    I'd like to see people be able to do this in-game without zeus or the mission editor setting it up. In my mind it looks similar to mission markers, so you can set it to side or group (and if possible "individual" so only the player that places it will see it) and you can set the order of these waypoints. As you reach the waypoint (within a certain distance with is set by the player setting the waypoint) the waypoint cycles and you are automatically directed to the next one.

     

    Why would anyone care about this? I care about it because it would be the arma equivalent of real life aircraft GPS waypoint systems that cycle to the next waypoint as you cross the previous one. 

    • Like 1

  7. You are right, I was in the wrong. 

     

    Despite having been around this game for years I've never picked up an EULA and read it. I don't understand the rules/guidelines behind this stuff and I have already apologized. I am going to claim ignorance to this and quite honestly the mod in question was cool and it could not be found (to my knowledge after an exhaustive search for it) on A3. I figured it was dead. I believe I even sent pookie a message but I cannot find it asking for the mod on A3 or permission to edit it.

     

    I say again, I was in the wrong to do this after reviewing EULA and such. @corporal_lib[br] is correct, it was shoot first. I will do a greater search for any message I might have sent because I have a habit of messaging people about their mods and never get a response back ever.

     

    I believe by not releasing it (and never planning to) and approaching the author I chose the correct course after doing what little work I actually did. I could have easily just taken it and ran which I know for a fact has been done to countless people. I approached him with it as a tribute, offered it to him freely. I didn't try to hide what I did. That should prove no ill will and zero malicious intent. Just simple ignorance to EULA.

     

    If you want to try and crucify me go ahead, but I doubt others that have done this kind of thing (and knowingly do it) would be so open about it. I'm here to learn and I learned something.

    • Like 8

  8. So where would this go? initPlayerLocal?

    8 hours ago, crazy538 said:

    // Rating handling: Stops the player being shot by friendly AI.
    player addEventHandler [
        "HandleRating",
        {
            params["_player"];
            if (rating _player < 0) then {
                player addRating abs rating _player;
            };
        }
    ];

     

    That's a quick and easy event handler that will always bounce the players rating back to 0 if they're below 0.

     

    Where would that go?

    55 minutes ago, pierremgi said:

    Or just make no rating change for empty vehicle only:


     

    
    addMissionEventHandler ["entityKilled",{
      params ["_killed", "_killer", "_instigator","_rating"];
      if (isNull _instigator) then {_instigator = UAVControl vehicle _killer select 0};
      if (isNull _instigator) then {_instigator = _killer};
      if (isPlayer _instigator && count (crew _killed) ==0) then {
        _rating = rating _instigator;
        [_instigator,_rating] spawn {
          params ["_instigator","_rating"];
          waitUntil {rating _instigator != _rating};
          _instigator addRating (_rating - rating _instigator)
        }
      }
    }];

     

     


  9. The problem:

    You and your buddies are under fire from the advancing enemy. You don't have time to repair your truck which is missing 2 wheels and isn't drivable. You blow it up to prevent the enemy from fixing it and using it against you.

    Well crap, now the game has labeled you as some kind of traitor and now no one can get in another vehicle that you are inside.

     

    This feature or bug (honestly not sure which it is) has always confused me in this game. In ACE3 there is an option to pardon someone of such offenses.

     

    My question is... is there a way to either automatically pardon people via a script that runs every time something like this happens or is there a way to disable it from happening altogether? Really could use some help on this one.

    • Like 1

  10. Anyone know of an attachment mod that gives a working flashlight and a laser to the ADR-97 on either side of the sights? All I've found is the stuff in RHS but it puts one of the 2 attachments on top in the way of the sights.

     

    Here's an awesome picture from the best show evvaaaa as an example

     

    500px-SG1_-_S7EP5P90.jpg

     

    If no mod like that exists it would be cool to have one wink wink


  11. 2 hours ago, Grumpy Old Man said:

    Am I the only one experiencing planes accelerating on their own?

     

    1. Go to MP editor
    2. Place plane on the ground
    3. Start engine
    4. Hit esc to go into menu
    5. Watch plane accelerate on its own

    This also happens in hosted MP games or on dedi.

     

    Ticket.

     

    Cheers

     

    That was one of the first things I noticed when I jumped into the black wasp and was messing with keybinds haha I thought I was just doing something wrong XD


  12. 14 hours ago, oukej said:

    I am sorry but I have to refute the option for different throttle behavior.

     

    And why is that? Perhaps the splash screen I read was just worded poorly. I don't see why it couldn't be made an option. You did it with the AFM.

     

    The simple fact of the matter is you tried to fix something that wasn't broken in the first place. Sure plenty of people fly with expensive HOTAS setups and the new 0-100 throttle is a welcome addition to their arsenal. I'm glad they have support.

    However, this move is all too similar to the dual throttle issue that cropped up after the AFM went into effect. You "fixed" something for the HOTAS folks, but the standard kb/m and controller folks had to find their own work around for AWHILE.

     

    I would love to see the old throttle return as an option for the players that would like it. I would certain leave the new throttle in the closet forever if I had it back, just like I've left the AFM forever unused.

     

    To be clear I've sunk 1300+ hours into this game and a few hundred in the game, server rentals, community donations, etc. This game is a cult and I still love it, but everyone should be allowed to play it the way that most appeals to them. I applauded you all for leaving the SFM for helicopters in game as well as add the AFM. That was one of the best moves I've seen a developer do. I'd just like to see the same here for those that really aren't fans of the new throttle.

    • Like 3

  13. On 5/21/2017 at 0:50 AM, umd223 said:


    "If you can't multitask, then what you've been doing for thousands of hours- Probebly isn't for you.." 
    Thanks mate, 10/10 for help. 

    In the change log, Bi has specifically stated that the throttle feature/mechanic is Optional. Hence asking where the Option is; if you even bothered reading my post. 

     

    There's always that one guy isn't there man? Haha

     

    I would love to see an option to revert the throttle back as well. I also remember seeing something about the new throttle being optional. Typical BIS I guess.

    • Like 2

  14. In case anyone finds their way here with a similar question, here is the answer.

     

    Special thanks to Iceman77, soulkobk,  and @Larrow for the work.

     

    Spoiler

    /* ---------------------------------------------------------------------------------------------------- 
    File: vehRespawn.sqf 
    Author: Iceman77
    Modified: soulkobk 4:07 PM 13/05/2017 - added load out for specific vehicles.
              Larrow(via FatherSarge) 15/05/2017 - added load out for specific varible named vehicle

    Description: 
    Respawn destroyed and abandoned vehicles (with custom vehicle load outs based on vehicle type, by soulkobk)

    Parameter(s): 
    _this select 0: vehicle  
    _this select 1: abandoned delay in minute(s) - Required 
    _this select 2: destroyed delay in minute(s) - Required 

    How to use - Vehicle Init Line:  
    _nul = [this, 120, 60] execVM "vehRespawn.sqf"; << 2 minute abandoned delay, 1 minute destroyed delay. 
    ---------------------------------------------------------------------------------------------------- */ 

    private "_veh";

    _veh = _this select 0; 
    _abandonDelay = _this select 1; 
    _deadDelay = _this select 2; 
    _dir = getDir _veh;  
    _pos = getPos _veh;  
    _vehType = typeOf _veh;  

    if (isServer) then

        _executeLoadout = {
            params ["_veh","_vehType"];
            _loadOut = []; // init _loadOut.
                switch ( true ) do {
                    case ( _vehType == "RHS_UH60M_d" ) : { _loadOut = [["Chemlight_blue",10],["Chemlight_red",10]]; };
                        //Compatable with previous formatting
                    case ( vehicleVarName _veh == "heli2" ) : { _loadOut = [["Chemlight_blue",10],["Chemlight_red",10]]; };
                        //Choose vehicle via name given in eden
                    };
            clearBackpackCargoGlobal _veh;
            clearMagazineCargoGlobal _veh;
            clearWeaponCargoGlobal _veh;
            clearItemCargoGlobal _veh;
            {
                _x params[ "_item" ];
                [ _item ] call BIS_fnc_itemType params[ "_type", "_subType" ];
                switch ( toUpper _type ) do {
                    case "MINE";
                    case "MAGAZINE" : {
                        _veh addMagazineCargoGlobal _x;
                    };
                    case "ITEM" : {
                        _veh addItemCargoGlobal _x;
                    };
                    case "WEAPON" : {
                        _veh addWeaponCargoGlobal _x;
                    };
                    case "EQUIPMENT" : {
                        if ( _subType == "backpack" ) then {
                            _veh addBackpackCargoGlobal _x;
                        }else{
                            _veh addItemCargoGlobal _x;
                        };
                    };
                };
            } forEach _loadOut;
        };  

        [_veh,_vehType] call _executeLoadout; // init the load out for the first spawn

        while {true} do { 
            sleep 1; 
            if ((alive _veh) && {canMove _veh} && {{alive _x} count crew _veh == 0}) then
            { 
                _abandoned = true; 
                for "_i" from 0 to _abandonDelay do
                {   
                    if (({alive _x} count (crew _veh) > 0) || (!alive _veh) || (!canMove _veh)) exitWith {_abandoned = false;}; 
                    sleep 1;   
                }; 

                if ((_abandoned) && {_veh distance _pos > 10}) then
                { 
                    deleteVehicle _veh; 
                    sleep 1; 
                    _veh = createVehicle [_vehtype, _pos, [], 0, "CAN_COLLIDE"]; 
                    _veh setDir _dir; 
                    _veh setPos [_pos select 0, _pos select 1,0];
                    _veh setVehicleVarName _varName; 
                    [ _veh, _varName ] call BIS_fnc_objectVar;
                    [_veh,_vehType] call _executeLoadout;
                }; 
            }; 
            if ((!alive _veh) || (!canMove _veh)) then
            { 
                _dead = true; 
                for "_i" from 0 to _deadDelay do
                {   
                    if (({alive _x} count (crew _veh) > 0) || (canMove _veh)) exitWith {_dead = false;}; 
                    sleep 1;   
                }; 
                if (_dead) then
                { 
                    _varName = vehicleVarName _veh;

                    deleteVehicle _veh; 
                    sleep 1; 
                    _veh = createVehicle [_vehtype, _pos, [], 0, "CAN_COLLIDE"]; 
                    _veh setDir _dir; 
                    _veh setPos [_pos select 0, _pos select 1,0];
                    _veh setVehicleVarName _varName;
                    [ _veh, _varName ] call BIS_fnc_objectVar;
                    [_veh,_vehType] call _executeLoadout;
                }; 
            }; 
        }; 
    };

     
     

     


  15. As I said, the script works great, the only thing that doesn't get added is the IR Grenades for whatever reason.

     

    Only mods of merit you will need are... CBA, ACE3, ADR-97 (w/compat), RHS (w/compats), and ctab I believe.

     

    Spoiler

    /* ---------------------------------------------------------------------------------------------------- 
    File: vehRespawn.sqf 
    Author: Iceman77
    Modified: soulkobk 4:07 PM 13/05/2017 - added load out for specific vehicles.

    Description: 
    Respawn destroyed and abandoned vehicles (with custom vehicle load outs based on vehicle type, by soulkobk)

    Parameter(s): 
    _this select 0: vehicle  
    _this select 1: abandoned delay in minute(s) - Required 
    _this select 2: destroyed delay in minute(s) - Required 

    How to use - Vehicle Init Line:  
    _nul = [this, 120, 60] execVM "vehRespawn.sqf"; << 2 minute abandoned delay, 1 minute destroyed delay. 
    ---------------------------------------------------------------------------------------------------- */ 

    private "_veh";

    _veh = _this select 0; 
    _abandonDelay = _this select 1; 
    _deadDelay = _this select 2; 
    _dir = getDir _veh;  
    _pos = getPos _veh;  
    _vehType = typeOf _veh;  

    if (isServer) then

        _executeLoadout = {
            params ["_veh","_vehType"];
            _loadOut = []; // init _loadOut.
            switch (_vehType) do
            {
                case "RHS_UH60M_d": { _loadOut = ["Chemlight_blue","Chemlight_blue","Chemlight_blue","Chemlight_blue","Chemlight_blue","Chemlight_blue","Chemlight_blue","Chemlight_blue","Chemlight_blue","Chemlight_blue","ACE_Chemlight_HiRed","ACE_Chemlight_HiRed","ACE_Chemlight_HiRed","ACE_Chemlight_HiRed","ACE_Chemlight_HiRed","ACE_Chemlight_HiRed","ACE_Chemlight_HiRed","ACE_Chemlight_HiRed","ACE_Chemlight_HiRed","ACE_Chemlight_HiRed","ACE_Chemlight_IR","ACE_Chemlight_IR","ACE_Chemlight_IR","ACE_Chemlight_IR","ACE_Chemlight_IR","ACE_Chemlight_IR","ACE_Chemlight_IR","ACE_Chemlight_IR","ACE_Chemlight_IR","ACE_Chemlight_IR","B_IR_Grenade","B_IR_Grenade","B_IR_Grenade","B_IR_Grenade","B_IR_Grenade","DemoCharge_Remote_Mag","DemoCharge_Remote_Mag","DemoCharge_Remote_Mag","DemoCharge_Remote_Mag","DemoCharge_Remote_Mag","SmokeShellBlue","SmokeShellBlue","SmokeShellBlue","SmokeShellBlue","SmokeShellBlue","SmokeShellBlue","SmokeShellBlue","SmokeShellBlue","SmokeShellBlue","SmokeShellBlue","SmokeShellGreen","SmokeShellGreen","SmokeShellGreen","SmokeShellGreen","SmokeShellGreen","SmokeShellGreen","SmokeShellGreen","SmokeShellGreen","SmokeShellGreen","SmokeShellGreen","SmokeShellOrange","SmokeShellOrange","SmokeShellOrange","SmokeShellOrange","SmokeShellOrange","SmokeShellOrange","SmokeShellOrange","SmokeShellOrange","SmokeShellOrange","SmokeShellOrange","SmokeShellRed","SmokeShellRed","SmokeShellRed","SmokeShellRed","SmokeShellRed","SmokeShellRed","SmokeShellRed","SmokeShellRed","SmokeShellRed","SmokeShellRed","HandGrenade","HandGrenade","HandGrenade","HandGrenade","HandGrenade","HandGrenade","HandGrenade","HandGrenade","HandGrenade","HandGrenade","HandGrenade","HandGrenade","HandGrenade","HandGrenade","HandGrenade","HandGrenade","HandGrenade","HandGrenade","HandGrenade","HandGrenade","Rangefinder","Rangefinder","Rangefinder","Rangefinder","Rangefinder","ACE_fieldDressing","ACE_fieldDressing","ACE_fieldDressing","ACE_fieldDressing","ACE_fieldDressing","ACE_fieldDressing","ACE_fieldDressing","ACE_fieldDressing","ACE_fieldDressing","ACE_fieldDressing","ACE_fieldDressing","ACE_fieldDressing","ACE_fieldDressing","ACE_fieldDressing","ACE_fieldDressing","ACE_fieldDressing","ACE_fieldDressing","ACE_fieldDressing","ACE_fieldDressing","ACE_fieldDressing","ACE_fieldDressing","ACE_fieldDressing","ACE_fieldDressing","ACE_fieldDressing","ACE_fieldDressing","ACE_fieldDressing","ACE_fieldDressing","ACE_fieldDressing","ACE_fieldDressing","ACE_fieldDressing","kss_beer_dark","kss_beer_dark","ACE_EarPlugs","ACE_EarPlugs","ACE_EarPlugs","ACE_EarPlugs","ACE_EarPlugs","ACE_EarPlugs","ACE_EarPlugs","ACE_EarPlugs","ACE_EarPlugs","ACE_EarPlugs","ACE_EntrenchingTool","ACE_EntrenchingTool","kss_beer_light","kss_beer_light","ACE_Clacker","ACE_Clacker","ACE_MapTools","ACE_MapTools","ACE_MapTools","ACE_MapTools","ACE_MapTools","ACE_morphine","ACE_morphine","ACE_morphine","ACE_morphine","ACE_morphine","ACE_morphine","ACE_morphine","ACE_morphine","ACE_morphine","ACE_morphine","ACE_personalAidKit","ACE_personalAidKit","ACE_personalAidKit","ACE_personalAidKit","ACE_personalAidKit","ACE_personalAidKit","ACE_personalAidKit","ACE_personalAidKit","ACE_personalAidKit","ACE_personalAidKit","ItemcTab","ItemcTab","ItemcTab","ItemcTab","ItemcTab","rhs_m4a1_grip_acog_usmc","rhs_m4a1_grip_acog_usmc","SMG_03C_black","SMG_03C_black","B_AssaultPack_blk","B_AssaultPack_blk","B_AssaultPack_blk","B_AssaultPack_blk","B_AssaultPack_blk"]; };
            };
            clearBackpackCargoGlobal _veh;
            clearMagazineCargoGlobal _veh;
            clearWeaponCargoGlobal _veh;
            clearItemCargoGlobal _veh;
            {
                if (_x != "") then
                {
                    if ("B" in [_x splitString "_" select 0]) then
                    {
                        _veh addBackpackCargoGlobal [_x, 1];
                    }
                    else
                    {
                        _veh addItemCargoGlobal [_x, 1];
                    };
                };
            } forEach _loadOut;
        };  

        [_veh,_vehType] call _executeLoadout; // init the load out for the first spawn

        while {true} do { 
            sleep 1; 
            if ((alive _veh) && {canMove _veh} && {{alive _x} count crew _veh == 0}) then
            { 
                _abandoned = true; 
                for "_i" from 0 to _abandonDelay do
                {   
                    if (({alive _x} count (crew _veh) > 0) || (!alive _veh) || (!canMove _veh)) exitWith {_abandoned = false;}; 
                    sleep 1;   
                }; 

                if ((_abandoned) && {_veh distance _pos > 10}) then
                { 
                    deleteVehicle _veh; 
                    sleep 1; 
                    _veh = createVehicle [_vehtype, _pos, [], 0, "CAN_COLLIDE"]; 
                    _veh setDir _dir; 
                    _veh setPos [_pos select 0, _pos select 1,0];
                    [_veh,_vehType] call _executeLoadout;
                }; 
            }; 
            if ((!alive _veh) || (!canMove _veh)) then
            { 
                _dead = true; 
                for "_i" from 0 to _deadDelay do
                {   
                    if (({alive _x} count (crew _veh) > 0) || (canMove _veh)) exitWith {_dead = false;}; 
                    sleep 1;   
                }; 
                if (_dead) then
                { 
                    deleteVehicle _veh; 
                    sleep 1; 
                    _veh = createVehicle [_vehtype, _pos, [], 0, "CAN_COLLIDE"]; 
                    _veh setDir _dir; 
                    _veh setPos [_pos select 0, _pos select 1,0];
                    [_veh,_vehType] call _executeLoadout;
                }; 
            }; 
        }; 
    };

    2

     

     

     

×