Tutorial

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
  • Hi, Ich habe mir ein Tutorial angesehen und habe jetzt eine Frage:


    if(!strcmp(key,dini_Get(Spielerdatei,"Passwort"),true))
    {
    SetPlayerScore(playerid,dini_Int(Spielerdatei,"Level"));
    SendClientMessage(playerid,GRUEN,"Erfolgreich eingeloggt!");
    }
    else
    {
    SendClientMessage(playerid,ROT,"Falsches Passwort!");
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","Dein Account wurde gefunden!","Login","Abbrechen");
    return 1;
    }
    das ! vor strcmp bedeutet doch immer eine Verneinung oder?
    dann müsse doch zuerst Falsches Passwort kommen und nach dem else SetPlayerScore



    Jedoch glaube ich dass es so wie ich es gerade geschrieben habe richtig ist?

  • noch eine Frage, wie kann man das Leben abfragen?
    Wollte das jetzt auch mal abspeichern. Speichert mir aber immer 1 ab.
    public OnPlayerDisconnect(playerid, reason)
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    dini_IntSet(Spielerdatei,"Level",GetPlayerScore(playerid));
    dini_IntSet(Spielerdatei,"Geld",GetPlayerMoney(playerid));
    new Float:health;
    dini_IntSet(Spielerdatei,"HP",GetPlayerHealth(playerid,health));
    return 1;
    }

  • Du wendest die Funktion falsch an.


    So ist es korrekt.


    GetPlayerHealth(playerid,health);
    dini_IntSet(Spielerdatei,"HP", _:health);


    Die Funktion ist Call by Reference, die HP wird in der Var. gespeichert, die als 2. Parameter in GetPlayerHealth() angegeben ist.
    Da die Variable aber ein Float ist, muss man es noch zu einem Integer konvertieren, daher das _: davor, das den Float Tag in der Deklaration der Variable "health" entfernt und sie somit wieder zu einem Integer macht.
    Diese Variable kannst du dann als Parameter für die Dini Funktion nehmen.


    //E: Erklärung bearbeitet
    //E²: Edithinweise hinzugefügt (wer hat diese Regel erfunden? :X)
    //E³: Grammatikfehler entfernt