Name ändern bei Login

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
  • Guten Abed!


    Und zwar möchte ich wenn man auf den Server joint sofern man einen falschen Namen hat der nicht in der DB gespeichert ist, dass man diesen beim Login auf seinen richtigen Namen der er in der DB gespeichert ist ändern kann, soo das das System erkennt, daer Name zum Passwort gehört.


    We stelle ich das am ebsten an?


    So sieht mein Code momentan aus.


    Ich denke, am besten wäre es irgendwas bei Dialog Reginfo einzubauen.


    Danke im Voraus


    Allrounder18

  • Du könntest evt. bei
    DIALOG_REGINFO:


    ihn ein Listen_Dialog geben mit den Optionen


    Namen ändern
    Account erstellen(Dann die Info Box nochmal...)
    Abbrechen
    (oder so.)


    und dann kannst du wenn er Name ändern drückt die
    Variable UserDaten[playerid][user_Name]
    ändern oder wie das System auf dem Server Funktioniert + mit SetPlayername() noch den Namen dann setzen (denk aber daran das du dan n aber beachten musst das er ja nicht immer den Namens setzen kann siehe
    https://wiki.sa-mp.com/wiki/SetPlayerName)
    (wie gesagt, wie dein System dazu nunmal ist)



    wäre jetzt meine erste Idee, wenn ich etwas falsch verstanden habe bitte mich korrigieren.
    Mfg. Mogly1

  • @Jeffry
    Danke, für die rasche Antwort! Ja, der Spieler soll seinen Namen eingeben mit dem er sich registriert hat. (Registrierung via Forum).


    So nach dem Motto, das System soll merken, wenn der im Serverbrowser eingegebene Name nicht in der DB steht, dass dann ein Feld kommt wo man seinen richtigen Namen eingibt und dieser sich dann aber auch im TAB ändert.


    @Mogly1
    Dein System hört sich zwar Interessant an, passt aber icht ganz zu einer Idee. Danke Trotzdem.


    Heißt wenn sich der Name nicht immer ändert ist mein Vorhaben für die Katz?

  • Heißt wenn sich der Name nicht immer ändert ist mein Vorhaben für die Katz?

    Naja, ja und nein da du möchtest das er unter Tab InGame angezeigt wird, musst du irgendwann SetPlayerName nutzen.


    wo man seinen richtigen Namen eingibt und dieser sich dann aber auch im TAB ändert.

    ---------------------
    Du kannst ihn aber auch einfach anstatt die DIALOG_REGINFO
    Ein DIALOG_STYLE_INPUT geben wo er sein namen nochmal ändern kann dort dann gleich verglichen wird ob Acc vorhanden wenn ja dann den namen setzen(falls noch nicht auf den Server)


    Aber ich denke es wäre auch nicht schlimm, wenn die Leute neu connecten müssten wenn sie ein falschen Namen haben?(einfach um evt. Bugs dann zu vermeiden :thumbup: )
    Mfg. Mogly1


  • Meinst du so ungefähr @Mogly1?

  • Hier nutze ic es als erstes.


    Welche Bugs könnten auftreten bei dem System wie du oben meintest?

  • Welche Bugs könnten auftreten bei dem System wie du oben meintest?

    Tja aufgrund von SetPlayerName könnte es zu Crashes kommen ausser du beugst dagegen vor mit if abfragen.
    Auch kann nicht jemand auf dem server dann dauernt einen namen prüfen und somit (die datenbank dauernd belasten :) )
    Also ich würde es einfach über das reconencten regeln. Um Bugs vorzubeugen.
    Mfg. Mogly1
    -------------------------------------


    Also, das wäre jetzt meine Grundidee dazu...


    Ob das nun auch so funktioniert ist eine andere Sache

  • Mein code war nur mein Gedanken gang, da ich dein Script nicht ganz kenne wird dieser code schnipsel nicht Funktionieren :saint:
    (musst noch ausbauen, wenn überhaupt musst ihn nicht mal nutzen, es war nur eine Idee es so zu versuchen :thumbup: )

    Wie meinst du das?

    Damit meinte ich, das man wenn man auf namen prüfen klickt immer wieder via. mysql abfragt ob der user schon existiert.


    hehe
    pass das mal bitte so an
    if(strlen(inputtext)<1 || strlen(inputtext)>MAX_PLAYER_NAME+1)