[INCLUDE] Einzigartige Login/Register TextDraws + optionales Login System

  • Hi liebe Breadfish Community,


    heute möchte ich euch schöne Login / Register Textdraws zur Verfügung stellen welche von mir erstellt wurden.
    Habe alles in einer Include verpackt, welches meiner Meinung nach die Verwendung wesentlich vereinfacht.
    Alle Callbacks wurden gehookt, falls ihr die Funktionen in der "Include" selbst verwenden möchtet, d.h. ihr müsstet theoretisch kaum etwas ins Gamemode schreiben, außer ihr möchtet das natürlich.


    Informationen



    Außerdem ist die Farbe der TextDraws im Script ganz leicht veränderbar, wie ihr das macht, könnt ihr unten nachlesen.
    Verwendet wurden etwas mehr als 30 TextDraws, wovon 4 anklickbar sind (Registrieren, Wer sind Wir, Regeln & Credits).
    Die Clickarea wurde selbstverständlich bereits angepasst.
    Ein Beispiel für die Verwendung findet ihr am Ende des Threads.



    Funktionen



    Bilder

    Verschiedene Farben:




    Farben hinzufügen / entfernen




    Spieler ist registriert / nicht registriert (Beispiel)





    Download / Links


    FilterScript Version (mit Login/Register System, basiert auf MySQL R41-3) (danke an Jeffry)


    Deutsche Version (GitHub)
    Englische Version (GitHub)
    Direkt Download Link (GitHub)


    Credits, Liste der Funktionen & Beispiele
    Original Thread

    Schluss


    Hinterlasst doch mal einen Feedback da :) !

    8 Mal editiert, zuletzt von JustMe.77 () aus folgendem Grund: Direkt Download Link hinzugefügt Link zu Credits, Liste der Funktionen und Beispiele hinzugefügt (ein neues Beispiel hinzugefügt)

  • Sieht echt nice aus


    Habe nur einen Fehler gefunden:
    Du hast bei
    #if defined _ALS_OnGameModeExit
    #undef OnGameModeExit
    #else
    #define _ALS_OnGameModeExit
    #endif


    #define OnGameModeExit td_OnGameModeExit
    #if defined td_OnGameModeExit
    forward td_OnGameModeExit();
    #endif
    jeweils das "Exit" klein geschrieben wodurch Fehler wie
    error 021: symbol already defined: "OnGameModeExit"
    auftreten können

  • Mal ein paar Hinweise...


    • Da das ein Include sein soll, nutze bei globalen Variablen static und nicht new. (Damit Namen nicht Fehler auftreten, falls im Gamemode genau die selben Variablen Namen verwendet wurden. Hier als Tipp noch, nimm static stock damit man deine Include einfach inkludieren kann und nichts reserviert wird, auch wenn man keine Funktion nutzt.
    • Du hast einen Fehler bei deiner UpdateRealTime Funktion. Du rufst das unter OnGameModeInit auf...übergibst aber gar keine Spielerid...verwendest dann aber den Parameter playerid. Nun, jetzt wirst du dir denken, was meckert er denn, bei mir hat das wunderbar funktioniert. Das ist auch korrekt, allerdings nur, weil nichts übergeben wurde..und der Parameter deshalb immer 0 sein wird...und du wahrscheinlich spielerid 0 warst :klugs: Also, hier entweder das auf OnPlayerConnect verlagern (was meines erachtens am besten wäre, denn dann kannst du nach dem Login bzw wenn die TextDraws wieder weg sollen den Timer killen und sparst dadurch ressourcen) oder du musst eine Schleife für alle Spieler verwenden :)
    • Da du das jetzt als Include gemacht hast...wäre es doch eventuell besser gewesen, das mit den Pointern zu machen...da du so den Nutzern Speicherplatz sparst...ich meine..jetzt reservierst du jedem der das nutzen will 64kb...
    • Du verwendest in deinen TextDraws sowas wie ueber das sieht nicht so dolle aus..schreib es mal \172ber. Dann wird das ü korrekt dargestellt :) Link für alle Codes: http://forum.sa-mp.com/showthread.php?t=397515

    An sich...finde ich sowas als Include nicht gerade sehr sinnvoll, da man so oder so..die Texte in der Include anpassen muss...und naja...man ist an das Design gebunden..usw...
    Dennoch nett, dass du dein Design veröffentlichst :)


    Noch ein Optionaler Punkt:

    ast2ufdyxkb1.png


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


  • Ich muss sagen ich finde es gut das du diese Anmerkungen machst und ich finde es auch gut das du auf ressourcen achtest. Jedoch da Pawn Singelthreaded ist würde icj eher weniger auf speicher sondern mehr auf performance achten. Einfach aus dem Grund das heutzutage fast jeder server locker 2 GB an Ram zur verfügung hat und ich behaupte mal zu sagen, dass ein skript wenn es hoch kommt vllt maximal 70 MB RAM benötigt und das ist wirklich nichts.


    Daher muss bei gepackten string beachtet werden ,dass diese auch wieder entpackt werden => kostet zeit.


    Daher sollte man gerade viel auf globalen speicher und caching bauen.

  • Hi, habe mittlerweile fast alle von Kaliber's Punkten berücksichtigt.
    Mir ist es eigentlich auch egal welcher der beiden Varianten ich verwende, im großen und Ganzen macht das ja auch keinen wirklichen Unterschied (ist ja ziemlich kleine Include) aber natürlich versuche ich den Code so gut wie es geht zu verbessern.


    • Variablen werden nun statisch erstellt
    • Bug mit dem aktuallisieren der Uhrzeit behoben (lag daran das es vorher ein global TextDraw war :D)
    • Punkt 3 mag ich immer noch nicht umsetzen, da ich die Schreibweise nicht mag
    • TextDraws unterstützen jetzt auch den "Ü" Buchstaben :)

    Danke dir Kaliber, Startpost wurde jetzt editiert & geupdated.

    3 Mal editiert, zuletzt von JustMe.77 ()

  • Habe das Thema nun geupdatet, die Include ist nun auf Deutsch & Englisch verfügbar.
    Es wurden einige kleine Fehler behoben und einige neue Funktionen hinzugefügt, mehr Informationen dazu findet man im Startpost :)

    2 Mal editiert, zuletzt von JustMe.77 ()


  • Hab nen Schreibfehler gefunden. :D
    Zeile 635: "GlobalLoginTextDraw[26] = TextDrawCreate(348.000000, 213.000000, !"Hier finest du allgemeine ~g~Infos~n~~w~\172ber unseren Server.");"

    CEO vom Team Verbale Vergewaltigung - Wir ficken auch trocken

    LeonMrBonnie.de


    Scripting

    Ich helfe zu allen Fragen bezüglich PAWN Scripting gerne weiter.

    Auch im Bereich JavaScript und dort der RageMP API helfe ich gern.


    Kontakt

    Konversation: Konversation starten

    Oder eine der Kontaktmöglichkeiten auf leonmrbonnie.de

  • Noch einer. :P
    Zeile 141: "ShowPlayerDialog(playerid, D_Rules, DIALOG_STYLE_MSGBOX, "Unserer Regelwerk", string, "Ok", "");"

    CEO vom Team Verbale Vergewaltigung - Wir ficken auch trocken

    LeonMrBonnie.de


    Scripting

    Ich helfe zu allen Fragen bezüglich PAWN Scripting gerne weiter.

    Auch im Bereich JavaScript und dort der RageMP API helfe ich gern.


    Kontakt

    Konversation: Konversation starten

    Oder eine der Kontaktmöglichkeiten auf leonmrbonnie.de

  • Hallo, es ist nun eine FilterScript Version verfügbar, bei dem ein Login/Register System als Basis mit dabei ist.
    Das Login/Register System basiert auf die neuste MySQL Version [MySQL R41-3]


    Download:


    Deutsch
    Englisch


    Credits:


    • Jeffry (ganze Login/Register System)
    • JustMe.77 (TextDraw Layout)
    • BlueG/maddinat0r MySQL Plugin


    Original Thread:


    @Jeffry


    [jTuT] MySQL R41-3 (Installation, XAMPP, Verwendung, Bedienung & Registrations-System)

    3 Mal editiert, zuletzt von JustMe.77 ()

  • Kann man bestimmt verwenden.
    Schaut echt gut aus. 10/10 Pkt.

    Liebe Grüße
    FeniX.


    Nemesus-Roleplay.de Projektleiter in Rente...
    -------------------------------------------------------------------------