13.11.2015, 09:52
PHP код:
CMD:sellbiz(playerid, params[])
{
new playername[MAX_PLAYER_NAME];
GetPlayerName(playerid, playername, sizeof(playername));
if(!PlayerInfo[playerid][pBusiness1]) return SendClientMessage(playerid, COLOR_GREY, "You don't own a business.");
new string[128], giveplayerid, price;
new done;
if(sscanf(params, "ud", giveplayerid, price)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /sellbiz [playerid/partofname] [price]");
if(price < 1) return SendClientMessage(playerid, COLOR_GREY, "Price must be higher than 0.");
if(!IsPlayerConnected(giveplayerid)) return SendClientMessage(playerid, COLOR_GREY, "Player is currently not connected to the server.");
if(PlayerInfo[giveplayerid][pBusiness1] != INVALID_BIZ_ID && strcmp(GetPlayerNameEx(playerid), BizInfo[PlayerInfo[giveplayerid][pBusiness1]][bOwner], true) == 0)
{
SendClientMessage(playerid, COLOR_GREY, "They already own a biz.");
return 1;
}
if(IsPlayerInRangeOfPoint(playerid, 3, BizInfo[PlayerInfo[playerid][pBusiness1]][bX], BizInfo[PlayerInfo[playerid][pBusiness1]][bY], BizInfo[PlayerInfo[playerid][pBusiness1]][bZ]))
{
if(ProxDetectorS(8.0, playerid, giveplayerid))
{
if(GetPVarInt(playerid, "SellMyTimer") > 0)
{
format(string, sizeof(string), "You must wait %d seconds before offering a sale again.", GetPVarInt(playerid, "SellMyTimer"));
SendClientMessage(playerid,COLOR_GREY,string);
return 1;
}
bBizOffer[giveplayerid] = playerid;
bBizPrice[giveplayerid] = price;
bBiz[giveplayerid] = 1;
format(string, sizeof(string), "* You offered %s to buy your business for $%d.", GetPlayerNameEx(giveplayerid), price);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
format(string, sizeof(string), "* %s has offered you their business for $%d, (type /accept business) to buy.", GetPlayerNameEx(playerid), price);
SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
SetPVarInt(playerid, "SellMyTimer", 30); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_SELLMYTIMER);
done = 1;
return 1;
}
else
{
SendClientMessage(playerid, COLOR_GREY, "That player is not near you.");
}
}
if(!done)
{
SendClientMessage(playerid, COLOR_GREY, "You are not near your business.");
return 1;
}
return 1;
}
PHP код:
if(strcmp(params,"business",true) == 0) {
if(bBizOffer[playerid] < 999) {
if(IsPlayerConnected(bBizOffer[playerid]))
{
if(PlayerInfo[bBizOffer[playerid]][pBusiness1] == INVALID_BIZ_ID)
{
SendClientMessage(playerid, COLOR_WHITE, "They don't own that business.");
return 1;
}
if(GetPlayerCash(playerid) > bBizPrice[playerid])
{
new business;
if(bBiz[playerid] == 1) business = PlayerInfo[bBizOffer[playerid]][pBusiness1];
else return SendClientMessage(playerid, COLOR_RED, "Error: No Business specified");
BizInfo[business][bStatus] = 0;
format(BizInfo[business][bOwner], 128, "Nobody");
sendername = GetPlayerNameEx(bBizOffer[playerid]);
PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
format(string, sizeof(string), "~w~Congratulations~n~ You have sold your property for ~n~~g~$%d", bBizPrice[playerid]);
GameTextForPlayer(bBizOffer[playerid], string, 4000, 3);
if(bBiz[playerid] == 1) PlayerInfo[bBizOffer[playerid]][pBusiness1] = INVALID_BIZ_ID;
SaveBiz();
OnPlayerStatsUpdate(bBizOffer[playerid]);
DestroyPickup(BizInfo[business][bPickup]);
BizInfo[business][bPickup] = CreatePickup(1272, 23, BizInfo[business][bX], BizInfo[business][bY], BizInfo[business][bZ], -1);
GivePlayerCash(bBizOffer[playerid],bBizPrice[playerid]);
PlayerInfo[playerid][pBusiness1] = business;
BizInfo[business][bOwned] = 1;
GetPlayerName(playerid, sendername, sizeof(sendername));
strmid(BizInfo[business][bOwner], sendername, 0, strlen(sendername), 255);
GivePlayerCash(playerid,-bBizPrice[playerid]);
SendClientMessage(playerid, COLOR_WHITE, "Congratulations on your new purchase!");
SendClientMessage(playerid, COLOR_WHITE, "Type /bizhelp to review the property help section!");
SaveBiz();
OnPlayerStatsUpdate(playerid);
DestroyPickup(BizInfo[business][bPickup]);
BizInfo[business][bPickup] = CreatePickup(1272, 23, BizInfo[business][bX], BizInfo[business][bY], BizInfo[business][bZ], -1);
format(string, sizeof(string), "[%s]\nOwner: %s\n\n Level: %d",BizInfo[business][bDescription], BizInfo[business][bOwner], BizInfo[business][bLevel]);
//format(string, sizeof(string), "%s\n\n%s\n%s\nEntrance: %d\n\nOwner: %s\n\n ID: %d",RBS(business),BizInfo[business][bDescription],RBT(business),BizInfo[business][bBizFee],BizInfo[business][bOwner], business);
UpdateDynamic3DTextLabelText(BizInfo[business][bText], COLOR_WHITE, string);
new ip[32], ipex[32];
GetPlayerIp(bBizOffer[playerid],ip,sizeof(ip));
GetPlayerIp(playerid,ipex,sizeof(ipex));
format(string,sizeof(string),"%s (IP: %s) has sold their business (ID %d) to %s (IP: %s) for $%d.",GetPlayerNameEx(bBizOffer[playerid]),ip,business,GetPlayerNameEx(playerid),ipex,bBizPrice[playerid]);
Log("logs/biz.log", string);
bBizOffer[playerid] = 999;
bBizPrice[playerid] = 0;
bBiz[playerid] = 0;
}
else {
SendClientMessage(playerid, COLOR_GREY, " You can't afford the business!");
bBizOffer[playerid] = 999;
bBizPrice[playerid] = 0;
bBiz[playerid] = 0;
return 1;
}
}
return 1;
}
else {
SendClientMessage(playerid, COLOR_GREY, " Nobody offered to buy a business!");
return 1;
}
}