Advertisement
Guest User

CarOwnership by Im_BanK

a guest
May 28th, 2011
999
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 88.73 KB | None | 0 0
  1. //===========================Section: Includes==================================
  2. #include <a_samp>
  3. #include <utils>
  4. //===========================Section: Definations===============================
  5. #define COLOR_GRAD1 0xB4B5B7FF
  6. #define COLOR_GRAD2 0xBFC0C2FF
  7. #define COLOR_GRAD3 0xCBCCCEFF
  8. #define COLOR_GRAD4 0xD8D8D8FF
  9. #define COLOR_GRAD5 0xE3E3E3FF
  10. #define COLOR_GRAD6 0xF0F0F0FF
  11. #define COLOR_GREEN 0x33AA33AA
  12. #define COLOR_GREY 0xAFAFAFAA
  13. #define COLOR_WHITE 0xFFFFFFAA
  14. #define COLOR_YELLOW 0xFFFF00AA
  15. #define COLOR_YELLOW2 0xF5DEB3AA
  16. #define COLOR_BLUE 0x2641FEAA
  17.  
  18. #define DIALOGID 9999
  19. //===========================Section: Forwards==================================
  20. forward split(const strsrc[], strdest[][], delimiter);
  21. forward LoadCar();
  22. forward SaveCarCoords();
  23. forward LoadComponents(vehicleid);
  24. forward OnPropUpdate();
  25. forward IsAnOwnableCar(vehicleid);
  26. forward IsAtDealership(playerid);
  27. forward PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z);
  28. forward CarMods(vehicleid);
  29.  
  30. forward ProxDetectorS(Float:radi, playerid, targetid);
  31. forward CarKeys(playerid);
  32. forward SavePlayerData(playerid);
  33. forward ini_GetKey( line[] );
  34. forward ini_GetValue( line[] );
  35. forward OnPlayerKeyStateChange(playerid, newkeys, oldkeys);
  36.  
  37. new carsonserver = 290;
  38.  
  39. new OwnableCarOffer[MAX_PLAYERS];
  40. new OwnableCarID[MAX_PLAYERS];
  41. new OwnableCarPrice[MAX_PLAYERS];
  42.  
  43. new vehName[][] = {
  44.     "Landstalker",
  45.     "Bravura",
  46.     "Buffalo",
  47.     "Linerunner",
  48.     "Perrenial",
  49.     "Sentinel",
  50.     "Dumper",
  51.     "Firetruck",
  52.     "Trashmaster",
  53.     "Stretch",
  54.     "Manana",
  55.     "Infernus",
  56.     "Voodoo",
  57.     "Pony",
  58.     "Mule",
  59.     "Cheetah",
  60.     "Ambulance",
  61.     "Leviathan",
  62.     "Moonbeam",
  63.     "Esperanto",
  64.     "Taxi",
  65.     "Washington",
  66.     "Bobcat",
  67.     "Whoopee",
  68.     "BF Injection",
  69.     "Hunter",
  70.     "Premier",
  71.     "Enforcer",
  72.     "Securicar",
  73.     "Banshee",
  74.     "Predator",
  75.     "Bus",
  76.     "Rhino",
  77.     "Barracks",
  78.     "Hotknife",
  79.     "Trailer",
  80.     "Previon",
  81.     "Coach",
  82.     "Cabbie",
  83.     "Stallion",
  84.     "Rumpo",
  85.     "RC Bandit",
  86.     "Romero",
  87.     "Packer",
  88.     "Monster",
  89.     "Admiral",
  90.     "Squalo",
  91.     "Seasparrow",
  92.     "Pizzaboy",
  93.     "Tram",
  94.     "Trailer",
  95.     "Turismo",
  96.     "Speeder",
  97.     "Reefer",
  98.     "Tropic",
  99.     "Flatbed",
  100.     "Yankee",
  101.     "Caddy",
  102.     "Solair",
  103.     "Berkley's RC Van",
  104.     "Skimmer",
  105.     "PCJ-600",
  106.     "Faggio",
  107.     "Freeway",
  108.     "RC Baron",
  109.     "RC Raider",
  110.     "Glendale",
  111.     "Oceanic",
  112.     "Sanchez",
  113.     "Sparrow",
  114.     "Patriot",
  115.     "ATV",
  116.     "Coastguard",
  117.     "Dinghy",
  118.     "Hermes",
  119.     "Sabre",
  120.     "Rustler",
  121.     "ZR-350",
  122.     "Walton",
  123.     "Regina",
  124.     "Comet",
  125.     "BMX",
  126.     "Burrito",
  127.     "Camper",
  128.     "Marquis",
  129.     "Baggage",
  130.     "Dozer",
  131.     "Maverick",
  132.     "News Chopper",
  133.     "Rancher",
  134.     "FBI Rancher",
  135.     "Virgo",
  136.     "Greenwood",
  137.     "Jetmax",
  138.     "Hotring",
  139.     "Sandking",
  140.     "Blista Compact",
  141.     "Police Maverick",
  142.     "Boxvillde",
  143.     "Benson",
  144.     "Mesa",
  145.     "RC Goblin",
  146.     "Hotring Racer A",
  147.     "Hotring Racer B",
  148.     "Bloodring Banger",
  149.     "Rancher",
  150.     "Super GT",
  151.     "Elegant",
  152.     "Journey",
  153.     "Bike",
  154.     "Mountain Bike",
  155.     "Beagle",
  156.     "Cropduster",
  157.     "Stunt",
  158.     "Tanker",
  159.     "Roadtrain",
  160.     "Nebula",
  161.     "Majestic",
  162.     "Buccaneer",
  163.     "Shamal",
  164.     "Hydra",
  165.     "FCR-900",
  166.     "NRG-500",
  167.     "HPV1000",
  168.     "Cement Truck",
  169.     "Tow Truck",
  170.     "Fortune",
  171.     "Cadrona",
  172.     "FBI Truck",
  173.     "Willard",
  174.     "Forklift",
  175.     "Tractor",
  176.     "Combine",
  177.     "Feltzer",
  178.     "Remington",
  179.     "Slamvan",
  180.     "Blade",
  181.     "Freight",
  182.     "Streak",
  183.     "Vortex",
  184.     "Vincent",
  185.     "Bullet",
  186.     "Clover",
  187.     "Sadler",
  188.     "Firetruck",
  189.     "Hustler",
  190.     "Intruder",
  191.     "Primo",
  192.     "Cargobob",
  193.     "Tampa",
  194.     "Sunrise",
  195.     "Merit",
  196.     "Utility",
  197.     "Nevada",
  198.     "Jeep",
  199.     "Windsor",
  200.     "Monster",
  201.     "Monster",
  202.     "Uranus",
  203.     "Jester",
  204.     "Sultan",
  205.     "Stratum",
  206.     "Elegy",
  207.     "Raindance",
  208.     "RC Tiger",
  209.     "Flash",
  210.     "Tahoma",
  211.     "Savanna",
  212.     "Bandito",
  213.     "Freight Flat",
  214.     "Streak Carriage",
  215.     "Kart",
  216.     "Mower",
  217.     "Dune",
  218.     "Sweeper",
  219.     "Broadway",
  220.     "Tornado",
  221.     "AT-400",
  222.     "DFT-30",
  223.     "Huntley",
  224.     "Stafford",
  225.     "BF-400",
  226.     "News Van",
  227.     "Tug",
  228.     "Trailer",
  229.     "Emperor",
  230.     "Wayfarer",
  231.     "Euros",
  232.     "Hotdog",
  233.     "Club",
  234.     "Freight Box",
  235.     "Trailer",
  236.     "Andromada",
  237.     "Dodo",
  238.     "RC Cam",
  239.     "Launch",
  240.     "Police Car LSPD",
  241.     "Police Car SFPD",
  242.     "Police Car LVPD",
  243.     "Police Ranger",
  244.     "Picador",
  245.     "S.W.A.T",
  246.     "Alpha",
  247.     "Phoenix",
  248.     "Glendale",
  249.     "Sadler",
  250.     "Luggage",
  251.     "Luggage",
  252.     "Stairs",
  253.     "Boxville",
  254.     "Tiller",
  255.     "Utility Trailer"
  256. };
  257. //===========================Section: Variables=================================
  258.  
  259. enum pInfo
  260. {
  261.     pPcarkey,
  262.     pPcarkey2,
  263.     pPcarkey3,
  264. }
  265. new PlayerInfo[256][pInfo];
  266.  
  267. enum cInfo
  268. {
  269.     cModel,
  270.     Float:cLocationx,
  271.     Float:cLocationy,
  272.     Float:cLocationz,
  273.     Float:cAngle,
  274.     cColorOne,
  275.     cColorTwo,
  276.     cOwner[MAX_PLAYER_NAME],
  277.     cDescription[12],
  278.     cValue,
  279.     cLicense[14],
  280.     cRegistration,
  281.     cOwned,
  282.     cLock,
  283.     mod1,
  284.     mod2,
  285.     mod3,
  286.     mod4,
  287.     mod5,
  288.     mod6,
  289.     mod7,
  290.     mod8,
  291.     mod9,
  292.     mod10,
  293.     mod11,
  294.     mod12,
  295.     mod13,
  296.     mod14,
  297.     mod15,
  298.     mod16,
  299.     mod17,
  300.     paintjob,
  301. };
  302.  
  303. new CarInfo[1000][cInfo];
  304.  
  305. new spoiler[20][0] = {
  306.     {1000},
  307.     {1001},
  308.     {1002},
  309.     {1003},
  310.     {1014},
  311.     {1015},
  312.     {1016},
  313.     {1023},
  314.     {1058},
  315.     {1060},
  316.     {1049},
  317.     {1050},
  318.     {1138},
  319.     {1139},
  320.     {1146},
  321.     {1147},
  322.     {1158},
  323.     {1162},
  324.     {1163},
  325.     {1164}
  326. };
  327.  
  328. new nitro[3][0] = {
  329.     {1008},
  330.     {1009},
  331.     {1010}
  332. };
  333.  
  334. new fbumper[23][0] = {
  335.     {1117},
  336.     {1152},
  337.     {1153},
  338.     {1155},
  339.     {1157},
  340.     {1160},
  341.     {1165},
  342.     {1167},
  343.     {1169},
  344.     {1170},
  345.     {1171},
  346.     {1172},
  347.     {1173},
  348.     {1174},
  349.     {1175},
  350.     {1179},
  351.     {1181},
  352.     {1182},
  353.     {1185},
  354.     {1188},
  355.     {1189},
  356.     {1192},
  357.     {1193}
  358. };
  359.  
  360. new rbumper[22][0] = {
  361.     {1140},
  362.     {1141},
  363.     {1148},
  364.     {1149},
  365.     {1150},
  366.     {1151},
  367.     {1154},
  368.     {1156},
  369.     {1159},
  370.     {1161},
  371.     {1166},
  372.     {1168},
  373.     {1176},
  374.     {1177},
  375.     {1178},
  376.     {1180},
  377.     {1183},
  378.     {1184},
  379.     {1186},
  380.     {1187},
  381.     {1190},
  382.     {1191}
  383. };
  384.  
  385. new exhaust[28][0] = {
  386.     {1018},
  387.     {1019},
  388.     {1020},
  389.     {1021},
  390.     {1022},
  391.     {1028},
  392.     {1029},
  393.     {1037},
  394.     {1043},
  395.     {1044},
  396.     {1045},
  397.     {1046},
  398.     {1059},
  399.     {1064},
  400.     {1065},
  401.     {1066},
  402.     {1089},
  403.     {1092},
  404.     {1104},
  405.     {1105},
  406.     {1113},
  407.     {1114},
  408.     {1126},
  409.     {1127},
  410.     {1129},
  411.     {1132},
  412.     {1135},
  413.     {1136}
  414. };
  415.  
  416. new bventr[2][0] = {
  417.     {1042},
  418.     {1044}
  419. };
  420.  
  421. new bventl[2][0] = {
  422.     {1043},
  423.     {1045}
  424. };
  425.  
  426. new bscoop[4][0] = {
  427.     {1004},
  428.     {1005},
  429.     {1011},
  430.     {1012}
  431. };
  432.  
  433. new rscoop[13][0] = {
  434.     {1006},
  435.     {1032},
  436.     {1033},
  437.     {1035},
  438.     {1038},
  439.     {1053},
  440.     {1054},
  441.     {1055},
  442.     {1061},
  443.     {1067},
  444.     {1068},
  445.     {1088},
  446.     {1091}
  447. };
  448.  
  449. new lskirt[21][0] = {
  450.     {1007},
  451.     {1026},
  452.     {1031},
  453.     {1036},
  454.     {1039},
  455.     {1042},
  456.     {1047},
  457.     {1048},
  458.     {1056},
  459.     {1057},
  460.     {1069},
  461.     {1070},
  462.     {1090},
  463.     {1093},
  464.     {1106},
  465.     {1108},
  466.     {1118},
  467.     {1119},
  468.     {1133},
  469.     {1122},
  470.     {1134}
  471. };
  472.  
  473. new rskirt[21][0] = {
  474.     {1017},
  475.     {1027},
  476.     {1030},
  477.     {1040},
  478.     {1041},
  479.     {1051},
  480.     {1052},
  481.     {1062},
  482.     {1063},
  483.     {1071},
  484.     {1072},
  485.     {1094},
  486.     {1095},
  487.     {1099},
  488.     {1101},
  489.     {1102},
  490.     {1107},
  491.     {1120},
  492.     {1121},
  493.     {1124},
  494.     {1137}
  495. };
  496.  
  497. new hydraulics[1][0] = {
  498.     {1087}
  499. };
  500.  
  501. new base[1][0] = {
  502.     {1086}
  503. };
  504.  
  505. new rbbars[2][0] = {
  506.     {1109},
  507.     {1110}
  508. };
  509.  
  510. new fbbars[2][0] = {
  511.     {1115},
  512.     {1116}
  513. };
  514.  
  515. new wheels[17][0] = {
  516.     {1025},
  517.     {1073},
  518.     {1074},
  519.     {1075},
  520.     {1076},
  521.     {1077},
  522.     {1078},
  523.     {1079},
  524.     {1080},
  525.     {1081},
  526.     {1082},
  527.     {1083},
  528.     {1084},
  529.     {1085},
  530.     {1096},
  531.     {1097},
  532.     {1098}
  533. };
  534.  
  535. new light[2][0] = {
  536.     {1013},
  537.     {1024}
  538. };
  539.  
  540. InitComponents(componentid)
  541. {
  542.     new i;
  543.     for(i=0; i<20; i++)
  544.     {
  545.         if(spoiler[i][0]==componentid) { return 1; }
  546.     }
  547.     for(i=0; i<3; i++)
  548.     {
  549.         if(nitro[i][0]==componentid) { return 2; }
  550.     }
  551.     for(i=0; i<23; i++)
  552.     {
  553.         if(fbumper[i][0]==componentid) { return 3; }
  554.     }
  555.     for(i=0; i<22; i++)
  556.     {
  557.         if(rbumper[i][0]==componentid) { return 4; }
  558.     }
  559.     for(i=0; i<28; i++)
  560.     {
  561.         if(exhaust[i][0]==componentid) { return 5; }
  562.     }
  563.     for(i=0; i<2; i++)
  564.     {
  565.         if(bventr[i][0]==componentid) { return 6; }
  566.     }
  567.     for(i=0; i<2; i++)
  568.     {
  569.         if(bventl[i][0]==componentid) { return 7; }
  570.     }
  571.     for(i=0; i<4; i++)
  572.     {
  573.         if(bscoop[i][0]==componentid) { return 8; }
  574.     }
  575.     for(i=0; i<13; i++)
  576.     {
  577.         if(rscoop[i][0]==componentid) { return 9; }
  578.     }
  579.     for(i=0; i<21; i++)
  580.     {
  581.         if(lskirt[i][0]==componentid) { return 10; }
  582.     }
  583.     for(i=0; i<21; i++)
  584.     {
  585.         if(rskirt[i][0]==componentid) { return 11; }
  586.     }
  587.     if(hydraulics[0][0]==componentid) { return 12; }
  588.     if(base[0][0]==componentid) { return 13; }
  589.     for(i=0; i<2; i++)
  590.     {
  591.         if(rbbars[i][0]==componentid) { return 14; }
  592.     }
  593.     for(i=0; i<2; i++)
  594.     {
  595.         if(fbbars[i][0]==componentid) { return 15; }
  596.     }
  597.     for(i=0; i<17; i++)
  598.     {
  599.         if(wheels[i][0]==componentid) { return 16; }
  600.     }
  601.     for(i=0; i<2; i++)
  602.     {
  603.         if(light[i][0]==componentid) { return 17; }
  604.     }
  605.     return 0;
  606. }
  607.  
  608. //===========================Section: strtok & split============================
  609. strtok(const string[], &index)
  610. {
  611.     new length = strlen(string);
  612.     while ((index < length) && (string[index] <= ' '))
  613.     {
  614.         index++;
  615.     }
  616.  
  617.     new offset = index;
  618.     new result[20];
  619.     while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
  620.     {
  621.         result[index - offset] = string[index];
  622.         index++;
  623.     }
  624.     result[index - offset] = EOS;
  625.     return result;
  626. }
  627.  
  628. public split(const strsrc[], strdest[][], delimiter)
  629. {
  630.     new i, li;
  631.     new aNum;
  632.     new len;
  633.     while(i <= strlen(strsrc)){
  634.         if(strsrc[i]==delimiter || i==strlen(strsrc)){
  635.             len = strmid(strdest[aNum], strsrc, li, i, 128);
  636.             strdest[aNum][len] = 0;
  637.             li = i+1;
  638.             aNum++;
  639.         }
  640.         i++;
  641.     }
  642.     return 1;
  643. }
  644. //===========================Section: Callbacks & Functions=====================
  645. public OnFilterScriptInit()
  646. {
  647.     printf("Filterscript carownership.amx Initiated\n");
  648.     LoadCar();
  649.    
  650.     for(new h = carsonserver; h < sizeof(CarInfo); h++)
  651.     {
  652.         AddStaticVehicleEx(CarInfo[h][cModel],CarInfo[h][cLocationx],CarInfo[h][cLocationy],CarInfo[h][cLocationz]+1.0,CarInfo[h][cAngle],CarInfo[h][cColorOne],CarInfo[h][cColorTwo],60000);
  653.         LoadComponents(h);
  654.     }
  655.     return 1;
  656. }
  657.  
  658. public OnFilterScriptExit() { return 1; }
  659.  
  660. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  661. {
  662.     new carid = GetPlayerVehicleID(playerid);
  663.     if ((newkeys & KEY_SECONDARY_ATTACK))
  664.     {
  665.         if(IsAnOwnableCar(carid) && CarInfo[carid][cOwned] == 0)
  666.         {
  667.             TogglePlayerControllable(playerid, 1);
  668.             RemovePlayerFromVehicle(playerid);
  669.         }
  670.     }
  671.     return 1;
  672. }
  673.  
  674. public SavePlayerData(playerid)
  675. {
  676.     if(IsPlayerConnected(playerid))
  677.     {
  678.         new string3[32];
  679.         new playername3[MAX_PLAYER_NAME];
  680.         GetPlayerName(playerid, playername3, sizeof(playername3));
  681.         format(string3, sizeof(string3), "carkeys/%s.ini", playername3);
  682.         new File: hFile = fopen(string3, io_write);
  683.         if (hFile)
  684.         {
  685.             new var[32];
  686.             format(var, 32, "CarKey=%d\n",PlayerInfo[playerid][pPcarkey]);fwrite(hFile, var);
  687.             format(var, 32, "CarKey2=%d\n",PlayerInfo[playerid][pPcarkey2]);fwrite(hFile, var);
  688.             format(var, 32, "CarKey3=%d\n",PlayerInfo[playerid][pPcarkey3]);fwrite(hFile, var);
  689.             fclose(hFile);
  690.         }
  691.     }
  692.     return 1;
  693. }
  694.  
  695. public ProxDetectorS(Float:radi, playerid, targetid)
  696. {
  697.     if(IsPlayerConnected(playerid)&&IsPlayerConnected(targetid))
  698.     {
  699.         new Float:posx, Float:posy, Float:posz;
  700.         new Float:oldposx, Float:oldposy, Float:oldposz;
  701.         new Float:tempposx, Float:tempposy, Float:tempposz;
  702.         GetPlayerPos(playerid, oldposx, oldposy, oldposz);
  703.         //radi = 2.0; //Trigger Radius
  704.         GetPlayerPos(targetid, posx, posy, posz);
  705.         tempposx = (oldposx -posx);
  706.         tempposy = (oldposy -posy);
  707.         tempposz = (oldposz -posz);
  708.         //printf("DEBUG: X:%f Y:%f Z:%f",posx,posy,posz);
  709.         if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
  710.         {
  711.             return 1;
  712.         }
  713.     }
  714.     return 0;
  715. }
  716.  
  717. public CarKeys(playerid)
  718. {
  719.     new string2[64];
  720.     new playername2[MAX_PLAYER_NAME];
  721.     GetPlayerName(playerid, playername2, sizeof(playername2));
  722.     format(string2, sizeof(string2), "carkeys/%s.ini", playername2);
  723.     new File: UserFile = fopen(string2, io_read);
  724.     if ( UserFile )
  725.     {
  726.         new key[ 256 ] , val[ 256 ];
  727.         new Data[ 256 ];
  728.         while ( fread( UserFile , Data , sizeof( Data ) ) )
  729.         {
  730.             key = ini_GetKey( Data );
  731.             if( strcmp( key , "CarKey" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pPcarkey] = strval( val ); }
  732.             if( strcmp( key , "CarKey2" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pPcarkey2] = strval( val ); }
  733.             if( strcmp( key , "CarKey3" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pPcarkey3] = strval( val ); }
  734.         }
  735.         fclose(UserFile);
  736.         SendClientMessage(playerid, COLOR_WHITE,"Car Keys Loaded!!!");
  737.     }
  738.     return 1;
  739. }
  740.  
  741. public CarMods(vehicleid)
  742. {
  743.     if(CarInfo[vehicleid][paintjob] > -1 || CarInfo[vehicleid][mod1] > 0 || CarInfo[vehicleid][mod2] > 0 || CarInfo[vehicleid][mod3] > 0 || CarInfo[vehicleid][mod4] > 0 || CarInfo[vehicleid][mod5] > 0 || CarInfo[vehicleid][mod6] > 0 || CarInfo[vehicleid][mod7] > 0 || CarInfo[vehicleid][mod8] > 0)
  744.     {
  745.         return 1;
  746.     }
  747.     else if (CarInfo[vehicleid][mod9] > 0 || CarInfo[vehicleid][mod10] > 0 || CarInfo[vehicleid][mod11] > 0 || CarInfo[vehicleid][mod12] > 0|| CarInfo[vehicleid][mod13] > 0|| CarInfo[vehicleid][mod14] > 0|| CarInfo[vehicleid][mod15] > 0|| CarInfo[vehicleid][mod16] > 0|| CarInfo[vehicleid][mod17] > 0)
  748.     {
  749.        return 1;
  750.     }
  751.     return 0;
  752. }
  753.  
  754. public IsAtDealership(playerid)
  755. {
  756.     if(IsPlayerConnected(playerid))
  757.     {
  758.         if(PlayerToPoint(25.0,playerid,2128.0864,-1135.3912,25.5855) || PlayerToPoint(50,playerid,537.3366,-1293.2140,17.2422) || PlayerToPoint(35,playerid,2521.5544,-1524.4504,23.8365) || PlayerToPoint(50,playerid,2155.0146,-1177.3333,23.8211) || PlayerToPoint(50,playerid,299.1723,-1518.6627,24.6007) || PlayerToPoint(99,playerid,1938.414428,-2643.810058,13.723393))
  759.         {
  760.             return 1;
  761.         }
  762.     }
  763.     return 0;
  764. }
  765.  
  766. public PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z)
  767. {
  768.     if(IsPlayerConnected(playerid))
  769.     {
  770.         new Float:oldposx, Float:oldposy, Float:oldposz;
  771.         new Float:tempposx, Float:tempposy, Float:tempposz;
  772.         GetPlayerPos(playerid, oldposx, oldposy, oldposz);
  773.         tempposx = (oldposx -x);
  774.         tempposy = (oldposy -y);
  775.         tempposz = (oldposz -z);
  776.         if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
  777.         {
  778.             return 1;
  779.         }
  780.     }
  781.     return 0;
  782. }
  783.  
  784. public OnVehicleMod(playerid,vehicleid,componentid)
  785. {
  786.     new mods = InitComponents(componentid);
  787.     if(IsPlayerInVehicle(playerid, vehicleid))
  788.     {
  789.         switch(mods)
  790.         {
  791.             case 1: { CarInfo[vehicleid][mod1] = componentid; }
  792.             case 2: { CarInfo[vehicleid][mod2] = componentid; }
  793.             case 3: { CarInfo[vehicleid][mod3] = componentid; }
  794.             case 4: { CarInfo[vehicleid][mod4] = componentid; }
  795.             case 5: { CarInfo[vehicleid][mod5] = componentid; }
  796.             case 6: { CarInfo[vehicleid][mod6] = componentid; }
  797.             case 7: { CarInfo[vehicleid][mod7] = componentid; }
  798.             case 8: { CarInfo[vehicleid][mod8] = componentid; }
  799.             case 9: { CarInfo[vehicleid][mod9] = componentid; }
  800.             case 10: { CarInfo[vehicleid][mod10] = componentid; }
  801.             case 11: { CarInfo[vehicleid][mod11] = componentid; }
  802.             case 12: { CarInfo[vehicleid][mod12] = componentid; }
  803.             case 13: { CarInfo[vehicleid][mod13] = componentid; }
  804.             case 14: { CarInfo[vehicleid][mod14] = componentid; }
  805.             case 15: { CarInfo[vehicleid][mod15] = componentid; }
  806.             case 16: { CarInfo[vehicleid][mod16] = componentid; }
  807.             case 17: { CarInfo[vehicleid][mod17] = componentid; }
  808.         }
  809.     }
  810.     return 1;
  811. }
  812.  
  813. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  814. {
  815.     if(IsPlayerInVehicle(playerid, vehicleid))
  816.     {
  817.         if(GetVehicleModel(vehicleid) == 483)
  818.         {
  819.             switch(paintjobid)
  820.             {
  821.                 case 0: CarInfo[vehicleid][paintjob] = 0;
  822.             }
  823.         }
  824.         if(GetVehicleModel(vehicleid) == 534)
  825.         {
  826.             switch(paintjobid)
  827.             {
  828.                 case 0: CarInfo[vehicleid][paintjob] = 0;
  829.                 case 1: CarInfo[vehicleid][paintjob] = 1;
  830.                 case 2: CarInfo[vehicleid][paintjob] = 2;
  831.             }
  832.         }
  833.         if(GetVehicleModel(vehicleid) == 535)
  834.         {
  835.             switch(paintjobid)
  836.             {
  837.                 case 0: CarInfo[vehicleid][paintjob] = 0;
  838.                 case 1: CarInfo[vehicleid][paintjob] = 1;
  839.                 case 2: CarInfo[vehicleid][paintjob] = 2;
  840.             }
  841.         }
  842.         if(GetVehicleModel(vehicleid) == 536)
  843.         {
  844.             switch(paintjobid)
  845.             {
  846.                 case 0: CarInfo[vehicleid][paintjob] = 0;
  847.                 case 1: CarInfo[vehicleid][paintjob] = 1;
  848.                 case 2: CarInfo[vehicleid][paintjob] = 2;
  849.             }
  850.         }
  851.         if(GetVehicleModel(vehicleid) == 558)
  852.         {
  853.             switch(paintjobid)
  854.             {
  855.                 case 0: CarInfo[vehicleid][paintjob] = 0;
  856.                 case 1: CarInfo[vehicleid][paintjob] = 1;
  857.                 case 2: CarInfo[vehicleid][paintjob] = 2;
  858.             }
  859.         }
  860.         if(GetVehicleModel(vehicleid) == 559)
  861.         {
  862.             switch(paintjobid)
  863.             {
  864.                 case 0: CarInfo[vehicleid][paintjob] = 0;
  865.                 case 1: CarInfo[vehicleid][paintjob] = 1;
  866.                 case 2: CarInfo[vehicleid][paintjob] = 2;
  867.             }
  868.         }
  869.         if(GetVehicleModel(vehicleid) == 560)
  870.         {
  871.             switch(paintjobid)
  872.             {
  873.                 case 0: CarInfo[vehicleid][paintjob] = 0;
  874.                 case 1: CarInfo[vehicleid][paintjob] = 1;
  875.                 case 2: CarInfo[vehicleid][paintjob] = 2;
  876.             }
  877.         }
  878.         if(GetVehicleModel(vehicleid) == 561)
  879.         {
  880.             switch(paintjobid)
  881.             {
  882.                 case 0: CarInfo[vehicleid][paintjob] = 0;
  883.                 case 1: CarInfo[vehicleid][paintjob] = 1;
  884.                 case 2: CarInfo[vehicleid][paintjob] = 2;
  885.             }
  886.         }
  887.         if(GetVehicleModel(vehicleid) == 562)
  888.         {
  889.             switch(paintjobid)
  890.             {
  891.                 case 0: CarInfo[vehicleid][paintjob] = 0;
  892.                 case 1: CarInfo[vehicleid][paintjob] = 1;
  893.                 case 2: CarInfo[vehicleid][paintjob] = 2;
  894.             }
  895.         }
  896.         if(GetVehicleModel(vehicleid) == 565)
  897.         {
  898.             switch(paintjobid)
  899.             {
  900.                 case 0: CarInfo[vehicleid][paintjob] = 0;
  901.                 case 1: CarInfo[vehicleid][paintjob] = 1;
  902.                 case 2: CarInfo[vehicleid][paintjob] = 2;
  903.             }
  904.         }
  905.         if(GetVehicleModel(vehicleid) == 567)
  906.         {
  907.             switch(paintjobid)
  908.             {
  909.                 case 0: CarInfo[vehicleid][paintjob] = 0;
  910.                 case 1: CarInfo[vehicleid][paintjob] = 1;
  911.                 case 2: CarInfo[vehicleid][paintjob] = 2;
  912.             }
  913.         }
  914.         if(GetVehicleModel(vehicleid) == 575)
  915.         {
  916.             switch(paintjobid)
  917.             {
  918.                 case 0: CarInfo[vehicleid][paintjob] = 0;
  919.                 case 1: CarInfo[vehicleid][paintjob] = 1;
  920.             }
  921.         }
  922.         if(GetVehicleModel(vehicleid) == 576)
  923.         {
  924.             switch(paintjobid)
  925.             {
  926.                 case 0: CarInfo[vehicleid][paintjob] = 0;
  927.                 case 1: CarInfo[vehicleid][paintjob] = 1;
  928.                 case 2: CarInfo[vehicleid][paintjob] = 2;
  929.             }
  930.         }
  931.     }
  932.     return 1;
  933. }
  934.  
  935. public OnPropUpdate()
  936. {
  937.     new idx;
  938.     new File: file2;
  939.     idx = carsonserver;
  940.     while (idx < sizeof(CarInfo))
  941.     {
  942.         new coordsstring[256];
  943.         format(coordsstring, sizeof(coordsstring), "%d,%f,%f,%f,%f,%d,%d,%s,%s,%d,%s,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d\n",
  944.         CarInfo[idx][cModel],
  945.         CarInfo[idx][cLocationx],
  946.         CarInfo[idx][cLocationy],
  947.         CarInfo[idx][cLocationz],
  948.         CarInfo[idx][cAngle],
  949.         CarInfo[idx][cColorOne],
  950.         CarInfo[idx][cColorTwo],
  951.         CarInfo[idx][cOwner],
  952.         CarInfo[idx][cDescription],
  953.         CarInfo[idx][cValue],
  954.         CarInfo[idx][cLicense],
  955.         CarInfo[idx][cOwned],
  956.         CarInfo[idx][cLock],
  957.         CarInfo[idx][mod1],
  958.         CarInfo[idx][mod2],
  959.         CarInfo[idx][mod3],
  960.         CarInfo[idx][mod4],
  961.         CarInfo[idx][mod5],
  962.         CarInfo[idx][mod6],
  963.         CarInfo[idx][mod7],
  964.         CarInfo[idx][mod8],
  965.         CarInfo[idx][mod9],
  966.         CarInfo[idx][mod10],
  967.         CarInfo[idx][mod11],
  968.         CarInfo[idx][mod12],
  969.         CarInfo[idx][mod13],
  970.         CarInfo[idx][mod14],
  971.         CarInfo[idx][mod15],
  972.         CarInfo[idx][mod16],
  973.         CarInfo[idx][mod17],
  974.         CarInfo[idx][paintjob]);
  975.         if(idx == carsonserver)
  976.         {
  977.             file2 = fopen("masini.cfg", io_write);
  978.         }
  979.         else
  980.         {
  981.             file2 = fopen("masini.cfg", io_append);
  982.         }
  983.         fwrite(file2, coordsstring);
  984.         idx++;
  985.         fclose(file2);
  986.     }
  987.     return 1;
  988. }
  989.  
  990. public IsAnOwnableCar(vehicleid)
  991. {
  992.     if(vehicleid >= carsonserver && vehicleid <= 1000) { return 1; }
  993.     return 0;
  994. }
  995.  
  996. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  997. {
  998.     new vehid;
  999.     vehid = GetPlayerVehicleID(playerid);
  1000.     if(response)
  1001.     {
  1002.         if(dialogid == DIALOGID+2)
  1003.         {
  1004.             if(response)
  1005.             {
  1006.                 if(listitem==0)
  1007.                 {
  1008.                     if(CarInfo[vehid][mod1] > 0)
  1009.                     {
  1010.                         new Float:XX,Float:YY,Float:ZZ; new Float:CarHP, Float:OldCarHP; new panels,doors,lights,tires;
  1011.                         GetVehicleDamageStatus(vehid,panels,doors,lights,tires);
  1012.                         GetVehicleHealth(vehid, CarHP); OldCarHP = CarHP;
  1013.                         GetVehiclePos(vehid,XX,YY,ZZ); CarInfo[vehid][mod1] = 0;
  1014.                         SetVehicleToRespawn(vehid); SetVehiclePos(vehid,XX,YY,ZZ);
  1015.                         PutPlayerInVehicle(playerid,vehid,0); SetVehicleHealth(vehid, OldCarHP);
  1016.                         UpdateVehicleDamageStatus(vehid,panels,doors,lights,tires);
  1017.                         SendClientMessage(playerid, COLOR_BLUE,"*  Eleronul a fost scos cu succes!!!");
  1018.                         LoadComponents(vehid); OnPropUpdate(); SavePlayerData(playerid);
  1019.                     }
  1020.                     else
  1021.                     {
  1022.                         SendClientMessage(playerid, COLOR_WHITE,"*  Masina ta nu are Eleron Instalat!!!");
  1023.                     }
  1024.                 }
  1025.                 if(listitem==1)
  1026.                 {
  1027.                     if(CarInfo[vehid][mod3] > 0)
  1028.                     {
  1029.                         new Float:XX,Float:YY,Float:ZZ,Float:CarHP,Float:OldCarHP; new panels,doors,lights,tires;
  1030.                         GetVehicleDamageStatus(vehid,panels,doors,lights,tires);
  1031.                         GetVehicleHealth(vehid, CarHP); OldCarHP = CarHP;
  1032.                         GetVehiclePos(vehid,XX,YY,ZZ); CarInfo[vehid][mod3] = 0;
  1033.                         SetVehicleToRespawn(vehid); SetVehiclePos(vehid,XX,YY,ZZ);
  1034.                         PutPlayerInVehicle(playerid,vehid,0); SetVehicleHealth(vehid, OldCarHP);
  1035.                         UpdateVehicleDamageStatus(vehid,panels,doors,lights,tires);
  1036.                         SendClientMessage(playerid, COLOR_BLUE,"*  Spoilerul din fata a fost scos cu succes!!!");
  1037.                         LoadComponents(vehid); OnPropUpdate(); SavePlayerData(playerid);
  1038.                     }
  1039.                     else
  1040.                     {
  1041.                         SendClientMessage(playerid, COLOR_WHITE,"*  Masina ta nu are Spoilerul din fata Instalat!!!");
  1042.                     }
  1043.                 }
  1044.                 if(listitem==2)
  1045.                 {
  1046.                     if(CarInfo[vehid][mod4] > 0)
  1047.                     {
  1048.                         new Float:XX,Float:YY,Float:ZZ; new Float:CarHP, Float:OldCarHP; new panels,doors,lights,tires;
  1049.                         GetVehicleDamageStatus(vehid,panels,doors,lights,tires);
  1050.                         GetVehicleHealth(vehid, CarHP); OldCarHP = CarHP;
  1051.                         GetVehiclePos(vehid,XX,YY,ZZ); CarInfo[vehid][mod4] = 0;
  1052.                         SetVehicleToRespawn(vehid); SetVehiclePos(vehid,XX,YY,ZZ);
  1053.                         PutPlayerInVehicle(playerid,vehid,0); SetVehicleHealth(vehid, OldCarHP);
  1054.                         UpdateVehicleDamageStatus(vehid,panels,doors,lights,tires);
  1055.                         SendClientMessage(playerid, COLOR_BLUE,"*  Spoilerul din spate a fost scos cu succes!!!");
  1056.                         LoadComponents(vehid); OnPropUpdate(); SavePlayerData(playerid);
  1057.                     }
  1058.                     else
  1059.                     {
  1060.                         SendClientMessage(playerid, COLOR_WHITE,"*  Masina ta nu are Spoilerul din spate Instalat!!!");
  1061.                     }
  1062.                 }
  1063.                 if(listitem==3)
  1064.                 {
  1065.                     if(CarInfo[vehid][mod10] > 0 && CarInfo[vehid][mod11] > 0)
  1066.                     {
  1067.                         new Float:XX,Float:YY,Float:ZZ; new Float:CarHP, Float:OldCarHP; new panels,doors,lights,tires;
  1068.                         GetVehicleDamageStatus(vehid,panels,doors,lights,tires);
  1069.                         GetVehicleHealth(vehid, CarHP); OldCarHP = CarHP;
  1070.                         GetVehiclePos(vehid,XX,YY,ZZ); CarInfo[vehid][mod11] = 0; CarInfo[vehid][mod10] = 0;
  1071.                         SetVehicleToRespawn(vehid); SetVehiclePos(vehid,XX,YY,ZZ);
  1072.                         PutPlayerInVehicle(playerid,vehid,0); SetVehicleHealth(vehid, OldCarHP);
  1073.                         UpdateVehicleDamageStatus(vehid,panels,doors,lights,tires);
  1074.                         SendClientMessage(playerid, COLOR_BLUE,"*  Lateralele au fost scoase cu succes!!!");
  1075.                         LoadComponents(vehid); OnPropUpdate(); SavePlayerData(playerid);
  1076.                     }
  1077.                     else
  1078.                     {
  1079.                         SendClientMessage(playerid, COLOR_WHITE,"*  Masina ta nu are Laterale Instalate!!!");
  1080.                     }
  1081.                 }
  1082.                 if(listitem==4)
  1083.                 {
  1084.                     if(CarInfo[vehid][mod9] > 0)
  1085.                     {
  1086.                         new Float:XX,Float:YY,Float:ZZ; new Float:CarHP, Float:OldCarHP; new panels,doors,lights,tires;
  1087.                         GetVehicleDamageStatus(vehid,panels,doors,lights,tires);
  1088.                         GetVehicleHealth(vehid, CarHP); OldCarHP = CarHP;
  1089.                         GetVehiclePos(vehid,XX,YY,ZZ); CarInfo[vehid][mod9] = 0;
  1090.                         SetVehicleToRespawn(vehid); SetVehiclePos(vehid,XX,YY,ZZ);
  1091.                         PutPlayerInVehicle(playerid,vehid,0); SetVehicleHealth(vehid, OldCarHP);
  1092.                         UpdateVehicleDamageStatus(vehid,panels,doors,lights,tires);
  1093.                         SendClientMessage(playerid, COLOR_BLUE,"*  Roof Scoops au fost scoase cu succes!!!");
  1094.                         LoadComponents(vehid); OnPropUpdate(); SavePlayerData(playerid);
  1095.                     }
  1096.                     else
  1097.                     {
  1098.                         SendClientMessage(playerid, COLOR_WHITE,"*  Masina ta nu are Roof Scoops Instalat!!!");
  1099.                     }
  1100.                 }
  1101.                 if(listitem==5)
  1102.                 {
  1103.                     if(CarInfo[vehid][mod5] > 0)
  1104.                     {
  1105.                         new Float:XX,Float:YY,Float:ZZ; new Float:CarHP, Float:OldCarHP; new panels,doors,lights,tires;
  1106.                         GetVehicleDamageStatus(vehid,panels,doors,lights,tires);
  1107.                         GetVehicleHealth(vehid, CarHP); OldCarHP = CarHP;
  1108.                         GetVehiclePos(vehid,XX,YY,ZZ); CarInfo[vehid][mod5] = 0;
  1109.                         SetVehicleToRespawn(vehid); SetVehiclePos(vehid,XX,YY,ZZ);
  1110.                         PutPlayerInVehicle(playerid,vehid,0); SetVehicleHealth(vehid, OldCarHP);
  1111.                         UpdateVehicleDamageStatus(vehid,panels,doors,lights,tires);
  1112.                         SendClientMessage(playerid, COLOR_BLUE,"*  Tobele de Esapament au fost scoase cu succes!!!");
  1113.                         LoadComponents(vehid); OnPropUpdate(); SavePlayerData(playerid);
  1114.                     }
  1115.                     else
  1116.                     {
  1117.                         SendClientMessage(playerid, COLOR_WHITE,"*  Masina ta nu are Tobe de Esapament Instalate!!!");
  1118.                     }
  1119.                 }
  1120.                 if(listitem==6)
  1121.                 {
  1122.                     if(CarInfo[vehid][mod2] > 0)
  1123.                     {
  1124.                         new Float:XX,Float:YY,Float:ZZ; new Float:CarHP, Float:OldCarHP; new panels,doors,lights,tires;
  1125.                         GetVehicleDamageStatus(vehid,panels,doors,lights,tires);
  1126.                         GetVehicleHealth(vehid, CarHP); OldCarHP = CarHP;
  1127.                         GetVehiclePos(vehid,XX,YY,ZZ); CarInfo[vehid][mod2] = 0;
  1128.                         SetVehicleToRespawn(vehid); SetVehiclePos(vehid,XX,YY,ZZ);
  1129.                         PutPlayerInVehicle(playerid,vehid,0); SetVehicleHealth(vehid, OldCarHP);
  1130.                         UpdateVehicleDamageStatus(vehid,panels,doors,lights,tires);
  1131.                         SendClientMessage(playerid, COLOR_BLUE,"*  Nitro a fost scos cu succes!!!");
  1132.                         LoadComponents(vehid); OnPropUpdate(); SavePlayerData(playerid);
  1133.                     }
  1134.                     else
  1135.                     {
  1136.                         SendClientMessage(playerid, COLOR_WHITE,"*  Masina ta nu are Nitro Instalat!!!");
  1137.                     }
  1138.                 }
  1139.                 if(listitem==7)
  1140.                 {
  1141.                     if(CarInfo[vehid][mod12] > 0)
  1142.                     {
  1143.                         new Float:XX,Float:YY,Float:ZZ; new Float:CarHP, Float:OldCarHP; new panels,doors,lights,tires;
  1144.                         GetVehicleDamageStatus(vehid,panels,doors,lights,tires);
  1145.                         GetVehicleHealth(vehid, CarHP); OldCarHP = CarHP;
  1146.                         GetVehiclePos(vehid,XX,YY,ZZ); CarInfo[vehid][mod12] = 0;
  1147.                         SetVehicleToRespawn(vehid); SetVehiclePos(vehid,XX,YY,ZZ);
  1148.                         PutPlayerInVehicle(playerid,vehid,0); SetVehicleHealth(vehid, OldCarHP);
  1149.                         UpdateVehicleDamageStatus(vehid,panels,doors,lights,tires);
  1150.                         SendClientMessage(playerid, COLOR_BLUE,"*  Hidraulica a fost scoasa cu succes!!!");
  1151.                         LoadComponents(vehid); OnPropUpdate(); SavePlayerData(playerid);
  1152.                     }
  1153.                     else
  1154.                     {
  1155.                         SendClientMessage(playerid, COLOR_WHITE,"*  Masina ta nu are Hidraulica Instalata!!!");
  1156.                     }
  1157.                 }
  1158.                 if(listitem==8)
  1159.                 {
  1160.                     if(CarInfo[vehid][mod16] > 0)
  1161.                     {
  1162.                         new Float:XX,Float:YY,Float:ZZ; new Float:CarHP, Float:OldCarHP; new panels,doors,lights,tires;
  1163.                         GetVehicleDamageStatus(vehid,panels,doors,lights,tires);
  1164.                         GetVehicleHealth(vehid, CarHP); OldCarHP = CarHP;
  1165.                         GetVehiclePos(vehid,XX,YY,ZZ); CarInfo[vehid][mod16] = 0;
  1166.                         SetVehicleToRespawn(vehid); SetVehiclePos(vehid,XX,YY,ZZ);
  1167.                         PutPlayerInVehicle(playerid,vehid,0); SetVehicleHealth(vehid, OldCarHP);
  1168.                         UpdateVehicleDamageStatus(vehid,panels,doors,lights,tires);
  1169.                         SendClientMessage(playerid, COLOR_BLUE,"*  Rotile au fost scoase cu succes!!!");
  1170.                         LoadComponents(vehid); OnPropUpdate(); SavePlayerData(playerid);
  1171.                     }
  1172.                     else
  1173.                     {
  1174.                         SendClientMessage(playerid, COLOR_WHITE,"*  Masina ta nu are Roti Instalate!!!");
  1175.                     }
  1176.                 }
  1177.                 if(listitem==9)
  1178.                 {
  1179.                     if(CarInfo[vehid][paintjob] > -1)
  1180.                     {
  1181.                         new Float:XX,Float:YY,Float:ZZ; new Float:CarHP, Float:OldCarHP; new panels,doors,lights,tires;
  1182.                         GetVehicleDamageStatus(vehid,panels,doors,lights,tires);
  1183.                         GetVehicleHealth(vehid, CarHP); OldCarHP = CarHP;
  1184.                         GetVehiclePos(vehid,XX,YY,ZZ); CarInfo[vehid][paintjob] = -1;
  1185.                         SetVehicleToRespawn(vehid); SetVehiclePos(vehid,XX,YY,ZZ);
  1186.                         PutPlayerInVehicle(playerid,vehid,0); SetVehicleHealth(vehid, OldCarHP);
  1187.                         UpdateVehicleDamageStatus(vehid,panels,doors,lights,tires);
  1188.                         SendClientMessage(playerid, COLOR_BLUE,"*  Tatuajul a fost indepartat cu succes!!!");
  1189.                         LoadComponents(vehid); OnPropUpdate(); SavePlayerData(playerid);
  1190.                     }
  1191.                     else
  1192.                     {
  1193.                         SendClientMessage(playerid, COLOR_WHITE,"*  Masina ta nu are Tatuaj!!!");
  1194.                     }
  1195.                 }
  1196.                 if(listitem==10)
  1197.                 {
  1198.                     if(CarMods(vehid))
  1199.                     {
  1200.                         new Float:XX,Float:YY,Float:ZZ; new Float:CarHP, Float:OldCarHP; new panels,doors,lights,tires;
  1201.                         GetVehicleDamageStatus(vehid,panels,doors,lights,tires);
  1202.                         GetVehicleHealth(vehid, CarHP); OldCarHP = CarHP;
  1203.                         GetVehiclePos(vehid,XX,YY,ZZ); CarInfo[vehid][paintjob] = -1; CarInfo[vehid][mod1] = 0; CarInfo[vehid][mod2] = 0;
  1204.                         CarInfo[vehid][mod3] = 0; CarInfo[vehid][mod4] = 0; CarInfo[vehid][mod5] = 0; CarInfo[vehid][mod6] = 0; CarInfo[vehid][mod7] = 0;
  1205.                         CarInfo[vehid][mod8] = 0; CarInfo[vehid][mod9] = 0; CarInfo[vehid][mod10] = 0; CarInfo[vehid][mod11] = 0; CarInfo[vehid][mod12] = 0;
  1206.                         CarInfo[vehid][mod13] = 0; CarInfo[vehid][mod14] = 0; CarInfo[vehid][mod15] = 0; CarInfo[vehid][mod16] = 0; CarInfo[vehid][mod17] = 0;
  1207.                         SetVehicleToRespawn(vehid); SetVehiclePos(vehid,XX,YY,ZZ);
  1208.                         PutPlayerInVehicle(playerid,vehid,0); SetVehicleHealth(vehid, OldCarHP);
  1209.                         UpdateVehicleDamageStatus(vehid,panels,doors,lights,tires);
  1210.                         SendClientMessage(playerid, COLOR_BLUE,"*  Tuningul a fost indepartat cu succes!!!");
  1211.                         LoadComponents(vehid); OnPropUpdate(); SavePlayerData(playerid);
  1212.                     }
  1213.                     else
  1214.                     {
  1215.                         SendClientMessage(playerid, COLOR_WHITE,"*  Masina ta nu este Tunata!!!");
  1216.                     }
  1217.                 }
  1218.             }
  1219.         }
  1220.     }
  1221.     else
  1222.     {
  1223.         SendClientMessage(playerid, COLOR_WHITE,"* Dialog has been hidden");
  1224.     }
  1225.     return 1;
  1226.  }
  1227.  
  1228. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  1229. {
  1230.     if(IsAnOwnableCar(vehicleid) && CarInfo[vehicleid][cLock] == 1 && CarInfo[vehicleid][cOwned] == 1)
  1231.     {
  1232.         if(IsPlayerAdmin(playerid)) { }
  1233.         else
  1234.         {
  1235.             new Float:cx, Float:cy, Float:cz;
  1236.             GetPlayerPos(playerid, cx, cy, cz);
  1237.             SetPlayerPos(playerid, cx, cy, cz);
  1238.         }
  1239.     }
  1240.     return 1;
  1241. }
  1242.  
  1243. public OnVehicleSpawn(vehicleid)
  1244. {
  1245.     LoadComponents(vehicleid);
  1246.     return 1;
  1247. }
  1248.  
  1249. public LoadComponents(vehicleid)
  1250. {
  1251.     if(CarInfo[vehicleid][cOwned] == 1)
  1252.     {
  1253.         if(CarInfo[vehicleid][mod1] >= 1000 && CarInfo[vehicleid][mod1] <= 1193)
  1254.         {
  1255.             if(GetVehicleComponentInSlot(vehicleid,GetVehicleComponentType(CarInfo[vehicleid][mod1])) != CarInfo[vehicleid][mod1]) { AddVehicleComponent(vehicleid,CarInfo[vehicleid][mod1]); }
  1256.         }
  1257.         if(CarInfo[vehicleid][mod2] >= 1000 && CarInfo[vehicleid][mod2] <= 1193)
  1258.         {
  1259.             if(GetVehicleComponentInSlot(vehicleid,GetVehicleComponentType(CarInfo[vehicleid][mod2])) != CarInfo[vehicleid][mod2]) { AddVehicleComponent(vehicleid,CarInfo[vehicleid][mod2]); }
  1260.         }
  1261.         if(CarInfo[vehicleid][mod3] >= 1000 && CarInfo[vehicleid][mod3] <= 1193)
  1262.         {
  1263.             if(GetVehicleComponentInSlot(vehicleid,GetVehicleComponentType(CarInfo[vehicleid][mod3])) != CarInfo[vehicleid][mod3]) { AddVehicleComponent(vehicleid,CarInfo[vehicleid][mod3]); }
  1264.         }
  1265.         if(CarInfo[vehicleid][mod4] >= 1000 && CarInfo[vehicleid][mod4] <= 1193)
  1266.         {
  1267.             if(GetVehicleComponentInSlot(vehicleid,GetVehicleComponentType(CarInfo[vehicleid][mod4])) != CarInfo[vehicleid][mod4]) { AddVehicleComponent(vehicleid,CarInfo[vehicleid][mod4]); }
  1268.         }
  1269.         if(CarInfo[vehicleid][mod5] >= 1000 && CarInfo[vehicleid][mod5] <= 1193)
  1270.         {
  1271.             if(GetVehicleComponentInSlot(vehicleid,GetVehicleComponentType(CarInfo[vehicleid][mod5])) != CarInfo[vehicleid][mod5]) { AddVehicleComponent(vehicleid,CarInfo[vehicleid][mod5]); }
  1272.         }
  1273.         if(CarInfo[vehicleid][mod6] >= 1000 && CarInfo[vehicleid][mod6] <= 1193)
  1274.         {
  1275.             if(GetVehicleComponentInSlot(vehicleid,GetVehicleComponentType(CarInfo[vehicleid][mod6])) != CarInfo[vehicleid][mod6]) { AddVehicleComponent(vehicleid,CarInfo[vehicleid][mod6]); }
  1276.         }
  1277.         if(CarInfo[vehicleid][mod7] >= 1000 && CarInfo[vehicleid][mod7] <= 1193)
  1278.         {
  1279.             if(GetVehicleComponentInSlot(vehicleid,GetVehicleComponentType(CarInfo[vehicleid][mod7])) != CarInfo[vehicleid][mod7]) { AddVehicleComponent(vehicleid,CarInfo[vehicleid][mod7]); }
  1280.         }
  1281.         if(CarInfo[vehicleid][mod8] >= 1000 && CarInfo[vehicleid][mod8] <= 1193)
  1282.         {
  1283.             if(GetVehicleComponentInSlot(vehicleid,GetVehicleComponentType(CarInfo[vehicleid][mod8])) != CarInfo[vehicleid][mod8]) { AddVehicleComponent(vehicleid,CarInfo[vehicleid][mod8]); }
  1284.         }
  1285.         if(CarInfo[vehicleid][mod9] >= 1000 && CarInfo[vehicleid][mod9] <= 1193)
  1286.         {
  1287.             if(GetVehicleComponentInSlot(vehicleid,GetVehicleComponentType(CarInfo[vehicleid][mod9])) != CarInfo[vehicleid][mod9]) { AddVehicleComponent(vehicleid,CarInfo[vehicleid][mod9]); }
  1288.         }
  1289.         if(CarInfo[vehicleid][mod10] >= 1000 && CarInfo[vehicleid][mod10] <= 1193)
  1290.         {
  1291.             if(GetVehicleComponentInSlot(vehicleid,GetVehicleComponentType(CarInfo[vehicleid][mod10])) != CarInfo[vehicleid][mod10]) { AddVehicleComponent(vehicleid,CarInfo[vehicleid][mod10]); }
  1292.         }
  1293.         if(CarInfo[vehicleid][mod11] >= 1000 && CarInfo[vehicleid][mod11] <= 1193)
  1294.         {
  1295.             if(GetVehicleComponentInSlot(vehicleid,GetVehicleComponentType(CarInfo[vehicleid][mod11])) != CarInfo[vehicleid][mod11]) { AddVehicleComponent(vehicleid,CarInfo[vehicleid][mod11]); }
  1296.         }
  1297.         if(CarInfo[vehicleid][mod12] >= 1000 && CarInfo[vehicleid][mod12] <= 1193)
  1298.         {
  1299.             if(GetVehicleComponentInSlot(vehicleid,GetVehicleComponentType(CarInfo[vehicleid][mod12])) != CarInfo[vehicleid][mod12]) { AddVehicleComponent(vehicleid,CarInfo[vehicleid][mod12]); }
  1300.         }
  1301.         if(CarInfo[vehicleid][mod13] >= 1000 && CarInfo[vehicleid][mod13] <= 1193)
  1302.         {
  1303.             if(GetVehicleComponentInSlot(vehicleid,GetVehicleComponentType(CarInfo[vehicleid][mod13])) != CarInfo[vehicleid][mod13]) { AddVehicleComponent(vehicleid,CarInfo[vehicleid][mod13]); }
  1304.         }
  1305.         if(CarInfo[vehicleid][mod14] >= 1000 && CarInfo[vehicleid][mod14] <= 1193)
  1306.         {
  1307.             if(GetVehicleComponentInSlot(vehicleid,GetVehicleComponentType(CarInfo[vehicleid][mod14])) != CarInfo[vehicleid][mod14]) { AddVehicleComponent(vehicleid,CarInfo[vehicleid][mod14]); }
  1308.         }
  1309.         if(CarInfo[vehicleid][mod15] >= 1000 && CarInfo[vehicleid][mod15] <= 1193)
  1310.         {
  1311.             if(GetVehicleComponentInSlot(vehicleid,GetVehicleComponentType(CarInfo[vehicleid][mod15])) != CarInfo[vehicleid][mod15]) { AddVehicleComponent(vehicleid,CarInfo[vehicleid][mod15]); }
  1312.         }
  1313.         if(CarInfo[vehicleid][mod16] >= 1000 && CarInfo[vehicleid][mod16] <= 1193)
  1314.         {
  1315.             if(GetVehicleComponentInSlot(vehicleid,GetVehicleComponentType(CarInfo[vehicleid][mod16])) != CarInfo[vehicleid][mod16]) { AddVehicleComponent(vehicleid,CarInfo[vehicleid][mod16]); }
  1316.         }
  1317.         if(CarInfo[vehicleid][mod17] >= 1000 && CarInfo[vehicleid][mod17] <= 1193)
  1318.         {
  1319.             if(GetVehicleComponentInSlot(vehicleid,GetVehicleComponentType(CarInfo[vehicleid][mod17])) != CarInfo[vehicleid][mod17]) { AddVehicleComponent(vehicleid,CarInfo[vehicleid][mod17]); }
  1320.         }
  1321.         if(CarInfo[vehicleid][paintjob] > -1) { ChangeVehiclePaintjob(vehicleid,CarInfo[vehicleid][paintjob]); ChangeVehicleColor(vehicleid, 1, 1); }
  1322.         else { ChangeVehicleColor(vehicleid, CarInfo[vehicleid][cColorOne], CarInfo[vehicleid][cColorTwo]); }
  1323.         if(CarInfo[vehicleid][cLicense] > 0) { SetVehicleNumberPlate(vehicleid,CarInfo[vehicleid][cLicense]); }
  1324.     }
  1325.     else
  1326.     {
  1327.         if(CarInfo[vehicleid][cLicense] > 0) { SetVehicleNumberPlate(vehicleid,CarInfo[vehicleid][cLicense]); }
  1328.     }
  1329.     return 1;
  1330. }
  1331.  
  1332. public OnPlayerSpawn(playerid)
  1333. {
  1334.     CarKeys(playerid);
  1335.     return 1;
  1336. }
  1337.  
  1338. public OnPlayerConnect(playerid)
  1339. {
  1340.     PlayerInfo[playerid][pPcarkey] = -1;
  1341.     PlayerInfo[playerid][pPcarkey2] = -1;
  1342.     PlayerInfo[playerid][pPcarkey3] = -1;
  1343.     for(new h = carsonserver; h < sizeof(CarInfo); h++)
  1344.     {
  1345.         SetVehicleParamsForPlayer(h,playerid,0,CarInfo[h][cLock]);
  1346.     }
  1347.     return 1;
  1348. }
  1349.  
  1350. public OnPlayerCommandText(playerid, cmdtext[])
  1351. {
  1352.     new idx;
  1353.     new string[256];
  1354.     new cmd[256];
  1355.     new tmp[256];
  1356.     new sendername[MAX_PLAYER_NAME];
  1357.     new playername[MAX_PLAYER_NAME];
  1358.     new giveplayer[MAX_PLAYER_NAME];
  1359.     new giveplayerid;
  1360.     new idcar = GetPlayerVehicleID(playerid);
  1361.     cmd = strtok(cmdtext, idx);
  1362.     new vehid;
  1363.     vehid = GetPlayerVehicleID(playerid);
  1364.    
  1365.     if(strcmp(cmd,"/cancel",true)==0)
  1366.     {
  1367.         if(IsPlayerConnected(playerid))
  1368.         {
  1369.             new x_job[256];
  1370.             x_job = strtok(cmdtext, idx);
  1371.             if(!strlen(x_job)) { return 1; }
  1372.             if(strcmp(x_job,"ownablecar",true) == 0) { OwnableCarOffer[playerid] = 999; OwnableCarID[playerid] = 0; OwnableCarPrice[playerid] = 0; }
  1373.             else { return 1; }
  1374.             format(string, sizeof(string), "* You have canceled: %s.", x_job);
  1375.             SendClientMessage(playerid, COLOR_YELLOW, string);
  1376.         }
  1377.         return 1;
  1378.     }
  1379.    
  1380.     if(strcmp(cmd,"/accept",true)==0)
  1381.     {
  1382.         if(IsPlayerConnected(playerid))
  1383.         {
  1384.             new x_job[256];
  1385.             x_job = strtok(cmdtext, idx);
  1386.             if(!strlen(x_job)) { return 1; }
  1387.             if(strcmp(x_job,"ownablecar",true) == 0)
  1388.             {
  1389.                 if(OwnableCarOffer[playerid] < 999)
  1390.                 {
  1391.                     if(OwnableCarID[playerid] == 0) { return 1; }
  1392.                     if(OwnableCarPrice[playerid] == 0 || OwnableCarPrice[playerid] > 1500001) { return 1; }
  1393.  
  1394.                     if(OwnableCarID[playerid] == PlayerInfo[OwnableCarOffer[playerid]][pPcarkey]) { }
  1395.                     else if(OwnableCarID[playerid] == PlayerInfo[OwnableCarOffer[playerid]][pPcarkey2]) { }
  1396.                     else if(OwnableCarID[playerid] == PlayerInfo[OwnableCarOffer[playerid]][pPcarkey3]) { }
  1397.                     else { SendClientMessage(playerid, COLOR_GREY, "  Offer is no longer available"); return 1; }
  1398.  
  1399.                     if(GetPlayerMoney(playerid) >= OwnableCarPrice[playerid])
  1400.                     {
  1401.                         if(IsPlayerConnected(OwnableCarOffer[playerid]))
  1402.                         {
  1403.                             GetPlayerName(OwnableCarOffer[playerid], giveplayer, sizeof(giveplayer));
  1404.                             GetPlayerName(playerid, sendername, sizeof(sendername));
  1405.                             if(PlayerInfo[playerid][pPcarkey] == -1)
  1406.                             {
  1407.                                 if(GetPlayerVehicleID(OwnableCarOffer[playerid]) == PlayerInfo[OwnableCarOffer[playerid]][pPcarkey])
  1408.                                 {
  1409.                                     PlayerInfo[playerid][pPcarkey] = PlayerInfo[OwnableCarOffer[playerid]][pPcarkey];
  1410.                                     PlayerInfo[OwnableCarOffer[playerid]][pPcarkey] = -1;
  1411.                                 }
  1412.                                 else if(GetPlayerVehicleID(OwnableCarOffer[playerid]) == PlayerInfo[OwnableCarOffer[playerid]][pPcarkey2])
  1413.                                 {
  1414.                                     PlayerInfo[playerid][pPcarkey] = PlayerInfo[OwnableCarOffer[playerid]][pPcarkey2];
  1415.                                     PlayerInfo[OwnableCarOffer[playerid]][pPcarkey2] = -1;
  1416.                                 }
  1417.                                 else if(GetPlayerVehicleID(OwnableCarOffer[playerid]) == PlayerInfo[OwnableCarOffer[playerid]][pPcarkey3])
  1418.                                 {
  1419.                                     PlayerInfo[playerid][pPcarkey] = PlayerInfo[OwnableCarOffer[playerid]][pPcarkey3];
  1420.                                     PlayerInfo[OwnableCarOffer[playerid]][pPcarkey3] = -1;
  1421.                                 }
  1422.                                 else
  1423.                                 {
  1424.                                     SendClientMessage(playerid, COLOR_GREY, "  Vehicle seller needs to be at his car !");
  1425.                                     return 1;
  1426.                                 }
  1427.                                 format(string, sizeof(string), "* You bought a car for $%d from %s.",OwnableCarPrice[playerid],giveplayer);
  1428.                                 SendClientMessage(playerid, COLOR_WHITE, string);
  1429.                                 format(string, sizeof(string), "* %s has bought your car for $%d.",sendername,OwnableCarPrice[playerid]);
  1430.                                 SendClientMessage(OwnableCarOffer[playerid], COLOR_WHITE, string);
  1431.                                 RemovePlayerFromVehicle(OwnableCarOffer[playerid]);
  1432.                                 GivePlayerMoney(playerid, - OwnableCarPrice[playerid]);
  1433.                                 GivePlayerMoney(OwnableCarOffer[playerid], OwnableCarPrice[playerid]);
  1434.                                 strmid(CarInfo[OwnableCarID[playerid]][cOwner], sendername, 0, strlen(sendername), 999);
  1435.                             }
  1436.                             else if(PlayerInfo[playerid][pPcarkey2] == -1)
  1437.                             {
  1438.                                 if(GetPlayerVehicleID(OwnableCarOffer[playerid]) == PlayerInfo[OwnableCarOffer[playerid]][pPcarkey])
  1439.                                 {
  1440.                                     PlayerInfo[playerid][pPcarkey2] = PlayerInfo[OwnableCarOffer[playerid]][pPcarkey];
  1441.                                     PlayerInfo[OwnableCarOffer[playerid]][pPcarkey] = -1;
  1442.                                 }
  1443.                                 else if(GetPlayerVehicleID(OwnableCarOffer[playerid]) == PlayerInfo[OwnableCarOffer[playerid]][pPcarkey2])
  1444.                                 {
  1445.                                     PlayerInfo[playerid][pPcarkey2] = PlayerInfo[OwnableCarOffer[playerid]][pPcarkey2];
  1446.                                     PlayerInfo[OwnableCarOffer[playerid]][pPcarkey2] = -1;
  1447.                                 }
  1448.                                 else if(GetPlayerVehicleID(OwnableCarOffer[playerid]) == PlayerInfo[OwnableCarOffer[playerid]][pPcarkey3])
  1449.                                 {
  1450.                                     PlayerInfo[playerid][pPcarkey2] = PlayerInfo[OwnableCarOffer[playerid]][pPcarkey3];
  1451.                                     PlayerInfo[OwnableCarOffer[playerid]][pPcarkey3] = -1;
  1452.                                 }
  1453.                                 else
  1454.                                 {
  1455.                                     SendClientMessage(playerid, COLOR_GREY, "  Vehicle seller needs to be at his car !");
  1456.                                     return 1;
  1457.                                 }
  1458.                                 format(string, sizeof(string), "* You bought a car for $%d from %s.",OwnableCarPrice[playerid],giveplayer);
  1459.                                 SendClientMessage(playerid, COLOR_WHITE, string);
  1460.                                 format(string, sizeof(string), "* %s has bought your car for $%d.",sendername,OwnableCarPrice[playerid]);
  1461.                                 SendClientMessage(OwnableCarOffer[playerid], COLOR_WHITE, string);
  1462.                                 RemovePlayerFromVehicle(OwnableCarOffer[playerid]);
  1463.                                 GivePlayerMoney(playerid, - OwnableCarPrice[playerid]);
  1464.                                 GivePlayerMoney(OwnableCarOffer[playerid], OwnableCarPrice[playerid]);
  1465.                                 strmid(CarInfo[OwnableCarID[playerid]][cOwner], sendername, 0, strlen(sendername), 999);
  1466.                             }
  1467.                             else if(PlayerInfo[playerid][pPcarkey3] == -1)
  1468.                             {
  1469.                                 if(GetPlayerVehicleID(OwnableCarOffer[playerid]) == PlayerInfo[OwnableCarOffer[playerid]][pPcarkey])
  1470.                                 {
  1471.                                     PlayerInfo[playerid][pPcarkey3] = PlayerInfo[OwnableCarOffer[playerid]][pPcarkey];
  1472.                                     PlayerInfo[OwnableCarOffer[playerid]][pPcarkey] = -1;
  1473.                                 }
  1474.                                 else if(GetPlayerVehicleID(OwnableCarOffer[playerid]) == PlayerInfo[OwnableCarOffer[playerid]][pPcarkey2])
  1475.                                 {
  1476.                                     PlayerInfo[playerid][pPcarkey3] = PlayerInfo[OwnableCarOffer[playerid]][pPcarkey2];
  1477.                                     PlayerInfo[OwnableCarOffer[playerid]][pPcarkey2] = -1;
  1478.                                 }
  1479.                                 else if(GetPlayerVehicleID(OwnableCarOffer[playerid]) == PlayerInfo[OwnableCarOffer[playerid]][pPcarkey3])
  1480.                                 {
  1481.                                     PlayerInfo[playerid][pPcarkey3] = PlayerInfo[OwnableCarOffer[playerid]][pPcarkey3];
  1482.                                     PlayerInfo[OwnableCarOffer[playerid]][pPcarkey3] = -1;
  1483.                                 }
  1484.                                 else
  1485.                                 {
  1486.                                     SendClientMessage(playerid, COLOR_GREY, "  Vehicle seller needs to be at his car !");
  1487.                                     return 1;
  1488.                                 }
  1489.                                 format(string, sizeof(string), "* You bought a car for $%d from %s.",OwnableCarPrice[playerid],giveplayer);
  1490.                                 SendClientMessage(playerid, COLOR_WHITE, string);
  1491.                                 format(string, sizeof(string), "* %s has bought your car for $%d.",sendername,OwnableCarPrice[playerid]);
  1492.                                 SendClientMessage(OwnableCarOffer[playerid], COLOR_WHITE, string);
  1493.                                 RemovePlayerFromVehicle(OwnableCarOffer[playerid]);
  1494.                                 GivePlayerMoney(playerid, - OwnableCarPrice[playerid]);
  1495.                                 GivePlayerMoney(OwnableCarOffer[playerid], OwnableCarPrice[playerid]);
  1496.                                 strmid(CarInfo[OwnableCarID[playerid]][cOwner], sendername, 0, strlen(sendername), 999);
  1497.                             }
  1498.                             else
  1499.                             {
  1500.                                 SendClientMessage(playerid, COLOR_GREY, "  You already have 3 cars ! ");
  1501.                                 return 1;
  1502.                             }
  1503.                             OnPropUpdate();
  1504.                             SavePlayerData(playerid);
  1505.                             SavePlayerData(OwnableCarOffer[playerid]);
  1506.                             OwnableCarOffer[playerid] = -1;
  1507.                             OwnableCarID[playerid] = 0;
  1508.                             OwnableCarPrice[playerid] = 0;
  1509.                             GameTextForPlayer(playerid, "~w~Congratulations~n~Don't forget to /v park it!", 5000, 3);
  1510.                             SendClientMessage(playerid, COLOR_GRAD2, "Congratulations on your new purchase!");
  1511.                             SendClientMessage(playerid, COLOR_GRAD2, "Type /vehiclemanual to view the vehicle manual!");
  1512.                             return 1;
  1513.                         }
  1514.                         else
  1515.                         {
  1516.                             SendClientMessage(playerid, COLOR_GREY, "   Car seller is Offline !");
  1517.                             return 1;
  1518.                         }
  1519.                     }
  1520.                 }
  1521.                 else
  1522.                 {
  1523.                     SendClientMessage(playerid, COLOR_GREY, "   No-one offerd you any Ownable Car !");
  1524.                     return 1;
  1525.                 }
  1526.             }
  1527.             else { return 1; }
  1528.         }
  1529.         return 1;
  1530.     }
  1531.    
  1532.     if (strcmp(cmd, "/mycars", true) == 0)
  1533.     {
  1534.         if(IsPlayerConnected(playerid))
  1535.         {
  1536.             new carkey = PlayerInfo[playerid][pPcarkey];
  1537.             new carkey2 = PlayerInfo[playerid][pPcarkey2];
  1538.             new carkey3 = PlayerInfo[playerid][pPcarkey3];
  1539.             if (PlayerInfo[playerid][pPcarkey] != -1)
  1540.             {
  1541.                 format(string, sizeof(string), "1| VehModel:[%s] VehValue:[%d] VehColor1:[%d] VehColor2:[%d] VehLocked:[%d]", CarInfo[carkey][cDescription], CarInfo[carkey][cValue], CarInfo[carkey][cColorOne], CarInfo[carkey][cColorTwo], CarInfo[carkey][cLock]);
  1542.                 SendClientMessage(playerid, COLOR_GRAD5,string);
  1543.             }
  1544.             if (PlayerInfo[playerid][pPcarkey2] != -1)
  1545.             {
  1546.                 format(string, sizeof(string), "2| VehModel:[%s] VehValue:[%d] VehColor1:[%d] VehColor2:[%d] VehLocked:[%d]", CarInfo[carkey2][cDescription], CarInfo[carkey2][cValue], CarInfo[carkey2][cColorOne], CarInfo[carkey2][cColorTwo], CarInfo[carkey2][cLock]);
  1547.                 SendClientMessage(playerid, COLOR_GRAD5,string);
  1548.             }
  1549.             if (PlayerInfo[playerid][pPcarkey3] != -1)
  1550.             {
  1551.                 format(string, sizeof(string), "3| VehModel:[%s] VehValue:[%d] VehColor1:[%d] VehColor2:[%d] VehLocked:[%d]", CarInfo[carkey3][cDescription], CarInfo[carkey3][cValue], CarInfo[carkey3][cColorOne], CarInfo[carkey3][cColorTwo], CarInfo[carkey3][cLock]);
  1552.                 SendClientMessage(playerid, COLOR_GRAD5,string);
  1553.             }
  1554.         }
  1555.         return 1;
  1556.     }
  1557.    
  1558.     if(strcmp(cmd, "/apark", true) == 0)
  1559.     {
  1560.         if(IsPlayerConnected(playerid))
  1561.         {
  1562.             new Float:x,Float:y,Float:z;
  1563.             new Float:a;
  1564.             new carid;
  1565.             carid = GetPlayerVehicleID(playerid);
  1566.             GetPlayerName(playerid, playername, sizeof(playername));
  1567.             GetVehiclePos(carid, x, y, z);
  1568.             GetVehicleZAngle(carid, a);
  1569.             if(IsPlayerAdmin(playerid))
  1570.             {
  1571.                 CarInfo[carid][cLocationx] = x;
  1572.                 CarInfo[carid][cLocationy] = y;
  1573.                 CarInfo[carid][cLocationz] = z;
  1574.                 CarInfo[carid][cAngle] = a;
  1575.                 format(string, sizeof(string), "~n~ You have parked your car in this location. ~n~");
  1576.                 GameTextForPlayer(playerid, "You have parked this car in this position. It will respawn here.", 10000, 3);
  1577.                 OnPropUpdate(); SavePlayerData(playerid);
  1578.                 DestroyVehicle(carid);
  1579.                 new thiscar = CreateVehicle(CarInfo[carid][cModel],CarInfo[carid][cLocationx],CarInfo[carid][cLocationy],CarInfo[carid][cLocationz]+1.0,CarInfo[carid][cAngle],CarInfo[carid][cColorOne],CarInfo[carid][cColorTwo],60000);
  1580.                 LoadComponents(thiscar);
  1581.                 return 1;
  1582.             }
  1583.             else
  1584.             {
  1585.                 SendClientMessage(playerid, COLOR_GREY, "   You are not authorized to use that command !");
  1586.                 return 1;
  1587.             }
  1588.         }
  1589.         return 1;
  1590.     }
  1591.    
  1592.     if(strcmp(cmd, "/adeletecar", true) == 0)
  1593.     {
  1594.         if(IsPlayerAdmin(playerid))
  1595.         {
  1596.             CarInfo[idcar][cOwned] = 0; CarInfo[idcar][cModel] = 0; CarInfo[idcar][cColorOne] = 0; CarInfo[idcar][cColorTwo] = 0;
  1597.             CarInfo[idcar][cLocationx] = 0; CarInfo[idcar][cLocationy] = 0; CarInfo[idcar][cLocationz] = 0; CarInfo[idcar][cAngle] = 0;
  1598.             CarInfo[idcar][cValue] = 0; CarInfo[idcar][cLock] = 0; CarInfo[idcar][paintjob] = -1; LoadComponents(idcar);
  1599.             strmid(CarInfo[idcar][cOwner], "Dealership", 0, strlen("Dealership"), 999);
  1600.             format(CarInfo[idcar][cDescription], 32, "0");
  1601.             DestroyVehicle(idcar);
  1602.             OnPropUpdate(); SavePlayerData(playerid);
  1603.         }
  1604.     }
  1605.    
  1606.     if(strcmp(cmd, "/acreatecar", true) == 0)
  1607.     {
  1608.         if(IsPlayerAdmin(playerid))
  1609.         {
  1610.             tmp = strtok(cmdtext, idx);
  1611.             if(!strlen(tmp))
  1612.             {
  1613.                 SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /acreatecar [carid] [culoare1] [culoare2] [Pretul]");
  1614.                 return 1;
  1615.             }
  1616.             new car;
  1617.             car = strval(tmp);
  1618.             if(car < 400 || car > 611) { SendClientMessage(playerid, COLOR_WHITE, " Vehicle Number can't be below 400 or above 611 !"); return 1; }
  1619.             tmp = strtok(cmdtext, idx);
  1620.             if(!strlen(tmp))
  1621.             {
  1622.                 SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /acreatecar [carid] [culoare1] [culoare2] [Pretul]");
  1623.                 return 1;
  1624.             }
  1625.             new color1;
  1626.             color1 = strval(tmp);
  1627.             if(color1 < 0 || color1 > 126) { SendClientMessage(playerid, COLOR_WHITE, " Color Number can't be below 0 or above 126 !"); return 1; }
  1628.             tmp = strtok(cmdtext, idx);
  1629.             if(!strlen(tmp))
  1630.             {
  1631.                 SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /acreatecar [carid] [culoare1] [culoare2] [Pretul]");
  1632.                 return 1;
  1633.             }
  1634.             new color2;
  1635.             color2 = strval(tmp);
  1636.             if(color2 < 0 || color2 > 126) { SendClientMessage(playerid, COLOR_WHITE, " Color Number can't be below 0 or above 126 !"); return 1; }
  1637.             tmp = strtok(cmdtext, idx);
  1638.             if(!strlen(tmp))
  1639.             {
  1640.                 SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /acreatecar [carid] [culoare1] [culoare2] [Pretul]");
  1641.                 return 1;
  1642.             }
  1643.             new value;
  1644.             value = strval(tmp);
  1645.             new Float:X,Float:Y,Float:Z; GetPlayerPos(playerid, X,Y,Z);
  1646.             new thiscar = CreateVehicle(car,X,Y,Z,1,color1,color2,99999999);
  1647.             format(CarInfo[thiscar][cLicense], 32 ,"ForSale");
  1648.             SetVehicleNumberPlate(vehid,CarInfo[thiscar][cLicense]);
  1649.             CarInfo[thiscar][cOwned] = 0; CarInfo[thiscar][cModel] = car; CarInfo[thiscar][cColorOne] = color1; CarInfo[thiscar][cColorTwo] = color2;
  1650.             CarInfo[thiscar][cLocationx] = X; CarInfo[thiscar][cLocationy] = Y; CarInfo[thiscar][cLocationz] = Z; CarInfo[thiscar][cAngle] = 1;
  1651.             CarInfo[thiscar][cValue] = value; CarInfo[thiscar][cLock] = 0; CarInfo[thiscar][paintjob] = -1; LoadComponents(thiscar);
  1652.             PutPlayerInVehicle(playerid,thiscar,0);
  1653.             strmid(CarInfo[vehid][cOwner], "Dealership", 0, strlen("Dealership"), 999);
  1654.             format(CarInfo[thiscar][cDescription], 32, "%s",vehName[GetVehicleModel(GetPlayerVehicleID(playerid))-400]);
  1655.             format(string, sizeof(string), " Masina %d a fost creata cu succes!.", thiscar);
  1656.             SendClientMessage(playerid, COLOR_BLUE, string);
  1657.         }
  1658.         else
  1659.         {
  1660.             SendClientMessage(playerid, COLOR_GRAD1, " you are not authorized to use that command!");
  1661.             return 1;
  1662.         }
  1663.     }
  1664.    
  1665.     if(!strcmp(cmdtext, "/asellcar", true))
  1666.     {
  1667.         if(IsPlayerConnected(playerid))
  1668.         {
  1669.             if(!IsAtDealership(playerid))
  1670.             {
  1671.                 SendClientMessage(playerid, COLOR_GREY, "   You are not at dealership ! ");
  1672.                 return 1;
  1673.             }
  1674.             if(IsPlayerAdmin(playerid))
  1675.             {
  1676.                 new Float:x,Float:y,Float:z;
  1677.                 new Float:a;
  1678.                 CarInfo[vehid][cOwned] = 0;
  1679.                 strmid(CarInfo[vehid][cOwner], "Dealership", 0, strlen("Dealership"), 999);
  1680.                 PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
  1681.                 GameTextForPlayer(playerid, "~w~You have admin sold the vehicle", 10000, 3);
  1682.                 GetVehiclePos(vehid, x, y, z);
  1683.                 GetVehicleZAngle(vehid, a);
  1684.                 CarInfo[vehid][cLocationx] = x;
  1685.                 CarInfo[vehid][cLocationy] = y;
  1686.                 CarInfo[vehid][cLocationz] = z;
  1687.                 CarInfo[vehid][cAngle] = a;
  1688.                 RemovePlayerFromVehicle(playerid);
  1689.                 TogglePlayerControllable(playerid, 1);
  1690.                 format(CarInfo[vehid][cLicense], 32 ,"ForSale");
  1691.                 SetVehicleNumberPlate(vehid,CarInfo[vehid][cLicense]);
  1692.                 OnPropUpdate(); SavePlayerData(playerid);
  1693.                 DestroyVehicle(vehid);
  1694.                 new thiscar = CreateVehicle(CarInfo[vehid][cModel],CarInfo[vehid][cLocationx],CarInfo[vehid][cLocationy],CarInfo[vehid][cLocationz]+1.0,CarInfo[vehid][cAngle],CarInfo[vehid][cColorOne],CarInfo[vehid][cColorTwo],60000);
  1695.                 LoadComponents(thiscar);
  1696.                 return 1;
  1697.             }
  1698.             else
  1699.             {
  1700.                 SendClientMessage(playerid, COLOR_GREY, "   You're not authorized to use that command !");
  1701.                 return 1;
  1702.             }
  1703.         }
  1704.         return 1;
  1705.     }
  1706.    
  1707.     if(strcmp(cmd, "/asetkey", true) == 0)
  1708.     {
  1709.         if(IsPlayerConnected(playerid))
  1710.         {
  1711.             tmp = strtok(cmdtext, idx);
  1712.             if(!strlen(tmp))
  1713.             {
  1714.                 SendClientMessage(playerid, COLOR_GRAD1, "USAGE: /asetkey [playerid/PartOfName] [carkey] [amount]");
  1715.                 SendClientMessage(playerid, COLOR_GRAD4, "|1 CarKey |2 CarKey2 |3 CarKey3");
  1716.                 return 1;
  1717.             }
  1718.             giveplayerid = ReturnUser(tmp);
  1719.             if(IsPlayerAdmin(playerid))
  1720.             {
  1721.                 if(giveplayerid != INVALID_PLAYER_ID)
  1722.                 {
  1723.                     tmp = strtok(cmdtext, idx);
  1724.                     if(!strlen(tmp))
  1725.                     {
  1726.                         SendClientMessage(playerid, COLOR_GRAD1, "USAGE: /asetkey [playerid/PartOfName] [carkey] [amount]");
  1727.                         SendClientMessage(playerid, COLOR_GRAD4, "|1 CarKey |2 CarKey2 |3 CarKey3");
  1728.                         return 1;
  1729.                     }
  1730.                     new stat;
  1731.                     stat = strval(tmp);
  1732.                     tmp = strtok(cmdtext, idx);
  1733.                     if(!strlen(tmp))
  1734.                     {
  1735.                         SendClientMessage(playerid, COLOR_GRAD1, "USAGE: /asetkey [playerid/PartOfName] [carkey] [amount]");
  1736.                         SendClientMessage(playerid, COLOR_GRAD4, "|1 CarKey |2 CarKey2 |3 CarKey3");
  1737.                         return 1;
  1738.                     }
  1739.                     new amount;
  1740.                     amount = strval(tmp);
  1741.                     switch (stat)
  1742.                     {
  1743.                         case 1:
  1744.                         {
  1745.                                 PlayerInfo[giveplayerid][pPcarkey] = amount;
  1746.                                 format(string, sizeof(string), "   The Player Car Key Was Set To %d", amount);
  1747.                                 SavePlayerData(playerid);
  1748.                         }
  1749.                         case 2:
  1750.                         {
  1751.                                 PlayerInfo[giveplayerid][pPcarkey2] = amount;
  1752.                                 format(string, sizeof(string), "   The Player Car Key 2 Was Set To %d", amount);
  1753.                                 SavePlayerData(playerid);
  1754.                         }
  1755.                         case 3:
  1756.                         {
  1757.                                 PlayerInfo[giveplayerid][pPcarkey3] = amount;
  1758.                                 format(string, sizeof(string), "   The Player Car Key 3 Was Set To %d", amount);
  1759.                                 SavePlayerData(playerid);
  1760.                         }
  1761.                         default:
  1762.                         {
  1763.                                 format(string, sizeof(string), "   Invalid Car Key Code", amount);
  1764.                         }
  1765.                     }
  1766.                     SendClientMessage(playerid, COLOR_GRAD1, string);
  1767.                 }
  1768.             }
  1769.             else
  1770.             {
  1771.                 SendClientMessage(playerid, COLOR_GRAD1, "   Doar adminii pot folosi aceasta comanda!");
  1772.                 return 1;
  1773.             }
  1774.         }
  1775.         return 1;
  1776.     }
  1777.    
  1778.     if(strcmp(cmd, "/removetuning", true) == 0)
  1779.     {
  1780.         if(IsPlayerInVehicle(playerid, vehid))
  1781.         {
  1782.             if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey] || GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey2] || GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey3])
  1783.             {
  1784.                 ShowPlayerDialog(playerid, DIALOGID+2, DIALOG_STYLE_LIST, "Lista Tuning", "Eleron\nSpoiler Fata\nSpoiler Spate\nLaterale\nRoof\nToba Esapament\nNitro\nHidraulica\nRoti\nTatuaj\nToate Componentele","Scoate", "Cancel");
  1785.             }
  1786.             else
  1787.             {
  1788.                 SendClientMessage(playerid, COLOR_WHITE, "Nu poti scoate tuningul pentru ca aceasta masina nu iti apartine.");
  1789.                 return 1;
  1790.             }
  1791.         }
  1792.         else
  1793.         {
  1794.             SendClientMessage(playerid, COLOR_WHITE, "Trebuie sa fii in masina pentru a scoate tuningul!!");
  1795.             return 1;
  1796.         }
  1797.     }
  1798.    
  1799.     if(strcmp(cmd, "/v", true) == 0 || strcmp(cmd, "/vehicle", true) == 0)
  1800.     {
  1801.         if(IsPlayerConnected(playerid))
  1802.         {
  1803.             new x_nr[64];
  1804.             x_nr = strtok(cmdtext, idx);
  1805.             if(!strlen(x_nr))
  1806.             {
  1807.                 SendClientMessage(playerid, COLOR_WHITE, "HINT: (/v)ehicle [name]");
  1808.                 SendClientMessage(playerid, COLOR_WHITE, "Available names: park, lock(1-3), sell, sellto, color, setplate, locate(1-3), tow(1-3)");
  1809.                 return 1;
  1810.             }
  1811.             if(strcmp(x_nr,"sell",true) == 0)
  1812.             {
  1813.                 if(IsAtDealership(playerid))
  1814.                 {
  1815.                     if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey] || GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey2] || GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey3])
  1816.                     {
  1817.                         GetPlayerName(playerid, sendername, sizeof(sendername));
  1818.                         new ownvehkey;
  1819.                         if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey]) { ownvehkey = PlayerInfo[playerid][pPcarkey]; }
  1820.                         else if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey2]) { ownvehkey = PlayerInfo[playerid][pPcarkey2]; }
  1821.                         else if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey3]) { ownvehkey = PlayerInfo[playerid][pPcarkey3]; }
  1822.                         else { return 1; }
  1823.                         if(strcmp(sendername, CarInfo[ownvehkey][cOwner], true) == 0)
  1824.                         {
  1825.                             new carsellprice = CarInfo[ownvehkey][cValue] / 4 * 3;
  1826.                             new Float:x,Float:y,Float:z;
  1827.                             new Float:a;
  1828.                             CarInfo[ownvehkey][cOwned] = 0;
  1829.                             strmid(CarInfo[ownvehkey][cOwner], "Dealership", 0, strlen("Dealership"), 999);
  1830.                             GivePlayerMoney(playerid,carsellprice);
  1831.                             PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
  1832.                             format(string, sizeof(string), "~w~You have sold your car for: ~n~~g~$%d", carsellprice);
  1833.                             GameTextForPlayer(playerid, string, 10000, 3);
  1834.                             GetVehiclePos(ownvehkey, x, y, z);
  1835.                             GetVehicleZAngle(ownvehkey, a);
  1836.                             CarInfo[ownvehkey][cLocationx] = x; CarInfo[ownvehkey][cLocationy] = y; CarInfo[ownvehkey][cLocationz] = z; CarInfo[ownvehkey][cAngle] = a;
  1837.                             CarInfo[ownvehkey][mod1] = 0; CarInfo[ownvehkey][mod2] = 0; CarInfo[ownvehkey][mod3] = 0; CarInfo[ownvehkey][mod4] = 0;
  1838.                             CarInfo[ownvehkey][mod5] = 0; CarInfo[ownvehkey][mod6] = 0; CarInfo[ownvehkey][mod7] = 0; CarInfo[ownvehkey][mod8] = 0;
  1839.                             CarInfo[ownvehkey][mod9] = 0; CarInfo[ownvehkey][mod10] = 0; CarInfo[ownvehkey][mod11] = 0; CarInfo[ownvehkey][mod12] = 0;
  1840.                             CarInfo[ownvehkey][mod13] = 0; CarInfo[ownvehkey][mod14] = 0; CarInfo[ownvehkey][mod15] = 0; CarInfo[ownvehkey][mod16] = 0;
  1841.                             CarInfo[ownvehkey][mod17] = 0; CarInfo[ownvehkey][paintjob] = -1;
  1842.                             if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey]) { PlayerInfo[playerid][pPcarkey] = -1; }
  1843.                             else if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey2]) { PlayerInfo[playerid][pPcarkey2] = -1; }
  1844.                             else if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey3]) { PlayerInfo[playerid][pPcarkey3] = -1; }
  1845.                             RemovePlayerFromVehicle(playerid);
  1846.                             TogglePlayerControllable(playerid, 1);
  1847.                             format(CarInfo[vehid][cLicense], 32 ,"ForSale");
  1848.                             SetVehicleNumberPlate(vehid,CarInfo[vehid][cLicense]);
  1849.                             OnPropUpdate(); SavePlayerData(playerid);
  1850.                             DestroyVehicle(ownvehkey);
  1851.                             new thiscar = CreateVehicle(CarInfo[ownvehkey][cModel],CarInfo[ownvehkey][cLocationx],CarInfo[ownvehkey][cLocationy],CarInfo[ownvehkey][cLocationz]+1.0,CarInfo[ownvehkey][cAngle],CarInfo[ownvehkey][cColorOne],CarInfo[ownvehkey][cColorTwo],60000);
  1852.                             LoadComponents(thiscar);
  1853.                             return 1;
  1854.                         }
  1855.                     }
  1856.                     else
  1857.                     {
  1858.                         SendClientMessage(playerid, COLOR_GREY, "  You have to sit at your own car to sell it! ");
  1859.                         return 1;
  1860.                     }
  1861.                 }
  1862.                 else
  1863.                 {
  1864.                     SendClientMessage(playerid, COLOR_GREY, "You are not at a dealership");
  1865.                     return 1;
  1866.                 }
  1867.             }
  1868.             else if(strcmp(x_nr,"buy",true) == 0)
  1869.             {
  1870.                 if(IsAnOwnableCar(idcar))
  1871.                 {
  1872.                     if(PlayerInfo[playerid][pPcarkey] == -1) { }
  1873.                     else if(PlayerInfo[playerid][pPcarkey2] == -1) { }
  1874.                     else if(PlayerInfo[playerid][pPcarkey3] == -1) { }
  1875.                     else { SendClientMessage(playerid, COLOR_GREY, "   Ai deja 3 masini!!"); return 1; }
  1876.                     if(CarInfo[idcar][cOwned]==1)
  1877.                     {
  1878.                         SendClientMessage(playerid, COLOR_GREY, "Someone already owns this car");
  1879.                         return 1;
  1880.                     }
  1881.                     if(GetPlayerMoney(playerid) >= CarInfo[idcar][cValue])
  1882.                     {
  1883.                         if(PlayerInfo[playerid][pPcarkey] == -1) { PlayerInfo[playerid][pPcarkey] = idcar; }
  1884.                         else if(PlayerInfo[playerid][pPcarkey2] == -1) { PlayerInfo[playerid][pPcarkey2] = idcar; }
  1885.                         else if(PlayerInfo[playerid][pPcarkey3] == -1) { PlayerInfo[playerid][pPcarkey3] = idcar; }
  1886.                         else { return 1; }
  1887.                         CarInfo[idcar][cOwned] = 1;
  1888.                         GetPlayerName(playerid, sendername, sizeof(sendername));
  1889.                         strmid(CarInfo[idcar][cOwner], sendername, 0, strlen(sendername), 999);
  1890.                         GivePlayerMoney(playerid,-CarInfo[idcar][cValue]);
  1891.                         PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
  1892.                         GameTextForPlayer(playerid, "~w~Felicitari~n~Nu uita sa o parchezi cu /v park!", 5000, 3);
  1893.                         SendClientMessage(playerid, COLOR_GRAD2, "Felicitari ti-ai cumparat o masina noua!");
  1894.                         TogglePlayerControllable(playerid, 1);
  1895.                         OnPropUpdate(); SavePlayerData(playerid);
  1896.                         return 1;
  1897.                     }
  1898.                     else
  1899.                     {
  1900.                         SendClientMessage(playerid, COLOR_GREY, "  You don't have enough cash with you ! ");
  1901.                         return 1;
  1902.                     }
  1903.                 }
  1904.             }
  1905.             else if(strcmp(x_nr,"sellto",true) == 0)
  1906.             {
  1907.                 if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey] || GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey2] || GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey3])
  1908.                 {
  1909.                     GetPlayerName(playerid, sendername, sizeof(sendername));
  1910.                     new ownvehkey;
  1911.                     if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey]) { ownvehkey = PlayerInfo[playerid][pPcarkey]; }
  1912.                     else if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey2]) { ownvehkey = PlayerInfo[playerid][pPcarkey2]; }
  1913.                     else if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey3]) { ownvehkey = PlayerInfo[playerid][pPcarkey3]; }
  1914.                     else { return 1; }
  1915.                     if(strcmp(sendername, CarInfo[ownvehkey][cOwner], true) == 0)
  1916.                     {
  1917.                         tmp = strtok(cmdtext, idx);
  1918.                         if(!strlen(tmp))
  1919.                         {
  1920.                             SendClientMessage(playerid, COLOR_WHITE, "HINT: /v sellto [playerid/PartOfName] [price]");
  1921.                             return 1;
  1922.                         }
  1923.                         giveplayerid = ReturnUser(tmp);
  1924.                         if(IsPlayerConnected(giveplayerid))
  1925.                         {
  1926.                             if(giveplayerid != INVALID_PLAYER_ID)
  1927.                             {
  1928.                                 if(ProxDetectorS(8.0, playerid, giveplayerid))
  1929.                                 {
  1930.                                     if(PlayerInfo[giveplayerid][pPcarkey] == -1)
  1931.                                     {
  1932.                                         tmp = strtok(cmdtext, idx);
  1933.                                         if(!strlen(tmp))
  1934.                                         {
  1935.                                             SendClientMessage(playerid, COLOR_WHITE, "HINT: /v sellto [playerid/PartOfName] [price]");
  1936.                                             return 1;
  1937.                                         }
  1938.                                         new price;
  1939.                                         price = strval(tmp);
  1940.                                         if(price < 1 || price > 1500000)
  1941.                                         {
  1942.                                             SendClientMessage(playerid, COLOR_GREY, "  Price not lower then 1 and not higher then 1500000. ");
  1943.                                             return 1;
  1944.                                         }
  1945.                                         GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
  1946.                                         format(string, sizeof(string), "* You offerd %s to buy your car for $%d .", giveplayer, price);
  1947.                                         SendClientMessage(playerid, COLOR_WHITE, string);
  1948.                                         format(string, sizeof(string), "* Car Owner %s offered you to buy his/her car for $%d (type /accept ownablecar) to buy.", playername, price);
  1949.                                         SendClientMessage(giveplayerid, COLOR_WHITE, string);
  1950.                                         OwnableCarOffer[giveplayerid] = playerid;
  1951.                                         OwnableCarID[giveplayerid] = ownvehkey;
  1952.                                         OwnableCarPrice[giveplayerid] = price;
  1953.                                         return 1;
  1954.                                     }
  1955.                                     else if(PlayerInfo[giveplayerid][pPcarkey2] == -1)
  1956.                                     {
  1957.                                         tmp = strtok(cmdtext, idx);
  1958.                                         if(!strlen(tmp))
  1959.                                         {
  1960.                                             SendClientMessage(playerid, COLOR_WHITE, "HINT: /v sellto [playerid/PartOfName] [price]");
  1961.                                             return 1;
  1962.                                         }
  1963.                                         new price;
  1964.                                         price = strval(tmp);
  1965.                                         if(price < 1 || price > 1500000)
  1966.                                         {
  1967.                                             SendClientMessage(playerid, COLOR_GREY, "  Price not lower then 1 and not higher then 1500000. ");
  1968.                                             return 1;
  1969.                                         }
  1970.                                         GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
  1971.                                         format(string, sizeof(string), "* You offerd %s to buy your car for $%d .", giveplayer, price);
  1972.                                         SendClientMessage(playerid, COLOR_WHITE, string);
  1973.                                         format(string, sizeof(string), "* Car Owner %s offered you to buy his/her car for $%d (type /accept ownablecar) to buy.", playername, price);
  1974.                                         SendClientMessage(giveplayerid, COLOR_WHITE, string);
  1975.                                         OwnableCarOffer[giveplayerid] = playerid;
  1976.                                         OwnableCarID[giveplayerid] = ownvehkey;
  1977.                                         OwnableCarPrice[giveplayerid] = price;
  1978.                                         return 1;
  1979.                                     }
  1980.                                     else if(PlayerInfo[giveplayerid][pPcarkey3] == -1)
  1981.                                     {
  1982.                                         tmp = strtok(cmdtext, idx);
  1983.                                         if(!strlen(tmp))
  1984.                                         {
  1985.                                             SendClientMessage(playerid, COLOR_WHITE, "HINT: /v sellto [playerid/PartOfName] [price]");
  1986.                                             return 1;
  1987.                                         }
  1988.                                         new price;
  1989.                                         price = strval(tmp);
  1990.                                         if(price < 1 || price > 1500000)
  1991.                                         {
  1992.                                             SendClientMessage(playerid, COLOR_GREY, "  Price not lower then 1 and not higher then 1500000. ");
  1993.                                             return 1;
  1994.                                         }
  1995.                                         GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
  1996.                                         format(string, sizeof(string), "* You offerd %s to buy your car for $%d .", giveplayer, price);
  1997.                                         SendClientMessage(playerid, COLOR_WHITE, string);
  1998.                                         format(string, sizeof(string), "* Car Owner %s offered you to buy his/her car for $%d (type /accept ownablecar) to buy.", playername, price);
  1999.                                         SendClientMessage(giveplayerid, COLOR_WHITE, string);
  2000.                                         OwnableCarOffer[giveplayerid] = playerid;
  2001.                                         OwnableCarID[giveplayerid] = ownvehkey;
  2002.                                         OwnableCarPrice[giveplayerid] = price;
  2003.                                         return 1;
  2004.                                     }
  2005.                                     else
  2006.                                     {
  2007.                                         SendClientMessage(playerid, COLOR_GREY, "   Player has 3 cars already ! ");
  2008.                                         return 1;
  2009.                                     }
  2010.                                 }
  2011.                                 else
  2012.                                 {
  2013.                                     SendClientMessage(playerid, COLOR_GREY, "   Player is not near you ! ");
  2014.                                     return 1;
  2015.                                 }
  2016.                             }
  2017.                         }
  2018.                     }
  2019.                     else
  2020.                     {
  2021.                         SendClientMessage(playerid, COLOR_GREY, "  This is not your car");
  2022.                         return 1;
  2023.                     }
  2024.                 }
  2025.                 else
  2026.                 {
  2027.                     SendClientMessage(playerid, COLOR_GREY, "  You have to sit at your own car to sell it");
  2028.                     return 1;
  2029.                 }
  2030.             }
  2031.             else if(strcmp(x_nr,"park",true) == 0)
  2032.             {
  2033.                 new Float:x,Float:y,Float:z;
  2034.                 new Float:a;
  2035.                 new carid;
  2036.                 new getcarid;
  2037.                 if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey]) { carid = PlayerInfo[playerid][pPcarkey]; }
  2038.                 else if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey2]) { carid = PlayerInfo[playerid][pPcarkey2]; }
  2039.                 else if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey3]) { carid = PlayerInfo[playerid][pPcarkey3]; }
  2040.                 else { return 1; }
  2041.                 getcarid = GetPlayerVehicleID(playerid);
  2042.                 GetPlayerName(playerid, playername, sizeof(playername));
  2043.                 GetVehiclePos(carid, x, y, z);
  2044.                 GetVehicleZAngle(carid, a);
  2045.                 if(IsPlayerInVehicle(playerid,carid) && CarInfo[carid][cOwned] == 1)
  2046.                 {
  2047.                     if(PlayerInfo[playerid][pPcarkey] == -1 && PlayerInfo[playerid][pPcarkey2] == -1 && PlayerInfo[playerid][pPcarkey3] == -1)
  2048.                     {
  2049.                         SendClientMessage(playerid, COLOR_GREY, "You don't own a car.");
  2050.                         return 1;
  2051.                     }
  2052.                     if(getcarid == carid)
  2053.                     {
  2054.                         new Float:CarHP, Float:OldCarHP; new panels,doors,lights,tires;
  2055.                         CarInfo[carid][cLocationx] = x;
  2056.                         CarInfo[carid][cLocationy] = y;
  2057.                         CarInfo[carid][cLocationz] = z;
  2058.                         CarInfo[carid][cAngle] = a;
  2059.                         GetVehicleDamageStatus(carid,panels,doors,lights,tires);
  2060.                         GetVehicleHealth(carid, CarHP); OldCarHP = CarHP;
  2061.                         format(string, sizeof(string), "~n~ You have parked your vehicle in this location. ~n~");
  2062.                         GameTextForPlayer(playerid, "You have parked your vehicle in this position. It will respawn here.", 10000, 3);
  2063.                         OnPropUpdate(); SavePlayerData(playerid);  DestroyVehicle(carid);
  2064.                         CreateVehicle(CarInfo[carid][cModel],CarInfo[carid][cLocationx],CarInfo[carid][cLocationy],CarInfo[carid][cLocationz]+1.0,CarInfo[carid][cAngle],CarInfo[carid][cColorOne],CarInfo[carid][cColorTwo],60000);
  2065.                         LoadComponents(carid);
  2066.                         PutPlayerInVehicle(playerid,carid,0); SetVehicleHealth(carid, OldCarHP);
  2067.                         UpdateVehicleDamageStatus(carid,panels,doors,lights,tires);
  2068.                         TogglePlayerControllable(playerid, 1);
  2069.                         return 1;
  2070.                     }
  2071.                 }
  2072.             }
  2073.             else if(strcmp(x_nr,"setplate",true) == 0)
  2074.             {
  2075.                 if(IsPlayerInVehicle(playerid, vehid) || PlayerInfo[vehid][pPcarkey] != -1 && PlayerInfo[vehid][pPcarkey2] != -1 && PlayerInfo[vehid][pPcarkey3] != -1)
  2076.                 {
  2077.                     if(cmdtext[idx++] != 32 || cmdtext[idx] == EOS)
  2078.                     {
  2079.                         SendClientMessage(playerid,0xFFFFFFAA,"USAGE: /v setplate [newplate]");
  2080.                         return 1;
  2081.                     }
  2082.                     new Float:XX,Float:YY,Float:ZZ,Float:AA;
  2083.                     new Float:CarHP, Float:OldCarHP;
  2084.                     new panels,doors,lights,tires;
  2085.                     GetVehicleHealth(vehid, CarHP);
  2086.                     GetVehicleDamageStatus(vehid,panels,doors,lights,tires);
  2087.                     OldCarHP = CarHP;
  2088.                     format(CarInfo[vehid][cLicense], 32 ,"%s",cmdtext[idx]);
  2089.                     SetVehicleNumberPlate(vehid,CarInfo[vehid][cLicense]);
  2090.                     GetVehiclePos(vehid,XX,YY,ZZ);
  2091.                     GetVehicleZAngle(vehid, AA);
  2092.                     SetVehicleToRespawn(vehid);
  2093.                     SetVehiclePos(vehid,XX,YY,ZZ);
  2094.                     SetVehicleZAngle(vehid, AA);
  2095.                     PutPlayerInVehicle(playerid,vehid,0);
  2096.                     SetVehicleHealth(vehid, OldCarHP);
  2097.                     UpdateVehicleDamageStatus(vehid,panels,doors,lights,tires);
  2098.                     format(string, sizeof(string), "{FFFF00}You have set your vehicle's plate to:{FFFFFF} %s", CarInfo[vehid][cLicense]);
  2099.                     SendClientMessage(playerid, 0xFFFFFFFF, string);
  2100.                     OnPropUpdate(); SavePlayerData(playerid);
  2101.                 }
  2102.                 else
  2103.                 {
  2104.                     SendClientMessage(playerid, 0xFFFFFFAA, "Nu esti in masina ta personala pentru a putea schimba NR de Inmatriculare.");
  2105.                     return 1;
  2106.                 }
  2107.             }
  2108.            
  2109.             else if(strcmp(x_nr,"lock1",true) == 0)
  2110.             {
  2111.                 new keycar = PlayerInfo[playerid][pPcarkey];
  2112.                 if(keycar != -1)
  2113.                 {
  2114.                     new locked[256];
  2115.                     locked = strtok(cmdtext, idx);
  2116.                     if(CarInfo[keycar][cLock] == 1)
  2117.                     {
  2118.                         for(new i = 0; i < MAX_PLAYERS; i++)
  2119.                         {
  2120.                             if (IsPlayerConnected(i))
  2121.                             {
  2122.                                 SetVehicleParamsForPlayer(keycar,i,0,0);
  2123.                             }
  2124.                         }
  2125.                         format(string, sizeof(string), "~w~Vehicle~n~~g~Unlocked");
  2126.                         GameTextForPlayer(playerid, string, 4000, 3);
  2127.                         CarInfo[keycar][cLock] = 0;
  2128.                         OnPropUpdate(); SavePlayerData(playerid);
  2129.                         return 1;
  2130.                     }
  2131.                     else if(CarInfo[keycar][cLock] == 0)
  2132.                     {
  2133.                         for(new i = 0; i < MAX_PLAYERS; i++)
  2134.                         {
  2135.                             if (IsPlayerConnected(i))
  2136.                             {
  2137.                                 SetVehicleParamsForPlayer(keycar,i,0,1);
  2138.                             }
  2139.                         }
  2140.                         format(string, sizeof(string), "~w~Vehicle~n~~r~Locked");
  2141.                         GameTextForPlayer(playerid, string, 4000, 3);
  2142.                         CarInfo[keycar][cLock] = 1;
  2143.                         OnPropUpdate(); SavePlayerData(playerid);
  2144.                         return 1;
  2145.                     }
  2146.                 }
  2147.                 else
  2148.                 {
  2149.                     SendClientMessage(playerid, COLOR_GREY, "  You don't have a vehicle at slot 1");
  2150.                     return 1;
  2151.                 }
  2152.             }
  2153.             else if(strcmp(x_nr,"lock2",true) == 0)
  2154.             {
  2155.                 new keycar = PlayerInfo[playerid][pPcarkey2];
  2156.                 if(keycar != -1)
  2157.                 {
  2158.                     new locked[256];
  2159.                     locked = strtok(cmdtext, idx);
  2160.                     if(CarInfo[keycar][cLock] == 1)
  2161.                     {
  2162.                         for(new i = 0; i < MAX_PLAYERS; i++)
  2163.                         {
  2164.                             if (IsPlayerConnected(i))
  2165.                             {
  2166.                                 SetVehicleParamsForPlayer(keycar,i,0,0);
  2167.                             }
  2168.                         }
  2169.                         format(string, sizeof(string), "~w~Vehicle~n~~g~Unlocked");
  2170.                         GameTextForPlayer(playerid, string, 4000, 3);
  2171.                         CarInfo[keycar][cLock] = 0;
  2172.                         OnPropUpdate(); SavePlayerData(playerid);
  2173.                         return 1;
  2174.                     }
  2175.                     else if(CarInfo[keycar][cLock] == 0)
  2176.                     {
  2177.                         for(new i = 0; i < MAX_PLAYERS; i++)
  2178.                         {
  2179.                             if (IsPlayerConnected(i))
  2180.                             {
  2181.                                 SetVehicleParamsForPlayer(keycar,i,0,1);
  2182.                             }
  2183.                         }
  2184.                         format(string, sizeof(string), "~w~Vehicle~n~~r~Locked");
  2185.                         GameTextForPlayer(playerid, string, 4000, 3);
  2186.                         CarInfo[keycar][cLock] = 1;
  2187.                         OnPropUpdate(); SavePlayerData(playerid);
  2188.                         return 1;
  2189.                     }
  2190.                 }
  2191.                 else
  2192.                 {
  2193.                     SendClientMessage(playerid, COLOR_GREY, "  You don't have a vehicle at slot 2");
  2194.                     return 1;
  2195.                 }
  2196.             }
  2197.             else if(strcmp(x_nr,"lock3",true) == 0)
  2198.             {
  2199.                 new keycar = PlayerInfo[playerid][pPcarkey3];
  2200.                 if(keycar != -1)
  2201.                 {
  2202.                     new locked[256];
  2203.                     locked = strtok(cmdtext, idx);
  2204.                     if(CarInfo[keycar][cLock] == 1)
  2205.                     {
  2206.                         for(new i = 0; i < MAX_PLAYERS; i++)
  2207.                         {
  2208.                             if (IsPlayerConnected(i))
  2209.                             {
  2210.                                 SetVehicleParamsForPlayer(keycar,i,0,0);
  2211.                             }
  2212.                         }
  2213.                         format(string, sizeof(string), "~w~Vehicle~n~~g~Unlocked");
  2214.                         GameTextForPlayer(playerid, string, 4000, 3);
  2215.                         CarInfo[keycar][cLock] = 0;
  2216.                         OnPropUpdate(); SavePlayerData(playerid);
  2217.                         return 1;
  2218.                     }
  2219.                     else if(CarInfo[keycar][cLock] == 0)
  2220.                     {
  2221.                         for(new i = 0; i < MAX_PLAYERS; i++)
  2222.                         {
  2223.                             if (IsPlayerConnected(i))
  2224.                             {
  2225.                                 SetVehicleParamsForPlayer(keycar,i,0,1);
  2226.                             }
  2227.                         }
  2228.                         format(string, sizeof(string), "~w~Vehicle~n~~r~Locked");
  2229.                         GameTextForPlayer(playerid, string, 4000, 3);
  2230.                         CarInfo[keycar][cLock] = 1;
  2231.                         OnPropUpdate(); SavePlayerData(playerid);
  2232.                         return 1;
  2233.                     }
  2234.                 }
  2235.                 else
  2236.                 {
  2237.                     SendClientMessage(playerid, COLOR_GREY, "  You don't have a vehicle at slot 3");
  2238.                     return 1;
  2239.                 }
  2240.             }
  2241.             else if(strcmp(x_nr,"color",true) == 0)
  2242.             {
  2243.                 if(PlayerInfo[playerid][pPcarkey] == -1 && PlayerInfo[playerid][pPcarkey2] == -1 && PlayerInfo[playerid][pPcarkey3] == -1)
  2244.                 {
  2245.                     SendClientMessage(playerid, COLOR_GREY,"   You don't have a vehicle to respray.");
  2246.                     return 1;
  2247.                 }
  2248.                 if(GetPlayerMoney(playerid) < 1000)
  2249.                 {
  2250.                     SendClientMessage(playerid, COLOR_GREY,"   You don't have enough money for vehicle respray.");
  2251.                     return 1;
  2252.                 }
  2253.                 tmp = strtok(cmdtext, idx);
  2254.                 if(!strlen(tmp))
  2255.                 {
  2256.                     SendClientMessage(playerid, COLOR_WHITE, "USAGE: /v color [ColorOneID] [ColorTwoID]");
  2257.                     return 1;
  2258.                 }
  2259.                 new color1;
  2260.                 color1 = strval(tmp);
  2261.                 if(color1 < 0 && color1 > 126)
  2262.                 {
  2263.                     SendClientMessage(playerid, COLOR_GREY, "   Wrong color id!");
  2264.                     return 1;
  2265.                 }
  2266.                 tmp = strtok(cmdtext, idx);
  2267.                 if(!strlen(tmp))
  2268.                 {
  2269.                     SendClientMessage(playerid, COLOR_WHITE, "USAGE: /v color [ColorOneID] [ColorTwoID]");
  2270.                     return 1;
  2271.                 }
  2272.                 new color2;
  2273.                 color2 = strval(tmp);
  2274.                 if(color2 < 0 && color2 > 126)
  2275.                 {
  2276.                     SendClientMessage(playerid, COLOR_GREY, "   Wrong color id!");
  2277.                     return 1;
  2278.                 }
  2279.  
  2280.                 if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey]) { vehid = PlayerInfo[playerid][pPcarkey]; }
  2281.                 else if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey2]) { vehid = PlayerInfo[playerid][pPcarkey2]; }
  2282.                 else if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey3]) { vehid = PlayerInfo[playerid][pPcarkey3]; }
  2283.                 else { return 1; }
  2284.  
  2285.                 if(IsPlayerInVehicle(playerid, vehid))
  2286.                 {
  2287.                     CarInfo[vehid][cColorOne] = color1;
  2288.                     CarInfo[vehid][cColorTwo] = color2;
  2289.                     GivePlayerMoney(playerid, -1000);
  2290.                     GameTextForPlayer(playerid, "~w~Bill for a Paint Respray~n~~r~-$1000", 5000, 1);
  2291.                     ChangeVehicleColor(vehid, color1, color2);
  2292.                     OnPropUpdate(); SavePlayerData(playerid);
  2293.                     return 1;
  2294.                 }
  2295.                 else
  2296.                 {
  2297.                     SendClientMessage(playerid, COLOR_GREY,"   You are not in your vehicle.");
  2298.                     return 1;
  2299.                 }
  2300.             }
  2301.             else if(strcmp(x_nr,"locate1",true) == 0)
  2302.             {
  2303.                 if(!IsPlayerConnected(playerid)) { return 1; }
  2304.                 new Float:x,Float:y,Float:z;
  2305.                 new car = PlayerInfo[playerid][pPcarkey];
  2306.                 if(PlayerInfo[playerid][pPcarkey]==-1) { GameTextForPlayer(playerid, "~w~Nu ai o masina pentru a putea fi localizata", 2500, 3); return 1; }
  2307.                 SendClientMessage(playerid,COLOR_WHITE,"Locatia masinii a fost gasita.");
  2308.                 GetVehiclePos(car, x, y, z);
  2309.                 SetPlayerCheckpoint(playerid, x, y, z, 6);
  2310.                 return 1;
  2311.             }
  2312.             else if(strcmp(x_nr,"locate2",true) == 0)
  2313.             {
  2314.                 if(!IsPlayerConnected(playerid)) { return 1; }
  2315.                 new Float:x,Float:y,Float:z;
  2316.                 new car = PlayerInfo[playerid][pPcarkey2];
  2317.                 if(PlayerInfo[playerid][pPcarkey]==-1) { GameTextForPlayer(playerid, "~w~Nu ai o masina pentru a putea fi localizata", 2500, 3); return 1; }
  2318.                 SendClientMessage(playerid,COLOR_WHITE,"Locatia masinii a fost gasita.");
  2319.                 GetVehiclePos(car, x, y, z);
  2320.                 SetPlayerCheckpoint(playerid, x, y, z, 6);
  2321.                 return 1;
  2322.             }
  2323.             else if(strcmp(x_nr,"locate3",true) == 0)
  2324.             {
  2325.                 if(!IsPlayerConnected(playerid)) { return 1; }
  2326.                 new Float:x,Float:y,Float:z;
  2327.                 new car = PlayerInfo[playerid][pPcarkey3];
  2328.                 if(PlayerInfo[playerid][pPcarkey]==-1) { GameTextForPlayer(playerid, "~w~Nu ai o masina pentru a putea fi localizata", 2500, 3); return 1; }
  2329.                 SendClientMessage(playerid,COLOR_WHITE,"Locatia masinii a fost gasita.");
  2330.                 GetVehiclePos(car, x, y, z);
  2331.                 SetPlayerCheckpoint(playerid, x, y, z, 6);
  2332.                 return 1;
  2333.             }
  2334.             else if(strcmp(x_nr,"tow1",true) == 0)
  2335.             {
  2336.                if(IsPlayerConnected(playerid))
  2337.                 {
  2338.                     new car = PlayerInfo[playerid][pPcarkey];
  2339.                     GetPlayerName(playerid, playername, sizeof(playername));
  2340.                     if (car != -1 && strcmp(playername, CarInfo[PlayerInfo[playerid][pPcarkey]][cOwner], true) == 0)
  2341.                     {
  2342.                         GameTextForPlayer(playerid, "~w~Masina a fost~n~~g~Tractata cu succes~n~~r~$-1500", 5000, 1);
  2343.                         GivePlayerMoney(playerid,-1500);
  2344.                         SetVehicleToRespawn(car);
  2345.                         PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
  2346.                     }
  2347.                     else
  2348.                     {
  2349.                         GameTextForPlayer(playerid, "~w~Nu detii o masina personala.", 5000, 1);
  2350.                     }
  2351.                 }
  2352.             }
  2353.             else if(strcmp(x_nr,"tow2",true) == 0)
  2354.             {
  2355.                if(IsPlayerConnected(playerid))
  2356.                 {
  2357.                     new car = PlayerInfo[playerid][pPcarkey2];
  2358.                     GetPlayerName(playerid, playername, sizeof(playername));
  2359.                     if (car != -1 && strcmp(playername, CarInfo[PlayerInfo[playerid][pPcarkey2]][cOwner], true) == 0)
  2360.                     {
  2361.                         GameTextForPlayer(playerid, "~w~Masina a fost~n~~g~Tractata cu succes~n~~r~$-1500", 5000, 1);
  2362.                         GivePlayerMoney(playerid,-1500);
  2363.                         SetVehicleToRespawn(car);
  2364.                         PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
  2365.                     }
  2366.                     else
  2367.                     {
  2368.                         GameTextForPlayer(playerid, "~w~Nu detii o masina personala.", 5000, 1);
  2369.                     }
  2370.                 }
  2371.             }
  2372.             else if(strcmp(x_nr,"tow3",true) == 0)
  2373.             {
  2374.                if(IsPlayerConnected(playerid))
  2375.                 {
  2376.                     new car = PlayerInfo[playerid][pPcarkey3];
  2377.                     GetPlayerName(playerid, playername, sizeof(playername));
  2378.                     if (car != -1 && strcmp(playername, CarInfo[PlayerInfo[playerid][pPcarkey3]][cOwner], true) == 0)
  2379.                     {
  2380.                         GameTextForPlayer(playerid, "~w~Masina a fost~n~~g~Tractata cu succes~n~~r~$-1500", 5000, 1);
  2381.                         GivePlayerMoney(playerid,-1500);
  2382.                         SetVehicleToRespawn(car);
  2383.                         PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
  2384.                     }
  2385.                     else
  2386.                     {
  2387.                         GameTextForPlayer(playerid, "~w~Nu detii o masina personala.", 5000, 1);
  2388.                     }
  2389.                 }
  2390.             }
  2391.             else
  2392.             {
  2393.                 SendClientMessage(playerid, COLOR_WHITE, "HINT: (/v)ehicle [name]");
  2394.                 SendClientMessage(playerid, COLOR_WHITE, "Available names: park, lock(1-3), sell, sellto, color, setplate, locate(1-3), tow(1-3)");
  2395.                 return 1;
  2396.             }
  2397.         }
  2398.         return 1;
  2399.     }
  2400.     return 0;
  2401. }
  2402.  
  2403. public OnPlayerEnterCheckpoint(playerid)
  2404. {
  2405.     DisablePlayerCheckpoint(playerid);
  2406.     return 1;
  2407. }
  2408. /*----------Car Save Functions----------*/
  2409.  
  2410. public LoadCar()
  2411. {
  2412.     new arrCoords[31][64];
  2413.     new strFromFile2[256];
  2414.     new File: file = fopen("masini.cfg", io_read);
  2415.     if (file)
  2416.     {
  2417.         new idx = carsonserver;
  2418.         while (idx < sizeof(CarInfo))
  2419.         {
  2420.             fread(file, strFromFile2);
  2421.             split(strFromFile2, arrCoords, ',');
  2422.             CarInfo[idx][cModel] = strval(arrCoords[0]);
  2423.             CarInfo[idx][cLocationx] = floatstr(arrCoords[1]);
  2424.             CarInfo[idx][cLocationy] = floatstr(arrCoords[2]);
  2425.             CarInfo[idx][cLocationz] = floatstr(arrCoords[3]);
  2426.             CarInfo[idx][cAngle] = floatstr(arrCoords[4]);
  2427.             CarInfo[idx][cColorOne] = strval(arrCoords[5]);
  2428.             CarInfo[idx][cColorTwo] = strval(arrCoords[6]);
  2429.             strmid(CarInfo[idx][cOwner], arrCoords[7], 0, strlen(arrCoords[7]), 255);
  2430.             strmid(CarInfo[idx][cDescription], arrCoords[8], 0, strlen(arrCoords[8]), 255);
  2431.             CarInfo[idx][cValue] = strval(arrCoords[9]);
  2432.             strmid(CarInfo[idx][cLicense], arrCoords[10], 0, strlen(arrCoords[10]), 255);
  2433.             CarInfo[idx][cOwned] = strval(arrCoords[11]);
  2434.             CarInfo[idx][cLock] = strval(arrCoords[12]);
  2435.             CarInfo[idx][mod1] = strval(arrCoords[13]);
  2436.             CarInfo[idx][mod2] = strval(arrCoords[14]);
  2437.             CarInfo[idx][mod3] = strval(arrCoords[15]);
  2438.             CarInfo[idx][mod4] = strval(arrCoords[16]);
  2439.             CarInfo[idx][mod5] = strval(arrCoords[17]);
  2440.             CarInfo[idx][mod6] = strval(arrCoords[18]);
  2441.             CarInfo[idx][mod7] = strval(arrCoords[19]);
  2442.             CarInfo[idx][mod8] = strval(arrCoords[20]);
  2443.             CarInfo[idx][mod9] = strval(arrCoords[21]);
  2444.             CarInfo[idx][mod10] = strval(arrCoords[22]);
  2445.             CarInfo[idx][mod11] = strval(arrCoords[23]);
  2446.             CarInfo[idx][mod12] = strval(arrCoords[24]);
  2447.             CarInfo[idx][mod13] = strval(arrCoords[25]);
  2448.             CarInfo[idx][mod14] = strval(arrCoords[26]);
  2449.             CarInfo[idx][mod15] = strval(arrCoords[27]);
  2450.             CarInfo[idx][mod16] = strval(arrCoords[28]);
  2451.             CarInfo[idx][mod17] = strval(arrCoords[29]);
  2452.             CarInfo[idx][paintjob] = strval(arrCoords[30]);
  2453.             printf("CarInfo: %d Owner:%s LicensePlate %s",idx,CarInfo[idx][cOwner],CarInfo[idx][cLicense]);
  2454.             idx++;
  2455.         }
  2456.     }
  2457.     return 1;
  2458. }
  2459.  
  2460. public SaveCarCoords()
  2461. {
  2462.     new idx;
  2463.     new File: file2;
  2464.     while (idx < sizeof(CarInfo))
  2465.     {
  2466.         new coordsstring[256];
  2467.         format(coordsstring, sizeof(coordsstring), "%d|%f|%f|%f|%f|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d\n",
  2468.         CarInfo[idx][cModel],
  2469.         CarInfo[idx][cLocationx],
  2470.         CarInfo[idx][cLocationy],
  2471.         CarInfo[idx][cLocationz],
  2472.         CarInfo[idx][cAngle],
  2473.         CarInfo[idx][cColorOne],
  2474.         CarInfo[idx][cColorTwo],
  2475.         CarInfo[idx][mod1],
  2476.         CarInfo[idx][mod2],
  2477.         CarInfo[idx][mod3],
  2478.         CarInfo[idx][mod4],
  2479.         CarInfo[idx][mod5],
  2480.         CarInfo[idx][mod6],
  2481.         CarInfo[idx][mod7],
  2482.         CarInfo[idx][mod8],
  2483.         CarInfo[idx][mod9],
  2484.         CarInfo[idx][mod10],
  2485.         CarInfo[idx][mod11],
  2486.         CarInfo[idx][mod12],
  2487.         CarInfo[idx][mod13],
  2488.         CarInfo[idx][mod14],
  2489.         CarInfo[idx][mod15],
  2490.         CarInfo[idx][mod16],
  2491.         CarInfo[idx][mod17],
  2492.         CarInfo[idx][paintjob]);
  2493.         if(idx == carsonserver)
  2494.         {
  2495.             file2 = fopen("masini.cfg", io_write);
  2496.         }
  2497.         else
  2498.         {
  2499.             file2 = fopen("masini.cfg", io_append);
  2500.         }
  2501.         fwrite(file2, coordsstring);
  2502.         idx++;
  2503.         fclose(file2);
  2504.     }
  2505.     return 1;
  2506. }
  2507.  
  2508. public OnPlayerStateChange(playerid, newstate, oldstate)
  2509. {
  2510.     new string[128];
  2511.     new vehicle = GetPlayerVehicleID(playerid);
  2512.     new newcar = GetPlayerVehicleID(playerid);
  2513.     if(newstate == PLAYER_STATE_DRIVER)
  2514.     {
  2515.         if(IsAnOwnableCar(newcar))
  2516.         {
  2517.             if(CarInfo[newcar][cOwned]==0)
  2518.             {
  2519.                 TogglePlayerControllable(playerid, 0);
  2520.                 format(string,sizeof(string),"%s Price: %d /v buy to buy this vehicle",CarInfo[newcar][cDescription],CarInfo[newcar][cValue]);
  2521.                 SendClientMessage(playerid, COLOR_BLUE, string);
  2522.                 SendClientMessage(playerid, COLOR_BLUE, "or press Enter to exit this vehicle");
  2523.             }
  2524.             if(CarInfo[newcar][cOwned]==1)
  2525.             {
  2526.                 format(string,sizeof(string),"Vehicle registered to %s",CarInfo[newcar][cOwner]);
  2527.                 SendClientMessage(playerid, COLOR_BLUE, string);
  2528.                 if(PlayerInfo[playerid][pPcarkey] == vehicle) { }
  2529.                 else if(PlayerInfo[playerid][pPcarkey2] == vehicle) { }
  2530.                 else if(PlayerInfo[playerid][pPcarkey3] == vehicle) { }
  2531.                 else
  2532.                 {
  2533.                     if(IsPlayerAdmin(playerid))
  2534.                     {
  2535.                         SendClientMessage(playerid, COLOR_GREY, "  You can drive this car because you are admin");
  2536.                     }
  2537.                     else
  2538.                     {
  2539.                         RemovePlayerFromVehicle(playerid);
  2540.                         SendClientMessage(playerid, COLOR_GREY, "You don't have a key of this vehicle");
  2541.                     }
  2542.                 }
  2543.             }
  2544.         }
  2545.     }
  2546.     return 1;
  2547. }
  2548.  
  2549. stock ini_GetKey( line[] )
  2550. {
  2551.     new keyRes[256];
  2552.     keyRes[0] = 0;
  2553.     if ( strfind( line , "=" , true ) == -1 ) return keyRes;
  2554.     strmid( keyRes , line , 0 , strfind( line , "=" , true ) , sizeof( keyRes) );
  2555.     return keyRes;
  2556. }
  2557.  
  2558. stock ini_GetValue( line[] )
  2559. {
  2560.     new valRes[256];
  2561.     valRes[0]=0;
  2562.     if ( strfind( line , "=" , true ) == -1 ) return valRes;
  2563.     strmid( valRes , line , strfind( line , "=" , true )+1 , strlen( line ) , sizeof( valRes ) );
  2564.     return valRes;
  2565. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement