Guest User

fxwienix

a guest
Mar 6th, 2012
50
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 41.45 KB | None | 0 0
  1. #include <a_samp>
  2. #include <float>
  3.  
  4. // auskommentieren, falls man nicht die /resetcars Funktion benutzen will
  5. #define RESETCARS
  6.  
  7. // auskommentieren, falls man nicht die /pcarsell Funktion benutzen will
  8. #define CARSELL
  9.  
  10. #if defined CARSELL
  11. #include <utils>
  12. #endif
  13.  
  14. #define COLOR_GRAD1 0xB4B5B7FF
  15. #define COLOR_GRAD2 0xBFC0C2FF
  16. #define COLOR_GRAD3 0xCBCCCEFF
  17. #define COLOR_GRAD4 0xD8D8D8FF
  18. #define COLOR_GRAD5 0xE3E3E3FF
  19. #define COLOR_GRAD6 0xF0F0F0FF
  20. #define COLOR_GREY 0xAFAFAFAA
  21. #define COLOR_GREEN 0x33AA33AA
  22. #define COLOR_RED 0xAA3333AA
  23. #define COLOR_LIGHTRED 0xFF6347AA
  24. #define COLOR_LIGHTBLUE 0x33CCFFAA
  25. #define COLOR_LIGHTGREEN 0x9ACD32AA
  26. #define COLOR_YELLOW 0xFFFF00AA
  27. #define COLOR_YELLOW2 0xF5DEB3AA
  28. #define COLOR_WHITE 0xFFFFFFAA
  29.  
  30. forward SetVehicleParamsForAll(carid,objective,doorslocked);
  31. forward CreateTunedCar(playerid);
  32. forward DelayDestroyCar(playerid);
  33. forward DelaySetVehicleParams(playerid);
  34. forward ResetAutohausSpawns();
  35. forward CarInit();
  36.  
  37. enum ahCar
  38. {
  39. Typ,
  40. Float:X,
  41. Float:Y,
  42. Float:Z,
  43. Float:Rotation,
  44. Status,
  45. Lock,
  46. Carid,
  47. Paintjob,
  48. Farbe1,
  49. Farbe2,
  50. mod1,
  51. mod2,
  52. mod3,
  53. mod4,
  54. mod5,
  55. mod6,
  56. mod7,
  57. mod8,
  58. mod9,
  59. mod10,
  60. mod11,
  61. mod12,
  62. mod13,
  63. mod14,
  64. mod15,
  65. mod16,
  66. mod17,
  67. };
  68. new Carlist[MAX_PLAYERS][ahCar];
  69.  
  70. enum ahSpawn
  71. {
  72. Float:X,
  73. Float:Y,
  74. Float:Z,
  75. Float:Rotation,
  76. };
  77. new Autospawns[2][ahSpawn] = {
  78. {2135.6677,-1126.9457,25.2210},
  79. {2135.5376,-1130.4038,25.3451}
  80. };
  81.  
  82. enum ahModell
  83. {
  84. Name[128],
  85. Autohaus,
  86. Modelid,
  87. Carid,
  88. Preis,
  89. Reparatur,
  90. Float:X,
  91. Float:Y,
  92. Float:Z,
  93. Float:Rotation,
  94. };
  95. new Kaufliste[4][ahModell] = { //alle sind 44
  96. {"Cheetah",0,415,1,110000,3000,2136.6675,-1140.9342,24.8218,46.7546}, //{"Cheetah",0,415,1,110000,3000,1731.4764,2020.4115,10.5945,87.9443},
  97. {"Banshee",0,429,1,90000,3000,2136.8042,-1143.9357,24.5049,55.1219}, //{"Banshee",0,429,1,90000,3000,1731.6903,2013.0216,10.4990,90.0126},
  98. {"Comet",0,480,1,60000,3000,2115.9910,-1157.9652,24.0284,327.0284}, //{"Comet",0,480,1,60000,3000,1731.6953,2009.4955,10.5948,89.1555},
  99. {"Broadway",0,575,1,25000,3000,2117.0950,-1159.3662,24.0163,315.9472} //
  100. };
  101. /*
  102. {"Feltzer",0,533,1,12000,3000,1732.2042,2001.4551,10.5718,88.7124},
  103. {"Sultan",0,560,1,100000,3000,1732.3318,1997.6592,10.8083,89.8632},
  104. {"Clover",0,542,1,6000,3000,1732.2799,1993.9708,10.6062,90.0093},
  105. {"Club",0,589,1,12000,3000,1731.7523,1989.6862,10.4781,89.7330},
  106. {"Elegy",0,562,1,85000,3000,1732.6409,1985.1924,10.5263,88.5598},
  107. {"Hotring A",0,502,1,112000,3000,1732.0277,1981.7975,10.7686,89.2148},
  108. {"Bullet",0,541,1,120000,3000,1732.1355,1977.7283,10.4627,93.6187},
  109. {"Flash",0,565,1,75000,3000,1731.7441,1973.3917,10.4250,86.0475},
  110. {"Esperanto",0,419,1,15000,3000,1732.0442,1969.3275,10.6535,89.6026},
  111. {"Greenwood",0,492,1,12000,3000,1732.1873,1965.7952,10.6386,87.3422},
  112. {"Turismo",0,451,1,200000,3000,1743.2607,2020.3177,10.5267,269.0707},
  113. {"Infernus",0,411,1,250000,3000,1731.1366,2016.7114,10.5557,86.6388},
  114. {"Yosemite",0,554,1,15000,3000,1742.5958,2015.7178,10.9029,268.7153},
  115. {"Super GT",0,506,1,53000,3000,1742.3737,2011.9757,10.5248,267.9308},
  116. {"Virgo",0,491,1,25000,3000,1742.4441,2008.6194,10.5774,267.5540},
  117. {"Washington",0,421,1,69000,3000,1742.2216,2005.0703,10.7108,270.1667},
  118. {"Stafford",0,580,1,50000,3000,1742.2020,2001.2516,10.6164,270.8141},
  119. {"Slamvan",0,535,1,75000,3000,1742.0348,1997.5266,10.5848,270.4890},
  120. {"Savanna",0,567,1,53000,3000,1742.2043,1993.9379,10.6921,269.4501},
  121. {"Remington",0,534,1,25000,3000,1741.6263,1989.9852,10.5936,268.5650},
  122. {"Sabre",0,475,1,35000,3000,1741.6141,1986.0853,10.6337,269.3046},
  123. {"Premier",0,426,1,35000,3000,1741.5170,1982.2865,10.6025,271.2625},
  124. {"Phoenix",0,603,1,55000,3000,1741.0591,1978.2986,10.6591,270.8461},
  125. {"Mesa",0,500,1,25000,3000,1741.4919,1975.2114,10.9406,270.1144},
  126. {"Jester",0,559,1,60000,3000,1741.2930,1972.2704,10.5127,268.0233},
  127. {"Landstalker",0,400,1,16000,3000,1741.9148,1969.2106,10.9127,270.0085},
  128. {"Rancher(Lure)",0,505,1,13000,3000,1741.5297,1965.8264,10.9581,269.2990},
  129. {"Skimmer",0,460,1,450000,3000,1638.4448,1535.9741,12.0228,10.9544},
  130. {"Sparrow",0,469,1,450000,3000,1651.5491,1555.8613,10.8418,8.8399},
  131. {"Dodo",0,593,1,500000,3000,1653.7145,1536.7494,11.2771,6.9106},
  132. {"Maverick",0,487,1,500000,3000,1663.4728,1555.9720,10.9908,10.8226},
  133. {"Nrg-500",0,522,1,100000,3000,1748.6620,1855.1259,10.3851,357.6186},
  134. {"Faggio",0,462,1,6000,3000,1746.1447,1855.1216,10.4170,359.8877},
  135. {"PCJ-600",0,461,1,55000,3000,1743.6938,1854.6571,10.4058,0.8718},
  136. {"Freeway",0,463,1,100000,3000,1741.5908,1854.7698,10.3606,3.1092},
  137. {"Wayfarer",0,586,1,90000,3000,1739.4546,1854.5367,10.3404,7.5630},
  138. {"BF-400",0,581,1,25000,3000,1737.5721,1854.4408,10.4171,3.6908},
  139. {"FCR-900",0,521,1,50000,3000,1733.1339,1854.2720,10.4051,5.6560},
  140. {"Quad",0,471,1,25000,3000,1735.0327,1854.2205,10.3018,358.0146},
  141. {"Sanchez",0,468,1,15000,3000,1730.8846,1853.9509,10.4895,357.8318}*/
  142. //};
  143.  
  144. new Spectating[MAX_PLAYERS][1];
  145.  
  146. // Anfang der Tuningkomponentenliste
  147. new spoiler[20][0] = {
  148. {1000},
  149. {1001},
  150. {1002},
  151. {1003},
  152. {1014},
  153. {1015},
  154. {1016},
  155. {1023},
  156. {1058},
  157. {1060},
  158. {1049},
  159. {1050},
  160. {1138},
  161. {1139},
  162. {1146},
  163. {1147},
  164. {1158},
  165. {1162},
  166. {1163},
  167. {1164}
  168. };
  169.  
  170. new nitro[3][0] = {
  171. {1008},
  172. {1009},
  173. {1010}
  174. };
  175.  
  176. new fbumper[23][0] = {
  177. {1117},
  178. {1152},
  179. {1153},
  180. {1155},
  181. {1157},
  182. {1160},
  183. {1165},
  184. {1167},
  185. {1169},
  186. {1170},
  187. {1171},
  188. {1172},
  189. {1173},
  190. {1174},
  191. {1175},
  192. {1179},
  193. {1181},
  194. {1182},
  195. {1185},
  196. {1188},
  197. {1189},
  198. {1192},
  199. {1193}
  200. };
  201.  
  202. new rbumper[22][0] = {
  203. {1140},
  204. {1141},
  205. {1148},
  206. {1149},
  207. {1150},
  208. {1151},
  209. {1154},
  210. {1156},
  211. {1159},
  212. {1161},
  213. {1166},
  214. {1168},
  215. {1176},
  216. {1177},
  217. {1178},
  218. {1180},
  219. {1183},
  220. {1184},
  221. {1186},
  222. {1187},
  223. {1190},
  224. {1191}
  225. };
  226.  
  227. new exhaust[28][0] = {
  228. {1018},
  229. {1019},
  230. {1020},
  231. {1021},
  232. {1022},
  233. {1028},
  234. {1029},
  235. {1037},
  236. {1043},
  237. {1044},
  238. {1045},
  239. {1046},
  240. {1059},
  241. {1064},
  242. {1065},
  243. {1066},
  244. {1089},
  245. {1092},
  246. {1104},
  247. {1105},
  248. {1113},
  249. {1114},
  250. {1126},
  251. {1127},
  252. {1129},
  253. {1132},
  254. {1135},
  255. {1136}
  256. };
  257.  
  258. new bventr[2][0] = {
  259. {1042},
  260. {1044}
  261. };
  262.  
  263. new bventl[2][0] = {
  264. {1043},
  265. {1045}
  266. };
  267.  
  268. new bscoop[4][0] = {
  269. {1004},
  270. {1005},
  271. {1011},
  272. {1012}
  273. };
  274.  
  275. new rscoop[13][0] = {
  276. {1006},
  277. {1032},
  278. {1033},
  279. {1035},
  280. {1038},
  281. {1053},
  282. {1054},
  283. {1055},
  284. {1061},
  285. {1067},
  286. {1068},
  287. {1088},
  288. {1091}
  289. };
  290.  
  291. new lskirt[21][0] = {
  292. {1007},
  293. {1026},
  294. {1031},
  295. {1036},
  296. {1039},
  297. {1042},
  298. {1047},
  299. {1048},
  300. {1056},
  301. {1057},
  302. {1069},
  303. {1070},
  304. {1090},
  305. {1093},
  306. {1106},
  307. {1108},
  308. {1118},
  309. {1119},
  310. {1133},
  311. {1122},
  312. {1134}
  313. };
  314.  
  315. new rskirt[21][0] = {
  316. {1017},
  317. {1027},
  318. {1030},
  319. {1040},
  320. {1041},
  321. {1051},
  322. {1052},
  323. {1062},
  324. {1063},
  325. {1071},
  326. {1072},
  327. {1094},
  328. {1095},
  329. {1099},
  330. {1101},
  331. {1102},
  332. {1107},
  333. {1120},
  334. {1121},
  335. {1124},
  336. {1137}
  337. };
  338.  
  339. new hydraulics[1][0] = {
  340. {1087}
  341. };
  342.  
  343. new base[1][0] = {
  344. {1086}
  345. };
  346.  
  347. new rbbars[2][0] = {
  348. {1109},
  349. {1110}
  350. };
  351.  
  352. new fbbars[2][0] = {
  353. {1115},
  354. {1116}
  355. };
  356.  
  357. new wheels[17][0] = {
  358. {1025},
  359. {1073},
  360. {1074},
  361. {1075},
  362. {1076},
  363. {1077},
  364. {1078},
  365. {1079},
  366. {1080},
  367. {1081},
  368. {1082},
  369. {1083},
  370. {1084},
  371. {1085},
  372. {1096},
  373. {1097},
  374. {1098}
  375. };
  376.  
  377. new lights[2][0] = {
  378. {1013},
  379. {1024}
  380. };
  381.  
  382. #if defined CARSELL
  383. new bietetAn[MAX_PLAYERS][2];
  384. #endif
  385.  
  386. ini_GetKey( line[] )
  387. {
  388. new keyRes[256];
  389. keyRes[0] = 0;
  390. if ( strfind( line , "=" , true ) == -1 ) return keyRes;
  391. strmid( keyRes , line , 0 , strfind( line , "=" , true ) , sizeof( keyRes) );
  392. return keyRes;
  393. }
  394.  
  395. ini_GetValue( line[] )
  396. {
  397. new valRes[256];
  398. valRes[0]=0;
  399. if ( strfind( line , "=" , true ) == -1 ) return valRes;
  400. strmid( valRes , line , strfind( line , "=" , true )+1 , strlen( line ) , sizeof( valRes ) );
  401. return valRes;
  402. }
  403.  
  404. strtok(const string[], &index)
  405. {
  406. new length = strlen(string);
  407. while ((index < length) && (string[index] <= ' '))
  408. {
  409. index++;
  410. }
  411.  
  412. new offset = index;
  413. new result[20];
  414. while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
  415. {
  416. result[index - offset] = string[index];
  417. index++;
  418. }
  419. result[index - offset] = EOS;
  420. return result;
  421. }
  422.  
  423. IsAutohausCar(carid)
  424. {
  425. new i;
  426. for(i=0; i<sizeof(Kaufliste); i++)
  427. {
  428. if(Kaufliste[i][Carid]==carid) { return i; }
  429. }
  430. return -1;
  431. }
  432.  
  433. GetPlayerFromCarlistCar(carid)
  434. {
  435. new i;
  436. for(i=0; i<sizeof(Carlist); i++)
  437. {
  438. if(Carlist[i][Carid]==carid) { return i; }
  439. }
  440. return -1;
  441. }
  442.  
  443. GetModType(componentid)
  444. {
  445. new i;
  446. for(i=0; i<20; i++)
  447. {
  448. if(spoiler[i][0]==componentid) { return 1; }
  449. }
  450. for(i=0; i<3; i++)
  451. {
  452. if(nitro[i][0]==componentid) { return 2; }
  453. }
  454. for(i=0; i<23; i++)
  455. {
  456. if(fbumper[i][0]==componentid) { return 3; }
  457. }
  458. for(i=0; i<22; i++)
  459. {
  460. if(rbumper[i][0]==componentid) { return 4; }
  461. }
  462. for(i=0; i<28; i++)
  463. {
  464. if(exhaust[i][0]==componentid) { return 5; }
  465. }
  466. for(i=0; i<2; i++)
  467. {
  468. if(bventr[i][0]==componentid) { return 6; }
  469. }
  470. for(i=0; i<2; i++)
  471. {
  472. if(bventl[i][0]==componentid) { return 7; }
  473. }
  474. for(i=0; i<4; i++)
  475. {
  476. if(bscoop[i][0]==componentid) { return 8; }
  477. }
  478. for(i=0; i<13; i++)
  479. {
  480. if(rscoop[i][0]==componentid) { return 9; }
  481. }
  482. for(i=0; i<21; i++)
  483. {
  484. if(lskirt[i][0]==componentid) { return 10; }
  485. }
  486. for(i=0; i<21; i++)
  487. {
  488. if(rskirt[i][0]==componentid) { return 11; }
  489. }
  490. if(hydraulics[0][0]==componentid) { return 12; }
  491. if(base[0][0]==componentid) { return 13; }
  492. for(i=0; i<2; i++)
  493. {
  494. if(rbbars[i][0]==componentid) { return 14; }
  495. }
  496. for(i=0; i<2; i++)
  497. {
  498. if(fbbars[i][0]==componentid) { return 15; }
  499. }
  500. for(i=0; i<17; i++)
  501. {
  502. if(wheels[i][0]==componentid) { return 16; }
  503. }
  504. for(i=0; i<2; i++)
  505. {
  506. if(lights[i][0]==componentid) { return 17; }
  507. }
  508. return 0;
  509. }
  510.  
  511. public OnFilterScriptInit()
  512. {
  513. print("------------------------------");
  514. print(" ~*~ Autohaus v2.3 ~*~");
  515. print("------------------------------\n");
  516. SetTimer("CarInit",5000,0);
  517. return 1;
  518. }
  519.  
  520. public CarInit()
  521. {
  522. new i;
  523. for(i=0; i<sizeof(Kaufliste); i++)
  524. {
  525. Kaufliste[i][Carid]=CreateVehicle(Kaufliste[i][Modelid],Kaufliste[i][X],Kaufliste[i][Y],Kaufliste[i][Z],Kaufliste[i][Rotation],-1,-1,-1);
  526. }
  527. for(i=0; i<MAX_PLAYERS; i++)
  528. {
  529. Spectating[i][0]=-1;
  530. }
  531. }
  532.  
  533. public OnPlayerConnect(playerid)
  534. {
  535. new dateiname[MAX_PLAYER_NAME+4];
  536. new playername[MAX_PLAYER_NAME];
  537. Carlist[playerid][Typ]=-1; Carlist[playerid][X]=0.0; Carlist[playerid][Y]=0.0; Carlist[playerid][Z]=0.0;
  538. Carlist[playerid][Rotation]=0.0; Carlist[playerid][Status]=0; Carlist[playerid][Lock]=0; Carlist[playerid][Carid]=-1;
  539. Carlist[playerid][Farbe1]=-1; Carlist[playerid][Farbe2]=-1; Carlist[playerid][mod1]=-1; Carlist[playerid][mod2]=-1;
  540. Carlist[playerid][mod3]=-1; Carlist[playerid][mod4]=-1; Carlist[playerid][mod5]=-1; Carlist[playerid][mod6]=-1;
  541. Carlist[playerid][mod7]=-1; Carlist[playerid][mod8]=-1; Carlist[playerid][mod9]=-1; Carlist[playerid][mod10]=-1;
  542. Carlist[playerid][mod11]=-1; Carlist[playerid][mod12]=-1; Carlist[playerid][mod13]=-1; Carlist[playerid][mod14]=-1;
  543. Carlist[playerid][mod15]=-1; Carlist[playerid][mod16]=-1; Carlist[playerid][mod17]=-1; Carlist[playerid][Paintjob]=-1;
  544. Spectating[playerid][0]=-1;
  545. #if defined CARSELL
  546. bietetAn[playerid]={-1,0};
  547. #endif
  548. GetPlayerName(playerid, playername, sizeof(playername));
  549. format(dateiname, sizeof(dateiname), "/car/%s.car", playername);
  550. if (fexist(dateiname))
  551. {
  552. new File: CarFile = fopen(dateiname, io_read);
  553. if ( CarFile )
  554. {
  555. new key[ 256 ];
  556. new Data[ 256 ];
  557. while ( fread( CarFile , Data , sizeof( Data ) ) )
  558. {
  559. key = ini_GetKey(Data);
  560. if(strcmp(key,"AH_Typ",true)==0) { Carlist[playerid][Typ]=strval(ini_GetValue(Data)); }
  561. else if(strcmp(key,"AH_X",true)==0) { Carlist[playerid][X]=floatstr(ini_GetValue(Data)); }
  562. else if(strcmp(key,"AH_Y",true)==0) { Carlist[playerid][Y]=floatstr(ini_GetValue(Data)); }
  563. else if(strcmp(key,"AH_Z",true)==0) { Carlist[playerid][Z]=floatstr(ini_GetValue(Data)); }
  564. else if(strcmp(key,"AH_Rot",true)==0) { Carlist[playerid][Rotation]=floatstr(ini_GetValue(Data)); }
  565. else if(strcmp(key,"AH_Status",true)==0) { Carlist[playerid][Status]=strval(ini_GetValue(Data)); }
  566. else if(strcmp(key,"AH_Lock",true)==0) { Carlist[playerid][Lock]=strval(ini_GetValue(Data)); }
  567. else if(strcmp(key,"AH_Paintjob",true)==0) { Carlist[playerid][Paintjob]=strval(ini_GetValue(Data)); }
  568. else if(strcmp(key,"AH_Farbe1",true)==0) { Carlist[playerid][Farbe1]=strval(ini_GetValue(Data)); }
  569. else if(strcmp(key,"AH_Farbe2",true)==0) { Carlist[playerid][Farbe2]=strval(ini_GetValue(Data)); }
  570. else if(strcmp(key,"AH_mod1",true)==0) { Carlist[playerid][mod1]=strval(ini_GetValue(Data)); }
  571. else if(strcmp(key,"AH_mod2",true)==0) { Carlist[playerid][mod2]=strval(ini_GetValue(Data)); }
  572. else if(strcmp(key,"AH_mod3",true)==0) { Carlist[playerid][mod3]=strval(ini_GetValue(Data)); }
  573. else if(strcmp(key,"AH_mod4",true)==0) { Carlist[playerid][mod4]=strval(ini_GetValue(Data)); }
  574. else if(strcmp(key,"AH_mod5",true)==0) { Carlist[playerid][mod5]=strval(ini_GetValue(Data)); }
  575. else if(strcmp(key,"AH_mod6",true)==0) { Carlist[playerid][mod6]=strval(ini_GetValue(Data)); }
  576. else if(strcmp(key,"AH_mod7",true)==0) { Carlist[playerid][mod7]=strval(ini_GetValue(Data)); }
  577. else if(strcmp(key,"AH_mod8",true)==0) { Carlist[playerid][mod8]=strval(ini_GetValue(Data)); }
  578. else if(strcmp(key,"AH_mod9",true)==0) { Carlist[playerid][mod9]=strval(ini_GetValue(Data)); }
  579. else if(strcmp(key,"AH_mod10",true)==0) { Carlist[playerid][mod10]=strval(ini_GetValue(Data)); }
  580. else if(strcmp(key,"AH_mod11",true)==0) { Carlist[playerid][mod11]=strval(ini_GetValue(Data)); }
  581. else if(strcmp(key,"AH_mod12",true)==0) { Carlist[playerid][mod12]=strval(ini_GetValue(Data)); }
  582. else if(strcmp(key,"AH_mod13",true)==0) { Carlist[playerid][mod13]=strval(ini_GetValue(Data)); }
  583. else if(strcmp(key,"AH_mod14",true)==0) { Carlist[playerid][mod14]=strval(ini_GetValue(Data)); }
  584. else if(strcmp(key,"AH_mod15",true)==0) { Carlist[playerid][mod15]=strval(ini_GetValue(Data)); }
  585. else if(strcmp(key,"AH_mod16",true)==0) { Carlist[playerid][mod16]=strval(ini_GetValue(Data)); }
  586. else if(strcmp(key,"AH_mod17",true)==0) { Carlist[playerid][mod17]=strval(ini_GetValue(Data)); }
  587. }
  588. }
  589. fclose(CarFile);
  590. if(Carlist[playerid][Typ]!=-1 && Carlist[playerid][Status]==1)
  591. {
  592. Carlist[playerid][Carid]=CreateTunedCar(playerid);
  593. }
  594. }
  595. SetTimerEx("DelaySetVehicleParams",10000,0,"i",playerid);
  596. return 1;
  597. }
  598.  
  599. public OnPlayerDisconnect(playerid)
  600. {
  601. new dateiname[MAX_PLAYER_NAME+4];
  602. new playername[MAX_PLAYER_NAME];
  603. new var[256];
  604. GetPlayerName(playerid, playername, sizeof(playername));
  605. format(dateiname, sizeof(dateiname), "/car/%s.car", playername);
  606. new File: CarFile = fopen(dateiname, io_write);
  607. format(var, 256, "AH_Typ=%i\n", Carlist[playerid][Typ]); fwrite(CarFile, var);
  608. format(var, 256, "AH_X=%f\n", Carlist[playerid][X]); fwrite(CarFile, var);
  609. format(var, 256, "AH_Y=%f\n", Carlist[playerid][Y]); fwrite(CarFile, var);
  610. format(var, 256, "AH_Z=%f\n", Carlist[playerid][Z]); fwrite(CarFile, var);
  611. format(var, 256, "AH_Rot=%f\n", Carlist[playerid][Rotation]); fwrite(CarFile, var);
  612. format(var, 256, "AH_Status=%i\n", Carlist[playerid][Status]); fwrite(CarFile, var);
  613. format(var, 256, "AH_Lock=%i\n", Carlist[playerid][Lock]); fwrite(CarFile, var);
  614. format(var, 256, "AH_Paintjob=%i\n", Carlist[playerid][Paintjob]); fwrite(CarFile, var);
  615. format(var, 256, "AH_Farbe1=%i\n", Carlist[playerid][Farbe1]); fwrite(CarFile, var);
  616. format(var, 256, "AH_Farbe2=%i\n", Carlist[playerid][Farbe2]); fwrite(CarFile, var);
  617. format(var, 256, "AH_mod1=%i\n", Carlist[playerid][mod1]); fwrite(CarFile, var);
  618. format(var, 256, "AH_mod2=%i\n", Carlist[playerid][mod2]); fwrite(CarFile, var);
  619. format(var, 256, "AH_mod3=%i\n", Carlist[playerid][mod3]); fwrite(CarFile, var);
  620. format(var, 256, "AH_mod4=%i\n", Carlist[playerid][mod4]); fwrite(CarFile, var);
  621. format(var, 256, "AH_mod5=%i\n", Carlist[playerid][mod5]); fwrite(CarFile, var);
  622. format(var, 256, "AH_mod6=%i\n", Carlist[playerid][mod6]); fwrite(CarFile, var);
  623. format(var, 256, "AH_mod7=%i\n", Carlist[playerid][mod7]); fwrite(CarFile, var);
  624. format(var, 256, "AH_mod8=%i\n", Carlist[playerid][mod8]); fwrite(CarFile, var);
  625. format(var, 256, "AH_mod9=%i\n", Carlist[playerid][mod9]); fwrite(CarFile, var);
  626. format(var, 256, "AH_mod10=%i\n", Carlist[playerid][mod10]); fwrite(CarFile, var);
  627. format(var, 256, "AH_mod11=%i\n", Carlist[playerid][mod11]); fwrite(CarFile, var);
  628. format(var, 256, "AH_mod12=%i\n", Carlist[playerid][mod12]); fwrite(CarFile, var);
  629. format(var, 256, "AH_mod13=%i\n", Carlist[playerid][mod13]); fwrite(CarFile, var);
  630. format(var, 256, "AH_mod14=%i\n", Carlist[playerid][mod14]); fwrite(CarFile, var);
  631. format(var, 256, "AH_mod15=%i\n", Carlist[playerid][mod15]); fwrite(CarFile, var);
  632. format(var, 256, "AH_mod16=%i\n", Carlist[playerid][mod16]); fwrite(CarFile, var);
  633. format(var, 256, "AH_mod17=%i\n", Carlist[playerid][mod17]); fwrite(CarFile, var);
  634. fclose(CarFile);
  635. if(Carlist[playerid][Carid]!=-1)
  636. {
  637. SetVehicleParamsForAll(Carlist[playerid][Carid],0,0);
  638. DestroyVehicle(Carlist[playerid][Carid]);
  639. Carlist[playerid][Carid]=-1;
  640. }
  641. if (Spectating[playerid][0]!=-1)
  642. {
  643. SetVehicleParamsForAll(Kaufliste[Spectating[playerid][0]][Carid],0,0);
  644. Spectating[playerid][0]=-1;
  645. }
  646. return 1;
  647. }
  648.  
  649. public OnVehicleDeath(vehicleid, killerid)
  650. {
  651. new i;
  652. for(i=0; i<MAX_PLAYERS; i++)
  653. {
  654. if(Carlist[i][Carid]==vehicleid)
  655. {
  656. SetTimerEx("DelayDestroyCar",3000,0,"i",i);
  657. return 1;
  658. }
  659. }
  660. return 1;
  661. }
  662. public OnPlayerCommandText(playerid, cmdtext[])
  663. {
  664. new cmd[128], idx, string[128];
  665. #if defined CARSELL
  666. new tmp[128];
  667. #endif
  668. cmd = strtok(cmdtext, idx);
  669. if(strcmp(cmdtext,"/m1",true) == 0)
  670. {
  671. new Float:vx, Float:vy, Float:vz;
  672. new vehicleid = GetPlayerVehicleID(playerid);
  673. GetVehiclePos(vehicleid,vx,vy,vz);
  674. if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
  675. if (IsPlayerInVehicle(playerid,Carlist[playerid][Carid]))
  676. {
  677. new motor,licht,alarm,ture,motorhaube,kofferraum,objective;
  678. GetVehicleParamsEx(vehicleid,motor,licht,alarm,ture,motorhaube,kofferraum,objective);
  679. if(motor == 0)
  680. {
  681. SetVehicleParamsEx(vehicleid,VEHICLE_PARAMS_ON,licht,alarm,ture,motorhaube,kofferraum,objective);
  682. }
  683. else
  684. {
  685. SetVehicleParamsEx(vehicleid,VEHICLE_PARAMS_OFF,licht,alarm,ture,motorhaube,kofferraum,objective);
  686. }
  687. }
  688. return 1;
  689. }/*
  690. if (strcmp("/carhelp", cmd, true, 10) == 0)
  691. {
  692. if(IsPlayerConnected(playerid))
  693. {
  694. SendClientMessage(playerid, COLOR_GREEN,"_______________________________________");
  695. SendClientMessage(playerid, COLOR_WHITE,"*** AUTO HILFE *** gib einen Befehl ein für mehr Hilfe");
  696. SendClientMessage(playerid, COLOR_GRAD3,"*** AUTO *** /park ID /fixcar ID /carlock ID /respraycar ID");
  697. SendClientMessage(playerid, COLOR_GRAD3,"*** AUTO *** /repaintcar ID /buycar ID /carsell ID /exitcar ID");
  698. #if defined CARSELL
  699. SendClientMessage(playerid, COLOR_GRAD3,"*** AUTO *** /pcarsell /cancelsell /acceptsell");
  700. #endif
  701. }
  702. return 1;
  703. }*/
  704. else if (strcmp("/park1", cmd, true, 10) == 0)
  705. {
  706. if (IsPlayerInVehicle(playerid,Carlist[playerid][Carid]))
  707. {
  708. GetVehiclePos(Carlist[playerid][Carid],Carlist[playerid][X],Carlist[playerid][Y],Carlist[playerid][Z]);
  709. GetVehicleZAngle(Carlist[playerid][Carid],Carlist[playerid][Rotation]);
  710. SendClientMessage(playerid, COLOR_GREEN, "Fahrzeug geparkt!");
  711. }
  712. else { SendClientMessage(playerid, COLOR_GREY, "Du sitzt nicht in deinem eigenen Auto!"); }
  713. return 1;
  714. }
  715. else if (strcmp("/fixcar1", cmd, true, 10) == 0)
  716. {
  717. if (Carlist[playerid][Typ]!=-1)
  718. {
  719. if (Carlist[playerid][Status]==0)
  720. {
  721. new reparatur = Kaufliste[Carlist[playerid][Typ]][Reparatur];
  722. if (reparatur <= GetPlayerMoney(playerid))
  723. {
  724. Carlist[playerid][Status]=1;
  725. Carlist[playerid][Carid]=CreateTunedCar(playerid);
  726. GivePlayerMoney(playerid, - reparatur);
  727. format(string, 128, "Du hast dein Auto für $%i reparieren lassen! Es steht nun am letzten Parkpunkt für dich bereit.", reparatur);
  728. SendClientMessage(playerid, COLOR_RED, string);
  729. }
  730. else { format(string, 128, "Du hast nicht genug Geld für die Reparatur (benötigt: $%i)!", reparatur); SendClientMessage(playerid, COLOR_LIGHTRED, string); }
  731. }
  732. else { SendClientMessage(playerid, COLOR_GREY, "Dein Auto benötigt keine Reparatur!"); }
  733. }
  734. else { SendClientMessage(playerid, COLOR_GREY, "Du besitzt kein Auto!"); }
  735. return 1;
  736. }
  737. else if (strcmp("/carlock1", cmd, true, 10) == 0)
  738. {
  739. if (Carlist[playerid][Typ]!=-1)
  740. {
  741. if (Carlist[playerid][Carid]!=-1)
  742. {
  743. if (Carlist[playerid][Lock]==0)
  744. {
  745. Carlist[playerid][Lock]=1;
  746. SetVehicleParamsForAll(Carlist[playerid][Carid],0,1);
  747. //SetVehicleParamsForPlayer(Carlist[playerid][Carid],playerid,0,0);
  748. SendClientMessage(playerid, COLOR_YELLOW, "Du hast dein Auto für andere Spieler abgeschlossen!");
  749. }
  750. else
  751. {
  752. Carlist[playerid][Lock]=0;
  753. SetVehicleParamsForAll(Carlist[playerid][Carid],0,0);
  754. SendClientMessage(playerid, COLOR_RED, "Du hast dein Auto für andere Spieler aufgeschlossen!");
  755. }
  756. }
  757. else { SendClientMessage(playerid, COLOR_GREY, "Du besitzt zur Zeit kein Auto!"); }
  758. }
  759. else { SendClientMessage(playerid, COLOR_GREY, "Du besitzt kein Auto!"); }
  760. return 1;
  761. }
  762. else if (strcmp("/respraycar1", cmd, true, 10) == 0)
  763. {
  764. if (Carlist[playerid][Typ]!=-1)
  765. {
  766. if (Carlist[playerid][Carid]!=-1)
  767. {
  768. ChangeVehicleColor(Carlist[playerid][Carid],Carlist[playerid][Farbe1],Carlist[playerid][Farbe2]);
  769. SendClientMessage(playerid, COLOR_RED, "Dein Auto wurde neu lackiert!");
  770. }
  771. else { SendClientMessage(playerid, COLOR_GREY, "Du besitzt zur Zeit kein Auto!"); }
  772. }
  773. else { SendClientMessage(playerid, COLOR_GREY, "Du besitzt kein Auto!"); }
  774. return 1;
  775. }
  776. else if (strcmp("/repaintcar1", cmd, true, 10) == 0)
  777. {
  778. if (Carlist[playerid][Typ]!=-1)
  779. {
  780. if (Carlist[playerid][Carid]!=-1)
  781. {
  782. if (Carlist[playerid][Paintjob]!=-1)
  783. {
  784. ChangeVehiclePaintjob(Carlist[playerid][Carid],Carlist[playerid][Paintjob]);
  785. SendClientMessage(playerid, COLOR_RED, "Dein Auto wurde neu lackiert!");
  786. }
  787. else { SendClientMessage(playerid, COLOR_GREY, "Du hast keinen Paintjob für dein Auto!"); }
  788. }
  789. else { SendClientMessage(playerid, COLOR_GREY, "Du besitzt zur Zeit kein Auto!"); }
  790. }
  791. else { SendClientMessage(playerid, COLOR_GREY, "Du besitzt kein Auto!"); }
  792. return 1;
  793. }
  794. else if (strcmp("/exitcar1", cmd, true, 10) == 0)
  795. {
  796. if (Spectating[playerid][0]!=-1)
  797. {
  798. TogglePlayerControllable(playerid,1);
  799. SetVehicleParamsForAll(Kaufliste[Spectating[playerid][0]][Carid],0,0);
  800. Spectating[playerid][0]=-1;
  801. RemovePlayerFromVehicle(playerid);
  802. }
  803. else { SendClientMessage(playerid, COLOR_GREY, "Du besichtigst kein Auto!"); }
  804. return 1;
  805. }
  806. else if (strcmp("/buycar1", cmd, true, 10) == 0)
  807. {
  808. if (Spectating[playerid][0]!=-1)
  809. {
  810. if (Carlist[playerid][Typ]==-1)
  811. {
  812. new preis = Kaufliste[Spectating[playerid][0]][Preis];
  813. if (preis <= GetPlayerMoney(playerid))
  814. {
  815. new autohaus=Kaufliste[Spectating[playerid][0]][Autohaus];
  816. GivePlayerMoney(playerid, - preis);
  817. Carlist[playerid][Typ]=Spectating[playerid][0]; Carlist[playerid][X]=Autospawns[autohaus][X]; Carlist[playerid][Y]=Autospawns[autohaus][Y];
  818. Carlist[playerid][Z]=Autospawns[autohaus][Z]; Carlist[playerid][Rotation]=Autospawns[autohaus][Rotation]; Carlist[playerid][Status]=1; Carlist[playerid][Lock]=0;
  819. Carlist[playerid][Carid]=CreateVehicle(Kaufliste[Spectating[playerid][0]][Modelid],Carlist[playerid][X],Carlist[playerid][Y],Carlist[playerid][Z],Carlist[playerid][Rotation],-1,-1,-1);
  820. SetVehicleParamsForAll(Kaufliste[Spectating[playerid][0]][Carid],0,0);
  821. TogglePlayerControllable(playerid,1);
  822. Spectating[playerid][0]=-1;
  823. RemovePlayerFromVehicle(playerid);
  824. format(string,128,"Du hast dir erfolgreich für $%i ein/einen %s gekauft!",preis,Kaufliste[Carlist[playerid][Typ]][Name]);
  825. SendClientMessage(playerid, COLOR_RED, string);
  826. SendClientMessage(playerid, COLOR_GREEN, "Wenn du dein Fahrzeug zerstörst, gib /fixcar ein.");
  827. SendClientMessage(playerid, COLOR_GREEN, "Mit /carlock kannst du dein Fahrzeug für andere Leute freigeben oder abschließen.");
  828. SendClientMessage(playerid, COLOR_GREEN, "Mehr Befehle kannst du unter /carhelp sehen.");
  829. SendClientMessage(playerid, COLOR_YELLOW, "Danke das Sie das Fahrzeug gekauft haben, Sie können es sich nun auf dem San Fierro Schiff abholen;)");
  830. }
  831. else { format(string, 128, "Du hast nicht genug Geld für das Auto (benötigt: $%i)!", preis); SendClientMessage(playerid, COLOR_LIGHTRED, string); }
  832. }
  833. else { SendClientMessage(playerid, COLOR_GREY, "Du besitzt bereits ein Auto!"); }
  834. }
  835. else { SendClientMessage(playerid, COLOR_GREY, "Du besichtigst kein Auto!"); }
  836. return 1;
  837. }
  838. else if (strcmp("/carsell1", cmd, true, 10) == 0)
  839. {
  840. if (Carlist[playerid][Typ]!=-1)
  841. {
  842. new preis = (Kaufliste[Carlist[playerid][Typ]][Preis]/5)*4;
  843. if (IsPlayerInVehicle(playerid,Carlist[playerid][Carid])) { RemovePlayerFromVehicle(playerid); }
  844. GivePlayerMoney(playerid, preis);
  845. DestroyVehicle(Carlist[playerid][Carid]);
  846. Carlist[playerid][Typ]=-1; Carlist[playerid][X]=0.0; Carlist[playerid][Y]=0.0; Carlist[playerid][Z]=0.0;
  847. Carlist[playerid][Rotation]=0.0; Carlist[playerid][Status]=0; Carlist[playerid][Lock]=0; Carlist[playerid][Carid]=-1;
  848. Carlist[playerid][Farbe1]=-1; Carlist[playerid][Farbe2]=-1; Carlist[playerid][mod1]=-1; Carlist[playerid][mod2]=-1;
  849. Carlist[playerid][mod3]=-1; Carlist[playerid][mod4]=-1; Carlist[playerid][mod5]=-1; Carlist[playerid][mod6]=-1;
  850. Carlist[playerid][mod7]=-1; Carlist[playerid][mod8]=-1; Carlist[playerid][mod9]=-1; Carlist[playerid][mod10]=-1;
  851. Carlist[playerid][mod11]=-1; Carlist[playerid][mod12]=-1; Carlist[playerid][mod13]=-1; Carlist[playerid][mod14]=-1;
  852. Carlist[playerid][mod15]=-1; Carlist[playerid][mod16]=-1; Carlist[playerid][mod17]=-1; Carlist[playerid][Paintjob]=-1;
  853. format(string,128,"Du hast erfolgreich dein Auto für $%i verkauft!",preis);
  854. SendClientMessage(playerid, COLOR_RED, string);
  855. }
  856. else { SendClientMessage(playerid, COLOR_GREY, "Du besitzt kein Auto!"); }
  857. return 1;
  858. }
  859. #if defined RESETCARS
  860. else if (strcmp("/resetcars", cmd, true, 10) == 0)
  861. {
  862. if(CallRemoteFunction("IsAdmin","i",playerid)) { ResetAutohausSpawns(); }
  863. return 1;
  864. }
  865. #endif
  866. #if defined CARSELL
  867. else if (strcmp("/pcarsell1", cmd, true, 10) == 0)
  868. {
  869. tmp = strtok(cmdtext, idx);
  870. if (!strlen(tmp))
  871. {
  872. SendClientMessage(playerid, COLOR_GREY, "Benutzung: /pcarsell [playerid] [Preis]");
  873. return 1;
  874. }
  875. new sellplayerid = ReturnUser(tmp);
  876. tmp = strtok(cmdtext, idx);
  877. if (!strlen(tmp))
  878. {
  879. SendClientMessage(playerid, COLOR_GREY, "Benutzung: /pcarsell [playerid] [Geld]");
  880. return 1;
  881. }
  882. new preis = strval(tmp);
  883. if (preis<0)
  884. {
  885. SendClientMessage(playerid, COLOR_GREY, "Bitte gib einen positiven Preis an.");
  886. return 1;
  887. }
  888. if (Carlist[playerid][Typ]==-1)
  889. {
  890. SendClientMessage(playerid, COLOR_GREY, "Du besitzt kein Auto!");
  891. return 1;
  892. }
  893. if (!IsPlayerConnected(sellplayerid))
  894. {
  895. SendClientMessage(playerid, COLOR_GREY, "Dieser Spieler ist offline.");
  896. return 1;
  897. }
  898. bietetAn[sellplayerid][0]=playerid;
  899. bietetAn[sellplayerid][1]=preis;
  900. new playername[MAX_PLAYER_NAME];
  901. new sellplayername[MAX_PLAYER_NAME];
  902. GetPlayerName(playerid,playername,sizeof(playername));
  903. GetPlayerName(sellplayerid,sellplayername,sizeof(sellplayername));
  904. format(string,128,"Du bietest %s für $%i dein Auto an!",sellplayername,preis);
  905. SendClientMessage(playerid, COLOR_RED, string);
  906. SendClientMessage(playerid, COLOR_YELLOW, "Ziehe dein Angebot mit /cancelsell zurück.");
  907. format(string,128,"%s bietet dir sein/ihr Auto Marke %s für $%i an.",playername,Kaufliste[Carlist[playerid][Typ]][Name],preis);
  908. SendClientMessage(sellplayerid, COLOR_RED, string);
  909. SendClientMessage(sellplayerid, COLOR_YELLOW, "Du kannst das Angebot mit /acceptsell annehmen.");
  910. return 1;
  911. }
  912. else if (strcmp("/cancelsell1", cmd, true, 10) == 0)
  913. {
  914. for (new i=0; i<MAX_PLAYERS; i++)
  915. {
  916. if (bietetAn[i][0]==playerid)
  917. {
  918. bietetAn[i]={-1,0};
  919. SendClientMessage(playerid, COLOR_RED, "Du hast dein Angebot zurückgezogen.");
  920. if (IsPlayerConnected(i))
  921. {
  922. new playername[MAX_PLAYER_NAME];
  923. GetPlayerName(playerid,playername,sizeof(playername));
  924. format(string,128,"%s hat sein Verkaufsangebot zurückgenommen.",playername);
  925. SendClientMessage(i, COLOR_GREEN, string);
  926. }
  927. return 1;
  928. }
  929. }
  930. SendClientMessage(playerid, COLOR_GREY, "Du bietest niemandem dein Auto an!");
  931. return 1;
  932. }
  933. else if (strcmp("/acceptsell1", cmd, true, 10) == 0)
  934. {
  935. if (bietetAn[playerid][0]!=-1)
  936. {
  937. if (IsPlayerConnected(bietetAn[playerid][0]))
  938. {
  939. if (Carlist[playerid][Typ]==-1)
  940. {
  941. if (Carlist[bietetAn[playerid][0]][Typ]!=-1)
  942. {
  943. if (GetPlayerMoney(playerid)>=bietetAn[playerid][1])
  944. {
  945. new sellerid=bietetAn[playerid][0];
  946. new preis=bietetAn[playerid][1];
  947. bietetAn[playerid]={-1,0};
  948. GivePlayerMoney(playerid, - preis);
  949. GivePlayerMoney(sellerid, preis);
  950. Carlist[playerid][Typ]=Carlist[sellerid][Typ];
  951. Carlist[playerid][X]=Carlist[sellerid][X];
  952. Carlist[playerid][Y]=Carlist[sellerid][Y];
  953. Carlist[playerid][Z]=Carlist[sellerid][Z];
  954. Carlist[playerid][Rotation]=Carlist[sellerid][Rotation];
  955. Carlist[playerid][Status]=Carlist[sellerid][Status];
  956. Carlist[playerid][Lock]=Carlist[sellerid][Lock];
  957. Carlist[playerid][Carid]=Carlist[sellerid][Carid];
  958. Carlist[playerid][Farbe1]=Carlist[sellerid][Farbe1];
  959. Carlist[playerid][Farbe2]=Carlist[sellerid][Farbe2];
  960. Carlist[playerid][mod1]=Carlist[sellerid][mod1];
  961. Carlist[playerid][mod2]=Carlist[sellerid][mod2];
  962. Carlist[playerid][mod3]=Carlist[sellerid][mod3];
  963. Carlist[playerid][mod4]=Carlist[sellerid][mod4];
  964. Carlist[playerid][mod5]=Carlist[sellerid][mod5];
  965. Carlist[playerid][mod6]=Carlist[sellerid][mod6];
  966. Carlist[playerid][mod7]=Carlist[sellerid][mod7];
  967. Carlist[playerid][mod8]=Carlist[sellerid][mod8];
  968. Carlist[playerid][mod9]=Carlist[sellerid][mod9];
  969. Carlist[playerid][mod10]=Carlist[sellerid][mod10];
  970. Carlist[playerid][mod11]=Carlist[sellerid][mod11];
  971. Carlist[playerid][mod12]=Carlist[sellerid][mod12];
  972. Carlist[playerid][mod13]=Carlist[sellerid][mod13];
  973. Carlist[playerid][mod14]=Carlist[sellerid][mod14];
  974. Carlist[playerid][mod15]=Carlist[sellerid][mod15];
  975. Carlist[playerid][mod16]=Carlist[sellerid][mod16];
  976. Carlist[playerid][mod17]=Carlist[sellerid][mod17];
  977. Carlist[playerid][Paintjob]=Carlist[sellerid][Paintjob];
  978. Carlist[sellerid][Typ]=-1; Carlist[sellerid][X]=0.0; Carlist[sellerid][Y]=0.0; Carlist[sellerid][Z]=0.0;
  979. Carlist[sellerid][Rotation]=0.0; Carlist[sellerid][Status]=0; Carlist[sellerid][Lock]=0; Carlist[sellerid][Carid]=-1;
  980. Carlist[sellerid][Farbe1]=-1; Carlist[sellerid][Farbe2]=-1; Carlist[sellerid][mod1]=-1; Carlist[sellerid][mod2]=-1;
  981. Carlist[sellerid][mod3]=-1; Carlist[sellerid][mod4]=-1; Carlist[sellerid][mod5]=-1; Carlist[sellerid][mod6]=-1;
  982. Carlist[sellerid][mod7]=-1; Carlist[sellerid][mod8]=-1; Carlist[sellerid][mod9]=-1; Carlist[sellerid][mod10]=-1;
  983. Carlist[sellerid][mod11]=-1; Carlist[sellerid][mod12]=-1; Carlist[sellerid][mod13]=-1; Carlist[sellerid][mod14]=-1;
  984. Carlist[sellerid][mod15]=-1; Carlist[sellerid][mod16]=-1; Carlist[sellerid][mod17]=-1; Carlist[sellerid][Paintjob]=-1;
  985. if (Carlist[playerid][Status]==1)
  986. {
  987. SetVehicleParamsForAll(Carlist[playerid][Carid],0,Carlist[playerid][Lock]);
  988. SetVehicleParamsForPlayer(Carlist[playerid][Carid],playerid,0,0);
  989. }
  990. format(string,128,"Du hast dir erfolgreich für $%i ein/einen %s gekauft!",preis,Kaufliste[Carlist[playerid][Typ]][Name]);
  991. SendClientMessage(playerid, COLOR_RED, string);
  992. SendClientMessage(playerid, COLOR_GREEN, "Wenn du dein Fahrzeug zerstörst, gib /fixcar ein.");
  993. SendClientMessage(playerid, COLOR_GREEN, "Mit /carlock kannst du dein Fahrzeug für andere Leute freigeben oder abschließen.");
  994. SendClientMessage(playerid, COLOR_GREEN, "Mehr Befehle kannst du unter /carhelp sehen.");
  995. SendClientMessage(playerid, COLOR_YELLOW, "Dein Auto ist nun auf dich überschrieben! Viel Spaß beim Fahren!");
  996. new playername[MAX_PLAYER_NAME];
  997. GetPlayerName(playerid,playername,sizeof(playername));
  998. format(string,128,"Du hast erfolgreich dein Auto für $%i an %s verkauft!",preis,playername);
  999. SendClientMessage(sellerid, COLOR_RED, string);
  1000. }
  1001. else
  1002. {
  1003. format(string, 128, "Du hast nicht genug Geld für das Auto (benötigt: $%i)!", bietetAn[playerid][1]);
  1004. SendClientMessage(playerid, COLOR_GREY, string);
  1005. }
  1006. }
  1007. else
  1008. {
  1009. bietetAn[playerid]={-1,0};
  1010. SendClientMessage(playerid, COLOR_GREY, "Der Verkäufer besitzt kein Auto mehr.");
  1011. }
  1012. }
  1013. else
  1014. {
  1015. SendClientMessage(playerid, COLOR_GREY, "Du besitzt bereits ein Auto!");
  1016. }
  1017. }
  1018. else
  1019. {
  1020. bietetAn[playerid]={-1,0};
  1021. SendClientMessage(playerid, COLOR_GREY, "Der Verkäufer ist offline.");
  1022. }
  1023. }
  1024. else
  1025. {
  1026. SendClientMessage(playerid, COLOR_GREY, "Dir wird kein Auto angeboten.");
  1027. }
  1028. return 1;
  1029. }
  1030. #endif
  1031. return 0;
  1032. }
  1033.  
  1034. public OnPlayerStateChange(playerid, newstate, oldstate)
  1035. {
  1036. if(newstate == PLAYER_STATE_DRIVER)
  1037. {
  1038. new vehicleid = GetPlayerVehicleID(playerid);
  1039. new typ;
  1040. typ=IsAutohausCar(vehicleid);
  1041. if(typ!=-1)
  1042. {
  1043. new string[128];
  1044. TogglePlayerControllable(playerid,0);
  1045. Spectating[playerid][0]=typ;
  1046. SetVehicleParamsForAll(vehicleid,0,1);
  1047. SendClientMessage(playerid, COLOR_YELLOW, "~*~ Autohaus ~*~");
  1048. format(string,128,"Name: %s",Kaufliste[typ][Name]);
  1049. SendClientMessage(playerid, COLOR_YELLOW, string);
  1050. format(string,128,"Preis: $%i",Kaufliste[typ][Preis]);
  1051. SendClientMessage(playerid, COLOR_YELLOW, string);
  1052. format(string,128,"Reparaturkosten: $%i",Kaufliste[typ][Reparatur]);
  1053. SendClientMessage(playerid, COLOR_YELLOW, string);
  1054. SendClientMessage(playerid, COLOR_GREEN, "Dieses Fahrzeug ist zu verkaufen. Um es zu kaufen, benutze: /buycar");
  1055. SendClientMessage(playerid, COLOR_GREEN, "Um das Fahrzeug zu verlassen, benutze: /exitcar");
  1056. }
  1057. }
  1058. return 1;
  1059. }
  1060.  
  1061. public OnVehicleMod(playerid,vehicleid,componentid)
  1062. {
  1063. if (playerid!=GetPlayerFromCarlistCar(vehicleid)) {return 1;}
  1064. if(playerid!=-1)
  1065. {
  1066. new mod=GetModType(componentid);
  1067. switch (mod)
  1068. {
  1069. case 1: { Carlist[playerid][mod1]=componentid; }
  1070. case 2: { Carlist[playerid][mod2]=componentid; }
  1071. case 3: { Carlist[playerid][mod3]=componentid; }
  1072. case 4: { Carlist[playerid][mod4]=componentid; }
  1073. case 5: { Carlist[playerid][mod5]=componentid; }
  1074. case 6: { Carlist[playerid][mod6]=componentid; }
  1075. case 7: { Carlist[playerid][mod7]=componentid; }
  1076. case 8: { Carlist[playerid][mod8]=componentid; }
  1077. case 9: { Carlist[playerid][mod9]=componentid; }
  1078. case 10: { Carlist[playerid][mod10]=componentid; }
  1079. case 11: { Carlist[playerid][mod11]=componentid; }
  1080. case 12: { Carlist[playerid][mod12]=componentid; }
  1081. case 13: { Carlist[playerid][mod13]=componentid; }
  1082. case 14: { Carlist[playerid][mod14]=componentid; }
  1083. case 15: { Carlist[playerid][mod15]=componentid; }
  1084. case 16: { Carlist[playerid][mod16]=componentid; }
  1085. case 17: { Carlist[playerid][mod17]=componentid; }
  1086. default: { new string[128]; format(string,128,"Unbekannte Komponentenid: %i",componentid); print(string); }
  1087. }
  1088. }
  1089. return 1;
  1090. }
  1091.  
  1092. public OnVehiclePaintjob(playerid,vehicleid, paintjobid)
  1093. {
  1094. if (playerid!=GetPlayerFromCarlistCar(vehicleid)) {return 1;}
  1095. if(playerid!=-1)
  1096. {
  1097. Carlist[playerid][Paintjob]=paintjobid;
  1098. }
  1099. return 1;
  1100. }
  1101.  
  1102. public OnVehicleRespray(playerid,vehicleid, color1, color2)
  1103. {
  1104. if (playerid!=GetPlayerFromCarlistCar(vehicleid)) {return 1;}
  1105. if(playerid!=-1)
  1106. {
  1107. Carlist[playerid][Farbe1]=color1;
  1108. Carlist[playerid][Farbe2]=color2;
  1109. }
  1110. return 1;
  1111. }
  1112.  
  1113. public SetVehicleParamsForAll(carid,objective,doorslocked)
  1114. {
  1115. new i;
  1116. for(i=0; i<MAX_PLAYERS; i++) { SetVehicleParamsForPlayer(carid,i,objective,doorslocked); }
  1117. }
  1118.  
  1119. public CreateTunedCar(playerid)
  1120. {
  1121. if(IsPlayerConnected(playerid) && Carlist[playerid][Typ]!=-1)
  1122. {
  1123. new carid=CreateVehicle(Kaufliste[Carlist[playerid][Typ]][Modelid],Carlist[playerid][X],Carlist[playerid][Y],Carlist[playerid][Z],Carlist[playerid][Rotation],-1,-1,-1);
  1124. if(Carlist[playerid][Lock]==1)
  1125. {
  1126. SetVehicleParamsForAll(carid,0,1);
  1127. SetVehicleParamsForPlayer(carid,playerid,0,0);
  1128. }
  1129. if(Carlist[playerid][mod1]!=-1) { AddVehicleComponent(carid,Carlist[playerid][mod1]); }
  1130. if(Carlist[playerid][mod2]!=-1) { AddVehicleComponent(carid,Carlist[playerid][mod2]); }
  1131. if(Carlist[playerid][mod3]!=-1) { AddVehicleComponent(carid,Carlist[playerid][mod3]); }
  1132. if(Carlist[playerid][mod4]!=-1) { AddVehicleComponent(carid,Carlist[playerid][mod4]); }
  1133. if(Carlist[playerid][mod5]!=-1) { AddVehicleComponent(carid,Carlist[playerid][mod5]); }
  1134. if(Carlist[playerid][mod6]!=-1) { AddVehicleComponent(carid,Carlist[playerid][mod6]); }
  1135. if(Carlist[playerid][mod7]!=-1) { AddVehicleComponent(carid,Carlist[playerid][mod7]); }
  1136. if(Carlist[playerid][mod8]!=-1) { AddVehicleComponent(carid,Carlist[playerid][mod8]); }
  1137. if(Carlist[playerid][mod9]!=-1) { AddVehicleComponent(carid,Carlist[playerid][mod9]); }
  1138. if(Carlist[playerid][mod10]!=-1) { AddVehicleComponent(carid,Carlist[playerid][mod10]); }
  1139. if(Carlist[playerid][mod11]!=-1) { AddVehicleComponent(carid,Carlist[playerid][mod11]); }
  1140. if(Carlist[playerid][mod12]!=-1) { AddVehicleComponent(carid,Carlist[playerid][mod12]); }
  1141. if(Carlist[playerid][mod13]!=-1) { AddVehicleComponent(carid,Carlist[playerid][mod13]); }
  1142. if(Carlist[playerid][mod14]!=-1) { AddVehicleComponent(carid,Carlist[playerid][mod14]); }
  1143. if(Carlist[playerid][mod15]!=-1) { AddVehicleComponent(carid,Carlist[playerid][mod15]); }
  1144. if(Carlist[playerid][mod16]!=-1) { AddVehicleComponent(carid,Carlist[playerid][mod16]); }
  1145. if(Carlist[playerid][mod17]!=-1) { AddVehicleComponent(carid,Carlist[playerid][mod17]); }
  1146. if(Carlist[playerid][Paintjob]!=-1) { ChangeVehiclePaintjob(carid,Carlist[playerid][Paintjob]); }
  1147. if(Carlist[playerid][Farbe1]!=-1) { ChangeVehicleColor(carid,Carlist[playerid][Farbe1],Carlist[playerid][Farbe2]); }
  1148. return carid;
  1149. }
  1150. return -1;
  1151. }
  1152.  
  1153. public DelayDestroyCar(playerid)
  1154. {
  1155. SetVehicleParamsForAll(Carlist[playerid][Carid],0,0);
  1156. DestroyVehicle(Carlist[playerid][Carid]);
  1157. Carlist[playerid][Status]=0;
  1158. Carlist[playerid][Carid]=-1;
  1159. return 1;
  1160. }
  1161.  
  1162. public DelaySetVehicleParams(playerid)
  1163. {
  1164. if(!IsPlayerConnected(playerid)) { return 0; }
  1165. new i;
  1166. for(i=0; i<MAX_PLAYERS; i++)
  1167.  
  1168. {
  1169. if(Carlist[i][Carid]!=-1 && Carlist[i][Lock]==1) { SetVehicleParamsForPlayer(Carlist[i][Carid],playerid,0,1); }
  1170. if(Spectating[i][0]!=-1) { SetVehicleParamsForPlayer(Kaufliste[Spectating[i][0]][Carid],playerid,0,1); }
  1171. }
  1172. return 1;
  1173. }
  1174.  
  1175. public ResetAutohausSpawns()
  1176. {
  1177. new i;
  1178. for(i=0; i<sizeof(Kaufliste); i++) { SetVehicleToRespawn(Kaufliste[i][Carid]); }
  1179. }
Advertisement
Add Comment
Please, Sign In to add comment