/sellbiz command
#1

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;
                }
            }
Reply
#2

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 !!
Reply
#3

Anyone?
Reply
#4

This section is not for request scripting.
Reply
#5

I have edited the threat now
Reply
#6

Anyone?
Reply
#7

I Think its the /accept business that is bugged
Reply
#8

Quote:
Originally Posted by MayaEU
Посмотреть сообщение
I Think its the /accept business that is bugged
PHP код:
CMD:sellbiz(playeridparams[])
{
    new 
playername[MAX_PLAYER_NAME];
    
GetPlayerName(playeridplayernamesizeof(playername));
    if(!
PlayerInfo[playerid][pBusiness1]) return SendClientMessage(playeridCOLOR_GREY"You don't own a business.");
    new 
string[128], giveplayeridprice;
    new 
done;
    if(
sscanf(params"ud"giveplayeridprice)) return SendClientMessage(playeridCOLOR_WHITE"USAGE: /sellbiz [playerid/partofname] [price]");
    if(
price 1) return SendClientMessage(playeridCOLOR_GREY"Price must be higher than 0.");
    if(!
IsPlayerConnected(giveplayerid)) return SendClientMessage(playeridCOLOR_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(playeridCOLOR_GREY"They already own a biz.");
           return 
1;
    }
     if(
IsPlayerInRangeOfPoint(playerid3BizInfo[PlayerInfo[playerid][pBusiness1]][bX], BizInfo[PlayerInfo[playerid][pBusiness1]][bY], BizInfo[PlayerInfo[playerid][pBusiness1]][bZ]))
    {
        if(
ProxDetectorS(8.0playeridgiveplayerid))
        {
            if(
GetPVarInt(playerid"SellMyTimer") > 0)
            {
                
format(stringsizeof(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(stringsizeof(string), "* You offered %s to buy your business for $%d."GetPlayerNameEx(giveplayerid), price);
               
SendClientMessage(playeridCOLOR_LIGHTBLUEstring);
             
format(stringsizeof(string), "* %s has offered you their business for $%d, (type /accept business) to buy."GetPlayerNameEx(playerid), price);
              
SendClientMessage(giveplayeridCOLOR_LIGHTBLUEstring);
               
SetPVarInt(playerid"SellMyTimer"30); SetTimerEx("OtherTimerEx"1000false"ii"playeridTYPE_SELLMYTIMER);
            
done 1;
            return 
1;
        }
        else
        {
            
SendClientMessage(playeridCOLOR_GREY"That player is not near you.");
          }
    }
    if(!
done)
    {
        
SendClientMessage(playeridCOLOR_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(playeridCOLOR_WHITE"They don't own that business.");
                        return 
1;
                    }
                    if(
GetPlayerCash(playerid) > bBizPrice[playerid])
                    {
                        new 
business;
                        if(
bBiz[playerid] == 1business PlayerInfo[bBizOffer[playerid]][pBusiness1];
                        else return 
SendClientMessage(playeridCOLOR_RED"Error: No Business specified");
                        
BizInfo[business][bStatus] = 0;
                        
format(BizInfo[business][bOwner], 128"Nobody");
                        
sendername GetPlayerNameEx(bBizOffer[playerid]);
                        
PlayerPlaySound(playerid10520.00.00.0);
                        
format(stringsizeof(string), "~w~Congratulations~n~ You have sold your property for ~n~~g~$%d"bBizPrice[playerid]);
                        
GameTextForPlayer(bBizOffer[playerid], string40003);
                        if(
bBiz[playerid] == 1PlayerInfo[bBizOffer[playerid]][pBusiness1] = INVALID_BIZ_ID;
                        
SaveBiz();
                        
OnPlayerStatsUpdate(bBizOffer[playerid]);
                        
DestroyPickup(BizInfo[business][bPickup]);
                        
BizInfo[business][bPickup] = CreatePickup(127223BizInfo[business][bX], BizInfo[business][bY], BizInfo[business][bZ], -1);
                        
GivePlayerCash(bBizOffer[playerid],bBizPrice[playerid]);
                        
PlayerInfo[playerid][pBusiness1] = business;
                        
BizInfo[business][bOwned] = 1;
                        
GetPlayerName(playeridsendernamesizeof(sendername));
                        
strmid(BizInfo[business][bOwner], sendername0strlen(sendername), 255);
                        
GivePlayerCash(playerid,-bBizPrice[playerid]);
                        
SendClientMessage(playeridCOLOR_WHITE"Congratulations on your new purchase!");
                        
SendClientMessage(playeridCOLOR_WHITE"Type /bizhelp to review the property help section!");
                        
SaveBiz();
                        
OnPlayerStatsUpdate(playerid);
                        
DestroyPickup(BizInfo[business][bPickup]);
                        
BizInfo[business][bPickup] = CreatePickup(127223BizInfo[business][bX], BizInfo[business][bY], BizInfo[business][bZ], -1);
                        
format(stringsizeof(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_WHITEstring);
                        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(playeridCOLOR_GREY"   You can't afford the business!");
                        
bBizOffer[playerid] = 999;
                        
bBizPrice[playerid] = 0;
                        
bBiz[playerid] = 0;
                        return 
1;
                    }
                }
                return 
1;
            }
            else {
                
SendClientMessage(playeridCOLOR_GREY"   Nobody offered to buy a business!");
                return 
1;
            }
        } 
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)