16.02.2013, 22:09
oi, eu tou remodelando o meu sistema mas agora tenho um problem.
o cmd de vender o veiculo estб buggado e ao fazer com que apague um dos 3 carros do player faz com que todos os carros comprados por outros players fiquem bugados.
exemplo:
o meu 1є carro й o id 447 e ao comprar outro o 2є fica a 448. Um outro player seguidamente compra outro carro e o id fica do mesmo fica 449 mas se eu vender o meu carro, vai fazer com que o carro seguinte fique em meu nome mas as funзхes ficam na mesma.
o cmd de vender o veiculo estб buggado e ao fazer com que apague um dos 3 carros do player faz com que todos os carros comprados por outros players fiquem bugados.
exemplo:
o meu 1є carro й o id 447 e ao comprar outro o 2є fica a 448. Um outro player seguidamente compra outro carro e o id fica do mesmo fica 449 mas se eu vender o meu carro, vai fazer com que o carro seguinte fique em meu nome mas as funзхes ficam na mesma.
pawn Код:
if(strcmp(x_nr,"sell",true) == 0)
{
if(IsAtDealership(playerid))
{
if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey] || GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey2] || GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey3])
{
new ownvehkey;
if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey]) { ownvehkey = PlayerInfo[playerid][pPcarkey]; }
else if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey2]) { ownvehkey = PlayerInfo[playerid][pPcarkey2]; }
else if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey3]) { ownvehkey = PlayerInfo[playerid][pPcarkey3]; }
else { return 1; }
if(strcmp(sendername, CarInfo[ownvehkey][cOwner], true) == 0)
{
new carsellprice = GetVehiclePrice(ownvehkey) / 4 * 3;
SafeGivePlayerMoney(playerid,carsellprice);
PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
format(string, sizeof(string), "~w~You have sold your car for: ~n~~g~$%d", carsellprice);
GameTextForPlayer(playerid, string, 10000, 3);
if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey])
{
PlayerInfo[playerid][pPcarkey] = 9999;
PlayerInfo[playerid][pC1Model] = 9999;
}
else if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey2])
{
PlayerInfo[playerid][pPcarkey2] = 9999;
PlayerInfo[playerid][pC2Model] = 9999;
}
else if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey3])
{
PlayerInfo[playerid][pPcarkey3] = 9999;
PlayerInfo[playerid][pC3Model] = 9999;
}
SafeRemovePlayerFromVehicle(playerid);
CarInfo[ownvehkey][cOwned] = 0;
//
DestroyVehicle(ownvehkey);
TogglePlayerControllable(playerid, 1);
format(string, sizeof(string),"Vehicles/%d.ini",ownvehkey);
fremove(string);
OnPlayerUpdateEx(playerid);
return 1;
}
}
else
{
SendClientMessage(playerid, COLOR_GREY, " You have to sit at your own car to sell it! ");
return 1;
}
}
else
{
SendClientMessage(playerid, COLOR_GREY, "You are not at a dealership");
return 1;
}
}