Beiträge von firestormZ

    die Variable Verkauft, ist sozusagen VarBesitzer, nimm das hier:

    ocmd:kaufen(playerid,params[])
    {
    new query[1000], string[300], string2[500];
    new Float:X,Float:Y,Float:Z;
    GetPlayerPos(playerid,Float:X,Float:Y,Float:Z);
    for(new i=0;i<MAX_HOUSES;i++)
    {
    if(!IsPlayerInRangeOfPoint(playerid,2,HausInfo[i][hIconX],HausInfo[i][hIconY],HausInfo[i][hIconZ])) return SendClientMessage(playerid,COLOR_BLASSRED,"Hier kannst du kein Haus kaufen, du musst dich vor einem Haus stellen.");
    if(!HausInfo[i][Verkauft]) return SendClientMessage(playerid,COLOR_BLASSRED,"Das Haus ist schon verkauft.");
    if(GetPlayerMoney(playerid) <= HausInfo[i][hKaufpreis]) return SendClientMessage(playerid,COLOR_BLASSRED,"Du hast nicht genug Geld um dir dieses Haus zu kaufen.");
    if(GetPlayerScore(playerid) <= 3) return SendClientMessage(playerid,COLOR_BLASSRED,"Du benötigt mindestens Level 3 um dir ein eigenes Haus zu kaufen.");
    if(SpielerInfo[playerid][pHaus] != 1) return SendClientMessage(playerid,COLOR_BLASSRED,"Du besitzt schon ein eigenes Haus, bitte verkaufe es vorher. [Befehle: /befehle]");
    HausInfo[i][Verkauft] = 1;
    format(query, sizeof(query), "UPDATE `Houses` SET `VarBesitzer`='%d' AND `Besitzer`='%s' WHERE `HausID` = '%d'",HausInfo[i][Verkauft], PlayerName[playerid],HausInfo[i][HausDB]);
    mysql_query(query);
    format(query, sizeof(query), "UPDATE `Accounts` SET `Haus`='1' WHERE `Benutzername` = '%s'",PlayerName[playerid]);
    mysql_query(query);
    format(string,sizeof(string),"Du hast dir ein Haus für {FFCC00}$%d{FFFFFF} gekauft. Hausnummer |%d|",HausInfo[i][hKaufpreis],HausInfo[i][HausDB]);
    SendClientMessage(playerid,COLOR_WHITE,string);
    SendClientMessage(playerid,COLOR_WHITE,"Neue Befehle verfügbar [/befehle]");
    Delete3DTextLabel(HausLabel[i]);
    format(string2,sizeof(string2),"--== Verkauftes Haus ==--\nBesitzer: {FFCC00}%s{FFFFFF}",HausInfo[playerid][hBesitzer]);
    HausLabel[i] = Create3DTextLabel(string2,COLOR_WHITE,HausInfo[i][hIconX],HausInfo[i][hIconY],HausInfo[i][hIconZ],15,0,1);
    Update3DTextLabelText(HausLabel[i],COLOR_WHITE,string2);
    GivePlayerMoney(playerid,-HausInfo[i][hKaufpreis]);
    return 1;
    }
    return 1;
    }

    jop, und jetzt machst du bei ocmd:kaufen die variable auf 1 und ersetzt das halt wie in meinem vorherigen post.
    Dann haust du die abfrage unter if(!IsPlayerInRangeOfPoint...

    if(!HausInfo[i][Verkauft]) return SendClientMessage(playerid,COLOR_BLASSRED,"Das Haus ist schon verkauft.");

    VarBesitzer ist ja keine Variable, erstell einfach ne Variable oben. die setzt du bei ocmd:kaufen auf 1 und dann statt beim abspeichern
    format(query, sizeof(query), "UPDATE `Houses` SET `VarBesitzer`='1' AND `Besitzer`='%s' WHERE `HausID` = '%d'",PlayerName[playerid],HausInfo[i][HausDB]);
    das zu machen, machst du das:
    format(query, sizeof(query), "UPDATE `Houses` SET `VarBesitzer`='%d' AND `Besitzer`='%s' WHERE `HausID` = '%d'",HausInfo[i][Verkauft],PlayerName[playerid],HausInfo[i][HausDB]);

    oh, wenn das jetzt nicht funktioniert, dann weis ich au nimmer :D

    ocmd:kaufen(playerid,params[])
    {
    new query[1000], string[300], string2[500];
    new Float:X,Float:Y,Float:Z;
    GetPlayerPos(playerid,Float:X,Float:Y,Float:Z);
    for(new i=0;i<MAX_HOUSES;i++)
    {
    if(!IsPlayerInRangeOfPoint(playerid,2,HausInfo[i][hIconX],HausInfo[i][hIconY],HausInfo[i][hIconZ])) return SendClientMessage(playerid,COLOR_BLASSRED,"Hier kannst du kein Haus kaufen, du musst dich vor einem Haus stellen.");
    if(GetPlayerMoney(playerid) <= HausInfo[i][hKaufpreis]) return SendClientMessage(playerid,COLOR_BLASSRED,"Du hast nicht genug Geld um dir dieses Haus zu kaufen.");
    if(GetPlayerScore(playerid) <= 3) return SendClientMessage(playerid,COLOR_BLASSRED,"Du benötigt mindestens Level 3 um dir ein eigenes Haus zu kaufen.");
    if(SpielerInfo[playerid][pHaus] != 1) return SendClientMessage(playerid,COLOR_BLASSRED,"Du besitzt schon ein eigenes Haus, bitte verkaufe es vorher. [Befehle: /befehle]");
    format(query, sizeof(query), "UPDATE `Houses` SET `VarBesitzer`='1' AND `Besitzer`='%s' WHERE `HausID` = '%d'",PlayerName[playerid],HausInfo[i][HausDB]);
    mysql_query(query);
    format(query, sizeof(query), "UPDATE `Accounts` SET `Haus`='1' WHERE `Benutzername` = '%s'",PlayerName[playerid]);
    mysql_query(query);
    format(string,sizeof(string),"Du hast dir ein Haus für {FFCC00}$%d{FFFFFF} gekauft. Hausnummer |%d|",HausInfo[i][hKaufpreis],HausInfo[i][HausDB]);
    SendClientMessage(playerid,COLOR_WHITE,string);
    SendClientMessage(playerid,COLOR_WHITE,"Neue Befehle verfügbar [/befehle]");
    Delete3DTextLabel(HausLabel[i]);
    format(string2,sizeof(string2),"--== Verkauftes Haus ==--\nBesitzer: {FFCC00}%s{FFFFFF}",HausInfo[playerid][hBesitzer]);
    HausLabel[i] = Create3DTextLabel(string2,COLOR_WHITE,HausInfo[i][hIconX],HausInfo[i][hIconY],HausInfo[i][hIconZ],15,0,1);
    Update3DTextLabelText(HausLabel[i],COLOR_WHITE,string2);
    GivePlayerMoney(playerid,-HausInfo[i][hKaufpreis]);
    return 1;
    }
    return 1;
    }

    hm, scheint eigentlich alles richtig zu sein, wie erstellst du denn ein haus?


    //edit: so ist es übersichtlicher und sollte jetzt klappen:

    ocmd:kaufen(playerid,params[])
    {
    new query[1000], string[300], string2[500];
    new Float:X,Float:Y,Float:Z;
    GetPlayerPos(playerid,Float:X,Float:Y,Float:Z);
    for(new i=0;i<MAX_HOUSES;i++)
    {
    if(IsPlayerInRangeOfPoint(playerid,2,HausInfo[i][hIconX],HausInfo[i][hIconY],HausInfo[i][hIconZ])) return SendClientMessage(playerid,COLOR_BLASSRED,"Hier kannst du kein Haus kaufen, du musst dich vor einem Haus stellen.");
    if(GetPlayerMoney(playerid) > HausInfo[i][hKaufpreis]) return SendClientMessage(playerid,COLOR_BLASSRED,"Du hast nicht genug Geld um dir dieses Haus zu kaufen.");
    if(GetPlayerScore(playerid) > 3) return SendClientMessage(playerid,COLOR_BLASSRED,"Du benötigt mindestens Level 3 um dir ein eigenes Haus zu kaufen.");
    if(SpielerInfo[playerid][pHaus] != 1) return SendClientMessage(playerid,COLOR_BLASSRED,"Du besitzt schon ein eigenes Haus, bitte verkaufe es vorher. [Befehle: /befehle]");
    format(query, sizeof(query), "UPDATE `Houses` SET `VarBesitzer`='1' AND `Besitzer`='%s' WHERE `HausID` = '%d'",PlayerName[playerid],HausInfo[i][HausDB]);
    mysql_query(query);
    format(query, sizeof(query), "UPDATE `Accounts` SET `Haus`='1' WHERE `Benutzername` = '%s'",PlayerName[playerid]);
    mysql_query(query);
    format(string,sizeof(string),"Du hast dir ein Haus für {FFCC00}$%d{FFFFFF} gekauft. Hausnummer |%d|",HausInfo[i][hKaufpreis],HausInfo[i][HausDB]);
    SendClientMessage(playerid,COLOR_WHITE,string);
    SendClientMessage(playerid,COLOR_WHITE,"Neue Befehle verfügbar [/befehle]");
    Delete3DTextLabel(HausLabel[i]);
    format(string2,sizeof(string2),"--== Verkauftes Haus ==--\nBesitzer: {FFCC00}%s{FFFFFF}",HausInfo[playerid][hBesitzer]);
    HausLabel[i] = Create3DTextLabel(string2,COLOR_WHITE,HausInfo[i][hIconX],HausInfo[i][hIconY],HausInfo[i][hIconZ],15,0,1);
    Update3DTextLabelText(HausLabel[i],COLOR_WHITE,string2);
    GivePlayerMoney(playerid,-HausInfo[i][hKaufpreis]);
    return 1;
    }
    return 1;
    }


    SetTimerEx("beantragt",1500,1,"i",playerid); // 1500 als Test
    //STRUKTUR: NAME DES TIMER, ZEIT, WIEDERHOLUNG DES TIMERS, PARAMETER, PLAYERID ETC.

    Du hast die Wiederholung des Timers auf true(1) gesetzt, also wiederholt sich der timer alle 1,5 sekunden.
    mach die true(1) zu false(0) und das Problem ist gegessen.


    mfg :thumbup: