Skript schreiben für "15 Seconds Parcour"

Dieses Thema im Forum "Server Plugins" wurde erstellt von fabigamer235, 22. März 2015.

  1. fabigamer235
    Online

    fabigamer235

    Hallo,
    wir haben einen 15 Second Parcour erstellt. Wir haben kein Plugin gefunden und deshalb wollte ich es mal mit "Skript" probieren, doch so leicht wie ich es mir vorgestellt habe ist es doch gar nicht. Mein Skript: http://pastebin.com/ic8p7UkE

    Man soll für 15 Sekunden schnell sein, erreicht man das Ziel (Berührt Item ID 19) ist man wieder langsam, schafft man das nicht in der Zeit, wird man wieder zurück tpt.

    Kennst sich mit Skript jemand aus? Oder wie kann ich das sonst machen?
     
    #1
  2. Malte
    Offline

    Malte Moderator Redakteur

    Registriert seit:
    17. März 2012
    Beiträge:
    474
    Ort:
    Schwammbaumwald
    Minecraft:
    Malte662
    Soweit ich mir ohne Erfahrung mit Skript dein Skript angesehen habe fehlt dort zumindest die Funktion zum zurückteleportierten. Desweiteren musst du die Namen der Blöcke nutzen und nicht die IDs, zumindest hab ich in keinem der Beispiele auf der Seite von Skript Block-IDs gesehen. Außerdem sieht es für mich so aus, dass sobald der Spieler den Block mit der ID 19 betritt das Event gecanceld wird (welches Event auch immer...) und dann 15s gewartet wird woraufhin der Befehl ausgeführt wird, was zumindest mMn nicht dem entspricht, was du erreichen willst. Ansonsten sieht es für mich auch so aus als ob du gleichzeitig einen Schritt auf einem Block des Typs 4 und 19 machen muss da diese Abfragen so stehen, dass erst überprüft wird ob der Spieler auf einem Block des Typs 4 steht und direkt danach ob er auf einem Block der Art 19 steht und nicht gewartet wird bis dies eintritt.

    Aufgrund dieser ganzen Fehler in einem Code von 7 Zeilen kann ich dir nur davon abraten zu versuchen etwas mit Skript zu skripten ;)
     
    #2
  3. fabigamer235
    Online

    fabigamer235

    Ja ich weiß das teleportieren fehlt, aber will erstmal überhaupt das mit dem Timer hinbekommen ;) Die ID's gehen auch, es steht dann nur dort dass es in einen der nächsten Updates nicht mehr funktioniert.
    Deshalb fragte ich ja ob sich da jemand auskennt oder wie man das sonst noch machen kann.
     
    #3
  4. MrGoms
    Offline

    MrGoms

    Registriert seit:
    11. März 2015
    Beiträge:
    46
    Solch ein Plugin zu programmieren - so wie du es beschrieben hast - sollte nicht so ein großer Aufwand sein. Gibt hier glaube ich sogar einen Bereich für solche Anfragen.

    Grüße
    MrGoms
     
    #4
  5. fabigamer235
    Online

    fabigamer235

    Vielleicht kann auch einer sagen wieso diese auch nicht geht: http://pastebin.com/VZWMycPy
    Man kann dann überall nicht abbauen, aber man soll nur in diesen Regionen nicht abbauen können, was ist da falsch?
     
    #5
  6. Malte
    Offline

    Malte Moderator Redakteur

    Registriert seit:
    17. März 2012
    Beiträge:
    474
    Ort:
    Schwammbaumwald
    Minecraft:
    Malte662
    Wenn ich mir den Code ansehe fehlt dort eine Einrückung bei den beiden "cancel event", da in der aktuellen Fassung jedesmal "cancel event" aufgerufen wird:

    Code (Text):
    1. on break:
    2.         player is in region "1vs1":
    3.                cancel event
    4. on place:
    5.         player is in region "1vs1":
    6.                cancel event
     
    #6
  7. fabigamer235
    Online

    fabigamer235

    Nee, auch das geht nicht. Jetzt kann ich immer noch abbauen.
     
    #7
  8. Malfrador
    Online

    Malfrador

    Registriert seit:
    16. Juni 2013
    Beiträge:
    411
    Minecraft:
    Malfrador
    Skript gibt bei /Skript reload <Skriptname> ja Fehler aus, was zeigt es denn so? ;)
     
    #8
  9. fabigamer235
    Online

    fabigamer235

  10. Malte
    Offline

    Malte Moderator Redakteur

    Registriert seit:
    17. März 2012
    Beiträge:
    474
    Ort:
    Schwammbaumwald
    Minecraft:
    Malte662
    Dir fehlen in den Zeilen 3 und 6 je ein weiteres Leerzeichen vor "cancel event".
     
    #10
  11. fabigamer235
    Online

    fabigamer235

    #11
  12. Malte
    Offline

    Malte Moderator Redakteur

    Registriert seit:
    17. März 2012
    Beiträge:
    474
    Ort:
    Schwammbaumwald
    Minecraft:
    Malte662
    Du solltest jeweils 1 Leerzeichen hinzufügen und nicht 17... Wenn es dann immer noch nicht geht wäre erneut sinnvoll die Fehlermeldungen von /skript reload <skriptname> zu bekommen.
     
    #12
  13. Roeddelproemm
    Offline

    Roeddelproemm

    Registriert seit:
    3. Februar 2015
    Beiträge:
    60
    Minecraft:
    Roeddelproemm
    Warum mit script arbeiten?

    du kannst per Druckplatte einen Kommandoblock ansteuern, der folgenden Befehl enthält:
    /effect <Spieler> <Effekt-ID>
    und gleichzeitig ein RS-Glied auf "set" setzt.

    Stett <Spieler> kannst du @p[r=x] nehmen
    Die Effekt-ID für schnelles laufen ist die 1

    Die Druckplatte gibt außerdem das Signal an eine 15-Sek Verzögerung weiter (mit Repeatern), an dessen Ende der Teleportbefehl zum Anfang, in einem weiteren Kommandoblock eingebaut ist.
    Am Ziel (bei dir Block-Id 19) dann eine weitere Druckplatte, die das RS-Glied zurücksetzt und damit den letzten Repeater vor dem Teleport-Kommandblock sperrt. Das ist wichtig, damit der Spieler nicht teleportiert wird, wenn er das Ziel erreicht!

    Dafür brauch man weder scripts noch mods...

    War das verständlich genug beschrieben?
     
    #13
  14. fabigamer235
    Online

    fabigamer235

    #14
  15. Malfrador
    Online

    Malfrador

    Registriert seit:
    16. Juni 2013
    Beiträge:
    411
    Minecraft:
    Malfrador
    Ich würde "%region at player%" contains "spawn" nehmen, wenn das Überhaupt so geht ist es nicht stabil und verlässlich
     
    #15
  16. fabigamer235
    Online

    fabigamer235

    Edit: Jetzt ist mir aufgefallen, dass das irgendwie nur am Spawn nicht geht. Dort kann ich immer abbauen, wähle ich eine andere Region, gehts. Warum? Droppen, etc. kann man auch nicht blocken.
     
    #16
  17. Roeddelproemm
    Offline

    Roeddelproemm

    Registriert seit:
    3. Februar 2015
    Beiträge:
    60
    Minecraft:
    Roeddelproemm
    1. Durch die Zeitschleife mit den Repeatern an dessen Ende ein Kommandoblock steht, wird bei Ablauf der Zeit und wenn die Druckplatte am Ziel nicht gedrückt wird der Spieler wieder an den Anfang teleportiert.

    2. Wenn es das Problem nur am Spawn gibt, dann entweder Spawnprotection ausschalten oder den Spawn ein Stück wegverlegen. Evtl reicht es auch aus, dass die Spawnprotection nur verkleinert wird.
     
    #17
  18. fabigamer235
    Online

    fabigamer235

    Nee, Spawn-Protection auf 0 nützt nichts, und es ist egal wo ich bin :/
     
    #18
  19. fabigamer235
    Online

    fabigamer235

    Keine Idee?
     
    #19