Probleme GodFather !! : http://www.sa-mp.ro/forum/index.php/topic,5356.0.html Incearca comanda asta : if(strcmp(cmd, "/v", true) == 0 || strcmp(cmd, "/vehicle", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(gPlayerLogged[playerid] == 0)
{
SCM(playerid, COLOR_GREY, " You need to login first ! ");
return 1;
}
new x_nr[64];
x_nr = strtok(cmdtext, idx);
if(!strlen(x_nr))
{
SCM(playerid, COLOR_WHITE, "HINT: (/v)ehicle [name]");
SCM(playerid, COLOR_WHITE, "Available names: buy ,park, lock, sell, sellto, color, tow, locate, plate, tunning, paintjob");
return 1;
}
else if(strcmp(x_nr,"buy",true) == 0)
{
new idcar = GetPlayerVehicleID(playerid);
if(IsAnOwnableCar(idcar))
{
if(PlayerInfo[playerid][pPcarkey] == 999) { }
else { SCM(playerid, COLOR_GREY, " You already own a vehicles"); return 1; }
if(CarInfo[idcar][cOwned]==1)
{
SCM(playerid, COLOR_GREY, "Someone already owns this car");
return 1;
}
if(GetPlayerMoney(playerid) >= CarInfo[idcar][cValue])
{
if(PlayerInfo[playerid][pPcarkey] == 999) { PlayerInfo[playerid][pPcarkey] = idcar; }
else { return 1; }
CarInfo[idcar][cOwned] = 1;
strmid(CarInfo[idcar][cOwner], sendername, 0, strlen(sendername), 999);
GivePlayerMoney(playerid,-CarInfo[idcar][cValue]);
PlayerPlayMusic(playerid);
GameTextForPlayer(playerid, "~w~Congratulations~n~Don't forget to /v park it!", 5000, 3);
SCM(playerid, COLOR_GRAD2, "Congratulations on your new purchase!");
SCM(playerid, COLOR_GRAD2, "Type /vehiclehelp to view the vehicle manual!");
OnCarUpdate();
TogglePlayerControllable(playerid, 1);
return 1;
}
else
{
SCM(playerid, COLOR_GREY, " You don't have enough cash with you ! ");
return 1;
}
}
}
if(strcmp(x_nr,"sell",true) == 0)
{
if(IsAtDealership(playerid))
{
if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey])
{
new ownvehkey;
if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey]) { ownvehkey = PlayerInfo[playerid][pPcarkey]; }
else { return 1; }
if(strcmp(sendername, CarInfo[ownvehkey][cOwner], true) == 0)
{
new carsellprice = CarInfo[ownvehkey][cValue] / 4 * 3;
new Float:x,Float:y,Float:z;
new Float:a;
CarInfo[ownvehkey][cOwned] = 0;
strmid(CarInfo[ownvehkey][cOwner], "Dealership", 0, strlen("Dealership"), 999);
GivePlayerMoney(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);
GetVehiclePos(ownvehkey, x, y, z);
GetVehicleZAngle(ownvehkey, a);
CarInfo[ownvehkey][cLocationx] = x;
CarInfo[ownvehkey][cLocationy] = y;
CarInfo[ownvehkey][cLocationz] = z;
CarInfo[ownvehkey][cAngle] = a;
if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey]) { PlayerInfo[playerid][pPcarkey] = 999; }
RemovePlayerFromVehicle(playerid);
TogglePlayerControllable(playerid, 1);
if(PlayerInfo[playerid][pLocal] == ownvehkey)
{
SetPlayerInterior(playerid,0);
SetPlayerPos(playerid,CarInfo[ownvehkey][cLocationx],CarInfo[ownvehkey][cLocationy],CarInfo[ownvehkey][cLocationz]);
PlayerInfo[playerid][pInt] = 0;
}
OnCarUpdate();
DestroyVehicle(ownvehkey);
ownedcar[ownvehkey] = CreateVehicle(CarInfo[ownvehkey][cModel],CarInfo[ownvehkey][cLocationx],CarInfo[ownvehkey][cLocationy],CarInfo[ownvehkey][cLocationz]+1.0,CarInfo[ownvehkey][cAngle],CarInfo[ownvehkey][cColorOne],CarInfo[ownvehkey][cColorTwo],60000);
return 1;
}
}
else
{
SCM(playerid, COLOR_GREY, " You have to sit at your own car to sell it! ");
return 1;
}
}
else
{
SCM(playerid, COLOR_GREY, "You are not at a dealership");
return 1;
}
}
else if(strcmp(x_nr,"tunning",true) == 0)
{
new carsff;
if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey]) { carsff = PlayerInfo[playerid][pPcarkey]; }
if (carsff != 999)
{
if(IsPlayerInVehicle(playerid, carsff))
{
new info[] = "Save Car Mods\nSave All Car Mods\nClear Car Mods\nClear All Car Mods ";
ShowPlayerDialog(playerid, 1300, DIALOG_STYLE_LIST,"Choose the Option",info,"Ok","Cancel");
SendClientMessage(playerid, COLOR_PINK,"* To save the vehicle paintjob and colours use /v paintjob and /v color");
SendClientMessage(playerid, COLOR_GRAD1, "* You are not in a setted car.");
}
else
{
SendClientMessage(playerid, COLOR_GRAD1, "* You are not in your vehicle!");
}
}
else
{
SendClientMessage(playerid, COLOR_GRAD1, "* You do not own a car!");
}
}
else if(strcmp(x_nr,"paintjob",true) == 0)
{
if(PlayerInfo[playerid][pPcarkey] == 999)
{
SendClientMessage(playerid, COLOR_GREY," You don't have a vehicle to respray.");
return 1;
}
if(GetPlayerMoney(playerid) < 5000)
{
SendClientMessage(playerid, COLOR_GREY," You don't have enough money for vehicle respray.");
return 1;
}
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_WHITE, "USAGE: /v paintjob [paintjob(0-3)]");
return 1;
}
new color1;
color1 = strval(tmp);
if(color1 < 0 && color1 > 3)
{
SendClientMessage(playerid, COLOR_GREY, " Wrong color id!");
return 1;
}
new vehid;
if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey]) { vehid = PlayerInfo[playerid][pPcarkey]; }
else { return 1; }
if(IsPlayerInVehicle(playerid, vehid))
{
CarInfo[vehid][cPaintjob] = color1;
GivePlayerMoney(playerid, -5000);
GameTextForPlayer(playerid, "~w~Bill for a Paint Respray~n~~r~-$5000", 5000, 1);
ChangeVehiclePaintjob(vehid, color1);
OnCarUpdate();
return 1;
}
else
{
SendClientMessage(playerid, COLOR_GREY," You are not in your vehicle.");
return 1;
}
}
else if(strcmp(x_nr,"sellto",true) == 0)
{
if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey])
{
new ownvehkey;
if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey]) { ownvehkey = PlayerInfo[playerid][pPcarkey]; }
else { return 1; }
if(strcmp(sendername, CarInfo[ownvehkey][cOwner], true) == 0)
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SCM(playerid, COLOR_WHITE, "HINT: /v sellto [playerid/PartOfName] [price]");
return 1;
}
giveplayerid = ReturnUser(tmp), GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
if(IsPlayerConnected(giveplayerid))
{
if(giveplayerid != INVALID_PLAYER_ID)
{
if(ProxDetectorS(8.0, playerid, giveplayerid))
{
if(PlayerInfo[giveplayerid][pPcarkey] == 999)
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SCM(playerid, COLOR_WHITE, "HINT: /v sellto [playerid/PartOfName] [price]");
return 1;
}
new price;
price = strval(tmp);
if(price < 1 || price > 1500000)
{
SCM(playerid, COLOR_GREY, " Price not lower then 1 and not higher then 1500000. ");
return 1;
}
format(string, sizeof(string), "* You offerd %s to buy your car for $%d .", giveplayer, price);
SCM(playerid, COLOR_WHITE, string);
format(string, sizeof(string), "* Car Owner %s offered you to buy his/her car for $%d (type /accept ownablecar) to buy.", playername, price);
SCM(giveplayerid, COLOR_WHITE, string);
OwnableCarOffer[giveplayerid] = playerid;
OwnableCarID[giveplayerid] = ownvehkey;
OwnableCarPrice[giveplayerid] = price;
return 1;
}
else
{
SCM(playerid, COLOR_GREY, "That player already have a car! ");
return 1;
}
}
else
{
SCM(playerid, COLOR_GREY, " Player is not near you ! ");
return 1;
}
}
}
}
else
{
SCM(playerid, COLOR_GREY, " This is not your car");
return 1;
}
}
else
{
SCM(playerid, COLOR_GREY, " You have to sit at your own car to sell it");
return 1;
}
}
else if(strcmp(x_nr,"tow",true) == 0)
{
if(IsPlayerConnected(playerid))
{
new car1 = PlayerInfo[playerid][pPcarkey];
if (car1 != 999 && strcmp(playername, CarInfo[PlayerInfo[playerid][pPcarkey]][cOwner], true) == 0)
{
if(IsTrailerAttachedToVehicle(GetPlayerVehicleID(playerid)))
{
SCM(playerid, COLOR_GREY, " On a mission right now, can't use this command !");
return 1;
}
if(SBizzInfo[8][sbProducts] == 0)
{
GameTextForPlayer(playerid, "~r~Out Of Stock", 5000, 1);
return 1;
}
if(CarTow(car1))
{
GameTextForPlayer(playerid, "~w~Car~n~~g~Towed~n~~r~$-10000", 5000, 1);
GivePlayerMoney(playerid,-10000);
SetVehicleToRespawn(car1);
PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
SBizzInfo[8][sbTill] += 10000;//towcar buisness
ExtortionSBiz(8, 10000);
SBizzInfo[8][sbProducts]--;
}
else
{
GameTextForPlayer(playerid, "~w~Car is~n~in ~r~use", 5000, 1);
}
}
else
{
GameTextForPlayer(playerid, "~w~You are not a car owner", 5000, 1);
}
}
}
else if(strcmp(x_nr,"locate",true) == 0)
{
if(!IsPlayerConnected(playerid)) { return 1; }
if(IsTrailerAttachedToVehicle(GetPlayerVehicleID(playerid)))
{
SCM(playerid, COLOR_GREY, " On a mission right now, can't use this command !");
return 1;
}
new Float:x,Float:y,Float:z;
new car1 = PlayerInfo[playerid][pPcarkey];
if(PlayerInfo[playerid][pPcarkey]==999) { GameTextForPlayer(playerid, "~w~You do not have a car to locate", 2500, 3); return 1; }
SCM(playerid,COLOR_WHITE,"Car spawn location is red on a map");
GetVehiclePos(car1, x, y, z);
SetPlayerCheckpoint(playerid, x, y, z, 6);
CP[playerid] = 987;
return 1;
}
else if(strcmp(x_nr,"park",true) == 0)
{
new Float:x,Float:y,Float:z;
new Float:a;
new carid1;
new getcarid1;
if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey]) { carid1 = PlayerInfo[playerid][pPcarkey]; }
else { return 1; }
getcarid1 = GetPlayerVehicleID(playerid);
GetVehiclePos(carid1, x, y, z);
//GetPlayerFacingAngle(playerid, a);
GetVehicleZAngle(carid1, a);
if(IsPlayerInVehicle(playerid,carid1) && CarInfo[carid1][cOwned] == 1)
{
if(PlayerInfo[playerid][pPcarkey] == 999)
{
SCM(playerid, COLOR_GREY, "You don't own a car.");
return 1;
}
if(getcarid1 == carid1)
{
CarInfo[carid1][cLocationx] = x;
CarInfo[carid1][cLocationy] = y;
CarInfo[carid1][cLocationz] = z;
CarInfo[carid1][cAngle] = a;
format(string, sizeof(string), "~n~ You have parked your vehicle in this location. ~n~");
GameTextForPlayer(playerid, "You have parked your vehicle in this position. It will respawn here.", 10000, 3);
OnCarUpdate();
DestroyVehicle(carid1);
ownedcar[carid1] = CreateVehicle(CarInfo[carid1][cModel],CarInfo[carid1][cLocationx],CarInfo[carid1][cLocationy],CarInfo[carid1][cLocationz],CarInfo[carid1][cAngle],CarInfo[carid1][cColorOne],CarInfo[carid1][cColorTwo],60000);
SetVehicleNumberPlate(getcarid1,CarInfo[carid1][cLicense]);
if(CarInfo[carid1][cPaintjob] != 255)
{
ChangeVehiclePaintjob(carid1, CarInfo[carid1][cPaintjob]);
}
SetVehicleVirtualWorld(carid1, CarInfo[carid1][cVirWorld]);
SetVehicleModifications(carid1);
PutPlayerInVehicle(playerid, carid1, 0);
TogglePlayerControllable(playerid, 1);
return 1;
}
}
}
else if(strcmp(x_nr,"lock",true) == 0)
{
new keycar = PlayerInfo[playerid][pPcarkey];
if(keycar != 999)
{
new locked[256];
locked = strtok(cmdtext, idx);
new Float:X,Float:Y,Float:Z;
GetVehiclePos(keycar,X,Y,Z);
if(CarInfo[keycar][cLock] == 1)
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if (IsPlayerConnected(i))
{
SetVehicleParamsForPlayer(keycar,i,0,0);
}
}
format(string, sizeof(string), "~w~Vehicle~n~~g~Unlocked");
GameTextForPlayer(playerid, string, 4000, 3);
CarInfo[keycar][cLock] = 0;
OnCarUpdate();
return 1;
}
else if(CarInfo[keycar][cLock] == 0)
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if (IsPlayerConnected(i))
{
SetVehicleParamsForPlayer(keycar,i,0,1);
}
}
format(string, sizeof(string), "~w~Vehicle~n~~r~Locked");
GameTextForPlayer(playerid, string, 4000, 3);
CarInfo[keycar][cLock] = 1;
OnCarUpdate();
return 1;
}
}
else
{
SCM(playerid, COLOR_GREY, " You don't have a vehicle at slot 1");
return 1;
}
}
else if(strcmp(x_nr,"color",true) == 0)
{
if(PlayerInfo[playerid][pPcarkey] == 999)
{
SCM(playerid, COLOR_GREY," You don't have a vehicle to respray.");
return 1;
}
if(GetPlayerMoney(playerid) < 1000)
{
SCM(playerid, COLOR_GREY," You don't have enough money for vehicle respray.");
return 1;
}
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SCM(playerid, COLOR_WHITE, "{00FF00}Usage:{FFFFFF} /v color [ColorOneID] [ColorTwoID]");
return 1;
}
new color1;
color1 = strval(tmp);
if(color1 < 0 && color1 > 126)
{
SCM(playerid, COLOR_GREY, " Wrong color id!");
return 1;
}
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SCM(playerid, COLOR_WHITE, "{00FF00}Usage:{FFFFFF} /v color [ColorOneID] [ColorTwoID]");
return 1;
}
new color2;
color2 = strval(tmp);
if(color2 < 0 && color2 > 126)
{
SCM(playerid, COLOR_GREY, " Wrong color id!");
return 1;
}
new vehid;
if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey]) { vehid = PlayerInfo[playerid][pPcarkey]; }
else { return 1; }
if(IsPlayerInVehicle(playerid, vehid))
{
CarInfo[vehid][cColorOne] = color1;
CarInfo[vehid][cColorTwo] = color2;
GivePlayerMoney(playerid, -1000);
GameTextForPlayer(playerid, "~w~Bill for a Paint Respray~n~~r~-$1000", 5000, 1);
ChangeVehicleColor(vehid, color1, color2);
OnCarUpdate();
return 1;
}
else
{
SCM(playerid, COLOR_GREY," You are not in your vehicle.");
return 1;
}
}
else if(strcmp(x_nr,"plate",true) == 0)
{
if(PlayerInfo[playerid][pPcarkey] == 999)
{
SCM(playerid, COLOR_GREY," You don't have a vehicle to respray.");
return 1;
}
if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey])
{
new Float:x,Float:y,Float:z,Float:ang;
GetVehiclePos(GetPlayerVehicleID(playerid),x,y,z);
GetVehicleZAngle(GetPlayerVehicleID(playerid),ang);
if(!IsPlayerInAnyVehicle(playerid)) return SCM(playerid,COLOR_RED,"You're not in a vehicle!");
ShowPlayerDialog(playerid,171,DIALOG_STYLE_INPUT,"{EE7777}Vehicle Numberplate","{00CC66}Input your new vehicle numberplate below.","Yes","Cancel");
return 1;
}
else
{
SCM(playerid, COLOR_GREY, " You are not in you're personal car!");
return 1;
}
}
else
{
SCM(playerid, COLOR_WHITE, "HINT: (/v)ehicle [name]");
SCM(playerid, COLOR_WHITE, "Available names: park, lock, sell, sellto, color, tow, locate, plate");
return 1;
}
}
return 1;
}