Advertisement
Guest User

CAR OWNERSHIP BY TEDDY

a guest
Aug 25th, 2014
979
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 26.64 KB | None | 0 0
  1.  
  2. /*
  3. This is a car ownership edited by TeddyYeah for SA-MP Forum and my server;
  4.  
  5. ---------------[COMMANDS]----------------
  6.  
  7. /newbuycar [carid] [color1] [color2] [Price]
  8. /sellveh [Price] - sell Your vehicles
  9. /buyveh - to Buy the Specific Vehicle
  10. /removeveh - Delete Vehicle (You must sit in the Specific Vehicle)
  11. /exits - to Exit Buy Vehicle
  12. */
  13. #include <a_samp>
  14. #include <dini>
  15. #define ORANGE 0xF67900F6
  16. #define WHITE 0xF6F6F6F6
  17. #define GREEN 0x00D400F6
  18. #define YELLOW 0xECD400F6
  19. #define MAX_BUY_V 200
  20. enum Auto
  21. {
  22. model,
  23. Float:x,Float:y,Float:z,
  24. Farbe1,Farbe2,Float:a,owner[128],preis,paintjob,mod1,mod2,mod3,mod4,mod5,mod6,mod7,mod8,mod9,mod10,
  25. mod11,mod12,mod13,mod14,mod15,mod16,mod17,
  26. }
  27. new VehicleSystem[MAX_BUY_V][Auto];
  28. new IDIS[MAX_VEHICLES];
  29. new created;
  30. /* WICHTIG FUERS SAVEN */
  31. forward SaveTool();
  32. /* TUNING PARTS */
  33. new spoiler[20][0] = {
  34. {1000},
  35. {1001},
  36. {1002},
  37. {1003},
  38. {1014},
  39. {1015},
  40. {1016},
  41. {1023},
  42. {1058},
  43. {1060},
  44. {1049},
  45. {1050},
  46. {1138},
  47. {1139},
  48. {1146},
  49. {1147},
  50. {1158},
  51. {1162},
  52. {1163},
  53. {1164}
  54. };
  55.  
  56. new nitro[3][0] = {
  57. {1008},
  58. {1009},
  59. {1010}
  60. };
  61.  
  62. new fbumper[23][0] = {
  63. {1117},
  64. {1152},
  65. {1153},
  66. {1155},
  67. {1157},
  68. {1160},
  69. {1165},
  70. {1167},
  71. {1169},
  72. {1170},
  73. {1171},
  74. {1172},
  75. {1173},
  76. {1174},
  77. {1175},
  78. {1179},
  79. {1181},
  80. {1182},
  81. {1185},
  82. {1188},
  83. {1189},
  84. {1192},
  85. {1193}
  86. };
  87.  
  88. new rbumper[22][0] = {
  89. {1140},
  90. {1141},
  91. {1148},
  92. {1149},
  93. {1150},
  94. {1151},
  95. {1154},
  96. {1156},
  97. {1159},
  98. {1161},
  99. {1166},
  100. {1168},
  101. {1176},
  102. {1177},
  103. {1178},
  104. {1180},
  105. {1183},
  106. {1184},
  107. {1186},
  108. {1187},
  109. {1190},
  110. {1191}
  111. };
  112.  
  113. new exhaust[28][0] = {
  114. {1018},
  115. {1019},
  116. {1020},
  117. {1021},
  118. {1022},
  119. {1028},
  120. {1029},
  121. {1037},
  122. {1043},
  123. {1044},
  124. {1045},
  125. {1046},
  126. {1059},
  127. {1064},
  128. {1065},
  129. {1066},
  130. {1089},
  131. {1092},
  132. {1104},
  133. {1105},
  134. {1113},
  135. {1114},
  136. {1126},
  137. {1127},
  138. {1129},
  139. {1132},
  140. {1135},
  141. {1136}
  142. };
  143.  
  144. new bventr[2][0] = {
  145. {1042},
  146. {1044}
  147. };
  148.  
  149. new bventl[2][0] = {
  150. {1043},
  151. {1045}
  152. };
  153.  
  154. new bscoop[4][0] = {
  155. {1004},
  156. {1005},
  157. {1011},
  158. {1012}
  159. };
  160.  
  161. new rscoop[13][0] = {
  162. {1006},
  163. {1032},
  164. {1033},
  165. {1035},
  166. {1038},
  167. {1053},
  168. {1054},
  169. {1055},
  170. {1061},
  171. {1067},
  172. {1068},
  173. {1088},
  174. {1091}
  175. };
  176.  
  177. new lskirt[21][0] = {
  178. {1007},
  179. {1026},
  180. {1031},
  181. {1036},
  182. {1039},
  183. {1042},
  184. {1047},
  185. {1048},
  186. {1056},
  187. {1057},
  188. {1069},
  189. {1070},
  190. {1090},
  191. {1093},
  192. {1106},
  193. {1108},
  194. {1118},
  195. {1119},
  196. {1133},
  197. {1122},
  198. {1134}
  199. };
  200.  
  201. new rskirt[21][0] = {
  202. {1017},
  203. {1027},
  204. {1030},
  205. {1040},
  206. {1041},
  207. {1051},
  208. {1052},
  209. {1062},
  210. {1063},
  211. {1071},
  212. {1072},
  213. {1094},
  214. {1095},
  215. {1099},
  216. {1101},
  217. {1102},
  218. {1107},
  219. {1120},
  220. {1121},
  221. {1124},
  222. {1137}
  223. };
  224.  
  225. new hydraulics[1][0] = {
  226. {1087}
  227. };
  228.  
  229. new base[1][0] = {
  230. {1086}
  231. };
  232.  
  233. new rbbars[2][0] = {
  234. {1109},
  235. {1110}
  236. };
  237.  
  238. new fbbars[2][0] = {
  239. {1115},
  240. {1116}
  241. };
  242.  
  243. new wheels[17][0] = {
  244. {1025},
  245. {1073},
  246. {1074},
  247. {1075},
  248. {1076},
  249. {1077},
  250. {1078},
  251. {1079},
  252. {1080},
  253. {1081},
  254. {1082},
  255. {1083},
  256. {1084},
  257. {1085},
  258. {1096},
  259. {1097},
  260. {1098}
  261. };
  262.  
  263. new lights[2][0] = {
  264. {1013},
  265. {1024}
  266. };
  267. forward Tunen(vehicleid);
  268. /**/
  269. #define FILTERSCRIPT
  270.  
  271. #if defined FILTERSCRIPT
  272. public OnFilterScriptInit()
  273. {
  274. print("\n--------------------------------------");
  275. print(" -= Teddy vehicle ownership =- ");
  276. print("--------------------------------------\n");
  277. print("Loading...\n");
  278. if(!dini_Exists("personalcars.cfg")){
  279. dini_Create("personalcars.cfg");}
  280. new loader[128];
  281. for(new i = 0;i<MAX_BUY_V;i++)
  282. {
  283. format(loader,sizeof(loader),"veh_model_%d",i);
  284. VehicleSystem[i][model] = dini_Int("personalcars.cfg",loader);
  285. format(loader,sizeof(loader),"veh_x_%d",i);
  286. VehicleSystem[i][x] = dini_Float("personalcars.cfg",loader);
  287. format(loader,sizeof(loader),"veh_y_%d",i);
  288. VehicleSystem[i][y] = dini_Float("personalcars.cfg",loader);
  289. format(loader,sizeof(loader),"veh_z_%d",i);
  290. VehicleSystem[i][z] = dini_Float("personalcars.cfg",loader);
  291. format(loader,sizeof(loader),"veh_Farbe1_%d",i);
  292. VehicleSystem[i][Farbe1] = dini_Int("personalcars.cfg",loader);
  293. format(loader,sizeof(loader),"veh_Farbe2_%d",i);
  294. VehicleSystem[i][Farbe2] = dini_Int("personalcars.cfg",loader);
  295. format(loader,sizeof(loader),"veh_a_%d",i);
  296. VehicleSystem[i][a] = dini_Float("personalcars.cfg",loader);
  297. format(loader,sizeof(loader),"veh_owner_%d",i);
  298. strmid(VehicleSystem[i][owner],dini_Get("personalcars.cfg",loader),0,128,128);
  299. format(loader,sizeof(loader),"veh_preis_%d",i);
  300. VehicleSystem[i][preis] = dini_Int("personalcars.cfg",loader);
  301. //
  302. format(loader,sizeof(loader),"veh_mod1_%d",i);
  303. VehicleSystem[i][mod1] = dini_Int("personalcars.cfg",loader);
  304. format(loader,sizeof(loader),"veh_mod2_%d",i);
  305. VehicleSystem[i][mod2] = dini_Int("personalcars.cfg",loader);
  306. format(loader,sizeof(loader),"veh_mod3_%d",i);
  307. VehicleSystem[i][mod3] = dini_Int("personalcars.cfg",loader);
  308. format(loader,sizeof(loader),"veh_mod4_%d",i);
  309. VehicleSystem[i][mod4] = dini_Int("personalcars.cfg",loader);
  310. format(loader,sizeof(loader),"veh_mod5_%d",i);
  311. VehicleSystem[i][mod5] = dini_Int("personalcars.cfg",loader);
  312. format(loader,sizeof(loader),"veh_mod6_%d",i);
  313. VehicleSystem[i][mod6] = dini_Int("personalcars.cfg",loader);
  314. format(loader,sizeof(loader),"veh_mod7_%d",i);
  315. VehicleSystem[i][mod7] = dini_Int("personalcars.cfg",loader);
  316. format(loader,sizeof(loader),"veh_mod8_%d",i);
  317. VehicleSystem[i][mod8] = dini_Int("personalcars.cfg",loader);
  318. format(loader,sizeof(loader),"veh_mod9_%d",i);
  319. VehicleSystem[i][mod9] = dini_Int("personalcars.cfg",loader);
  320. format(loader,sizeof(loader),"veh_mod10_%d",i);
  321. VehicleSystem[i][mod10] = dini_Int("personalcars.cfg",loader);
  322. format(loader,sizeof(loader),"veh_mod11_%d",i);
  323. VehicleSystem[i][mod11] = dini_Int("personalcars.cfg",loader);
  324. format(loader,sizeof(loader),"veh_mod12_%d",i);
  325. VehicleSystem[i][mod12] = dini_Int("personalcars.cfg",loader);
  326. format(loader,sizeof(loader),"veh_mod13_%d",i);
  327. VehicleSystem[i][mod13] = dini_Int("personalcars.cfg",loader);
  328. format(loader,sizeof(loader),"veh_mod14_%d",i);
  329. VehicleSystem[i][mod14] = dini_Int("personalcars.cfg",loader);
  330. format(loader,sizeof(loader),"veh_mod15_%d",i);
  331. VehicleSystem[i][mod15] = dini_Int("personalcars.cfg",loader);
  332. format(loader,sizeof(loader),"veh_mod16_%d",i);
  333. VehicleSystem[i][mod16] = dini_Int("personalcars.cfg",loader);
  334. format(loader,sizeof(loader),"veh_mod17_%d",i);
  335. VehicleSystem[i][mod17] = dini_Int("personalcars.cfg",loader);
  336. //
  337. format(loader,sizeof(loader),"veh_paint_%d",i);
  338. VehicleSystem[i][paintjob] = dini_Int("personalcars.cfg",loader);
  339. //
  340. if(VehicleSystem[i][model]!=0){
  341. created++;
  342. 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);
  343. Tunen(car);
  344. IDIS[car] = created;
  345. }
  346. }
  347. return 1;
  348. }
  349.  
  350. public OnFilterScriptExit()
  351. {
  352. return 1;
  353. }
  354.  
  355. #else
  356.  
  357. main()
  358. {
  359. }
  360.  
  361. #endif
  362.  
  363. public OnGameModeInit()
  364. {
  365. return 1;
  366. }
  367.  
  368. public OnGameModeExit()
  369. {
  370. return 1;
  371. }
  372.  
  373. public OnPlayerRequestClass(playerid, classid)
  374. {
  375. return 1;
  376. }
  377.  
  378. public OnPlayerRequestSpawn(playerid)
  379. {
  380. return 1;
  381. }
  382.  
  383. public OnPlayerConnect(playerid)
  384. {
  385. return 1;
  386. }
  387.  
  388. public OnPlayerDisconnect(playerid, reason)
  389. {
  390. return 1;
  391. }
  392.  
  393. public OnPlayerSpawn(playerid)
  394. {
  395. return 1;
  396. }
  397.  
  398. public OnPlayerDeath(playerid, killerid, reason)
  399. {
  400. return 1;
  401. }
  402.  
  403. public OnVehicleSpawn(vehicleid)
  404. {
  405. return 1;
  406. }
  407.  
  408. public OnVehicleDeath(vehicleid, killerid)
  409. {
  410. if(GetCreatorID(vehicleid)!=0)
  411. {
  412. new create = GetCreatorID(vehicleid);
  413. DestroyVehicle(vehicleid);
  414. 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);
  415. Tunen(CAR);
  416. }
  417. return 1;
  418. }
  419.  
  420. public OnPlayerText(playerid, text[])
  421. {
  422. return 1;
  423. }
  424.  
  425. public OnPlayerCommandText(playerid, cmdtext[])
  426. {
  427. new cmd[128],tmp[128],idx;
  428. cmd = strtok(cmdtext,idx);
  429. new vehicleid = GetPlayerVehicleID(playerid);
  430. if (strcmp("/removeveh", cmdtext, true, 10) == 0)
  431. {
  432. if(!IsPlayerInAnyVehicle(playerid)){return 1;}
  433. if(!IsPlayerAdmin(playerid)){return 1;}
  434. VehicleSystem[GetCreatorID(vehicleid)][model]=0;
  435. VehicleSystem[GetCreatorID(vehicleid)][x]=(0.0);
  436. VehicleSystem[GetCreatorID(vehicleid)][y]=(0.0);
  437. VehicleSystem[GetCreatorID(vehicleid)][z]=(0.0);
  438. VehicleSystem[GetCreatorID(vehicleid)][Farbe1]=0;
  439. VehicleSystem[GetCreatorID(vehicleid)][Farbe2]=0;
  440. VehicleSystem[GetCreatorID(vehicleid)][preis]=0;
  441. VehicleSystem[GetCreatorID(vehicleid)][mod1]=0;
  442. VehicleSystem[GetCreatorID(vehicleid)][mod2]=0;
  443. VehicleSystem[GetCreatorID(vehicleid)][mod3]=0;
  444. VehicleSystem[GetCreatorID(vehicleid)][mod4]=0;
  445. VehicleSystem[GetCreatorID(vehicleid)][mod5]=0;
  446. VehicleSystem[GetCreatorID(vehicleid)][mod6]=0;
  447. VehicleSystem[GetCreatorID(vehicleid)][mod7]=0;
  448. VehicleSystem[GetCreatorID(vehicleid)][mod8]=0;
  449. VehicleSystem[GetCreatorID(vehicleid)][mod9]=0;
  450. VehicleSystem[GetCreatorID(vehicleid)][mod10]=0;
  451. VehicleSystem[GetCreatorID(vehicleid)][mod11]=0;
  452. VehicleSystem[GetCreatorID(vehicleid)][mod12]=0;
  453. VehicleSystem[GetCreatorID(vehicleid)][mod13]=0;
  454. VehicleSystem[GetCreatorID(vehicleid)][mod14]=0;
  455. VehicleSystem[GetCreatorID(vehicleid)][mod15]=0;
  456. VehicleSystem[GetCreatorID(vehicleid)][mod16]=0;
  457. VehicleSystem[GetCreatorID(vehicleid)][mod17]=0;
  458. VehicleSystem[GetCreatorID(vehicleid)][paintjob]=0;
  459. strmid(VehicleSystem[GetCreatorID(vehicleid)][owner],"",0,128,128);
  460. IDIS[vehicleid]=0;
  461. DestroyVehicle(vehicleid);
  462. SaveTool();
  463. return 1;
  464. }
  465. if (strcmp("/newbuycar", cmdtext, true, 10) == 0)
  466. {
  467. if(!IsPlayerAdmin(playerid)){return 1;}
  468. tmp = strtok(cmdtext,idx);
  469. if(!strlen(tmp)){return 1;}
  470. new vehiclemodel = strval(tmp);
  471. tmp = strtok(cmdtext,idx);
  472. if(!strlen(tmp)){return 1;}
  473. new color1 = strval(tmp);
  474. tmp = strtok(cmdtext,idx);
  475. if(!strlen(tmp)){return 1;}
  476. new color2 = strval(tmp);
  477. tmp = strtok(cmdtext,idx);
  478. if(!strlen(tmp)){return 1;}
  479. new price = strval(tmp);
  480. new Float:px,Float:py,Float:pz,Float:pa;
  481. GetPlayerPos(playerid,px,py,pz);
  482. GetPlayerFacingAngle(playerid,pa);
  483. created++;
  484. VehicleSystem[created][model]=vehiclemodel;
  485. VehicleSystem[created][x]=px;
  486. VehicleSystem[created][y]=py;
  487. VehicleSystem[created][z]=pz;
  488. VehicleSystem[created][a]=pa;
  489. VehicleSystem[created][Farbe1]=color1;
  490. VehicleSystem[created][Farbe2]=color2;
  491. VehicleSystem[created][preis]=price;
  492. strmid(VehicleSystem[created][owner],"dealercar",0,128,128);
  493. 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);
  494. IDIS[ccar]=created;
  495. SaveTool();
  496. return 1;
  497. }
  498. if (strcmp("/buyveh", cmdtext, true, 10) == 0)
  499. {
  500. if(!IsPlayerInAnyVehicle(playerid)){return 1;}
  501. if(GetCreatorID(vehicleid)!=0)
  502. {
  503. if (strmatch(VehicleSystem[GetCreatorID(vehicleid)][owner],Spielername(playerid))){SendClientMessage(playerid,WHITE," Bafta!");return 1;}
  504. if (strmatch(VehicleSystem[GetCreatorID(vehicleid)][owner],"dealercar"))
  505. {
  506. if(VehicleSystem[GetCreatorID(vehicleid)][preis] < GetPlayerMoney(playerid))
  507. {
  508. strmid(VehicleSystem[GetCreatorID(vehicleid)][owner],Spielername(playerid),0,128,128);
  509. GivePlayerMoney(playerid,-VehicleSystem[GetCreatorID(vehicleid)][preis]);
  510. SendClientMessage(playerid,YELLOW," Congrats for your new car!");
  511. TogglePlayerControllable(playerid,1);
  512. SaveTool();
  513. }
  514. else
  515. {
  516. SendClientMessage(playerid,WHITE,"You need more money!");
  517. }
  518. }
  519. else
  520. {
  521. SendClientMessage(playerid,WHITE,"This car is not for sale!");
  522. }
  523. }
  524. else
  525. {
  526. SendClientMessage(playerid,WHITE,"This car is not for sale!");
  527. }
  528. return 1;
  529. }
  530. if (strcmp("/sellveh", cmdtext, true, 10) == 0)
  531. {
  532. if(!IsPlayerInAnyVehicle(playerid)){return 1;}
  533. if(GetCreatorID(vehicleid)!=0)
  534. {
  535. if (strmatch(VehicleSystem[GetCreatorID(vehicleid)][owner],Spielername(playerid)))
  536. {
  537. tmp = strtok(cmdtext,idx);
  538. if(!strlen(tmp)){SendClientMessage(playerid,WHITE,"INFO: /sellveh [Price]");return 1;}
  539. new Float:vx,Float:vy,Float:vz,Float:va;
  540. GetVehiclePos(GetPlayerVehicleID(playerid),vx,vy,vz);
  541. GetVehicleZAngle(GetPlayerVehicleID(playerid),va);
  542. VehicleSystem[GetCreatorID(vehicleid)][x]=vx;
  543. VehicleSystem[GetCreatorID(vehicleid)][y]=vy;
  544. VehicleSystem[GetCreatorID(vehicleid)][z]=vz;
  545. VehicleSystem[GetCreatorID(vehicleid)][a]=va;
  546. VehicleSystem[GetCreatorID(vehicleid)][preis]=strval(tmp);
  547. strmid(VehicleSystem[GetCreatorID(vehicleid)][owner],"dealercar",0,128,128);
  548. SendClientMessage(playerid,WHITE,"You can buy this car!");
  549. GivePlayerMoney(playerid,strval(tmp));
  550. SaveTool();
  551. }
  552. else
  553. {
  554. SendClientMessage(playerid,WHITE,"This isn t your car!");
  555. }
  556. }
  557. return 1;
  558. }
  559. if (strcmp("/park", cmdtext, true, 10) == 0)
  560. {
  561. if(!IsPlayerInAnyVehicle(playerid)){return 1;}
  562. if(GetCreatorID(vehicleid)!=0)
  563. {
  564. if (strmatch(VehicleSystem[GetCreatorID(vehicleid)][owner],Spielername(playerid)))
  565. {
  566. new Float:vx,Float:vy,Float:vz,Float:va;
  567. GetVehiclePos(GetPlayerVehicleID(playerid),vx,vy,vz);
  568. GetVehicleZAngle(GetPlayerVehicleID(playerid),va);
  569. VehicleSystem[GetCreatorID(vehicleid)][x]=vx;
  570. VehicleSystem[GetCreatorID(vehicleid)][y]=vy;
  571. VehicleSystem[GetCreatorID(vehicleid)][z]=vz;
  572. VehicleSystem[GetCreatorID(vehicleid)][a]=va;
  573. SendClientMessage(playerid,WHITE,"Your car was park here!");
  574. SendClientMessage(playerid,YELLOW,"You car will be here always , just if you dont change position!");
  575. SaveTool();
  576. }
  577. }
  578. return 1;
  579. }
  580. if (strcmp("/apark", cmdtext, true, 10) == 0)
  581. {
  582. if(!IsPlayerInAnyVehicle(playerid)){return 1;}
  583. if(GetCreatorID(vehicleid)!=0)
  584. {
  585. new Float:vx,Float:vy,Float:vz,Float:va;
  586. GetVehiclePos(GetPlayerVehicleID(playerid),vx,vy,vz);
  587. GetVehicleZAngle(GetPlayerVehicleID(playerid),va);
  588. VehicleSystem[GetCreatorID(vehicleid)][x]=vx;
  589. VehicleSystem[GetCreatorID(vehicleid)][y]=vy;
  590. VehicleSystem[GetCreatorID(vehicleid)][z]=vz;
  591. VehicleSystem[GetCreatorID(vehicleid)][a]=va;
  592. SendClientMessage(playerid,WHITE,"You have succesfully parked your car!");
  593. SaveTool();
  594. }
  595. else
  596. {
  597. SendClientMessage(playerid,WHITE," You cant park this car!");
  598. }
  599. return 1;
  600. }
  601. if (strcmp("/exits", cmdtext, true, 10) == 0)
  602. {
  603. if(!IsPlayerInAnyVehicle(playerid)){return 1;}
  604. if(GetCreatorID(vehicleid)!=0)
  605. {
  606. TogglePlayerControllable(playerid, 1);
  607. RemovePlayerFromVehicle(playerid);
  608. }
  609. return 1;
  610. }
  611. return 0;
  612. }
  613. stock Spielername(playerid)
  614. {
  615. new spname[128];
  616. GetPlayerName(playerid,spname,sizeof(spname));
  617. return spname;
  618. }
  619. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  620. {
  621.  
  622. return 1;
  623. }
  624.  
  625. public OnPlayerExitVehicle(playerid, vehicleid)
  626. {
  627. return 1;
  628. }
  629.  
  630. public OnPlayerStateChange(playerid, newstate, oldstate)
  631. {
  632. if(newstate == 2)
  633. {
  634. new vehicleid = GetPlayerVehicleID(playerid);
  635. if(GetCreatorID(vehicleid)!=0)
  636. {
  637. Tunen(vehicleid);
  638. if (strmatch(VehicleSystem[GetCreatorID(vehicleid)][owner],Spielername(playerid)))
  639. {
  640. SendClientMessage(playerid,GREEN," Welcome in your car from FORUM SA-MP:");
  641. }
  642. else if(strmatch(VehicleSystem[GetCreatorID(vehicleid)][owner],"dealercar"))
  643. {
  644. if(!IsPlayerAdmin(playerid)){
  645. TogglePlayerControllable(playerid,0);}
  646. new fffx[128];
  647. format(fffx,sizeof(fffx),"This car can be buyed. Price %d$",VehicleSystem[GetCreatorID(vehicleid)][preis]);
  648. SendClientMessage(playerid,WHITE,fffx);
  649. SendClientMessage(playerid,YELLOW,"Use /buyveh to Buy it.");
  650. }
  651. else
  652. {
  653. TogglePlayerControllable(playerid,0);
  654. TogglePlayerControllable(playerid,1);
  655. new ex[128];
  656. format(ex,sizeof(ex),"This is the car of : %s",VehicleSystem[GetCreatorID(vehicleid)][owner]);
  657. SendClientMessage(playerid,YELLOW,ex);
  658. RemovePlayerFromVehicle(playerid);
  659. }
  660. }
  661. }
  662. return 1;
  663. }
  664.  
  665. public OnPlayerEnterCheckpoint(playerid)
  666. {
  667. return 1;
  668. }
  669.  
  670. public OnPlayerLeaveCheckpoint(playerid)
  671. {
  672. return 1;
  673. }
  674.  
  675. public OnPlayerEnterRaceCheckpoint(playerid)
  676. {
  677. return 1;
  678. }
  679.  
  680. public OnPlayerLeaveRaceCheckpoint(playerid)
  681. {
  682. return 1;
  683. }
  684.  
  685. public OnRconCommand(cmd[])
  686. {
  687. return 1;
  688. }
  689.  
  690. public OnObjectMoved(objectid)
  691. {
  692. return 1;
  693. }
  694.  
  695. public OnPlayerObjectMoved(playerid, objectid)
  696. {
  697. return 1;
  698. }
  699.  
  700. public OnPlayerPickUpPickup(playerid, pickupid)
  701. {
  702. return 1;
  703. }
  704.  
  705. public OnPlayerSelectedMenuRow(playerid, row)
  706. {
  707. return 1;
  708. }
  709.  
  710. public OnPlayerExitedMenu(playerid)
  711. {
  712. return 1;
  713. }
  714. stock GetCreatorID(vehicleid)
  715. {
  716. return IDIS[vehicleid];
  717. }
  718. stock strmatch(const String1[], const String2[])
  719. {
  720. if ((strcmp(String1, String2, true, strlen(String2)) == 0) && (strlen(String2) == strlen(String1)))
  721. {
  722. return true;
  723. }
  724. else
  725. {
  726. return false;
  727. }
  728. }
  729. /* TUNING */
  730. InitComponents(componentid)
  731. {
  732. new i;
  733. for(i=0; i<20; i++)
  734. {
  735. if(spoiler[i][0]==componentid) { return 1; }
  736. }
  737. for(i=0; i<3; i++)
  738. {
  739. if(nitro[i][0]==componentid) { return 2; }
  740. }
  741. for(i=0; i<23; i++)
  742. {
  743. if(fbumper[i][0]==componentid) { return 3; }
  744. }
  745. for(i=0; i<22; i++)
  746. {
  747. if(rbumper[i][0]==componentid) { return 4; }
  748. }
  749. for(i=0; i<28; i++)
  750. {
  751. if(exhaust[i][0]==componentid) { return 5; }
  752. }
  753. for(i=0; i<2; i++)
  754. {
  755. if(bventr[i][0]==componentid) { return 6; }
  756. }
  757. for(i=0; i<2; i++)
  758. {
  759. if(bventl[i][0]==componentid) { return 7; }
  760. }
  761. for(i=0; i<4; i++)
  762. {
  763. if(bscoop[i][0]==componentid) { return 8; }
  764. }
  765. for(i=0; i<13; i++)
  766. {
  767. if(rscoop[i][0]==componentid) { return 9; }
  768. }
  769. for(i=0; i<21; i++)
  770. {
  771. if(lskirt[i][0]==componentid) { return 10; }
  772. }
  773. for(i=0; i<21; i++)
  774. {
  775. if(rskirt[i][0]==componentid) { return 11; }
  776. }
  777. if(hydraulics[0][0]==componentid) { return 12; }
  778. if(base[0][0]==componentid) { return 13; }
  779. for(i=0; i<2; i++)
  780. {
  781. if(rbbars[i][0]==componentid) { return 14; }
  782. }
  783. for(i=0; i<2; i++)
  784. {
  785. if(fbbars[i][0]==componentid) { return 15; }
  786. }
  787. for(i=0; i<17; i++)
  788. {
  789. if(wheels[i][0]==componentid) { return 16; }
  790. }
  791. for(i=0; i<2; i++)
  792. {
  793. if(lights[i][0]==componentid) { return 17; }
  794. }
  795. return 0;
  796. }
  797. public OnVehiclePaintjob(playerid,vehicleid, paintjobid)
  798. {
  799. if(GetCreatorID(vehicleid)!=0)
  800. {
  801. VehicleSystem[GetCreatorID(vehicleid)][paintjob] =paintjobid;
  802. }
  803. return 1;
  804. }
  805. public OnVehicleRespray(playerid,vehicleid, color1, color2)
  806. {
  807. if(GetCreatorID(vehicleid)!=0)
  808. {
  809. VehicleSystem[GetCreatorID(vehicleid)][Farbe1] =color1;
  810. VehicleSystem[GetCreatorID(vehicleid)][Farbe2] =color2;
  811. }
  812. return 1;
  813. }
  814. public OnVehicleMod(playerid,vehicleid,componentid)
  815. {
  816. if(GetCreatorID(vehicleid)!=0)
  817. {
  818. new Varz=InitComponents(componentid);
  819. switch (Varz)
  820. {
  821. case 1: { VehicleSystem[GetCreatorID(vehicleid)][mod1] = componentid;}
  822. case 2: { VehicleSystem[GetCreatorID(vehicleid)][mod2] = componentid; }
  823. case 3: { VehicleSystem[GetCreatorID(vehicleid)][mod3] = componentid; }
  824. case 4: { VehicleSystem[GetCreatorID(vehicleid)][mod4] = componentid; }
  825. case 5: { VehicleSystem[GetCreatorID(vehicleid)][mod5] = componentid; }
  826. case 6: { VehicleSystem[GetCreatorID(vehicleid)][mod6] = componentid; }
  827. case 7: { VehicleSystem[GetCreatorID(vehicleid)][mod7] = componentid; }
  828. case 8: { VehicleSystem[GetCreatorID(vehicleid)][mod8] = componentid;}
  829. case 9: { VehicleSystem[GetCreatorID(vehicleid)][mod9] = componentid; }
  830. case 10: { VehicleSystem[GetCreatorID(vehicleid)][mod10] = componentid; }
  831. case 11: { VehicleSystem[GetCreatorID(vehicleid)][mod11] = componentid; }
  832. case 12: { VehicleSystem[GetCreatorID(vehicleid)][mod12] = componentid; }
  833. case 13: { VehicleSystem[GetCreatorID(vehicleid)][mod13] = componentid; }
  834. case 14: { VehicleSystem[GetCreatorID(vehicleid)][mod14] = componentid; }
  835. case 15: { VehicleSystem[GetCreatorID(vehicleid)][mod15] = componentid; }
  836. case 16: { VehicleSystem[GetCreatorID(vehicleid)][mod16] = componentid; }
  837. case 17: { VehicleSystem[GetCreatorID(vehicleid)][mod17] = componentid; }
  838. }
  839. }
  840. printf("componentid Added: %d",componentid);
  841. return 1;
  842. }
  843. public Tunen(vehicleid)
  844. {
  845. if(GetCreatorID(vehicleid)!=0)
  846. {
  847. new tempmod;
  848. tempmod = VehicleSystem[GetCreatorID(vehicleid)][mod1];
  849. if(tempmod!=0) { AddVehicleComponent(vehicleid,tempmod); }
  850. tempmod = VehicleSystem[GetCreatorID(vehicleid)][mod2];
  851. if(tempmod!=0) { AddVehicleComponent(vehicleid,tempmod); }
  852. tempmod = VehicleSystem[GetCreatorID(vehicleid)][mod3];
  853. if(tempmod!=0) { AddVehicleComponent(vehicleid,tempmod); }
  854. tempmod = VehicleSystem[GetCreatorID(vehicleid)][mod4];
  855. if(tempmod!=0) { AddVehicleComponent(vehicleid,tempmod); }
  856. tempmod = VehicleSystem[GetCreatorID(vehicleid)][mod5];
  857. if(tempmod!=0) { AddVehicleComponent(vehicleid,tempmod); }
  858. tempmod = VehicleSystem[GetCreatorID(vehicleid)][mod6];
  859. if(tempmod!=0) { AddVehicleComponent(vehicleid,tempmod); }
  860. tempmod = VehicleSystem[GetCreatorID(vehicleid)][mod7];
  861. if(tempmod!=0) { AddVehicleComponent(vehicleid,tempmod); }
  862. tempmod = VehicleSystem[GetCreatorID(vehicleid)][mod8];
  863. if(tempmod!=0) { AddVehicleComponent(vehicleid,tempmod); }
  864. tempmod = VehicleSystem[GetCreatorID(vehicleid)][mod9];
  865. if(tempmod!=0) { AddVehicleComponent(vehicleid,tempmod); }
  866. tempmod = VehicleSystem[GetCreatorID(vehicleid)][mod10];
  867. if(tempmod!=0) { AddVehicleComponent(vehicleid,tempmod); }
  868. tempmod = VehicleSystem[GetCreatorID(vehicleid)][mod11];
  869. if(tempmod!=0) { AddVehicleComponent(vehicleid,tempmod); }
  870. tempmod = VehicleSystem[GetCreatorID(vehicleid)][mod12];
  871. if(tempmod!=0) { AddVehicleComponent(vehicleid,tempmod); }
  872. tempmod = VehicleSystem[GetCreatorID(vehicleid)][mod13];
  873. if(tempmod!=0) { AddVehicleComponent(vehicleid,tempmod); }
  874. tempmod = VehicleSystem[GetCreatorID(vehicleid)][mod14];
  875. if(tempmod!=0) { AddVehicleComponent(vehicleid,tempmod); }
  876. tempmod = VehicleSystem[GetCreatorID(vehicleid)][mod15];
  877. if(tempmod!=0) { AddVehicleComponent(vehicleid,tempmod); }
  878. tempmod = VehicleSystem[GetCreatorID(vehicleid)][mod16];
  879. if(tempmod!=0) { AddVehicleComponent(vehicleid,tempmod); }
  880. tempmod = VehicleSystem[GetCreatorID(vehicleid)][mod17];
  881. if(tempmod!=0) { AddVehicleComponent(vehicleid,tempmod); }
  882. tempmod = VehicleSystem[GetCreatorID(vehicleid)][paintjob];
  883. if(tempmod!=0) { ChangeVehiclePaintjob(vehicleid,tempmod); }
  884. }
  885. return 1;
  886. }
  887. /* STRTOK
  888.  
  889. strtok(const string[], &index)
  890. {
  891. new length = strlen(string);
  892. while ((index < length) && (string[index] <= ' '))
  893. {
  894. index++;
  895. }
  896.  
  897. new offset = index;
  898. new result[20];
  899. while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
  900. {
  901. result[index - offset] = string[index];
  902. index++;
  903. }
  904. result[index - offset] = EOS;
  905. return result;
  906. }
  907. */
  908. public SaveTool()
  909. {
  910. new count;
  911. new saver[128];
  912. fremove("personalcars.cfg");
  913. dini_Create("personalcars.cfg");
  914. for(new i = 0;i<MAX_BUY_V;i++)
  915. {
  916. if(VehicleSystem[i][model]!=0)
  917. {
  918. count++;
  919. format(saver,sizeof(saver),"veh_model_%d",count);
  920. dini_IntSet("personalcars.cfg",saver,VehicleSystem[i][model]);
  921. format(saver,sizeof(saver),"veh_x_%d",count);
  922. dini_FloatSet("personalcars.cfg",saver,VehicleSystem[i][x]);
  923. format(saver,sizeof(saver),"veh_y_%d",count);
  924. dini_FloatSet("personalcars.cfg",saver,VehicleSystem[i][y]);
  925. format(saver,sizeof(saver),"veh_z_%d",count);
  926. dini_FloatSet("personalcars.cfg",saver,VehicleSystem[i][z]);
  927. format(saver,sizeof(saver),"veh_a_%d",count);
  928. dini_FloatSet("personalcars.cfg",saver,VehicleSystem[i][a]);
  929. format(saver,sizeof(saver),"veh_Farbe1_%d",count);
  930. dini_IntSet("personalcars.cfg",saver,VehicleSystem[i][Farbe1]);
  931. format(saver,sizeof(saver),"veh_Farbe2_%d",count);
  932. dini_IntSet("personalcars.cfg",saver,VehicleSystem[i][Farbe2]);
  933. format(saver,sizeof(saver),"veh_owner_%d",count);
  934. dini_Set("personalcars.cfg",saver,VehicleSystem[i][owner]);
  935. format(saver,sizeof(saver),"veh_preis_%d",count);
  936. dini_IntSet("personalcars.cfg",saver,VehicleSystem[i][preis]);
  937. //
  938. format(saver,sizeof(saver),"veh_mod1_%d",count);
  939. dini_IntSet("personalcars.cfg",saver,VehicleSystem[i][mod1]);
  940. format(saver,sizeof(saver),"veh_mod2_%d",count);
  941. dini_IntSet("personalcars.cfg",saver,VehicleSystem[i][mod2]);
  942. format(saver,sizeof(saver),"veh_mod3_%d",count);
  943. dini_IntSet("personalcars.cfg",saver,VehicleSystem[i][mod3]);
  944. format(saver,sizeof(saver),"veh_mod4_%d",count);
  945. dini_IntSet("personalcars.cfg",saver,VehicleSystem[i][mod4]);
  946. format(saver,sizeof(saver),"veh_mod5_%d",count);
  947. dini_IntSet("personalcars.cfg",saver,VehicleSystem[i][mod5]);
  948. format(saver,sizeof(saver),"veh_mod6_%d",count);
  949. dini_IntSet("personalcars.cfg",saver,VehicleSystem[i][mod6]);
  950. format(saver,sizeof(saver),"veh_mod7_%d",count);
  951. dini_IntSet("personalcars.cfg",saver,VehicleSystem[i][mod7]);
  952. format(saver,sizeof(saver),"veh_mod8_%d",count);
  953. dini_IntSet("personalcars.cfg",saver,VehicleSystem[i][mod8]);
  954. format(saver,sizeof(saver),"veh_mod9_%d",count);
  955. dini_IntSet("personalcars.cfg",saver,VehicleSystem[i][mod9]);
  956. format(saver,sizeof(saver),"veh_mod10_%d",count);
  957. dini_IntSet("personalcars.cfg",saver,VehicleSystem[i][mod10]);
  958. format(saver,sizeof(saver),"veh_mod11_%d",count);
  959. dini_IntSet("personalcars.cfg",saver,VehicleSystem[i][mod11]);
  960. format(saver,sizeof(saver),"veh_mod12_%d",count);
  961. dini_IntSet("personalcars.cfg",saver,VehicleSystem[i][mod12]);
  962. format(saver,sizeof(saver),"veh_mod13_%d",count);
  963. dini_IntSet("personalcars.cfg",saver,VehicleSystem[i][mod13]);
  964. format(saver,sizeof(saver),"veh_mod14_%d",count);
  965. dini_IntSet("personalcars.cfg",saver,VehicleSystem[i][mod14]);
  966. format(saver,sizeof(saver),"veh_mod15_%d",count);
  967. dini_IntSet("personalcars.cfg",saver,VehicleSystem[i][mod15]);
  968. format(saver,sizeof(saver),"veh_mod16_%d",count);
  969. dini_IntSet("personalcars.cfg",saver,VehicleSystem[i][mod16]);
  970. format(saver,sizeof(saver),"veh_mod17_%d",count);
  971. dini_IntSet("personalcars.cfg",saver,VehicleSystem[i][mod17]);
  972. //
  973. format(saver,sizeof(saver),"veh_paint_%d",count);
  974. dini_IntSet("personalcars.cfg",saver,VehicleSystem[i][paintjob]);
  975. }
  976. }
  977. return 1;
  978. }
  979.  
  980. strtok(const string[], &index)
  981. {
  982. new length = strlen(string);
  983. while ((index < length) && (string[index] <= ' '))
  984. {
  985. index++;
  986. }
  987.  
  988. new offset = index;
  989. new result[20];
  990. while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
  991. {
  992. result[index - offset] = string[index];
  993. index++;
  994. }
  995. result[index - offset] = EOS;
  996. return result;
  997. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement