fn_Quiksilver
Member-
Content Count
2697 -
Joined
-
Last visited
-
Medals
Everything posted by fn_Quiksilver
-
The issue is, I will never play Livonia with more than 20 people on a public server, because not enough people own Livonia for a public server to retain a steady server pop of 20+. So despite owning this nice DLC map, I'll never really get to enjoy it aside from singleplayer or maybe 2-4 player coop. Ditto to Weferlingen and creator DLC terrains. They will never hold a steady server pop, basically private match only. Who would even work on singleplayer content for terrains that nobody owns? If you spend 500 hours creating nice missions for a terrain, which will you choose if you actually want people to play it and get feedback from it? Altis, or Livonia? For creators, there is close to zero incentive to work on content for DLC terrains, unless your content is procedural and can be deployed on any terrain. Even then, the time/effort spent porting from Altis to Livonia is largely wasted time since nobody will bother to play it. Only DLC terrain that has enough customers to fill a server, is Tanoa. Even then, its only 3-4 servers worldwide. For these reasons, I support DLC terrains being free access, even if I paid and others did not. I paid for Livonia and don't really get to enjoy it beyond the campaign. Allow for a 6-12 month commercial period for the DLC terrain, then unlock it.
-
Mission Idea - need help. RTS mission making
fn_Quiksilver replied to TheoneandonlyNOR's topic in ARMA 3 - MISSION EDITING & SCRIPTING
Sounds huge. 1500 hour project for someone who knows what they're doing, to create all from scratch. -
Hey, glad you enjoy. Which mods are you trying to install?
- 346 replies
-
PM me a copy of your servers RPT file Also easier to get in touch on our Discord, linked in the original post.
- 346 replies
-
Updated to 1.1.9 Removed real_date.dll extension dependency, AI tweaks, bug fixes - [ADDED] New script commands (systemTime, getAttackTarget, etc). - [TWEAKED] Vehicle Active Protection System to improve player-vehicle protection from enemy AI-fired projectiles. - [TWEAKED] AI awareness of hostile (player occupied) buildings. - [TWEAKED] Added civilian Tractor to easter eggs - [TWEAKED] Enemy MG towers no longer spawn on roads, probably. - [TWEAKED] Server security to A3 2.00 compatibility. - [FIXED] Friendly AI vehicles could spawn at some enemy objectives. - [FIXED] Custom terrain structures will no longer delete at the start of Defend missions/end of AO when players are nearby. - [REMOVED] real_date.dll extension dependency Server admins no longer need to use the real_date.dll extension to have built-in mission restart functionality. In addition, some AI improvements and general bug fixes. Next update will introduce player sandbag deployment, AI brain improvements, and some mission content. ETA 4 weeks.
- 346 replies
-
- 1
-
Scheduling and Compiling
fn_Quiksilver replied to Sertica's topic in ARMA 3 - MISSION EDITING & SCRIPTING
as a general rule for optimization, call/execute/evaluate code as infrequently as possible while still accomplishing the task. very few things need to be executed each frame, examples being visual things like GUI. Things that aren't seen by the player dont need to be updated very frequently -
Mission update in the pipeline. Main change is removing dependency of the real_date.dll extension
- 346 replies
-
Group Management Script
fn_Quiksilver replied to zuff's topic in ARMA 3 - MISSION EDITING & SCRIPTING
there is a group management system in vanilla since then https://community.bistudio.com/wiki/Arma_3_Dynamic_Groups -
impressed with the script commands coming, thats a lot!
-
Ensuring objects are placed on level ground
fn_Quiksilver replied to Luft08's topic in ARMA 3 - MISSION EDITING & SCRIPTING
Finding flat spots in forests is tricky, since most of the built in SQF commands like isFlatEmpty will fail due to the object/tree density. Those won't really help him. A function like getTerrainHeightASL is more useful for solving this problem. You'll need to test different positions for flatness (within a radius). A way to do that is to get a reference position (random position), then get 6-12 radial positions around it in all directions. Then calculate the angle of the Z-axis (height) delta of each of those positions from the reference position. If some of those radial positions Z-axis are much different from the Z of the reference position, then a slope exists at that site. Iterate over the random pos code until you've found a position where the Z axis is consistent. here is how I attempted it: https://github.com/auQuiksilver/Apex-Framework/blob/master/Apex_framework.terrain/code/functions/fn_areaGradient.sqf https://github.com/auQuiksilver/Apex-Framework/blob/master/Apex_framework.terrain/code/functions/fn_terrainGradAngle.sqf And in practice, I used it to find a Forested + Flat position with a block like this: https://github.com/auQuiksilver/Apex-Framework/blob/master/Apex_framework.terrain/code/functions/fn_SMregenerator.sqf#L21-L41 _bestPlaces = '(1 + forest) * (1 - houses)'; private _nearestTerrainObjects = []; _basePosition = markerPos 'QS_marker_base_marker'; _baseRadius = 1500; _fobPosition = markerPos 'QS_marker_module_fob'; _fobRadius = 300; _posGradient = 0; for '_x' from 0 to 99 step 1 do { _spawnPosition = ['WORLD',-1,-1,'LAND',[1.5,0,0.1,3,0,FALSE,objNull],TRUE,[[0,0,0],300,_bestPlaces,15,3],[],FALSE] call (missionNamespace getVariable 'QS_fnc_findRandomPos'); _posGradient = [_spawnPosition,12] call (missionNamespace getVariable 'QS_fnc_areaGradient'); if ( ((_usedPositions inAreaArray [_spawnPosition,500,500,0,FALSE]) isEqualTo []) && ((_allPlayers inAreaArray [_spawnPosition,500,500,0,FALSE]) isEqualTo []) && (!([_spawnPosition,150,8] call (missionNamespace getVariable 'QS_fnc_waterInRadius'))) && ((_spawnPosition distance2D _basePosition) > _baseRadius) && ((_spawnPosition distance2D _fobPosition) > _fobRadius) && ((_spawnPosition distance2D (missionNamespace getVariable 'QS_aoPos')) > 1000) && ((_posGradient < 5) && (_posGradient > -5)) && (((_spawnPosition select [0,2]) nearRoads 100) isEqualTo []) ) exitWith {}; }; -
https://community.bistudio.com/wiki/Arma_3_Dynamic_Groups The mission uses the vanilla Dynamic Groups system. I don't believe it's possible to configure a maximum group size, although I could be wrong.
- 346 replies
-
Hi guys, Stumped on how to return day of week from date? On the map diary tabs there is a day of the week listed, according to the date. Any idea how to return this in script? Will post the solution here once found. Thanks!
-
looking into it now. around base the vehicle respawn distance is quite small for all vehicles. away from base, it depends on the type of vehicle. for instance a helicopter, will search for nearby pilots. If there aren't any pilots within the radius, the helo will despawn (even if there are non-pilots nearby). for land vehicles it is more simple, checking for any players nearby. this helicopter detail is to prevent situations where helis are abandoned in the field but dont respawn due to infantry players being nearby. in some cases--where lots of helis go down in the combat area--this will ensure that there are helicopters available at base.
- 346 replies
-
Is this related to side mission reward vehicles, or all vehicles? If just the reward vehicles, then its a known issue
- 346 replies
-
Make agent attack players
fn_Quiksilver replied to MechSlayer's topic in ARMA 3 - MISSION EDITING & SCRIPTING
if its an agent you need to script it with move + animation commands- 1 reply
-
- 1
-
Band of brothers Missions
fn_Quiksilver replied to outwardpanicjoe's topic in ARMA 3 - USER MISSIONS
i would appreciate fewer required mods. some of those are "nice to have" but not essentials -
Band of brothers Missions
fn_Quiksilver replied to outwardpanicjoe's topic in ARMA 3 - USER MISSIONS
thank you ! 🙂 -
it is a good place I use fn_clientEventRespawn.sqf to reset many variables but Killed event works too
- 346 replies
-
cfgRemoteExec and its use.
fn_Quiksilver replied to RHfront's topic in ARMA 3 - MISSION EDITING & SCRIPTING
- CfgRemoteExec handles only "from client" executions. - Best bet is to whitelist only non-destructive commands, the ones that aren't normally used in cheat scripts. Or better yet, dont whitelist any. https://github.com/auQuiksilver/Apex-Framework/blob/master/Apex_framework.terrain/description.ext#L178-L208 - Instead, create your own script function with which you have more control over the execution, like logging and context-based sanity checks. https://github.com/auQuiksilver/Apex-Framework/blob/master/Apex_framework.terrain/code/functions/fn_remoteExecCmd.sqf Heres an example of filtered vs unfiltered // Unfiltered [_vehicle,1] remoteExec ['setVehicleAmmo',_vehicle]; // Remote Exec script function QS_fnc_remoteExecCmd = { params ['_type','_1','_2']; if (_type isEqualTo 'setVehicleAmmo') exitWith { if (player is in the vehicle service area) then { _1 setVehicleAmmo _2; }; }; }; // Filtered with sanity checks (in the above function) ['setVehicleAmmo',_vehicle,1] remoteExec ['QS_fnc_remoteExecCmd',_vehicle]; If a cheater wanted to remote-exec "setvehicleammo" then, they would have to use the script function, which would only allow the setvehicleammo if the player is in the service/rearm area. If you're looking at security improvements, dont overlook this one: https://community.bistudio.com/wiki/Arma_3_CfgDisabledCommands -
VCOM will interfere with the built in AI, its highly recommended not to use. Is there any feature in particular that you want VCOM for? If you insist on using it, it should be as simple as plugging it in as a server mod, however you will likely experience adverse results with AI navigation due to conflict with built in logic.
- 346 replies
-
zeus [Script] Client's FPS, Displayed for Zeus (Test your 64 bit framerates with friends)
fn_Quiksilver replied to driftingnitro's topic in ARMA 3 - MISSION EDITING & SCRIPTING
keep in mind this script will itself affect performance, especially with higher number of players. [] spawn { while {true} do { player setVariable ["DNI_PlayerFPS", floor diag_fps, true]; sleep 0.1; }; }; this block here will add quite a lot of network traffic with many connected clients. -
Troubles with publicVariable..
fn_Quiksilver replied to Generalmonimo's topic in ARMA 3 - MISSION EDITING & SCRIPTING
I find using the remoteExec framework and discarding the publicvariable/addpublicvariableeventhandler/publicvariableserver/publicvariableclient system entirely, to be the simplest. for example private _counter = 0; while {true} do { sleep 10; systemChat "Update"; _counter = _counter + 1; // remoteExec instead of publicVariable [ Counter, { if (hasInterface) then { hint str _this; }; } ] remoteExec ['call',0]; }; -
you can simplify this by simply moving them into the vehicle instead of relying on the getin waypoint. i guess it depends on whether players would be able to see the vehicle at its starting point. next, create a separate group for the vehicle driver, and give him a "transport unload" waypoint next, add a move waypoint to the QRF group. discard the "Getout" waypoint, as they will disembark via the "transport unload" waypoint.
-
Ladder Use Prevention
fn_Quiksilver replied to Danskkat's topic in ARMA 3 - MISSION EDITING & SCRIPTING
Use the "AnimChanged" object event handler to detect the ladder anim, then execute the "ladderOff" action <unit> addEventHandler [ "AnimChanged", { params ['_unit','_anim']; if (_anim in [ladder animations]) then { _unit action ["ladderOff",<building object>]; }; } ]; -
Hi, thank you! No plans at the moment for Headless Client. There was past work done to facilitate HC but it is a complex task which I don't have the time to tackle these days. It may come back into focus in the future, but not in the near future.
- 346 replies