Skip to content

Reporting Issues with ScheduleLua ​

This guide explains how to effectively report issues with ScheduleLua to help the development team quickly understand, reproduce, and fix problems.

Beta Software Notice: ScheduleLua is in active development. Before reporting, please check if your issue is already known or fixed in a newer version.

Before Reporting an Issue ​

Before submitting a new issue, please:

  1. Check the known issues: Review the Known Issues to see if your problem is already documented
  2. Search existing issues: Check if someone has already reported the same problem
  3. Update to the latest version: Ensure you're using the most recent version of ScheduleLua
  4. Try simple troubleshooting: Disable other mods, restart the game, or try a clean install

Where to Report Issues ​

Issues can be reported through:

How to Write a Good Bug Report ​

A good bug report should include:

1. Clear and Descriptive Title ​

Provide a concise title that summarizes the issue.

Good: "Game crashes when using Registry API in OnSceneLoaded hook"
Bad: "Game crashes" or "Help please"

2. Environment Information ​

Include details about your setup:

  • ScheduleLua version
  • Schedule I game version
  • MelonLoader version
  • Operating system
  • Other mods installed (if any)
  • Hardware specs (if relevant)

3. Steps to Reproduce ​

Provide detailed, step-by-step instructions to reproduce the issue:

1. Start a new game
2. Load the attached script
3. Enter the shop
4. Open the inventory menu
5. Click on an item

4. Expected vs. Actual Behavior ​

Clearly describe:

  • What you expected to happen
  • What actually happened

5. Error Messages and Logs ​

Include any error messages or stack traces. Attach the full logs from:

  • MelonLoader console output
  • MelonLoader/Latest.log
  • Windows Event Viewer (if applicable)

6. Screenshots or Videos ​

If possible, include visual evidence of the issue, especially for UI problems or visual glitches.

7. Sample Code ​

For script-related issues, provide the simplest code example that reproduces the problem:

lua
-- Minimal example demonstrating the issue
function OnSceneLoaded(sceneName)
    local item = GetItem("itemid")  -- This line causes a crash
    Log(item.name)
end

Tip: The more specific and detailed your bug report is, the faster we can identify and fix the issue.

Example Bug Report Template ​

When submitting a bug report, please use the following format:

Bug Report Example
Title: Game crashes when accessing Registry items during scene transition

Environment:
- ScheduleLua v0.1.0
- Schedule I v0.3.4
- MelonLoader v0.7.0
- No other mods installed

Steps to Reproduce:
1. Start a new game
2. Run the attached script
3. Travel from Home to Downtown
4. The game crashes during loading

Expected Behavior:
The script should wait until the Registry is ready before accessing items.

Actual Behavior:
Game crashes with NullReferenceException during scene loading.

Error Message:
NullReferenceException: Object reference not set to an instance of an object
at ScheduleLua.RegistryAPI.GetItem(String itemId) in RegistryAPI.cs:line 42
at UserScript.OnSceneLoaded(String sceneName) in script.lua:line 5

Sample code that triggers the issue:

lua
function OnSceneLoaded(sceneName)
    -- This causes the crash because Registry isn't ready yet
    local item = GetItem("baggie")
    Log(item.name)
end

Remember to attach the full MelonLoader log and any relevant screenshots.

Bug Report Lifecycle ​

After submitting your issue:

  1. Triage: The team will review and categorize the issue
  2. Reproduction: We'll attempt to reproduce the issue
  3. Investigation: The root cause will be investigated
  4. Resolution: The issue will be fixed or marked for future work
  5. Feedback: You may be asked for additional information

Tips for Effective Bug Reporting ​

Following these best practices will help us resolve your issue more quickly:

  • One issue per report: File separate reports for unrelated issues
  • Be specific: Provide exact details, not general descriptions
  • Be concise: Include necessary information, but avoid lengthy explanations
  • Stay factual: Describe what happened, not why you think it happened
  • Be responsive: Reply to questions from developers if they need more information
  • Test fixes: When a fix is released, confirm if it resolves your issue

Security Vulnerabilities ​

Important: For security vulnerabilities, please do not file a public issue.

Instead:

  1. Contact the developer directly via Discord: ifbars
  2. Provide a detailed description of the vulnerability
  3. Wait for acknowledgment before disclosing publicly

Feature Requests vs. Bug Reports ​

Remember that feature requests are different from bug reports:

  • Bug: Something that doesn't work as designed or documented
  • Feature Request: A suggestion for new or improved functionality

For feature requests, please use the feature request template instead.

Thank You! ​

Thank you for helping improve ScheduleLua by reporting issues. Your detailed reports are essential for maintaining and improving the quality of the project.

Released as Beta Software under the GPL-3.0 License.