Jump to content

'Player' skill type spawning into game doesn't trigger any world.event ?! (Not MP or Dedicated Server!)


Go to solution Solved by Pikey,

Recommended Posts

Surely it should trigger S_EVENT_BIRTH or S_EVENT_PLAYER_ENTER_UNIT or even S_EVENT_TOOK_CONTROL?

When did this break/change?

This is just running a single player mission on my own PC - NO SERVER or MULTIPLAYER is involved. 

I'm SURE this used to be working a year ago, right?


Edited by Elphaba
clarification
Link to comment
Share on other sites

  • Elphaba changed the title to 'Player' skill type spawning into game doesn't trigger any world.event ?! (Not MP or Dedicated Server!)
  • ED Team

please include an example of what you think is wrong so it can be checked. 

We have no reports currently for these 

smallCATPILOT.PNG.04bbece1b27ff1b2c193b174ec410fc0.PNG

Forum rules - DCS Crashing? Try this first - Cleanup and Repair - Discord BIGNEWY#8703 - Youtube - Patch Status

Windows 11, NVIDIA MSI RTX 3090, Intel® i9-10900K 3.70GHz, 5.30GHz Turbo, Corsair Hydro Series H150i Pro, 64GB DDR @3200, ASUS ROG Strix Z490-F Gaming, HP Reverb G2

Link to comment
Share on other sites

Just now, BIGNEWY said:

please include an example of what you think is wrong so it can be checked. 

We have no reports currently for these 

What I think is wrong is that there are no events firing when a PLAYER skill level human player joins the mission (that is not a MP mission or running on a dedicated server.)

?

I don't know what else or other information you need? I included 3 events that should have fired that never did. 

Link to comment
Share on other sites

  • ED Team

with a bug report we will need a track replay example or mission example to check. 

It would be helpful. 

I can ask the team to check anyway but it would be easier for you to show an example of it not working. 

smallCATPILOT.PNG.04bbece1b27ff1b2c193b174ec410fc0.PNG

Forum rules - DCS Crashing? Try this first - Cleanup and Repair - Discord BIGNEWY#8703 - Youtube - Patch Status

Windows 11, NVIDIA MSI RTX 3090, Intel® i9-10900K 3.70GHz, 5.30GHz Turbo, Corsair Hydro Series H150i Pro, 64GB DDR @3200, ASUS ROG Strix Z490-F Gaming, HP Reverb G2

Link to comment
Share on other sites

1 minute ago, BIGNEWY said:

with a bug report we will need a track replay example or mission example to check. 

It would be helpful. 

I can ask the team to check anyway but it would be easier for you to show an example of it not working. 

With all due respect, I can't prove a negative. 

There are no events firing when a single player starts the mission that the scripting engine can use to do stuff with i.e. ON_BIRTH.

If you change the player skill to CLIENT - then you get events firing. Change back to PLAYER and those same events never fire. 

What would a track or mission show you if the events aren't being fired?
 

2024-02-29 12:55:35.192 INFO    EDTERRAINGRAPHICS41 (21512): surface5 clean up LOD 1: left 1  released 0
2024-02-29 12:55:35.192 INFO    EDTERRAINGRAPHICS41 (21512): surface5 clean up 0.023900 ms
2024-02-29 12:55:36.653 WARNING BACKENDCOMMON (4888): Need to reprocess [DDS] image '/textures/F18C_1_DIFF_STAY_nm.dds'
2024-02-29 12:55:39.357 WARNING LOG (21488): 1 duplicate message(s) skipped.
2024-02-29 12:55:39.357 INFO    VISUALIZER (Main): Preload() finished
2024-02-29 12:55:39.470 INFO    Dispatcher (Main): precache units resources in slots
2024-02-29 12:55:39.470 INFO    OpenKneeboard (Main): onSimulationStart
2024-02-29 12:55:39.470 INFO    OpenKneeboard (Main): Aircraft: FA-18C_hornet
2024-02-29 12:55:39.484 INFO    TLC (Main): ******* S_EVENT_SIMULATION_START *******
2024-02-29 12:55:39.484 INFO    LUA (Main): Lua: States: 679, CPU load: 2.5%, Mem: 417.7 MB
2024-02-29 12:55:39.485 INFO    EDCORE (Main): Created game pool: h:2 n:3 l:2
2024-02-29 12:55:39.485 INFO    Dispatcher (Main): loadMission Done: Сontrol passed to the player
2024-02-29 12:55:43.858 INFO    WWT (Main): FA-18C_hornet
2024-02-29 12:55:43.873 INFO    DCS-DTC (Main): Opened connection


See the event S_EVENT_SIMULATION_START ? 

function TLC:onEvent(event)

  if     event.id == world.event.S_EVENT_SHOT                         then

    api.TLO.LogWrite("TLC", "INFO", "******* S_EVENT_SHOT *******")

  elseif event.id == world.event.S_EVENT_HIT                          then

    api.TLO.LogWrite("TLC", "INFO", "******* S_EVENT_HIT *******")

  elseif event.id == world.event.S_EVENT_TAKEOFF                      then -- TODO

    api.TLO.LogWrite("TLC", "INFO", "******* S_EVENT_TAKEOFF *******")


    TLC.OnBirthOrEnterUnitFor(event)
    TLC.OnTakeoff(event)

  elseif event.id == world.event.S_EVENT_LAND                         then -- TODO

    api.TLO.LogWrite("TLC", "INFO", "******* S_EVENT_LAND *******")

    -- TODO ADD TO CARRIER ON DECK TABLE
    -- TODO ADD TO AWACS & TANKER REMOVE FROM LISTS

  elseif event.id == world.event.S_EVENT_CRASH                        then

    api.TLO.LogWrite("TLC", "INFO", "******* S_EVENT_CRASH *******")

  elseif event.id == world.event.S_EVENT_EJECTION                     then -- TODO

    api.TLO.LogWrite("TLC", "INFO", "******* S_EVENT_EJECTION *******")

    -- TODO IF OVER WATER, SPAWN PILOT MODEL AND LIFERAFT AND TRIGGER SAR / PLAYER TO FIND

  elseif event.id == world.event.S_EVENT_REFUELING                    then

    api.TLO.LogWrite("TLC", "INFO", "******* S_EVENT_REFUELING *******")

  elseif event.id == world.event.S_EVENT_DEAD                         then -- TODO

    api.TLO.LogWrite("TLC", "INFO", "******* S_EVENT_DEAD *******")

    TLC.OnDeathOrShutdownUnitFor(event)

  elseif event.id == world.event.S_EVENT_PILOT_DEAD                   then -- TODO

    api.TLO.LogWrite("TLC", "INFO", "******* S_EVENT_PILOT_DEAD *******")

    TLC.OnDeathOrShutdownUnitFor(event)

  elseif event.id == world.event.S_EVENT_BASE_CAPTURED                then

    api.TLO.LogWrite("TLC", "INFO", "******* S_EVENT_BASE_CAPTURED *******")

  elseif event.id == world.event.S_EVENT_MISSION_START                then

    api.TLO.LogWrite("TLC", "INFO", "******* S_EVENT_MISSION_START *******")

  elseif event.id == world.event.S_EVENT_MISSION_END                  then

    api.TLO.LogWrite("TLC", "INFO", "******* S_EVENT_MISSION_END *******")

  elseif event.id == world.event.S_EVENT_TOOK_CONTROL                 then

    api.TLO.LogWrite("TLC", "INFO", "******* S_EVENT_TOOK_CONTROL *******")

    TLC.OnBirthOrEnterUnitFor(event)

  elseif event.id == world.event.S_EVENT_REFUELING_STOP               then

    api.TLO.LogWrite("TLC", "INFO", "******* S_EVENT_REFUELING_STOP *******")

  elseif event.id == world.event.S_EVENT_BIRTH                        then -- TODO

    api.TLO.LogWrite("TLC", "INFO", "******* S_EVENT_BIRTH *******")

    TLC.OnBirthOrEnterUnitFor(event)

  elseif event.id == world.event.S_EVENT_HUMAN_FAILURE                then

    api.TLO.LogWrite("TLC", "INFO", "******* S_EVENT_HUMAN_FAILURE *******")

  elseif event.id == world.event.S_EVENT_DETAILED_FAILURE             then

    api.TLO.LogWrite("TLC", "INFO", "******* S_EVENT_DETAILED_FAILURE *******")

  elseif event.id == world.event.S_EVENT_ENGINE_STARTUP               then

    api.TLO.LogWrite("TLC", "INFO", "******* S_EVENT_ENGINE_STARTUP *******")

  elseif event.id == world.event.S_EVENT_ENGINE_SHUTDOWN              then

    api.TLO.LogWrite("TLC", "INFO", "******* S_EVENT_ENGINE_SHUTDOWN *******")

    TLC.OnDeathOrShutdownUnitFor(event)


  elseif event.id == world.event.S_EVENT_PLAYER_ENTER_UNIT            then -- TODO

    api.TLO.LogWrite("TLC", "INFO", "******* S_EVENT_PLAYER_ENTER_UNIT *******")

    -- TLC.OnBirthOrEnterUnitFor(event)

  elseif event.id == world.event.S_EVENT_PLAYER_LEAVE_UNIT            then -- TODO

    api.TLO.LogWrite("TLC", "INFO", "******* S_EVENT_PLAYER_LEAVE_UNIT *******")

    TLC.OnDeathOrShutdownUnitFor(event)

  elseif event.id == world.event.S_EVENT_PLAYER_COMMENT               then

    api.TLO.LogWrite("TLC", "INFO", "******* S_EVENT_PLAYER_COMMENT *******")

  elseif event.id == world.event.S_EVENT_SHOOTING_START               then

    api.TLO.LogWrite("TLC", "INFO", "******* S_EVENT_SHOOTING_START *******")

  elseif event.id == world.event.S_EVENT_SHOOTING_END                 then

    api.TLO.LogWrite("TLC", "INFO", "******* S_EVENT_SHOOTING_END *******")

  elseif event.id == world.event.S_EVENT_MARK_ADDED                   then

    api.TLO.LogWrite("TLC", "INFO", "******* S_EVENT_MARK_ADDED *******")

  elseif event.id == world.event.S_EVENT_MARK_CHANGE                  then

    api.TLO.LogWrite("TLC", "INFO", "******* S_EVENT_MARK_CHANGE *******")

  elseif event.id == world.event.S_EVENT_MARK_REMOVED                 then

    api.TLO.LogWrite("TLC", "INFO", "******* S_EVENT_MARK_REMOVED  *******")

  elseif event.id == world.event.S_EVENT_KILL                         then

    api.TLO.LogWrite("TLC", "INFO", "******* S_EVENT_KILL *******")

  elseif event.id == world.event.S_EVENT_SCORE                        then

    api.TLO.LogWrite("TLC", "INFO", "******* S_EVENT_SCORE *******")

  elseif event.id == world.event.S_EVENT_UNIT_LOST                    then -- TODO

    api.TLO.LogWrite("TLC", "INFO", "******* S_EVENT_UNIT_LOST *******")

    TLC.OnDeathOrShutdownUnitFor(event)


  elseif event.id == world.event.S_EVENT_LANDING_AFTER_EJECTION       then -- TODO

    api.TLO.LogWrite("TLC", "INFO", "******* S_EVENT_LANDING_AFTER_EJECTION *******")

  elseif event.id == world.event.S_EVENT_PARATROOPER_LENDING          then

    api.TLO.LogWrite("TLC", "INFO", "******* S_EVENT_PARATROOPER_LENDING *******")

  elseif event.id == world.event.S_EVENT_DISCARD_CHAIR_AFTER_EJECTION then -- TODO

    api.TLO.LogWrite("TLC", "INFO", "******* S_EVENT_DISCARD_CHAIR_AFTER_EJECTION *******")

  elseif event.id == world.event.S_EVENT_WEAPON_ADD                   then

    api.TLO.LogWrite("TLC", "INFO", "******* S_EVENT_WEAPON_ADD *******")

  elseif event.id == world.event.S_EVENT_TRIGGER_ZONE                 then -- TODO

    api.TLO.LogWrite("TLC", "INFO", "********   S_EVENT_TRIGGER_ZONE   *******")
    api.TLO.LogWrite("TLC", "INFO", "***        S_EVENT_TRIGGER_ZONE       ***")
    api.TLO.LogWrite("TLC", "INFO", "********   S_EVENT_TRIGGER_ZONE   *******")

  elseif event.id == world.event.S_EVENT_LANDING_QUALITY_MARK         then

    api.TLO.LogWrite("TLC", "INFO", "******* S_EVENT_LANDING_QUALITY_MARK *******")

  elseif event.id == world.event.S_EVENT_BDA                          then

    api.TLO.LogWrite("TLC", "INFO", "******* S_EVENT_BDA *******")

  elseif event.id == world.event.S_EVENT_AI_ABORT_MISSION             then

    api.TLO.LogWrite("TLC", "INFO", "******* S_EVENT_AI_ABORT_MISSION *******")

  elseif event.id == world.event.S_EVENT_DAYNIGHT                     then

    api.TLO.LogWrite("TLC", "INFO", "******* S_EVENT_DAYNIGHT *******")

  elseif event.id == world.event.S_EVENT_FLIGHT_TIME                  then

    api.TLO.LogWrite("TLC", "INFO", "******* S_EVENT_FLIGHT_TIME *******")

  elseif event.id == world.event.S_EVENT_PLAYER_SELF_KILL_PILOT       then -- TODO

    api.TLO.LogWrite("TLC", "INFO", "******* S_EVENT_PLAYER_SELF_KILL_PILOT *******")

  elseif event.id == world.event.S_EVENT_PLAYER_CAPTURE_AIRFIELD      then

    api.TLO.LogWrite("TLC", "INFO", "******* S_EVENT_PLAYER_CAPTURE_AIRFIELD *******")

  elseif event.id == world.event.S_EVENT_EMERGENCY_LANDING            then -- TODO

    api.TLO.LogWrite("TLC", "INFO", "******* S_EVENT_EMERGENCY_LANDING *******")

  elseif event.id == world.event.S_EVENT_UNIT_CREATE_TASK             then

    api.TLO.LogWrite("TLC", "INFO", "******* S_EVENT_UNIT_CREATE_TASK *******")

  elseif event.id == world.event.S_EVENT_UNIT_DELETE_TASK             then

    api.TLO.LogWrite("TLC", "INFO", "******* S_EVENT_UNIT_DELETE_TASK *******")

  elseif event.id == world.event.S_EVENT_SIMULATION_START             then

    api.TLO.LogWrite("TLC", "INFO", "******* S_EVENT_SIMULATION_START *******")

  elseif event.id == world.event.S_EVENT_WEAPON_REARM                 then

    api.TLO.LogWrite("TLC", "INFO", "******* S_EVENT_WEAPON_REARM *******")

  elseif event.id == world.event.S_EVENT_WEAPON_DROP                  then

    api.TLO.LogWrite("TLC", "INFO", "******* S_EVENT_WEAPON_DROP *******")

  elseif event.id == world.event.S_EVENT_UNIT_TASK_TIMEOUT            then

    api.TLO.LogWrite("TLC", "INFO", "******* S_EVENT_UNIT_TASK_TIMEOUT *******")

  elseif event.id == world.event.S_EVENT_UNIT_TASK_STAGE              then

    api.TLO.LogWrite("TLC", "INFO", "******* S_EVENT_UNIT_TASK_STAGE *******")

  elseif event.id == world.event.S_EVENT_MAC_SUBTASK_SCORE              then

    api.TLO.LogWrite("TLC", "INFO", "******* S_EVENT_MAC_SUBTASK_SCORE *******")

  elseif event.id == world.event.S_EVENT_MISSION_RESTART              then

    api.TLO.LogWrite("TLC", "INFO", "******* S_EVENT_MISSION_RESTART *******")

  elseif event.id == world.event.S_EVENT_MISSION_WINNER              then

    api.TLO.LogWrite("TLC", "INFO", "******* S_EVENT_MISSION_WINNER *******")

  elseif event.id == world.event.S_EVENT_POSTPONED_TAKEOFF              then

    api.TLO.LogWrite("TLC", "INFO", "******* S_EVENT_POSTPONED_TAKEOFF *******")

  elseif event.id == world.event.S_EVENT_POSTPONED_LAND              then

    api.TLO.LogWrite("TLC", "INFO", "******* S_EVENT_POSTPONED_LAND *******")

  elseif event.id == world.event.S_EVENT_MAX              then

    api.TLO.LogWrite("TLC", "INFO", "******* S_EVENT_MAX *******")

  end

end

I have a script that will log out to DCS.log when any of these events fire.

NONE fire.

IF I change the player skill to CLIENT, they fire correctly.

As a SINGLE PLAYER with a player skill of PLAYER loading into a mission on my pc that I created as a SINGLE PLAYER mission, I expect to get the same events firing i.e. S_EVENT_PLAYER_ENTER_UNIT or S_EVENT_BIRTH

So if they're not firing, surely that's a bug?

But I can't give you a track that doesn't show anything. 

2024-02-29 12:55:35.057 INFO    VISUALIZER (Main): Preload() radius: 150000.000000
2024-02-29 12:55:35.060 INFO    EDTERRAINGRAPHICS41 (Main): ITerrainGraphicsImpl4::forceLoading(): pos=(-316282, 1998.75, 521714), radius=150000
2024-02-29 12:55:35.192 INFO    EDTERRAINGRAPHICS41 (21512): surface5 clean up LOD 0: left 1  released 0
2024-02-29 12:55:35.192 INFO    EDTERRAINGRAPHICS41 (21512): surface5 clean up LOD 1: left 1  released 0
2024-02-29 12:55:35.192 INFO    EDTERRAINGRAPHICS41 (21512): surface5 clean up 0.023900 ms
2024-02-29 12:55:36.653 WARNING BACKENDCOMMON (4888): Need to reprocess [DDS] image '/textures/F18C_1_DIFF_STAY_nm.dds'
2024-02-29 12:55:39.357 WARNING LOG (21488): 1 duplicate message(s) skipped.
2024-02-29 12:55:39.357 INFO    VISUALIZER (Main): Preload() finished
2024-02-29 12:55:39.470 INFO    Dispatcher (Main): precache units resources in slots
2024-02-29 12:55:39.470 INFO    OpenKneeboard (Main): onSimulationStart
2024-02-29 12:55:39.470 INFO    OpenKneeboard (Main): Aircraft: FA-18C_hornet
2024-02-29 12:55:39.484 INFO    TLC (Main): ******* S_EVENT_SIMULATION_START *******
2024-02-29 12:55:39.484 INFO    LUA (Main): Lua: States: 679, CPU load: 2.5%, Mem: 417.7 MB
2024-02-29 12:55:39.485 INFO    EDCORE (Main): Created game pool: h:2 n:3 l:2
2024-02-29 12:55:39.485 INFO    Dispatcher (Main): loadMission Done: Сontrol passed to the player
2024-02-29 12:55:43.858 INFO    WWT (Main): FA-18C_hornet
2024-02-29 12:55:43.873 INFO    DCS-DTC (Main): Opened connection
2024-02-29 13:00:33.037 INFO    LUA (Main): Lua: States: 679, CPU load: 1.7%, Mem: 479.1 MB
2024-02-29 13:00:34.620 INFO    Dispatcher (Main): Stop
2024-02-29 13:00:34.641 INFO    TLC (Main): ******* S_EVENT_MISSION_END *******
2024-02-29 13:00:34.684 INFO    WWT (Main): Export stop!
2024-02-29 13:00:34.993 INFO    TERRAIN (Main): lSystem::CleanScenes()
2024-02-29 13:00:35.023 INFO    VISUALIZER (21512): Stopped collection of statistic.
2024-02-29 12:49:48.000 ERROR_ONCE  (): 
2024-02-29 13:00:35.118 ERROR_ONCE DX11BACKEND (21512): render target 'uiTargetColor' not found
2024-02-29 13:00:35.118 ERROR_ONCE DX11BACKEND (21512): render target 'uiTargetDepth' not found
2024-02-29 13:00:35.118 INFO    VISUALIZER (21512): DCSSceneRenderer initialized
2024-02-29 13:00:35.149 INFO    EDCORE (Main): Created boot pool: n:12
2024-02-29 13:00:35.149 INFO    EDCORE (Main): (dDispatcher)enterToState_:3
2024-02-29 13:00:35.152 INFO    Dispatcher (Main): load terrain from ./Mods/terrains/Caucasus\terrain.cfg.lua
2024-02-29 13:00:35.176 INFO    SECURITYCONTROL (Main): Loaded mods/terrains/caucasus/terrain.cfg.lua.pak.crypt
2024-02-29 13:00:35.177 INFO    TERRAIN (Main): lSystem::load(./Mods/terrains/Caucasus\terrain.cfg.lua)
2024-02-29 13:00:35.177 INFO    TERRAIN (Main): lSystem::openSession(./Mods/terrains/Caucasus\terrain.cfg.lua)
2024-02-29 13:00:35.188 INFO    EDCORE (Main): 0.000 s  terrain references
2024-02-29 13:00:35.236 INFO    EDCORE (Main): 0.000 s  terrain models
2024-02-29 13:00:35.247 INFO    EDCORE (Main): 0.000 s  terrain assets
2024-02-29 13:00:35.261 INFO    EDCORE (Main): 0.000 s  terrain assets2
2024-02-29 13:00:35.276 INFO    EDCORE (Main): 0.000 s  terrain landfile
2024-02-29 13:00:35.290 INFO    EDCORE (Main): 0.000 s  terrain surfaceTile
2024-02-29 13:00:35.304 INFO    EDCORE (Main): 0.000 s  terrain vfstextures
2024-02-29 13:00:35.318 INFO    EDCORE (Main): 0.000 s  terrain scene
2024-02-29 13:00:35.333 INFO    EDCORE (Main): 0.000 s  terrain roaddetails
2024-02-29 13:00:35.347 INFO    EDCORE (Main): 0.000 s  terrain forest
2024-02-29 13:00:35.361 INFO    EDCORE (Main): 0.000 s  terrain routes
2024-02-29 13:00:35.376 INFO    EDCORE (Main): 0.000 s  terrain surfacedetails
2024-02-29 13:00:35.389 INFO    EDCORE (Main): 0.000 s  terrain blocks
2024-02-29 13:00:35.403 INFO    EDCORE (Main): 0.000 s  terrain superficials
2024-02-29 13:00:35.417 INFO    EDCORE (Main): 0.000 s  terrain lma
2024-02-29 13:00:35.432 INFO    EDCORE (Main): 0.000 s  terrain vectordatasettings
2024-02-29 13:00:35.446 INFO    EDCORE (Main): 0.000 s  terrain navgraph
2024-02-29 13:00:35.460 INFO    EDCORE (Main): 0.000 s  terrain vti
2024-02-29 13:00:35.460 INFO    EDTERRAIN4 (Main): terrain time: 0.282377 s
2024-02-29 13:00:35.465 INFO    TERRAIN (Main): lSystem::InitScenes()
2024-02-29 13:00:35.476 INFO    EDTERRAIN4 (Main): ITerrainContextImpl4::setTrafficDecimation(1)
2024-02-29 13:00:35.477 INFO    EDTERRAIN4 (Main): ITerrainContextImpl4::setDate( day=21, month=6)
2024-02-29 13:00:35.477 INFO    EDTERRAIN4 (Main): ITerrainContextImpl4::setTextureMode(full=1)
2024-02-29 13:00:35.478 INFO    Dispatcher (Main): load terrain done
2024-02-29 13:00:35.478 INFO    LUA-TERRAIN (Main): Init done
2024-02-29 13:00:35.490 INFO    EDTERRAIN4 (21512): ITerrainContextImpl4::setTrafficDecimation(1)
2024-02-29 13:00:35.490 INFO    EDTERRAIN4 (21512): ITerrainContextImpl4::setDate( day=21, month=6)
2024-02-29 13:00:35.490 INFO    EDTERRAIN4 (21512): ITerrainContextImpl4::setTextureMode(full=1)

 

So you can see from the DEBRIEFING screen there was supposedly an event 'took control' but there is nothing in the log, and the script hooked onEvent S_EVENT_TOOK_CONTROL never fired either.

 

Screenshot 2024-02-29 130125.png

Link to comment
Share on other sites

  • ED Team

that is helpful, now we have some data to work with. 

Supplying the related mission may also help as I can ask our team to take a look

thank you 

smallCATPILOT.PNG.04bbece1b27ff1b2c193b174ec410fc0.PNG

Forum rules - DCS Crashing? Try this first - Cleanup and Repair - Discord BIGNEWY#8703 - Youtube - Patch Status

Windows 11, NVIDIA MSI RTX 3090, Intel® i9-10900K 3.70GHz, 5.30GHz Turbo, Corsair Hydro Series H150i Pro, 64GB DDR @3200, ASUS ROG Strix Z490-F Gaming, HP Reverb G2

Link to comment
Share on other sites

So I'm getting the S_EVENT_MISSION_START and S_EVENT_MISSION_END events caught and logged. but nothing about the player coming alive, or entering unit or anything I can use about the player joining the mission.

 

Link to comment
Share on other sites

4 minutes ago, BIGNEWY said:

that is helpful, now we have some data to work with. 

Supplying the related mission may also help as I can ask our team to take a look

