Advertisement
Guest User

Untitled

a guest
Apr 26th, 2017
462
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 69.29 KB | None | 0 0
  1. // This is a comment
  2. // uncomment the line below if you want to write a filterscript
  3. //#define FILTERSCRIPT
  4. //==============================================================================
  5. #include <a_samp>
  6. #include <zcmd>
  7. #include <YSI\y_ini>
  8. #include <YSI\y_va>
  9. #include <sscanf2>
  10. #include <streamer>
  11. //==============================================================================
  12. #define HOLDING(%0) ((newkeys & (%0)) == (%0))
  13. #if !defined PRESSED
  14. #define PRESSED(%0) (((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))
  15. #endif
  16.  
  17. #define private%0(%1) forward%0(%1); \
  18. public%0(%1)
  19.  
  20. #define SendErrorMessage(%0,%1) SendClientMessage(%0, -1, "{FF0000}[GRESKA]"col_white" "%1)
  21. #define SendUsageMessage(%0,%1) SendClientMessage(%0, -1, "{C0C0C0}[UPUTSTVO]"col_white" "%1)
  22. #define SendInfoMessage(%0,%1) SendClientMessage(%0, -1, ""col_blue"[INFO]"col_white" "%1)
  23.  
  24. #define SCM SendClientMessage
  25. //==============================================================================
  26. #define MAX_ZONE_NAME 38
  27. //==============================================================================
  28. #define col_server "{1776FC}"
  29. #define col_white "{FFFFFF}"
  30. #define col_blue "{396DFA}"
  31. #define col_green "{00AD00}"
  32.  
  33.  
  34. #define C_WHITE 0xFFFFFFFF
  35. #define C_GREEN 0x00AD00FF
  36. //==============================================================================
  37. #define DIALOG_KUCA 1
  38. #define DIALOG_OKNOVAC 2
  39. #define DIALOG_UKNOVAC 3
  40. #define DIALOG_IKUCA 4
  41. #define DIALOG_PRINT 5
  42. #define DIALOG_KLUNLOCK 6
  43. #define DIALOG_KOSTAVI 7
  44. #define DIALOG_KUZMI 8
  45. #define DIALOG_KINFO 9
  46. #define DIALOG_KPRODAJ 10
  47. #define DIALOG_KPRODAJAIGRACU 11
  48. #define DIALOG_PRIHVATIKUCU 12
  49. //==============================================================================
  50. #define BROJ_SLOTOVA 50
  51. #define KUCE_FILE "Kuce/%d.ini"
  52. #define MAX_KUCA 100
  53. //==============================================================================
  54. enum pInfo
  55. {
  56. pAdmin,
  57. pLevel,
  58. pNovac,
  59. pHouseKey
  60. }
  61. new PlayerInfo[BROJ_SLOTOVA][pInfo]; // Vi uradite kako vi zelite na vasem modu.
  62. //==============================================================================
  63. enum Kuce
  64. {
  65. k_Kupljena,
  66. k_Vlasnik[45],
  67. k_Vrsta[35],
  68. Float:k_EnterX,
  69. Float:k_EnterY,
  70. Float:k_EnterZ,
  71. Float:k_ExitX,
  72. Float:k_ExitY,
  73. Float:k_ExitZ,
  74. k_Level,
  75. k_Cena,
  76. k_Novac,
  77. k_Interijer,
  78. k_Locked,
  79. k_VW,
  80. k_Intpromena,
  81. k_Neaktivnost
  82. };
  83. new KucaInfo[MAX_KUCA][Kuce];
  84. new KucaPickup[sizeof(KucaInfo)];
  85. new Text3D:KucaLabel[sizeof(KucaInfo)];
  86. //==============================================================================
  87. new D_ID[BROJ_SLOTOVA];
  88. new GlobalProdaja[BROJ_SLOTOVA],
  89. GlobalCena[BROJ_SLOTOVA];
  90. //==============================================================================
  91. enum SAZONE_MAIN
  92. {
  93. SAZONE_NAME[30],
  94. Float:SAZONE_AREA[6]
  95. };
  96. static const gSAZones[][SAZONE_MAIN] =
  97. {
  98. {"Nicija Zemlja", {-410.00,1403.30,-3.00,-137.90,1681.20,200.00}},
  99. {"Nicija Zemlja", {-1372.10,2498.50,0.00,-1277.50,2615.30,200.00}},
  100. {"Ljubljana", {-2324.90,-2584.20,-6.10,-1964.20,-2212.10,200.00}},
  101. {"Zagreb", {-901.10,2221.80,0.00,-592.00,2571.90,200.00}},
  102. {"Park Maksimir", {-2646.40,-355.40,0.00,-2270.00,-222.50,200.00}},
  103. {"Park Maksimir", {-2831.80,-430.20,-6.10,-2646.40,-222.50,200.00}},
  104. {"Park Maksimir", {-2361.50,-417.10,0.00,-2270.00,-355.40,200.00}},
  105. {"Park Maksimir", {-2667.80,-302.10,-28.80,-2646.40,-262.30,71.10}},
  106. {"Park Maksimir", {-2470.00,-355.40,0.00,-2270.00,-318.40,46.10}},
  107. {"Park Maksimir", {-2550.00,-355.40,0.00,-2470.00,-318.40,39.70}},
  108. {"Zagreb", {-1166.90,-2641.10,0.00,-321.70,-1856.00,200.00}},
  109. {"Zagreb", {-2741.00,1268.40,-4.50,-2533.00,1490.40,200.00}},
  110. {"Podgorica", {-2741.00,2175.10,0.00,-2353.10,2722.70,200.00}},
  111. {"Podgorica", {-2353.10,2275.70,0.00,-2153.10,2475.70,200.00}},
  112. {"Farma", {-399.60,-1075.50,-1.40,-319.00,-977.50,198.50}},
  113. {"Grbavica", {964.30,1203.20,-89.00,1197.30,1403.20,110.90}},
  114. {"Grbavica", {964.30,1403.20,-89.00,1197.30,1726.20,110.90}},
  115. {"Sarajevo", {1375.60,596.30,-89.00,1558.00,823.20,110.90}},
  116. {"Sarajevo", {1325.60,596.30,-89.00,1375.60,795.00,110.90}},
  117. {"Sarajevo", {1197.30,1044.60,-89.00,1277.00,1163.30,110.90}},
  118. {"Sarajevo", {1166.50,795.00,-89.00,1375.60,1044.60,110.90}},
  119. {"Sarajevo", {1277.00,1044.60,-89.00,1315.30,1087.60,110.90}},
  120. {"Sarajevo", {1375.60,823.20,-89.00,1457.30,919.40,110.90}},
  121. {"Skopje", {104.50,-220.10,2.30,349.60,152.20,200.00}},
  122. {"Skopje", {19.60,-404.10,3.80,349.60,-220.10,200.00}},
  123. {"Farma", {-319.60,-220.10,0.00,104.50,293.30,200.00}},
  124. {"Sarajevo", {2087.30,1543.20,-89.00,2437.30,1703.20,110.90}},
  125. {"Sarajevo", {2137.40,1703.20,-89.00,2437.30,1783.20,110.90}},
  126. {"Zagrebacka Avenija", {-2274.10,744.10,-6.10,-1982.30,1358.90,200.00}},
  127. {"Kineska Cetvrt", {-2274.10,578.30,-7.60,-2078.60,744.10,200.00}},
  128. {"Trg Bana Jelacica", {-2867.80,277.40,-9.10,-2593.40,458.40,200.00}},
  129. {"Sarajevo", {2087.30,943.20,-89.00,2623.10,1203.20,110.90}},
  130. {"Centar Grada", {1323.90,-1842.20,-89.00,1701.90,-1722.20,110.90}},
  131. {"Centar Grada", {1323.90,-1722.20,-89.00,1440.90,-1577.50,110.90}},
  132. {"Centar Grada", {1370.80,-1577.50,-89.00,1463.90,-1384.90,110.90}},
  133. {"Centar Grada", {1463.90,-1577.50,-89.00,1667.90,-1430.80,110.90}},
  134. {"Centar Grada", {1583.50,-1722.20,-89.00,1758.90,-1577.50,110.90}},
  135. {"Centar Grada", {1667.90,-1577.50,-89.00,1812.60,-1430.80,110.90}},
  136. {"Ada Ciganlija", {1046.10,-1804.20,-89.00,1323.90,-1722.20,110.90}},
  137. {"Ada Ciganlija", {1073.20,-1842.20,-89.00,1323.90,-1804.20,110.90}},
  138. {"Zagreb", {-2007.80,56.30,0.00,-1922.00,224.70,100.00}},
  139. {"Pofalici", {2749.90,1937.20,-89.00,2921.60,2669.70,110.90}},
  140. {"Novi sad", {580.70,-674.80,-9.50,861.00,-404.70,200.00}},
  141. {"Zagreb", {-2270.00,-324.10,-0.00,-1794.90,-222.50,200.00}},
  142. {"Zagreb", {-2173.00,-222.50,-0.00,-1794.90,265.20,200.00}},
  143. {"Slavonska avenija", {-1982.30,744.10,-6.10,-1871.70,1274.20,200.00}},
  144. {"Slavonska avenija", {-1871.70,1176.40,-4.50,-1620.30,1274.20,200.00}},
  145. {"Slavonska avenija", {-1700.00,744.20,-6.10,-1580.00,1176.50,200.00}},
  146. {"Slavonska avenija", {-1580.00,744.20,-6.10,-1499.80,1025.90,200.00}},
  147. {"Slavonska avenija", {-2078.60,578.30,-7.60,-1499.80,744.20,200.00}},
  148. {"Slavonska avenija", {-1993.20,265.20,-9.10,-1794.90,578.30,200.00}},
  149. {"Vracar", {1463.90,-1430.80,-89.00,1724.70,-1290.80,110.90}},
  150. {"Vracar", {1724.70,-1430.80,-89.00,1812.60,-1250.90,110.90}},
  151. {"Vracar", {1463.90,-1290.80,-89.00,1724.70,-1150.80,110.90}},
  152. {"Vracar", {1370.80,-1384.90,-89.00,1463.90,-1170.80,110.90}},
  153. {"Vracar", {1724.70,-1250.90,-89.00,1812.60,-1150.80,110.90}},
  154. {"Vracar", {1370.80,-1170.80,-89.00,1463.90,-1130.80,110.90}},
  155. {"Vracar", {1378.30,-1130.80,-89.00,1463.90,-1026.30,110.90}},
  156. {"Vracar", {1391.00,-1026.30,-89.00,1463.90,-926.90,110.90}},
  157. {"Vracar", {1507.50,-1385.20,110.90,1582.50,-1325.30,335.90}},
  158. {"Lido", {2632.80,-1852.80,-89.00,2959.30,-1668.10,110.90}},
  159. {"Lido", {2632.80,-1668.10,-89.00,2747.70,-1393.40,110.90}},
  160. {"Lido", {2747.70,-1668.10,-89.00,2959.30,-1498.60,110.90}},
  161. {"Lido", {2747.70,-1498.60,-89.00,2959.30,-1120.00,110.90}},
  162. {"Zemun", {2421.00,-1628.50,-89.00,2632.80,-1454.30,110.90}},
  163. {"Zemun", {2222.50,-1628.50,-89.00,2421.00,-1494.00,110.90}},
  164. {"Zemun", {2266.20,-1494.00,-89.00,2381.60,-1372.00,110.90}},
  165. {"Zemun", {2381.60,-1494.00,-89.00,2421.00,-1454.30,110.90}},
  166. {"Zemun", {2281.40,-1372.00,-89.00,2381.60,-1135.00,110.90}},
  167. {"Zemun", {2381.60,-1454.30,-89.00,2462.10,-1135.00,110.90}},
  168. {"Zemun", {2462.10,-1454.30,-89.00,2581.70,-1135.00,110.90}},
  169. {"Zracna luka Zagreb", {-1794.90,249.90,-9.10,-1242.90,578.30,200.00}},
  170. {"Zracna luka Zagreb", {-1794.90,-50.00,-0.00,-1499.80,249.90,200.00}},
  171. {"Zracna luka Zagreb", {-1499.80,-50.00,-0.00,-1242.90,249.90,200.00}},
  172. {"Zracna luka Zagreb", {-1794.90,-730.10,-3.00,-1213.90,-50.00,200.00}},
  173. {"Zracna luka Zagreb", {-1213.90,-730.10,0.00,-1132.80,-50.00,200.00}},
  174. {"Zracna luka Zagreb", {-1242.90,-50.00,0.00,-1213.90,578.30,200.00}},
  175. {"Zracna luka Zagreb", {-1213.90,-50.00,-4.50,-947.90,578.30,200.00}},
  176. {"Zracna luka Zagreb", {-1315.40,-405.30,15.40,-1264.40,-209.50,25.40}},
  177. {"Zracna luka Zagreb", {-1354.30,-287.30,15.40,-1315.40,-209.50,25.40}},
  178. {"Zracna luka Zagreb", {-1490.30,-209.50,15.40,-1264.40,-148.30,25.40}},
  179. {"Zracna luka Zagreb", {-1132.80,-768.00,0.00,-956.40,-578.10,200.00}},
  180. {"Zracna luka Zagreb", {-1132.80,-787.30,0.00,-956.40,-768.00,200.00}},
  181. {"Sarajevo", {-464.50,2217.60,0.00,-208.50,2580.30,200.00}},
  182. {"Sarajevo", {-208.50,2123.00,-7.60,114.00,2337.10,200.00}},
  183. {"Sarajevo", {-208.50,2337.10,0.00,8.40,2487.10,200.00}},
  184. {"Zeleni Venac", {1812.60,-2179.20,-89.00,1970.60,-1852.80,110.90}},
  185. {"Zeleni Venac", {1692.60,-2179.20,-89.00,1812.60,-1842.20,110.90}},
  186. {"Sombor", {-1645.20,2498.50,0.00,-1372.10,2777.80,200.00}},
  187. {"Zagrebacka avenija", {-1620.30,1176.50,-4.50,-1580.00,1274.20,200.00}},
  188. {"Zagrebacka avenija", {-1580.00,1025.90,-6.10,-1499.80,1274.20,200.00}},
  189. {"Zagrebacka avenija", {-1499.80,578.30,-79.60,-1339.80,1274.20,20.30}},
  190. {"Zagrebacka avenija", {-2533.00,1358.90,-4.50,-1996.60,1501.20,200.00}},
  191. {"Zagrebacka avenija", {-1996.60,1358.90,-4.50,-1524.20,1592.50,200.00}},
  192. {"Zagrebacka avenija", {-1982.30,1274.20,-4.50,-1524.20,1358.90,200.00}},
  193. {"Zagreb", {-792.20,-698.50,-5.30,-452.40,-380.00,200.00}},
  194. {"Zagreb", {434.30,366.50,0.00,603.00,555.60,200.00}},
  195. {"Nicija Zemlja", {508.10,-139.20,0.00,1306.60,119.50,200.00}},
  196. {"Zagreb", {-1871.70,744.10,-6.10,-1701.30,1176.40,300.00}},
  197. {"Beograd", {1916.90,-233.30,-100.00,2131.70,13.80,200.00}},
  198. {"Zagreb", {-187.70,-1596.70,-89.00,17.00,-1276.60,110.90}},
  199. {"Zagreb", {-594.10,-1648.50,0.00,-187.70,-1276.60,200.00}},
  200. {"Subotica", {-376.20,826.30,-3.00,123.70,1220.40,200.00}},
  201. {"Zagreb", {-2270.00,-430.20,-0.00,-2178.60,-324.10,200.00}},
  202. {"Zagreb", {-2178.60,-599.80,-0.00,-1794.90,-324.10,200.00}},
  203. {"Zagreb", {-2178.60,-1115.50,0.00,-1794.90,-599.80,200.00}},
  204. {"Zagreb", {-2178.60,-1250.90,0.00,-1794.90,-1115.50,200.00}},
  205. {"Zagreb", {2759.20,296.50,0.00,2774.20,594.70,200.00}},
  206. {"Zagreb", {-2741.40,1659.60,-6.10,-2616.40,2175.10,200.00}},
  207. {"Zagreb", {-2741.00,1490.40,-6.10,-2616.40,1659.60,200.00}},
  208. {"Dorcol", {2222.50,-1852.80,-89.00,2632.80,-1722.30,110.90}},
  209. {"Dorcol", {2222.50,-1722.30,-89.00,2632.80,-1628.50,110.90}},
  210. {"Zagreb", {-2411.20,-222.50,-0.00,-2173.00,265.20,200.00}},
  211. {"Zagreb", {-2395.10,-222.50,-5.30,-2354.00,-204.70,200.00}},
  212. {"Zagreb", {-1339.80,828.10,-89.00,-1213.90,1057.00,110.90}},
  213. {"Zagreb", {-1213.90,950.00,-89.00,-1087.90,1178.90,110.90}},
  214. {"Zagreb", {-1499.80,696.40,-179.60,-1339.80,925.30,20.30}},
  215. {"Picin Park", {1812.60,-1449.60,-89.00,1996.90,-1350.70,110.90}},
  216. {"Picin Park", {1812.60,-1100.80,-89.00,1994.30,-973.30,110.90}},
  217. {"Picin Park", {1812.60,-1350.70,-89.00,2056.80,-1100.80,110.90}},
  218. {"Sarajevo", {176.50,1305.40,-3.00,338.60,1520.70,200.00}},
  219. {"Grbavica", {964.30,1044.60,-89.00,1197.30,1203.20,110.90}},
  220. {"Grbavica", {964.30,930.80,-89.00,1166.50,1044.60,110.90}},
  221. {"Nicija zemlja", {603.00,264.30,0.00,761.90,366.50,200.00}},
  222. {"Autoput", {2576.90,62.10,0.00,2759.20,385.50,200.00}},
  223. {"Kosevo", {1777.30,863.20,-89.00,1817.30,2342.80,110.90}},
  224. {"Zagreb", {-2593.40,-222.50,-0.00,-2411.20,54.70,200.00}},
  225. {"Farma", {967.30,-450.30,-3.00,1176.70,-217.90,200.00}},
  226. {"Rudnik", {337.20,710.80,-115.20,860.50,1031.70,203.70}},
  227. {"Dorcol", {1812.60,-1852.80,-89.00,1971.60,-1742.30,110.90}},
  228. {"Dorcol", {1812.60,-1742.30,-89.00,1951.60,-1602.30,110.90}},
  229. {"Dorcol", {1951.60,-1742.30,-89.00,2124.60,-1602.30,110.90}},
  230. {"Dorcol", {1812.60,-1602.30,-89.00,2124.60,-1449.60,110.90}},
  231. {"Dorcol", {2124.60,-1742.30,-89.00,2222.50,-1494.00,110.90}},
  232. {"Dorcol", {1971.60,-1852.80,-89.00,2222.50,-1742.30,110.90}},
  233. {"Topcidersko Brdo", {1996.90,-1449.60,-89.00,2056.80,-1350.70,110.90}},
  234. {"Topcidersko Brdo", {2124.60,-1494.00,-89.00,2266.20,-1449.60,110.90}},
  235. {"Topcidersko Brdo", {2056.80,-1372.00,-89.00,2281.40,-1210.70,110.90}},
  236. {"Topcidersko Brdo", {2056.80,-1210.70,-89.00,2185.30,-1126.30,110.90}},
  237. {"Topcidersko Brdo", {2185.30,-1210.70,-89.00,2281.40,-1154.50,110.90}},
  238. {"Topcidersko Brdo", {2056.80,-1449.60,-89.00,2266.20,-1372.00,110.90}},
  239. {"Rajlovac", {2623.10,943.20,-89.00,2749.90,1055.90,110.90}},
  240. {"Rajlovac", {2685.10,1055.90,-89.00,2749.90,2626.50,110.90}},
  241. {"Rajlovac", {2536.40,2442.50,-89.00,2685.10,2542.50,110.90}},
  242. {"Rajlovac", {2625.10,2202.70,-89.00,2685.10,2442.50,110.90}},
  243. {"Rajlovac", {2498.20,2542.50,-89.00,2685.10,2626.50,110.90}},
  244. {"Rajlovac", {2237.40,2542.50,-89.00,2498.20,2663.10,110.90}},
  245. {"Rajlovac", {2121.40,2508.20,-89.00,2237.40,2663.10,110.90}},
  246. {"Rajlovac", {1938.80,2508.20,-89.00,2121.40,2624.20,110.90}},
  247. {"Rajlovac", {1534.50,2433.20,-89.00,1848.40,2583.20,110.90}},
  248. {"Rajlovac", {1848.40,2478.40,-89.00,1938.80,2553.40,110.90}},
  249. {"Rajlovac", {1704.50,2342.80,-89.00,1848.40,2433.20,110.90}},
  250. {"Rajlovac", {1377.30,2433.20,-89.00,1534.50,2507.20,110.90}},
  251. {"Rajlovac", {1457.30,823.20,-89.00,2377.30,863.20,110.90}},
  252. {"Rajlovac", {2377.30,788.80,-89.00,2537.30,897.90,110.90}},
  253. {"Rajlovac", {1197.30,1163.30,-89.00,1236.60,2243.20,110.90}},
  254. {"Rajlovac", {1236.60,2142.80,-89.00,1297.40,2243.20,110.90}},
  255. {"Avenija Dubrava", {-2533.00,578.30,-7.60,-2274.10,968.30,200.00}},
  256. {"Avenija Dubrava", {-2533.00,968.30,-6.10,-2274.10,1358.90,200.00}},
  257. {"Sarajevo", {2498.20,2626.50,-89.00,2749.90,2861.50,110.90}},
  258. {"Zagreb", {-1339.80,599.20,-89.00,-1213.90,828.10,110.90}},
  259. {"Zagreb", {-1213.90,721.10,-89.00,-1087.90,950.00,110.90}},
  260. {"Zagreb", {-1087.90,855.30,-89.00,-961.90,986.20,110.90}},
  261. {"Zagreb", {-2329.30,458.40,-7.60,-1993.20,578.30,200.00}},
  262. {"Zagreb", {-2411.20,265.20,-9.10,-1993.20,373.50,200.00}},
  263. {"Zagreb", {-2253.50,373.50,-9.10,-1993.20,458.40,200.00}},
  264. {"Sarajevo", {1457.30,863.20,-89.00,1777.40,1143.20,110.90}},
  265. {"Sarajevo", {1375.60,919.40,-89.00,1457.30,1203.20,110.90}},
  266. {"Sarajevo", {1277.00,1087.60,-89.00,1375.60,1203.20,110.90}},
  267. {"Sarajevo", {1315.30,1044.60,-89.00,1375.60,1087.60,110.90}},
  268. {"Sarajevo", {1236.60,1163.40,-89.00,1277.00,1203.20,110.90}},
  269. {"Cacak", {-926.10,1398.70,-3.00,-719.20,1634.60,200.00}},
  270. {"Nicija Zemlja", {-365.10,2123.00,-3.00,-208.50,2217.60,200.00}},
  271. {"Petlovo Brdo", {1994.30,-1100.80,-89.00,2056.80,-920.80,110.90}},
  272. {"Petlovo Brdo", {2056.80,-1126.30,-89.00,2126.80,-920.80,110.90}},
  273. {"Petlovo Brdo", {2185.30,-1154.50,-89.00,2281.40,-934.40,110.90}},
  274. {"Petlovo Brdo", {2126.80,-1126.30,-89.00,2185.30,-934.40,110.90}},
  275. {"Petlovo Brdo", {2747.70,-1120.00,-89.00,2959.30,-945.00,110.90}},
  276. {"Petlovo Brdo", {2632.70,-1135.00,-89.00,2747.70,-945.00,110.90}},
  277. {"Petlovo Brdo", {2281.40,-1135.00,-89.00,2632.70,-945.00,110.90}},
  278. {"Nicija Zemlja", {-354.30,2580.30,2.00,-133.60,2816.80,200.00}},
  279. {"Sarajevo Aerodrom", {1236.60,1203.20,-89.00,1457.30,1883.10,110.90}},
  280. {"Sarajevo Aerodrom", {1457.30,1203.20,-89.00,1777.30,1883.10,110.90}},
  281. {"Sarajevo Aerodrom", {1457.30,1143.20,-89.00,1777.40,1203.20,110.90}},
  282. {"Sarajevo Aerodrom", {1515.80,1586.40,-12.50,1729.90,1714.50,87.50}},
  283. {"Ilidza", {1823.00,596.30,-89.00,1997.20,823.20,110.90}},
  284. {"Nicija Zemlja", {-1166.90,-1856.00,0.00,-815.60,-1602.00,200.00}},
  285. {"Nicija Zemlja", {-1000.00,400.00,1300.00,-700.00,600.00,1400.00}},
  286. {"Sarajevo", {-90.20,1286.80,-3.00,153.80,1554.10,200.00}},
  287. {"Vogosca", {2749.90,943.20,-89.00,2923.30,1198.90,110.90}},
  288. {"Vogosca", {2749.90,1198.90,-89.00,2923.30,1548.90,110.90}},
  289. {"Vogosca", {2811.20,1229.50,-39.50,2861.20,1407.50,60.40}},
  290. {"Zeleni Venac", {1701.90,-1842.20,-89.00,1812.60,-1722.20,110.90}},
  291. {"Zeleni Venac", {1758.90,-1722.20,-89.00,1812.60,-1577.50,110.90}},
  292. {"Kaludjerica", {2581.70,-1454.30,-89.00,2632.80,-1393.40,110.90}},
  293. {"Kaludjerica", {2581.70,-1393.40,-89.00,2747.70,-1135.00,110.90}},
  294. {"Aerodrom Surcin", {1249.60,-2394.30,-89.00,1852.00,-2179.20,110.90}},
  295. {"Aerodrom Surcin", {1852.00,-2394.30,-89.00,2089.00,-2179.20,110.90}},
  296. {"Aerodrom Surcin", {1382.70,-2730.80,-89.00,2201.80,-2394.30,110.90}},
  297. {"Aerodrom Surcin", {1974.60,-2394.30,-39.00,2089.00,-2256.50,60.90}},
  298. {"Aerodrom Surcin", {1400.90,-2669.20,-39.00,2189.80,-2597.20,60.90}},
  299. {"Aerodrom Surcin", {2051.60,-2597.20,-39.00,2152.40,-2394.30,60.90}},
  300. {"Ada Ciganlija", {647.70,-1804.20,-89.00,851.40,-1577.50,110.90}},
  301. {"Ada Ciganlija", {647.70,-1577.50,-89.00,807.90,-1416.20,110.90}},
  302. {"Ada Ciganlija", {807.90,-1577.50,-89.00,926.90,-1416.20,110.90}},
  303. {"Banjica", {787.40,-1416.20,-89.00,1072.60,-1310.20,110.90}},
  304. {"Banjica", {952.60,-1310.20,-89.00,1072.60,-1130.80,110.90}},
  305. {"Banjica", {1072.60,-1416.20,-89.00,1370.80,-1130.80,110.90}},
  306. {"Banjica", {926.90,-1577.50,-89.00,1370.80,-1416.20,110.90}},
  307. {"Podzemna stanica", {787.40,-1410.90,-34.10,866.00,-1310.20,65.80}},
  308. {"Zagreb", {-222.10,293.30,0.00,-122.10,476.40,200.00}},
  309. {"Misionarska Brda", {-2994.40,-811.20,0.00,-2178.60,-430.20,200.00}},
  310. {"Kragujevac", {1119.50,119.50,-3.00,1451.40,493.30,200.00}},
  311. {"Kragujevac", {1451.40,347.40,-6.10,1582.40,420.80,200.00}},
  312. {"Kragujevac", {1546.60,208.10,0.00,1745.80,347.40,200.00}},
  313. {"Kragujevac", {1582.40,347.40,0.00,1664.60,401.70,200.00}},
  314. {"Dedinje", {1414.00,-768.00,-89.00,1667.60,-452.40,110.90}},
  315. {"Dedinje", {1281.10,-452.40,-89.00,1641.10,-290.90,110.90}},
  316. {"Dedinje", {1269.10,-768.00,-89.00,1414.00,-452.40,110.90}},
  317. {"Dedinje", {1357.00,-926.90,-89.00,1463.90,-768.00,110.90}},
  318. {"Dedinje", {1318.10,-910.10,-89.00,1357.00,-768.00,110.90}},
  319. {"Dedinje", {1169.10,-910.10,-89.00,1318.10,-768.00,110.90}},
  320. {"Dedinje", {768.60,-954.60,-89.00,952.60,-860.60,110.90}},
  321. {"Dedinje", {687.80,-860.60,-89.00,911.80,-768.00,110.90}},
  322. {"Dedinje", {737.50,-768.00,-89.00,1142.20,-674.80,110.90}},
  323. {"Dedinje", {1096.40,-910.10,-89.00,1169.10,-768.00,110.90}},
  324. {"Dedinje", {952.60,-937.10,-89.00,1096.40,-860.60,110.90}},
  325. {"Dedinje", {911.80,-860.60,-89.00,1096.40,-768.00,110.90}},
  326. {"Dedinje", {861.00,-674.80,-89.00,1156.50,-600.80,110.90}},
  327. {"Slavija", {1463.90,-1150.80,-89.00,1812.60,-768.00,110.90}},
  328. {"Petlovo Brdo", {2285.30,-768.00,0.00,2770.50,-269.70,200.00}},
  329. {"Luka Beograd", {2373.70,-2697.00,-89.00,2809.20,-2330.40,110.90}},
  330. {"Luka Beograd", {2201.80,-2418.30,-89.00,2324.00,-2095.00,110.90}},
  331. {"Luka Beograd", {2324.00,-2302.30,-89.00,2703.50,-2145.10,110.90}},
  332. {"Luka Beograd", {2089.00,-2394.30,-89.00,2201.80,-2235.80,110.90}},
  333. {"Luka Beograd", {2201.80,-2730.80,-89.00,2324.00,-2418.30,110.90}},
  334. {"Luka Beograd", {2703.50,-2302.30,-89.00,2959.30,-2126.90,110.90}},
  335. {"Luka Beograd", {2324.00,-2145.10,-89.00,2703.50,-2059.20,110.90}},
  336. {"Micevac", {-2994.40,277.40,-9.10,-2867.80,458.40,200.00}},
  337. {"Micevac", {-2994.40,-222.50,-0.00,-2593.40,277.40,200.00}},
  338. {"Micevac", {-2994.40,-430.20,-0.00,-2831.80,-222.50,200.00}},
  339. {"Sarajevo", {338.60,1228.50,0.00,664.30,1655.00,200.00}},
  340. {"Skenderija", {2162.30,2012.10,-89.00,2685.10,2202.70,110.90}},
  341. {"Bolnicka ulica", {-2994.40,458.40,-6.10,-2741.00,1339.60,200.00}},
  342. {"Nis", {2160.20,-149.00,0.00,2576.90,228.30,200.00}},
  343. {"Zagreb", {-2741.00,793.40,-6.10,-2533.00,1268.40,200.00}},
  344. {"Centar Grada", {1440.90,-1722.20,-89.00,1583.50,-1577.50,110.90}},
  345. {"Sarajevo", {2437.30,1383.20,-89.00,2624.40,1783.20,110.90}},
  346. {"Sarajevo", {2624.40,1383.20,-89.00,2685.10,1783.20,110.90}},
  347. {"Sarajevo", {1098.30,2243.20,-89.00,1377.30,2507.20,110.90}},
  348. {"Sarajevo", {1817.30,1469.20,-89.00,2027.40,1703.20,110.90}},
  349. {"Lido", {2703.50,-2126.90,-89.00,2959.30,-1852.80,110.90}},
  350. {"Banja Luka", {1534.50,2583.20,-89.00,1848.40,2863.20,110.90}},
  351. {"Banja Luka", {1117.40,2507.20,-89.00,1534.50,2723.20,110.90}},
  352. {"Banja Luka", {1848.40,2553.40,-89.00,1938.80,2863.20,110.90}},
  353. {"Banja Luka", {1938.80,2624.20,-89.00,2121.40,2861.50,110.90}},
  354. {"Avenija Dubrava", {-2533.00,458.40,0.00,-2329.30,578.30,200.00}},
  355. {"Avenija Dubrava", {-2593.40,54.70,0.00,-2411.20,458.40,200.00}},
  356. {"Avenija Dubrava", {-2411.20,373.50,0.00,-2253.50,458.40,200.00}},
  357. {"Granicna Zona", {1558.00,596.30,-89.00,1823.00,823.20,110.90}},
  358. {"Kosevo", {1817.30,2011.80,-89.00,2106.70,2202.70,110.90}},
  359. {"Kosevo", {1817.30,2202.70,-89.00,2011.90,2342.80,110.90}},
  360. {"Kosevo", {1848.40,2342.80,-89.00,2011.90,2478.40,110.90}},
  361. {"Kosevo", {1236.60,1883.10,-89.00,1777.30,2142.80,110.90}},
  362. {"Kosevo", {1297.40,2142.80,-89.00,1777.30,2243.20,110.90}},
  363. {"Kosevo", {1377.30,2243.20,-89.00,1704.50,2433.20,110.90}},
  364. {"Kosevo", {1704.50,2243.20,-89.00,1777.30,2342.80,110.90}},
  365. {"Zagreb", {-405.70,1712.80,-3.00,-276.70,1892.70,200.00}},
  366. {"Senjak", {647.50,-1118.20,-89.00,787.40,-954.60,110.90}},
  367. {"Senjak", {647.50,-954.60,-89.00,768.60,-860.60,110.90}},
  368. {"Senjak", {225.10,-1369.60,-89.00,334.50,-1292.00,110.90}},
  369. {"Senjak", {225.10,-1292.00,-89.00,466.20,-1235.00,110.90}},
  370. {"Senjak", {72.60,-1404.90,-89.00,225.10,-1235.00,110.90}},
  371. {"Senjak", {72.60,-1235.00,-89.00,321.30,-1008.10,110.90}},
  372. {"Senjak", {321.30,-1235.00,-89.00,647.50,-1044.00,110.90}},
  373. {"Senjak", {321.30,-1044.00,-89.00,647.50,-860.60,110.90}},
  374. {"Senjak", {321.30,-860.60,-89.00,687.80,-768.00,110.90}},
  375. {"Senjak", {321.30,-768.00,-89.00,700.70,-674.80,110.90}},
  376. {"Nicija zemlja", {-1119.00,1178.90,-89.00,-862.00,1351.40,110.90}},
  377. {"Skenderija", {2237.40,2202.70,-89.00,2536.40,2542.50,110.90}},
  378. {"Skenderija", {2536.40,2202.70,-89.00,2625.10,2442.50,110.90}},
  379. {"Ilidza", {2537.30,676.50,-89.00,2902.30,943.20,110.90}},
  380. {"Ilidza", {1997.20,596.30,-89.00,2377.30,823.20,110.90}},
  381. {"Ilidza", {2377.30,596.30,-89.00,2537.30,788.80,110.90}},
  382. {"Kalemegdan", {72.60,-1684.60,-89.00,225.10,-1544.10,110.90}},
  383. {"Kalemegdan", {72.60,-1544.10,-89.00,225.10,-1404.90,110.90}},
  384. {"Kalemegdan", {225.10,-1684.60,-89.00,312.80,-1501.90,110.90}},
  385. {"Kalemegdan", {225.10,-1501.90,-89.00,334.50,-1369.60,110.90}},
  386. {"Kalemegdan", {334.50,-1501.90,-89.00,422.60,-1406.00,110.90}},
  387. {"Kalemegdan", {312.80,-1684.60,-89.00,422.60,-1501.90,110.90}},
  388. {"Kalemegdan", {422.60,-1684.60,-89.00,558.00,-1570.20,110.90}},
  389. {"Kalemegdan", {558.00,-1684.60,-89.00,647.50,-1384.90,110.90}},
  390. {"Kalemegdan", {466.20,-1570.20,-89.00,558.00,-1385.00,110.90}},
  391. {"Kalemegdan", {422.60,-1570.20,-89.00,466.20,-1406.00,110.90}},
  392. {"Kalemegdan", {466.20,-1385.00,-89.00,647.50,-1235.00,110.90}},
  393. {"Kalemegdan", {334.50,-1406.00,-89.00,466.20,-1292.00,110.90}},
  394. {"Otoka", {2087.30,1383.20,-89.00,2437.30,1543.20,110.90}},
  395. {"Autoput", {2450.30,385.50,-100.00,2759.20,562.30,200.00}},
  396. {"Petina", {-2741.00,458.40,-7.60,-2533.00,793.40,200.00}},
  397. {"Ada Ciganlija", {342.60,-2173.20,-89.00,647.70,-1684.60,110.90}},
  398. {"Ada Ciganlija", {72.60,-2173.20,-89.00,342.60,-1684.60,110.90}},
  399. {"Nicija zemlja", {-1632.80,-2263.40,-3.00,-1601.30,-2231.70,200.00}},
  400. {"Nicija zemlja", {-1820.60,-2643.60,-8.00,-1226.70,-1771.60,200.00}},
  401. {"Nicija zemlja", {-2030.10,-2174.80,-6.10,-1820.60,-1771.60,200.00}},
  402. {"Vogosca", {2749.90,1548.90,-89.00,2923.30,1937.20,110.90}},
  403. {"Sarajevo", {2121.40,2663.10,-89.00,2498.20,2861.50,110.90}},
  404. {"Ferhadija", {2437.30,1783.20,-89.00,2685.10,2012.10,110.90}},
  405. {"Ferhadija", {2437.30,1858.10,-39.00,2495.00,1970.80,60.90}},
  406. {"Ferhadija", {2162.30,1883.20,-89.00,2437.30,2012.10,110.90}},
  407. {"Novi Beograd", {1252.30,-1130.80,-89.00,1378.30,-1026.30,110.90}},
  408. {"Novi Beograd", {1252.30,-1026.30,-89.00,1391.00,-926.90,110.90}},
  409. {"Novi Beograd", {1252.30,-926.90,-89.00,1357.00,-910.10,110.90}},
  410. {"Novi Beograd", {952.60,-1130.80,-89.00,1096.40,-937.10,110.90}},
  411. {"Novi Beograd", {1096.40,-1130.80,-89.00,1252.30,-1026.30,110.90}},
  412. {"Novi Beograd", {1096.40,-1026.30,-89.00,1252.30,-910.10,110.90}},
  413. {"Otoka", {2087.30,1203.20,-89.00,2640.40,1383.20,110.90}},
  414. {"Ferhadija", {2162.30,1783.20,-89.00,2437.30,1883.20,110.90}},
  415. {"Ferhadija", {2011.90,2202.70,-89.00,2237.40,2508.20,110.90}},
  416. {"Farma", {-1209.60,-1317.10,114.90,-908.10,-787.30,251.90}},
  417. {"Ferhadija", {1817.30,863.20,-89.00,2027.30,1083.20,110.90}},
  418. {"Sarajevo", {1817.30,1283.20,-89.00,2027.30,1469.20,110.90}},
  419. {"Nicija zemlja", {1664.60,401.70,0.00,1785.10,567.20,200.00}},
  420. {"Zagreb", {-947.90,-304.30,-1.10,-319.60,327.00,200.00}},
  421. {"Sarajevo", {1817.30,1083.20,-89.00,2027.30,1283.20,110.90}},
  422. {"Zagreb", {-968.70,1929.40,-3.00,-481.10,2155.20,200.00}},
  423. {"Ferhadija", {2027.40,863.20,-89.00,2087.30,1703.20,110.90}},
  424. {"Ferhadija", {2106.70,1863.20,-89.00,2162.30,2202.70,110.90}},
  425. {"Ferhadija", {2027.40,1783.20,-89.00,2162.30,1863.20,110.90}},
  426. {"Ferhadija", {2027.40,1703.20,-89.00,2137.40,1783.20,110.90}},
  427. {"Sarajevo", {1817.30,1863.20,-89.00,2106.70,2011.80,110.90}},
  428. {"Sarajevo", {1817.30,1703.20,-89.00,2027.40,1863.20,110.90}},
  429. {"Beograd", {1692.60,-1971.80,-20.40,1812.60,-1932.80,79.50}},
  430. {"Zagreb", {-936.60,2611.40,2.00,-715.90,2847.90,200.00}},
  431. {"Centar Grada", {930.20,-2488.40,-89.00,1249.60,-2006.70,110.90}},
  432. {"Centar Grada", {1073.20,-2006.70,-89.00,1249.60,-1842.20,110.90}},
  433. {"Centar Grada", {1249.60,-2179.20,-89.00,1692.60,-1842.20,110.90}},
  434. {"Nicija Zemlja", {37.00,2337.10,-3.00,435.90,2677.90,200.00}},
  435. {"Ada Ciganlija", {647.70,-2173.20,-89.00,930.20,-1804.20,110.90}},
  436. {"Ada Ciganlija", {930.20,-2006.70,-89.00,1073.20,-1804.20,110.90}},
  437. {"Ada Ciganlija", {851.40,-1804.20,-89.00,1046.10,-1577.50,110.90}},
  438. {"Ada Ciganlija", {1161.50,-1722.20,-89.00,1323.90,-1577.50,110.90}},
  439. {"Ada Ciganlija", {1046.10,-1722.20,-89.00,1161.50,-1577.50,110.90}},
  440. {"Dedinje", {787.40,-1310.20,-89.00,952.60,-1130.80,110.90}},
  441. {"Dedinje", {787.40,-1130.80,-89.00,952.60,-954.60,110.90}},
  442. {"Dedinje", {647.50,-1227.20,-89.00,787.40,-1118.20,110.90}},
  443. {"Dedinje", {647.70,-1416.20,-89.00,787.40,-1227.20,110.90}},
  444. {"Grbavica", {883.30,1726.20,-89.00,1098.30,2507.20,110.90}},
  445. {"Grbavica", {1098.30,1726.20,-89.00,1197.30,2243.20,110.90}},
  446. {"Vozdovac", {1970.60,-2179.20,-89.00,2089.00,-1852.80,110.90}},
  447. {"Vozdovac", {2089.00,-2235.80,-89.00,2201.80,-1989.90,110.90}},
  448. {"Vozdovac", {2089.00,-1989.90,-89.00,2324.00,-1852.80,110.90}},
  449. {"Vozdovac", {2201.80,-2095.00,-89.00,2324.00,-1989.90,110.90}},
  450. {"Vozdovac", {2541.70,-1941.40,-89.00,2703.50,-1852.80,110.90}},
  451. {"Vozdovac", {2324.00,-2059.20,-89.00,2541.70,-1852.80,110.90}},
  452. {"Vozdovac", {2541.70,-2059.20,-89.00,2703.50,-1941.40,110.90}},
  453. {"Sarajevo", {1377.40,2600.40,-21.90,1492.40,2687.30,78.00}},
  454. // Main Zones
  455. {"Beograd", {44.60,-2892.90,-242.90,2997.00,-768.00,900.00}},
  456. {"Sarajevo", {869.40,596.30,-242.90,2997.00,2993.80,900.00}},
  457. {"Pristina", {-480.50,596.30,-242.90,869.40,2993.80,900.00}},
  458. {"Skoplje", {-2997.40,1659.60,-242.90,-480.50,2993.80,900.00}},
  459. {"Skoplje", {-1213.90,596.30,-242.90,-480.50,1659.60,900.00}},
  460. {"Zagreb", {-2997.40,-1115.50,-242.90,-1213.90,1659.60,900.00}},
  461. {"Nicija Zemlja", {-1213.90,-768.00,-242.90,2997.00,596.30,900.00}},
  462. {"Granicna Zona", {-1213.90,-2892.90,-242.90,44.60,-768.00,900.00}},
  463. {"Ljubljana", {-2997.40,-2892.90,-242.90,-1213.90,-1115.50,900.00}}
  464. };
  465. //==============================================================================
  466. #if defined FILTERSCRIPT
  467. //==============================================================================
  468. public OnFilterScriptInit()
  469. {
  470. print("=================================");
  471. print("HOUSE SYSTEM BY RESPOSNE v1.0");
  472. print("=================================");
  473. //==========================================================================
  474. for(new idkuce = 1; idkuce < MAX_KUCA; idkuce++)
  475. {
  476. new kuce_File[50], string[400];
  477. format(kuce_File, sizeof(kuce_File), KUCE_FILE, idkuce);
  478. if(fexist(kuce_File))
  479. {
  480. INI_ParseFile(kuce_File, "UcitajKucu", .bExtra = true, .extra = idkuce);
  481. if(KucaInfo[idkuce][k_Kupljena] == 0)
  482. {
  483. DestroyDynamicPickup(KucaPickup[idkuce]);
  484. format(string,sizeof(string),""col_green"Kuca na Prodaju ("col_white"%d"col_green")\nVrsta: "col_white"%s\n"col_green"Cena: "col_white"%d$\n"col_green"Level: "col_white"%d\n"col_green"Adresa: "col_white"%s\n"col_green"Neaktivnost: "col_white"%d\n"col_green"Za kupovinu "col_white"/kupikucu",idkuce, KucaInfo[idkuce][k_Vrsta],KucaInfo[idkuce][k_Cena],KucaInfo[idkuce][k_Level], UlicaKuce(idkuce),KucaInfo[idkuce][k_Neaktivnost]);
  485. KucaLabel[idkuce] = CreateDynamic3DTextLabel(string, 0x33CCFFAA, KucaInfo[idkuce][k_EnterX], KucaInfo[idkuce][k_EnterY], KucaInfo[idkuce][k_EnterZ]+0.7, 25.0);
  486. KucaPickup[idkuce] = CreateDynamicPickup(1273, 1, KucaInfo[idkuce][k_EnterX], KucaInfo[idkuce][k_EnterY], KucaInfo[idkuce][k_EnterZ]);
  487.  
  488. }
  489. else if(KucaInfo[idkuce][k_Kupljena] == 1)
  490. {
  491. DestroyDynamicPickup(KucaPickup[idkuce]);
  492. format(string,sizeof(string),""col_green"Vlasnik: "col_white"%s\n"col_green"Vrsta: "col_white"%s\n"col_green"Adresa: "col_white"%s\n"col_green"ID Kuce: "col_white"%d\n"col_green"Neaktivnost: "col_white"%d\n"col_green"'"col_white"ENTER"col_green"' za ulaz u kucu",KucaInfo[idkuce][k_Vlasnik],KucaInfo[idkuce][k_Vrsta], UlicaKuce(idkuce), idkuce,KucaInfo[idkuce][k_Neaktivnost]);
  493. KucaLabel[idkuce] = CreateDynamic3DTextLabel(string, 0x33CCFFAA, KucaInfo[idkuce][k_EnterX], KucaInfo[idkuce][k_EnterY], KucaInfo[idkuce][k_EnterZ]+0.7, 25.0);
  494. KucaPickup[idkuce] = CreateDynamicPickup(1273, 1, KucaInfo[idkuce][k_EnterX], KucaInfo[idkuce][k_EnterY], KucaInfo[idkuce][k_EnterZ]);
  495. }
  496. }
  497. }
  498. return 1;
  499. }
  500. //==============================================================================
  501. public OnFilterScriptExit()
  502. {
  503. return 1;
  504. }
  505. #else
  506. //==============================================================================
  507. main()
  508. {
  509. print("=================================");
  510. print("HOUSE SYSTEM BY RESPOSNE v1.0");
  511. print("=================================");
  512. }
  513. //==============================================================================
  514. #endif
  515. //==============================================================================
  516. public OnPlayerConnect(playerid)
  517. {
  518. D_ID[playerid] = -1;
  519. GlobalProdaja[playerid] = -1;
  520. GlobalCena[playerid] = -1;
  521. return 1;
  522. }
  523. //==============================================================================
  524. public OnPlayerDisconnect(playerid, reason)
  525. {
  526. return 1;
  527. }
  528. //==============================================================================
  529. public OnPlayerEnterCheckpoint(playerid)
  530. {
  531. return 1;
  532. }
  533. //==============================================================================
  534. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  535. {
  536. if(PRESSED(KEY_SECONDARY_ATTACK))
  537. {
  538. for(new i = 1; i <= MAX_KUCA; i++)
  539. {
  540. if(IsPlayerInRangeOfPoint(playerid, 3.0, KucaInfo[i][k_EnterX], KucaInfo[i][k_EnterY], KucaInfo[i][k_EnterZ]))
  541. {
  542. if(KucaInfo[i][k_Locked] == 1) return GameTextForPlayer(playerid, "~r~zakljucano", 1000, 4);
  543. SetPlayerVirtualWorld(playerid, KucaInfo[i][k_VW]);
  544. SetPlayerInterior(playerid, KucaInfo[i][k_Interijer]);
  545. SetPlayerPos(playerid, KucaInfo[i][k_ExitX], KucaInfo[i][k_ExitY], KucaInfo[i][k_ExitZ]);
  546. break;
  547. }
  548. if(IsPlayerInRangeOfPoint(playerid, 3.0, KucaInfo[i][k_ExitX], KucaInfo[i][k_ExitY], KucaInfo[i][k_ExitZ]) && GetPlayerVirtualWorld(playerid) == KucaInfo[i][k_VW])
  549. {
  550. SetPlayerInterior(playerid, 0);
  551. SetPlayerVirtualWorld(playerid, 0);
  552. SetPlayerPos(playerid, KucaInfo[i][k_EnterX], KucaInfo[i][k_EnterY], KucaInfo[i][k_EnterZ]);
  553. break;
  554. }
  555. }
  556. }
  557. return 1;
  558. }
  559. //==============================================================================
  560. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  561. {
  562. if(D_ID[playerid] != dialogid)
  563. {
  564. SendErrorMessage(playerid, "Dogodila se greska sa dialogom, nije vam prikazan isti ID DIALOGA!");
  565. SendErrorMessage(playerid, "Pokusaj ponovo, a ako ti ponovo izbaci ovu poruku idi relog!");
  566. return 1;
  567. }
  568. D_ID[playerid] = -2;
  569. //==========================================================================
  570. switch(listitem)
  571. {
  572. case DIALOG_KUCA:
  573. {
  574. if(!response) return 1;
  575. if(PlayerInfo[playerid][pHouseKey] == -1) return SendErrorMessage(playerid, "Nemate kucu!");
  576. new i = PlayerInfo[playerid][pHouseKey];
  577. switch(listitem)
  578. {
  579. case 0:
  580. {
  581. if(!IsPlayerInRangeOfPoint(playerid, 15.0, KucaInfo[i][k_ExitX], KucaInfo[i][k_ExitY], KucaInfo[i][k_ExitZ])) return SendErrorMessage(playerid, "Niste u vasoj kuci!");
  582. new kz[4], k_string[300];
  583. if(KucaInfo[i][k_Locked] == 1) kz = "Da";
  584. else kz = "Ne";
  585.  
  586. format(k_string, sizeof(k_string), ""col_green"__________________________\n\n"col_green"Level: "col_white"%d\n"col_green"Zakljucano: "col_white"%s\n"col_green"Cena: "col_white"%d$\n"col_green"ID:"col_white" %d\n"col_green"Novac:"col_white" %d\n"col_green"__________________________", KucaInfo[i][k_Level], kz, KucaInfo[i][k_Cena], i, KucaInfo[i][k_Novac]);
  587. r_SPD(playerid, DIALOG_KINFO, DIALOG_STYLE_MSGBOX, ""col_green"INFO", k_string, "UREDU", "");
  588. }
  589. case 1:
  590. {
  591. if(!IsPlayerInRangeOfPoint(playerid, 15.0, KucaInfo[i][k_EnterX], KucaInfo[i][k_EnterY], KucaInfo[i][k_EnterZ])) return SendErrorMessage(playerid, "Niste ispred vase kuce!");
  592. r_SPD(playerid, DIALOG_KLUNLOCK, DIALOG_STYLE_MSGBOX, ""col_green"OTKLJUCAJ/ZKLJUCAJ", ""col_white"Odaberite da li zelite da "col_green"otkljucate "col_white"ili "col_green"zakljucate "col_white"vasu kucu", "OTKLJUCAJ", "ZAKLJUCAJ");
  593. }
  594. case 2:
  595. {
  596. if(!IsPlayerInRangeOfPoint(playerid, 15.0, KucaInfo[i][k_ExitX], KucaInfo[i][k_ExitY], KucaInfo[i][k_ExitZ])) return SendErrorMessage(playerid, "Niste u vasoj kuci!");
  597. r_SPD(playerid, DIALOG_KOSTAVI, DIALOG_STYLE_LIST, ""col_green"OSTAVLJANJE", ""col_green"01: "col_white"Novac", "IZABERI", "IZLAZ");
  598. }
  599. case 3:
  600. {
  601. if(!IsPlayerInRangeOfPoint(playerid, 15.0, KucaInfo[i][k_ExitX], KucaInfo[i][k_ExitY], KucaInfo[i][k_ExitZ])) return SendErrorMessage(playerid, "Niste u vasoj kuci!");
  602. r_SPD(playerid, DIALOG_KUZMI, DIALOG_STYLE_LIST, ""col_green"UZIMANJE", ""col_green"01: "col_white"Novac", "IZABERI", "IZLAZ");
  603. }
  604. case 4:
  605. {
  606. if(!IsPlayerInRangeOfPoint(playerid, 15.0, KucaInfo[i][k_EnterX], KucaInfo[i][k_EnterY], KucaInfo[i][k_EnterZ])) return SendErrorMessage(playerid, "Niste ispred vase kuce!");
  607. r_SPD(playerid, DIALOG_KPRODAJ, DIALOG_STYLE_MSGBOX, ""col_green"PRODAJA", ""col_white"Odaberite da li zelite prodati kucu "col_green"drzavi"col_white" ili "col_green"igracu", "DRZAVA", "IGRAC");
  608. }
  609. case 5:
  610. {
  611. if(!IsPlayerInRangeOfPoint(playerid, 15.0, KucaInfo[i][k_ExitX], KucaInfo[i][k_ExitY], KucaInfo[i][k_ExitZ])) return SendErrorMessage(playerid, "Niste u vasoj kuci!");
  612. r_SPD(playerid, DIALOG_PRINT, DIALOG_STYLE_LIST, ""col_green"INTERIJER", ""col_green"01: "col_white"Standardni Int\n"col_green"02: "col_white"Novi Int", "UREDU", "IZLAZ");
  613. }
  614. case 6:
  615. {
  616. SetPlayerCheckpoint(playerid, KucaInfo[i][k_EnterX], KucaInfo[i][k_EnterY], KucaInfo[i][k_EnterZ], 1.0);
  617. SendInfoMessage(playerid, "Vasa kuca je oznacena crveno na mapi.");
  618. }
  619. }
  620. }
  621. case DIALOG_KLUNLOCK:
  622. {
  623. new i = PlayerInfo[playerid][pHouseKey];
  624. if(response)
  625. {
  626. if(!IsPlayerInRangeOfPoint(playerid, 3.0, KucaInfo[i][k_EnterX], KucaInfo[i][k_EnterY], KucaInfo[i][k_EnterZ])) return SendErrorMessage(playerid, "Niste na ulazu vase kuce!");
  627. if(KucaInfo[i][k_Locked] == 0) return SendErrorMessage(playerid, "Vec je otkljucano!");
  628. KucaInfo[i][k_Locked] = 0; SacuvajKucu(i);
  629. SendInfoMessage(playerid, "Otkljucali ste vasu kucu!");
  630. }
  631. else if(!response)
  632. {
  633. if(!IsPlayerInRangeOfPoint(playerid, 3.0, KucaInfo[i][k_EnterX], KucaInfo[i][k_EnterY], KucaInfo[i][k_EnterZ])) return SendErrorMessage(playerid, "Niste na ulazu vase kuce!");
  634. if(KucaInfo[i][k_Locked] == 1) return SendErrorMessage(playerid, "Vec je zakljucano!");
  635. KucaInfo[i][k_Locked] = 1; SacuvajKucu(i);
  636. SendInfoMessage(playerid, "Zakljucali ste vasu kucu!");
  637. }
  638. }
  639. case DIALOG_KOSTAVI:
  640. {
  641. if(response)
  642. {
  643. switch(listitem)
  644. {
  645. case 0: r_SPD(playerid, DIALOG_OKNOVAC, DIALOG_STYLE_INPUT, ""col_green"OSTAVLJANJE NOVCA", ""col_white"Unesite kolicinu novca koju zelite da ostavite", "OSTAVI", "IZLAZ");
  646. }
  647. }
  648. }
  649. case DIALOG_OKNOVAC:
  650. {
  651. if(PlayerInfo[playerid][pHouseKey] == -1) return SendErrorMessage(playerid, "Nemate kucu!");
  652. new i = PlayerInfo[playerid][pHouseKey];
  653. if(response)
  654. {
  655. new iznos;
  656. if(sscanf(inputtext, "i", iznos)) return r_SPD(playerid, DIALOG_OKNOVAC, DIALOG_STYLE_INPUT, ""col_green"OSTAVLJANJE NOVCA", ""col_white"Unesite kolicinu novca koju zelite da ostavite", "OSTAVI", "IZLAZ");
  657. if(iznos > PlayerInfo[playerid][pNovac]) return SendErrorMessage(playerid, "Nemate toliko novca!");
  658. if(iznos < 1 || iznos > 50000) return SendErrorMessage(playerid, "Suma ne mozete biti manja od 1 i veca od 50000!");
  659. if(KucaInfo[i][k_Novac] > 2000000) return SendErrorMessage(playerid, "Vas sef je pun, ne mozete vise novca staviti.");
  660. KucaInfo[i][k_Novac] += iznos; GivePlayerMoney(playerid, -iznos); SacuvajKucu(i);
  661. va_SendClientMessage(playerid, -1, "Ostavili ste u kucu %d$!", iznos);
  662. }
  663. }
  664. case DIALOG_KUZMI:
  665. {
  666. if(response)
  667. {
  668. switch(listitem)
  669. {
  670. case 0: ShowPlayerDialog(playerid, DIALOG_UKNOVAC, DIALOG_STYLE_INPUT, ""col_green"UZIMANJE NOVCA", ""col_white"Unesite kolicinu novca koju zelite da uzmete", "UZMI", "IZLAZ");
  671. }
  672. }
  673. }
  674. case DIALOG_UKNOVAC:
  675. {
  676. if(PlayerInfo[playerid][pHouseKey] == -1) return SendErrorMessage(playerid, "Nemate kucu!");
  677. new i = PlayerInfo[playerid][pHouseKey];
  678. if(response)
  679. {
  680. new iznos;
  681. if(sscanf(inputtext, "i", iznos)) return r_SPD(playerid, DIALOG_UKNOVAC, DIALOG_STYLE_INPUT, ""col_green"UZIMANJE NOVCA", ""col_white"Unesite kolicinu novca koju zelite da uzmete", "UZMI", "IZLAZ");
  682. if(iznos > KucaInfo[i][k_Novac]) return SendErrorMessage(playerid, "Nemate toliko novca u kuci!");
  683. if(iznos < 1 || iznos > 50000) return SendErrorMessage(playerid, "Suma ne mozete biti manja od 1 i veca od 50000!");
  684. KucaInfo[i][k_Novac] -= iznos; GivePlayerMoney(playerid, iznos); SacuvajKucu(i);
  685. va_SendClientMessage(playerid, -1, "Uzeli ste iz kuce %d$!", iznos);
  686. }
  687. }
  688. case DIALOG_KPRODAJ:
  689. {
  690. if(response)
  691. {
  692. new i = PlayerInfo[playerid][pHouseKey];
  693. GivePlayerMoney(playerid, KucaInfo[i][k_Cena]);
  694. KucaInfo[i][k_Kupljena] = 0; KucaInfo[i][k_Novac] = 0;
  695. KucaInfo[i][k_Locked] = 1;
  696. strmid(KucaInfo[i][k_Vlasnik], "Niko", 0, strlen("Niko"), 255);
  697. PlayerInfo[playerid][pHouseKey] = -1;
  698. SacuvajKucu(i); Kuca_Label(i); //SacuvajIgraca(i); To dodas na svom modu!
  699. va_SendClientMessage(playerid, -1, "Prodali ste kucu drzavi za %d!", KucaInfo[i][k_Cena]);
  700. }
  701. else if(!response)
  702. {
  703. r_SPD(playerid, DIALOG_KPRODAJAIGRACU, DIALOG_STYLE_INPUT, ""col_green"PRODAJA KUCE IGRACU", "U prazni prostor ispod unesite ID igraca i cenu kuce", "PONUDI", "PONISTI");
  704. }
  705. }
  706. case DIALOG_KPRODAJAIGRACU:
  707. {
  708. if(response)
  709. {
  710. new idigraca, Cena, Float:Poz[3], k_string[300];
  711. if(sscanf(inputtext, "ui", idigraca, Cena)) return r_SPD(playerid, DIALOG_KPRODAJAIGRACU, DIALOG_STYLE_INPUT, ""col_green"PRODAJA KUCE IGRACU", "U prazni prostor ispod unesite ID igraca i cenu kuce", "PONUDI", "PONISTI");
  712. if(Cena < 1) return SendErrorMessage(playerid, "Cena ne moze biti manja od 1$!");
  713. if(idigraca == playerid) return SendErrorMessage(playerid, "Ne mozes sam sebi prodati kucu!");
  714. if(GetPlayerScore(idigraca) < 5) return SendErrorMessage(playerid, "Igrac nije dovoljan level za kupovinu kuce!");
  715. if(PlayerInfo[idigraca][pNovac] < Cena) return SendErrorMessage(playerid, "Igrac nema dovoljno novca za kupovinu kuce!");
  716. if(PlayerInfo[idigraca][pHouseKey] != -1) return SendErrorMessage(playerid, "Odabrani igrac vec ima kucu!");
  717. GetPlayerPos(idigraca, Poz[0], Poz[1], Poz[2]);
  718. if(!IsPlayerInRangeOfPoint(playerid, 10.0, Poz[0], Poz[1], Poz[2])) return SendErrorMessage(playerid, "Taj igrac nije u vasoj blizini.");
  719. GlobalProdaja[idigraca] = playerid; GlobalCena[idigraca] = Cena;
  720. format(k_string, sizeof(k_string), ""col_white"Igrac "col_green"%s "col_white"vam je ponudio da kupite njegovu kucu za "col_green"%d", GetName(playerid), Cena);
  721. r_SPD(idigraca, DIALOG_PRIHVATIKUCU, DIALOG_STYLE_MSGBOX, ""col_green"KUCA KUPOVINA", k_string, "UREDU", "");
  722. }
  723. }
  724. case DIALOG_PRIHVATIKUCU:
  725. {
  726. if(response)
  727. {
  728. PlayerInfo[playerid][pHouseKey] = PlayerInfo[GlobalProdaja[playerid]][pHouseKey];
  729. PlayerInfo[GlobalProdaja[playerid]][pHouseKey] = -1;
  730. strmid(KucaInfo[PlayerInfo[playerid][pHouseKey]][k_Vlasnik], "Niko", 0, strlen("Niko"), 255);
  731. SacuvajKucu(PlayerInfo[playerid][pHouseKey]); Kuca_Label(PlayerInfo[playerid][pHouseKey]);
  732. va_SendClientMessage(GlobalProdaja[playerid], -1, ""col_green"Prodali ste kucu igracu"col_white" %s "col_green"za"col_white" %d"col_green"!", GetName(playerid), GlobalCena[playerid]);
  733. SendInfoMessage(playerid, "Kupili ste kucu!");
  734. GivePlayerMoney(GlobalProdaja[playerid], GlobalCena[playerid]);
  735. GivePlayerMoney(playerid, -GlobalCena[playerid]);
  736. GlobalProdaja[playerid] = -1;
  737. GlobalCena[playerid] = -1;
  738. //SacuvajIgraca(playerid); To dodas na svom modu!
  739. }
  740. else if(!response)
  741. {
  742. va_SendClientMessage(GlobalProdaja[playerid], -1, ""col_green"Igrac"col_white" %s "col_green" je odbio vasu ponudu za kupovinu kuce!", GetName(playerid));
  743. SendInfoMessage(playerid, "Odbili ste ponudu!");
  744. GlobalProdaja[playerid] = -1;
  745. GlobalCena[playerid] = -1;
  746. }
  747. }
  748. case DIALOG_PRINT:
  749. {
  750. if(!response) return 1;
  751. if(PlayerInfo[playerid][pHouseKey] == -1) return SendErrorMessage(playerid, "Nemate kucu!");
  752. new i = PlayerInfo[playerid][pHouseKey];
  753. switch(listitem)
  754. {
  755. case 0:
  756. {
  757. if(KucaInfo[i][k_Intpromena] == 1)
  758. {
  759. if(PlayerInfo[playerid][pNovac] < 3000) return SendErrorMessage(playerid, "Nemate dovoljno novca!");
  760. KucaInfo[i][k_ExitX] = 223.043991;
  761. KucaInfo[i][k_ExitY] = 1289.259888;
  762. KucaInfo[i][k_ExitZ] = 1082.199951;
  763. KucaInfo[i][k_Interijer] = 1;
  764. GivePlayerMoney(playerid, -3000);
  765. SetPlayerInterior(playerid, 0);
  766. SetPlayerVirtualWorld(playerid, 0);
  767. SetPlayerPos(playerid, KucaInfo[i][k_EnterX], KucaInfo[i][k_EnterY], KucaInfo[i][k_EnterZ]);
  768. SacuvajKucu(i);
  769. SCM(playerid, C_GREEN, "* "col_white"Uspesno ste promenili interijer kuce!");
  770. }
  771. else if(KucaInfo[i][k_Intpromena] == 2)
  772. {
  773. if(PlayerInfo[playerid][pNovac] < 10000) return SendErrorMessage(playerid, "Nemate dovoljno novca!");
  774. KucaInfo[i][k_ExitX] = 2807.619873;
  775. KucaInfo[i][k_ExitY] = -1171.899902;
  776. KucaInfo[i][k_ExitZ] = 1025.570312;
  777. KucaInfo[i][k_Interijer] = 8;
  778. GivePlayerMoney(playerid, -10000);
  779. SetPlayerInterior(playerid, 0);
  780. SetPlayerVirtualWorld(playerid, 0);
  781. SetPlayerPos(playerid, KucaInfo[i][k_EnterX], KucaInfo[i][k_EnterY], KucaInfo[i][k_EnterZ]);
  782. SacuvajKucu(i);
  783. SCM(playerid, C_GREEN, "* "col_white"Uspesno ste promenili interijer kuce!");
  784. }
  785. else if(KucaInfo[i][k_Intpromena] == 3)
  786. {
  787. if(PlayerInfo[playerid][pNovac] < 16000) return SendErrorMessage(playerid, "Nemate dovoljno novca!");
  788. KucaInfo[i][k_ExitX] = 2496.049804;
  789. KucaInfo[i][k_ExitY] = -1695.238159;
  790. KucaInfo[i][k_ExitZ] = 1014.742187;
  791. KucaInfo[i][k_Interijer] = 3;
  792. GivePlayerMoney(playerid, -16000);
  793. SetPlayerInterior(playerid, 0);
  794. SetPlayerVirtualWorld(playerid, 0);
  795. SetPlayerPos(playerid, KucaInfo[i][k_EnterX], KucaInfo[i][k_EnterY], KucaInfo[i][k_EnterZ]);
  796. SacuvajKucu(i);
  797. SCM(playerid, C_GREEN, "* "col_white"Uspesno ste promenili interijer kuce!");
  798. }
  799. }
  800. case 1:
  801. {
  802. if(KucaInfo[i][k_Intpromena] == 1)
  803. {
  804. if(PlayerInfo[playerid][pNovac] < 9000) return SendErrorMessage(playerid, "Nemate dovoljno novca!");
  805. KucaInfo[i][k_ExitX] = 2807.619873;
  806. KucaInfo[i][k_ExitY] = -1171.899902;
  807. KucaInfo[i][k_ExitZ] = 1025.570312;
  808. KucaInfo[i][k_Interijer] = 8;
  809. GivePlayerMoney(playerid, -9000);
  810. SetPlayerInterior(playerid, 0);
  811. SetPlayerVirtualWorld(playerid, 0);
  812. SetPlayerPos(playerid, KucaInfo[i][k_EnterX], KucaInfo[i][k_EnterY], KucaInfo[i][k_EnterZ]);
  813. SacuvajKucu(i);
  814. SCM(playerid, C_GREEN, "* "col_white"Uspesno ste promenili interijer kuce!");
  815. }
  816. else if(KucaInfo[i][k_Intpromena] == 2)
  817. {
  818. if(PlayerInfo[playerid][pNovac] < 15000) return SendErrorMessage(playerid, "Nemate dovoljno novca!");
  819. KucaInfo[i][k_ExitX] = 2324.419921;
  820. KucaInfo[i][k_ExitY] = -1145.568359;
  821. KucaInfo[i][k_ExitZ] = 1050.710083;
  822. KucaInfo[i][k_Interijer] = 12;
  823. GivePlayerMoney(playerid, -15000);
  824. SetPlayerInterior(playerid, 0);
  825. SetPlayerVirtualWorld(playerid, 0);
  826. SetPlayerPos(playerid, KucaInfo[i][k_EnterX], KucaInfo[i][k_EnterY], KucaInfo[i][k_EnterZ]);
  827. SacuvajKucu(i);
  828. SCM(playerid, C_GREEN, "* "col_white"Uspesno ste promenili interijer kuce!");
  829. }
  830. else if(KucaInfo[i][k_Intpromena] == 3)
  831. {
  832. if(PlayerInfo[playerid][pNovac] < 20000) return SendErrorMessage(playerid, "Nemate dovoljno novca!");
  833. KucaInfo[i][k_ExitX] = 1267.663208;
  834. KucaInfo[i][k_ExitY] = -781.323242;
  835. KucaInfo[i][k_ExitZ] = 1091.906250;
  836. KucaInfo[i][k_Interijer] = 5;
  837. GivePlayerMoney(playerid, -20000);
  838. SetPlayerInterior(playerid, 0);
  839. SetPlayerVirtualWorld(playerid, 0);
  840. SetPlayerPos(playerid, KucaInfo[i][k_EnterX], KucaInfo[i][k_EnterY], KucaInfo[i][k_EnterZ]);
  841. SacuvajKucu(i);
  842. SCM(playerid, C_GREEN, "* "col_white"Uspesno ste promenili interijer kuce!");
  843. }
  844. }
  845. }
  846. }
  847. }
  848. return 1;
  849. }
  850. //==============================================================================
  851. private SAMF(color, const info[], va_args<>)
  852. {
  853. new fmat[800];
  854. va_format(fmat, sizeof(fmat), info, va_start<2>);
  855. return AdminPoruka(color, fmat);
  856. }
  857. //==============================================================================
  858. private UcitajKucu(kuca_id, name[], value[])
  859. {
  860. INI_Int("Kupljena", KucaInfo[kuca_id][k_Kupljena]);
  861. INI_String("Vlasnik", KucaInfo[kuca_id][k_Vlasnik], MAX_PLAYER_NAME);
  862. INI_String("Vrsta", KucaInfo[kuca_id][k_Vrsta], 35);
  863. INI_Float("EnterX", KucaInfo[kuca_id][k_EnterX]);
  864. INI_Float("EnterY", KucaInfo[kuca_id][k_EnterY]);
  865. INI_Float("EnterZ", KucaInfo[kuca_id][k_EnterZ]);
  866. INI_Float("ExitX", KucaInfo[kuca_id][k_ExitX]);
  867. INI_Float("ExitY", KucaInfo[kuca_id][k_ExitY]);
  868. INI_Float("ExitZ", KucaInfo[kuca_id][k_ExitZ]);
  869. INI_Int("Level", KucaInfo[kuca_id][k_Level]);
  870. INI_Int("Cena", KucaInfo[kuca_id][k_Cena]);
  871. INI_Int("Novac", KucaInfo[kuca_id][k_Novac]);
  872. INI_Int("Interijer", KucaInfo[kuca_id][k_Interijer]);
  873. INI_Int("Locked", KucaInfo[kuca_id][k_Locked]);
  874. INI_Int("VW", KucaInfo[kuca_id][k_VW]);
  875. INI_Int("Intpromena", KucaInfo[kuca_id][k_Intpromena]);
  876. INI_Int("Neaktivnost", KucaInfo[kuca_id][k_Neaktivnost]);
  877. return 1;
  878. }
  879. //==============================================================================
  880. stock SacuvajKucu(kuca_id)
  881. {
  882. new kuce_File[50];
  883. format(kuce_File, sizeof(kuce_File), KUCE_FILE, kuca_id);
  884. new INI:File = INI_Open(kuce_File);
  885. INI_WriteInt(File, "Kupljena", KucaInfo[kuca_id][k_Kupljena]);
  886. INI_WriteString(File, "Vlasnik", KucaInfo[kuca_id][k_Vlasnik]);
  887. INI_WriteString(File, "Vrsta", KucaInfo[kuca_id][k_Vrsta]);
  888. INI_WriteFloat(File, "EnterX", KucaInfo[kuca_id][k_EnterX]);
  889. INI_WriteFloat(File, "EnterY", KucaInfo[kuca_id][k_EnterY]);
  890. INI_WriteFloat(File, "EnterZ", KucaInfo[kuca_id][k_EnterZ]);
  891. INI_WriteFloat(File, "ExitX", KucaInfo[kuca_id][k_ExitX]);
  892. INI_WriteFloat(File, "ExitY", KucaInfo[kuca_id][k_ExitY]);
  893. INI_WriteFloat(File, "ExitZ", KucaInfo[kuca_id][k_ExitZ]);
  894. INI_WriteInt(File, "Level", KucaInfo[kuca_id][k_Level]);
  895. INI_WriteInt(File, "Cena", KucaInfo[kuca_id][k_Cena]);
  896. INI_WriteInt(File, "Novac", KucaInfo[kuca_id][k_Novac]);
  897. INI_WriteInt(File, "Interijer", KucaInfo[kuca_id][k_Interijer]);
  898. INI_WriteInt(File, "Locked", KucaInfo[kuca_id][k_Locked]);
  899. INI_WriteInt(File, "VW", KucaInfo[kuca_id][k_VW]);
  900. INI_WriteInt(File, "Intpromena", KucaInfo[kuca_id][k_Intpromena]);
  901. INI_WriteInt(File, "Neaktivnost", KucaInfo[kuca_id][k_Neaktivnost]);
  902. INI_Close(File);
  903. return 1;
  904. }
  905. //==============================================================================
  906. stock Kuca_Label(idkuce)
  907. {
  908. new string[400];
  909. if(KucaInfo[idkuce][k_Kupljena] == 0)
  910. {
  911. DestroyDynamicPickup(KucaPickup[idkuce]);
  912. format(string,sizeof(string),""col_green"Kuca na Prodaju ("col_white"%d"col_green")\nVrsta: "col_white"%s\n"col_green"Cena: "col_white"%d$\n"col_green"Level: "col_white"%d\n"col_green"Adresa: "col_white"%s\n"col_green"Neaktivnost: "col_white"%d\n"col_green"Za kupovinu "col_white"/kupikucu",idkuce, KucaInfo[idkuce][k_Vrsta],KucaInfo[idkuce][k_Cena],KucaInfo[idkuce][k_Level], UlicaKuce(idkuce),KucaInfo[idkuce][k_Neaktivnost]);
  913. UpdateDynamic3DTextLabelText(KucaLabel[idkuce], 0x33CCFFAA, string);
  914. KucaPickup[idkuce] = CreateDynamicPickup(1273, 1, KucaInfo[idkuce][k_EnterX], KucaInfo[idkuce][k_EnterY], KucaInfo[idkuce][k_EnterZ]);
  915.  
  916. }
  917. else if(KucaInfo[idkuce][k_Kupljena] == 1)
  918. {
  919. DestroyDynamicPickup(KucaPickup[idkuce]);
  920. format(string,sizeof(string),""col_green"Vlasnik: "col_white"%s\n"col_green"Vrsta: "col_white"%s\n"col_green"Adresa: "col_white"%s\n"col_green"ID Kuce: "col_white"%d\n"col_green"Neaktivnost: "col_white"%d\n"col_green"'"col_white"ENTER"col_green"' za ulaz u kucu",KucaInfo[idkuce][k_Vlasnik],KucaInfo[idkuce][k_Vrsta], UlicaKuce(idkuce), idkuce,KucaInfo[idkuce][k_Neaktivnost]);
  921. UpdateDynamic3DTextLabelText(KucaLabel[idkuce], 0x33CCFFAA, string);
  922. KucaPickup[idkuce] = CreateDynamicPickup(1272, 1, KucaInfo[idkuce][k_EnterX], KucaInfo[idkuce][k_EnterY], KucaInfo[idkuce][k_EnterZ]);
  923. }
  924. return 1;
  925. }
  926. //==============================================================================
  927. stock UlicaKuce(h)
  928. {
  929. new imeulice[MAX_ZONE_NAME];
  930. UlicaKuce2D(h,imeulice,sizeof(imeulice));
  931. return imeulice;
  932. }
  933. //==============================================================================
  934. stock UlicaKuce2D(h, zone[], len)
  935. {
  936. new Float:x22, Float:y22;
  937. x22 = KucaInfo[h][k_EnterX]; y22 = KucaInfo[h][k_EnterY];
  938. for(new i = 0; i != sizeof(gSAZones); i++ )
  939. {
  940. if(x22 >= gSAZones[i][SAZONE_AREA][0] && x22 <= gSAZones[i][SAZONE_AREA][3] && y22 >= gSAZones[i][SAZONE_AREA][1] && y22 <= gSAZones[i][SAZONE_AREA][4])
  941. {
  942. return format(zone, len, gSAZones[i][SAZONE_NAME], 0);
  943. }
  944. }
  945. return 0;
  946. }
  947. //==============================================================================
  948. stock SledeciIDKuce()
  949. {
  950. new id = -1;
  951. for(new loop = (0), provjera = (-1), Data_[64] = "\0"; loop != MAX_KUCA; ++ loop)
  952. {
  953. provjera = (loop + 1);
  954. format(Data_, (sizeof Data_), KUCE_FILE, provjera);
  955. if(!fexist(Data_))
  956. {
  957. id = (provjera);
  958. break;
  959. }
  960. }
  961. return id;
  962. }
  963. //==============================================================================
  964. stock GetName(playerid)
  965. {
  966. new Ime_Igraca[MAX_PLAYER_NAME];
  967. GetPlayerName(playerid, Ime_Igraca, MAX_PLAYER_NAME);
  968. return Ime_Igraca;
  969. }
  970. //==============================================================================
  971. stock AdminPoruka(color, string[])
  972. {
  973. for(new i = 0; i < MAX_PLAYERS; i++)
  974. {
  975. if(IsPlayerConnected(i))
  976. {
  977. if(PlayerInfo[i][pAdmin] >= 1 || IsPlayerAdmin(i))
  978. {
  979. SCM(i, color, string);
  980. }
  981. }
  982. }
  983. return 1;
  984. }
  985. //==============================================================================
  986. stock r_SPD(playerid, dialogid, style, caption[], info[], button1[], button2[])
  987. {
  988. if(D_ID[playerid] != -2) return 1;
  989. if(D_ID[playerid] == -1) D_ID[playerid] = -2;
  990. D_ID[playerid] = dialogid;
  991. return ShowPlayerDialog(playerid, dialogid, style, caption, info, button1, button2);
  992. }
  993. //============================================================================== KOMANDE ZA KUCU
  994. CMD:kreirajkucu(playerid, params[])
  995. {
  996. if(PlayerInfo[playerid][pAdmin] < 6) return SendErrorMessage(playerid, "Niste ovlasceni!");
  997. new idkuce = SledeciIDKuce(), vrsta, Float:X, Float:Y, Float:Z, string[400]; GetPlayerPos(playerid,X,Y,Z);
  998. if(sscanf(params, "i", vrsta))
  999. {
  1000. SendUsageMessage(playerid, "/kreirajkucu [Vrsta]");
  1001. SCM(playerid, -1, "0. Mala kuca 1. Srednja kuca 2. Vila");
  1002. return 1;
  1003. }
  1004. if(idkuce == 0) idkuce = 1;
  1005. if(idkuce >= MAX_KUCA) return SCM(playerid, -1, "ID te kuce vec postoji/Maximum kuca je ogranicen!");
  1006. if(vrsta < 0 || vrsta > 2) return SendErrorMessage(playerid, "Pogresna vrsta!");
  1007. if(vrsta == 0) // MALA KUCA
  1008. {
  1009. KucaInfo[idkuce][k_ExitX] = 223.043991;
  1010. KucaInfo[idkuce][k_ExitY] = 1289.259888;
  1011. KucaInfo[idkuce][k_ExitZ] = 1082.199951;
  1012. KucaInfo[idkuce][k_Interijer] = 1;
  1013. strmid(KucaInfo[idkuce][k_Vrsta], "Mala Kuca", 0, strlen("Mala Kuca"), 255);
  1014. KucaInfo[idkuce][k_Intpromena] = 1;
  1015. KucaInfo[idkuce][k_Level] = 5;
  1016. KucaInfo[idkuce][k_Cena] = 100000;
  1017. }
  1018. else if(vrsta == 1) // SREDNJA KUCA
  1019. {
  1020. KucaInfo[idkuce][k_ExitX] = 2807.619873;
  1021. KucaInfo[idkuce][k_ExitY] = -1171.899902;
  1022. KucaInfo[idkuce][k_ExitZ] = 1025.570312;
  1023. KucaInfo[idkuce][k_Interijer] = 8;
  1024. strmid(KucaInfo[idkuce][k_Vrsta], "Srednja Kuca", 0, strlen("Srednja Kuca"), 255);
  1025. KucaInfo[idkuce][k_Intpromena] = 2;
  1026. KucaInfo[idkuce][k_Level] = 7;
  1027. KucaInfo[idkuce][k_Cena] = 170000;
  1028. }
  1029. else if(vrsta == 2) // VILLA
  1030. {
  1031. KucaInfo[idkuce][k_ExitX] = 2496.049804;
  1032. KucaInfo[idkuce][k_ExitY] = -1695.238159;
  1033. KucaInfo[idkuce][k_ExitZ] = 1014.742187;
  1034. KucaInfo[idkuce][k_Interijer] = 3;
  1035. strmid(KucaInfo[idkuce][k_Vrsta], "Vila", 0, strlen("Vila"), 255);
  1036. KucaInfo[idkuce][k_Intpromena] = 3;
  1037. KucaInfo[idkuce][k_Level] = 10;
  1038. KucaInfo[idkuce][k_Cena] = 280000;
  1039. }
  1040. KucaInfo[idkuce][k_Neaktivnost] = 0; KucaInfo[idkuce][k_EnterX] = X;
  1041. KucaInfo[idkuce][k_EnterY] = Y; KucaInfo[idkuce][k_EnterZ] = Z; KucaInfo[idkuce][k_Kupljena] = 0;
  1042. KucaInfo[idkuce][k_Novac] = 0; KucaInfo[idkuce][k_Locked] = 1; KucaInfo[idkuce][k_VW] = idkuce;
  1043. strmid(KucaInfo[idkuce][k_Vlasnik], "Niko", 0, strlen("Niko"), 255);
  1044. format(string,sizeof(string),""col_green"Kuca na Prodaju ("col_white"%d"col_green")\nVrsta: "col_white"%s\n"col_green"Cena: "col_white"%d$\n"col_green"Level: "col_white"%d\n"col_green"Adresa: "col_white"%s\n"col_green"Neaktivnost: "col_white"%d\n"col_green"Za kupovinu "col_white"/kupikucu", idkuce, KucaInfo[idkuce][k_Vrsta], KucaInfo[idkuce][k_Cena], KucaInfo[idkuce][k_Level], UlicaKuce(idkuce), KucaInfo[idkuce][k_Neaktivnost]);
  1045. KucaLabel[idkuce] = CreateDynamic3DTextLabel(string ,0x33CCFFAA,X,Y,Z+0.7, 25.0);
  1046. KucaPickup[idkuce] = CreateDynamicPickup(1273, 1, KucaInfo[idkuce][k_EnterX], KucaInfo[idkuce][k_EnterY], KucaInfo[idkuce][k_EnterZ]);
  1047. SacuvajKucu(idkuce);
  1048. SendInfoMessage(playerid,"Kuca je uspesno kreirana!");
  1049. return 1;
  1050. }
  1051. //==============================================================================
  1052. CMD:portkuca(playerid, params[])
  1053. {
  1054. if(PlayerInfo[playerid][pAdmin] < 5) return SendErrorMessage(playerid, "Niste ovlasceni!");
  1055. new id, kucefile[50];
  1056. if(sscanf(params,"i",id)) return SendUsageMessage(playerid, "/portkuca [ID]");
  1057. format(kucefile, sizeof(kucefile), KUCE_FILE, id);
  1058. if(!fexist(kucefile)) return SendErrorMessage(playerid, "Pogresan ID kuce!");
  1059. SetPlayerPos(playerid, KucaInfo[id][k_EnterX], KucaInfo[id][k_EnterY], KucaInfo[id][k_EnterZ]);
  1060. SetPlayerInterior(playerid,0); SetPlayerVirtualWorld(playerid,0);
  1061. return 1;
  1062. }
  1063. //==============================================================================
  1064. CMD:proverikucu(playerid, params[])
  1065. {
  1066. if(PlayerInfo[playerid][pAdmin] < 5) return SendErrorMessage(playerid, "Niste ovlasceni!");
  1067. new id, kucefile[50];
  1068. if(sscanf(params,"i",id)) return SendUsageMessage(playerid, "/proverikucu [ID]");
  1069. format(kucefile, sizeof(kucefile), KUCE_FILE, id);
  1070. if(!fexist(kucefile)) return SendErrorMessage(playerid, "Pogresan ID kuce!");
  1071. va_SendClientMessage(playerid, -1, ""col_blue"[INFO]"col_white" U odabranoj kuci ima %d$.", KucaInfo[id][k_Novac]);
  1072. return 1;
  1073. }
  1074. //==============================================================================
  1075. CMD:ekucaulaz(playerid, params[])
  1076. {
  1077. if(PlayerInfo[playerid][pAdmin] < 6) return SendErrorMessage(playerid, "Niste ovlasceni!");
  1078. new id, string[400], kucefile[50];
  1079. if(sscanf(params, "i",id)) return SendUsageMessage(playerid, "/ekucaulaz [id kuce]");
  1080. format(kucefile, sizeof(kucefile), KUCE_FILE, id);
  1081. if(!fexist(kucefile)) return SendErrorMessage(playerid, "Pogresan ID kuce!");
  1082. new Float:poZ[3]; GetPlayerPos(playerid, poZ[0], poZ[1], poZ[2]);
  1083. KucaInfo[id][k_EnterX] = poZ[0]; KucaInfo[id][k_EnterY] = poZ[1]; KucaInfo[id][k_EnterZ] = poZ[2]; SacuvajKucu(id);
  1084. SAMF(-1, ""col_green"AdminInfo: Admin %s je uspesno zamenio ulaz kuce (%d).", GetName(playerid), id);
  1085.  
  1086. DestroyDynamic3DTextLabel(KucaLabel[id]); DestroyDynamicPickup(KucaPickup[id]);
  1087. if(KucaInfo[id][k_Kupljena] == 0)
  1088. {
  1089. format(string,sizeof(string),""col_green"Kuca na Prodaju ("col_white"%d"col_green")\nVrsta: "col_white"%s\n"col_green"Cena: "col_white"%d$\n"col_green"Level: "col_white"%d\n"col_green"Adresa: "col_white"%s\n"col_green"Neaktivnost: "col_white"%d\n"col_green"Za kupovinu "col_white"/kupikucu", id, KucaInfo[id][k_Vrsta], KucaInfo[id][k_Cena], KucaInfo[id][k_Level], UlicaKuce(id), KucaInfo[id][k_Neaktivnost]);
  1090. KucaLabel[id] = CreateDynamic3DTextLabel(string ,0x33CCFFAA,KucaInfo[id][k_EnterX],KucaInfo[id][k_EnterY],KucaInfo[id][k_EnterZ]+0.7, 25.0);
  1091. KucaPickup[id] = CreateDynamicPickup(1273, 1, KucaInfo[id][k_EnterX], KucaInfo[id][k_EnterY], KucaInfo[id][k_EnterZ]);
  1092. }
  1093. else if(KucaInfo[id][k_Kupljena] == 1)
  1094. {
  1095. format(string,sizeof(string),""col_green"Vlasnik: "col_white"%s\n"col_green"Vrsta: "col_white"%s\n"col_green"Adresa: "col_white"%s\n"col_green"ID Kuce: "col_white"%d\n"col_green"Neaktivnost: "col_white"%d\n"col_green"'"col_white"ENTER"col_green"' za ulaz u kucu", KucaInfo[id][k_Vlasnik], KucaInfo[id][k_Vrsta], UlicaKuce(id), id, KucaInfo[id][k_Neaktivnost]);
  1096. KucaLabel[id] = CreateDynamic3DTextLabel(string, 0x33CCFFAA, KucaInfo[id][k_EnterX],KucaInfo[id][k_EnterY],KucaInfo[id][k_EnterZ]+0.7, 25.0);
  1097. KucaPickup[id] = CreateDynamicPickup(1272, 1, KucaInfo[id][k_EnterX], KucaInfo[id][k_EnterY], KucaInfo[id][k_EnterZ]);
  1098. }
  1099. return 1;
  1100. }
  1101. //==============================================================================
  1102. CMD:ekucaizlaz(playerid, params[])
  1103. {
  1104. if(PlayerInfo[playerid][pAdmin] < 6) return SendErrorMessage(playerid, "Niste ovlasceni!");
  1105. new id, kucefile[50];
  1106. if(sscanf(params, "i",id)) return SendUsageMessage(playerid, "/ekucaizlaz [id kuce]");
  1107. format(kucefile, sizeof(kucefile), KUCE_FILE, id);
  1108. if(!fexist(kucefile)) return SendErrorMessage(playerid, "Pogresan ID kuce!");
  1109. new Float:poZ[3]; GetPlayerPos(playerid, poZ[0], poZ[1], poZ[2]);
  1110. KucaInfo[id][k_ExitX] = poZ[0]; KucaInfo[id][k_ExitY] = poZ[1]; KucaInfo[id][k_ExitZ] = poZ[2]; SacuvajKucu(id); Kuca_Label(id);
  1111. SAMF(-1, ""col_green"AdminInfo: Admin %s je uspesno zamenio izlaz kuce (%d).", GetName(playerid), id);
  1112. return 1;
  1113. }
  1114. //==============================================================================
  1115. CMD:ekucu(playerid, params[])
  1116. {
  1117. if(PlayerInfo[playerid][pAdmin] < 6) return SendErrorMessage(playerid, "Niste ovlasceni!");
  1118. new sta[20], ide;
  1119. if(sscanf(params, "s[20]i", sta, ide)) return SendUsageMessage(playerid, "/ekucu [level/cena/novac] [kolicina]");
  1120. for(new i = 1; i <= MAX_KUCA; i++)
  1121. {
  1122. if(IsPlayerInRangeOfPoint(playerid, 3.0, KucaInfo[i][k_EnterX], KucaInfo[i][k_EnterY], KucaInfo[i][k_EnterZ]))
  1123. {
  1124. if(!strcmp(sta, "level", true))
  1125. {
  1126. KucaInfo[i][k_Level] = ide; Kuca_Label(i); SacuvajKucu(i);
  1127. SAMF(-1, ""col_green"AdminInfo: Admin %s je uspesno zamenio level kuce (%d) na %d.", GetName(playerid), i, ide);
  1128. }
  1129. else if(!strcmp(sta, "cena", true))
  1130. {
  1131. KucaInfo[i][k_Cena] = ide; Kuca_Label(i); SacuvajKucu(i);
  1132. SAMF(-1, ""col_green"AdminInfo: Admin %s je uspesno zamenio cenu kuce (%d) na %d$.", GetName(playerid), i, ide);
  1133. }
  1134. else if(!strcmp(sta, "novac", true))
  1135. {
  1136. KucaInfo[i][k_Novac] = ide; Kuca_Label(i); SacuvajKucu(i);
  1137. SAMF(-1, ""col_green"AdminInfo: Admin %s je uspesno zamenio novac u kuci (%d) na %d$.", GetName(playerid), i, ide);
  1138. }
  1139. }
  1140. }
  1141. return 1;
  1142. }
  1143. //==============================================================================
  1144. CMD:aprodajkucu(playerid, params[])
  1145. {
  1146. if(PlayerInfo[playerid][pAdmin] < 6) return SendErrorMessage(playerid, "Niste ovlasceni!");
  1147. new id, kucefile[50];
  1148. if(sscanf(params,"i", id)) return SendUsageMessage(playerid, "/aprodajkucu [ID]");
  1149. format(kucefile, sizeof(kucefile), KUCE_FILE, id);
  1150. if(!fexist(kucefile)) return SendErrorMessage(playerid, "Pogresan ID kuce!");
  1151. if(KucaInfo[id][k_Kupljena] == 0) return SendErrorMessage(playerid, "Ta kuca nema vlasnika pa je ne mozete prodati!");
  1152. KucaInfo[id][k_Kupljena] = 0;
  1153. KucaInfo[id][k_Novac] = 0; KucaInfo[id][k_Locked] = 1;
  1154. strmid(KucaInfo[id][k_Vlasnik],"Niko",0,strlen("Niko"),255);
  1155. Kuca_Label(id);
  1156. SAMF(-1, ""col_green"AdminInfo: Admin %s je uspesno prodao kucu (%d).", GetName(playerid), id);
  1157. return 1;
  1158. }
  1159. //==============================================================================
  1160. CMD:kupikucu(playerid, params[])
  1161. {
  1162. #pragma unused params
  1163. for(new i = 1; i <= MAX_KUCA; i++)
  1164. {
  1165. if(IsPlayerInRangeOfPoint(playerid, 3.0, KucaInfo[i][k_EnterX], KucaInfo[i][k_EnterY], KucaInfo[i][k_EnterZ]))
  1166. {
  1167. if(!strcmp(KucaInfo[i][k_Vlasnik], "Niko", true) && KucaInfo[i][k_Kupljena] == 0)
  1168. {
  1169. if(PlayerInfo[playerid][pHouseKey] != -1) return SendErrorMessage(playerid, "Vec imas kucu!");
  1170. if(PlayerInfo[playerid][pLevel] < KucaInfo[i][k_Level]) return SendErrorMessage(playerid, "Nemate dovoljan level za kupovinu kuce!");
  1171. if(PlayerInfo[playerid][pNovac] < KucaInfo[i][k_Cena]) return SendErrorMessage(playerid, "Nemate dovoljno novca za kupovinu kuce!");
  1172. strmid(KucaInfo[i][k_Vlasnik], GetName(playerid), 0, strlen(GetName(playerid)), 255);
  1173. KucaInfo[i][k_Kupljena] = 1; SetPlayerInterior(playerid, KucaInfo[i][k_Interijer]); PlayerInfo[playerid][pHouseKey] = i;
  1174. SetPlayerVirtualWorld(playerid, KucaInfo[i][k_VW]); SetPlayerPos(playerid, KucaInfo[i][k_ExitX], KucaInfo[i][k_ExitY], KucaInfo[i][k_ExitZ]);
  1175. KucaInfo[i][k_Locked] = 0; GivePlayerMoney(playerid, -KucaInfo[i][k_Cena]); Kuca_Label(i); SacuvajKucu(i); //SacuvajIgraca(i); To dodas na svom modu!
  1176. SCM(playerid, C_GREEN, "Cestitamo, kupili ste kucu!");
  1177. SCM(playerid, C_GREEN, "Za komande kuce koristite /kuca!");
  1178. return 1;
  1179. }
  1180. else return SendErrorMessage(playerid, "Ta kuca se ne prodaje!");
  1181. }
  1182. }
  1183. return 1;
  1184. }
  1185. //==============================================================================
  1186. CMD:kuca(playerid, params[])
  1187. {
  1188. #pragma unused params
  1189. new i = PlayerInfo[playerid][pHouseKey];
  1190. if(i == -1) return SendErrorMessage(playerid, "Nemate kucu!");
  1191. if(strcmp(KucaInfo[PlayerInfo[playerid][pHouseKey]][k_Vlasnik], GetName(playerid), true)) return SendErrorMessage(playerid, "Niste vlasnik te kuce!");
  1192. if(GetPlayerVirtualWorld(playerid) != 0 && GetPlayerVirtualWorld(playerid) != KucaInfo[PlayerInfo[playerid][pHouseKey]][k_VW]) return SendErrorMessage(playerid, "Ne nalazite se u/ispred vase kuce.");
  1193. r_SPD(playerid, DIALOG_KUCA, DIALOG_STYLE_LIST, ""col_green"KUCA", ""col_green"01: "col_white"Informacije\n"col_green"02: "col_white"Otkljucaj/Zakljucaj\n"col_green"03: "col_white"Ostavi\n"col_green"04: "col_white"Uzmi\n"col_green"05: "col_white"Prodaj\n"col_green"06: "col_white"Promeni Interijer\n"col_green"07: "col_white"Lociraj Kucu", "IZABERI", "IZLAZ");
  1194. return 1;
  1195. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement