Advertisement
Guest User

Untitled

a guest
May 5th, 2012
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 42.32 KB | None | 0 0
  1. //Source for max car speed: http://gta.wikia.com/Vehicle_Stats_in_GTA_San_Andreas
  2. #define FILTERSCRIPT
  3. #include <a_samp>
  4. #include <sscanf2>
  5. #include <YSI/y_ini>
  6. #include <YSI\y_commands>
  7. #include <fixchars>
  8. #pragma tabsize 0
  9.  
  10. #define COORDINATES 1539.8837,-1727.0519,13.5469//Ide írd be a koordinátákat
  11. #define COORDINATES_FOR_BUY 1419.2805,-1727.1952,13.5391//A /autovesz koordinátája
  12. #define SPAWN_cX 1419.2805//A megvett autó X koordinátája
  13. #define SPAWN_cY -1727.1952//A megvett autó Y koordinátája
  14. #define SPAWN_cZ 13.5391//A megvett autó Z koordinátája
  15. #define SPAWN_cA 90//A megvett autó forgása
  16. #define COLOR_RED 0xCF212D
  17. #define SCM SendClientMessage
  18. #define NUMBER_FOR_LOAD 2
  19. #define MAX_CARS 1000
  20. #define NUMBER_OF_VEHICLES 4
  21. #define Player_File "CoS/Player/%s.ini"
  22. #define CoS_File "CoS/%d.ini"
  23. #define DIALOG_CARS 1390
  24. new bool:False = false, _S_T_R_[128];
  25. #define SendFormatMSG(%0,%1,%2,%3)\
  26. do{\
  27. format(_S_T_R_, sizeof (_S_T_R_), (%2), %3);\
  28. SendClientMessage((%0),(%1), _S_T_R_);\
  29. }\
  30. while (False)
  31.  
  32. #define COL_WHITE "{FFFFFF}"
  33.  
  34. new
  35. VehicleID,
  36. ChoosedCar,
  37. Text:CoSTD0[MAX_PLAYERS],
  38. bool:PlayerSwitchVehicle[MAX_PLAYERS],
  39. bool:PlayerChooseVehicle,
  40. maximalcars,
  41. GPSOn[MAX_PLAYERS],
  42. Seller[MAX_PLAYERS],
  43. Priceo[MAX_PLAYERS],
  44. Text:AlarmTD0[MAX_PLAYERS],
  45. Text:AlarmTD1[MAX_PLAYERS],
  46. AlarmChoose[MAX_PLAYERS],
  47. AlarmChooseID[MAX_PLAYERS];
  48. enum cars
  49. {
  50. Model,
  51. Price,
  52. Level,
  53. Speed
  54. }
  55. new CarModel[NUMBER_OF_VEHICLES][cars];
  56.  
  57. enum data
  58. {
  59. Veh1,
  60. Veh2,
  61. Veh3
  62. }
  63. new Player[MAX_PLAYERS][data];
  64.  
  65. enum cdata
  66. {
  67. Model,
  68. Float:cX,
  69. Float:cY,
  70. Float:cZ,
  71. Float:cA,
  72. Col1,
  73. Col2,
  74. Lock,
  75. Owner[32],
  76. ID,
  77. Money,
  78. Gun1,Ammo1,
  79. Gun2,Ammo2,
  80. Alarm
  81. }
  82. new C_Data[MAX_CARS][cdata];
  83.  
  84. new CarNames[][] =
  85. {
  86. "Landstalker", "Bravura", "Buffalo", "Linerunner", "Perrenial", "Sentinel",
  87. "Dumper", "Firetruck", "Trashmaster", "Stretch", "Manana", "Infernus", "Voodoo",
  88. "Pony", "Mule", "Cheetah", "Ambulance", "Leviathan", "Moonbeam", "Esperanto",
  89. "Taxi", "Washington", "Bobcat", "Whoopee", "BF Injection", "Hunter", "Premier",
  90. "Enforcer", "Securicar", "Banshee", "Predator", "Bus", "Rhino", "Barracks",
  91. "Hotknife", "Trailer 1", "Previon", "Coach", "Cabbie", "Stallion", "Rumpo",
  92. "RC Bandit", "Romero", "Packer", "Monster", "Admiral", "Squalo", "Seasparrow",
  93. "Pizzaboy", "Tram", "Trailer 2", "Turismo", "Speeder", "Reefer", "Tropic", "Flatbed",
  94. "Yankee", "Caddy", "Solair", "Berkley's RC Van", "Skimmer", "PCJ-600", "Faggio",
  95. "Freeway", "RC Baron", "RC Raider", "Glendale", "Oceanic", "Sanchez", "Sparrow",
  96. "Patriot", "Quad", "Coastguard", "Dinghy", "Hermes", "Sabre", "Rustler", "ZR-350",
  97. "Walton", "Regina", "Comet", "BMX", "Burrito", "Camper", "Marquis", "Baggage",
  98. "Dozer", "Maverick", "Chopper", "Rancher", "FBI Rancher", "Virgo", "Greenwood",
  99. "Jetmax", "Hotring", "Sandking", "Blista Compact", "Police Maverick", "Boxvillde",
  100. "Benson", "Mesa", "RC Goblin", "Hotring Racer A", "Hotring Racer B", "Bloodring Banger",
  101. "Rancher", "Super GT", "Elegant", "Journey", "Bike", "Mountain Bike", "Beagle",
  102. "Cropduster", "Stunt", "Tanker", "Roadtrain", "Nebula", "Majestic", "Buccaneer",
  103. "Shamal", "Hydra", "FCR-900", "NRG-500", "HPV1000", "Cement Truck", "Tow Truck",
  104. "Fortune", "Cadrona", "FBI Truck", "Willard", "Forklift", "Tractor", "Combine",
  105. "Feltzer", "Remington", "Slamvan", "Blade", "Freight", "Streak", "Vortex", "Vincent",
  106. "Bullet", "Clover", "Sadler", "Firetruck", "Hustler", "Intruder", "Primo", "Cargobob",
  107. "Tampa", "Sunrise", "Merit", "Utility", "Nevada", "Yosemite", "Windsor", "Monster",
  108. "Monster", "Uranus", "Jester", "Sultan", "Stratum", "Elegy", "Raindance", "RC Tiger",
  109. "Flash", "Tahoma", "Savanna", "Bandito", "Freight Flat", "Streak Carriage", "Kart",
  110. "Mower", "Dune", "Sweeper", "Broadway", "Tornado", "AT-400", "DFT-30", "Huntley",
  111. "Stafford", "BF-400", "News Van", "Tug", "Trailer 3", "Emperor", "Wayfarer", "Euros",
  112. "Hotdog", "Club", "Freight Box", "Trailer", "Andromada", "Dodo", "RC Cam", "Launch",
  113. "LSPD Car", "SFPD Car", "LVPD Car", "Police Ranger", "Picador", "S.W.A.T Tank", "Alpha",
  114. "Phoenix", "Glendale", "Sadler", "Luggage Trailer 1", "Luggage Trailer 2", "Stairs Trailer",
  115. "Boxville", "Utility Trailer 1", "Utility Trailer 2"
  116. };
  117.  
  118. public OnFilterScriptInit()
  119. {
  120. print("\n--------------------------------------");
  121. print(" CoS by Mr.Gagi Magyarosítva: JBauer");
  122. print("--------------------------------------\n");
  123. AddMoreCar(404,5000,150,2);
  124. AddMoreCar(405,9000,165,3);
  125. AddMoreCar(415,19000,230,7);
  126. AddMoreCar(421,10000,180,5);
  127. VehicleID = AddStaticVehicleEx(CarModel[1][Model],COORDINATES,1,1,3600);
  128. new gFile[35];
  129. for(new i = NUMBER_FOR_LOAD; i <= MAX_CARS;i++)
  130. {
  131. format(gFile, 35, CoS_File,i);
  132. INI_ParseFile(gFile, "LoadCar", .bExtra = true, .extra = i);
  133. C_Data[i][ID] = CreateVehicle(C_Data[i][Model], C_Data[i][cX],C_Data[i][cY],C_Data[i][cZ],C_Data[i][cA], C_Data[i][Col1], C_Data[i][Col2], 30000);
  134. }
  135. return 1;
  136. }
  137.  
  138. public OnFilterScriptExit()
  139. {
  140. return 1;
  141. }
  142.  
  143.  
  144. main()
  145. {
  146. print("\n----------------------------------");
  147. print(" CoS by Mr.Gagi Magyarosítva: JBauer");
  148. print("----------------------------------\n");
  149. }
  150.  
  151. public OnGameModeInit()
  152. {
  153. return 1;
  154. }
  155. public OnGameModeExit()
  156. {
  157. return 1;
  158. }
  159.  
  160. public OnPlayerRequestClass(playerid, classid)
  161. {
  162. return 1;
  163. }
  164. stock GetName(playerid)
  165. {
  166. new
  167. pName[MAX_PLAYER_NAME];
  168.  
  169. GetPlayerName(playerid, pName, MAX_PLAYER_NAME);
  170. return pName;
  171. }
  172. public OnPlayerConnect(playerid)
  173. {
  174. CoSTD0[playerid] = TextDrawCreate(270.000000, 371.000000, "~y~Típus: ~w~Cheetah ~y~Ár: ~g~$5~n~ ~y~Maximális sebesség: ~w~200");
  175. TextDrawBackgroundColor(CoSTD0[playerid], 255);
  176. TextDrawFont(CoSTD0[playerid], 2);
  177. TextDrawLetterSize(CoSTD0[playerid], 0.370000, 1.000000);
  178. TextDrawColor(CoSTD0[playerid], -1);
  179. TextDrawSetOutline(CoSTD0[playerid], 1);
  180. TextDrawSetProportional(CoSTD0[playerid], 1);
  181.  
  182. AlarmTD0[playerid] = TextDrawCreate(40.000000, 150.000000, "~n~");
  183. TextDrawBackgroundColor(AlarmTD0[playerid], 255);
  184. TextDrawFont(AlarmTD0[playerid], 1);
  185. TextDrawLetterSize(AlarmTD0[playerid], 0.360000, 3.300000);
  186. TextDrawColor(AlarmTD0[playerid], -1);
  187. TextDrawSetOutline(AlarmTD0[playerid], 0);
  188. TextDrawSetProportional(AlarmTD0[playerid], 1);
  189. TextDrawSetShadow(AlarmTD0[playerid], 1);
  190. TextDrawUseBox(AlarmTD0[playerid], 1);
  191. TextDrawBoxColor(AlarmTD0[playerid], -206);
  192. TextDrawTextSize(AlarmTD0[playerid], 117.000000, 0.000000);
  193.  
  194. AlarmTD1[playerid] = TextDrawCreate(40.000000, 150.000000, "~p~~h~Riasztó: ~r~BE~n~~n~~p~~h~Riasztó: ~w~KI");
  195. TextDrawBackgroundColor(AlarmTD1[playerid], 255);
  196. TextDrawFont(AlarmTD1[playerid], 2);
  197. TextDrawLetterSize(AlarmTD1[playerid], 0.290000, 0.899999);
  198. TextDrawColor(AlarmTD1[playerid], -1);
  199. TextDrawSetOutline(AlarmTD1[playerid], 1);
  200. TextDrawSetProportional(AlarmTD1[playerid], 1);
  201. new pFile[48];
  202. format(pFile, 48, Player_File, GetName(playerid));
  203.  
  204. if(!fexist(pFile))
  205. {
  206. new
  207. INI:UserFile = INI_Open(pFile);
  208. INI_WriteInt(UserFile, "Veh1",9999);
  209. INI_WriteInt(UserFile, "Veh2", 9999);
  210. INI_WriteInt(UserFile, "Veh3", 9999);
  211. INI_Close(UserFile);
  212. }
  213. INI_ParseFile(pFile, "LoadPlayerData", .bExtra = true, .extra = playerid);
  214. Priceo[playerid] = 0;
  215. Seller[playerid] = 999;
  216. return 1;
  217. }
  218.  
  219. public OnPlayerDisconnect(playerid, reason)
  220. {
  221. TextDrawDestroy(CoSTD0[playerid]);
  222. TextDrawDestroy(AlarmTD0[playerid]);
  223. TextDrawDestroy(AlarmTD1[playerid]);
  224. new
  225. pFile[35];
  226.  
  227. format(pFile, 35, Player_File, GetName(playerid));
  228. new
  229. INI:UserFile = INI_Open(pFile);
  230. INI_WriteInt(UserFile, "Veh1", Player[playerid][Veh1]);
  231. INI_WriteInt(UserFile, "Veh2", Player[playerid][Veh2]);
  232. INI_WriteInt(UserFile, "Veh3", Player[playerid][Veh3]);
  233. INI_Close(UserFile);
  234. return 1;
  235. }
  236.  
  237. public OnPlayerSpawn(playerid)
  238. {
  239. return 1;
  240. }
  241.  
  242. public OnPlayerDeath(playerid, killerid, reason)
  243. {
  244. return 1;
  245. }
  246.  
  247. public OnVehicleSpawn(vehicleid)
  248. {
  249. return 1;
  250. }
  251.  
  252. public OnVehicleDeath(vehicleid, killerid)
  253. {
  254. return 1;
  255. }
  256.  
  257. public OnPlayerText(playerid, text[])
  258. {
  259. return 1;
  260. }
  261.  
  262.  
  263. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)//TU STAo
  264. {
  265. new Float:Pos[3],string[128]; GetPlayerPos(playerid,Pos[0],Pos[1],Pos[2]);
  266. if(vehicleid == VehicleID) return SCM(playerid,-1,"Nem tudsz beülni az autóba."),SetPlayerPos(playerid,Pos[0],Pos[1],Pos[2]);
  267. if(C_Data[vehicleid][Lock] == 1) return GameTextForPlayer(playerid,"~r~Az autó zárva van",3000,0),SetPlayerPos(playerid,Pos[0],Pos[1],Pos[2]);
  268. if(C_Data[vehicleid][Alarm] == 1)
  269. {
  270. format(string,128,"*%s megpróbálja ellopni az autót.",GetName(playerid));
  271. ProxDetector(playerid, string, 0xB91BE0, 30);
  272. SetPlayerPos(playerid,Pos[0],Pos[1],Pos[2]);
  273. return 1;
  274. }
  275. return 1;
  276. }
  277.  
  278. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  279. {
  280. if(newkeys == KEY_SECONDARY_ATTACK)
  281. {
  282. if(AlarmChoose[playerid] == 1)
  283. {
  284. AlarmChoose[playerid] = 0;
  285. C_Data[AlarmChooseID[playerid]][Alarm] = 1;
  286. TextDrawHideForPlayer(playerid,AlarmTD0[playerid]);
  287. TextDrawHideForPlayer(playerid,AlarmTD1[playerid]);
  288. SCM(playerid,-1,"A riasztó bekapcsolva");
  289. CheckCar(AlarmChooseID[playerid]);
  290. RemovePlayerFromVehicle(playerid);
  291. }
  292. if(AlarmChoose[playerid] == 2)
  293. {
  294. AlarmChoose[playerid] = 0;
  295. C_Data[AlarmChooseID[playerid]][Alarm] = 0;
  296. TextDrawHideForPlayer(playerid,AlarmTD0[playerid]);
  297. TextDrawHideForPlayer(playerid,AlarmTD1[playerid]);
  298. SCM(playerid,-1,"A riasztó kikapcsolva.");
  299. CheckCar(AlarmChooseID[playerid]);
  300. RemovePlayerFromVehicle(playerid);
  301. }
  302. if(PlayerSwitchVehicle[playerid] == true)
  303. {
  304. if(Player[playerid][Veh1] == 9999 || Player[playerid][Veh2] == 9999 || Player[playerid][Veh3] == 9999)
  305. {
  306. if(GetPlayerMoney(playerid) < CarModel[ChoosedCar][Price]) return SCM(playerid,-1,"Nincsen elég pénzed.");
  307. if(GetPlayerScore(playerid) < CarModel[ChoosedCar][Level]) return SCM(playerid,-1,"Nincsen elég pontod.");
  308. new i = GetNextFreeID();
  309. SetCameraBehindPlayer(playerid);
  310. SendFormatMSG(playerid,-1,"Megvetted az autót %d$-ért",CarModel[ChoosedCar][Price]);
  311. GivePlayerMoney(playerid,-CarModel[ChoosedCar][Price]);
  312. C_Data[i][Model] = CarModel[ChoosedCar][Model];
  313. C_Data[i][cX] = SPAWN_cX;
  314. C_Data[i][cY] = SPAWN_cY;
  315. C_Data[i][cZ] = SPAWN_cZ;
  316. C_Data[i][cA] = SPAWN_cA;
  317. C_Data[i][Col1] = 1;
  318. C_Data[i][Col2] = 1;
  319. C_Data[i][Lock] = 0;
  320. strmid(C_Data[i][Owner], GetName(playerid), 0, strlen(GetName(playerid)), 999);
  321. TogglePlayerControllable(playerid, 1);
  322. C_Data[i][ID] = CreateVehicle(C_Data[i][Model], C_Data[i][cX],C_Data[i][cY],C_Data[i][cZ],C_Data[i][cA], C_Data[i][Col1], C_Data[i][Col2], 30000);
  323. CreateSaveCar(i);
  324. PlayerSwitchVehicle[playerid] = false;
  325. PlayerChooseVehicle = false;
  326. SetCameraBehindPlayer(playerid);
  327. TextDrawHideForPlayer(playerid,CoSTD0[playerid]);
  328. if(Player[playerid][Veh1] == 9999 && Player[playerid][Veh2] == 9999 && Player[playerid][Veh3] == 9999) {Player[playerid][Veh1] = C_Data[i][ID];}
  329. else if(Player[playerid][Veh2] != 9999 && Player[playerid][Veh1] == 9999 && Player[playerid][Veh3] != 9999){Player[playerid][Veh1] = C_Data[i][ID];}
  330. else if(Player[playerid][Veh1] != 9999 && Player[playerid][Veh2] == 9999 && Player[playerid][Veh3] != 9999){Player[playerid][Veh2] = C_Data[i][ID];}
  331. else if(Player[playerid][Veh1] != 9999 && Player[playerid][Veh2] == 9999 && Player[playerid][Veh3] == 9999){Player[playerid][Veh2] = C_Data[i][ID];}
  332. else if(Player[playerid][Veh3] == 9999 && Player[playerid][Veh1] != 9999 && Player[playerid][Veh2] != 9999){Player[playerid][Veh3] = C_Data[i][ID];}
  333. UpdatePlayerInfo(playerid);
  334. }
  335. else
  336. {
  337. SCM(playerid,-1,"Már van 3 autód (Ez a maximum)!");
  338. }
  339. }
  340. }
  341. return 1;
  342. }
  343.  
  344. public OnRconLoginAttempt(ip[], password[], success)
  345. {
  346. return 1;
  347. }
  348.  
  349. public OnPlayerUpdate(playerid)
  350. {
  351. new Keys, ud, lr;
  352. GetPlayerKeys(playerid, Keys, ud, lr);
  353. if(ud > 0)
  354. {
  355. if(AlarmChoose[playerid] == 1)
  356. {
  357. AlarmChoose[playerid] = 2;
  358. TextDrawSetString(AlarmTD1[playerid],"~p~~h~Riasztó: ~w~BE~n~~n~~p~~h~Riasztó: ~r~KI");
  359. }
  360. else if(AlarmChoose[playerid] == 2)
  361. {
  362. AlarmChoose[playerid] = 1;
  363. TextDrawSetString(AlarmTD1[playerid],"~p~~h~Riasztó: ~r~BE~n~~n~~p~~h~Riasztó: ~w~KI");
  364. }
  365. }
  366. if(PlayerSwitchVehicle[playerid] == true)
  367. {
  368. new string[128];
  369. GetPlayerKeys(playerid, Keys, ud, lr);
  370. if(lr > 0)
  371. {
  372. ChoosedCar++;
  373. if(ChoosedCar > maximalcars) {ChoosedCar = 0;}
  374. DestroyVehicle(VehicleID);
  375. VehicleID = CreateVehicle(CarModel[ChoosedCar][Model], COORDINATES, 1,1, 30000);
  376. format(string,sizeof(string),"~y~Név: ~w~%s ~y~Ár: ~g~$%d~n~~y~Szint: ~w~%d~y~ Maximum sebesség: ~w~%d",CarNames[CarModel[ChoosedCar][Model] - 400],CarModel[ChoosedCar][Price],CarModel[ChoosedCar][Level],CarModel[ChoosedCar][Speed]);
  377. TextDrawSetString(CoSTD0[playerid],string);
  378. }
  379. else if(lr < 0)
  380. {
  381. ChoosedCar--;
  382. if (ChoosedCar < 0) {ChoosedCar = maximalcars;}
  383. DestroyVehicle(VehicleID);
  384. VehicleID = CreateVehicle(CarModel[ChoosedCar][Model], COORDINATES, 1,1, 30000);
  385. format(string,sizeof(string),"~y~Név: ~w~%s ~y~Ár: ~g~$%d~n~~y~Szint: ~w~%d~y~ Maximum sebesség: ~w~%d",CarNames[CarModel[ChoosedCar][Model] - 400],CarModel[ChoosedCar][Price],CarModel[ChoosedCar][Level],CarModel[ChoosedCar][Speed]);
  386. TextDrawSetString(CoSTD0[playerid],string);
  387. }
  388. }
  389. return 1;
  390. }
  391.  
  392. public OnPlayerStreamIn(playerid, forplayerid)
  393. {
  394. return 1;
  395. }
  396.  
  397. public OnPlayerStreamOut(playerid, forplayerid)
  398. {
  399. return 1;
  400. }
  401.  
  402. public OnVehicleStreamIn(vehicleid, forplayerid)
  403. {
  404. return 1;
  405. }
  406.  
  407. public OnVehicleStreamOut(vehicleid, forplayerid)
  408. {
  409. return 1;
  410. }
  411.  
  412. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  413. {
  414. switch(dialogid)
  415. {
  416. case DIALOG_CARS+1:
  417. {
  418. if(!response) return SCM(playerid,-1,"Dialog bezárva");
  419. new vehicleid = GetPlayerVehicleID(playerid);
  420. switch(listitem)
  421. {
  422. case 0: {
  423. if(!IsPlayerInAnyVehicle(playerid)) return SCM(playerid,COLOR_RED,"Az autóban kell ülnöd!");
  424. ShowPlayerDialog(playerid,DIALOG_CARS,DIALOG_STYLE_INPUT,"Szín","Ára: $200\nÍrd be a színeket (szín id-t).\n Példa: 5 9","Vált","Mégse"); }
  425. case 1: {
  426. ShowPlayerDialog(playerid,DIALOG_CARS+5,DIALOG_STYLE_LIST,"Autókezelő panel","Első autó\nMásodik autó\nHarmadik autó","Zárás","Mégse");
  427. }
  428. case 2: {
  429. ShowPlayerDialog(playerid,DIALOG_CARS+2,DIALOG_STYLE_LIST,"Autókezelő panel","Első autó\nMásodik autó\nHarmadik autó","Kinyitás","Mégse");
  430. }
  431. case 3: {
  432. new string[128];
  433. if(!IsPlayerInAnyVehicle(playerid)) return SCM(playerid,COLOR_RED,"Autóban kell ülnöd!");
  434. new price = GetVehiclePrice(GetVehicleModel(vehicleid));
  435. if(Player[playerid][Veh3] == 0 && Player[playerid][Veh2] == 0 && Player[playerid][Veh1] == 0) return SCM(playerid,COLOR_RED,"Nincsen autód!");
  436. GivePlayerMoney(playerid, price/2);
  437. SendFormatMSG(playerid,-1,"Eladtad az autódat %d$-ért",price/2);
  438. DestroyVehicle(vehicleid);
  439. if(Player[playerid][Veh1] == vehicleid)
  440. {
  441. format(string,sizeof(string),CoS_File,C_Data[vehicleid][ID]);
  442. C_Data[vehicleid][cX] = 0;
  443. C_Data[vehicleid][cY] = 0;
  444. C_Data[vehicleid][cZ] = 0;
  445. C_Data[vehicleid][Model] = 0;
  446. format(C_Data[vehicleid][Owner],128,"Department");
  447. CheckCar(Player[playerid][Veh1]);
  448. Player[playerid][Veh1] = 0;
  449. UpdatePlayerInfo(playerid);
  450. }
  451. else if(Player[playerid][Veh2] == vehicleid)
  452. {
  453. format(string,sizeof(string),CoS_File,C_Data[vehicleid][ID]);
  454. C_Data[vehicleid][cX] = 0;
  455. C_Data[vehicleid][cY] = 0;
  456. C_Data[vehicleid][cZ] = 0;
  457. C_Data[vehicleid][Model] = 0;
  458. format(C_Data[vehicleid][Owner],128,"Department");
  459. CheckCar(Player[playerid][Veh2]);
  460. Player[playerid][Veh2] = 0;
  461. UpdatePlayerInfo(playerid);
  462. }
  463. else if(Player[playerid][Veh3] == vehicleid)
  464. {
  465. format(string,sizeof(string),CoS_File,C_Data[vehicleid][ID]);
  466. C_Data[vehicleid][cX] = 0;
  467. C_Data[vehicleid][cY] = 0;
  468. C_Data[vehicleid][cZ] = 0;
  469. C_Data[vehicleid][Model] = 0;
  470. format(C_Data[vehicleid][Owner],128,"Department");
  471. CheckCar(Player[playerid][Veh3]);
  472. Player[playerid][Veh3] = 0;
  473. UpdatePlayerInfo(playerid);
  474. }
  475. }
  476. case 4: {
  477. if(!IsPlayerInAnyVehicle(playerid)) return SCM(playerid,COLOR_RED,"Nem ülsz autóban!");
  478. new Float:Pos[4]; GetPlayerPos(playerid,Pos[0],Pos[1],Pos[2]); GetVehicleZAngle(vehicleid, Pos[3]);
  479. C_Data[vehicleid][cX] = Pos[0];
  480. C_Data[vehicleid][cY] = Pos[1];
  481. C_Data[vehicleid][cZ] = Pos[2];
  482. C_Data[vehicleid][cA] = Pos[3];
  483. SetVehiclePos(vehicleid, C_Data[vehicleid][cX],C_Data[vehicleid][cY],C_Data[vehicleid][cZ]);
  484. SetVehicleZAngle(vehicleid, C_Data[vehicleid][cA]);
  485. SCM(playerid,-1,"Autó leparkolva.");
  486. CheckCar(C_Data[vehicleid][ID]);}
  487. case 5: {
  488. ShowPlayerDialog(playerid,DIALOG_CARS+3,DIALOG_STYLE_LIST,"Autókezelő panel","Első autó\nMásodik autó\nHarmadik autó","Kinyit","Mégse");
  489. }
  490. case 6: {
  491. ShowPlayerDialog(playerid,DIALOG_CARS+4,DIALOG_STYLE_LIST,"Autókezelő panel","Első autó\nMásodik autó\nHarmadik autó","Választ","Mégse");
  492. }
  493. }
  494. }
  495.  
  496. case DIALOG_CARS+4://For alarm
  497. {
  498. if(!response) return 1;
  499. switch(listitem)
  500. {
  501. case 0:
  502. {
  503. new id = Player[playerid][Veh1];
  504. new Float:Pos[3]; GetVehiclePos(id,Pos[0],Pos[1],Pos[2]);
  505. if(id == 999) return SCM(playerid,-1,"Nincsen autód ezen a sloton.");
  506. if(!IsPlayerInRangeOfPoint(playerid,40.0,Pos[0],Pos[1],Pos[2])) return SCM(playerid,-1,"Nem vagy az autód közelében.");
  507. AlarmChoose[playerid] = 1;
  508. AlarmChooseID[playerid] = id;
  509. TextDrawShowForPlayer(playerid,AlarmTD0[playerid]);
  510. TextDrawShowForPlayer(playerid,AlarmTD1[playerid]);
  511. TextDrawSetString(AlarmTD1[playerid],"~p~~h~Riasztó: ~r~BE~n~~n~~p~~h~Riasztó: ~w~KI");
  512. }
  513. case 1:
  514. {
  515. new id = Player[playerid][Veh2];
  516. new Float:Pos[3]; GetVehiclePos(id,Pos[0],Pos[1],Pos[2]);
  517. if(id == 999) return SCM(playerid,-1,"Nincsen autód ezen a sloton");
  518. if(!IsPlayerInRangeOfPoint(playerid,40.0,Pos[0],Pos[1],Pos[2])) return SCM(playerid,-1,"Nem vagy az autód közelében.");
  519. AlarmChoose[playerid] = 1;
  520. AlarmChooseID[playerid] = id;
  521. TextDrawShowForPlayer(playerid,AlarmTD0[playerid]);
  522. TextDrawShowForPlayer(playerid,AlarmTD1[playerid]);
  523. TextDrawSetString(AlarmTD1[playerid],"~p~~h~Riasztó: ~r~BE~n~~n~~p~~h~Riasztó: ~w~KI");
  524. }
  525. case 2:
  526. {
  527. new id = Player[playerid][Veh3];
  528. new Float:Pos[3]; GetVehiclePos(id,Pos[0],Pos[1],Pos[2]);
  529. if(id == 999) return SCM(playerid,-1,"Nincsen autód ezen a sloton");
  530. if(!IsPlayerInRangeOfPoint(playerid,40.0,Pos[0],Pos[1],Pos[2])) return SCM(playerid,-1,"Nem vagy az autód közelében.");
  531. AlarmChoose[playerid] = 1;
  532. AlarmChooseID[playerid] = id;
  533. TextDrawShowForPlayer(playerid,AlarmTD0[playerid]);
  534. TextDrawShowForPlayer(playerid,AlarmTD1[playerid]);
  535. TextDrawSetString(AlarmTD1[playerid],"~p~~h~Riasztó: ~r~BE~n~~n~~p~~h~Riasztó: ~w~KI");
  536. }
  537. }
  538. }
  539.  
  540. case DIALOG_CARS+2:
  541. {
  542. switch(listitem)
  543. {
  544. case 0: {
  545. if(Player[playerid][Veh1] != 9999) { C_Data[Player[playerid][Veh1]][Lock] = 0; CheckCar(Player[playerid][Veh1]); } }
  546. case 1: {
  547. if(Player[playerid][Veh2] != 9999) { C_Data[Player[playerid][Veh2]][Lock] = 0; CheckCar(Player[playerid][Veh2]); } }
  548. case 2: {
  549. if(Player[playerid][Veh3] != 9999) { C_Data[Player[playerid][Veh3]][Lock] = 0; CheckCar(Player[playerid][Veh3]); } }
  550. }
  551. }
  552. case DIALOG_CARS+3://Dialog for locate
  553. {
  554. switch(listitem)
  555. {
  556. case 0: {
  557. if(Player[playerid][Veh1] != 9999) {new Float:Postition[3]; GPSOn[playerid] = true; GetVehiclePos(Player[playerid][Veh1],Postition[0],Postition[1],Postition[2]); SetPlayerCheckpoint(playerid,Postition[0],Postition[1],Postition[2],5.0); SCM(playerid,-1,"Vehicle is located for turn of GPS type /gpsoff");} }
  558. case 1: {
  559. if(Player[playerid][Veh2] != 9999) {new Float:Postition[3]; GPSOn[playerid] = true; GetVehiclePos(Player[playerid][Veh2],Postition[0],Postition[1],Postition[2]); SetPlayerCheckpoint(playerid,Postition[0],Postition[1],Postition[2],5.0); SCM(playerid,-1,"Vehicle is located for turn of GPS type /gpsoff");} }
  560. case 2: {
  561. if(Player[playerid][Veh3] != 9999) {new Float:Postition[3]; GPSOn[playerid] = true; GetVehiclePos(Player[playerid][Veh3],Postition[0],Postition[1],Postition[2]); SetPlayerCheckpoint(playerid,Postition[0],Postition[1],Postition[2],5.0); SCM(playerid,-1,"Vehicle is located for turn of GPS type /gpsoff");} }
  562. }
  563. }
  564. case DIALOG_CARS://For color
  565. {
  566. new vehicleid = GetPlayerVehicleID(playerid),col[2];
  567. if(sscanf(inputtext,"ii",col[0],col[1])) return ShowPlayerDialog(playerid,DIALOG_CARS,DIALOG_STYLE_INPUT,"Szín","Írd be a színt (A szín id-jét).\n Példa: 5 9","Vált","Mégse");
  568. C_Data[vehicleid][Col1] = col[0];
  569. C_Data[vehicleid][Col2] = col[1];
  570. GivePlayerMoney(playerid,-200);
  571. ChangeVehicleColor(vehicleid,col[0],col[1]);
  572. CheckCar(vehicleid);
  573. }
  574. case DIALOG_CARS+5://For lock
  575. {
  576. switch(listitem)
  577. {
  578. case 0: {
  579. if(Player[playerid][Veh1] != 9999) { C_Data[Player[playerid][Veh1]][Lock] = 1; CheckCar(Player[playerid][Veh1]); } }
  580. case 1: {
  581. if(Player[playerid][Veh2] != 9999) { C_Data[Player[playerid][Veh2]][Lock] = 1; CheckCar(Player[playerid][Veh2]); } }
  582. case 2: {
  583. if(Player[playerid][Veh3] != 9999) { C_Data[Player[playerid][Veh3]][Lock] = 1; CheckCar(Player[playerid][Veh3]); } }
  584. }
  585. }
  586. }
  587. return 1;
  588. }
  589.  
  590. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  591. {
  592. return 1;
  593. }
  594. forward LoadPlayerData(playerid, name[], value[]);
  595. public LoadPlayerData(playerid, name[], value[])
  596. {
  597. INI_Int("Veh1", Player[playerid][Veh1]);
  598. INI_Int("Veh2", Player[playerid][Veh2]);
  599. INI_Int("Veh3", Player[playerid][Veh3]);
  600. return 1;
  601. }
  602. //Commands
  603. YCMD:autovesz(playerid,params[],help)
  604. {
  605. #pragma unused params
  606. #pragma unused help
  607. if(PlayerChooseVehicle) return SCM(playerid,COLOR_RED,"EROR: "COL_WHITE"Valaki már megvette az autót.");
  608. if(!IsPlayerInRangeOfPoint(playerid,20.0,COORDINATES_FOR_BUY)) return SCM(playerid,COLOR_RED,"Hiba: "COL_WHITE"Nem vagy azon a helyen ahol megveheted az autót.");
  609. PlayerChooseVehicle = true;
  610. PlayerSwitchVehicle[playerid] = true;
  611. ChoosedCar = 0;
  612. SCM(playerid,-1,"Use arrow left and right for choose car");
  613. SCM(playerid,-1,"When you choose you car press 'ENTER'");
  614. SCM(playerid,-1,"If you want to exit type /stopbuying");
  615. TogglePlayerControllable(playerid,false);
  616. DestroyVehicle(VehicleID);
  617. VehicleID = AddStaticVehicleEx(CarModel[ChoosedCar][Model],COORDINATES,1,1,3600);
  618. TextDrawShowForPlayer(playerid,CoSTD0[playerid]);
  619. return 1;
  620. }
  621. YCMD:autovetelvege(playerid,params[],help)
  622. {
  623. #pragma unused params
  624. #pragma unused help
  625. if(!PlayerSwitchVehicle[playerid]) return SCM(playerid,COLOR_RED,"Hiba: "COL_WHITE"Nem veheted meg az autót.");
  626. PlayerChooseVehicle = false;
  627. PlayerSwitchVehicle[playerid] = false;
  628. TogglePlayerControllable(playerid,true);
  629. ChoosedCar = 0;
  630. SCM(playerid,-1,"Befejezted az autó választást.");
  631. TextDrawHideForPlayer(playerid,CoSTD0[playerid]);
  632. return 1;
  633. }
  634. YCMD:v(playerid, params[], help)
  635. {
  636. #pragma unused help
  637. #pragma unused params
  638. new vehicleid = GetPlayerVehicleID(playerid);
  639. if(Player[playerid][Veh3] == 9999 && Player[playerid][Veh2] == 9999 && Player[playerid][Veh1] == 9999) return SCM(playerid,COLOR_RED,"Nincsen autód!");
  640. if(strcmp(C_Data[vehicleid][Owner],GetName(playerid), false ) == 0)
  641. {
  642. ShowPlayerDialog(playerid,DIALOG_CARS+1,DIALOG_STYLE_LIST,"Autókezelő panel","Szín\nAutó zárás\nAutó nyitás\nEladás\nParkolás\nKeresés\nRiasztó","Csináld","Mégse");
  643. }
  644. return 1;
  645. }
  646. YCMD:gpski(playerid, params[], help)
  647. {
  648. #pragma unused help
  649. #pragma unused params
  650. if(!GPSOn[playerid]) return SCM(playerid,COLOR_RED,"Hiba: "COL_WHITE"A gps-ed ki van kapcsolva.");
  651. DisablePlayerCheckpoint(playerid);
  652. GPSOn[playerid] = false;
  653. return 1;
  654. }
  655. YCMD:cnerak(playerid, params[], help)
  656. {
  657. #pragma unused help
  658. #pragma unused params
  659. new string[128],money;
  660. if(!IsPlayerInAnyVehicle(playerid)) return SCM(playerid,COLOR_RED,"Autóban kell lenned!");
  661. new id = GetPlayerVehicleID(playerid);
  662. if(Player[playerid][Veh3] == 9999 && Player[playerid][Veh2] == 9999 && Player[playerid][Veh1] == 9999) return SCM(playerid,COLOR_RED,"Nincsen autód!");
  663. if(Player[playerid][Veh3] == id || Player[playerid][Veh2] == id || Player[playerid][Veh1] == id)
  664. {
  665. new Float:Pos[3]; GetVehiclePos(C_Data[id][ID],Pos[0],Pos[1],Pos[2]);
  666. if(!IsPlayerInRangeOfPoint(playerid,10.0,Pos[0],Pos[1],Pos[2])) return SCM(playerid,COLOR_RED,"Hiba: "COL_WHITE"Nem vagy az autód közelében.");
  667. if(sscanf(params, "i",money)) return SCM(playerid, COLOR_RED, "Használat: /cberak [Összeg]");
  668. if(money > GetPlayerMoney(playerid)) return SCM(playerid, COLOR_RED, "Nincsen ennyi pénzed");
  669. if(money < 1) return SCM(playerid, COLOR_RED, "Az összegnek nagyobbnak kell lennie mint 1");
  670. C_Data[id][Money] += money;
  671. GivePlayerMoney(playerid, -money);
  672. format(string,sizeof(string),"{E0BC1B}Beraktál %d$-t.Most van az autódban %d$",money,C_Data[id][Money]);
  673. SCM(playerid,-1,string);
  674. CheckCar(id);
  675. }
  676. return 1;
  677. }
  678. YCMD:ckivesz(playerid, params[], help)
  679. {
  680. #pragma unused help
  681. #pragma unused params
  682. new string[128],money;
  683. if(!IsPlayerInAnyVehicle(playerid)) return SCM(playerid,COLOR_RED,"Autóban kell lenned!");
  684. new id = GetPlayerVehicleID(playerid);
  685. if(Player[playerid][Veh3] == 9999 && Player[playerid][Veh2] == 9999 && Player[playerid][Veh1] == 9999) return SCM(playerid,COLOR_RED,"Nincsen autód!");
  686. if(Player[playerid][Veh3] == id || Player[playerid][Veh2] == id || Player[playerid][Veh1] == id)
  687. {
  688. new Float:Pos[3]; GetVehiclePos(C_Data[id][ID],Pos[0],Pos[1],Pos[2]);
  689. if(sscanf(params, "i",money)) return SCM(playerid, COLOR_RED, "Usage: /ckivesz [Összeg]");
  690. if(money > C_Data[id][Money]) return SCM(playerid, COLOR_RED, "Nincsen ennyi pénz az autóban.");
  691. if(money < 1) return SCM(playerid, COLOR_RED, "Az összegnek többnek kell lennie mint 1");
  692. C_Data[id][Money] -= money;
  693. GivePlayerMoney(playerid, money);
  694. format(string,sizeof(string),"{E0BC1B}Kivettél %d$-t.Most van az autódban %d$",money,C_Data[id][Money]);
  695. SCM(playerid,-1,string);
  696. CheckCar(id);
  697. }
  698. return 1;
  699. }
  700. YCMD:cberakfegyver(playerid, params[], help)
  701. {
  702. #pragma unused help
  703. new string[128];
  704. if(!IsPlayerInAnyVehicle(playerid)) return SCM(playerid,COLOR_RED,"Az autódban kell lenned!");
  705. new id = GetPlayerVehicleID(playerid);
  706. if(Player[playerid][Veh3] == 9999 && Player[playerid][Veh2] == 9999 && Player[playerid][Veh1] == 9999) return SCM(playerid,COLOR_RED,"Nincsen autód!");
  707. if(Player[playerid][Veh3] == id || Player[playerid][Veh2] == id || Player[playerid][Veh1] == id)
  708. {
  709. new Float:Pos[3]; GetVehiclePos(id,Pos[0],Pos[1],Pos[2]);
  710. new slot,ammo;
  711. if(sscanf(params, "ii",slot,ammo)) return SCM(playerid, COLOR_RED, "Használat: /cberakfegyver [Hely: 1/2] [Töltény]");
  712. if(ammo > GetPlayerAmmo(playerid)) return SCM(playerid, COLOR_RED, "Nincsen ennyi töltényed.");
  713. if(ammo < 1) return SCM(playerid, COLOR_RED, "A tölténynek többnek kell lennie mint 1");
  714. if(slot == 1)
  715. {
  716. if(C_Data[id][Gun1] != 0) return SCM(playerid,COLOR_RED,"Hiba: "COL_WHITE"Már van ezen a helyen fegyver.");
  717. C_Data[id][Gun1] = GetPlayerWeapon(playerid);
  718. C_Data[id][Ammo1] = ammo;
  719. SetPlayerAmmo(playerid,GetPlayerWeapon(playerid),GetPlayerAmmo(playerid)-ammo);
  720. format(string,sizeof(string),"{E0BC1B}Fegyvert raktál be az 1-es slotra.%d tölténnyel.",ammo);
  721. SCM(playerid,-1,string);
  722. CheckCar(id);
  723. }
  724. if(slot == 2)
  725. {
  726. if(C_Data[id][Gun2] != 0) return SCM(playerid,COLOR_RED,"Hiba: "COL_WHITE"Már van ezen a helyen fegyver.");
  727. C_Data[id][Gun2] = GetPlayerWeapon(playerid);
  728. C_Data[id][Ammo2] = ammo;
  729. SetPlayerAmmo(playerid,GetPlayerWeapon(playerid),GetPlayerAmmo(playerid)-ammo);
  730. format(string,sizeof(string),"{E0BC1B}Fegyvert raktál be az 2-es slotra.%d tölténnyel.",ammo);
  731. SCM(playerid,-1,string);
  732. CheckCar(id);
  733. }
  734. }
  735. return 1;
  736. }
  737. YCMD:ckiveszfegyver(playerid, params[], help)
  738. {
  739. #pragma unused help
  740. new string[128];
  741. if(!IsPlayerInAnyVehicle(playerid)) return SCM(playerid,COLOR_RED,"Nem vagy az autódban!");
  742. new id = GetPlayerVehicleID(playerid);
  743. if(Player[playerid][Veh3] == 9999 && Player[playerid][Veh2] == 9999 && Player[playerid][Veh1] == 9999) return SCM(playerid,COLOR_RED,"Nincsen autód!");
  744. if(Player[playerid][Veh3] == id || Player[playerid][Veh2] == id || Player[playerid][Veh1] == id)
  745. {
  746. new Float:Pos[3]; GetVehiclePos(id,Pos[0],Pos[1],Pos[2]);
  747. new slot,ammo;
  748. if(sscanf(params, "ii",slot,ammo)) return SCM(playerid, COLOR_RED, "Használat: /ckiveszfegyver [Hely: 1/2] [Töltény]");
  749. if(ammo < 1) return SCM(playerid, COLOR_RED, "Ammo can't be less then 1");
  750. if(slot == 1)
  751. {
  752. if(C_Data[id][Gun1] != 0) return SCM(playerid,COLOR_RED,"Hiba: "COL_WHITE"Nincsen fegyver ezen a helyen.");
  753. if(ammo > C_Data[id][Ammo1]) return SCM(playerid, COLOR_RED, "Hiba:"COL_WHITE" Az autóban nincsen ennyi töltény.");
  754. GivePlayerWeapon(playerid,C_Data[id][Gun1],ammo);
  755. C_Data[id][Ammo1] -= ammo;
  756. if(C_Data[id][Ammo1] == 0) {C_Data[id][Gun1] = 0;}
  757. format(string,sizeof(string),"{E0BC1B}Kivettél fegyvert az 1-es helyről.%d tölténnyel",ammo);
  758. SCM(playerid,-1,string);
  759. CheckCar(id);
  760. }
  761. if(slot == 2)
  762. {
  763. if(C_Data[id][Gun2] != 0) return SCM(playerid,COLOR_RED,"Hiba: "COL_WHITE"Nincsen fegyver ezen a helyen.");
  764. if(ammo > C_Data[id][Ammo2]) return SCM(playerid, COLOR_RED, "Hiba:"COL_WHITE"Az autóban nincsen ennyi töltény.");
  765. GivePlayerWeapon(playerid,C_Data[id][Gun2],ammo);
  766. C_Data[id][Ammo2] -= ammo;
  767. if(C_Data[id][Ammo2] == 0) {C_Data[id][Gun2] = 0;}
  768. format(string,sizeof(string),"{E0BC2B}Kivettél fegyvert a 2-es helyről.%d tölténnyel",ammo);
  769. SCM(playerid,-2,string);
  770. CheckCar(id);
  771. }
  772. }
  773. return 1;
  774. }
  775. YCMD:eladauto(playerid, params[], help)
  776. {
  777. #pragma unused help
  778. if(!IsPlayerInAnyVehicle(playerid)) return SCM(playerid,COLOR_RED,"Hiba: "COL_WHITE"Nem vagy az autódban");
  779. new pplayerid,price;
  780. if(sscanf(params,"ui",pplayerid,price)) return SCM(playerid,COLOR_RED,"Használat: "COL_WHITE"/eladauto [ID/Név(részlet)] [Összeg]");
  781. if(GetPlayerMoney(pplayerid) < price) return SCM(playerid,COLOR_RED,"Hiba: "COL_WHITE"Ennek a játékosnak nincsen ennyi pénze.");
  782. if(price < 1) return SCM(playerid,COLOR_RED,"Hiba: "COL_WHITE"Legalább 1$-ért add el.");
  783. new Float:Pos[3]; GetPlayerPos(pplayerid,Pos[0],Pos[1],Pos[2]);
  784. if(!IsPlayerInRangeOfPoint(playerid,10.0,Pos[0],Pos[1],Pos[2])) return SCM(playerid,COLOR_RED,"Hiba: "COL_WHITE"Nincsen a közeledben ez a játékos");
  785. if(Player[playerid][Veh3] == 9999 && Player[playerid][Veh2] == 9999 && Player[playerid][Veh1] == 9999) return SCM(playerid,COLOR_RED,"Nincsen autód!");
  786. if(Player[pplayerid][Veh3] != 9999 && Player[pplayerid][Veh2] != 9999 && Player[pplayerid][Veh1] != 9999) return SCM(playerid,COLOR_RED,"A játékosnak már megvan a három autója!");
  787. Seller[pplayerid] = playerid;
  788. Priceo[pplayerid] = price;
  789. SendFormatMSG(pplayerid,-1," %s játékos eladná neked az autóját %d$-ért. Ha meg akarod venni írd be: /megveszem",Priceo[playerid]);
  790. SCM(playerid,-1,"Várj a válaszra.");
  791. return 1;
  792. }
  793. YCMD:nemveszemmeg(playerid, params[], help)
  794. {
  795. #pragma unused help
  796. #pragma unused params
  797. if(Seller[playerid] == 999) return SCM(playerid,COLOR_RED,"Hiba: "COL_WHITE"Nem ajánlották fel, hogy eladnak neked egy autót.");
  798. SCM(playerid,-1,"Visszautasítottad az ajánlatot.");
  799. SCM(Seller[playerid],-1,"A játékos visszautasította az ajánlatot.");
  800. Priceo[playerid] = 0;
  801. Seller[playerid] = 999;
  802. return 1;
  803. }
  804. YCMD:megveszem(playerid, params[], help)
  805. {
  806. #pragma unused help
  807. #pragma unused params
  808. new id = GetPlayerVehicleID(playerid);
  809. if(Seller[playerid] == 999) return SCM(playerid,COLOR_RED,"Hiba: "COL_WHITE"Nem ajánlották fel, hogy eladnak neked egy autót.");
  810. if(!IsPlayerInAnyVehicle(Seller[playerid])) return SCM(playerid,COLOR_RED,"Hiba: "COL_WHITE"A játékos nincsen az autóban.");
  811. if(Player[Seller[playerid]][Veh3] == id)
  812. {
  813. if(Player[playerid][Veh1] == 9999 && Player[playerid][Veh2] == 9999 && Player[playerid][Veh3] == 9999) {Player[playerid][Veh1] = Player[Seller[playerid]][Veh3];}
  814. else if(Player[playerid][Veh2] != 9999 && Player[playerid][Veh1] == 9999 && Player[playerid][Veh3] != 9999){Player[playerid][Veh1] = Player[Seller[playerid]][Veh3];}
  815. else if(Player[playerid][Veh1] != 9999 && Player[playerid][Veh2] == 9999 && Player[playerid][Veh3] != 9999){Player[playerid][Veh2] = Player[Seller[playerid]][Veh3];}
  816. else if(Player[playerid][Veh1] != 9999 && Player[playerid][Veh2] == 9999 && Player[playerid][Veh3] == 9999){Player[playerid][Veh2] = Player[Seller[playerid]][Veh3];}
  817. else if(Player[playerid][Veh3] == 9999 && Player[playerid][Veh1] != 9999 && Player[playerid][Veh2] != 9999){Player[playerid][Veh3] = Player[Seller[playerid]][Veh3];}
  818. strmid(C_Data[id][Owner], GetName(playerid), 0, strlen(GetName(playerid)), 999);
  819. GivePlayerMoney(Seller[playerid],Priceo[playerid]);
  820. GivePlayerMoney(playerid,-Priceo[playerid]);
  821. SendFormatMSG(playerid,-1,"Megvetted az autót %d$-ért",Priceo[playerid]);
  822. SendFormatMSG(Seller[playerid],-1,"Eladtad az autót %d$-ért",Priceo[playerid]);
  823. CheckCar(id);
  824. RemovePlayerFromVehicle(Seller[playerid]);
  825. Priceo[playerid] = 0;
  826. Seller[playerid] = 999;
  827. }
  828. if(Player[Seller[playerid]][Veh2] == id)
  829. {
  830. if(Player[playerid][Veh1] == 9999 && Player[playerid][Veh2] == 9999 && Player[playerid][Veh3] == 9999) {Player[playerid][Veh1] = Player[Seller[playerid]][Veh2];}
  831. else if(Player[playerid][Veh2] != 9999 && Player[playerid][Veh1] == 9999 && Player[playerid][Veh3] != 9999){Player[playerid][Veh1] = Player[Seller[playerid]][Veh2];}
  832. else if(Player[playerid][Veh1] != 9999 && Player[playerid][Veh2] == 9999 && Player[playerid][Veh3] != 9999){Player[playerid][Veh2] = Player[Seller[playerid]][Veh2];}
  833. else if(Player[playerid][Veh1] != 9999 && Player[playerid][Veh2] == 9999 && Player[playerid][Veh3] == 9999){Player[playerid][Veh2] = Player[Seller[playerid]][Veh2];}
  834. else if(Player[playerid][Veh3] == 9999 && Player[playerid][Veh1] != 9999 && Player[playerid][Veh2] != 9999){Player[playerid][Veh3] = Player[Seller[playerid]][Veh2];}
  835. strmid(C_Data[id][Owner], GetName(playerid), 0, strlen(GetName(playerid)), 999);
  836. GivePlayerMoney(Seller[playerid],Priceo[playerid]);
  837. GivePlayerMoney(playerid,-Priceo[playerid]);
  838. SendFormatMSG(playerid,-1,"Megvetted az autót %d$-ért",Priceo[playerid]);
  839. SendFormatMSG(playerid,-1,"Eladtad az autót %d$-ért",Priceo[playerid]);
  840. CheckCar(id);
  841. RemovePlayerFromVehicle(Seller[playerid]);
  842. Priceo[playerid] = 0;
  843. Seller[playerid] = 999;
  844. }
  845. if(Player[Seller[playerid]][Veh1] == id)
  846. {
  847. if(Player[playerid][Veh1] == 9999 && Player[playerid][Veh2] == 9999 && Player[playerid][Veh3] == 9999) {Player[playerid][Veh1] = Player[Seller[playerid]][Veh1];}
  848. else if(Player[playerid][Veh2] != 9999 && Player[playerid][Veh1] == 9999 && Player[playerid][Veh3] != 9999){Player[playerid][Veh1] = Player[Seller[playerid]][Veh1];}
  849. else if(Player[playerid][Veh1] != 9999 && Player[playerid][Veh2] == 9999 && Player[playerid][Veh3] != 9999){Player[playerid][Veh2] = Player[Seller[playerid]][Veh1];}
  850. else if(Player[playerid][Veh1] != 9999 && Player[playerid][Veh2] == 9999 && Player[playerid][Veh3] == 9999){Player[playerid][Veh2] = Player[Seller[playerid]][Veh1];}
  851. else if(Player[playerid][Veh3] == 9999 && Player[playerid][Veh1] != 9999 && Player[playerid][Veh2] != 9999){Player[playerid][Veh3] = Player[Seller[playerid]][Veh1];}
  852. strmid(C_Data[id][Owner], GetName(playerid), 0, strlen(GetName(playerid)), 999);
  853. GivePlayerMoney(Seller[playerid],Priceo[playerid]);
  854. GivePlayerMoney(playerid,-Priceo[playerid]);
  855. SendFormatMSG(playerid,-1,"Megvetted az autót %d$-ért",Priceo[playerid]);
  856. SendFormatMSG(playerid,-1,"Eladtad az autót %d$-ért",Priceo[playerid]);
  857. CheckCar(id);
  858. RemovePlayerFromVehicle(Seller[playerid]);
  859. Priceo[playerid] = 0;
  860. Seller[playerid] = 999;
  861. }
  862. return 1;
  863. }
  864. //Stock
  865. stock AddMoreCar(model,price,speed,level)
  866. {
  867. CarModel[maximalcars][Model] = model;
  868. CarModel[maximalcars][Price] = price;
  869. CarModel[maximalcars][Speed] = speed;
  870. CarModel[maximalcars][Level] = level;
  871. maximalcars++;
  872. }
  873. stock CreateSaveCar(id)
  874. {
  875. new dFile[32];
  876. format(dFile, 35, CoS_File, id);
  877.  
  878. new
  879. INI:File = INI_Open(dFile);
  880.  
  881. INI_WriteFloat(File, "X", C_Data[id][cX]);
  882. INI_WriteFloat(File, "Y", C_Data[id][cY]);
  883. INI_WriteFloat(File, "Z", C_Data[id][cZ]);
  884. INI_WriteFloat(File, "A", C_Data[id][cA]);
  885. INI_WriteInt(File, "Model", C_Data[id][Model]);
  886. INI_WriteInt(File, "Lock", C_Data[id][Lock]);
  887. INI_WriteString(File, "Owner", C_Data[id][Owner]);
  888. INI_WriteInt(File, "Col1", C_Data[id][Col1]);
  889. INI_WriteInt(File, "Col2", C_Data[id][Col2]);
  890. INI_WriteInt(File, "Money", C_Data[id][Col2]);
  891. INI_WriteInt(File, "Gun1", C_Data[id][Gun1]);
  892. INI_WriteInt(File, "Ammo1", C_Data[id][Ammo1]);
  893. INI_WriteInt(File, "Gun2", C_Data[id][Gun2]);
  894. INI_WriteInt(File, "Ammo2", C_Data[id][Ammo2]);
  895. INI_WriteInt(File, "Alarm", C_Data[id][Alarm]);
  896.  
  897. INI_Close(File);
  898. }
  899. stock CheckCar(id)
  900. {
  901. new dFile[32];
  902. format(dFile, 35, CoS_File, id);
  903.  
  904. new
  905. INI:File = INI_Open(dFile);
  906.  
  907. INI_WriteFloat(File, "X", C_Data[id][cX]);
  908. INI_WriteFloat(File, "Y", C_Data[id][cY]);
  909. INI_WriteFloat(File, "Z", C_Data[id][cZ]);
  910. INI_WriteFloat(File, "A", C_Data[id][cA]);
  911. INI_WriteInt(File, "Model", C_Data[id][Model]);
  912. INI_WriteInt(File, "Lock", C_Data[id][Lock]);
  913. INI_WriteString(File, "Owner", C_Data[id][Owner]);
  914. INI_WriteInt(File, "Col1", C_Data[id][Col1]);
  915. INI_WriteInt(File, "Col2", C_Data[id][Col2]);
  916. INI_WriteInt(File, "Money", C_Data[id][Col2]);
  917. INI_WriteInt(File, "Gun1", C_Data[id][Gun1]);
  918. INI_WriteInt(File, "Ammo1", C_Data[id][Ammo1]);
  919. INI_WriteInt(File, "Gun2", C_Data[id][Gun2]);
  920. INI_WriteInt(File, "Ammo2", C_Data[id][Ammo2]);
  921. INI_WriteInt(File, "Alarm", C_Data[id][Alarm]);
  922.  
  923. INI_Close(File);
  924. }
  925. stock GetNextFreeID()
  926. {
  927. new string[32];
  928. for(new i = NUMBER_FOR_LOAD; i <= MAX_CARS;i++)
  929. {
  930. format(string,32,CoS_File,i);
  931. if(!fexist(string)) return i;
  932. }
  933. return 1;
  934. }
  935. stock GetVehiclePrice(model)
  936. {
  937. for(new id = 0; id <= maximalcars;id++)
  938. {
  939. if(CarModel[id][Model] == model) return CarModel[id][Price];
  940. }
  941. return 1;
  942. }
  943. stock UpdatePlayerInfo(playerid)
  944. {
  945. new
  946. pFile[35];
  947.  
  948. format(pFile, 35, Player_File, GetName(playerid));
  949. new
  950. INI:UserFile = INI_Open(pFile);
  951. INI_WriteInt(UserFile, "Veh1", Player[playerid][Veh1]);
  952. INI_WriteInt(UserFile, "Veh2", Player[playerid][Veh2]);
  953. INI_WriteInt(UserFile, "Veh3", Player[playerid][Veh3]);
  954. INI_Close(UserFile);
  955. }
  956. stock ProxDetector(playerid, const msg [], color, maxdistance = 50)
  957. {
  958. new
  959. Float: x1,
  960. Float: y1,
  961. Float: z1,
  962. distance,
  963. string [128];
  964.  
  965. if (GetPlayerName (playerid, string, sizeof string))
  966. {
  967. format (string, sizeof string, "%s", msg);
  968. GetPlayerPos (playerid, x1, y1, z1);
  969. for (new i = 0; i < MAX_PLAYERS; ++i)
  970. {
  971. if (IsPlayerConnected (i) && !IsPlayerNPC (i))
  972. {
  973. if (i == playerid)
  974. SCM (i, color, string);
  975. else
  976. {
  977. distance = floatround (GetPlayerDistanceFromPoint (i, x1, y1, z1));
  978. if (distance <= maxdistance)
  979. SCM (i, ColorFade (color, distance, maxdistance), string);
  980. }
  981. }
  982. }
  983. return 1;
  984. }
  985. return 0;
  986. }
  987. stock ColorFade (color, value, maxvalue)
  988. {
  989. if (0 <= value <= maxvalue)
  990. {
  991. new
  992. Float: ratio = float (value) / float (maxvalue);
  993. new
  994. r = max (0, min (255, floatround (float ((color >> 24) & 0xFF) * ratio))),
  995. g = max (0, min (255, floatround (float ((color >> 16) & 0xFF) * ratio))),
  996. b = max (0, min (255, floatround (float ((color >> 8) & 0xFF) * ratio)));
  997. return (r << 24) | (g << 16) | (b << 8) | (value & 0xFF);
  998. }
  999. return 0;
  1000. }
  1001. //public function
  1002. forward LoadCar(id, name[], value[]);
  1003. public LoadCar(id, name[], value[])
  1004. {
  1005. INI_Float("X", C_Data[id][cX]);
  1006. INI_Float("Y", C_Data[id][cY]);
  1007. INI_Float("Z", C_Data[id][cZ]);
  1008. INI_Float("A", C_Data[id][cA]);
  1009. INI_Int("Model", C_Data[id][Model]);
  1010. INI_Int("Lock", C_Data[id][Lock]);
  1011. INI_String("Owner", C_Data[id][Owner],32);
  1012. INI_Int("Col1", C_Data[id][Col1]);
  1013. INI_Int("Col2", C_Data[id][Col2]);
  1014. INI_Int("Money", C_Data[id][Money]);
  1015. INI_Int("Gun1", C_Data[id][Gun1]);
  1016. INI_Int("Ammo1", C_Data[id][Ammo1]);
  1017. INI_Int("Gun2", C_Data[id][Gun2]);
  1018. INI_Int("Ammo2", C_Data[id][Ammo2]);
  1019. INI_Int("Alarm", C_Data[id][Alarm]);
  1020. return 1;
  1021. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement