Jump to content

rkemsley

Member
  • Content Count

    73
  • Joined

  • Last visited

  • Medals

Everything posted by rkemsley

  1. I am trying to make a repeating script that spawns a cargo box randomly on the map (within my trigger area). The cargo box spawns with an "holdAction" attached and a map marker to show the location the cargo box has spawned at. Once the "holdAction" has been completed, the cargo box is removed, "CuratorPoints" are added to the side that secured the box and the map marker is also removed. My current script can spawn the cargo box, with the map marker, at the start of the game. However, I am unsure how to repeat the trigger, or have the cargo box removed once the "holdAction" has been completed. Later on, I would like it to be like a proper airdrop, but currently, I'd just like it just to actually appear on the map. Please help!
  2. In my Zeus vs Guerilla Zeus game, there are three BLUFOR Curators vs one Independent Curator. The Independent Curator wins when all of the BLUFOR Curators have died. However, the games can last quite a long time, and it can be quite boring for the dead BLUFOR Curators to sit out for the rest of the game. What I have decided is that once a BLUFOR Curator is killed, he respawns and is forced to play just in Curator mode. He is now unable to spawn more units and is only able to command BLUFOR units already on the map or control said units. I have written a short "onPlayerRespawn.sqf" script to do this (however, it is untested because I am currently at work). Wondering if anyone has any advice on a better way of doing this! Also, I have a problem now with ending the game due to the BLUFOR Curators respawning. Before, I had it so that the game ended and Independent won when all BLUFOR players were dead, which obviously won't work now! Edit: Ok, so I just got back from work and tested my script. It does work, provided that in my "description.ext" I have specified "respawnOnStart = -1;". What I am wondering is how I would then make Independent win when all BLUFOR Curators have died (now that they can respawn). Before, I had a trigger: Obviously, this will no longer work ^^
  3. Ok, so I just made it so that when a BLUFOR Curator is killed, his rating is reduced to "-1e6" (basically making him sideEnemy and no longer west). So this is my current "onPlayerRespawn.sqf"
  4. So, I had a go at writing a short script to end the game once all BLUFOR Curators have died at least once. The idea is that I create a variable in my "initServer.sqf" that acts as a sort of counter. The game ends when the counter equals the number of BLUFOR playable units on the map. In my "onPlayerKilled.sqf", I have made it so that it adds 1 to the variable every time a BLUFOR Curator dies. Doesn't really work! Wondering if anyone has a better way of doing this.
  5. Currently attempting to make a multiplayer friendly Zeus zone restrictions script. Basically, around my map, I need a kill zone that kills all units, players, or units editable by the curator, that leave the playable map area (enter the kill zone) after a ten second delay. I also need it so that if a player unit leaves the zone, they get a warning message too. I am using the "ModuleCoverMap" to show the playable area. Around the edges of the playable map area I have four triggers that start the kill script for the player/Curator editable AI. Above is a very basic (semi) working zone restriction script. Currently, if a single unit enters the trigger, the script starts running, the problem is, if another unit enters two seconds later, they only have eight seconds to leave the restriction zone, rather than the ten seconds they are supposed to have (they should be killed later than the first unit, but the two units die at the same time). Also, I am unsure how the titleText function works for clients. It says on Biki that the titleText is a local effect, however, I am wondering if there is a better function for showing a warning message.
  6. @pierremgi I am planning on combining your "MGI_restrictedArea" function (because it works extremely well!) with my original plan. (Yeah, I know I am being awkward, but I really need CuratorEditable units to also die if they leave the area). Basically, I am going to have sided kill zones, one for BLUFOR and one for Independent. BLUFOR kill zone: Independent kill zone: (Would you recommend "Checking" server only for these kills zones?) Then I was going to use your script to create the warning message for the players, so I can confirm that the message is local to the unit in the zone. "initPlayerLocal.sqf" There's another thing I am wondering about this script. Could I make it local to all BLUFOR\Independent units that enter the zone rather than only players (or would that be too taxing for the system)? Having the message pop up, for units currently being controlled by Zeus (within the kill zone), would be a nice little effect. However, Arma doesn't recognise units being controlled by Zeus to be players, so the message won't appear on them (that's why it would need to be local to all BLUFOR\Independent units in the zone). I would test this stuff first before asking, however, it's quite difficult for me to test this sort of trigger just on my own (because I am unable to test whether it is local or displayed to all players), so I was wondering about your theory/idea first before I give it a try. Just to see if you think it would work?
  7. @pierremgi I'd like this to also affect all CuratorEditable units as well (so the Curator doesn't just send AI out of the map). Would I change the "Any Player" part to west/independent? Then in the conditions, use what I had for my initial script ("{ if ( alive _x && [ _x ] call BIS_fnc_isCuratorEditable isEqualTo true ) then { _x setDamage 1; }; } foreach thisList;")? Edit: Does the name of the trigger matter as I am creating the triggers locally, there wont be an issue of potentially 4 triggers of the same name spawned in one map (My map has max players of 4, so that's means there could be up to 16 triggers being loaded into the game. 4 for every side of the playable area.)
  8. I think you are probably right about using "local scripted triggers". What I am wondering is about the name of the local trigger when it is created. If I write something like this: ...and have this located in my "initPlayerLocal.sqf", should do the trick on making the message local? (I'll also need to have another 3 more, so I have 4 in total).
  9. Sorry, I didn't update what I did in the end. So I took a look at how BI creates the kill zones around their map. They seem to occasionally just use two triggers, one which gives a warning, then another one further back which kills the player (I have just done this).
  10. I tried a method similar to this earlier (without remote executing deleteMarker) and it worked fine when testing it by starting the map in Multiplayer (where I am the server). However, as soon as I test it when I am just a client, if I don't remote execute the markers they still appear on map initiation for everyone. On another note, I have changed what the caches are, basically making them spawn in buildings that have a bunch of stuff inside them (removing the stuff if the cache hasn't been chosen to spawn there). This seems to be working as intended, but I haven't tested it as a client yet. Only as the server. Edit: it does work client-side as well. Edit Edit: pierremgi, what are you confused about? When you wrote your version of the script, did you test it by having your computer remotely run the server, then join as a client, rather than hosting the server through Arma 3 yourself? Because I tried a method which was pretty much what you wrote, and it doesn't work client-side.
  11. I have 6 potential FIA Weapon Caches scattered around the map. (3 normal weapon caches, 3 special weapon caches). At the start of the mission, I would like all except for 1 from each weapon cache type to be deleted from the map, so I am only left with 2 weapon caches on the map. (Each weapon cache has a local map icon that shows the BLUFOR player where the weapon cache is located, which needs to be deleted as well). My current script, located in my "initServer.sqf". This doesn't seem to do anything (no error message or anything) on mission start and I am not sure why. Please help!
  12. Ok, this is now working for multiplayer.
  13. Gave this a go, unfortunately, it didn't seem to work. It keeps telling me there "_dummy = _CachesN deleteAt |#|findIf { _leftOverCache isEqualTo _x };...", "Error Undefined variable in expression: findif" and "Error Mission ;" I think I see what you are doing. Taking away one Array from the other. I tried this but it didn't like this either. Edit: I kinda feel like this is starting to become a test. Anyway, the code below now works. (Feel free to add your criticism about how little I know about coding). Edit Edit: It works fine when testing it as the server, however, when I test it as a client, it doesn't work. So, on map initiation, the weapon caches get deleted, but all of the map markers are still visible. I have the script located in my "initServer.sqf".
  14. 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).
  15. Strangely, that was actually the cause. So this script obviously deletes one of the FIAWeaponCaches from each weapon cache Array. What I am wondering how to do is get it so that it deletes all the weapons caches except for the ones picked randomly from each group.
  16. Just a quick question about why this is a better way of writing what I've already put. I can see that the check for Independent/East is a much cleaner way of doing what my script already does, I'm just wondering why you suggest using: and:
  17. Place into the init of BLUFOR_Player1_1 (and so on for the other BLUFOR players).
  18. How would I turn this short script global. Basically, I need these mines, when placed by any Curator on the map, to lose the ability to be edited by the Curator who placed it. Currently, I have this short piece of code located in my "initPlayerLocal.sqf", however, when I test my multiplayer map using the "arma3server_x64.exe", it doesn't remove the ability for me to edit the mines after they are placed. Please help!
  19. I placed my short piece of code into the init of all the BLUFOR Curators. Seems to be doing the trick nicely!
  20. Yes, it's located in the "initPlayerLocal.sqf", and yes, it is now working. No idea why it wasn't before! Anyway, for anyone else having the same problem, the script below is working for me (and it's not that much different from the one posted by pierremgi!).
  21. I have a trigger that adds all OPFOR units to the OPFOR Curator (basically reinforcements) when the units enter an area. However, I already have some units in the area that I don't want automatically added to the OPFOR Curator. I have them all grouped in the "MissionLayerEntities" called CampZeloran_Units, however, I am not sure how to tell the computer to check if the unit is in the "getMissionLayerEntities". Please help!
  22. I have some boxes (Weapon's Cache) scattered across my map. They can be "retrieved" by any BLUFOR player (BLUFOR player has to use the hold action), which removes the box, adds CuratorPoints to all BLUFOR Curators and removes the question mark from the map (where the box is located). They can also be "destroyed" by any Independent unit (Independent player and AI has to use the hold action), which removes the box and removes the question mark from the map (stopping the BLUFOR Curators from gaining CuratorPoints). I currently have this in the init of all the boxes scattered across the map. When used by any player, the trigger just removes the question mark from the map and nothing else. I think I need to use remoteExec for the deleteVehicle part and the addCuratorPoints, but I do not know how to use that function. Please help!
  23. Edited previous reply, wasn't clear on the name of the MissionLayerEntities.
  24. I tried your advised method, with a slight change because of a few things I noticed in previous testing, and it still doesn't work. No error message, just no change from what normally happens when you place a mine as the Curator.
×