Antiracism
Умник
Как сделать что бы можно было покупать до 3-ти машин?
3D text над головой могу сам вырезать. С ним ерунда получается. (Не красиво!)
Вот что мы имеем:
С меня плюс! Если это не реально, отпишитесь.
- 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;
}
С меня плюс! Если это не реально, отпишитесь.
