• Es freut uns dass du in unser Minecraft Forum gefunden hast. Hier kannst du mit über 130.000 Minecraft Fans über Minecraft diskutieren, Fragen stellen und anderen helfen. In diesem Minecraft Forum kannst du auch nach Teammitgliedern, Administratoren, Moderatoren , Supporter oder Sponsoren suchen. Gerne kannst du im Offtopic Bereich unseres Minecraft Forums auch über nicht Minecraft spezifische Themen reden. Wir hoffen dir gefällt es in unserem Minecraft Forum!

[Plugin Request] MC-Defrag

Status
Für weitere Antworten geschlossen.

Jobsti

Server Opa ;-)
Registriert
18 August 2011
Beiträge
1.226
Diamanten
300
Minecraft
Jobsti
Moin,

ich bin schon lange auf der Suche nach nem Plugin, welches die Zeit stoppt samt Topliste, kann aber nix finden.
Am ähnlichsten wäre da hier noch Templerun, is aber auch net das was ich suche.

Ihr kennt den Mod Defrag für Quake 3 ?
dann wisst ihr genau was ich suche ;)
(ja ich war pmc defragger damals)


Kurzum:
- Das Plugin soll die Zeit von Punkt A nach Punkt B stoppen (also Startblock zu Zielblock)
- Ne Topliste haben
- Ohne Schilder und wenigen Commands auskommen


Praxis:
Wir stellen uns eine Stecke oder Parcour vor.
Ich laufe über einen Block (oder eine reihe, quasi als Start Linie) oder Region
und das Plugin fängt an die Zeit zu zählen.....
kein 3...2...1..., sondern Block überqueren/berühren und sofort wird gezählt.

Am Ende vom Parcour is der Zielblock, ich laufe darüber, die Zeit wird gestoppt und mir im Chat angezeigt,
inkl. meiner Platzierung.

Das war's auch schon ;)


Was muss bedacht werden?
• Es müssen mehrere Strecken möglich sein, somit müssen die Runmaps/parcours benannt werden,
das könnte per /defrag setstart <name> & /defrag setfinish <name> erledigt werden.

• Es sollte ne Topliste geben /defrag top1 <seite>, zeigt die Top-1-Zeiten aller Strecke an
/defrag top <name> zeigt die Top 10 Zeiten der entsprechenden Strecke an.

• Beim Erstellen müsste man die maximale Zeit festlegen können, /defrag <name> t 3m
Warum? Loggt nen Spieler aus, oder entfernt sich vom Parcour (wir wollen hier keine Regionen oder separate Welten, alles Open World), muss der Zähler irgendwann aufhören die Zeit zu "stoppen", wobei er beim Ausloggen eigentlich automatisch stoppen könnte.
Wird die max Zeit Erreicht, wird der Spieler auch nicht in die Topliste aufgenommen.
Falls es lange Strecken geben sollte, wäre ein /defrag <name> reset net verkehrt, zum Zeit/Strecke resetten.
Der Spieler, welcher den Timer für sich gestartet hat, sollte ihn sich auch selbst Rückstellen können mit /defrag reset
(respawn beim Tod, Checkpoints usw. kann sich jeder selbst per Worldgard und SpawnFlag erstellen, braucht das Plugin also net,
ob das Plugin beim Spieler-Tod den Counter stoppen soll oder net, sollte in ner config festlegbar sein, oder per command per strecke)


• Solange der Timer noch läuft, kann die Strecke kein anderer absolvieren, oder eben (falls möglich) maximal 2-3 User gleichzeitig,
ansonsten erscheint im Chat "Strecke wird derweil bestritten"

• Der Start und Ziel-Block (oder Blöcke) dürfen nur mit entsprechenden permissions (defrag.admin) erstellt und abgebaut werden.

• Permissions für: Darf Teilnehmen / Wird in Topliste aufgenommen / Modrechte (Strecke erstellen/löschen / Einzelzeiten und ganze Listen leeren)
Somit kann man sagen, dass zB Gäste mitmachen dürfen, ihre Zeiten aber net gespeichert werden.




Ich kann mir vorstellen, wenn so nen Plugin halbwegs bekannt wird und gut funkt,
dass ne echt nette Tauschbörse für Strecken-Schematics entstehen könnte, evtl. auch inkl. Foren/Community/Globalen-Bestzeiten,
und recht viele Youtubevideos.
Oder auch gar reine Defrag Server.

Falls sowas laufen sollte, könnte man sich später nochmal Gedanken für Spezielblöcke machen,
zB. Jump-Pads usw....
Wobei man aber durch den Einfachen Aufbau (only start/ziel block + Timer) eigentlich alles in die Strecke einbauen kann was man will
mit jedem externen anderen Plugin.









Wäre super genial, wenn sich da wer (bitte wer Erfahrenes, auf monatelange Alpha- und Betatests habe ich wenig Lust),
mal dran machen könnte.....
Würde auch was Spenden, wenn's denn sein muss, oder ich schick nen Kasten Bier vorbei
 
