Search the Community
Showing results for tags 'events'.
-
As title says. Too many times interesting and dynamic missions are impossible to create because key events, or architecture is crippled, especially for Multiplayer. Multiplayer Paid Campaigns would be a wonderful addition to DCS but until the architecture is unified and expanded such things are virtually impossible. We need to be able to have better (or any) debugging tools for individual mission/campaign creators to be able to build complex multiplayer missions on their own and know that everything - from detecting radio frequency settings PER UNIT is shared from all clients to the server - to knowing when a client joins as a backseater and to what unit etc.
-
Dear Everyone We are proud to invite you all to join our upcoming event in the next ten days to commemorate Aerospace Day and celebrate the 78th anniversary of the Indonesian Air Force. The event is "10 DAYS WAR - Operation Desert Fury" and you can find the guidelines here Guide Here There are 2 Official DCS Modules awaiting you, featuring the best PVP and Ground Attack categories. These parameters will be calculated using the DCS Bot. Let's invite your friends along and make this event a memorable one! Sincerely!
- 3 replies
-
- pvp
- dynamic campaign
-
(and 1 more)
Tagged with:
-
Don't know when this happened, but I think it's very recent, but the event is no longer firing for either player aircraft skill level set to PLAYER or set to CLIENT. Attached are two missions using the same script (one for Single Player one for CLIENT/MP) If you look at the dcs.log you'll see that the event never fires. SinglePlayerSpawn.mizClientPlayerSpawn.miz Here's the script, it's loaded in each mission file by the DO SCRIPT command: MSB = { ["Version"] = "1.0.0" } function MSB:onEvent(event) env.info("MSB:onEvent Handler ENTERED", false) if event.id == world.event.S_EVENT_SHOT then env.info("MSB/OnEvent: ******* S_EVENT_SHOT *******", false) elseif event.id == world.event.S_EVENT_HIT then env.info("MSB/OnEvent: ******* S_EVENT_HIT *******", false) elseif event.id == world.event.S_EVENT_TAKEOFF then env.info("MSB/OnEvent: *******************************", false) env.info("MSB/OnEvent: ******* S_EVENT_TAKEOFF *******", false) env.info("MSB/OnEvent: *******************************", false) elseif event.id == world.event.S_EVENT_LAND then -- TODO env.info("MSB/OnEvent: ****************************", false) env.info("MSB/OnEvent: ******* S_EVENT_LAND *******", false) env.info("MSB/OnEvent: ****************************", false) elseif event.id == world.event.S_EVENT_CRASH then env.info("MSB/OnEvent: ******* S_EVENT_CRASH *******", false) elseif event.id == world.event.S_EVENT_EJECTION then -- TODO env.info("MSB/OnEvent: ********************************", false) env.info("MSB/OnEvent: ******* S_EVENT_EJECTION *******", false) env.info("MSB/OnEvent: ********************************", false) elseif event.id == world.event.S_EVENT_REFUELING then env.info("MSB/OnEvent: ******* S_EVENT_REFUELING *******", false) elseif event.id == world.event.S_EVENT_DEAD then env.info("MSB/OnEvent: ****************************", false) env.info("MSB/OnEvent: ******* S_EVENT_DEAD *******", false) env.info("MSB/OnEvent: ****************************", false) elseif event.id == world.event.S_EVENT_PILOT_DEAD then env.info("MSB/OnEvent: **********************************", false) env.info("MSB/OnEvent: ******* S_EVENT_PILOT_DEAD *******", false) env.info("MSB/OnEvent: **********************************", false) elseif event.id == world.event.S_EVENT_BASE_CAPTURED then env.info("MSB/OnEvent: ******* S_EVENT_BASE_CAPTURED *******", false) elseif event.id == world.event.S_EVENT_MISSION_START then env.info("MSB/OnEvent: *************************************", false) env.info("MSB/OnEvent: ******* S_EVENT_MISSION_START *******", false) env.info("MSB/OnEvent: *************************************", false) elseif event.id == world.event.S_EVENT_MISSION_END then env.info("MSB/OnEvent: ******* S_EVENT_MISSION_END *******", false) elseif event.id == world.event.S_EVENT_TOOK_CONTROL then env.info("MSB/OnEvent: ******* S_EVENT_TOOK_CONTROL *******", false) elseif event.id == world.event.S_EVENT_REFUELING_STOP then env.info("MSB/OnEvent: ******* S_EVENT_REFUELING_STOP *******", false) elseif event.id == world.event.S_EVENT_BIRTH then env.info("MSB/OnEvent: *****************************", false) env.info("MSB/OnEvent: ******* S_EVENT_BIRTH *******", false) env.info("MSB/OnEvent: *****************************", false) elseif event.id == world.event.S_EVENT_HUMAN_FAILURE then env.info("MSB/OnEvent: ******* S_EVENT_HUMAN_FAILURE *******", false) elseif event.id == world.event.S_EVENT_DETAILED_FAILURE then env.info("MSB/OnEvent: ******* S_EVENT_DETAILED_FAILURE *******", false) elseif event.id == world.event.S_EVENT_ENGINE_STARTUP then env.info("MSB/OnEvent: ******* S_EVENT_ENGINE_STARTUP *******", false) elseif event.id == world.event.S_EVENT_ENGINE_SHUTDOWN then env.info("MSB/OnEvent: ******* S_EVENT_ENGINE_SHUTDOWN *******", false) elseif event.id == world.event.S_EVENT_PLAYER_ENTER_UNIT then -- DOESN'T WORK FOR MP AND 'NEVER WILL' /FFS env.info("MSB/OnEvent: *****************************************", false) env.info("MSB/OnEvent: ******* S_EVENT_PLAYER_ENTER_UNIT *******", false) env.info("MSB/OnEvent: *****************************************", false) elseif event.id == world.event.S_EVENT_PLAYER_LEAVE_UNIT then env.info("MSB/OnEvent: ******* S_EVENT_PLAYER_LEAVE_UNIT *******", false) elseif event.id == world.event.S_EVENT_PLAYER_COMMENT then env.info("MSB/OnEvent: ******* S_EVENT_PLAYER_COMMENT *******", false) elseif event.id == world.event.S_EVENT_SHOOTING_START then env.info("MSB/OnEvent: **************************************", false) env.info("MSB/OnEvent: ******* S_EVENT_SHOOTING_START *******", false) env.info("MSB/OnEvent: **************************************", false) elseif event.id == world.event.S_EVENT_SHOOTING_END then env.info("MSB/OnEvent: ******* S_EVENT_SHOOTING_END *******", false) elseif event.id == world.event.S_EVENT_MARK_ADDED then env.info("MSB/OnEvent: ******* S_EVENT_MARK_ADDED *******", false) elseif event.id == world.event.S_EVENT_MARK_CHANGE then env.info("MSB/OnEvent: ******* S_EVENT_MARK_CHANGE *******", false) elseif event.id == world.event.S_EVENT_MARK_REMOVED then env.info("MSB/OnEvent: ******* S_EVENT_MARK_REMOVED *******", false) elseif event.id == world.event.S_EVENT_KILL then env.info("MSB/OnEvent: ******* S_EVENT_KILL *******", false) elseif event.id == world.event.S_EVENT_SCORE then env.info("MSB/OnEvent: ******* S_EVENT_SCORE *******", false) elseif event.id == world.event.S_EVENT_UNIT_LOST then env.info("MSB/OnEvent: ******* S_EVENT_UNIT_LOST *******", false) elseif event.id == world.event.S_EVENT_LANDING_AFTER_EJECTION then env.info("MSB/OnEvent: ******* S_EVENT_LANDING_AFTER_EJECTION *******", false) elseif event.id == world.event.S_EVENT_PARATROOPER_LENDING then env.info("MSB/OnEvent: ******* S_EVENT_PARATROOPER_LENDING *******", false) elseif event.id == world.event.S_EVENT_DISCARD_CHAIR_AFTER_EJECTION then env.info("MSB/OnEvent: ******* S_EVENT_DISCARD_CHAIR_AFTER_EJECTION *******", false) elseif event.id == world.event.S_EVENT_WEAPON_ADD then env.info("MSB/OnEvent: ******* S_EVENT_WEAPON_ADD *******", false) elseif event.id == world.event.S_EVENT_TRIGGER_ZONE then env.info("MSB/OnEvent: *****************************************", false) env.info("MSB/OnEvent: ******** S_EVENT_TRIGGER_ZONE *******", false) env.info("MSB/OnEvent: *** S_EVENT_TRIGGER_ZONE ***", false) env.info("MSB/OnEvent: ******** S_EVENT_TRIGGER_ZONE *******", false) env.info("MSB/OnEvent: *****************************************", false) elseif event.id == world.event.S_EVENT_LANDING_QUALITY_MARK then env.info("MSB/OnEvent: ******* S_EVENT_LANDING_QUALITY_MARK *******", false) elseif event.id == world.event.S_EVENT_BDA then env.info("MSB/OnEvent: ******* S_EVENT_BDA *******", false) elseif event.id == world.event.S_EVENT_AI_ABORT_MISSION then env.info("MSB/OnEvent: ******* S_EVENT_AI_ABORT_MISSION *******", false) elseif event.id == world.event.S_EVENT_DAYNIGHT then env.info("MSB/OnEvent: ******* S_EVENT_DAYNIGHT *******", false) elseif event.id == world.event.S_EVENT_FLIGHT_TIME then env.info("MSB/OnEvent: ******* S_EVENT_FLIGHT_TIME *******", false) elseif event.id == world.event.S_EVENT_PLAYER_SELF_KILL_PILOT then env.info("MSB/OnEvent: ******* S_EVENT_PLAYER_SELF_KILL_PILOT *******", false) elseif event.id == world.event.S_EVENT_PLAYER_CAPTURE_AIRFIELD then env.info("MSB/OnEvent: ******* S_EVENT_PLAYER_CAPTURE_AIRFIELD *******", false) elseif event.id == world.event.S_EVENT_EMERGENCY_LANDING then env.info("MSB/OnEvent: ******* S_EVENT_EMERGENCY_LANDING *******", false) elseif event.id == world.event.S_EVENT_UNIT_CREATE_TASK then env.info("MSB/OnEvent: ******* S_EVENT_UNIT_CREATE_TASK *******", false) elseif event.id == world.event.S_EVENT_UNIT_DELETE_TASK then env.info("MSB/OnEvent: ******* S_EVENT_UNIT_DELETE_TASK *******", false) elseif event.id == world.event.S_EVENT_SIMULATION_START then env.info("MSB/OnEvent: ****************************************", false) env.info("MSB/OnEvent: ******* S_EVENT_SIMULATION_START *******", false) env.info("MSB/OnEvent: ****************************************", false) elseif event.id == world.event.S_EVENT_WEAPON_REARM then env.info("MSB/OnEvent: ******* S_EVENT_WEAPON_REARM *******", false) elseif event.id == world.event.S_EVENT_WEAPON_DROP then env.info("MSB/OnEvent: ******* S_EVENT_WEAPON_DROP *******", false) elseif event.id == world.event.S_EVENT_UNIT_TASK_TIMEOUT then env.info("MSB/OnEvent: ******* S_EVENT_UNIT_TASK_TIMEOUT *******", false) elseif event.id == world.event.S_EVENT_UNIT_TASK_STAGE then env.info("MSB/OnEvent: ******* S_EVENT_UNIT_TASK_STAGE *******", false) elseif event.id == world.event.S_EVENT_MAC_SUBTASK_SCORE then env.info("MSB/OnEvent: ******* S_EVENT_MAC_SUBTASK_SCORE *******", false) elseif event.id == world.event.S_EVENT_MISSION_RESTART then env.info("MSB/OnEvent: ******* S_EVENT_MISSION_RESTART *******", false) elseif event.id == world.event.S_EVENT_MISSION_WINNER then env.info("MSB/OnEvent: ******* S_EVENT_MISSION_WINNER *******", false) elseif event.id == world.event.S_EVENT_POSTPONED_TAKEOFF then env.info("MSB/OnEvent: ******* S_EVENT_POSTPONED_TAKEOFF *******", false) elseif event.id == world.event.S_EVENT_POSTPONED_LAND then env.info("MSB/OnEvent: ******* S_EVENT_POSTPONED_LAND *******", false) elseif event.id == world.event.S_EVENT_MAX then env.info("MSB/OnEvent: ******* S_EVENT_MAX *******", false) end end function MSB.Initialise() world.addEventHandler(MSB) env.info("MSB LOADED", false) end MSB.Initialise()
-
Assuming that nothing in the Mission Editor has been setup i.e. naming the Pilot something with 'RIO' in their playerName etc. Is it even possible from when they just into the back seat to know that they aren't the pilot from an onBirth or onEnterUnit event - obviously this is in MP or even dedicated server environment.
-
I have the following events handled (amongst all the others) S_EVENT_PLAYER_ENTER_UNIT S_EVENT_PLAYER_LEAVE_UNIT When I enter the F14, I see a S_EVENT_BIRTH followed by a S_EVENT_PLAYER_ENTER_UNIT. Then I ask my RIO to join in, I get the on-screen allow someone to join dialog (would be nice if this could have a keybinding as finding the mouse pointer esp in VR is a pita) and then I click allow... After a few seconds I get the blue banner saying my RIO has joined, and he confirms he's in the back. Yet NO events fire. Nothing. But when he jumps out, I get the expected S_EVENT_PLAYER_LEAVE_UNIT to fire. Obviously I can't give you a track or anything because you need two people and a multi-crew aircraft to do this, but it's a simple test. Without the S_EVENT_PLAYER_ENTER_UNIT event firing then it's impossible for my Player Manager to work out that they are a backseater and set things up accordingly.
- 5 replies
-
- scripting engine
- events
-
(and 3 more)
Tagged with:
-
2024-03-15 15:03:25.614 INFO TLC (Main): onEvent ENTERED 2024-03-15 15:03:25.614 INFO TLC (Main): ******* S_EVENT_PLAYER_LEAVE_UNIT ******* 2024-03-15 15:03:25.615 INFO TLC (Main): onEvent ENTERED 2024-03-15 15:03:25.615 INFO TLC (Main): ******* S_EVENT_PLAYER_LEAVE_UNIT ******* Can anyone else confirm this bug?
-
In open beta 2.8.6.41363, the behavior of S_EVENT_REFUELING and S_EVENT_REFUELING_STOP have changed. Single player still behaves the same as prior builds, but multiplayer has changed significantly. In single player mode, when USER connects to TANKER, event S_EVENT_REFUELING fires. The event.initiator is the USER's unit. When the USER disconnects, event S_EVENT_REFUELING_STOP fires. That event.initiator is also the USER's unit. The behavior is the same for both single threaded and multi threaded clients. This is consistent behavior as observed in prior builds. Multi player used to work the same way. But in 2.8.6.41363 the online behavior has changed. Now, when a USER connects to TANKER, event S_EVENT_REFUELING fires but the event.initiator is the TANKER instead of the USER. Furthermore, when the USER disconnects two S_EVENT_REFUELING_STOP events fire. The first lists the TANKER as the event.initiator. The second lists the USER as the event.initiator. Prior to 2.8.6.41363, start and stop events with the USER as the initiator fired in both online and offline play. Now, without an event indicating when the USER initiated refueling, it's impossible to monitor (and grade) the duration of players' refueling attempts. Please re-institute an S_EVENT_REFUELING event with the USER as the initiator in the multiplayer environment, to be consistent with both offline play and prior builds. ----Attachments--- Here are the relevant lines from the log file. Note the first line shows refueling started with the S-3 as the initiator. Then there are two refueling stop events, one for the tanker and one for the hornet. Server track file is also attached. 2023-07-05 03:14:22.571 INFO Scripting (Main): event:initiator_unit_type=S-3B Tanker,type=refuel,initiator_object_id=16894209,initiator_ws_type1=1,t=178.416,initiator_coalition=2,initiatorMissionID=1768, 2023-07-05 03:14:22.571 INFO APP (Main): wcTanker::onEvent:6 2023-07-05 03:14:22.571 INFO EDCORE (Main): (wcTanker::Channel)enterToState_:4 2023-07-05 03:14:25.591 INFO APP (Main): wcTanker::onEvent:9 2023-07-05 03:14:25.591 INFO EDCORE (Main): (wcTanker::Channel)enterToState_:5 2023-07-05 03:14:34.763 INFO APP (Main): wcTanker::onEvent:10 2023-07-05 03:14:34.763 INFO EDCORE (Main): (wcTanker::Channel)enterToState_:4 2023-07-05 03:14:34.763 INFO Scripting (Main): event:initiator_unit_type=S-3B Tanker,type=refuel stop,initiator_object_id=16894209,initiator_ws_type1=1,t=190.609,initiator_coalition=2,initiatorMissionID=1768, 2023-07-05 03:14:34.763 INFO APP (Main): wcTanker::onEvent:7 2023-07-05 03:14:34.763 INFO Scripting (Main): event:initiator_unit_type=FA-18C_hornet,type=refuel stop,initiatorPilotName=Thunk,initiator_coalition=2,initiator_ws_type1=1,t=190.609,initiator_object_id=16779010,initiatorMissionID=1767, server-20230704-211052.trk
-
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?
-
Hello DCS Players, My Names Moose and my friends and i have been working on a little project we call ALLIED COMMAND. Basically we mixed Board Game rules into DCS using it as the board / battlefield for WWII Assets. Here is a Little Trailer Video we have produced to show a bit about what it is. A rules sheet has been developed. SYNOPSIS: Players are given a map (Caucasus) doctored up to look like Europe (This map was selected to the bar for entry would be low). Players are given army groups of different types which they must decide where to deploy on the map. Much like Axis and Allies. Once the battlefield has been determined the mission is created and the battle will be fought. Once the outcome has been decided then the post battle assessment is done and the next turn is started. Here is a link to the video. ALLIED COMMAND VIDEO Here is the link to the SILVER BEARDS Discord for if you have any questions or would like to get involved in the Mission. https://discord.gg/Xzkq2PXV We intend for these missions to be conducted in a Mil-Sim environment where we create flights of WWII aircraft and reach out to destroy the enemy armies on the ground before they can destroy ours. PVE at first. 2 - Lives limit exist for each player per battle played. (Meaning if you do not successfully punch-out or belly land 2x) you will become a spectator for the remainder of the round. Best of luck flying and hope to see some of your inquiries.
-
It's long been known that this trigger is unreliable or dysfunctional for most applications. There has been comments made that this maybe be a placeholder or has some 'unknown' workings. However, it's exposed in the DCS Scripting Engine API. Therefore it SHOULD be documented and fully working. As it's the ONLY possible event trigger relating to units/groups ENTERING or LEAVING a trigger zone, this is a truly crucial and valuable event to hook into. Kindly, like the 'menuItemsForUnits' and the broken ' S_EVENT_PLAYER_ENTER_UNIT for MP Dedicated servers, consider this an urgent fix that would enable a huge amount of efficiency and power to the scripting engine and functionality for all mission designers.