thank you 

The mission is completely empty apart from a PLAYER aircraft dropped on the map and a DO SCRIPT on MISSION START to load my script that has the hooking into 'onEvent'.

As I know you don't want my custom scripts, there is no point in giving the mission. Literally drop an F18 anywhere on the map, set player skill to PLAYER

1 minute ago, Night Owl said:

Check your debrief.log please. In single player events are saved there and not in the DCS.log

That's not what I'm talking about, yes the 'events' listed on the debrief screen are in debrief.log, but that's irrelevant to this bug.

Link to comment
Share on other sites

  • ED Team

this is why we ask for the track replay or the mission example it can be checked, many here willing to check it out. 

smallCATPILOT.PNG.04bbece1b27ff1b2c193b174ec410fc0.PNG

Forum rules - DCS Crashing? Try this first - Cleanup and Repair - Discord BIGNEWY#8703 - Youtube - Patch Status

Windows 11, NVIDIA MSI RTX 3090, Intel® i9-10900K 3.70GHz, 5.30GHz Turbo, Corsair Hydro Series H150i Pro, 64GB DDR @3200, ASUS ROG Strix Z490-F Gaming, HP Reverb G2

Link to comment
Share on other sites

46 minutes ago, Night Owl said:

I can't find where you add the event handler in your script. 

