[AJUDA] Venda de carro entra players
#1

Bom, no servidor que eu comecei a usar cada player sу podia ter um veнculo, uma carkey.
Ai arrumei para poder ter dois.
Atй na hora de comprar na concessionбria funciona direito.

Sу que tem um comando /v venderpara , onde um player vende o carro para outro por um certo preзo.
Ai o outro player digita /aceitar carrocompra

Sу que o problema й que quando o player que vai comprar jб tem um carro, nгo pode comprar do vendedor, mesmo o limite de carro sendo dois.

O comando /aceitar carrocompra ta aqui:
pawn Код:
else if(strcmp(x_job,"carrocompra",true) == 0)
            {
                if(OwnableCarOffer[playerid] < 999)
                {
                    if(OwnableCarID[playerid] == 0) { return 1; }
                    if(OwnableCarPrice[playerid] == 0 || OwnableCarPrice[playerid] > 1500000) { return 1; }

                    if(OwnableCarID[playerid] == PlayerInfo[OwnableCarOffer[playerid]][pPcarkey]) { }
                    else if(OwnableCarID[playerid] == PlayerInfo[OwnableCarOffer[playerid]][pPcarkey2]) { }
                    else { SendClientMessage(playerid, COLOR_GREY, "  A oferta nгo estб mais disponнvel"); return 1; }

                    if(GetPlayerMoney(playerid) >= OwnableCarPrice[playerid])
                    {
                        if(IsPlayerConnected(OwnableCarOffer[playerid]))
                        {
                            GetPlayerName(OwnableCarOffer[playerid], giveplayer, sizeof(giveplayer));

                            if(PlayerInfo[playerid][pPcarkey] == 999)
                            {
                                if(GetPlayerVehicleID(OwnableCarOffer[playerid]) == PlayerInfo[OwnableCarOffer[playerid]][pPcarkey])
                                {
                                    PlayerInfo[playerid][pPcarkey] = PlayerInfo[OwnableCarOffer[playerid]][pPcarkey];
                                    PlayerInfo[OwnableCarOffer[playerid]][pPcarkey] = 999;
                                }
                                else if(GetPlayerVehicleID(OwnableCarOffer[playerid]) == PlayerInfo[OwnableCarOffer[playerid]][pPcarkey2])
                                {
                                    PlayerInfo[playerid][pPcarkey] = PlayerInfo[OwnableCarOffer[playerid]][pPcarkey2];
                                    PlayerInfo[OwnableCarOffer[playerid]][pPcarkey2] = 999;
                                }
                                else
                                {
                                    SendClientMessage(playerid, COLOR_GREY, "  O Vendedor do veнculo precisa estar nesse veнculo !");
                                    return 1;
                                }
                                format(string, sizeof(string), "* Vocк comprou um carro por R$%d de %s.",OwnableCarPrice[playerid],giveplayer);
                                SendClientMessage(playerid, COLOR_WHITE, string);
                                format(string, sizeof(string), "* %s comprou seu carro por R$%d.",sendername,OwnableCarPrice[playerid]);
                                SendClientMessage(OwnableCarOffer[playerid], COLOR_WHITE, string);
                                SafeRemovePlayerFromVehicle(OwnableCarOffer[playerid]);
                                SafeGivePlayerMoney(playerid, - OwnableCarPrice[playerid]);
                                SafeGivePlayerMoney(OwnableCarOffer[playerid], OwnableCarPrice[playerid]);
                                strmid(CarInfo[OwnableCarID[playerid]][cOwner], sendername, 0, strlen(sendername), 999);
                            }
                            else
                            {
                                SendClientMessage(playerid, COLOR_GREY, "  Vocк jб tem um carro ! ");
                                return 1;
                            }
                            DateProp(playerid);
                            DateProp(OwnableCarOffer[playerid]);
                            OnPropUpdate();
                            OnPlayerUpdateEx(playerid);
                            OnPlayerUpdateEx(OwnableCarOffer[playerid]);
                            OwnableCarOffer[playerid] = 999;
                            OwnableCarID[playerid] = 0;
                            OwnableCarPrice[playerid] = 0;
                            GameTextForPlayer(playerid, "~w~Parabens~n~Nao se esqueca de /v estacionar!", 5000, 3);
                            SendClientMessage(playerid, COLOR_GRAD2, "Parabens na sua nova compra!");
                            SendClientMessage(playerid, COLOR_GRAD2, "Digite /ajudaveiculo para ver a ajuda de veнculo!");
                            return 1;
                        }
                        else
                        {
                            SendClientMessage(playerid, COLOR_GREY, "   Vendedor do carro estб Offline !");
                            return 1;
                        }
                    }
                }
                else
                {
                    SendClientMessage(playerid, COLOR_GREY, "   Ninguйm lhe ofereceu um carro !");
                    return 1;
                }
            }


