KC Grimes
Member-
Content Count
1186 -
Joined
-
Last visited
-
Medals
Everything posted by KC Grimes
-
Author: KC Grimes Script: Grimes Simple Revive Version: V0.92 Created with user-friendliness and quality assurance in mind, Grimes Simple Revive is a Revive script for Arma 3 that sets itself apart from other Revive Scripts due to the fact that it is exceptionally organized and simplified for ease-of-use by mission editors of all levels, while still offering unique features. Although this script contains a variety of features on top of its original action-based Revive System, all features, in addition to already having default values set, are organized by relevancy in a simple way that allows editors to adapt this script to their mission, including enabling/disabling features as desired. Highlights Singleplayer (SP), Multiplayer (MP), PvP/TvT/COOP, Save/Load, Dedicated Server, & Join-In-Progress (JIP) Support For SP, consider running your SP mission as an MP Host. This allows for the use of parameters anyway, allowing you to make your mission more diverse! Minimal setup required; quick and easy installation Integrated parameter validation system to ensure the script is being utilized effectively Revive your teammates, whether they are players or AI, including in water Drag & Carry players and AI, whether they are your teammates or not Load incapacitated teammates into vehicles, and Unload them at your destination AI will operate in a guard-rescuer pair to realistically navigate to and revive teammates (even when vehicles are involved) AI inclusion is by side and requires no extra work, and individual exclusions from the script can be made by name Integrate with your respawn settings: works with all respawn types, including the highly recommended Respawn Menu for respawn point selection The BIS Revive Mode must be Disabled Available Mobile Respawn Vehicle (MRV) and Squad Leader Respawn systems which include optional markers Utilization of BI functions and dialogs wherever possible to be as stock and fast as possible Available immersive options such as black screen and muting ACRE2/TFAR while incapacitated Available “unit tags” that mark friendly players and AI on your HUD Available Spectator Mode for use when lives run out Available pre-placed custom execution lines to run your own scripts within this one Loads of other large and small features! Check out the parameters for more details. This package includes an application of the script as part of an example mission. This README is intended to provide detailed information as to the purpose, function, FAQs, and minor troubleshooting for this script in addition to installation, uninstallation, and maintenance tips. For further information or specifics in the code, the user should read the comments to the code within the script files. Author Information KC Grimes is the author of the Grimes Simple Revive script. The script was made in order to provide mission makers a user-friendly means of utilizing a revive system. The purpose of this script is to provide a way for the mission maker to easily implement the revive and spawning abilities into gameplay in order to make their mission unique. BI Forums Topic: https://forums.bohemia.net/forums/topic/167673-grimes-simple-revive-script/ Installation At this time, there is no “installer” for the script, and it is instead a simple series of actions and file moves. 1. Obtain the script files a. Armaholic: http://www.armaholic.com/page.php?id=25662 b. github: https://github.com/kcgrimes/grimes-simple-revive/releases c. Steam Workshop: http://steamcommunity.com/sharedfiles/filedetails/?id=1349229256 2. Extract the “Grimes_Simple_Revive.stratis” folder and place it somewhere on your computer that is easily accessible, such as Desktop or your MP Missions folder. 3. In the folder that contains your mission.sqm (ie, “my_mission.stratis”), do the following: a. If you haven’t already created a description.ext file, simply copy the provided one into your mission folder. If you already have your own description.ext, simply copy and paste the following line into it. Note: If you already have a defines.hpp or similarly purposed file, you may need to check for conflicts. #include "G_Revive\G_Desc_Include.hpp" b. If you haven’t already created an init.sqf file, simply copy the provided one into your mission folder. If you already have your own init.sqf, simply copy and paste the following line into it. Note: This line must go towards the top, specifically before any suspension statements (waitUntil, sleep, etc.). [] execVM "G_Revive_init.sqf"; c. Copy and Paste the G_Revive_init.sqf file and the G_Revive folder into your mission folder. 4. That is all that is required for the file implementation! Depending on your settings, you will still need make some edits in the in-game editor. a. If using respawn, adjust the editor-based respawn settings as you desire, and remember to create markers named “respawn_west_0”, “respawn_west_1”, etc. for the desired side if necessary. b. If using the Mobile Respawn Vehicle (MRV), be sure to name your vehicle in the Name field when you double-click on the vehicle in the editor. Parameters: ////Editable parameters, sorted by category and relevance - Please adjust values to suit your application. //Generic G_Briefing = true; //true = information, how to, and credits will be displayed on ingame briefing screen. Can be used in conjunction with your own briefing. false = disabled. //Revive G_Revive_System = true; //Whether the revive system will be used or not. true = enabled, false = disabled. G_Revive_AI_Incapacitated = [WEST, EAST, RESISTANCE, CIVILIAN]; //Array of sides of AI that will utilize revive system G_Revive_Unit_Exclusion = []; //Array of variable names of units to exclude from the revive system G_Revive_bleedoutTime = 300; //Amount of time (in seconds) unit is available to be revived, before being forced to respawn. If -1, no time limit. G_Allow_GiveUp = true; //Allow player to force death while incapacitated. true = enabled, false = disabled. G_Revive_DownsPerLife = 0; //Number of times unit can go Incapacitated in single life. 0 = Unlimited, integer > 0 = limit of downs per life. G_Revive_addonRadio_muteTransmit = false; //Mute radio transmissions in addons ACRE2 or TFAR while incapacitated. true = enabled, false = disabled. G_Revive_addonRadio_muteReceive = false; //Mute radio reception in addons ACRE2 or TFAR while incapacitated. true = enabled, false = disabled. G_Revive_Can_Revive = []; //Classnames of units that can revive. Wrap in quotes, separate by commas. If empty, all can revive. G_Revive_actionTime = 10; //Time (in seconds) required for reviver to complete revive action G_Revive_Requirement = 0; //1 or greater = number of FAKs (single use) or Medikit (unlimited use) needed to revive (and treat still). 0 = Those items only needed to treat, not revive (stock). G_Revive_Black_Screen = false; //true = While Incapacitated/waiting for revive, screen stays black. false = Screen goes black at death then fades back in, with surroundings visible. G_Revive_Action_Color = "#FFCC00"; //HTML color code that will be the color of the Revive, Drag, Carry, and Load/Unload action text. Default is Orange. G_Revive_Load_Types = ["Car","Tank","Helicopter","Plane","Ship"]; //Array of strings of kinds of vehicles that incapacitated units can be loaded into G_Eject_Occupants = false; //If killed while in a vehicle, the revivable unit is ejected from the vehicle. True = enabled, false = disabled. G_Explosion_Eject_Occupants = true; //Once the wreck of an exploded vehicle comes to a stop (air or land), the occupants will be ejected and revivable. True to enable, false to disable (units will bypass revive and be forced to respawn). G_Revive_Reward = 0; //0 = No lives rewarded for revive. 1 and up = number of lives rewarded for reviving. (CAN be a decimal) G_TK_Penalty = 0; //Amount of lives a Team Killer loses per team kill. Note, must be negative to be negative result (Ex. Value of -2 means 2 lives lost per TK) (CAN be a decimal) G_Revive_Messages = 1; //Chat messages upon incapacitation and revive. 0 = None. 1 = Friendly only. 2 = All. G_End_When_Side_Down = true; //true = When all units friendly to a side are incapacitated and/or unable to respawn the server will end the mission, false = server will not handle ending mission for side //Respawn/Initial Spawn G_Respawn_Button = true; //true = Respawn Button enabled, false = Respawn button disabled G_Respawn_Time = 10; //Amount of time (in seconds) dead unit must wait before being able to respawn (overrides description.ext setting) G_Num_Respawns = 3; //Number of lives/respawns available to players (must be integer). -1 = unlimited, 0 and up are actual values. G_Spectator = true; //Upon expending all lives, the player will be put into a spectator camera. If false, mission ends only for that specific player. G_Squad_Leader_Spawn = true; //Allows spawning on squad leader. Spawn in squad leader's stance. true = enabled, false = disabled. G_Squad_Leader_Marker = true; //Displays marker on map indicating squad leader's position. true = enabled, false = disabled. G_Squad_Leader_Mkr_Type = "respawn_inf"; //Shape of marker G_Squad_Leader_Mkr_Color = "ColorBlack"; //Color of marker G_Squad_Leader_Mkr_Text = "Squad Leader"; //Text beside marker G_Squad_Leader_Mkr_Refresh = 1; //Time (in seconds) between refreshes in marker location. Must be a number greater than 0. G_AI_Fixed_Spawn = true; //Upon respawn, the AI will spawn at the marker defined below for their respective side, as opposed to respawning at random if multiple markers exist G_AI_Fixed_Spawn_WEST = "respawn_west_0"; G_AI_Fixed_Spawn_EAST = "respawn_east_0"; G_AI_Fixed_Spawn_IND = "respawn_guerrila_0"; G_AI_Fixed_Spawn_CIV = ""; //Mobile Respawn Vehicle //Note - To enable, simply add the editor-placed vehicle's name into the appropriate array depending on the intended side. It will not be wrapped in quotes. So, it will be vehname and not "vehname". If multiple vehicles, separate by commas. G_Mobile_Respawn_WEST = [MobileRespawnWEST]; G_Mobile_Respawn_EAST = [MobileRespawnEAST]; G_Mobile_Respawn_IND = [MobileRespawnIND]; G_Mobile_Respawn_CIV = []; G_Mobile_Respawn_Locked = true; //Lock enemy MRVs so MRVs can only be accessed by their own team. true = enabled, false = disabled. G_Mobile_Respawn_Movable = false; //true = Deployed mobile respawn can be moved while remaining deployed, false = Deployed mobile respawn is immobile. G_Mobile_Respawn_Wreck = 10; //Time (in seconds) after mobile respawn is destroyed before the wreck is deleted G_Mobile_Respawn_RespTimer = 20; //Time (in seconds) for mobile respawn to respawn at starting position/direction G_Mobile_Respawn_Marker = true; //Displays marker on map indicating MRV's position. true = enabled, false = disabled. G_Mobile_Respawn_Mkr_Type = "respawn_motor"; //Shape of marker G_Mobile_Respawn_Mkr_Color = "ColorBlack"; //Color of marker G_Mobile_Respawn_Mkr_Text = "MRV"; //Text beside marker G_Mobile_Respawn_Mkr_Refresh = 1; //Time (in seconds) between refreshes in marker location. Must be a number greater than 0. G_Mobile_Respawn_Mkr_Display = false; //Whether or not marker is always visible (true = marker always visible, false = marker only visible when MRV is deployed //Unit Tags G_Unit_Tag = true; //Refers to unit "name tags" that display over unit's head on HUD. Only friendlies visible. true = enabled, false = disabled. G_Unit_Tag_Display = 0; //0 = Press defined key to have names visible for defined time, 1 = Cursor over unit to have name displayed, 2 = Names always displayed G_Unit_Tag_Display_Key = 219; //Only used if Display 0 is that value above. Key number. Default is the Left Windows Key. See key codes for more options. G_Unit_Tag_Display_Time = 2; //Only used if Display 0 is that value above. Time (in seconds) names display when key pressed G_Unit_Tag_Distance = 75; //Distance from player that marker will begin to appear G_Unit_Tag_ShowDistance = true; //Distance is displayed next to player's name G_Unit_Tag_Color = [1,1,1]; //RGB settings for the tag color of non-squad members. Alpha is normally the 4th number, but that is handled in the script via a distance formula. G_Unit_Tag_SquadColor = [1,1,0.1]; //RGB settings for the tag color of squad members. Alpha is normally the 4th number, but that is handled in the script via a distance formula. //Custom Executions //Note - By default they will execute on AI as well. Read comment to side. G_Custom_Exec_1 = ""; //File executed when unit is set Incapacitated (NOT "killed"). _incapacitatedUnit = _this select 0, and is local. G_Custom_Exec_2 = ""; //File executed when unit is killed (not revivable; unit is officially killed). _killedUnit = _this select 0, and is local. G_Custom_Exec_3 = ""; //File executed when unit respawns after being killed. _respawnedUnit = _this select 0, and is local. G_Custom_Exec_4 = ""; //File executed when MRV respawns after being destroyed. Newly spawned MRV = _this select 0, and is local. G_Custom_Exec_5 = ""; //File executed when unit is revived. _revivedUnit = _this select 0, and is local. _rescuer = _this select 1. Documentation This README is intended to provide detailed information as to the purpose, function, FAQs, and minor troubleshooting for this script in addition to installation, uninstallation, and maintenance tips. For further information or specifics in the code, the user should read the comments to the code within the script files. Any further questions or comments can be directed to the author. Grimes Simple Revive Issue Tracker on github Functions: G_fnc_initNewAI Intended to execute the Revive and Unit Tags systems (if enabled) on units that lack these systems, particularly units created post-init. Parameter: Array - List of units to be cycled through init; or use Object - Unit to be cycled through init Return: None Ex: [_unit1, _unit2] spawn G_fnc_initNewAI; Ex: _unit1 spawn G_fnc_initNewAI; G_fnc_enterIncapacitatedState A means of forcing a revive-enabled unit into the incapacitated state. Parameter: Object - Revive-enabled unit Return: None Ex: _unit1 spawn G_fnc_enterIncapacitatedState; G_fnc_exitIncapacitatedState A means of forcing a revive-enabled unit out of the incapcitated state and back to their feet. Parameter: Object - Revive-enabled unit Return: None Ex: _unit1 spawn G_fnc_exitIncapacitatedState; Changelog All significant commits (changes) to this project will be associated with an issue in the Issue Tracker. This does not include minor documentation, formatting, readability, or otherwise cleanup-oriented changes. All issues resulting in a commit will be assigned to a Milestone, and the Milestones will be used as a reliable changelog, while the commit history will be comprehensive. Some issues may be related to changes within the same Milestone, and some fixes for bugs caused in the same Milestone may not be associated to an issue but instead the commit they are addressing. Download Grimes Simple Revive hosted on Armaholic Grimes Simple Revive hosted on github Grimes Simple Revive hosted on Steam Workshop Link to Full Sample Mission COOP 5 First Light Video Overview Grimes Simple Revive Script Overview on twitch.tv - Note: This video is from v0.5, and may include/not include certain features. The gist is there though.
-
Grimes Simple Revive Script
KC Grimes replied to KC Grimes's topic in ARMA 3 - MISSION EDITING & SCRIPTING
That's unfortunate. Is anyone else able to confirm? I am in school and will not have the time to address this for at least a few months, assuming it is worth the time come the summer. If someone would care to take a stab at a fix, that would be great and of course credited later on. -
Grimes Simple Revive Script
KC Grimes replied to KC Grimes's topic in ARMA 3 - MISSION EDITING & SCRIPTING
Thanks for playing. Take a look at G_Revive\G_Revive_Init_Vars.sqf, line 233 if ((side _x) in G_Revive_AI_Incapacitated) then { [_x] spawn G_fnc_EH; }; You could nest another if (or just add another condition), perhaps checking to see if the particular AI _x is playable. Alternatively, at line 238, you could do something differently than allUnits and allDead, though doing so many also effect players. Either way, testing will be required, particularly with AI systems. On that note, if it hasn't been noticed already, I have started back up in school and am unfortunately putting this project on the back-burner again. I encourage the community to continue to participate in this thread with feedback, suggestions, and bug reports, and help each other keep the project going. I'll try to pop in every now and then, though I can't offer much more until further notice. -
New to 1.82 is the alternative syntax of "select", being "#". Ex. testArray = ["A","B","C"]; _var = testArray select 1; //B _var = testArray # 1; //B _var = testArray #1; //B _var = testArray#1; //B All of the above statements have the same return. Is the "#" operator used in any programming languages in this way? I can't say I have seen it on the web development side, at least. Just wondering where this came from. Not to ask "What's the point?", but, what was accomplished here other than a slight decrease in file size (with bulk use)? Is there a performance difference? I am a fan of plain english, which is why SQF is awesome to me. I will probably continue to use "select" unless there is a solid reason to switch. Anyone know anything further on this?
-
[Release] MP compatible Fireworks Script
KC Grimes replied to nomisum's topic in ARMA 3 - MISSION EDITING & SCRIPTING
Seeing this for the first time, looks great in the demo video! -
Grimes Simple Revive Script
KC Grimes replied to KC Grimes's topic in ARMA 3 - MISSION EDITING & SCRIPTING
Awesome, glad that is working. The subsequent issue you are having with the dialog is due to a workaround (read: dirty) fix for the dialog sometimes seemingly closing on its own without input. The fix detects the unexpected closure and simply re-opens the dialog. So long as the unit is Incapacitated, as yours is despite doing teamSwitch, this will occur every few seconds. Take a look at G_Unconscious.sqf, Line 157 to 170. I would suggest removing lines 157-170, inclusively, and replacing it with the following code (which used to be inside those lines): private _reviveDialog = createDialog "G_Revive_Dialog"; if (!G_Allow_GiveUp) then { ((findDisplay 474637) displayCtrl 1600) ctrlShow false; }; That will fix your issue, which is certainly more of an issue than the periodic unexpected closure of an otherwise cosmetic dialog. Have fun! -
Run A Script For All Players In A Certain Vehicle.
KC Grimes replied to Roberior's topic in ARMA 3 - MISSION EDITING & SCRIPTING
Remote exec should work, just use the "object" approach for the targets. Specifically, your target argument is "crew _vehicle", where _vehicle is the subject vehicle object. That will execute the desired code locally on all vehicle occupants (dead and alive). -
Grimes Simple Revive Script
KC Grimes replied to KC Grimes's topic in ARMA 3 - MISSION EDITING & SCRIPTING
A bug in the system that incapacitates a unit for revive purposes instead of killing them has been brought to my attention. This bug resulted in certain non-fatal damage resulting in incapacitation. Specifically, critical damage to the hands, arms, and legs would result in incapacitation, when in the stock game that is not the case. This slipped through for so many years because I tend to test with head shots, not leg and arm shots! I imagine most players tend to roll this way in-game too. The issue has been fixed and pushed to github, though its inclusion in a release is still pending. -
Grimes Simple Revive Script
KC Grimes replied to KC Grimes's topic in ARMA 3 - MISSION EDITING & SCRIPTING
Team Switch is admittedly something I have never personally used as I tend to play my SP missions in the MP environment. That said, I have recognized Team Switch as a desired feature, though I do not have an ETA or guarantee that it will be implemented. I have not looked into it enough to provide a tested suggested approach to implementing it into this script. If you whip something up, even if it involves using a Custom Execution, please do share (and credit will of course be provided)! If teamSwitch just needs to be executed, I think the cleanest route would actually be enabling the Give Up button, then changing the action of the dialog button (G_Dialogs.hpp, Line 19) from having "player setDamage 1" to "teamSwitch". I have no idea if that will work, what will happen, or how switching back to the unit will work. Best of luck! -
help on bubble script 2.0
KC Grimes replied to dlegion's topic in ARMA 3 - MISSION EDITING & SCRIPTING
Take a look at the Code Optimization page on the biki, which will help with some ideas on how to slim down. You use a forEach to define playerSarray as playableUnits. If you were checking for a specific condition this would make some sense, but it seems you are not, so instead just directly define playerSarray as playableUnits. Use the selectRandom command instead of the function BIS_fnc_selectRandom. On that note, you are selecting from "playerarray" but you previously defined "playerSarray". Was "playerarray" defined earlier in code that you did not include? Same thing happens later, you use "playerspos" and not the defined "randomplayerpos". Slimmer means fewer definitions of variables/number of lines. Only referencing "randomplayerpos" once? Then don't make it a variable, just execute the command directly where you are using the variable. I do not understand your comment in the code snippet. For anything further we may need to see more of the code. -
Grimes Simple Revive Script
KC Grimes replied to KC Grimes's topic in ARMA 3 - MISSION EDITING & SCRIPTING
Just to clarify, the issue you are having is that you do not know how to get the AI to spawn on their squad leader? If that is the case, sorry I did not get around to this feature in time! This is mostly due to the fact that it is an easy workaround, though there are some catches, which I will get to. Anyway, you actually want to execute your custom script with G_Custom_Exec_3, which will handle the unit on respawn. Something like this should do the trick: script.sqf //Script to move AI to squad leader on respawn //_respawnedUnit is local params ["_respawnedUnit"]; //Only move AI to squad leader if (!isPlayer _respawnedUnit) then { //Handling AI, so move them to squad leader _respawnedUnit setPos (leader group _respawnedUnit); //Assume squad leader's stance [_respawnedUnit, animationState (leader group _respawnedUnit)] remoteExecCall ["switchMove", 0, true]; }; I added a little stance change, mostly so that a standing AI does not spawn onto a prone squad leader! Now, there are a few considerations. No need to address them here, just things to think about. What if the squad leader is dead? What if the AI is the squad leader? What if the squad leader is in a vehicle with space available? Full vehicle? Good luck! -
Can't find missing semicolon
KC Grimes replied to th3gingergamer's topic in ARMA 3 - MISSION EDITING & SCRIPTING
In Line 6 you are missing the _x argument for setDamage. {setDamage 1;} forEach _bollards; {_x setDamage 1;} forEach _bollards; The same error occurs in Line 14. Also be advised that you are defining __bollards (2 underscores) but referencing _bollards (1 underscore). -
Put Items into the nearest vehicle
KC Grimes replied to paramedic's topic in ARMA 3 - MISSION EDITING & SCRIPTING
What is not working exactly? Make sure -showoScriptErrors is enabled, as I would bet that your issue would pop up there. And how are you executing the addAction? My understanding is that you have an ammo crate with an addAction scripted onto it, and the above code block is what is executed. The code is intended to add that list of items to the nearest vehicle within 15m. Regarding the error, read through the biki entry for nearestObjects. Pay close attention to the return value, and understand that you are executing commands that require an object as an argument, and you are giving them an array. Because nearestObjects returns an array, you need to select the first (closest) element in that array and set your local variable equal to that. If that makes sense, take a look at the difference between nearestObjects and nearEntities and then read up further on nearEntities. Although not a particularly big deal here, it is a good habit to get into when the circumstances fit. -
Vehicle AddAction change loadout?
KC Grimes replied to BriCro's topic in ARMA 3 - MISSION EDITING & SCRIPTING
Your idea is fine. Just a few points on your approach. Read through the biki page for addAction, and that should address your question (and very clear formatting issue) regarding your use of the command. I am assuming that large code block is teamleader.sqf. If so, why are you execVM'ing it again? That is what the addAction is accomplishing, or so I thought. Either way, you don't need the "null" when using execVM in a script file. Try to be consistent about use of single or double quotes. Which one to use is a whole different question and, arguably, personal preference, but you should still pick just one. -
Grimes Simple Revive Script
KC Grimes replied to KC Grimes's topic in ARMA 3 - MISSION EDITING & SCRIPTING
Post-release, I noticed one minor bug but @Rockapes noticed a bigger bug that caused G_fnc_initNewAI to not function. These issues have been corrected. A minor optimization was also included. Please see OP for a re-release of V0.92 to include these hotfixes. Sorry for the inconvenience. Thanks for playing, and thanks for the feedback! -
enableDebugConsole doesn't work
KC Grimes replied to arma131's topic in ARMA 3 - MISSION EDITING & SCRIPTING
The Eden Editor settings are pretty user friendly and straightforward. I tried to kind of mix and match between it and description.ext, but that became very messy. Especially to make things easier for anyone else viewing the files, I try to stick to Eden as opposed to manual settings in init.sqf and description.ext. It seems like for now it is definitely user preference. -
Grimes Simple Revive Script
KC Grimes replied to KC Grimes's topic in ARMA 3 - MISSION EDITING & SCRIPTING
@Rockapes @runforrest @jeremyjhutton@gmail.com V0.92 of Grimes Simple Revive has been released and is available in he OP! This update contains a few bug fixes primarily relating to loading/saving/otherwise rejoining a mission. Additionally, a scripted mission-end has been added as an option for when all friendly units are incapacitated and unable to respawn. Also, the integrated briefing is now dynamic, outputting based on settings chosen by the mission maker. Various other changes are included. As always, a more complete changelog can be found by checking out the V0.92 milestone on github and a comprehensive changelog can be seen in the list of commits. Thanks for playing! -
How can I edit a modded scenario?
KC Grimes replied to smirlianos's topic in ARMA 3 - MISSION EDITING & SCRIPTING
mission.sqm! Just delete the relevant lines. If your mission.sqm is binarized, this topic should help. -
enableDebugConsole doesn't work
KC Grimes replied to arma131's topic in ARMA 3 - MISSION EDITING & SCRIPTING
Worked for me just now. Maybe try 1? You're sure you are in description.ext? Also remember you may need to back out of the scenario menu in order to "reload" the description.ext. -
Something to note is that "vehicle player == player" is true when on foot, but false when in a vehicle. nearestObjects, and similar commands, does not detect crew members of a vehicle. You will have to crew the vehicle for a list of units inside. Also note that "(crew player) select 0 == player" is true. Also consider using nearEntities instead of nearestObjects. Depending on what you are doing, it may be much faster. Ex. Obtain an array of all living men within a given radius from a given center point, including those within certain kinds of vehicles. G_fnc_menWithinRadius = { params ["_centerObj", "_radius"]; //Get array of all alive men and appropriate vehicles within defined radius of center object private _arrayAll = _centerObj nearEntities [["Man", "Car", "Tank", "Helicopter", "Plane", "Ship"], _radius]; //Cycle through all objects and find the men to add to array of men to be returned private _arrayReturn = []; { //_x is object //Determine how to handle alive object if (_x isKindOf "Man") then { //Object is man, add to array _arrayReturn pushBack _x; } else { //Object is vehicle //Cycle through crew to pick out man { //_x is crew member //Make sure crew member is alive if (alive _x) then { //Crew member is alive, add to array _arrayReturn pushBack _x; }; } forEach crew _x; }; } forEach _arrayAll; _arrayReturn; };
-
Just tested it myself. Launched the game twice, resulting in two "players" that are not local to each other. Using the debug console, I executed the command locally while using the remote player as an argument. If it works (in this case, a vest showing up on the other guy), then the argument can be global. If the other guy can also see this change, then the effect is global.
-
Fixed! At least for that page and a few pages it links to.
-
The the top of all of the command pages, including addItem, you will see one or two icons indicating the locality of the argument and locality of the effect. If a command requires the argument to be local, the command must be executed where the unit is local. This can be accomplished by either directly executing the command on the local machine, or having a remote machine remoteExec the command to the local machine. If a command allow for a remote (global) argument, then it can be executed from any machine. Keep in mind that effect can also be local or global, separate from the locality requirement of the argument.
-
Looking at the biki for addItem, the command should allow for a remote argument with global effect. You should not have to use remoteExec. I am curious if anyone is knows this to be, and if the biki should be updated. Or perhaps there is just some user error. Check your syntax! Also, note the inventory space requirements, and consider using some of the related commands (such as to Vest). Regarding other players seeing the effect of this command, because it is considered to have global effect they should. But if you are truly required to remoteExec it to the machine local to the unit, then that may not necessarily be true. Regarding your request for a "list", see the above hyper link for the biki and go explore!
-
Enabling Respawn Mid-Mission
KC Grimes replied to Alpine_gremlin's topic in ARMA 3 - MISSION EDITING & SCRIPTING
If I remember correctly, setting respawnOnStart to -1 will not bring up the Respawn Menu if you are using the MenuPosition template (which it sounds like you are). I'd go this route. Regarding eternal respawn, I would just keep resetting the timer via setPlayerRespawnTime. This works for me in a scrapped together Spectator mode where I just set the timer every minute in a loop.