world.addEventHandler(TLC)

 

 

I haven’t given you my whole script. I included only the logging event function. 
 

I keep repeating but it doesn’t get through - everything works if player skill is CLIENT but not if PLAYER. 

 

SO OBVIOUSLY I’m hooking in correctly. 

Link to comment
Share on other sites

  • ED Team

Ok I have some information

Both S_EVENT_PLAYER_ENTER_UNIT and S_EVENT_PLAYER_LEAVE_UNIT are reported issues for MP. 

 

 

smallCATPILOT.PNG.04bbece1b27ff1b2c193b174ec410fc0.PNG

Forum rules - DCS Crashing? Try this first - Cleanup and Repair - Discord BIGNEWY#8703 - Youtube - Patch Status

Windows 11, NVIDIA MSI RTX 3090, Intel® i9-10900K 3.70GHz, 5.30GHz Turbo, Corsair Hydro Series H150i Pro, 64GB DDR @3200, ASUS ROG Strix Z490-F Gaming, HP Reverb G2

Link to comment
Share on other sites

When you run a SP mission with a player slot, the simulation starts at the same time as the player spawns, so you won't get an ENTER_UNIT event. There is also no point in having them since they will always be at the exact same time the simulation starts.

But with client slots, the mission starts before you select a spawn, so you will get these events. 

  • Like 1
Link to comment
Share on other sites

I've verified S_EVENT_PLAYER_ENTER_UNIT and S_EVENT_PLAYER_LEAVE_UNIT on the current public build.
From Mission Editor, as client or player slot, both work.
From MP, both work as the host only.
From MP as a client, both fail to fire, as already reported.

S_EVENT_BIRTH was fine in all circumstances
S_EVENT_TOOK_CONTROL, I have never seen work.Never used it an dnot sure how its supposed to work.

We did see that you can additionally not get the S_EVENT_PLAYER_ENTER_UNIT to trigger if the script is launched in a single player mission with no other slots (true player experience) but this is due to a timing issue as the script and player begin running at the same time. It's expected.

It would have saved a lot of time if the script or mission had been supplied in a working state.

___________________________________________________________________________

SIMPLE SCENERY SAVING * SIMPLE GROUP SAVING * SIMPLE STATIC SAVING *

Link to comment
Share on other sites

2 hours ago, BIGNEWY said:

Ok I have some information

Both S_EVENT_PLAYER_ENTER_UNIT and S_EVENT_PLAYER_LEAVE_UNIT are reported issues for MP. 

 

 

I know they are. 

I'm failing  to understand how what I've written is confusing everyone. 

They are NOT WOKRING IN SINGLE PLAYER (I.E. No 'Dedicated Server', No Multiplayer server). I said this in the first post

These are NOT firing for SINGLE PLAYER where pilot skill level is PLAYER running on a single normal PC running DCS NOT DCS SERVER.

 

7 minutes ago, Pikey said:

I've verified S_EVENT_PLAYER_ENTER_UNIT and S_EVENT_PLAYER_LEAVE_UNIT on the current public build.
From Mission Editor, as client or player slot, both work.
From MP, both work as the host only.
From MP as a client, both fail to fire, as already reported.

S_EVENT_BIRTH was fine in all circumstances
S_EVENT_TOOK_CONTROL, I have never seen work.Never used it an dnot sure how its supposed to work.

We did see that you can additionally not get the S_EVENT_PLAYER_ENTER_UNIT to trigger if the script is launched in a single player mission with no other slots (true player experience) but this is due to a timing issue as the script and player begin running at the same time. It's expected.

It would have saved a lot of time if the script or mission had been supplied in a working state.

Every time I've previously reported a bug that I've found using my scripts, you lot have always told me 'DON'T SUPPLY YOUR SCRIPTS OR A MISSION WITH YOUR SCRIPTS'. 

And if you scroll up you can see the DCS.log that shows that NO BIRTH OR ENTER UNIT are firing.

 

Link to comment
Share on other sites

8 minutes ago, Elphaba said:

I know they are. 

I'm failing  to understand how what I've written is confusing everyone. 

They are NOT WOKRING IN SINGLE PLAYER (I.E. No 'Dedicated Server', No Multiplayer server). I said this in the first post

These are NOT firing for SINGLE PLAYER where pilot skill level is PLAYER running on a single normal PC running DCS NOT DCS SERVER.

 

Every time I've previously reported a bug that I've found using my scripts, you lot have always told me 'DON'T SUPPLY YOUR SCRIPTS OR A MISSION WITH YOUR SCRIPTS'. 

And if you scroll up you can see the DCS.log that shows that NO BIRTH OR ENTER UNIT are firing.

 

I tested it, its working.

___________________________________________________________________________

