Neu! Login/Register System machen

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
  • kann mir jmd sagen wieso ich errors habe ??


    script ausschnitte:
    //pragma
    #pragma unused ret_memcpy
    //------------------------------------------------------------------------------


    public OnPlayerSpawn(playerid)
    {
    if(gPlayerLogged[playerid] == 0;
    {
    Kick(playerid);
    }
    return 1;


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if (strcmp(cmd, "/login", true) ==0 )
    new cmd[128];
    new idx;
    cmd = strtok(cmdtext, idx);
    new tmp[128];
    new playername[MAX_PLAYER_NAME];
    {


    und hier die errors:
    (39) : error 017: undefined symbol "ret_memcpy"
    (121) : error 001: expected token: ")", but found ";"
    (121) : error 036: empty statement
    (160) : error 017: undefined symbol "cmd"
    (161) : error 003: declaration of a local variable must appear in a compound block
    (161) : error 017: undefined symbol "cmd"
    (161) : warning 215: expression has no effect
    (161) : error 001: expected token: ";", but found "]"
    (161) : fatal error 107: too many error messages on one line

    Selfmade Reallife Server:IIIIIIIIIIIIIIIIIII 5%

  • {
    if(gPlayerLogged[playerid] == 0);
    {
    Kick(playerid);
    }
    return 1;
    }


    versuchs mal so und sag dann die anderen errors.

  • juhu klappt endlich .. nur wenn ich einstelle das wenn man sich nich registriert und SHIFT drückt das Server Closed the Connection kommt passiert das :


    error:
    (111) : error 036: empty statement


    scriptausschnitt:
    public OnPlayerSpawn(playerid)
    {
    if(gPlayerLogged[playerid] == 0);
    {
    Kick(playerid);
    }
    return 1;
    }


    weiß jmd wo der fehler ist ?

    Selfmade Reallife Server:IIIIIIIIIIIIIIIIIII 5%

    Einmal editiert, zuletzt von RuSsiADaN ()

  • cool danke es klappt !


    mist ... neues prob. :P unzwar wollt ich /stats reinmachen aber es kommen immer diese errors :


    (222) : error 017: undefined symbol "sendername"
    (223) : error 017: undefined symbol "kills"


    if(strcmp(cmd, "/stats", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    new string[128];
    SendClientMessage(playerid, COLOR_GREEN,"________________%s_______________________", sendername);
    format(string,sizeof string,"Kills:[%d] Deaths:[%d]",kills,deaths);
    SendClientMessage(playerid, COLOR_GRAD5, string);
    SendClientMessage(playerid, COLOR_GREEN,"__________________________________________");
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Du musst eingeloggt sein!");
    }
    }
    return 1;
    }


    und i-wie speichert das geld , die kills und die deaths nur wenn der server an bleibt. sobald ich ihn ausmachen ist alles wieder auf 0! :cursing:

    Selfmade Reallife Server:IIIIIIIIIIIIIIIIIII 5%

    3 Mal editiert, zuletzt von RuSsiADaN ()


  • if(strcmp(cmd, "/stats", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    new string[128];
    new sendername = GetPlayerName(playerid,sendername,sizeof(sendername));
    new kills = Playerinfo[playerid][pKills];
    new deaths = Playerinfo[playerid][pDeaths];
    SendClientMessage(playerid, COLOR_GREEN,"________________%s_______________________", sendername);
    format(string,sizeof string,"Kills:[%d] Deaths:[%d]",kills,deaths);
    SendClientMessage(playerid, COLOR_GRAD5, string);
    SendClientMessage(playerid, COLOR_GREEN,"__________________________________________");
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Du musst eingeloggt sein!");
    }
    }
    return 1;
    }


    Denke mal so geht das

    Zitat

    Nimm die Dinge wie sie sind: schlag, wenn du schlagen musst, tritt, wenn du Treten musst
    -Bruce Lee

  • Warum speicherst du alle Daten unter OnPlayerUpdate(playerid) ?
    Wieso checkst du in OnPlayerUpdate(playerid) ob der Spieler connectet ist?
    Weiterhin checkst du auch bei /login ob der Spieler connectet ist oder nicht,wieso aber bei /register nicht?


    Mehr sinnloses Zeug aufzählen mach ich,wenn mir diese beantwortet wurden :].



    Zitat

    Denke mal so geht das


    Nein,so gehts nicht.Da ist auch ein Fehler drin.
    new sendername = GetPlayerName(playerid,sendername,sizeof(sendername)); //<- 100% funktioniert das nicht

    Schon wieder auch diese genial IsPlayerConnected() Abfrage :cursing: .


  • jo ich hab auch eins Gemacht: mit ner besonderen Funktion:
    (ich hab mein Logsys so Gemacht das man Entweder reg oder nicht machen kann)
    if (strcmp(cmd, "/stats", true) == 0)
    {
    if (gPlayerAccount[playerid] == 1) //Wenn ein Account Erstellt ist
    {
    if(gPlayerLogged[playerid] == 0)//Wenn er nicht Eingelogt ist
    {
    SendClientMessage(playerid, rot,"**Benutze: /login [passwort]}");
    }
    if(gPlayerLogged[playerid] == 1)//Wenn er Eingelogt ist
    {
    OnPlayerUpdate(playerid);
    SendEx(playerid,Gelb,"____________________________________",PlayerName(playerid));
    SendEx(playerid,Gelb,"Dies sind deine stats =%s=",PlayerName(playerid));
    SendEx(playerid,Gelb,"[Killes: %d][Tode: %d]",PlayerInfo[playerid][pKills],PlayerInfo[playerid][pDeaths]);
    SendEx(playerid,Gelb,"[Geld: %d][SkinID: %d]",PlayerInfo[playerid][pCash],PlayerInfo[playerid][pSkin]);
    SendEx(playerid,Gelb,"[Deine Score: %d]",PlayerInfo[playerid][pScore]);
    SendEx(playerid,Gelb,"____________________________________",PlayerName(playerid));
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, "** Um [/stats] zu benutzen must du erst [/register] benutzen");
    }
    return 1;
    }ich hab n bischen dazu gefügt in meinem Log sys xD
    und Hier die .ini fürs
    SendClientMessageEx(playerid, color, string[], {Float,_}:...);

    SendClientMessageEx(playerid, color, string[], {Float,_}:...);
    SendClientMessageEx(playerid, color, string[], {Float,_}:...); //hier lang xD ||<--von[ Rafelder ] rest von seinem selbst gemacht
    SendEx(playerid, color, string[], {Float,_}:...); //hier lurz
    SendClientMessageToAllEx(playerid, color, string[], {Float,_}:...); //lang
    SendToAllEx(playerid, color, string[], {Float,_}:...); //kurz


    Ta da sind noch n par andere funktionen drin aber hab ich nicht selbst gemacht: ja dan ganz unten v




    Meine Frage:


    Wie kan ich machen das das Passwort max 16 Zeichen lang ist??

    I'm Sorry For Your Mistake!
    but it's yours

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Unsicher. Wenn mein PW 123 ist, kann man auch mit 1234 rein. Kann man das ändern?


    BTW: Wie speichert man Positionen?
    Ich weiß, dass man bei OnPlayerDisconnect was mit new Float: xy usw. und mit GetPlayerPos(playerid, Float: xy usw. das dann bekommt, aber wie man das dann in der .ini speichert und bei OnPlayerConnect dann abruft, ka :(


    Kann mir wirklich keiner helfen? Wäre nett wenns mir jemand erklären könnte :)


    2 Mal editiert, zuletzt von relyyy ()

  • Was will ich mit einem DM Script? Ich will auch nix mit OnPlayerRequestClass sondern einfach wenn man sich ausloggt, soll die Position vom Player in der .ini gespeichert werden und bei OnPlayerConnect wieder abgerufen werden ...

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen