sql object system probs

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
  • hallo ich finde den fehler net warum mein object system net geht were dankbar wenn jmd ma rüber gugt :)
    die spawn sind ingame net vorhanden
    hier der code


    stock Loadobject()
    {
    new strFromDb[256];


    new modelid;
    new Float:pos_ox, Float:pos_oy, Float:pos_oz,Float:pos_rx, Float:pos_ry, Float:pos_rz;
    new z[128];
    format(z,sizeof(z),"SELECT COUNT(*) FROM object");
    mysql_query(z);
    mysql_store_result();
    mysql_fetch_row_format(strFromDb);
    new SizeOfVeh = strval(strFromDb);
    for(new i = 0; i < SizeOfVeh; i++)
    {
    new obsql[128],resultline[64];
    format(obsql,sizeof(obsql),"SELECT * FROM object LIMIT %d, 1", i);
    mysql_query(obsql); mysql_store_result();
    if(mysql_fetch_row_format(resultline))
    {
    mysql_fetch_field_row(obsql,"modelid"); modelid = strval(obsql);
    mysql_fetch_field_row(obsql,"pos_x"); pos_ox = strval(obsql);
    mysql_fetch_field_row(obsql,"pos_y"); pos_oy = strval(obsql);
    mysql_fetch_field_row(obsql,"pos_z"); pos_oz = strval(obsql);
    mysql_fetch_field_row(obsql,"pos_rx"); pos_rx = strval(obsql);
    mysql_fetch_field_row(obsql,"pos_ry"); pos_ry = strval(obsql);
    mysql_fetch_field_row(obsql,"pos_rz"); pos_rz = strval(obsql);
    }
    if (mysql_num_rows() > 0)
    {
    CreateObject(modelid,pos_ox,pos_oy,pos_oz,pos_rx,pos_ry,pos_rz);
    printf("Model %d pos_x %f pos_y %f pos_z %f pos_rx %f pos_ry %f pos_rz ",modelid,pos_ox,pos_oy,pos_oz,pos_rx,pos_ry,pos_rz);
    }
    }
    return 1;
    }



    und sql


    Einmal editiert, zuletzt von Mathias1000 ()

  • habe den code jeze so


    stock Loadobject()
    {
    new strFromDb[256];


    new modelid;
    new Float:pos_ox, Float:pos_oy, Float:pos_oz,Float:pos_rx, Float:pos_ry, Float:pos_rz;
    new z[128];
    format(z,sizeof(z),"SELECT COUNT(*) FROM object");
    mysql_query(z);
    mysql_store_result();
    mysql_fetch_row_format(strFromDb);
    new SizeOfVeh = strval(strFromDb);
    for(new i = 0; i < SizeOfVeh; i++)
    {
    new interior;
    new obsql[128],resultline[64];
    format(obsql,sizeof(obsql),"SELECT * FROM object LIMIT %d, 1", i);
    mysql_query(obsql); mysql_store_result();
    if(mysql_fetch_row_format(resultline))
    {
    mysql_fetch_field_row(obsql,"modelid"); modelid = strval(obsql);
    mysql_fetch_field_row(obsql,"pos_x"); pos_ox = floatstr(obsql);
    mysql_fetch_field_row(obsql,"pos_y"); pos_oy = floatstr(obsql);
    mysql_fetch_field_row(obsql,"pos_z"); pos_oz = floatstr(obsql);
    mysql_fetch_field_row(obsql,"pos_rx"); pos_rx = floatstr(obsql);
    mysql_fetch_field_row(obsql,"pos_ry"); pos_ry = floatstr(obsql);
    mysql_fetch_field_row(obsql,"pos_rz"); pos_rz = floatstr(obsql);

    }
    if (mysql_num_rows() > 0)
    {
    CreateObject(modelid,pos_ox,pos_oy,pos_oz,pos_rx,pos_ry,pos_rz);
    printf("Model %d pos_x %f pos_y %f pos_z %f pos_rx %f pos_ry %f pos_rz interior %f ",modelid,pos_ox,pos_oy,pos_oz,pos_rx,pos_ry,pos_rz);
    }
    }
    }
    aber wenn ich mich jeze einlogen will crasht der client
    müste doch so richtig sein oder?

  • Diese Funktion ist sehr MySQL-lastig.. ich würde das COUNT(*) ganz weglassen, und die nächste abfrage so gestalten:


    SQL
    SELECT * FROM object


    und dann durch eine while-Schleife laufen lassen.

  • Zitat

    und dann durch eine while-Schleife laufen lassen.


    Er brauch doch die Elemente garnicht per while Schleife zählen.


    Da er ja für jedes Element/Objekt eine neue Zeile nimmt in der Tabelle, sollte er es doch mit


    PHP
    mysql_num_rows()


    ganz einfach rausbekommen oder nicht?