Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Ich habe nach langer Zeit mal wieder Lust auf PAWN Scripting bekommen und wollte unbedingt wieder was entwickeln. Da ich aber dachte, dass ein kompletter Gamemode etwas zu viel ist, habe ich mich für Filterscripts mit verschiedenen Systemen entschieden. Mein erstes darunter ist diese Adminsystem, welches zweisprachig gehalten ist. Ich habe versucht das System so dynamisch wie möglich zu halten. Was das bedeutet erkläre ich weiter unten. Beginnen wir erstmal mit den Grundeinstellungen.


    1. Benötigte Plugins

    Benötigt wird das sscanf Plugin. Dieses kann hier heruntergeladen werden.


    2. Ordner und Dateien

    Damit das Filterscript anständig läuft, sind einige Ordner und Dateien in den scriptfiles notwendig. Diese Struktur ist auch in der ZIP Datei enthalten. Die benötigten Dateien werden vom Script aus erstellt, sollten diese nicht vorhanden sein. So kann der Ursprungszustand bei bedarf wiederhergestellt werden.


    01 Ordner Struktur.png


    /scriptfiles/adminsystem/playerAdmin.ini Hier wird gespeichert, welcher Spieler welches Adminlevel hat
    /scriptfiles/adminsystem/rangNames.ini Hier werden die Rangnamen gespeichert
    /scriptfiles/adminsystem/settings.ini Hier werden die Freigaben und allgemeine Einstellungen gespeichert
    /scriptfiles/adminsystem/warnings.ini Hier werden die Verwarnungen von Spielern gespeichert
    /scriptfiles/adminsystem/bans Hier werden die Banns der Spieler gespeichert
    /scriptfiles/adminsystem/logs Hier werden Tagesaktuelle Logs gespeichert. Das Format ist adminLog_DATUM.txt
    /scriptfiles/adminsystem/support Hier werden die erstellten Tickets täglich gespeichert. Das Format ist ticketlog_DATUM.txt



    3. Einstellungen

    Sobald die benötigten Ordner erstellt sind und das Filterscript geladen wurde, kann man sich an die allgemeinen Einstellungen machen. Diese können über den /settings Befehl im Spiel angezeigt werden. Dieser Befehl ist nur benuztbar, wenn man als RCON Admin eingeloggt ist. Das soll ein Missbrauch der Einstellungen vorbeugen.


    02 Settings Menü.png


    1. Admin werden
    Wird dieser Menüpunkt ausgewählt, wird das aktuelle maximale Adminlevel dem Spieler zugeweisen
    2. Adminränge bearbeiten
    Unter diesem Menüpunkt können die Rangnamen der einzelnen Adminränge bearbeitet werden. Wird über 3. Anzahl Adminränge bearbeiten die maximale Anzahl der Ränge erhöt, werden diese automatisch auf BITTE RANGNAMEN ÄNDERN! gesetzt.

    03 Adminränge bearbeiten.png
    3. Anzahl Adminränge bearbeiten
    Hier kann das maximale Adminlevel angepasst werden. Nach oben besteht hierbei kein Limit. Alle neuen Adminränge werden automatisch auf BITTE RANGNAMEN ÄNDERN! gesetzt.

    04 Adminlevel bearbeiten.png
    4. Zugriffslevel bearbeiten
    In diesem Menüpunkt kann festgelegt werden, welcher Befehl für welchen Rang freigegeben ist. So kann während dem laufendem Server eine Änderung der Berechtigungen vollzogen werden.

    05 Zugriffsrechte.png
    5. Allgemeine Einstellungen
    Hier werden die grundlegenden Einstellungen für das Adminsystem getätigt.

    MAX WARNINGS = Gibt die Anzahl der maximalen Verwarnungen eines Spielers an, bis dieser vom System automatisch gekickt wird.
    STACK WARNINGS = Gibt an, ob die Verwarnungen eines Spielers gestackt werden sollen. Das bedeutet wenn ein Spieler z. B. 3 Verwarnungen hat und bei ausgeschaltetem stacken eine vierte Verwarnung erhält, wird dieser wieder automatisch vom Server gekickt. Sollte das Stacken eingeschaltet sein, wird der Spieler erst ab der sechsten Verwarnung vom System gekickt.
    LOOS WARNING TIMER = Gibt an, in welcher Zeit eine Verwarnung abgebaut wird.
    LANGUAGE = Hiermit wird die Sprache das Adminsystem eingestellt. Aktuell gibt es DE (Deutsch) und EN (Englisch)
    SUPVEH MODEL = Hier kann das Model des Supportfahrzeugs, welches mit /supveh erzeugt werden kann, eingestellt werden

    06 Allgemeine Einstellungen.png



    4. Übersicht der Befehle

    Befehle die normale User verwenden können

    /adminsGibt eine Übersicht der zurzeit verbundenen Teammitgliedern aus
    /supchat [text]
    Erstellt ein Supportticket
    /endchatSchließt ein Supportticket


    Befehle für Administratoren

    /kick [playerid][grund]
    Kickt einen Spieler vom Server
    /ban [playerid][grund]
    Bannt einen Spieler dauerhaft vom Server
    /timeban [playerid][zeit in minuten][grund]
    Bannt einen Spieler auf eine bestimmte Zeit.
    /unban [spielername]
    Entbannt einen Spieler
    /tp [playerid][ziel playerid]
    Telepotiert einen Spieler zu einem anderen Spieler
    /freeze [playerid]
    Freezet oder unfreezet einen Spieler
    /setint [playerid][interiorid]
    Ändert das Interior eines Spielers
    /setvw [playerid][virtualworld]
    Ändert die virtuelle Welt eines Spielers
    /supvehSpawnt ein Supportfahrzeug
    /spectate [playerid]
    Hier wird einem ausgewähltem Spieler zugeschaut. Bei erneuter eingabe wird der Zuschauermodus beendet
    /sethealth [playerid][ammount]
    Setzt das Leben eines Spielers auf einen bestimmten Wert
    /setarmour [playerid][ammount]
    Setzt die Rüstung eines Spielers auf einen bestimmten Wert
    /repvehRepariert das aktuelle Fahrzeug. Der Spieler muss sich dafür in diesem befinden
    /setweather [weatherid]
    Ändert das aktuelle Wetter
    /killallTötet alle Spieler auf dem Server
    /resetvehSetzt alle unbesetzten Fahrzeuge auf dem Server zurück
    /delveh [vehicleid]
    Löscht ein bestimmtes Fahrzeug
    /respawnveh [vehicleid]
    Respawnt ein bestimmes Fahrzeug
    /getvidGibt die aktuelle ID des Fahrzeugs aus, in dem man sich befindet
    /warn [playerid][grund]
    Gibt dem ausgewähltem Spieler eine Verwarnung
    /eject [playerid]
    Schmeißt einen Spieler aus einem Fahrzeug, sofern sich dieser in einem befindet
    /slap [playerid]
    Schleudert den ausgewählten Spieler um +8 in die Höhe
    /ccSäubert den Chat
    /makeadmin [playerid][level]
    Gibt einem ausgewähltem Spieler einen bestimmten Rang. Dabei kann MAX_ADMINRANG nicht überschritten werden
    /getticket [id]
    Damit wird ein offenes Ticket angenommen
    /a [text]
    Damit können die Teammitglieder untereinander kommunizieren
    /spawnveh [model]
    Hiermit wird ein neues Fahrzeug gespawnt
    /restartserver [zeit in sekunden]
    Der Server wird nach der angegebenen Sekundenzahl neugestartet.


    5. Download

    Quellcode: https://pastebin.com/MezvVVug

    DL Link: https://dl.t4125gamer.de/SAMP/tg_adminsystem.zip


    Wenn euch Fehler auffallen, oder weitere Funktionen gewünscht sind, dann gerne melden. Über eine Bewertung würde ich mich freuen.

  • Hey cooles Ding,


    ich dachte ich bin mal so frei und geb dir ein kleines Code Review (auch wenn keiner danach gefragt hat) ^^


    Ich gehe jetzt auf nichts Pawn-Spezifisches ein, sondern ganz generell quasi ein kleines Clean Code Feedback.


    Ich pack es mal in den Spoiler, damit ich hier nicht so viel Platz klaue ^^

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Super System, gefällt mir sehr gut, und was man alles mit machen kann, echt geil!..

    Danke dir :)