Er lädt nur 1 Haus

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 hab edoch ein problem mit den laden von hausern
    stock LoadHaus()
    {
    new str[3];
    new cmd[128];
    mysql_query("SELECT * FROM hauser WHERE ID='hausid'");
    mysql_store_result();new resultline[200];
    if(mysql_fetch_row_format(resultline))
    {
    mysql_query("SELECT * FROM hauser");
    mysql_store_result();
    while(mysql_retrieve_row()) //this will be running until all rows are processed
    {
    valstr(str,hausid);
    Haus[hausid][ID] = mysql_GetInt("hauser", "ID", "ID", str);
    strmid(Haus[hausid][Owner],mysql_GetString("hauser", "Besitzer", "ID", str),0,MAX_PLAYER_NAME,MAX_PLAYER_NAME);
    Haus[hausid][ax] = mysql_GetFloat("hauser", "ax", "ID", str);
    Haus[hausid][ay] = mysql_GetFloat("hauser", "ay", "ID", str);
    Haus[hausid][az] = mysql_GetFloat("hauser", "az", "ID", str);
    Haus[hausid][ix] = mysql_GetFloat("hauser", "ix", "ID", str);
    Haus[hausid][iy] = mysql_GetFloat("hauser", "iy", "ID", str);
    Haus[hausid][iz] = mysql_GetFloat("hauser", "iz", "ID", str);
    Haus[hausid][interior] = mysql_GetInt("hauser", "interior", "ID", str);
    Haus[hausid][vworld] = mysql_GetInt("hauser", "virtual_world", "ID", str);
    Haus[hausid][kosten] = mysql_GetInt("hauser", "kosten", "ID", str);
    Haus[hausid][kosten2] = mysql_GetInt("hauser", "kosten2", "ID", str);
    Haus[hausid][kaufen] = mysql_GetInt("hauser", "nicht_zum_kauf", "ID", str);
    Haus[hausid][schloss] = mysql_GetInt("hauser", "verschlossen", "ID", str);
    Haus[hausid][heal] = mysql_GetInt("hauser", "Heal", "ID", str);
    Haus[hausid][armour] = mysql_GetInt("hauser", "Armour", "ID", str);
    Haus[hausid][Type] = mysql_GetInt("hauser", "Type", "ID", str);
    Haus[hausid][Miete] = mysql_GetInt("hauser", "Miete", "ID", str);
    Haus[hausid][Mietbar] = mysql_GetInt("hauser", "Mietbar", "ID", str);
    sscanf(resultline,"p<|>dsffffffddddddddddd",Haus[hausid][ID],Haus[hausid][Owner], Haus[hausid][ax], Haus[hausid][ay], Haus[hausid][az], Haus[hausid][ix], Haus[hausid][iy], Haus[hausid][iz], Haus[hausid][interior], Haus[hausid][vworld], Haus[hausid][kosten],Haus[hausid][kosten2], Haus[hausid][kaufen], Haus[hausid][schloss], Haus[hausid][heal], Haus[hausid][armour], Haus[hausid][Type],Haus[hausid][Miete],Haus[hausid][Mietbar]);
    printf("ID:%d Owner:%s AX:%f AY:%f AZ:%f IX:%f IY:%f IZ:%f Int:%d VW:%d KOSTEN:%d SCORE:%d KAUFE:%d SCHLOSS:%d HEAL:%d ARMOUR:%d TYPE:%d",Haus[hausid][ID],Haus[hausid][Owner], Haus[hausid][ax], Haus[hausid][ay], Haus[hausid][az], Haus[hausid][ix], Haus[hausid][iy], Haus[hausid][iz], Haus[hausid][interior], Haus[hausid][vworld], Haus[hausid][kosten],Haus[hausid][kosten2], Haus[hausid][kaufen], Haus[hausid][schloss], Haus[hausid][heal], Haus[hausid][armour], Haus[hausid][Type]);
    hausid++;
    }
    format(cmd,sizeof(cmd),"Besitzer : %s\n Größe : %s\nKosten : %d\nLevel: %d\n/buyhouse zum kaufen",Haus[hausid][Owner],HausGrosse(hausid),Haus[hausid][kosten],Haus[hausid][kosten2]);
    Haus[hausid][lbl_haus] = Create3DTextLabel(cmd,COLOR_GREEN,Haus[hausid][ax], Haus[hausid][ay], Haus[hausid][az]+1,15.0,0);
    UpdateHausInfo(hausid);
    }
    mysql_free_result();
    } er lädt nur das 1e haus er macht ja das mit den while nicht irgendwie

  • versuche es mal mit ne normalen schleife also nicht mit der while schleife


    also


    for(new i=0;i<MAX_HAUS;i++)
    {
    //UND HIER DENN DEINE HÄUSER REIN
    }

    Mit Freundlichen Grüßen
    Whitetiiger aka. Kaito-sensei
    P.s. Alle mit #IRONIE bestätigten Sätze von mir, sind als Ironie anzusehen.

  • Das wievielte Thema ist es heute von dir eigentlich ?
    Du ließt einfach nicht die Dokumentation zu dem Plugin ...


    stock LoadHaus()
    {
    new str[3];
    new cmd[128];
    // --- MÜLL
    mysql_query("SELECT * FROM hauser WHERE ID='hausid'");
    mysql_store_result();new resultline[200];
    if(mysql_fetch_row_format(resultline))
    {
    // --- MÜLL Ende
    mysql_query("SELECT * FROM hauser");
    mysql_store_result();
    while(mysql_retrieve_row()) //this will be running until all rows are processed
    {
    valstr(str,hausid);
    Haus[hausid][ID] = mysql_GetInt("hauser", "ID", "ID", str);
    strmid(Haus[hausid][Owner],mysql_GetString("hauser", "Besitzer", "ID", str),0,MAX_PLAYER_NAME,MAX_PLAYER_NAME);
    Haus[hausid][ax] = mysql_GetFloat("hauser", "ax", "ID", str);
    Haus[hausid][ay] = mysql_GetFloat("hauser", "ay", "ID", str);
    Haus[hausid][az] = mysql_GetFloat("hauser", "az", "ID", str);
    Haus[hausid][ix] = mysql_GetFloat("hauser", "ix", "ID", str);
    Haus[hausid][iy] = mysql_GetFloat("hauser", "iy", "ID", str);
    Haus[hausid][iz] = mysql_GetFloat("hauser", "iz", "ID", str);
    Haus[hausid][interior] = mysql_GetInt("hauser", "interior", "ID", str);
    Haus[hausid][vworld] = mysql_GetInt("hauser", "virtual_world", "ID", str);
    Haus[hausid][kosten] = mysql_GetInt("hauser", "kosten", "ID", str);
    Haus[hausid][kosten2] = mysql_GetInt("hauser", "kosten2", "ID", str);
    Haus[hausid][kaufen] = mysql_GetInt("hauser", "nicht_zum_kauf", "ID", str);
    Haus[hausid][schloss] = mysql_GetInt("hauser", "verschlossen", "ID", str);
    Haus[hausid][heal] = mysql_GetInt("hauser", "Heal", "ID", str);
    Haus[hausid][armour] = mysql_GetInt("hauser", "Armour", "ID", str);
    Haus[hausid][Type] = mysql_GetInt("hauser", "Type", "ID", str);
    Haus[hausid][Miete] = mysql_GetInt("hauser", "Miete", "ID", str);
    Haus[hausid][Mietbar] = mysql_GetInt("hauser", "Mietbar", "ID", str);
    sscanf(resultline,"p<|>dsffffffddddddddddd",Haus[hausid][ID],Haus[hausid][Owner], Haus[hausid][ax], Haus[hausid][ay], Haus[hausid][az], Haus[hausid][ix], Haus[hausid][iy], Haus[hausid][iz], Haus[hausid][interior], Haus[hausid][vworld], Haus[hausid][kosten],Haus[hausid][kosten2], Haus[hausid][kaufen], Haus[hausid][schloss], Haus[hausid][heal], Haus[hausid][armour], Haus[hausid][Type],Haus[hausid][Miete],Haus[hausid][Mietbar]);
    printf("ID:%d Owner:%s AX:%f AY:%f AZ:%f IX:%f IY:%f IZ:%f Int:%d VW:%d KOSTEN:%d SCORE:%d KAUFE:%d SCHLOSS:%d HEAL:%d ARMOUR:%d TYPE:%d",Haus[hausid][ID],Haus[hausid][Owner], Haus[hausid][ax], Haus[hausid][ay], Haus[hausid][az], Haus[hausid][ix], Haus[hausid][iy], Haus[hausid][iz], Haus[hausid][interior], Haus[hausid][vworld], Haus[hausid][kosten],Haus[hausid][kosten2], Haus[hausid][kaufen], Haus[hausid][schloss], Haus[hausid][heal], Haus[hausid][armour], Haus[hausid][Type]);
    hausid++;
    }
    format(cmd,sizeof(cmd),"Besitzer : %s\n Größe : %s\nKosten : %d\nLevel: %d\n/buyhouse zum kaufen",Haus[hausid][Owner],HausGrosse(hausid),Haus[hausid][kosten],Haus[hausid][kosten2]);
    Haus[hausid][lbl_haus] = Create3DTextLabel(cmd,COLOR_GREEN,Haus[hausid][ax], Haus[hausid][ay], Haus[hausid][az]+1,15.0,0);
    UpdateHausInfo(hausid);
    }
    mysql_free_result();
    }
    Der markierte Bereich ist total überflüssig und gibt bestimmt auch nur Fehler in der mysql.log aus.
    // --- MÜLL
    mysql_query("SELECT * FROM hauser WHERE ID='hausid'"); // <-- Die Abfrage klappt doch niemals. WHERE ID = 'hausid' ????
    mysql_store_result();new resultline[200];
    if(mysql_fetch_row_format(resultline))
    {
    // --- MÜLL Ende
    Übrigens ist die sscanf Zeile auch unnötig.Das auslesen machst du sowieso schon davor. Die Möglichkeit mit sscanf ist lediglich besser,aber wohl zu komplex um es einem MySQL Anfänger zu erklären :\.


    format(cmd,sizeof(cmd),"Besitzer : %s\n Größe : %s\nKosten : %d\nLevel: %d\n/buyhouse zum kaufen",Haus[hausid][Owner],HausGrosse(hausid),Haus[hausid][kosten],Haus[hausid][kosten2]);
    Haus[hausid][lbl_haus] = Create3DTextLabel(cmd,COLOR_GREEN,Haus[hausid][ax], Haus[hausid][ay], Haus[hausid][az]+1,15.0,0);
    UpdateHausInfo(hausid);

    Der Teil muss sicherlich auch in die While-Schleife. Zumindest die format und Create3D... Zeilen.

  • ja habe es jetzte so aber er sagt mir nur das er 1 haus lädt und auch nur in game 1 haus gibt obwohl ich shcon 40hauser in der db habe


    //edit hilfeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee


    das mus s doch irgendwie gehen oder erklär mir da smal einer in deutsch mit den sscanf etc


    //Edit
    ich habe das jetzt so so lädt er nur 1 haus und den rest nicht. und bei den coordinaten macht er nach den koma 000000 statt die richtigen zahlen hinzu packen


    stock LoadHaus()
    {
    new cmd[128];
    new Query[500];
    format(Query,sizeof(Query),"SELECT * FROM `hauser` WHERE `ID` = '%d'",hausid);
    mysql_query(Query);
    mysql_store_result();


    new result[500];
    while(mysql_fetch_row(result))
    {
    sscanf(result,"p|dsffffffddddddddddd",Haus[hausid][ID],Haus[hausid][Owner], Haus[hausid][ax], Haus[hausid][ay], Haus[hausid][az], Haus[hausid][ix], Haus[hausid][iy], Haus[hausid][iz], Haus[hausid][interior], Haus[hausid][vworld], Haus[hausid][kosten],Haus[hausid][kosten2], Haus[hausid][kaufen], Haus[hausid][schloss], Haus[hausid][heal], Haus[hausid][armour], Haus[hausid][Type],Haus[hausid][Miete],Haus[hausid][Mietbar]);
    print(result);
    printf("ID:%d | Owner:%s | AX:%f | AY:%f | AZ:%f | IX:%f | IY:%f | IZ:%f | Int:%d | VW:%d | KOSTEN:%d | SCORE:%d | KAUFE:%d | SCHLOSS:%d | HEAL:%d | :%d | :%d",Haus[hausid][ID],Haus[hausid][Owner], Haus[hausid][ax], Haus[hausid][ay], Haus[hausid][az], Haus[hausid][ix], Haus[hausid][iy], Haus[hausid][iz], Haus[hausid][interior], Haus[hausid][vworld], Haus[hausid][kosten],Haus[hausid][kosten2], Haus[hausid][kaufen], Haus[hausid][schloss], Haus[hausid][heal], Haus[hausid][armour], Haus[hausid][Type]);
    format(cmd,sizeof(cmd),"Besitzer : %s\n Größe : %s\nKosten : %d\nLevel: %d\n/buyhouse zum kaufen",Haus[hausid][Owner],HausGrosse(hausid),Haus[hausid][kosten],Haus[hausid][kosten2]);
    Haus[hausid][lbl_haus] = Create3DTextLabel(cmd,COLOR_GREEN,Haus[hausid][ax], Haus[hausid][ay], Haus[hausid][az]+1,15.0,0);
    UpdateHausInfo(hausid);
    hausid++;
    //}
    }
    }

    3 Mal editiert, zuletzt von HoneyKing ()

  • wilste eig. verarschen? dass was müll ist lässt du drine?


    stock LoadHaus()
    {
    new cmd[128];
    new Query[500];
    format(Query,sizeof(Query),"SELECT * FROM `hauser`");
    mysql_query(Query);
    mysql_store_result();


    new result[500];
    while(mysql_fetch_row(result))
    {
    sscanf(result,"p|dsffffffddddddddddd",Haus[hausid][ID],Haus[hausid][Owner], Haus[hausid][ax], Haus[hausid][ay], Haus[hausid][az], Haus[hausid][ix], Haus[hausid][iy], Haus[hausid][iz], Haus[hausid][interior], Haus[hausid][vworld], Haus[hausid][kosten],Haus[hausid][kosten2], Haus[hausid][kaufen], Haus[hausid][schloss], Haus[hausid][heal], Haus[hausid][armour], Haus[hausid][Type],Haus[hausid][Miete],Haus[hausid][Mietbar]);
    print(result);
    printf("ID:%d | Owner:%s | AX:%f | AY:%f | AZ:%f | IX:%f | IY:%f | IZ:%f | Int:%d | VW:%d | KOSTEN:%d | SCORE:%d | KAUFE:%d | SCHLOSS:%d | HEAL:%d | :%d | :%d",Haus[hausid][ID],Haus[hausid][Owner], Haus[hausid][ax], Haus[hausid][ay], Haus[hausid][az], Haus[hausid][ix], Haus[hausid][iy], Haus[hausid][iz], Haus[hausid][interior], Haus[hausid][vworld], Haus[hausid][kosten],Haus[hausid][kosten2], Haus[hausid][kaufen], Haus[hausid][schloss], Haus[hausid][heal], Haus[hausid][armour], Haus[hausid][Type]);
    format(cmd,sizeof(cmd),"Besitzer : %s\n Größe : %s\nKosten : %d\nLevel: %d\n/buyhouse zum kaufen",Haus[hausid][Owner],HausGrosse(hausid),Haus[hausid][kosten],Haus[hausid][kosten2]);
    Haus[hausid][lbl_haus] = Create3DTextLabel(cmd,COLOR_GREEN,Haus[hausid][ax], Haus[hausid][ay], Haus[hausid][az]+1,15.0,0);
    UpdateHausInfo(hausid);
    hausid++;
    //}

  • JA das habe ich abgeguckt von wo anderes wo es klappt aber ich hatet das vorher anderes da hat er 1 haus geladen aber fehler haft :D


    So habe ich ich das erst gehabt das ging nit
    stock LoadHaus()
    {
    new str[500];
    new cmd[128];
    mysql_query("SELECT * FROM hauser");
    mysql_store_result();
    while(mysql_retrieve_row()) //this will be running until all rows are processed
    {
    valstr(str,hausid);
    Haus[hausid][ID] = mysql_GetInt("hauser", "ID", "ID", str);
    strmid(Haus[hausid][Owner],mysql_GetString("hauser", "Besitzer", "ID", str),0,MAX_PLAYER_NAME,MAX_PLAYER_NAME);
    Haus[hausid][ax] = mysql_GetFloat("hauser", "ax", "ID", str);
    Haus[hausid][ay] = mysql_GetFloat("hauser", "ay", "ID", str);
    Haus[hausid][az] = mysql_GetFloat("hauser", "az", "ID", str);
    Haus[hausid][ix] = mysql_GetFloat("hauser", "ix", "ID", str);
    Haus[hausid][iy] = mysql_GetFloat("hauser", "iy", "ID", str);
    Haus[hausid][iz] = mysql_GetFloat("hauser", "iz", "ID", str);
    Haus[hausid][interior] = mysql_GetInt("hauser", "interior", "ID", str);
    Haus[hausid][vworld] = mysql_GetInt("hauser", "virtual_world", "ID", str);
    Haus[hausid][kosten] = mysql_GetInt("hauser", "kosten", "ID", str);
    Haus[hausid][kosten2] = mysql_GetInt("hauser", "kosten2", "ID", str);
    Haus[hausid][kaufen] = mysql_GetInt("hauser", "nicht_zum_kauf", "ID", str);
    Haus[hausid][schloss] = mysql_GetInt("hauser", "verschlossen", "ID", str);
    Haus[hausid][heal] = mysql_GetInt("hauser", "Heal", "ID", str);
    Haus[hausid][armour] = mysql_GetInt("hauser", "Armour", "ID", str);
    Haus[hausid][Type] = mysql_GetInt("hauser", "Type", "ID", str);
    Haus[hausid][Miete] = mysql_GetInt("hauser", "Miete", "ID", str);
    Haus[hausid][Mietbar] = mysql_GetInt("hauser", "Mietbar", "ID", str);
    printf("ID:%d | Owner:%s | AX:%f | AY:%f | AZ:%f | IX:%f | IY:%f | IZ:%f | Int:%d | VW:%d | KOSTEN:%d | SCORE:%d | KAUFE:%d | SCHLOSS:%d | HEAL:%d | :%d | :%d",Haus[hausid][ID],Haus[hausid][Owner], Haus[hausid][ax], Haus[hausid][ay], Haus[hausid][az], Haus[hausid][ix], Haus[hausid][iy], Haus[hausid][iz], Haus[hausid][interior], Haus[hausid][vworld], Haus[hausid][kosten],Haus[hausid][kosten2], Haus[hausid][kaufen], Haus[hausid][schloss], Haus[hausid][heal], Haus[hausid][armour], Haus[hausid][Type]);
    format(cmd,sizeof(cmd),"Besitzer : %s\n Größe : %s\nKosten : %d\nLevel: %d\n/buyhouse zum kaufen",Haus[hausid][Owner],HausGrosse(hausid),Haus[hausid][kosten],Haus[hausid][kosten2]);
    Haus[hausid][lbl_haus] = Create3DTextLabel(cmd,COLOR_GREEN,Haus[hausid][ax], Haus[hausid][ay], Haus[hausid][az]+1,15.0,0);
    UpdateHausInfo(hausid);
    hausid++;
    }
    mysql_free_result();
    }


    //edit so wie das da steht ladt er 1 haus fast richtig nur die kordinaten stimmen nicht. also nach den komma die zahlen. Und er ladt wie gesagt nur das 1e haus mehr auch nit
    //edit so wie ich das jetzt habe also mit den was da steht ^^ lädt er nur 1 haus korrekt und die restlichen 39 überhaupt nicht fehlt da noch was?

    4 Mal editiert, zuletzt von HoneyKing ()