how to make accept cmd rep +++
#1

Well, i had made cmd to sale house to other player, but I want to make with accepting
Well like this
Player 1: /sellhouse player2 houseid price
Player 2: /acceptsell player1

I was searching for that, but I can't found any plugin, fs...
Can anyone help me
Reply
#2

If you show me the command you made to sell the house then I can use that to make your accept command for you
Reply
#3

Example :

pawn Код:
#define INVALID_HOUSE_ID    (-1)

new HouseOffer[MAX_PLAYERS] = INVALID_PLAYER_ID;
new HousePrice[MAX_PLAYERS] = 0;
new HouseID[MAX_PLAYERS] = INVALID_HOUSE_ID;
new RequestTime[MAX_PLAYERS];

forward CancelOffer(playerid);
public CancelOffer(playerid)
{
    if(HouseOffer[playerid] != INVALID_PLAYER_ID)
    {
        SendClientMessage(playerid, -1, "* Request cancel");
        SendClientMessage(HouseOffer[playerid], -1, "* Request cancel");
        HouseOffer[playerid] = INVALID_PLAYER_ID;
        HousePrice[playerid] = 0;
        HouseID[playerid] = INVALID_HOUSE_ID;
    }
   
}

CMD:sellhouse(playerid, params[])
{
    new string[128],
        playername[MAX_PLAYER_NAME],
        targetname[MAX_PLAYER_NAME],
        giveplayerid,
        houseid,
        price;
       
    if(sscanf(params, "udd", giveplayerid, houseid, price))
    {
        return SendClientMessage(playerid, -1, "[!] USAGE: /sellhouse [player] [house id] [price]");
    }
    if(!IsPlayerConnected(giveplayerid))
    {
        return SendClientMessage(playerid, -1, "[!] Player is currently not connected to the server.");
    }
    if(playerid == giveplayerid)
    {
        return SendClientMessage(playerid, -1, "[!] You can't offer yourself");
    }
    if(price <= 0)
    {
        return SendClientMessage(playerid, -1, "[!] Price must be higher than 0.");
    }
   
    GetPlayerName(playerid, playername, sizeof(playername));
    GetPlayerName(giveplayerid, targetname, sizeof(targetname));
   
    if(HouseInfo[houseid][hOwned] == 1 && strcmp(HouseInfo[houseid][hOwner], playername, true))
    {
        HouseOffer[giveplayerid] = playerid;
        HousePrice[giveplayerid] = price;
        HouseID[giveplayerid] = houseid;
       
        format(string, sizeof(string), "* You offered %s to buy your house for $%d.", targetname, price);
        SendClientMessage(playerid, -1, string);
        SendClientMessage(playerid, -1, "* Request will be discarded if don't have any response in 30 secs");
       
        format(string, sizeof(string), "* %s has offered you their house for $%d, (type /acceptsell) to buy.", playername, price, playerid);
        SendClientMessage(giveplayerid, -1, string);
        SendClientMessage(giveplayerid, -1, "* Request will be discarded if don't have any response in 30 secs");
       
        RequestTime[giveplayerid] = SetTimerEx("CancelOffer", DISCARD_TIME, false, "d", giveplayerid);
    }
    else
    {
        SendClientMessage(playerid, -1, "You not own that house");
    }
    return 1;
   
}
CMD:acceptsell(playerid, params[])
{
    new sellername[MAX_PLAYER_NAME],
        playername[MAX_PLAYER_NAME],
        houseid = HouseID[playerid],
        seller = HouseOffer[playerid],
        price = HousePrice[playerid];

    if(seller == INVALID_PLAYER_ID)
    {
        return SendClientMessage(playerid, -1, "[!] No one has offered you buy their house.");
    }
    if(!IsPlayerConnected(seller))
    {
        return SendClientMessage(playerid, -1, "[!] Player is currently not connected to the server.");
    }
    if(houseid == INVALID_HOUSE_ID)
    {
        return SendClientMessage(playerid, -1, "[!] Invalid house.");
    }
    if(GetPlayerMoney(playerid) < price)
    {
        return SendClientMessage(playerid, -1, "[!] You don't have enough money to buy this house .");
    }
   
    GetPlayerName(seller, sellername, sizeof(sellername));
   
    if(HouseInfo[houseid][hOwned] == 1 && strcmp(HouseInfo[houseid][hOwner], sellername, true))
    {  
        KillTimer(RequestTime[playerid]);
        GetPlayerName(playerid, playername, sizeof(playername));
        format(HouseInfo[houseid][hOwner], MAX_PLAYER_NAME, playername);
        GivePlayerMoney(playerid, - price);
        GivePlayerMoney(seller, price);

        HouseOffer[playerid] = INVALID_PLAYER_ID;
        HousePrice[playerid] = 0;
        HouseID[playerid] = INVALID_HOUSE_ID;

        SendClientMessage(playerid, -1, "[BUY] Successful ");
        SendClientMessage(seller, -1, "[SELL] Successful ");
       
    }
   
   
    return 1;
   
}
Reply
#4

Quote:
Originally Posted by rickisme
Посмотреть сообщение
Example :
Thanks a lot!
repped +
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)