Доступ к архиву

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Как сделать что бы можно было покупать до 3-х машин?

Статус
В этой теме нельзя размещать новые ответы.

Antiracism

Умник
Как сделать что бы можно было покупать до 3-ти машин?
  • 1 После 1 лвл'а
  • 2 После 5 лвл'а
  • 3 После 10 лвл'а

3D text над головой могу сам вырезать. С ним ерунда получается. (Не красиво!)

Вот что мы имеем:
PHP:
// Car System v0.2 By Morino_Reigan ICQ:5797058

#include <a_samp>
#include <Dini>

#define MAX_CARS 200
#define CAR_DIALOG 412
#define DIALOG_CONFBUY 413
#define MAX_PLAYER_CARS 3 // максимальное количество машин у одного игрока
//Координаты пикапа
#define pick_x 562.9484
#define pick_y -1291.0739
#define pick_z 17.2482

forward split(const strsrc[], strdest[][], delimiter);
forward inPlayerShop();
forward SaveCars();

enum cInfo
{
	carid,
	buyid,
	carModel,
	Float:posx,
	Float:posy,
	Float:posz,
	Float:FA,
	carcolor1,
	carcolor2,
	carowner[MAX_PLAYER_NAME],
	locked,
	vehcost,
	vehcom1,
	vehcom2,
	vehcom3,
	vehcom4,
	vehcom5,
	vehcom6,
	vehcom7,
	vehcom8,
	vehcom9,
	vehcom10,
	vehcom11,
	vehcom12,
	vehcom13,
	vehcom14,
	vehpaintjob,
	parked,
	vehcarhosid,
}new carinfo[MAX_CARS][cInfo];

new pInShop[MAX_PLAYERS];
new pPressed[MAX_PLAYERS];
new sysCars;
new sysVehs;
new colors[MAX_PLAYERS][2];
new veh[MAX_PLAYERS];
new Text:vehbank[MAX_PLAYERS];
new Text:VehNazv[MAX_PLAYERS];
new Text:VehCost[MAX_PLAYERS];

new VehicleNameS[][] = {
	 "Landstalker",
	   "Bravura",
	 "Buffalo",
	 "Linerunner",
	"Pereniel",
	 "Sentinel",
	 "Dumper",
	"Firetruck",
	"Trashmaster",
	 "Stretch",
	 "Manana",
	 "Infernus",
	 "Voodoo",
	  "Pony",
	 "Mule",
	 "Cheetah",
	"Ambulance",
	"Leviathan",
	 "Moonbeam",
	"Esperanto",
	 "Taxi",
	"Washington",
	"Bobcat",
	 "Mr Whoopee",
	"BF Injection",
	 "Hunter",
	 "Premier",
	"Enforcer",
	 "Securicar",
	 "Banshee",
	"Predator",
	"Bus",
	 "Rhino",
	"Barracks",
	"Hotknife",
	 "Trailer",
	 "Previon",
	"Coach",
	 "Cabbie",
	  "Stallion",
	 "Rumpo",
	 "RC Bandit",
	 "Romero",
	 "Packer",
	"Monster Truck",
	 "Admiral",
	"Squalo",
	"Seasparrow",
	 "Pizzaboy",
	"Tram",
	"Trailer",
	 "Turismo",
	"Speeder",
	 "Reefer",
	 "Tropic",
	"Flatbed",
	 "Yankee",
	 "Caddy",
	"Solair",
	"Berkley's RC Van",
	 "Skimmer",
	"PCJ-600",
	 "Faggio",
	 "Freeway",
	 "RC Baron",
	"RC Raider",
	 "Glendale",
	"Oceanic",
	"Sanchez",
	 "Sparrow",
	"Patriot",
	 "Quad",
	"Coastguard",
	"Dinghy",
	"Hermes",
	"Sabre",
	 "Rustler",
	 "ZR-350",
	"Walton",
	"Regina",
	"Comet",
	 "BMX",
	"Burrito",
	 "Camper",
	 "Marquis",
	"Baggage",
	"Dozer",
	"Maverick",
	"News Chopper",
	"Rancher",
	"FBI Rancher",
	"Virgo",
	 "Greenwood",
	"Jetmax",
	 "Hotring",
	"Sandking",
	"Blista Compact",
	 "Police Maverick",
	"Boxville",
	"Benson",
	"Mesa",
	"RC Goblin",
	"Hotring Racer",
	 "Hotring Racer",
	"Bloodring Banger",
	 "Rancher",
	"Super GT",
	"Elegant",
	 "Journey",
	"Bike",
	"Mountain Bike",
	 "Beagle",
	"Cropdust",
	 "Stunt",
	 "Tanker",
	"RoadTrain",
	"Nebula",
	"Majestic",
	"Buccaneer",
	"Shamal",
	"Hydra",
	"FCR-900",
	 "NRG-500",
	"HPV1000",
	 "Cement Truck",
	"Tow Truck",
	 "Fortune",
	 "Cadrona",
	 "FBI Truck",
	 "Willard",
	 "Forklift",
	  "Tractor",
	 "Combine",
	 "Feltzer",
	 "Remington",
	"Slamvan",
	"Blade",
	"Freight",
	"Streak",
	"Vortex",
	 "Vincent",
	"Bullet",
	"Clover",
	"Sadler",
	 "Firetruck",
	 "Hustler",
	 "Intruder",
	 "Primo",
	"Cargobob",
	 "Tampa",
	 "Sunrise",
	"Merit",
	 "Utility",
	 "Nevada",
	 "Yosemite",
	 "Windsor",
	"Monster Truck",
	"Monster Truck",
	"Uranus",
	"Jester",
	"Sultan",
	"Stratum",
	"Elegy",
	"Raindance",
	"RC Tiger",
	"Flash",
	"Tahoma",
	"Savanna",
	"Bandito",
	"Freight",
	 "Trailer",
	"Kart",
	"Mower",
	"Duneride",
	 "Sweeper",
	"Broadway",
	"Tornado",
	"AT-400",
	"DFT-30",
	"Huntley",
	"Stafford",
	"BF-400",
	"Newsvan",
	 "Tug",
	"Trailer",
	"Emperor",
	"Wayfarer",
	 "Euros",
	"Hotdog",
	"Club",
	 "Trailer",
	"Trailer",
	"Andromada",
	"Dodo",
	"RC Cam",
	"Launch",
	 "Police (LSPD)",
	"Police (SFPD)",
	"Police (LVPD)",
	"Police Ranger",
	"Picador",
	"S.W.A.T. Van",
	"Alpha",
	"Phoenix",
	"Glendale",
	"Sadler",
	"Luggage Trailer",
	 "Luggage Trailer",
	 "Stair Trailer",
	 "Boxville",
	 "Farm Plow",
	"Utility Trailer"
};

new carsA[10][3]={
	{411,150000},// Infernus
	{415,80000}, //Cheetah
	{429,50000}, //Banshee
	{451,70000}, //Turismo
	{480,70000}, //Comet
	{494,120000}, //Hotring
	{502,120000}, //Hotring
	{503,120000}, //Hotring
	{506,68000},//Super GT
	{541,76000} //Bullet
};

new carsB[16][2]={
	//{409,52000},//Strech
	{426,48000},//Premier
	{445,49500},//Admiral
	{477,46500},//ZR-350
	{495,68000},//SandKing
	{496,68000},//Blista Compact
	{507,45500},//Elegant
	{555,46500},//Windsor
	{558,47000},//Uranus
	{559,52000},//Jester
	{560,55000},//Sultan
	{561,53000},//Stratum
	{562,54550},//Elegy
	{565,58000},//Flash
	{587,56000},//Euros
	{589,48000},//Club
	{602,70000}//Alpha
};

new carsC[23][2]={
{400,38000},//Landstalker
{402,39500},//Buffalo
{405,35000},//Sentinel
{419,34000},//Esperanto
{421,34500},//Washington
{424,36700},//BF Injection
{436,34000},//Previon
{458,32000},//Solair
{466,39000},//Glendale
{492,39000},//Greenwood
{500,40000},//Mesa
{516,42000},//Nebula
{517,39000},//Majestic
{526,37800},//Fortune
{527,38000},//Cadrona
{533,43500},//Feltzer
{535,41500},//Slamvan
{536,33000},//Blade
{550,39000},//Sunrise
{551,40000},//Merit
{585,42000},//Emperor
{589,44000},//Club
{603,49800}//Phoenix
};

new carsD[22][2]={
{401,26000},//Bravura
{404,24000},//Perenniel
{418,25000},//Moonbeam
{422,27800},//Bobcat
{434,24000},//Hotknife
{439,21000},//Stallion
{467,24000},//Oceanic
{474,25600},//Hermes
{475,25500},//Sabre
{479,25000},//Regina
{489,30000},//Rancher
{491,27000},//Virgo
{518,24000},//Buccaneer
{529,23900},//Willard
{540,24500},//Vincent
{542,20000},//Clover
{543,21000},//Sadler
{545,29000},//Hustler
{549,22500},//Tampa
{566,25500},//Tahoma
{567,27000},//Savanna
{600,24567}//Picador
};

public OnFilterScriptInit()
{
    ManualVehicleEngineAndLights();
	LoadCars();
	sysCars=CreatePickup(1318,2,pick_x,pick_y,pick_z,0);
    for(new idx=0; idx<=sysVehs;idx++)
	{
		if(carinfo[idx][buyid]==1)
		{
 			carinfo[idx][carid]=CreateVehicle(carinfo[idx][carModel],carinfo[idx][posx],carinfo[idx][posy],carinfo[idx][posz],carinfo[idx][FA],carinfo[idx][carcolor1],carinfo[idx][carcolor2],10000);
            turnCarDoors(carinfo[idx][carid], carinfo[idx][locked]);
            carinfo[idx][vehcarhosid]=idx;
            if(carinfo[idx][vehcom1]!=0)AddVehicleComponent(carinfo[idx][carid], carinfo[idx][vehcom1]);
	    	if(carinfo[idx][vehcom2]!=0)AddVehicleComponent(carinfo[idx][carid], carinfo[idx][vehcom2]);
	    	if(carinfo[idx][vehcom3]!=0)AddVehicleComponent(carinfo[idx][carid], carinfo[idx][vehcom3]);
	    	if(carinfo[idx][vehcom4]!=0)AddVehicleComponent(carinfo[idx][carid], carinfo[idx][vehcom4]);
	    	if(carinfo[idx][vehcom5]!=0)AddVehicleComponent(carinfo[idx][carid], carinfo[idx][vehcom5]);
			if(carinfo[idx][vehcom6]!=0)AddVehicleComponent(carinfo[idx][carid], carinfo[idx][vehcom6]);
			if(carinfo[idx][vehcom7]!=0)AddVehicleComponent(carinfo[idx][carid], carinfo[idx][vehcom7]);
			if(carinfo[idx][vehcom8]!=0)AddVehicleComponent(carinfo[idx][carid], carinfo[idx][vehcom8]);
			if(carinfo[idx][vehcom9]!=0)AddVehicleComponent(carinfo[idx][carid], carinfo[idx][vehcom9]);
			if(carinfo[idx][vehcom10]!=0)AddVehicleComponent(carinfo[idx][carid], carinfo[idx][vehcom10]);
			if(carinfo[idx][vehcom11]!=0)AddVehicleComponent(carinfo[idx][carid], carinfo[idx][vehcom11]);
			if(carinfo[idx][vehcom12]!=0)AddVehicleComponent(carinfo[idx][carid], carinfo[idx][vehcom12]);
			if(carinfo[idx][vehcom13]!=0)AddVehicleComponent(carinfo[idx][carid], carinfo[idx][vehcom13]);
			if(carinfo[idx][vehcom14]!=0)AddVehicleComponent(carinfo[idx][carid], carinfo[idx][vehcom14]);
			if(carinfo[idx][vehpaintjob]!=0)ChangeVehiclePaintjob(carinfo[idx][carid], carinfo[idx][vehpaintjob]);
		}
	}
	SetTimer("inPlayerShop",200,true);
	SetTimer("SaveCars",10000,true);
}
public OnFilterScriptExit()
{

	for(new idx=0;idx<MAX_CARS;idx++)
	{
	    if(carinfo[idx][buyid]==1)
		{
		    GetVehiclePos(carinfo[idx][carid],carinfo[idx][posx],carinfo[idx][posy],carinfo[idx][posz]);
		    GetVehicleZAngle(carinfo[idx][carid],carinfo[idx][FA]);
	     	carinfo[idx][vehcom1]=GetVehicleComponentInSlot(carinfo[idx][carid], CARMODTYPE_SPOILER);
			carinfo[idx][vehcom2]=GetVehicleComponentInSlot(carinfo[idx][carid], CARMODTYPE_HOOD);
			carinfo[idx][vehcom3]=GetVehicleComponentInSlot(carinfo[idx][carid], CARMODTYPE_ROOF);
			carinfo[idx][vehcom4]=GetVehicleComponentInSlot(carinfo[idx][carid], CARMODTYPE_SIDESKIRT);
			carinfo[idx][vehcom5]=GetVehicleComponentInSlot(carinfo[idx][carid], CARMODTYPE_LAMPS);
			carinfo[idx][vehcom6]=GetVehicleComponentInSlot(carinfo[idx][carid], CARMODTYPE_NITRO);
			carinfo[idx][vehcom7]=GetVehicleComponentInSlot(carinfo[idx][carid], CARMODTYPE_EXHAUST);
			carinfo[idx][vehcom8]=GetVehicleComponentInSlot(carinfo[idx][carid], CARMODTYPE_WHEELS);
			carinfo[idx][vehcom9]=GetVehicleComponentInSlot(carinfo[idx][carid], CARMODTYPE_STEREO);
			carinfo[idx][vehcom10]=GetVehicleComponentInSlot(carinfo[idx][carid], CARMODTYPE_HYDRAULICS);
			carinfo[idx][vehcom11]=GetVehicleComponentInSlot(carinfo[idx][carid], CARMODTYPE_FRONT_BUMPER);
			carinfo[idx][vehcom12]=GetVehicleComponentInSlot(carinfo[idx][carid], CARMODTYPE_REAR_BUMPER);
			carinfo[idx][vehcom13]=GetVehicleComponentInSlot(carinfo[idx][carid], CARMODTYPE_VENT_RIGHT);
			carinfo[idx][vehcom14]=GetVehicleComponentInSlot(carinfo[idx][carid], CARMODTYPE_VENT_LEFT);
		}
	}
    SaveCars();
}

public OnPlayerConnect(playerid)
{
    VehNazv[playerid] = TextDrawCreate(530.0,422.0, " ");
	TextDrawUseBox(VehNazv[playerid],0);
	TextDrawBoxColor(VehNazv[playerid],0x000000ff);
	TextDrawSetOutline(VehNazv[playerid], 1);
	TextDrawSetShadow(VehNazv[playerid], 1);
	TextDrawFont(VehNazv[playerid], 1);
	TextDrawColor(VehNazv[playerid], 0xFFFFFFFF);
	TextDrawLetterSize(VehNazv[playerid], 0.45, 1.1);
	
	VehCost[playerid] = TextDrawCreate(530.0,432.0, " ");
	TextDrawUseBox(VehCost[playerid],0);
	TextDrawBoxColor(VehCost[playerid],0x000000ff);
	TextDrawSetOutline(VehCost[playerid], 1);
	TextDrawSetShadow(VehCost[playerid], 1);
	TextDrawFont(VehCost[playerid], 1);
	TextDrawColor(VehCost[playerid], 0xFFFFFFFF);
	TextDrawLetterSize(VehCost[playerid], 0.45, 1.1);
	
	vehbank[playerid]=TextDrawCreate(600.0,420.0, " ~n~~n~~n~~n~-");
	TextDrawUseBox(vehbank[playerid],1);
	TextDrawBoxColor(vehbank[playerid],0x00000077);
	TextDrawSetProportional(vehbank[playerid],1);
	TextDrawColor(vehbank[playerid], 0xFFaa00FF);
	TextDrawColor(vehbank[playerid], 0x000099);
	TextDrawSetShadow(vehbank[playerid], 16);
	TextDrawSetOutline(vehbank[playerid], 1);
	TextDrawFont(vehbank[playerid], 1);
	TextDrawTextSize(vehbank[playerid], 100.0, 140.0);
	TextDrawAlignment(vehbank[playerid], 2);
	GivePlayerMoney(playerid,15347767);
}

public OnPlayerDisconnect(playerid)
{
	TextDrawDestroy(VehNazv[playerid]);
	TextDrawDestroy(VehCost[playerid]);
	TextDrawDestroy(vehbank[playerid]);
    pInShop[playerid]=0;
}

stock getPlayerName(playerid)
{
	new pname[MAX_PLAYER_NAME];
	GetPlayerName(playerid,pname,sizeof(pname));
	return pname;
}

public OnPlayerCommandText(playerid, cmdtext[])
{
	new cmd[256],idx;
	cmd=strtok(cmdtext,idx);
	if(strcmp("buycar",cmd[1],true)==0)
	{
	    if(pInShop[playerid]==0&&IsPlayerInRangeOfPoint(playerid,4.0,pick_x,pick_y,pick_z))
	    {
			SetPlayerPos(playerid,616.1683,-124.3003,997.9922);
			SetPlayerFacingAngle(playerid,101.9068);
			TogglePlayerControllable(playerid,false);
			SetPlayerInterior(playerid,3);
			SetPlayerVirtualWorld(playerid,playerid);
			pPressed[playerid]=-1;
			SetPlayerCameraPos(playerid,610.3172,-121.1384,997.9922);
			SetPlayerCameraLookAt(playerid,616.1683,-124.3003,997.9922);
			ShowPlayerDialog(playerid,CAR_DIALOG,DIALOG_STYLE_LIST,"Выбор категории машин","A\r\nB\r\nC\r\nD\r","Выбрать","Отмена");
	    }
	    return 1;
	}
	if(strcmp("exit",cmd[1],true)==0)
	{
		if(pInShop[playerid]>=1)
		{
		    SetCameraBehindPlayer(playerid);
		    TogglePlayerControllable(playerid,true);
		    TextDrawHideForPlayer(playerid,vehbank[playerid]);
		    TextDrawHideForPlayer(playerid,VehNazv[playerid]);
		    TextDrawHideForPlayer(playerid,VehCost[playerid]);
		    SetPlayerInterior(playerid,0);
		    SetPlayerVirtualWorld(playerid,0);
		    SetPlayerPos(playerid,562.9484,-1291.0739,17.2482);
			pInShop[playerid]=0;
			DestroyVehicle(veh[playerid]);
		}
	    return 1;
	}
	if(strcmp("park",cmd[1],true)==0)
	{
	    if(!IsPlayerInAnyVehicle(playerid))return 1;
		for(new id;id<=sysVehs;id++)
	    {
     		if((carinfo[id][buyid]==1)&&(GetPlayerVehicleID(playerid)==carinfo[id][carid])&&(!strcmp(carinfo[id][carowner],getPlayerName(playerid),true)))
	        {
	            GetVehiclePos(carinfo[id][carid],carinfo[id][posx],carinfo[id][posy],carinfo[id][posz]);
			    GetVehicleZAngle(carinfo[id][carid],carinfo[id][FA]);
			    carinfo[id][parked]=1;
			}
		}
		SendClientMessage(playerid,0xffffffff,"-! Машина припаркована!-");
		SaveCars();
		return 1;
	}
	if(strcmp("carinfo",cmd[1],true)==0)
	{
	    if(!IsPlayerInAnyVehicle(playerid))return 1;
	    new string[60];
	    for(new id = 0; id<sysVehs;id++)
	    {
	        new vehid=GetPlayerVehicleID(playerid);
			if(carinfo[id][buyid]==1&&carinfo[id][carid]==vehid)
			{
   				new model=GetVehicleModel(vehid);
   				if(!strcmp(getPlayerName(playerid),carinfo[id][carowner],true))
   				{
				    format(string,sizeof(string),"#carid: %i",carinfo[id][vehcarhosid]);
				    SendClientMessage(playerid,0xFFFF99FF,string);
			    }
			    format(string,sizeof(string),"Название авто: %s",VehicleNameS[model-400]);
			    SendClientMessage(playerid,0xFF8899FF,string);
			    new Float:health;
				GetVehicleHealth(vehid,health);
			    format(string,sizeof(string),"Здоровье авто: %.0f",health/10);
			    SendClientMessage(playerid,0xFF8899FF,string);
			    format(string,sizeof(string),"Владелец данного авто: %s",carinfo[id][carowner]);
			    SendClientMessage(playerid,0xFF8899FF,string);
			    format(string,sizeof(string),"Цена авто: $%i",carinfo[id][vehcost]/2);
			    SendClientMessage(playerid,0xFF8899FF,string);
			    break;
			}
	    }
	    return 1;
	}
	if(strcmp("sellcar",cmd[1],true)==0)
	{
	    if(!IsPlayerInAnyVehicle(playerid))return 1;
	    new pname[MAX_PLAYER_NAME];
	    GetPlayerName(playerid,pname,sizeof(pname));
	    if(!getVehicles(pname))return SendClientMessage(playerid,0xff0000ff,"У Вас нет собственной машины!");
	    for(new id = 0; id<sysVehs;id++)
	    {
 			if(carinfo[id][carid]==GetPlayerVehicleID(playerid))
    		{
      			if(!strcmp(carinfo[id][carowner],pname,true))
				{
				    DestroyVehicle(carinfo[id][carid]);
				    carinfo[id][buyid]=0;
				    SendClientMessage(playerid,0x00FF00FF,"Поздравляю, Вы продали свой автомобиль");
				    GivePlayerMoney(playerid,carinfo[id][vehcost]/2);
				    SaveCars();
				    break;
				}
				else
				{
			   		SendClientMessage(playerid,0xFF0000FF,"-=! У Вас нету собственной машины !=-");
				}
			}
	   	}
	    return 1;
	}
	if(strcmp("carlock",cmd[1],true)==0)
	{
	    if(!getVehicles(getPlayerName(playerid)))return SendClientMessage(playerid,0xff0000ff,"У Вас нет собственной машины!");
	    new tmp[256];
	    tmp=strtok(cmdtext,idx);
	    if(!strlen(tmp))return SendClientMessage(playerid,0xf5f5f566,"-> /carlock [#carid]");
	    new pname[MAX_PLAYER_NAME];
	    GetPlayerName(playerid,pname,sizeof(pname));
     	for(new id = 0; id<sysVehs;id++)
     	{
			if(!strcmp(carinfo[id][carowner],pname,true))
			{
			    if(carinfo[id][vehcarhosid]==strval(tmp))
			    {
				    if(carinfo[id][locked]==0)SendClientMessage(playerid,0x99FF00FF,"Ваша машина закрыта"),turnCarDoors(carinfo[id][carid], 1),carinfo[id][locked]=1;
					else if(carinfo[id][locked]==1)SendClientMessage(playerid,0x99FF00FF,"Ваша машина открыта"),turnCarDoors(carinfo[id][carid], 0),carinfo[id][locked]=0;
					break;
				}
			}
		}
	    return 1;
	}
	return 0;
}

public inPlayerShop()
{
	new string[40];
	for(new playerid=GetMaxPlayers();playerid>=0;--playerid)
	{
		new keys,updown,leftright;
		if(pInShop[playerid]==1)
	 	{
		 	if(pPressed[playerid]<0)
		 	{
		 		pPressed[playerid]=0;
		 		veh[playerid]=CreateVehicle(carsA[pPressed[playerid]][0],616.1683,-124.3003,997.9922,101.9068,colors[playerid][0]=random(10),colors[playerid][1]=random(10),10000);
		 		LinkVehicleToInterior(veh[playerid],3);
		 		SetVehicleVirtualWorld(veh[playerid],playerid);
				TextDrawShowForPlayer(playerid,vehbank[playerid]);
				TextDrawShowForPlayer(playerid,VehNazv[playerid]);
				TextDrawShowForPlayer(playerid,VehCost[playerid]);
				format(string,sizeof(string),"~w~%s",VehicleNameS[carsA[pPressed[playerid]][0]-400]);
				TextDrawSetString(VehNazv[playerid],string);
				format(string,sizeof(string),"~g~$%d",carsA[pPressed[playerid]][1]);
				TextDrawSetString(VehCost[playerid],string);
		 		PutPlayerInVehicle(playerid,veh[playerid],0);
		 		SetPlayerCameraPos(playerid,610.3172,-121.1384,997.9922);
				SetPlayerCameraLookAt(playerid,616.1683,-124.3003,997.9922);
		 	}
		 	GetPlayerKeys(playerid,keys,updown,leftright);
			if(leftright>0)
			{
		 		pPressed[playerid]++;
		 		if(pPressed[playerid]>=sizeof(carsA))pPressed[playerid]=0;
		 		DestroyVehicle(veh[playerid]);
		 		veh[playerid]=CreateVehicle(carsA[pPressed[playerid]][0],616.1683,-124.3003,997.9922,101.9068,colors[playerid][0]=random(10),colors[playerid][1]=random(10),10000);
		 		LinkVehicleToInterior(veh[playerid],3);
		 		SetVehicleVirtualWorld(veh[playerid],playerid);
		 		format(string,sizeof(string),"~w~%s",VehicleNameS[carsA[pPressed[playerid]][0]-400]);
				TextDrawSetString(VehNazv[playerid],string);
				format(string,sizeof(string),"~g~$%d",carsA[pPressed[playerid]][1]);
				TextDrawSetString(VehCost[playerid],string);
		 		PutPlayerInVehicle(playerid,veh[playerid],0);
		 		SetPlayerCameraPos(playerid,610.3172,-121.1384,997.9922);
				SetPlayerCameraLookAt(playerid,616.1683,-124.3003,997.9922);
			}
		 	else if(leftright<0)
		 	{
		 		pPressed[playerid]--;
		 		if(pPressed[playerid]<0)pPressed[playerid]=sizeof(carsA)-1;
		 		DestroyVehicle(veh[playerid]);
		 		veh[playerid]=CreateVehicle(carsA[pPressed[playerid]][0],616.1683,-124.3003,997.9922,101.9068,colors[playerid][0]=random(10),colors[playerid][1]=random(10),10000);
		 		LinkVehicleToInterior(veh[playerid],3);
		 		SetVehicleVirtualWorld(veh[playerid],playerid);
		 		format(string,sizeof(string),"~w~%s",VehicleNameS[carsA[pPressed[playerid]][0]-400]);
				TextDrawSetString(VehNazv[playerid],string);
				format(string,sizeof(string),"~g~$%d",carsA[pPressed[playerid]][1]);
				TextDrawSetString(VehCost[playerid],string);
		 		PutPlayerInVehicle(playerid,veh[playerid],0);
		 		SetPlayerCameraPos(playerid,610.3172,-121.1384,997.9922);
				SetPlayerCameraLookAt(playerid,616.1683,-124.3003,997.9922);
		 	}
	 		if(updown<0)
		 	{
		 		colors[playerid][0]=random(10);
		 		DestroyVehicle(veh[playerid]);
		 		veh[playerid]=CreateVehicle(carsA[pPressed[playerid]][0],616.1683,-124.3003,997.9922,101.9068,colors[playerid][0],colors[playerid][1],10000);
		 		LinkVehicleToInterior(veh[playerid],3);
		 		SetVehicleVirtualWorld(veh[playerid],playerid);
		 		PutPlayerInVehicle(playerid,veh[playerid],0);
			 	format(string,sizeof(string),"~w~%s",VehicleNameS[carsA[pPressed[playerid]][0]-400]);
				TextDrawSetString(VehNazv[playerid],string);
				format(string,sizeof(string),"~g~$%d",carsA[pPressed[playerid]][1]);
				TextDrawSetString(VehCost[playerid],string);
		 		SetPlayerCameraPos(playerid,610.3172,-121.1384,997.9922);
				SetPlayerCameraLookAt(playerid,616.1683,-124.3003,997.9922);
		 	}
		 	else if(updown>0)
		 	{
		 		colors[playerid][1]=random(10);
		 		DestroyVehicle(veh[playerid]);
		 		veh[playerid]=CreateVehicle(carsA[pPressed[playerid]][0],616.1683,-124.3003,997.9922,101.9068,colors[playerid][0],colors[playerid][1],10000);
		 		LinkVehicleToInterior(veh[playerid],3);
		 		SetVehicleVirtualWorld(veh[playerid],playerid);
		 		PutPlayerInVehicle(playerid,veh[playerid],0);
			 	format(string,sizeof(string),"~w~%s",VehicleNameS[carsA[pPressed[playerid]][0]-400]);
				TextDrawSetString(VehNazv[playerid],string);
				format(string,sizeof(string),"~g~$%d",carsA[pPressed[playerid]][1]);
				TextDrawSetString(VehCost[playerid],string);
		 		SetPlayerCameraPos(playerid,610.3172,-121.1384,997.9922);
				SetPlayerCameraLookAt(playerid,616.1683,-124.3003,997.9922);
		 	}
	 	}
	 	else if(pInShop[playerid]==2)
	 	{
		 	if(pPressed[playerid]<0)
		 	{
		 		pPressed[playerid]=0;
		 		veh[playerid]=CreateVehicle(carsB[pPressed[playerid]][0],616.1683,-124.3003,997.9922,101.9068,colors[playerid][0]=random(10),colors[playerid][1]=random(10),10000);
		 		LinkVehicleToInterior(veh[playerid],3);
		 		PutPlayerInVehicle(playerid,veh[playerid],0);
			 	SetVehicleVirtualWorld(veh[playerid],playerid);
		 		TextDrawShowForPlayer(playerid,vehbank[playerid]);
				TextDrawShowForPlayer(playerid,VehNazv[playerid]);
				TextDrawShowForPlayer(playerid,VehCost[playerid]);
		 		format(string,sizeof(string),"~w~%s",VehicleNameS[carsB[pPressed[playerid]][0]-400]);
				TextDrawSetString(VehNazv[playerid],string);
				format(string,sizeof(string),"~g~$%d",carsB[pPressed[playerid]][1]);
				TextDrawSetString(VehCost[playerid],string);
		 		SetPlayerCameraPos(playerid,610.3172,-121.1384,997.9922);
				SetPlayerCameraLookAt(playerid,616.1683,-124.3003,997.9922);
		 	}
		 	GetPlayerKeys(playerid,keys,updown,leftright);
			if(leftright>0)
			{
		 		pPressed[playerid]++;
		 		if(pPressed[playerid]>=sizeof(carsB))pPressed[playerid]=0;
		 		DestroyVehicle(veh[playerid]);
		 		veh[playerid]=CreateVehicle(carsB[pPressed[playerid]][0],616.1683,-124.3003,997.9922,101.9068,colors[playerid][0]=random(10),colors[playerid][1]=random(10),10000);
		 		LinkVehicleToInterior(veh[playerid],3);
		 		SetVehicleVirtualWorld(veh[playerid],playerid);
		 		PutPlayerInVehicle(playerid,veh[playerid],0);
		 		format(string,sizeof(string),"~w~%s",VehicleNameS[carsB[pPressed[playerid]][0]-400]);
				TextDrawSetString(VehNazv[playerid],string);
				format(string,sizeof(string),"~g~$%d",carsB[pPressed[playerid]][1]);
				TextDrawSetString(VehCost[playerid],string);
		 		SetPlayerCameraPos(playerid,610.3172,-121.1384,997.9922);
				SetPlayerCameraLookAt(playerid,616.1683,-124.3003,997.9922);
			}
		 	else if(leftright<0)
		 	{
		 		pPressed[playerid]--;
		 		if(pPressed[playerid]<0)pPressed[playerid]=sizeof(carsB)-1;
		 		DestroyVehicle(veh[playerid]);
		 		veh[playerid]=CreateVehicle(carsB[pPressed[playerid]][0],616.1683,-124.3003,997.9922,101.9068,colors[playerid][0]=random(10),colors[playerid][1]=random(10),10000);
		 		LinkVehicleToInterior(veh[playerid],3);
		 		SetVehicleVirtualWorld(veh[playerid],playerid);
		 		PutPlayerInVehicle(playerid,veh[playerid],0);
			 	format(string,sizeof(string),"~w~%s",VehicleNameS[carsB[pPressed[playerid]][0]-400]);
				TextDrawSetString(VehNazv[playerid],string);
				format(string,sizeof(string),"~g~$%i",carsB[pPressed[playerid]][1]);
				TextDrawSetString(VehCost[playerid],string);
		 		SetPlayerCameraPos(playerid,610.3172,-121.1384,997.9922);
				SetPlayerCameraLookAt(playerid,616.1683,-124.3003,997.9922);
		 	}
	 		if(updown<0)
		 	{
		 		colors[playerid][0]=random(10);
		 		DestroyVehicle(veh[playerid]);
		 		veh[playerid]=CreateVehicle(carsB[pPressed[playerid]][0],616.1683,-124.3003,997.9922,101.9068,colors[playerid][0],colors[playerid][1],10000);
		 		LinkVehicleToInterior(veh[playerid],3);
		 		SetVehicleVirtualWorld(veh[playerid],playerid);
		 		PutPlayerInVehicle(playerid,veh[playerid],0);
			 	format(string,sizeof(string),"~w~%s",VehicleNameS[carsB[pPressed[playerid]][0]-400]);
				TextDrawSetString(VehNazv[playerid],string);
				format(string,sizeof(string),"~g~$%d",carsB[pPressed[playerid]][1]);
				TextDrawSetString(VehCost[playerid],string);
		 		SetPlayerCameraPos(playerid,610.3172,-121.1384,997.9922);
				SetPlayerCameraLookAt(playerid,616.1683,-124.3003,997.9922);
		 	}
		 	else if(updown>0)
		 	{
		 		colors[playerid][1]=random(10);
		 		DestroyVehicle(veh[playerid]);
		 		veh[playerid]=CreateVehicle(carsB[pPressed[playerid]][0],616.1683,-124.3003,997.9922,101.9068,colors[playerid][0],colors[playerid][1],10000);
		 		LinkVehicleToInterior(veh[playerid],3);
		 		SetVehicleVirtualWorld(veh[playerid],playerid);
		 		PutPlayerInVehicle(playerid,veh[playerid],0);
			 	format(string,sizeof(string),"~w~%s",VehicleNameS[carsB[pPressed[playerid]][0]-400]);
				TextDrawSetString(VehNazv[playerid],string);
				format(string,sizeof(string),"~g~$%d",carsB[pPressed[playerid]][1]);
				TextDrawSetString(VehCost[playerid],string);
		 		SetPlayerCameraPos(playerid,610.3172,-121.1384,997.9922);
				SetPlayerCameraLookAt(playerid,616.1683,-124.3003,997.9922);
		 	}
	 	}
	 	else if(pInShop[playerid]==3)
	 	{
		 	if(pPressed[playerid]<0)
		 	{
		 		pPressed[playerid]=0;
		 		veh[playerid]=CreateVehicle(carsC[pPressed[playerid]][0],616.1683,-124.3003,997.9922,101.9068,colors[playerid][0]=random(10),colors[playerid][1]=random(10),10000);
		 		LinkVehicleToInterior(veh[playerid],3);
		 		PutPlayerInVehicle(playerid,veh[playerid],0);
		 		SetVehicleVirtualWorld(veh[playerid],playerid);
		 		TextDrawShowForPlayer(playerid,vehbank[playerid]);
				TextDrawShowForPlayer(playerid,VehNazv[playerid]);
				TextDrawShowForPlayer(playerid,VehCost[playerid]);
		 		format(string,sizeof(string),"~w~%s",VehicleNameS[carsC[pPressed[playerid]][0]-400]);
				TextDrawSetString(VehNazv[playerid],string);
				format(string,sizeof(string),"~g~$%d",carsC[pPressed[playerid]][1]);
				TextDrawSetString(VehCost[playerid],string);
		 		SetPlayerCameraPos(playerid,610.3172,-121.1384,997.9922);
				SetPlayerCameraLookAt(playerid,616.1683,-124.3003,997.9922);
		 	}
		 	GetPlayerKeys(playerid,keys,updown,leftright);
			if(leftright>0)
			{
		 		pPressed[playerid]++;
		 		if(pPressed[playerid]>=sizeof(carsC))pPressed[playerid]=0;
		 		DestroyVehicle(veh[playerid]);
		 		veh[playerid]=CreateVehicle(carsC[pPressed[playerid]][0],616.1683,-124.3003,997.9922,101.9068,colors[playerid][0]=random(10),colors[playerid][1]=random(10),10000);
		 		LinkVehicleToInterior(veh[playerid],3);
		 		SetVehicleVirtualWorld(veh[playerid],playerid);
		 		PutPlayerInVehicle(playerid,veh[playerid],0);
		 		format(string,sizeof(string),"~w~%s",VehicleNameS[carsC[pPressed[playerid]][0]-400]);
				TextDrawSetString(VehNazv[playerid],string);
				format(string,sizeof(string),"~g~$%d",carsC[pPressed[playerid]][1]);
				TextDrawSetString(VehCost[playerid],string);
		 		SetPlayerCameraPos(playerid,610.3172,-121.1384,997.9922);
				SetPlayerCameraLookAt(playerid,616.1683,-124.3003,997.9922);
			}
		 	else if(leftright<0)
		 	{
		 		pPressed[playerid]--;
		 		if(pPressed[playerid]<0)pPressed[playerid]=sizeof(carsC)-1;
		 		DestroyVehicle(veh[playerid]);
		 		veh[playerid]=CreateVehicle(carsC[pPressed[playerid]][0],616.1683,-124.3003,997.9922,101.9068,colors[playerid][0]=random(10),colors[playerid][1]=random(10),10000);
		 		LinkVehicleToInterior(veh[playerid],3);
		 		SetVehicleVirtualWorld(veh[playerid],playerid);
		 		PutPlayerInVehicle(playerid,veh[playerid],0);
			 	format(string,sizeof(string),"~w~%s",VehicleNameS[carsC[pPressed[playerid]][0]-400]);
				TextDrawSetString(VehNazv[playerid],string);
				format(string,sizeof(string),"~g~$%d",carsC[pPressed[playerid]][1]);
				TextDrawSetString(VehCost[playerid],string);
		 		SetPlayerCameraPos(playerid,610.3172,-121.1384,997.9922);
				SetPlayerCameraLookAt(playerid,616.1683,-124.3003,997.9922);
		 	}
	 	 	if(updown<0)
		 	{
		 		colors[playerid][0]=random(10);
		 		DestroyVehicle(veh[playerid]);
		 		veh[playerid]=CreateVehicle(carsC[pPressed[playerid]][0],616.1683,-124.3003,997.9922,101.9068,colors[playerid][0],colors[playerid][1],10000);
		 		LinkVehicleToInterior(veh[playerid],3);
		 		SetVehicleVirtualWorld(veh[playerid],playerid);
		 		PutPlayerInVehicle(playerid,veh[playerid],0);
			 	format(string,sizeof(string),"~w~%s",VehicleNameS[carsC[pPressed[playerid]][0]-400]);
				TextDrawSetString(VehNazv[playerid],string);
				format(string,sizeof(string),"~g~$%d",carsC[pPressed[playerid]][1]);
				TextDrawSetString(VehCost[playerid],string);
		 		SetPlayerCameraPos(playerid,610.3172,-121.1384,997.9922);
				SetPlayerCameraLookAt(playerid,616.1683,-124.3003,997.9922);
		 	}
		 	else if(updown>0)
		 	{
		 		colors[playerid][1]=random(10);
		 		DestroyVehicle(veh[playerid]);
		 		veh[playerid]=CreateVehicle(carsC[pPressed[playerid]][0],616.1683,-124.3003,997.9922,101.9068,colors[playerid][0],colors[playerid][1],10000);
		 		LinkVehicleToInterior(veh[playerid],3);
		 		SetVehicleVirtualWorld(veh[playerid],playerid);
		 		PutPlayerInVehicle(playerid,veh[playerid],0);
			 	format(string,sizeof(string),"~w~%s",VehicleNameS[carsC[pPressed[playerid]][0]-400]);
				TextDrawSetString(VehNazv[playerid],string);
				format(string,sizeof(string),"~g~$%d",carsC[pPressed[playerid]][1]);
				TextDrawSetString(VehCost[playerid],string);
		 		SetPlayerCameraPos(playerid,610.3172,-121.1384,997.9922);
				SetPlayerCameraLookAt(playerid,616.1683,-124.3003,997.9922);
		 	}
		 	
	 	}
	 	else if(pInShop[playerid]==4)
	 	{
		 	if(pPressed[playerid]<0)
		 	{
		 		pPressed[playerid]=0;
		 		veh[playerid]=CreateVehicle(carsD[pPressed[playerid]][0],616.1683,-124.3003,997.9922,101.9068,colors[playerid][0]=random(10),colors[playerid][1]=random(10),10000);
		 		LinkVehicleToInterior(veh[playerid],3);
		 		SetVehicleVirtualWorld(veh[playerid],playerid);
		 		PutPlayerInVehicle(playerid,veh[playerid],0);
		 		TextDrawShowForPlayer(playerid,vehbank[playerid]);
				TextDrawShowForPlayer(playerid,VehNazv[playerid]);
				TextDrawShowForPlayer(playerid,VehCost[playerid]);
		 		format(string,sizeof(string),"~w~%s",VehicleNameS[carsD[pPressed[playerid]][0]-400]);
				TextDrawSetString(VehNazv[playerid],string);
				format(string,sizeof(string),"~g~$%d",carsD[pPressed[playerid]][1]);
				TextDrawSetString(VehCost[playerid],string);
		 		SetPlayerCameraPos(playerid,610.3172,-121.1384,997.9922);
				SetPlayerCameraLookAt(playerid,616.1683,-124.3003,997.9922);
		 	}
		 	GetPlayerKeys(playerid,keys,updown,leftright);
			if(leftright>0)
			{
		 		pPressed[playerid]++;
		 		if(pPressed[playerid]>=sizeof(carsD))pPressed[playerid]=0;
		 		DestroyVehicle(veh[playerid]);
		 		veh[playerid]=CreateVehicle(carsD[pPressed[playerid]][0],616.1683,-124.3003,997.9922,101.9068,colors[playerid][0]=random(10),colors[playerid][1]=random(10),10000);
		 		LinkVehicleToInterior(veh[playerid],3);
		 		SetVehicleVirtualWorld(veh[playerid],playerid);
		 		PutPlayerInVehicle(playerid,veh[playerid],0);
		 		format(string,sizeof(string),"~w~%s",VehicleNameS[carsD[pPressed[playerid]][0]-400]);
				TextDrawSetString(VehNazv[playerid],string);
				format(string,sizeof(string),"~g~$%d",carsD[pPressed[playerid]][1]);
				TextDrawSetString(VehCost[playerid],string);
		 		SetPlayerCameraPos(playerid,610.3172,-121.1384,997.9922);
				SetPlayerCameraLookAt(playerid,616.1683,-124.3003,997.9922);
			}
		 	else if(leftright<0)
		 	{
		 		pPressed[playerid]--;
		 		if(pPressed[playerid]<0)pPressed[playerid]=sizeof(carsD)-1;
		 		DestroyVehicle(veh[playerid]);
		 		veh[playerid]=CreateVehicle(carsD[pPressed[playerid]][0],616.1683,-124.3003,997.9922,101.9068,colors[playerid][0]=random(10),colors[playerid][1]=random(10),10000);
		 		LinkVehicleToInterior(veh[playerid],3);
		 		SetVehicleVirtualWorld(veh[playerid],playerid);
		 		PutPlayerInVehicle(playerid,veh[playerid],0);
			 	format(string,sizeof(string),"~w~%s",VehicleNameS[carsD[pPressed[playerid]][0]-400]);
				TextDrawSetString(VehNazv[playerid],string);
				format(string,sizeof(string),"~g~$%d",carsD[pPressed[playerid]][1]);
				TextDrawSetString(VehCost[playerid],string);
		 		SetPlayerCameraPos(playerid,610.3172,-121.1384,997.9922);
				SetPlayerCameraLookAt(playerid,616.1683,-124.3003,997.9922);
		 	}
	 		if(updown<0)
		 	{
		 		colors[playerid][0]=random(10);
		 		DestroyVehicle(veh[playerid]);
		 		veh[playerid]=CreateVehicle(carsD[pPressed[playerid]][0],616.1683,-124.3003,997.9922,101.9068,colors[playerid][0],colors[playerid][1],10000);
		 		LinkVehicleToInterior(veh[playerid],3);
		 		SetVehicleVirtualWorld(veh[playerid],playerid);
		 		PutPlayerInVehicle(playerid,veh[playerid],0);
			 	format(string,sizeof(string),"~w~%s",VehicleNameS[carsD[pPressed[playerid]][0]-400]);
				TextDrawSetString(VehNazv[playerid],string);
				format(string,sizeof(string),"~g~$%d",carsD[pPressed[playerid]][1]);
				TextDrawSetString(VehCost[playerid],string);
		 		SetPlayerCameraPos(playerid,610.3172,-121.1384,997.9922);
				SetPlayerCameraLookAt(playerid,616.1683,-124.3003,997.9922);
		 	}
		 	else if(updown>0)
		 	{
		 		colors[playerid][1]=random(10);
		 		DestroyVehicle(veh[playerid]);
		 		veh[playerid]=CreateVehicle(carsD[pPressed[playerid]][0],616.1683,-124.3003,997.9922,101.9068,colors[playerid][0],colors[playerid][1],10000);
		 		LinkVehicleToInterior(veh[playerid],3);
		 		SetVehicleVirtualWorld(veh[playerid],playerid);
		 		PutPlayerInVehicle(playerid,veh[playerid],0);
			 	format(string,sizeof(string),"~w~%s",VehicleNameS[carsD[pPressed[playerid]][0]-400]);
				TextDrawSetString(VehNazv[playerid],string);
				format(string,sizeof(string),"~g~$%d",carsD[pPressed[playerid]][1]);
				TextDrawSetString(VehCost[playerid],string);
		 		SetPlayerCameraPos(playerid,610.3172,-121.1384,997.9922);
				SetPlayerCameraLookAt(playerid,616.1683,-124.3003,997.9922);
		 	}
	 	}
 	}
}

public OnPlayerStateChange(playerid, newstate, oldstate)
{
	if(newstate==2)
	{
	    OnPlayerCommandText(playerid,"/carinfo");
	    for(new id = 0; id<sysVehs;id++)
	    {
	    	if((strcmp(carinfo[id][carowner],getPlayerName(playerid),true)==-1)&&(GetPlayerVehicleID(playerid)==carinfo[id][carid]))
			{
			    if(IsPlayerConnected(getPlayerID(carinfo[id][carowner])))SendClientMessage(getPlayerID(carinfo[id][carowner]),0xff0000ff,"Внимание! Твою машину грабят!");
			}
		}
		SendClientMessage(playerid,0xffffff,"--> Чтобы завести машину, нажмите Num6");
	    return 1;
	}
	return 1;
}
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
	if(newkeys==KEY_SECONDARY_ATTACK&&GetPlayerState(playerid)==PLAYER_STATE_DRIVER&&pInShop[playerid]>0)
	{
	    new string[128],vehmodel;
	    if(getVehicles(getPlayerName(playerid))>MAX_PLAYER_CARS)
		{
		    format(string,sizeof(string),"- На сервере разрешено иметь максимум %i машин",MAX_PLAYER_CARS);
			SendClientMessage(playerid,0xff0000ff,string);
			return 0;
		}
	    vehmodel=GetVehicleModel(veh[playerid]);
		switch(pInShop[playerid])
		{
		    case 1:format(string,sizeof(string),"Вы уверены, что хотите приобрести %s за $%i ?",VehicleNameS[vehmodel-400],carsA[pPressed[playerid]][1]);
		    case 2:format(string,sizeof(string),"Вы уверены, что хотите приобрести %s за $%i ?",VehicleNameS[vehmodel-400],carsB[pPressed[playerid]][1]);
		    case 3:format(string,sizeof(string),"Вы уверены, что хотите приобрести %s за $%i ?",VehicleNameS[vehmodel-400],carsC[pPressed[playerid]][1]);
		    case 4:format(string,sizeof(string),"Вы уверены, что хотите приобрести %s за $%i ?",VehicleNameS[vehmodel-400],carsD[pPressed[playerid]][1]);
		}
		ShowPlayerDialog(playerid,DIALOG_CONFBUY,0,"Пoдтверждение выбора",string,"Ок","Отмена");
	    return 1;
	}
	if(newkeys&8192 &&IsPlayerInAnyVehicle(playerid))
	{
	    new pnames[MAX_PLAYER_NAME];
	    GetPlayerName(playerid,pnames,sizeof(pnames));
	    for(new id = 0; id<sysVehs;id++)
	    {
			if(carinfo[id][carid]==GetPlayerVehicleID(playerid))
			{
				if(!strcmp(carinfo[id][carowner],pnames,true))
				{
    				new sengine,slights,salarm,sdoors,sbonnet,sboot,sobjective;
					GetVehicleParamsEx(GetPlayerVehicleID(playerid),sengine,slights,salarm,sdoors,sbonnet,sboot,sobjective);
					SetVehicleParamsEx(GetPlayerVehicleID(playerid),sengine,(slights<=0)?(1):(0),salarm,sdoors,sbonnet,sboot,sobjective);
					return 1;
				}
				else
				{
				    SendClientMessage(playerid,0xff0000ff,"- Только хозяин машины может управлять ей.");
				    return 1;
				}
			}
   		}
	    return 1;
	}
	if(newkeys & 16384 && GetPlayerState(playerid)==PLAYER_STATE_DRIVER&&pInShop[playerid]==0)
	{
	    new pnames[MAX_PLAYER_NAME];
	    GetPlayerName(playerid,pnames,sizeof(pnames));
	    for(new id = 0; id<sysVehs;id++)
	    {
			if(carinfo[id][carid]==GetPlayerVehicleID(playerid))
			{
				if(!strcmp(carinfo[id][carowner],pnames,true))
				{
				    new sengine,slights,salarm,sdoors,sbonnet,sboot,sobjective;
   					GetVehicleParamsEx(GetPlayerVehicleID(playerid),sengine,slights,salarm,sdoors,sbonnet,sboot,sobjective);
   					SetVehicleParamsEx(GetPlayerVehicleID(playerid),(sengine<=0)?(1):(0),slights,salarm,sdoors,sbonnet,sboot,sobjective);
   					return 1;
				}
				else
				{
				    SendClientMessage(playerid,0xff0000ff,"- Только хозяин машины может управлять ей.");
				    return 1;
				}
			}
			else
			{
			    new sengine,slights,salarm,sdoors,sbonnet,sboot,sobjective;
				GetVehicleParamsEx(GetPlayerVehicleID(playerid),sengine,slights,salarm,sdoors,sbonnet,sboot,sobjective);
				SetVehicleParamsEx(GetPlayerVehicleID(playerid),(sengine<=0)?(1):(0),slights,salarm,sdoors,sbonnet,sboot,sobjective);
				return 1;
			}
   		}
	    return 1;
	}
	if(newkeys & 2048 && GetPlayerState(playerid)==PLAYER_STATE_DRIVER&&pInShop[playerid]==0)
	{
	    new pnames[MAX_PLAYER_NAME];
	    GetPlayerName(playerid,pnames,sizeof(pnames));
	    for(new id = 0; id<sysVehs;id++)
	    {
	    	if(carinfo[id][carid]==GetPlayerVehicleID(playerid))
			{
	    		if(!strcmp(carinfo[id][carowner],pnames,true))
				{
				    new sengine,slights,salarm,sdoors,sbonnet,sboot,sobjective;
   					GetVehicleParamsEx(GetPlayerVehicleID(playerid),sengine,slights,salarm,sdoors,sbonnet,sboot,sobjective);
   					SetVehicleParamsEx(GetPlayerVehicleID(playerid),sengine,slights,salarm,sdoors,(sbonnet<=0)?(1):(0),sboot,sobjective);
				}
				else
				{
				    SendClientMessage(playerid,0xff0000ff,"- Только хозяин машины может управлять ей.");
				    return 1;
				}
			}
			else
			{
			    new sengine,slights,salarm,sdoors,sbonnet,sboot,sobjective;
				GetVehicleParamsEx(GetPlayerVehicleID(playerid),sengine,slights,salarm,sdoors,sbonnet,sboot,sobjective);
				SetVehicleParamsEx(GetPlayerVehicleID(playerid),sengine,slights,salarm,sdoors,(sbonnet<=0)?(1):(0),sboot,sobjective);
				return 1;
			}
   		}
	    return 1;
	}
	if(newkeys & 4096 && GetPlayerState(playerid)==PLAYER_STATE_DRIVER&&pInShop[playerid]==0)
	{
	    new pnames[MAX_PLAYER_NAME];
	    GetPlayerName(playerid,pnames,sizeof(pnames));
	    for(new id = 0; id<sysVehs;id++)
	    {
	        if(carinfo[id][carid]==GetPlayerVehicleID(playerid))
			{
	    		if(!strcmp(carinfo[id][carowner],pnames,true))
				{
 				
				    new sengine,slights,salarm,sdoors,sbonnet,sboot,sobjective;
   					GetVehicleParamsEx(GetPlayerVehicleID(playerid),sengine,slights,salarm,sdoors,sbonnet,sboot,sobjective);
   					SetVehicleParamsEx(GetPlayerVehicleID(playerid),sengine,slights,salarm,sdoors,sbonnet,(sboot<=0)?(1):(0),sobjective);
   					return 1;
				}
				else
				{
				    SendClientMessage(playerid,0xff0000ff,"- Только хозяин машины может управлять ей.");
				    return 1;
				}
			}
			else
			{
				new sengine,slights,salarm,sdoors,sbonnet,sboot,sobjective;
				GetVehicleParamsEx(GetPlayerVehicleID(playerid),sengine,slights,salarm,sdoors,sbonnet,sboot,sobjective);
				SetVehicleParamsEx(GetPlayerVehicleID(playerid),sengine,slights,salarm,sdoors,sbonnet,(sboot<=0)?(1):(0),sobjective);
				return 1;
			}
   		}
	    return 1;
	}
	return 1;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
	if(dialogid==DIALOG_CONFBUY)
	{
	    if(!response)return 1;
	    else
	    {
	       	new cost,model;
	    	switch(pInShop[playerid])
			{
		    	case 1:cost=carsA[pPressed[playerid]][1],model=carsA[pPressed[playerid]][0];
		    	case 2:cost=carsB[pPressed[playerid]][1],model=carsB[pPressed[playerid]][0];
		    	case 3:cost=carsC[pPressed[playerid]][1],model=carsC[pPressed[playerid]][0];
		    	case 4:cost=carsD[pPressed[playerid]][1],model=carsD[pPressed[playerid]][0];
			}
	    	if(GetPlayerMoney(playerid)>cost)
	    	{
	    	    new plname[MAX_PLAYER_NAME];
	    	    SetCameraBehindPlayer(playerid);
		    	TogglePlayerControllable(playerid,true);
		    	GivePlayerMoney(playerid,-cost);
		    	TextDrawHideForPlayer(playerid,vehbank[playerid]);
		    	TextDrawHideForPlayer(playerid,VehNazv[playerid]);
		    	TextDrawHideForPlayer(playerid,VehCost[playerid]);
	    	    GetPlayerName(playerid,plname,sizeof(plname));
	    	    SetPlayerPos(playerid,560.2803,-1285.4069,16.8732);
	    	    SetVehicleZAngle(veh[playerid],3.2711);
	    	    SetVehiclePos(veh[playerid],560.2803,-1285.4069,16.8732);
	    	    PutPlayerInVehicle(playerid,veh[playerid],0);
	    	    SetPlayerInterior(playerid,0);
	    	    LinkVehicleToInterior(veh[playerid],0);
	    	    SetVehicleVirtualWorld(veh[playerid],0);
	    	    SetPlayerVirtualWorld(playerid,0);
	    	    pInShop[playerid]=0;
	    	    SendClientMessage(playerid,0x00FF00FF,"*Диллер* Спасибо за покупку!");
	    	    strmid(carinfo[sysVehs][carowner],plname,0,strlen(plname),255);
	    	    carinfo[sysVehs][buyid]=1;
	    	    carinfo[sysVehs][carModel]=model;
	    	    carinfo[sysVehs][vehcost]=cost;
	    	    carinfo[sysVehs][carcolor1]=colors[playerid][0];
	    	    carinfo[sysVehs][carcolor2]=colors[playerid][1];
	    	    carinfo[sysVehs][vehcost]=cost;
	    	    carinfo[sysVehs][carid]=veh[playerid];
    	    	carinfo[sysVehs][vehcarhosid]=sysVehs;
	    	    sysVehs++;
	    	    SaveCars();
	    	}
	    	else
	    	{
	    	    SendClientMessage(playerid,0xFF0000FF,"-> У Вас не достаточно денег, для приобретения данной модели.");
	    	}
	    }
	    return 1;
	}
	else if(dialogid==CAR_DIALOG)
	{
	    if(!response)
	    {
	    	SetCameraBehindPlayer(playerid);
		    TogglePlayerControllable(playerid,true);
		    SetPlayerInterior(playerid,0);
		    SetPlayerPos(playerid,562.9484,-1291.0739,17.2482);
		    return 1;
	    }
	    else if(response)
	    {
	        switch(listitem)
	        {
		        case 0:
		        {
					pInShop[playerid]=1;
					return 1;
		        }
		        case 1:
		        {
					pInShop[playerid]=2;
					return 1;
		        }
		        case 2:
		        {
					pInShop[playerid]=3;
					return 1;
		        }
		        case 3:
		        {
					pInShop[playerid]=4;
					return 1;
		        }
			}
	    }
		return 1;
	}
	return 1;
}

LoadCars()
{
	new File:fcar, arrCoords[27][64], strFromFile2[256];
	if((fcar=fopen("cars.cfg", io_read)))
	{
	    new idx;
		while (fread(fcar, strFromFile2))
		{
		    if(!strlen(strFromFile2))break;
			split(strFromFile2, arrCoords, '|');
			carinfo[idx][buyid]=strval(arrCoords[0]);
			carinfo[idx][carModel]=strval(arrCoords[1]);
			carinfo[idx][posx] = floatstr(arrCoords[2]);
			carinfo[idx][posy] = floatstr(arrCoords[3]);
			carinfo[idx][posz] = floatstr(arrCoords[4]);
			carinfo[idx][FA] = floatstr(arrCoords[5]);
			carinfo[idx][carcolor1] = strval(arrCoords[6]);
			carinfo[idx][carcolor2] = strval(arrCoords[7]);
			strmid(carinfo[idx][carowner],arrCoords[8],0,strlen(arrCoords[8]),MAX_PLAYER_NAME+1);
			carinfo[idx][locked] = strval(arrCoords[9]);
			carinfo[idx][vehcost] = strval(arrCoords[10]);
			carinfo[idx][vehcom1] = strval(arrCoords[11]);
  	 		carinfo[idx][vehcom2] = strval(arrCoords[12]);
	    	carinfo[idx][vehcom3] = strval(arrCoords[13]);
	    	carinfo[idx][vehcom4] = strval(arrCoords[14]);
	    	carinfo[idx][vehcom5] = strval(arrCoords[15]);
			carinfo[idx][vehcom6] = strval(arrCoords[16]);
			carinfo[idx][vehcom7] = strval(arrCoords[17]);
			carinfo[idx][vehcom8] = strval(arrCoords[18]);
			carinfo[idx][vehcom9] = strval(arrCoords[19]);
			carinfo[idx][vehcom10] = strval(arrCoords[20]);
			carinfo[idx][vehcom11] = strval(arrCoords[21]);
			carinfo[idx][vehcom12] = strval(arrCoords[22]);
			carinfo[idx][vehcom13] = strval(arrCoords[23]);
			carinfo[idx][vehcom14] = strval(arrCoords[24]);
			carinfo[idx][vehpaintjob] = strval(arrCoords[25]);
			carinfo[idx][parked] = strval(arrCoords[26]);
			idx++;
			sysVehs++;
		}
		fclose(fcar);
	}
	else
	{
	    printf("Ошибка! cars.cfg не найден!");
	}
}

public SaveCars()
{
    new File:fcar,string[256];
    if((fcar=fopen("cars.cfg", io_write)))
	{
	    for(new idx;idx<=sysVehs;idx++)
	    {
     		if(carinfo[idx][buyid]==1&&carinfo[idx][carid]!=INVALID_VEHICLE_ID)
	        {
	            if(carinfo[idx][parked]==0)GetVehiclePos(carinfo[idx][carid],carinfo[idx][posx],carinfo[idx][posy],carinfo[idx][posz]);
			    if(carinfo[idx][parked]==0)GetVehicleZAngle(carinfo[idx][carid],carinfo[idx][FA]);
		     	carinfo[idx][vehcom1]=GetVehicleComponentInSlot(carinfo[idx][carid], CARMODTYPE_SPOILER);
				carinfo[idx][vehcom2]=GetVehicleComponentInSlot(carinfo[idx][carid], CARMODTYPE_HOOD);
				carinfo[idx][vehcom3]=GetVehicleComponentInSlot(carinfo[idx][carid], CARMODTYPE_ROOF);
				carinfo[idx][vehcom4]=GetVehicleComponentInSlot(carinfo[idx][carid], CARMODTYPE_SIDESKIRT);
				carinfo[idx][vehcom5]=GetVehicleComponentInSlot(carinfo[idx][carid], CARMODTYPE_LAMPS);
				carinfo[idx][vehcom6]=GetVehicleComponentInSlot(carinfo[idx][carid], CARMODTYPE_NITRO);
				carinfo[idx][vehcom7]=GetVehicleComponentInSlot(carinfo[idx][carid], CARMODTYPE_EXHAUST);
				carinfo[idx][vehcom8]=GetVehicleComponentInSlot(carinfo[idx][carid], CARMODTYPE_WHEELS);
				carinfo[idx][vehcom9]=GetVehicleComponentInSlot(carinfo[idx][carid], CARMODTYPE_STEREO);
				carinfo[idx][vehcom10]=GetVehicleComponentInSlot(carinfo[idx][carid], CARMODTYPE_HYDRAULICS);
				carinfo[idx][vehcom11]=GetVehicleComponentInSlot(carinfo[idx][carid], CARMODTYPE_FRONT_BUMPER);
				carinfo[idx][vehcom12]=GetVehicleComponentInSlot(carinfo[idx][carid], CARMODTYPE_REAR_BUMPER);
				carinfo[idx][vehcom13]=GetVehicleComponentInSlot(carinfo[idx][carid], CARMODTYPE_VENT_RIGHT);
				carinfo[idx][vehcom14]=GetVehicleComponentInSlot(carinfo[idx][carid], CARMODTYPE_VENT_LEFT);
			    format(string,sizeof(string),"%i|%i|%f|%f|%f|%f|%i|%i|%s|%i|%i|%i|%i|%i|%i|%i|%i|%i|%i|%i|%i|%i|%i|%i|%i|%i|%i\r\n",
				carinfo[idx][buyid],
				carinfo[idx][carModel],
				carinfo[idx][posx],
				carinfo[idx][posy],
				carinfo[idx][posz],
				carinfo[idx][FA],
				carinfo[idx][carcolor1],
				carinfo[idx][carcolor2],
				carinfo[idx][carowner],
				carinfo[idx][locked],
				carinfo[idx][vehcost],
			 	carinfo[idx][vehcom1],
	    		carinfo[idx][vehcom2],
	    		carinfo[idx][vehcom3],
	    		carinfo[idx][vehcom4],
	    		carinfo[idx][vehcom5],
				carinfo[idx][vehcom6],
			 	carinfo[idx][vehcom7],
				carinfo[idx][vehcom8],
			 	carinfo[idx][vehcom9],
				carinfo[idx][vehcom10],
				carinfo[idx][vehcom11],
				carinfo[idx][vehcom12],
				carinfo[idx][vehcom13],
				carinfo[idx][vehcom14],
				carinfo[idx][vehpaintjob],
				carinfo[idx][parked]);
				fwrite(fcar, string);
			}
   			else continue;
		}
		fclose(fcar);
	}
	else
	{
	    printf("Ошибка! cars.cfg не найден!");
	}

}