Bom, eu tentei fazer isso aqui:
pawn Код:
else if(strcmp(x_job,"carrocompra",true) == 0)
            {
                if(OwnableCarOffer[playerid] < 999)
                {
                    if(OwnableCarID[playerid] == 0) { return 1; }
                    if(OwnableCarPrice[playerid] == 0 || OwnableCarPrice[playerid] > 1500000) { return 1; }

                    if(OwnableCarID[playerid] == PlayerInfo[OwnableCarOffer[playerid]][pPcarkey]) { }
                    else if(OwnableCarID[playerid] == PlayerInfo[OwnableCarOffer[playerid]][pPcarkey2]) { }
                    else { SendClientMessage(playerid, COLOR_GREY, "  A oferta nгo estб mais disponнvel"); return 1; }

                    if(GetPlayerMoney(playerid) >= OwnableCarPrice[playerid])
                    {
                        if(IsPlayerConnected(OwnableCarOffer[playerid]))
                        {
                            GetPlayerName(OwnableCarOffer[playerid], giveplayer, sizeof(giveplayer));

                            if(PlayerInfo[playerid][pPcarkey] == 999)
                            {
                                if(GetPlayerVehicleID(OwnableCarOffer[playerid]) == PlayerInfo[OwnableCarOffer[playerid]][pPcarkey])
                                {
                                    PlayerInfo[playerid][pPcarkey] = PlayerInfo[OwnableCarOffer[playerid]][pPcarkey];
                                    PlayerInfo[OwnableCarOffer[playerid]][pPcarkey] = 999;
                                }
                                else if(GetPlayerVehicleID(OwnableCarOffer[playerid]) == PlayerInfo[OwnableCarOffer[playerid]][pPcarkey2])
                                {
                                    PlayerInfo[playerid][pPcarkey] = PlayerInfo[OwnableCarOffer[playerid]][pPcarkey2];
                                    PlayerInfo[OwnableCarOffer[playerid]][pPcarkey2] = 999;
                                }
                                else
                                {
                                    SendClientMessage(playerid, COLOR_GREY, "  O Vendedor do veнculo precisa estar nesse veнculo !");
                                    return 1;
                                }
                                format(string, sizeof(string), "* Vocк comprou um carro por R$%d de %s.",OwnableCarPrice[playerid],giveplayer);
                                SendClientMessage(playerid, COLOR_WHITE, string);
                                format(string, sizeof(string), "* %s comprou seu carro por R$%d.",sendername,OwnableCarPrice[playerid]);
                                SendClientMessage(OwnableCarOffer[playerid], COLOR_WHITE, string);
                                SafeRemovePlayerFromVehicle(OwnableCarOffer[playerid]);
                                SafeGivePlayerMoney(playerid, - OwnableCarPrice[playerid]);
                                SafeGivePlayerMoney(OwnableCarOffer[playerid], OwnableCarPrice[playerid]);
                                strmid(CarInfo[OwnableCarID[playerid]][cOwner], sendername, 0, strlen(sendername), 999);
                            }
                            if(PlayerInfo[playerid][pPcarkey2] == 999)
                            {
                                if(GetPlayerVehicleID(OwnableCarOffer[playerid]) == PlayerInfo[OwnableCarOffer[playerid]][pPcarkey])
                                {
                                    PlayerInfo[playerid][pPcarkey] = PlayerInfo[OwnableCarOffer[playerid]][pPcarkey];
                                    PlayerInfo[OwnableCarOffer[playerid]][pPcarkey] = 999;
                                }
                                else if(GetPlayerVehicleID(OwnableCarOffer[playerid]) == PlayerInfo[OwnableCarOffer[playerid]][pPcarkey2])
                                {
                                    PlayerInfo[playerid][pPcarkey] = PlayerInfo[OwnableCarOffer[playerid]][pPcarkey2];
                                    PlayerInfo[OwnableCarOffer[playerid]][pPcarkey2] = 999;
                                }
                                else
                                {
                                    SendClientMessage(playerid, COLOR_GREY, "  O Vendedor do veнculo precisa estar nesse veнculo !");
                                    return 1;
                                }
                                format(string, sizeof(string), "* Vocк comprou um carro por R$%d de %s.",OwnableCarPrice[playerid],giveplayer);
                                SendClientMessage(playerid, COLOR_WHITE, string);
                                format(string, sizeof(string), "* %s comprou seu carro por R$%d.",sendername,OwnableCarPrice[playerid]);
                                SendClientMessage(OwnableCarOffer[playerid], COLOR_WHITE, string);
                                SafeRemovePlayerFromVehicle(OwnableCarOffer[playerid]);
                                SafeGivePlayerMoney(playerid, - OwnableCarPrice[playerid]);
                                SafeGivePlayerMoney(OwnableCarOffer[playerid], OwnableCarPrice[playerid]);
                                strmid(CarInfo[OwnableCarID[playerid]][cOwner], sendername, 0, strlen(sendername), 999);
                            }
                            else
                            {
                                SendClientMessage(playerid, COLOR_GREY, "  Vocк jб tem um carro ! ");
                                return 1;
                            }
                            DateProp(playerid);
                            DateProp(OwnableCarOffer[playerid]);
                            OnPropUpdate();
                            OnPlayerUpdateEx(playerid);
                            OnPlayerUpdateEx(OwnableCarOffer[playerid]);
                            OwnableCarOffer[playerid] = 999;
                            OwnableCarID[playerid] = 0;
                            OwnableCarPrice[playerid] = 0;
                            GameTextForPlayer(playerid, "~w~Parabens~n~Nao se esqueca de /v estacionar!", 5000, 3);
                            SendClientMessage(playerid, COLOR_GRAD2, "Parabens na sua nova compra!");
                            SendClientMessage(playerid, COLOR_GRAD2, "Digite /ajudaveiculo para ver a ajuda de veнculo!");
                            return 1;
                        }
                        else
                        {
                            SendClientMessage(playerid, COLOR_GREY, "   Vendedor do carro estб Offline !");
                            return 1;
                        }
                    }
                }
                else
                {
                    SendClientMessage(playerid, COLOR_GREY, "   Ninguйm lhe ofereceu um carro !");
                    return 1;
                }
            }
