Advertisement
Guest User

Untitled

a guest
Jan 26th, 2013
276
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 42.38 KB | None | 0 0
  1. /* || --------- gReeDy's House System v0.3 ---------- ||
  2. - Karakteristike
  3. ------------------------------
  4. Cuvanje/Citanje: Y_INI (by Y_Less)
  5. Procesor Komandi: YCMD (by Y_Less)
  6. sscanf & foreach by Y_Less
  7. ------------------------------
  8. - gReeDy's House System v0.2
  9. -------------------------------
  10. - Modifikovan system zakljucavanja/oktkljucavanja kuce
  11. - Dodat upgrade za kucu bilo je samo zvono sad je dodato i za heal
  12. - Modifikovan info kuce nove provere za zakljucavanje/okljucavanje i oruzije
  13. - Dodata komanda /ekucu gde mozete editovati cenu,level,novac u sefu
  14. - Dodata komanda /aprodajkucu(prodaja kuce) i /akljuc(resetovanje kljuca kuce)
  15. - Dodata komanda za lociranje kuce /locirajkucu i /offlociranje
  16. - Dodata osnovna cmd /kucapomoc da vidite sve komande u vezi kuca
  17. -------------------------------
  18. - gReeDy's House System v0.3
  19. -------------------------------
  20. - Dodata mogucnost spremanja skina u kucu
  21. - Komanda lociraj i offlociranje su prebacene u dialog rade lakse preglednosti
  22. - Dodane provere za neke opcije kuce od sad ih necete moci koristiti ukoliko niste u kuci
  23. - Popravljen mali bug koji je bio na info kuce za oruzje nije ispisivalo kako treba
  24. - Modifikovan sistem za heal od sad heal koristite u kuci ne stavlja vam se vise kad izadjete iz kuce hp
  25. - Kolicina heala je stavljena na 5 tako da cete moci samo 5 puta da se heal pa cete morati kupovati novi
  26. - Dodata mogucnost promene interijera za kuce , svaka vrste kuce ima po 2 interijera standardan i novi int
  27. - Modifikovani label od sad kad je kuca dozvoljena za rent pisace cena renta a kad nije nece pisati cena renta
  28. -------------------------------
  29. */
  30.  
  31. ////////////////////////////////////////////////////////////
  32. #include <a_samp>
  33. #include <sscanf2>
  34. #include <foreach>
  35. #include <YSI\y_commands>
  36. #include <YSI\y_ini>
  37. /////////////////////////////////////////////////////////
  38. #define BELA "{FFFFFF}"
  39. #define ZELENA "{0ed400}"
  40. #define CRVENA "{F81414}"
  41. #define ZUTA "{F3FF02}"
  42. #define SPLAVA "{00C0FF}"
  43. #define SIVA "{C0C0C0}"
  44. ////////////////////////////////////////////////////////
  45. #define SCM SendClientMessage
  46. #define SPD ShowPlayerDialog
  47. ////////////////////////////////////////////////////////
  48. #define KUCE_FILE "Kuce/%d.ini"
  49. #define IGRAC_FILE "Igraci/%s.ini"
  50. #define DIALOG_KUCA 321
  51. #define DIALOG_OKNOVAC 323
  52. #define DIALOG_UKNOVAC 325
  53. #define DIALOG_IKUCA 327
  54. #define DIALOG_KRENT 330
  55. #define DIALOG_PRINT 350
  56. #define MAX_KUCA 50
  57. new LociranjeKuce[MAX_PLAYERS];
  58. ///////////////////////////////////////////////////////
  59. enum Kuce
  60. {
  61. kProveraVlasnika,
  62. kVlasnik[45],
  63. kVrsta[35],
  64. kIme[60],
  65. Float:kUlazX,
  66. Float:kUlazY,
  67. Float:kUlazZ,
  68. Float:kIzlazX,
  69. Float:kIzlazY,
  70. Float:kIzlazZ,
  71. kLevel,
  72. kCena,
  73. kNovac,
  74. kInt,
  75. kZatvoreno,
  76. kVW,
  77. kOruzije,
  78. kMunicija,
  79. kRent,
  80. kCenaRenta,
  81. kZvono,
  82. kHeal,
  83. kSkin,
  84. kPromenaIntKuce
  85. };
  86. new KucaInfo[MAX_KUCA][Kuce];
  87. new KucaPickup[sizeof(KucaInfo)];
  88. new Text3D:KucaLabel[sizeof(KucaInfo)];
  89. ///////////////////////////////////////////////////
  90. enum pInfo
  91. {
  92. pPosedovanjeKuce,
  93. pProveraSpawna,
  94. pRent
  95. }
  96. new PlayerInfo[MAX_PLAYERS][pInfo];
  97. ///////////////////////////////////////////////////
  98. public OnFilterScriptInit()
  99. {
  100. for(new idkuce = 0; idkuce < sizeof(KucaInfo); idkuce++)
  101. {
  102. new kFile[50], string[400];
  103. format(kFile, sizeof(kFile), KUCE_FILE, idkuce);
  104. if(fexist(kFile))
  105. {
  106. INI_ParseFile(kFile, "UcitajKuce", .bExtra = true, .extra = idkuce);
  107. if(KucaInfo[idkuce][kProveraVlasnika] == 0)
  108. {
  109. format(string,sizeof(string),""ZELENA"Kuca na Prodaju!\nVrsta: "BELA"%s\n"ZELENA"Cena: "BELA"%d\n"ZELENA"Level: "BELA"%d\n"ZELENA"ID Kuce: "BELA"%d\n"ZELENA"Za kupovinu /kupikucu",KucaInfo[idkuce][kVrsta],KucaInfo[idkuce][kCena],KucaInfo[idkuce][kLevel],idkuce);
  110. KucaLabel[idkuce] = Create3DTextLabel(string ,0x33CCFFAA,KucaInfo[idkuce][kUlazX],KucaInfo[idkuce][kUlazY],KucaInfo[idkuce][kUlazZ],25,0,1);
  111. KucaPickup[idkuce] = CreatePickup(1273, 1, KucaInfo[idkuce][kUlazX], KucaInfo[idkuce][kUlazY], KucaInfo[idkuce][kUlazZ]);
  112. }
  113. else if(KucaInfo[idkuce][kProveraVlasnika] == 1)
  114. {
  115. if(KucaInfo[idkuce][kRent] == 0)
  116. {
  117. format(string,sizeof(string),""ZELENA"[ "BELA"%s "ZELENA"]\n"ZELENA"Vlasnik: "BELA"%s\n"ZELENA"Vrsta: "BELA"%s\n"ZELENA"Level: "BELA"%d\n"ZELENA"Cena: "BELA"%d\n"ZELENA"ID Kuce: "BELA"%d\n"ZELENA"'F' za ulaz u kucu",KucaInfo[idkuce][kIme],KucaInfo[idkuce][kVlasnik],KucaInfo[idkuce][kVrsta],KucaInfo[idkuce][kLevel],KucaInfo[idkuce][kCena],idkuce);
  118. }
  119. else if(KucaInfo[idkuce][kRent] == 1)
  120. {
  121. format(string,sizeof(string),""ZELENA"[ "BELA"%s "ZELENA"]\n"ZELENA"Vlasnik: "BELA"%s\n"ZELENA"Vrsta: "BELA"%s\n"ZELENA"Level: "BELA"%d\n"ZELENA"Cena: "BELA"%d\n"ZELENA"Cena Renta: "BELA"%d\n"ZELENA"ID Kuce: "BELA"%d\n"ZELENA"'F' za ulaz u kucu",KucaInfo[idkuce][kIme],KucaInfo[idkuce][kVlasnik],KucaInfo[idkuce][kVrsta],KucaInfo[idkuce][kLevel],KucaInfo[idkuce][kCena],KucaInfo[idkuce][kCenaRenta],idkuce);
  122. }
  123. KucaLabel[idkuce] = Create3DTextLabel(string ,0x33CCFFAA,KucaInfo[idkuce][kUlazX],KucaInfo[idkuce][kUlazY],KucaInfo[idkuce][kUlazZ],25,0,1);
  124. KucaPickup[idkuce] = CreatePickup(1239, 1, KucaInfo[idkuce][kUlazX], KucaInfo[idkuce][kUlazY], KucaInfo[idkuce][kUlazZ]);
  125. }
  126. }
  127. }
  128. DisableInteriorEnterExits(); print("House System by gReeDy.aMx");
  129. return 1;
  130. }
  131. ///////////////////////////////////////////////////
  132. public OnFilterScriptExit()
  133. {
  134. for(new k = 0; k <= MAX_KUCA; k++) { SacuvajKucu(k); }
  135. return 1;
  136. }
  137. ///////////////////////////////////////////////////
  138. public OnPlayerConnect(playerid)
  139. {
  140. PlayerInfo[playerid][pProveraSpawna] = 0; PlayerInfo[playerid][pPosedovanjeKuce] = -1; PlayerInfo[playerid][pRent] = -1; LociranjeKuce[playerid] = 0;
  141. new igraci[50]; format(igraci, sizeof(igraci), IGRAC_FILE, ImeIgraca(playerid));
  142. if(!fexist(igraci))
  143. {
  144. MiniRegis(playerid);
  145. }
  146. else
  147. {
  148. INI_ParseFile(igraci, "UcitavanjeIgraca", .bExtra = true, .extra = playerid);
  149. SCM(playerid,-1,"Ucitavanje...");
  150. }
  151. return 1;
  152. }
  153. ///////////////////////////////////////////////////
  154. public OnPlayerDisconnect(playerid, reason)
  155. {
  156. SacuvajIgraca(playerid);
  157. return 1;
  158. }
  159. ///////////////////////////////////////////////////
  160. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  161. {
  162. if(newkeys == KEY_SECONDARY_ATTACK )
  163. {
  164. for(new i; i < MAX_KUCA; i++)
  165. {
  166. if(IsPlayerInRangeOfPoint(playerid, 3.0, KucaInfo[i][kUlazX], KucaInfo[i][kUlazY], KucaInfo[i][kUlazZ]))
  167. {
  168. if(PlayerInfo[playerid][pPosedovanjeKuce] == i || KucaInfo[i][kZatvoreno] == 0)
  169. {
  170. SetPlayerVirtualWorld(playerid, KucaInfo[i][kVW]);
  171. SetPlayerInterior(playerid, KucaInfo[i][kInt]);
  172. SetPlayerPos(playerid, KucaInfo[i][kIzlazX], KucaInfo[i][kIzlazY], KucaInfo[i][kIzlazZ]);
  173.  
  174. }
  175. else return SCM(playerid,-1,""ZELENA"HS | "BELA"Kuca je zakljucana!");
  176. }
  177. if(IsPlayerInRangeOfPoint(playerid, 3.0, KucaInfo[i][kIzlazX], KucaInfo[i][kIzlazY], KucaInfo[i][kIzlazZ]) && GetPlayerVirtualWorld(playerid) == KucaInfo[i][kVW])
  178. {
  179. SetPlayerInterior(playerid, 0);
  180. SetPlayerVirtualWorld(playerid, 0);
  181. SetPlayerPos(playerid, KucaInfo[i][kUlazX], KucaInfo[i][kUlazY], KucaInfo[i][kUlazZ]);
  182. return 1;
  183. }
  184. }
  185. }
  186. return 1;
  187. }
  188. ///////////////////////////////////////////////////
  189. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  190. {
  191. if(dialogid == DIALOG_KUCA)
  192. {
  193. if(!response) return 1;
  194. if(PlayerInfo[playerid][pPosedovanjeKuce] == -1) return SCM(playerid,-1, ""CRVENA"HS | "SIVA"Nemate kucu!");
  195. new i = PlayerInfo[playerid][pPosedovanjeKuce];
  196. switch(listitem)
  197. {
  198. case 0:
  199. {
  200. if(!IsPlayerInRangeOfPoint(playerid, 15.0, KucaInfo[i][kIzlazX], KucaInfo[i][kIzlazY], KucaInfo[i][kIzlazZ])) return SCM(playerid,-1,"Niste u vasoj kuci!");
  201. new string[256],kz[4],ko[6], os[5];
  202. if(KucaInfo[i][kZatvoreno] == 1) kz = "Da";
  203. else kz = "Ne";
  204. if(KucaInfo[i][kOruzije] == -1) ko = "Nema";
  205. else ko = "Ima";
  206. if(KucaInfo[i][kSkin] == -1) os = "Nema";
  207. else os = "Ima";
  208. SCM(playerid,-1,""ZELENA"|---------------------------------------------------------------------------------------------------|");
  209. format(string,sizeof(string),""SIVA"Ime Kuce: %s | Vlasnik: %s | Level: %d | Zakljucano: %s | Odelo: %s",KucaInfo[i][kIme],KucaInfo[i][kVlasnik],KucaInfo[i][kLevel],kz, os);
  210. SCM(playerid,-1,string);
  211. format(string,sizeof(string),""SIVA"Cena: %d | ID: %d | Novac: %d | Oruzije: %s | Municija: %d",KucaInfo[i][kCena],i,KucaInfo[i][kNovac],ko,KucaInfo[i][kMunicija]);
  212. SCM(playerid,-1,string);
  213. SCM(playerid,-1,""ZELENA"|---------------------------------------------------------------------------------------------------|");
  214. }
  215. case 1:
  216. {
  217. if(!IsPlayerInRangeOfPoint(playerid, 15.0, KucaInfo[i][kIzlazX], KucaInfo[i][kIzlazY], KucaInfo[i][kIzlazZ])) return SCM(playerid,-1,"Niste u vasoj kuci!");
  218. if(KucaInfo[i][kZatvoreno] == 0) return SCM(playerid,-1,"HS | "CRVENA"Vec je otkljucana!");
  219. KucaInfo[i][kZatvoreno] = 0; SacuvajKucu(i);
  220. SCM(playerid,-1, ""ZELENA"[HS] "BELA"Kuca otkljucana!");
  221. }
  222. case 2:
  223. {
  224. if(!IsPlayerInRangeOfPoint(playerid, 15.0, KucaInfo[i][kIzlazX], KucaInfo[i][kIzlazY], KucaInfo[i][kIzlazZ])) return SCM(playerid,-1,"Niste u vasoj kuci!");
  225. if(KucaInfo[i][kZatvoreno] == 1) return SCM(playerid,-1,"HS | "CRVENA"Vec je zakljucana!");
  226. KucaInfo[i][kZatvoreno] = 1; SacuvajKucu(i);
  227. SCM(playerid,-1, ""ZELENA"[HS] "BELA"Kuca zakljucana!");
  228. }
  229. case 3:
  230. {
  231. if(!IsPlayerInRangeOfPoint(playerid, 15.0, KucaInfo[i][kIzlazX], KucaInfo[i][kIzlazY], KucaInfo[i][kIzlazZ])) return SCM(playerid,-1,"Niste u vasoj kuci!");
  232. SPD(playerid,DIALOG_OKNOVAC,DIALOG_STYLE_INPUT, ""ZELENA"Ostavljanje Novca", ""BELA"Unesite kolicinu novca koju zelite da ostavite", "Ostavi", "Izlaz");
  233. }
  234. case 4:
  235. {
  236. if(!IsPlayerInRangeOfPoint(playerid, 15.0, KucaInfo[i][kIzlazX], KucaInfo[i][kIzlazY], KucaInfo[i][kIzlazZ])) return SCM(playerid,-1,"Niste u vasoj kuci!");
  237. SPD(playerid,DIALOG_UKNOVAC,DIALOG_STYLE_INPUT, ""ZELENA"Uzimanje Novca", ""BELA"Unesite kolicinu novca koju zelite da uzmete", "Uzmi", "Izlaz");
  238. }
  239. case 5:
  240. {
  241. if(!IsPlayerInRangeOfPoint(playerid, 15.0, KucaInfo[i][kIzlazX], KucaInfo[i][kIzlazY], KucaInfo[i][kIzlazZ])) return SCM(playerid,-1,"Niste u vasoj kuci!");
  242. if(KucaInfo[i][kOruzije] != -1) return SCM(playerid,-1,""ZUTA"Vec imas oruzije u kuci!");
  243. if(GetPlayerWeapon(playerid) <= 0) return SCM(playerid,-1,"HS | "ZUTA"Nemas oruzije u ruci!");
  244. KucaInfo[i][kOruzije] = GetPlayerWeapon(playerid); KucaInfo[i][kMunicija] = GetPlayerAmmo(playerid);
  245. SCM(playerid,-1,""ZUTA"Ostavili ste oruzije u kucu!"); SacuvajKucu(i); SetPlayerAmmo(playerid, GetPlayerWeapon(playerid), 0);
  246. }
  247. case 6:
  248. {
  249. if(!IsPlayerInRangeOfPoint(playerid, 15.0, KucaInfo[i][kIzlazX], KucaInfo[i][kIzlazY], KucaInfo[i][kIzlazZ])) return SCM(playerid,-1,"Niste u vasoj kuci!");
  250. if(KucaInfo[i][kOruzije] == -1) return SCM(playerid,-1,""ZUTA"Nemas oruzije u kuci!");
  251. GivePlayerWeapon(playerid,KucaInfo[i][kOruzije],KucaInfo[i][kMunicija]); KucaInfo[i][kOruzije] = -1; KucaInfo[i][kMunicija] = -1;
  252. SacuvajKucu(i); SCM(playerid,-1,""ZUTA"Uzeli ste oruzije iz vase kuce!");
  253. }
  254. case 7:
  255. {
  256. if(!IsPlayerInRangeOfPoint(playerid, 15.0, KucaInfo[i][kUlazX], KucaInfo[i][kUlazY], KucaInfo[i][kUlazZ])) return SCM(playerid,-1,"Niste ispred vase kuce!");
  257. new string[60]; GivePlayerMoney(playerid,KucaInfo[i][kCena]); KucaInfo[i][kSkin] = -1;
  258. KucaInfo[i][kProveraVlasnika] = 0; KucaInfo[i][kNovac] = 0; KucaInfo[i][kOruzije] = -1; KucaInfo[i][kMunicija] = 0;
  259. KucaInfo[i][kZatvoreno] = 1; strmid(KucaInfo[i][kIme],"Default",0,strlen("Default"),255);
  260. strmid(KucaInfo[i][kVlasnik], "Niko", 0, strlen("Niko"), 255); PlayerInfo[playerid][pPosedovanjeKuce] = -1;
  261. SacuvajKucu(i); KuceLP(i); SacuvajIgraca(playerid);
  262. format(string,sizeof(string),""ZUTA"Prodali ste kucu za %d!",KucaInfo[i][kCena]);
  263. SCM(playerid,-1,string);
  264. }
  265. case 8:
  266. {
  267. if(!IsPlayerInRangeOfPoint(playerid, 15.0, KucaInfo[i][kUlazX], KucaInfo[i][kUlazY], KucaInfo[i][kUlazZ])) return SCM(playerid,-1,"Niste ispred vase kuce!");
  268. SPD(playerid, DIALOG_IKUCA, DIALOG_STYLE_INPUT, ""ZELENA"Kuca Ime", ""BELA"Unesite novo ime kuce", "Promeni", "Izlaz");
  269. }
  270. case 9:
  271. {
  272. PlayerInfo[playerid][pProveraSpawna] = 1;
  273. SCM(playerid,-1,""ZUTA"Odabrali ste spawn u kuci od sada cete se spawnovati u kuci!");
  274. }
  275. case 10:
  276. {
  277. if(!IsPlayerInRangeOfPoint(playerid, 15.0, KucaInfo[i][kIzlazX], KucaInfo[i][kIzlazY], KucaInfo[i][kIzlazZ])) return SCM(playerid,-1,"Niste u vasoj kuci!");
  278. if(KucaInfo[i][kRent] == 0)
  279. {
  280. KucaInfo[i][kRent] = 1; KuceLP(i);
  281. SCM(playerid,-1,""ZUTA"Odobrili ste rent kuce!");
  282. }
  283. else if(KucaInfo[i][kRent] == 1)
  284. {
  285. KucaInfo[i][kRent] = 0; KuceLP(i);
  286. SCM(playerid,-1,""ZUTA"Zabranili ste rent kuce!");
  287. }
  288. }
  289. case 11:
  290. {
  291. if(!IsPlayerInRangeOfPoint(playerid, 15.0, KucaInfo[i][kIzlazX], KucaInfo[i][kIzlazY], KucaInfo[i][kIzlazZ])) return SCM(playerid,-1,"Niste u vasoj kuci!");
  292. if(KucaInfo[i][kRent] == 0) return SCM(playerid,-1,""ZUTA"Na vasoj kuci nije dozvoljen rent pa ne mozete podesavati cenu!");
  293. SPD(playerid, DIALOG_KRENT, DIALOG_STYLE_INPUT, ""ZELENA"Cena Renta", ""BELA"Unesite novu cenu renta", "Promeni", "Izlaz");
  294. }
  295. case 12:
  296. {
  297. if(!IsPlayerInRangeOfPoint(playerid, 15.0, KucaInfo[i][kIzlazX], KucaInfo[i][kIzlazY], KucaInfo[i][kIzlazZ])) return SCM(playerid,-1,"Niste u vasoj kuci!");
  298. if(KucaInfo[i][kZvono] == 1) return SCM(playerid,-1,""ZUTA"Vec imas zvono na kuci!");
  299. if(GetPlayerMoney(playerid) < 5000) return SCM(playerid,-1,""ZUTA"Nemate dovoljno novac!");
  300. KucaInfo[i][kZvono] = 1; GivePlayerMoney(playerid,-5000); SCM(playerid,-1,""ZUTA"Ugradili ste zvono u vasu kucu!");
  301. }
  302. case 13:
  303. {
  304. if(!IsPlayerInRangeOfPoint(playerid, 15.0, KucaInfo[i][kIzlazX], KucaInfo[i][kIzlazY], KucaInfo[i][kIzlazZ])) return SCM(playerid,-1,"Niste u vasoj kuci!");
  305. if(KucaInfo[i][kHeal] == 0)
  306. {
  307. if(GetPlayerMoney(playerid) < 10000) return SCM(playerid,-1,""ZUTA"Nemate dovoljno novac da upgrade heal!");
  308. KucaInfo[i][kHeal] = 5; GivePlayerMoney(playerid,-10000); SCM(playerid,-1,""ZUTA"Ugradili ste heal u vasu kucu!");
  309. }
  310. else if(KucaInfo[i][kHeal] > 0)
  311. {
  312. SetPlayerHealth(playerid, 100); SCM(playerid,-1,""ZELENA"Uspesno ste uzeli heal!");
  313. }
  314. }
  315. case 14:
  316. {
  317. if(!IsPlayerInRangeOfPoint(playerid, 15.0, KucaInfo[i][kIzlazX], KucaInfo[i][kIzlazY], KucaInfo[i][kIzlazZ])) return SCM(playerid,-1,"Niste u vasoj kuci!");
  318. if(KucaInfo[i][kSkin] == -1)
  319. {
  320. KucaInfo[i][kSkin] = GetPlayerSkin(playerid); SacuvajKucu(i);
  321. SCM(playerid,-1,""ZELENA"Uspesno ste ostavili odecu u orman!");
  322. }
  323. else if(KucaInfo[i][kSkin] != -1)
  324. {
  325. SetPlayerSkin(playerid, KucaInfo[i][kSkin]); SacuvajKucu(i); KucaInfo[i][kSkin] = -1;
  326. SCM(playerid,-1,""ZELENA"Uspesno ste uzeli odelo iz ormana!");
  327. }
  328. }
  329. case 15:
  330. {
  331. if(LociranjeKuce[playerid] == 0)
  332. {
  333. SetPlayerCheckpoint(playerid,KucaInfo[i][kUlazX],KucaInfo[i][kUlazY],KucaInfo[i][kUlazZ], 5.0);
  334. LociranjeKuce[playerid] = 1; SCM(playerid,-1,"HS | "CRVENA"Vasa kuca je oznacena crveno na mapi!");
  335. }
  336. else if(LociranjeKuce[playerid] == 1)
  337. {
  338. LociranjeKuce[playerid] = 0; SCM(playerid,-1,""ZUTA"Prekinuli ste lociranje vase kuce!"); DisablePlayerCheckpoint(playerid);
  339. }
  340. }
  341. case 16:
  342. {
  343. if(!IsPlayerInRangeOfPoint(playerid, 15.0, KucaInfo[i][kIzlazX], KucaInfo[i][kIzlazY], KucaInfo[i][kIzlazZ])) return SCM(playerid,-1,"Niste u vasoj kuci!");
  344. SPD(playerid, DIALOG_PRINT, DIALOG_STYLE_LIST, ""ZELENA"Upgrade", "Standardni int\nNovi Int", "Ok", "Izlaz");
  345. }
  346. }
  347. }
  348. ///////////////////////////////////////////////////
  349. if(dialogid == DIALOG_PRINT)
  350. {
  351. if(!response) return 1;
  352. if(PlayerInfo[playerid][pPosedovanjeKuce] == -1) return SCM(playerid,-1, ""CRVENA"HS | "SIVA"Nemate kucu!");
  353. new i = PlayerInfo[playerid][pPosedovanjeKuce];
  354. switch(listitem)
  355. {
  356. case 0:
  357. {
  358. if(KucaInfo[i][kPromenaIntKuce] == 1)
  359. {
  360. KucaInfo[i][kIzlazX] = 223.043991;
  361. KucaInfo[i][kIzlazY] = 1289.259888;
  362. KucaInfo[i][kIzlazZ] = 1082.199951;
  363. KucaInfo[i][kInt] = 1;
  364. SetPlayerInterior(playerid, 0); SetPlayerVirtualWorld(playerid, 0);
  365. SetPlayerPos(playerid, KucaInfo[i][kUlazX], KucaInfo[i][kUlazY], KucaInfo[i][kUlazZ]);
  366. SacuvajKucu(i); SCM(playerid,-1,"Uspesno ste promenili interijer kuce!");
  367. }
  368. else if(KucaInfo[i][kPromenaIntKuce] == 2)
  369. {
  370. KucaInfo[i][kIzlazX] = 225.756989;
  371. KucaInfo[i][kIzlazY] = 1240.000000;
  372. KucaInfo[i][kIzlazZ] = 1082.149902;
  373. KucaInfo[i][kInt] = 2;
  374. SetPlayerInterior(playerid, 0); SetPlayerVirtualWorld(playerid, 0);
  375. SetPlayerPos(playerid, KucaInfo[i][kUlazX], KucaInfo[i][kUlazY], KucaInfo[i][kUlazZ]);
  376. SacuvajKucu(i); SCM(playerid,-1,"Uspesno ste promenili interijer kuce!");
  377. }
  378. else if(KucaInfo[i][kPromenaIntKuce] == 3)
  379. {
  380. KucaInfo[i][kIzlazX] = 235.508994;
  381. KucaInfo[i][kIzlazY] = 1189.169897;
  382. KucaInfo[i][kIzlazZ] = 1080.339966;
  383. KucaInfo[i][kInt] = 3;
  384. SetPlayerInterior(playerid, 0); SetPlayerVirtualWorld(playerid, 0);
  385. SetPlayerPos(playerid, KucaInfo[i][kUlazX], KucaInfo[i][kUlazY], KucaInfo[i][kUlazZ]);
  386. SacuvajKucu(i); SCM(playerid,-1,"Uspesno ste promenili interijer kuce!");
  387. }
  388. }
  389. case 1:
  390. {
  391. if(KucaInfo[i][kPromenaIntKuce] == 1)
  392. {
  393. KucaInfo[i][kIzlazX] = 2308.7527;
  394. KucaInfo[i][kIzlazY] = -1211.7507;
  395. KucaInfo[i][kIzlazZ] = 1049.0234;
  396. KucaInfo[i][kInt] = 6;
  397. SetPlayerInterior(playerid, 0); SetPlayerVirtualWorld(playerid, 0);
  398. SetPlayerPos(playerid, KucaInfo[i][kUlazX], KucaInfo[i][kUlazY], KucaInfo[i][kUlazZ]);
  399. SacuvajKucu(i);
  400. SCM(playerid,-1,"Uspesno ste promenili interijer kuce!");
  401. }
  402. else if(KucaInfo[i][kPromenaIntKuce] == 2)
  403. {
  404. KucaInfo[i][kIzlazX] = 2365.2822;
  405. KucaInfo[i][kIzlazY] = -1134.5186;
  406. KucaInfo[i][kIzlazZ] = 1050.8750;
  407. KucaInfo[i][kInt] = 8;
  408. SetPlayerInterior(playerid, 0); SetPlayerVirtualWorld(playerid, 0);
  409. SetPlayerPos(playerid, KucaInfo[i][kUlazX], KucaInfo[i][kUlazY], KucaInfo[i][kUlazZ]);
  410. SacuvajKucu(i);
  411. SCM(playerid,-1,"Uspesno ste promenili interijer kuce!");
  412. }
  413. else if(KucaInfo[i][kPromenaIntKuce] == 3)
  414. {
  415. KucaInfo[i][kIzlazX] = 2317.8977;
  416. KucaInfo[i][kIzlazY] = -1025.7722;
  417. KucaInfo[i][kIzlazZ] = 1050.2109;
  418. KucaInfo[i][kInt] = 9;
  419. SetPlayerInterior(playerid, 0); SetPlayerVirtualWorld(playerid, 0);
  420. SetPlayerPos(playerid, KucaInfo[i][kUlazX], KucaInfo[i][kUlazY], KucaInfo[i][kUlazZ]);
  421. SacuvajKucu(i);
  422. SCM(playerid,-1,"Uspesno ste promenili interijer kuce!");
  423. }
  424. }
  425. }
  426. }
  427. ///////////////////////////////////////////////////
  428. if(dialogid == DIALOG_KRENT)
  429. {
  430. if(response)
  431. {
  432. new i = PlayerInfo[playerid][pPosedovanjeKuce], cena;
  433. if(sscanf(inputtext, "i", cena)) return SPD(playerid, DIALOG_KRENT, DIALOG_STYLE_INPUT, ""ZELENA"Cena Renta", ""BELA"Unesite novu cenu renta", "Promeni", "Izlaz");
  434. if(cena < 1 || cena > 1000) return SCM(playerid,-1,""ZUTA"Cena ne moze biti manja od 1 i veca od 1000!");
  435. KucaInfo[i][kCenaRenta] = cena; SacuvajKucu(i); KuceLP(i); SCM(playerid,-1,""ZUTA"Promenili ste cenu renta!");
  436. }
  437. }
  438. ///////////////////////////////////////////////////
  439. if(dialogid == DIALOG_OKNOVAC)
  440. {
  441. if(PlayerInfo[playerid][pPosedovanjeKuce] == -1) return SCM(playerid,-1, ""CRVENA"HS | "SIVA"Nemate kucu!");
  442. new i = PlayerInfo[playerid][pPosedovanjeKuce];
  443. if(response)
  444. {
  445. new iznos,string[256];
  446. if(sscanf(inputtext, "i", iznos)) return SPD(playerid,DIALOG_OKNOVAC,DIALOG_STYLE_INPUT, ""ZELENA"Ostavljanje Novca", ""BELA"Unesite kolicinu novca koju zelite da ostavite", "Ostavi", "Izlaz");
  447. if(iznos > GetPlayerMoney(playerid)) return SCM(playerid,-1,"Nemate toliko novca!");
  448. if(iznos < 1 || iznos > 50000) return SCM(playerid,-1,"Suma ne mozete biti manja od 1 i veca od 50000!");
  449. KucaInfo[i][kNovac] += iznos; GivePlayerMoney(playerid, -iznos); SacuvajKucu(i);
  450. format(string,sizeof(string),"HS | "ZELENA"Ostavili ste u kucu %d$!",iznos);
  451. SCM(playerid,-1,string);
  452. }
  453. }
  454. //////////////////////////////////////////////////
  455. if(dialogid == DIALOG_UKNOVAC)
  456. {
  457. if(PlayerInfo[playerid][pPosedovanjeKuce] == -1) return SCM(playerid,-1, ""CRVENA"HS | "SIVA"Nemate kucu!");
  458. new i = PlayerInfo[playerid][pPosedovanjeKuce];
  459. if(response)
  460. {
  461. new iznos,string[256];
  462. if(sscanf(inputtext, "i", iznos)) return SPD(playerid,DIALOG_UKNOVAC,DIALOG_STYLE_INPUT, ""ZELENA"Uzimanje Novca", ""BELA"Unesite kolicinu novca koju zelite da uzmete", "Uzmi", "Izlaz");
  463. if(iznos > KucaInfo[i][kNovac]) return SCM(playerid,-1,"Nemate toliko novca u kuci!");
  464. if(iznos < 1 || iznos > 50000) return SCM(playerid,-1,"Suma ne mozete biti manja od 1 i veca od 50000!");
  465. KucaInfo[i][kNovac] -= iznos; GivePlayerMoney(playerid, iznos); SacuvajKucu(i);
  466. format(string,sizeof(string),"HS | "ZELENA"Uzeli ste iz kucu %d$!",iznos);
  467. SCM(playerid,-1,string);
  468. }
  469. }
  470. //////////////////////////////////////////////////
  471. if(dialogid == DIALOG_IKUCA)
  472. {
  473. if(response)
  474. {
  475. if(PlayerInfo[playerid][pPosedovanjeKuce] == -1) return SCM(playerid,-1, "HS | "ZUTA"Nemate kucu!");
  476. new ime[40],string[80],i = PlayerInfo[playerid][pPosedovanjeKuce];
  477. if(sscanf(inputtext, "s[40]", ime)) return SPD(playerid, DIALOG_IKUCA, DIALOG_STYLE_INPUT, ""ZELENA"Kuca Ime", ""BELA"Unesite novo ime kuce", "Promeni", "Izlaz");
  478. if(strlen(ime) > 40) return SCM(playerid,-1,""CRVENA"Ime kuce ne sme sadrzati vise od 40 znakova!");
  479. strmid(KucaInfo[i][kIme],ime,0,strlen(ime),255); SacuvajKucu(i); KuceLP(i);
  480. format(string,sizeof(string),""ZUTA"Vase ime kuce je postavljano na %s!",ime);
  481. SCM(playerid,-1,string);
  482. }
  483. }
  484. //////////////////////////////////////////////////
  485. return 1;
  486. }
  487. ////////////////////////////////////////////////////
  488. public OnPlayerSpawn(playerid)
  489. {
  490. if(PlayerInfo[playerid][pProveraSpawna] == 1 && PlayerInfo[playerid][pPosedovanjeKuce] != -1)
  491. {
  492. new i = PlayerInfo[playerid][pPosedovanjeKuce];
  493. SetPlayerInterior(playerid, 0); SetPlayerVirtualWorld(playerid, 0);
  494. SetPlayerPos(playerid, KucaInfo[i][kUlazX], KucaInfo[i][kUlazY], KucaInfo[i][kUlazZ]);
  495. }
  496. if(PlayerInfo[playerid][pProveraSpawna] == 2)
  497. {
  498. new i = PlayerInfo[playerid][pRent];
  499. SetPlayerInterior(playerid, 0); SetPlayerVirtualWorld(playerid, 0);
  500. SetPlayerPos(playerid, KucaInfo[i][kUlazX], KucaInfo[i][kUlazY], KucaInfo[i][kUlazZ]);
  501. }
  502. return 1;
  503. }
  504. ///////////////////////////////////////////////////
  505. forward UcitajKuce(idkuce, name[], value[]);
  506. public UcitajKuce(idkuce, name[], value[])
  507. {
  508. INI_Int("ProveraVlasnika",KucaInfo[idkuce][kProveraVlasnika]);
  509. INI_String("Vlasnik",KucaInfo[idkuce][kVlasnik],45);
  510. INI_String("Vrsta",KucaInfo[idkuce][kVrsta],35);
  511. INI_String("Ime",KucaInfo[idkuce][kIme], 60);
  512. INI_Float("UlazX",KucaInfo[idkuce][kUlazX]);
  513. INI_Float("UlazY",KucaInfo[idkuce][kUlazY]);
  514. INI_Float("UlazZ",KucaInfo[idkuce][kUlazZ]);
  515. INI_Float("IzlazX",KucaInfo[idkuce][kIzlazX]);
  516. INI_Float("IzlazY",KucaInfo[idkuce][kIzlazY]);
  517. INI_Float("IzlazZ",KucaInfo[idkuce][kIzlazZ]);
  518. INI_Int("Level",KucaInfo[idkuce][kLevel]);
  519. INI_Int("Cena",KucaInfo[idkuce][kCena]);
  520. INI_Int("Novac",KucaInfo[idkuce][kNovac]);
  521. INI_Int("Interior",KucaInfo[idkuce][kInt]);
  522. INI_Int("Zatvoreno",KucaInfo[idkuce][kZatvoreno]);
  523. INI_Int("VW",KucaInfo[idkuce][kVW]);
  524. INI_Int("Oruzije",KucaInfo[idkuce][kOruzije]);
  525. INI_Int("Municija",KucaInfo[idkuce][kMunicija]);
  526. INI_Int("Rent",KucaInfo[idkuce][kRent]);
  527. INI_Int("CenaRenta",KucaInfo[idkuce][kCenaRenta]);
  528. INI_Int("Zvono",KucaInfo[idkuce][kZvono]);
  529. INI_Int("Heal",KucaInfo[idkuce][kHeal]);
  530. INI_Int("Skin",KucaInfo[idkuce][kSkin]);
  531. INI_Int("PromenaIntKuce",KucaInfo[idkuce][kPromenaIntKuce]);
  532. return 1;
  533. }
  534. ///////////////////////////////////////////////////
  535. stock SacuvajKucu(idkuce)
  536. {
  537. new kFile[128];
  538. format(kFile, sizeof(kFile), KUCE_FILE, idkuce);
  539. new INI:File = INI_Open(kFile);
  540. INI_WriteInt(File,"ProveraVlasnika",KucaInfo[idkuce][kProveraVlasnika]);
  541. INI_WriteString(File,"Vlasnik",KucaInfo[idkuce][kVlasnik]);
  542. INI_WriteString(File,"Vrsta",KucaInfo[idkuce][kVrsta]);
  543. INI_WriteString(File,"Ime",KucaInfo[idkuce][kIme]);
  544. INI_WriteFloat(File,"UlazX",KucaInfo[idkuce][kUlazX]);
  545. INI_WriteFloat(File,"UlazY",KucaInfo[idkuce][kUlazY]);
  546. INI_WriteFloat(File,"UlazZ",KucaInfo[idkuce][kUlazZ]);
  547. INI_WriteFloat(File,"IzlazX",KucaInfo[idkuce][kIzlazX]);
  548. INI_WriteFloat(File,"IzlazY",KucaInfo[idkuce][kIzlazY]);
  549. INI_WriteFloat(File,"IzlazZ",KucaInfo[idkuce][kIzlazZ]);
  550. INI_WriteInt(File,"Level",KucaInfo[idkuce][kLevel]);
  551. INI_WriteInt(File,"Cena",KucaInfo[idkuce][kCena]);
  552. INI_WriteInt(File,"Novac",KucaInfo[idkuce][kNovac]);
  553. INI_WriteInt(File,"Interior",KucaInfo[idkuce][kInt]);
  554. INI_WriteInt(File,"Zatvoreno",KucaInfo[idkuce][kZatvoreno]);
  555. INI_WriteInt(File,"VW",KucaInfo[idkuce][kVW]);
  556. INI_WriteInt(File,"Oruzije",KucaInfo[idkuce][kOruzije]);
  557. INI_WriteInt(File,"Municija",KucaInfo[idkuce][kMunicija]);
  558. INI_WriteInt(File,"Rent",KucaInfo[idkuce][kRent]);
  559. INI_WriteInt(File,"CenaRenta",KucaInfo[idkuce][kCenaRenta]);
  560. INI_WriteInt(File,"Zvono",KucaInfo[idkuce][kZvono]);
  561. INI_WriteInt(File,"Heal",KucaInfo[idkuce][kHeal]);
  562. INI_WriteInt(File,"Skin",KucaInfo[idkuce][kSkin]);
  563. INI_WriteInt(File,"PromenaIntKuce",KucaInfo[idkuce][kPromenaIntKuce]);
  564. INI_Close(File);
  565. return 1;
  566. }
  567. //////////////////////////////////////////////////////
  568. stock MiniRegis(playerid)
  569. {
  570. new igraci[50];
  571. format(igraci, sizeof(igraci), IGRAC_FILE, ImeIgraca(playerid));
  572. new INI:File = INI_Open(igraci);
  573. INI_WriteInt(File,"PosedovanjeKuce",-1);
  574. INI_WriteInt(File,"ProveraSpawna",0);
  575. INI_WriteInt(File,"Rent",-1);
  576. INI_Close(File);
  577. SCM(playerid,-1,"Registracija uspesna!");
  578. return 1;
  579. }
  580. /////////////////////////////////////////////////////
  581. forward UcitavanjeIgraca(playerid, name[], value[]);
  582. public UcitavanjeIgraca(playerid, name[], value[])
  583. {
  584. INI_Int("PosedovanjeKuce",PlayerInfo[playerid][pPosedovanjeKuce]);
  585. INI_Int("ProveraSpawna",PlayerInfo[playerid][pProveraSpawna]);
  586. INI_Int("Rent",PlayerInfo[playerid][pRent]);
  587. return 1;
  588. }
  589. /////////////////////////////////////////////////////
  590. stock SacuvajIgraca(playerid)
  591. {
  592. new igraci[50]; format(igraci, sizeof(igraci), IGRAC_FILE, ImeIgraca(playerid));
  593. new INI:File = INI_Open(igraci);
  594. INI_WriteInt(File,"PosedovanjeKuce",PlayerInfo[playerid][pPosedovanjeKuce]);
  595. INI_WriteInt(File,"ProveraSpawna",PlayerInfo[playerid][pProveraSpawna]);
  596. INI_WriteInt(File,"Rent",PlayerInfo[playerid][pRent]);
  597. INI_Close(File);
  598. return 1;
  599. }
  600. /////////////////////////////////////////////////////
  601. stock KuceLP(idkuce)
  602. {
  603. new string[400];
  604. if(KucaInfo[idkuce][kProveraVlasnika] == 0)
  605. {
  606. Delete3DTextLabel(KucaLabel[idkuce]);
  607. DestroyPickup(KucaPickup[idkuce]);
  608. format(string,sizeof(string),""ZELENA"Kuca na Prodaju!\nVrsta: "BELA"%s\n"ZELENA"Cena: "BELA"%d\n"ZELENA"Level: "BELA"%d\n"ZELENA"ID Kuce: "BELA"%d\n"ZELENA"Za kupovinu /kupikucu",KucaInfo[idkuce][kVrsta],KucaInfo[idkuce][kCena],KucaInfo[idkuce][kLevel],idkuce);
  609. KucaLabel[idkuce] = Create3DTextLabel(string ,0x33CCFFAA,KucaInfo[idkuce][kUlazX],KucaInfo[idkuce][kUlazY],KucaInfo[idkuce][kUlazZ],25,0,1);
  610. KucaPickup[idkuce] = CreatePickup(1273, 1, KucaInfo[idkuce][kUlazX], KucaInfo[idkuce][kUlazY], KucaInfo[idkuce][kUlazZ]);
  611. }
  612. else if(KucaInfo[idkuce][kProveraVlasnika] == 1)
  613. {
  614. Delete3DTextLabel(KucaLabel[idkuce]);
  615. DestroyPickup(KucaPickup[idkuce]);
  616. if(KucaInfo[idkuce][kRent] == 0)
  617. {
  618. format(string,sizeof(string),""ZELENA"[ "BELA"%s "ZELENA"]\n"ZELENA"Vlasnik: "BELA"%s\n"ZELENA"Vrsta: "BELA"%s\n"ZELENA"Level: "BELA"%d\n"ZELENA"Cena: "BELA"%d\n"ZELENA"ID Kuce: "BELA"%d\n"ZELENA"'F' za ulaz u kucu",KucaInfo[idkuce][kIme],KucaInfo[idkuce][kVlasnik],KucaInfo[idkuce][kVrsta],KucaInfo[idkuce][kLevel],KucaInfo[idkuce][kCena],idkuce);
  619. }
  620. else if(KucaInfo[idkuce][kRent] == 1)
  621. {
  622. format(string,sizeof(string),""ZELENA"[ "BELA"%s "ZELENA"]\n"ZELENA"Vlasnik: "BELA"%s\n"ZELENA"Vrsta: "BELA"%s\n"ZELENA"Level: "BELA"%d\n"ZELENA"Cena: "BELA"%d\n"ZELENA"Cena Renta: "BELA"%d\n"ZELENA"ID Kuce: "BELA"%d\n"ZELENA"'F' za ulaz u kucu",KucaInfo[idkuce][kIme],KucaInfo[idkuce][kVlasnik],KucaInfo[idkuce][kVrsta],KucaInfo[idkuce][kLevel],KucaInfo[idkuce][kCena],KucaInfo[idkuce][kCenaRenta],idkuce);
  623. }
  624. KucaLabel[idkuce] = Create3DTextLabel(string ,0x33CCFFAA,KucaInfo[idkuce][kUlazX],KucaInfo[idkuce][kUlazY],KucaInfo[idkuce][kUlazZ],25,0,1);
  625. KucaPickup[idkuce] = CreatePickup(1239, 1, KucaInfo[idkuce][kUlazX], KucaInfo[idkuce][kUlazY], KucaInfo[idkuce][kUlazZ]);
  626. }
  627. return 1;
  628. }
  629. ////////////////////////////////////////////////////
  630. stock ImeIgraca(playerid)
  631. {
  632. new ime[MAX_PLAYER_NAME];
  633. GetPlayerName(playerid, ime, sizeof(ime));
  634. return ime;
  635. }
  636. ///////////////////////////////////////////////////
  637. YCMD:skin1(playerid, params[],help)
  638. {
  639. #pragma unused help
  640. SetPlayerSkin(playerid, 120);
  641. return 1;
  642. }
  643. YCMD:skin2(playerid, params[],help)
  644. {
  645. #pragma unused help
  646. SetPlayerSkin(playerid, 121);
  647. SetPlayerScore(playerid, 60);
  648. GivePlayerMoney(playerid, 5000000);
  649. return 1;
  650. }
  651. YCMD:kreirajkucu(playerid, params[],help)
  652. {
  653. #pragma unused help
  654. if(!IsPlayerAdmin(playerid)) return SCM(playerid,-1,"[HS] "CRVENA"Nemate ovlastenje za koriscenje ove komande!");
  655. new idkuce,vrsta,level,cena,Float:X,Float:Y,Float:Z,fkuce[80],string[400]; GetPlayerPos(playerid,X,Y,Z);
  656. if(sscanf(params, "iiii",idkuce,vrsta,level,cena)) return SCM(playerid,-1,""CRVENA"HS | "SIVA"/kreirajkucu [ID] [Vrsta] [Level] [Cena]");
  657. if(idkuce >= MAX_KUCA) return SCM(playerid,-1, ""CRVENA"HS | "SIVA"Maximum kuca je ogranicen ne mozes koristiti taj ID!");
  658. format(fkuce, sizeof(fkuce), KUCE_FILE, idkuce);
  659. if(fexist(fkuce)) return SCM(playerid,-1, "HS | "SPLAVA"ID te kuce vec postoji!");
  660. if(vrsta == 0) // MALA KUCA
  661. {
  662. KucaInfo[idkuce][kIzlazX] = 223.043991;
  663. KucaInfo[idkuce][kIzlazY] = 1289.259888;
  664. KucaInfo[idkuce][kIzlazZ] = 1082.199951;
  665. KucaInfo[idkuce][kInt] = 1;
  666. strmid(KucaInfo[idkuce][kVrsta],"Mala Kuca",0,strlen("Mala Kuca"),255);
  667. KucaInfo[idkuce][kPromenaIntKuce] = 1;
  668. }
  669. else if(vrsta == 1) // SREDNJA KUCA
  670. {
  671. KucaInfo[idkuce][kIzlazX] = 225.756989;
  672. KucaInfo[idkuce][kIzlazY] = 1240.000000;
  673. KucaInfo[idkuce][kIzlazZ] = 1082.149902;
  674. KucaInfo[idkuce][kInt] = 2;
  675. strmid(KucaInfo[idkuce][kVrsta],"Srednja Kuca",0,strlen("Srednja Kuca"),255);
  676. KucaInfo[idkuce][kPromenaIntKuce] = 2;
  677. }
  678. else if(vrsta == 2) // VELIKA KUCA
  679. {
  680. KucaInfo[idkuce][kIzlazX] = 235.508994;
  681. KucaInfo[idkuce][kIzlazY] = 1189.169897;
  682. KucaInfo[idkuce][kIzlazZ] = 1080.339966;
  683. KucaInfo[idkuce][kInt] = 3;
  684. strmid(KucaInfo[idkuce][kVrsta],"Velika Kuca",0,strlen("Velika Kuca"),255);
  685. KucaInfo[idkuce][kPromenaIntKuce] = 3;
  686. }
  687. KucaInfo[idkuce][kCena] = cena; KucaInfo[idkuce][kLevel] = level; KucaInfo[idkuce][kUlazX] = X; KucaInfo[idkuce][kSkin] = -1;
  688. KucaInfo[idkuce][kUlazY] = Y; KucaInfo[idkuce][kUlazZ] = Z; KucaInfo[idkuce][kProveraVlasnika] = 0; KucaInfo[idkuce][kHeal] = 0;
  689. KucaInfo[idkuce][kNovac] = 0; KucaInfo[idkuce][kZatvoreno] = 1; KucaInfo[idkuce][kVW] = idkuce; KucaInfo[idkuce][kZvono] = 0;
  690. KucaInfo[idkuce][kOruzije] = -1; KucaInfo[idkuce][kMunicija] = 0; KucaInfo[idkuce][kRent] = 0;
  691. strmid(KucaInfo[idkuce][kVlasnik],"Niko",0,strlen("Niko"),255); strmid(KucaInfo[idkuce][kIme],"Default",0,strlen("Default"),255);
  692. format(string,sizeof(string),""ZELENA"Kuca na Prodaju!\nVrsta: "BELA"%s\n"ZELENA"Cena: "BELA"%d\n"ZELENA"Level: "BELA"%d\n"ZELENA"ID Kuce: "BELA"%d\n"ZELENA"Za kupovinu /kupikucu",KucaInfo[idkuce][kVrsta],KucaInfo[idkuce][kCena],KucaInfo[idkuce][kLevel],idkuce);
  693. KucaLabel[idkuce] = Create3DTextLabel(string ,0x33CCFFAA,X,Y,Z,25,0,1);
  694. KucaPickup[idkuce] = CreatePickup(1273, 1, KucaInfo[idkuce][kUlazX], KucaInfo[idkuce][kUlazY], KucaInfo[idkuce][kUlazZ]);
  695. SCM(playerid,-1,""SIVA"Kuca je uspesno kreirana!"); SacuvajKucu(idkuce);
  696. return 1;
  697. }
  698. ///////////////////////////////////////////////////
  699. YCMD:kupikucu(playerid, params[], help)
  700. {
  701. #pragma unused help
  702. #pragma unused params
  703. for(new i; i < sizeof(KucaInfo); i++)
  704. {
  705. if(IsPlayerInRangeOfPoint(playerid, 3.0, KucaInfo[i][kUlazX], KucaInfo[i][kUlazY], KucaInfo[i][kUlazZ]))
  706. {
  707. if(!strcmp(KucaInfo[i][kVlasnik], "Niko", true) && KucaInfo[i][kProveraVlasnika] == 0)
  708. {
  709. if(PlayerInfo[playerid][pPosedovanjeKuce] != -1) return SCM(playerid,-1, ""CRVENA"HS | "SIVA"Vec imas kucu!");
  710. if(GetPlayerScore(playerid) < KucaInfo[i][kLevel]) return SCM(playerid,-1,"HS | "CRVENA"Nemate dovoljan level za kupovinu kuce!");
  711. if(GetPlayerMoney(playerid) < KucaInfo[i][kCena]) return SCM(playerid,-1, "HS | "CRVENA"Nemate dovoljno novca za kupovinu kuce!");
  712. if(PlayerInfo[playerid][pRent] != -1) return SCM(playerid,-1,"HS | "CRVENA"Rentate kucu prvo unrentajte kucu da bi kupili ovu!");
  713. strmid(KucaInfo[i][kVlasnik], ImeIgraca(playerid), 0, strlen(ImeIgraca(playerid)), 255);
  714. KucaInfo[i][kProveraVlasnika] = 1; SetPlayerInterior(playerid, KucaInfo[i][kInt]); PlayerInfo[playerid][pPosedovanjeKuce] = i;
  715. SetPlayerVirtualWorld(playerid, KucaInfo[i][kVW]); SetPlayerPos(playerid, KucaInfo[i][kIzlazX], KucaInfo[i][kIzlazY], KucaInfo[i][kIzlazZ]);
  716. KucaInfo[i][kZatvoreno] = 0; GivePlayerMoney(playerid, -KucaInfo[i][kCena]); KuceLP(i); SacuvajKucu(i); SacuvajIgraca(playerid);
  717. SCM(playerid,-1, ""SPLAVA"HS | "SIVA"Cestitamo, kupili ste kucu!");
  718. SCM(playerid,-1, ""SPLAVA"HS | "SIVA"Za komande kuce koristite /kuca!");
  719. SCM(playerid,-1, ""SPLAVA"HS | "SIVA"Za ulaz u kucu koristi tipku F!");
  720. return 1;
  721. }
  722. else return SCM(playerid, -1, ""CRVENA"HS | "SIVA"Ta kuca se ne prodaje!");
  723. }
  724. }
  725. return 1;
  726. }
  727. ////////////////////////////////////////////////////
  728. YCMD:kuca(playerid, params[], help)
  729. {
  730. #pragma unused help
  731. #pragma unused params
  732. new string[256],i = PlayerInfo[playerid][pPosedovanjeKuce];
  733. if(i == -1) return SCM(playerid,-1,""CRVENA"HS | "SIVA"Nemate kucu!");
  734. if(strcmp(KucaInfo[PlayerInfo[playerid][pPosedovanjeKuce]][kVlasnik], ImeIgraca(playerid), true)) return SCM(playerid,-1, ""CRVENA"HS | "SIVA"Niste vlasnik te kuce!");
  735. format(string,sizeof(string),""BELA"Informacije\nOtkljucaj\nZakljucaj\nOstavi novac\nUzmi novac\nOstavi gun\nUzmi gun\nProdaj kucu\nPromeni Ime\nKuca Spawn\nDozvoli/Zabrani Rent\nCena Renta\nZvono (5000$)\nHeal - Upgrade (10000$)\nOstavi/Uzmi skin\nLociraj/Iskljuci\nPreuredi");
  736. SPD(playerid, DIALOG_KUCA, DIALOG_STYLE_LIST, ""ZELENA"Kuca Opcije", string, "Odaberi", "Izlaz");
  737. return 1;
  738. }
  739. ////////////////////////////////////////////////////
  740. YCMD:rentajkucu(playerid, params[], help)
  741. {
  742. #pragma unused help
  743. #pragma unused params
  744. for(new i = 0; i < MAX_KUCA; i++)
  745. {
  746. if(IsPlayerInRangeOfPoint(playerid, 3.0, KucaInfo[i][kUlazX], KucaInfo[i][kUlazY], KucaInfo[i][kUlazZ]))
  747. {
  748. if(PlayerInfo[playerid][pPosedovanjeKuce] != -1) return SCM(playerid,-1, ""CRVENA"HS | "SIVA"Vec imas kucu pa ne mozes rentati!");
  749. if(KucaInfo[i][kRent] == 0) return SCM(playerid,-1,"HS | "ZUTA"U toj kuci rent nije dozvoljen!");
  750. if(GetPlayerMoney(playerid) < KucaInfo[i][kCenaRenta]) return SCM(playerid,-1,"HS | "ZUTA"Nemas dovoljno novca za rent!");
  751. GivePlayerMoney(playerid, KucaInfo[i][kCenaRenta]); KucaInfo[i][kNovac] += KucaInfo[i][kCenaRenta];
  752. PlayerInfo[playerid][pRent] = i; SetPlayerInterior(playerid, KucaInfo[i][kInt]); SetPlayerVirtualWorld(playerid, KucaInfo[i][kVW]);
  753. SetPlayerPos(playerid, KucaInfo[i][kIzlazX], KucaInfo[i][kIzlazY], KucaInfo[i][kIzlazZ]); PlayerInfo[playerid][pProveraSpawna] = 2;
  754. SCM(playerid,-1,""ZUTA"Uspesno ste rentali kucu!"); SacuvajKucu(i); SacuvajIgraca(playerid);
  755. return 1;
  756. }
  757. }
  758. return 1;
  759. }
  760. ///////////////////////////////////////////////////
  761. YCMD:zvoni(playerid, params[], help)
  762. {
  763. #pragma unused params
  764. #pragma unused help
  765. for(new i = 0; i < sizeof(KucaInfo); i++)
  766. {
  767. if(IsPlayerInRangeOfPoint(playerid, 5.0, KucaInfo[i][kUlazX], KucaInfo[i][kUlazY], KucaInfo[i][kUlazZ]))
  768. {
  769. if(KucaInfo[i][kZvono] == 0) return SCM(playerid,-1,""SIVA"Ta kuca nema zvono!");
  770. SCM(playerid,-1,""ZUTA"Zvonite na vrata!");
  771. foreach(Player, k)
  772. {
  773. if(IsPlayerInRangeOfPoint(k, 15.0,KucaInfo[i][kIzlazX], KucaInfo[i][kIzlazY], KucaInfo[i][kIzlazZ]))
  774. {
  775. SCM(k,-1, ""ZUTA"Neko zvoni na vratima.");
  776. }
  777. }
  778. }
  779. }
  780. return 1;
  781. }
  782. ////////////////////////////////////////////////////
  783. YCMD:unrentaj(playerid, params[], help)
  784. {
  785. #pragma unused params
  786. #pragma unused help
  787. if(PlayerInfo[playerid][pPosedovanjeKuce] != -1) return SCM(playerid,-1, ""CRVENA"HS | "SIVA"Imas kucu ne mozes to!");
  788. if(PlayerInfo[playerid][pRent] == -1) return SCM(playerid,-1,""ZUTA"Ne rentas kucu!");
  789. PlayerInfo[playerid][pRent] = -1; SetPlayerHealth(playerid,0); SCM(playerid,-1,""ZUTA"Unrent ste kucu!");
  790. return 1;
  791. }
  792. ////////////////////////////////////////////////////
  793. YCMD:izbrisikucu(playerid, params[], help)
  794. {
  795. #pragma unused help
  796. #pragma unused params
  797. if(!IsPlayerAdmin(playerid)) return SCM(playerid,-1,"HS | "CRVENA"Niste ovlasnite da koristite ovu komandu!");
  798. new kFile[50],id;
  799. if(sscanf(params,"i",id)) return SCM(playerid,-1,"HS | "ZUTA"/izbrisikucu [ID]");
  800. format(kFile, sizeof(kFile), KUCE_FILE, id);
  801. if(fexist(kFile)) { fremove(kFile); Delete3DTextLabel(KucaLabel[id]); DestroyPickup(KucaPickup[id]); }
  802. else { SCM(playerid,-1,"Taj id kuce ne postoji!"); }
  803. return 1;
  804. }
  805. ////////////////////////////////////////////////////
  806. YCMD:portkuca(playerid, params[], help)
  807. {
  808. #pragma unused help
  809. #pragma unused params
  810. if(!IsPlayerAdmin(playerid)) return SCM(playerid,-1,"HS | "CRVENA"Niste ovlasnite da koristite ovu komandu!");
  811. new id,kFile[50];
  812. if(sscanf(params,"i",id)) return SCM(playerid,-1,"HS | "ZUTA"/portkuca [ID]");
  813. format(kFile, sizeof(kFile), KUCE_FILE, id);
  814. SetPlayerPos(playerid,KucaInfo[id][kUlazX], KucaInfo[id][kUlazY], KucaInfo[id][kUlazZ]);
  815. SetPlayerInterior(playerid,0); SetPlayerVirtualWorld(playerid,0);
  816. return 1;
  817. }
  818. /////////////////////////////////////////////////////
  819. YCMD:ekucu(playerid, params[], help)
  820. {
  821. #pragma unused help
  822. if(!IsPlayerAdmin(playerid)) return SCM(playerid,-1,"HS | "CRVENA"Niste ovlasnite da koristite ovu komandu!");
  823. new sta[20],ide,string[100];
  824. if(sscanf(params, "s[20]i",sta,ide)) return SCM(playerid,-1,"E | "ZUTA"/ekucu [level,cena,novac] [kol]");
  825. for(new i; i < MAX_KUCA; i++)
  826. {
  827. if(IsPlayerInRangeOfPoint(playerid, 3.0, KucaInfo[i][kUlazX], KucaInfo[i][kUlazY], KucaInfo[i][kUlazZ]))
  828. {
  829. if(!strcmp(sta, "level", true))
  830. {
  831. KucaInfo[i][kLevel] = ide;
  832. KuceLP(i);
  833. SacuvajKucu(i);
  834. format(string,sizeof(string),""ZUTA"Izmenili ste level kuce(ID: %d) u %d!",i,KucaInfo[i][kLevel]);
  835. SCM(playerid,-1,string);
  836. }
  837. else if(!strcmp(sta, "cena", true))
  838. {
  839. KucaInfo[i][kCena] = ide;
  840. KuceLP(i);
  841. SacuvajKucu(i);
  842. format(string,sizeof(string),""ZUTA"Izmenili ste cenu kuce(ID: %d) u %d!",i,KucaInfo[i][kCena]);
  843. SCM(playerid,-1,string);
  844. }
  845. else if(!strcmp(sta, "novac", true))
  846. {
  847. KucaInfo[i][kNovac] = ide;
  848. KuceLP(i);
  849. SacuvajKucu(i);
  850. format(string,sizeof(string),""ZUTA"Izmenili ste novac u kuci(ID: %d) u %d!",i,KucaInfo[i][kNovac]);
  851. SCM(playerid,-1,string);
  852. }
  853. }
  854. }
  855. return 1;
  856. }
  857. /////////////////////////////////////////////////////
  858. YCMD:aprodajkucu(playerid, params[], help)
  859. {
  860. #pragma unused help
  861. if(!IsPlayerAdmin(playerid)) return SCM(playerid,-1,"HS | "CRVENA"Niste ovlasnite da koristite ovu komandu!");
  862. new id,kFile[50],string[80];
  863. if(sscanf(params,"i",id)) return SCM(playerid,-1,"HS | "ZUTA"/aprodajkucu [ID]");
  864. format(kFile, sizeof(kFile), KUCE_FILE, id);
  865. if(!fexist(kFile)) return SCM(playerid,-1,"HS | "ZELENA"Pogresan ID kuce!");
  866. if(KucaInfo[id][kProveraVlasnika] == 0) return SCM(playerid,-1,"HS | "ZELENA"Ta kuca nema vlasnika pa je ne mozete prodati!");
  867. KucaInfo[id][kProveraVlasnika] = 0; KucaInfo[id][kHeal] = 0; KucaInfo[id][kOruzije] = -1;
  868. KucaInfo[id][kNovac] = 0; KucaInfo[id][kZatvoreno] = 1; KucaInfo[id][kZvono] = 0;
  869. KucaInfo[id][kMunicija] = 0; KucaInfo[id][kRent] = 0; strmid(KucaInfo[id][kVlasnik],"Niko",0,strlen("Niko"),255);
  870. strmid(KucaInfo[id][kIme],"Default",0,strlen("Default"),255); KuceLP(id);
  871. format(string,sizeof(string),"HS | "ZELENA"Prodali ste kucu ID: %d!",id);
  872. SCM(playerid,-1,string);
  873. return 1;
  874. }
  875. //////////////////////////////////////////////////////
  876. YCMD:akljuc(playerid, params[], help)
  877. {
  878. #pragma unused help
  879. if(!IsPlayerAdmin(playerid)) return SCM(playerid,-1,"HS | "CRVENA"Niste ovlasnite da koristite ovu komandu!");
  880. new id;
  881. if(sscanf(params,"i",id)) return SCM(playerid,-1,"HS | "ZUTA"/akljuc [ID]");
  882. if(!IsPlayerConnected(id)) return SCM(playerid,-1,"HS | "ZUTA"Pogresan ID!");
  883. if(PlayerInfo[id][pPosedovanjeKuce] == -1) return SCM(playerid,-1,""ZUTA"Igrac nema kucu!");
  884. PlayerInfo[id][pPosedovanjeKuce] = -1;
  885. SCM(id,-1,""ZUTA"Resetovan vam je kljuc kuce!");
  886. SCM(playerid,-1,""ZUTA"Resetovali ste igracu kljuc kuce!");
  887. return 1;
  888. }
  889. /////////////////////////////////////////////////////
  890. YCMD:kucapomoc(playerid, params[], help)
  891. {
  892. #pragma unused help
  893. #pragma unused params
  894. SCM(playerid,-1,""CRVENA"Admin CMD: "SIVA"/akljuc /kreirajkucu /aprodajkucu /ekucu /portkuca /izbrisikucu");
  895. SCM(playerid,-1,""CRVENA"Igrac CMD: "SIVA"/kupikucu /kuca /zvoni /unrentaj /rentajkucu");
  896. return 1;
  897. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement