Guest User

vehsistem

a guest
Jan 21st, 2012
1,057
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 39.19 KB | None | 0 0
  1.  
  2. /*
  3. This is a Simple Vehicle Owner Ship, that Save all Vehicles in dini and Load it again
  4. BlackFox vehicle ownership edit by vandam20
  5.  
  6. ---------------[COMMANDS]----------------
  7.  
  8. /newbuycar [carid] [color1] [color2] [Price] you need to be a logged in as a rcon admin
  9. /sellveh [Price] - you need to be logged in as a rcon admin, adn in a personal car - will make the vehicle for sale
  10. /buyveh - to Buy the Specific Vehicle - you need to be in a buyable car
  11. /removeveh - Delete Vehicle (You must sit in the Specific Vehicle) and you need to be logged in as a rcon admin
  12. /v locate - use this command to find your car
  13. /v lockmycar - lock your car
  14. /v unlockmycar - unlock's your car
  15. /v park - to park your car
  16. */
  17. #include <a_samp>
  18. #include <dini>
  19. #define COLOR_GRAD2 0xBFC0C2FF
  20. #define COLOR_GRAD3 0xCBCCCEFF
  21. #define ORANGE 0xF67900F6
  22. #define WHITE 0xF6F6F6F6
  23. #define GREEN 0x00D400F6
  24. #define YELLOW 0xECD400F6
  25. #define COLOR_GREY 0x777979FF
  26. #define COLOR_PURPLE 0xC2A2DAAA
  27. #define COLOR_WHITE 0xFFFFFFAA
  28. #define MAX_BUY_V 50
  29. #pragma tabsize 0
  30. forward ini_GetKey( line[] );
  31.  
  32. enum Auto
  33. {
  34. model,owned,cLock,
  35. Float:x,Float:y,Float:z,
  36. Farbe1,Farbe2,Float:a,owner[128],preis,paintjob,mod1,mod2,mod3,mod4,mod5,mod6,mod7,mod8,mod9,mod10,
  37. mod11,mod12,mod13,mod14,mod15,mod16,mod17,
  38. }
  39. new VehicleSystem[MAX_BUY_V][Auto];
  40. new IDIS[MAX_VEHICLES];
  41. new created;
  42. new file[256];
  43. new Text3D:TextUpCar[MAX_VEHICLES];
  44. new TextCar[256];
  45. /* WICHTIG FUERS SAVEN */
  46. forward ProxDetector(Float:radi, playerid, string[],col1,col2,col3,col4,col5);
  47. forward SaveTool();
  48. forward Carlabel(playerid);
  49. /* TUNING PARTS */
  50. new spoiler[20][0] = {
  51. {1000},
  52. {1001},
  53. {1002},
  54. {1003},
  55. {1014},
  56. {1015},
  57. {1016},
  58. {1023},
  59. {1058},
  60. {1060},
  61. {1049},
  62. {1050},
  63. {1138},
  64. {1139},
  65. {1146},
  66. {1147},
  67. {1158},
  68. {1162},
  69. {1163},
  70. {1164}
  71. };
  72.  
  73. new nitro[3][0] = {
  74. {1008},
  75. {1009},
  76. {1010}
  77. };
  78.  
  79. new fbumper[23][0] = {
  80. {1117},
  81. {1152},
  82. {1153},
  83. {1155},
  84. {1157},
  85. {1160},
  86. {1165},
  87. {1167},
  88. {1169},
  89. {1170},
  90. {1171},
  91. {1172},
  92. {1173},
  93. {1174},
  94. {1175},
  95. {1179},
  96. {1181},
  97. {1182},
  98. {1185},
  99. {1188},
  100. {1189},
  101. {1192},
  102. {1193}
  103. };
  104.  
  105. new rbumper[22][0] = {
  106. {1140},
  107. {1141},
  108. {1148},
  109. {1149},
  110. {1150},
  111. {1151},
  112. {1154},
  113. {1156},
  114. {1159},
  115. {1161},
  116. {1166},
  117. {1168},
  118. {1176},
  119. {1177},
  120. {1178},
  121. {1180},
  122. {1183},
  123. {1184},
  124. {1186},
  125. {1187},
  126. {1190},
  127. {1191}
  128. };
  129.  
  130. new exhaust[28][0] = {
  131. {1018},
  132. {1019},
  133. {1020},
  134. {1021},
  135. {1022},
  136. {1028},
  137. {1029},
  138. {1037},
  139. {1043},
  140. {1044},
  141. {1045},
  142. {1046},
  143. {1059},
  144. {1064},
  145. {1065},
  146. {1066},
  147. {1089},
  148. {1092},
  149. {1104},
  150. {1105},
  151. {1113},
  152. {1114},
  153. {1126},
  154. {1127},
  155. {1129},
  156. {1132},
  157. {1135},
  158. {1136}
  159. };
  160.  
  161. new bventr[2][0] = {
  162. {1042},
  163. {1044}
  164. };
  165.  
  166. new bventl[2][0] = {
  167. {1043},
  168. {1045}
  169. };
  170.  
  171. new bscoop[4][0] = {
  172. {1004},
  173. {1005},
  174. {1011},
  175. {1012}
  176. };
  177.  
  178. new rscoop[13][0] = {
  179. {1006},
  180. {1032},
  181. {1033},
  182. {1035},
  183. {1038},
  184. {1053},
  185. {1054},
  186. {1055},
  187. {1061},
  188. {1067},
  189. {1068},
  190. {1088},
  191. {1091}
  192. };
  193.  
  194. new lskirt[21][0] = {
  195. {1007},
  196. {1026},
  197. {1031},
  198. {1036},
  199. {1039},
  200. {1042},
  201. {1047},
  202. {1048},
  203. {1056},
  204. {1057},
  205. {1069},
  206. {1070},
  207. {1090},
  208. {1093},
  209. {1106},
  210. {1108},
  211. {1118},
  212. {1119},
  213. {1133},
  214. {1122},
  215. {1134}
  216. };
  217.  
  218. new rskirt[21][0] = {
  219. {1017},
  220. {1027},
  221. {1030},
  222. {1040},
  223. {1041},
  224. {1051},
  225. {1052},
  226. {1062},
  227. {1063},
  228. {1071},
  229. {1072},
  230. {1094},
  231. {1095},
  232. {1099},
  233. {1101},
  234. {1102},
  235. {1107},
  236. {1120},
  237. {1121},
  238. {1124},
  239. {1137}
  240. };
  241.  
  242. new hydraulics[1][0] = {
  243. {1087}
  244. };
  245.  
  246. new base[1][0] = {
  247. {1086}
  248. };
  249.  
  250. new rbbars[2][0] = {
  251. {1109},
  252. {1110}
  253. };
  254.  
  255. new fbbars[2][0] = {
  256. {1115},
  257. {1116}
  258. };
  259.  
  260. new wheels[17][0] = {
  261. {1025},
  262. {1073},
  263. {1074},
  264. {1075},
  265. {1076},
  266. {1077},
  267. {1078},
  268. {1079},
  269. {1080},
  270. {1081},
  271. {1082},
  272. {1083},
  273. {1084},
  274. {1085},
  275. {1096},
  276. {1097},
  277. {1098}
  278. };
  279.  
  280. new lights[2][0] = {
  281. {1013},
  282. {1024}
  283. };
  284. forward Tunen(vehicleid);
  285. /**/
  286. #define FILTERSCRIPT
  287.  
  288. #if defined FILTERSCRIPT
  289. public OnFilterScriptInit()
  290. {
  291. if(!dini_Exists("PersonalCars/cars.cfg")){
  292. dini_Create("PersonalCars/cars.cfg");}
  293. new loader[128];
  294. for(new i = 0;i<MAX_BUY_V;i++)
  295. {
  296. format(loader,sizeof(loader),"veh_model_%d",i);
  297. VehicleSystem[i][model] = dini_Int("PersonalCars/cars.cfg",loader);
  298. format(loader,sizeof(loader),"veh_owned_%d",i);
  299. VehicleSystem[i][owned] = dini_Int("PersonalCars/cars.cfg",loader);
  300. format(loader,sizeof(loader),"veh_cLock_%d",i);
  301. VehicleSystem[i][cLock] = dini_Int("PersonalCars/cars.cfg",loader);
  302. format(loader,sizeof(loader),"veh_owner_%d",i);
  303. strmid(VehicleSystem[i][owner],dini_Get("PersonalCars/cars.cfg",loader),0,128,128);
  304. format(loader,sizeof(loader),"veh_x_%d",i);
  305. VehicleSystem[i][x] = dini_Float("PersonalCars/cars.cfg",loader);
  306. format(loader,sizeof(loader),"veh_y_%d",i);
  307. VehicleSystem[i][y] = dini_Float("PersonalCars/cars.cfg",loader);
  308. format(loader,sizeof(loader),"veh_z_%d",i);
  309. VehicleSystem[i][z] = dini_Float("PersonalCars/cars.cfg",loader);
  310. format(loader,sizeof(loader),"veh_Farbe1_%d",i);
  311. VehicleSystem[i][Farbe1] = dini_Int("PersonalCars/cars.cfg",loader);
  312. format(loader,sizeof(loader),"veh_Farbe2_%d",i);
  313. VehicleSystem[i][Farbe2] = dini_Int("PersonalCars/cars.cfg",loader);
  314. format(loader,sizeof(loader),"veh_a_%d",i);
  315. VehicleSystem[i][a] = dini_Float("PersonalCars/cars.cfg",loader);
  316. format(loader,sizeof(loader),"veh_owner_%d",i);
  317. strmid(VehicleSystem[i][owner],dini_Get("PersonalCars/cars.cfg",loader),0,128,128);
  318. format(loader,sizeof(loader),"veh_preis_%d",i);
  319. VehicleSystem[i][preis] = dini_Int("PersonalCars/cars.cfg",loader);
  320. //
  321. format(loader,sizeof(loader),"veh_mod1_%d",i);
  322. VehicleSystem[i][mod1] = dini_Int("PersonalCars/cars.cfg",loader);
  323. format(loader,sizeof(loader),"veh_mod2_%d",i);
  324. VehicleSystem[i][mod2] = dini_Int("PersonalCars/cars.cfg",loader);
  325. format(loader,sizeof(loader),"veh_mod3_%d",i);
  326. VehicleSystem[i][mod3] = dini_Int("PersonalCars/cars.cfg",loader);
  327. format(loader,sizeof(loader),"veh_mod4_%d",i);
  328. VehicleSystem[i][mod4] = dini_Int("PersonalCars/cars.cfg",loader);
  329. format(loader,sizeof(loader),"veh_mod5_%d",i);
  330. VehicleSystem[i][mod5] = dini_Int("PersonalCars/cars.cfg",loader);
  331. format(loader,sizeof(loader),"veh_mod6_%d",i);
  332. VehicleSystem[i][mod6] = dini_Int("PersonalCars/cars.cfg",loader);
  333. format(loader,sizeof(loader),"veh_mod7_%d",i);
  334. VehicleSystem[i][mod7] = dini_Int("PersonalCars/cars.cfg",loader);
  335. format(loader,sizeof(loader),"veh_mod8_%d",i);
  336. VehicleSystem[i][mod8] = dini_Int("PersonalCars/cars.cfg",loader);
  337. format(loader,sizeof(loader),"veh_mod9_%d",i);
  338. VehicleSystem[i][mod9] = dini_Int("PersonalCars/cars.cfg",loader);
  339. format(loader,sizeof(loader),"veh_mod10_%d",i);
  340. VehicleSystem[i][mod10] = dini_Int("PersonalCars/cars.cfg",loader);
  341. format(loader,sizeof(loader),"veh_mod11_%d",i);
  342. VehicleSystem[i][mod11] = dini_Int("PersonalCars/cars.cfg",loader);
  343. format(loader,sizeof(loader),"veh_mod12_%d",i);
  344. VehicleSystem[i][mod12] = dini_Int("PersonalCars/cars.cfg",loader);
  345. format(loader,sizeof(loader),"veh_mod13_%d",i);
  346. VehicleSystem[i][mod13] = dini_Int("PersonalCars/cars.cfg",loader);
  347. format(loader,sizeof(loader),"veh_mod14_%d",i);
  348. VehicleSystem[i][mod14] = dini_Int("PersonalCars/cars.cfg",loader);
  349. format(loader,sizeof(loader),"veh_mod15_%d",i);
  350. VehicleSystem[i][mod15] = dini_Int("PersonalCars/cars.cfg",loader);
  351. format(loader,sizeof(loader),"veh_mod16_%d",i);
  352. VehicleSystem[i][mod16] = dini_Int("PersonalCars/cars.cfg",loader);
  353. format(loader,sizeof(loader),"veh_mod17_%d",i);
  354. VehicleSystem[i][mod17] = dini_Int("PersonalCars/cars.cfg",loader);
  355. //
  356. format(loader,sizeof(loader),"veh_paint_%d",i);
  357. VehicleSystem[i][paintjob] = dini_Int("PersonalCars/cars.cfg",loader);
  358.  
  359. new car = CreateVehicle(VehicleSystem[i][model],VehicleSystem[i][x],VehicleSystem[i][y],VehicleSystem[i][z],VehicleSystem[i][a],VehicleSystem[i][Farbe1],VehicleSystem[i][Farbe2],600000);
  360. //
  361. if(VehicleSystem[i][model]!=0){
  362. created++;
  363. Tunen(car);
  364. IDIS[car] = created;
  365. }
  366. }
  367. for(new c = 0; c < MAX_VEHICLES; c++)
  368. {
  369. if (VehicleSystem[c][owned]==1)
  370. {
  371. format(TextCar,sizeof(TextCar),"{00FFEE}%s{FFFFFF}'s vehicle",VehicleSystem[GetCreatorID(c)][owner]);
  372. TextUpCar[c] = Create3DTextLabel(TextCar, 0xFFFFFFAA ,0,0,0,20.0,0);
  373. Attach3DTextLabelToVehicle(TextUpCar[c],c,0.0,0.0,0.0);
  374. SetVehicleNumberPlate(c, VehicleSystem[GetCreatorID(c)][owner]);
  375. }
  376. else if(VehicleSystem[c][owned]==0)
  377. {
  378. format(TextCar,sizeof(TextCar),"This vehicle is for sale, price: %d",VehicleSystem[GetCreatorID(c)][preis]);
  379. TextUpCar[c] = Create3DTextLabel(TextCar, 0xFFFFFFAA ,0,0,0,20.0,0);
  380. Attach3DTextLabelToVehicle(TextUpCar[c],c,0.0,0.0,0.0);
  381. }
  382. }
  383. return 1;
  384. }
  385.  
  386. public OnFilterScriptExit()
  387. {
  388. return 1;
  389. }
  390.  
  391. #else
  392.  
  393. main()
  394. {
  395. }
  396.  
  397. #endif
  398.  
  399. public OnGameModeInit()
  400. {
  401. return 1;
  402. }
  403.  
  404. public OnGameModeExit()
  405. {
  406. return 1;
  407. }
  408.  
  409. public OnPlayerRequestClass(playerid, classid)
  410. {
  411. return 1;
  412. }
  413.  
  414. public OnPlayerRequestSpawn(playerid)
  415. {
  416. return 1;
  417. }
  418.  
  419. public OnPlayerConnect(playerid)
  420. { if(!dini_Exists(PFile(playerid)))
  421. {
  422. dini_Create(PFile(playerid));
  423. dini_IntSet(PFile(playerid),"HaveCar",0);
  424. }
  425. return 1;
  426. }
  427.  
  428. public OnPlayerDisconnect(playerid, reason)
  429. {
  430. return 1;
  431. }
  432.  
  433. public OnPlayerSpawn(playerid)
  434. {
  435. AntiDeAMX();
  436. return 1;
  437. }
  438.  
  439. public OnPlayerDeath(playerid, killerid, reason)
  440. {
  441. return 1;
  442. }
  443.  
  444. public OnVehicleSpawn(vehicleid)
  445. {
  446. return 1;
  447. }
  448.  
  449. public OnVehicleDeath(vehicleid, killerid)
  450. {
  451. if(GetCreatorID(vehicleid)!=0)
  452. {
  453. new create = GetCreatorID(vehicleid);
  454. DestroyVehicle(vehicleid);
  455. new CAR = CreateVehicle(VehicleSystem[create][model],VehicleSystem[create][x],VehicleSystem[create][y],VehicleSystem[create][z],VehicleSystem[create][a],VehicleSystem[create][Farbe1],VehicleSystem[create][Farbe2],600000);
  456. SetVehicleNumberPlate(vehicleid, VehicleSystem[GetCreatorID(vehicleid)][owner]);
  457. Tunen(CAR);
  458. }
  459. return 1;
  460. }
  461.  
  462. public OnPlayerText(playerid, text[])
  463. {
  464. return 1;
  465. }
  466.  
  467. public OnPlayerCommandText(playerid, cmdtext[])
  468. {
  469. new cmd[128],tmp[128],idx;
  470. cmd = strtok(cmdtext,idx);
  471. new string[256];
  472. new vehicleid = GetPlayerVehicleID(playerid);
  473. new giveplayer[MAX_PLAYER_NAME];
  474. new sendername[MAX_PLAYER_NAME];
  475. new giveplayerid;
  476. if(strcmp(cmd, "/v", true) == 0)
  477. {
  478. if(IsPlayerConnected(playerid))
  479. {
  480. new x_nr[64];
  481. x_nr = strtok(cmdtext, idx);
  482. if(!strlen(x_nr))
  483. {
  484. SendClientMessage(playerid, COLOR_GREY, "HINT: (/v)ehicle [name]");
  485. SendClientMessage(playerid, COLOR_WHITE, "Available names: park, lockmycar, unlockmycar, locate");
  486. return 1;
  487. }
  488. if(strcmp(x_nr,"lockmycar",true) == 0)
  489. {
  490. new keycar = (dini_Int(PFile(playerid),"HaveCar"));
  491. new personalcar = (dini_Int(PFile(playerid),"CarID"));
  492. if(keycar == 1)
  493. {
  494. new locked[256];
  495. locked = strtok(cmdtext, idx);
  496. if (VehicleSystem[GetCreatorID(personalcar)][cLock]==1)
  497. {
  498. for(new i = 0; i < MAX_PLAYERS; i++)
  499. {
  500. if (IsPlayerConnected(i))
  501. {
  502. SetVehicleParamsForPlayer(personalcar,i,0,1);
  503. }
  504. }
  505. format(string, sizeof(string), "~w~Vehicle~n~~g~Locked");
  506. GameTextForPlayer(playerid, string, 4000, 3);
  507. VehicleSystem[GetCreatorID(personalcar)][cLock]=0;
  508. GetPlayerName(playerid, sendername, sizeof(sendername));
  509. format(string,sizeof(string), "* %s has locked his personal vehicle, using his car key!", sendername);
  510. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  511. SaveTool();
  512. return 1;
  513. }
  514. }
  515. }
  516. else if(strcmp(x_nr,"unlockmycar",true) == 0)
  517. {
  518. new keycar = (dini_Int(PFile(playerid),"HaveCar"));
  519. new personalcar = (dini_Int(PFile(playerid),"CarID"));
  520. if(keycar == 1)
  521. {
  522. new locked[256];
  523. locked = strtok(cmdtext, idx);
  524. if (VehicleSystem[GetCreatorID(vehicleid)][cLock]==0)
  525. {
  526. for(new i = 0; i < MAX_PLAYERS; i++)
  527. {
  528. if (IsPlayerConnected(i))
  529. {
  530. SetVehicleParamsForPlayer(personalcar,i,0,0);
  531. }
  532. }
  533. format(string, sizeof(string), "~w~Vehicle~n~~g~Unlocked");
  534. GameTextForPlayer(playerid, string, 4000, 3);
  535. GetPlayerName(playerid, sendername, sizeof(sendername));
  536. format(string,sizeof(string), "* %s has unlocked his personal vehicle, using his car key!", sendername);
  537. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  538. VehicleSystem[GetCreatorID(personalcar)][cLock]=1;
  539. SaveTool();
  540. return 1;
  541. }
  542. }
  543. }
  544. else if(strcmp(x_nr,"park",true) == 0)
  545. {
  546. if(!IsPlayerInAnyVehicle(playerid)){return 1;}
  547. if(GetCreatorID(vehicleid)!=0)
  548. {
  549. if (strmatch(VehicleSystem[GetCreatorID(vehicleid)][owner],Spielername(playerid)))
  550. {
  551. new Float:vx,Float:vy,Float:vz,Float:va;
  552. GetVehiclePos(GetPlayerVehicleID(playerid),vx,vy,vz);
  553. GetVehicleZAngle(GetPlayerVehicleID(playerid),va);
  554. VehicleSystem[GetCreatorID(vehicleid)][x]=vx;
  555. VehicleSystem[GetCreatorID(vehicleid)][y]=vy;
  556. VehicleSystem[GetCreatorID(vehicleid)][z]=vz;
  557. VehicleSystem[GetCreatorID(vehicleid)][a]=va;
  558. SetVehicleHealth(GetPlayerVehicleID(playerid),100.0);
  559. SendClientMessage(playerid,WHITE,"You have parked your vehicle here!");
  560. SendClientMessage(playerid,YELLOW,"Your vehicle will now respawn here!");
  561. SaveTool();
  562. }
  563. }
  564. return 1;
  565. }
  566. else if(strcmp(x_nr,"locate",true) == 0)
  567. {
  568. if(!IsPlayerConnected(playerid)) { return 1; }
  569. new Float:xxx,Float:yyy,Float:zzz;
  570. new keycar = (dini_Int(PFile(playerid),"HaveCar"));
  571. new personalcar = (dini_Int(PFile(playerid),"CarID"));
  572. if(keycar == 0) { GameTextForPlayer(playerid, "~w~You haven's got a car to find", 2500, 3); return 1; }
  573. SendClientMessage(playerid,COLOR_WHITE,"Your car has been found!");
  574. GetVehiclePos(personalcar, xxx, yyy, zzz);
  575. SetPlayerCheckpoint(playerid, xxx, yyy, zzz, 6);
  576. return 1;
  577. }
  578. }
  579. return 1;
  580. }
  581.  
  582. if (strcmp(cmd, "/removeveh", true) ==0 )
  583. {
  584. if(!IsPlayerInAnyVehicle(playerid)){return 1;}
  585. if(!IsPlayerAdmin(playerid)){return 1;}
  586. VehicleSystem[GetCreatorID(vehicleid)][model]=0;
  587. VehicleSystem[GetCreatorID(vehicleid)][owned]=0;
  588. VehicleSystem[GetCreatorID(vehicleid)][x]=(0.0);
  589. VehicleSystem[GetCreatorID(vehicleid)][y]=(0.0);
  590. VehicleSystem[GetCreatorID(vehicleid)][z]=(0.0);
  591. VehicleSystem[GetCreatorID(vehicleid)][Farbe1]=0;
  592. VehicleSystem[GetCreatorID(vehicleid)][Farbe2]=0;
  593. VehicleSystem[GetCreatorID(vehicleid)][preis]=0;
  594. VehicleSystem[GetCreatorID(vehicleid)][mod1]=0;
  595. VehicleSystem[GetCreatorID(vehicleid)][mod2]=0;
  596. VehicleSystem[GetCreatorID(vehicleid)][mod3]=0;
  597. VehicleSystem[GetCreatorID(vehicleid)][mod4]=0;
  598. VehicleSystem[GetCreatorID(vehicleid)][mod5]=0;
  599. VehicleSystem[GetCreatorID(vehicleid)][mod6]=0;
  600. VehicleSystem[GetCreatorID(vehicleid)][mod7]=0;
  601. VehicleSystem[GetCreatorID(vehicleid)][mod8]=0;
  602. VehicleSystem[GetCreatorID(vehicleid)][mod9]=0;
  603. VehicleSystem[GetCreatorID(vehicleid)][mod10]=0;
  604. VehicleSystem[GetCreatorID(vehicleid)][mod11]=0;
  605. VehicleSystem[GetCreatorID(vehicleid)][mod12]=0;
  606. VehicleSystem[GetCreatorID(vehicleid)][mod13]=0;
  607. VehicleSystem[GetCreatorID(vehicleid)][mod14]=0;
  608. VehicleSystem[GetCreatorID(vehicleid)][mod15]=0;
  609. VehicleSystem[GetCreatorID(vehicleid)][mod16]=0;
  610. VehicleSystem[GetCreatorID(vehicleid)][mod17]=0;
  611. VehicleSystem[GetCreatorID(vehicleid)][paintjob]=0;
  612. VehicleSystem[GetCreatorID(vehicleid)][cLock]=1;
  613. strmid(VehicleSystem[GetCreatorID(vehicleid)][owner],"",0,128,128);
  614. IDIS[vehicleid]=0;
  615. DestroyVehicle(vehicleid);
  616. SaveTool();
  617. return 1;
  618. }
  619. if (strcmp(cmd, "/newbuycar", true) ==0 )
  620. {
  621. if(!IsPlayerAdmin(playerid)){return 1;}
  622. tmp = strtok(cmdtext,idx);
  623. if(!strlen(tmp)){return 1;}
  624. new vehiclemodel = strval(tmp);
  625. tmp = strtok(cmdtext,idx);
  626. if(!strlen(tmp)){return 1;}
  627. new color1 = strval(tmp);
  628. tmp = strtok(cmdtext,idx);
  629. if(!strlen(tmp)){return 1;}
  630. new color2 = strval(tmp);
  631. tmp = strtok(cmdtext,idx);
  632. if(!strlen(tmp)){return 1;}
  633. new price = strval(tmp);
  634. new Float:px,Float:py,Float:pz,Float:pa;
  635. GetPlayerPos(playerid,px,py,pz);
  636. GetPlayerFacingAngle(playerid,pa);
  637. created++;
  638. VehicleSystem[created][model]=vehiclemodel;
  639. VehicleSystem[created][x]=px;
  640. VehicleSystem[created][y]=py;
  641. VehicleSystem[created][z]=pz;
  642. VehicleSystem[created][a]=pa;
  643. VehicleSystem[created][Farbe1]=color1;
  644. VehicleSystem[created][Farbe2]=color2;
  645. VehicleSystem[created][preis]=price;
  646. VehicleSystem[created][owned]=0;
  647. VehicleSystem[created][cLock]=1;
  648. strmid(VehicleSystem[created][owner],"dealercar",0,128,128);
  649. new ccar = CreateVehicle(VehicleSystem[created][model],VehicleSystem[created][x],VehicleSystem[created][y],VehicleSystem[created][z],VehicleSystem[created][a],VehicleSystem[created][Farbe1],VehicleSystem[created][Farbe2],600000);
  650. IDIS[ccar]=created;
  651. SaveTool();
  652. return 1;
  653. }
  654. if (strcmp(cmd, "/buyveh", true) ==0 )
  655. {
  656. /*if(dini_Int(PFile(playerid),"HaveCar")== 1) return SendClientMessage(playerid,ORANGE,"[ERROR]You already have a Car");*/
  657. /*if(dini_Int(PFile(playerid),"HaveCar")== 1) { }
  658. else { SendClientMessage(playerid, ORANGE,"[ERROR]You already have a Car"); return 1; }*/
  659. new HaveCar = (dini_Int(PFile(playerid),"HaveCar"));
  660. if(!IsPlayerInAnyVehicle(playerid)){return 1;}
  661. if(GetCreatorID(vehicleid)!=0)
  662. {
  663. if(HaveCar == 0)
  664. {
  665. if (strmatch(VehicleSystem[GetCreatorID(vehicleid)][owner],Spielername(playerid))){SendClientMessage(playerid,WHITE," Aceasta masina este deja cumparata!");return 1;}
  666. if (strmatch(VehicleSystem[GetCreatorID(vehicleid)][owner],"dealercar"))
  667. {
  668. if(VehicleSystem[GetCreatorID(vehicleid)][preis] < GetPlayerMoney(playerid))
  669. {
  670. strmid(VehicleSystem[GetCreatorID(vehicleid)][owner],Spielername(playerid),0,128,128);
  671. VehicleSystem[GetCreatorID(vehicleid)][owned]=1;
  672. SetVehicleNumberPlate(vehicleid, VehicleSystem[GetCreatorID(vehicleid)][owner]);
  673. GivePlayerMoney(playerid,-VehicleSystem[GetCreatorID(vehicleid)][preis]);
  674. SendClientMessage(playerid,YELLOW," Congratulations with your new purchase!");
  675. SendClientMessage(playerid,WHITE," You can see your personal car commands by using /carhelp");
  676. TogglePlayerControllable(playerid,1);
  677. Delete3DTextLabel(TextUpCar[vehicleid]);
  678. SaveTool();
  679. }
  680. else
  681. {
  682. SendClientMessage(playerid,WHITE,"You don't have enough cash with you!");
  683. }
  684. }
  685. else
  686. {
  687. SendClientMessage(playerid,WHITE,"This car is not for sale!");
  688. }
  689. }
  690. else
  691. {
  692. SendClientMessage(playerid, ORANGE,"[ERROR]You already have a Car");
  693. }
  694. }
  695. else
  696. {
  697. SendClientMessage(playerid,WHITE,"It's not for sale!");
  698. }
  699. if(!dini_Exists(PFile(playerid)))
  700. {
  701. dini_Create(PFile(playerid));
  702. dini_IntSet(PFile(playerid),"HaveCar",1);
  703. dini_IntSet(PFile(playerid),"CarID",vehicleid);
  704. }
  705. else if(dini_Exists(PFile(playerid)))
  706. {
  707. dini_IntSet(PFile(playerid),"HaveCar",1);
  708. dini_IntSet(PFile(playerid),"CarID",vehicleid);
  709. }
  710. return 1;
  711. }
  712.  
  713. if (strcmp(cmd, "/sellveh", true) ==0)
  714. {
  715. if(!IsPlayerInAnyVehicle(playerid)){return 1;}
  716. if(GetCreatorID(vehicleid)!=0)
  717. {
  718. if (IsPlayerAdmin(playerid))
  719. {
  720. tmp = strtok(cmdtext,idx);
  721. if(!strlen(tmp)){SendClientMessage(playerid,WHITE,"INFO: /sellveh [pret]");return 1;}
  722. new Float:vx,Float:vy,Float:vz,Float:va;
  723. GetVehiclePos(GetPlayerVehicleID(playerid),vx,vy,vz);
  724. GetVehicleZAngle(GetPlayerVehicleID(playerid),va);
  725. VehicleSystem[GetCreatorID(vehicleid)][x]=vx;
  726. VehicleSystem[GetCreatorID(vehicleid)][y]=vy;
  727. VehicleSystem[GetCreatorID(vehicleid)][z]=vz;
  728. VehicleSystem[GetCreatorID(vehicleid)][a]=va;
  729. VehicleSystem[GetCreatorID(vehicleid)][preis]=strval(tmp);
  730. VehicleSystem[GetCreatorID(vehicleid)][owned]=0;
  731. VehicleSystem[GetCreatorID(vehicleid)][cLock]=1;
  732. strmid(VehicleSystem[GetCreatorID(vehicleid)][owner],"dealercar",0,128,128);
  733. SendClientMessage(playerid,WHITE,"Aceasta masina e acum de vanzare!");
  734. SaveTool();
  735. Delete3DTextLabel(TextUpCar[vehicleid]);
  736. format(TextCar,sizeof(TextCar),"This car is for sale, price: %d",VehicleSystem[GetCreatorID(vehicleid)][preis]);
  737. TextUpCar[vehicleid] = Create3DTextLabel(TextCar, 0xFFFFFFAA ,0,0,0,20.0,0);
  738. Attach3DTextLabelToVehicle(TextUpCar[vehicleid],vehicleid,0.0,0.0,0.0);
  739. }
  740. else
  741. {
  742. SendClientMessage(playerid,WHITE,"INFO: Nu esti admin ca sa poti vinde masini!");
  743. }
  744. }
  745. return 1;
  746. }
  747. if (strcmp(cmd, "/apark", true) ==0 )
  748. {
  749. if(!IsPlayerInAnyVehicle(playerid)){return 1;}
  750. if(!IsPlayerAdmin(playerid)){return 1;}
  751. if(GetCreatorID(vehicleid)!=0)
  752. {
  753. new Float:vx,Float:vy,Float:vz,Float:va;
  754. GetVehiclePos(GetPlayerVehicleID(playerid),vx,vy,vz);
  755. GetVehicleZAngle(GetPlayerVehicleID(playerid),va);
  756. VehicleSystem[GetCreatorID(vehicleid)][x]=vx;
  757. VehicleSystem[GetCreatorID(vehicleid)][y]=vy;
  758. VehicleSystem[GetCreatorID(vehicleid)][z]=vz;
  759. VehicleSystem[GetCreatorID(vehicleid)][a]=va;
  760. SendClientMessage(playerid,WHITE,"Admin Park!");
  761. SaveTool();
  762. }
  763. else
  764. {
  765. SendClientMessage(playerid,WHITE," Nu poti parca aceasta masina!");
  766. }
  767. return 1;
  768. }
  769. if (strcmp(cmd, "/exitcar", true) ==0 )
  770. {
  771. if(!IsPlayerInAnyVehicle(playerid)){return 1;}
  772. if(GetCreatorID(vehicleid)!=0)
  773. {
  774. TogglePlayerControllable(playerid, 1);
  775. RemovePlayerFromVehicle(playerid);
  776. }
  777. return 1;
  778. }
  779. if(strcmp(cmd, "/carhelp", true) == 0)
  780. {
  781. SendClientMessage(playerid, 0x33AA33AA, "_______________________________________");
  782. SendClientMessage(playerid, 0xFFFFFFAA, "*** HELP *** Your Vehicle Commands");
  783. SendClientMessage(playerid, 0xCBCCCEFF, "*** CAR *** type /v to view your personal car commands!");
  784. return 1;
  785. }
  786. if (strcmp(cmd, "/deleteowner", true)==0)
  787. {
  788. if ((IsPlayerAdmin(playerid)))
  789. {
  790. tmp = strtok(cmdtext, idx);
  791. if(!strlen(tmp))
  792. {
  793. SendClientMessage(playerid, WHITE, "USAGE: /deleteowner [PlayerName]");
  794. return 1;
  795. }
  796. GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
  797. GetPlayerName(playerid, sendername, sizeof(sendername));
  798.  
  799. format(string,sizeof(string),"Users/%s.ini",tmp);
  800. dini_Remove(string);
  801. SendClientMessage(playerid, ORANGE, "Owner Masina Sters");
  802. }
  803. return 1;
  804. }
  805. return 0;
  806. }
  807. stock Spielername(playerid)
  808. {
  809. new spname[128];
  810. GetPlayerName(playerid,spname,sizeof(spname));
  811. return spname;
  812. }
  813. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  814. {
  815. new personalcar = (dini_Int(PFile(playerid),"CarID"));
  816. for(new i=0; i < MAX_PLAYERS; i++)
  817. {
  818. if(GetCreatorID(vehicleid)!=0)
  819. {
  820. if (personalcar == vehicleid)
  821. {
  822. SetVehicleParamsForPlayer(vehicleid,i,0,0);
  823. }
  824. else
  825. {
  826. if (VehicleSystem[vehicleid][cLock]==0)
  827. {
  828. SetVehicleParamsForPlayer(vehicleid,i,0,1);
  829. }
  830. else if (VehicleSystem[vehicleid][cLock]==1)
  831. {
  832. SetVehicleParamsForPlayer(vehicleid,i,0,0);
  833. }
  834. }
  835. }
  836. }
  837. return 1;
  838. }
  839.  
  840. public OnPlayerExitVehicle(playerid, vehicleid)
  841. { for(new c = 0; c < MAX_VEHICLES; c++)
  842. {
  843. if(GetCreatorID(vehicleid)!=0)
  844. {
  845. if (VehicleSystem[c][owned]==1)
  846. {
  847. format(TextCar,sizeof(TextCar),"{00FFEE}%s{FFFFFF}'s vehicle",VehicleSystem[GetCreatorID(vehicleid)][owner]);
  848. TextUpCar[vehicleid] = Create3DTextLabel(TextCar, 0xFFFFFFAA ,0,0,0,20.0,0);
  849. Attach3DTextLabelToVehicle(TextUpCar[vehicleid],vehicleid,0.0,0.0,0.0);
  850. SetVehicleNumberPlate(vehicleid, VehicleSystem[GetCreatorID(vehicleid)][owner]);
  851. }
  852. else if (VehicleSystem[c][owned]==0)
  853. {
  854. format(TextCar,sizeof(TextCar),"This vehicle is for sale, price: %d",VehicleSystem[GetCreatorID(c)][preis]);
  855. TextUpCar[c] = Create3DTextLabel(TextCar, 0xFFFFFFAA ,0,0,0,20.0,0);
  856. Attach3DTextLabelToVehicle(TextUpCar[c],c,0.0,0.0,0.0);
  857. SetVehicleNumberPlate(vehicleid, VehicleSystem[GetCreatorID(vehicleid)][owner]);
  858. }
  859. }
  860. }
  861. return 1;
  862. }
  863. public OnPlayerStateChange(playerid, newstate, oldstate)
  864. {
  865. if(newstate == 2)
  866. {
  867. new vehicleid = GetPlayerVehicleID(playerid);
  868. if(GetCreatorID(vehicleid)!=0)
  869. {
  870. Tunen(vehicleid);
  871. if ((strmatch(VehicleSystem[GetCreatorID(vehicleid)][owner],Spielername(playerid))))
  872. {
  873. SendClientMessage(playerid,GREEN," Bine ai revenit in masina ta. Pentru a vedea comenzile tasteaza '/carhelp'.");
  874. for(new c = 0; c < MAX_VEHICLES; c++)
  875. {
  876. Delete3DTextLabel(TextUpCar[c]);
  877. }
  878. }
  879. else if(strmatch(VehicleSystem[GetCreatorID(vehicleid)][owner],"dealercar"))
  880. {
  881. if(!IsPlayerAdmin(playerid)){
  882. TogglePlayerControllable(playerid,0);}
  883. new fffx[128];
  884. format(fffx,sizeof(fffx),"Aceasta masina este de vanzare. Pretul %d$",VehicleSystem[GetCreatorID(vehicleid)][preis]);
  885. SendClientMessage(playerid,WHITE,fffx);
  886. SendClientMessage(playerid,YELLOW,"INFO: Use /buyveh to Buy it or you exited the car use '/exitcar'.");
  887. }
  888. else
  889. {
  890. TogglePlayerControllable(playerid,0);
  891. TogglePlayerControllable(playerid,1);
  892. new ex[128];
  893. format(ex,sizeof(ex),"Aceasta e masina lui: %s ai grija sa nu te prinda",VehicleSystem[GetCreatorID(vehicleid)][owner]);
  894. SendClientMessage(playerid,YELLOW,ex);
  895. for(new c = 0; c < MAX_VEHICLES; c++)
  896. {
  897. Delete3DTextLabel(TextUpCar[c]);
  898. }
  899. }
  900. }
  901. }
  902. return 1;
  903. }
  904.  
  905. public ProxDetector(Float:radi, playerid, string[],col1,col2,col3,col4,col5)
  906. {
  907. if(IsPlayerConnected(playerid))
  908. {
  909. new Float:posx, Float:posy, Float:posz;
  910. new Float:oldposx, Float:oldposy, Float:oldposz;
  911. new Float:tempposx, Float:tempposy, Float:tempposz;
  912. GetPlayerPos(playerid, oldposx, oldposy, oldposz);
  913. //radi = 2.0; //Trigger Radius
  914. for(new i = 0; i < MAX_PLAYERS; i++)
  915. {
  916. if(IsPlayerConnected(i))
  917. {
  918.  
  919. GetPlayerPos(i, posx, posy, posz);
  920. tempposx = (oldposx -posx);
  921. tempposy = (oldposy -posy);
  922. tempposz = (oldposz -posz);
  923. //printf("DEBUG: X:%f Y:%f Z:%f",posx,posy,posz);
  924. if (((tempposx < radi/16) && (tempposx > -radi/16)) && ((tempposy < radi/16) && (tempposy > -radi/16)) && ((tempposz < radi/16) && (tempposz > -radi/16)))
  925. {
  926. SendClientMessage(i, col1, string);
  927. }
  928. else if (((tempposx < radi/8) && (tempposx > -radi/8)) && ((tempposy < radi/8) && (tempposy > -radi/8)) && ((tempposz < radi/8) && (tempposz > -radi/8)))
  929. {
  930. SendClientMessage(i, col2, string);
  931. }
  932. else if (((tempposx < radi/4) && (tempposx > -radi/4)) && ((tempposy < radi/4) && (tempposy > -radi/4)) && ((tempposz < radi/4) && (tempposz > -radi/4)))
  933. {
  934. SendClientMessage(i, col3, string);
  935. }
  936. else if (((tempposx < radi/2) && (tempposx > -radi/2)) && ((tempposy < radi/2) && (tempposy > -radi/2)) && ((tempposz < radi/2) && (tempposz > -radi/2)))
  937. {
  938. SendClientMessage(i, col4, string);
  939. }
  940. else if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
  941. {
  942. SendClientMessage(i, col5, string);
  943. }
  944. }
  945. else
  946. {
  947. SendClientMessage(i, col1, string);
  948. }
  949. }
  950. }//not connected
  951. return 1;
  952. }
  953.  
  954. public OnPlayerEnterCheckpoint(playerid)
  955. {
  956. return 1;
  957. }
  958.  
  959. public OnPlayerLeaveCheckpoint(playerid)
  960. {
  961. return 1;
  962. }
  963.  
  964. public OnPlayerEnterRaceCheckpoint(playerid)
  965. {
  966. return 1;
  967. }
  968.  
  969. public OnPlayerLeaveRaceCheckpoint(playerid)
  970. {
  971. return 1;
  972. }
  973.  
  974. public OnRconCommand(cmd[])
  975. {
  976. return 1;
  977. }
  978.  
  979. public OnObjectMoved(objectid)
  980. {
  981. return 1;
  982. }
  983.  
  984. public OnPlayerObjectMoved(playerid, objectid)
  985. {
  986. return 1;
  987. }
  988.  
  989. public OnPlayerPickUpPickup(playerid, pickupid)
  990. {
  991. return 1;
  992. }
  993.  
  994. public OnPlayerSelectedMenuRow(playerid, row)
  995. {
  996. return 1;
  997. }
  998.  
  999. public OnPlayerExitedMenu(playerid)
  1000. {
  1001. return 1;
  1002. }
  1003. stock GetCreatorID(vehicleid)
  1004. {
  1005. return IDIS[vehicleid];
  1006. }
  1007. stock strmatch(const String1[], const String2[])
  1008. {
  1009. if ((strcmp(String1, String2, true, strlen(String2)) == 0) && (strlen(String2) == strlen(String1)))
  1010. {
  1011. return true;
  1012. }
  1013. else
  1014. {
  1015. return false;
  1016. }
  1017. }
  1018. /* TUNING */
  1019. InitComponents(componentid)
  1020. {
  1021. new i;
  1022. for(i=0; i<20; i++)
  1023. {
  1024. if(spoiler[i][0]==componentid) { return 1; }
  1025. }
  1026. for(i=0; i<3; i++)
  1027. {
  1028. if(nitro[i][0]==componentid) { return 2; }
  1029. }
  1030. for(i=0; i<23; i++)
  1031. {
  1032. if(fbumper[i][0]==componentid) { return 3; }
  1033. }
  1034. for(i=0; i<22; i++)
  1035. {
  1036. if(rbumper[i][0]==componentid) { return 4; }
  1037. }
  1038. for(i=0; i<28; i++)
  1039. {
  1040. if(exhaust[i][0]==componentid) { return 5; }
  1041. }
  1042. for(i=0; i<2; i++)
  1043. {
  1044. if(bventr[i][0]==componentid) { return 6; }
  1045. }
  1046. for(i=0; i<2; i++)
  1047. {
  1048. if(bventl[i][0]==componentid) { return 7; }
  1049. }
  1050. for(i=0; i<4; i++)
  1051. {
  1052. if(bscoop[i][0]==componentid) { return 8; }
  1053. }
  1054. for(i=0; i<13; i++)
  1055. {
  1056. if(rscoop[i][0]==componentid) { return 9; }
  1057. }
  1058. for(i=0; i<21; i++)
  1059. {
  1060. if(lskirt[i][0]==componentid) { return 10; }
  1061. }
  1062. for(i=0; i<21; i++)
  1063. {
  1064. if(rskirt[i][0]==componentid) { return 11; }
  1065. }
  1066. if(hydraulics[0][0]==componentid) { return 12; }
  1067. if(base[0][0]==componentid) { return 13; }
  1068. for(i=0; i<2; i++)
  1069. {
  1070. if(rbbars[i][0]==componentid) { return 14; }
  1071. }
  1072. for(i=0; i<2; i++)
  1073. {
  1074. if(fbbars[i][0]==componentid) { return 15; }
  1075. }
  1076. for(i=0; i<17; i++)
  1077. {
  1078. if(wheels[i][0]==componentid) { return 16; }
  1079. }
  1080. for(i=0; i<2; i++)
  1081. {
  1082. if(lights[i][0]==componentid) { return 17; }
  1083. }
  1084. return 0;
  1085. }
  1086. public OnVehiclePaintjob(playerid,vehicleid, paintjobid)
  1087. {
  1088. if(GetCreatorID(vehicleid)!=0)
  1089. {
  1090. VehicleSystem[GetCreatorID(vehicleid)][paintjob] =paintjobid;
  1091. }
  1092. return 1;
  1093. }
  1094. public OnVehicleRespray(playerid,vehicleid, color1, color2)
  1095. {
  1096. if(GetCreatorID(vehicleid)!=0)
  1097. {
  1098. VehicleSystem[GetCreatorID(vehicleid)][Farbe1] =color1;
  1099. VehicleSystem[GetCreatorID(vehicleid)][Farbe2] =color2;
  1100. }
  1101. return 1;
  1102. }
  1103. public OnVehicleMod(playerid,vehicleid,componentid)
  1104. {
  1105. if(GetCreatorID(vehicleid)!=0)
  1106. {
  1107. new Varz=InitComponents(componentid);
  1108. switch (Varz)
  1109. {
  1110. case 1: { VehicleSystem[GetCreatorID(vehicleid)][mod1] = componentid;}
  1111. case 2: { VehicleSystem[GetCreatorID(vehicleid)][mod2] = componentid; }
  1112. case 3: { VehicleSystem[GetCreatorID(vehicleid)][mod3] = componentid; }
  1113. case 4: { VehicleSystem[GetCreatorID(vehicleid)][mod4] = componentid; }
  1114. case 5: { VehicleSystem[GetCreatorID(vehicleid)][mod5] = componentid; }
  1115. case 6: { VehicleSystem[GetCreatorID(vehicleid)][mod6] = componentid; }
  1116. case 7: { VehicleSystem[GetCreatorID(vehicleid)][mod7] = componentid; }
  1117. case 8: { VehicleSystem[GetCreatorID(vehicleid)][mod8] = componentid;}
  1118. case 9: { VehicleSystem[GetCreatorID(vehicleid)][mod9] = componentid; }
  1119. case 10: { VehicleSystem[GetCreatorID(vehicleid)][mod10] = componentid; }
  1120. case 11: { VehicleSystem[GetCreatorID(vehicleid)][mod11] = componentid; }
  1121. case 12: { VehicleSystem[GetCreatorID(vehicleid)][mod12] = componentid; }
  1122. case 13: { VehicleSystem[GetCreatorID(vehicleid)][mod13] = componentid; }
  1123. case 14: { VehicleSystem[GetCreatorID(vehicleid)][mod14] = componentid; }
  1124. case 15: { VehicleSystem[GetCreatorID(vehicleid)][mod15] = componentid; }
  1125. case 16: { VehicleSystem[GetCreatorID(vehicleid)][mod16] = componentid; }
  1126. case 17: { VehicleSystem[GetCreatorID(vehicleid)][mod17] = componentid; }
  1127. }
  1128. }
  1129. printf("componentid Added: %d",componentid);
  1130. return 1;
  1131. }
  1132. public Tunen(vehicleid)
  1133. {
  1134. if(GetCreatorID(vehicleid)!=0)
  1135. {
  1136. new tempmod;
  1137. tempmod = VehicleSystem[GetCreatorID(vehicleid)][mod1];
  1138. if(tempmod!=0) { AddVehicleComponent(vehicleid,tempmod); }
  1139. tempmod = VehicleSystem[GetCreatorID(vehicleid)][mod2];
  1140. if(tempmod!=0) { AddVehicleComponent(vehicleid,tempmod); }
  1141. tempmod = VehicleSystem[GetCreatorID(vehicleid)][mod3];
  1142. if(tempmod!=0) { AddVehicleComponent(vehicleid,tempmod); }
  1143. tempmod = VehicleSystem[GetCreatorID(vehicleid)][mod4];
  1144. if(tempmod!=0) { AddVehicleComponent(vehicleid,tempmod); }
  1145. tempmod = VehicleSystem[GetCreatorID(vehicleid)][mod5];
  1146. if(tempmod!=0) { AddVehicleComponent(vehicleid,tempmod); }
  1147. tempmod = VehicleSystem[GetCreatorID(vehicleid)][mod6];
  1148. if(tempmod!=0) { AddVehicleComponent(vehicleid,tempmod); }
  1149. tempmod = VehicleSystem[GetCreatorID(vehicleid)][mod7];
  1150. if(tempmod!=0) { AddVehicleComponent(vehicleid,tempmod); }
  1151. tempmod = VehicleSystem[GetCreatorID(vehicleid)][mod8];
  1152. if(tempmod!=0) { AddVehicleComponent(vehicleid,tempmod); }
  1153. tempmod = VehicleSystem[GetCreatorID(vehicleid)][mod9];
  1154. if(tempmod!=0) { AddVehicleComponent(vehicleid,tempmod); }
  1155. tempmod = VehicleSystem[GetCreatorID(vehicleid)][mod10];
  1156. if(tempmod!=0) { AddVehicleComponent(vehicleid,tempmod); }
  1157. tempmod = VehicleSystem[GetCreatorID(vehicleid)][mod11];
  1158. if(tempmod!=0) { AddVehicleComponent(vehicleid,tempmod); }
  1159. tempmod = VehicleSystem[GetCreatorID(vehicleid)][mod12];
  1160. if(tempmod!=0) { AddVehicleComponent(vehicleid,tempmod); }
  1161. tempmod = VehicleSystem[GetCreatorID(vehicleid)][mod13];
  1162. if(tempmod!=0) { AddVehicleComponent(vehicleid,tempmod); }
  1163. tempmod = VehicleSystem[GetCreatorID(vehicleid)][mod14];
  1164. if(tempmod!=0) { AddVehicleComponent(vehicleid,tempmod); }
  1165. tempmod = VehicleSystem[GetCreatorID(vehicleid)][mod15];
  1166. if(tempmod!=0) { AddVehicleComponent(vehicleid,tempmod); }
  1167. tempmod = VehicleSystem[GetCreatorID(vehicleid)][mod16];
  1168. if(tempmod!=0) { AddVehicleComponent(vehicleid,tempmod); }
  1169. tempmod = VehicleSystem[GetCreatorID(vehicleid)][mod17];
  1170. if(tempmod!=0) { AddVehicleComponent(vehicleid,tempmod); }
  1171. tempmod = VehicleSystem[GetCreatorID(vehicleid)][paintjob];
  1172. if(tempmod!=0) { ChangeVehiclePaintjob(vehicleid,tempmod); }
  1173. }
  1174. return 1;
  1175. }
  1176. //STRTOK
  1177.  
  1178. strtok(const string[], &index)
  1179. {
  1180. new length = strlen(string);
  1181. while ((index < length) && (string[index] <= ' '))
  1182. {
  1183. index++;
  1184. }
  1185.  
  1186. new offset = index;
  1187. new result[20];
  1188. while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
  1189. {
  1190. result[index - offset] = string[index];
  1191. index++;
  1192. }
  1193. result[index - offset] = EOS;
  1194. return result;
  1195. }
  1196.  
  1197. public SaveTool()
  1198. {
  1199. new count;
  1200. new saver[128];
  1201. fremove("PersonalCars/cars.cfg");
  1202. dini_Create("PersonalCars/cars.cfg");
  1203. for(new i = 0;i<MAX_BUY_V;i++)
  1204. {
  1205. if(VehicleSystem[i][model]!=0)
  1206. {
  1207. count++;
  1208. format(saver,sizeof(saver),"veh_model_%d",count);
  1209. dini_IntSet("PersonalCars/cars.cfg",saver,VehicleSystem[i][model]);
  1210. format(saver,sizeof(saver),"veh_owned_%d",count);
  1211. dini_IntSet("PersonalCars/cars.cfg",saver,VehicleSystem[i][owned]);
  1212. format(saver,sizeof(saver),"veh_cLock_%d",count);
  1213. dini_IntSet("PersonalCars/cars.cfg",saver,VehicleSystem[i][cLock]);
  1214. format(saver,sizeof(saver),"veh_x_%d",count);
  1215. dini_FloatSet("PersonalCars/cars.cfg",saver,VehicleSystem[i][x]);
  1216. format(saver,sizeof(saver),"veh_y_%d",count);
  1217. dini_FloatSet("PersonalCars/cars.cfg",saver,VehicleSystem[i][y]);
  1218. format(saver,sizeof(saver),"veh_z_%d",count);
  1219. dini_FloatSet("PersonalCars/cars.cfg",saver,VehicleSystem[i][z]);
  1220. format(saver,sizeof(saver),"veh_a_%d",count);
  1221. dini_FloatSet("PersonalCars/cars.cfg",saver,VehicleSystem[i][a]);
  1222. format(saver,sizeof(saver),"veh_Farbe1_%d",count);
  1223. dini_IntSet("PersonalCars/cars.cfg",saver,VehicleSystem[i][Farbe1]);
  1224. format(saver,sizeof(saver),"veh_Farbe2_%d",count);
  1225. dini_IntSet("PersonalCars/cars.cfg",saver,VehicleSystem[i][Farbe2]);
  1226. format(saver,sizeof(saver),"veh_owner_%d",count);
  1227. dini_Set("PersonalCars/cars.cfg",saver,VehicleSystem[i][owner]);
  1228. format(saver,sizeof(saver),"veh_preis_%d",count);
  1229. dini_IntSet("PersonalCars/cars.cfg",saver,VehicleSystem[i][preis]);
  1230. //
  1231. format(saver,sizeof(saver),"veh_mod1_%d",count);
  1232. dini_IntSet("PersonalCars/cars.cfg",saver,VehicleSystem[i][mod1]);
  1233. format(saver,sizeof(saver),"veh_mod2_%d",count);
  1234. dini_IntSet("PersonalCars/cars.cfg",saver,VehicleSystem[i][mod2]);
  1235. format(saver,sizeof(saver),"veh_mod3_%d",count);
  1236. dini_IntSet("PersonalCars/cars.cfg",saver,VehicleSystem[i][mod3]);
  1237. format(saver,sizeof(saver),"veh_mod4_%d",count);
  1238. dini_IntSet("PersonalCars/cars.cfg",saver,VehicleSystem[i][mod4]);
  1239. format(saver,sizeof(saver),"veh_mod5_%d",count);
  1240. dini_IntSet("PersonalCars/cars.cfg",saver,VehicleSystem[i][mod5]);
  1241. format(saver,sizeof(saver),"veh_mod6_%d",count);
  1242. dini_IntSet("PersonalCars/cars.cfg",saver,VehicleSystem[i][mod6]);
  1243. format(saver,sizeof(saver),"veh_mod7_%d",count);
  1244. dini_IntSet("PersonalCars/cars.cfg",saver,VehicleSystem[i][mod7]);
  1245. format(saver,sizeof(saver),"veh_mod8_%d",count);
  1246. dini_IntSet("PersonalCars/cars.cfg",saver,VehicleSystem[i][mod8]);
  1247. format(saver,sizeof(saver),"veh_mod9_%d",count);
  1248. dini_IntSet("PersonalCars/cars.cfg",saver,VehicleSystem[i][mod9]);
  1249. format(saver,sizeof(saver),"veh_mod10_%d",count);
  1250. dini_IntSet("PersonalCars/cars.cfg",saver,VehicleSystem[i][mod10]);
  1251. format(saver,sizeof(saver),"veh_mod11_%d",count);
  1252. dini_IntSet("PersonalCars/cars.cfg",saver,VehicleSystem[i][mod11]);
  1253. format(saver,sizeof(saver),"veh_mod12_%d",count);
  1254. dini_IntSet("PersonalCars/cars.cfg",saver,VehicleSystem[i][mod12]);
  1255. format(saver,sizeof(saver),"veh_mod13_%d",count);
  1256. dini_IntSet("PersonalCars/cars.cfg",saver,VehicleSystem[i][mod13]);
  1257. format(saver,sizeof(saver),"veh_mod14_%d",count);
  1258. dini_IntSet("PersonalCars/cars.cfg",saver,VehicleSystem[i][mod14]);
  1259. format(saver,sizeof(saver),"veh_mod15_%d",count);
  1260. dini_IntSet("PersonalCars/cars.cfg",saver,VehicleSystem[i][mod15]);
  1261. format(saver,sizeof(saver),"veh_mod16_%d",count);
  1262. dini_IntSet("PersonalCars/cars.cfg",saver,VehicleSystem[i][mod16]);
  1263. format(saver,sizeof(saver),"veh_mod17_%d",count);
  1264. dini_IntSet("PersonalCars/cars.cfg",saver,VehicleSystem[i][mod17]);
  1265. //
  1266. format(saver,sizeof(saver),"veh_paint_%d",count);
  1267. dini_IntSet("PersonalCars/cars.cfg",saver,VehicleSystem[i][paintjob]);
  1268. }
  1269. }
  1270. return 1;
  1271. }
  1272.  
  1273. stock Gn(playerid)
  1274. {
  1275. new pname[24];
  1276. GetPlayerName(playerid,pname,MAX_PLAYER_NAME);
  1277. return pname;
  1278. }
  1279.  
  1280. stock PFile(playerid)
  1281. {
  1282. format(file,64,"PersonalCars/Users/%s.ini",Gn(playerid));
  1283. return file;
  1284. }
  1285.  
  1286. stock Pc(playerid) return dini_Int(PFile(playerid),"CarId");
  1287.  
  1288. public Carlabel(playerid)
  1289. {
  1290. new carid = GetPlayerVehicleID(playerid);
  1291. if (VehicleSystem[carid][owned]==1)
  1292. {
  1293. Delete3DTextLabel(TextUpCar[carid]);
  1294. format(TextCar,sizeof(TextCar),"{00FFEE}%s{FFFFFF}'s vehicle",VehicleSystem[GetCreatorID(carid)][owner]);
  1295. TextUpCar[carid] = Create3DTextLabel(TextCar, 0xFFFFFFAA ,0,0,0,20.0,0);
  1296. Attach3DTextLabelToVehicle(TextUpCar[carid],carid,0.0,0.0,0.0);
  1297. }
  1298. else if(VehicleSystem[carid][owned]==0)
  1299. {
  1300. Delete3DTextLabel(TextUpCar[carid]);
  1301. format(TextCar,sizeof(TextCar),"This car is for sale, price: %d",VehicleSystem[GetCreatorID(carid)][preis]);
  1302. TextUpCar[carid] = Create3DTextLabel(TextCar, 0xFFFFFFAA ,0,0,0,20.0,0);
  1303. Attach3DTextLabelToVehicle(TextUpCar[carid],carid,0.0,0.0,0.0);
  1304. }
  1305. return 1;
  1306. }
  1307.  
  1308. stock ini_GetKey( line[] )
  1309. {
  1310. new keyRes[256];
  1311. keyRes[0] = 0;
  1312. if ( strfind( line , "=" , true ) == -1 ) return keyRes;
  1313. strmid( keyRes , line , 0 , strfind( line , "=" , true ) , sizeof( keyRes) );
  1314. return keyRes;
  1315. }
  1316.  
  1317. stock ini_GetValue( line[] )
  1318. {
  1319. new valRes[256];
  1320. valRes[0]=0;
  1321. if ( strfind( line , "=" , true ) == -1 ) return valRes;
  1322. strmid( valRes , line , strfind( line , "=" , true )+1 , strlen( line ) , sizeof( valRes ) );
  1323. return valRes;
  1324. }
  1325.  
  1326. AntiDeAMX()
  1327. {
  1328. new antideamx[][] =
  1329. {
  1330. "Unarmed (Fist)",
  1331. "Brass K"
  1332. };
  1333. #pragma unused antideamx
  1334. }
Advertisement
Add Comment
Please, Sign In to add comment