System umschreiben (MySQL R39-2)

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
  • Schönen Abend,
    ich bin gerade dabei mein System umzuschreiben. Nur weiß ich gerade nicht wie ich vorgehen soll. Das Speichern hab ich schonmal gemacht. Nun wie könnte ich es beim laden machen? Benutze die MySQL Version R39-2.


    So sieht zurzeit mein Save aus:
    stock SaveGZ()
    {
    for(new i, query[500]; i <MAX_GZ; i++)
    {
    format(query, sizeof(query), "UPDATE Gangfight SET owner='%s', maxX='%f', maxY='%f', minX='%f', minY='%f', flaggeX='%f', flaggeY='%f', flaggeZ='%f', erstellt='%d', WHERE id='%d'",
    GZ[i][owner], GZ[i][max_x], GZ[i][max_y], GZ[i][min_x], GZ[i][min_y], GZ[i][flagge_x], GZ[i][flagge_y], GZ[i][flagge_z], GZ[i][erstellt]);
    mysql_pquery(handle, query);
    }
    return 1;
    }


    stock SaveGZ_(zoneid)
    {
    new query[500];
    format(query, sizeof(query), "INSERT INTO Gangfight (id, owner, maxX, maxY, minX, minY, flaggeX, flaggeY, flaggeZ, erstellt) VALUES ('%d', '%s', '%f', '%f', '%f', '%f', '%f', '%f', '%f', '%d')",
    zoneid, GZ[zoneid][owner], GZ[zoneid][max_x], GZ[zoneid][max_y], GZ[zoneid][min_x], GZ[zoneid][min_y], GZ[zoneid][flagge_x], GZ[zoneid][flagge_y], GZ[zoneid][flagge_z], GZ[zoneid][erstellt]);
    mysql_pquery(handle, query);
    return 1;
    }


    So nun hier das Laden:
    stock LoadGZ()
    {
    new i,gz[32],str[64],counter = 0; format(gz,32,G_FILE);
    for(; i<MAX_GZ; i++)
    {
    GZ[i][zid] = i;
    format(str,64,"Zone%d_owner",i); GZ[i][owner] = dini_Int(gz,str);
    format(str,64,"Zone%d_maxX",i); GZ[i][max_x] = dini_Float(gz,str);
    format(str,64,"Zone%d_maxY",i); GZ[i][max_y] = dini_Float(gz,str);
    format(str,64,"Zone%d_minX",i); GZ[i][min_x] = dini_Float(gz,str);
    format(str,64,"Zone%d_minY",i); GZ[i][min_y] = dini_Float(gz,str);
    format(str,64,"Zone%d_flaggeX",i); GZ[i][flagge_x] = dini_Float(gz,str);
    format(str,64,"Zone%d_flaggeY",i); GZ[i][flagge_y] = dini_Float(gz,str);
    format(str,64,"Zone%d_flaggeZ",i); GZ[i][flagge_z] = dini_Float(gz,str);
    format(str,64,"Zone%d_erstellt",i); GZ[i][erstellt] = dini_Int(gz,str);
    format(str,64,"%d |Besitzer: '%s'",i,FrakName(GZ[i][owner]));
    if(GZ[i][erstellt] != 1)continue;
    M_CreateZone(GZ[i][min_x],GZ[i][min_y],GZ[i][max_x],GZ[i][max_y],FrakColor(GZ[i][owner]),str,FrakColor(GZ[i][owner]));
    GZ[i][pickup] = CreatePickup(1314,1,GZ[i][flagge_x],GZ[i][flagge_y],GZ[i][flagge_z],0);
    GZ[i][label] = Create3DTextLabel("Tippe '/angriff', um das Gebiet anzugreifen.\nTippe '/flagge' | Y/Z, um die Flagge zu erobern.",Rot,GZ[i][flagge_x],GZ[i][flagge_y],GZ[i][flagge_z],20,0);
    counter ++;
    break;
    }
    return printf(" '%d' Gangzone(n) wurde(n) erfolgreich erstellt und geladen.",counter);
    }


    stock LoadGZ_(zoneid)
    {
    new gz[32],str[64]; format(gz,sizeof(gz),G_FILE);
    GZ[zoneid][zid] = zoneid;
    format(str,64,"Zone%d_owner",zoneid); GZ[zoneid][owner] = dini_Int(gz,str);
    format(str,64,"Zone%d_maxX",zoneid); GZ[zoneid][max_x] = dini_Float(gz,str);
    format(str,64,"Zone%d_maxY",zoneid); GZ[zoneid][max_y] = dini_Float(gz,str);
    format(str,64,"Zone%d_minX",zoneid); GZ[zoneid][min_x] = dini_Float(gz,str);
    format(str,64,"Zone%d_minY",zoneid); GZ[zoneid][min_y] = dini_Float(gz,str);
    format(str,64,"Zone%d_flaggeX",zoneid); GZ[zoneid][flagge_x] = dini_Float(gz,str);
    format(str,64,"Zone%d_flaggeY",zoneid); GZ[zoneid][flagge_y] = dini_Float(gz,str);
    format(str,64,"Zone%d_flaggeZ",zoneid); GZ[zoneid][flagge_z] = dini_Float(gz,str);
    format(str,64,"Zone%d_erstellt",zoneid); GZ[zoneid][erstellt] = dini_Int(gz,str);
    format(str,64,"%d |Besitzer: '%s'",zoneid,FrakName(GZ[zoneid][owner]));
    M_CreateZone(GZ[zoneid][min_x],GZ[zoneid][min_y],GZ[zoneid][max_x],GZ[zoneid][max_y],FrakColor(GZ[zoneid][owner]),str,FrakColor(GZ[zoneid][owner]));
    GZ[zoneid][pickup] = CreatePickup(1314,1,GZ[zoneid][flagge_x],GZ[zoneid][flagge_y],GZ[zoneid][flagge_z],0);
    GZ[zoneid][label] = Create3DTextLabel("Tippe '/angriff', um das Gebiet anzugreifen.\nTippe '/flagge' | Y/Z, um die Flagge zu erobern.",Rot,GZ[zoneid][flagge_x],GZ[zoneid][flagge_y],GZ[zoneid][flagge_z],20,0);
    return 1;
    }


    Würde dies hier funktionieren?
    GZ[zoneid][max_x] = cache_get_field_content_int(0, "maxX", handle);


    Hoffe ihr könnt mir weiterhelfen :)


    Mit freundlichen Grüßen
    Grapefruit

  • Hab alles umgeschrieben, nun hab ich das problem das er nicht Ladet oder überhaupt Speichert.
    Die Log ist leider zu lang, deswegen nur ein kleiner Abschnitt.
    [20:51:36] [DEBUG] cache_get_field_content - row: 0, field_name: "owner", connection: 1, max_len: 1
    [20:51:36] [WARNING] cache_get_field_content - no active cache
    [20:51:36] [DEBUG] cache_get_field_content_float - row: 0, field_name: "maxX", connection: 1
    [20:51:36] [WARNING] cache_get_field_content_float - no active cache
    [20:51:36] [DEBUG] cache_get_field_content_float - row: 0, field_name: "maxY", connection: 1
    [20:51:36] [WARNING] cache_get_field_content_float - no active cache
    [20:51:36] [DEBUG] cache_get_field_content_float - row: 0, field_name: "minX", connection: 1
    [20:51:36] [WARNING] cache_get_field_content_float - no active cache
    [20:51:36] [DEBUG] cache_get_field_content_float - row: 0, field_name: "minY", connection: 1
    [20:51:36] [WARNING] cache_get_field_content_float - no active cache
    [20:51:36] [DEBUG] cache_get_field_content_float - row: 0, field_name: "flaggeX", connection: 1
    [20:51:36] [WARNING] cache_get_field_content_float - no active cache
    [20:51:36] [DEBUG] cache_get_field_content_float - row: 0, field_name: "flaggeY", connection: 1
    [20:51:36] [WARNING] cache_get_field_content_float - no active cache
    [20:51:36] [DEBUG] cache_get_field_content_float - row: 0, field_name: "flaggeZ", connection: 1
    [20:51:36] [WARNING] cache_get_field_content_float - no active cache
    [20:51:36] [DEBUG] cache_get_field_content_int - row: 0, field_name: "erstellt", connection: 1
    [20:51:36] [WARNING] cache_get_field_content_int - no active cache


    Laden und Speichern:
    stock LoadGZ()
    {
    new counter = 0, str[64];
    for(new i; i < MAX_GZ; i++)
    {
    GZ[i][zid] = i;
    GZ[i][owner] = cache_get_field_content(0, "owner", GZ[i][owner], handle);
    GZ[i][max_x] = cache_get_field_content_float(0, "maxX", handle);
    GZ[i][max_y] = cache_get_field_content_float(0, "maxY", handle);
    GZ[i][min_x] = cache_get_field_content_float(0, "minX", handle);
    GZ[i][min_y] = cache_get_field_content_float(0, "minY", handle);
    GZ[i][flagge_x] = cache_get_field_content_float(0, "flaggeX", handle);
    GZ[i][flagge_y] = cache_get_field_content_float(0, "flaggeY", handle);
    GZ[i][flagge_z] = cache_get_field_content_float(0, "flaggeZ", handle);
    GZ[i][erstellt] = cache_get_field_content_int(0, "erstellt", handle);
    if(GZ[i][erstellt] != 1) continue;
    M_CreateZone(GZ[i][min_x],GZ[i][min_y],GZ[i][max_x],GZ[i][max_y],FrakColor(GZ[i][owner]),str,FrakColor(GZ[i][owner]));
    GZ[i][pickup] = CreatePickup(1314,1,GZ[i][flagge_x],GZ[i][flagge_y],GZ[i][flagge_z],0);
    GZ[i][label] = Create3DTextLabel("Tippe '/angriff', um das Gebiet anzugreifen.\nTippe '/flagge' | Y/Z, um die Flagge zu erobern.",Rot,GZ[i][flagge_x],GZ[i][flagge_y],GZ[i][flagge_z],20,0);
    counter ++;
    break;
    }
    return printf(" '%d' Gangzone(n) wurde(n) erfolgreich erstellt und geladen.",counter);
    }


    stock LoadGZ_(zoneid)
    {
    new str[64];
    GZ[zoneid][zid] = zoneid;
    GZ[zoneid][owner] = cache_get_field_content(0, "owner", GZ[zoneid][owner], handle);
    GZ[zoneid][max_x] = cache_get_field_content_float(0, "maxX", handle);
    GZ[zoneid][max_y] = cache_get_field_content_float(0, "maxY", handle);
    GZ[zoneid][min_x] = cache_get_field_content_float(0, "minX", handle);
    GZ[zoneid][min_y] = cache_get_field_content_float(0, "minY", handle);
    GZ[zoneid][flagge_x] = cache_get_field_content_float(0, "flaggeX", handle);
    GZ[zoneid][flagge_y] = cache_get_field_content_float(0, "flaggeY", handle);
    GZ[zoneid][flagge_z] = cache_get_field_content_float(0, "flaggeZ", handle);
    GZ[zoneid][erstellt] = cache_get_field_content_int(0, "erstellt", handle);
    M_CreateZone(GZ[zoneid][min_x],GZ[zoneid][min_y],GZ[zoneid][max_x],GZ[zoneid][max_y],FrakColor(GZ[zoneid][owner]),str,FrakColor(GZ[zoneid][owner]));
    GZ[zoneid][pickup] = CreatePickup(1314,1,GZ[zoneid][flagge_x],GZ[zoneid][flagge_y],GZ[zoneid][flagge_z],0);
    GZ[zoneid][label] = Create3DTextLabel("Tippe '/angriff', um das Gebiet anzugreifen.\nTippe '/flagge' | Y/Z, um die Flagge zu erobern.",Rot,GZ[zoneid][flagge_x],GZ[zoneid][flagge_y],GZ[zoneid][flagge_z],20,0);
    return 1;
    }


    stock SaveGZ()
    {
    for(new i, query[500]; i <MAX_GZ; i++)
    {
    format(query, sizeof(query), "UPDATE gangfight SET owner='%s', maxX='%f', maxY='%f', minX='%f', minY='%f', flaggeX='%f', flaggeY='%f', flaggeZ='%f', erstellt='%d', WHERE id='%d'",
    GZ[i][owner], GZ[i][max_x], GZ[i][max_y], GZ[i][min_x], GZ[i][min_y], GZ[i][flagge_x], GZ[i][flagge_y], GZ[i][flagge_z], GZ[i][erstellt]);
    mysql_pquery(handle, query);
    }
    return 1;
    }


    stock SaveGZ_(zoneid)
    {
    new query[500];
    format(query, sizeof(query), "INSERT INTO gangfight (id, owner, maxX, maxY, minX, minY, flaggeX, flaggeY, flaggeZ, erstellt) VALUES ('%d', '%s', '%f', '%f', '%f', '%f', '%f', '%f', '%f', '%d')",
    zoneid, GZ[zoneid][owner], GZ[zoneid][max_x], GZ[zoneid][max_y], GZ[zoneid][min_x], GZ[zoneid][min_y], GZ[zoneid][flagge_x], GZ[zoneid][flagge_y], GZ[zoneid][flagge_z], GZ[zoneid][erstellt]);
    mysql_pquery(handle, query);
    return 1;
    }


    Jeffry

  • Heyho, Du darfst Handle nicht als Array setzen.


    Ich habe dir hier mal ein Beispiel gemacht, an dem du dich in etwa Orientieren kannst.


    //$GangZone Laden
    forward LoadGZ();
    //$GangZone Maximal
    #define MAX_GZ 10
    //$GangZone Enum
    enum GangZones{
    zid,
    owner[30],
    Float:max_x,
    Float:max_y,
    Float:min_x,
    Float:min_y,
    Float:flagge_x,
    Float:flagge_y,
    Float:flagge_z,
    bool:erstellt
    }
    new GZ[MAX_GZ][GangZones];



    public LoadGZ()
    {
    new rows, fields, Counter = 0;
    cache_get_data(rows, fields);

    for(new i = 0; i <= rows; i++)
    {
    GZ[i][zid] = i;
    GZ[i][owner] = cache_get_field_content(i, "owner");
    GZ[i][max_x] = cache_get_field_content_float(i, "maxX");
    GZ[i][max_y] = cache_get_field_content_float(i, "maxY");
    GZ[i][min_x] = cache_get_field_content_float(i, "minX");
    GZ[i][min_y] = cache_get_field_content_float(i, "minY");
    GZ[i][flagge_x] = cache_get_field_content_float(i, "flaggeX");
    GZ[i][flagge_y] = cache_get_field_content_float(i, "flaggeY");
    GZ[i][flagge_z] = cache_get_field_content_float(i, "flaggeZ");
    GZ[i][erstellt] = true;
    if(GZ[i][erstellt] != 1) continue;
    M_CreateZone(GZ[i][min_x],GZ[i][min_y],GZ[i][max_x],GZ[i][max_y],FrakColor(GZ[i][owner]),str,FrakColor(GZ[i][owner]));
    GZ[i][pickup] = CreatePickup(1314,1,GZ[i][flagge_x],GZ[i][flagge_y],GZ[i][flagge_z],0);
    GZ[i][label] = Create3DTextLabel("Tippe '/angriff', um das Gebiet anzugreifen.\nTippe '/flagge' | Y/Z, um die Flagge zu erobern.",Rot,GZ[i][flagge_x],GZ[i][flagge_y],GZ[i][flagge_z],20,0);
    Counter++;
    }
    }


    //OnGameModeInit
    mysql_function_query(handle, "SELECT * FROM `GangZones` ORDER BY id ASC", true, "LoadGZ", "", "");



    Solltest du noch Hilfe brauchen, stehe ich dir gern zu Verfügung.


    Hinweis: Der Code wurde nicht Getestet!

  • Handle, hab ich keinen Array gesetzt. Hab jetzt mich an deinem Beispiel Orientiert, leider funktioniert es immer noch nicht.


    OnGameModeInit:
    mysql_function_query(handle, "SELECT * FROM `gangfight` ORDER BY id ASC", true, "LoadGZ", "", ""); //Was soll das ASC bedeuten?
    for(new i = 0; i<MAX_FRAKTIONEN; i++)ImGF[i] = 0;
    return LoadGZ();


    Laden
    stock LoadGZ()
    {
    new rows, fields, str[64], Counter = 0;
    cache_get_data(rows, fields);
    for(new i = 0; i <= rows; i++)
    {
    GZ[i][zid] = i;
    GZ[i][owner] = cache_get_field_content(i, "owner", GZ[i][owner], handle);
    GZ[i][max_x] = cache_get_field_content_float(i, "maxX", handle);
    GZ[i][max_y] = cache_get_field_content_float(i, "maxY", handle);
    GZ[i][min_x] = cache_get_field_content_float(i, "minX", handle);
    GZ[i][min_y] = cache_get_field_content_float(i, "minY", handle);
    GZ[i][flagge_x] = cache_get_field_content_float(i, "flaggeX", handle);
    GZ[i][flagge_y] = cache_get_field_content_float(i, "flaggeY", handle);
    GZ[i][flagge_z] = cache_get_field_content_float(i, "flaggeZ", handle);
    GZ[i][erstellt] = true;
    if(GZ[i][erstellt] != 1) continue;
    M_CreateZone(GZ[i][min_x],GZ[i][min_y],GZ[i][max_x],GZ[i][max_y],FrakColor(GZ[i][owner]),str,FrakColor(GZ[i][owner]));
    GZ[i][pickup] = CreatePickup(1314,1,GZ[i][flagge_x],GZ[i][flagge_y],GZ[i][flagge_z],0);
    GZ[i][label] = Create3DTextLabel("Tippe '/angriff', um das Gebiet anzugreifen.\nTippe '/flagge' | Y/Z, um die Flagge zu erobern.",Rot,GZ[i][flagge_x],GZ[i][flagge_y],GZ[i][flagge_z],20,0);
    Counter++;
    break;
    }
    return printf(" '%d' Gangzone(n) wurde(n) erfolgreich erstellt und geladen.",Counter);
    }


    In der Console steht das eine (1) Gangzone erfolgreich erstellt wurde, obwohl keine erstellt wurde.
    Hoffe ihr könnt mir weiterhelfen.

  • Versuche es mal so:
    for(new i = 0; i<MAX_FRAKTIONEN; i++)ImGF[i] = 0;
    mysql_function_query(handle, "SELECT * FROM `gangfight` ORDER BY id ASC", true, "LoadGZ", "", ""); //Was soll das ASC bedeuten?
    //-> Das ASC steht für ASCENDING, und das heißt aufsteigend, also 1,2,3,4,...
    return 1;


    stock LoadGZ()
    {
    new rows, fields, str[64], Counter = 0;
    cache_get_data(rows, fields);
    for(new i = 0; i <= rows; i++)
    {
    GZ[i][zid] = i;
    GZ[i][owner] = cache_get_field_content_int(i, "owner", handle);
    GZ[i][max_x] = cache_get_field_content_float(i, "maxX", handle);
    GZ[i][max_y] = cache_get_field_content_float(i, "maxY", handle);
    GZ[i][min_x] = cache_get_field_content_float(i, "minX", handle);
    GZ[i][min_y] = cache_get_field_content_float(i, "minY", handle);
    GZ[i][flagge_x] = cache_get_field_content_float(i, "flaggeX", handle);
    GZ[i][flagge_y] = cache_get_field_content_float(i, "flaggeY", handle);
    GZ[i][flagge_z] = cache_get_field_content_float(i, "flaggeZ", handle);
    M_CreateZone(GZ[i][min_x],GZ[i][min_y],GZ[i][max_x],GZ[i][max_y],FrakColor(GZ[i][owner]),str,FrakColor(GZ[i][owner]));
    GZ[i][pickup] = CreatePickup(1314,1,GZ[i][flagge_x],GZ[i][flagge_y],GZ[i][flagge_z],0);
    GZ[i][label] = Create3DTextLabel("Tippe '/angriff', um das Gebiet anzugreifen.\nTippe '/flagge' | Y/Z, um die Flagge zu erobern.",Rot,GZ[i][flagge_x],GZ[i][flagge_y],GZ[i][flagge_z],20,0);
    Counter++;
    }
    return printf(" '%d' Gangzone(n) wurde(n) erfolgreich erstellt und geladen.",Counter);
    }

  • Aah, das ist ein stock, da habe ich gar nicht drauf geachtet, mein Fehler. Aber die anderen Änderungen passen trotzdem.


    Schreibe es so:
    forward LoadGZ();
    public LoadGZ()
    {
    new rows, fields, str[64], Counter = 0;
    cache_get_data(rows, fields);
    for(new i = 0; i < rows; i++)
    {
    GZ[i][zid] = i;
    GZ[i][owner] = cache_get_field_content(i, "owner", GZ[i][owner], handle);
    GZ[i][max_x] = cache_get_field_content_float(i, "maxX", handle);
    GZ[i][max_y] = cache_get_field_content_float(i, "maxY", handle);
    GZ[i][min_x] = cache_get_field_content_float(i, "minX", handle);
    GZ[i][min_y] = cache_get_field_content_float(i, "minY", handle);
    GZ[i][flagge_x] = cache_get_field_content_float(i, "flaggeX", handle);
    GZ[i][flagge_y] = cache_get_field_content_float(i, "flaggeY", handle);
    GZ[i][flagge_z] = cache_get_field_content_float(i, "flaggeZ", handle);
    GZ[i][erstellt] = true;
    M_CreateZone(GZ[i][min_x],GZ[i][min_y],GZ[i][max_x],GZ[i][max_y],FrakColor(GZ[i][owner]),str,FrakColor(GZ[i][owner]));
    GZ[i][pickup] = CreatePickup(1314,1,GZ[i][flagge_x],GZ[i][flagge_y],GZ[i][flagge_z],0);
    GZ[i][label] = Create3DTextLabel("Tippe '/angriff', um das Gebiet anzugreifen.\nTippe '/flagge' | Y/Z, um die Flagge zu erobern.",Rot,GZ[i][flagge_x],GZ[i][flagge_y],GZ[i][flagge_z],20,0);
    Counter++;
    }
    return printf(" '%d' Gangzone(n) wurde(n) erfolgreich erstellt und geladen.",Counter);
    }


    Das erstellt ist mir abhanden gekommen, ist wieder drin. ;)

    3HZXdYd.png

    Einmal editiert, zuletzt von Jeffry ()

  • Er zeigt mir jetzt an, dass es bereits ein Gebiet schon gibt, wobei es noch keins gibt. Und Speichern tut er es leider auch nicht :/.


    stock SaveGZ()
    {
    for(new i, query[500]; i <MAX_GZ; i++)
    {
    format(query, sizeof(query), "UPDATE gangfight SET owner='%s', maxX='%f', maxY='%f', minX='%f', minY='%f', flaggeX='%f', flaggeY='%f', flaggeZ='%f', erstellt='%d', WHERE id='%d'",
    GZ[i][owner], GZ[i][max_x], GZ[i][max_y], GZ[i][min_x], GZ[i][min_y], GZ[i][flagge_x], GZ[i][flagge_y], GZ[i][flagge_z], GZ[i][erstellt]);
    mysql_pquery(handle, query);
    }
    return 1;
    }


    stock SaveGZ_(zoneid)
    {
    new query[500];
    format(query, sizeof(query), "INSERT INTO gangfight (id, owner, maxX, maxY, minX, minY, flaggeX, flaggeY, flaggeZ, erstellt) VALUES ('%d', '%s', '%f', '%f', '%f', '%f', '%f', '%f', '%f', '%d')",
    zoneid, GZ[zoneid][owner], GZ[zoneid][max_x], GZ[zoneid][max_y], GZ[zoneid][min_x], GZ[zoneid][min_y], GZ[zoneid][flagge_x], GZ[zoneid][flagge_y], GZ[zoneid][flagge_z], GZ[zoneid][erstellt]);
    mysql_pquery(handle, query);
    return 1;
    }


    Die Log zeigt mir dazu noch Errors an.
    [21:25:43] [DEBUG] mysql_errno - connection: 1
    [21:25:43] [DEBUG] mysql_tquery - connection: 1, query: "SELECT * FROM `gangfight` ORDER BY id ASC", callback: "LoadGZ", format: "(null)"
    [21:25:43] [DEBUG] CMySQLConnection::Connect - establishing connection to database...
    [21:25:43] [DEBUG] CMySQLConnection::Connect - establishing connection to database...
    [21:25:43] [DEBUG] CMySQLConnection::Connect - establishing connection to database...
    [21:25:43] [DEBUG] CMySQLConnection::Connect - connection was successful
    [21:25:43] [DEBUG] CMySQLConnection::Connect - connection was successful
    [21:25:43] [DEBUG] CMySQLConnection::Connect - connection was successful
    [21:25:43] [DEBUG] CMySQLConnection::Connect - auto-reconnect has been enabled
    [21:25:43] [DEBUG] CMySQLConnection::Connect - auto-reconnect has been enabled
    [21:25:43] [DEBUG] CMySQLConnection::Connect - auto-reconnect has been enabled
    [21:25:43] [DEBUG] CMySQLQuery::Execute[LoadGZ] - starting query execution
    [21:25:43] [DEBUG] CMySQLQuery::Execute[LoadGZ] - query was successfully executed within 0.296 milliseconds
    [21:25:43] [DEBUG] CMySQLResult::CMySQLResult() - constructor called
    [21:25:43] [DEBUG] Calling callback "LoadGZ"..
    [21:25:43] [DEBUG] cache_get_data - connection: 1
    [21:25:43] [DEBUG] cache_get_field_content - row: 0, field_name: "owner", connection: 1, max_len: 1
    [21:25:43] [ERROR] CMySQLResult::GetRowDataByName() - invalid row index ('0')
    [21:25:43] [DEBUG] cache_get_field_content_float - row: 0, field_name: "maxX", connection: 1
    [21:25:43] [ERROR] CMySQLResult::GetRowDataByName() - invalid row index ('0')
    [21:25:43] [ERROR] cache_get_field_content_float - invalid datatype
    [21:25:43] [DEBUG] cache_get_field_content_float - row: 0, field_name: "maxY", connection: 1
    [21:25:43] [ERROR] CMySQLResult::GetRowDataByName() - invalid row index ('0')
    [21:25:43] [ERROR] cache_get_field_content_float - invalid datatype
    [21:25:43] [DEBUG] cache_get_field_content_float - row: 0, field_name: "minX", connection: 1
    [21:25:43] [ERROR] CMySQLResult::GetRowDataByName() - invalid row index ('0')
    [21:25:43] [ERROR] cache_get_field_content_float - invalid datatype
    [21:25:43] [DEBUG] cache_get_field_content_float - row: 0, field_name: "minY", connection: 1
    [21:25:43] [ERROR] CMySQLResult::GetRowDataByName() - invalid row index ('0')
    [21:25:43] [ERROR] cache_get_field_content_float - invalid datatype
    [21:25:43] [DEBUG] cache_get_field_content_float - row: 0, field_name: "flaggeX", connection: 1
    [21:25:43] [ERROR] CMySQLResult::GetRowDataByName() - invalid row index ('0')
    [21:25:43] [ERROR] cache_get_field_content_float - invalid datatype
    [21:25:43] [DEBUG] cache_get_field_content_float - row: 0, field_name: "flaggeY", connection: 1
    [21:25:43] [ERROR] CMySQLResult::GetRowDataByName() - invalid row index ('0')
    [21:25:43] [ERROR] cache_get_field_content_float - invalid datatype
    [21:25:43] [DEBUG] cache_get_field_content_float - row: 0, field_name: "flaggeZ", connection: 1
    [21:25:43] [ERROR] CMySQLResult::GetRowDataByName() - invalid row index ('0')
    [21:25:43] [ERROR] cache_get_field_content_float - invalid datatype
    [21:25:43] [DEBUG] cache_get_field_content_int - row: 0, field_name: "erstellt", connection: 1
    [21:25:43] [ERROR] CMySQLResult::GetRowDataByName() - invalid row index ('0')
    [21:25:43] [ERROR] cache_get_field_content_int - invalid datatype
    [21:25:43] [DEBUG] CMySQLResult::~CMySQLResult() - deconstructor called


  • http://www.bilder-upload.eu/sh…ile=b0f11d-1427489166.png


    SaveGZ wird nur unter OnGameModeExit ausgeführt. Und SaveGZ_ kommt im Public Gangwar vor (siehe unten) und unter Befehle, wie /angriff oder /aufgeben.


    public Gangwar(zoneid)
    {
    if(GF[zoneid][started] != 1)return KillTimer(GF[zoneid][timer]);
    GF[zoneid][zeit] ++;
    new strin[128];
    format(strin,sizeof(strin),"Punkte (Owner): %d~n~ ~n~Punkte (Angreifer): %d~n~ ~n~Zeit: %d/%d Minute(n)",GF[zoneid][punkte_o],GF[zoneid][punkte_a],GF[zoneid][zeit],GFTime);
    TextDrawSetString(GFInfo,strin);
    if(GF[zoneid][punkte_a] >= MaxPoints || GF[zoneid][punkte_o] >= MaxPoints)
    {
    ImGF[GF[zoneid][owner]] = 0,ImGF[GF[zoneid][angreifer]] = 0;
    if(GF[zoneid][punkte_o] > GF[zoneid][punkte_a])format(strin,sizeof(strin),"Die Gang '%s' hat den Gangfight gegen die Fraktion '%s' mit %i / %i gewonnen.",FrakName(GF[zoneid][owner]),FrakName(GF[zoneid][angreifer]),GF[zoneid][punkte_o],GF[zoneid][punkte_a]);
    else if(GF[zoneid][punkte_a] > GF[zoneid][punkte_o])
    {
    format(strin,sizeof(strin),"Die Gang '%s' hat den Gangfight gegen die Fraktion '%s' mit %i / %i gewonnen.",FrakName(GF[zoneid][angreifer]),FrakName(GF[zoneid][owner]),GF[zoneid][punkte_a],GF[zoneid][punkte_o]);
    GZ[zoneid][owner] = GF[zoneid][angreifer];
    }
    SCMToAll(DBlau,strin);
    GF[zoneid][punkte_o] = 0,GF[zoneid][punkte_a] = 0;
    M_ZoneStopFlashForAll(zoneid);
    GZ[zoneid][ruhe] = GFRuhe;
    GZ[zoneid][ruhetimer] = SetTimerEx("GFRuheTimer",888*60,true,"i",zoneid);
    format(strin,sizeof(strin),"%i| Besitzer: '%s'",GZ[zoneid][zid],FrakName(GZ[zoneid][owner]));
    M_ZoneSetTextDraw(zoneid,strin,FrakColor(GZ[zoneid][owner]));
    M_ZoneSetColor(zoneid,FrakColor(GZ[zoneid][owner]));
    TextDrawHideForAll(GFUeber),
    TextDrawHideForAll(GFInfo),
    TextDrawHideForAll(GFBox),
    TextDrawHideForAll(GFFlagge);
    return SaveGZ_(zoneid);
    }
    else if(GF[zoneid][zeit] >= GFTime)
    {
    GF[zoneid][started] = 0;
    if(GF[zoneid][punkte_o] > GF[zoneid][punkte_a])format(strin,sizeof(strin),"Die Gang '%s' hat den Gangfight gegen die Fraktion '%s' mit %i / %i gewonnen.",FrakName(GF[zoneid][owner]),FrakName(GF[zoneid][angreifer]),GF[zoneid][punkte_o],GF[zoneid][punkte_a]);
    else if(GF[zoneid][punkte_a] > GF[zoneid][punkte_o])
    {
    format(strin,sizeof(strin),"Die Gang '%s' hat den Gangfight gegen die Fraktion '%s' mit %i / %i gewonnen.",FrakName(GF[zoneid][angreifer]),FrakName(GF[zoneid][owner]),GF[zoneid][punkte_a],GF[zoneid][punkte_o]);
    GZ[zoneid][owner] = GF[zoneid][angreifer];
    }
    SCMToAll(DBlau,strin);
    GF[zoneid][punkte_o] = 0,GF[zoneid][punkte_a] = 0;
    M_ZoneStopFlashForAll(zoneid);
    GZ[zoneid][ruhe] = GFRuhe;
    GZ[zoneid][ruhetimer] = SetTimerEx("GFRuheTimer",888*60,true,"i",zoneid);
    format(strin,sizeof(strin),"%i| Besitzer: '%s'",GZ[zoneid][zid],FrakName(GZ[zoneid][owner]));
    M_ZoneSetTextDraw(zoneid,strin,FrakColor(GZ[zoneid][owner]));
    M_ZoneSetColor(zoneid,FrakColor(GZ[zoneid][owner]));
    TextDrawHideForAll(GFUeber),
    TextDrawHideForAll(GFInfo),
    TextDrawHideForAll(GFBox),
    TextDrawHideForAll(GFFlagge);
    return SaveGZ_(zoneid),LoadGZ_(zoneid);
    }
    return 1;
    }

    Einmal editiert, zuletzt von Grapefruit ()

  • Ok, dann so:


    forward LoadGZ();
    public LoadGZ()
    {
    new rows, fields, str[64], Counter = 0;
    cache_get_data(rows, fields);
    for(new i = 0; i < rows; i++)
    {
    GZ[i][zid] = i;
    GZ[i][owner] = cache_get_field_content(i, "owner", GZ[i][owner], handle);
    GZ[i][max_x] = cache_get_field_content_float(i, "maxX", handle);
    GZ[i][max_y] = cache_get_field_content_float(i, "maxY", handle);
    GZ[i][min_x] = cache_get_field_content_float(i, "minX", handle);
    GZ[i][min_y] = cache_get_field_content_float(i, "minY", handle);
    GZ[i][flagge_x] = cache_get_field_content_float(i, "flaggeX", handle);
    GZ[i][flagge_y] = cache_get_field_content_float(i, "flaggeY", handle);
    GZ[i][flagge_z] = cache_get_field_content_float(i, "flaggeZ", handle);
    GZ[i][erstellt] = true;
    M_CreateZone(GZ[i][min_x],GZ[i][min_y],GZ[i][max_x],GZ[i][max_y],FrakColor(GZ[i][owner]),str,FrakColor(GZ[i][owner]));
    GZ[i][pickup] = CreatePickup(1314,1,GZ[i][flagge_x],GZ[i][flagge_y],GZ[i][flagge_z],0);
    GZ[i][label] = Create3DTextLabel("Tippe '/angriff', um das Gebiet anzugreifen.\nTippe '/flagge' | Y/Z, um die Flagge zu erobern.",Rot,GZ[i][flagge_x],GZ[i][flagge_y],GZ[i][flagge_z],20,0);
    Counter++;
    }
    return printf(" '%d' Gangzone(n) wurde(n) erfolgreich erstellt und geladen.",Counter);
    }


    Und in deiner Tabelle befinden sich keine Daten, sprich es kann nichts geladen werden.

  • Es wird immer noch nichts in die Datenbank geschrieben. Die Log meldet keinen Fehler.


    [22:35:20] [DEBUG] mysql_errno - connection: 1
    [22:35:20] [DEBUG] mysql_tquery - connection: 1, query: "SELECT * FROM `gangfight` ORDER BY id ASC", callback: "LoadGZ", format: "(null)"
    [22:35:20] [DEBUG] CMySQLConnection::Connect - establishing connection to database...
    [22:35:20] [DEBUG] CMySQLConnection::Connect - connection was successful
    [22:35:20] [DEBUG] CMySQLConnection::Connect - establishing connection to database...
    [22:35:20] [DEBUG] CMySQLConnection::Connect - auto-reconnect has been enabled
    [22:35:20] [DEBUG] CMySQLQuery::Execute[LoadGZ] - starting query execution
    [22:35:20] [DEBUG] CMySQLConnection::Connect - connection was successful
    [22:35:20] [DEBUG] CMySQLQuery::Execute[LoadGZ] - query was successfully executed within 0.258 milliseconds
    [22:35:20] [DEBUG] CMySQLConnection::Connect - auto-reconnect has been enabled
    [22:35:20] [DEBUG] CMySQLConnection::Connect - establishing connection to database...
    [22:35:20] [DEBUG] CMySQLResult::CMySQLResult() - constructor called
    [22:35:20] [DEBUG] CMySQLConnection::Connect - connection was successful
    [22:35:20] [DEBUG] CMySQLConnection::Connect - auto-reconnect has been enabled
    [22:35:20] [DEBUG] Calling callback "LoadGZ"..
    [22:35:20] [DEBUG] cache_get_data - connection: 1
    [22:35:20] [DEBUG] CMySQLResult::~CMySQLResult() - deconstructor called

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen