Advertisement
Guest User

Untitled

a guest
Nov 3rd, 2014
212
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 40.68 KB | None | 0 0
  1. /*
  2. ________________________________________________________________________________
  3. | This OWNERSHIP is made by Petar Eftimov(Enrico Caruso) |
  4. | Ovoj OWNERSHIP e napraven od Petar Eftimov(Enrico Caruso) |
  5. |_______________________________________________________________________________|
  6. | Please don't delete Credits. |
  7. | Ve molam ne brisete gi kreditite. |
  8. |_______________________________________________________________________________|
  9. | © All rights reserved |
  10. | © Site prava se zadrzani |
  11. |_______________________________________________________________________________|
  12. | Scripting: Petar Eftimov(Enrico Caruso) |
  13. | Skriptanje: Petar Eftimov(Enrico Caruso) |
  14. |_______________________________________________________________________________|
  15. | HostName: *DreamTeam RPG Macedonia* |
  16. | Address: 80.95.30.11:2013 |
  17. |_______________________________________________________________________________|
  18. | Ovaa e V1.0 verzija.. |
  19. | V1.1 ke bide so prodadi na igrac isto i so davanje na slotovi na igraci |
  20. |_______________________________________________________________________________|
  21. */
  22. #include <a_samp>
  23. #include <Dini>
  24. #include <zcmd>
  25. #include <sscanf2>
  26. #pragma tabsize 0
  27. #define DIALOG_AVTOMOBIL 7485
  28. #define DIALOG_MOTO 4324
  29. #define DIALOG_BROD 7896
  30. #define DIALOG_LETALO 4325
  31. #define DIALOG_PRODADI 8794
  32. #define DIALOG_KUPI 7846
  33. #define COLOR_GREY 0xAFAFAFAA
  34. #define COLOR_GREEN 0x9EC73DAA
  35. #define COLOR_RED 0xAA3333AA
  36. #define COLOR_LIGHTRED 0xFF6347AA
  37. #define COLOR_LIGHTBLUE 0x33CCFFAA
  38. #define COLOR_LIGHTGREEN 0x9ACD32AA
  39. #define COLOR_YELLOW 0xFFFF00AA
  40. #define COLOR_WHITE 0xFFFFFFAA
  41. #define COLOR_MEDIUMAQUA 0x83BFBFAA
  42. #define SCM SendClientMessage
  43. #define SaveFile "Avta.cfg"
  44.  
  45. #define MAX_MYVEHS 5000
  46. #define MAX_BUYED_VEHS 2
  47.  
  48. forward PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z);
  49.  
  50. //============================== AVTOMOBILI ======================================
  51.  
  52. enum einfo
  53. {
  54. MyVehSlot,
  55. MyVehModel,
  56. Float:MyVehPos[4],
  57. MyVehCol[2],
  58. MyVehLock,
  59. MyVehOwner[MAX_PLAYER_NAME],
  60. MyVehAlarm,
  61. MyVehFsale,
  62. MyVehID,
  63. MyVehCar,
  64. MyVehBike,
  65. MyVehBoat,
  66. MyVehPlane
  67. };
  68. new MyVehicle[MAX_MYVEHS][einfo];
  69.  
  70. new vpj[MAX_VEHICLES];
  71. new vc1[MAX_VEHICLES];
  72. new vc2[MAX_VEHICLES];
  73. new Text:CarShopTextDraw[MAX_PLAYERS];
  74. new IsShoping[MAX_PLAYERS];
  75. new ShopVeh1[4];//0 ID,1 Model,2 col1,3 ol2 kola
  76. new ShopVeh2[4];//0 ID,1 Model,2 col1,3 ol2 motor
  77. new VehButtonSet[MAX_PLAYERS][4];
  78. new clx[MAX_PLAYERS] = 0;
  79. new EnCV[MAX_PLAYERS];
  80. new vCars[29][2] =
  81. {
  82. {411,650000},
  83. {415,520000},
  84. {424,380000},
  85. {426,180000},
  86. {429,400000},
  87. {434,540000},
  88. {437,500000},
  89. {444,850000},
  90. {451,750000},
  91. {477,385000},
  92. {480,240000},
  93. {502,600000},
  94. {503,600000},
  95. {506,470000},
  96. {541,489000},
  97. {550,210000},
  98. {555,241000},
  99. {559,390000},
  100. {558,180000},
  101. {560,500000},
  102. {561,150000},
  103. {562,432156},
  104. {565,170000},
  105. {568,200000},
  106. {579,190500},
  107. {587,456456},
  108. {589,100000},
  109. {602,320000},
  110. {603,270000}
  111. };
  112. new vBikes[10][2]={
  113. {581,21000},//BF-400
  114. {462,1000},//Faggio
  115. {521,16000},//FCR-900
  116. {463,25000},//Freeway
  117. {522,45000},//NRG-500
  118. {461,20000},//PCJ-600
  119. {448,1000},//Pizzaboy
  120. {471,5000},//Quad
  121. {468,30000},//Sanchez
  122. {586,30000}//Wayfarer
  123. };
  124.  
  125. new VehNames[212][] = {
  126. "Landstalker","Bravura","Buffalo","Linerunner","Pereniel","Sentinel","Dumper","Firetruck","Trashmaster","Stretch","Manana","Infernus","Voodoo","Pony","Mule","Cheetah","Ambulance","Leviathan","Moonbeam","Esperanto",
  127. "Taxi","Washington","Bobcat","Mr Whoopee","BF Injection","Hunter","Premier","Enforcer","Securicar","Banshee","Predator","Bus","Rhino","Barracks","Hotknife","Trailer","Previon","Coach","Cabbie","Stallion",
  128. "Rumpo","RC Bandit","Romero","Packer","Monster","Admiral","Squalo","Seasparrow","Pizzaboy","Tram","Trailer","Turismo","Speeder","Reefer","Tropic","Flatbed","Yankee","Caddy","Solair","Berkley's RC Van",
  129. "Skimmer","PCJ-600","Faggio","Freeway","RC Baron","RC Raider","Glendale","Oceanic","Sanchez","Sparrow","Patriot","Quad","Coastguard","Dinghy","Hermes","Sabre","Rustler","ZR350","Walton","Regina",
  130. "Comet","BMX","Burrito","Camper","Marquis","Baggage","Dozer","Maverick","News Chopper","Rancher","FBI Rancher","Virgo","Greenwood","Jetmax","Hotring","Sandking","Blista Compact","Police Maverick","Boxville","Benson",
  131. "Mesa","RC Goblin","Hotring Racer","Hotring Racer","Bloodring Banger","Rancher","Super GT","Elegant","Journey","Bike","Mountain Bike","Beagle","Cropdust","Stunt","Tanker","RoadTrain","Nebula","Majestic","Buccaneer","Shamal",
  132. "Hydra","FCR-900","NRG-500","HPV1000","Cement Truck","Tow Truck","Fortune","Cadrona","FBI Truck","Willard","Forklift","Tractor","Combine","Feltzer","Remington","Slamvan","Blade","Freight","Streak","Vortex",
  133. "Vincent","Bullet","Clover","Sadler","Firetruck","Hustler","Intruder","Primo","Cargobob","Tampa","Sunrise","Merit","Utility","Nevada","Yosemite","Windsor","Monster","Monster","Uranus","Jester",
  134. "Sultan","Stratum","Elegy","Raindance","RC Tiger","Flash","Tahoma","Savanna","Bandito","Freight","Trailer","Kart","Mower","Duneride","Sweeper","Broadway","Tornado","AT-400","DFT-30","Huntley",
  135. "Stafford","BF-400","Newsvan","Tug","Trailer","Emperor","Wayfarer","Euros","Hotdog","Club","Trailer","Trailer","Andromada","Dodo","RC Cam","Launch","Police Car (LSPD)","Police Car (SFPD)","Police Car (LVPD)","Police Ranger",
  136. "Picador","S.W.A.T. Van","Alpha","Phoenix","Glendale","Sadler","Luggage Trailer","Luggage Trailer","Stair Trailer","Boxville","Farm Plow","Utility Trailer"
  137. };
  138. //==============================================================================
  139.  
  140.  
  141.  
  142. public OnFilterScriptInit()
  143. {
  144. for(new i = 0; i < MAX_VEHICLES; i++)
  145. {
  146. vc1[i] = 1;
  147. vc2[i] = 1;
  148. vpj[i] = 3;
  149. }
  150. return 1;
  151. }
  152.  
  153. public OnGameModeInit()
  154. {
  155. LoadMyVehSystem(); // Loadiranje level 1
  156. print("\n----------------------------------");
  157. print(":::::::::LOADING Enrico Ownership");
  158. print("-----------------------------------\n");
  159. return 1;
  160. }
  161. public OnFilterScriptExit()
  162. {
  163. DVozilaTextDraw();// Unistuva Textdraw
  164. for(new i; i< MAX_MYVEHS;i++)
  165. {
  166. if(MyVehicle[i][MyVehSlot] == 1)
  167. {
  168. DestroyVehicle(MyVehicle[i][MyVehID]);
  169. }
  170. }
  171. print("\n----------------------------------");
  172. print("::::::::Se isklucuva Ownershipot");
  173. print("----------------------------------\n");
  174. return 1;
  175. }
  176.  
  177.  
  178. main()
  179. {
  180. }
  181.  
  182. public OnPlayerConnect(playerid)
  183. {
  184. EnCV[playerid] = -1;
  185. return 1;
  186. }
  187.  
  188. public OnPlayerDisconnect(playerid,reason)
  189. {
  190. EnCV[playerid] = -1;
  191. return 1;
  192. }
  193.  
  194. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  195. {
  196. new Float:PEnterPos[3][MAX_PLAYERS];
  197. new string[120];
  198. GetPlayerPos(playerid,PEnterPos[0][playerid],PEnterPos[1][playerid],PEnterPos[2][playerid]);
  199. if(ConvertVehIDtoDYID(vehicleid) != -1)
  200. {
  201. new i;
  202. i = ConvertVehIDtoDYID(vehicleid);
  203. if(MyVehicle[i][MyVehSlot] == 1 && (MyVehicle[i][MyVehCar] != -1 || MyVehicle[i][MyVehBike] != -1 || MyVehicle[i][MyVehBoat] != -1 || MyVehicle[i][MyVehPlane] != -1) && MyVehicle[i][MyVehFsale] < 1)
  204. {
  205. new engine,lights,alarm,doors,bonnet,boot,objective;
  206. GetVehicleParamsEx(GetPlayerVehicleID(playerid), engine , lights , alarm , doors , bonnet , boot , objective);
  207. SetVehicleParamsEx(GetPlayerVehicleID(playerid), engine , lights , 1 , doors , bonnet , boot , objective);
  208. format(string, sizeof(string), "~g~GAZDA:~w~ %s",MyVehicle[i][MyVehOwner]);
  209. GameTextForPlayer(playerid,string,2000,3);
  210. if(MyVehicle[i][MyVehLock] == 1 && !IsPlayerAdmin(playerid))
  211. {SetPlayerPos(playerid,PEnterPos[0][playerid],PEnterPos[1][playerid],PEnterPos[2][playerid]);}
  212. }
  213. if(MyVehicle[i][MyVehFsale] > 0)
  214. {
  215. format(string, sizeof(string),"Marka %s\nCena %d\nDokolku sakate da go kupite\nkliknete ^Kupi^\nZa da izlezete ^Izlez^",VehNames[GetVehicleModel(vehicleid) - 400],MyVehicle[i][MyVehFsale]);
  216. ShowPlayerDialog(playerid, 7846, DIALOG_STYLE_MSGBOX, "Vozilo", string, "Kupi","Izlez");
  217. if(!IsPlayerAdmin(playerid)){SetPlayerPos(playerid,PEnterPos[0][playerid],PEnterPos[1][playerid],PEnterPos[2][playerid]);}
  218. EnCV[playerid] = i;
  219. return 1;
  220. }
  221. }
  222. if(vehicleid == ShopVeh1[0])
  223. {SetPlayerPos(playerid,PEnterPos[0][playerid],PEnterPos[1][playerid],PEnterPos[2][playerid]);
  224. new cijena;
  225. for(new x; x<29;x++){if(vCars[x][0] == GetVehicleModel(ShopVeh1[0]))cijena = vCars[x][1];}
  226. format(string, sizeof(string), "~y~~h~~h~%s~n~~y~~h~Se Prodava:~y~ %d$~y~~h~~h~",VehNames[GetVehicleModel(ShopVeh1[0]) - 400],cijena);
  227. GameTextForPlayer(playerid,string,2000,5);}
  228. if(vehicleid == ShopVeh2[0])
  229. {SetPlayerPos(playerid,PEnterPos[0][playerid],PEnterPos[1][playerid],PEnterPos[2][playerid]);
  230. new cijena;
  231. for(new x; x<10;x++){if(vBikes[x][0] == GetVehicleModel(ShopVeh2[0]))cijena = vBikes[x][1];}
  232. format(string, sizeof(string), "~y~~h~~h~%s~n~~y~~h~Se Prodava:~y~ %d$~y~~h~~h~",VehNames[GetVehicleModel(ShopVeh2[0]) - 400],cijena);
  233. GameTextForPlayer(playerid,string,2000,5);}
  234. return 1;
  235. }
  236. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  237. {
  238. if(dialogid == DIALOG_KUPI)
  239. {
  240. if(response)
  241. {
  242. if(EnCV[playerid] != -1)
  243. {
  244. if(MyVehicle[EnCV[playerid]][MyVehFsale] > 0)
  245. {
  246. if(MyVehicle[EnCV[playerid]][MyVehFsale] <= GetPlayerMoney(playerid))
  247. {
  248. new Float:CPs[3];
  249.  
  250. GetVehiclePos(MyVehicle[EnCV[playerid]][MyVehID],CPs[0],CPs[1],CPs[2]);
  251. if(IsPlayerInRangeOfPoint(playerid,4.2,CPs[0],CPs[1],CPs[2]))
  252. {
  253. if(MyVehicle[EnCV[playerid]][MyVehCar] == 1 && AllMyCars(playerid) >= MAX_BUYED_VEHS) return SCM(playerid, COLOR_LIGHTRED, "{FF4040}GRESKA:{FFFFFF}Nemozete da kupite uste Avtomobili");
  254. if(MyVehicle[EnCV[playerid]][MyVehBike] == 1 && AllMyBikes(playerid) >= MAX_BUYED_VEHS) return SCM(playerid, COLOR_LIGHTRED, "{FF4040}GRESKA:{FFFFFF}Nemozete da kupite uste Motori");
  255. if(MyVehicle[EnCV[playerid]][MyVehBoat] == 1 && AllMyBoats(playerid) >= MAX_BUYED_VEHS) return SCM(playerid, COLOR_LIGHTRED, "{FF4040}GRESKA:{FFFFFF}Nemozete da kupite uste Brodovi");
  256. if(MyVehicle[EnCV[playerid]][MyVehPlane] == 1 && AllMyAirs(playerid) >= MAX_BUYED_VEHS) return SCM(playerid, COLOR_LIGHTRED, "{FF4040}GRESKA:{FFFFFF}Nemozete da kupite uste Letala");
  257. new ime[MAX_PLAYER_NAME];
  258. GetPlayerName(playerid,ime,sizeof(ime));
  259. GivePlayerMoney(playerid, -MyVehicle[EnCV[playerid]][MyVehFsale]);
  260. strmid(MyVehicle[EnCV[playerid]][MyVehOwner], ime, 0, strlen(ime), 64);
  261. MyVehicle[EnCV[playerid]][MyVehFsale] = 0;
  262. UpdateMyVehSystem(EnCV[playerid]);
  263. EnCV[playerid] = -1;
  264. SCM(playerid, COLOR_GREEN, "{37F906}INFO:{FFFFFF}Uspesno go kupivte ova vozilo");
  265. }else{SCM(playerid, COLOR_LIGHTRED, "{FF4040}GRESKA:{FFFFFF}Ne ste pokraj voziloto sto sakate da go kupite");}
  266. }else{SCM(playerid, COLOR_LIGHTRED, "{FF4040}GRESKA:{FFFFFF}Nemate dovolno Pari");}
  267. }else{SCM(playerid, COLOR_LIGHTRED, "{FF4040}GRESKA:{FFFFFF}Ova vozilo ne e na prodazba");}
  268. }else{SCM(playerid, COLOR_LIGHTRED, "{FF4040}GRESKA:{FFFFFF}Ne ste videle vozilo na buy");}
  269. RemovePlayerFromVehicle(playerid);
  270. }
  271. if(!response)
  272. {
  273. SCM(playerid,COLOR_RED,"{37F906}INFO:{FFFFFF}Odbivte da go kupite voziloto");
  274. RemovePlayerFromVehicle(playerid);
  275. }
  276. }
  277. if(dialogid == DIALOG_AVTOMOBIL)
  278. {
  279. if(response)
  280. {
  281. if(listitem == 0)
  282. {
  283. LockMyVehFnc1(playerid);
  284. return 1;
  285. }
  286. if(listitem == 1)
  287. {
  288. LockMyVehFnc(playerid);
  289. return 1;
  290. }
  291. if(listitem == 2)
  292. {
  293. ParkMyVehFnc(playerid);
  294. return 1;
  295. }
  296. if(listitem == 3)
  297. {
  298. LocateMyVehFnc(playerid,0);
  299. return 1;
  300. }
  301. if(listitem == 4)
  302. {
  303. Veh232(playerid);
  304. return 1;
  305. }
  306. }
  307. }
  308. if(dialogid == DIALOG_MOTO)
  309. {
  310. if(response)
  311. {
  312. if(listitem == 0)
  313. {
  314. LockMyVehFnc1(playerid);
  315. return 1;
  316. }
  317. if(listitem == 1)
  318. {
  319. LockMyVehFnc(playerid);
  320. return 1;
  321. }
  322. if(listitem == 2)
  323. {
  324. ParkMyVehFnc(playerid);
  325. return 1;
  326. }
  327. if(listitem == 3)
  328. {
  329. LocateMyVehFnc(playerid,1);
  330. return 1;
  331. }
  332. if(listitem == 4)
  333. {
  334. Veh232(playerid);
  335. return 1;
  336. }
  337. }
  338. }
  339. if(dialogid == DIALOG_BROD)
  340. {
  341. if(response)
  342. {
  343. if(listitem == 0)
  344. {
  345. LockMyVehFnc1(playerid);
  346. return 1;
  347. }
  348. if(listitem == 1)
  349. {
  350. LockMyVehFnc(playerid);
  351. return 1;
  352. }
  353. if(listitem == 2)
  354. {
  355. ParkMyVehFnc(playerid);
  356. return 1;
  357. }
  358. if(listitem == 3)
  359. {
  360. LocateMyVehFnc(playerid,2);
  361. return 1;
  362. }
  363. if(listitem == 4)
  364. {
  365. Veh232(playerid);
  366. return 1;
  367. }
  368. }
  369. }
  370. if(dialogid == DIALOG_LETALO)
  371. {
  372. if(response)
  373. {
  374. if(listitem == 0)
  375. {
  376. LockMyVehFnc1(playerid);
  377. return 1;
  378. }
  379. if(listitem == 1)
  380. {
  381. LockMyVehFnc(playerid);
  382. return 1;
  383. }
  384. if(listitem == 2)
  385. {
  386. ParkMyVehFnc(playerid);
  387. return 1;
  388. }
  389. if(listitem == 3)
  390. {
  391. LocateMyVehFnc(playerid,3);
  392. return 1;
  393. }
  394. if(listitem == 4)
  395. {
  396. Veh232(playerid);
  397. return 1;
  398. }
  399. }
  400. }
  401. if(dialogid == DIALOG_PRODADI)
  402. {
  403. if(response)
  404. {
  405. if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
  406. {
  407. new vozilo = GetPlayerVehicleID(playerid);
  408. if(PlayerOwnedVehID(playerid,vozilo) != -1)
  409. {
  410. new Float:x,Float:y,Float:z;
  411. new Float:a;
  412. {
  413. GetVehiclePos(vozilo, x, y, z);
  414. GetVehicleZAngle(vozilo, a);
  415. strmid(MyVehicle[MyCarID(playerid)][MyVehOwner], "Nikoj", 0, strlen("Nikoj"), 24);
  416. MyVehicle[MyCarID(playerid)][MyVehFsale] = 1;
  417. GivePlayerMoney(playerid, 1);
  418. MyVehicle[MyCarID(playerid)][MyVehPos][0] = x;
  419. MyVehicle[MyCarID(playerid)][MyVehPos][1] = y;
  420. MyVehicle[MyCarID(playerid)][MyVehPos][2] = z;
  421. MyVehicle[MyCarID(playerid)][MyVehPos][3] = a;
  422. SetVehiclePos(vozilo, MyVehicle[MyCarID(playerid)][MyVehPos][0], MyVehicle[MyCarID(playerid)][MyVehPos][1],MyVehicle[MyCarID(playerid)][MyVehPos][2]);
  423. SetVehicleZAngle(vozilo, MyVehicle[MyCarID(playerid)][MyVehPos][3]);
  424. RemovePlayerFromVehicle(playerid);
  425. UpdateMyVehSystem(MyCarID(playerid));
  426. SCM(playerid, COLOR_GREEN, "{37F906}INFO:{FFFFFF}Go prodadovte svoeto vozilo!");
  427. }
  428. }else{SCM(playerid, COLOR_LIGHTRED, "{FF4040}GRESKA:{FFFFFF}Nemate dokumenti od ova vozilo!");}
  429. }else{SCM(playerid, COLOR_LIGHTRED, "{FF4040}GRESKA:{FFFFFF}Morate da bidete vo vozilo!");}
  430. }
  431. if(!response)
  432. {
  433. SCM(playerid,COLOR_RED,"{37F906}INFO:{FFFFFF}Odbivte da go prodadete vaseto vozilo");
  434. }
  435. }
  436. return 1;
  437. }
  438. public OnVehicleSpawn(vehicleid)
  439. {
  440. if(ConvertVehIDtoDYID(vehicleid) != -1)
  441. {
  442. ChangeVehicleColor(vehicleid, MyVehicle[ConvertVehIDtoDYID(vehicleid)][MyVehCol][0], MyVehicle[ConvertVehIDtoDYID(vehicleid)][MyVehCol][1]);
  443. SetVehiclePos(MyVehicle[ConvertVehIDtoDYID(vehicleid)][MyVehID], MyVehicle[ConvertVehIDtoDYID(vehicleid)][MyVehPos][0],MyVehicle[ConvertVehIDtoDYID(vehicleid)][MyVehPos][1],MyVehicle[ConvertVehIDtoDYID(vehicleid)][MyVehPos][2]);
  444. SetVehicleZAngle(MyVehicle[ConvertVehIDtoDYID(vehicleid)][MyVehID], MyVehicle[ConvertVehIDtoDYID(vehicleid)][MyVehPos][3]);
  445. }
  446. return 1;
  447. }
  448. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  449. {
  450. if(ConvertVehIDtoDYID(vehicleid) != -1)
  451. {
  452. MyVehicle[ConvertVehIDtoDYID(vehicleid)][MyVehCol][0] = color1;
  453. MyVehicle[ConvertVehIDtoDYID(vehicleid)][MyVehCol][1] = color2;
  454. UpdateMyVehSystem(ConvertVehIDtoDYID(vehicleid));
  455. }
  456. return 1;
  457. }
  458.  
  459. public OnPlayerUpdate(playerid)
  460. {
  461. ResetVehButton(playerid);
  462. return 1;
  463. }
  464.  
  465. stock Ime(playerid)
  466. {
  467. new ime[MAX_PLAYER_NAME];
  468. GetPlayerName(playerid, ime, MAX_PLAYER_NAME);
  469. return ime;
  470. }
  471.  
  472. //==========VOZILA := Vozila OWNERSHIP==========================================
  473.  
  474.  
  475. stock CVozilaTextDraw()
  476. {
  477. for(new playerid = 0; playerid < MAX_PLAYERS; playerid ++)
  478. {CarShopTextDraw[playerid] = TextDrawCreate(295.500000,310.000000,"~y~Ime~n~~n~~h~~h~~b~Cena:------~n~~n~~h~~h~~y~< ~g~Ponataka ~h~~h~~y~>");
  479. TextDrawAlignment(CarShopTextDraw[playerid],0);
  480. TextDrawBackgroundColor(CarShopTextDraw[playerid],0x000000ff);
  481. TextDrawFont(CarShopTextDraw[playerid],1);
  482. TextDrawLetterSize(CarShopTextDraw[playerid],0.499999,1.000000);
  483. TextDrawColor(CarShopTextDraw[playerid],0xF5DEB3AA);
  484. TextDrawSetOutline(CarShopTextDraw[playerid],1);
  485. TextDrawSetProportional(CarShopTextDraw[playerid],1);
  486. TextDrawSetShadow(CarShopTextDraw[playerid],1);}
  487. }
  488. stock HVozilaTextDraw(playerid)
  489. {TextDrawHideForPlayer(playerid,CarShopTextDraw[playerid]);}
  490. stock SVozilaTextDraw(playerid)
  491. {TextDrawShowForPlayer(playerid,CarShopTextDraw[playerid]);}
  492. stock DVozilaTextDraw()
  493. {for(new playerid = 0; playerid < MAX_PLAYERS; playerid ++)
  494. {TextDrawDestroy(CarShopTextDraw[playerid]);}}
  495.  
  496. stock ResetVehButton(playerid)
  497. {
  498. if(IsShoping[playerid] > 0)
  499. {
  500. new Keys, ud, lr;
  501. GetPlayerKeys(playerid, Keys, ud, lr);
  502. if(lr > 0) // Desno
  503. {VehButtonSet[playerid][0] ++;}
  504. else if(lr < 0) // Levo
  505. {VehButtonSet[playerid][1] ++;}
  506. else if(Keys & KEY_FIRE) // CTRL
  507. {VehButtonSet[playerid][2]++;}
  508. else if(Keys & KEY_SECONDARY_ATTACK) // Enter
  509. {VehButtonSet[playerid][3]++;}
  510. else
  511. {VehButtonSet[playerid][0] = 0;
  512. VehButtonSet[playerid][1] = 0;
  513. VehButtonSet[playerid][2] = 0;
  514. VehButtonSet[playerid][3] = 0;
  515. }
  516. }
  517. return 0;
  518. }
  519.  
  520. //==========MY VEH FUNCTIONS := Vozila OWNERSHIP================================
  521. //Player KeySet
  522. stock ConvertVehIDtoDYID(VehID)
  523. {
  524. for(new dy; dy < sizeof(MyVehicle);dy++)
  525. {
  526. if(MyVehicle[dy][MyVehSlot] == 1)
  527. {
  528. if(VehID == MyVehicle[dy][MyVehID]) return dy;
  529. }
  530. }
  531. return -1;
  532. }
  533.  
  534. stock PlayerOwnedVehID(playerid,vehicleid)
  535. {
  536. new ime[MAX_PLAYER_NAME];
  537. GetPlayerName(playerid,ime,sizeof(ime));
  538. for(new i = 0; i < sizeof(MyVehicle); i++)
  539. {
  540. if(MyVehicle[i][MyVehSlot] == 1 && MyVehicle[i][MyVehID] == vehicleid)
  541. {
  542. if (strmatch(MyVehicle[i][MyVehOwner], ime))return i;
  543. }
  544. }
  545. return -1;
  546. }
  547. stock AllMyBikes(playerid)//bike
  548. {
  549. new ime[MAX_PLAYER_NAME];
  550. GetPlayerName(playerid,ime,sizeof(ime));
  551. if(IsPlayerConnected(playerid))
  552. {
  553. new i, x;
  554. while (i < sizeof(MyVehicle))
  555. {
  556. if(MyVehicle[i][MyVehSlot] == 1)
  557. {
  558. if(MyVehicle[i][MyVehBike] != -1)
  559. {
  560. if (strmatch(MyVehicle[i][MyVehOwner], ime)) x++;
  561. }
  562. }
  563. i++;
  564. }
  565. return x;
  566. }
  567. return -1;
  568. }
  569.  
  570. stock GetMyBikeMID(playerid,ID = 0)//bike
  571. {
  572. new ime[MAX_PLAYER_NAME];
  573. GetPlayerName(playerid,ime,sizeof(ime));
  574. new x = 0;
  575. for (new i; i < sizeof(MyVehicle);i++)
  576. {
  577. if(MyVehicle[i][MyVehSlot] == 1)
  578. {
  579. if(MyVehicle[i][MyVehBike] != -1)
  580. {
  581. if (strmatch(MyVehicle[i][MyVehOwner], ime))
  582. { x++;
  583. if(x >= ID )
  584. {return i;}
  585. // return i;
  586. }
  587. }
  588. }
  589. }
  590. return -1;
  591. }
  592.  
  593. stock AllMyCars(playerid)//car
  594. {
  595. new ime[MAX_PLAYER_NAME];
  596. GetPlayerName(playerid,ime,sizeof(ime));
  597. if(IsPlayerConnected(playerid))
  598. {
  599. new i, x;
  600. while (i < sizeof(MyVehicle))
  601. {
  602. if(MyVehicle[i][MyVehSlot] == 1)
  603. {
  604. if(MyVehicle[i][MyVehCar] != -1)
  605. {
  606. if (strmatch(MyVehicle[i][MyVehOwner], ime)) x++;
  607. }
  608. }
  609. i++;
  610. }
  611. return x;
  612. }
  613. return -1;
  614. }
  615.  
  616. stock GetMyCarMID(playerid,ID = 0)//car
  617. {
  618. new ime[MAX_PLAYER_NAME];
  619. GetPlayerName(playerid,ime,sizeof(ime));
  620. new x = 0;
  621. for (new i; i < sizeof(MyVehicle);i++)
  622. {
  623. if(MyVehicle[i][MyVehSlot] == 1)
  624. {
  625. if(MyVehicle[i][MyVehCar] != -1)
  626. {
  627. if (strmatch(MyVehicle[i][MyVehOwner], ime))
  628. { x++;
  629. if(x >= ID )
  630. {return i;}
  631. // return i;
  632. }
  633. }
  634. }
  635. }
  636. return -1;
  637. }
  638. stock AllMyBoats(playerid)//boat
  639. {
  640. new ime[MAX_PLAYER_NAME];
  641. GetPlayerName(playerid,ime,sizeof(ime));
  642. if(IsPlayerConnected(playerid))
  643. {
  644. new i, x;
  645. while (i < sizeof(MyVehicle))
  646. {
  647. if(MyVehicle[i][MyVehSlot] == 1)
  648. {
  649. if(MyVehicle[i][MyVehBoat] != -1)
  650. {
  651. if (strmatch(MyVehicle[i][MyVehOwner], ime)) x++;
  652. }
  653. }
  654. i++;
  655. }
  656. return x;
  657. }
  658. return -1;
  659. }
  660.  
  661. stock GetMyBoatMID(playerid,ID = 0)//boat
  662. {
  663. new ime[MAX_PLAYER_NAME];
  664. GetPlayerName(playerid,ime,sizeof(ime));
  665. new x = 0;
  666. for (new i; i < sizeof(MyVehicle);i++)
  667. {
  668. if(MyVehicle[i][MyVehSlot] == 1)
  669. {
  670. if(MyVehicle[i][MyVehBoat] != -1)
  671. {
  672. if (strmatch(MyVehicle[i][MyVehOwner], ime))
  673. { x++;
  674. if(x >= ID )
  675. {return i;}
  676. // return i;
  677. }
  678. }
  679. }
  680. }
  681. return -1;
  682. }
  683. stock AllMyAirs(playerid)//air
  684. {
  685. new ime[MAX_PLAYER_NAME];
  686. GetPlayerName(playerid,ime,sizeof(ime));
  687. if(IsPlayerConnected(playerid))
  688. {
  689. new i, x;
  690. while (i < sizeof(MyVehicle))
  691. {
  692. if(MyVehicle[i][MyVehSlot] == 1)
  693. {
  694. if(MyVehicle[i][MyVehPlane] != -1)
  695. {
  696. if (strmatch(MyVehicle[i][MyVehOwner], ime)) x++;
  697. }
  698. }
  699. i++;
  700. }
  701. return x;
  702. }
  703. return -1;
  704. }
  705.  
  706. stock GetMyAirMID(playerid,ID = 0)//air
  707. {
  708. new ime[MAX_PLAYER_NAME];
  709. GetPlayerName(playerid,ime,sizeof(ime));
  710. new x = 0;
  711. for (new i; i < sizeof(MyVehicle);i++)
  712. {
  713. if(MyVehicle[i][MyVehSlot] == 1)
  714. {
  715. if(MyVehicle[i][MyVehPlane] != -1)
  716. {
  717. if (strmatch(MyVehicle[i][MyVehOwner], ime))
  718. { x++;
  719. if(x >= ID )
  720. {return i;}
  721. // return i;
  722. }
  723. }
  724. }
  725. }
  726. return -1;
  727. }
  728. stock MyCarID(playerid)
  729. {
  730. if(IsPlayerInAnyVehicle(playerid))
  731. {
  732. for(new i = 0; i < sizeof(MyVehicle); i++)
  733. {
  734. if(GetPlayerVehicleID(playerid) == MyVehicle[i][MyVehID])return i;
  735. }
  736. }
  737. return -1;
  738. }
  739. //fnc
  740. stock strmatch(const String1[], const String2[])
  741. {
  742. if ((strcmp(String1, String2, true, strlen(String2)) == 0) && (strlen(String2) == strlen(String1)))
  743. {return true;}
  744. else
  745. {return false;}
  746. }
  747. stock Float:GetDisBetweenPlayerAndCar(p1ayerid,carid)
  748. {
  749. new Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2;
  750. if(!IsPlayerConnected(p1ayerid))
  751. {
  752. return -1.00;
  753. }
  754. GetPlayerPos(p1ayerid,x1,y1,z1);
  755. GetVehiclePos(carid,x2,y2,z2);
  756. return floatsqroot(floatpower(floatabs(floatsub(x2,x1)),2)+floatpower(floatabs(floatsub(y2,y1)),2)+floatpower(floatabs(floatsub(z2,z1)),2));
  757. }
  758.  
  759.  
  760. stock GetClosestVehicleToPlayer(playerid)
  761. {
  762. new x,Float:dis,Float:dis2,car;
  763. car = 0;
  764. dis = 99999.99;
  765. for ( x = 0; x < MAX_VEHICLES; x++ )
  766. {
  767. dis2 = GetDisBetweenPlayerAndCar(playerid,x);
  768. if(dis2 < dis && dis2 < 10.0)
  769. {
  770. dis = dis2;
  771. car = x;
  772. }
  773. }
  774. return car;
  775. }
  776. stock VehPriceFromModel(Model)
  777. {
  778. for(new i = 0; i < 29; i++)
  779. {
  780. if(vCars[i][0] == Model) return i;
  781. }
  782. return 0;
  783. }
  784. //Veh Functions
  785. stock MakeXDCarFnc(playerid,X_THREAD,Model,Float:x,Float:y,Float:z,Float:a,col1,col2,name[])//THREAD-0=car=bike,2=boat,3=air
  786. {
  787. for(new i = 0; i < sizeof(MyVehicle); i++ )
  788. {
  789. if(MyVehicle[i][MyVehSlot] == 0)
  790. {
  791. MyVehicle[i][MyVehModel] = Model;
  792. MyVehicle[i][MyVehPos][0]= x;
  793. MyVehicle[i][MyVehPos][1] = y;
  794. MyVehicle[i][MyVehPos][2] = z;
  795. MyVehicle[i][MyVehPos][3] = a;
  796. MyVehicle[i][MyVehCol][0] = col1;
  797. MyVehicle[i][MyVehCol][1] = col2;
  798. MyVehicle[i][MyVehAlarm] = 0;
  799. MyVehicle[i][MyVehLock] = 0;
  800. MyVehicle[i][MyVehCar] = -1;
  801. MyVehicle[i][MyVehPlane] = -1;
  802. MyVehicle[i][MyVehBoat] = -1;
  803. MyVehicle[i][MyVehBike] = -1;
  804. strmid(MyVehicle[i][MyVehOwner], name, 0, strlen(name), 32);
  805.  
  806. MyVehicle[i][MyVehID] = CreateVehicle(
  807. MyVehicle[i][MyVehModel],
  808. MyVehicle[i][MyVehPos][0],
  809. MyVehicle[i][MyVehPos][1],
  810. MyVehicle[i][MyVehPos][2],
  811. MyVehicle[i][MyVehPos][3],
  812. MyVehicle[i][MyVehCol][0],
  813. MyVehicle[i][MyVehCol][1],
  814. 30000);
  815. switch(X_THREAD)
  816. {
  817. case 0:// avtomobil
  818. {
  819. GivePlayerMoney(playerid, -vCars[ShopVeh1[1]][1]);
  820. MyVehicle[i][MyVehCar] = 1;
  821. MyVehicle[i][MyVehSlot] = 1;
  822. SCM(playerid, COLOR_GREEN, "{37F906}INFO:{FFFFFF}Uspesno go kupivte ovoj Avtomobil");
  823. }
  824. case 1://motor
  825. {
  826. GivePlayerMoney(playerid, -vBikes[ShopVeh2[1]][1]);
  827. MyVehicle[i][MyVehBike] = 1;
  828. MyVehicle[i][MyVehSlot] = 1;
  829. SCM(playerid, COLOR_GREEN, "{37F906}INFO:{FFFFFF}Uspesno go kupivte ovoj Motor");
  830. }
  831. case 2:// brod
  832. {
  833. //zemipari
  834. MyVehicle[i][MyVehBoat] = 1;
  835. MyVehicle[i][MyVehSlot] = 1;
  836. SCM(playerid, COLOR_GREEN, "{37F906}INFO:{FFFFFF}Uspesno go kupivte ovoj Brod");
  837. }
  838. case 3:// letalo
  839. {
  840. //zemi pari
  841. MyVehicle[i][MyVehPlane] = 1;
  842. MyVehicle[i][MyVehSlot] = 1;
  843. SCM(playerid, COLOR_GREEN, "{37F906}INFO:{FFFFFF}Uspesno go kupivte ova Letalo");
  844. }
  845. }
  846. UpdateMyVehSystem(i);
  847. printf("MYVC %d,THR %d",i,X_THREAD);
  848. return i;
  849. }
  850. }
  851. return 1;
  852. }
  853. stock ParkMyVehFnc(playerid)
  854. {
  855. // new str[64];
  856. new vozilo = GetPlayerVehicleID(playerid);
  857. if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
  858. {
  859. if(PlayerOwnedVehID(playerid,vozilo) != -1)
  860. {
  861. new Float:x,Float:y,Float:z;
  862. new Float:a;
  863. GetVehiclePos(vozilo, x, y, z);
  864. GetVehicleZAngle(vozilo, a);
  865. MyVehicle[PlayerOwnedVehID(playerid,vozilo)][MyVehPos][0] = x;
  866. MyVehicle[PlayerOwnedVehID(playerid,vozilo)][MyVehPos][1] = y;
  867. MyVehicle[PlayerOwnedVehID(playerid,vozilo)][MyVehPos][2] = z;
  868. MyVehicle[PlayerOwnedVehID(playerid,vozilo)][MyVehPos][3] = a;
  869. SetVehiclePos(vozilo, MyVehicle[PlayerOwnedVehID(playerid,vozilo)][MyVehPos][0], MyVehicle[PlayerOwnedVehID(playerid,vozilo)][MyVehPos][1],MyVehicle[PlayerOwnedVehID(playerid,vozilo)][MyVehPos][2]);
  870. SetVehicleZAngle(vozilo, MyVehicle[PlayerOwnedVehID(playerid,vozilo)][MyVehPos][3]);
  871. RepairVehicle(vozilo);
  872. if(MyVehicle[PlayerOwnedVehID(playerid,vozilo)][MyVehCar] != -1)SCM(playerid, COLOR_YELLOW, "Go parkiravte vasiot avtomobil na ova mesto !");
  873. if(MyVehicle[PlayerOwnedVehID(playerid,vozilo)][MyVehBike] != -1)SCM(playerid, COLOR_YELLOW, "Go parkiravte vasiot motor na ova mesto !");
  874. if(MyVehicle[PlayerOwnedVehID(playerid,vozilo)][MyVehBoat] != -1)SCM(playerid, COLOR_YELLOW, "Go parkiravte vasiot brod na ova mesto !");
  875. if(MyVehicle[PlayerOwnedVehID(playerid,vozilo)][MyVehPlane] != -1)SCM(playerid, COLOR_YELLOW, "Go parkiravte vaseto letalo na ova mesto !");
  876. UpdateMyVehSystem(PlayerOwnedVehID(playerid,vozilo));
  877. return 1;
  878. }else{SCM(playerid, COLOR_LIGHTRED,"{FF4040}GRESKA:{FFFFFF}Ne ste vo svoeto vozilo");}
  879. }else{SCM(playerid, COLOR_LIGHTRED,"{FF4040}GRESKA:{FFFFFF}Mora da ste vo vozilo!");}
  880. return 0;
  881. }
  882. stock SellMyVehFnc(playerid)
  883. {
  884. //if(IsPlayerInRangeOfPoint(playerid,15.0,1314.5691,-1859.4077,13.7969)){
  885. new ime[MAX_PLAYER_NAME], TCID;
  886. new vozilo = GetPlayerVehicleID(playerid);
  887. GetPlayerName(playerid, ime, sizeof(ime));
  888. if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
  889. {
  890. if(PlayerOwnedVehID(playerid,vozilo) != -1)
  891. {
  892. TCID =PlayerOwnedVehID(playerid,vozilo);
  893. MyVehicle[TCID][MyVehSlot] = 0;
  894. MyVehicle[TCID][MyVehCar] = -1;
  895. MyVehicle[TCID][MyVehBoat] = -1;
  896. MyVehicle[TCID][MyVehBike] = -1;
  897. MyVehicle[TCID][MyVehPlane] = -1;
  898. strmid(MyVehicle[TCID][MyVehOwner], "Nikoj", 0, strlen("Nikoj"), 128);
  899. DestroyVehicle(vozilo);
  900. SCM(playerid, COLOR_GREEN, "{37F906}INFO:{FFFFFF}Uspesno go prodadovte vaseto Vozilo");
  901. UpdateMyVehSystem(TCID);
  902. return 1;
  903. }else{SCM(playerid, COLOR_LIGHTRED,"{FF4040}GRESKA:{FFFFFF}Ne ste vo vaseto Vozilo");}
  904. }else{SCM(playerid, COLOR_LIGHTRED,"{FF4040}GRESKA:{FFFFFF}Morate da bidete vo Vozilo");}
  905. // }else{SCM(playerid, COLOR_LIGHTRED, "Ne ste na mestoto za kupuvanje!");}
  906. return 1;
  907. }
  908.  
  909. stock LocateMyVehFnc(playerid,THREAD_V)//0=my_car,1_my_bike,2_my_boat,3_my_air
  910. {
  911. switch(THREAD_V)
  912. {
  913. case 0:// mycar
  914. {
  915. new cm = AllMyCars(playerid);
  916. if(cm > 0)
  917. {
  918. clx[playerid] ++;
  919. if(clx[playerid] > cm) {clx[playerid] = 0;}
  920. new Float:VPos[3];
  921. GetVehiclePos(MyVehicle[GetMyCarMID(playerid,clx[playerid])][MyVehID], VPos[0],VPos[1],VPos[2]);
  922. SetPlayerCheckpoint(playerid,VPos[0],VPos[1],VPos[2],8.0);
  923. if(clx[playerid] == 0){DisablePlayerCheckpoint(playerid);}
  924. }else{SCM(playerid, COLOR_LIGHTRED, "{FF4040}GRESKA:{FFFFFF}Nemate kupeno vakva vrsta: Avtomobil");}
  925. }
  926. case 1:// mybike
  927. {
  928. new cm = AllMyBikes(playerid);
  929. if(cm > 0)
  930. {
  931. clx[playerid] ++;
  932. if(clx[playerid] > cm) {clx[playerid] = 0;}
  933. new Float:VPos[3];
  934. GetVehiclePos(MyVehicle[GetMyBikeMID(playerid,clx[playerid])][MyVehID], VPos[0],VPos[1],VPos[2]);
  935. SetPlayerCheckpoint(playerid,VPos[0],VPos[1],VPos[2],8.0);
  936. if(clx[playerid] == 0){DisablePlayerCheckpoint(playerid);}
  937. }else{SCM(playerid, COLOR_LIGHTRED, "{FF4040}GRESKA:{FFFFFF}Nemate kupeno vakva vrsta: Motor!");}
  938. }
  939. case 2:// myboat
  940. {
  941. new cm = AllMyBoats(playerid);
  942. if(cm > 0)
  943. {
  944. clx[playerid] ++;
  945. if(clx[playerid] > cm) {clx[playerid] = 0;}
  946. new Float:VPos[3];
  947. GetVehiclePos(MyVehicle[GetMyBoatMID(playerid,clx[playerid])][MyVehID], VPos[0],VPos[1],VPos[2]);
  948. SetPlayerCheckpoint(playerid,VPos[0],VPos[1],VPos[2],8.0);
  949. if(clx[playerid] == 0){DisablePlayerCheckpoint(playerid);}
  950. }else{SCM(playerid, COLOR_LIGHTRED, "{FF4040}GRESKA:{FFFFFF}Nemate kupeno vakva vrsta: Brod");}
  951. }
  952. case 3:// myair
  953. {
  954. new cm = AllMyAirs(playerid);
  955. if(cm > 0)
  956. {
  957. clx[playerid] ++;
  958. if(clx[playerid] > cm) {clx[playerid] = 0;}
  959. new Float:VPos[3];
  960. GetVehiclePos(MyVehicle[GetMyAirMID(playerid,clx[playerid])][MyVehID], VPos[0],VPos[1],VPos[2]);
  961. SetPlayerCheckpoint(playerid,VPos[0],VPos[1],VPos[2],8.0);
  962. if(clx[playerid] == 0){DisablePlayerCheckpoint(playerid);}
  963. }else{SCM(playerid, COLOR_LIGHTRED, "{FF4040}GRESKA:{FFFFFF}Nemate kupeno vakva vrsta: Letalo");}
  964. }
  965. }
  966. return 0;
  967. }
  968.  
  969. stock LockMyVehFnc1(playerid)
  970. {
  971. new TCID,Float:CPs[3];
  972. TCID = GetClosestVehicleToPlayer(playerid);
  973. GetVehiclePos(TCID,CPs[0],CPs[1],CPs[2]);
  974. if(IsPlayerInRangeOfPoint(playerid,3.0,CPs[0],CPs[1],CPs[2]))
  975. {
  976. if(PlayerOwnedVehID(playerid,TCID) != -1)
  977. {
  978. if(MyVehicle[PlayerOwnedVehID(playerid,TCID)][MyVehLock] == 1)
  979. {
  980. MyVehicle[PlayerOwnedVehID(playerid,TCID)][MyVehLock] = 0;
  981. SCM(playerid, COLOR_YELLOW, "Go otklucivte vaseto vozilo");
  982. }
  983. else if(MyVehicle[PlayerOwnedVehID(playerid,TCID)][MyVehLock] == 0)
  984. {
  985. MyVehicle[PlayerOwnedVehID(playerid,TCID)][MyVehLock] = 0;
  986. SCM(playerid, COLOR_YELLOW, "Go otklucivte vaseto vozilo");
  987. }
  988. UpdateMyVehSystem(PlayerOwnedVehID(playerid,TCID));
  989. }else{SCM(playerid, COLOR_LIGHTRED, "{FF4040}GRESKA:{FFFFFF}Ova ne e vase vozilo!");}
  990. }else{SCM(playerid, COLOR_LIGHTRED, "{FF4040}GRESKA:{FFFFFF}Predaleku ste od vaseto vozilo!");}
  991. return 0;
  992. }
  993.  
  994. stock LockMyVehFnc(playerid)
  995. {
  996. new TCID,Float:CPs[3];
  997. TCID = GetClosestVehicleToPlayer(playerid);
  998. GetVehiclePos(TCID,CPs[0],CPs[1],CPs[2]);
  999. if(IsPlayerInRangeOfPoint(playerid,3.0,CPs[0],CPs[1],CPs[2]))
  1000. {
  1001. if(PlayerOwnedVehID(playerid,TCID) != -1)
  1002. {
  1003. if(MyVehicle[PlayerOwnedVehID(playerid,TCID)][MyVehLock] == 0)
  1004. {
  1005. MyVehicle[PlayerOwnedVehID(playerid,TCID)][MyVehLock] = 1;
  1006. SCM(playerid, COLOR_YELLOW, "Go zaklucivte vaseto vozilo");
  1007. }
  1008. else if(MyVehicle[PlayerOwnedVehID(playerid,TCID)][MyVehLock] == 1)
  1009. {
  1010. MyVehicle[PlayerOwnedVehID(playerid,TCID)][MyVehLock] = 1;
  1011. SCM(playerid, COLOR_YELLOW, "Go zaklucivte vaseto vozilo");
  1012. }
  1013. UpdateMyVehSystem(PlayerOwnedVehID(playerid,TCID));
  1014. }else{SCM(playerid, COLOR_LIGHTRED, "{FF4040}GRESKA:{FFFFFF}Ova ne e vase vozilo!");}
  1015. }else{SCM(playerid, COLOR_LIGHTRED, "{FF4040}GRESKA:{FFFFFF}Predaleku ste od vaseto vozilo!");}
  1016. return 0;
  1017. }
  1018.  
  1019. stock Veh232(playerid)
  1020. {
  1021. ShowPlayerDialog(playerid, 8794 ,DIALOG_STYLE_MSGBOX, "Podavanje","Dali navistina sakate da go prodadete vaseto vozilo\nDokolku go prodadete ke dobiete 250.000$","Da","Ne");
  1022. }
  1023. //Admin cmds
  1024. stock AparkMyVeh(playerid, MyCarID)
  1025. {
  1026. if(IsPlayerAdmin(playerid))
  1027. {
  1028. new vozilo = GetPlayerVehicleID(playerid);
  1029. new Float:x,Float:y,Float:z;
  1030. new Float:a;
  1031. GetVehiclePos(vozilo, x, y, z);
  1032. GetVehicleZAngle(vozilo, a);
  1033. MyVehicle[MyCarID][MyVehPos][0] = x;
  1034. MyVehicle[MyCarID][MyVehPos][1] = y;
  1035. MyVehicle[MyCarID][MyVehPos][2] = z;
  1036. MyVehicle[MyCarID][MyVehPos][3] = a;
  1037. SetVehiclePos(vozilo, MyVehicle[MyCarID][MyVehPos][0], MyVehicle[MyCarID][MyVehPos][1],MyVehicle[MyCarID][MyVehPos][2]);
  1038. SetVehicleZAngle(vozilo, MyVehicle[MyCarID][MyVehPos][3]);
  1039. SCM(playerid, COLOR_GREEN, "[ADM]Vozilo parkirano!");
  1040. UpdateMyVehSystem(MyCarID);
  1041. }else{SCM(playerid, COLOR_LIGHTRED, "{FF4040}GRESKA:{FFFFFF}Ne ste ovlasteni za ovaa komanda!");}
  1042. return 1;
  1043. }
  1044.  
  1045. stock AsellMyVeh(playerid, MyCarID)
  1046. {
  1047. if(IsPlayerAdmin(playerid))
  1048. {
  1049. MyVehicle[MyCarID][MyVehSlot] = 0;
  1050. MyVehicle[MyCarID][MyVehModel] = 0;
  1051. MyVehicle[MyCarID][MyVehCar] = -1;
  1052. MyVehicle[MyCarID][MyVehBike] = -1;
  1053. MyVehicle[MyCarID][MyVehBoat] = -1;
  1054. MyVehicle[MyCarID][MyVehPlane] = 1;
  1055. strmid(MyVehicle[MyCarID][MyVehOwner], "Nitko", 0, strlen("Nitko"), 64);
  1056. DestroyVehicle(MyVehicle[MyCarID][MyVehID]);
  1057. SCM(playerid, COLOR_LIGHTGREEN, "{37F906}INFO:{FFFFFF} Go prodadovte ovaa vozilo!!");
  1058. UpdateMyVehSystem(MyCarID);
  1059. }else{SCM(playerid, COLOR_LIGHTRED, "{FF4040}GRESKA:{FFFFFF}Ne ste ovlasteni za ovaa komanda!");}
  1060. return 1;
  1061. }
  1062. stock LoadMyVehSystem()
  1063. {
  1064. new reload[256];
  1065. new loader[64];
  1066. if(!dini_Exists(SaveFile))
  1067. {
  1068. dini_Create(SaveFile);
  1069. }
  1070. for(new i = 0;i<sizeof(MyVehicle);i++)
  1071. {
  1072. format(loader,sizeof(loader),"MyCar_%d",i);
  1073. strmid(reload,dini_Get(SaveFile,loader),0,256,256);
  1074. new data2[32]; //STRING
  1075. sscanf(reload,
  1076. "p<,>dd\
  1077. ffff\
  1078. ddd\
  1079. s[64]\
  1080. d\
  1081. dddd\
  1082. d",
  1083. MyVehicle[i][MyVehSlot],MyVehicle[i][MyVehModel],
  1084. MyVehicle[i][MyVehPos][0],MyVehicle[i][MyVehPos][1],MyVehicle[i][MyVehPos][2],MyVehicle[i][MyVehPos][3],
  1085. MyVehicle[i][MyVehCol][0],MyVehicle[i][MyVehCol][1],MyVehicle[i][MyVehLock],
  1086. data2, // string
  1087. MyVehicle[i][MyVehAlarm],
  1088. MyVehicle[i][MyVehCar],MyVehicle[i][MyVehBike],MyVehicle[i][MyVehBoat],MyVehicle[i][MyVehPlane],
  1089. MyVehicle[i][MyVehFsale]);
  1090. strmid(MyVehicle[i][MyVehOwner], data2, 0, strlen(data2), 64);// kraj loadanja
  1091.  
  1092. if(MyVehicle[i][MyVehSlot] == 1 && (MyVehicle[i][MyVehCar] != -1 || MyVehicle[i][MyVehBike] != -1 || MyVehicle[i][MyVehBoat] != -1 || MyVehicle[i][MyVehPlane] != -1))
  1093. {
  1094. MyVehicle[i][MyVehID] = CreateVehicle(MyVehicle[i][MyVehModel],MyVehicle[i][MyVehPos][0],MyVehicle[i][MyVehPos][1],MyVehicle[i][MyVehPos][2],MyVehicle[i][MyVehPos][3],MyVehicle[i][MyVehCol][0],MyVehicle[i][MyVehCol][1],30000);
  1095. }
  1096. }
  1097. return 1;
  1098. }
  1099.  
  1100. stock UpdateMyVehSystem(id)
  1101. {
  1102. new GSi[256];
  1103. new place[64];
  1104. if(!dini_Exists(SaveFile))
  1105. {
  1106. dini_Create(SaveFile);
  1107. }
  1108. format(GSi,sizeof(GSi),
  1109. "%d,%d,\
  1110. %f,%f,%f,%f,\
  1111. %d,%d,%d,\
  1112. %s,\
  1113. %d,\
  1114. %d,%d,%d,%d,\
  1115. %d",
  1116. MyVehicle[id][MyVehSlot],MyVehicle[id][MyVehModel],
  1117. MyVehicle[id][MyVehPos][0],MyVehicle[id][MyVehPos][1],MyVehicle[id][MyVehPos][2],MyVehicle[id][MyVehPos][3],
  1118. MyVehicle[id][MyVehCol][0],MyVehicle[id][MyVehCol][1],MyVehicle[id][MyVehLock],
  1119. MyVehicle[id][MyVehOwner], // string
  1120. MyVehicle[id][MyVehAlarm],
  1121. MyVehicle[id][MyVehCar],MyVehicle[id][MyVehBike],MyVehicle[id][MyVehBoat],MyVehicle[id][MyVehPlane],
  1122. MyVehicle[id][MyVehFsale]);
  1123. format(place,sizeof(place),"MyCar_%d",id);
  1124. dini_Set(SaveFile,place,GSi);
  1125. if(MyVehicle[id][MyVehSlot] == 0)
  1126. {
  1127. format(GSi,sizeof(GSi),
  1128. "%d,%d,\
  1129. %f,%f,%f,%f,\
  1130. %d,%d,%d,\
  1131. %s,\
  1132. %d,\
  1133. %d,%d,%d,%d,\
  1134. %d",
  1135. MyVehicle[id][MyVehSlot],MyVehicle[id][MyVehModel],
  1136. MyVehicle[id][MyVehPos][0],MyVehicle[id][MyVehPos][1],MyVehicle[id][MyVehPos][2],MyVehicle[id][MyVehPos][3],
  1137. MyVehicle[id][MyVehCol][0],MyVehicle[id][MyVehCol][1],MyVehicle[id][MyVehLock],
  1138. MyVehicle[id][MyVehOwner], // string
  1139. MyVehicle[id][MyVehAlarm],
  1140. MyVehicle[id][MyVehCar],MyVehicle[id][MyVehBike],MyVehicle[id][MyVehBoat],MyVehicle[id][MyVehPlane],
  1141. MyVehicle[id][MyVehFsale]);
  1142. format(place,sizeof(place),"MyCar_%d",id);
  1143. dini_Unset(SaveFile ,place);
  1144. }
  1145. return 1;
  1146. }
  1147.  
  1148. //======================= COMMANDS =============================================
  1149. CMD:avtomobil(playerid,params[])
  1150. {
  1151. ShowPlayerDialog(playerid, 7485 ,DIALOG_STYLE_LIST, "Avtomobil","Otkluci avtomobil\nZakluci avtomobil\nParkiraj avtomobil\nLociraj avtomobil\nProdadi na drzavata\nProdadi na igrac[Naskoro]","Procitaj","Izlezi");
  1152. return 1;
  1153. }
  1154. CMD:motor(playerid,params[])
  1155. {
  1156. ShowPlayerDialog(playerid, 4324 ,DIALOG_STYLE_LIST, "Motor","Otkluci avtomobil\nZakluci avtomobil\nParkiraj avtomobil\nLociraj avtomobil\nProdadi na drzavata\nProdadi na igrac[Naskoro]","Procitaj","Izlezi");
  1157. return 1;
  1158. }
  1159. CMD:brod(playerid,params[])
  1160. {
  1161. ShowPlayerDialog(playerid, 7896 ,DIALOG_STYLE_LIST, "Brod","Otkluci\nZakluci\nParkiraj\nLociraj\nProdadi na drzavata\nProdadi na igrac[Naskoro]","Procitaj","Izlezi");
  1162. return 1;
  1163. }
  1164. CMD:letalo(playerid,params[])
  1165. {
  1166. ShowPlayerDialog(playerid, 4325 ,DIALOG_STYLE_LIST, "Letalo","Otkluci avtomobil\nZakluci avtomobil\nParkiraj avtomobil\nLociraj avtomobil\nProdadi na drzavata\nProdadi na igrac[Naskoro]","Procitaj","Izlezi");
  1167. return 1;
  1168. }
  1169. CMD:aparkirajavto(playerid,params[])
  1170. {
  1171. if(IsPlayerAdmin(playerid))
  1172. {
  1173. if(IsPlayerInAnyVehicle(playerid))
  1174. {
  1175. AparkMyVeh(playerid, MyCarID(playerid));
  1176. }
  1177. }
  1178. return 1;
  1179. }
  1180. CMD:asellveh(playerid,params[])
  1181. {
  1182. if(IsPlayerInAnyVehicle(playerid))
  1183. {
  1184. AsellMyVeh(playerid, MyCarID(playerid));
  1185. }
  1186. return 1;
  1187. }
  1188. CMD:napravivozilo(playerid, params[])
  1189. {
  1190. if(IsPlayerAdmin(playerid))
  1191. {
  1192. new vrsta,model,boja1,boja2,cijena;
  1193. if (sscanf(params, "ddddd",vrsta,model,boja1,boja2,cijena)) SCM(playerid, COLOR_WHITE, "{37F906}INFO:{FFFFFF}/napravivozilo [Vrsta] [ModelID] [boja1] [boja2] [cena]");
  1194. else if(vrsta < 0 || vrsta > 3) SCM(playerid, COLOR_LIGHTGREEN, "{37F906}INFO:{FFFFFF}Vrsti: 0-Avtomobil,1-Motor,2-Brod,3-Letalo");
  1195. else if(model < 400 || model > 611) SCM(playerid, COLOR_WHITE, "{37F906}INFO:{FFFFFF}Modelot na voziloto moze da bide od 400 do 611!");
  1196. else if(boja1 < 0 || boja1 > 126) SCM(playerid, COLOR_WHITE, "{37F906}INFO:{FFFFFF}Bojata na voziloto nemoze da bide pod 0 i preku 126!");
  1197. else if(boja2 < 0 || boja2 > 126) SCM(playerid, COLOR_WHITE, "{37F906}INFO:{FFFFFF}Bojata na voziloto nemoze da bide pod 0 i preku 126!");
  1198. else if(cijena < 1 || cijena > 99999999) SCM(playerid, COLOR_WHITE, "{37F906}INFO:{FFFFFF}Cenata nemoze da bide pod 0!");
  1199. else
  1200. {
  1201. if(IsPlayerAdmin(playerid))
  1202. {
  1203. new Float:X,Float:Y,Float:Z,Float:A, s;
  1204. GetPlayerPos(playerid, X,Y,Z);
  1205. s = MakeXDCarFnc(playerid,vrsta,model,X+1.5,Y+2.5,Z+2.0,A,boja1,boja2,"Nikoj");//THREAD-0=kola=motor,2=brod,3=letalo
  1206. MyVehicle[s][MyVehFsale] = cijena;
  1207. printf("Vrsta:%d, ID:%d",vrsta,s);
  1208. }else{SCM(playerid, COLOR_LIGHTRED, "{FF4040}GRESKA:{FFFFFF}Ne ste ovlasteni za ovaa komanda!");}
  1209. }
  1210. }
  1211. return 1;
  1212. }
  1213. public PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z)
  1214. {
  1215. if(IsPlayerConnected(playerid))
  1216. {
  1217. new Float:oldposx, Float:oldposy, Float:oldposz;
  1218. new Float:tempposx, Float:tempposy, Float:tempposz;
  1219. GetPlayerPos(playerid, oldposx, oldposy, oldposz);
  1220. tempposx = (oldposx -x);
  1221. tempposy = (oldposy -y);
  1222. tempposz = (oldposz -z);
  1223. //printf("DEBUG: X:%f Y:%f Z:%f",posx,posy,posz);
  1224. if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
  1225. {
  1226. return 1;
  1227. }
  1228. }
  1229. return 0;
  1230. }
  1231. //________________________________-KRAJ NA OWNERSHIPOT!_________________________
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement