Jump to content

Recommended Posts

Posted

Hello, cfrag! & all the great DCS folks here!

First of all, I'm a Japanese DCS player and I'm not good at English, so please understand that the questions I'm going to ask might sound a little strange.
(I'm using Google translation)

So,Now onto the main topic.
I've recently started learning and using DML.
I have a question about 'PlayerScore'. Is it possible to turn on the ScoreSafe function only after occupying a specific base?
The mission I'm creating involves occupying bases on the map one by one, and once each base becomes my(our) side, clients can spawn from that location,
but with ScoreSafe, even if we land on a base that's not my side, we'll still get a score.

Is there any good solution?
Maybe there is an easier solution than I think, but the DML manual is not in an easily translatable format,
so my DCS free time is literally "eaten up" while I try to figure out how to solve the problem...
(Maybe I need to study English more, lol)

However, I don't want to complain, I just want to know if there is a solution for ScoreSafe.
I think DML is a very powerful and easy-to-use tool. I would like to understand it better and use it more.

thank you

 

Posted

Version 2.4.8 - 20250425 - minor update 
A new patch, some hotfixes, and Germany! I've spent a lot of time exploring Germany (I'm Hamburg born and bred after all), and I took the time (and DML) to create two missions for the community: "Hamburg Tourist" and "Angels over Germany" ("Der Himmel über Berlin").

image.png

ED also released their first version of a mission state save API, but since there still is no credible use case for actually using DCS Sate Save API, I have not yet started to integrate the new API into DML.

So, enjoy the two new missions if you have Germany, and there are some minor updates to DML as follows:

Changes
Documentation
    Manual 
    QuickRef
 

Demos
 

Modules
    - civHelo 1.0.2 
        - improved verbosity 
        
    - csarManager 4.5.1
        - reduced verbosity 
        
    - LZ 1.2.2
        - re-enabled event processing 
        
    - missionRestart 1.0.1
        - sample time once per 30  seconds 
    
    - reaper 1.3.1
        - reduced verbosity 
        
    - twn 1.0.2 
        - now supports Germany Cold War Map 
 

 

  • Like 2
  • Thanks 1
Posted (edited)
On 4/23/2025 at 1:42 AM, Nishiyandcs4 said:

I have a question about 'PlayerScore'. Is it possible to turn on the ScoreSafe function only after occupying a specific base?

This is currently not implemented, and seems to be an edge case to me. Nevertheless, I'll see what I can do to add this to a scoreSafe zone in an easy-to use way.

Note that if the safe zone is an ownedZone (e.g. airfield zone), this already works, provided that the zone's owner isn't NEUTRAL.

Edited by cfrag
  • Like 1
Posted
2 hours ago, cfrag said:

これは現在実装されておらず、エッジケースのように思えます。とはいえ、これを使いやすい方法でスコアセーフゾーンに追加できるように検討してみます。

安全地帯が ownedZone (飛行場地帯など) である場合、その地帯の所有者が NEUTRAL でない限り、これはすでに機能していることに注意してください。

Thank you for your reply and advice!
Now that you mention it, I could have simply set it to the enemy side.
The area started out neutral, and the goal was to occupy the area before the enemy forces.
I'll have to change the method a little, but I'll try it the way you mentioned.

Posted

Hey cfrag,

Got this error in our server tonight.  Any ideas of what might be causing this error??

Mission script error: [string "cfxPlayerScore = {}..."]:1031: Unit doesn't exist stack traceback: [C]: ? [C]: in function 'getPlayerName' [string "cfxPlayerScore = {}..."]:1031: in function 'isScoreEvent' [string "cfxPlayerScore = {}..."]:1175: in function 'onEvent' [string "Scripts/World/EventHandlers.lua"]:13: in function <[string "Scripts/World/EventHandlers.lua"]:11>

Any help would be appreciated thanks!

ChuckIV

"Never in the field of human conflict was so much owed by so many to so few." Winston Churchill

 

SYSTEM:

Processor - Intel® Core i9-9900KF CPU @ 3.60GHz 3600MHz water-cooled

Installed memory (RAM) - 32.0 GB

64-bit Operating System, x64-based processor