SIMPLE SCENERY SAVING * SIMPLE GROUP SAVING * SIMPLE STATIC SAVING *

Link to comment
Share on other sites

Okay, just to prove it again:

Same mission file, same script.

This time the player skill level is CLIENT

Here's the log:

2024-02-29 17:02:39.063 INFO    COCKPITBASE (Main): WebRTC VOIP init: registered radio receiver "ARC-210 Guard Receiver" with id - 3
2024-02-29 17:02:39.063 INFO    COCKPITBASE (Main): WebRTC VOIP init: added guard receiver - ARC-210 Guard Receiver
2024-02-29 17:02:41.883 WARNING WORLD (Main): ModelTimeQuantizer: ANTIFREEZE ENABLED
2024-02-29 17:02:41.883 INFO    DCS-DTC (Main): Opened connection
2024-02-29 17:02:41.911 INFO    COCKPITBASE (Main): WebRTC VOIP init: registered radio receiver "Base TACAN receiver" with id - 4
2024-02-29 17:02:41.911 INFO    COCKPITBASE (Main): lua state still active MACROS, 55 (status undefined)
2024-02-29 17:02:41.912 INFO    COCKPITBASE (Main): lua state still active TGP_INTERFACE, 62 (status undefined)
2024-02-29 17:02:41.924 INFO    SCRIPTING (Main): ******* S_EVENT_BIRTH *******
2024-02-29 17:02:41.925 INFO    SCRIPTING (Main): ******* S_EVENT_PLAYER_ENTER_UNIT *******

2024-02-29 17:02:41.925 INFO    WORLDGENERAL (Main): loaded from mission Scripts/World/birds.lua
2024-02-29 17:02:41.925 INFO    APP (Main): dbox not found , skip
2024-02-29 17:02:41.959 INFO    LUA (Main): Lua: States: 679, CPU load: 4.0%, Mem: 437.9 MB
2024-02-29 17:02:41.960 INFO    EDTERRAINGRAPHICS41 (6316):     surface5 gc() LOD 0 4 squares
2024-02-29 17:02:41.960 INFO    EDTERRAINGRAPHICS41 (6316):     surface5 gc() LOD 1 8 squares
2024-02-29 17:02:41.961 INFO    EDTERRAINGRAPHICS41 (6316):     surface5 gc() LOD 2 8 squares
2024-02-29 17:02:41.961 INFO    EDTERRAINGRAPHICS41 (6316):     surface5 gc() LOD 3 27 squares
2024-02-29 17:02:41.961 INFO    EDTERRAINGRAPHICS41 (6316): surface5 gc() 1.711100 ms
2024-02-29 17:02:43.372 INFO    WWT (Main): FA-18C_hornet
2024-02-29 17:02:44.642 WARNING BACKENDCOMMON (5448): Need to reprocess [DDS] image '/textures/F18C_1_DIFF_STAY_nm.dds'

 

And here is the log when player skill is set to PLAYER

2024-02-29 17:05:18.934 INFO    COCKPITBASE (Main): WebRTC VOIP init: registered radio receiver "ARC-210 Guard Receiver" with id - 3
2024-02-29 17:05:18.934 INFO    COCKPITBASE (Main): WebRTC VOIP init: added guard receiver - ARC-210 Guard Receiver
2024-02-29 17:05:21.559 INFO    COCKPITBASE (Main): WebRTC VOIP init: registered radio receiver "Base TACAN receiver" with id - 4
2024-02-29 17:05:21.559 INFO    COCKPITBASE (Main): lua state still active MACROS, 55 (status undefined)
2024-02-29 17:05:21.560 INFO    COCKPITBASE (Main): lua state still active TGP_INTERFACE, 62 (status undefined)
2024-02-29 17:05:21.570 INFO    WORLDGENERAL (Main): loaded from mission Scripts/World/birds.lua
2024-02-29 17:05:21.596 INFO    WWT (Main): Winwing export installed!
2024-02-29 17:05:21.596 INFO    WWT (Main): Export start!
2024-02-29 17:05:21.596 INFO    DCS-DTC (Main): Initialized DTC
2024-02-29 17:05:21.623 INFO    VISUALIZER (Main): Preload() radius: 150000.000000
2024-02-29 17:05:21.626 INFO    EDTERRAINGRAPHICS41 (Main): ITerrainGraphicsImpl4::forceLoading(): pos=(-316282, 1998.75, 521714), radius=150000
2024-02-29 17:05:21.751 INFO    EDTERRAINGRAPHICS41 (6316): surface5 clean up LOD 0: left 1  released 0
2024-02-29 17:05:21.751 INFO    EDTERRAINGRAPHICS41 (6316): surface5 clean up LOD 1: left 1  released 0
2024-02-29 17:05:21.751 INFO    EDTERRAINGRAPHICS41 (6316): surface5 clean up 0.031700 ms
2024-02-29 17:05:23.286 WARNING BACKENDCOMMON (3388): Need to reprocess [DDS] image '/textures/F18C_1_DIFF_STAY_nm.dds'
2024-02-29 17:05:25.983 WARNING LOG (2172): 1 duplicate message(s) skipped.
2024-02-29 17:05:25.983 INFO    VISUALIZER (Main): Preload() finished
2024-02-29 17:05:26.102 INFO    Dispatcher (Main): precache units resources in slots
2024-02-29 17:05:26.102 INFO    OpenKneeboard (Main): onSimulationStart
2024-02-29 17:05:26.102 INFO    OpenKneeboard (Main): Aircraft: FA-18C_hornet
2024-02-29 17:05:26.113 INFO    SCRIPTING (Main): ******* S_EVENT_SIMULATION_START *******
2024-02-29 17:05:26.113 INFO    LUA (Main): Lua: States: 679, CPU load: 2.0%, Mem: 445.2 MB
2024-02-29 17:05:26.114 INFO    EDCORE (Main): Created game pool: h:2 n:3 l:2
2024-02-29 17:05:26.114 INFO    Dispatcher (Main): loadMission Done: Сontrol passed to the player
2024-02-29 17:05:26.140 INFO    DXGUI_WIN_ADAPTER (Main): resize main window to [1920, 1080]
2024-02-29 17:06:25.478 INFO    WWT (Main): FA-18C_hornet
2024-02-29 17:06:25.493 INFO    DCS-DTC (Main): Opened connection
 

NOTICE THERE ARE NO BIRTH OR ENTER UNIT LOGS.


Here is the mission file

emptyMissionBarPlayerAircraft.miz

Here is the script 

EventFailureDemo.lua

40 minutes ago, Night Owl said:

When you run a SP mission with a player slot, the simulation starts at the same time as the player spawns, so you won't get an ENTER_UNIT event. There is also no point in having them since they will always be at the exact same time the simulation starts.

But with client slots, the mission starts before you select a spawn, so you will get these events. 

Shouldn't you still get a birth event? 

Link to comment
Share on other sites

  • Solution
30 minutes ago, Pikey said:

We did see that you can additionally not get the S_EVENT_PLAYER_ENTER_UNIT to trigger if the script is launched in a single player mission with no other slots (true player experience) but this is due to a timing issue as the script and player begin running at the same time. It's expected.

If there's nothing else playable, Player enter unit wont fire at the same time as the mission starts. You can see this happen if you add anything else playable. In this circumstance player enter unit is the same as mission start. It fires whenever the player is in the game but hasn't taken a slot.
Same as birth.
There's several of these events that have never been implemented properly and/or have quirky interactions in SP/MP as host/MP as client.

Is there something you are trying to achieve (rather than testing the events) let me know.

___________________________________________________________________________

SIMPLE SCENERY SAVING * SIMPLE GROUP SAVING * SIMPLE STATIC SAVING *

Link to comment
Share on other sites

7 minutes ago, Pikey said:

If there's nothing else playable, Player enter unit wont fire at the same time as the mission starts. You can see this happen if you add anything else playable. In this circumstance player enter unit is the same as mission start. It fires whenever the player is in the game but hasn't taken a slot.
Same as birth.
There's several of these events that have never been implemented properly and/or have quirky interactions in SP/MP as host/MP as client.

Is there something you are trying to achieve (rather than testing the events) let me know.

So Birth doesn't mean birth in single player...

Sigh, okay.

So now I'm going to need to determine from just 'MISSION_START' if the mission is running Single Player or Multiplayer. 

:?

But yeah, this is a problem. Because when a player loads into an aircraft, I run a whole slew of scripts (Carrier Control, Airbase and Diversions, ATIS, Asset Control, Tanker and AWACS controllers, Interception Engine, etc etc etc.)

But for all those scripts to work I need the players UNIT. 

I normally get the unit from the Birth or Enter Unit events. 

But now, in single player, with nothing firing, my scripts now have to somehow 'KNOW' that the mission is running single player AND find the players UNIT all from the MISSION START event - but when in Multiplayer, I won't do any of that and I'll wait for the proper events to fire... 

<head in hands>

That's what I'm now trying to achieve. 

And because the Mission Start event has no useful information in the initiator (https://wiki.hoggitworld.com/view/DCS_event_mission_start) then I'm kinda buggered.


Edited by Elphaba
Link to comment
Share on other sites

You can just set the slots to client, even if used as single player, and it will give you the desired event. By selecting player you define that there is just one player which spawns at exactly mission start, so any birth event is pointless.

But in general you can't expect to have the same scripts work both in single player and multiplayer. Several things work differently in multiplayer

Link to comment
Share on other sites

1 minute ago, Night Owl said:

You can just set the slots to client, even if used as single player, and it will give you the desired event. By selecting player you define that there is just one player which spawns at exactly mission start, so any birth event is pointless.

But in general you can't expect to have the same scripts work both in single player and multiplayer. Several things work differently in multiplayer

I can do that if I'm in control of the missions, but not if they're out in the wild. 

I was trying to cover all eventualities in my scripts so no matter what the end users did, it would cope. 

Link to comment
Share on other sites

Hmm, thats a tough one. I had a quesiton before how does the script know if it is running on a server or not. WIthout anything else, only in the mission environment im not sure it is possible without either the plugin environment or some other check.
Basically seems like you need to know that so you can write the script to cope with the differences in MP or SP (or host/client). I don't know how to do that in only the mission scripting off the top of my head. Anyone have an idea?
It might be easiest to put a client down for a TF-51 that no one will use to just get all the right birth and enter unit events.

___________________________________________________________________________

SIMPLE SCENERY SAVING * SIMPLE GROUP SAVING * SIMPLE STATIC SAVING *

Link to comment
Share on other sites

  • Recently Browsing   0 members

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