[Release] Ban-System

  • Guten Abend,
    ich release hiermit ein kleines "Ban-System".


    Wie richtet man sich eigene Gründe ein ?
    1. Öffne die "server.lua" Datei im Script.
    2. Suche nach einer "BAN_META_TABLE" (am Anfang = 14. Zeile)
    3. Gebe deine Gründe ein
    Beispiel:

    Lua
    local BAN_META_TABLE = {
    [0] = {NAME = "SDM", REASON = "Du wurdest für SDM gebannt", TIME = 10000},
    [1] = {NAME = "Beleidigung", REASON = "Du wurdest wegen deiner Wortwahl permanent gebannt", TIME = 0}
    }

    Wie nutze ich das Script wenn ich ein "Ultimate" oder "Vio" Gameserver besitze ?
    Ich habe Zeilen im Code gekennzeichnet in dem du deine Vio/Ultimate Abfragen ersetzen kannst.
    (Wichtig : das Ban-System muss in den Gamemode implementiert werden, ggf. funktionieren die Abfragen nicht!)
    Wenn ich irgendwo mit irgendwas falsch liege, keep calm ich befasse mich nicht mit RL-Gamemodes.


    Kommandos:
    /banhelp - Admins, oder auch Spieler (je nach Einstellung), können alle Ban-Gründe und die jeweilige Ban-Zeit abfragen.
    /banplayer [spieler] [grund] - Spieler wird gebannt von dem System mit deinem Grund.


    Das Script überprüft bei jedem Start, ob es eine neue Version gibt.


    Download: Ban-System-SBT


    Lizenz:
    Dieses Werk ist lizenziert unter einer Creative Commons Namensnennung - Keine Bearbeitungen 4.0 International Lizenz.

    https://creativecommons.org/licenses/by-nd/4.0/deed.de


    Ich freue mich über jede konstruktive Kritik, sollte es Bug's geben - bitte melden.


    Kannst dich jetzt hinter deiner Mauer aus passiv aggressiven Klassikern wie "mimimi" oder "typisch Com" natürlich wie der Boss fühlen, weil du es jetzt allen mal so richtig gegeben hast

  • Ich freue mich über jede konstruktive Kritik, sollte es Bug's geben - bitte melden.

    Fangen wir mal an:


    1

    Lua
    local USERS = "Admin" or "Moderator" or "SuperModerator"

    Da hättest du genauso gut das hier hinschreiben können:

    Lua
    local USERS = "Admin"

    So klappt das nicht mit "or", USERS ist keine Tabelle und beinhaltet nur einen String.
    Da "Admin" der erste Wert, der nicht nil oder false, ist, wird direkt "Admin" genommen.


    2. Wieso arbeitest du mit Sekunden und gibst die Zeit immer gerundet in Stunden an?
    Was ist, wenn man nur 10 Minuten bannen will? Dann wird da wohl "... wurde gebannt von ... für 0 Stunden! ..." stehen.


    3. Wenn man solche fremden Scripts erstellt, sollte man die Funktionen immer lokal machen.
    Ansonsten kann es vor kommen, dass eine deiner Funktionen eine andere Funktion ersetzt.


    4. Die for-Schleife in "banplayer" könntest du nach banPlayer breaken lassen, sodass nicht unnötig noch weiter die gesamte Tabelle durchgegangen wird.


    5. Eigentlich wäre es sogar besser den Ban-Grund als Index für die Tabelle zu nehmen, statt 0, 1 etc.
    Da kannst du dir das Iterieren der Tabelle in "banplayer" sparen.
    Zuerst hatte ich ja gedacht du hättest das absichtlich gemacht, damit eine Sortierung herrscht bei "banhelp" - aber die Tabelle wird nur mir pairs durchgegangen.


    6. Die ganze Admin-Abfrage hättest du lieber in eine seperate Funktion verschieben sollen.
    Denn du hast nur die if-Abfrage kommentieren, jedoch wären bei einem Vio-Script auch getPlayerAccount, getAccountName etc. unnötig.


    7. Sicher, dass showChatBox funktioniert?
    Für mich sieht das nicht so aus, als würde es funktionieren.


    8. Oft sind die Einrückungen am Anfang der Funktion komisch

  • Werde ich mir mal morgen nach der Arbeit anschauen..
    Wieso sollte showChatbox nicht gehen?
    Im Test ging die Funktion.


    Kannst dich jetzt hinter deiner Mauer aus passiv aggressiven Klassikern wie "mimimi" oder "typisch Com" natürlich wie der Boss fühlen, weil du es jetzt allen mal so richtig gegeben hast

  • Wieso sollte showChatbox nicht gehen?


    Im Test ging die Funktion.

    Stimmt, sie wird gehen, aber nicht so, wie sie soll.
    Du hast es beim Testen nur nicht bemerken können, weil du alleine auf dem Server bist.
    Hol mal eine zweite Person ran und nutze z.B. /banhelp ;)

  • Achja und, funktioniert die E-Mail '[email protected]' ?^^...

    Perfekt ^^, nein mein Ernst wenn ich davor geschrieben "Email: [email protected]" dann hätte ich diese Aussage verstanden, aber jeder normale Mensch versteht was ich damit meine.

    Wieso nutzt du nicht GitHub für solche Dinge?

    Keine Ahnung wie man sowas verwendet und meiner Meinung nach nicht nötig bei einem kleinem Script.
    Klar man muss nicht extra herunterladen und kann gleich meckern (^^') aber ich brauch und will es nicht nutzen.

    Ich würde die Update Nachricht aber nicht an alle User schicken, das verwirrt nur und gehört nicht dort hin.

    oups, sollte eigentlich nur in print() ...


    Wie gesagt ich schau jetzt gleichnochmal rein und werde bisschen was fixen. ^^


    Kannst dich jetzt hinter deiner Mauer aus passiv aggressiven Klassikern wie "mimimi" oder "typisch Com" natürlich wie der Boss fühlen, weil du es jetzt allen mal so richtig gegeben hast

  • Perfekt ^^, nein mein Ernst wenn ich davor geschrieben "Email: [email protected]" dann hätte ich diese Aussage verstanden, aber jeder normale Mensch versteht was ich damit meine

    Das ist die geläufige Schreibweise für eine E-Mail, so wie du es in deinem Script am Anfang zweimal stehen hast. Ich denke nicht, dass das jeder so versteht. Wenn wir mal ganz davon absehen, dass wahrscheinlich nie jemand wegen solch einem Script eine Mail schreiben würde, halte ich es nicht für sinnvoll das so im Header einzubringen.


    Aber naja, nicht meine Sache.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!