Jump to content

rkemsley

Member
  • Content Count

    44
  • Joined

  • Last visited

  • Medals

Everything posted by rkemsley

  1. Hi all, I have created a short piece of code that makes the Curator Editing Area follow the Curator player around the map. I have four potential Curator players (BLUFOR_Player001 to BLUFOR_Player004) who all have the exact same code linked to them except for their names and Curator Editing Area code. Each of the four BLUFOR Curator players are not created on map initialisation. Instead, I wanted the player unit to be created when a player decides to play that role. I initially had my script in the init.sqf, however, when testing, I would get errors saying that the other BLUFOR Curators did not exist (because I was only playing as BLUFOR_Player001). What I am wondering is how/where do I place my script so that it is added to every new BLUFOR player when they join the game (It must be unique to them, see below).
  2. Hmm, this begins a new set of problems for my win conditions. I have one piece of code (currently attached to an Eden Editor trigger) fires when my named Military Cargo Tower is destroyed. The other piece of code (also attached to an Eden Editor trigger) fires when all BLUFOR Curator players are killed. If I hide and disable all BLUFOR playable units at the start, then unhide/enable them when a player joins and plays as one, the rest of the hidden and disabled units still need to be killed for Independent to win.
  3. Hmm, that just delays the error message. Would you suggest not using the Eden Editor Curator Module and instead add the Curator to players using scripts? Edit: Strangely, if I play as BLUFOR_Player001 and disable AI for all other player slots, I don't get the message. I also don't get the message if I disable AI, then add one AI player into BLUFOR_Player001 and I play as BLUFOR_Player002. It only seems to show the error if I disable AI and have no one playing as the first BLUFOR player in the list...
  4. I have edited the previous response to be more specific! Edit: I sorted out the problem, I changed the "onPlayerRespawn.sqf" to an "initPlayerLocal.sqf" because it can also fire the script if a player joins in progress. The moving Curator Editing Area is now working correctly. Thanks for your help! Edit : Edit: So, if I have it located in a "onPlayerRespawn.sqf" nothing happens, the Curator Editing Area never shows and it seems the script doesn't exist at all. If I have it located in an "initPlayerLocal.sqf" I get this error message: " '..."_areaID"; switch ( player ) do { case |#|BLUFOR_Player001: { _ZeusCurator = ZeusB...' Error undefined variable in expression: blufor_player001 File C:\Users\"me"\bla\bla\Arma3\missions\AI_Tests.VR\initPlayerLocal.sqf..., line 7 " Oddly, I don't get this message if I am playing as BLUFOR_Player001, it only appears if I player one of the other three BLUFOR players.
  5. I seem to be having a problem with this (it shouldn't have anything to do with "respawnOnStart" because the default is 1 and I haven't changed it to do anything else). This just doesn't seem to be working for some reason. Edit: added this to a newly created onPlayerRespawn.sqf. However, the Curator Editing area does not show up in-game, I also don't receive any error message. My description.ext just incase that could be the problem (which I don't think it is).
  6. allCurators apply {[_x,owner_x,side _x]} [[ZeusIndependent001_Curator,any,LOGIC],[ZeusBLUFOR001_Curator,any,LOGIC],[ZeusBLUFOR002_Curator,any,LOGIC],[ZeusBLUFOR003_Curator,any,LOGIC],[ZeusBLUFOR004_Curator,any,LOGIC]] (I had to change it from "allCurators apply {[_x,owner_x,side _x, side owner _x]}" because I was getting errors). allPlayers apply {[_x,side _x]} [[BLUFOR_Player001,WEST]] playableUnits apply {[_x,side _x]} [[BLUFOR_Player001,WEST],[BLUFOR_Player002,WEST],[BLUFOR_Player003,WEST],[BLUFOR_Player004,WEST],[Independent_Player001,GUER]] Edit: I edited my earlier response to answer your earlier questions.
  7. Ok, I guess I need to give more context to my multiplayer map. Basically, two teams (BLUFOR and Independent) are against each other. There are four player slots for BLUFOR (FIA) and one player slot for Independent (AAF) (every player has Curator access). The Independent player is permanently in Curator mode and doesn't have a character on the map and their editing zone is around their military base. The BLUFOR players can swap from Curator mode and character mode whenever they like and their editing zone follows their character around the map. The win condition for the BLUFOR team is to destroy the big military tower in Independent's base. The win condition for the Independent team is to kill all of the BLUFOR players. (I am still in the process of thinking about how points should be awarded to each team, I just want to get the basics of the mission working properly, then think about the other mechanics). So it's basically a Guerilla Warfare Zeus vs Zeus map. I have the win conditions working on the map, however, if I don't spawn BLUFOR with AI playing in the player slots, I can't test my code (because the game will just end with a win). When it's actually ready to be played, I need it so that players can join/leave the BLUFOR player slots and it won't affect the script which makes their Curator Editing Zone follow them around. Edit: In the editor, I am using the Curator Modules and linking them to the players. I am using the modules for both BLUFOR and Independent because for the Independent player, I want him to pick from the Independent side rather than going into the Zeus player slot which is added if you use the Curator Player Module. I am currently disabling the AI as a playable role for testing, but when I am ready to test with other players, I will disable the AI for players in the Multiplayer drop down in the Eden Editor.
  8. Ok, so this is my initPlayerLocal.sqf I am still getting the same error regarding the other players who haven't joined the game yet. I am still not sure how to use this
  9. In its simplest form, is to add/remove the ability for different curators to interact with man/unmanned vehicles. Let us say that the FIA player (BLUFOR) has placed a turret in the trees for an ambush on the AAF player (Independent). While the turret is controlled by the FIA player, the AAF player is unable to interact with it in curator mode. As soon as the FIA unit manning the turret dies (or is told to leave it), the turret can now be accessed by all curators on the map while they are in curator mode (e.g. moved, deleted…). If the AAF player decides that he wants to man the turret, while controlled by the AAF player, no other curator can interact with it while they are in curator mode. In simplest terms, an unmanned vehicle is shown to all curators with the yellow circle in-game. Once the vehicle’s ownership has changed, it no longer shows up to all curators until it is empty again. I have put together the start of the script, but my knowledge of scripting is limited (still learning really). Was wondering if anyone could give me a hand/advice?
  10. This script adds every unit placed, by one of the four BLUFOR Curators, to every BLUFOR Curator on the map. I was wondering how I would make it so that this script would add Curator-placed units to all allied Curators on the map. For example, if I had three teams, who are all enemies, (BLUFOR, OPFOR and Independent) and each team has three players (ZeusBLUFOR001_Curator for BLUFOR, ZeusOPFOR001_Curator for OPFOR and so on). How would I add these players to a "group" which can then be used in the above script to add each placed unit by one of the players to all their allies? Do I need to create three arrays and add the Curators (so if I plan to create or remove Curators, I can adjust appropriately), and if so, how? Something like: Array 1 - Curator_west Array 2 - Curator_east Array 3 - Curator_independent Then I was hoping I could write: Then addCuratorEditableObjects to the Curators which are in their associated array (group).
  11. I couldn't get the array assignment working. I am a bit of a novice when it comes to coding, however, I found that this piece of code seems to be a pretty reliable substitute.
  12. So this script seems to be more or less working. I am just wondering if there is a better way of writing it. I was also wondering if there was a way to detect if a unit is editable by a certain Curator and give everyone on the said Curator's side the ability to also edit the unit. For example, if a BLUFOR Curator places a mine, I'd like to be able to give all other BLUFOR Curators access to the mine, while not allowing the Independent Curator access.
  13. I have attempted to do this through code, but it doesn't really work. Because there are probably hundreds of ways of doing what I want (some more efficiently some less), it would be useful to see another way of maybe writing the script. I am currently attempting to use a loop that checks the whole map for empty vehicles and adds them to all curators (no matter their side). I think I need another loop that then checks the map for vehicles which are no longer empty, and removes them from the curators which are not on the side of the now owned vehicle (e.g. BLUFOR curator orders a unit to enter an empty car, the car can no longer be edited by the Independent curator, and the marker on said unit disappears for the Independent curator).
  14. Gave this a try, it stops other players from moving entities around which are owned by the opposing team. However, they still appear on the Edit list, left of the screen, and can be told to dismount by the opposing team. The Zeus editor seems to have a problem with empty vehicles, civilian entities. It does not seem to register/follow the same custom of saying that all empty vehicles are civilian entities for some reason.
  15. I did some testing and have a system that seems to be working consistently. I would like to have the flag change effect which side owns the sector. I have done some capturing sector missions in the past, but they have always been captured using units, rather than taking a flag. I am not even sure if it is possible. I have also managed to link the curator edit zone to change owner depending on which flag is flying. I just can not do it for sectors.
  16. What I am trying to do is create a flag capturing system using the BIS_fnc_holdActionAdd. So I am currently testing to see if, while playing as an FIA BLUFOR unit, I can take an AAF flag down from a flagpole and swap it with an FIA flag. I am hoping I can get the animation of the flag coming down the pole, then once it has reached the bottom, swap with an FIA flag, then rise back up the pole, all while using the hold action button. If the unit lets go of the action button, the flag goes back to the top as if nothing has changed. If the flag is already an FIA flag, then the hold action button should not appear. This should be the same if I am playing an AFF Independent unit, except it is only FIA flags that can be captured. I currently have the hold action working, I am just not sure about how to use the BIS_fnc_animateFlag to move the flag down, swap it, then move it back up to the top.
  17. Does anyone have any idea how to use the function "BIS_fnc_isCuratorEditable" to kill curator editable units when they enter a trigger. I am trying to create a restriction zone around my map which kills the player and curator units when they enter the zone but will allow none curator units to pass through (so I can simulate reinforcements entering the region after a certain amount of time). I have been running some tests to get an idea on how the "BIS_fnc_isCuratorEditable" function works. I currently have four triggers around the map which tell me through a hint whether a unit is curator editable or not. I am now trying to work out how to change it from giving me a hint which is either true or false, to killing the unit if true or allow the unit through if false. Something along the lines of... Just can not seem to work it out. Also tried this to no avail...
  18. Done! This (Has not been tested in multiplayer) has had consistent success...
  19. Update to anyone who is interested. I have made some progress and have a trigger which differentiates between Curator editable units and none Curator editable units. It currently does not seem to recognise Curator editable vehicles and will ignore them completely. Any advice would be very much appreciated!
  20. Solved it myself... Script below for anyone who wants to recreate. //init.sqf [] spawn { while { alive t1 } do { if ( { _x distance2D t1 < 50 and side _x == east } count allunits != 0 ) then { myCurator removeCuratorEditingArea 0; } else { myCurator addCuratorEditingArea [ 0, position t1, 50 ]; sleep 0.05; }; }; };
  21. Hi all, I am currently making a map which requires a Curator Editing Area to follow the player around the map. I would like it so that if an enemy of the player enters the Curator Editing Area, the Curator Editing Area is disabled (to stop him spawning stuff on top of the enemy). I have managed to write a script which has the Curator Editing Area follow the player... //init.sqf [] spawn { while { alive t1 } do { myCurator addCuratorEditingArea [ 0, position t1, 50 ]; sleep 0.05; }; }; How this works is by creating a Curator Editing Area at the position of the player every 0.05 seconds. The interesting part is that you keep the ID of the Curator Editing Area, this means that it deletes the old Curator Editing Area when the new one is created. (Curator Editing Area ID being 0 in this case). The problem I have is temporarily disabling the creation of "new" Curator Editing Area 's while an enemy is within range. So I need to be able to temporarily disable the script (which I do not know how to do).
  22. Oh, after some testing, this method does not work properly if you are pre damaging a map building which isn't damaged (if that makes sense??)... For example, using the ModuleEditTerrainObject_F module. It basically damages the building when the map loads up. So you need to name the initial (undamaged) building, then get a trigger to name it again when it gets "damaged" (basically destroying the initial building). It a strange method, but it does make sense.
  23. How does one use the MissionEventHandler "BuildingChanged"? I'm currently trying to make it so that when a building is damaged (and changes into its partly damaged form) a trigger is activated and props inside the building are deleted. Unfortunately, I'm having real trouble getting the script to work. Please help!
×