login funktion unscripten

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
  • Hallo,
    ich wollte diese strget login funktion :
    if(strcmp(strget(cmdtext,0), "/login", true) == 0)
    {
    new save[40];
    new s2[256];
    new Zivi;
    GetPlayerName(playerid,spieler,sizeof(spieler));
    format(save,sizeof(save),"Spieler/%s.ini",spieler);
    if(dini_Exists(save))
    {
    if(loggedin[playerid] == false)
    {
    s2=dini_Get(save,"passwort");
    if(strval(s2)==udb_hash(strget(cmdtext,1))) // wenn die Eingabe nach /login mit dem Passwort übereinstimmt
    {
    SetSpawnInfo(playerid, Zivi,pInfo[playerid][skin],1193.2167,-1266.1366,23.6099,2.9239,0,0,0,0,0,0);
    loggedin[playerid] = true;
    leaderconnect(playerid);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "***Du hast dich erfolgreich eingeloggt***");
    SpawnPlayer(playerid); // Lass den Spieler spawnen
    }
    else
    {
    SendClientMessage(playerid, COLOR_RED, "Passwort Falsch!");
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, "Du bist schon eingeloggt.");
    }}
    return 1;
    }


    in eine dcmd/sccanf login funktion umscripten (ohne hash).
    Das habe ich bis jetzt:
    dcmd_login(playerid,params[])
    {
    new save[40];
    new pwsave[256];
    new kennwort[128];
    new spielername[MAX_PLAYER_NAME];
    GetPlayerName(playerid,spielername,sizeof(spielername));
    format(save,sizeof(save),"Spieler/%s.ini",spielername);
    if(sscanf(params, "s",kennwort)) {
    return SendClientMessage(playerid,COLOR_GREY,"FEHLER: /login [password]");
    }
    if(dini_Exists(save))
    {
    if(loggedin[playerid] == false)
    {
    pwsave=dini_Get(save,"passwort");
    if(pwsave==kennwort)) //zeile 442
    {
    new Zivi;
    SetSpawnInfo(playerid, Zivi,pInfo[playerid][skin],1193.2167,-1266.1366,23.6099,2.9239,0,0,0,0,0,0);
    loggedin[playerid] = true;
    leaderconnect(playerid);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "***Du hast dich erfolgreich eingeloggt***");
    SpawnPlayer(playerid); // Lass den Spieler spawnen
    }
    else
    {
    SendClientMessage(playerid, COLOR_RED, "Passwort Falsch!");
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, "Du bist schon eingeloggt.");
    }}
    return 1;
    }
    Das funktioniert aber nicht (da kommen errors) :


    Code
    C:\Users\Tockra\Desktop\Samp Gamemode V1.6.3\Samp Server\gamemodes\reallife10.pwn(442) : error 033: array must be indexed (variable "pwsave")
    C:\Users\Tockra\Desktop\Samp Gamemode V1.6.3\Samp Server\gamemodes\reallife10.pwn(442) : error 029: invalid expression, assumed zero
    C:\Users\Tockra\Desktop\Samp Gamemode V1.6.3\Samp Server\gamemodes\reallife10.pwn(451) : error 029: invalid expression, assumed zero
    Pawn compiler 3.2.3664	 	 	Copyright (c) 1997-2006, ITB CompuPhase
    
    
    
    
    3 Errors.

    Einmal editiert, zuletzt von Tockra ()

  • dcmd_login(playerid,params[])
    {
    new save[40];
    new pwsave[256];
    new kennwort[128];
    new spielername[MAX_PLAYER_NAME];
    GetPlayerName(playerid,spielername,sizeof(spielername));
    format(save,sizeof(save),"Spieler/%s.ini",spielername);
    if(sscanf(params, "s",kennwort)) {
    return SendClientMessage(playerid,COLOR_GREY,"FEHLER: /login [password]");
    }
    if(dini_Exists(save))
    {
    if(loggedin[playerid] == false)
    {
    pwsave=dini_Get(save,"passwort");
    if(pwsave==kennwort) //zeile 442
    {
    new Zivi;
    SetSpawnInfo(playerid, Zivi,pInfo[playerid][skin],1193.2167,-1266.1366,23.6099,2.9239,0,0,0,0,0,0);
    loggedin[playerid] = true;
    leaderconnect(playerid);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "***Du hast dich erfolgreich eingeloggt***");
    SpawnPlayer(playerid); // Lass den Spieler spawnen
    }
    else
    {
    SendClientMessage(playerid, COLOR_RED, "Passwort Falsch!");
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, "Du bist schon eingeloggt.");
    }}
    return 1;
    }


  • Ah Danke, das mit der Klammer habe ich selbst nach deinem Beitrag erst nach dem 3 Mal durchlesen gesehen...
    aber das Error bleibt :

    Code
    C:\Users\Tockra\Desktop\Samp Gamemode V1.6.3\Samp Server\gamemodes\reallife10.pwn(442) : error 033: array must be indexed (variable "pwsave")
    Pawn compiler 3.2.3664	 	 	Copyright (c) 1997-2006, ITB CompuPhase
    
    
    
    
    1 Error.


    €: Brauche hilfe, wieso kommt das Error?

    2 Mal editiert, zuletzt von Tockra ()

  • aus dem weg ich bin arzt*


    pwsave==kennwort geht nicht! ersetz es durch


    strcmp(pwsave, kennwort, true) == 0


    hf mitn login^^


    erklärung:


    eine zeichenkette(string) besteht aus einem array mehreren zeichen(daher kette^^).


    new string[6];


    string[0] = "N";
    string[1] = "a";
    string[2] = "c";
    string[3] = "h";
    string[4] = "o";


    das das gleiche wie


    string = "nacho";


    die funktion strcmp vergleicht jedes einzelnde element der beiden arrays und wenn eins der beiden nicht übereinstimmt wird false zurück gegeben.

    Mein erstes eigenes Spiel


    meine Tutorials:
    Nachos Torsystem


    scripten ist kein spiel, es ist arbeit(die sehr viel spass machen kann).
    gewöhn dich an den gedanken arbeiten zu müssen oder lass es sein.

    2 Mal editiert, zuletzt von NachoMan ()