Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Car System v0.2 By Morino_Reigan
- #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 2589.5386
- #define pick_y 1734.9579
- #define pick_z 11.0234
- 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];
- 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];
- 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;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement