Advertisement
Guest User

Autohaus V2.x (c) by Kaliber

a guest
Sep 24th, 2012
970
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 19.60 KB | None | 0 0
  1. /* SA-MP Filterscript
  2. *
  3. * (c) Copyright 2012, Kaliber
  4. *
  5. * Autohaus Version 2.x
  6. */
  7. #include <a_samp>
  8. /******************************************************************************/
  9. #define rot 0xFF6347AA
  10. #define blau 0x33CCFFAA
  11. #define COLOR_WHITE 0xFFFFFFAA
  12. #define COLOR_LIGHTGREEN 0x7CFC00AA
  13. #define gelb 0xFFFF00AA
  14. #define PROPERTY_OFFSET(%0) \
  15. ((((%0) * ((%0) << 1)) << 2) + 65536)
  16. #pragma tabsize 0
  17. /******************************************************************************/
  18. #define Dialog0 7770
  19. #define own 7771
  20. /******************************************************************************/
  21. enum pInfo
  22. {
  23. Float:pX,
  24. Float:pY,
  25. Float:pZ,
  26. Float:pA,
  27. pFarbe1,
  28. pFarbe2,
  29. pKey,
  30. pModel,
  31. pOwner[MAX_PLAYER_NAME],
  32. pCheck,
  33. pPreis
  34. };
  35. new PlayerInfo[MAX_PLAYERS][pInfo],
  36. autohaus[13],
  37. preis[MAX_PLAYERS],
  38. prus[MAX_PLAYERS],
  39. keys[MAX_PLAYERS],
  40. seller[MAX_PLAYERS];
  41. /******************************************************************************/
  42. public OnFilterScriptInit()
  43. {
  44. for(new i; i<MAX_PLAYERS; i++)
  45. {
  46. if(IsPlayerConnected(i))
  47. {
  48. LoadVehicels(i);
  49. }
  50. }
  51. autohaus[0] = AddStaticVehicleEx(461,735.2484,-1331.4486,13.1340,214.0025,53,1,-1); // FCR
  52. autohaus[1] = AddStaticVehicleEx(462,736.5064,-1331.2197,13.1475,219.7516,2,1,-1); // Faggio
  53. autohaus[2] = AddStaticVehicleEx(471,738.4111,-1331.5459,13.0295,222.1726,74,91,-1); // Quad
  54. autohaus[3] = AddStaticVehicleEx(481,740.1883,-1331.2889,13.0631,223.3079,46,46,-1); // Fahrrad
  55. autohaus[4] = AddStaticVehicleEx(522,742.0646,-1331.5498,13.1181,229.8873,8,82,-1); // NRG500
  56. autohaus[5] = AddStaticVehicleEx(541,747.0084,-1332.6116,13.1694,219.3039,68,1,-1); // Bullet
  57. autohaus[6] = AddStaticVehicleEx(560,751.0853,-1332.6547,13.2497,223.7016,17,1,-1); // Sultan
  58. autohaus[7] = AddStaticVehicleEx(562,755.6702,-1332.7100,13.2031,224.5090,11,1,-1); // Elegy
  59. autohaus[8] = AddStaticVehicleEx(402,760.8101,-1332.9711,13.3755,226.7195,39,39,-1); // Buffalo
  60. autohaus[9] = AddStaticVehicleEx(411,765.5320,-1333.0695,13.2706,227.0404,112,1,-1); // Infernus
  61. autohaus[10] = AddStaticVehicleEx(415,770.0448,-1333.0028,13.3156,227.3441,62,1,-1); // Cheetah
  62. autohaus[11] = AddStaticVehicleEx(434,784.6574,-1333.4016,13.5064,142.3078,4,4,-1); // Hotnife
  63. autohaus[12] = AddStaticVehicleEx(451,784.3538,-1338.2789,13.2472,140.9542,18,1,-1); // Turismo
  64. print("\n\tCopyright (c) by Kaliber\n");
  65. return 1;
  66. }
  67. stock Auto(playerid, preiss)
  68. {
  69. new string[256];
  70. format(string, 256,"{FFFFFF}Willst du dieses Auto für {FF0000}%d${FFFFFF} kaufen ?",preiss);
  71. preis[playerid] = preiss;
  72. TogglePlayerControllable(playerid, 0);
  73. ShowPlayerDialog(playerid,Dialog0,DIALOG_STYLE_MSGBOX,"{FF0000}Autohaus",string,"Kaufen","Abbrechen");
  74. }
  75. public OnPlayerStateChange(playerid, newstate, oldstate)
  76. {
  77. if(newstate == PLAYER_STATE_DRIVER)
  78. {
  79. if(GetPlayerVehicleID(playerid) == autohaus[0]) Auto(playerid, 7000);
  80. else if(GetPlayerVehicleID(playerid) == autohaus[1]) Auto(playerid, 1000);
  81. else if(GetPlayerVehicleID(playerid) == autohaus[2]) Auto(playerid, 70000);
  82. else if(GetPlayerVehicleID(playerid) == autohaus[3]) Auto(playerid, 1000);
  83. else if(GetPlayerVehicleID(playerid) == autohaus[4]) Auto(playerid, 50000);
  84. else if(GetPlayerVehicleID(playerid) == autohaus[5]) Auto(playerid, 175000);
  85. else if(GetPlayerVehicleID(playerid) == autohaus[6]) Auto(playerid, 65000);
  86. else if(GetPlayerVehicleID(playerid) == autohaus[7]) Auto(playerid, 14000);
  87. else if(GetPlayerVehicleID(playerid) == autohaus[8]) Auto(playerid, 200000);
  88. else if(GetPlayerVehicleID(playerid) == autohaus[9]) Auto(playerid, 250000);
  89. else if(GetPlayerVehicleID(playerid) == autohaus[10]) Auto(playerid, 225000);
  90. else if(GetPlayerVehicleID(playerid) == autohaus[11]) Auto(playerid, 500000);
  91. else if(GetPlayerVehicleID(playerid) == autohaus[12]) Auto(playerid, 200000);
  92. }
  93. return 1;
  94. }
  95. public OnFilterScriptExit()
  96. {
  97. for(new i; i<13; i++)
  98. {
  99. DestroyVehicle(autohaus[i]);
  100. }
  101. for(new i; i<MAX_PLAYERS; i++)
  102. {
  103. if(PlayerInfo[i][pKey] > 0)
  104. {
  105. DestroyVehicle(PlayerInfo[i][pKey]);
  106. }
  107. }
  108. print("Autohaus geschlossen !");
  109. return 1;
  110. }
  111. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  112. {
  113. new string[256], str[256], sts[128], name[MAX_PLAYER_NAME];
  114. if(dialogid == Dialog0)
  115. {
  116. if(response == 1)
  117. {
  118. if(PlayerInfo[playerid][pKey] > 0)
  119. {
  120. SendClientMessage(playerid, rot,"Du besitzt schon ein Auto !");
  121. RemovePlayerFromVehicle(playerid);
  122. TogglePlayerControllable(playerid, 1);
  123. return 1;
  124. }
  125. if(GetPlayerMoney(playerid) >= preis[playerid])
  126. {
  127. GivePlayerMoney(playerid, -preis[playerid]);
  128. PlayerInfo[playerid][pPreis] = preis[playerid];
  129. format(string, sizeof(string),"769.4449, -1327.1703, 13.3326, 268.7346, 0, 0, %d, %d",GetVehicleModel(GetPlayerVehicleID(playerid)),preis[playerid]);
  130. SaveVehicles(string, playerid);
  131. PlayerInfo[playerid][pKey] = CreateVehicle(GetVehicleModel(GetPlayerVehicleID(playerid)), 769.4449,-1327.1703,13.3326,268.7346,0,0,-1);
  132. GetPlayerName(playerid, name, sizeof(name));
  133. format(sts, sizeof(sts),"%s",name);
  134. SetVehicleNumberPlate(PlayerInfo[playerid][pKey], sts);
  135. SetVehicleToRespawn(PlayerInfo[playerid][pKey]);
  136. SetPlayerPos(playerid, 769.7058,-1324.5464,13.3906);
  137. SetCameraBehindPlayer(playerid);
  138. TogglePlayerControllable(playerid, 1);
  139. format(str, sizeof(str),"Auto erfolgreich für %d$ gekauft !",preis[playerid]);
  140. SendClientMessage(playerid, blau, str);
  141. return 1;
  142. }
  143. else
  144. {
  145. RemovePlayerFromVehicle(playerid);
  146. TogglePlayerControllable(playerid, 1);
  147. SendClientMessage(playerid, rot,"Du besitzt zu wenig Geld für dieses Auto !");
  148. return 1;
  149. }
  150. }
  151. if(response == 0)
  152. {
  153. RemovePlayerFromVehicle(playerid);
  154. TogglePlayerControllable(playerid, 1);
  155. return 1;
  156. }
  157. }
  158. return 1;
  159. }
  160. public OnPlayerDisconnect(playerid)
  161. {
  162. if(PlayerInfo[playerid][pKey] > 0)
  163. {
  164. DestroyVehicle(PlayerInfo[playerid][pKey]);
  165. }
  166. return 1;
  167. }
  168. public OnPlayerConnect(playerid)
  169. {
  170. PlayerInfo[playerid][pKey] = 0;
  171. LoadVehicels(playerid);
  172. return 1;
  173. }
  174. public OnPlayerEnterCheckpoint(playerid)
  175. {
  176. if(PlayerInfo[playerid][pCheck] == 5)
  177. {
  178. GameTextForPlayer(playerid, "~r~Auto~n~~g~gefunden", 5000, 1);
  179. DisablePlayerCheckpoint(playerid);
  180. }
  181. return 1;
  182. }
  183. stock PlayerName(playerid)
  184. {
  185. new name[24];
  186. GetPlayerName(playerid, name, 24);
  187. return name;
  188. }
  189. stock Umschreiben(old, neu)
  190. {
  191. PlayerInfo[neu][pX] = PlayerInfo[old][pX];
  192. PlayerInfo[neu][pY] = PlayerInfo[old][pY];
  193. PlayerInfo[neu][pZ] = PlayerInfo[old][pZ];
  194. PlayerInfo[neu][pA] = PlayerInfo[old][pA];
  195. PlayerInfo[neu][pModel] = PlayerInfo[old][pModel];
  196. PlayerInfo[neu][pFarbe1] = PlayerInfo[old][pFarbe1];
  197. PlayerInfo[neu][pFarbe2] = PlayerInfo[old][pFarbe2];
  198. PlayerInfo[neu][pPreis] = PlayerInfo[old][pPreis];
  199. new string[256];
  200. format(string, sizeof(string),"%f, %f, %f, %f, 0, 0, %d, %d",PlayerInfo[neu][pX],PlayerInfo[neu][pY],PlayerInfo[neu][pZ],PlayerInfo[neu][pA],GetVehicleModel(GetPlayerVehicleID(neu)),PlayerInfo[neu][pPreis]);
  201. SaveVehicles(string, neu);
  202.  
  203. PlayerInfo[old][pX] = 0;
  204. PlayerInfo[old][pY] = 0;
  205. PlayerInfo[old][pZ] = 0;
  206. PlayerInfo[old][pA] = 0;
  207. PlayerInfo[old][pModel] = 0;
  208. PlayerInfo[old][pFarbe1] = 0;
  209. PlayerInfo[old][pFarbe2] = 0;
  210. PlayerInfo[old][pPreis] = 0;
  211. DeleteVehicle(old);
  212. }
  213. public OnPlayerCommandText(playerid, cmdtext[])
  214. {
  215. new cmd[128], idx, string[256], tmp[128];
  216. cmd = strtok(cmdtext, idx);
  217. if(strcmp(cmd, "/aCar", true) == 0)
  218. {
  219. if(prus[playerid] > 0 && keys[playerid] > 0)
  220. {
  221. if(!IsPlayerConnected(seller[playerid]))
  222. {
  223. SendClientMessage(playerid,rot,"Der Verkäufer des Wagens ist nicht mehr online, somit wird das Angebot annuliert !");
  224. seller[playerid] = 0;
  225. prus[playerid] = 0;
  226. keys[playerid] = 0;
  227. return 1;
  228. }
  229. if(GetPlayerMoney(playerid) > prus[playerid])
  230. {
  231. if(PlayerInfo[playerid][pKey] == 0)
  232. {
  233. GivePlayerMoney(playerid, -prus[playerid]);
  234. GivePlayerMoney(seller[playerid], prus[playerid]);
  235. PlayerInfo[seller[playerid]][pKey] = 0;
  236. PlayerInfo[playerid][pKey] = keys[playerid];
  237. format(string, sizeof string,"Spieler %s hat dein Auto für %d$ gekauft !",PlayerName(playerid), prus[playerid]);
  238. SendClientMessage(seller[playerid],blau,string);
  239. format(string, sizeof string,"Du hast das Auto von %s erfolgreich für %d$ gekauft !",PlayerName(seller[playerid]), prus[playerid]);
  240. SendClientMessage(playerid,blau,string);
  241. SendClientMessage(playerid,gelb,"Nutze /findcar um dein neues Auto zu finden !");
  242. Umschreiben(seller[playerid], playerid);
  243. seller[playerid] = 0;
  244. prus[playerid] = 0;
  245. keys[playerid] = 0;
  246. return 1;
  247. }
  248. else
  249. {
  250. format(string, sizeof string,"Spieler %s besitzt bereits ein eigenes Auto !",PlayerName(playerid));
  251. SendClientMessage(seller[playerid],rot,string);
  252. SendClientMessage(playerid,rot,"Du besitzt schon ein eigenes Auto !");
  253. seller[playerid] = 0;
  254. prus[playerid] = 0;
  255. keys[playerid] = 0;
  256. return 1;
  257. }
  258. }
  259. else
  260. {
  261. format(string, sizeof string,"Spieler %s hatte nicht genug Geld um das Auto zu kaufen !",PlayerName(playerid));
  262. SendClientMessage(seller[playerid],rot,string);
  263. SendClientMessage(playerid,rot,"Du hast nicht genug Geld um dir das Auto zu kaufen !");
  264. seller[playerid] = 0;
  265. prus[playerid] = 0;
  266. keys[playerid] = 0;
  267. return 1;
  268. }
  269. }
  270. else return SendClientMessage(playerid,rot,"Dier hat niemand ein Auto angeboten !");
  271. }
  272. if(strcmp(cmd, "/givekey", true) == 0)
  273. {
  274. tmp = strtok(cmdtext, idx);
  275. if(!strlen(tmp)) return SendClientMessage(playerid,rot,"Verwendung: /givekey [spielerid] [Preis]");
  276. new pID = strval(tmp);
  277. if(playerid == pID) return SendClientMessage(playerid,rot,"Du kannst dir nicht selber einen Wagen anbieten !");
  278. if(!IsPlayerConnected(pID)) return SendClientMessage(playerid,rot,"Dieser Spieler ist nicht online !");
  279. new Float: X, Float: Y, Float: Z;
  280. GetPlayerPos(playerid, X, Y, Z);
  281. if(!IsPlayerInRangeOfPoint(pID, 5.0, X, Y, Z)) return SendClientMessage(playerid,rot,"Dieser Spieler ist nicht in deiner Nähe !");
  282. tmp = strtok(cmdtext, idx);
  283. new pri = strval(tmp);
  284. if(pri <= 0 || pri >= 1000000) return SendClientMessage(playerid,rot,"Der Autopreis muss zwischen 1$ und 1.000.000$ liegen !");
  285. format(string, sizeof string,"Du hast Spieler %s dein Auto für %d$ angeboten !",PlayerName(pID), pri);
  286. SendClientMessage(playerid,gelb,string);
  287. format(string, sizeof string,"Dir wurde von Spieler %s ein Auto für %d$ angeboten ! {FF0000}Tippe: /aCar um es zu kaufen !",PlayerName(playerid), pri);
  288. SendClientMessage(pID,gelb,string);
  289. prus[pID] = pri;
  290. keys[pID] = PlayerInfo[playerid][pKey];
  291. seller[pID] = playerid;
  292. return 1;
  293. }
  294. if(strcmp(cmd, "/owner", true) == 0)
  295. {
  296. if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, rot,"Du befindest dich in keinem Auto !");
  297. for(new i; i<MAX_PLAYERS; i++)
  298. {
  299. if(PlayerInfo[i][pKey] == GetPlayerVehicleID(playerid))
  300. {
  301. new name[24];
  302. GetPlayerName(i, name, 24);
  303. format(string, sizeof string,"{FFFFFF}Besitzer: {FF0000}%s",name);
  304. ShowPlayerDialog(playerid,own,DIALOG_STYLE_MSGBOX,"{FFFFFF}Autobesitzer",string,"Bestätigen","");
  305. return 1;
  306. }
  307. }
  308. return ShowPlayerDialog(playerid,own,DIALOG_STYLE_MSGBOX,"{FFFFFF}Autobesitzer","{FF0000}Dieses Auto gehört keinem Spieler !","Bestätigen","");
  309. }
  310. if(strcmp(cmd, "/sellcar", true) == 0)
  311. {
  312. if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, rot,"Du befindest dich in keinem Auto !");
  313. if(PlayerInfo[playerid][pKey] != GetPlayerVehicleID(playerid)) return SendClientMessage(playerid, rot,"Dieses Auto gehört nicht dir !");
  314. if(PlayerInfo[playerid][pKey] == 0) return SendClientMessage(playerid, rot,"Du besitzt noch kein Auto !");
  315. if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pKey])
  316. {
  317. new Float: X, Float: Y, Float: Z, Float: A;
  318. GetVehiclePos(GetPlayerVehicleID(playerid), X, Y, Z);
  319. GetVehicleZAngle(GetPlayerVehicleID(playerid), A);
  320. PlayerInfo[playerid][pX] = 0;
  321. PlayerInfo[playerid][pY] = 0;
  322. PlayerInfo[playerid][pZ] = 0;
  323. PlayerInfo[playerid][pA] = 0;
  324. PlayerInfo[playerid][pModel] = 0;
  325. PlayerInfo[playerid][pFarbe1] = 0;
  326. PlayerInfo[playerid][pFarbe2] = 0;
  327. DeleteVehicle(playerid);
  328. DestroyVehicle(GetPlayerVehicleID(playerid));
  329. PlayerInfo[playerid][pKey] = 0;
  330. GivePlayerMoney(playerid, PlayerInfo[playerid][pPreis]/2);
  331. PlayerInfo[playerid][pPreis] = 0;
  332. SendClientMessage(playerid, blau,"Du hast dein Auto erfolgreich verkauft !");
  333. return 1;
  334. }
  335. else
  336. {
  337. return SendClientMessage(playerid, rot,"Dieses Auto gehört nicht dir !");
  338. }
  339. }
  340. if(strcmp(cmd, "/findcar", true) == 0)
  341. {
  342. if(PlayerInfo[playerid][pKey] == 0) return SendClientMessage(playerid, rot,"Du besitzt kein Auto !");
  343. new Float: X, Float: Y, Float: Z;
  344. GetVehiclePos(PlayerInfo[playerid][pKey], X, Y, Z);
  345. SetPlayerCheckpoint(playerid, X, Y, Z, 7.0);
  346. PlayerInfo[playerid][pCheck] = 5;
  347. SendClientMessage(playerid, blau,"Dein Auto wurde dir auf der Karte markiert !");
  348. return 1;
  349. }
  350. if(strcmp(cmd, "/lock", true) == 0)
  351. {
  352. if(PlayerInfo[playerid][pKey] == 0) return SendClientMessage(playerid, rot,"Du besitzt kein Auto !");
  353. new Float: X, Float: Y, Float: Z;
  354. GetVehiclePos(PlayerInfo[playerid][pKey], X, Y, Z);
  355. if(IsPlayerInRangeOfPoint(playerid, 10.0, X, Y, Z))
  356. {
  357. new engine, lights, alarm, doors, bonnet, boot, objective;
  358. GetVehicleParamsEx(PlayerInfo[playerid][pKey], engine, lights, alarm, doors, bonnet, boot, objective);
  359. if(doors == 0)
  360. {
  361. SetVehicleParamsEx(PlayerInfo[playerid][pKey], engine, lights, alarm, 1, bonnet, boot, objective);
  362. GameTextForPlayer(playerid, "~r~Abgeschlossen", 5000, 5);
  363. }
  364. else
  365. {
  366. SetVehicleParamsEx(PlayerInfo[playerid][pKey], engine, lights, alarm, 0, bonnet, boot, objective);
  367. GameTextForPlayer(playerid, "~g~Aufgeschlossen", 5000, 5);
  368. }
  369. }
  370. else
  371. {
  372. return SendClientMessage(playerid, rot,"Du befindest dich nicht in der Nähe von deinem Auto !");
  373. }
  374. return 1;
  375. }
  376. if(strcmp(cmd, "/parken", true) == 0)
  377. {
  378. if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, rot,"Du befindest dich in keinem Auto !");
  379. if(PlayerInfo[playerid][pKey] == 0) return SendClientMessage(playerid, rot,"Du besitzt noch kein Auto !");
  380. if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pKey])
  381. {
  382. new Float: X, Float: Y, Float: Z, Float: A;
  383. GetVehiclePos(GetPlayerVehicleID(playerid), X, Y, Z);
  384. GetVehicleZAngle(GetPlayerVehicleID(playerid), A);
  385. PlayerInfo[playerid][pX] = X;
  386. PlayerInfo[playerid][pY] = Y;
  387. PlayerInfo[playerid][pZ] = Z;
  388. PlayerInfo[playerid][pA] = A;
  389. PlayerInfo[playerid][pModel] = GetVehicleModel(GetPlayerVehicleID(playerid));
  390. new color1, color2;
  391. GetVehicleColor(GetPlayerVehicleID(playerid), color1, color2);
  392. PlayerInfo[playerid][pFarbe1] = color1;
  393. PlayerInfo[playerid][pFarbe2] = color2;
  394. format(string, sizeof(string),"%f, %f, %f, %f, %d, %d, %d, %d",X,Y,Z,A,color1,color2,GetVehicleModel(GetPlayerVehicleID(playerid)),PlayerInfo[playerid][pPreis]);
  395. SaveVehicles(string,playerid);
  396. DestroyVehicle(GetPlayerVehicleID(playerid));
  397. PlayerInfo[playerid][pKey] = CreateVehicle(PlayerInfo[playerid][pModel],PlayerInfo[playerid][pX],PlayerInfo[playerid][pY],PlayerInfo[playerid][pZ],PlayerInfo[playerid][pA],PlayerInfo[playerid][pFarbe1],PlayerInfo[playerid][pFarbe2],-1);
  398. PutPlayerInVehicle(playerid, PlayerInfo[playerid][pKey], 0);
  399. SendClientMessage(playerid, blau,"Du hast dein Auto erfolgreich geparkt !");
  400. return 1;
  401. }
  402. else
  403. {
  404. return SendClientMessage(playerid, rot,"Dieses Auto gehört nicht dir !");
  405. }
  406. }
  407. return 0;
  408. }
  409. stock DeleteVehicle(playerid)
  410. {
  411. new name[MAX_PLAYER_NAME], string[256];
  412. GetPlayerName(playerid, name, sizeof(name));
  413. format(string, sizeof(string),"/Autohaus/%s.ini",name);
  414. if(fexist(string))
  415. {
  416. fremove(string);
  417. }
  418. return 1;
  419. }
  420. stock LoadVehicels(playerid)
  421. {
  422. new arrCoords[30][64];
  423. new strFromFile2[256];
  424. new string[256], name[MAX_PLAYER_NAME];
  425. GetPlayerName(playerid, name, sizeof(name));
  426. format(string, sizeof(string),"/Autohaus/%s.ini",name);
  427. if(!fexist(string)) return 1;
  428. new File: file = fopen(string, io_read);
  429. if (file)
  430. {
  431. fread(file, strFromFile2);
  432. split(strFromFile2, arrCoords, ',');
  433. PlayerInfo[playerid][pX] = floatstr(arrCoords[0]);
  434. PlayerInfo[playerid][pY] = floatstr(arrCoords[1]);
  435. PlayerInfo[playerid][pZ] = floatstr(arrCoords[2]);
  436. PlayerInfo[playerid][pA] = floatstr(arrCoords[3]);
  437. PlayerInfo[playerid][pFarbe1] = strval(arrCoords[4]);
  438. PlayerInfo[playerid][pFarbe2] = strval(arrCoords[5]);
  439. PlayerInfo[playerid][pModel] = strval(arrCoords[6]);
  440. PlayerInfo[playerid][pPreis] = strval(arrCoords[7]);
  441. strmid(PlayerInfo[playerid][pOwner], name, 0, strlen(name), 255);
  442. new str[128];
  443. format(str, sizeof(str),"%s",name);
  444. PlayerInfo[playerid][pKey] = CreateVehicle(PlayerInfo[playerid][pModel],PlayerInfo[playerid][pX],PlayerInfo[playerid][pY],PlayerInfo[playerid][pZ],PlayerInfo[playerid][pA],PlayerInfo[playerid][pFarbe1],PlayerInfo[playerid][pFarbe2],-1);
  445. SetVehicleNumberPlate(PlayerInfo[playerid][pKey],str);
  446. SetVehicleToRespawn(PlayerInfo[playerid][pKey]);
  447. fclose(file);
  448. }
  449. return 1;
  450. }
  451. stock SaveVehicles(string[],playerid)
  452. {
  453. new entry[256],str[256],name[MAX_PLAYER_NAME];
  454. GetPlayerName(playerid, name, sizeof(name));
  455. format(str, sizeof(str),"/Autohaus/%s.ini",name);
  456. format(entry, sizeof(entry), "%s\n",string);
  457. new File:hFile;
  458. hFile = fopen(str, io_write);
  459. fwrite(hFile, entry);
  460. fclose(hFile);
  461. }
  462. /******************************************************************************/
  463. stock split(const strsrc[], strdest[][], delimiter)
  464. {
  465. new i, li;
  466. new aNum;
  467. new len;
  468. while(i <= strlen(strsrc)){
  469. if(strsrc[i]==delimiter || i==strlen(strsrc)){
  470. len = strmid(strdest[aNum], strsrc, li, i, 128);
  471. strdest[aNum][len] = 0;
  472. li = i+1;
  473. aNum++;
  474. }
  475. i++;
  476. }
  477. return 1;
  478. }
  479. strtok(const string[], &index)
  480. {
  481. new length = strlen(string);
  482. while ((index < length) && (string[index] <= ' '))
  483. {
  484. index++;
  485. }
  486. new offset = index;
  487. new result[20];
  488. while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
  489. {
  490. result[index - offset] = string[index];
  491. index++;
  492. }
  493. result[index - offset] = EOS;
  494. return result;
  495. }
  496. stock GetVehicleColor(vehicleID, &color1, &color2)
  497. {
  498. vehicleID = PROPERTY_OFFSET(vehicleID);
  499.  
  500. if(existproperty(_, "", vehicleID))
  501. {
  502. new
  503. colorStr[24],
  504. strPos
  505. ;
  506. getproperty(_, "", vehicleID, colorStr);
  507. strunpack(colorStr, colorStr);
  508.  
  509. if((strPos = strfind(colorStr, "-")) != -1)
  510. {
  511. color1 = strval(colorStr);
  512. color2 = strval(colorStr[strPos + 1]);
  513. return 1;
  514. }
  515. }
  516. return 0;
  517. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement