Sell car problem -
Mikeydoo - 07.01.2016
Heey guys ! I tried to make a /sellcartomarket command but while trying to sell boats on another location, the script just tells me im not near a car dealership. I'm pretty confused any help would be Muuucch apreciated !
Код:
CMD:sellcartomarket(playerid, params[])
{
if(!IsPlayerLoggedIn(playerid) || PlayerInfo[playerid][pAsshole] == 1) return SendClientMessage(playerid, COLOR_GREY, "You are not allowed to use command.");
if(!IsPlayerInRangeOfPoint(playerid, 2, 545.6661,-1292.2437,17.2422)) return SendClientMessage(playerid, COLOR_GREY, "You are not near the vehicles dealership.");
if(!PlayerInfo[playerid][pVeh] && !PlayerInfo[playerid][pVVeh]) return SendClientMessage(playerid, COLOR_GREY, "You don't own a vehicle.");
if(GetPlayerVehicleID(playerid) != PlayerInfo[playerid][pVeh] && GetPlayerVehicleID(playerid) != PlayerInfo[playerid][pVVeh]) return SendClientMessage(playerid, COLOR_GREY, "You must be in the vehicle you wish to sell to the dealership.");
if(sscanf(params, "s[8]", params)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /sellcartomarket [confirm]");
// Start of Payback
new price;
if(!strcmp(params, "confirm", true))
// BMX ($600)\nFaggio ($4,000)\nFreeway ($6,000)\nSanchez ($4,000)\nQuad ($6,000)\nPCJ-600 ($20,000)\nFCR-900 ($25,000)
if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 481) price = 600;
else if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 462) price = 4000;
else if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 446) price = 4000;
else if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 452) price = 4000;
else if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 453) price = 4000;
else if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 454) price = 4000;
else if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 484) price = 4000;
else if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 493) price = 4000;
else if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 463) price = 6000;
else if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 468) price = 4000;
else if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 471) price = 6000;
else if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 461) price = 20000;
else if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 521) price = 25000; // End of Bikes
// Comet ($30,000)\nFeltzer ($26,000)\nStallion ($26,000)\nWindsor ($28,000)\nSentinel ($24,000)\nManana ($22,000)
else if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 480) price = 30000;
else if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 533) price = 26000;
else if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 439) price = 26000;
else if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 555) price = 28000;
else if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 405) price = 24000;
else if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 410) price = 22000; // End of Normal Vehicles
// Huntley ($22,000)\nLandstalker ($24,000)\nSandking ($30,000)
else if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 579) price = 22000;
else if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 400) price = 24000;
else if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 495) price = 30000; // End of Off-Road vehicles
// Sultan ($60,000)\nBanshee ($65,000)\nBuffalo ($70,000)\nBullet ($90,000)\nCheetah ($80,000)\nJester ($70,000)\nTurismo ($110,000)\nSuper GT(200,000$)\nInfernus($300,000)
else if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 560) price = 60000;
else if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 429) price = 65000;
else if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 402) price = 70000;
else if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 541) price = 90000;
else if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 415) price = 80000;
else if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 559) price = 70000;
else if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 451) price = 110000;
else if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 506) price = 200000;
else if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 411) price = 300000; // End of Sport vehicles
// Blade($25,000)\nBroadway ($35,000)\nRemington ($30,000)\nSavanna ($25,000)\nSlamvan ($27,000)\nTornado ($24,000)\nVoodo ($30,000)
else if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 536) price = 25000;
else if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 575) price = 35000;
else if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 534) price = 30000;
else if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 567) price = 25000;
else if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 535) price = 27000;
else if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 576) price = 24000;
else if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 412) price = 30000;
GiveDodMoney(playerid, (75*price)/100);
neon[playerid] = 1;
vneon[playerid] = 1;
// End of Payback
if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pVeh])
{
DestroyObject(GetPVarInt(playerid, "neon"));
DestroyObject(GetPVarInt(playerid, "neon1"));
DestroyObject(GetPVarInt(playerid, "neon2"));
DestroyObject(GetPVarInt(playerid, "neon3"));
DestroyObject(GetPVarInt(playerid, "neon4"));
DestroyObject(GetPVarInt(playerid, "neon5"));
DestroyObject(GetPVarInt(playerid, "neon6"));
DestroyObject(GetPVarInt(playerid, "neon7"));
DestroyObject(GetPVarInt(playerid, "neon8"));
DestroyObject(GetPVarInt(playerid, "neon9"));
DestroyObject(GetPVarInt(playerid, "neon10"));
DestroyObject(GetPVarInt(playerid, "neon11"));
DestroyObject(GetPVarInt(playerid, "nb1"));
DestroyObject(GetPVarInt(playerid, "nb2"));
DestroyObject(GetPVarInt(playerid, "nb3"));
DestroyObject(GetPVarInt(playerid, "nb4"));
DestroyObject(GetPVarInt(playerid, "nb5"));
DestroyObject(GetPVarInt(playerid, "nb6"));
neon[playerid] = 1;
DestroyVehicle(PlayerInfo[playerid][pVeh]);
PlayerInfo[playerid][pVeh] = 0;
PlayerInfo[playerid][vModel] = 0;
PlayerInfo[playerid][vX] = 0;
PlayerInfo[playerid][vY] = 0;
PlayerInfo[playerid][vZ] = 0;
PlayerInfo[playerid][vA] = 0;
PlayerInfo[playerid][vC1] = 0;
PlayerInfo[playerid][vC2] = 0;
PlayerInfo[playerid][pTWeed] = 0;
PlayerInfo[playerid][pTcocaine] = 0;
PlayerInfo[playerid][pTGun][0] = 0;
PlayerInfo[playerid][pTGunAmmo][0] = 0;
PlayerInfo[playerid][pTGun][1] = 0;
PlayerInfo[playerid][pTGunAmmo][1] = 0;
PlayerInfo[playerid][pvTWeed] = 0;
PlayerInfo[playerid][pvTcocaine] = 0;
PlayerInfo[playerid][pvTGun][0] = 0;
PlayerInfo[playerid][pvTGunAmmo][0] = 0;
PlayerInfo[playerid][pvTGun][1] = 0;
PlayerInfo[playerid][pvTGunAmmo][1] = 0;
SendClientMessage(playerid, COLOR_GREEN, " You have sold your vehicle to the dealership. (75 percent of the original price was paid back)");
--PlayerCars;
}
else if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pVVeh])
{
DestroyObject(GetPVarInt(playerid, "vneon"));
DestroyObject(GetPVarInt(playerid, "vneon1"));
DestroyObject(GetPVarInt(playerid, "vneon2"));
DestroyObject(GetPVarInt(playerid, "vneon3"));
DestroyObject(GetPVarInt(playerid, "vneon4"));
DestroyObject(GetPVarInt(playerid, "vneon5"));
DestroyObject(GetPVarInt(playerid, "vneon6"));
DestroyObject(GetPVarInt(playerid, "vneon7"));
DestroyObject(GetPVarInt(playerid, "vneon8"));
DestroyObject(GetPVarInt(playerid, "vneon9"));
DestroyObject(GetPVarInt(playerid, "vneon10"));
DestroyObject(GetPVarInt(playerid, "vneon11"));
DestroyObject(GetPVarInt(playerid, "vnb1"));
DestroyObject(GetPVarInt(playerid, "vnb2"));
DestroyObject(GetPVarInt(playerid, "vnb3"));
DestroyObject(GetPVarInt(playerid, "vnb4"));
DestroyObject(GetPVarInt(playerid, "vnb5"));
DestroyObject(GetPVarInt(playerid, "vnb6"));
vneon[playerid] = 1;
DestroyVehicle(PlayerInfo[playerid][pVVeh]);
PlayerInfo[playerid][pVVeh] = 0;
PlayerInfo[playerid][vVModel] = 0;
PlayerInfo[playerid][vVX] = 0;
PlayerInfo[playerid][vVY] = 0;
PlayerInfo[playerid][vVZ] = 0;
PlayerInfo[playerid][vVA] = 0;
PlayerInfo[playerid][vVC1] = 0;
PlayerInfo[playerid][vVC2] = 0;
SendClientMessage(playerid, COLOR_GREEN, " You have sold your vehicle to the dealership. (75 percent of the original price was paid back)");
--PlayerCars;
}
return 1;
}
Thanks a lot
Re: Sell car problem -
HarrisonC - 07.01.2016
if(!IsPlayerInRangeOfPoint(playerid, 5.0, 545.6661,-1292.2437,17.2422)) return SendClientMessage(playerid, COLOR_GREY, "You are not near the vehicles dealership.");
That should work, a radius of 2.0 is fairly small and hopefully that should fix your problem
Re: Sell car problem -
AmigaBlizzard - 07.01.2016
Like Harrison said, adjusting the range should work.
A suggestion:
Replace the huge if - else if block with a switch case:
PHP код:
switch (GetVehicleModel(GetPlayerVehicleID(playerid)))
{
case 481: price = 600;
case 462, 446, 452, 453, 454, 484, 493, 468: price = 4000;
case 463, 471: price = 6000;
case 461: price = 20000;
case 410, 579: price = 22000;
case 405, 400, 576: price = 24000;
case 521, 536, 567: price = 25000;
case 533, 439: price = 26000;
case 535: price = 27000;
case 555: price = 28000;
case 480, 495, 412, 534: price = 30000;
case 575: price = 35000;
}
This list is not complete yet, but you get the idea.
Much shorter code and easier to adjust prices (just move the model-id's to another case and you're done).
Or create an array which holds the price for ALL vehicle-models (from model 400 to 611):
PHP код:
new VehiclePrices[212] =
{
24000, // Model 400
0, // Model 401 (not listed)
70000, // Model 402
0, // Model 403
0; // Model 404
24000, // Model 405
...
0, // Model 610
0 // Model 611 (last item doesn't require a comma behind it)
};
And use only 1 line of code to get the price from your vehicle (instead of a huge "if - else if" or even a switch-case block):
PHP код:
price = VehiclePrices[GetVehicleModel(GetPlayerVehicleID(playerid)) - 400];
Re: Sell car problem -
Mikeydoo - 07.01.2016
Weell guys, It works like a charm ! Thanks to you I can go forward on my project
Rep!