[INCLUDE] Einzigartige Login/Register TextDraws

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

    • [INCLUDE] Einzigartige Login/Register TextDraws

      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

      Quellcode

      1. CreateGlobalLoginTextDraws() - Erstellt alle Global-TextDraws
      2. CreatePlayerLoginTextDraws(playerid) - Erstellt alle Player-TextDraws
      3. ShowLoginTextDraws(playerid) - Zeigt alle TextDraws
      4. HideLoginTextDraws(playerid) - Versteckt alle TextDraws
      5. DestroyGlobalLoginTextDraws(playerid) - Zerstört alle Global-TextDraws
      6. DestroyPlayerLoginTextDraws(playerid) - Zerstört alle Player-TextDraws
      7. PlayerIsRegistered(playerid) - Passt die TextDraws für registrierte Spieler an
      8. PlayerIsNotRegistered(playerid) - Passt die TextDraws für unregistrierte Spieler an
      9. #define LoginTextDrawColor - Verändert die TextDraw Farbe (PAWN HEX CODE)
      10. #define TextDrawHoverColor - Verändert die TextDraw Hover Farbe (PAWN HEX CODE)
      11. #define LT_ServerName - Passt den Server Namen an (Willkommen auf DEIN_SERVERNAME..)
      12. #define RandomLoginColors - Auskommentieren = Verschiedene LoginTextDraw Farben für jeden Spieler
      Alles anzeigen

      Bilder

      Verschiedene Farben:




      Farben hinzufügen / entfernen


      Quellcode

      1. static RandomLoginColorsArray[] =
      2. {
      3. 0xFF0000FF, //Light Red
      4. 0x5E0000FF, //Dark Red
      5. 0x80FF00FF, //Light Green
      6. 0x005100FF, //Dark Green
      7. 0x0080C0FF, //Light Blue
      8. 0x000088FF, //Dark Blue
      9. 0xFFFFFFFF, //White
      10. 0x9E9E9EFF //Light Grey
      11. };
      Alles anzeigen


      Spieler ist registriert / nicht registriert (Beispiel)

      Quellcode

      1. public OnPlayerConnect(playerid)
      2. {
      3. if(mysql_num_rows() != 0)
      4. {
      5. //Spieler ist registriert (TextDraws werden angepasst)
      6. PlayerIsRegistered(playerid);
      7. }
      8. else
      9. {
      10. //Spieler ist nicht registriert (TextDraws werden angepasst)
      11. PlayerIsNotRegistered(playerid);
      12. }
      13. return 1;
      Alles anzeigen




      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 :) !

      Mit freundlichen Grüßen
      JustMe.77 :)

      Dieser Beitrag wurde bereits 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

      PAWN-Quellcode

      1. #if defined _ALS_OnGameModeExit
      2. #undef OnGameModeExit
      3. #else
      4. #define _ALS_OnGameModeExit
      5. #endif
      6. #define OnGameModeExit td_OnGameModeExit
      7. #if defined td_OnGameModeExit
      8. forward td_OnGameModeExit();
      9. #endif

      jeweils das "Exit" klein geschrieben wodurch Fehler wie

      PAWN-Quellcode

      1. error 021: symbol already defined: "OnGameModeExit"

      auftreten können




      Mein Name ist TheOneBehindYou1 (Meinen richtigen Namen kann man nicht aus meinem Nicknamen herauslesen) und ich bin 17 Jahre alt.
      Ich komme aus Österreich (genauer: Niederösterreich) und Ich bin ein großer T.S.-Fan aber ich glaube das bekommt man nicht so mit


      Ich scripte sehr gerne jedoch nicht gerne für Server sondern einfach nur so zu Spaß und um nicht aus der Übung zu kommen


      [Umfrage]
      Ist das Sinnvoll?
      Ja
      Nein
      Banane

      Ergebnis zeigen


      Dodge Challenger Demon

      (vs. Bugatti Veyron based on ¼-mile time.)

    • Mal ein paar Hinweise...

      1. 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.
      2. 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 :)
      3. 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...
      4. 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: 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:
      Spoiler anzeigen

      PAWN-Quellcode

      1. "Dieser Name ist ~g~nicht~w~ in Verwendung.~n~Du kannst dich jetzt ~g~registrieren."

      Alle deine Texte sind statisch, das ist sehr gut :)
      Dadurch kannst du sie packen :)
      Setz am Anfang ein ! davor:

      Zum Beispiel:

      PAWN-Quellcode

      1. LoginTextDraw[playerid][29] = CreatePlayerTextDraw(playerid,346.000000, 162.000000, !"Dieser Name ist ~g~nicht~w~ in Verwendung.~n~Du kannst dich jetzt ~g~registrieren.");


      Der eine Satz (das kannst du überall machen) besteht aus 82 Zeichen.
      Normalerweise brauch jede Cell 4 Bytes. Also 82 * 4 Bytes = 328 Bytes
      Wenn du es aber packst, brauch jede Cell nur 1 Byte, also 82 * 1 Byte = 82 Bytes :)

      Kannst hier also 25% Speicher sparen ^^
      Und das summiert sich ja..da du viele Texte hast :3



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

      Mal ein paar Hinweise...

      1. 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.
      2. 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 :)
      3. 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...
      4. 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: 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:
      Spoiler anzeigen

      PAWN-Quellcode

      1. "Dieser Name ist ~g~nicht~w~ in Verwendung.~n~Du kannst dich jetzt ~g~registrieren."

      Alle deine Texte sind statisch, das ist sehr gut :)
      Dadurch kannst du sie packen :)
      Setz am Anfang ein ! davor:

      Zum Beispiel:

      PAWN-Quellcode

      1. LoginTextDraw[playerid][29] = CreatePlayerTextDraw(playerid,346.000000, 162.000000, !"Dieser Name ist ~g~nicht~w~ in Verwendung.~n~Du kannst dich jetzt ~g~registrieren.");


      Der eine Satz (das kannst du überall machen) besteht aus 82 Zeichen.
      Normalerweise brauch jede Cell 4 Bytes. Also 82 * 4 Bytes = 328 Bytes
      Wenn du es aber packst, brauch jede Cell nur 1 Byte, also 82 * 1 Byte = 82 Bytes :)

      Kannst hier also 25% Speicher sparen ^^
      Und das summiert sich ja..da du viele Texte hast :3


      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.

      Mit freundlichen Grüßen
      JustMe.77 :)

      Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von JustMe.77 ()


    • 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)

      Mit freundlichen Grüßen
      JustMe.77 :)

      Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von JustMe.77 ()