03.03.2011, 17:03
When players buy a car, their money isn't being taken away from them. It takes away the money but then it goes right back up to the amount that they had. Any ideas?
Код:
if(dialogid == DIALOG_CDBUY)
{
new string[128];
new vehicleid = GetPlayerVehicleID(playerid);
new v = GetCarDealershipVehicleId(vehicleid);
new d = GetCarDealershipId(vehicleid);
if(response)
{
if(GetPlayerMoney(playerid) < CarDealershipInfo[d][cdVehicleCost][v])
{
SendClientMessage(playerid, COLOR_GRAD1, "ERROR: You don't have enough money to buy this.");
RemovePlayerFromVehicle(playerid);
return 1;
}
new playervehicleid = GetPlayerFreeVehicleId(playerid);
if(playervehicleid == -1) return SendClientMessage(playerid, COLOR_GREY, "ERROR: You can't have more cars.");
new randcolor1 = Random(0, 126);
new randcolor2 = Random(0, 126);
new car = CreatePlayerVehicle(playerid, playervehicleid, CarDealershipInfo[d][cdVehicleModel][v], CarDealershipInfo[d][cdVehicleSpawn][0], CarDealershipInfo[d][cdVehicleSpawn][1], CarDealershipInfo[d][cdVehicleSpawn][2], CarDealershipInfo[d][cdVehicleSpawn][3], randcolor1, randcolor2);
if(car == INVALID_PLAYER_VEHICLE_ID)
{
SendClientMessage(playerid, COLOR_GREY, "ERROR: Something went wrong and the car didn't get created.");
}
else
{
format(string, sizeof(string), " Thank you for buying at %s.", CarDealershipInfo[d][cdMessage]);
SendClientMessage(playerid, COLOR_GRAD1, string);
GivePlayerMoney(playerid, -CarDealershipInfo[d][cdVehicleCost][v]);
CarDealershipInfo[d][cdTill] += ( CarDealershipInfo[d][cdVehicleCost][v] * 40 ) / ( 100 );
PutPlayerInVehicle(playerid, car, 0);
SavecDealership(editingcd[playerid]);

