Hilfe bei /hausverkaufenan

  • Hilfe bei /hausverkaufenan

    Hallo Community,

    mein /hausverkaufenan

    geht irgendwie nicht ich kann nicht /Ja oder /nein schreiben es passiert nichts und es wird nicht so richtig übertragen...

    Code:

    [pwn]dcmd_hausverkaufenan(playerid,params[])
    {
    new Kaufer,Preis;
    if(sscanf(params,"ud",Kaufer,Preis))
    {
    SendClientMessage(playerid,COLOR_WHITE,"Benutze: /hausverkaufenan [Käufer][Preis]");
    }
    else if(Kaufer == INVALID_PLAYER_ID)
    {
    SendClientMessage(playerid,COLOR_RED,"Den Käufer gibt es nicht");
    }
    else if(Preis >= 3000000)
    {
    SendClientMessage(playerid,COLOR_RED,"Der Preis darf mindestens 3000000€ betragen!");
    }
    else if(strcmp(HausInfo[PlayerInfo[playerid][pHatHaus]][Hausbesitzer],pname,false) == 0)
    {
    SendClientMessage(playerid,COLOR_RED,"Dem Verkäufer gehört kein Haus");
    }
    else if(strcmp(HausInfo[PlayerInfo[Kaufer][pmietet]][Hausbesitzer],pname,true) == 0)
    {
    SendClientMessage(playerid,COLOR_RED,"Der Käufer hat bereits ein Haus.");
    }
    else
    {
    new name2[32],name1[32];
    HausAngebot[playerid] = PlayerInfo[playerid][pmietet];
    HausAngebot[Kaufer] = PlayerInfo[playerid][pmietet];
    HausAngebotPreis[Kaufer] = Preis;
    GetPlayerName(playerid,pname,sizeof(pname));
    GetPlayerName(Kaufer,name2,sizeof(name2));
    format(str,sizeof(str),"Spieler %s hat dir ein Haus für: %d€ angeboten!",pname,Preis);
    SendClientMessage(Kaufer,COLOR_YELLOW,str);
    SendClientMessage(Kaufer,COLOR_GREEN,"Um das Angebot anzunehmen, Tippe: /ja");
    SendClientMessage(Kaufer,COLOR_RED,"Um das Angebot abzulehnen, Tippe: /nein");

    format(str,sizeof(str),"Du hast Spieler %s dein Haus für %d€ Angeboten!",name2,Preis);
    SendClientMessage(playerid,COLOR_YELLOW,str);
    SendClientMessage(Kaufer,COLOR_GREEN,"Um das Angebot anzunehmen, Tippe: /ja");
    SendClientMessage(Kaufer,COLOR_RED,"Um das Angebot abzulehnen, Tippe: /nein");

    Hausangebotangenommen[Kaufer] = 0;
    Hausangebotangenommen[playerid] = 0;
    Hausmakler[Kaufer] = playerid;

    Hausverkaufer[Kaufer] = playerid;
    Hauskaufer[playerid] = Kaufer;
    return 1;
    }
    return 1;
    }
    dcmd_ja(playerid,params[])
    {
    #pragma unused params
    if(HausAngebot[playerid] != 0)
    {
    if(Hausangebotangenommen[playerid] == 0)
    {
    if(HausAngebot[playerid] != PlayerInfo[playerid][pmietet])
    {
    if(GetPlayerMoney(playerid >= HausAngebotPreis[playerid]))
    {
    Hausangebotangenommen[playerid] = 1;
    if(Hausangebotangenommen[Hausverkaufer[playerid]] == 1) //Haus wird übertragen
    {
    GivePlayerMoney(playerid,-HausAngebotPreis[playerid]);
    GivePlayerMoney(Hausverkaufer[playerid], HausAngebotPreis[playerid]);



    Hausmakler[playerid] = -1;

    GetPlayerName(playerid,pname,sizeof(pname));
    format(Datei,sizeof(Datei),"/Haus/%d.ini",HausAngebot[playerid]);
    dini_Set(Datei,"Hausbesitzer",pname);

    PlayerInfo[playerid][pmietet] = HausAngebot[playerid];
    PlayerInfo[Hausverkaufer[playerid]][pmietet] = 0;

    format(str,sizeof(str),"Du hast ein Haus für %d€ gekauft.",HausAngebotPreis[playerid]);
    SendClientMessage(Hausverkaufer[playerid],COLOR_GREEN,str);

    GetPlayerName(Hauskaufer[playerid],pname,sizeof(pname));
    format(str,sizeof(str),"%s hat dein Haus für %d€ gekauft.",pname,HausAngebotPreis[playerid]);
    SendClientMessage(playerid,COLOR_GREEN,str);

    HausAngebot[playerid] = 0;
    HausAngebot[Hausverkaufer[playerid]] = 0;
    HausAngebotPreis[playerid] = 0;
    Hausangebotangenommen[playerid] = 0;
    Hausangebotangenommen[Hausverkaufer[playerid]] = 0;
    Hausspeichern(AnHaus[playerid]);
    Hausaktu[AnHaus[playerid]] = 1;
    Hausladen(AnHaus[playerid]);
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid,COLOR_RED,"Du hast nicht genügend Geld.");
    }
    return 1;
    }
    else
    {
    Hausangebotangenommen[playerid] = 1;
    if(Hausangebotangenommen[Hauskaufer[playerid]] == 1) //Haus wird übertragen
    {
    GivePlayerMoney(playerid,-HausAngebotPreis[playerid]);
    GivePlayerMoney(Hauskaufer[playerid], HausAngebotPreis[playerid]);

    Hausmakler[playerid] = -1;

    GetPlayerName(Hauskaufer[playerid],pname,sizeof(pname));
    format(Datei,sizeof(Datei),"/Haus/%d.ini",HausAngebot[playerid]);
    dini_Set(Datei,"Hausbesitzer",pname);

    PlayerInfo[Hauskaufer[playerid]][pmietet] = HausAngebot[playerid];
    PlayerInfo[playerid][pmietet] = 0;

    format(str,sizeof(str),"Du hast ein Haus für %d€ gekauft.",HausAngebotPreis[playerid]);
    SendClientMessage(Hausverkaufer[playerid],COLOR_GREEN,str);

    GetPlayerName(Hauskaufer[playerid],pname,sizeof(pname));
    format(str,sizeof(str),"%s hat dein Haus für %d€ gekauft.",pname,HausAngebotPreis[playerid]);
    SendClientMessage(playerid,COLOR_GREEN,str);

    HausAngebot[playerid] = 0;
    HausAngebot[Hauskaufer[playerid]] = 0;
    HausAngebotPreis[playerid] = 0;
    Hausangebotangenommen[playerid] = 0;
    Hausangebotangenommen[Hauskaufer[playerid]] = 0;
    Hausspeichern(AnHaus[playerid]);
    Hausaktu[AnHaus[playerid]] = 1;
    Hausladen(AnHaus[playerid]);
    return 1;
    }
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid,COLOR_RED,"Du hast das Angebot bereits angenommen");
    }
    }
    return 1;
    }
    dcmd_nein(playerid,params[])
    {
    #pragma unused params
    if(HausAngebot[playerid] != 0)
    {
    if(Hausangebotangenommen[playerid] == 0)
    {
    if(HausAngebot[playerid] != PlayerInfo[playerid][pmietet])
    {
    HausAngebot[playerid] = 0;
    if(HausAngebot[Hausverkaufer[playerid]] == 0)
    {
    format(str,sizeof(str),"Du hast das Angebot abgelehnt");
    SendClientMessage(playerid,COLOR_RED,str);

    GetPlayerName(playerid,pname,sizeof(pname));
    format(str,sizeof(str),"%s hat dein Angebot abgelehnt.",pname);
    SendClientMessage(Hausverkaufer[playerid],COLOR_RED,str);


    new name[32];
    GetPlayerName(playerid,pname,sizeof(pname));
    GetPlayerName(Hausverkaufer[playerid],pname,sizeof(pname));
    format(str,sizeof(str),"%s hat das Angebot von %s abgelehnt",pname,name);
    SendClientMessage(Hausmakler[playerid],COLOR_RED,str);

    Hausmakler[playerid] = -1;

    HausAngebotPreis[playerid] = 0;
    Hausangebotangenommen[playerid] = 0;
    }
    }
    else
    {
    HausAngebot[playerid] = 0;
    if(HausAngebot[Hauskaufer[playerid]] == 0)
    {
    format(str,sizeof(str),"Du hast das Angebot abgelehnt");
    SendClientMessage(playerid,COLOR_RED,str);

    GetPlayerName(playerid,pname,sizeof(pname));
    format(str,sizeof(str),"%s hat das Angebot abgelehnt.",pname);
    SendClientMessage(Hauskaufer[playerid],COLOR_RED,str);


    new name[32];
    GetPlayerName(playerid,pname,sizeof(pname));
    GetPlayerName(Hausverkaufer[playerid],pname,sizeof(pname));
    format(str,sizeof(str),"%s hat das Angebot %s abgelehnt",pname,name);
    SendClientMessage(Hausmakler[Hauskaufer[playerid]],COLOR_RED,str);

    Hausmakler[Hauskaufer[playerid]] = -1;

    HausAngebotPreis[Hauskaufer[playerid]] = 0;
    Hausangebotangenommen[playerid] = 0;
    }
    }
    }
    else
    {
    SendClientMessage(playerid,COLOR_RED,"Du hast das Angebot bereits angenommen");
    }
    }
    return 1;
    Hoffe es kann mir einer helfen

    LG
    }[/pwn]
  • Darauf war ich auch gar nicht aus.
    Ich hab dir das mal "schick gemacht", und probiere mal ein paar print's/printf's zu platzieren. :)

    [pwn]dcmd_hausverkaufenan(playerid,params[])
    {
    new Kaufer,
    Preis;
    if(sscanf(params,"ud",Kaufer,Preis))
    return SendClientMessage(playerid,COLOR_WHITE,"Benutze: /hausverkaufenan [Käufer][Preis]");
    if(Kaufer == INVALID_PLAYER_ID)
    return SendClientMessage(playerid,COLOR_RED,"Den Käufer gibt es nicht");
    if(Preis >= 3000000)
    return SendClientMessage(playerid,COLOR_RED,"Der Preis darf mindestens 3000000€ betragen!");
    if(strcmp(HausInfo[PlayerInfo[playerid][pHatHaus]][Hausbesitzer],pname,false) == 0)
    return SendClientMessage(playerid,COLOR_RED,"Dem Verkäufer gehört kein Haus");
    if(strcmp(HausInfo[PlayerInfo[Kaufer][pmietet]][Hausbesitzer],pname,true) == 0)
    return SendClientMessage(playerid,COLOR_RED,"Der Käufer hat bereits ein Haus.");
    new name2[32],name1[32];
    HausAngebot[playerid] = PlayerInfo[playerid][pmietet];
    HausAngebot[Kaufer] = PlayerInfo[playerid][pmietet];
    HausAngebotPreis[Kaufer] = Preis;
    GetPlayerName(playerid,pname,sizeof(pname));
    GetPlayerName(Kaufer,name2,sizeof(name2));
    format(str,sizeof(str),"Spieler %s hat dir ein Haus für: %d€ angeboten!",pname,Preis);
    SendClientMessage(Kaufer,COLOR_YELLOW,str);
    SendClientMessage(Kaufer,COLOR_GREEN,"Um das Angebot anzunehmen, Tippe: /ja");
    SendClientMessage(Kaufer,COLOR_RED,"Um das Angebot abzulehnen, Tippe: /nein");
    format(str,sizeof(str),"Du hast Spieler %s dein Haus für %d€ Angeboten!",name2,Preis);
    SendClientMessage(playerid,COLOR_YELLOW,str);
    SendClientMessage(Kaufer,COLOR_GREEN,"Um das Angebot anzunehmen, Tippe: /ja");
    SendClientMessage(Kaufer,COLOR_RED,"Um das Angebot abzulehnen, Tippe: /nein");
    Hausangebotangenommen[Kaufer] = 0;
    Hausangebotangenommen[playerid] = 0;
    Hausmakler[Kaufer] = playerid;
    Hausverkaufer[Kaufer] = playerid;
    Hauskaufer[playerid] = Kaufer;
    return 1;
    }

    dcmd_ja(playerid,params[])
    {
    #pragma unused params
    if(HausAngebot[playerid] == 0)
    return SendClientMessage(playerid,COLOR_WHITE, "");
    if(Hausangebotangenommen[playerid] == 1)
    return SendClientMessage(playerid,COLOR_WHITE, "");
    if(HausAngebot[playerid] == PlayerInfo[playerid][pmietet])
    return SendClientMessage(playerid,COLOR_WHITE, "");
    if(GetPlayerMoney(playerid < HausAngebotPreis[playerid]))
    return SendClientMessage(playerid,COLOR_WHITE, "");
    Hausangebotangenommen[playerid] = 1;
    if(Hausangebotangenommen[Hausverkaufer[playerid]] == 1) //Haus wird übertragen
    GivePlayerMoney(playerid,-HausAngebotPreis[playerid]);
    GivePlayerMoney(Hausverkaufer[playerid], HausAngebotPreis[playerid]);
    Hausmakler[playerid] = -1;
    GetPlayerName(playerid,pname,sizeof(pname));
    format(Datei,sizeof(Datei),"/Haus/%d.ini",HausAngebot[playerid]);
    dini_Set(Datei,"Hausbesitzer",pname);
    PlayerInfo[playerid][pmietet] = HausAngebot[playerid];
    PlayerInfo[Hausverkaufer[playerid]][pmietet] = 0;
    format(str,sizeof(str),"Du hast ein Haus für %d€ gekauft.",HausAngebotPreis[playerid]);
    SendClientMessage(Hausverkaufer[playerid],COLOR_GREEN,str);
    GetPlayerName(Hauskaufer[playerid],pname,sizeof(pname));
    format(str,sizeof(str),"%s hat dein Haus für %d€ gekauft.",pname,HausAngebotPreis[playerid]);
    SendClientMessage(playerid,COLOR_GREEN,str);
    HausAngebot[playerid] = 0;
    HausAngebot[Hausverkaufer[playerid]] = 0;
    HausAngebotPreis[playerid] = 0;
    Hausangebotangenommen[playerid] = 0;
    Hausangebotangenommen[Hausverkaufer[playerid]] = 0;
    Hausspeichern(AnHaus[playerid]);
    Hausaktu[AnHaus[playerid]] = 1;
    Hausladen(AnHaus[playerid]);
    }
    return 1;
    }[/pwn]
  • Du solltest das auch anpassen:
    [pwn]if(HausAngebot[playerid] == 0)
    return SendClientMessage(playerid,COLOR_WHITE, "");
    if(Hausangebotangenommen[playerid] == 1)
    return SendClientMessage(playerid,COLOR_WHITE, "");
    if(HausAngebot[playerid] == PlayerInfo[playerid][pmietet])
    return SendClientMessage(playerid,COLOR_WHITE, "");
    if(GetPlayerMoney(playerid < HausAngebotPreis[playerid]))
    return SendClientMessage(playerid,COLOR_WHITE, "");[/pwn]
  • Ok wenn ich es mir nun übertrage steht drann ich besitze kein haus z.B:

    [pwn]dcmd_mietpreis(playerid,params[])
    {
    new Zahl;
    if(sscanf(params,"d",Zahl))
    {
    SendClientMessage(playerid,COLOR_WHITE,"Benutze: /mietpreis [Wert]");
    }
    else if(Zahl < 50 || Zahl > 2500)
    {
    SendClientMessage(playerid,COLOR_WHITE,"Benutze: /mietpreis [50-250]");
    }
    else
    {
    if(PlayerInfo[playerid][pmietet] > 0)
    {
    new x = PlayerInfo[playerid][pmietet];
    GetPlayerName(playerid,pname,sizeof(pname));
    if(strcmp(HausInfo[x][Hausbesitzer],pname,true) == 0)
    {
    HausInfo[x][Hausmietpreis] = Zahl;
    Hausspeichern(x);
    Hausaktual();
    Hausaktu[x] = 1;
    SendClientMessage(playerid,COLOR_YELLOW,"Du hast den Mietpreis geändert!");
    }
    else
    {
    SendClientMessage(playerid,COLOR_WHITE,"Du besitzt kein Haus");
    }
    return 1;
    }
    else
    {
    SendClientMessage(playerid,COLOR_WHITE,"Du besitzt kein Haus");
    }
    return 1;
    }
    return 1;
    }[/pwn]