Jump to content

Panthir

Members
  • Posts

    488
  • Joined

  • Last visited

Posts posted by Panthir

  1. On 2/28/2024 at 2:00 PM, cfrag said:

     

    Apologies, I'm not sure what I am seeing in the screenshot. It's also very close to an airfield, which makes me suspect that maybe I'm looking at an airfield zone? 

    Can you reproduce the  issue on the cap by chute miz and send that miz back to me for analysis? With some luck it's only a silly oversight on my side.

     

     

    10 hours ago, intruder11 said:

    I am making an AI powered GCI bot for DCS. It uses fully local speech recognition and voice synthesis with no Cloud APIs or monthly bills required. The voice synthesis uses modern technology that sounds very human-like, similar to a commercial voice assistant or some newer AI voice clone technologies.

    You can learn more at https://github.com/dharmab/skyeye - the bot is not yet ready but I am making rapid progress and I think you will all be able to try it before the end of the year. I hope I will be able to make a demo video in a few weeks but real life always takes priority of course. So no promises!

    I do not check the DCS forums very often or use social media so forgive me if I don't reply. But feel free to follow updates to the GitHub repo!

     

    Many thanks for your effort. I am looking forward to test it. 

  2. 3 minutes ago, cfrag said:

    Version 2.0.2 - Feature Update -  20240208

    So here's the bad news, and I'll tell it straight: DML has been a tremendous success, and support from the community (you) has been great. Unfortunately, this can attract less savory characters, and not it has happened:

    This release of DML contains a module of dubious provenance: "Scribe". It's a bean counter module. Often requested (under the preamble: "not for me - for a friend of mine"), I have now created a module that sits in the background, eats processor cycles and simply tabulates what people are doing. Added benefit? Like in real life - very few. But for some damned reason it scratches an itch that many people have: to see some numbers.

    image.png

    Scribe only counts player's actions: engine start-ups, take-offs, landings, crashes, and stick time. All itemized by airframe and total (Of course). And yes, it comes with persistence to boot (them beancounters are difficult to get rid of). If you are developing a mission, especially an open-ended server based mission (like <Marianas Proving Grounds> or the soon to be released rescue server mission "Angels Of Caucasus", which is currently in open stress-test on my "DML Testbed" server and is slated for release soon) people seem to really like this stuff (or maybe us pilots are naturally drawn to tables and statistics - fact is, we simply like the comfort of solid numbers).

    image.png

    To make matters worse, Scribe is going to follow the nature of their professions and going to expand: it is going to be the first module that will support cross-mission persistence, and be able to share data among multiple missions, so soon you'll be able to link scribe from multiple missions to a single shared source, allowing your players to accumulate data across multiple missions.

    If you delve deeper, you'll notice another new addition, the "names" module. It's currently in there solely for csarManager's new ability to generate realistic names for missions. Why? Because I could. As a non-mission placeable module, "name" has no documentation. Oh yeah - I've also added a couple of nice features to csarManager: integration with Scribe, and a time limit so that missions now can expire.


    All changes in Detail:

    Documentation
        Main
            - scribe (new)
            - various: corrections, clarifications 
            - demo - On the Record (stub)
        
        QuickRef
            - scribe (new)
            - various: corrections
            

    Demos    
        - On the Record (Scribe)
        
    Modules 
        - Bomb Range 1.1.1
            - clean up 
        
        - cfxMX    
            - new groupHotByName XRef dict 
            
        - csarManager 3.1.0
            - *rnd option for mission names (requires names module)
            - missions are sorted by distance 
            - mission time limit implemented 
            - pickupSound attribute 
            - lostSound attribute 
            - integration with scribe 
            
        - dcsCommon 3.0.2
            - getPlayerUnit() new 
            - new createStaticObjectForCoalitionInRandomRing()
        
        - heloTroops 3.0.2
            - fixed an issue with legalTroops 
            - fixed a type in a menu 
            
        - messenger 3.1.0
            - msgGroups supports multiple groups 
            - msgUnit supports multiple units  
            
        - names 1.0.0 - initial release 

        - radioMenu 2.2.1
            - corrected activation of ackD
            
        - scribe 1.0.0 - initial release 
        
    Enjoy,
    -ch

     

    Great option

  3. "Cross the Line 1-4", one of the most beloved and challenging missions during my first steps in DCS. The mission was created by @CuteQA  https://forum.dcs.world/topic/30503-cross-the-line-1-4. I don't know if he is still active in the DCS community, so I tried to revive his mission in order to run with the latest DCS versions. It's a pure medium - hard Helicopter Mission, initially flown with KA50.

    I faced some issues with the trees removal from the scenery in TORBA FARP location (in the past the area was not covered by trees) and I enriched the mission with random groups in order to make it interesting for those that they wish to play it more than one times. 

    I attach a version with 2 x KA50III and 2 x AH-64.

    PS:

    a. Due to the fact that the mission is medium to hard and long lasting, for those that they wish to skip the EWR Site attack and the recapture of TORBA FARP, only for the 51 ALPHA group, there are relevant RADIO ITEMS in F10 menu to skip them. 

    b. Don't forget to paste the SimpleSlotBlockGameGUI.lua in your C:/Users/<YOUR USERNAME>/DCS.openalpha/Scripts folder in order to enable slots activation in TORBA FARP after being captured by the RED forces.

    I attach a version with 2 x KA50III and 2 x AH-64.

    ATTENTION:

    After mission start, verify via F-10 map that trees have been removed in FARP TORBA area, otherwise restart DCS and most probably will be ok.

    Enjoy

     

     

    SimpleSlotBlockGameGUI.lua

    Cross the Line 1-4 (revived).miz

    • Like 2
  4. One of the most beloved missions during my first steps in DCS. Dear @CuteQA I don't know if you are still active in the DCS community, so I tried to refurbish your mission in order to run with the latest DCS versions. I faced some issues with tree removal from the scenery in TORBA FARP location and I enriched the mission with random groups in order to make it interesting for those that they wish to play it more than one times. 

    I attach a version with 2 x KA50III and 2 x AH-64.

    PS: Don't forget to paste the SimpleSlotBlockGameGUI.lua in your C:/Users/<YOUR USERNAME>/DCS.openalpha/Scripts folder in order to enable slots activation in TORBA FARP after being captured by the RED forces.

     

     

    SimpleSlotBlockGameGUI.lua Cross the Line 1-4 (revived).miz

  5. 7 minutes ago, cfrag said:

    I just checked your mission, and (probably due to linking the files, not running the internal DOSCRIPTs) it has replaced the new version 3.0.2 of PlayerScore that contains the new interface to ODD with the older version from DML 2.0. I think that if you update PlayerScore in your updated mission with the one from the one I sent it should work. To make things easier, please find the updated PlayerScore below

    playerScore.lua 52.86 kB · 0 downloads

     

    I will test asap

    13 minutes ago, cfrag said:

    I just checked your mission, and (probably due to linking the files, not running the internal DOSCRIPTs) it has replaced the new version 3.0.2 of PlayerScore that contains the new interface to ODD with the older version from DML 2.0. I think that if you update PlayerScore in your updated mission with the one from the one I sent it should work. To make things easier, please find the updated PlayerScore below

    playerScore.lua 52.86 kB · 0 downloads

     

    Just tested it and it works perfectly. You are faster than the light. Many thanks have a nice weekend!!!!!!!!!

  6. 5 minutes ago, cfrag said:

    That is odd indeed. How are you destroying the house? Use the mk4 in the player-controlled blue A-Hog?

    This is what I get when I do that.

    image.png

    Note that if the AI-controlled (late activation) plane kills the house, no score is awarded because AI don't get personal score.

    Can I bother you to try again with the mission I posted and the A-10A?

     

    I tried your mission by replacing the A-10 with an F-18, I destroyed the house and I got the same message like you. The issue is that this is just an announcement and the score is not saved anywhere. In the mission, I sent you, which is exactly the same like yours (the only difference is that I added a BTR80 the a Static Helo, the playerScoreConfig, playerScoreTable, Persistence and the save menu zones), as you can see in the following screenshots, i destroyed the house and the BTR80. But although I was awarded with the BTR points (33) I didn't get any points for the house. The same occurred for the coalition Score.  

    1.png

    2.png

  7. 3 hours ago, cfrag said:

    A successful endeavor, no hangover. Here's a miz that now can use data provided by an objectDestructDetector (ODD) to feed score to the player. ODD now has two no optional attributes per zone: redScore and blueScore to interface directly with PlayerScore. The score is only awarded to the player of the relevant faction.

    In the demo, bomb the house next to the blue smoke.

    ODD my score.miz 156.24 kB · 1 download

    Dear @cfrag, I have just tested this mission and despite the fact that bangs the oKill flag and you get the relevant message, that the house is down, it doesn't give any score to the player. So, I modified the mission by adding a complete playerscore module setup. Moreover, I added a BTR-80 and a static object (Helicopter) for testing score. So, if you kill them you get points but you don't get points for the house, even if you get the message that the house is down. On the other hand, If you add in the mission blueScoreFlags trigger zone and you setup there the oKill to get 100 points, then when you destroy the house the team gets the 100 points but the player is awarded only with the points he gets from the BTR and the static helo. Moreover, I tried to add oKill to the playerScoreTable to check integration but it doesn't award any points either to the team or to the player.ODD my score (test without blueScoreFlags).miz

    So, I was not able to find out what is the use if you add blueScore and redScore.

    Cheers

  8. 3 hours ago, cfrag said:

    Unfortunately, ObjectIDs for scenery objects can (and do) change without warning (nor notification) between any DCS releases. That was the main reason that objectDestructDetector silently failed after a DCS release - and that made many missions suddenly stop working in critical parts. Hunting down ObjectIDs after every DCS release is something supremely unfun to mission designers. This is the reason that they no longer work with PlayerScore - it introduces a ticking time bomb into any mission that you are referencing an ObjectID in - for it will fail sometime. And you won't know until you either check after each update - or your players complain that they achieved the objective, but the mission did not respond. So, ObjectIDs are not to be trusted, and DML now uses the (sadly not unique) name of scenery objects instead.

    Now this sounds interesting! How do you envision how that works, and how is that different from  red/blueScoreFlags? It sounds like something that we could get running quickly.

     

    At first, Red/blueScoreFlags award score only to coalitions. The player that bangs the flag (destroys the target) doesn't get any points. If you remember, Red/blueScoreFlags were created to provide the mission designer with an option to award score to teams for targets that were destroyed by AI. 

    Secondly, given the fact that OBJECT ID is not working anymore, a mission designer is able to set up score for scenery objects, only in Red/blueScoreFlags via flag usage. It will be a nice option to allow flags to be used in playerScoreTable, as well. This option will give the mission editor flexibility to allow score award to players for destroyed scenery objects.

    Dear @cfrag Moreover I tested the following ownedzones mission template3 ring circus Blue and Red 120 sec coundown.miz and it seems that although zones are changing hands and you get the relevant messages, the "resetting" 120sec countdown is not working anymore.  

  9. 14 hours ago, cfrag said:

    If both coalitions have the goal to destroy the same (identical) scenery object, then indeed that currently can't always work. Then again, it's difficult to argue here which faction should be awarded the points as both have reached their goal (the bridge is down). 

    If you, on the other hand, have two different (scenery object) bridges A and B, they indeed can have the same NAME (e.g. "car_bridge_4Lane") and only differ in their OBJECT ID. If blue targets bridge A while red targets bridge B then I think that you should be able to set up one objectDestructDetectors for each bridge that bangs on their separate flags that can feed PlayerScore via the redScoreFlags and blueScoreFlag options  - just as you state. (After extensive testing: A main issue is that OBJECT ID doesn't work at all. In the past it was working perfectly when it was used in playerScoreTable and redScoreFlags and blueScoreFlag, as well).

     Apologies, I'm not entirely sure what you mean - my impression is that this is already implemented: you set up a flag (say 'bridgeAdown') and bang that with an objectDestructDetector over BridgeA, and a flag 'bridgeBdown' with an ODD that bangs on that flag for bridge B. Then put bridgeAdown in blueScoreFlags' attributes, and bridgeBdown in redScoreFlags's attributes. This should work unless both A and B target the same bridge. And yes, if with this setup red blows bridge A (blue's target), blue will get the award. That's fair to avoid either side from blowing their own bridges to deny the other side points. (flags are working ok only for the redScoreFlags and blueScoreFlag).

    How do you suggest we change this, and which case will that cover? With some luck we can close the remaining gap quickly.

    My suggestions:

    a. Solve the issue that OBJECT ID is not working. It will be a useful option.

    b. add as an option for playeScoreTable to be able to handle flags as well.

    I hope I helped you.

     

    14 hours ago, cfrag said:

     

     

  10. 7 hours ago, cfrag said:

    DML II has arrived.

    Version 2.0.0 - Major Update - 20240111

    Happy new year everyone! We start 2024 with a bang, just like we should. I'm proud to present to you DML II, the next iteration of what once started as my humble homebrew small library of helpful code snippets and - after I hit upon the concept of passing valuable data with trigger zones - took flight in ways I had never imagined.

    image.png

    While a lot of modules have received some upgrade, here are the big hitters for "II":

    • The Debugger 2.0 
      There are only few of us that use it, but I've massively increased what it can do, including
      • inspect memory (Lua variables) and - yes - change them
      • intercept DCS 'events' and tell you when they happen 
      • spawn 'generics' so you can better test your mission's reactions 
         
    • The "Shock Block" (Main Manual)
      I've extensively re-structured and re-written passages, removed anything too arcane (no more Lua discussion) - all in the hope of making it a bit more accessible to those of you who actually RTFM (my hat's off to you)

    And there is one change some of you may not appreciate that much: I've harmonized the file names for modules and removed the "cfx" prefix from most of them. This makes it easier to find them. Note that I only changed the file names, so those of you who import by file name may have to re-jigger their imports. 

    So here are the changes in detail:

    Manual
        - Main 
            - massive rewrite, better (?) introduction, more consistency
            - The Debugger many additions 

        - QuickRef 
            - many updates 

    Demos 
        - artillery with UI - update
        - being persistent - update 
        - boom boom - update 
        - debug events and more *new* 
        - helo cargo - update 
        - moving spawners II - update 
        - moving spawners - update 
        - once, twice, three times maybe - update 
        - player score - update 
        - players in the zone - update 
        - willie nillie - update 
        - xFlags field day - update 
        

    Modules 
        - airfield 2.0.0 
            color support 
            farps supported 
            unmanaged airfields 
            
        - artillery (removed)
        
        - artilleryUI 2.0.0 
            dmlZones, OOP, cleanup 
        
        - artilleryZones 2.0.0 
            dmlZones, OOP, cleanup 
            
        - cargoReceiver 2.0.0 
            dmlZones, OOP, cleanup 
            
        - cfxMon (removed)
        
        - cfxMX 2.0.0 
            harmonized with cfxGroups 
            cleanup 
        
        - cloneZone 2.0.1 
            better handling of deffered cloning with empty!
            cleanup 
            
        - objectDestructDetector 2.0.1
            added sanity checks: location for object 
            
        - objectSpawnZones 2.0.0 
            cleanup 
        
        - persistence 2.0.0
            dmlZones, OOP
            cleanup 
        
        - playerScore 3.0.1
            cleanup 
            
        - playerScoreUI 2.1.1
            cleanup
        
        - pulseFlags 2.0.1
            cleanup 
            
        - smokeZones 2.0.0 
            cleanup 
            
        - spawnZones 2.0.0
            cleanup
        
        - cfxSSBSingleUse 2.0.0
            libcheck at startup 
            cleanup 
            
        - cfxZones 4.1.1
            cleanup 
            getBoolFromZoneProperty() now supports "on" and "off" 
            evalRemainder() updates 
            
        - cloneZones 2.0.0 
            cleanup 
            
        - countDown 2.0.0 
            dmlZones, OOP, cleanup 
            config zone upgrade 
            output method defaults to 'inc' 
            
        - dcsCommon 3.0.0 
            fixed stringStartsWith()
            point2text new intsonly option 
            arrangeGroupDataIntoFormation hardened 
            cleanup 
            new pointInDirectionOfPoint() 
            createGroundGroupWithUnits now supports liveries 
            new getAllExistingPlayersAndUnits() 
            
        - delayFlag 2.0.0 
            cleanup
            
        - factoryZone 3.0.0 
            dmlZones, OOP 
            support for liveries 
            
        - fireFX 2.0.1 
            fixed rndLoc 
            
        - groupTracker 2.0.0 
            dmlZones, OOP, cleanup 
            legacy support 
            
        - messenger 3.0.0 
            removed f?
            removed in? 
            cleanup 
            
        - playerZone 2.0.0
            dmlZones, OOP
            new red#
            new blue# 
            new total#
            
        - radioMenu 2.2.0 
            cleanup 
            
        - TDZ 1.0.2 
            manual placement option 
            filters FARPS 
            
        - The Debugger 2.0.0 
            dmlZones, OOP, cleanup 
            new eventmon 
            adding events 
            eventmon last 
            query 
            write 
            analyze 
            smoke 
            spawn system 
            spawn generics 
            spawn generics config zone 
            event? attribute 
            bug fixes 
        
        - unitPersistence 
            dmlZones
            cleanup
            
        - williePete 2.0.0 
            dmlZones, OOP, cleanup 
            guards for multi-unit player groups 
            new getFirstLivingPlayer
        
        - xFlags 2.0.0 
            dmlZones, OOP, cleanup 
            xDirect#
            xCount#
     

    Enjoy,

    -ch

     

     

    Many thanks for this great update. I would like to address an issue related to the cfxObjectDestructDetector.lua, scenery objects and the way you can award score to their destruction (playerscore integration). For example the bridge that you can see in the screenshot is divided in 4 scenery objects. Although each trigger zone has deferent name (car_bridge_4line-1, 2 etc) the "NAME" attribute is exactly the same (car_bridge_4line). So if you prepare a PvP mission, due to the fact that the vast majority of the bridges are consisted of several car_bridge_4line scenery objects, it is not possible to setup bridges as targets for both coalitions (the same issue occurs for several other scenery objects), because if you use the "NAME" in the playerScoreTable to assign a score value, DML will not be able to know to which coalition will award the score (it's confirmed through extensive testing that although the Blue coalition destroys a Red Bridge the score is awarded several times to the Red Coalition). Moreover, OBJECT ID (in the past was working perfectly for both playeScoreTable and red and blue ScoreTables) it is confirmed that is working correctly only if you assign to the scenery object a Flag value "f!", to award score to coalitions via the red and blue ScoreTables. So, I didn't notice any change in DML II version related to the aforementioned subjects. The most appropriate solution IMO would be to be able to use only flag values "f!" for both playerScoreTable red and blueScoreTables. In this context, awarding score to scenery objects will be without any trouble. I don't know how difficult will be for you to implement such a change.

    image.png

  11. 3 hours ago, cfrag said:

    Hello everyone, 

          this is Chris, and thank you all for your kind words of encouragement, suggestions, and other feedback.

    As we are leaving 2023, the second year of DML also draws to a close. It has come a long way, and with no small thanks to you, I was lucky to bring DML from an interesting idea to something that now many people use to make missions more fun for for everyone. 

    As I'm preparing Version 2.0 of DML, I'm shifting its focus to better quality of life: better integration with Mission Editor. As a result, I'm de-emphasizing support for scripting. I've removed more arcane features like call-backs and API, and removed and have rewritten some two hundred pages of documentation -- in the hopes of making the easy things more clear, and done away with the geek stuff.

    image.png

    I'm looking forward to the new release in a few days/weeks, and of course your feedback. DML 2.0 is backward-compatible to the current version, so no worries, it will continue to work with your missions.

    So, as 2023 ticks over into the new year, please allow me to raise my glass (filled to the brim with joy and good wine) to you all, and

    wish you a happy, healthy and above all harmonious 2024!

    It has been a pleasure - to many happy returns!

    -ch
      

     

    Happy New Year Chris, 

    Many thanks for your effort. My best wishes to you and your family.

     

  12. Dear Cfrag, 

    While I was investigating the DML Recon, I wanted to ask you if you assess that it would be easy to add the following option: the detected enemy units to be depicted via F-10 marks only after a successful landing of a recce aircraft - helo in a “recceBase” zone (like it occurs with CSARBASE or scoreSafe zones). This option simulates the vast majority of the modern recce pods, as long as the recce reports are taken after landing. We could even set an attribute to specify the time needed by the recce personnel to analyse the taken pictures - video after landing. In this context, a recce mission would be simulated very realistically e.g the F-10 marks to appear 30 minutes after landing. 

     

  13. Please add the from ground and ground hot aircrafts and helo to be read from the airbase and farp warehouse where certain conditions are met (eg when they are located inside an airbase - farp zone). 
    Right now you can overpopulate airbases and farps by placing ground and ground hot aircraft and helo slots. They can rearm and refuel but they can’t be read by the warehouse. Consequently, any loss is not tracked by the warehouse, although the weapon that they load are tracked.
     

    • Like 1
  14. 7 minutes ago, cfrag said:

    It would appear that Base 3's redLost! output is misspelled. Unfortunately, DCS's flags are case sensitive. The pulser is looking at "stopRed", capital R

    Yes  you are right. I have tested it now and it seems to work ok. The only issue is that when the 2 minutes time passes it continues to countdown and doesn't announce the winner.

     

    Screen_231117_183427.png

  15. 19 minutes ago, cfrag said:

    (meaning: if the first unit of a group is inside the zone, all units of that group are counted towards the total)

    Yes, this is an intentional shortcut that I coded into ownedZones since otherwise every single unit on the map has to be tested against every owned zone on the map. If you have 20 groups of 5 units and 4 owned zones on the map, the code would have to check 20*5*4 = 400 units every second. If the code only checks the first unit per group (and assumes that the groups is bunching reasonably close together), that drops to 80 checks per seconds, saving performance.

    There's an undocumented attribute 'fastEval' that defaults to true that you can change to false to turn it off and have every unit being evaluated against being inside the zone

    Yeah, lazy me didn't look at those because they weren't part of my slapped-together mission. I'll check it out.

    Many thanks. We are dealing with a Swedish Sqn (Master Arms) to fly together a Sequential Mission Campaign and we need this concept (the three zone conquer mission) to work. I hope you will fix the countdown issue. Many thanx.

  16. 55 minutes ago, cfrag said:

    Hey @Panthir, nice to hear from you. I do remember the little template I created for you, and the missions that you kindly included looks significantly improved over the little shabby one that I sent you 🙂

    In any event, in DML 1.50 I updated "pulseFlag" and finally removed the "pause" and "pausePulse" attributes and harmonized them with the "onStart" attribute. So, if you want the a pulser to wait on their activation (you do 🙂 ) set "onStart" to "no", and everything should work as before.

    That being said, there was a slight issue with re-activating a paused pulser, this is fixed in the attached module.

    I've also added the now working (original) 3 Ring Circus lifted to DML 1.50

     

    pulseFlags.lua 12.34 kB · 1 download 3 ring circus DML150.miz 200.13 kB · 1 download

     

    Well I tried to apply the new pulseFlag.lua and onStart attribute to the "3 ring circus Blue and Red.miz" and there are some issues.

    a. Taking in account that the ownedZonesConfig is setup for numCap=2 and numKeeps=2, the first issue has as follows: If the units that are entering a zone are grouped, then the zone is taken when the 1st unit enters the zone, even if numCap=(higher than 1). Normally the zone will have to turn blue or red only when the second unit enters the zone, as well. If the numCap=5 and numKeep=5, the zone will have to be taken when right after the 5th unit enters the zone. It seems that numKeeps is working ok.

    b. The two minutes countdown seems to work ok and reset for blue but it seems that it doesn't reset for the red coalition.

    c. When the two minutes countdown ends the clock doesn't stop and the winner is not announced as it happen in the passed.

    I attach you the mission and a small video to watch and I am sure that you will see what happens.3 ring circus Blue and Red DML150 pulseflag 201.miz

    download the video 

    https://we.tl/t-WWSmKRZFeZ

×
×
  • Create New...