[Release] Ban-System

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • [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-Quellcode

      1. local BAN_META_TABLE = {
      2. [0] = {NAME = "SDM", REASON = "Du wurdest für SDM gebannt", TIME = 10000},
      3. [1] = {NAME = "Beleidigung", REASON = "Du wurdest wegen deiner Wortwahl permanent gebannt", TIME = 0}
      4. }
      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.
    • The0ne schrieb:

      Ich freue mich über jede konstruktive Kritik, sollte es Bug's geben - bitte melden.
      Fangen wir mal an:

      1

      LUA-Quellcode

      1. local USERS = "Admin" or "Moderator" or "SuperModerator"
      Da hättest du genauso gut das hier hinschreiben können:

      LUA-Quellcode

      1. 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.
      showChatBox

      LUA-Quellcode

      1. function showChatBox(TEXT, TYPE, SOURCE)
      2. if (TYPE and TEXT) then
      3. if (TYPE == "NORMAL") then
      4. outputChatBox("#ff0000[BAN SYSTEM]: #ffffff"..TEXT,source,255,255,255, true)
      5. elseif (TYPE == "ERROR") then
      6. outputChatBox("#ff0000[BAN SYSTEM]: Fehler: #ffffff"..TEXT,source,255,255,255, true)
      7. end
      8. end
      9. end


      8. Oft sind die Einrückungen am Anfang der Funktion komisch
      Mein Discord:
      discord.gg/Kpm3CYB

      C# Enthusiast, kommt mir nicht mit Lua, rtfu
    • Werde ich mir mal morgen nach der Arbeit anschauen..
      Wieso sollte showChatbox nicht gehen?
      Im Test ging die Funktion.
      "Lass mal die Leute haten und hetzen.
      Es ist so, die Schlechten beneiden die Besten."

      Corbert schrieb:

      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
    • PewX schrieb:

      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.

      PewX schrieb:

      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.

      PewX schrieb:

      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. ^^
      "Lass mal die Leute haten und hetzen.
      Es ist so, die Schlechten beneiden die Besten."

      Corbert schrieb:

      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
    • The0ne schrieb:

      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.