[Zurückgezogen] Support System

  • Support System Beta Release 1.0


    Ich Release heute mein eigenes Support-System. Es ist sehr einfach zu Hand haben und man kann eigentlich nix falsch machen.


    Funktionen:


    Gui:


    Wie im Titel steht ist es noch in der Beta. Es werden diese Woche noch ein parr Updates folgen :)


    Hast du Update Ideen oder hast Bugs gefunden?


    - Poste es hier im Therad
    - Schreib mir im cChat
    - Mach es selber ^^


    Bugs:
    Noch keine gefunden.


    Download (Script zurückgezogen)


    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

    Einmal editiert, zuletzt von The0ne ()

  • Der Code ist wirklich etwas schlimm :/


    Was mir alles aufgefallen ist:


    1. Du benutzt "onClientResourceStart" mit root zusammen. Das bedeutet, dass der ganze Code in Zeilen 5 bis 11 bei jedem Ressourcen-Start ausgeführt wird, egal welche Ressource (z.B. bei Admin-Start wird der Code ausgeführt).Daher nutze da lieber resourceRoot, damit es nur bei DIESER Ressource passiert.



    2. Wieso auch immer, sendest du per triggerServerEvent den Spieler.

    Lua
    local player = getLocalPlayer() -- der Schritt ist recht unnötig
    triggerServerEvent("checkrights", localPlayer, player) -- hier sendest du localPlayer als Argument (player = localPlayer)


    Das ist nicht nur unnötig (+ verschwendet Bandweite), sondern ist auch anfällig für Event-Faking.
    Nutze daher hier keine Argumente und serverseitig dann client (client ist der Client, der den triggerServerEvent ausgeführt hat).


    3. Du sendest serverseitig das Event "haverights" an alle Spieler (Zeile 7), was recht unnötig ist. Sende es nur an client.


    4. Die Einrückungen im Code sind schrecklich, ich verliere sofort den Überblick.


    5. Die GUIs werden von Anfang an für alle Spieler erstellt und im Hintergrund gelassen - auch wenn man sie nie verwendet.
    Wieso erstellst du die GUIs nicht einfach dann, wenn der Spieler das Fenster öffnen will?


    6. Im Hintergrund werden die Spieler dauerhaft in die Liste hinzugefügt oder aus der Liste entfernt, wenn sie Online kommen oder Offline gehen.
    Wieso tust du das nicht einfach 1x alles, wenn man das Fenster öffnet?


    7. Nahezu alle Variablen sind global - versuch sie auf local zu setzen.
    Du nutzt sie nirgends anders.


    8. clientseitig in den Zeilen 173 und 181 wird die Variable columsn verwendet - sie existiert aber gar nicht?!


    9. Es wird immer zwischen Englisch und Deutsch gewechselt - du solltest da lieber nur eine Sprache nutzen (Englisch ist empfehlenswert)


    10. Du benutzt oft is ... end is ... end is ... end, obwohl du diese viel besser mit is ... elseif ... elseif ... end machen könntest.
    Das sorgt für minimal bessere Performance, aber für viel bessere Übersicht, da man direkt weiß "wenn das eine auftritt, kann das andere nicht auftreten".
    Außerdem können da oft Fehler auftreten, du hast da auch einen Fehler gemacht.


    11. Das ganze Support-Fenster kann nur jemand berechtigtes benutzen - aber es wird trotzdem für alle erstellt und die Spieler werden im Hintergrund bei allen in die Liste eingefügt.


    12. Man sollte das Fenster auch wieder mit "O" schließen können - nutze guiSetInputMode, um beim Schreiben keine Probleme zu bekommen.


    13. Du brauchst besseren Schutz gegen Event-Faking.
    Z.B. könnte man durch das Faken von "submitwarn" jeden beliebigen Spieler auf dem Server bannen.
    Du kannst was dagegen tun, indem du z.B. serverseitig noch abfragst, ob der client überhaupt befugt dazu ist.
    Vertraue nie dem client, frag serverseitig immer nochmal ab.


    14. Ich bin mir zu 100% sicher, dass ich dir das schon vorher mal gesagt hatte - du hattest vorher mal sowas releast (oder es war wer anderes und du hast nur das Script genommen).
    Guck dir diese Zeilen mal an:


    Ich habe es zur besseren Übersichtlichkeit etwas gekürzt und mit Einrückungen versehen.
    Weißt du, was hier passiert?


    1. Warn -> Du hast nun 1 Warn
    2. Warn -> Du hast zurzeit 2 Warns. -> 3. Warn
    4. Warn -> Man wird gebannt


    Das meinte ich im 10. Punkt, du gibst dem Spieler hier nach dem 1. Warn sofort 2 Warns (setzt es auf 3).
    Wenn du da einen Output reingetan hättest mit "Du hast zurzeit 3 Warns", hättest du es vllt. selber bemerkt.



    15. Die Warns werden erst auf 0 gesetzt, wenn man sich einloggt.
    Was ist, wenn man sich nie einloggt? Dann klappt es nicht, man kann dem Spieler nie Warns geben.


    16.


    Lua
    if getAccountData(acc, "sup.warns") == "3" then
    outputChatBox("[WARN]: Du hast zurzeit 2 Warns", source, 255, 0, 0, false)
    end

    Man sieht, dass du vom Fehler in Punkt 14 Bescheid weißt, aber statt den Fehler zu suchen, hast du dich lieber für eine "hässliche" Methode entschieden.
    Eine Art "hauptsache es klappt", was ein riesen Fehler von Anfängern ist. Irgendwann hast du so massig "unsichtbare" Bugs reingetan, die du später nicht mehr so einfach fixen werden kannst.

  • 4. Die Einrückungen im Code sind schrecklich, ich verliere sofort den Überblick.

    Es ist ein altes Script von mir kein aktuelles.


    5. Die GUIs werden von Anfang an für alle Spieler erstellt und im Hintergrund gelassen - auch wenn man sie nie verwendet.

    Ich habe die Erfahrung gemacht das wenn man alles gleich lädt das es noch so 1 Sekunde standtbild ist.


    Es wird immer zwischen Englisch und Deutsch gewechselt

    Wüsste nicht wo :D


    1. Warn -> Du hast nun 1 Warn
    2. Warn -> Du hast zurzeit 2 Warns. -> 3. Warn

    Nein. Das hatten wir schonmal, ich werde beim 3.Warn gebannt. Ich teste doch meine funktionen ^^


    Man sieht, dass du vom Fehler in Punkt 14 Bescheid weißt, aber statt den Fehler zu suchen, hast du dich lieber für eine "hässliche" Methode entschieden.
    Eine Art "hauptsache es klappt", was ein riesen Fehler von Anfängern ist.

    Deswegen ist es ja noch eine Beta. Es werden noch viele Updates folgen, was einrücken betrifft, ich bin gerade auch dabei alles ein wenig 'sichererer' und verständlicher zumachen.


    oder es war wer anderes und du hast nur das Script genommen

    Das ist von meinem Warnscript


    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

  • 1. Auf wenn es ein altes Script ist, du hast es released.


    2. Besser als wenn man sie dauerhaft im Hintergrund hat.


    3. Ich zähle dir einige Variablen auf:
    checkplayers, checksys, spielerliste, submitbtn, warnungch, supch, newsch, showall, hideall, allow, show, warnung, nachricht, message.
    Fällt dir da wirklich nichts auf?


    4. Habs auch gerade gesehen - und da hatte ich dir auch viel geschrieben, wobei du das meiste wohl ignoriert hast.


    5. Dann teste ordentlich. Du kriegst beim 2. Warn direkt den 3. Warn, das hatte ich dir da auch geschrieben.
    Lass dir z.B. nach jedem Warn die Warn-Anzahl des Spielers schicken, dann wirste es wohl bemerken.
    "Falls der Spieler einen Warn hat, gib ihm den 2. Warn.
    Falls der Spieler DANACH 2 Warns hat, gib ihm den 3. Warn."
    Ein "andernfalls/elseif" hätte hier den Fehler verhindert.



    6. Dann solltest du die "Beta" erst starten, wenn du das Script so weit hast.

  • 2. Besser als wenn man sie dauerhaft im Hintergrund hat.

    Geschmackssache ^^


    Fällt dir da wirklich nichts ein?

    Achso, dachte für Informationen (outputChatBox)


    Du kriegst beim 2. Warn direkt den 3. Warn, das hatte ich dir da auch geschrieben.
    Lass dir z.B. nach jedem Warn die Warn-Anzahl des Spielers schicken, dann wirste es wohl bemerken.

    hm, werde gegen Abend mal ein Update raushauen.


    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

  • 1. Setzt dir keine Festen Termine, keiner wartet hier sehnsüchtig auf das Update.
    2. Gibt Bonus doch mal n Like, nichts freut ihn mehr^^

    Ok, Script wird zurück gezogen.


    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

  • Kein Argument direkt eine Ressource zu entfernen.

    Ich hab sie nicht Entfernt wegen den der Kritik, sondern deshalb weil es zu viele Bugs gab und für ein Release zu voreilig war.


    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

Jetzt mitmachen!

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