Mas ai quando o comprador compra um segundo carro o primeiro continua no nome dele, mas ele perde o direito de estacionar, ligar e tudo sobre o carro, nem aparece no /stats.
E o novo carro comprado fica sendo o ъnico dele.


Obrigado a todos que vгo tentar ajudar, ou que pelo menos pensou em ajudar.
_____________________________________
Edit:
Й....
Jб se foram duas horas...
rsrsrs
Zuera, quando alguem poder ajudar ai eu fico grato.
__________________________________________
Edit2
Amanha eu volto a ler aqui.
Reply


Messages In This Thread
[AJUDA] Venda de carro entre players - by Liba.Nakajima - 11.10.2011, 22:11
Re: [AJUDA] Venda de carro entra players - by Liba.Nakajima - 12.10.2011, 20:58
Re: [AJUDA] Venda de carro entra players - by [BWL]DuST - 12.10.2011, 21:57
Re: [AJUDA] Venda de carro entra players - by Slayer1 - 12.10.2011, 23:41
Re: [AJUDA] Venda de carro entra players - by Laercio - 13.10.2011, 05:15
Re: [AJUDA] Venda de carro entra players - by Liba.Nakajima - 13.10.2011, 17:07

Forum Jump:


Users browsing this thread: 1 Guest(s)