Mysql- Schleife gibt den falsch Wert wieder.

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
  • Hey,
    ich habe mir einen Spawnchange-Befehl gemacht, dieser Funktioniert uach, wenn ich in keinem
    Haus wohne, das heißt dann steht dort Basespawn.
    Sobald ich irgendwo wohne, möchte ich, das die ID des Hauses in dem Dialog steht.
    Jedoch wird nicht die richtige ID ausgegeben um es genau zusagen 0, was mich sehr verwundert.


    Code:

    cmd_spawnchange(playerid,params[])
    {
    #pragma unused params
    new query[150],string[1024];
    new id;
    format(string,sizeof(string),"( Basespawn )");
    format(query,sizeof(query),"SELECT HausID FROM wohnen WHERE SpielerID = '%d'",GetPlayerInt(playerid,"ID"));
    print(query);
    mysql_query(query);
    mysql_store_result();
    while(mysql_fetch_row_format(query))
    {
    sscanf(query,"p<|>d",id);
    format(string,sizeof(string),"%s\nHausID: %d",id);
    }
    ShowPlayerDialog(playerid,DIALOG_SPAWN,DIALOG_STYLE_LIST,"Spawnchange",string,"kaufen","abbrechen");
    return 1;
    }


    Hat wer eine kleine Idee?


    mfg

  • Setz mal irgendwo folgendes zwischen:
    printf("Du bist in Haus ID: %d",GetPlayerInt(playerid,"ID"));
    Und schau, ob die Konsole nicht zufällig Null als %d ausgibt.


    Advertising has us chasing cars and clothes, working jobs we hate so we can buy shit we don’t need.
    – Tyler Durden


    Sobald Werbung im Spiel ist, bist du, die Nutzerin, der Nutzer, das Produkt.


  • format(string,sizeof(string),"%s\nHausID: %d",id);
    du hast %s für nen string und %d für nen integer, aber gbst nur id an. Das heisst id wird %s zugewiesen und %d wird nix zugewiesen, daher der Fehler.

    The fact is, I am right. And if you think I'm wrong, you are wrong.