X

|| xX [DEV][LP] Ms. DivaCraft Xx ||

Guest
Ich fang gerade mal damit an, da ich keine lust mehr auf mein 'Portfolio' habe :D

Also dieses Plugin soll auch ein Public Plugin werden, versteh ich richtig oder?
 

Scrayos

Vorarbeiter
Registriert
11 Februar 2012
Beiträge
296
Alter
29
Diamanten
338
Minecraft
Scrayos
Mehr als Easy. Einfach die Ticks vom Heartbeat von Bukkit counten, und bei Region-Eintritt beginnen, bei verlassen aufhören, und Zeit in eine MySQL-Tabelle ausgeben lassen. Topliste kann man dann einfach ausgeben ;)
 

Jobsti

Server Opa ;-)
Registriert
18 August 2011
Beiträge
1.226
Diamanten
300
Minecraft
Jobsti
Mir wäre SQLite ganz lieb, oder yaml.
mySQL muss net sein, soltle auch nur für größere Server, oder welche, die auf der HP werte ausgeben interessant sein.

Jau klar, public, darf, soll und kann jeder haben.

Am liebsten wäre mir das ohne Regionen, also keine WG-Pflicht.
 
X

|| xX [DEV][LP] Ms. DivaCraft Xx ||

Guest
Hier mal ein Kleiner Snapshot:
PS: Man möge mir verzeihen dass ich mich hier kurz fasse. Dies ist schließlich nurn Snapshot
Features:
  • Erstellen von Regionen (Leider noch ohne Save System D:)
  • Topliste mit Score
  • Jede Strecken kann gleichzeitig nur von einem Teilnehmer absolviert werden
  • Stecken können komplett Resettet werden(Aktueller Teilnehmer wird gelöscht)
  • Zeit Ziel und Anfang können erstellt werden
  • Permissions für alles
  • Optimiertes aufrufen der Playermove Methode, für weniger Leistungsverbrauch.
  • Zielstrecke muss Zielblock sein(Momentan nicht konfigurierbar/14)
  • Keine Commands nötig zum Spielen nur zum erstellen
  • Keine Libary
  • Metrics Support

Commands:
Code:
			/defrag reset [Name] #Resettet die eigene Strecke(Als Spieler) sonst angegebene Strecke MIT Highscore etc!
			/defrag time <name> <time> # Legt Zeit fest
			/defrag score <name> #Zeigt Top 10 an
			/defrag list # Zeigt alle Strecken an
			/defrag finish <name> # Legt Ziel für Strecke fest
			/defrag create <name> # Erstellt Strecke mit startplattform
			/defrag toggle # Geht in Regionenmodus

Permissions:
Code:
 author: manf
database: false
description: TODO
main: de.javakara.manf.mcdefrag.MCDefrag
name: MCDefrag
startup: postworld
url: [url]http://forum.team-sod.de[/url]
version: '1.5'
prefix: Defrag
commands:
   defrag:
      description: This is a demo command.
      aliases: def
permissions:
    defrag.*:
        default: op
        description: Gives access to all commands
        children:
            defrag.admin.*: true
            defrag.user.*: true
    defrag.admin.*:
        description: Gives access to all Admin commands
        default: op
        children:
            defrag.admin.create: true
            defrag.admin.delete: true
            defrag.admin.top.*: true
    defrag.admin.create:
        description: Gives access to create a new route
        default: false
    defrag.admin.delete:
        description: Gives access to delete routes
        default: false
    defrag.admin.lock:
        description: Gives access to lock routes
        default: false
    defrag.admin.top.*:
        description: Gives access to all Toplist commands
        default: op
        children:
            defrag.admin.top.clear: true
            defrag.admin.top.clear.all: true
    defrag.admin.top.clear:
        description: Gives access to delete single Stats
        default: false
    defrag.admin.top.clear.all:
        description: Gives access to delete all Stats
        default: false
    defrag.user.*:
        description: Gives access to all User commands
        default: true
        children:
            defrag.user.join: true
            defrag.user.competitor: true
            defrag.user.list: true
            defrag.user.top: true
    defrag.user.join:
        description: Gives access to join routes
        default: false
    defrag.user.competitor:
        description: Stats can be saved
        default: false
    defrag.user.list:
        description: user can view list of routes
        default: false
    defrag.user.top:
        description: user can view top list of route
        default: false
    defrag.user.reset:
        description: user can reset his route
        default: false

Erstellen einer Strecke:
1. /defrag toggle
2. 1. Block abbauen(z.B. mit creative)
3. 2. Block rechtsklick
4. /defrag create Name -> Startregion
5. Wiederhohle 1-3
6. /defrag finish Name -> Endregion
Achtung: Die Startlinie muss aus Golderz bestehen! Dann lauft ihr Rüber und es startet alles...
Download RC: https://dl.dropbox.com/u/43938052/Dev/defrag-dev-new.jar
Download: Anhang anzeigen 321
Source: Liegt natürlich bei
Lizenz: Creative Commons by-nc-nd v3.0
Mit dem Download stimmt ihr der Lizenz zu.
 

Jobsti

Server Opa ;-)
Registriert
18 August 2011
Beiträge
1.226
Diamanten
300
Minecraft
Jobsti
So genial, 2ter Dev funkt1A!

Was noch gemacht werden muss:

• In der Config sollte festlegbar sein, OB und in welchen Abständen die aktuelle Zeit im Chat
während eines Runs angezeigt wird, zB alle 10s die %time%
• Locale File um ALLE Zeilen anzupassen
• Locale benötigt %time% und %track%
• /defrag score ohne <name> sollte die gleiche Ausgabe ergeben wie /defrag list
• Scrore und List sollten in einer Tabelle angezeigt werden, also immer identische Abstände, ähnlich dem alten Help Plugin (welches mit MyWarp, BB usw. funkte)
• Leere Score-Zeilen sollte durch Leerzeichen oder - - getausht werden anstatt "none|0", da unübersichtlich.
• Weltweiter, oder gar Serverweiter (konfigurierbar) Broadcast für neue Top-1 Zeit.
• standardmäsig sollte der alias /def in der plugin.yml angelegt sein.
• Eingabe für Time sollte nicht in ms sein, entweder Sekunden, oder besser mit Angabe der Einheit, zB "2 m" oder "300 s"
• Standard-time sollte in der cfg festlegbar sein.
• COmmand zum strecken sperren und freigeben mit /def lock <name> /def unlock <name>

Der temp command zum World hinzufügen wird sicher durch die cfg überflüssig?!


PS:
Ich biete mich an die grund-locale files für en_US und de zu erstellen.
 
X

|| xX [DEV][LP] Ms. DivaCraft Xx ||

Guest
Hier die Fortschrittsleiste für mich:
Was noch gemacht werden muss:

In der Config sollte festlegbar sein, OB und in welchen Abständen die aktuelle Zeit im Chat
während eines Runs angezeigt wird, zB alle 10s die %time%

Locale File um ALLE Zeilen anzupassen
Locale benötigt %time% und %track%
/defrag score ohne <name> sollte die gleiche Ausgabe ergeben wie /defrag list -> defrag score ist nun defrag top
Scrore und List sollten in einer Tabelle angezeigt werden, also immer identische Abstände, ähnlich dem alten Help Plugin (welches mit MyWarp, BB usw. funkte)
Leere Score-Zeilen sollte durch Leerzeichen oder - - getausht werden anstatt "none|0", da unübersichtlich.
Weltweiter, oder gar Serverweiter (konfigurierbar) Broadcast für neue Top-1 Zeit.Man kann sogar einen Befehl festlegen für eine Belohnung xD
standardmäsig sollte der alias /def in der plugin.yml angelegt sein.
Eingabe für Time sollte nicht in ms sein, entweder Sekunden, oder besser mit Angabe der Einheit, zB "2 m" oder "300 s" -> Config sind Sekunden der Time Befehl hat nun ein optimales Argument für die Einheit(m,ms,s) standartmäßig ist auch hier Sekunden
Standard-time sollte in der cfg festlegbar sein.
COmmand zum strecken sperren und freigeben mit /def lock <name> /def unlock <name>
Richtige Sortierung der Rangliste
• Später: Mobarena Scoreboard
@Jobsti: Der worldadd Command wird natürlich removed wenn die Config drin is :D Die Config legt nun die Welten fest.

PS: Vielen dank Jobsti für deine wirklich netten Post, sodass ich den nur Zitieren muss :p
PPS: Das mit dem Menü war zwar arbeit is aber jetzt schon Fertig:p
 

Jobsti

Server Opa ;-)
Registriert
18 August 2011
Beiträge
1.226
Diamanten
300
Minecraft
Jobsti
Grad rausgefunden, in der Topliste wird die Zeit falschrum sortiert, beste Zeiten stehen weiter unten.
Zudem fehlen die Zeichen. 14036 sollte so da stehen: 14.036 s


Ich weiß net wie viel Aufwand das ist...... aber gugg dir mal das Mobarena Scoreboard an, das is de Knaller ;)
Ein 2 Schilder würde ja reichen,Eins mit den Namen, das daneben mit den Top-Zeiten.
Aber das kannste ganz ganz hinten anstellen
 

Jobsti

Server Opa ;-)
Registriert
18 August 2011
Beiträge
1.226
Diamanten
300
Minecraft
Jobsti
Noch was für die Liste ;-)

• /defrag sollte die hilfe ausgeben, welche die Hilfe, eher aber alle commands anzeigt.
Die Ausgabe davon soltle an die Permission defrag.user und deftag.admin gebunden sein, bzw. allgemein nur anzeigen, welche Commands zugänglich sind.

PS:
Der aktuelle Dev von dir erstellt noch keine Config, hatte ich nett rausgehört heute, dass er das schon kann?!
 
Status
Für weitere Antworten geschlossen.
Oben