Jump to content

jakeplissken

Member
  • Content Count

    271
  • Joined

  • Last visited

  • Medals

Everything posted by jakeplissken

  1. Running this in PreInit is instant, this is a better approach. class KER { tag = "KER"; class functions { file = "functions"; class replace{ PreInit = 1; }; class teim{}; class icons{}; class welcome{}; }; }; Set up the CfgFunctions like this and put the code in the replace() function. {{hideObject _x} count nearestTerrainObjects [_x,["TREE","SMALL TREE","BUSH","HIDE"],30] } forEach (([worldSize/2,worldSize/2] nearRoads (worldSize/1.4)) select {getRoadInfo _x#1 < 7}) Then the code will run extremely fast before the main mission loads. Even this is very fast. {{hideObject _x} count nearestTerrainObjects [_x,["TREE","SMALL TREE","BUSH","HIDE"],90] } forEach (([worldSize/2,worldSize/2] nearRoads (worldSize/1.4)) select {getRoadInfo _x#1 < 7})
  2. Here is a good solution though, this will block all non-pilots from Pilot and Copilot seats. player addEventhandler ["GetInMan", { params ["_unit", "", "_vehicle"]; if (_vehicle isKindOf "Air" && { !(_vehicle isKindOf "ParachuteBase") && { !((vehicle _unit getCargoIndex _unit)>=0) && { !((toUpper typeOf _unit find toUpper "Pilot") > -1)} } }) then { _unit moveOut _vehicle; }; }]; player addEventhandler ["SeatSwitchedMan", { params ["_unit", "", "_vehicle"]; if (_vehicle isKindOf "Air" && { !(_vehicle isKindOf "ParachuteBase") && { !((vehicle _unit getCargoIndex _unit)>=0) && { !((toUpper typeOf _unit find toUpper "Pilot") > -1)} } }) then { _unit moveOut _vehicle; }; }];
  3. New keyframe animation system in DEV build. What will this actually be? I an thinking some way to capture AI animations and create cutscenes, but it is early days, and I am not sure what to do with any of the modules. Is this meant for the TAC-OPS DLC or some other intention? I would love to be able to sync the camera to a screen or billboard and have a live video feed. There is a timeline module and curved paths. Does this mean playing back animations?
  4. To run an Arma 3 server on Linux, you need to know a little bit of bash, but only a little bit. The files are case sensitive, so if you have a folder named @MYMOD, then it will need to be specified the same way in your server command line. Below is an example. nohup ./arma3server -name=Gunslinger -mod="@cba;@achilles;@rhsafrf;@rhsgref;@rhsusaf;@CUP Terrains - Core;@CUP Terrains - Maps;@CUP Terrains - CWA;@Reshmaan Province" -config=server.cfg & The example above will start an Arma 3 dedicated server, then return to the command prompt, with it running in the background. Press ENTER twice after executing this command to return to the prompt. Type the tail nohup.out command to see the progress of the server startup. Once it is running, use the ps aux command to find the PID of the Arma 3 server and use the kill PID command to kill the server if required. I am using the default folder names for CUP terrains, but since the mods line is enclosed with double quotes like the below example, it does not matter. -mod="@cba;@achilles;@rhsafrf;@rhsgref;@rhsusaf;@CUP Terrains - Core;@CUP Terrains - Maps;@CUP Terrains - CWA;@Reshmaan Province" This is how you can run a dedicated server on Linux with mods easily. A server admin could rename the mod folders to easier names, and this does work, but the trick with double quotes is easier to manage.
  5. This is a modern updated version. [missionNamespace,"OnGameInterrupt", { _this spawn { params ["_display"]; _display displayCtrl 2 ctrlShow false; _display displayCtrl 103 ctrlShow false; _display displayCtrl 115099 ctrlShow false; _display displayCtrl 523 ctrlShow false; _display displayCtrl 104 ctrlSetText "Quit current mission..."; _display displayCtrl 2 ctrlSetBackgroundColor [0.7, 0.3, 0.9, 1]; _display displayCtrl 1005 ctrlSetText format ["CO80 Afghan ops. %1 : Arma 3 v%2.%3!", "1.80", (productVersion select 2), (productVersion select 3)]; _display displayCtrl 120 ctrlSetText "Enemy insurgents have invaded Afghanistan. Destroy their assets and remove all enemies. This must be carried out in a humanitarian way, minimising damage to civilian assets."; _display displayCtrl 6455 ctrlShow true; _display displayCtrl 6455 ctrlSetText format ["%1", profileName]; }; }] call BIS_fnc_addScriptedEventHandler; This works properly on a dedicated server.
  6. jakeplissken

    Ambient Sounds Script

    This is a better version, it seems to work very well. private _cpbSoundList = [ "A3\Sounds_F\environment\ambient\battlefield\battlefield_explosions1.wss", "A3\Sounds_F\environment\ambient\battlefield\battlefield_explosions2.wss", "A3\Sounds_F\environment\ambient\battlefield\battlefield_explosions3.wss", "A3\Sounds_F\environment\ambient\battlefield\battlefield_explosions4.wss", "A3\Sounds_F\environment\ambient\battlefield\battlefield_explosions5.wss", "A3\Sounds_F\environment\ambient\battlefield\battlefield_firefight1.wss", "A3\Sounds_F\environment\ambient\battlefield\battlefield_firefight2.wss", "A3\Sounds_F\environment\ambient\battlefield\battlefield_firefight3.wss", "A3\Sounds_F\environment\ambient\battlefield\battlefield_firefight4.wss", "A3\Sounds_F\environment\ambient\battlefield\battlefield_heli1.wss", "A3\Sounds_F\environment\ambient\battlefield\battlefield_heli2.wss", "A3\Sounds_F\environment\ambient\battlefield\battlefield_heli3.wss", "A3\Sounds_F\environment\ambient\battlefield\battlefield_jet1.wss", "A3\Sounds_F\environment\ambient\battlefield\battlefield_jet2.wss", "A3\Sounds_F\environment\ambient\battlefield\battlefield_jet3.wss" ]; private _cpbTarget = player; private _cpbSoundObject = player; private _cpbMinDistance = 400; private _cpbMaxDistance = 900; private _cpbMedDistance = 600; while {true} do { _dir = round random 360; _dis = round random [_cpbMinDistance,_cpbMedDistance,_cpbMaxDistance]; private _cpbSoundPosition = _cpbTarget getRelPos [_dis, _dir]; playSound3D [_cpbSoundList call BIS_fnc_selectRandom, _cpbSoundObject, false, _cpbSoundPosition, 5, 1, 0]; sleep (random [30, 40, 60]); };
  7. Do it like this. { _x hideObjectGlobal TRUE; } foreach (nearestTerrainObjects [[14620.6,16776.1,0],[],500] select {getModelInfo _x #0 in ["t_phoenixc1s_f.p3d","t_oleae1s_f.p3d","wreck_car_f.p3d","wreck_offroad2_f.p3d","junkpile_f.p3d","b_ficusc1s_f.p3d","garbagepallet_f.p3d","t_phoenixc3s_f.p3d","garbagebags_f.p3d","garbagewashingmachine_f.p3d","t_ficusb1s_f.p3d","t_ficusb2s_f.p3d"]}); This hides via the model name. This can hide anything and runs best in a preinit function. Run it like this. Setup the fn_replace function in CfgFunctions as shown below. class replace{ file = "functions\fn_replace.sqf"; preInit = 1; }; Then it will run in mission preinit and hide trees or junk, anything you wish to be hidden.
  8. jakeplissken

    DCS in Arma 3

    My game crashes when I try to use the South Asia terrain. It is too big, 400 sq KM is the max in Arma 3. Just play DCS if you want a Flight Sim. The RV 4 engine cannot really handle such huge maps.
  9. No. Just play a proper VR game. This looks promising. Phantom: Covert Ops. Or just wait for Arma 4.
  10. jakeplissken

    ARMAHOLIC website not working

    I have found a few old Arma files on an old HDD. I am uploading it to a Mega folder, I will then link it to see if there is anything useful there. I found things like the old Baghdad mod and Podagorsk. I even have the 0.42 version of the ADF Uncut mod. As well as the RDS Static weapons pack. Here is the link. I have uploaded quite a few old files. Might be a few gems in here. https://mega.nz/folder/IhJRmQzD#FpLgaqrldueA6bPM0ioWMg
  11. jakeplissken

    3DEN editor missing assets

    You can spawn missing assets like this if you know the classname. create3DENEntity ["Object", "Land_Communication_anchor_F", screenToWorld [0.5,0.5]]; This works very well indeed. Then you can move it around and set properties like normal.
  12. jakeplissken

    Zeus Enhanced

    Thank you.
  13. jakeplissken

    Zeus Enhanced

    How do I place an empty vehicle with this mod? I have to place a veh with enemies in it, and press g to get them out and delete them. Thanks.
  14. jakeplissken

    Livonia FPS

    I think Tanoa took a very long time to make. Making a new terrain in a few months may not even be possible. Especially a large one.
  15. jakeplissken

    Vanilla Counter-battery Operations

    AN/TPQ-48 Lightweight Counter Mortar Radar. RHS has a model of this, but it is non-functional.
  16. jakeplissken

    Cartridges models?

    Here is one cool thing you can spawn. An unused anti-ship cruise missile. private _posnewmis = [14620.2,16775.7,0.887077]; _sol28 = createSimpleObject ["a3\weapons_f_sams\Ammo\Bomb_06_F.p3d", _posnewmis]; _sol28 setPos [_posnewmis select 0, _posnewmis select 1, 1.8]; _sol28 setDir 224; This is a glide bomb that has wings that can fold out. This is an unused model from the Jets DLC. This is what it looks like. Use the code above to spawn it on top of a table.
  17. jakeplissken

    New rented server with creator DLC

    You might have to manually upload the GM folder from your machine to the server as a mod and then reference it using this in the server command line. -mod=gm Then it should work. There is a list of all missions here: https://steamcommunity.com/app/107410/discussions/0/1648791520854383938/
  18. jakeplissken

    create many simple Objects

    Use this in the init of all the objects. I have had no problems with this despite what the BIKI says. [this,true] call BIS_fnc_replaceWithSimpleObject; This will set the object as a super-simple object regardless of what it is.
  19. This script will protect your base from trolls. All projectiles fired within the base, and fired into it from outside will be deleted. This will help greatly with reducing trolling and griefing on public servers. player addEventHandler ["FiredMan", { params ["_unit", "_weapon", "_muzzle", "_mode", "_ammo", "_magazine", "_projectile", "_vehicle"]; firingman = _unit; weapongun = _weapon; _p = _this select 6; if( _p distance [4290.06,18054.5,0] < 300) then { [WEST,"HQ"] sideChat format ["Damn, %1 is firing a %2 at base. He should stop right now.", name _unit, str((configfile >> "CfgWeapons" >> _weapon >> "displayName") call BIS_fnc_GetCfgData)]; deleteVehicle _p; } else { _p spawn { waitUntil { if( _this distance [4290.06,18054.5,0] < 300 )then { [WEST,"HQ"] sideChat format ["Damn, %1 is firing a %2 into base from outside. He should stop right now.", name firingman, str((configfile >> "CfgWeapons" >> weapongun >> "displayName") call BIS_fnc_GetCfgData)]; deleteVehicle _this; }; if ( isNull _this ) exitWith { true }; false }; }; }; }]; This is the position of the center of your base.: [4290.06,18054.5,0]. Just place an object and right-click, then log position to clipboard. Then edit the parts of the script that define the position to protect. But this really does work very well. It stops bombs, bullets and rockets fired at the base from outside and within. Put this in the initPlayerLocal.sqf and this will stop annoying public server teamkillers at base at least.
  20. Bar gate at this location: ["regero",[7020.85,1048.76,2.88755],243.013,0.75,[-20.0409,0],0,0,864.527,0.245615,0,1,0,1] Needs to be rotated by 90 degrees. It is blocking the road.
  21. That code worked perfectly when I tried it. I executed the code locally in the debug console and it worked fine. Are you running it locally or on the server?
  22. I found this code on the forums and I modified it a bit. I can search and replace all of the walls around the airbase on the Reshmaan map. This replaces them with walls that are indestructible. This could even be used to remove trees and replace them with something else. { _dir= getDir _x; _pos = getPosASL _x; _x hideObjectGlobal TRUE; _new = createVehicle ["Land_ConcreteWall_03_m_6m_F", ASLToAGL _pos,[],0,"can_collide"]; _new setDir _dir; [_new,true] call BIS_fnc_replaceWithSimpleObject; sleep 0.06; } foreach (nearestTerrainObjects [[4266.57,18052.3,0],[],1200] select {getModelInfo _x #0 in ["wall_indcnc_4.p3d","zed_civil.p3d"]}); This is not even that intensive despite a large radius, I am using a sleep statement to give it some time to run, and it runs quite fast. The only hard part is finding wall segments that fit exactly, the previous walls have no type. Typeof CursorObject returns "". This should be very useful. It is cool that you can select by modelinfo value.
  23. jakeplissken

    Warlords

    There is currently a problem on an EU server, players place static guns under rubble and it cannot be destroyed. This means it is impossible to capture the sector back. Is it possible to fix this? This makes progression impossible if you seeded a lot of sectors this way it would block backcapping for the opposing team. We tried placing a satchel on it and it was not destroyed.
  24. I have made a mission and I have put it on a dedicated server, but I have an issue with the description.ext file. Mission syria_zeus.lythium: Missing 'description.ext::Header' But the description.ext section is there. onLoadName = "ZGM42 Capture Syria."; // Visible when loading mission OnLoadMission = "Destroy enemy vehicles and drive out enemy forces from Syria."; overviewPicture = "a3\missions_f_oldman\Data\img\Screens\CSATNtbDesktop_co.paa"; // Visible when selecting mission loadScreen = __EVAL(["a3\missions_f_oldman\Data\img\Paintings\oldman_painting_v1_co.paa","a3\missions_f_oldman\Data\img\Paintings\oldman_painting_v2_co.paa","a3\missions_f_oldman\Data\img\Paintings\oldman_painting_v3_co.paa","a3\missions_f_oldman\Data\img\Paintings\oldman_painting_v4_co.paa","a3\missions_f_oldman\Data\img\Paintings\oldman_painting_v5_co.paa","a3\missions_f_oldman\Data\img\Screens\MillerNtbScreen01_co.paa","a3\missions_f_oldman\Data\img\Screens\MillerNtbScreen02_co.paa","a3\missions_f_oldman\Data\img\Screens\OldmanNtbDesktop_co.paa","a3\missions_f_oldman\Data\img\Screens\SyndiaktLaptopDesktop_co.paa"] select floor random 9); class Header { gameType = COOP; // Unknown, COOP, DM, TDM, CTF, SC, CTI, RPG, Sandbox, Seize, Defend. minPlayers = 1; // Min # of players the MISSION supports maxPlayers = 42; // Max # of players the MISSION supports, not server slots. Make sure # is greater than server slots. }; allowFunctionsLog = 1; // Log functions to .rpt. disabled with 0 disabledAI = 1; // No AI in playable units aiKills = 0; // disable scorelist for AI players enableItemsDropping = 0; // disabled with 0 joinUnassigned = 1; // 0 = players forced into role on join showUAVFeed = 1; // Enables/Disables the UAV Feed. Zeus-related. So I am not sure what is happening. I cannot play as it says it has 0/0 slots. But I have had other missions work, I am not sure what is going on. I tested the server with a vanilla Master Altis ZGM mission and the lobby worked. I have no idea what to do to fix this. The server configuration allows enough players. // JOINING RULES //checkfiles[] = {}; // Outdated. maxPlayers = 99; // Maximum amount of players. Civilians and watchers, beholder, bystanders and so on also count as player. kickDuplicate = 1; // Each ArmA version has its own ID. If kickDuplicate is set to 1, a player will be kicked when he joins a server where another player with the same ID is playing. verifySignatures = 2; // Verifies .pbos against .bisign files. Valid values 0 (disabled), 1 (prefer v2 sigs but accept v1 too) and 2 (only v2 sigs are allowed). equalModRequired = 0; // Outdated. If set to 1, player has to use exactly the same -mod= startup parameter as the server. allowedFilePatching = 0; // Allow or prevent client using -filePatching to join the server. 0, is disallow, 1 is allow HC, 2 is allow all clients (since Arma 3 1.49+) filePatchingExceptions[] = {"123456789","987654321"}; // Whitelisted Steam IDs allowed to join with -filePatching enabled //requiredBuild = 12345; // Require clients joining to have at least build 12345 of game, preventing obsolete clients to connect // VOTING voteMissionPlayers = 99; // Tells the server how many people must connect so that it displays the mission selection screen. voteThreshold = 0.2; // 33% or more players need to vote for something, for example an admin or a new map, to become effective NVM. It was an issue with the PBO for some reason, I copied all of the files, minus the mission.sqm into a new file and it works now. I had to use the -autoInit parameter on the dedicated server to get my mission running properly.
  25. With the new scripting command systemTime added in DEV build, it is possible to set the rotation of objects according to the current time. This could show the time that the mission started. private _currentTime = systemTime; private _value1 = _currentTime select 4; private _value2 = _currentTime select 3; log1 setDir _value1; log2 setDir _value2; I used the code above to set the rotation of logs according to the minute and hour. This would show the time the server started the mission. I am not sure how useful this is, but I thought it was pretty interesting. This code starts my mission using the actual server time, this is very useful. if (isServer) then { waitUntil {time > 0}; [missionStart select [0,5]] remoteExec ["setDate"]; };
×