(MySQL) Labels laden nicht

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
  • das Problem
    er list das Feld "Text" nichts aus und gibt es richtig wieder
    in der MySQL Tabelle ist alles richtig... muss iwas mit format sein...


    er liest den Text aber nicht richtig aus...
    als print kommt nur [22:46:28] Label erstellt: 2910.000000 -779.000000 11.000000
    da fehlt der Text im label.



    stock LoadServerLabels()
    {
    new strFromDb[256];
    new modelid;
    new Float:pos_x, Float:pos_y, Float:pos_z;
    new z[128];
    format(z,sizeof(z),"SELECT COUNT(*) FROM Labels");
    mysql_query(z);
    mysql_store_result();
    mysql_fetch_row(strFromDb);
    new SizeOfVeh = strval(strFromDb);
    for(new i = 0; i < SizeOfVeh; i++)
    {
    new obsql[128],resultline[64];
    format(obsql,sizeof(obsql),"SELECT * FROM Labels LIMIT %d, 1", i);
    mysql_query(obsql); mysql_store_result();
    if(mysql_fetch_row(resultline))
    {
    mysql_get_field("Text",obsql);
    modelid = strval(obsql);
    mysql_get_field("X",obsql);
    pos_x = floatstr(obsql);
    mysql_get_field("Y",obsql);
    pos_y = floatstr(obsql);
    mysql_get_field("Z",obsql);
    pos_z = floatstr(obsql);
    }
    if (mysql_num_rows() > 0)
    {
    new string[128];
    format(string, sizeof(string), "%s",modelid);
    CreateDynamic3DTextLabel(string, 0xFF0000FF, pos_x, pos_y, pos_z, 100.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 0, -1, -1, -1, 100.0);
    printf("Label erstellt: %s %f %f %f",string,pos_x,pos_y,pos_z);
    }
    }
    }

    Einmal editiert, zuletzt von Löwecadii ()

  • modelid = strval(obsql); // damit machst du den wert von obsql zu einem integer.
    format(string, sizeof(string), "%s",modelid); // hier willst du ihn aber als string formatieren.


    entweder %i/%d benutzen, oder den string nicht zum integer konvertieren.


    Mein CS:GO Server: 62.75.168.39:27016


    Ich bin so hungrig, dass ich vor lauter Durst nicht weiß, was ich rauchen soll - so müde bin ich!
    Freedom is just another word for 'Nothing left to lose'

  • format(string, sizeof(string), "%s",modelid); machst du zu format(string, sizeof(string), "%i",modelid);


    // Edit: Sofern in der mySQL Zelle wirklich nur natürliche Zahlen enthalten sind. Sonst klappt das selbstverständlich nicht ;p


    Mein CS:GO Server: 62.75.168.39:27016


    Ich bin so hungrig, dass ich vor lauter Durst nicht weiß, was ich rauchen soll - so müde bin ich!
    Freedom is just another word for 'Nothing left to lose'