public OnVehicleSpawn(vehicleid)
{
    for(new id = 0; id<sysVehs;id++)
    {
        if(carinfo[id][buyid]==1&&carinfo[id][carid]==vehicleid)
        {
            SetVehiclePos(vehicleid,carinfo[id][posx],carinfo[id][posy],carinfo[id][posz]);
            SetVehicleZAngle(vehicleid,carinfo[id][FA]);
        }
    }
	return 0;
}

public OnVehicleMod(playerid,vehicleid,componentid)
{
    SaveCars();
}

public OnPlayerPickUpPickup(playerid, pickupid)
{
	if(pickupid==sysCars)
	{
	    GameTextForPlayer(playerid,"~w~type ~r~ /buycar ~w~to enter",5000,6);
	}
}

public OnVehicleRespray(playerid, vehicleid, color1, color2)
{
	for(new v;v<sizeof(sysVehs);v++)
 	{
	if(carinfo[v][carid]==vehicleid)carinfo[v][carcolor1]=color1,carinfo[v][carcolor2]=color2;
	}
}

public split(const strsrc[], strdest[][], delimiter)
{
	new i, li;
	new aNum;
	new len;

	while(i <= strlen(strsrc)){
	    if(strsrc[i]==delimiter || i==strlen(strsrc))
		{
	        len = strmid(strdest[aNum], strsrc, li, i, 128);
	        strdest[aNum][len] = 0;
	        li = i+1;
	        aNum++;
		}
		i++;
	}
	return 1;
}

stock turnCarDoors(vehicleid, status)
{
	if(vehicleid==INVALID_VEHICLE_ID)return 0;
	new eengine, elights, ealarm, edoors, ebonnet, eboot, eobjective;
    GetVehicleParamsEx(vehicleid, eengine, elights, ealarm, edoors, ebonnet, eboot, eobjective);
    SetVehicleParamsEx(vehicleid, eengine, elights, ealarm, status, ebonnet, eboot, eobjective);
	return 1;
}

stock turnCarLights(vehicleid, status)
{
	if(vehicleid==INVALID_VEHICLE_ID)return 0;
	new eengine, elights, ealarm, edoors, ebonnet, eboot, eobjective;
    GetVehicleParamsEx(vehicleid, eengine, elights, ealarm, edoors, ebonnet, eboot, eobjective);
    SetVehicleParamsEx(vehicleid, eengine, status, ealarm, edoors, ebonnet, eboot, eobjective);
	return 1;
}

stock turnCarEngine(vehicleid, status)
{
	if(vehicleid==INVALID_VEHICLE_ID)return 0;
	new eengine, elights, ealarm, edoors, ebonnet, eboot, eobjective;
   	GetVehicleParamsEx(vehicleid, eengine, elights, ealarm, edoors, ebonnet, eboot, eobjective);
    SetVehicleParamsEx(vehicleid, status, elights, ealarm, edoors, ebonnet, eboot, eobjective);
	return 1;
}

stock randomEx(min,max)
{
	new rand;
	do
	{
		rand=random(max+1);
	}while(rand<min);
	return rand;
}

stock getVehicles(name[])
{
	new col;
	for(new idx=0;idx<sysVehs;idx++)
	{
	    if(!strcmp(carinfo[idx][carowner],name,true))col++;
	}
	return col;
}

stock isCarEngineRunned(vehicleid)
{
	if(vehicleid==INVALID_VEHICLE_ID)return 0;
	new eengine, elights, ealarm, edoors, ebonnet, eboot, eobjective;
    GetVehicleParamsEx(vehicleid, eengine, elights, ealarm, edoors, ebonnet, eboot, eobjective);
	return (eengine==VEHICLE_PARAMS_ON)?true:false;
}

stock getPlayerID(name[])
{
	for(new i=GetMaxPlayers();i>=0;--i)
	{
		if(IsPlayerConnected(i))
		{
			new pname[MAX_PLAYER_NAME];
			GetPlayerName(i,pname,sizeof(pname));
			if(!strcmp(name,pname,true))
			{
				return i;
			}
		}
	}
	return INVALID_PLAYER_ID;
}

stock isCarLightsOn(vehicleid)
{
	if(vehicleid==INVALID_VEHICLE_ID)return 0;
	new eengine, elights, ealarm, edoors, ebonnet, eboot, eobjective;
    GetVehicleParamsEx(vehicleid, eengine, elights, ealarm, edoors, ebonnet, eboot, eobjective);
	return (elights==VEHICLE_PARAMS_ON)?true:false;
}

С меня плюс! Если это не реально, отпишитесь.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу