Payday & Respektpunkt System

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
  • Ich war Lvl 50 lag daran denn 50*6 = 300. xD Hab aber trzd deinen Code genommen.
    Ich habe ja noch ne Frage.
    Ich würde gerne in den Stats den Job als Namen anzeigen lassen z.b der Job mit der ID 1 (sInfo[playerid][job]=1) soll in den Stats nicht als Beruf: 1 sondern als Beruf: Busfahrer stehen, aber wie?

  • Hey.
    Wie mache ich es das bei der Registration nach dem Pw eingabe Dialog ein Dialog kommt wo man angibt welches Geschlecht (Männlich, Weiblich) , danach ein Dialog mit dem Alter und danach eine Skinauswahl? Also das am Anfang dieses "Spawn" Button weg ist auch und das beid er Skin Auswahl der Skin ausgesucht werden kann.


  • Kannst du mir auch bei dem Registrationswunsch dort helfen oder mir das einbauen?
    Mein Code:

    enum playerInfo{
    eingeloggt, //Eingeloggt variable
    level, //Spielerlevel
    db_id, //Datenbank ID
    alevel, //Adminlevel
    fraktion, //Fraktion eines Spielers
    rang, //fraktionsrang
    spawnchange, //Deaktiviert, aber benutzbar
    perso, //Personalausweis
    job, //Job eines Spielers
    busskill, //Bus EXP eines Spielers
    busskilllevel, //Buslevel eines Spielers
    pilotskill, //Pilot EXP eines Spielers
    pilotskilllevel, //Pilotlevel eines Spielers
    pRadio, //Radio variable
    pSkin, //Skin des Spielers
    paydaytime,
    respektpunkte,
    jobgeld,
    spielstunden,
    kills,
    deaths,
    gehaltschecknummer
    }



    public OnPlayerRequestClass(playerid, classid)
    {
    /*SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
    SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
    SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);*/
    return 1;
    }


    Hier wird gecheckt ob er registriert ist oder nicht:

    public OnUserCheck(playerid) //Abfrage ob Registriert oder nicht
    {
    new num_rows,num_fields;
    cache_get_data(num_rows,num_fields,dbhandle);
    if(num_rows==0)//Nicht registriert
    {
    SetPlayerCameraPos(playerid, 320.0, 50.0, 170.0); //Kamera Position setzen
    SetPlayerCameraLookAt(playerid, 324.34, 54.122, 173.35); //Das Lookat der Kamera setzen
    ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registrierung","Gib bitte dein gewünschtes Passwort an:","Okay","Abbrechen"); //Register Dialog anzeigen
    }
    else //Registriert
    {
    //Login
    SetPlayerCameraPos(playerid, 320.0, 50.0, 170.0); //Kamera Position setzen
    SetPlayerCameraLookAt(playerid, 324.34, 54.122, 173.35); //Das Lookat der Kamera setzen
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","Gibt bitte dein Passwort ein:","Okay","Abbrechen"); //Login Dialog anzeigen
    }
    return 1;
    }



    savePlayer(playerid) //Spieler speichern Funktion
    {
    if(sInfo[playerid][eingeloggt]==0)return 1; //Wenn Spieler NICHT eingeloggt ist -> return 1; also nicht weitergehen.
    //Speichern Level,geld
    sInfo[playerid][pSkin] = GetPlayerSkin(playerid); //Hier wird in die Variable pSkin der Spielerskin "eingefügt"
    sInfo[playerid][level] = GetPlayerScore(playerid);
    new query[486]; //neuen query erstellen
    format(query,sizeof(query),"UPDATE user SET level = '%i', money = '%i', alevel = '%i', fraktion = '%i', rang = '%i', spawnchange = '%i', perso = '%i', job = '%i', busskill = '%i', busskilllevel = '%i', pilotskill = '%i', pilotskilllevel = '%i', pRadio = '%i', pSkin = '%i', paydaytime = '%i', respektpunkte = '%i', jobgeld = '%i', spielstunden = '%i', kills = '%i', deaths = '%i', gehaltschecknummer = '%i' WHERE id='%i'",
    sInfo[playerid][level],
    GetPlayerMoney(playerid),
    sInfo[playerid][alevel],
    sInfo[playerid][fraktion],
    sInfo[playerid][rang],
    sInfo[playerid][spawnchange],
    sInfo[playerid][perso],
    sInfo[playerid][job],
    sInfo[playerid][busskill],
    sInfo[playerid][busskilllevel],
    sInfo[playerid][pilotskill],
    sInfo[playerid][pilotskilllevel],
    sInfo[playerid][pRadio],
    sInfo[playerid][pSkin],
    sInfo[playerid][paydaytime],
    sInfo[playerid][respektpunkte],
    sInfo[playerid][jobgeld],
    sInfo[playerid][spielstunden],
    sInfo[playerid][kills],
    sInfo[playerid][deaths],
    sInfo[playerid][gehaltschecknummer],
    sInfo[playerid][db_id]);
    mysql_function_query(dbhandle,query,false,"","");
    return 1;
    }



    public OnPasswordResponse(playerid) //Wenn Spieler sich eingeloggt hat
    {
    new num_fields,num_rows;
    cache_get_data(num_rows,num_fields,dbhandle);
    if(num_rows==1)
    {
    //Passwort richtig //Spieler laden
    sInfo[playerid][eingeloggt] = 1;
    sInfo[playerid][level] = cache_get_field_content_int(0,"level",dbhandle);
    SetPlayerScore(playerid,sInfo[playerid][level]);
    sInfo[playerid][db_id] = cache_get_field_content_int(0,"id",dbhandle);
    SetPlayerMoney(playerid,cache_get_field_content_int(0,"money",dbhandle));
    sInfo[playerid][alevel] = cache_get_field_content_int(0,"alevel",dbhandle);
    sInfo[playerid][fraktion] = cache_get_field_content_int(0,"fraktion",dbhandle);
    sInfo[playerid][rang] = cache_get_field_content_int(0,"rang",dbhandle);
    sInfo[playerid][spawnchange] = cache_get_field_content_int(0,"spawnchange",dbhandle);
    sInfo[playerid][perso] = cache_get_field_content_int(0,"perso",dbhandle);
    sInfo[playerid][job] = cache_get_field_content_int(0,"job",dbhandle);
    sInfo[playerid][busskill] = cache_get_field_content_int(0,"busskill",dbhandle);
    sInfo[playerid][busskilllevel] = cache_get_field_content_int(0,"busskilllevel",dbhandle);
    sInfo[playerid][pilotskill] = cache_get_field_content_int(0,"pilotskill",dbhandle);
    sInfo[playerid][pilotskilllevel] = cache_get_field_content_int(0,"pilotskilllevel",dbhandle);
    sInfo[playerid][pRadio] = cache_get_field_content_int(0,"pRadio",dbhandle);
    sInfo[playerid][pSkin] = cache_get_field_content_int(0,"pSkin",dbhandle);
    sInfo[playerid][paydaytime] = cache_get_field_content_int(0,"paydaytime",dbhandle);
    sInfo[playerid][respektpunkte] = cache_get_field_content_int(0,"respektpunkte",dbhandle);
    sInfo[playerid][jobgeld] = cache_get_field_content_int(0,"jobgeld",dbhandle);
    sInfo[playerid][spielstunden] = cache_get_field_content_int(0,"spielstunden",dbhandle);
    sInfo[playerid][kills] = cache_get_field_content_int(0,"kills",dbhandle);
    sInfo[playerid][deaths] = cache_get_field_content_int(0,"deaths",dbhandle);
    sInfo[playerid][gehaltschecknummer] = cache_get_field_content_int(0,"gehaltschecknummer",dbhandle);
    SetPlayerSkin(playerid,sInfo[playerid][pSkin]);
    loadSpielerAutos(playerid);
    SpawnPlayer(playerid);
    }
    else
    {
    //Passwort falsch
    SendClientMessage(playerid,COLOR_RED,"Das eingegebene Passwort ist falsch.");
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","Gibt bitte dein Passwort ein:","Okay","Abbrechen");
    }
    return 1;
    }



    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    if(dialogid==DIALOG_LOGIN)
    {
    if(response)
    {
    new name[MAX_PLAYER_NAME],query[128],passwort[35];
    GetPlayerName(playerid,name,sizeof(name));
    if(strlen(inputtext)>0)
    {
    mysql_escape_string(inputtext,passwort,dbhandle);
    format(query,sizeof(query),"SELECT * FROM user WHERE username='%s' AND password=MD5('%s')",name,passwort);
    mysql_function_query(dbhandle,query,true,"OnPasswordResponse","i",playerid);
    }
    else
    {
    //Keine Eingabe
    SendClientMessage(playerid,COLOR_RED,"Gibt bitte dein Passwort ein.");
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","Gibt bitte dein Passwort ein:","Okay","Abbrechen");
    }
    }
    else
    {
    Kick(playerid);
    }
    return 1;
    }
    if(dialogid==DIALOG_REGISTER)
    {
    if(response)
    {
    new name[MAX_PLAYER_NAME],query[128],passwort[35];
    GetPlayerName(playerid,name,sizeof(name));
    if(strlen(inputtext)>3)
    {
    //Registrierungsfunktion
    mysql_escape_string(inputtext,passwort,dbhandle);
    format(query,sizeof(query),"INSERT INTO user (username,password) VALUES ('%s',MD5('%s')) ",name,passwort);
    mysql_function_query(dbhandle,query,false,"","");
    }
    else
    {
    //Kleiner als 4 Zeichen
    SendClientMessage(playerid,COLOR_RED,"Dein Passwort muss mindestens 4 Zeichen lang sein.");
    ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registrierung","Gib bitte dein gewünschtes Passwort an:","Okay","Abbrechen");
    }
    }
    else
    {
    Kick(playerid);
    }
    return 1;
    }
    return 1;
    }

  • Versuche es doch erst mal selbst und poste dann den Code, wenn Probleme auftreten.
    Wenn ich es dir nur schreibe, dann lernst du nichts dabei, denn das sind Basics.


    Ist das so bis jetzt richtig?

    if(dialogid==DIALOG_REGISTER)
    {
    if(response)
    {
    new name[MAX_PLAYER_NAME],query[128],passwort[35];
    GetPlayerName(playerid,name,sizeof(name));
    if(strlen(inputtext)>3)
    {
    //Registrierungsfunktion
    mysql_escape_string(inputtext,passwort,dbhandle);
    format(query,sizeof(query),"INSERT INTO user (username,password) VALUES ('%s',MD5('%s')) ",name,passwort);
    mysql_function_query(dbhandle,query,false,"","");
    ShowPlayerDialog(playerid,DIALOG_REGISTERGESCHLECHT,DIALOG_STYLE_LIST,"Geschlechtsauswahl","Männlich\nWeiblich","Auswählen","Abbrechen");
    }
    else
    {
    //Kleiner als 4 Zeichen
    SendClientMessage(playerid,COLOR_RED,"Dein Passwort muss mindestens 4 Zeichen lang sein.");
    ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registrierung","Gib bitte dein gewünschtes Passwort an:","Okay","Abbrechen");
    }
    }
    else
    {
    Kick(playerid);
    }
    return 1;
    }
    if(dialogid==DIALOG_REGISTERGESCHLECHT)
    {
    if(response)
    {
    switch (listitem)
    {
    case 0: sInfo[playerid][pGeschlecht] = 1;
    case 1: sInfo[playerid][pGeschlecht] = 2;
    }
    ShowPlayerDialog(playerid,DIALOG_REGISTERALTER,DIALOG_STYLE_INPUT,"Alter Angabe","Gib bitte dein Alter an (Beispiel: 14):","Okay","Abbrechen");
    }
    else
    {
    Kick(playerid);
    }
    return 1;
    }
    if(dialogid==DIALOG_REGISTERALTER)
    {
    if(response)
    {
    if(strval(inputtext) < 0)
    {
    ShowPlayerDialog(playerid,DIALOG_REGISTERALTER,DIALOG_STYLE_INPUT,"Alter Angabe","Gib bitte dein Alter an (Beispiel: 14):","Okay","Abbrechen");
    return SendClientMessage(playerid,COLOR_RED,"Bitte gib dein richtiges Alter ein:");
    }
    else
    {
    sInfo[playerid][pAlter] = strval(inputtext);
    }
    }
    else
    {
    Kick(playerid);
    }
    return 1;
    }