PikaMug / Quests

Easy-to-use, open-source plugin for the creation and execution of quests on Minecraft servers.
https://modrinth.com/plugin/quests.classic
MIT License
152 stars 108 forks source link

NULL when trying craft with active quest for craft #2267

Closed Fanolcie closed 3 months ago

Fanolcie commented 3 months ago

What is your Quests version / build number (do not say "latest")?

Quests 5.0.6-b493

Describe the problem and how to replicate it.

https://github.com/user-attachments/assets/37ccd5fc-629b-4d50-879b-499b1abff551

I don't know if it's a bug or incompatibility with other plugins, but when I have an active crafting quest, I can't craft anything else.

I wrote a script for Skript which resets user and assign random quest.

command /wezquesta:
    cooldown: 60 minutes
    cooldown storage: {cake4::%player's uuid%}
    cooldown message: &aWylosowano już questa. Kolejne losowanie może się odbyć za &3%remaining time%&r .
    trigger:
        set {_quests::*} to "Rybak I", "Rzeźnik", "Początkująca kwiaciarnia", "Sticky", "Twarda Ochrona", "Śnieżni koledzy", "Kucharz I", "Kolczasta Robota", "Pomocnik Posejdona", "Owce", "Górnik", "Łowca I", "Rybak II", "Rybak III", "Górnik II", "Budowlanka", "Bestia terraformingu", "Drewniany biznes", "Hutnik", "Górnik IV", "Górnik III", "Kamieniara", "Drewniany interes", "Rolnik", "Pszczelarz", "Iceberg", "Skorumpowany osadnik" and "Dzwony biją!"
        set {_randomIndex} to a random integer between 1 and the size of {_quests::*}
        set {_randomQuest} to {_quests::%{_randomIndex}%}
        set {quest::%player%} to {_randomQuest}
        set {accept::%player%} to true
        execute console command "/questsadmin reset %player%"
        wait 20 ticks
        execute console command "/questsadmin daj %player% %{_randomQuest}%"
        send "&aOtrzymałeś/łaś questa: &3%{_randomQuest}%&a! Kolejne losowanie questa może odbyć się za &260 minut&r" to player
        delete {quest::%player%}
        set {_time} to 3600
        delete bossbar named "cdquest.%player%"
        set {_testBar::%player%} to bossbar named "cdquest.%player%" with title "Pozostały czas do /wezquesta"
        add player to bossbar players of {_testBar::%player%}
        loop {_time} times:
            wait 1 second
            set {_progress} to 100 - (loop-number / {_time}* 100)
            set bossbar progress of {_testBar::%player%} to {_progress}
            set {_remainingTime} to {_time} - loop-number
            set {_minutes} to floor({_remainingTime} / 60)
            set {_seconds} to {_remainingTime} - ({_minutes} * 60)
            set {_title} to "Pozostały czas do /wezquesta: %{_minutes}%:%{_seconds}% minut"
            set bossbar title of {_testBar::%player%} to {_title}
        delete bossbar named "cdquest.%player%"

Any console errors to share?

No.

If applicable, can you provide an example quest from quests.yml?

'000027':
    name: Kucharz I
    ask-message: Upiecz 3 ciasta.
    finish-message: Babcia była by zadowolona.
    stages:
      ordered:
        '1':
          items-to-craft:
          - ==: org.bukkit.inventory.ItemStack
            v: 3953
            type: CAKE
            amount: 3
    rewards:
      items:
      - ==: org.bukkit.inventory.ItemStack
        v: 3953
        type: EMERALD
        amount: 34
    planner:
      cooldown: 1
      override: true
    options:
      allow-commands: true
      allow-quitting: true
      ignore-silk-touch: true
      use-parties-plugin: true
      share-progress-level: 1
      same-quest-only: true
      share-distance: 0.0
      handle-offline-players: false
      ignore-block-replace: true
PikaMug commented 3 months ago

Your video does not seem to be playable for me. My guess is that you do not have enough inventory space to complete the craft.

Fanolcie commented 3 months ago

https://streamable.com/qbic84

Try this link. This video is from one of my players. He has a place for crafting

PikaMug commented 3 months ago

@Fanolcie Thank you. Yes, they do not have enough inventory space. The "null" message just hasn't been translated to their language yet.