-
Content Count
155 -
Joined
-
Last visited
-
Medals
Everything posted by _foley
-
Motostrelki Assault through objectives as Russian motor rifles About Co-op Map: Chernarus (Autumn) Player count: 28 Typical duration: 50 min – 2h Mod dependencies (load into Arma 3 Launcher) Playable slots Komandir (Platoon HQ) Platoon Leader Platoon Medic BTR Gunner BTR Driver - Mechanic Adin (Squad 1) Squad Leader Team Leader Autorifleman (RPK) Grenadier (RPG-7) Grenadier Assistant Rifleman - Medic BTR Gunner BTR Driver - Mechanic Dva (Squad 2) Squad Leader Team Leader Autorifleman (RPK) Grenadier (RPG-7) Grenadier Assistant Marksman (SVD) BTR Gunner BTR Driver - Mechanic Tri (Squad 3) Squad Leader Team Leader Autorifleman (RPK) Grenadier (RPG-7) Grenadier Assistant Rifleman - Medic BTR Gunner BTR Driver - Mechanic Scripting highlights A "live-action" mission intro cutscene Surrender action allowing the highest-ranking player to end the mission at any point after they've dropped their weapons Scripted AI behaviour Dynamically deployed infantry and vehicles ready to converge on contested objectives (integrated with LAMBS AI mod) Enemy composition and strength configurable in mission parameters Tractors stalking the invading forces Audio-visual cues in the game world when each task is completed Randomized loadouts representing mismatched equipment and randomized but consistent armbands Dynamic post-processing to achieve rainy, desaturated effect which gets more and more depressing with time Screenshots Links Source code: https://github.com/foley-dev/arma3-motostrelki Workshop: https://steamcommunity.com/sharedfiles/filedetails/?id=2920892713 Feel free to use the scripts in your own missions or adapt it to your favourite modset.
-
need help with: remoteExec doMove
_foley replied to jajavst's topic in ARMA 3 - MISSION EDITING & SCRIPTING
You're close, try changing [towtruck, [getPosATL MGI157]] remoteExec ["doMove"]; into [towtruck, getPosATL MGI157] remoteExec ["doMove", towtruck]; -
[Release] Infinite Inventory
_foley replied to celludriel's topic in ARMA 3 - MISSION EDITING & SCRIPTING
These days you can set max load on a container, that will give you the same effect if you set it very high. Check out https://community.bistudio.com/wiki/setMaxLoad -
Respawn point set directly between two different squads
_foley replied to _RoosterCat_'s topic in ARMA 3 - MISSION EDITING & SCRIPTING
To get a point inbetween two points, you can use vectorLinearConversion, so instead of: "Respawn_west_Alpha" setMarkerPos getPos p1; you can do: "Respawn_west_Alpha" setMarkerPos (vectorLinearConversion [0, 1, 0.5, getPos p1, getPos p2]); -
Issues with setVehicleVarName
_foley replied to Chuggacharles's topic in ARMA 3 - MISSION EDITING & SCRIPTING
Hey If you need to get a name of given unit, you can first set it with _unit setVariable ["name", "civ11Unit"]; and later retrieve it with _unit getVariable "name"; If you need to get a unit given a name, you can maintain a hashmap of all your units _hashMap set ["civ11Unit", _unit]; and later retrieve it with _hashMap get "civ11Unit"; This covers lookup in both directions. -
Have you tried diag_log yet? It dumps message to the RPT log file though I don't remember whether it also goes to the DS window. Keep in mind there is a slight performance impact as it's a file operation. If there are many log messages times per second then it might be beneficial to accumulate a longer string in the script and dump it to file every once in a while.
-
Max useable integer in SQF?
_foley replied to madrussian's topic in ARMA 3 - MISSION EDITING & SCRIPTING
Incrementing by one works up to 16777216 (2^24), the next valid number is 16777218, as 16777217 cannot be represented. From this point onward you will experience missing integer values. The largest value is 3.4028235 * 10^38 (340282346638528860000000000000000000000) but at that point gaps between numbers aren't 1 or 2 or even 1000000, they're more like 10^32. There is a chart on wikipedia that shows how accuracy degrades as value increases: https://en.wikipedia.org/wiki/IEEE_754#/media/File:IEEE754.svg You can see the blue line crosses floating point precision = 10^0 at floating point value around 10^7 which is consistent with what we see in SQF. -
There are still some things you can do to achieve this more "naturally". If the problem is that players can access ammo too easily, then you could for example: give enemies a different type of ammo, disable looting enemies completely, clear inventory of containers/vehicles by default and add only what you want manually. Removing magazines on reload isn't super intuitive in a situation where you check your inventory, you have plenty ammo and then suddenly after reload it turns out that you can't use any of it. IMO there should be feedback as soon as you try to pick up a magazine that you aren't allowed to use. Also just to be sure, check if you have any arsenal available. Even if it's an empty arsenal, it still allows players to duplicate any items they already own.
-
Boat below water level 3m trigger question
_foley replied to jandrews's topic in ARMA 3 - MISSION EDITING & SCRIPTING
Try this (getPosASLW vehicle1) select 2 < -2 && (getPosASLW vehicle2) select 2 < -2 This is assuming your boats are named vehicle1 and vehicle2. -
Hot Pursuit A suspicious truck has been spotted... About Co-op + Civilians Map: Altis Player count: 25 (15 combat roles + 10 civilians) Typical duration: 10 min – 25 min Mod dependencies (load into Arma 3 Launcher) Briefing AAF A suspicious truck has been reported east-bound leaving Altis Intl. Airport where you're based. Description matches a classified project run by CSAT. The truck is currently on the highway, escorted by several light vehicles. Unless we intervene, it will reach the border within 20 minutes. Intercept the truck ASAP and bring it back to base in one piece. Civilians may be active in the area, use caution. Civilians (optional) You will act as a civilian road user. This is a non-combatant role. Refrain from operating weapons and military vehicles. Feel free to explore as you see fit, though it's best to stay near the highway inbetween: Rodopoli - Paros - Delfinaki - Sofia. Playable slots Command Commander Alpha Team Leader Autorifleman Rifleman (LAT) Bravo Team Leader Breacher (Shotgun) Explosives Specialist Charlie Team Leader Grenadier Combat Life Saver Delta Lead Service Engineer Service Engineer Service Engineer Service Medic Hotel Helicopter Pilot Civilians Civilian (BMW) Civilian (Hilux) Civilian (Sprinter) Civilian (Yava Motorbike) Civilian (Civic) Civilian (Golf) Civilian (Ikarus Bus) Civilian (Landcruiser) Civilian (Ural Tow Truck) Civilian (Lada) Scripting highlights Heavily scripted damage handling for the truck to encourage players to stop the truck in order to eliminate the crew. This also reduces the risk of explosion when the truck is rammed by another vehicle. Heavily scripted AI behaviour "Runaway" behaviour intended to make the truck driver extremely stubborn and always moving Escort behaviour intended to keep the convoy in the formation and dismount only when the situation really requires it Adjustments to vehicles Automatically shutting off siren when driver leaves the vehicle (GTA V-inspired) Helicopter locked to pilot slots only Road safety equipment (i.e. cones, barriers, lights) automatically loaded into vehicle cargo (ACE3 feature) Discouraging civilian players from interfering with the AI convoy Selectable escort strength Video Screenshots Links Source code: https://github.com/foley-dev/arma3-hot-pursuit Workshop: https://steamcommunity.com/sharedfiles/filedetails/?id=2948145231 Feel free to use the scripts in your own missions or adapt it to your favourite modset.
-
@Alleged Accomplice I made a PVP edition with opfor roles who control the truck but it isn't released yet.
-
[SOLVED] How to DETACH specific attached object(s) instead of ALL "attachedObjects"?
_foley replied to JCataclisma's topic in ARMA 3 - MISSION EDITING & SCRIPTING
You can use select to filter the attached objects according to some condition. For example private _attachedTrucks = attachedObjects (vehicle player); becomes: private _attachedTrucks = (attachedObjects (vehicle player)) select {_x isKindOf "Car"}; -
Judging by the error message, it looks like a simple copy-paste mistake. There is "#(argb,8,8,3)color(0,0,0,1)"#(argb,8,8,3)color(0,0,0,1)" instead of "#(argb,8,8,3)color(0,0,0,1)" Try searching for that texture name in all files in the mission and fix it there.
-
This will require player to wait at least 60s between spawning drones. if (!isNil "myUavLastSpawned" && {myUavLastSpawned > time - 60}) exitWith { hint "Try again later"; }; myUavLastSpawned = time; myUAV = createVehicle ["B_UAV_02_F", getPos player, [], 0,"FLY"]; createVehicleCrew myUAV;
-
How to get an AI squad to avoid an area when moving to a randomly placed waypoint
_foley replied to Sircl's topic in ARMA 3 - MISSION EDITING & SCRIPTING
Hi Sircl In cases where AI would walk through the objective, you can give them extra waypoints located between their current position and your staging area but away from the objective (off to one side). -
Checking if classname loadout has any weapons.
_foley replied to sizraide's topic in ARMA 3 - MISSION EDITING & SCRIPTING
What's the value of _classname when it fails? Perhaps getUnitLoadout doesn't return array in the expected format for some inputs. -
Completely cancel lightning and thunder sound
_foley replied to samir17864's topic in ARMA 3 - MISSION EDITING & SCRIPTING
The command you need is setLightnings -
[Solved] remoteExec script duplication on dedicated server
_foley replied to Jamio's topic in ARMA 3 - MISSION EDITING & SCRIPTING
Without server only ticked on, the trigger will fire on each machine when any player enters the area. Note that it will fire whenever *any* player enters the area, not just *the* player that is controlled by you. So this should work the same way if you kept server only switched off and got rid of remoteExec. -
How to get AI not to fire upon unarmed player
_foley replied to Devil Dogs SF's topic in ARMA 3 - MISSION EDITING & SCRIPTING
I don't think it depends on whether allPlayers is the same on every machine. Local argument means that the argument needs to be local on the machine where the command is executed, otherwise the it won't work. Since player-controlled unit is local only on that player's machine, it needs to be executed there. -
How to get AI not to fire upon unarmed player
_foley replied to Devil Dogs SF's topic in ARMA 3 - MISSION EDITING & SCRIPTING
According to wiki setCaptive takes local argument so I would also replace _x setCaptive true; _x setCaptive false; with [_x, true] remoteExec ["setCaptive", _x]; [_x, false] remoteExec ["setCaptive", _x]; -
HandleDamage Event Handler Explained
_foley replied to ShadowRanger24's topic in ARMA 3 - MISSION EDITING & SCRIPTING
The condition looks ok but I think you put it too early in the code. The important part is what gets returned from the event handler. this addEventHandler [ "HandleDamage", { params ["_unit", "_selection", "_damage", "_source", "_projectile", "_hitIndex", "_instigator", "_hitPoint"]; private _previousDamage = [_unit getHit _selection, damage _unit] select (_selection isEqualTo ""); // if selection is empty then it's overall damage private _newDamage = _damage - _previousDamage; private _finalDamage = _previousDamage + _newDamage * 0.7; if ("glass" in toLower _selection || "window" in toLower _selection) then { _finalDamage = _previousDamage + _newDamage * 0.1; }; _finalDamage } ]; This will reduce damage by 90% for any selection that contains phrase "glass" or "window". Otherwise damage is reduced by 30% like in the original example. -
Update Variables | Player Name | Show on Billboard
_foley replied to SirBassi's topic in ARMA 3 - MISSION EDITING & SCRIPTING
Neat concept 🙂 It seems that _medic1, medic2, etc. are still references to the objects instead of their names in string form. Try replacing the part from _medic1 = _medics select 0; to _medic6 = _medics select 5; with this: _medics resize 6; _medics = _medics apply { if (isNil "_x") then { "unbesetzt" } else { name _x } }; _medics params ["_medic1", "_medic2", "_medic3", "_medic4", "_medic5", "_medic6"]; If it works then you can do the same for the other roles. -
Event Handler for Handle Damage
_foley replied to redarmy's topic in ARMA 3 - MISSION EDITING & SCRIPTING
It is possible that .50 cal causes so much damage that multiplying it by 0.1 doesn't make enough difference. See this post: You can use something like this to get a better understanding of how it's calculated: systemChat format [ "_selection=%1, _previousDamage=%2, _newDamage=%3, return=%4", _selection, _previousDamage toFixed 4, _newDamage toFixed 4, (_previousDamage + _newDamage * 0.1) toFixed 4 ]; -
how to get aliveplayer in specific side
_foley replied to TJ____'s topic in ARMA 3 - MISSION EDITING & SCRIPTING
Close but brackets around alive _x are incorrect. Try this: {alive _x && side _x == opfor} count allPlayers This will return number of alive opfor players.