WBaum auf mysql r39 schreiben

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
  • Guten Abend allerseits..


    Ihr kennt doch alle bestimmt diese include die mal hier veröffendlicht wurde W_Baum.inc
    was auch in prp verbaut ist
    ich wollte es gerne verwenden aber es auch speichern und laden mit mysql ein kolege fragte schon für mich hier aufn borad aber leider ohne erfolg also
    dachte ich mir ich wende mich mal an euch


    ich hatte es bis jetzt schon so

    enum kabaum{
    ID,
    ObjectID,
    Float:sperreX,
    Float:sperreY,
    Float:sperreZ,
    Erstellt
    }
    new XmasInfo[MAX_BAUM][kabaum];
    stock CreateBaum(playerid, id, Float:x, Float:y, Float:z, Float:a)
    {
    new query[256];
    for(new i = 0; i < MAX_BAUM; i++)
    {
    if(XmasInfo[i][Erstellt] == 0)
    {
    XmasInfo[i][ObjectID] = id;
    XmasInfo[i][sperreX] = x;
    XmasInfo[i][sperreY] = y;
    XmasInfo[i][sperreZ] = z;
    XmasInfo[i][Erstellt] = 1;
    XmasInfo[i][ID] = CreateDynamicObject(XmasInfo[i][ObjectID],XmasInfo[i][sperreX],XmasInfo[i][sperreY],XmasInfo[i][sperreZ],0.0,0.0,a);
    SendClientMessage(playerid,-1,"XmasObject errichtet.");
    format(query,sizeof(query),"INSERT INTO wbaum (`id`,`ObjectID`,`sperreX`,`sperreY`,`sperreZ`) VALUES ('%d','%d','%f','%f','%f')",i,XmasInfo[i][ObjectID],XmasInfo[i][sperreX],XmasInfo[i][sperreY],XmasInfo[i][sperreZ]);
    mysql_fquery(query);
    return i;
    }
    }
    return 1;
    }
    stock RemoveBaum(playerid)
    {
    new query[128];
    for(new i=0;i<MAX_BAUM;i++)
    {
    if(IsPlayerInRangeOfPoint(playerid,2,XmasInfo[i][sperreX],XmasInfo[i][sperreY],XmasInfo[i][sperreZ]))
    {
    if(XmasInfo[i][Erstellt] == 1)
    {
    XmasInfo[i][Erstellt] = 0;
    XmasInfo[i][ObjectID] = 0;
    XmasInfo[i][sperreX] = -1;
    XmasInfo[i][sperreY] = -1;
    XmasInfo[i][sperreZ] = -1;
    DestroyDynamicObject(XmasInfo[i][ID]);
    SendClientMessage(playerid,-1,"XmasObject entfernt.");
    format(query,sizeof(query),"DELETE FROM wbaum WHERE id = '%d'",i);
    mysql_function_query(MySQLConnection,query,false,"","");
    return 1;
    }
    }
    }
    return SendClientMessage(playerid,-1,"An keinem XmasObject.");
    }
    forward baumladen();
    public baumladen()
    {
    new var[40],rows,fields;
    cache_get_data(rows,fields);
    new xmas = 0;
    if(rows)
    {
    while(xmas<rows)
    {
    cache_get_field_content(0, "ObjectID", var); XmasInfo[xmas][ObjectID] = strval(var);
    cache_get_field_content(0, "sperreX", var); XmasInfo[xmas][sperreX] = floatstr(var);
    cache_get_field_content(0, "sperreY", var); XmasInfo[xmas][sperreY] = floatstr(var);
    cache_get_field_content(0, "sperreZ", var); XmasInfo[xmas][sperreZ] = floatstr(var);
    XmasInfo[xmas][Erstellt] = 1;
    XmasInfo[xmas][ID] = CreateDynamicObject(XmasInfo[xmas][ObjectID],XmasInfo[xmas][sperreX],XmasInfo[xmas][sperreY],XmasInfo[xmas][sperreZ],0.0,0.0,0.0);
    xmas++;
    }
    }
    }



    doch leider geht es nicht so ganz er ladet nur ein baum aus der datenbank und setzt die anderen alle auf id 0..
    ich weiß nicht mehr weiter

  • der Fehler liegt hier:

    Code
    cache_get_field_content(0, "ObjectID", var); XmasInfo[xmas][ObjectID] = strval(var);
                cache_get_field_content(0, "sperreX",  var); XmasInfo[xmas][sperreX] = floatstr(var);
                cache_get_field_content(0, "sperreY",  var); XmasInfo[xmas][sperreY] = floatstr(var);
                cache_get_field_content(0, "sperreZ",  var); XmasInfo[xmas][sperreZ] = floatstr(var);

    änder das zu:

    Code
    cache_get_field_content(xmas, "ObjectID", var); XmasInfo[xmas][ObjectID] = strval(var);
    cache_get_field_content(xmas, "sperreX",  var); XmasInfo[xmas][sperreX] = floatstr(var);
    cache_get_field_content(xmas, "sperreY",  var); XmasInfo[xmas][sperreY] = floatstr(var);
    cache_get_field_content(xmas, "sperreZ",  var); XmasInfo[xmas][sperreZ] = floatstr(var);