Jump to content

mallinga

Member
  • Content Count

    29
  • Joined

  • Last visited

  • Medals

Everything posted by mallinga

  1. Since update 2.18 when I start the game the servers in the game server browser are loading and showing. But when I refresh the list more than 2x it is gone, no matter what list I refresh (Internet, Official, Recent). It is finding 0 servers and it will not come back until I restart the game. However in the Arma launcher the servers are showing and the list can be refreshed normally. My firewall is set the same way as always, didnt change a thing. Ports are forwarded on router. game is working fine except this issue with the server list. What I already tried: - deleting cache files in AppData folder (server list and other chache files) - veryfied game files - switched to dev branch and back no luck so far. Any Ideas?
  2. Hi guys, I want to add a mission parameter option for players: "disable or enable score table" I came up with this: description.ext: class Params { class ScoreTable { title = "Score Table"; values[] = {0, 1}; texts[] = {"Disabled", "Enabled"}; default = 1; file = "params\setScoreTable.sqf"; }; }; setScoreTable.sqf: if (isServer) then { _scoreTable = param [0,1,[999]]; if (_scoreTable == 0) then {missionNamespace setVariable ["BIS_scoreTable",0];}; if (_scoreTable == 1) then {}; }; init.sqf and onPlayerRespawn.sqf: if (hasInterface) then { sleep 0.5; if (missionNamespace getVariable "BIS_scoreTable" == 0) then {showScoretable 0}; }; It works when mission is hosted localy, but NOT on dedicated server. WHY?? Any solution for dedi?
  3. Thank you, Sir, for all your hard work!! Can't be appreciated enough that 9 years after release you guys still work on improving the game, making our experience a better one! Thank you!!
  4. Hello leecarter, although it's kind of late, but I found your arty script here and modified it to prevent AI from shelling nearby friendlies (of AI side): // Artillery Fire Mission script - fires at targets in trigger area - by leecarter (modified by mallinga) // example: // _null = [arty1, thislist] execVM "Scripts\fireMission.sqf"; _FireMission = _this select 0; _targetArray = _this select 1; _target = _targetArray select 0; _theAmmo = getArtilleryAmmo [_FireMission] select 0; _idx = 0; //-- prevents friendly fire - "SoldierEB" = east, "SoldierWB" = west, "SoldierGB" = resistance while {(_idx < 10)} do { _friendlyUnitsAlive = {alive _x} count ((_target nearObjects ["SoldierEB", 50]) + (_target nearObjects ["SoldierGB", 50])); //-- prevents firing at aircraft if (isTouchingGround _target && _friendlyUnitsAlive == 0) then { //-- The number of times you want artillery to check for range while {(_idx < 10)} do { _tgtPos = position _target; _isInRange = _tgtPos inRangeOfArtillery [[_FireMission], _theAmmo ]; if (_isInRange) then { _FireMission commandArtilleryFire [_tgtPos, _theAmmo , 1 ]; }; sleep 5; _idx = _idx + 1; }; }; sleep 5; }; now, if you enter the trigger area, it will start or stop fire in a 50m radius around target until condition (times of adjusting, here: 10) is met. cheers
  5. Hello, I know its kind of late to answer this, but after almost exploding my head trying to get a decent sling loading script for AI, I know the solution to this problem: Using a helo placed in editor this works fine, but when using a script and spawning the crew with "createVehicleCrew" some waypoints are broken for helicopters. Use "spawnGroup" instead: _myHelo = createVehicle ["B_Heli_Transport_03_unarmed_F", getPos _HQ_dropOff, [], 0, "FLY"]; _myHeloGroup = [[0,0,0], west, ["B_helipilot_F", "B_helipilot_F"]] call BIS_fnc_spawnGroup; {_x moveInAny _myHelo} forEach (units _myHeloGroup ); your example: _huron1 = createVehicle ["B_Heli_Transport_03_unarmed_F", getPos _HQ_dropOff, [], 0, "FLY"]; _huron1Group = [[0,0,0], west, ["B_helipilot_F", "B_helipilot_F"]] call BIS_fnc_spawnGroup; {_x moveInAny _huron1 } forEach (units _huron1Group ); sleep 0.1; _huron1_WP1 = _huron1Group addWaypoint [_box, 0]; _huron1_WP1 waypointAttachObject _box; _huron1_WP1 setWaypointType "Hook"; // if you want a drop off wp: _huron1_WP2 = _huron1Group addWaypoint [_destination, 0]; _huron1_WP2 setWaypointType "Unhook";
  6. Hi guys, I am currently retexturing AAF for a Winter faction and I stumbled apon a minor texture problem using hiddenSelectionsTextures with the GA Carrier Lite (Digital) / V_PlateCarrierIA1_dgtl. The Handle at the back of the vest stays original (green). Strangely enough the handle is white like intended with the second AAF Plate Carrier Model, GA Carrier (Digital) / V_PlateCarrierIA2_dgtl. Is there maybe another hiddenSelection like e.g. for the sniper ghillie (camo3/camo4)?? Or do I have to live with a green Handle on my white vest? 🙂 picture
  7. Hi, I recently had the same difficulties. Just sharing my solution for the Taru Bench, where you have to inherit the cargo turrets, too. For all the other Tarus you just need to declare Copilot and Loadmaster turret.
  8. I figured it out. For a Taru (Bench) (O_Heli_Transport_04_bench_F) You have to declare and inherit the cargo turrets, too.
  9. Well, there is somehow a problem with the taru version of this. For some reason it cant be loaded with troops anymore. I cant figure out what I did wrong.... I even extracted the configs and compared them.... they are basically identical (except minor stuff like soldier classes and author ect). What am I doing wrong?
  10. I see my problem now. Thank you so much!!
  11. Hello IndeedPete, I know its 5 years...you probably came across a solution? I have the exact same problem right now... :(
  12. Hi, I want to implement a dragging option for wounded and dead playable units in my mission. I found a good solution by bangabob. Problem is it doesnt work on my dedi server properly. And I am out of ideas. Here is the script: /* DragBody script by BangaBob (H8erMaker) v1.2 Description Drag dead bodies out of sight to avoid detection. JIP/MP/SP/Dedicated compatible Instructions Add this line into the init.sqf. This will add a drag action to all editor placed units. null = allUnits execVM "H8_dragBody.sqf"; Functions [UNIT1,UNIT2,UNIT3] spawn H8_addDrag; Add living units into the script. (Useful for units spawned mid-mission). */ #define H8_DRAGTEXT "Drag Body" // AddAction text for drag body #define H8_DROPTEXT "Release Body" // AddAction text for dropping body #define H8_LOADTEXT "Load Body" // AddAction text for loading body into a vehicle #define H8_UNLOADTEXT "Unload Body" // AddAction text for unloading body from a vehicle H8_fnc_Action = { _dragCond = "vehicle _this != vehicle _target and isNull attachedTo _target and count attachedObjects _this == 0 and _target distance _this < 3"; { _x addaction [H8_DRAGTEXT,{call H8_DragAction},nil,6,false,false,"",_dragCond]; }forEach _this; }; H8_DragAction = { _unit = (_this select 0); // GLOBAL CODE _unitID = _unit getVariable "H8_increm"; [[_unit, vehicle player,_unitID],"H8_fnc_attach",true] call BIS_fnc_MP; _unit attachTo [player,[0,1,0]]; // CLIENT SIDE player playAction "grabDrag"; player forceWalk true; _dropID= player addAction [H8_DROPTEXT,{call H8_dropAction},_unit,6]; _hideID =player addAction [H8_LOADTEXT,{call H8_putIncar},_unit,6,false,false,"","_target distance _this < 8 and cursorTarget isKindOf ""LandVehicle"""]; player setVariable ["H8hideVeh",_hideID]; player setVariable ["H8dropact",_dropID]; }; H8_putIncar = { _hideID = (_this select 2); _dropID = player getVariable "H8dropact"; _unit = (_this select 3); _vehicle = cursorTarget; _loadedBody =_vehicle getVariable "H8loadedBody"; if (isNil "_loadedBody") then { // CLIENT CODE player playMove "amovpknlmstpsraswrfldnon"; player forceWalk false; player removeAction _hideID; player removeAction _dropID; // GLOBAL CODE _unitID = _unit getVariable "H8_increm"; 0 = [[_unit, vehicle player,_unitID],"H8_fnc_detach",true] call BIS_fnc_MP; sleep 1; deTach _unit; _unit setPos [0,0,0]; _vehicle setVariable ["H8loadedBody",_unit,true]; [[_vehicle],"H8_carAction",true] call BIS_fnc_MP; }else{ hint "Vehicle already has a body loaded"; }; }; H8_carAction = { _vehicle = (_this select 0); _vehicle addAction [H8_UNLOADTEXT,{call H8_removeBody},nil,0,false,false,"","_this distance _target < 8"]; }; H8_carRemoveAction = { _vehicle = (_this select 0); _id = (_this select 1); _vehicle removeAction _id; }; H8_removeBody = { _vehicle = (_this select 0); _player = (_this select 1); _id = (_this select 2); [[_vehicle,_id],"H8_carRemoveAction",true] call BIS_fnc_MP; _unit = _vehicle getVariable "H8loadedBody"; _vehicle setVariable ["H8loadedBody",Nil]; _pos = _player modelToWorld [1,0,0]; _unit setPos _pos; _unit switchMove "AinjPpneMstpSnonWrflDb_release"; }; H8_dropAction = { _dropID = (_this select 2); _hideID = player getVariable "H8hideVeh"; _unit = (_this select 3); // GLOBAL CODE _unitID = _unit getVariable "H8_increm"; 0 = [[_unit, vehicle player,_unitID],"H8_fnc_detach",true] call BIS_fnc_MP; deTach _unit; // CLIENT SIDE player removeAction _hideID; player removeAction _dropID; player playMove "amovpknlmstpsraswrfldnon"; player forceWalk false; }; H8_fnc_attach = { _unit = (_this select 0); _player = (_this select 1); _unitID = (_this select 2); _id = format ["h8EF%1",_unitID]; 0 = [_id, "onEachFrame", "H8_fnc_moveBody",[_unit,_player]] call BIS_fnc_addStackedEventHandler; }; H8_fnc_detach = { _unit = (_this select 0); _player = (_this select 1); _unitID = (_this select 2); _id = format ["h8EF%1",_unitID]; 0 = [_id, "onEachFrame"] call BIS_fnc_removeStackedEventHandler; sleep 0.05; _relD = [_unit,_player] call BIS_fnc_dirTo; _unit switchMove "AinjPpneMstpSnonWrflDb_release"; _unit setDir _relD; }; H8_fnc_moveBody = { _unit = (_this select 0); _player = (_this select 1); // CREDIT TOO Das Attorney FOR CODE _pos = _player modelToWorld [0,1,0]; _unit setPos _pos; _unit setDir 180; _unit switchMove "AinjPpneMrunSnonWnonDb"; }; H8_addDrag = { { H8_increments = H8_increments + 1; _x setVariable ["H8_increm",H8_increments,true]; H8_dragUnitArray set [count H8_dragUnitArray, _x]; }forEach _this; [_this,"H8_fnc_Action",TRUE] call BIS_fnc_MP; publicVariable "H8_increments"; publicVariable "H8_dragUnitArray"; }; if (isServer) then { if (isNil ("H8_dragUnitArray")) then { H8_dragUnitArray = []; H8_increments = 0;}; { H8_increments = H8_increments + 1; _x setVariable ["H8_increm",H8_increments,true]; H8_dragUnitArray set [count H8_dragUnitArray, _x]; }forEach _this; publicVariable "H8_increments"; publicVariable "H8_dragUnitArray"; }; if (!isServer && (player != player)) then { waitUntil {player == player}; waitUntil {time > 15};}; if (!isDedicated) then { 0 = H8_dragUnitArray spawn H8_fnc_Action; }; I execute the script in the init.sqf : // Dragging _dragOption = playableUnits execVM "Scripts\H8_dragBody.sqf"; on mission start it is possible to drag, but if players respawn there is no more action menu option to drag. If I execute it also in the onPlayerRespawn.sqf I get two drag options on mission start but no option on respawn. This happens on the dedicated server, if hosted localy the two drag options are there on respawn, too. What am I doing wrong?? Any help?
  13. Hey beno, After playing a whole mission, we came across following issues (which I tried to solve without luck): - The action menu is activating from far away (50meters) so players could start dragging from up to 50 meters away. The injured is then teleported to the player. I see there is a 1.5 m radius set in the code but changing this doesnt have any effect. - if dragger is incapacitated, the two bodies are still attached to each other, so the two bodies can be dragged at the same time, and this is stackable: if the dragger of the two is incapacitated the three bodies can be dragged and so on.
  14. Summary: create folder: dragging Place following files in dragging folder: dragging.sqf: // Dragging Wounded Script by beno_83au // Place all dragging files in a folder called "dragging" // Add this line to init.sqf + onPlayerRespawn.sqf: _dragOption = playableUnits execVM "dragging\dragging.sqf"; player setVariable ["MIL_playerIsDragging",[false,objNull]]; _idDrag = player addAction [ "<t color='#C6E32E'>Drag unconscious player</t>", { private _casualty = cursorObject; player setVariable ["MIL_playerIsDragging",[true,_casualty]]; player setVariable ["#rev_enabled",false]; nul = [_casualty] execVM "dragging\dragUnconscious.sqf"; }, nil, 10, true, false, "", "(lifeState cursorObject == 'INCAPACITATED') && ('unconsciousrevivedefault' in (animationState cursorObject)) && (lifeState _this != 'INCAPACITATED') && !((_this getVariable ['MIL_playerIsDragging',[false,objNull]]) select 0)", 1.5 ]; _idDrop = player addAction [ "<t color='#C6E32E'>Drop unconscious player</t>", { private _casualty = (player getVariable "MIL_playerIsDragging") select 1; private _drop = [_casualty] execVM "dragging\dropUnconscious.sqf"; waitUntil {scriptDone _drop}; player setVariable ["MIL_playerIsDragging",[false,objNull]]; player setVariable ["#rev_enabled",true]; }, nil, 10, true, false, "", "(lifeState _this != 'INCAPACITATED') && ((_this getVariable ['MIL_playerIsDragging',[false,objNull]]) select 0)", 1.5 ]; dragUnconscious.sqf: params ["_casualty"]; private _currentWeapon = currentWeapon player; private _workAround = [false,[]]; switch true do { case (_currentWeapon == ""): {}; case (_currentWeapon == primaryWeapon player): {}; case (_currentWeapon == secondaryWeapon player): { if ((primaryWeapon player) == "") then { private _weapon = handgunWeapon player; _currentWeapon = _weapon; player selectWeapon _weapon; waitUntil {([animationState player,16,19] call BIS_fnc_trimString) == "wpst"}; } else { _currentWeapon = primaryWeapon player; }; }; case (_currentWeapon == handgunWeapon player): { if ((primaryWeapon player) != "") then { private _primaryWeapon = primaryWeapon player; private _magazinesAmmoFull = (magazinesAmmoFull player) select {(_x select 3) == 1}; private _primaryWeaponMagazine = []; { _primaryWeaponMagazine pushBack [_x select 0,_x select 1]; } forEach _magazinesAmmoFull; private _primaryWeaponItems = primaryWeaponItems player; player removeWeapon _primaryWeapon; _workAroundHolder = "Weapon_Empty" createVehicle [0,0,0]; _workAroundHolder setPos (getPos player); _workAroundHolder addWeaponWithAttachmentsCargoGlobal [[_primaryWeapon,_primaryWeaponItems select 0,_primaryWeaponItems select 1,_primaryWeaponItems select 2,[(_primaryWeaponMagazine select 0) select 0,1],[],_primaryWeaponItems select 3],1]; _workAroundHolder attachTo [player,[0,-0.2,0],"rightshoulder"]; _workAroundHolder setDir 290; _workAroundHolder setVectorUp [0,-1,0.9]; _workAroundHolder setDamage 1; _workAround = [true,[_primaryWeapon,_primaryWeaponItems,_primaryWeaponMagazine],_workAroundHolder]; }; }; }; nul = [_workAround,_currentWeapon] execVM "dragging\restrictions.sqf"; [_casualty,"AinjPpneMrunSnonWnonDb_grab"] remoteExec ["switchMove",0]; player playActionNow "grabDrag"; _casualty attachTo [player,[0.1,0.9,-0.02]]; [_casualty,180] remoteExec ["setDir",_casualty]; nul = [_casualty] spawn { params ["_casualty"]; waitUntil { sleep 0.1; ( !alive player || !alive _casualty || !((player getVariable "MIL_playerIsDragging") select 0) ) }; if (!alive player || !alive _casualty) then { [_casualty,"AinjPpneMstpSnonWrflDb_release"] remoteExec ["switchMove",0]; detach _casualty; player playActionNow "released"; player setVariable ["MIL_playerIsDragging",[false,objNull]]; }; }; dropUnconscious.sqf: params ["_casualty"]; [_casualty,"AinjPpneMstpSnonWrflDb_release"] remoteExec ["switchMove",0]; player playActionNow "released"; detach _casualty; restrictions.sqf: params ["_workAround","_currentWeapon"]; private _ehIndex = player addEventHandler ["Fired",{ params ["_unit","_weapon","","","","_magazine","_projectile"]; if (({_weapon == _x} count ["Put","Throw"]) > 0) then { deleteVehicle _projectile; _unit addMagazine _magazine; }; }]; private _weaponEH = [ format["%1_weaponEH",player], "onEachFrame", { params ["_currentWeapon"]; if (currentWeapon player != _currentWeapon) then { player selectWeapon _currentWeapon; }; }, [_currentWeapon] ] call BIS_fnc_addStackedEventHandler; waitUntil {!((player getVariable "MIL_playerIsDragging") select 0)}; [_weaponEH,"onEachFrame"] call BIS_fnc_removeStackedEventHandler; player removeEventHandler ["Fired",_ehIndex]; if (_workAround select 0) then { waitUntil {animationState player != "acinpknlmstpsnonwpstdnon_amovpknlmstpsraswpstdnon"}; _workAround params ["","_weaponData","_workAroundHolder"]; _weaponData params ["_primaryWeapon","_primaryWeaponItems","_primaryWeaponMagazine"]; deleteVehicle _workAroundHolder; player addWeapon _primaryWeapon; { player addWeaponItem [_primaryWeapon,_x,true]; } forEach _primaryWeaponItems; private _grabbedMags = (magazinesAmmoFull player) select {(_x select 2) && ((_x select 3) == 1)}; if (count (getArray (configFile >> "CfgWeapons" >> _primaryWeapon >> "muzzles")) == 1) then { if (count _grabbedMags > 0) then { player addMagazine [(_grabbedMags select 0) select 0,(_grabbedMags select 0) select 1]; }; if (count _primaryWeaponMagazine > 0) then { player setAmmo [_primaryWeapon,(_primaryWeaponMagazine select 0) select 1]; } else { player setAmmo [_primaryWeapon,0]; }; } else { if (count _primaryWeaponMagazine == 1) then { private _check = _primaryWeaponMagazine; { if (((_check select 0) select 0) != (_x select 0)) then { _primaryWeaponMagazine = [_primaryWeaponMagazine,[["",0]],_forEachIndex] call BIS_fnc_arrayInsert; }; } forEach _grabbedMags; }; if (count _grabbedMags > 0) then { { player addMagazine [_x select 0,_x select 1]; player removePrimaryWeaponItem (_x select 0); } forEach _grabbedMags; }; if (count _primaryWeaponMagazine > 0) then { private _ehIndex = player addEventHandler ["Reloaded",{player setVariable ["MIL_Workaround_Reloaded",true]}]; player setVariable ["MIL_Workaround_Reloaded",false]; { private _mag = _x select 0; private _rounds = _x select 1; private _index = _forEachIndex; private _muzzle = [_primaryWeapon,(getArray (configFile >> "CfgWeapons" >> _primaryWeapon >> "muzzles")) select 1] select (_index > 0); if (_rounds > 0) then { player addMagazine [_mag,_rounds]; }; { private _exit = false; if (((_x select 0) == _mag) && ((_x select 1) == _rounds)) then { _id = parseNumber ((((magazinesDetail player) select _forEachIndex) splitstring "[:/]") select 4); _cr = parseNumber ((((magazinesDetail player) select _forEachIndex) splitstring "[:/]") select 5); player action ["loadMagazine",player,objNull,_cr,_id,primaryWeapon player,_muzzle]; waitUntil {player getVariable "MIL_Workaround_Reloaded"}; player setVariable ["MIL_Workaround_Reloaded",false]; _exit = true; }; if (_exit) exitWith {}; } forEach (magazinesAmmo player); } forEach _primaryWeaponMagazine; player removeEventHandler ["Reloaded",_ehIndex]; }; }; }; Then add this line to init.sqf + onPlayerRespawn.sqf: _dragOption = playableUnits execVM "dragging\dragging.sqf";
  15. Thanks alot beno, much appreciated! I'll add a comment that you are the author, if thats ok for you.
  16. What i mean is right now, if you drag a wounded player you can at the same time revive him while attached to you, so if he is revived he is still attached to you and he cant move but he can shoot his gun and you can walk around with him attached to you, he is in your "custody" until you release his body. So if you put in the code that the wounded is detached as soon as he is revived would be great.
  17. Hey beno, I tested your script today and it works fine, thanks alot. I'm executing it through init.sqf and onPlayerRespawn.sqf cause in initPlayerLocal.sqf it only executes once. But i need it on every respawning player. I have however a request: can you please make the revived player automatically detach from the dragger, cause beeing up but stuck to the rescuer not beeing able to do anything ... that might be a way to annoy people (and they always find a way) :) other than that it works fine!
  18. Thanks alot beno, I'll have a look at it. How do you execute your script? via execVM in init.sqf?
  19. Thanks for the reply, my first joyce was also AIS but after a few tests, I experienced some flaws, like dropped bodies in buildings sinkin into the concrete floor and thats a deal breaker. Also I want to keep it simple as possible for players. Scenario is "escape" with vanilla revive system. The bangabob script is exactly what I want for the mission, just need help to get it to work on a dedicated server.
  20. mallinga

    Drag Dead Body Script

    Hey bangabob, I hope you still reading this! I want to use your script for playable units on my server null = playableUnits execVM "Scripts\H8_dragBody.sqf"; but unfortunately its not working properly. It only shows the drag option on wounded or dead bodies that initially started with the mission, if respawned, there is no drag action menu for the new body. Additionally executing the script from onPlayerRespawn.sqf doesnt fix the problem, it only gives two identical action menu entries for initial players due to how my initial respawn is setup. Do you have any advice?
  21. Since the update 1.98 I noticed a strange graphics bug using the optics of a scope (any scope): Looking down the scope the blurr or 'depth of field' effect around the scope is there as expected, but when I switch back directly (ctrl right MB) to ironsights or the close range option of the scope the blurr effect stays.The effect stays as long as I look through the optics. That feels like having some dirt in the eye and affects gameplay alot. In SPOTREP #00093 this issue is listed as fixed: ["Fixed: Optics Post Process Effects (opticsPPEffects) not being loaded correctly"] but for me the update just started the problem. In my video settings 'depth of field' value is "0". I already verified integrity of game cash.
  22. I dont know, I thought you deleted it...also bohemia has some problems with theire web site...
  23. Exactly that. Just found a post from 2013 where this problem was brought up. Guess they kind of rolled back to that. Hopefully it gets noticed.
  24. Don't know if that's still an issue, but what worked for me was using my mobile phone with WiFi disabled. Login to your bohemia account Go to account settings Go to login Scroll down to connect account with steam
  25. Hello, recently I modified the Escape from Altis mission. I put it on a dedi server and realized that all the sites modules for populating military sites with AI are not spawning any units. There is also a simulation manager module and in the sites modules condition I took over the code that was in there before: {_x distance _this < 1200} count units BIS_grpMain > 0 but with this code nothing gets spawned. If I leave it to TRUE its working fine...is there an error in the code? Everthing works local btw, but on the dedicated server only condition TRUE works and that causes a performance drop
×