3dlaben für alle häuser

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,
    probiere grad mein eigenes hausscript in mein mod zu schrieben jedoch will wieder einiges nicht klappen..
    mir gehen auch leider die ideen aus...


    Es soll pro Haus ein Textlabel angezeigt werden jedoch zeigt es nur das letzt Haus mit label an. Die Pickups jedoch werden richtig geladen.


    mein code um die gepeicherten daten aus dem mysql datenbank zu laden:
    stock AddHouseFromFile()
    {
    new Str[200], string[200], pTotal, hID, hUser, hLevel, Float:hEnterX, Float:hEnterY, Float:hEnterZ, Float:hExitX, Float:hExitY, Float:hExitZ, hInterior, hPrice, hVirtualWorld, hLocked;


    mysql_query("SELECT * FROM `House`");
    mysql_store_result();
    if(mysql_num_rows() > 0)
    {
    while(mysql_fetch_row(Str))
    {
    sscanf(Str, "p<|>isiffffffiiii", hID, hUser, hLevel, hEnterX, hEnterY, hEnterZ, hExitX, hExitY, hExitZ, hInterior, hPrice, hVirtualWorld, hLocked);
    hID = CreateDynamicPickup(1273, 1, hEnterX, hEnterY, hEnterZ, -1, -1, -1, PICKUPDISTANCE);
    pTotal++;
    }
    format(string,sizeof(string),"[ID] %d\n[BESITZER] %s\n[LEVEL] %d\n[PREIS] %d", hID, hUser, hLevel, hPrice);
    CreateDynamic3DTextLabel(string, white, hEnterX, hEnterY, hEnterZ, 100.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 0, -1, -1, -1, TEXTLABELDISTANCE);
    }
    mysql_free_result();
    printf("--> %i Houses Loaded FromMySQL", pTotal);
    return 1;
    }


    Ich müsste eigentlich "CreateDynamic3DTextLabel" in die while schleife ziehen was mache ich jedoch mit "format(string,sizeof....).
    Ich kann das ja nicht davor oder danach setzen oder gar in die schleife da es sonst nicht nur einmal pro haus gesetzt wird.


    while(mysql_fetch_row(Str))
    {
    sscanf(Str, "p<|>isiffffffiiii", hID, hUser, hLevel, hEnterX, hEnterY, hEnterZ, hExitX, hExitY, hExitZ, hInterior, hPrice, hVirtualWorld, hLocked);
    hID = CreateDynamicPickup(1273, 1, hEnterX, hEnterY, hEnterZ, -1, -1, -1, PICKUPDISTANCE);
    CreateDynamic3DTextLabel(string, white, hEnterX, hEnterY, hEnterZ, 100.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 0, -1, -1, -1, TEXTLABELDISTANCE);
    pTotal++;
    }


    Mir qualmt wieder mein Kopf. Bitte um hilfe :D


    danke schon mal

    mfg
    Ali ;)

  • while(mysql_fetch_row(Str))
    {
    sscanf(Str, "p<|>isiffffffiiii", hID, hUser, hLevel, hEnterX, hEnterY, hEnterZ, hExitX, hExitY, hExitZ, hInterior, hPrice, hVirtualWorld, hLocked);
    hID = CreateDynamicPickup(1273, 1, hEnterX, hEnterY, hEnterZ, -1, -1, -1, PICKUPDISTANCE);
    format(string,sizeof(string),"[ID] %d\n[BESITZER] %s\n[LEVEL] %d\n[PREIS] %d", hID, hUser, hLevel, hPrice);
    CreateDynamic3DTextLabel(string, white, hEnterX, hEnterY, hEnterZ, 100.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 0, -1, -1, -1, TEXTLABELDISTANCE);
    pTotal++;
    }


    Jetzt setzt er das Label bei jedem Haus. Der "string" wird immer überschrieben und somit werden die Daten pro Haus richtig übertragen.

  • hmmm komisch das hatte ich vorher... vieleich war estwas anderes falsch :D
    danke dir, eine frage noch


    Im datenbak steht als user einfach nur 'Staat'.
    Jedoch zeigt es m Label mit komischen sonderzeichen.
    ist mein sscanf nicht richtig? s (string) müsste doch richtig sein oder?
    sscanf(Str, "p<|>isiffffffiiii", hID, hUser, hLevel, hEnterX,
    hEnterY, hEnterZ, hExitX, hExitY, hExitZ, hInterior, hPrice,
    hVirtualWorld, hLocked);

    mfg
    Ali ;)