DenizenScript / Denizen

NPC and general Spigot scripting, using the Denizen Scripting Language!
https://denizenscript.com/
MIT License
207 stars 104 forks source link

Error in Denizen Script after updating to the newest build (1572) #1002

Closed tobschn closed 9 years ago

tobschn commented 9 years ago

Hello, in older Versions worked this skript:

Feuerwehr:
  Type: world
  events:
     on dshafguahsdifu8sz7ds8uf98dfsfeuerwehr_fraktion_Einsatz_Annehmen command:
        - if <player.has_permission[potato.Feuerwehr]>
            {
                if <server.flag[Fraktion_Feuerwehr_Einsatz]> == 1
                {
                 - compass 239,63,-55,PotatoMC
                 - narrate "<gold><italic>Tipp<&co> <gray><italic>Dein Kompass zeigt dir den Weg. (Schutthaufen NewOrdos)"
                 - permission add potato.feuerwehr.einsatz.1
                }
                else if <server.flag[Fraktion_Feuerwehr_Einsatz]> == 2
                {
                 - compass 796,68,-2298,PotatoMC
                 - narrate "<gold><italic>Tipp<&co> <gray><italic>Dein Kompass zeigt dir den Weg. (Baumsturz Montiago)"
                 - permission add potato.feuerwehr.einsatz.2
                }
                else narrate "<red>Es gibt zurzeit keinen Einsatz."
            }
        - determine FULFILLED

in the newest build this script will throw out an error:

[16:02:51] [Server thread/INFO]: Newwings issued server command: /dshafguahsdifu8sz7ds8uf98dfsfeuerwehr_fraktion_Einsatz_Annehmen
[16:02:51] [Server thread/INFO]: +> Executing 'Event': Type='on 
                   DSHAFGUAHSDIFU8SZ7DS8UF98DFSFEUERWEHR_FRAKTION_EINSATZ_ANNEHMEN 
                   command'  Container='FEUERWEHR(WORLD)'  
                   player=p@NewwingsContext='{cuboids=li@, args=li@, 
                   raw_args=, 
                   command=DSHAFGUAHSDIFU8SZ7DS8UF98DFSFEUERWEHR_FRAKTION_EINSATZ_ANNEHMEN, 
                   server=false, parsed_args=li@}' 
[16:02:51] [Server thread/INFO]: +- Building event 'ON 
                   DSHAFGUAHSDIFU8SZ7DS8UF98DFSFEUERWEHR_FRAKTION_EINSATZ_ANNEHMEN 
                   COMMAND' for FEUERWEHR ---------+ 
[16:02:51] [Server thread/INFO]:  Starting InstantQueue 
                   'FEUERWEHR_SoundElevenInitiatives'... 
[16:02:51] [Server thread/INFO]:  Queue 'FEUERWEHR_SoundElevenInitiatives' Executing: IF 
                   "<player.has_permission[potato.Feuerwehr]>" "{" "if" 
                   "<server.flag[Fraktion_Feuerwehr_Einsatz]>" "==" "1" "{" 
                   "-" "compass" "239,63,-55,PotatoMC" "-" "narrate" 
                   "<gold><italic>Tipp<&co> <gray><italic>Dein Kompass zeigt 
                   dir den Weg. (Schutthaufen NewOrdos)" "-" "permission" 
                   "add" "potato.feuerwehr.einsatz.1" "}" "else" "if" 
                   "<server.flag[Fraktion_Feuerwehr_Einsatz]>" "==" "2" "{" 
                   "-" "compass" "796,68,-2298,PotatoMC" "-" "narrate" 
                   "<gold><italic>Tipp<&co... * snip! * 
[16:02:51] [Server thread/INFO]: +- Executing dCommand: IF/p@Newwings ---------+ 
[16:02:51] [Server thread/INFO]: +> Executing 'IF': use_braces='true' 
[16:02:51] [Server thread/INFO]:  Filled tag <player.has_permission[potato.Feuerwehr]> with 
                   'true'. 
[16:02:51] [Server thread/INFO]:  ERROR in script 'FEUERWEHR'! Woah!! An exception has been 
                   called with this command! 
[16:02:51] [Server thread/INFO]:  ERROR in script 'FEUERWEHR'! Internal exception was 
                   thrown! 
[16:02:51] [Server thread/WARN]: java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
[16:02:51] [Server thread/WARN]:    at java.util.ArrayList.rangeCheck(Unknown Source)
[16:02:51] [Server thread/WARN]:    at java.util.ArrayList.get(Unknown Source)
[16:02:51] [Server thread/WARN]:    at net.aufdemrand.denizencore.scripts.commands.core.IfCommand.execute(IfCommand.java:101)
[16:02:51] [Server thread/WARN]:    at net.aufdemrand.denizencore.scripts.commands.CommandExecuter.execute(CommandExecuter.java:235)
[16:02:51] [Server thread/WARN]:    at net.aufdemrand.denizencore.scripts.queues.ScriptEngine.revolve(ScriptEngine.java:51)
[16:02:51] [Server thread/WARN]:    at net.aufdemrand.denizencore.scripts.queues.ScriptQueue.revolve(ScriptQueue.java:660)
[16:02:51] [Server thread/WARN]:    at net.aufdemrand.denizencore.scripts.queues.core.InstantQueue.onStart(InstantQueue.java:53)
[16:02:51] [Server thread/WARN]:    at net.aufdemrand.denizencore.scripts.queues.ScriptQueue.start(ScriptQueue.java:519)
[16:02:51] [Server thread/WARN]:    at net.aufdemrand.denizencore.events.OldEventManager.doEvents(OldEventManager.java:233)
[16:02:51] [Server thread/WARN]:    at net.aufdemrand.denizen.scripts.containers.core.BukkitWorldScriptHelper.doEvents(BukkitWorldScriptHelper.java:63)
[16:02:51] [Server thread/WARN]:    at net.aufdemrand.denizen.scripts.containers.core.BukkitWorldScriptHelper.doEvents(BukkitWorldScriptHelper.java:54)
[16:02:51] [Server thread/WARN]:    at net.aufdemrand.denizen.events.core.CommandSmartEvent.playerCommandPreprocess(CommandSmartEvent.java:215)
[16:02:51] [Server thread/WARN]:    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[16:02:51] [Server thread/WARN]:    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
[16:02:51] [Server thread/WARN]:    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
[16:02:51] [Server thread/WARN]:    at java.lang.reflect.Method.invoke(Unknown Source)
[16:02:51] [Server thread/WARN]:    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:301)
[16:02:51] [Server thread/WARN]:    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62)
[16:02:51] [Server thread/WARN]:    at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:502)
[16:02:51] [Server thread/WARN]:    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:487)
[16:02:51] [Server thread/WARN]:    at net.minecraft.server.v1_8_R2.PlayerConnection.handleCommand(PlayerConnection.java:1125)
[16:02:51] [Server thread/WARN]:    at net.minecraft.server.v1_8_R2.PlayerConnection.a(PlayerConnection.java:968)
[16:02:51] [Server thread/WARN]:    at net.minecraft.server.v1_8_R2.PacketPlayInChat.a(PacketPlayInChat.java:45)
[16:02:51] [Server thread/WARN]:    at net.minecraft.server.v1_8_R2.PacketPlayInChat.a(PacketPlayInChat.java:1)
[16:02:51] [Server thread/WARN]:    at net.minecraft.server.v1_8_R2.PlayerConnectionUtils$1.run(SourceFile:13)
[16:02:51] [Server thread/WARN]:    at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
[16:02:51] [Server thread/WARN]:    at java.util.concurrent.FutureTask.run(Unknown Source)
[16:02:51] [Server thread/WARN]:    at net.minecraft.server.v1_8_R2.SystemUtils.a(SourceFile:60)
[16:02:51] [Server thread/WARN]:    at net.minecraft.server.v1_8_R2.MinecraftServer.A(MinecraftServer.java:710)
[16:02:51] [Server thread/WARN]:    at net.minecraft.server.v1_8_R2.DedicatedServer.A(DedicatedServer.java:368)
[16:02:51] [Server thread/WARN]:    at net.minecraft.server.v1_8_R2.MinecraftServer.z(MinecraftServer.java:651)
[16:02:51] [Server thread/WARN]:    at net.minecraft.server.v1_8_R2.MinecraftServer.run(MinecraftServer.java:554)
[16:02:51] [Server thread/WARN]:    at java.lang.Thread.run(Unknown Source)
[16:02:51] [Server thread/INFO]: +> [Denizen] (Attempted: IF 
                   "<player.has_permission[potato.Feuerwehr]>" "{" "if" 
                   "<server.flag[Fraktion_Feuerwehr_Einsatz]>" "==" "1" "{" 
                   "-" "compass" "239,63,-55,PotatoMC" "-" "narrate" 
                   "<gold><italic>Tipp<&co> <gray><italic>Dein Kompass zeigt 
                   dir den Weg. (Schutthaufen NewOrdos)" "-" "permission" 
                   "add" "potato.feuerwehr.einsatz.1" "}" "else" "if" 
                   "<server.flag[Fraktion_Feuerwehr_Einsatz]>" "==" "2" "{" 
                   "-" "compass" "796,68,-2298,PotatoMC" "-" "narrate" 
                   "<gold><italic>Tipp<&co> <gray><italic>Dein Kompass zeigt 
                   dir d... * snip! * 
[16:02:51] [Server thread/INFO]: +---------------------+ 
[16:02:51] [Server thread/INFO]:  Queue 'FEUERWEHR_SoundElevenInitiatives' Executing: 
                   DETERMINE "FULFILLED" 
[16:02:51] [Server thread/INFO]: +- Executing dCommand: DETERMINE/p@Newwings ---------+ 
[16:02:51] [Server thread/INFO]: +> Executing 'DETERMINE': outcome='FULFILLED'  
                   passively='false' 
[16:02:51] [Server thread/INFO]:  Completing queue 'FEUERWEHR_SoundElevenInitiatives' in 
                   5ms. 

I don't know what is wrong there...

mcmonkey4eva commented 9 years ago

No, that script never worked, you're missing a - on one of the ifs

tobschn commented 9 years ago

Ok thanks. :) This is mysterious...