Advertisement
Guest User

Autohaus (c) by Kaliber

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