cfrag Posted January 14, 2024 Author Posted January 14, 2024 (edited) Thank you for your kind words! 2 hours ago, MisticAce said: I am working on something where airframes are important and shouldn’t be lost to the best of the pilots ability. They are on the main base ramp (using SSB and sitting duck modules) and both are working on server hosting the mission (along with other fun modules you have made!). That does sound like an interesting and fun project. Just so I am on the same page, let's briefly make sure we have the same understanding: SSB is Ciribob's fantastic server-side module that allows multiplayer games to selective block player slots. If you are using DML, you can add SSBClient to enable selective slot-blocking, for example when an airfield is taken by the enemy. SSBClient's sister module 'singleUse' (which, incidentally, I think I never documented - ) can block slots after a plane was destroyed. 'stopGap' (not mentioned) is a module that shows unoccupied player aircraft, and 'sittingDucks' ties in with stopGap to block aircraft that where destroyed when their unoccupied stand-ins (from stopGap) were destroyed. This allows strategic multiplayer setups that forces players to defend their "home plate" in multiplayer 'limitedAirframes' is a module that counts how many player airframes were lost, and can put a limit on the number of losses before that side loses the engagement (it does not end the engagement, it merely sets a flag, and tells everyone that "XXX is a cheater" should they exceed the limit). 'limitedAirframes' ties in with CSARManager to allow a side to recover downed pilots to replenish their pool. 2 hours ago, MisticAce said: base Alpha has 8x airframes, and if they are lost via single use SSB, a radio menu to call in for more airframes. The radio menu would allow 4 more airplanes each their own group to be airspawned at top of the map as if they are coming from a different airbase out of the map. They should be slot blocked until the radio menu is used. I just am unable to get these late spawn aircraft to be properly slot blocked. It lets me slot in but shouldn’t do that unless the group is activated. Well, this would indeed be some advanced integration of DML modules, and probably not possible off the bat (i.e. without some expansion to one or two of the modules - which is of course always an option ). Now, my first instinct is that we may be overthinking the issue: the reinforcement planes do not really need be reinforcement planes from far away, they can easily be planes that already exist, or even better, be the same ones that players have used before. This sidesteps issues with which frame types to reinforce, armament etc. So what could be a less complex step in the same direction of your idea could be: each faction has a menu to 'get reinfocements' that they can use once (or some more times). When they do, all planes that were blocked by singleUse are again available. We can even think about making that menu available only after some goals have been achieved. OR "reinforcements" become available periodically (say, every 30 minutes) - meaning that every 30 minutes all single-use blocked planes become available again. This is useful for eternally running server missions to not handicap any side for longer then xx minutes I'll have to look into "singleUse', and I'm sure I can extend that module to provide above functionality to 'revive' any plane inside a trigger zone on a command. Selectively enabling far-way Airspawned slots should be doable - I'm not convinced that such a hassle (far-way spawn) will be well received by players, though... 2 hours ago, MisticAce said: I see you have the limited airframes module that counts the coalition pilot lives. Is there a way to use this to count individual player specific lives? Player 1 has 3 lives and player 2 has 3 lives. If they lose all their lives they require csar to pick them up to gain them back? LimitedAirframes indeed works on a team level: team blue vs team red - rather than individual player lives. Rather, "Lives" are counted on team level so individual pilots can screw up differently, the entire team is responsible. Like you say, integration with CSARManager allows teams to recover 'team lives'. If this wasn't the case, you could end up with situations where the player who can fly helos is out, or worse (believe me, this is worse in a team game), players cannot join any more (due to lives lost), having to drop out from their common team activity. It breaks the enjoyment for them, and people will then find other, "better" servers to play on that will not punish them that harshly for not winning. Cheers, -ch Edited January 14, 2024 by cfrag 1
MisticAce Posted January 15, 2024 Posted January 15, 2024 (edited) On 1/14/2024 at 4:07 AM, cfrag said: 'stopGap' (not mentioned) is a module that shows unoccupied player aircraft, and 'sittingDucks' ties in with stopGap to block aircraft that where destroyed when their unoccupied stand-ins (from stopGap) were destroyed. This allows strategic multiplayer setups that forces players to defend their "home plate" in multiplayer I apologize. I have stopGap, sittingDucks, and the SSBclient through DML along with the server side SSB all working. Again these are great and really allow this idea to come to life. Love it. On 1/14/2024 at 4:07 AM, cfrag said: each faction has a menu to 'get reinfocements' that they can use once (or some more times). When they do, all planes that were blocked by singleUse are again available. We can even think about making that menu available only after some goals have been achieved. OR "reinforcements" become available periodically (say, every 30 minutes) - meaning that every 30 minutes all single-use blocked planes become available again. This is useful for eternally running server missions to not handicap any side for longer then xx minutes This would be perfect. It would be the perfect solution. We all as a community appreciate your timely responses and fixes to ideas we have curtailed to the specific missions! Edited January 15, 2024 by MisticAce
MisticAce Posted January 16, 2024 Posted January 16, 2024 Okay, was building more on the mission all day. A few ideas / thoughts / questions. Was reading more of the documentation and brain is a bit mush. I was curious if the cloners have the ability to look at the units and know if one has been damaged. The idea is I want to have a built up IADS throughout the map. If say the track radar gets damaged, I want it to then do the preWipe to remove the site, and then respawn the SAM again full health. Idea behind it is for our Virtual wing doing some milsim stuff, I am making a hardcore persistent mission that we can run whenever and when we coordinate a strike on a SAM, if we do not fully kill it, I want it to repair after some time. I know the factory production for defendersRED works, but I am already using it to spawn in a bunch of ground units at random throughout the zone, while the SAM is separate and uses the cloner. Reason for this, I have the cloner working with the the random flags to decide between a few different sites on which to spawn. It also randomizes the location and heading but maintains the wholeGroups keeping the site identical to the templates used, just at a different location for dynamic purposes and avoid some redundancy.. keeping it fresh! I guess I could just make two factory zones ontop of eachother, with one focusing ground units and the other doing the SAM, but I like the templates from the cloner rather than typing all the individual units into the defendersRED attribute, as that does not keep the site in the right positions like the cloner does. I know there are the spawn? attribute for cloner and using it and have it working for some other stuff using the random zones and timeDelay stuff paired with these cloners. If I am able to find a attribute for like "unit is damaged" to cause a bang! that will then trigger the prewipe cycle would be amazing! I did see the trackGroups can do that if I use the numberUnits# or something like that, but even there I am unsure how to get the tracker to work with a newly spawned group as I saw it only tracks the group on mission start. This is a lot of writing... and possibly confusing, so I am thankful for your time and any ideas on a solution that may already be apart of your DML package. Have a good one!
cfrag Posted January 16, 2024 Author Posted January 16, 2024 2 hours ago, MisticAce said: I was curious if the cloners have the ability to look at the units and know if one has been damaged. Cloners don't look at individual units, but check if the last clone (the entire set) was destroyed. If so, the empty! signal is sent. 2 hours ago, MisticAce said: If say the track radar gets damaged, I want it to then do the preWipe to remove the site, and then respawn the SAM again full health. Silly question - can't you get very similar results when you simply re-spawn (with pre-wipe) all with full health every x minutes? IMHO, that makes the logic much simpler, and all you need is a pulser stacked on the cloner, making it fully copy/pastable if you use local flags. It's cheating a bit logically, but I think the results are next to indistinguishable: an enternally re-stocked, fully functioning SAM site. 2 hours ago, MisticAce said: we coordinate a strike on a SAM, if we do not fully kill it, I want it to repair after some time. In above scenario, you can wire the cloner's empty! signal into the pulser's 'pause?' input, so when the entire sam site is destroyed, it will no longer rise from the dead. 3 hours ago, MisticAce said: I like the templates from the cloner rather than typing all the individual units into the defendersRED attribute, as that does not keep the site in the right positions like the cloner does. Ha! This gives me a brilliant idea -- I'll see if I can add attributes to a factory that produce signals when it should produce units. You can then wire this into cloners to produce units the clone way. Let me see what I can come up with. 3 hours ago, MisticAce said: If I am able to find a attribute for like "unit is damaged" to cause a bang! that will then trigger the prewipe cycle would be amazing! Tracking an individual unit's health is incredibly performance intensive, and I prefer not to go that route. That doesn't mean it's out of the question, it's not high on my priority list.
Recluse Posted January 16, 2024 Posted January 16, 2024 So a strange thing is happening to me whenever I create a Factory Zone and assign defenders. Seems to happen with either defendersRED or defendersBLUE (and also attackers, at least for BLUE). When I double up on a Unit, it seems to always spawn a LEOPARD instead of one of them. So, for example, Soldier M249,Soldier M249,M-2 Bradley (defendersBLUE) spawns an M249 Soldier, an M2A2 Bradley and a LEO-2 M-2 Bradley,M-2 Bradley, M-1 Abrams (attackersBLUE) Spawns an M2A2 Bradley, and M1A2 Abrams and a LEO-2 Sometimes the LEO-2 seems to spawn out of nowhere. The first time I saw it, I had a defendersRED set to just BTR-80 and it spawned a LEO-2 as well.
cfrag Posted January 16, 2024 Author Posted January 16, 2024 1 hour ago, Recluse said: M-2 Bradley,M-2 Bradley, M-1 Abrams (attackersBLUE) Spawns an M2A2 Bradley, and M1A2 Abrams and a LEO-2 That's odd indeed. Can you show a picture of the trigger zone attributes, and tell me which version of FactoryZone you are running? Perhaps also add the miz so I can try and track this down? Thanks, -ch
Recluse Posted January 16, 2024 Posted January 16, 2024 (edited) Hard to see since it won't expand, but this is the trigger zone: Here is the mission. I stripped out a bunch of other stuff I was playing with and just left the three factory zones. The LEO-2 thing happens only on the DesertBLUE zone (triggers above). But it happened on one of the other zones I had previously placed on the map with similar RED values. EDIT: OH!!! I see I misspelled SOLDIER in the the first entry!!!! I fixed it and it worked fine!! LEO-2 must be some kind of DEFAULT for unknown units?????? I stared at this for a long time but didn't notice it until I pasted it in here!! FALSE ALARM, I think. The perils of COPY/PASTING an error over and over!! I noticed that I made a similar typo in the attackersBLUE, with M2-Bradley instead of M-2 Bradley. In this case, a Leo-2 also spawned in place of the misspelled unit name. DML Owned ZoneFactory Test.miz Edited January 16, 2024 by Recluse
Recluse Posted January 16, 2024 Posted January 16, 2024 Now I am 2 for 2 with dumb questions, so maybe this will give me the TriFecta!! I am trying to do something that seems very simple, but so far it has eluded me. - Airbase controlled by one Faction (let's say RED) - When all RED Units are destroyed, a BLUE AI helo spawns and captures the base for BLUE. - I cannot get the base to turn NEUTRAL, though, when there are no units left, so the BLUE chopper will not even try to land at the still RED Base. I looked at using the airBase moduleand the baseCaptured module, but I can never seem to get the base to actually turn neutral so I can use the flag for that to trigger the helo. It seemed complex to programmatically change Ownership, and since the RED to BLUE works pretty automatically, I thought there would be an intermediate NEUTRAL state as well. I can see how things turn RED and BLUE, but it doesn't seem like the NEUTRAL state is ever generated, unless you play some games with the OWNERSHIP via other flags and mods. I thought stripping out units from a base would make it go Neutral automatically. I even trying putting an Owned Zone on the base and trying to use the neutral! output from that to change Ownership in one of the other mods (baseCaptured or airBase) but it didn't seem to work. I am sure I am missing something simple here.
cfrag Posted January 17, 2024 Author Posted January 17, 2024 (edited) 11 hours ago, Recluse said: I cannot get the base to turn NEUTRAL, though, when there are no units left, That's currently DCS's internal logic: an airfield remains in the possession of a faction even if there are no units to keep it until you get enemy boots (or wheels, or tracks) on the ground inside the capture zone (which is usually a 2km radius around the airfield's center) 11 hours ago, Recluse said: so the BLUE chopper will not even try to land at the still RED Base Try not to land (which, being a helicopter, will not capture the airfield), but have troops disembark there. As soon as you have a single ground unit on the airfield proper, the airfield is captured for that faction. Edited January 17, 2024 by cfrag
MisticAce Posted January 17, 2024 Posted January 17, 2024 (edited) Okay. Question. Do cloners have the ability to use two separate flags? So spawn? Could be “*yes” and “start spawn” reason for this is I have a local loop for the cloner using *yes but I also want the ability externally to stop and start it. Or is there a way to be all inclusive and only use a cloner that loops every few minutes (using preWipe true) but also via flags can be stopped and started at will? Similar to how the pulse can be used inside the cloner zone attributes. This is how I have the loop set up. Essentially spawn? *yes preWipe? True empty? Dead pulse! *yes time 300 the dead flag goes external to a rnd zone that then chooses to start it again or not. Only issue is I am unsure how to stop and start it using a dif zone attribute. I could rather than using the * to make it local, just use a “yes” and then use those flags in rnd etc but I that would require more zones to copy and paste. Love the local idea with the * Appreciate it as always haha Edited January 17, 2024 by MisticAce
cfrag Posted January 17, 2024 Author Posted January 17, 2024 (edited) 54 minutes ago, MisticAce said: I have a local loop for the cloner using *yes but I also want the ability externally to stop and start it. The easiest way to do this is looking slightly different at the issue -- Result: You want to be able to disable and enable spawning. Now, spawning occurs when the pulser bangs on (local) 'yes'. So how do we disable spawning? Pause the pulser using its pause? input. Note: there's another module, xFlags, that is intended for combining signals, it can provide an OR function, so you could OR an external (global) signal and a local one. But that seems overkill in this instance. Edited January 17, 2024 by cfrag
cfrag Posted January 17, 2024 Author Posted January 17, 2024 On 1/16/2024 at 7:12 AM, MisticAce said: I like the templates from the cloner rather than typing all the individual units into the defendersRED attribute, as that does not keep the site in the right positions like the cloner does. So, based on that idea, here's an updated factory module that also generates produce and defend signals on 'redP!', 'redD!' and 'blueP!' and 'blueD!' outputs that you can use to trigger up to four different cloners. A new 'defendMe?' input triggers the defenders production cycle, so you can wire a cloner's "empty!" output in there when the defenders got obliterated. Note that the cloners in the demo take their ownership from the factory zone so they can spawn units in different 'colors' (red/blue). Please see the demo/PoC miz. Will be part of the next release, tentatively scheduled for Thursday next week. Thanks for a great Idea, @MisticAce ! -ch Clone Factory.miz
bitboy Posted January 17, 2024 Posted January 17, 2024 Hi, Somewhat confused (my natural state!) with the delayFlag and the cloner modules. I have a scenario where I spawn and aircraft onStart with the cloner attributes: spawn? 700 and empty+1 701 I have delay zone configured with the attributes: timeDelay 5-7 in? 701 out! 700 The aircraft spawns just fine, travels some distance and gets zapped by a SAM site. However, it never respawns again. (Exceeds the delay of 5 - 7 seconds). There are no errors being kicked out and I'm lost as to what is not working. I'm loading the following as mission start (in the order below): dcsCommon, cfxMX, cfxZones, RNDFlags, cloneZone, delayFlags, pulseFlags, raiseFlag, playerScore, playerScoreUI, TDZ, valet, bombRange, smokeZones All modules are from DML 2.0 All I'm looking to do is have this aircraft respawn (endlessly), but with a delay. Any ideas what I may be missing? Thx
cfrag Posted January 18, 2024 Author Posted January 18, 2024 7 hours ago, bitboy said: empty+1 701 I believe the attribute is now called "empty!", which may explain why there is no respawn. 1
bitboy Posted January 18, 2024 Posted January 18, 2024 Yes sir that was the trick, thanks for the insight. Just an FYI some of the documentation (DML 2.0) still references "empty+1", for example it's called out specifically in the Attack of the Clonez sample mission. Thanks working like a charm now.
Recluse Posted January 18, 2024 Posted January 18, 2024 (edited) Hey @cfrag, I think you mentioned an update coming soon. Could you please take a look at the airfield.lua? I was trying to create a simple mission to test something, and I kept getting script errors when trying to connect the airfield zone to an actual airbase. I stripped it down to JUST the single "airfield" parameter and still got errors. I did NOT get errors in the demo airbase mine mission and I noticed that the airfield.lua was 1.0.0 not 2.0.0. When I retrofitted the 1.0.0 lua into my mission everything worked perfectly. For reference, here is the error: Edited January 18, 2024 by Recluse
cfrag Posted January 18, 2024 Author Posted January 18, 2024 15 minutes ago, Recluse said: For reference, here is the error: Unfortunately, since you are using DOSCRIPTFILE, the reference does not tell me which script is throwing the error. Can I trouble you to use DOSCRIPT instead and paste the script, then screenshot the resulting error? That allows me to identify which script is which.
Recluse Posted January 18, 2024 Posted January 18, 2024 11 minutes ago, cfrag said: Unfortunately, since you are using DOSCRIPTFILE, the reference does not tell me which script is throwing the error. Can I trouble you to use DOSCRIPT instead and paste the script, then screenshot the resulting error? That allows me to identify which script is which. Sorry! Should have thought of that. I assumed it was in the airfield.lua, and, it looks like I was correct:
Recluse Posted January 19, 2024 Posted January 19, 2024 (edited) LOL I hate to be THAT GUY (again) but there seems to be an issue with the ClientSSB as well. Pretty sure I installed SSB correctly, but when I run the demo, nothing is blocked. Here is a little video showing what I did including the Scripts/Hooks folder with the SSB, and the message showing that it was enabled when the mission runs. Used the demo from the latest 2.0 version package. Quality is kind of bad, sorry. Here is a clearer screenshot of my HOOKS. The Slotblock.lua.old is another slot blocker that came from the FOOTHOLD missions. I renamed it to .old just in case there was a conflict with ciribob's SSB. Edited January 19, 2024 by Recluse
MisticAce Posted January 19, 2024 Posted January 19, 2024 possibly dumb question. Could we combine all the modules into one lua then just load script file on mission start?
cfrag Posted January 19, 2024 Author Posted January 19, 2024 (edited) 12 hours ago, Recluse said: When I retrofitted the 1.0.0 lua into my mission everything worked perfectly. This is a strange one. Can you please try with the new one linked below and see if that resolves the issue? There may now be a warning (but no crash), and if that happen, please let me know what it says. airfield.lua 2 hours ago, MisticAce said: Could we combine all the modules into one lua then just load script file on mission start? Of course. Make sure that you keep the order in which they should load. Be mindful that you now manage all updates inside that single script. -ch Edited January 19, 2024 by cfrag
cfrag Posted January 19, 2024 Author Posted January 19, 2024 5 hours ago, Recluse said: Here is a clearer screenshot of my HOOKS. The Slotblock.lua.old is another slot blocker that came from the FOOTHOLD Thank you for that. The hooks folder appears to look fine, and Slotblock and SSB are compatible with each other and SSBClient. When slot blocking seemingly fails, here's a small check list is SSB/slotblock correctly installed? - seemingly yes did I fully restart DCS after installing something into hooks? did I start the mission in MP on a server or self-hosted? did I make sure that the mission RUNS (i.e. it is NOT PAUSED on the server until the first client joins, the server is NOT set to Autopause - many servers default to auto-pause, so be mindful of this one) - if paused, SSBclient is also paused Once we got that out of the way, we come to one more question: why do you expect that the slot that you are trying to occupy should be blocked? Since ssbClient and SSB are battle-tested for a couple of years, I'm confident that we can resolve this quickly
Recluse Posted January 19, 2024 Posted January 19, 2024 3 hours ago, cfrag said: This is a strange one. Can you please try with the new one linked below and see if that resolves the issue? There may now be a warning (but no crash), and if that happen, please let me know what it says. airfield.lua 17.22 kB · 0 downloads OK I tried this lua and there were several warnings, but no script error. But it did not seem to handle the ownership properly. I had some cloners set to start depending on ownership, and both of them fired. Probably due to the second set of warnings. Warnings: When I retrofitted airfield 1.0 it worked as expected: Base starts as RED (as defined in ME) RED Cloner spawns RED units. Upon Capture, ownership turns BLUE and BLUE Cloner fires.
Recluse Posted January 19, 2024 Posted January 19, 2024 (edited) 4 hours ago, cfrag said: Thank you for that. The hooks folder appears to look fine, and Slotblock and SSB are compatible with each other and SSBClient. When slot blocking seemingly fails, here's a small check list is SSB/slotblock correctly installed? - seemingly yes did I fully restart DCS after installing something into hooks? did I start the mission in MP on a server or self-hosted? did I make sure that the mission RUNS (i.e. it is NOT PAUSED on the server until the first client joins, the server is NOT set to Autopause - many servers default to auto-pause, so be mindful of this one) - if paused, SSBclient is also paused Once we got that out of the way, we come to one more question: why do you expect that the slot that you are trying to occupy should be blocked? Since ssbClient and SSB are battle-tested for a couple of years, I'm confident that we can resolve this quickly All conditions met. - MP Self Hosted (as in the video) - Not paused on startup. For the last question, I expected slot to be blocked because I used your demo mission right out of the box and followed the steps in the documentation. I can't say if there is a problem with the mission setup itself. I will try to build one from scratch and see if blocking works. Will report back. So I created a little mission to test. (Attached). Note there are some flags and such left over from the previous mission I was working on, but in the interests of focus, I deleted the CLONE ZONES that some of the flags were for. (Using Airfield.lua 1.0.0 BTW) Kutaisi is RED. There is a Red SU-25T and a Blue SU-25T CLIENT set to take off from parking HOT. So I get this output: SSB says BluDude is BLOCKED but I can still get in it!! BobsSlotBlocker.miz Edited January 19, 2024 by Recluse More images and mission file
Recommended Posts