[HELP] letzte Position speichern MySQL

In 10 Minuten startet der nächtliche Backupvorgang! Es kann währenddessen (ca. 10 Minuten) zu Einschränkungen bei der Nutzung des Forums kommen
Weitere Infos findet ihr im Thema Backup des Forums
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
  • Jo,


    ich bekomm's nicht gebacken die letzte Position per MySQL in die Datenbank abzuspeichern.
    Die Struktur für die einzelnen xyz-Koordinaten wird als float abgespeichert, deshalb sollte es am Script liegen.
    Errors gibt es keine:
    stock LoadPlayer(playerid)
    {
    if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid))//Wir fragen ab ob der angegebene Spieler auch Online ist, und kein NPC ist (nur zur sicherhheit)
    {
    GetPlayerName(playerid, SpielerInfo[playerid][pName], MAX_PLAYER_NAME); //Wir Speichern den Namen des Spielers in der Variable [i]SpielerInfo[playerid][pName][/i]
    SpielerInfo[playerid][pLevel] = mysql_GetInt("accounts", "Level", "Name", SpielerInfo[playerid][pName]); //Wir holen uns den wert der unter "Level" eingetragen ist und Speichern ihn in unserer Variable.
    SpielerInfo[playerid][pGeld] = mysql_GetInt("accounts", "Geld", "Name", SpielerInfo[playerid][pName]); //Wir holen uns den wert der unter "Geld" eingetragen ist und Speichern ihn in unserer Variable.
    SpielerInfo[playerid][pKills] = mysql_GetInt("accounts", "Kills", "Name", SpielerInfo[playerid][pName]); //Wir holen uns den wert der unter "Kills" eingetragen ist und Speichern ihn in unserer Variable.
    SpielerInfo[playerid][xKord] = mysql_GetFloat("accounts","xKord", "Name",SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][yKord] = mysql_GetFloat("accounts","yKord", "Name",SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][zKord] = mysql_GetFloat("accounts","zKord", "Name",SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][pTode] = mysql_GetInt("accounts", "Tode", "Name", SpielerInfo[playerid][pName]); //Wir holen uns den wert der unter "Tode" eingetragen ist und Speichern ihn in unserer Variable.
    }
    return 1;
    }


    stock SavePlayer(playerid)
    {
    if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid)) //wir überprüfen ob der Spieler überhaupt noch Connected ist und ob er nicht ein NPC ist.
    {
    if(GetPVarInt(playerid,"Eingeloggt") == 1) //Und hier ob er noch eingeloggt ist.
    {
    //Nun speichern wir die Daten in der Datenbank.
    mysql_SetInt("accounts", "Level", SpielerInfo[playerid][pLevel], "Name", SpielerInfo[playerid][pName]);
    mysql_SetInt("accounts", "Geld", SpielerInfo[playerid][pGeld], "Name", SpielerInfo[playerid][pName]);
    mysql_SetInt("accounts", "Kills", SpielerInfo[playerid][pKills], "Name", SpielerInfo[playerid][pName]);
    mysql_SetInt("accounts", "Tode", SpielerInfo[playerid][pTode], "Name", SpielerInfo[playerid][pName]);
    mysql_SetFloat("accounts", "Health", SpielerInfo[playerid][pHealth], "Name", SpielerInfo[playerid][pName]);


    new Float:xxKord,Float:yyKord,Float:zzKord;
    GetPlayerPos(playerid,xxKord,yyKord,zzKord);
    }
    }
    return 1;
    }


    Kritisiert jetzt bitte nicht, dass ich mit Maddins MySQL-Script angefangen habe :D


    /e
    Der/Die/Das enum:
    enum SpielerDaten
    {
    pName[MAX_PLAYER_NAME],
    pLevel,
    pGeld,
    pKills,
    pTode,
    Float:pHealth,
    Float:xKord,
    Float:yKord,
    Float:zKord
    }
    new SpielerInfo[MAX_PLAYERS][SpielerDaten];

    Ich hab DoodleJump zuende gespielt oO

  • wie wärs mit
    mysql_SetFloat?


    Also so:
    stock LoadPlayer(playerid)
    {
    if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid))
    {
    SpielerInfo[playerid][xKord] = mysql_SetFloat("accounts","xKord", "Name",SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][yKord] = mysql_SetFloat("accounts","yKord", "Name",SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][zKord] = mysql_SetFloat("accounts","zKord", "Name",SpielerInfo[playerid][pName]);
    }
    return 1;
    }

    ?



    speicher die coords mal wie admin oder so in der db als float.


    Tut er doch ^^

    Ich hab DoodleJump zuende gespielt oO


  • stock SavePlayer(playerid)
    {
    if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid)) //wir überprüfen ob der Spieler überhaupt noch Connected ist und ob er nicht ein NPC ist.
    {
    if(GetPVarInt(playerid,"Eingeloggt") == 1) //Und hier ob er noch eingeloggt ist.
    {
    //Nun speichern wir die Daten in der Datenbank.
    new Float:xxKord,Float:yyKord,Float:zzKord;
    GetPlayerPos(playerid,xxKord,yyKord,zzKord);
    mysql_SetInt("accounts", "Level", SpielerInfo[playerid][pLevel], "Name", SpielerInfo[playerid][pName]);
    mysql_SetInt("accounts", "Geld", SpielerInfo[playerid][pGeld], "Name", SpielerInfo[playerid][pName]);
    mysql_SetInt("accounts", "Kills", SpielerInfo[playerid][pKills], "Name", SpielerInfo[playerid][pName]);
    mysql_SetInt("accounts", "Tode", SpielerInfo[playerid][pTode], "Name", SpielerInfo[playerid][pName]);
    mysql_SetFloat("accounts", "Health", SpielerInfo[playerid][pHealth], "Name", SpielerInfo[playerid][pName]);
    mysql_SetFloat("accounts","xKord",xxKord,"Name"SpielerInfo[playerid][pName]);
    mysql_SetFloat("accounts","yKord",yyKord,"Name"SpielerInfo[playerid][pName]);
    mysql_SetFloat("accounts","zKord",zzKord,"Name"SpielerInfo[playerid][pName]);
    }
    }
    return 1;
    }


    Bei LoadPlayer;

    SetPlayerPos(playerid,SpielerInfo[playerid][xKord], SpielerInfo[playerid][yKord], SpielerInfo[playerid][zKord]); //Unter den anderen Sachen

  • Jetzt bekomme ich Errors :/



    Zeile 533:

    Code
    mysql_SetFloat("accounts","xKord",xxKord,"Name"SpielerInfo[playerid][pName]);

    Ich hab DoodleJump zuende gespielt oO