Jump to content

Enigx

Member
  • Content Count

    59
  • Joined

  • Last visited

  • Medals

Everything posted by Enigx

  1. Hi, there is an error in name mission folder. There is a dot that it must be there. Enter in your mission and rename the root folder \SEA_system_V1.0.Altis with \SEA_system_V10.Altis or any name you want (ex: \YourMissionName.Altis) the dot in "1.0" generates the error. Sorry. I modified the name in a second time and I forgot this dot. 😁 Remember to load the ACE and insert your steam Id in initPlayerlocal.sqf. Have a fun with it.
  2. I don't know if there is a fuction for that, never used. You can set the helis invincible if you want. To do that: - in CallHeli.sqf place this string in line 120 createVehicleCrew _heli_trasp; _heliGrp = group _heli_trasp; _heli_trasp allowdamage false; // <-- this line (it sets heli invulnerable) _wp2 = _heliGrp addWaypoint [getMarkerPos "p_rotta2", 0]; - in OrderHeliGO.sqf place this string in line 140 _heli_Go = vehicle player; _heliGrp = group _heli_Go; _heli_Go allowdamage false; // <-- this line (it sets your heli invulnerable) _MkrIntArrayCount = (count _MkrIntArray) - 1;
  3. Hi, you can use Phronks' ied script. I did the same in one of my system. It is very good. all credits to Phronks Script is configured to be launched at mission start by the ini.sqf execution. You can avoid it and launch by triggers. I did the same for one of my system. 1) place the marker area from editor where create ieds and name it (ex. "SpawnIED") 2) place Phronks' ied.sqf script in mission folder 3) place a trigger area and match exactly the area "SpawnIED". Set trigger condition "blufor present" or whatever you want, and in OnActivation digit the string (not the comments of course): [["SpawnIED" , 10 , true, false], "ied.sqf"] remoteExec ["BIS_fnc_execVM",2]; // the execution is on server (in reality not needed if you activate by trigger). but leave as it is // SpawnIED: name of marker area (be careful it must include roads!) // 10: number of desired ied // true: the IED can be detonated with weapons. false if not // false: do not show location of IEDs on the map. true if yes Of course change it with your parameters 4) open ied.sqf script and modify begining part as // input from calling trigger _iedMkr1 = _this select 0; _iedNum1 = _this select 1; _iedDmg1 = _this select 2; _Dbug1 = _this select 3; // redefine inputs as global as requested by ied script iedMkr = _iedMkr1; //List of markers to spawn IEDs in iedNum= _iedNum1; //Number of IEDs per marker, defined in iedMkr [Default: 5] iedDmg= _iedDmg1; //Can the IED be killed with weapons? [Default: false] TRUE = Yes | FALSE = Can only be disarmed Dbug = _Dbug1; //Show IED markers on map? [Default: false] //!!DO NOT EDIT BELOW!! iedBlast=["Bo_Mk82","Rocket_03_HE_F","M_Mo_82mm_AT_LG","Bo_GBU12_LGB","Bo_GBU12_LGB_MI10","HelicopterExploSmall"]; iedList=["IEDLandBig_F","IEDLandSmall_F","IEDUrbanBig_F","IEDUrbanSmall_F"]; iedAmmo=["IEDUrbanSmall_Remote_Ammo","IEDLandSmall_Remote_Ammo","IEDUrbanBig_Remote_Ammo","IEDLandBig_Remote_Ammo"]; iedJunk=["Land_Garbage_square3_F","Land_Garbage_square5_F","Land_Garbage_line_F"]; if(!Dbug)then{{_x setMarkerAlpha 0;}forEach iedMkr;}; ... That's all. If you want more ied areas you just repeat steps 1) and 3) with the new inputs. Sorry, not tested in this mode because in my system I can select, when I'm in game, the area directly clicking on map. So it is quite different from above. Anyway it should work. Test it Cheers
  4. It's strange I can downolad without problems. Try to join Armaholic by creating an account. Anyway I'm sorry I have no google drive link.
  5. ACE is an elegant way to allow activation only by authorized players (in general TL/SL). Imagine that everyone can call it !! it would be a tragedy ☺️ Moreover ACE menus are more efficient. Anyway, it is possible also to use the script without the ACE, because it is a simple call of sqf files. Here some options you can try Option 1 One alternative mode is to activate it simply by a trigger radio Alpha and Bravo. Place from editor a trigger with condition radio Alpha, make it repetable and put in OnActivation the following line null = execVM "EGX_HeliTransport\CallHeli.sqf"; // for heli call Again, place another trigger radio Bravo but now with following line null = execVM "EGX_HeliTransport\OrderHeliGO.sqf"; // To order heli to go In this way pressing the support modules when in game (keybutton "\" ) you can call the radio commands. Of course everyone can call the radio. There is the possibility to activate it only by authorized players, using the thisList command, but forget it is more complicated Of course in this option forget the lines of initPlayerLocal.sqf. Don't create it. Option 2 Other option is to use always the initPlayerLocal.sqf but inserting these lines rather than the ones I specified for ACE _actionHeli = {execVM "EGX_HeliTransport\CallHeli.sqf";}; _actionHeliGo = {execVM "EGX_HeliTransport\OrderHeliGO.sqf";}; player addAction ["Call helicopter", _actionHeli]; player addAction ["Order heli GO", _actionHeliGo]; These create for each player two adactions, activable by the mouse wheel, with the two activations. Everyone can activate them Option 3 As option 2 but only authorized players can activate them authPlyrsHeliTr = ["XXXXXXX", ... , "YYYYY"]; // <-- ADD HERE THE STEAM ID OF THE PLAYER/S ENABLED TO MANAGE HELI TRANSPORT BY ACE COMMANDS _uidP = getPlayerUID player; if (_uidP in authPlyrsHeliTr) then { _actionHeli = {execVM "EGX_HeliTransport\CallHeli.sqf";}; player addAction ["Call helicopter", _actionHeli]; _actionHeliGo = {execVM "EGX_HeliTransport\OrderHeliGO.sqf";}; player addAction ["Order heli GO", _actionHeliGo]; }; Options not tested but they should work. NOTE: the system uses CDS system interface. I think CDS doesn't use Ace so the methods should work. Try Cheers
  6. Hi, the suggest of Play3r can be applied to your scope. Open file ESS_system\functions\ESS_Launch.sqf. At line 24 it is defined the trigger for EZZ zone activation. Try to change the line _essActivated setTriggerArea [(_distance+_mkrX),(_distance+_mkrY),_mkrAgl,FALSE]; with _essActivated setTriggerArea [(_distance+_mkrX),(_distance+_mkrY),_mkrAgl,FALSE , 100 ]; // 100 (meters) is the height of the trigger. Modify it with your minimum flight altitude Not tested but it should work. Of course flying vehicles below the 100m will always activate it ☺️ Note: I don't know how it could work for infantry activation if ESS area is defined on mountains. You need to do some tests and find the optimized height limit.
  7. Thanks for your comment. Yes, you must load ACE to activate the system by the player's ACE menu. The fact you don't have player slots is probably due because you run mission in SP from editor, try to start it as MP. The RHS really shouldn't be needed because it is used only for the classnames of the heli. In fact if you try to use chinook without RHS loaded, a message appears to use vanilla heli. You can, in case, modify copter classnames with any mods you want (CUP for example), simply inserting the new classnames in calling sqf file. Anyway the system is thought for MP missions where usually ACE and RHS are a must to have, at least for me of course. Yes, link you've written about ACE compatibility is correct. Thanks. Cheers
  8. Enigx

    Landing a Heli Help.

    Hi Spelmo3, If you are interested I have just shared my script for heli transport that could be usefull for your need. Cheers
  9. EGX Players Transport system by Enigx The system orders the transport of players from a Base Point to clickable point on the map by means of air or ground vehicles. Useful to transport players from the respawn area to operational area for their re-insertion. Armaholic EGX_PlayersTransport system Hey, it seems Armaholic has been shut down!! Alternatively, I added the file to this link which uses a personal external website (completely unrelated to the Arma game). Features: Just place a Base point marker during mission editing and the system does the rest Graphical interface window for options selection You can call transport vehicle whenever and as many times as you want Different air and ground vehicles can be selected You can select vehicle route clicking on intermediate points on map Automatic procedure to identify safe landing position for copters Multiple transport calls No need to place vehicle from editor. It is spawned and deleted at each call Activation by ACE self interaction menu for authorized players only or for everyone SP/MP compatible Installation / Usage: Detailed steps and information in initEGX_PlrsTransp.sqf file. Mission example included in zip archive. Notes: It needs the following mods loaded in your mission: - ACE for the interaction menu - RHS USAF for the definition of some type vehicles. Otherwise, if not loaded, you can use the vanilla vehicle from graphical window. Mods: ace ACE Compat - RHS United States Armed Forces CBA_A3 RHSUSAF Credits & Thanks: Sceptre for sharing his Custom Dialog System (CDS) Thanks to Armaholic Community. Changelog: First official version 1.0
  10. Enigx

    Landing a Heli Help.

    Try this. I've written very quickly but it should work. _marker = createMarkerLocal ["LZmarker",[0,0,0]]; _marker setMarkerColorLocal "ColorWhite"; _marker setMarkerShapeLocal "ELLIPSE"; _marker setMarkerBrushLocal "Solid"; _marker setMarkerSizeLocal [25, 25]; mapclick = true; hint "Click on landing position"; onMapSingleClick """LZmarker"" setMarkerPosLocal _pos;mapclick = false; onMapSingleClick ''; true;"; waitUntil {!mapClick}; openMap false; _posToLand = getMarkerPos "LZmarker"; // better to get position in local variable _landPad = createVehicle ["Land_HelipadEmpty_F", _posToLand]; _heliGrp = group helo1; _wp = _heliGrp addWaypoint [_posToLand, 0]; _wp setWaypointType "MOVE"; _wp setWaypointBehaviour "CARELESS"; _wp setWaypointCombatMode "GREEN"; _wp setWaypointSpeed "NORMAL"; _wp setWaypointStatements ["true", "(vehicle this) land 'LAND'"]; deleteMarkerLocal "LZmarker";
  11. EGX_Medevac system by Enigx The system orders the arrival, in a clickable point on the map, of a Medevac for the transport of the injured players to the medical point and their subsequent insertion once healed. Once activated, the medevac will be spawned, goes to extraction point, waits for take-off command, goes to medical point for players heling, goes back to extraction for players landing and flies away to medical point again for cancellation. The medical point is pre-defined in the editor during mission editing. The system can be activated by self-interaction menu of the ACE mod. Armaholic EGX_Medevac system Hey, it seems Armaholic has been shut down!! Alternatively, I added the file to this link which uses a personal external website (completely unrelated to the Arma game). Features: Just place a medical point marker during mission editing and the system does the rest. You can call Medevac wherever you want on the map You can call Medevac whenever and as many times as you want You can select medevac route clicking on four intermediate points on map Automatic procedure to identify safe landing position close to selected one Automatic procedure to take-off from extraction point, healing of players and their transport for the insertion Multiple Medevac calls No need to place medevac from editor. It is spawned and deleted at each call Activation by ACE self interaction menu for authorized players only or for everyone SP/MP compatible Installation / Usage: For instructions and information of how to use the EGX_Medevac refer to file initEGXMed.sqf. Mission example included in zip archive. Notes: It needs the following mods loaded in your mission: - ACE for the interaction menu - RHS USAF for the definition of the Medevac helicopter "RHS_UH60M_MEV2". You can change it modifying the heli classname in CallMedevacV2.sqf file. Mods: ace CBA_A3 RHSUSAF ACE Compat - RHS United States Armed Forces Credits & Thanks: Thanks to Armaholic Community. Changelog: First official version 1.0
  12. AI landing by Heli by Enigx The script orders the landing of AI units via a helicopter on markers placed on the map from editor. The helicopter moves on specified waypoints and lands, disembarks units and flies to an escape point where it is canceled, or in alternative it stays where landed. Units can be moved on a routes of markers also positioned on the map by the editor. Useful for AI enemy units landing and attack or blufor reinforcements. Armaholic AI landing by Heli Hey, it seems Armaholic has been shut down!! Alternatively, I added the file to this link which uses a personal external website (completely unrelated to the Arma game). Features: Selection of heli and infantry units Routes for helicopter placed on map from editor Units, once landed, can move to specific waypoints route Heli can flies away to a cancellation marker on map or stay in landing position Multiple helicopters and units transportation Selection of random routes, heli and units SP and MP compatible Installation / Usage: Place markers on map from editor to identify waypoints for heli and infantry routes. Extract files and copy \AILandByHeli folder into mission folder. Open AILandByHeli_OpenMe.sqf to define parameters for the heli transport and landing. Activate it by trigger or Ace self interaction menu (code and details included) Detailed steps in AILandByHeli_OpenMe.sqf. Mission example included in zip archive. Credits & Thanks: Thanks to Armaholic Community. Changelog: First official version 1.0
  13. Hi Casio19Fin, download the v 1.1. I'm sorry but, probably causing a mistake in archive compressing , some files were missing in previous version. I fixed it and added a mission sample for the system as you suggested. For the addition you said, it is better you run manually the "end mission" ("end1" call BIS_fnc_endMissionServer;) (by debug console or trigger) once the cycle terminates. In fact it is not easy to implement the addition, because it goes in conflict with the "stop and run again" function, already present in the system for cycle activation. Greets
  14. Hi, thank you for your reply. As mission maker I have used the EOS for many times and it is an excellent flexible system. No discussion about that, and infact I used a similar architecture. The only remark that I can do is that sometime I noticed some sporadic AI infantry units tend to go outside the area forcing you to check them from Zeus to avoid they walk around the map. Maybe it's an effect that only I have had, I don't know. Anyway I created this personal system (using script done for a more complex gaming system in which the ESS is intergrated as dynamic spawning system when in-game), in which this effect doesn't happen and with which I have had a positive experience in my MP missions. Of course It does not want to be pretentious or replace systems already in use and tested, but only my small contribution to share with the community, as many similar systems you can find on web. No more, no less cheers
  15. Thanks baton1990! Yes it could be possible to add this function, but it's not the aim of this system. It is mainly focused to the MP where you have a mission to accomplish in operative areas, so without markers to indicate or not enemy presence or despawn function. There are already systems that already do what you say (see EOS for example) and that was not the purpose I had when I developed it. I needed a lean, simple and stable system for my MP missions using a script I had developed for infantry units that did just that. Cheers
  16. I have used this script just yesterday in my clan mission. I have simulated a rocket launch countdown with two intermittent image icons of a rocket red and yellow that alternate each second. Very great effect combined with an alarm sound. Put this file timer.sqf in your folder mission (or other but remember to change it on execVM string) timer.sqf /* Activate by trigger or debug console nul = [SECONDS] execVM "timer.sqf"; - SECONDS - <NUMBER>: countdown number in seconds */ private "_time"; _time = _this select 0; while {(_time > 0)} do { _time = _time - 1; // ********* this part is the intermittant images. _imgCnd = ""; if (_time % 2 == 0) then { _imgCnd = "<img size='5' image= 'images\rocketRed.jpg' align='center'/><br/><br/>"; } else { _imgCnd = "<img size='5' image= 'images\rocketYellow.jpg' align='center'/><br/><br/>"; }; _txtCnd = format["<t font='TahomaB' t size='1.25' t color='#FF0000'>Countdown activated.<br/>Time to launch:<br/><t size='2.25'>%1<br/></t>", [((_time)/60)+.01,"HH:MM"] call BIS_fnc_timetostring]; hintsilent parseText format[_imgCnd + _txtCnd]; // **************** sleep 1; }; put two images (one red and one yellow for exaple), or whatever you want, in a folder (images\ in the example). Activate the script by trigger or debug console (on global effect of course) by: nul = [SECONDS] execVM "timer.sqf"; Seconds: duration in second of the countdown (ie 5min = 300, -> nul = [300] execVM "timer.sqf";) The result is a countdown with the two images that alternate each second. if you don't want the image substitue with this (that is the same of enigma, the difference is that the time is in mm:ss and with a more actractive colors)) /* Activate by trigger or debug console nul = [SECONDS] execVM "timer.sqf"; - SECONDS - <NUMBER>: countdown number in seconds */ private "_time"; _time = _this select 0; while {(_time > 0)} do { _time = _time - 1; _txtCnd = format["<t font='TahomaB' t size='1.25' t color='#FF0000'>Countdown activated.<br/>Time to launch:<br/><t size='2.25'>%1<br/></t>", [((_time)/60)+.01,"HH:MM"] call BIS_fnc_timetostring]; hintsilent parseText format[_txtCnd]; sleep 1; }; Salut
  17. Hi, I'm trying to write a script to teleport player in MP from a list box to my position I have the list with all the name and can select them, but it seems the selection gives me back only the "string" of the name and not the player as "entity". So the question is, is there a way to "identify" the player that has a specified name? So that I can use the string for something like that (<player having _Namestring>) setPos (getpos player); where the last "player" is me, who called the script. Thanks in advance
  18. Thank you for your answer. Don't worry, your arguments out loud are welcome :-) I understand your security doubts, but I think this is not the case as I only use the system for my clan missions. I certainly did not know that some functions are not remote executable. Now it is clearer. I'll try to use this solution directly: ["anyfile.sqf"] remoteExec ["BIS_fnc_execVM", _object]; For a general remote executable function do you think that the following works? ... player selected in _object TargetFunction ={ player call FUN_fnc_addPersonalMenu; // or any code hint "This message is visible only to the target client"; }; [] remoteExec ["TargetFunction", _object]; hint format["You have assigned the menu to %1", name _object]; // this message is visible only to the caller Can I put this code in the same sqf or have I to define the "TargetFuction" external and initiate it by the "class CfgRemoteExec"? Thanks again for your patience.
  19. Hi Larrow, sorry if I'm going back to this topic, but I have a question on your solution. Is it possible to use it to identify the clientID of the selected player? I want to execute an sqf on a client pc from mine. So, before the }]; of your script, add something like that _clientID = owner _object; ["anyfile.sqf"] remoteExec ["execVM", _clientID]; ["file executed on your pc"] remoteExec ["hint",_clientID]; Is it _object also local to the selected client? I have found a method as in one of my post , but sometime it doesn't work due to difficulty to propagate steamUID between clients (as written in BIKI page) My difficulty is to find the clientID number and there isn't a clear explanation on web to do that (or I didn't find/understand). Thanks for feedbacks
  20. I have defined a function that assigns an ACE_SelfActions menu to specific players in a list (the mission administrators). So in initPlayerLocal.sqf I have _uid = getPlayerUID player; if(_uid in adminList) then { player call FUN_fnc_addPersonalMenu; }; So when server starts the players in the adminList have the PersonalMenu in their ace self interaction menu. Now I want to assign this menu when in game to another player connected and not in the original adminlist. I will run an sqf by the PersonalMenu, that I can see because I'm an administrator, with the command to assign the menu to this player. Because the ace actions are client side I have to execute the function on the client pc. I immagine something like that AssignPersonalMenuToPlayer.sqf ... other lines to identify the player in a list ... player available in the variable "playerObject" playerObject remoteExecCall ["FUN_fnc_addPersonalMenu", targets,false]; the targets is the clientOwner ID . Here the problem to find it. Biki is not very clear about that (or maybe I couldn't figure it out) I tried with this solution ... other lines to identify the player in a list ... player available in the variable "playerObject" flagCl = createVehicle ["Land_PenBlack_F",[0,0,0]]; flagCl setFlagOwner playerObject; _clientID = owner flagCl; playerObject remoteExecCall ["FUN_fnc_addPersonalMenu", _clientID]; deleteVehicle flagCl; that means to assign a temporary flag object to the player and use the function "owner" to identify his clientOwner ID. Then use the ID as target of the remoteexeccall and exectute the function on the player pc Unfortunately I cannot test it. Any help about that? Can it work? Thanks
  21. For those interested I solved the problem. After searching some information on web, here a method I've found to execute a function on other client in MP. It uses the steam ID of the target client instead of his clientOwner ID That's the general code to insert in your script TargetFunction ={ // define a function inside the script _uidPlr = _this select 0; // input passed to the function (the Steam ID target) if(getPlayerUID player == _uidPlr)then{ // check if ID of client executing the script is the ID target ... Here any codes for the target client to execute. This code is executed only by the target }; }; // call the function to be executed on all clients except the server, passing the Steam ID of the target player [getPlayerUID playerObject] remoteExec ["TargetFunction", -2]; // in playerObject the target player selected from a list for example It is sufficient to insert in "... Here any codes for the target client to execute" the lines to be executed by the client. In my case (see above). AssignPersonalMenuToPlayer.sqf ... other lines to identify the player in a list ... player available in the variable "playerObject" TargetFunction ={ _uidPlr = _this select 0; if(getPlayerUID player == _uidPlr)then{ player call FUN_fnc_addPersonalMenu; hint "This message is visible only by the target client"; }; }; [getPlayerUID playerObject] remoteExec ["TargetFunction", -2]; hint format["You have assigned the menu to %1", name playerObject]; // this message is visible only by the caller This executes the TargetFunction on all the clients (except server) and only the target client will execute the FUN_fnc_addPersonalMenu in the "if" statement. I hope this can be useful to the comunity. Cheers
  22. I have a script that spawn enemy units on marker and order a patrolling movement on waypoints. Simplifying the script it is as in the following: CallPatrol.sqf ..... // loop "for" for enemy spawning. _numFT: numbers of fire teams for "_i" from 1 to _numFT do { sleep 0.2; ... definition of random markers "p1","p2".. where define patrolling waypoints .. null = [ListEnemyUnit select _faction,["p1","p2","p3","p4","p5"],EAST] execVM "Spawn_Enemy_patrol.sqf"; }; // ListEnemyUnit: array containing arrays of enemies of different factions (each with 4 units), selected by _faction. I can vary the _faction parameter in game .... Spawn_Enemy_patrol.sqf _unitArray = _this select 0; _MarkerMoveArray = _this select 1; _sideFactionUn = _this select 2; grpAI = createGroup [_sideFactionUn, true]; _unitlArrayCount = (count _unitArray) - 1; // Fire team definition for "_i" from 0 to _unitlArrayCount do { _ce = grpAI createUnit [_unitArray select _i, getMarkerPos (_MarkerMoveArray select 0), [], 0, "FORM"]; }; EnGrp = grpAI; ..... other lines to set waypoints movement It works, but I have a strange behaviour with independent factions. One of the ListEnemyUnit array elements is an array on independent units (NAPA units form RHS). If I select this faction the script spawns them correctly, but they fight each other. I noticed that only the TL is "east" while the other 3 units of the group are something else, hostile to the TL. The TL kills them, they don't shoot the TL waiting their death! They appear green on map, but once killed they appear violet on editor left screen list. This doesn't happen if I pass INDEPENDENT and not EAST to the _sideFactionUn variable. Why this behavior? Any suggestions/solution? Thanks
  23. Thanks all for answers. Yes it is also written in BIKI, sorry I didn't read it. So I have two ways: 1) set independent as enemies from editor and create group as independent, as enigma said. No no I want a group composed by all independent units but with east behavior. The reason is because I can dinamically spawn enemies in game by a personal menu, and sometimes I use independent units as enemies. 2) createunit and then join the unit to the group, as pierremgi said So in Spawn_Enemy_patrol.sqf the "for" loop will be // Fire team definition for "_i" from 0 to _unitlArrayCount do { _ce = grpAI createUnit [_unitArray select _i, getMarkerPos (_MarkerMoveArray select 0), [], 0, "FORM"]; [_ce] join grpAI; }; Is it right?
×