-
Content Count
25 -
Joined
-
Last visited
-
Medals
Community Reputation
17 GoodAbout NunesSergio
-
Rank
Private First Class
Recent Profile Visitors
-
NunesSergio started following Script for auto opening Huron's cargo door? (dev branch), How to make a blackout and teleport trigger, NOT killing crew upon vehicle destruction and and 7 others
-
How to make a blackout and teleport trigger
NunesSergio replied to Kosiposha1551's topic in ARMA 3 - MISSION EDITING & SCRIPTING
Something like: if !isServer exitWith {}; //Fade to black effect [0] remoteExec ["BIS_fnc_fadeEffect"]; //Wait till screen fades completely uiSleep 3; //Move all inside trigger area private _myTrigger = <your trigger name/object goes here>; private _playersToTeleport = allPlayers inAreaArray _myTrigger; { _x setVehiclePosition [_myPosition, [], 0, "NONE"]; sleep 0.3; } forEach _playersToTeleport; //Fade in effect [1] remoteExec ["BIS_fnc_fadeEffect"]; Important: This code must run in scheduled environment, so it should only be ran via execVM or spawn. Also because of all these commands global effect nature, I made it so even if you mistakenly start it on every machine, only the server will go through with it, as it's all that's needed. -
NOT killing crew upon vehicle destruction
NunesSergio posted a topic in ARMA 3 - MISSION EDITING & SCRIPTING
Hello! I'm trying to make players not die whenever they receive fatal damages. I figured it out for on-foot soldiers, but whenever in a vehicle, it's explosion/destruction causes the immediate death of the player regardless of any damage handling I apply to the soldier. Even "killed" Event Handler seems to fire past the point of all crew deaths. So I figured I'd have to intercept and manage the vehicle damage and manually destroy it only after I eject all crew. The thing is I can't really point out the main/more frequent causes of a vehicle destruction and didn't want to make it too unnatural. Using "HandleDamage" EH gives me many mixed signals, as different vehicles have different selections and hitpoints, and sometimes even giving >= 1 damage to all hitpoints doesn't make it go !alive. Also damage seems to play little to no role on vehicle destruction on the majority of times. Do any of you know a good / best practice way to check for vehicle integrity and perceive it's destruction? -
[Help] AI Units Getting Stuck in Unconcious State
NunesSergio replied to CaptainMarkerCrunch's topic in ARMA 3 - MISSION EDITING & SCRIPTING
Is this for a solely SP mission? Or is it also MP? BIS_fnc_holdActionAdd codes run local on player machine. setUnconscious requires a local argument. Maybe you'd have to remoteExec it for it to work 100% of the time? If locality is not the issue, then I'm probably not good to help you now. Never used setUnconscious before. -
Issues Calling a SQF from a RemoteExcec
NunesSergio replied to Captinlarry's topic in ARMA 3 - MISSION EDITING & SCRIPTING
remoteExec'ing a .sqf goes like this: //Using "example.sqf" Local (normal) execution: [] execVM "example.sqf"; To remote execute on server machine: "example.sqf" remoteExec ["execVM", 2]; If the script requires argument(s): [[_arg1, _arg2], "example.sqf"] remoteExec ["execVM", 2];- 4 replies
-
- 1
-
- sqf
- remoteexcec
-
(and 2 more)
Tagged with:
-
Is there any way (scripting command or function I overlooked) to draw trigger area in 3D space, while in-game, like it shows in 3DEN Editor? I've seen Mr. H's post and it's a handy solution, but I'd prefer the vanilla result if possible.
-
Object type from p3d proxy reference
NunesSergio replied to NunesSergio's topic in ARMA 3 - MISSION EDITING & SCRIPTING
Yes I use this a lot, but when spawning a whole group, the safe position is only guaranteed to be the group leader's. The other members spawn in formation (or any other) and can end up more often than not under terrain rocks 😞 I just didn't want to use findSafePos for every single unit I spawn. -
Object type from p3d proxy reference
NunesSergio posted a topic in ARMA 3 - MISSION EDITING & SCRIPTING
Hello there! I'm trying to account for soldiers being spawned inside of rocks, so I figured I'd draw a line upwards above the soldier's head, pick the object of the first surface the line touches and call it a day. The thing is, the command does not throw me classname objects, it throws me proxy objects (p3d). Here is my code: _pos = getPosASL _unit; _objs = lineIntersectsWith [_pos, _pos vectorAdd [0,0,10], _unit]; _objs //This gives me: [155305: sharprock_spike.p3d] As you can see, that's just the kind of object I want to detect. But passing it through isKindOf doesn't help. Other "line" commands (lineIntersectsObjs, lineIntersectsSurfaces, etc), give me the same result. How can I detect if that object is a rock? The only thing I could think of was to convert that using str and check for "rock" in the resulting string, but I assume that's just sloppy and could cause some false alarms. -
That is correct, but since you'd be messing with dialogs (thus on uiNamespace), you should consider setting the unit on this environment: uiNamespace setVariable ["TAG_myUnit", _caller]; Don't forget uiNamespace variables live through all the game execution duration, not just mission duration. So remember to always delete setted values on uiNamespace to avoid possible conflicts with other sessions the player may enter before closing the game. To erase the unit's reference from the variable once you close the dialog, you can use: uiNamespace setVariable ["TAG_myUnit", nil]; on the dialogs "onUnload" event handler.
-
help needed Spot all east units within trigger area
NunesSergio replied to civiciam's topic in ARMA 3 - MISSION EDITING & SCRIPTING
if (((units east) inAreaArray _myTrigger) findIf {player knowsAbout _x == 0} < 0) then { systemChat "Player knows about every EAST unit in trigger"; } else { systemChat "Player doesn't know about every EAST unit in trigger"; }; -
Automatically find suitable vehicle attach point
NunesSergio replied to Nicoman35's topic in ARMA 3 - MISSION EDITING & SCRIPTING
Point to any vehicle (a vehicle able to be slingloaded) and run the following code. The nearest sling loading position to the player will be highlighted in red: _veh = cursorTarget; _selections = (_veh selectionNames "Memory") select {"slingloadcargo" in _x}; addMissionEventHandler ["Draw3D", { _thisArgs#0 apply { drawIcon3D [ "", [1,1,1,1], _thisArgs#1 modelToWorldVisual (_thisArgs#1 selectionPosition [_x, "Memory"]), 0, 0, 0, _x, 2 ]; }; }, [_selections, _veh]]; _distances = []; for "_i" from 0 to ((count _selections) - 1) do { _distances pushBack (_veh modelToWorldVisual (_veh selectionPosition [_selections#_i, "Memory"])); _distances set [_i, [player distance _distances#_i, _distances#_i, _selections#_i]]; }; _distances sort true; addMissionEventHandler ["Draw3D", { drawIcon3D [ "", [1,0,0,1], _thisArgs#0 modelToWorldVisual (_thisArgs#0 selectionPosition [_thisArgs#1, "Memory"]), 0, 0, 0, _thisArgs#1, 2 ]; }, [_veh, _distances select 0 select 2]]; -
How to addMPEventHandler for every unit in the mission?
NunesSergio replied to Tory Xiao's topic in ARMA 3 - MISSION EDITING & SCRIPTING
The way I did it was, upon initPlayerLocal.sqf I remotely add an Score event handler on server which, based on the value of the score, remotely fires my hitmarker function back on player machine: //initPlayerLocal.sqf params ["_player", "_didJIP"]; [_player, "configScore.sqf"] remoteExec ["execVM", 2]; //configScore.sqf params ["_player"]; _player addEventHandler ["HandleScore", { params ["_unit", "_object", "_score"]; //Score == 1 means you killed one soldier enemy unit (be it in or out of a vehicle) if (_score isEqualTo 1) then { ["hitMarkerAnimation.sqf"] remoteExec ["execVM", _unit]; }; }]; Keep in mind that if your mission has respawn of players, you'd have to re-assign the Score event handler to the respawned unit. So repeat the initPlayerLocal.sqf lines on onPlayerRespawn.sqf (changing _player for _newUnit): //onPlayerRespawn.sqf params ["_newUnit", "_oldUnit", "_respawn", "_respawnDelay"]; [_newUnit, "configScore.sqf"] remoteExec ["execVM", 2]; Whenever you kill an enemy unit, wherever it's spawned from, or how it was handled by scripts, you get your hitmarker and are free from tracking enemy unit creation process. -
Checking for allowed client-side mods
NunesSergio posted a topic in ARMA 3 - ADDONS - CONFIGS & SCRIPTING
Hello there! So I have a dedicated server running a mission of mine. I want to possibly show JIP players which mods they could use if they want to. I know I can hardcode some info somewhere to the players but I'm looking for a way to do it dynamically, so when the "*.bikey" (s) on my server keys folder changes, connecting players would have access to the updated possible modset. Ps: I can wrap my mind around on how the server passes this information to JIP clients, but I can't seem to find a way to detect said keys in the first place. Ps²: I tried something along the lines of the fileExists command, but it seems to work only with mission-relative paths. Can it be done? Kinda would want to avoid having to create an extension for that (should that be the only way). -
Script for auto opening Huron's cargo door? (dev branch)
NunesSergio replied to nullrick's topic in ARMA 3 - MISSION EDITING & SCRIPTING
Just use "false" as the third parameter of this command: heli1 AnimateDoor ["Door_rear_source", 1, false] -
Contextual Interaction Menu - Proof Of Work
NunesSergio replied to hoverguy's topic in ARMA 3 - MISSION EDITING & SCRIPTING
Great stuff. Keep the goat.- 8 replies
-
- 1
-
- arma 3
- interaction
- (and 10 more)
-
How to get every player that not in target player's team?
NunesSergio replied to Tory Xiao's topic in ARMA 3 - MISSION EDITING & SCRIPTING
If by team you mean group you could do: private _notOnMyGroup = []; _notOnMyGroup = allPlayers select { group _x isNotEqualTo group player }; _notOnMyGroup //every player not in player's group