Windows 10 & DCS on SSD

Video Card - water-cooled NVIDIA GeForce RTX 2080 Ti

Internet: Cable 200Mbps 12Mbps

Posted
3 hours ago, ChuckIV said:

Mission script error: [string "cfxPlayerScore = {}..."]:1031: Unit doesn't exist

Thank you for that report. Can I trouble you to please verify that you are using version 5.3.0 of PlayerScore? This one looks like something that was already fixed.

 

Posted

cfrag,

I did have an older version of playerScore - Now I have the 5.30 version installed.  Thanks for the help. ChuckIV

"Never in the field of human conflict was so much owed by so many to so few." Winston Churchill

 

SYSTEM:

Processor - Intel® Core i9-9900KF CPU @ 3.60GHz 3600MHz water-cooled

Installed memory (RAM) - 32.0 GB

64-bit Operating System, x64-based processor

Windows 10 & DCS on SSD

Video Card - water-cooled NVIDIA GeForce RTX 2080 Ti

Internet: Cable 200Mbps 12Mbps

Posted

@cfrag  A possible modification of the Valet mod, or maybe you can suggest a way to do it easily with the current  DML modules:

 

So as not to trigger Valet messages when flying over a zone, could there be a switch like "groundOnly" which would trigger the Valet only when the player starts on the ground or lands.

Of course there are definitely times where you WANT a trigger when they enter the zone in the air, so the groundOnly can be set to (and default to) FALSE, but turned on in those cases where you only want to mark spawns and landings.

I was confused in a mission I flew when it kept welcoming me to different bases. It was in Single Player and I couldn't figure out why a ghost player with the same callsign was getting in a jet!!  Then it dawned on me that my route took me through the zones.

  • Like 1
Posted
7 hours ago, Recluse said:

Of course there are definitely times where you WANT a trigger when they enter the zone in the air

I agree with the sentiment of your request. I had a similar experience using valet on a multiplayer mission and then I took off in a helicopter and went over other slots and started getting their messages.

