Command will nicht gehen.

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
  • ocmd:createhouse(playerid,params[])
    {
    if(PlayerInfo[playerid][pAdmin] > 5)
    {
    new Float:posx,Float:posy,Float:posz,count,query[128],maxid;
    if(sscanf(params,"d",count)) SCM(playerid,COLOR_WHITE,"Benutze: /createhouse [INT]");
    GetPlayerPos(playerid,posx,posy,posz);
    for(new i=0;i<MAX_HAUS;i++)
    {
    if(mysql_retrieve_row())
    {
    maxid++;
    format(query, 128, "SELECT `hID` FROM `Houses` WHERE `hID` = '%d'",maxid);
    mysql_query(query);
    }
    }
    format(query, sizeof(query), "INSERT INTO `Houses` (`hID`, `Int`, `PosX`, `PosY`, `PosZ`) VALUES ('%d', '%d', `%f`, `%f`, `%f`)", maxid,count,posx,posy,posz);
    mysql_query(query);
    SCM(playerid,COLOR_WHITE,"Du hast erfolgreich ein Haus erstellt.");
    }
    else
    {
    SCM(playerid,COLOR_WHITE,"Du bist nicht befugt, diesen Befehl zu nutzen.");
    return 1;
    }
    return 1;
    }


    Wieso trägt der Command nichts in die MySQL ein ?

  • Hey, du hast ein ; am Ende vergessen:


    format(query, sizeof(query), "INSERT INTO `Houses` (`hID`, `Int`, `PosX`, `PosY`, `PosZ`) VALUES ('%d', '%d', `%f`, `%f`, `%f`);", maxid,count,posx,posy,posz)

    Back to the roots!


  • ocmd:createhouse(playerid,params[])
    {
    if(PlayerInfo[playerid][pAdmin] > 5)
    {
    new Float:posx,Float:posy,Float:posz,count,query[128],maxid;
    if(sscanf(params,"d",count)) SCM(playerid,COLOR_WHITE,"Benutze: /createhouse [INT]");
    GetPlayerPos(playerid,posx,posy,posz);
    for(new i=0;i<MAX_HAUS;i++)
    {
    if(mysql_retrieve_row())
    {
    maxid++;
    format(query, 128, "SELECT `hID` FROM `Houses` WHERE `hID` = '%d'",maxid);
    mysql_query(query);
    }
    }
    format(query, sizeof(query), "INSERT INTO `Houses` (`hID`, `Int`, `posx`, `posy`, `posz`) VALUES ('%d', '%d', `%f`, `%f`, `%f`)", maxid,count,posx,posy,posz);
    mysql_query(query);
    SCM(playerid,COLOR_WHITE,"Du hast erfolgreich ein Haus erstellt.");
    }
    else
    {
    SCM(playerid,COLOR_WHITE,"Du bist nicht befugt, diesen Befehl zu nutzen.");
    return 1;
    }
    return 1;
    }

  • @kifkat
    was ist da jetzt anders dran?


    @TE
    Ist dir schonmal aufgefallen, das maxid immer 0 ist?
    Denn wenn maxid 0 ist und bereits ein Eintrag bei dem hID auch 0 bereits exestiert wird nichts eingetragen.


    Ich frag mich was du mit
    if(mysql_retrieve_row())
    bewirken willst, da diese Abfrage niemals erfüllt ist
    und deswegen maxid 0 bleibt

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski


  • Ich wollte bewirken, dass meine Tabelle ( Houses ) Zeile für Zeile ausgelesen wird, und dann eine neue Reihe erstellt wird, bei der hID um eine Stelle größer sein soll als die der letzten reihe.


    Bsp.:


    alte zeile: hID 0
    neue zeile ( die eingetragen werden soll ) hID 1