Jump to content

Dangerzone

Members
  • Posts

    1309
  • Joined

  • Last visited

Everything posted by Dangerzone

  1. Hi, Just wondering if this unit is playable on the latest stable release, or if it's only for 2.7 now? I've tried installing v6.6 (as mentioned on the first post for 2.5.6) and also tried v6.7 in stable release (2.5.6) and have issues with both as soon as I jump into the slot - frames drop to under 10fps. (I can jump into any other client slot aircraft on the map and frames go back over 100fps). Is there anything I'm missing that might be causing this? Thanks in advance
  2. Mate - good on you Semor76. Shows good character strength - to still come back, empathies and help / offer a solution for the person having a go at you. Kudo's! You may only have a handful of posts on this forum - but this forum needs more like you. Thanks!!! I know we all get frustrated at bugs from time to time, and can have our bad days I guess. I know I can. Even so - ED's in a no win scenario. If they stop dev and go back and address all bugs - people scream out. Where's my completed FA18. Where's my features on the F16. Cloud's aren't finished, etc. If they try a balance, they get attacked too. One of the best protocol's I try and put in place is if I'm frustrated and going to vent in a post - I type it in notepad and leave it there - go to bed and back the following day and decide if it still needs to be posted. Amazing how often I'm embarrassed by what I've written and glad I didn't post it. FWIW - I'm not sure where the OP lives, but during the last discount period - one of the modules on Steam's discounted price cost more than the full module price direct from DCS World (that was the F14) - so depending what modules purchased, where you live and exchange rates - they may have actually spent more on the modules than they needed to due to "Steam Inflation". I know in our neck of the woods - if I want to steer mates away from paying full price - first thing I'll tell them is to buy direct.
  3. Bingo! Exactly what I needed. I was missing the FilterStart() at the end which only executed it the once! Sorry for the noob questions - but I really appreciate the help! I feel like I'm well on my way now!
  4. OK - simply wow! A2A_Dispatcher not only does what I wanted, but also the things I was dreaming about! It's incredibly powerful. Thanks so much for pointing me in the right direction!!!
  5. Thanks so much Bignewy for confirming! That's great to know!
  6. Hi @BIGNEWY After seeing Cyprus in one of Wag's recent video's - I'm guessing that you guys internally have access to the latest expanded maps. Are you able to advise if missions created in Syria 2.5.6 will be able to be played on the expanded map and seamlessly come across (provided there's no ships on the island) - or will these all be broken and have to be recreated due to the change in mapsize? Thanks
  7. Thanks. I'll check this out - sounds like it may be a better solution.
  8. Hi, I'm wanting to find the number of players so I can define how many units I spawn in. I want this to be dynamic so that as players come and go as the mission plays on, additional spawn scheduling is started and stopped. I've come up with a working method - but I think it's a bit messy and not sure if it's overtaxing on CPU resources. I'm not sure of how to improve it. I do things in 2 stages: 1) Create spawns for the units in the mission (but have them SpawnScheduleStop so they don't all spawn immediately: e_main1A = SPAWN:New("e_mainair_29-1"):InitRandomizeTemplatePrefixes("e_mainair"):InitDelayOn():InitLimit(2, 16):SpawnScheduled(timetoset, 0.1):SpawnScheduleStop() e_main1B = SPAWN:New("e_mainair_21-1"):InitRandomizeTemplatePrefixes("e_mainair"):InitDelayOn():InitLimit(2, 16):SpawnScheduled(timetoset, 0.1):SpawnScheduleStop() ... etc I then create a scheduler that occurs every minute (every second while debugging, but will change to every minute to remove resources from the server). Depending on how many clients are connected I either trigger SpawnScheduleStart or SpawnScheduleStop. (I include a variable that I set when I execute this so that it doesn't repeat SpawnScheduleStart or stop unneccessarily): mysched = SCHEDULER:New(nil, function() local clients = SET_CLIENT:New():FilterActive():FilterCoalitions("blue"):FilterPrefixes("A_"):FilterOnce() BASE:E(clients:Count() .." active clients connected") if clients:Count() > 0 then BASE:E("client > 0") if e_main1on ~= true then e_main1A:SpawnScheduleStart() e_main1B:SpawnScheduleStart() e_main1C:SpawnScheduleStart() BASE:E("main1 started") e_main1on = true end else --countcount < 1 BASE:E("client 0") if e_main1on ~= false then BASE:E("main1 stopped") e_main1A:SpawnScheduleStop() e_main1B:SpawnScheduleStop() e_main1C:SpawnScheduleStop() e_main1on = false end end --Clientcount if clients:Count() > 0 then if e_main2on ~= true then e_main2A:SpawnScheduleStart() e_main2B:SpawnScheduleStart() e_main2C:SpawnScheduleStart() BASE:E("main2 started") e_main2on = true end else --countcount < 1 if e_main2on ~= false then e_main2A:SpawnScheduleStop() e_main2B:SpawnScheduleStop() e_main2C:SpawnScheduleStop() BASE:E("main2 stopped") e_main2on = false end end --Clientcount ... etc end, {}, 1, 60) --zonetrigger Scheduler Clients is set locally and I repeat the call each time because this is the only method I've found to get an active player count (as players join and leave). Is the above the correct way of doing this - or is there a more simpler solution? (I did check out Moose's auto-balancer but from what I could tell it seems to be more about balancing AI on each side, whereas my mission is being designed to be more PvE. If I'm wrong and auto-balancing supports this as well and I've missed something please let me know).
  9. coz he's been busy making video's with clouds in them?
  10. Thanks so much fargo007 for your help with this and your offer to pay it forward! It's very generous of you! Firstly - sorry for misleading you with the above script - I should have explained in more detail what I'm trying to do - the message is misleading. At this stage I just want to detect when a unit is in that zone. The zone won't actually be fought over or capturable in my instance - but I have enough information to get me going. Thank you! And thanks for the great point regarding SET_GROUP in the scheduler. However I have a problem at the moment with SET_GROUP in that it does not include non-active CLIENT players within the list when it's executed. So if I do this as a non-local variable at the start of the mission, and then later a new player joins in - they will be ignored. (At least that's what I think will happen from my experimentation). So I don't see any other workaround at the moment but to repeat the call to SET_GROUP?
  11. In regards to the above - here is what's on my wishlist. The above took many hours to try and figure out being so green with lua - so I have no idea if the following is even possible or can be addressed better: I don't like addressing the airbases by text name. It makes it too easy to make a mistake and not have anything picked up (aka type in "Minahk" instead of "Minakh"). I'd love to actually automate the base comparisons - maybe compare the first 4 letters of the base with the first 5th to 9th character in the group/unit name and set it automatically accordingly. (I'm not sure if there are any bases that would conflict with this - having similar names at the start, etc). I'd really love to ignore the base names in the prefix and find a way of determining which base a unit is 'owned' by (aka - set to spawn on). I haven't been able to find any reference to that - but I figure if that was possible, it would eliminate a lot of manual coding above and automate a lot more. I'm open to other ideas that might be better. I thought of creating tables (which I don't know much about yet) with the units for each base - but then that takes away from being able to add more units later without recoding. (Although seeing how many bases are actually in the map - this may be a more 'efficient' idea). Either way - I'm just looking for the most efficient (and one that will stop the most mistakes) of getting this to work., so I haven't ruled this out. I guess I could have some sort of validation check that would scan the tables against units with a "A_" prefix and if any units are 'left over' show a warning message window so I know that there are 'rogue' units that haven't been added to the table. Again - as mentioned - I'm about 8hrs into lua at the moment and much of the above is trial and error (lots of error!) so I have no idea whether the above approach is really a good idea or if there is a better approach to automate SSB more and would appreciate any constructive criticism / feedback accordingly if anyone has ideas or thoughts.
  12. This is what I've come up with so far. Please keep in mind - I've had about 8hrs lua experience todate, so I'm convinced there will be a better method than this. The below has the following advantages: Automatically disable all clients on startup Instead of having to manually set each client to a flag value not zero, this will go through and automatically apply a flag value for each client of 100. After that, individual clients can be changed back to zero. The only requirement for this is that units that are to be slot blocked have the group and unit name prefixed with "A_". Add new clients without having to touch script Once setup. Any number of new clients can be added (say if there's a new module - not looking at the AH64 or Kiowa here ) without having to rescript. The only prerequisite is that both the groupname and the unit name uses a prefix (that you can define. For me - I'm using "A_B_"+airport name. A referencing client, and B referencing blufor. Automatically locks and unlocks on airbase capture Using the same prerequisite as above (all units to be blocked/unblocked automatically need to have the prefix "A_B_"+airportname. ie: A_B_Minakh_A10-1 A_B_Minakh_A10-2 A_B_Minakh_A10-3 A_B_Minakh_FA18-1 A_B_Minakh_FA18-2 A_B_Minakh_FA18-3 A_B_Minakh_UH1-1 A_B_Minakh_UH1-2 ... etc There are some disadvantages or things I would like to address differently which I'll post afterwards. If anyone can see anything here that can be handled differently (aka better - please let me know) Script to be ran to setup SSB and to set all clients with prefix of A_ to flag 100: trigger.action.setUserFlag("SSB",100) local SetGroup = SET_CLIENT:New():FilterActive( false ):FilterCoalitions("blue"):FilterPrefixes("A_"):FilterOnce() SetGroup:ForEach( function( GroupObject ) _flag = GroupObject:GetName() trigger.action.setUserFlag(_flag, 100) local thisflag = trigger.misc.getUserFlag(GroupObject:GetName()) GroupObject:E( {"Confirming: ".. GroupObject:GetName(), " Set to ".. thisflag } ) end ) And the script I've created that will automatically block/unblock slots on a base capture event: evh = EVENTHANDLER:New() evh:HandleEvent(EVENTS.BaseCaptured) function evh:OnEventBaseCaptured(EventData) local AirbaseName = EventData.PlaceName local ABItem = AIRBASE:FindByName(AirbaseName) local coalition = ABItem:GetCoalition() if coalition == 1 then coalitionname = "Redfor" newflag = 100 elseif coalition == 2 then coalitionname = "Blufor" newflag = 0 end MESSAGE:New(AirbaseName .." captured by "..coalitionname ,5):ToAll() if AirbaseName == "Minakh" then MESSAGE:New("Minakh detected!" ,5):ToAll() local SetGroup = SET_CLIENT:New():FilterActive( false ):FilterCoalitions("blue"):FilterPrefixes("A_B_Min"):FilterOnce() SetGroup:ForEach( function( GroupObject ) _flag = GroupObject:GetName() trigger.action.setUserFlag(_flag, newflag) local thisflag = trigger.misc.getUserFlag(GroupObject:GetName()) if thisflag == 0 then MESSAGE:NewType( GroupObject:GetName().. " unlocked", MESSAGE.Type.Information ):ToAll() GroupObject:E( {"Confirming: ".. GroupObject:GetName(), " UNLOCKED - Flag Set to ".. thisflag } ) end end ) --Setgroup:Foreach end --Airbase Minakh if AirbaseName == "Tabqa" then MESSAGE:New("Tabqa detected!" ,5):ToAll() local SetGroup = SET_CLIENT:New():FilterActive( false ):FilterCoalitions("blue"):FilterPrefixes("A_B_Tab"):FilterOnce() SetGroup:ForEach( function( GroupObject ) _flag = GroupObject:GetName() trigger.action.setUserFlag(_flag, newflag) local thisflag = trigger.misc.getUserFlag(GroupObject:GetName()) if thisflag == 0 then MESSAGE:NewType( GroupObject:GetName().. " unlocked", MESSAGE.Type.Information ):ToAll() GroupObject:E( {"Confirming: ".. GroupObject:GetName(), " UNLOCKED - Flag Set to ".. thisflag } ) end end ) --Setgroup:Foreach end --Airbase Minakh end --EventBaseCaptured
  13. Thanks Fargo007... Wow - I was really heading in the wrong direction. Thanks for the tip! I'm very keen in wanting to stay away from the ME and placing triggers in there as much as possible, so I've gone with your other idea. I'll create the following for each of my zones that I want a trigger for. Might be more lines than using the ME but at least I can do copy/paste much easier when it comes to monitoring lots of zones and having custom actions for each. zonetrigger = SCHEDULER:New(nil, function() local blufor = SET_GROUP:New():FilterCoalitions('blue'):FilterCategoryGround():FilterStart() if zone1triggered ~= true then local myzone = ZONE:FindByName("zone1") if blufor:AnyInZone(myzone) then BASE:E(myzone.ZoneName.. " Infiltrated ") MESSAGE:New(myzone.ZoneName.." under attack" ,5):ToAll() MESSAGE:New("zone under attack" ,5):ToAll() zone1triggered = true end end if zone2triggered ~= true then local myzone = ZONE:FindByName("zone2") if blufor:AnyInZone(myzone) then BASE:E(myzone.ZoneName.. " Infiltrated ") MESSAGE:New(myzone.ZoneName.." under attack" ,5):ToAll() MESSAGE:New("zone under attack" ,5):ToAll() zone2triggered = true end end end, {}, 1, 5) --zonetrigger Scheduler Thanks very much for your help!
  14. Just wondering if someone can please point me in the right direction. All I'm wanting to do is to detect if part of a coalition is in a zone - but in script, not in the mission editor. Is this possible through script, or do I have to specify units and/or groups instead if I switch from the mission editor to using scripts? Happy to use MIST/MOOSE/anything that will work. I've tried placing a triggerzone in the mission editor, and then having units go into this zone and then tried executing the following script just to get started, but I don't get any return. I think I might be way off track and looking in the wrong direction? evhtrig = EVENTHANDLER:New() evhtrig:HandleEvent(EVENTS.TriggerZone) function evhtrig:OnEventTriggerZone(EventData) local triggerzone = EventData.PlaceName BASE:E(" Trigger Zone is "..triggerzone) end Any help turning me around and pointing me in the right direction would be greatly appreciated.
  15. Nice to hear stingray. Sorry to mislead you with my issue - which did seem very similar. Mine so far after a reconfiguration seems to be working OK - although I've had very limited time in DCS over the past few weeks so yet to be proven. I don't have a 200mm extension - but interesting that the bad connections were causing that issue. Good to know. Enjoy your flying.
  16. No. I'm primarily stable release. I have OB installed but primarily stay on SR. I've done enough beta testing in my time to allow other people to deal with the issues. I have the patience and can wait. (I'm primarily a multi player user as well FWIW).
  17. I'm a little confused. There was an existing one, but that has disappeared due to a request to cease development? So another one has been created, but is only a shell compared to a separate module that originally was? Why was the first one cut short? What were the issues that makes it not permitted, but the current mod allowable? I get ED may not be able to make it due to confidentiality, etc - but if a 3rd party makes a mod of their own and it's closer to the real thing but hasn't broken any laws - why has it gone? Not complaining - just curious.
  18. Thanks shu77. I'd be interested to know what anyone found who designed a mission on the smaller map, and then brought it across to the current one with the larger boundaries - whether that broke anything. If not - I'd expect that would be a good reference for "upgrade compatibility". Also - when you mention the larger map - can you please advise if you are talking in stable release, or only in 2.7 open beta?
  19. I'm sure it is - that's not the problem. My question is - if I design missions now- with the map that is available to us now- when the new enlarged map comes out - will my map be able to be used/imported on the larger map when it comes out - or will I have to redesign the mission from scratch because unit coordinates will be off, or other unforseen issues. I'm not asking whether the map is good - I'm asking whether or not any missions designed now will be obsolete.
  20. Thanks Baaz. Maybe that's why I'm not seeing a lot of stuff on Syria at the moment - others are thinking the same way? I guess without any further information or confirmation your suggestion is the best - wait, lest the work done on missions/maps prior to becomes invalid.
  21. Aah - so it's not possible to do via MOOSE. Thanks for the work around!
  22. I haven't been able to achieve this using GetBeacon() - but through another tip I have been able to successfully implement this through AIRBOSS. The following gets me around the problem of setting TACAN on a carrier - but I still have the problem with setting it on a tanker such as Texaco because AIRBOSS is not designed for Texaco. local CVN71 = UNIT:FindByName("CARRIER") local AirbossCVN71 = AIRBOSS:New("CARRIER") local TANKER = UNIT:FindByName("Texaco11") CVN71RAD = CVN71:GetRadio() CVN71RAD:SetFrequency(262) AirbossCVN71:SetICLS(5, "TDY") AirbossCVN71:SetTACAN(3, "X", "TDY") AirbossCVN71:Start() rad = TANKER:GetRadio() rad:SetFrequency(241) bcn = TANKER:GetBeacon() -- <<<< STILL BREAKS HERE. :-( bcn:SetTACAN(10, "TKR") Does anyone know if GetBeacon is actually broken in Moose, or what I'm doing wrong?
  23. I was just wondering if it's possible to use script to set attributes of units as opposed to having to use the mission editor? I'm thinking of things such as: Assigning Radio Frequency, TACAN, ICLS, Heading and Speed for Supercarriers Activating TACAN and tasking KC135 for Tanker action Changing speed and heading for Supercarrier and fleet. My reason being - one of the problems I keep hitting is when I do up small missions - I keep forgetting to set something in the mission editor. This is frustrating when I've got friends on, we're an hour into the mission and then I'm like "Oh no - I forgot to set and turn on the ICLS for the carrier", or "I forgot to task the Tanker to Tanker refueling", and it spoils the mission. I figure by having a script file - I can see 2 benefits: I could quickly change/update the script file if I forget something in mission while the mission is running, and then re-run the script using assert radio option while in-game (saving me having to kill the mission and go back to the mission editor and/or end the evening's mission). It also means when creating new missions I can copy scripts instead of having to do monotonous tasking in the mission editor from one to another. (And it's easier for me to see if I've missed something in a text editor than having to click through all units in the ME) Looking through some examples I can see how this is done in some scenario's (such as spawning in a tanker for instance using MOOSE) - but haven't been able to find any successful instances of commands that can be applied to already in-game units such as the supercarriers, and attempts I've done todate have failed - which makes me think that it may not be possible. Just wanted to see if anyone else has successfully implemented a similar feature before. I did try using moose with the following script... local CARRIER = UNIT:FindByName("CARRIER") local CARRIERRAD = CARRIER:GetRadio() CARRIERRAD:SetFrequency(262) local CARRIERTCN = CARRIER:GetBeacon() CARRIERTCN.ActivateTACAN(15, "X", "TED", true) But setting tacan fails for me with "attempt to index local 'self' (a number value)"
  24. Thank you. That has indeed helped. Looks like the issue I had was the backslashes needed to be doubled up. dofile("C:\\Users\\myname\\Saved Games\\DCS\\Missions\\MyMission\\Moose.lua") MESSAGE:NEW("Moose Loaded 101",10):ToAll() I would much prefer for it to be able to just find the same directory I've launched my .miz file from - but at this stage I'll work with hardcoding a full path. Edit: Ended up creating a new file to call from the mission log: env.info("XDEBUG: Launching Loader.lua") missionpath = "C:\\Users\\User\\Saved Games\\DCS\\Missions\\MyMissions\\" dofile(missionpath .."loader2.lua") This way I just call loader.lua from the mission editor, and in loader2.lua I can do all my loading of moose, ctld, mist, etc by using the missionpath variable as such. It means if I copy or move the mission there's only one location I need to update to make it work.
  25. Thanks Pacastro for the clarification. But even so - is there a way to scroll recursively through the client group list and set flags accordingly instead of specifying each by individual name? I'm just looking to create a generic function that I can use that will activate or block spawns based on their location and whether the airfield is in their hands or not without having to code each group individually. Cheers.
×
×
  • Create New...