Could you not use a unitZone for detecting "in-air" movements? (provided we can lock valet to spawn-ins / ground only?

Visit the Dangerdogz at www.dangerdogz.com. We are a group based on having fun (no command structure, no expectations of attendance, no formal skills required, that is not to say we can not get serious for special events, of which we have many). We play DCS and IL2 GBS. We have two groups one based in North America / Canada and one UK / Europe. Come check us out. 

Posted
9 hours ago, Recluse said:

So as not to trigger Valet messages when flying over a zone, could there be a switch like "groundOnly" which would trigger the Valet only when the player starts on the ground or lands.

and

1 hour ago, DD_Friar said:

I agree with the sentiment

I probably can add one of those: add a 'groundOnly' option that only applies to units that when they trigger valet will only be considered as eligible if they are on the ground. This means probably that the will NOT trigger after they land, because when they are in the air at point of triggering, they are discarded and will not trigger after landing (you can use LZ for that, though).

Posted

I have only ever used valet to capture units spawning in, for welcome messages and to trigger ground units to show applicable to that slot, as I assumed that was its intention? and not to capture units entering the zone(I would use a unitZone for that?) 

Is this not a correct assumption for the valet zone?

Visit the Dangerdogz at www.dangerdogz.com. We are a group based on having fun (no command structure, no expectations of attendance, no formal skills required, that is not to say we can not get serious for special events, of which we have many). We play DCS and IL2 GBS. We have two groups one based in North America / Canada and one UK / Europe. Come check us out. 

Posted
53 minutes ago, DD_Friar said:

and not to capture units entering the zone

It's used in the "Angels" mission to add some "flavour" - when you close in on a hospital, you hear a voice greeting you, and when you leave, it thanks you and wishes you well. Similarly, in the Cesar missions, all pilots leaving the safe zone are warned that they are entering contested airspace, and those that return are warmly welcomed. Valet is to meet and greet, and usher out. It's especially useful for units that spawn in, yes. And it can do a lot more 🙂 

  • Like 1
Posted
1 hour ago, cfrag said:

and

I probably can add one of those: add a 'groundOnly' option that only applies to units that when they trigger valet will only be considered as eligible if they are on the ground. This means probably that the will NOT trigger after they land, because when they are in the air at point of triggering, they are discarded and will not trigger after landing (you can use LZ for that, though).

Thanks! I didn't think of LZ. I am trying to get my head around your example of Nested Valets  in the discussion of "say hello goodbye (Valet)" thinking I could tweak it to work. 

 

Also, when I spawn in, I am seeing BOTH the First Greeting and the Greeting. I believe this is due to the odd behavior of the noGap I am using which causes my spawned aircraft to fall a few feet onto the runway (also giving me a Landing Feat!).  Might switch to StopGap once the mission is ready for Multiplayer testing.

As an aside, I sometimes struggle with needing multiple overlapping zones to do everything that needs to be done.  I wonder if there are any best practices that anyone follows to limit them. I know that many parameters can be stuffed into other zones ("Stacking modules")  to avoid this.  As an example, I have a Cloner that is also a Bomb Range, and I added the wipe? attibure to declutter and clear hulks.  It seems to work, but I always get the message about wipe? being deprecated in a CloneZone. Doesn't seem to affect the performance, and I usually clear messages once I have everything working, but I overlayed a separate wiper to satisfy my need for order  🙂

 

Posted (edited)

Hello Cfrag,
Although verbose in SSBclientConfig is false, I was getting a very annoying (as a VR user) message everytime a client was getting a new slot and I tried to modify the SSBClient.lua in order to disable it.
Here is a modified version but I am sure that you can tweak it by adding a relevant true or false attribute, to yours instead. First tests are ok. It seems it doesn't affect SSBclient usage.



Have a nice day mate!!!!null

image.png

SSBClient_cleaned.lua

Edited by Panthir

My Hardware: ROG Strix X570-F Gaming - AMD 5600X @ 4.7 ghz - G.SKILL TRIDENT 32GB DDR4 3200 (14-14-14-34 CL) - GigaByte 3080ti OC 12gb - Corsair MP600 Force 1TB - 2 x EVO Nvme 500GB - Virpil Warbird Base T-50CM2 and TM Throttle + Trackhat + G25 + AOC AG271QG 27"

My Modules: JF-17, F-16C, AV-8N/A, F-18C, ASJ37, MiG-15Bis, MiG-21Bis, Fw-190D, Bf-109K, P-51D, F-86F, Ka-50 III, UH-1H, Mi-8MTV2, NS430, FC3, A-10C, Mirage 2000C, L-39, F-5E-3, SA342, Spitfire, AH-64, Mirage F-1CE.

My Maps: Nevada, Normandy, Persian Gulf, Syria, South Atlantic.

Posted
7 hours ago, cfrag said:

add a 'groundOnly' option

You asked for it, you got it 🙂

Attribute is "groundOnly", setting it to true only triggers when the unit also is on the ground (so yes, you can use it for runways, and it only triggers after the unit has touched down).

Demo miz included.

valet.lua demo - valet on the groundI.miz

  • Thanks 1
Posted (edited)
1 hour ago, Recluse said:

WOW!! That was quick...Thanks!!!  I will try it out soon!!

Your demo works fine, but mine doesn't seem to.  I didn't try the exact scenario, though.... I need to do that..

 

I have a big Valet zone covering the airbase with a firstGreeting and a greeting with greetSpawns = true.

 

When I spawn into the aircraft, I get the firstGreeting as expected, but when I take off, fly out of the zone and then return for landing, I am not getting the Greeting. (The two ARE actually different though they start the same way)

Must be missing something simple. 

....hmmmm maybe it has to do with landing a bit LONG and not ENTERING the zone on the ground, but I landed REALLY long in the A-10A in the demo and things triggered ok.

 

null

image.png

Edited by Recluse
Posted
47 minutes ago, Recluse said:

I have a big Valet zone covering the airbase with a firstGreeting and a greeting with greetSpawns = true.

Let’s try and approach this methodically: 

can you get it to work without firstGreeting?

if so, that helps me home in on the potential cause.

Posted (edited)
5 hours ago, cfrag said:

Let’s try and approach this methodically: 

can you get it to work without firstGreeting?

if so, that helps me home in on the potential cause.

Hmmmm to my surprise, it still did not trigger after removal of firstGreeting.  I did get the greeting on spawn, but not on landing.

 

Edit: Interestingly, it appears maybe that groundOnly recognizes only a single entry into the zone.

I made 2 Valet zones: One by the parking area, and one a quad point on the runway.

- Spawning in at the parking zone, I got my greeting.

- I forgot that when I taxied onto the runway for takeoff, I would enter the other zone, and, indeed I got the greeting.

- After flying away from the runway, then turning around and landing, I did not get the greeting from the runway zone.

- I didn't try removing groundOnly to see if the old behavior of triggering with every zone entry would be back...but that is my next step.

Edit2: Indeed, when removing groundOnly I got the greeting on return to the runway.

 

Edit3:  I did the same thing in your Demo mission and I got the Greeting when returning to the runway.... but only from the circular zone. I do NOT get the greeting from the runway zone.

Edited by Recluse
Posted
On 4/29/2025 at 1:42 PM, Panthir said:

Although verbose in SSBclientConfig is false, I was getting a very annoying (as a VR user) message everytime a client was getting a new slot

This is only for dynamic players, and it is indeed annoying. Changed, thank you for the hint!

 

 

SSBClient.lua

  • Like 1
Posted
16 minutes ago, cfrag said:

This is only for dynamic players, and it is indeed annoying. Changed, thank you for the hint!

 

 

SSBClient.lua 25.4 kB · 0 downloads

We thank You very much for what you are doing for the Community

My Hardware: ROG Strix X570-F Gaming - AMD 5600X @ 4.7 ghz - G.SKILL TRIDENT 32GB DDR4 3200 (14-14-14-34 CL) - GigaByte 3080ti OC 12gb - Corsair MP600 Force 1TB - 2 x EVO Nvme 500GB - Virpil Warbird Base T-50CM2 and TM Throttle + Trackhat + G25 + AOC AG271QG 27"

My Modules: JF-17, F-16C, AV-8N/A, F-18C, ASJ37, MiG-15Bis, MiG-21Bis, Fw-190D, Bf-109K, P-51D, F-86F, Ka-50 III, UH-1H, Mi-8MTV2, NS430, FC3, A-10C, Mirage 2000C, L-39, F-5E-3, SA342, Spitfire, AH-64, Mirage F-1CE.

My Maps: Nevada, Normandy, Persian Gulf, Syria, South Atlantic.

Posted
1 hour ago, cfrag said:

OK, let's try that again 🙂

I may have detected a bug in the hysteresis handling 

 

valet.lua 16.08 kB · 0 downloads demo - valet on the groundI.miz 134.31 kB · 0 downloads

OK I am regretting going down this rabbit hole  😞

Thinking of just going back to the old Valet method and dealing with spurious messages, and using LZ if I really need landing messages.

 

- In your new test mission:

- I get both greetings initially. On Spawn and when entering the Runway.

- I don't get the Goodbye message on leaving,  but I DO get it on landing, (probably I do taxi outside the zone) but it seems to come much quicker than that.

- I don't get the runway message "ground bound is on my list...." upon landing.

- I DO get the circular zone message on landing "I greet you all..."

 

- In my mission, which started this whole thing off,  it still doesn't work either. I never get a Greeting upon landing if I had already triggered it on Spawn/Takeoff...but something is weird there because Persistence and Scribe don't work either. NO IDEA what is going on. As usual, I started small, then ended up building up a complicated set of zones.

 

Posted (edited)

Dear Cfrag,

I have some interesting news. Me and Pogon from Lock On Greece we managed to add a Capture Enemy Pilots Option in DML CSAR. 
In this context, initially we modified the stock csarManager2.lua in order all downed pilot RED and BLUE to be visible in F-10 menu - Other - CSAR - List Active CSAR missions.

Then we created an additional module, the csarEnemyCaptureExtension.lua that adds the enemy capture functionallity to the CSAR (it has to be loaded as the other DML modules).
In the script you can configure the follwing:
-- CONFIGURATION
local captureRadius = 1000 -- The radius in meters that when you land from the enemy pilot is deactivated and it is loaded in the HELO as POW via (supercargo)
local captureScore = 10 -- Optional score to be awarded when delivered to a CSARBASE.

We tested in a mission and we had the following results:
a.All downed pilots are visible to both coalitions via the F-10 menu.

b.When you land inside the capture radius you get a message that the pilot is captured and you can see him via the F-10 menu as being on board.
c. When you land at a CSARBASE you get a relevant message and a 10 point score and the pilot is disembarked.
d. You can embark both enemy and friendly pilots. We saved 2 enemies and 1 friend and we got 25 points (10 per enemy an 5 for the friend).
e. The friendly Pilots are launching flare and give vectoring info. The enemy pilot correctly don't but he shoots.
f. The enemy pilot shoots with his machinegun the helicopter (this an issue and that is the reason that we set the captureRadius to 1000 meters to avoid the helicopter to be damaged by the enemy pilot). We unsuccesfully tried to add an extra option, so the enemy downed pilot to be SET in GREEN STATE and WEAPON HOLD when a RESCUE helo (troopCarriers) is inside a specific radius. A realistic option would be e.g to be allowed to shoot only for 10seconds only and then to be set to WEAPONS HOLD or to be set IN GREEN STATE by default. In this contect the captureRadius could be set to closer distances or to be the same as they are set for the friendly pilots (hoverRadius, hoverAlt, hoverDuration etc).
g. Another option that we didn't manage to do is in front of the downed pilots message to get the coalition info e.g. (BLUE) X32 downed Pilot etc. The same for the active CSAR mission list.
 
I am sure that you can adopted Enemy Capture CSAR Extension in DML with config zones and attributes. Moreover, an excellent idea would be to connect it with RECON module. So, when you capture and evacuate in a friendly CSARBASE an enemy pilot (despite the playerscore option), you will be able to get RECCE info (F10 map marks on enemy units in specific trigger zones either immediately or after a specific time period e.g. 300secs). This option would simulate interogation results 🙂

As it is it works perfectly, but I am sure that you can do miracles.

Cheers

 

csarEnemyCaptureExtension.lua csarManager2 plus enemy capture.lua

Edited by Panthir

My Hardware: ROG Strix X570-F Gaming - AMD 5600X @ 4.7 ghz - G.SKILL TRIDENT 32GB DDR4 3200 (14-14-14-34 CL) - GigaByte 3080ti OC 12gb - Corsair MP600 Force 1TB - 2 x EVO Nvme 500GB - Virpil Warbird Base T-50CM2 and TM Throttle + Trackhat + G25 + AOC AG271QG 27"

My Modules: JF-17, F-16C, AV-8N/A, F-18C, ASJ37, MiG-15Bis, MiG-21Bis, Fw-190D, Bf-109K, P-51D, F-86F, Ka-50 III, UH-1H, Mi-8MTV2, NS430, FC3, A-10C, Mirage 2000C, L-39, F-5E-3, SA342, Spitfire, AH-64, Mirage F-1CE.

My Maps: Nevada, Normandy, Persian Gulf, Syria, South Atlantic.

Posted (edited)
9 hours ago, Recluse said:

- In my mission, which started this whole thing off,  it still doesn't work either. I never get a Greeting upon landing if I had already triggered it on Spawn/Takeoff...but something is weird there because Persistence and Scribe don't work either. NO IDEA what is going on. As usual, I started small, then ended up building up a complicated set of zones.

 

OK, sort of a false alarm here. I was an idiot and forgot to add saveInterval to the persistenceConfig.  After I did, Scribe was working, bombRange stats were working etc.. 

 

But I wonder why everything is being saved to the tempmission (data) folder:

I left all the defaults and it properly found the root and mission folder.  Is it only Unit Persistence that gets saved to the mission named folder as in the demo mission (demo - Being persistent (data))

It seemed like if I didn't supply a file name, the "mission data" went into tempMission (data)\tempMissionData.txt

For this mission I specified the file name "testsaves".

I thought maybe it was because I launched the mission right from the Mission Editor, but then I created a brand new sparse mission and made sure to launch after saving from the Mission menu and it still saved in the tempMission (data) folder.

image.png

Edited by Recluse
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...