/accept business -
MayaEU - 12.11.2015
Hi, when i sell the business and they /accept business, something goes wrong, they dont get the businesskey.
What is wrong?
pawn Код:
if(strcmp(cmd, "/sellbiz", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(PlayerInfo[playerid][pPbiskey] == 255)
{
SendClientMessage(playerid, COLOR_WHITE, "You do not own a business.");
return 1;
}
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_WHITE, "{F7FF61}Usage:"COL_WHITE" /sellbiz [playerid/PartOfName] [price]");
return 1;
}
new money;
giveplayerid = ReturnUser(tmp);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_WHITE, "{F7FF61}Usage:"COL_WHITE" /sellbiz [playerid/PartOfName] [price]");
return 1;
}
money = strval(tmp);
if(money < 2000 || money > 10000000) { SendClientMessage(playerid, COLOR_GREY, " Price can't be lower than $2000, or above $10,000,000 !"); return 1; }
if(IsPlayerConnected(giveplayerid))
{
if(giveplayerid != INVALID_PLAYER_ID)
{
if(ProxDetectorS(8.0, playerid, giveplayerid))
{
//if(giveplayerid == playerid) { SendClientMessage(playerid, COLOR_GREY, " You can't offer yourself your own business !"); return 1; }
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "* You offered your business to %s for $%d.", giveplayer, money);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
format(string, sizeof(string), "* %s wants to sell you their business for $%d, (type /accept business) to accept.", sendername, money);
SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
BizOffer[giveplayerid] = playerid;
BizPrice[giveplayerid] = money;
}
else
{
SendClientMessage(playerid, COLOR_GREY, " That player is not near you !");
}
}
}
else
{
SendClientMessage(playerid, COLOR_GREY, " That player is Offline !");
}
}
return 1;
}
The /accept business command
pawn Код:
else if(strcmp(x_job,"business",true) == 0)
{
if(BizOffer[playerid] < 999)
{
if(PlayerInfo[playerid][pCash] > BizPrice[playerid])
{
if(IsPlayerConnected(BizOffer[playerid]))
{
if(ProxDetectorS(3.0, playerid, BizOffer[playerid]))
{
for(new i = 0; i < sizeof(BizzInfo); i++)
{
GetPlayerName(GuardOffer[playerid], giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "* You accepted the Business for $%d from %s.",BizPrice[playerid],giveplayer);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
format(string, sizeof(string), "* %s accepted your Business, and the $%d was added to your Bank Account.",sendername,BizPrice[playerid]);
SendClientMessage(GuardOffer[playerid], COLOR_LIGHTBLUE, string);
format(string, sizeof(string), "%s has accepted the business from %s for $%d", sendername,giveplayer,BizPrice[playerid]);
PayLog(string);
PlayerInfo[playerid][pPbiskey] = PlayerInfo[GuardOffer[playerid]][pPbiskey];
PlayerInfo[GuardOffer[playerid]][pPbiskey] = 255;
PlayerInfo[GuardOffer[playerid]][pAccount] += BizPrice[playerid];
PlayerInfo[playerid][pCash] = PlayerInfo[playerid][pCash]-BizPrice[playerid];
GivePlayerMoney(playerid, -BizPrice[playerid]);
BizOffer[playerid] = 999;
BizPrice[playerid] = 0;
OnPropTextdrawUpdate(i);
OnBizzPickupUpdate(i);
OnPropUpdate();
UpdateAccount(playerid);
return 1;
}
}
else
{
SendClientMessage(playerid, COLOR_GRAD1, " You're too far away !");
return 1;
}
}
return 1;
}
else
{
SendClientMessage(playerid, COLOR_GREY, " You can't afford that !");
return 1;
}
}
else
{
SendClientMessage(playerid, COLOR_GREY, " Nobody offered you a business.");
return 1;
}
}
Re: /sellbiz command -
TH3_R3D™ - 12.11.2015
It's all related to
sscanf.
And if you have written this, I'm sure you would know how to create the /accept command, Wait not you? Then let someone make it for you
here
Have a good day

!!
Re: /sellbiz command -
MayaEU - 12.11.2015
Anyone?
Re: /sellbiz command -
N0FeaR - 12.11.2015
This section is not for request scripting.
Re: /sellbiz command -
MayaEU - 12.11.2015
I have edited the threat now
Re: /sellbiz command -
MayaEU - 13.11.2015
Anyone?
Re: /sellbiz command -
MayaEU - 13.11.2015
I Think its the /accept business that is bugged
Re: /sellbiz command -
XBrianX - 13.11.2015
Quote:
Originally Posted by MayaEU
I Think its the /accept business that is bugged
|
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;
}
}