| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722 |
- #include <a_samp>
- #include <djson>
- #include <streamer>
- /*
- Car Ownership/Dealership
- - Make sure you have the includes to compile and latest versions.
- - You need to create a folder in your scriptfiles named playervehicles.
- - You need the cardealerships.json file in your scriptfiles folder. ( Check SFs )
- - For admin commands only admin rcon. (/createdealership /destroydealership /createpvehicle /destroypvehicle)
- */
- #define DIALOG_CDEDIT 1329
- #define DIALOG_CDUPGRADE 1328
- #define DIALOG_CDTILL 1327
- #define DIALOG_CDEDITCARS 1326
- #define DIALOG_CDEDITONE 1325
- #define DIALOG_CDEDITMODEL 1324
- #define DIALOG_CDEDITCOST 1323
- #define DIALOG_CDEDITPARK 1322
- #define DIALOG_CDDELVEH 1321
- #define DIALOG_CDNEWVEH 1320
- #define DIALOG_CDRADIUS 1319
- #define DIALOG_CDNAME 1318
- #define DIALOG_CDPRICE 1317
- #define DIALOG_CDBUY 1316
- #define DIALOG_CDWITHDRAW 1315
- #define DIALOG_CDDEPOSIT 1314
- #define DIALOG_CDSELL 1313
- #define DIALOG_CDLOCKBUY 1312
- #define DIALOG_CDLOCKMENU 1311
- #define COLOR_GREEN 0x33AA33AA
- #define COLOR_RED 0xAA3333AA
- #define COLOR_LIGHTBLUE 0x33CCFFAA
- #define COLOR_LIGHTRED 0xFF6347AA
- #define COLOR_GRAD1 0xB4B5B7FF
- #define COLOR_GRAD2 0xBFC0C2FF
- #define COLOR_GRAD4 0xD8D8D8FF
- #define COLOR_GREY 0xAFAFAFAA
- #define COLOR_WHITE 0xFFFFFFAA
- #define COLOR_YELLOW 0xFFFF00AA
- #define COLOR_PURPLE 0xC2A2DAAA
- /* PLAYER VEHICLE DEFINES */
- #define MAX_PLAYERVEHICLES 5
- #define MAX_MODS 15
- #define INVALID_PLAYER_VEHICLE_ID 0
- #define MAX_DEALERSHIPVEHICLES 10
- #define MAX_CARDEALERSHIPS 10
- forward LoadcDealerships();
- forward SavecDealership(id);
- forward PlayerPlayMusic(playerid);
- forward StopMusic();
- forward OnPlayerVehicleUpdate(playerid);
- forward OnPlayerVehicleLogin(playerid);
- forward LockPlayerVehicle(ownerid, carid, type);
- forward UnLockPlayerVehicle(ownerid, carid, type);
- forward Random(min, max);
- forward IsAt247(playerid);
- forward MeepMeep(playerid, vehicleid);
- forward PutPlayerInVeh(playerid, vehicleid);
- forward ReleasePlayer(playerid);
- forward ProxDetector(Float:radi, playerid, string[],col1,col2,col3,col4,col5);
- new meepmeep[MAX_VEHICLES];
- enum pvInfo
- {
- Float:pvPosX,
- Float:pvPosY,
- Float:pvPosZ,
- Float:pvPosAngle,
- pvId,
- pvModelId,
- pvLock,
- pvLocked,
- pvPaintJob,
- pvColor1,
- pvColor2,
- pvMods[MAX_MODS],
- pvAllowPlayer[MAX_PLAYER_NAME],
- pvPark,
- };
- new PlayerVehicleInfo[MAX_PLAYERS][MAX_PLAYERVEHICLES][pvInfo];
- enum cdInfo
- {
- cdOwned,
- cdOwner[MAX_PLAYER_NAME],
- Float: cdEntranceX,
- Float: cdEntranceY,
- Float: cdEntranceZ,
- Float: cdExitX,
- Float: cdExitY,
- Float: cdExitZ,
- cdMessage[128],
- cdTill,
- cdInterior,
- Float: cdRadius,
- cdPrice,
- cdPickupID,
- Text3D:cdTextLabel,
- Text3D:cdVehicleLabel[MAX_DEALERSHIPVEHICLES],
- cdVehicleModel[MAX_DEALERSHIPVEHICLES],
- cdVehicleCost[MAX_DEALERSHIPVEHICLES],
- cdVehicleId[MAX_DEALERSHIPVEHICLES],
- Float: cdVehicleSpawnX[MAX_DEALERSHIPVEHICLES],
- Float: cdVehicleSpawnY[MAX_DEALERSHIPVEHICLES],
- Float: cdVehicleSpawnZ[MAX_DEALERSHIPVEHICLES],
- Float: cdVehicleSpawnAngle[MAX_DEALERSHIPVEHICLES],
- Float: cdVehicleSpawn[4],
- };
- new CarDealershipInfo[MAX_CARDEALERSHIPS][cdInfo];
- new VehicleName[][] = {
- "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 Car (LSPD)",
- "Police Car (SFPD)",
- "Police Car (LVPD)",
- "Police Ranger",
- "Picador",
- "S.W.A.T. Van",
- "Alpha",
- "Phoenix",
- "Glendale",
- "Sadler",
- "Luggage Trailer",
- "Luggage Trailer",
- "Stair Trailer",
- "Boxville",
- "Farm Plow",
- "Utility Trailer"
- };
- public OnFilterScriptInit()
- {
- print("Debug 1");
- djson_GameModeInit();
- print("Debug 2");
- LoadcDealerships();
- print("Debug 3");
- new text_info[128];
- for(new d = 0; d < sizeof(CarDealershipInfo); d++)
- {
- if(CarDealershipInfo[d][cdEntranceX] != 0.0 && CarDealershipInfo[d][cdEntranceY] != 0.0)
- {
- CarDealershipInfo[d][cdPickupID] = CreateDynamicPickup(1239, 1, CarDealershipInfo[d][cdEntranceX], CarDealershipInfo[d][cdEntranceY], CarDealershipInfo[d][cdEntranceZ]);
- if(CarDealershipInfo[d][cdOwned])
- {
- format(text_info,256,"Car Dealership %s\nOwner: %s\nRadius: %.1f", CarDealershipInfo[d][cdMessage], CarDealershipInfo[d][cdOwner], CarDealershipInfo[d][cdRadius]);
- CarDealershipInfo[d][cdTextLabel] = CreateDynamic3DTextLabel(text_info,COLOR_GREEN,CarDealershipInfo[d][cdEntranceX], CarDealershipInfo[d][cdEntranceY], CarDealershipInfo[d][cdEntranceZ]+0.75,3.0,INVALID_PLAYER_ID,INVALID_VEHICLE_ID,1);
- }
- else
- {
- format(text_info,256,"Car Dealership %s For Sale\nPrice: %d\nRadius: %.1f", CarDealershipInfo[d][cdMessage], CarDealershipInfo[d][cdPrice], CarDealershipInfo[d][cdRadius]);
- CarDealershipInfo[d][cdTextLabel] = CreateDynamic3DTextLabel(text_info,COLOR_RED,CarDealershipInfo[d][cdEntranceX], CarDealershipInfo[d][cdEntranceY], CarDealershipInfo[d][cdEntranceZ]+0.75,3.0,INVALID_PLAYER_ID,INVALID_VEHICLE_ID,1);
- }
- }
- for(new v = 0; v < MAX_DEALERSHIPVEHICLES; v++)
- {
- if (CarDealershipInfo[d][cdVehicleModel][v] != 0)
- {
- new carcreated = CreateVehicle(CarDealershipInfo[d][cdVehicleModel][v], CarDealershipInfo[d][cdVehicleSpawnX][v], CarDealershipInfo[d][cdVehicleSpawnY][v], CarDealershipInfo[d][cdVehicleSpawnZ][v], CarDealershipInfo[d][cdVehicleSpawnAngle][v], 0, 0, 6);
- format(text_info,256,"%s For Sale | Price: %d", GetVehicleName(carcreated), CarDealershipInfo[d][cdVehicleCost][v]);
- CarDealershipInfo[d][cdVehicleLabel][v] = CreateDynamic3DTextLabel(text_info,COLOR_LIGHTBLUE,0.0, 0.0, 0.0,8.0,INVALID_PLAYER_ID,carcreated);
- CarDealershipInfo[d][cdVehicleId][v] = carcreated;
- }
- }
- }
- print("Car System loaded.");
- return 1;
- }
- stock ini_GetKey( line[] )
- {
- new keyRes[256];
- keyRes[0] = 0;
- if ( strfind( line , "=" , true ) == -1 ) return keyRes;
- strmid( keyRes , line , 0 , strfind( line , "=" , true ) , sizeof( keyRes) );
- return keyRes;
- }
- stock ini_GetValue( line[] )
- {
- new valRes[256];
- valRes[0]=0;
- if ( strfind( line , "=" , true ) == -1 ) return valRes;
- strmid( valRes , line , strfind( line , "=" , true )+1 , strlen( line ) , sizeof( valRes ) );
- return valRes;
- }
- public Random(min, max)
- {
- new a = random(max - min) + min;
- return a;
- }
- public IsAt247(playerid)
- {
- if(IsPlayerConnected(playerid))
- {
- new GVW;
- GVW = GetPlayerVirtualWorld(playerid);
- if(IsPlayerInRangeOfPoint(playerid, 100.0, -30.875, -88.9609, 1004.53))
- {
- return 1;
- }
- if(GVW == 2)
- {
- if(IsPlayerInRangeOfPoint(playerid, 100.0, 349.9702,177.8098,1014.1875))
- {
- return 1;
- }
- }
- }
- return 0;
- }
- public ProxDetector(Float:radi, playerid, string[],col1,col2,col3,col4,col5)
- {
- if(IsPlayerConnected(playerid))
- {
- new Float:posx, Float:posy, Float:posz;
- new Float:oldposx, Float:oldposy, Float:oldposz;
- new Float:tempposx, Float:tempposy, Float:tempposz;
- GetPlayerPos(playerid, oldposx, oldposy, oldposz);
- //radi = 2.0; //Trigger Radius
- for(new i = 0; i < MAX_PLAYERS; i++)
- {
- if(IsPlayerConnected(i))
- {
- GetPlayerPos(i, posx, posy, posz);
- tempposx = (oldposx -posx);
- tempposy = (oldposy -posy);
- tempposz = (oldposz -posz);
- //printf("DEBUG: X:%f Y:%f Z:%f",posx,posy,posz);
- new playerworld, player2world;
- playerworld = GetPlayerVirtualWorld(playerid);
- player2world = GetPlayerVirtualWorld(i);
- if(playerworld == player2world)
- {
- if (((tempposx < radi/16) && (tempposx > -radi/16)) && ((tempposy < radi/16) && (tempposy > -radi/16)) && ((tempposz < radi/16) && (tempposz > -radi/16)))
- {
- SendClientMessage(i, col1, string);
- }
- else if (((tempposx < radi/8) && (tempposx > -radi/8)) && ((tempposy < radi/8) && (tempposy > -radi/8)) && ((tempposz < radi/8) && (tempposz > -radi/8)))
- {
- SendClientMessage(i, col2, string);
- }
- else if (((tempposx < radi/4) && (tempposx > -radi/4)) && ((tempposy < radi/4) && (tempposy > -radi/4)) && ((tempposz < radi/4) && (tempposz > -radi/4)))
- {
- SendClientMessage(i, col3, string);
- }
- else if (((tempposx < radi/2) && (tempposx > -radi/2)) && ((tempposy < radi/2) && (tempposy > -radi/2)) && ((tempposz < radi/2) && (tempposz > -radi/2)))
- {
- SendClientMessage(i, col4, string);
- }
- else if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
- {
- SendClientMessage(i, col5, string);
- }
- }
- }
- else
- {
- SendClientMessage(i, col1, string);
- }
- }
- }//not connected
- return 1;
- }
- public LoadcDealerships()
- {
- new idx, idx2;
- new string[128];
- new owner[MAX_PLAYER_NAME];
- new message[128];
- djAutocommit(false);
- while (idx < sizeof(CarDealershipInfo))
- {
- format(string, sizeof(string), "%d/owned", idx);
- CarDealershipInfo[idx][cdOwned] = djInt("cardealerships.json", string);
- format(string, sizeof(string), "%d/owner", idx);
- format(owner, sizeof(owner), "%s", dj("cardealerships.json", string));
- strmid(CarDealershipInfo[idx][cdOwner], owner, 0, strlen(owner), 255);
- format(string, sizeof(string), "%d/entrance/x", idx);
- CarDealershipInfo[idx][cdEntranceX] = djFloat("cardealerships.json", string);
- format(string, sizeof(string), "%d/entrance/y", idx);
- CarDealershipInfo[idx][cdEntranceY] = djFloat("cardealerships.json", string);
- format(string, sizeof(string), "%d/entrance/z", idx);
- CarDealershipInfo[idx][cdEntranceZ] = djFloat("cardealerships.json", string);
- format(string, sizeof(string), "%d/exit/x", idx);
- CarDealershipInfo[idx][cdExitX] = djFloat("cardealerships.json", string);
- format(string, sizeof(string), "%d/exit/y", idx);
- CarDealershipInfo[idx][cdExitY] = djFloat("cardealerships.json", string);
- format(string, sizeof(string), "%d/exit/z", idx);
- CarDealershipInfo[idx][cdExitZ] = djFloat("cardealerships.json", string);
- format(string, sizeof(string), "%d/message", idx);
- format(message, sizeof(message), "%s", dj("cardealerships.json", string));
- strmid(CarDealershipInfo[idx][cdMessage], message, 0, strlen(message), 255);
- format(string, sizeof(string), "%d/till", idx);
- CarDealershipInfo[idx][cdTill] = djInt("cardealerships.json", string);
- format(string, sizeof(string), "%d/interior", idx);
- CarDealershipInfo[idx][cdInterior] = djInt("cardealerships.json", string);
- format(string, sizeof(string), "%d/vehiclespawn/x", idx);
- CarDealershipInfo[idx][cdVehicleSpawn][0] = djFloat("cardealerships.json", string);
- format(string, sizeof(string), "%d/vehiclespawn/y", idx);
- CarDealershipInfo[idx][cdVehicleSpawn][1] = djFloat("cardealerships.json", string);
- format(string, sizeof(string), "%d/vehiclespawn/z", idx);
- CarDealershipInfo[idx][cdVehicleSpawn][2] = djFloat("cardealerships.json", string);
- format(string, sizeof(string), "%d/vehiclespawn/a", idx);
- CarDealershipInfo[idx][cdVehicleSpawn][3] = djFloat("cardealerships.json", string);
- format(string, sizeof(string), "%d/radius", idx);
- CarDealershipInfo[idx][cdRadius] = djFloat("cardealerships.json", string);
- format(string, sizeof(string), "%d/price", idx);
- CarDealershipInfo[idx][cdPrice] = djInt("cardealerships.json", string);
- while (idx2 < MAX_DEALERSHIPVEHICLES)
- {
- format(string, sizeof(string), "%d/vehicleangle/%d", idx, idx2);
- CarDealershipInfo[idx][cdVehicleSpawnAngle][idx2] = djFloat("cardealerships.json", string);
- format(string, sizeof(string), "%d/vehiclespawnx/%d", idx, idx2);
- CarDealershipInfo[idx][cdVehicleSpawnX][idx2] = djFloat("cardealerships.json", string);
- format(string, sizeof(string), "%d/vehiclespawny/%d", idx, idx2);
- CarDealershipInfo[idx][cdVehicleSpawnY][idx2] = djFloat("cardealerships.json", string);
- format(string, sizeof(string), "%d/vehiclespawnz/%d", idx, idx2);
- CarDealershipInfo[idx][cdVehicleSpawnZ][idx2] = djFloat("cardealerships.json", string);
- format(string, sizeof(string), "%d/vehiclecost/%d", idx, idx2);
- CarDealershipInfo[idx][cdVehicleCost][idx2] = djInt("cardealerships.json", string);
- format(string, sizeof(string), "%d/vehicletypes/%d", idx, idx2);
- CarDealershipInfo[idx][cdVehicleModel][idx2] = djInt("cardealerships.json", string);
- printf("VehicleId:%d VehicleAngle:%.1f VehicleCost:%d.",
- idx2,
- CarDealershipInfo[idx][cdVehicleSpawnAngle][idx2],
- CarDealershipInfo[idx][cdVehicleCost][idx2]);
- idx2++;
- }
- idx2 = 0;
- idx++;
- }
- djAutocommit(true);
- return 1;
- }
- public SavecDealership(id)
- {
- new idx2;
- new string[128];
- printf("Saving Car Dealership %d.", id);
- //djAutocommit(false);
- format(string, sizeof(string), "%d/owned", id);
- djSetInt("cardealerships.json", string, CarDealershipInfo[id][cdOwned]);
- format(string, sizeof(string), "%d/owner", id);
- djSet("cardealerships.json", string, CarDealershipInfo[id][cdOwner]);
- format(string, sizeof(string), "%d/entrance/x", id);
- djSetFloat("cardealerships.json", string, CarDealershipInfo[id][cdEntranceX]);
- format(string, sizeof(string), "%d/entrance/y", id);
- djSetFloat("cardealerships.json", string, CarDealershipInfo[id][cdEntranceY]);
- format(string, sizeof(string), "%d/entrance/z", id);
- djSetFloat("cardealerships.json", string, CarDealershipInfo[id][cdEntranceZ]);
- format(string, sizeof(string), "%d/exit/x", id);
- djSetFloat("cardealerships.json", string, CarDealershipInfo[id][cdExitX]);
- format(string, sizeof(string), "%d/exit/y", id);
- djSetFloat("cardealerships.json", string, CarDealershipInfo[id][cdExitY]);
- format(string, sizeof(string), "%d/exit/z", id);
- djSetFloat("cardealerships.json", string, CarDealershipInfo[id][cdExitZ]);
- format(string, sizeof(string), "%d/message", id);
- djSet("cardealerships.json", string, CarDealershipInfo[id][cdMessage]);
- format(string, sizeof(string), "%d/till", id);
- djSetInt("cardealerships.json", string, CarDealershipInfo[id][cdTill]);
- format(string, sizeof(string), "%d/interior", id);
- djSetInt("cardealerships.json", string, CarDealershipInfo[id][cdInterior]);
- format(string, sizeof(string), "%d/vehiclespawn/x", id);
- djSetFloat("cardealerships.json", string, CarDealershipInfo[id][cdVehicleSpawn][0]);
- format(string, sizeof(string), "%d/vehiclespawn/y", id);
- djSetFloat("cardealerships.json", string, CarDealershipInfo[id][cdVehicleSpawn][1]);
- format(string, sizeof(string), "%d/vehiclespawn/z", id);
- djSetFloat("cardealerships.json", string, CarDealershipInfo[id][cdVehicleSpawn][2]);
- format(string, sizeof(string), "%d/vehiclespawn/a", id);
- djSetFloat("cardealerships.json", string, CarDealershipInfo[id][cdVehicleSpawn][3]);
- format(string, sizeof(string), "%d/radius", id);
- djSetFloat("cardealerships.json", string, CarDealershipInfo[id][cdRadius]);
- format(string, sizeof(string), "%d/price", id);
- djSetInt("cardealerships.json", string, CarDealershipInfo[id][cdPrice]);
- while (idx2 < MAX_DEALERSHIPVEHICLES)
- {
- format(string, sizeof(string), "%d/vehicleangle/%d", id, idx2);
- djSetFloat("cardealerships.json", string, CarDealershipInfo[id][cdVehicleSpawnAngle][idx2]);
- format(string, sizeof(string), "%d/vehiclespawnx/%d", id, idx2);
- djSetFloat("cardealerships.json", string, CarDealershipInfo[id][cdVehicleSpawnX][idx2]);
- format(string, sizeof(string), "%d/vehiclespawny/%d", id, idx2);
- djSetFloat("cardealerships.json", string, CarDealershipInfo[id][cdVehicleSpawnY][idx2]);
- format(string, sizeof(string), "%d/vehiclespawnz/%d", id, idx2);
- djSetFloat("cardealerships.json", string, CarDealershipInfo[id][cdVehicleSpawnZ][idx2]);
- format(string, sizeof(string), "%d/vehiclecost/%d", id, idx2);
- djSetInt("cardealerships.json", string, CarDealershipInfo[id][cdVehicleCost][idx2]);
- format(string, sizeof(string), "%d/vehicletypes/%d", id, idx2);
- djSetInt("cardealerships.json", string, CarDealershipInfo[id][cdVehicleModel][idx2]);
- printf("VehicleId:%d VehicleModel:%d VehicleCost:%d.",
- idx2,
- CarDealershipInfo[id][cdVehicleModel][idx2],
- CarDealershipInfo[id][cdVehicleCost][idx2]);
- idx2++;
- }
- //djAutocommit(true);
- return 1;
- }
- public OnPlayerVehicleUpdate(playerid)
- {
- new string[20+MAX_PLAYER_NAME];
- new playername[MAX_PLAYER_NAME];
- GetPlayerName(playerid, playername, sizeof(playername));
- format(string, sizeof(string), "playervehicles/%s.ini", playername);
- new File: hFile = fopen(string, io_write);
- if (hFile)
- {
- new var[32];
- for(new v = 0; v < MAX_PLAYERVEHICLES; v++)
- {
- format(var, 32, "pv%dPosX=%.1f\n", v, PlayerVehicleInfo[playerid][v][pvPosX]);fwrite(hFile, var);
- format(var, 32, "pv%dPosY=%.1f\n", v, PlayerVehicleInfo[playerid][v][pvPosY]);fwrite(hFile, var);
- format(var, 32, "pv%dPosZ=%.1f\n", v, PlayerVehicleInfo[playerid][v][pvPosZ]);fwrite(hFile, var);
- format(var, 32, "pv%dPosAngle=%.1f\n", v, PlayerVehicleInfo[playerid][v][pvPosAngle]);fwrite(hFile, var);
- format(var, 32, "pv%dModelId=%d\n", v, PlayerVehicleInfo[playerid][v][pvModelId]);fwrite(hFile, var);
- format(var, 32, "pv%dLock=%d\n", v, PlayerVehicleInfo[playerid][v][pvLock]);fwrite(hFile, var);
- format(var, 32, "pv%dLocked=%d\n", v, PlayerVehicleInfo[playerid][v][pvLocked]);fwrite(hFile, var);
- format(var, 32, "pv%dPaintJob=%d\n", v, PlayerVehicleInfo[playerid][v][pvPaintJob]);fwrite(hFile, var);
- format(var, 32, "pv%dColor1=%d\n", v, PlayerVehicleInfo[playerid][v][pvColor1]);fwrite(hFile, var);
- format(var, 32, "pv%dColor2=%d\n", v, PlayerVehicleInfo[playerid][v][pvColor2]);fwrite(hFile, var);
- for(new m = 0; m < MAX_MODS; m++)
- {
- format(var, 32, "pv%dMod%d=%d\n", v, m, PlayerVehicleInfo[playerid][v][pvMods][m]);fwrite(hFile, var);
- }
- format(var, 32, "pv%dAllowedPlayer=%s\n", v, PlayerVehicleInfo[playerid][v][pvAllowPlayer]);fwrite(hFile, var);
- }
- fclose(hFile);
- }
- return 1;
- }
- public OnPlayerVehicleLogin(playerid)
- {
- new string2[20+MAX_PLAYER_NAME];
- new playername[MAX_PLAYER_NAME];
- GetPlayerName(playerid, playername, sizeof(playername));
- format(string2, sizeof(string2), "playervehicles/%s.ini", playername);
- new File: UserFile = fopen(string2, io_read);
- if ( UserFile )
- {
- new key[ 256 ] , val[ 256 ];
- new Data[ 256 ];
- while ( fread( UserFile , Data , sizeof( Data ) ) )
- {
- key = ini_GetKey( Data );
- for(new v = 0; v < MAX_PLAYERVEHICLES; v++)
- {
- new string[128];
- format(string, 128, "pv%dPosX",v);
- if( strcmp( key , string , true ) == 0 ) { val = ini_GetValue( Data ); PlayerVehicleInfo[playerid][v][pvPosX] = floatstr( val ); }
- format(string, 128, "pv%dPosY",v);
- if( strcmp( key , string , true ) == 0 ) { val = ini_GetValue( Data ); PlayerVehicleInfo[playerid][v][pvPosY] = floatstr( val ); }
- format(string, 128, "pv%dPosZ",v);
- if( strcmp( key , string , true ) == 0 ) { val = ini_GetValue( Data ); PlayerVehicleInfo[playerid][v][pvPosZ] = floatstr( val ); }
- format(string, 128, "pv%dPosAngle",v);
- if( strcmp( key , string , true ) == 0 ) { val = ini_GetValue( Data ); PlayerVehicleInfo[playerid][v][pvPosAngle] = floatstr( val ); }
- format(string, 128, "pv%dModelId",v);
- if( strcmp( key , string , true ) == 0 ) { val = ini_GetValue( Data ); PlayerVehicleInfo[playerid][v][pvModelId] = strval( val ); }
- format(string, 128, "pv%dLock",v);
- if( strcmp( key , string , true ) == 0 ) { val = ini_GetValue( Data ); PlayerVehicleInfo[playerid][v][pvLock] = strval( val ); }
- format(string, 128, "pv%dLocked",v);
- if( strcmp( key , string , true ) == 0 ) { val = ini_GetValue( Data ); PlayerVehicleInfo[playerid][v][pvLocked] = strval( val ); }
- format(string, 128, "pv%dPaintJob",v);
- if( strcmp( key , string , true ) == 0 ) { val = ini_GetValue( Data ); PlayerVehicleInfo[playerid][v][pvPaintJob] = strval( val ); }
- format(string, 128, "pv%dColor1",v);
- if( strcmp( key , string , true ) == 0 ) { val = ini_GetValue( Data ); PlayerVehicleInfo[playerid][v][pvColor1] = strval( val ); }
- format(string, 128, "pv%dColor2",v);
- if( strcmp( key , string , true ) == 0 ) { val = ini_GetValue( Data ); PlayerVehicleInfo[playerid][v][pvColor2] = strval( val ); }
- for(new m = 0; m < MAX_MODS; m++)
- {
- format(string, 128, "pv%dMod%d", v, m);
- if( strcmp( key , string , true ) == 0 ) { val = ini_GetValue( Data ); PlayerVehicleInfo[playerid][v][pvMods][m] = strval( val ); }
- }
- format(string, 128, "pv%dAllowedPlayer",v);
- if( strcmp( key , string , true ) == 0 ) { val = ini_GetValue( Data ); strmid(PlayerVehicleInfo[playerid][v][pvAllowPlayer], val, 0, strlen(val)-1, 255); }
- }
- }
- }
- else
- {
- SendClientMessage(playerid, COLOR_GRAD1, " No player vehicle account found.");
- }
- LoadPlayerVehicles(playerid);
- return 1;
- }
- public PlayerPlayMusic(playerid)
- {
- if(IsPlayerConnected(playerid))
- {
- SetTimer("StopMusic", 5000, 0);
- PlayerPlaySound(playerid, 1068, 0.0, 0.0, 0.0);
- }
- }
- public StopMusic()
- {
- for(new i = 0; i < MAX_PLAYERS; i++)
- {
- if(IsPlayerConnected(i))
- {
- PlayerPlaySound(i, 1069, 0.0, 0.0, 0.0);
- }
- }
- }
- public OnFilterScriptExit()
- {
- for(new d = 0; d < sizeof(CarDealershipInfo); d++)
- {
- if(CarDealershipInfo[d][cdEntranceX] != 0.0 && CarDealershipInfo[d][cdEntranceY] != 0.0)
- {
- DestroyDynamicPickup(CarDealershipInfo[d][cdPickupID]);
- DestroyDynamic3DTextLabel(CarDealershipInfo[d][cdTextLabel]);
- }
- for(new v = 0; v < MAX_DEALERSHIPVEHICLES; v++)
- {
- if (CarDealershipInfo[d][cdVehicleModel][v] != 0)
- {
- DestroyCarDealershipVehicle(d, v);
- }
- }
- }
- djson_GameModeExit();
- return 1;
- }
- public OnPlayerSpawn(playerid)
- {
- if(GetPVarInt(playerid, "FirstSpawn") == 1)
- {
- OnPlayerVehicleLogin(playerid);
- SetPVarInt(playerid, "FirstSpawn", 0);
- }
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- for(new v = 0; v < MAX_PLAYERVEHICLES; v++)
- {
- PlayerVehicleInfo[playerid][v][pvModelId] = 0;
- PlayerVehicleInfo[playerid][v][pvPosX] = 0.0;
- PlayerVehicleInfo[playerid][v][pvPosY] = 0.0;
- PlayerVehicleInfo[playerid][v][pvPosZ] = 0.0;
- PlayerVehicleInfo[playerid][v][pvPosAngle] = 0.0;
- PlayerVehicleInfo[playerid][v][pvLock] = 0;
- PlayerVehicleInfo[playerid][v][pvLocked] = 0;
- PlayerVehicleInfo[playerid][v][pvPaintJob] = -1;
- PlayerVehicleInfo[playerid][v][pvColor1] = 0;
- PlayerVehicleInfo[playerid][v][pvColor2] = 0;
- new string[64];
- format(string, sizeof(string), "No-one");
- strmid(PlayerVehicleInfo[playerid][v][pvAllowPlayer], string, 0, strlen(string), 255);
- PlayerVehicleInfo[playerid][v][pvPark] = 0;
- for(new m = 0; m < MAX_MODS; m++)
- {
- PlayerVehicleInfo[playerid][v][pvMods][m] = 0;
- }
- }
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- UnloadPlayerVehicles(playerid);
- OnPlayerVehicleUpdate(playerid);
- }
- //------------------------------------------------------------------------------
- //CAR DEALERSHIP SYSTEM BY ALEX DONUTS
- //------------------------------------------------------------------------------
- stock CreateCarDealership(Float: enx, Float: eny, Float: enz, Float: radius, price, message[])
- {
- new dealershipid = GetFreeCarDealership();
- if(dealershipid == -1) return -1;
- new text_info[128];
- CarDealershipInfo[dealershipid][cdEntranceX] = enx;
- CarDealershipInfo[dealershipid][cdEntranceY] = eny;
- CarDealershipInfo[dealershipid][cdEntranceZ] = enz;
- CarDealershipInfo[dealershipid][cdRadius] = radius;
- CarDealershipInfo[dealershipid][cdPrice] = price;
- strmid(CarDealershipInfo[dealershipid][cdMessage], message, 0, strlen(message), 255);
- CarDealershipInfo[dealershipid][cdPickupID] = CreateDynamicPickup(1239, 1, CarDealershipInfo[dealershipid][cdEntranceX], CarDealershipInfo[dealershipid][cdEntranceY], CarDealershipInfo[dealershipid][cdEntranceZ]);
- format(text_info,256,"Car Dealership %s For Sale\nPrice: %d\nRadius: %.1f", CarDealershipInfo[dealershipid][cdMessage], CarDealershipInfo[dealershipid][cdPrice], CarDealershipInfo[dealershipid][cdRadius]);
- CarDealershipInfo[dealershipid][cdTextLabel] = CreateDynamic3DTextLabel(text_info,COLOR_RED,CarDealershipInfo[dealershipid][cdEntranceX], CarDealershipInfo[dealershipid][cdEntranceY], CarDealershipInfo[dealershipid][cdEntranceZ]+0.75,3.0,INVALID_PLAYER_ID,INVALID_VEHICLE_ID,1);
- SavecDealership(dealershipid);
- return dealershipid;
- }
- stock DestroyCarDealership(dealershipid)
- {
- new string[30];
- CarDealershipInfo[dealershipid][cdEntranceX] = 0.0;
- CarDealershipInfo[dealershipid][cdEntranceY] = 0.0;
- CarDealershipInfo[dealershipid][cdEntranceZ] = 0.0;
- CarDealershipInfo[dealershipid][cdRadius] = 0.0;
- CarDealershipInfo[dealershipid][cdTill] = 0;
- CarDealershipInfo[dealershipid][cdOwned] = 0;
- CarDealershipInfo[dealershipid][cdPrice] = 0;
- format(string, sizeof(string), "None");
- strmid(CarDealershipInfo[dealershipid][cdOwner], string, 0, strlen(string), 255);
- format(string, sizeof(string), "None");
- strmid(CarDealershipInfo[dealershipid][cdMessage], string, 0, strlen(string), 255);
- DestroyDynamic3DTextLabel(CarDealershipInfo[dealershipid][cdTextLabel]);
- DestroyDynamicPickup(CarDealershipInfo[dealershipid][cdPickupID]);
- CarDealershipInfo[dealershipid][cdPickupID] = 0;
- CarDealershipInfo[dealershipid][cdTextLabel] = Text3D:INVALID_3DTEXT_ID;
- CarDealershipInfo[dealershipid][cdVehicleSpawn][0] = 0.0;
- CarDealershipInfo[dealershipid][cdVehicleSpawn][1] = 0.0;
- CarDealershipInfo[dealershipid][cdVehicleSpawn][2] = 0.0;
- CarDealershipInfo[dealershipid][cdVehicleSpawn][3] = 0.0;
- for(new v = 0; v < MAX_DEALERSHIPVEHICLES; v++)
- {
- if (CarDealershipInfo[dealershipid][cdVehicleModel][v] != 0)
- {
- DestroyCarDealershipVehicle(dealershipid, v);
- }
- }
- SavecDealership(dealershipid);
- }
- stock GetFreeCarDealership()
- {
- new
- i = 0;
- while (i < MAX_CARDEALERSHIPS && CarDealershipInfo[i][cdEntranceX] != 0.0 && CarDealershipInfo[i][cdEntranceY] != 0.0)
- {
- i++;
- }
- if (i == MAX_CARDEALERSHIPS) return -1;
- return i;
- }
- stock SetPlayerOwnerOfCD(playerid, dealershipid)
- {
- new owner[MAX_PLAYER_NAME];
- CarDealershipInfo[dealershipid][cdOwned] = 1;
- GetPlayerName(playerid, owner, sizeof(owner));
- strmid(CarDealershipInfo[dealershipid][cdOwner], owner, 0, strlen(owner), 255);
- new text_info[128];
- format(text_info,256,"Car Dealership %s\nOwner: %s\nRadius: %.1f", CarDealershipInfo[dealershipid][cdMessage], CarDealershipInfo[dealershipid][cdOwner], CarDealershipInfo[dealershipid][cdRadius]);
- UpdateDynamic3DTextLabelText(CarDealershipInfo[dealershipid][cdTextLabel], COLOR_GREEN, text_info);
- SavecDealership(dealershipid);
- }
- stock SellCarDealership(dealershipid)
- {
- CarDealershipInfo[dealershipid][cdOwned] = 0;
- CarDealershipInfo[dealershipid][cdVehicleSpawn][0] = 0.0;
- CarDealershipInfo[dealershipid][cdVehicleSpawn][1] = 0.0;
- CarDealershipInfo[dealershipid][cdVehicleSpawn][2] = 0.0;
- CarDealershipInfo[dealershipid][cdVehicleSpawn][3] = 0.0;
- strmid(CarDealershipInfo[dealershipid][cdOwner], "No-one", 0, MAX_PLAYER_NAME, 255);
- new text_info[128];
- format(text_info,256,"Car Dealership %s For Sale\nPrice: %d\nRadius: %.1f", CarDealershipInfo[dealershipid][cdMessage], CarDealershipInfo[dealershipid][cdPrice], CarDealershipInfo[dealershipid][cdRadius]);
- UpdateDynamic3DTextLabelText(CarDealershipInfo[dealershipid][cdTextLabel], COLOR_RED, text_info);
- SavecDealership(dealershipid);
- }
- stock IsPlayerOwnerOfCD(playerid)
- {
- new owner[MAX_PLAYER_NAME];
- GetPlayerName(playerid, owner, sizeof(owner));
- for(new d = 0; d < MAX_CARDEALERSHIPS; d++)
- {
- if(strcmp(CarDealershipInfo[d][cdOwner],owner, true ) == 0)
- {
- return d;
- }
- }
- return -1;
- }
- stock IsPlayerOwnerOfCDEx(playerid, dealershipid)
- {
- new owner[MAX_PLAYER_NAME];
- GetPlayerName(playerid, owner, sizeof(owner));
- if(strcmp(CarDealershipInfo[dealershipid][cdOwner],owner, true ) == 0)
- {
- return 1;
- }
- return 0;
- }
- stock CreateCarDealershipVehicle(dealershipid, modelid, Float: x, Float: y, Float: z, Float: a, price)
- {
- new cdvehicleid = GetFreeCarDealershipVehicleId(dealershipid);
- if(cdvehicleid == -1) return -1;
- new text_info[128];
- CarDealershipInfo[dealershipid][cdVehicleModel][cdvehicleid] = modelid;
- CarDealershipInfo[dealershipid][cdVehicleCost][cdvehicleid] = price;
- CarDealershipInfo[dealershipid][cdVehicleSpawnX][cdvehicleid] = x;
- CarDealershipInfo[dealershipid][cdVehicleSpawnY][cdvehicleid] = y;
- CarDealershipInfo[dealershipid][cdVehicleSpawnZ][cdvehicleid] = z;
- CarDealershipInfo[dealershipid][cdVehicleSpawnAngle][cdvehicleid] = a;
- new carcreated = CreateVehicle(modelid, x, y, z, a, 0, 0, 6);
- format(text_info,256,"%s For Sale | Price: %d", GetVehicleName(carcreated), CarDealershipInfo[dealershipid][cdVehicleCost][cdvehicleid]);
- CarDealershipInfo[dealershipid][cdVehicleLabel][cdvehicleid] = CreateDynamic3DTextLabel(text_info,COLOR_LIGHTBLUE,0.0, 0.0, 0.0,5.0,INVALID_PLAYER_ID,carcreated,1);
- CarDealershipInfo[dealershipid][cdVehicleId][cdvehicleid] = carcreated;
- SavecDealership(cdvehicleid);
- return cdvehicleid;
- }
- stock DestroyCarDealershipVehicle(dealershipid, cdvehicleid)
- {
- CarDealershipInfo[dealershipid][cdVehicleModel][cdvehicleid] = 0;
- CarDealershipInfo[dealershipid][cdVehicleCost][cdvehicleid] = 0;
- CarDealershipInfo[dealershipid][cdVehicleSpawnX][cdvehicleid] = 0.0;
- CarDealershipInfo[dealershipid][cdVehicleSpawnY][cdvehicleid] = 0.0;
- CarDealershipInfo[dealershipid][cdVehicleSpawnZ][cdvehicleid] = 0.0;
- CarDealershipInfo[dealershipid][cdVehicleSpawnAngle][cdvehicleid] = 0.0;
- DestroyDynamic3DTextLabel(CarDealershipInfo[dealershipid][cdVehicleLabel][cdvehicleid]);
- DestroyVehicle(CarDealershipInfo[dealershipid][cdVehicleId][cdvehicleid]);
- CarDealershipInfo[dealershipid][cdVehicleLabel][cdvehicleid] = Text3D:INVALID_3DTEXT_ID;
- CarDealershipInfo[dealershipid][cdVehicleId][cdvehicleid] = 0;
- }
- stock GetFreeCarDealershipVehicleId(dealershipid)
- {
- new
- i = 0;
- while (i < MAX_DEALERSHIPVEHICLES && CarDealershipInfo[dealershipid][cdVehicleModel][i] != 0)
- {
- i++;
- }
- if (i == MAX_DEALERSHIPVEHICLES) return -1;
- return i;
- }
- stock GetCarDealershipVehicleId(vehicleid)
- {
- for(new d = 0; d < MAX_CARDEALERSHIPS; d++)
- {
- for(new v = 0; v < MAX_DEALERSHIPVEHICLES; v++)
- {
- if(CarDealershipInfo[d][cdVehicleId][v] == vehicleid)
- {
- return v;
- }
- }
- }
- return -1;
- }
- stock GetCarDealershipId(vehicleid)
- {
- for(new d = 0; d < MAX_CARDEALERSHIPS; d++)
- {
- for(new v = 0; v < MAX_DEALERSHIPVEHICLES; v++)
- {
- if(CarDealershipInfo[d][cdVehicleId][v] == vehicleid)
- {
- return d;
- }
- }
- }
- return -1;
- }
- //------------------------------------------------------------------------------
- //PLAYER VEHICLE SYSTEM BY ALEX DONUTS
- //------------------------------------------------------------------------------
- stock CreatePlayerVehicle(playerid, playervehicleid, modelid, Float: x, Float: y, Float: z, Float: angle, color1, color2)
- {
- if(PlayerVehicleInfo[playerid][playervehicleid][pvId] == INVALID_PLAYER_VEHICLE_ID)
- {
- new string[99];
- PlayerVehicleInfo[playerid][playervehicleid][pvModelId] = modelid;
- PlayerVehicleInfo[playerid][playervehicleid][pvPosX] = x;
- PlayerVehicleInfo[playerid][playervehicleid][pvPosY] = y;
- PlayerVehicleInfo[playerid][playervehicleid][pvPosZ] = z;
- PlayerVehicleInfo[playerid][playervehicleid][pvPosAngle] = angle;
- PlayerVehicleInfo[playerid][playervehicleid][pvColor1] = color1;
- PlayerVehicleInfo[playerid][playervehicleid][pvColor2] = color2;
- PlayerVehicleInfo[playerid][playervehicleid][pvPark] = 1;
- for(new m = 0; m < MAX_MODS; m++)
- {
- PlayerVehicleInfo[playerid][playervehicleid][pvMods][m] = 0;
- }
- new carcreated = CreateVehicle(modelid,x,y,z,angle,color1,color2,-1);
- PlayerVehicleInfo[playerid][playervehicleid][pvId] = carcreated;
- format(string, sizeof(string), "Created your vehicle #%d.", PlayerVehicleInfo[playerid][playervehicleid][pvId]);
- SendClientMessage(playerid, COLOR_GRAD1,string);
- return carcreated;
- }
- return INVALID_PLAYER_VEHICLE_ID;
- }
- stock DestroyPlayerVehicle(playerid, playervehicleid)
- {
- if(PlayerVehicleInfo[playerid][playervehicleid][pvId] != INVALID_PLAYER_VEHICLE_ID)
- {
- new string[99];
- DestroyVehicle(PlayerVehicleInfo[playerid][playervehicleid][pvId]);
- PlayerVehicleInfo[playerid][playervehicleid][pvModelId] = 0;
- PlayerVehicleInfo[playerid][playervehicleid][pvPosX] = 0.0;
- PlayerVehicleInfo[playerid][playervehicleid][pvPosY] = 0.0;
- PlayerVehicleInfo[playerid][playervehicleid][pvPosZ] = 0.0;
- PlayerVehicleInfo[playerid][playervehicleid][pvPosAngle] = 0.0;
- PlayerVehicleInfo[playerid][playervehicleid][pvPaintJob] = -1;
- PlayerVehicleInfo[playerid][playervehicleid][pvColor1] = 126;
- PlayerVehicleInfo[playerid][playervehicleid][pvColor2] = 126;
- format(string, sizeof(string), "None");
- strmid(PlayerVehicleInfo[playerid][playervehicleid][pvAllowPlayer], string, 0, strlen(string), 255);
- format(string, sizeof(string), "Your vehicle #%d has been destroyed.", PlayerVehicleInfo[playerid][playervehicleid][pvId]);
- SendClientMessage(playerid, COLOR_GRAD1,string);
- PlayerVehicleInfo[playerid][playervehicleid][pvId] = INVALID_PLAYER_VEHICLE_ID;
- }
- }
- stock LoadPlayerVehicles(playerid)
- {
- new playername[MAX_PLAYER_NAME];
- GetPlayerName(playerid, playername, sizeof(playername));
- printf(" Loading %s's vehicles.", playername);
- for(new v = 0; v < MAX_PLAYERVEHICLES; v++)
- {
- if(PlayerVehicleInfo[playerid][v][pvModelId] != 0)
- {
- new carcreated = CreateVehicle(PlayerVehicleInfo[playerid][v][pvModelId], PlayerVehicleInfo[playerid][v][pvPosX], PlayerVehicleInfo[playerid][v][pvPosY], PlayerVehicleInfo[playerid][v][pvPosZ], PlayerVehicleInfo[playerid][v][pvPosAngle],PlayerVehicleInfo[playerid][v][pvColor1], PlayerVehicleInfo[playerid][v][pvColor2], -1);
- PlayerVehicleInfo[playerid][v][pvId] = carcreated;
- }
- }
- LoadAllPlayerVehicleMods(playerid);
- }
- stock UnloadPlayerVehicles(playerid)
- {
- new playername[MAX_PLAYER_NAME];
- GetPlayerName(playerid, playername, sizeof(playername));
- printf(" Unloading %s's vehicles.", playername);
- for(new v = 0; v < MAX_PLAYERVEHICLES; v++)
- {
- if(PlayerVehicleInfo[playerid][v][pvId] != INVALID_PLAYER_VEHICLE_ID)
- {
- //new Float:x, Float:y, Float:z, Float:angle;
- //GetVehiclePos(PlayerVehicleInfo[playerid][v][pvId], x, y, z);
- //GetVehicleZAngle(PlayerVehicleInfo[playerid][v][pvId], angle);
- //UpdatePlayerVehicleParkPosition(playerid, v, x, y, z, angle);
- UpdatePlayerVehicleMods(playerid, v);
- DestroyVehicle(PlayerVehicleInfo[playerid][v][pvId]);
- PlayerVehicleInfo[playerid][v][pvId] = INVALID_PLAYER_VEHICLE_ID;
- }
- }
- }
- stock UpdatePlayerVehicleParkPosition(playerid, playervehicleid, Float:newx, Float:newy, Float:newz, Float:newangle, Float:health)
- {
- new playername[MAX_PLAYER_NAME];
- GetPlayerName(playerid, playername, sizeof(playername));
- if(PlayerVehicleInfo[playerid][playervehicleid][pvId] != INVALID_PLAYER_VEHICLE_ID)
- {
- new Float:oldx, Float:oldy, Float:oldz;
- oldx = PlayerVehicleInfo[playerid][playervehicleid][pvPosX];
- oldy = PlayerVehicleInfo[playerid][playervehicleid][pvPosY];
- oldz = PlayerVehicleInfo[playerid][playervehicleid][pvPosZ];
- if(oldx == newx && oldy == newy && oldz == newz) return 0;
- PlayerVehicleInfo[playerid][playervehicleid][pvPosX] = newx;
- PlayerVehicleInfo[playerid][playervehicleid][pvPosY] = newy;
- PlayerVehicleInfo[playerid][playervehicleid][pvPosZ] = newz;
- PlayerVehicleInfo[playerid][playervehicleid][pvPosAngle] = newangle;
- UpdatePlayerVehicleMods(playerid, playervehicleid);
- DestroyVehicle(PlayerVehicleInfo[playerid][playervehicleid][pvId]);
- new carcreated = CreateVehicle(PlayerVehicleInfo[playerid][playervehicleid][pvModelId], PlayerVehicleInfo[playerid][playervehicleid][pvPosX], PlayerVehicleInfo[playerid][playervehicleid][pvPosY], PlayerVehicleInfo[playerid][playervehicleid][pvPosZ],
- PlayerVehicleInfo[playerid][playervehicleid][pvPosAngle],PlayerVehicleInfo[playerid][playervehicleid][pvColor1], PlayerVehicleInfo[playerid][playervehicleid][pvColor2], -1);
- PlayerVehicleInfo[playerid][playervehicleid][pvId] = carcreated;
- SetVehicleHealth(carcreated, health);
- LoadPlayerVehicleMods(playerid, playervehicleid);
- return 1;
- }
- return 0;
- }
- stock UpdatePlayerVehicleMods(playerid, playervehicleid)
- {
- new playername[MAX_PLAYER_NAME];
- GetPlayerName(playerid, playername, sizeof(playername));
- new carid = PlayerVehicleInfo[playerid][playervehicleid][pvId];
- new exhaust, frontbumper, rearbumper, roof, spoilers, sideskirt1,
- sideskirt2, wheels, hydraulics, nitro, hood, lamps, stereo, ventright, ventleft;
- exhaust = GetVehicleComponentInSlot(carid, CARMODTYPE_EXHAUST);
- frontbumper = GetVehicleComponentInSlot(carid, CARMODTYPE_FRONT_BUMPER);
- rearbumper = GetVehicleComponentInSlot(carid, CARMODTYPE_REAR_BUMPER);
- roof = GetVehicleComponentInSlot(carid, CARMODTYPE_ROOF);
- spoilers = GetVehicleComponentInSlot(carid, CARMODTYPE_SPOILER);
- sideskirt1 = GetVehicleComponentInSlot(carid, CARMODTYPE_SIDESKIRT);
- sideskirt2 = GetVehicleComponentInSlot(carid, CARMODTYPE_SIDESKIRT);
- wheels = GetVehicleComponentInSlot(carid, CARMODTYPE_WHEELS);
- hydraulics = GetVehicleComponentInSlot(carid, CARMODTYPE_HYDRAULICS);
- nitro = GetVehicleComponentInSlot(carid, CARMODTYPE_NITRO);
- hood = GetVehicleComponentInSlot(carid, CARMODTYPE_HOOD);
- lamps = GetVehicleComponentInSlot(carid, CARMODTYPE_LAMPS);
- stereo = GetVehicleComponentInSlot(carid, CARMODTYPE_STEREO);
- ventright = GetVehicleComponentInSlot(carid, CARMODTYPE_VENT_RIGHT);
- ventleft = GetVehicleComponentInSlot(carid, CARMODTYPE_VENT_LEFT);
- if(spoilers >= 1000) PlayerVehicleInfo[playerid][playervehicleid][pvMods][0] = spoilers;
- if(hood >= 1000) PlayerVehicleInfo[playerid][playervehicleid][pvMods][1] = hood;
- if(roof >= 1000) PlayerVehicleInfo[playerid][playervehicleid][pvMods][2] = roof;
- if(sideskirt1 >= 1000) PlayerVehicleInfo[playerid][playervehicleid][pvMods][3] = sideskirt1;
- if(lamps >= 1000) PlayerVehicleInfo[playerid][playervehicleid][pvMods][4] = lamps;
- if(nitro >= 1000) PlayerVehicleInfo[playerid][playervehicleid][pvMods][5] = nitro;
- if(exhaust >= 1000) PlayerVehicleInfo[playerid][playervehicleid][pvMods][6] = exhaust;
- if(wheels >= 1000) PlayerVehicleInfo[playerid][playervehicleid][pvMods][7] = wheels;
- if(stereo >= 1000) PlayerVehicleInfo[playerid][playervehicleid][pvMods][8] = stereo;
- if(hydraulics >= 1000) PlayerVehicleInfo[playerid][playervehicleid][pvMods][9] = hydraulics;
- if(frontbumper >= 1000) PlayerVehicleInfo[playerid][playervehicleid][pvMods][10] = frontbumper;
- if(rearbumper >= 1000) PlayerVehicleInfo[playerid][playervehicleid][pvMods][11] = rearbumper;
- if(ventright >= 1000) PlayerVehicleInfo[playerid][playervehicleid][pvMods][12] = ventright;
- if(ventleft >= 1000) PlayerVehicleInfo[playerid][playervehicleid][pvMods][13] = ventleft;
- if(sideskirt2 >= 1000) PlayerVehicleInfo[playerid][playervehicleid][pvMods][14] = sideskirt2;
- }
- stock LoadPlayerVehicleMods(playerid, playervehicleid)
- {
- printf(" Loading player #%d vehicle #%d mods.", playerid, playervehicleid);
- new paintjob = PlayerVehicleInfo[playerid][playervehicleid][pvPaintJob];
- new color1 = PlayerVehicleInfo[playerid][playervehicleid][pvColor1];
- new color2 = PlayerVehicleInfo[playerid][playervehicleid][pvColor2];
- if(PlayerVehicleInfo[playerid][playervehicleid][pvPaintJob] != -1)
- {
- ChangeVehiclePaintjob(PlayerVehicleInfo[playerid][playervehicleid][pvId], paintjob);
- ChangeVehicleColor(PlayerVehicleInfo[playerid][playervehicleid][pvId], color1, color2);
- }
- for(new m = 0; m < MAX_MODS; m++)
- {
- if (PlayerVehicleInfo[playerid][playervehicleid][pvMods][m] >= 1000)
- {
- AddVehicleComponent(PlayerVehicleInfo[playerid][playervehicleid][pvId], PlayerVehicleInfo[playerid][playervehicleid][pvMods][m]);
- }
- }
- }
- stock LoadAllPlayerVehicleMods(playerid)
- {
- print(" Loading all vehicles mods.");
- for(new v = 0; v < MAX_PLAYERVEHICLES; v++)
- {
- if(PlayerVehicleInfo[playerid][v][pvModelId] != 0)
- {
- new paintjob = PlayerVehicleInfo[playerid][v][pvPaintJob];
- new color1 = PlayerVehicleInfo[playerid][v][pvColor1];
- new color2 = PlayerVehicleInfo[playerid][v][pvColor2];
- if(PlayerVehicleInfo[playerid][v][pvPaintJob] != -1)
- {
- ChangeVehiclePaintjob(PlayerVehicleInfo[playerid][v][pvId], paintjob);
- }
- ChangeVehicleColor(PlayerVehicleInfo[playerid][v][pvId], color1, color2);
- for(new m = 0; m < MAX_MODS; m++)
- {
- if (PlayerVehicleInfo[playerid][v][pvMods][m] >= 1000)
- {
- AddVehicleComponent(PlayerVehicleInfo[playerid][v][pvId], PlayerVehicleInfo[playerid][v][pvMods][m]);
- }
- }
- }
- }
- }
- stock GetPlayerFreeVehicleId(playerid)
- {
- new
- i = 0;
- while (i < MAX_PLAYERVEHICLES && PlayerVehicleInfo[playerid][i][pvId])
- {
- i++;
- }
- if (i == MAX_PLAYERVEHICLES) return -1;
- return i;
- }
- stock GetPlayerVehicle(playerid, vehicleid)
- {
- for(new v = 0; v < MAX_PLAYERVEHICLES; v++)
- {
- if(PlayerVehicleInfo[playerid][v][pvId] == vehicleid)
- {
- return v;
- }
- }
- return -1;
- }
- stock strtok(const string[], &index)
- {
- new length = strlen(string);
- while ((index < length) && (string[index] <= ' '))
- {
- index++;
- }
- new offset = index;
- new result[20];
- while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
- {
- result[index - offset] = string[index];
- index++;
- }
- result[index - offset] = EOS;
- return result;
- }
- stock GetVehicleName(vehicleid)
- {
- new vn[50];
- format(vn,sizeof(vn),"%s",VehicleName[GetVehicleModel(vehicleid)-400]);
- return vn;
- }
- IsKeyJustDown(key, newkeys, oldkeys)
- {
- if((newkeys & key) && !(oldkeys & key)) return 1;
- return 0;
- }
- IsNumeric(const string[])
- {
- for (new i = 0, j = strlen(string); i < j; i++)
- {
- if (string[i] > '9' || string[i] < '0') return 0;
- }
- return 1;
- }
- ReturnUser(text[], playerid = INVALID_PLAYER_ID)
- {
- new pos = 0;
- while (text[pos] < 0x21) // Strip out leading spaces
- {
- if (text[pos] == 0) return INVALID_PLAYER_ID; // No passed text
- pos++;
- }
- new userid = INVALID_PLAYER_ID;
- if (IsNumeric(text[pos])) // Check whole passed string
- {
- // If they have a numeric name you have a problem (although names are checked on id failure)
- userid = strval(text[pos]);
- if (userid >=0 && userid < MAX_PLAYERS)
- {
- if(!IsPlayerConnected(userid))
- {
- /*if (playerid != INVALID_PLAYER_ID)
- {
- SendClientMessage(playerid, 0xFF0000AA, "User not connected");
- }*/
- userid = INVALID_PLAYER_ID;
- }
- else
- {
- return userid; // A player was found
- }
- }
- /*else
- {
- if (playerid != INVALID_PLAYER_ID)
- {
- SendClientMessage(playerid, 0xFF0000AA, "Invalid user ID");
- }
- userid = INVALID_PLAYER_ID;
- }
- return userid;*/
- // Removed for fallthrough code
- }
- // They entered [part of] a name or the id search failed (check names just incase)
- new len = strlen(text[pos]);
- new count = 0;
- new name[MAX_PLAYER_NAME];
- for (new i = 0; i < MAX_PLAYERS; i++)
- {
- if (IsPlayerConnected(i))
- {
- GetPlayerName(i, name, sizeof (name));
- if (strcmp(name, text[pos], true, len) == 0) // Check segment of name
- {
- if (len == strlen(name)) // Exact match
- {
- return i; // Return the exact player on an exact match
- // Otherwise if there are two players:
- // Me and MeYou any time you entered Me it would find both
- // And never be able to return just Me's id
- }
- else // Partial match
- {
- count++;
- userid = i;
- }
- }
- }
- }
- if (count != 1)
- {
- if (playerid != INVALID_PLAYER_ID)
- {
- if (count)
- {
- SendClientMessage(playerid, 0xFF0000AA, "Multiple users found, please narrow earch");
- }
- else
- {
- SendClientMessage(playerid, 0xFF0000AA, "No matching user found");
- }
- }
- userid = INVALID_PLAYER_ID;
- }
- return userid; // INVALID_USER_ID for bad return
- }
- public OnEnterExitModShop(playerid,enterexit,interiorid)
- {
- if(enterexit == 1)
- {
- SendClientMessage(playerid, COLOR_GRAD1, " You have entered a modding shop.");
- }
- else
- {
- // Saving cars.
- if(GetPlayerVehicle(playerid, GetPlayerVehicleID(playerid)) > -1)
- {
- UpdatePlayerVehicleMods(playerid, GetPlayerVehicle(playerid, GetPlayerVehicleID(playerid)));
- return 1;
- }
- }
- return 0;
- }
- public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
- {
- if(GetPlayerVehicle(playerid, vehicleid) > -1)
- {
- PlayerVehicleInfo[playerid][GetPlayerVehicle(playerid, vehicleid)][pvPaintJob] = paintjobid;
- return 1;
- }
- return 1;
- }
- public OnVehicleRespray(playerid, vehicleid, color1, color2)
- {
- if(GetPlayerVehicle(playerid, vehicleid) > -1)
- {
- PlayerVehicleInfo[playerid][GetPlayerVehicle(playerid, vehicleid)][pvColor1] = color1;
- PlayerVehicleInfo[playerid][GetPlayerVehicle(playerid, vehicleid)][pvColor2] = color2;
- return 1;
- }
- return 1;
- }
- public OnVehicleStreamIn(vehicleid, forplayerid)
- {
- new v;
- for(new i = 0; i < MAX_PLAYERS; i++)
- {
- v = GetPlayerVehicle(i, vehicleid);
- if(PlayerVehicleInfo[i][v][pvId] == vehicleid && forplayerid != i)
- {
- if(PlayerVehicleInfo[i][v][pvLock] == 3 && PlayerVehicleInfo[i][v][pvLocked])
- {
- SetVehicleParamsForPlayer(vehicleid,forplayerid,0,1);
- }
- else if(PlayerVehicleInfo[i][v][pvLock] == 3 && !PlayerVehicleInfo[i][v][pvLocked])
- {
- SetVehicleParamsForPlayer(vehicleid,forplayerid,0,0);
- }
- }
- }
- return 1;
- }
- public OnVehicleSpawn(vehicleid)
- {
- new v;
- for(new i = 0; i < MAX_PLAYERS; i++)
- {
- if(IsPlayerConnected(i))
- {
- v = GetPlayerVehicle(i, vehicleid);
- if(v != -1)
- {
- SendClientMessage(i, COLOR_GRAD1, " Your vehicle has been spawned.");
- new paintjob = PlayerVehicleInfo[i][v][pvPaintJob];
- new color1 = PlayerVehicleInfo[i][v][pvColor1];
- new color2 = PlayerVehicleInfo[i][v][pvColor2];
- ChangeVehiclePaintjob(vehicleid, paintjob);
- ChangeVehicleColor(vehicleid, color1, color2);
- for(new m = 0; m < MAX_MODS; m++)
- {
- if (PlayerVehicleInfo[i][v][pvMods][m] >= 1000)
- {
- AddVehicleComponent(vehicleid, PlayerVehicleInfo[i][v][pvMods][m]);
- }
- }
- }
- }
- }
- }
- public MeepMeep(playerid, vehicleid)
- {
- if(IsPlayerInVehicle(playerid, vehicleid) && !meepmeep[vehicleid])
- {
- new Float:x, Float: y, Float: z;
- GetVehiclePos(vehicleid, x, y, z);
- for(new d = 0; d < MAX_PLAYERS; d++)
- {
- if(IsPlayerInRangeOfPoint(d, 30.0, x, y, z))
- {
- PlayerPlaySound(d, 1147, x, y, z);
- }
- }
- SetTimerEx("MeepMeep", 1000, 0, "dd", playerid, vehicleid);
- }
- else if(!IsPlayerInVehicle(playerid, vehicleid) && !meepmeep[vehicleid])
- {
- new Float:x, Float: y, Float: z;
- GetVehiclePos(vehicleid, x, y, z);
- for(new d = 0; d < MAX_PLAYERS; d++)
- {
- if(IsPlayerInRangeOfPoint(d, 30.0, x, y, z))
- {
- PlayerPlaySound(d, 1147, x, y, z);
- }
- }
- meepmeep[vehicleid] = 10;
- SetTimerEx("MeepMeep", 1000, 0, "dd", playerid, vehicleid);
- }
- else if(meepmeep[vehicleid] > 1)
- {
- new Float:x, Float: y, Float: z;
- GetVehiclePos(vehicleid, x, y, z);
- for(new d = 0; d < MAX_PLAYERS; d++)
- {
- if(IsPlayerInRangeOfPoint(d, 30.0, x, y, z))
- {
- PlayerPlaySound(d, 1147, x, y, z);
- }
- }
- meepmeep[vehicleid]--;
- SetTimerEx("MeepMeep", 1000, 0, "dd", playerid, vehicleid);
- }
- else if(meepmeep[vehicleid] == 1)
- {
- new Float:x, Float: y, Float: z;
- GetVehiclePos(vehicleid, x, y, z);
- for(new d = 0; d < MAX_PLAYERS; d++)
- {
- if(IsPlayerInRangeOfPoint(d, 30.0, x, y, z))
- {
- PlayerPlaySound(d, 1147, x, y, z);
- }
- }
- meepmeep[vehicleid] = 0;
- }
- return 1;
- }
- public PutPlayerInVeh(playerid, vehicleid)
- {
- PutPlayerInVehicle(playerid, vehicleid, 0);
- }
- public ReleasePlayer(playerid)
- {
- TogglePlayerControllable(playerid,1);
- }
- public LockPlayerVehicle(ownerid, carid, type)
- {
- new v = GetPlayerVehicle(ownerid, carid);
- if(PlayerVehicleInfo[ownerid][v][pvId] == carid && type == 3)
- {
- for(new i = 0; i < MAX_PLAYERS; i++)
- {
- if(i != ownerid)
- {
- SetVehicleParamsForPlayer(carid,i,0,1);
- }
- }
- }
- }
- public UnLockPlayerVehicle(ownerid, carid, type)
- {
- new v = GetPlayerVehicle(ownerid, carid);
- if(PlayerVehicleInfo[ownerid][v][pvId] == carid && type == 3)
- {
- for(new i = 0; i < MAX_PLAYERS; i++)
- {
- if(i != ownerid)
- {
- SetVehicleParamsForPlayer(carid,i,0,0);
- }
- }
- }
- }
- public OnPlayerCommandText(playerid, cmdtext[])
- {
- new string[128], cmd[128], tmp[128], idx;
- cmd = strtok(cmdtext, idx);
- new idcar = GetPlayerVehicleID(playerid);
- new giveplayerid;
- if(strcmp(cmd, "/park", true) == 0)
- {
- for(new d = 0 ; d < MAX_PLAYERVEHICLES; d++)
- {
- if(IsPlayerInVehicle(playerid, PlayerVehicleInfo[playerid][d][pvId]))
- {
- new Float:x, Float:y, Float:z, Float:angle, playername[MAX_PLAYER_NAME], Float:health;
- GetVehicleHealth(PlayerVehicleInfo[playerid][d][pvId], health);
- if(health < 500) return SendClientMessage(playerid, COLOR_GREY, " Your vehicle is too damaged to park it.");
- GetVehiclePos(PlayerVehicleInfo[playerid][d][pvId], x, y, z);
- GetVehicleZAngle(PlayerVehicleInfo[playerid][d][pvId], angle);
- GetPlayerName(playerid, playername, sizeof(playername));
- UpdatePlayerVehicleParkPosition(playerid, d, x, y, z, angle, health);
- format(string, sizeof(string), "* %s has parked his vehicle.", playername);
- ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
- return 1;
- }
- }
- SendClientMessage(playerid, COLOR_GREY, " You need to be inside a vehicle that you own.");
- return 1;
- }
- if(strcmp(cmd, "/pvlock", true) == 0)
- {
- if(IsPlayerConnected(playerid))
- {
- new Float: x, Float: y, Float: z, playername[MAX_PLAYER_NAME];
- GetPlayerName(playerid, playername, sizeof(playername));
- for(new d = 0 ; d < MAX_PLAYERVEHICLES; d++)
- {
- if(PlayerVehicleInfo[playerid][d][pvId] != 0) GetVehiclePos(PlayerVehicleInfo[playerid][d][pvId], x, y, z);
- if(IsPlayerInRangeOfPoint(playerid, 3.0, x, y, z))
- {
- if(PlayerVehicleInfo[playerid][d][pvLock] > 0 && PlayerVehicleInfo[playerid][d][pvLocked] == 0)
- {
- GameTextForPlayer(playerid,"~r~Vehicle Locked!",5000,6);
- PlayerPlaySound(playerid, 1145, 0.0, 0.0, 0.0);
- PlayerVehicleInfo[playerid][d][pvLocked] = 1;
- LockPlayerVehicle(playerid, PlayerVehicleInfo[playerid][d][pvId], PlayerVehicleInfo[playerid][d][pvLock]);
- format(string, sizeof(string), "* %s has locked his vehicle.", playername);
- ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
- return 1;
- }
- else if(PlayerVehicleInfo[playerid][d][pvLock] > 0 && PlayerVehicleInfo[playerid][d][pvLocked] == 1)
- {
- GameTextForPlayer(playerid,"~g~Vehicle Unlocked!",5000,6);
- PlayerPlaySound(playerid, 1145, 0.0, 0.0, 0.0);
- PlayerVehicleInfo[playerid][d][pvLocked] = 0;
- UnLockPlayerVehicle(playerid, PlayerVehicleInfo[playerid][d][pvId], PlayerVehicleInfo[playerid][d][pvLock]);
- format(string, sizeof(string), "* %s has unlocked his vehicle.", playername);
- ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
- return 1;
- }
- SendClientMessage(playerid, COLOR_GREY, " You don't have a lock system installed on this vehicle.");
- return 1;
- }
- }
- SendClientMessage(playerid, COLOR_GREY, " You are not near any vehicle that you own.");
- }
- return 1;
- }
- if(strcmp(cmd, "/editcardealership", true) == 0)
- {
- for(new d = 0 ; d < MAX_CARDEALERSHIPS; d++)
- {
- if(IsPlayerInRangeOfPoint(playerid, CarDealershipInfo[d][cdRadius], CarDealershipInfo[d][cdEntranceX], CarDealershipInfo[d][cdEntranceY], CarDealershipInfo[d][cdEntranceZ]))
- {
- if(IsPlayerOwnerOfCDEx(playerid, d))
- {
- SetPVarInt(playerid, "editingcd", d);
- SetPVarInt(playerid, "editingcdveh", -1);
- SetPVarInt(playerid, "editingcdvehpos", 0);
- SetPVarInt(playerid, "editingcdvehnew", 0);
- new listitems[] = "1 New Vehicle\n2 My Vehicles\n3 Upgrade\n4 Till";
- ShowPlayerDialog(playerid,DIALOG_CDEDIT,DIALOG_STYLE_LIST,"Choose an item to continue", listitems,"Select","Cancel");
- return 1;
- }
- else
- {
- SendClientMessage(playerid, COLOR_GREY, "You do not own that Car Dealership.");
- return 1;
- }
- }
- }
- SendClientMessage(playerid, COLOR_GREY, "ERROR: You must be standing inside the radius of the Car Dealership.");
- }
- if(strcmp(cmd, "/editcar", true) == 0)
- {
- new vehicleid = GetPlayerVehicleID(playerid);
- new v, d;
- v = GetCarDealershipVehicleId(vehicleid);
- d = GetCarDealershipId(vehicleid);
- if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, COLOR_GREY, "ERROR: You are not in any car.");
- if(v != -1 && d != -1)
- {
- if(IsPlayerOwnerOfCDEx(playerid, d))
- {
- SetPVarInt(playerid, "editingcd", d);
- SetPVarInt(playerid, "editingcdveh", v);
- SetPVarInt(playerid, "editingcdvehpos", 0);
- SetPVarInt(playerid, "editingcdvehnew", 0);
- new listitems[] = "1 Edit Model\n2 Edit Cost\n3 Edit Park\n4 Delete Vehicle";
- ShowPlayerDialog(playerid,DIALOG_CDEDITONE,DIALOG_STYLE_LIST,"Car Dealership:", listitems,"Select","Cancel");
- return 1;
- }
- else
- {
- SendClientMessage(playerid, COLOR_GREY, "ERROR: You do not own that Car Dealership.");
- }
- }
- else
- {
- SendClientMessage(playerid, COLOR_GREY, "ERROR: Car is not part of a Car Dealership.");
- }
- }
- if(strcmp(cmd, "/buydealership", true) == 0)
- {
- for(new d = 0 ; d < MAX_CARDEALERSHIPS; d++)
- {
- if(IsPlayerInRangeOfPoint(playerid, 3.0, CarDealershipInfo[d][cdEntranceX], CarDealershipInfo[d][cdEntranceY], CarDealershipInfo[d][cdEntranceZ]))
- {
- if(!CarDealershipInfo[d][cdOwned])
- {
- if(GetPVarInt(playerid, "Cash") < CarDealershipInfo[d][cdPrice])
- {
- SendClientMessage(playerid, COLOR_GREY, " You do not have enough money to buy this Car Dealership.");
- }
- SetPVarInt(playerid, "Cash", GetPVarInt(playerid, "Cash")-CarDealershipInfo[d][cdPrice]);
- SetPlayerOwnerOfCD(playerid, d);
- PlayerPlayMusic(playerid);
- SendClientMessage(playerid, COLOR_WHITE, "Congratulations, On Your New Purchase.");
- SendClientMessage(playerid, COLOR_WHITE, "Type /help to review the new car dealership help section.");
- SendClientMessage(playerid, COLOR_GRAD1, " Please set the position you want your brought cars to spawn.");
- SendClientMessage(playerid, COLOR_GRAD2, " Stand where you want to have your brought vehicles spawn.");
- SendClientMessage(playerid, COLOR_GRAD2, " Once ready press the fire button.");
- SendClientMessage(playerid, COLOR_WHITE, " Note: If you don't set it your costumers wont be able to buy any cars.");
- SetPVarInt(playerid, "editingcdvehpos", 2);
- SetPVarInt(playerid, "editingcd", d);
- return 1;
- }
- else
- {
- SendClientMessage(playerid, COLOR_GREY, "That Car Dealership is already owned and it's not for sale.");
- }
- }
- }
- }
- if(strcmp(cmd, "/selldealership", true) == 0)
- {
- for(new d = 0 ; d < MAX_CARDEALERSHIPS; d++)
- {
- if(IsPlayerInRangeOfPoint(playerid, 3.0, CarDealershipInfo[d][cdEntranceX], CarDealershipInfo[d][cdEntranceY], CarDealershipInfo[d][cdEntranceZ]))
- {
- if(IsPlayerOwnerOfCDEx(playerid, d))
- {
- SetPVarInt(playerid, "editingcd", d);
- format(string,128,"Are you sure you want to sell this Car Dealership for $%d?\n.", CarDealershipInfo[d][cdPrice] / 2);
- ShowPlayerDialog(playerid,DIALOG_CDSELL,DIALOG_STYLE_MSGBOX,"Warning:",string,"Sell","Cancel");
- return 1;
- }
- else
- {
- SendClientMessage(playerid, COLOR_GREY, "You are not the owner of this car dealership.");
- return 1;
- }
- }
- }
- SendClientMessage(playerid, COLOR_GREY, "You have to be near a car dealership.");
- }
- if(strcmp(cmd, "/createcdveh", true) == 0)
- {
- if (!IsPlayerAdmin(playerid))
- {
- SendClientMessage(playerid, COLOR_GREY, " You are not allowed to use this command.");
- return 1;
- }
- tmp = strtok(cmdtext,idx);
- new dealershipid;
- if (!strlen(tmp))
- {
- SendClientMessage(playerid, COLOR_GREY, "USAGE: /createcdveh [price] [dealership] [modelid]");
- return 1;
- }
- new price = strval(tmp);
- tmp = strtok(cmdtext, idx);
- if (!strlen(tmp))
- {
- SendClientMessage(playerid, COLOR_GREY, "USAGE: /createcdveh [price] [dealership] [modelid]");
- return 1;
- }
- dealershipid = strval(tmp);
- tmp = strtok(cmdtext, idx);
- if (!strlen(tmp))
- {
- SendClientMessage(playerid, COLOR_GREY, "USAGE: /createcdveh [price] [dealership] [modelid]");
- return 1;
- }
- new modelid = strval(tmp);
- new Float:X,Float:Y,Float:Z,Float:A;
- GetPlayerPos(playerid,X,Y,Z);
- GetPlayerFacingAngle(playerid, A);
- new cdvehicleid = CreateCarDealershipVehicle(dealershipid, modelid, X, Y, Z, A, price);
- if(cdvehicleid == -1)
- {
- SendClientMessage(playerid, COLOR_GREY, "ERROR: cdVehicles limit reached.");
- }
- else
- {
- format(string, sizeof(string), " Car Dealership Vehicle created with ID %d.", cdvehicleid);
- SendClientMessage(playerid, COLOR_GRAD1, string);
- }
- }
- if(strcmp(cmd, "/destroycdveh", true) == 0)
- {
- if (!IsPlayerAdmin(playerid))
- {
- SendClientMessage(playerid, COLOR_GREY, " You are not allowed to use this command.");
- return 1;
- }
- /*for(new d = 1 ; d < MAX_CARDEALERSHIPS; d++)
- {
- if(IsPlayerInRangeOfPoint(playerid, 3.0, CarDealershipInfo[d][cdEntranceX], CarDealershipInfo[d][cdEntranceY], CarDealershipInfo[d][cdEntranceZ]))
- {
- DestroyCarDealership(d);
- format(string, sizeof(string), " Car Dealership destroyed with ID %d.", d);
- SendClientMessage(playerid, COLOR_GRAD1, string);
- return 1;
- }
- }*/
- new vehid;
- tmp = strtok(cmdtext, idx);
- if (!strlen(tmp))
- {
- SendClientMessage(playerid, COLOR_GREY, "USAGE: /destroycdveh [vehicleid]");
- return 1;
- }
- vehid = strval(tmp);
- DestroyCarDealershipVehicle(GetCarDealershipId(vehid), GetCarDealershipVehicleId(vehid));
- SavecDealership(GetCarDealershipId(vehid));
- format(string, sizeof(string), " Car Dealership Vehicle destroyed with ID %d.", vehid);
- SendClientMessage(playerid, COLOR_GRAD1, string);
- }
- if(strcmp(cmd, "/createdealership", true) == 0)
- {
- if (!IsPlayerAdmin(playerid))
- {
- SendClientMessage(playerid, COLOR_GREY, " You are not allowed to use this command.");
- return 1;
- }
- tmp = strtok(cmdtext,idx);
- new radius;
- if (!strlen(tmp))
- {
- SendClientMessage(playerid, COLOR_GREY, "USAGE: /createdealership [price] [radius] [message]");
- return 1;
- }
- new price = strval(tmp);
- tmp = strtok(cmdtext, idx);
- if (!strlen(tmp))
- {
- SendClientMessage(playerid, COLOR_GREY, "USAGE: /createdealership [price] [radius] [message]");
- return 1;
- }
- radius = strval(tmp);
- new length = strlen(cmdtext);
- while ((idx < length) && (cmdtext[idx] <= ' '))
- {
- idx++;
- }
- new offset = idx;
- new result[64];
- while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
- {
- result[idx - offset] = cmdtext[idx];
- idx++;
- }
- result[idx - offset] = EOS;
- if(!strlen(result))
- {
- SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /createdealership [price] [radius] [message]");
- return 1;
- }
- new Float:X,Float:Y,Float:Z;
- GetPlayerPos(playerid,X,Y,Z);
- new dealershipid = CreateCarDealership(X, Y, Z, radius, price, result);
- if(dealershipid == -1)
- {
- SendClientMessage(playerid, COLOR_GREY, "ERROR: Car Dealerships limit reached.");
- }
- else
- {
- format(string, sizeof(string), " Car Dealership created with ID %d.", dealershipid);
- SendClientMessage(playerid, COLOR_GRAD1, string);
- }
- }
- if(strcmp(cmd, "/destroydealership", true) == 0)
- {
- if (!IsPlayerAdmin(playerid))
- {
- SendClientMessage(playerid, COLOR_GREY, " You are not allowed to use this command.");
- return 1;
- }
- for(new d = 0 ; d < MAX_CARDEALERSHIPS; d++)
- {
- if(IsPlayerInRangeOfPoint(playerid, 3.0, CarDealershipInfo[d][cdEntranceX], CarDealershipInfo[d][cdEntranceY], CarDealershipInfo[d][cdEntranceZ]))
- {
- DestroyCarDealership(d);
- format(string, sizeof(string), " Car Dealership destroyed with ID %d.", d);
- SendClientMessage(playerid, COLOR_GRAD1, string);
- return 1;
- }
- }
- new dealershipid;
- tmp = strtok(cmdtext, idx);
- if (!strlen(tmp))
- {
- SendClientMessage(playerid, COLOR_GREY, "USAGE: /destroydealership [dealershipid]");
- return 1;
- }
- dealershipid = strval(tmp);
- if(dealershipid > MAX_CARDEALERSHIPS) return 1;
- if(dealershipid < 0) return 1;
- DestroyCarDealership(dealershipid);
- format(string, sizeof(string), " Car Dealership destroyed with ID %d.", dealershipid);
- SendClientMessage(playerid, COLOR_GRAD1, string);
- }
- if(strcmp(cmd, "/vehid", true) == 0)
- {
- if(IsPlayerInAnyVehicle(playerid))
- {
- format(string, sizeof(string), "* Vehicle Name: %s | Vehicle Model:%d | Vehicle ID: %d.",GetVehicleName(idcar), GetVehicleModel(idcar), idcar);
- SendClientMessage(playerid, COLOR_GREY, string);
- }
- return 1;
- }
- if(strcmp(cmd, "/createpvehicle", true) == 0)
- {
- if (!IsPlayerAdmin(playerid))
- {
- SendClientMessage(playerid, COLOR_GREY, " You are not allowed to use this command.");
- return 1;
- }
- tmp = strtok(cmdtext,idx);
- new modelid;
- if (!strlen(tmp))
- {
- SendClientMessage(playerid, COLOR_GREY, "USAGE: /createpvehicle [playerid/partOfName] [modelid] [color 1] [color 2]");
- return 1;
- }
- giveplayerid = ReturnUser(tmp);
- tmp = strtok(cmdtext, idx);
- if (!strlen(tmp))
- {
- SendClientMessage(playerid, COLOR_GREY, "USAGE: /createpvehicle [playerid/partOfName] [modelid] [color 1] [color 2]");
- return 1;
- }
- modelid = strval(tmp);
- tmp = strtok(cmdtext, idx);
- if(!strlen(tmp))
- {
- SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /createpvehicle [playerid/partOfName] [modelid] [color 1] [color 2]");
- return 1;
- }
- new color1;
- color1 = strval(tmp);
- if(color1 < 0 || color1 > 126) { SendClientMessage(playerid, COLOR_GREY, " Color Number can't be below 0 or above 126 !"); return 1; }
- tmp = strtok(cmdtext, idx);
- if(!strlen(tmp))
- {
- SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /createpvehicle [playerid/partOfName] [modelid] [color 1] [color 2]");
- return 1;
- }
- new color2;
- color2 = strval(tmp);
- if(color2 < 0 || color2 > 126) { SendClientMessage(playerid, COLOR_GREY, " Color Number can't be below 0 or above 126 !"); return 1; }
- if(modelid < 400 || modelid > 611) { SendClientMessage(playerid, COLOR_GREY, " Vehicle Number can't be below 400 or above 611 !"); return 1; }
- new playervehicleid = GetPlayerFreeVehicleId(giveplayerid);
- if(playervehicleid == -1) return SendClientMessage(playerid, COLOR_GREY, "ERROR: That player can't have more cars.");
- new Float:X,Float:Y,Float:Z;
- GetPlayerPos(giveplayerid,X,Y,Z);
- new Float:Angle;
- GetPlayerFacingAngle(giveplayerid,Angle);
- new car = CreatePlayerVehicle(giveplayerid, playervehicleid, modelid, X, Y, Z, Angle, color1, color2);
- if(car == INVALID_PLAYER_VEHICLE_ID)
- {
- SendClientMessage(playerid, COLOR_GREY, "ERROR: Something went wrong and the car didn't got created.");
- }
- else
- {
- format(string, sizeof(string), " Vehicle successfully created with ID %d.", car);
- SendClientMessage(playerid, COLOR_GRAD1, string);
- }
- }
- if(strcmp(cmd, "/destroypvehicle", true) == 0)
- {
- if (!IsPlayerAdmin(playerid))
- {
- SendClientMessage(playerid, COLOR_GREY, " You are not allowed to use this command.");
- return 1;
- }
- tmp = strtok(cmdtext,idx);
- new vehicleid;
- if (!strlen(tmp))
- {
- SendClientMessage(playerid, COLOR_GREY, "USAGE: /destroypvehicle [playerid/partOfName] [vehicleid]");
- return 1;
- }
- giveplayerid = ReturnUser(tmp);
- tmp = strtok(cmdtext, idx);
- if (!strlen(tmp))
- {
- SendClientMessage(playerid, COLOR_GREY, "USAGE: /destroypvehicle [playerid/partOfName] [vehicleid]");
- return 1;
- }
- vehicleid = strval(tmp);
- new playervehicleid = GetPlayerVehicle(giveplayerid, vehicleid);
- if(playervehicleid == -1) return SendClientMessage(playerid, COLOR_GREY, "ERROR: That player doesn't own that vehicle.");
- DestroyPlayerVehicle(giveplayerid, playervehicleid);
- }
- if(strcmp(cmd, "/buylock", true) == 0) /*Check*/
- {
- if(IsPlayerConnected(playerid))
- {
- if(!IsAt247(playerid))//centerpoint 24-7
- {
- SendClientMessage(playerid, COLOR_GRAD2, " You are not in a 24-7 !");
- return 1;
- }
- ShowPlayerDialog(playerid, DIALOG_CDLOCKBUY, DIALOG_STYLE_LIST, "24/7", "[$10000]Alarm Lock\n[$50000]Electric Lock\n[$100000]Industrial Lock", "Buy", "Cancel");
- }
- }
- return 0;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- new string[128];
- if(dialogid == DIALOG_CDEDIT)
- { // car dealership dialog
- if(response && GetPVarInt(playerid, "editingcd") != -1)
- {
- if(listitem == 0) // New Vehicle
- {
- format(string,256,"Please type the model id of the new vehicle.");
- ShowPlayerDialog(playerid,DIALOG_CDNEWVEH,DIALOG_STYLE_INPUT,"Warning:",string,"Ok","Cancel");
- }
- else if(listitem == 1) // My Vehicles
- {
- new vehicles;
- for(new i=0; i<MAX_DEALERSHIPVEHICLES; i++)
- {
- if(CarDealershipInfo[GetPVarInt(playerid, "editingcd")][cdVehicleModel][i] != 0)
- {
- vehicles++;
- format(string, sizeof(string), "Vehicle %d| Name: %s | Price: %d.",i+1,GetVehicleName(CarDealershipInfo[GetPVarInt(playerid, "editingcd")][cdVehicleId][i]),CarDealershipInfo[GetPVarInt(playerid, "editingcd")][cdVehicleCost][i]);
- SendClientMessage(playerid, COLOR_WHITE, string);
- }
- }
- if(vehicles)
- {
- ShowPlayerDialog(playerid, DIALOG_CDEDITCARS, DIALOG_STYLE_INPUT, "Car Dealership:", " Choose a vehicle to edit:", "Edit", "Back");
- }
- else
- {
- SendClientMessage(playerid, COLOR_GRAD2, " This Car Dealership doesn't have any cars.");
- }
- }
- else if(listitem == 2) // Upgrade
- {
- new listitems[] = "1 Vehicle Spawn\n2 Radius\n3 Dealership Name\n4 Price";
- ShowPlayerDialog(playerid,DIALOG_CDUPGRADE,DIALOG_STYLE_LIST,"Choose an item to continue", listitems,"Select","Cancel");
- }
- else if(listitem == 3) // Till
- {
- new listitems[] = "1 Withdraw\n2 Deposit";
- ShowPlayerDialog(playerid,DIALOG_CDTILL,DIALOG_STYLE_LIST,"Choose an item to continue", listitems,"Select","Cancel");
- }
- }
- else
- {
- SavecDealership(GetPVarInt(playerid, "editingcd"));
- SetPVarInt(playerid, "editingcd", -1);
- }
- }
- else if(dialogid == DIALOG_CDTILL)
- { // car dealership dialog
- if(response && GetPVarInt(playerid, "editingcd") != -1)
- {
- if(listitem == 0) // Withdraw
- {
- format(string, sizeof(string), "You have $%d in your till account.\n\n\tHow much money to withdraw?", CarDealershipInfo[GetPVarInt(playerid, "editingcd")][cdTill]);
- ShowPlayerDialog(playerid,DIALOG_CDWITHDRAW,DIALOG_STYLE_INPUT,"Withdraw", string,"Select","Cancel");
- }
- else if(listitem == 1) // Deposit
- {
- format(string, sizeof(string), "You have $%d in your till account.\n\n\tHow much money to deposit?", CarDealershipInfo[GetPVarInt(playerid, "editingcd")][cdTill]);
- ShowPlayerDialog(playerid,DIALOG_CDDEPOSIT,DIALOG_STYLE_INPUT,"Deposit", string,"Select","Cancel");
- }
- }
- else
- {
- SavecDealership(GetPVarInt(playerid, "editingcd"));
- SetPVarInt(playerid, "editingcd", -1);
- }
- }
- else if(dialogid == DIALOG_CDWITHDRAW)
- { // car dealership dialog
- if(response && GetPVarInt(playerid, "editingcd") != -1)
- {
- if (IsNumeric(inputtext))
- {
- new money = strval(inputtext);
- if(CarDealershipInfo[GetPVarInt(playerid, "editingcd")][cdTill] < money)
- {
- format(string, sizeof(string), "You don't have that much in your till!\n\nYou have $%d in your till account.\n\n\tHow much money to withdraw?", CarDealershipInfo[GetPVarInt(playerid, "editingcd")][cdTill]);
- ShowPlayerDialog(playerid,DIALOG_CDWITHDRAW,DIALOG_STYLE_INPUT,"Withdraw", string,"Select","Cancel");
- return 1;
- }
- CarDealershipInfo[GetPVarInt(playerid, "editingcd")][cdTill] -= money;
- SetPVarInt(playerid, "Cash", GetPVarInt(playerid, "Cash")+money);
- format(string, sizeof(string), "You have successfully withdrawn $%d from your till, new balance: $%d", money, CarDealershipInfo[GetPVarInt(playerid, "editingcd")][cdTill]);
- SendClientMessage(playerid, COLOR_GRAD2, string);
- SavecDealership(GetPVarInt(playerid, "editingcd"));
- SetPVarInt(playerid, "editingcd", -1);
- }
- }
- else
- {
- SavecDealership(GetPVarInt(playerid, "editingcd"));
- SetPVarInt(playerid, "editingcd", -1);
- }
- }
- else if(dialogid == DIALOG_CDDEPOSIT)
- { // car dealership dialog
- if(response && GetPVarInt(playerid, "editingcd") != -1)
- {
- if (IsNumeric(inputtext))
- {
- new money = strval(inputtext);
- if(GetPVarInt(playerid, "Cash") < money)
- {
- format(string, sizeof(string), "You don't have that much in your wallet!\n\nYou have $%d in your till account.\n\n\tHow much money to deposit?", CarDealershipInfo[GetPVarInt(playerid, "editingcd")][cdTill]);
- ShowPlayerDialog(playerid,DIALOG_CDDEPOSIT,DIALOG_STYLE_INPUT,"Deposit", string,"Select","Cancel");
- return 1;
- }
- CarDealershipInfo[GetPVarInt(playerid, "editingcd")][cdTill] += money;
- SetPVarInt(playerid, "Cash", GetPVarInt(playerid, "Cash")-money);
- format(string, sizeof(string), "You have successfully deposited $%d to your till, new balance: $%d", money, CarDealershipInfo[GetPVarInt(playerid, "editingcd")][cdTill]);
- SendClientMessage(playerid, COLOR_GRAD2, string);
- SavecDealership(GetPVarInt(playerid, "editingcd"));
- SetPVarInt(playerid, "editingcd", -1);
- }
- }
- else
- {
- SavecDealership(GetPVarInt(playerid, "editingcd"));
- SetPVarInt(playerid, "editingcd", -1);
- }
- }
- else if(dialogid == DIALOG_CDUPGRADE)
- { // car dealership dialog
- if(response && GetPVarInt(playerid, "editingcd") != -1)
- {
- if(listitem == 0) // Vehicle Spawn
- {
- SendClientMessage(playerid, COLOR_GRAD2, " Please stand where you want to have your brought vehicles spawn.");
- SendClientMessage(playerid, COLOR_GRAD2, " Once ready press the fire button.");
- SetPVarInt(playerid, "editingcdvehpos", 2);
- }
- if(listitem == 1) // Radius
- {
- ShowPlayerDialog(playerid, DIALOG_CDRADIUS, DIALOG_STYLE_INPUT, "Car Dealership:", " Choose the new radius:", "Edit", "Back");
- }
- else if(listitem == 2) // Dealership Name
- {
- ShowPlayerDialog(playerid, DIALOG_CDNAME, DIALOG_STYLE_INPUT, "Car Dealership:", " Choose the new name:", "Edit", "Back");
- }
- else if(listitem == 3) // Price
- {
- ShowPlayerDialog(playerid, DIALOG_CDPRICE, DIALOG_STYLE_INPUT, "Car Dealership:", " Choose the new price:", "Edit", "Back");
- }
- }
- else
- {
- SavecDealership(GetPVarInt(playerid, "editingcd"));
- SetPVarInt(playerid, "editingcd", -1);
- }
- }
- else if(dialogid == DIALOG_CDRADIUS)
- { // car dealership dialog
- if(response && GetPVarInt(playerid, "editingcd") != -1)
- {
- new d;
- d = GetPVarInt(playerid, "editingcd");
- new Float:radius = floatstr(inputtext);
- new Float:radiusex = CarDealershipInfo[d][cdRadius];
- new test = floatround(radius), test1 = floatround(radiusex);
- if (CarDealershipInfo[d][cdRadius] > radius)
- {
- new cost = ( test - test1 ) * ( test1 * 1000 );
- if(GetPVarInt(playerid, "Cash") < cost)
- {
- format(string, sizeof(string), "ERROR: You do not have enough money for this upgrade ($%d).",cost);
- SendClientMessage(playerid, COLOR_GREY, string);
- }
- format(string, sizeof(string), " Car Dealership radius upgraded from %.1f to %.1f for $%d.",radiusex, radius, cost);
- SendClientMessage(playerid, COLOR_GREY, string);
- CarDealershipInfo[d][cdRadius] = radius;
- format(string,128,"Car Dealership %s\nOwner: %s\nRadius: %.1f", CarDealershipInfo[d][cdMessage], CarDealershipInfo[d][cdOwner], CarDealershipInfo[d][cdRadius]);
- UpdateDynamic3DTextLabelText(CarDealershipInfo[d][cdTextLabel], COLOR_GREEN, string);
- new listitems[] = "1 Vehicle Spawn\n2 Radius\n3 Dealership Name\n4 Price";
- ShowPlayerDialog(playerid,DIALOG_CDUPGRADE,DIALOG_STYLE_LIST,"Choose an item to continue", listitems,"Select","Cancel");
- SavecDealership(GetPVarInt(playerid, "editingcd"));
- }
- }
- else
- {
- new listitems[] = "1 Vehicle Spawn\n2 Radius\n3 Dealership Name\n4 Price";
- ShowPlayerDialog(playerid,DIALOG_CDUPGRADE,DIALOG_STYLE_LIST,"Choose an item to continue", listitems,"Select","Cancel");
- }
- }
- else if(dialogid == DIALOG_CDNAME)
- { // car dealership dialog
- if(response && GetPVarInt(playerid, "editingcd") != -1)
- {
- new d;
- d = GetPVarInt(playerid, "editingcd");
- if (!strlen(inputtext))
- {
- SendClientMessage(playerid, COLOR_LIGHTRED, "** You must type a name **");
- ShowPlayerDialog(playerid, DIALOG_CDNAME, DIALOG_STYLE_INPUT, "Car Dealership:", " Choose the new name:", "Edit", "Back");
- return 1;
- }
- new cost = strlen(inputtext) * 50;
- format(string, sizeof(string), " Car Dealership name upgraded from %s to %s for $%d.", CarDealershipInfo[d][cdMessage], inputtext, cost);
- SendClientMessage(playerid, COLOR_GREY, string);
- strmid(CarDealershipInfo[d][cdMessage], inputtext, 0, strlen(inputtext), 255);
- format(string,128,"Car Dealership %s\nOwner: %s\nRadius: %.1f", CarDealershipInfo[d][cdMessage], CarDealershipInfo[d][cdOwner], CarDealershipInfo[d][cdRadius]);
- UpdateDynamic3DTextLabelText(CarDealershipInfo[d][cdTextLabel], COLOR_GREEN, string);
- new listitems[] = "1 Vehicle Spawn\n2 Radius\n3 Dealership Name\n4 Price";
- ShowPlayerDialog(playerid,DIALOG_CDUPGRADE,DIALOG_STYLE_LIST,"Choose an item to continue", listitems,"Select","Cancel");
- SavecDealership(GetPVarInt(playerid, "editingcd"));
- }
- else
- {
- new listitems[] = "1 Vehicle Spawn\n2 Radius\n3 Dealership Name\n4 Price";
- ShowPlayerDialog(playerid,DIALOG_CDUPGRADE,DIALOG_STYLE_LIST,"Choose an item to continue", listitems,"Select","Cancel");
- }
- }
- else if(dialogid == DIALOG_CDEDITCARS)
- { // car dealership dialog
- if(response && GetPVarInt(playerid, "editingcd") != -1)
- {
- new cdvid;
- if (IsNumeric(inputtext))
- {
- cdvid = strval(inputtext);
- if(CarDealershipInfo[GetPVarInt(playerid, "editingcd")][cdVehicleModel][cdvid-1])
- {
- SetPVarInt(playerid, "editingcdveh", cdvid-1);
- new listitems[] = "1 Edit Model\n2 Edit Cost\n3 Edit Park\n4 Delete Vehicle";
- ShowPlayerDialog(playerid,DIALOG_CDEDITONE,DIALOG_STYLE_LIST,"Car Dealership:", listitems,"Select","Cancel");
- }
- }
- }
- else
- {
- new listitems[] = "1 New Vehicle\n2 My Vehicles\n3 Upgrade\n4 Till";
- ShowPlayerDialog(playerid,DIALOG_CDEDIT,DIALOG_STYLE_LIST,"Choose an item to continue", listitems,"Select","Cancel");
- }
- }
- else if(dialogid == DIALOG_CDEDITONE)
- { // car dealership dialog
- if(response && GetPVarInt(playerid, "editingcd") != -1 && GetPVarInt(playerid, "editingcdveh") != -1)
- {
- if(listitem == 0) // Edit Model
- {
- ShowPlayerDialog(playerid, DIALOG_CDEDITMODEL, DIALOG_STYLE_INPUT, "Car Dealership:", " Choose the new model id:", "Edit", "Back");
- }
- else if(listitem == 1) // Edit Cost
- {
- ShowPlayerDialog(playerid, DIALOG_CDEDITCOST, DIALOG_STYLE_INPUT, "Car Dealership:", " Choose the new price of the car:", "Edit", "Back");
- }
- else if(listitem == 2) // Edit Park
- {
- PutPlayerInVehicle(playerid, CarDealershipInfo[GetPVarInt(playerid, "editingcd")][cdVehicleId][GetPVarInt(playerid, "editingcdveh")], 0);
- SendClientMessage(playerid, COLOR_GRAD2, " Please stand where you want to park the vehicle.");
- SendClientMessage(playerid, COLOR_GRAD2, " Once ready press the fire button.");
- SetPVarInt(playerid, "editingcdvehpos", 1);
- }
- else if(listitem == 3) // Delete Vehicle
- {
- format(string,256,"Are you sure you want to delete this %s?\nNote: You will not get any refounds.",
- GetVehicleName(CarDealershipInfo[GetPVarInt(playerid, "editingcd")][cdVehicleId][GetPVarInt(playerid, "editingcdveh")]));
- ShowPlayerDialog(playerid,DIALOG_CDDELVEH,DIALOG_STYLE_MSGBOX,"Warning:",string,"Ok","Cancel");
- }
- }
- else
- {
- SavecDealership(GetPVarInt(playerid, "editingcd"));
- SetPVarInt(playerid, "editingcdveh", -1);
- }
- }
- else if(dialogid == DIALOG_CDEDITMODEL)
- { // car dealership dialog
- if(response && GetPVarInt(playerid, "editingcd") != -1 && GetPVarInt(playerid, "editingcdveh") != -1)
- {
- new modelid, d, v;
- new text_info[128];
- d = GetPVarInt(playerid, "editingcd");
- v = GetPVarInt(playerid, "editingcdveh");
- if (IsNumeric(inputtext))
- {
- modelid = strval(inputtext);
- if(modelid < 400 || modelid > 611) { SendClientMessage(playerid, COLOR_GREY, " Vehicle Number can't be below 400 or above 611 !"); return 1; }
- CarDealershipInfo[d][cdVehicleModel][v] = modelid;
- DestroyDynamic3DTextLabel(CarDealershipInfo[d][cdVehicleLabel][v]);
- DestroyVehicle(CarDealershipInfo[d][cdVehicleId][v]);
- new carcreated;
- carcreated = CreateVehicle(CarDealershipInfo[d][cdVehicleModel][v], CarDealershipInfo[d][cdVehicleSpawnX][v], CarDealershipInfo[d][cdVehicleSpawnY][v], CarDealershipInfo[d][cdVehicleSpawnZ][v], CarDealershipInfo[d][cdVehicleSpawnAngle][v], 0, 0, 6);
- format(text_info,256,"%s For Sale | Price: %d", GetVehicleName(carcreated), CarDealershipInfo[d][cdVehicleCost][v]);
- CarDealershipInfo[d][cdVehicleLabel][v] = CreateDynamic3DTextLabel(text_info,COLOR_LIGHTBLUE,0.0, 0.0, 0.0,8.0,INVALID_PLAYER_ID,carcreated);
- CarDealershipInfo[d][cdVehicleId][v] = carcreated;
- new listitems[] = "1 Edit Model\n2 Edit Cost\n3 Edit Park\n4 Delete Vehicle";
- ShowPlayerDialog(playerid,DIALOG_CDEDITONE,DIALOG_STYLE_LIST,"Car Dealership:", listitems,"Select","Cancel");
- SavecDealership(d);
- }
- }
- else
- {
- new listitems[] = "1 Edit Model\n2 Edit Cost\n3 Edit Park\n4 Delete Vehicle";
- ShowPlayerDialog(playerid,DIALOG_CDEDITONE,DIALOG_STYLE_LIST,"Car Dealership:", listitems,"Select","Cancel");
- }
- }
- else if(dialogid == DIALOG_CDEDITCOST)
- { // car dealership dialog
- if(response && GetPVarInt(playerid, "editingcd") != -1 && GetPVarInt(playerid, "editingcdveh") != -1)
- {
- new price, d, v;
- new text_info[128];
- d = GetPVarInt(playerid, "editingcd");
- v = GetPVarInt(playerid, "editingcdveh");
- if (IsNumeric(inputtext))
- {
- price = strval(inputtext);
- CarDealershipInfo[d][cdVehicleCost][v] = price;
- format(text_info,256,"%s For Sale | Price: %d", GetVehicleName(CarDealershipInfo[d][cdVehicleId][v]), CarDealershipInfo[d][cdVehicleCost][v]);
- UpdateDynamic3DTextLabelText(CarDealershipInfo[d][cdVehicleLabel][v], COLOR_LIGHTBLUE, text_info);
- new listitems[] = "1 Edit Model\n2 Edit Cost\n3 Edit Park\n4 Delete Vehicle";
- ShowPlayerDialog(playerid,DIALOG_CDEDITONE,DIALOG_STYLE_LIST,"Car Dealership:", listitems,"Select","Cancel");
- SavecDealership(d);
- }
- }
- else
- {
- new listitems[] = "1 Edit Model\n2 Edit Cost\n3 Edit Park\n4 Delete Vehicle";
- ShowPlayerDialog(playerid,DIALOG_CDEDITONE,DIALOG_STYLE_LIST,"Car Dealership:", listitems,"Select","Cancel");
- }
- }
- else if(dialogid == DIALOG_CDDELVEH)
- { // car dealership dialog
- if(response && GetPVarInt(playerid, "editingcd") != -1 && GetPVarInt(playerid, "editingcdveh") != -1)
- {
- DestroyCarDealershipVehicle(GetPVarInt(playerid, "editingcd"), GetPVarInt(playerid, "editingcdveh"));
- SavecDealership(GetPVarInt(playerid, "editingcd"));
- }
- else
- {
- new listitems[] = "1 Edit Model\n2 Edit Cost\n3 Edit Park\n4 Delete Vehicle";
- ShowPlayerDialog(playerid,DIALOG_CDEDITONE,DIALOG_STYLE_LIST,"Car Dealership:", listitems,"Select","Cancel");
- }
- }
- else if(dialogid == DIALOG_CDEDITPARK)
- { // car dealership dialog
- if(response && GetPVarInt(playerid, "editingcd") != -1 && GetPVarInt(playerid, "editingcdveh") != -1 && GetPVarInt(playerid, "editingcdvehpos") == 1 || GetPVarInt(playerid, "editingcdvehnew"))
- {
- new Float: x, Float: y, Float: z, Float: a;
- new d, v, text_info[128];
- d = GetPVarInt(playerid, "editingcd");
- v = GetPVarInt(playerid, "editingcdveh");
- GetVehiclePos(CarDealershipInfo[d][cdVehicleId][v], x, y, z);
- GetVehicleZAngle(CarDealershipInfo[d][cdVehicleId][v], a);
- if(IsPlayerInRangeOfPoint(playerid, CarDealershipInfo[d][cdRadius], CarDealershipInfo[d][cdEntranceX], CarDealershipInfo[d][cdEntranceY], CarDealershipInfo[d][cdEntranceZ]))
- {
- CarDealershipInfo[d][cdVehicleSpawnX][v] = x;
- CarDealershipInfo[d][cdVehicleSpawnY][v] = y;
- CarDealershipInfo[d][cdVehicleSpawnZ][v] = z;
- CarDealershipInfo[d][cdVehicleSpawnAngle][v] = a;
- SetPVarInt(playerid, "editingcdvehpos", 0);
- SetPVarInt(playerid, "editingcdvehnew", 0);
- DestroyDynamic3DTextLabel(CarDealershipInfo[d][cdVehicleLabel][v]);
- DestroyVehicle(CarDealershipInfo[d][cdVehicleId][v]);
- new carcreated;
- carcreated = CreateVehicle(CarDealershipInfo[d][cdVehicleModel][v], CarDealershipInfo[d][cdVehicleSpawnX][v], CarDealershipInfo[d][cdVehicleSpawnY][v], CarDealershipInfo[d][cdVehicleSpawnZ][v], CarDealershipInfo[d][cdVehicleSpawnAngle][v], 0, 0, 6);
- format(text_info,256,"%s For Sale | Price: %d", GetVehicleName(carcreated), CarDealershipInfo[d][cdVehicleCost][v]);
- CarDealershipInfo[d][cdVehicleLabel][v] = CreateDynamic3DTextLabel(text_info,COLOR_LIGHTBLUE,0.0, 0.0, 0.0,8.0,INVALID_PLAYER_ID,carcreated);
- CarDealershipInfo[d][cdVehicleId][v] = carcreated;
- TogglePlayerControllable(playerid, true);
- new listitems[] = "1 Edit Model\n2 Edit Cost\n3 Edit Park\n4 Delete Vehicle";
- ShowPlayerDialog(playerid,DIALOG_CDEDITONE,DIALOG_STYLE_LIST,"Car Dealership:", listitems,"Select","Cancel");
- SavecDealership(d);
- }
- else
- {
- SendClientMessage(playerid, COLOR_GREY, "ERROR: You are out of this Car Dealership radius, please try again.");
- TogglePlayerControllable(playerid, true);
- }
- }
- else if(response && GetPVarInt(playerid, "editingcd") != -1 && GetPVarInt(playerid, "editingcdvehpos") == 2)
- {
- new Float: x, Float: y, Float: z, Float: a;
- new d;
- GetPlayerPos(playerid,x,y,z);
- GetPlayerFacingAngle(playerid, a);
- d = GetPVarInt(playerid, "editingcd");
- if(IsPlayerInRangeOfPoint(playerid, CarDealershipInfo[d][cdRadius], CarDealershipInfo[d][cdEntranceX], CarDealershipInfo[d][cdEntranceY], CarDealershipInfo[d][cdEntranceZ]))
- {
- CarDealershipInfo[d][cdVehicleSpawn][0] = x;
- CarDealershipInfo[d][cdVehicleSpawn][1] = y;
- CarDealershipInfo[d][cdVehicleSpawn][2] = z;
- CarDealershipInfo[d][cdVehicleSpawn][3] = a;
- SetPVarInt(playerid, "editingcdvehpos", 0);
- TogglePlayerControllable(playerid, true);
- new listitems[] = "1 Vehicle Spawn\n2 Radius\n3 Dealership Name\n4 Price";
- ShowPlayerDialog(playerid,DIALOG_CDUPGRADE,DIALOG_STYLE_LIST,"Choose an item to continue", listitems,"Select","Cancel");
- SavecDealership(d);
- }
- else
- {
- SendClientMessage(playerid, COLOR_GREY, "ERROR: You are out of this Car Dealership radius, please try again.");
- TogglePlayerControllable(playerid, true);
- }
- }
- else if(!response && GetPVarInt(playerid, "editingcd") != -1 && GetPVarInt(playerid, "editingcdvehpos") == 1)
- {
- new listitems[] = "1 Edit Model\n2 Edit Cost\n3 Edit Park\n4 Delete Vehicle";
- ShowPlayerDialog(playerid,DIALOG_CDEDITONE,DIALOG_STYLE_LIST,"Car Dealership:", listitems,"Select","Cancel");
- TogglePlayerControllable(playerid, true);
- SetPVarInt(playerid, "editingcdvehpos", 0);
- }
- else if(!response && GetPVarInt(playerid, "editingcd") != -1 && GetPVarInt(playerid, "editingcdvehpos") == 2)
- {
- new listitems[] = "1 Vehicle Spawn\n2 Radius\n3 Dealership Name\n4 Price";
- ShowPlayerDialog(playerid,DIALOG_CDUPGRADE,DIALOG_STYLE_LIST,"Choose an item to continue", listitems,"Select","Cancel");
- TogglePlayerControllable(playerid, true);
- SetPVarInt(playerid, "editingcdvehpos", 0);
- }
- }
- else if(dialogid == DIALOG_CDNEWVEH)
- { // car dealership dialog
- if(response && GetPVarInt(playerid, "editingcd") != -1)
- {
- new modelid, d;
- new Float: x, Float: y, Float: z, Float: a;
- new text_info[128];
- d = GetPVarInt(playerid, "editingcd");
- GetPlayerPos(playerid,x,y,z);
- GetPlayerFacingAngle(playerid, a);
- if (!IsNumeric(inputtext)) return SendClientMessage(playerid, COLOR_GRAD1, "ERROR: Model ID must be numbers.");
- if (IsPlayerInRangeOfPoint(playerid, CarDealershipInfo[d][cdRadius], CarDealershipInfo[d][cdEntranceX], CarDealershipInfo[d][cdEntranceY], CarDealershipInfo[d][cdEntranceZ]))
- {
- modelid = strval(inputtext);
- if(modelid < 400 || modelid > 611) { SendClientMessage(playerid, COLOR_GREY, " Vehicle Number can't be below 400 or above 611 !"); return 1; }
- new cdvehicleid = CreateCarDealershipVehicle(d, modelid, x, y, z, a, 1337);
- if(cdvehicleid == -1)
- {
- SendClientMessage(playerid, COLOR_GREY, "ERROR: Car couldn't be created.");
- }
- else
- {
- PutPlayerInVehicle(playerid, CarDealershipInfo[d][cdVehicleId][cdvehicleid], 0);
- format(text_info, sizeof(text_info), " Car Dealership Vehicle created with Vehicle ID %d.", cdvehicleid-1);
- SendClientMessage(playerid, COLOR_GRAD1, text_info);
- SendClientMessage(playerid, COLOR_GRAD2, " Please stand where you want to add your new vehicle.");
- SendClientMessage(playerid, COLOR_GRAD2, " Once ready press the fire button.");
- SetPVarInt(playerid, "editingcdvehnew", 1);
- SetPVarInt(playerid, "editingcdveh", cdvehicleid);
- }
- }
- else
- {
- SendClientMessage(playerid, COLOR_GREY, "ERROR: You are out of this Car Dealership radius, please try again.");
- TogglePlayerControllable(playerid, true);
- }
- }
- else
- {
- TogglePlayerControllable(playerid, true);
- SetPVarInt(playerid, "editingcd", -1);
- }
- }
- else if(dialogid == DIALOG_CDBUY)
- {
- new vehicleid = GetPlayerVehicleID(playerid);
- new v = GetCarDealershipVehicleId(vehicleid);
- new d = GetCarDealershipId(vehicleid);
- if(response)
- {
- if(CarDealershipInfo[d][cdVehicleSpawn][0] == 0.0 && CarDealershipInfo[d][cdVehicleSpawn][1] == 0.0 && CarDealershipInfo[d][cdVehicleSpawn][2] == 0.0)
- {
- SendClientMessage(playerid, COLOR_GRAD1, "ERROR: The owner of this Car Dealership hasen't set the brought vehicles spawn point.");
- RemovePlayerFromVehicle(playerid);
- return 1;
- }
- if(GetPVarInt(playerid, "Cash") < CarDealershipInfo[d][cdVehicleCost][v])
- {
- SendClientMessage(playerid, COLOR_GRAD1, "ERROR: You don't have enough money to buy this.");
- RemovePlayerFromVehicle(playerid);
- return 1;
- }
- new playervehicleid = GetPlayerFreeVehicleId(playerid);
- if(playervehicleid == -1) return SendClientMessage(playerid, COLOR_GREY, "ERROR: You can't have more cars.");
- new randcolor1 = Random(0, 126);
- new randcolor2 = Random(0, 126);
- SetPlayerPos(playerid, CarDealershipInfo[d][cdVehicleSpawn][0], CarDealershipInfo[d][cdVehicleSpawn][1], CarDealershipInfo[d][cdVehicleSpawn][2]+2);
- new car = CreatePlayerVehicle(playerid, playervehicleid, CarDealershipInfo[d][cdVehicleModel][v], CarDealershipInfo[d][cdVehicleSpawn][0], CarDealershipInfo[d][cdVehicleSpawn][1], CarDealershipInfo[d][cdVehicleSpawn][2], CarDealershipInfo[d][cdVehicleSpawn][3], randcolor1, randcolor2);
- if(car == INVALID_PLAYER_VEHICLE_ID)
- {
- SendClientMessage(playerid, COLOR_GREY, "ERROR: Something went wrong and the car didn't get created.");
- }
- else
- {
- SetTimerEx("PutPlayerInVeh", 2000, 0, "dd", playerid, car);
- format(string, sizeof(string), " Thank you for buying at %s.", CarDealershipInfo[d][cdMessage]);
- SendClientMessage(playerid, COLOR_GRAD1, string);
- SetPVarInt(playerid, "Cash", GetPVarInt(playerid, "Cash")-CarDealershipInfo[d][cdVehicleCost][v]);
- CarDealershipInfo[d][cdTill] += ( CarDealershipInfo[d][cdVehicleCost][v] * 40 ) / ( 100 );
- SavecDealership(GetPVarInt(playerid, "editingcd"));
- }
- }
- else
- {
- RemovePlayerFromVehicle(playerid);
- return 1;
- }
- }
- else if(dialogid == DIALOG_CDSELL)
- {
- if(response)
- {
- if(GetPVarInt(playerid, "editingcd") == -1) return 1;
- SetPVarInt(playerid, "Cash", GetPVarInt(playerid, "Cash")+ (CarDealershipInfo[GetPVarInt(playerid, "editingcd")][cdPrice] / 2));
- SellCarDealership(GetPVarInt(playerid, "editingcd"));
- PlayerPlayMusic(playerid);
- format(string, sizeof(string), "Car Dealership successfully sold for %d.", CarDealershipInfo[GetPVarInt(playerid, "editingcd")][cdPrice] / 2);
- SendClientMessage(playerid, COLOR_WHITE, string);
- }
- else
- {
- SetPVarInt(playerid, "editingcd", -1);
- return 1;
- }
- }
- if(dialogid == DIALOG_CDLOCKBUY)
- {
- if(response)
- {
- if(listitem == 0)
- {
- if(GetPlayerFreeVehicleId(playerid) != -1)
- {
- if(GetPVarInt(playerid, "Cash") < 10000)
- {
- SendClientMessage(playerid, COLOR_GRAD2, " Not enough money!");
- return 1;
- }
- SetPVarInt(playerid, "lockmenu", 1);
- for(new i=0; i<MAX_PLAYERVEHICLES; i++)
- {
- if(PlayerVehicleInfo[playerid][i][pvId] != 0)
- {
- format(string, sizeof(string), "Vehicle %d| Name: %s.",i+1,GetVehicleName(PlayerVehicleInfo[playerid][i][pvId]));
- SendClientMessage(playerid, COLOR_WHITE, string);
- }
- }
- ShowPlayerDialog(playerid, DIALOG_CDLOCKMENU, DIALOG_STYLE_INPUT, "24-7;"," Select a vehicle to install this:", "Select", "Cancel");
- }
- else
- {
- SendClientMessage(playerid, COLOR_WHITE, "You do not have any Cars where we can install this item.");
- return 1;
- }
- }
- if(listitem == 1)
- {
- if(GetPlayerFreeVehicleId(playerid) != -1)
- {
- if(GetPVarInt(playerid, "Cash") < 50000)
- {
- SendClientMessage(playerid, COLOR_GRAD2, " Not enough money!");
- return 1;
- }
- SetPVarInt(playerid, "lockmenu", 2);
- for(new i=0; i<MAX_PLAYERVEHICLES; i++)
- {
- if(PlayerVehicleInfo[playerid][i][pvId] != 0)
- {
- format(string, sizeof(string), "Vehicle %d| Name: %s.",i+1,GetVehicleName(PlayerVehicleInfo[playerid][i][pvId]));
- SendClientMessage(playerid, COLOR_WHITE, string);
- }
- }
- ShowPlayerDialog(playerid, DIALOG_CDLOCKMENU, DIALOG_STYLE_INPUT, "24-7;"," Select a vehicle to install this:", "Select", "Cancel");
- }
- else
- {
- SendClientMessage(playerid, COLOR_WHITE, "You do not have any Cars where we can install this item.");
- return 1;
- }
- }
- if(listitem == 2)
- {
- if(GetPlayerFreeVehicleId(playerid) != -1)
- {
- if(GetPVarInt(playerid, "Cash") < 100000)
- {
- SendClientMessage(playerid, COLOR_GRAD2, " Not enough money!");
- return 1;
- }
- SetPVarInt(playerid, "lockmenu", 3);
- for(new i=0; i<MAX_PLAYERVEHICLES; i++)
- {
- if(PlayerVehicleInfo[playerid][i][pvId] != 0)
- {
- format(string, sizeof(string), "Vehicle %d| Name: %s.",i+1,GetVehicleName(PlayerVehicleInfo[playerid][i][pvId]));
- SendClientMessage(playerid, COLOR_WHITE, string);
- }
- }
- ShowPlayerDialog(playerid, DIALOG_CDLOCKMENU, DIALOG_STYLE_INPUT, "24-7;"," Select a vehicle to install this:", "Select", "Cancel");
- }
- else
- {
- SendClientMessage(playerid, COLOR_WHITE, "You do not have any Cars where we can install this item.");
- return 1;
- }
- }
- }
- }
- if(dialogid == DIALOG_CDLOCKMENU)
- {
- if(response)
- {
- if(GetPVarInt(playerid, "lockmenu") == 1)
- {
- new pvid;
- if (IsNumeric(inputtext))
- {
- pvid = strval(inputtext)-1;
- if(PlayerVehicleInfo[playerid][pvid][pvId] == 0)
- {
- SendClientMessage(playerid, COLOR_GRAD4, "ERROR: You don't have a vehicle in this slot.");
- SetPVarInt(playerid, "lockmenu", 0);
- return 1;
- }
- if(PlayerVehicleInfo[playerid][pvid][pvLock] == 1)
- {
- SendClientMessage(playerid, COLOR_GRAD4, "ERROR: You already have this item installed on this vehicle.");
- SetPVarInt(playerid, "lockmenu", 0);
- return 1;
- }
- format(string, sizeof(string), " You have Purchased an Alarm Lock !");
- SendClientMessage(playerid, COLOR_GRAD4, string);
- SendClientMessage(playerid, COLOR_YELLOW, "HINT: You can now use /pvlock to lock your car.");
- SetPVarInt(playerid, "Cash", GetPVarInt(playerid, "Cash")-10000);
- PlayerVehicleInfo[playerid][pvid][pvLock] = 1;
- SetPVarInt(playerid, "lockmenu", 0);
- }
- }
- else if(GetPVarInt(playerid, "lockmenu") == 2)
- {
- new pvid;
- if (IsNumeric(inputtext))
- {
- pvid = strval(inputtext)-1;
- if(PlayerVehicleInfo[playerid][pvid][pvId] == 0)
- {
- SendClientMessage(playerid, COLOR_GRAD4, "ERROR: You don't have a vehicle in this slot.");
- SetPVarInt(playerid, "lockmenu", 0);
- return 1;
- }
- if(PlayerVehicleInfo[playerid][pvid][pvLock] == 2)
- {
- SendClientMessage(playerid, COLOR_GRAD4, "ERROR: You already have this item installed on this vehicle.");
- SetPVarInt(playerid, "lockmenu", 0);
- return 1;
- }
- format(string, sizeof(string), " You have Purchased an Electric Shock Lock !");
- SendClientMessage(playerid, COLOR_GRAD4, string);
- SendClientMessage(playerid, COLOR_YELLOW, "HINT: You can now use /pvlock to lock your car.");
- SetPVarInt(playerid, "Cash", GetPVarInt(playerid, "Cash")-50000);
- PlayerVehicleInfo[playerid][pvid][pvLock] = 2;
- SetPVarInt(playerid, "lockmenu", 0);
- }
- }
- else if(GetPVarInt(playerid, "lockmenu") == 3)
- {
- new pvid;
- if (IsNumeric(inputtext))
- {
- pvid = strval(inputtext)-1;
- if(PlayerVehicleInfo[playerid][pvid][pvId] == 0)
- {
- SendClientMessage(playerid, COLOR_GRAD4, "ERROR: You don't have a vehicle in this slot.");
- SetPVarInt(playerid, "lockmenu", 0);
- return 1;
- }
- if(PlayerVehicleInfo[playerid][pvid][pvLock] == 3)
- {
- SendClientMessage(playerid, COLOR_GRAD4, "ERROR: You already have this item installed on this vehicle.");
- SetPVarInt(playerid, "lockmenu", 0);
- return 1;
- }
- format(string, sizeof(string), " You have Purchased an Industrial Lock !");
- SendClientMessage(playerid, COLOR_GRAD4, string);
- SendClientMessage(playerid, COLOR_YELLOW, "HINT: You can now use /pvlock to lock your car.");
- SetPVarInt(playerid, "Cash", GetPVarInt(playerid, "Cash")-100000);
- PlayerVehicleInfo[playerid][pvid][pvLock] = 3;
- SetPVarInt(playerid, "lockmenu", 0);
- }
- }
- }
- }
- return 1;
- }
- public OnPlayerStateChange(playerid, newstate, oldstate)
- {
- new string[128];
- if(newstate == PLAYER_STATE_DRIVER)
- {
- new newcar = GetPlayerVehicleID(playerid);
- if(GetCarDealershipVehicleId(newcar) != -1 && GetCarDealershipVehicleId(newcar) == GetPVarInt(playerid, "editingcdveh")) return 1;
- if(GetCarDealershipVehicleId(newcar) != -1)
- {
- format(string,256,"Would you like to buy this %s?\n\nThis vehicle costs $%d.", GetVehicleName(newcar), CarDealershipInfo[GetCarDealershipId(newcar)][cdVehicleCost][GetCarDealershipVehicleId(newcar)]);
- ShowPlayerDialog(playerid,DIALOG_CDBUY,DIALOG_STYLE_MSGBOX,"Warning:",string,"Buy","Cancel");
- return 1;
- }
- new sendername[MAX_PLAYER_NAME];
- new v;
- for(new i = 0; i < MAX_PLAYERS; i++)
- {
- if(IsPlayerConnected(i))
- {
- v = GetPlayerVehicle(i, newcar);
- if(v != -1)
- {
- if(i == playerid) goto owner;
- new Float:x, Float: y, Float: z;
- GetVehiclePos(newcar, x, y, z);
- if(PlayerVehicleInfo[i][v][pvLocked] == 1 && PlayerVehicleInfo[i][v][pvLock] == 1)
- {
- for(new d = 0; d < MAX_PLAYERS; d++)
- {
- if(IsPlayerInRangeOfPoint(d, 30.0, x, y, z))
- {
- MeepMeep(playerid, newcar);
- SetTimerEx("MeepMeep", 1000, 0, "dd", playerid, newcar);
- }
- }
- format(string, sizeof(string), "*Car Alarm: BEEP BEEP BEEP BEEP BEEP BEEP BEEP BEEP BEEP");
- ProxDetector(60.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
- }
- else if(PlayerVehicleInfo[i][v][pvLocked] == 1 && PlayerVehicleInfo[i][v][pvLock] == 2)
- {
- new player[MAX_PLAYER_NAME];
- GetPlayerName(playerid, player, sizeof(player));
- format(string, sizeof(string), "* %s gets electrified by the car lock",player);
- ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
- new Float:X, Float:Y, Float:Z, Float:HP;
- GetPlayerPos(playerid, X, Y, Z);
- SetPlayerPos(playerid, X, Y, Z+1);
- RemovePlayerFromVehicle(playerid);
- TogglePlayerControllable(playerid,0);
- SetTimerEx("ReleasePlayer", 10000, 0, "d", playerid);
- GameTextForPlayer(playerid,"~r~ELECTRIFIED!!!",10000,1);
- GetPlayerHealth(playerid,HP);
- SetPlayerHealth(playerid,HP-15);
- return 1;
- }
- GetPlayerName(i, sendername, sizeof(sendername));
- format(string,256,"Warning: This %s is owned by %s.", GetVehicleName(newcar), sendername);
- SendClientMessage(playerid, COLOR_GREY, string);
- owner:
- if(i == playerid)
- {
- format(string,256," You are the owner of this %s.", GetVehicleName(newcar));
- SendClientMessage(playerid, COLOR_GREY, string);
- }
- }
- }
- }
- }
- return 1;
- }
- public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
- {
- if (IsKeyJustDown(KEY_FIRE, newkeys, oldkeys))
- {
- if(IsPlayerConnected(playerid))
- {
- new string[128];
- if(GetPVarInt(playerid, "editingcdvehpos"))
- {
- TogglePlayerControllable(playerid, false);
- format(string,256,"Is this the new position you want?.");
- ShowPlayerDialog(playerid,DIALOG_CDEDITPARK,DIALOG_STYLE_MSGBOX,"Warning:",string,"Ok","Cancel");
- }
- if(GetPVarInt(playerid, "editingcdvehnew"))
- {
- TogglePlayerControllable(playerid, false);
- format(string,256,"Is this the new position you want?.");
- ShowPlayerDialog(playerid,DIALOG_CDEDITPARK,DIALOG_STYLE_MSGBOX,"Warning:",string,"Ok","Cancel");
- }
- }
- }
- return 1;
- }
|