Jump to content

Important ! possible Bug im MCM System found.


Recommended Posts

Important !!! possible Bug im MCM System found.

Hello,

I think I have discovered a serious bug in MCM. After days of testing I am pretty sure.

Problem: With some mods the hotkeys do not always work, only after reloading FO4 again or several times.

Cause: If there is a second script attached to the main quest or controller quest and the 'SendEvent' method is defined as hotkey trigger in the keybinds.json, MCM does not find the right script and the event 'OnControlUp' or 'OnControlDown' is not triggered. Sometimes the correct script is selected. This seems to depend on coincidence. After reloading FO4 several times (only the save is not enough) it works and the event is triggered.

Test environment: No mods, except the MCM demo mod. I modified it to add a second demo script (MCM_DemoScript1) to the MCM Demo Quest. I redirected the Keybinds.json via the property "scriptName" to the second script, in which the event 'OnControlup' and 'OnControlDown' should be triggered on keypress. The text was called "Demo Script 2: Control up/Down" in the second script and "Control: ...." in the first script so that I could see which script triggered the event.

Purpose of the test: I wanted that ALWAYS the second script (script defined by me) is triggered with the event and it does not depend on randomness whether the hotkey works or not.

Result: Sometimes the event was triggered in the first script, sometimes in the second. The change took place after reloading FO4. It seems to be random which script is triggered.

Solution: The only solution I found so far is not to attach a second script to the controller quest. Of course, this is not a good satisfactory solution. Especially if modders don't know this problem and try to find this bug in their mods.

I hope I can warn modders to be careful if they use hotkey MCM event 'OnControllerUp' or 'OnControllerDown' as hotkey trigger and want to attach or have already attached a second script to their controller quest.


Modified MCM Demo 'keybinds.json':

      "id": "demoHotkey4",
      "desc": "Notification Demo",
      "action": {
        "type": "SendEvent",
        "form": "MCM_Demo.esp|800",
        "scriptName": "MCM_DemoScript1"

Modified MCM Demo 'MCM_Demo', renamed in 'MCM_DemoScript1'

Event OnControlDown(string asKeybindID)
    Debug.Notification("DemoScript Nr 1:Control down: " + asKeybindID)
EndEvent

Event OnControlUp(string asKeybindID, float time)
    Debug.Notification("DemoScript Nr 1:Control up: " + asKeybindID + " held for " + time + " s")
EndEvent
Edited by EagleFour
Link to comment
Share on other sites

  • Recently Browsing   0 members

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