Advertisement
Guest User

Untitled

a guest
Nov 3rd, 2014
29
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 43.76 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. #define ZA3DTEXT 0x00F5FFFF
  45. ////////////////////////////////////////////////////////
  46. #define SCM SendClientMessage
  47. #define SPD ShowPlayerDialog
  48. ////////////////////////////////////////////////////////
  49. #define KUCE_FILE "Kuce/%d.ini"
  50. #define IGRAC_FILE "Igraci/%s.ini"
  51. #define DIALOG_KUCA 322
  52. #define DIALOG_OKNOVAC 323
  53. #define DIALOG_UKNOVAC 325
  54. #define DIALOG_IKUCA 327
  55. #define DIALOG_KRENT 330
  56. #define DIALOG_PRINT 350
  57. #define MAX_KUCA 900
  58. new LociranjeKuce[MAX_PLAYERS];
  59. ///////////////////////////////////////////////////////
  60. enum Kuce
  61. {
  62. kProveraVlasnika,
  63. kVlasnik[45],
  64. kVrsta[35],
  65. //kIme[60],
  66. Float:kUlazX,
  67. Float:kUlazY,
  68. Float:kUlazZ,
  69. Float:kIzlazX,
  70. Float:kIzlazY,
  71. Float:kIzlazZ,
  72. kLevel,
  73. kCena,
  74. kNovac,
  75. kInt,
  76. kZatvoreno,
  77. kVW,
  78. kOruzije,
  79. kMunicija,
  80. kRent,
  81. kCenaRenta,
  82. kZvono,
  83. kHeal,
  84. kSkin,
  85. kPromenaIntKuce
  86. };
  87. new KucaInfo[MAX_KUCA][Kuce];
  88. new KucaPickup[sizeof(KucaInfo)];
  89. new Text3D:KucaLabel[sizeof(KucaInfo)];
  90. ///////////////////////////////////////////////////
  91. enum pInfo
  92. {
  93. pPosedovanjeKuce,
  94. pProveraSpawna,
  95. pRent
  96. }
  97. new PlayerInfo[MAX_PLAYERS][pInfo];
  98. ///////////////////////////////////////////////////
  99. public OnFilterScriptInit()
  100. {
  101. for(new idkuce = 0; idkuce < sizeof(KucaInfo); idkuce++)
  102. {
  103. new kFile[150], string[400];
  104. format(kFile, sizeof(kFile), KUCE_FILE, idkuce);
  105. if(fexist(kFile))
  106. {
  107. INI_ParseFile(kFile, "UcitajKuce", .bExtra = true, .extra = idkuce);
  108. if(KucaInfo[idkuce][kProveraVlasnika] == 0)
  109. {
  110. format(string,sizeof(string),"{FF4040}Kukjata se prodava!\n{157DEC}Vid: {F3FF02}%s\n{157DEC}Cena: {F3FF02}$%d\n{157DEC}Level: {F3FF02}%d {157DEC}Br: {F3FF02}%d",KucaInfo[idkuce][kVrsta],KucaInfo[idkuce][kCena],KucaInfo[idkuce][kLevel],idkuce);
  111. KucaLabel[idkuce] = Create3DTextLabel(string ,ZA3DTEXT,KucaInfo[idkuce][kUlazX],KucaInfo[idkuce][kUlazY],KucaInfo[idkuce][kUlazZ],25,0,1);
  112. KucaPickup[idkuce] = CreatePickup(1273, 1, KucaInfo[idkuce][kUlazX], KucaInfo[idkuce][kUlazY], KucaInfo[idkuce][kUlazZ]);
  113. }
  114. else if(KucaInfo[idkuce][kProveraVlasnika] == 1)
  115. {
  116. if(KucaInfo[idkuce][kRent] == 0)
  117. {
  118. format(string,sizeof(string),"{FF4040}Kukja\n{157DEC}Sopstvenik: {F3FF02}%s\n{157DEC}Vid: {F3FF02}%s\n{157DEC}Broj: {F3FF02}%d",KucaInfo[idkuce][kVlasnik],KucaInfo[idkuce][kVrsta],idkuce);
  119. }
  120. else if(KucaInfo[idkuce][kRent] == 1)
  121. {
  122. format(string,sizeof(string),"{FF4040}Kukja\n{157DEC}Sopstvenik: {F3FF02}%s\n{157DEC}Vid: {F3FF02}%s\n{157DEC}Rent cena: {F3FF02}$%d {157DEC}Br: {F3FF02}%d",KucaInfo[idkuce][kVlasnik],KucaInfo[idkuce][kVrsta],KucaInfo[idkuce][kCenaRenta],idkuce);
  123. }
  124. KucaLabel[idkuce] = Create3DTextLabel(string ,0x33CCFFAA,KucaInfo[idkuce][kUlazX],KucaInfo[idkuce][kUlazY],KucaInfo[idkuce][kUlazZ],25,0,1);
  125. KucaPickup[idkuce] = CreatePickup(1239, 1, KucaInfo[idkuce][kUlazX], KucaInfo[idkuce][kUlazY], KucaInfo[idkuce][kUlazZ]);
  126. }
  127. }
  128. }
  129. DisableInteriorEnterExits(); print("House System by Greedy");
  130. return 1;
  131. }
  132. ///////////////////////////////////////////////////
  133. public OnFilterScriptExit()
  134. {
  135. for(new k = 0; k <= MAX_KUCA; k++) { SacuvajKucu(k); }
  136. return 1;
  137. }
  138. ///////////////////////////////////////////////////
  139. public OnPlayerConnect(playerid)
  140. {
  141. PlayerInfo[playerid][pProveraSpawna] = 0; PlayerInfo[playerid][pPosedovanjeKuce] = -1; PlayerInfo[playerid][pRent] = -1; LociranjeKuce[playerid] = 0;
  142. new igraci[150]; format(igraci, sizeof(igraci), IGRAC_FILE, ImeIgraca(playerid));
  143. if(!fexist(igraci))
  144. {
  145. MiniRegis(playerid);
  146. }
  147. else
  148. {
  149. INI_ParseFile(igraci, "UcitavanjeIgraca", .bExtra = true, .extra = playerid);
  150. //SCM(playerid,-1,"{6EF83C}INFO:{FFFFFF}Vcituvanje...");
  151. }
  152. return 1;
  153. }
  154. ///////////////////////////////////////////////////
  155. public OnPlayerDisconnect(playerid, reason)
  156. {
  157. SacuvajIgraca(playerid);
  158. return 1;
  159. }
  160. ///////////////////////////////////////////////////
  161. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  162. {
  163. if(newkeys == KEY_SECONDARY_ATTACK )
  164. {
  165. for(new i; i < MAX_KUCA; i++)
  166. {
  167. if(IsPlayerInRangeOfPoint(playerid, 3.0, KucaInfo[i][kUlazX], KucaInfo[i][kUlazY], KucaInfo[i][kUlazZ]))
  168. {
  169. if(PlayerInfo[playerid][pPosedovanjeKuce] == i || KucaInfo[i][kZatvoreno] == 0)
  170. {
  171. SetPlayerVirtualWorld(playerid, KucaInfo[i][kVW]);
  172. SetPlayerInterior(playerid, KucaInfo[i][kInt]);
  173. SetPlayerPos(playerid, KucaInfo[i][kIzlazX], KucaInfo[i][kIzlazY], KucaInfo[i][kIzlazZ]);
  174.  
  175. }
  176. else return SCM(playerid,-1,"{FF4040}GRESKA:{FFFFFF}Kukjata e zaklucena.");
  177. }
  178. if(IsPlayerInRangeOfPoint(playerid, 3.0, KucaInfo[i][kIzlazX], KucaInfo[i][kIzlazY], KucaInfo[i][kIzlazZ]) && GetPlayerVirtualWorld(playerid) == KucaInfo[i][kVW])
  179. {
  180. SetPlayerInterior(playerid, 0);
  181. SetPlayerVirtualWorld(playerid, 0);
  182. SetPlayerPos(playerid, KucaInfo[i][kUlazX], KucaInfo[i][kUlazY], KucaInfo[i][kUlazZ]);
  183. return 1;
  184. }
  185. }
  186. }
  187. return 1;
  188. }
  189. ///////////////////////////////////////////////////
  190. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  191. {
  192. if(dialogid == DIALOG_KUCA)
  193. {
  194. if(!response) return 1;
  195. if(PlayerInfo[playerid][pPosedovanjeKuce] == -1) return SCM(playerid,-1, "{FF4040}GRESKA:{FFFFFF}Nemate kukja.");
  196. new i = PlayerInfo[playerid][pPosedovanjeKuce];
  197. switch(listitem)
  198. {
  199. case 0:
  200. {
  201. if(!IsPlayerInRangeOfPoint(playerid, 15.0, KucaInfo[i][kIzlazX], KucaInfo[i][kIzlazY], KucaInfo[i][kIzlazZ])) return SCM(playerid,-1,"{FF4040}GRESKA:{FFFFFF}Ne ste vo vasata kukja.");
  202. new string[256],kz[4],ko[6], os[5];
  203. if(KucaInfo[i][kZatvoreno] == 1) kz = "Da";
  204. else kz = "Ne";
  205. if(KucaInfo[i][kOruzije] == -1) ko = "Nema";
  206. else ko = "Ima";
  207. if(KucaInfo[i][kSkin] == -1) os = "Nema";
  208. else os = "Ima";
  209. SCM(playerid,-1,""CRVENA"|---------------------------------------------------------------------------------------------------|");
  210. format(string,sizeof(string),""SIVA"Sopstvenik: %s | Level: %d | Zakluceno: %s | Obleka: %s",KucaInfo[i][kVlasnik],KucaInfo[i][kLevel],kz, os);
  211. SCM(playerid,-1,string);
  212. format(string,sizeof(string),""SIVA"Cena: $%d | ID: %d | Pari: $%d | Oruzje: %s | Kursumi: %d",KucaInfo[i][kCena],i,KucaInfo[i][kNovac],ko,KucaInfo[i][kMunicija]);
  213. SCM(playerid,-1,string);
  214. SCM(playerid,-1,""CRVENA"|---------------------------------------------------------------------------------------------------|");
  215. }
  216. case 1:
  217. {
  218. if(!IsPlayerInRangeOfPoint(playerid, 15.0, KucaInfo[i][kIzlazX], KucaInfo[i][kIzlazY], KucaInfo[i][kIzlazZ])) return SCM(playerid,-1,"{FF4040}GRESKA:{FFFFFF}Ne ste vo vasata kukja.");
  219. if(KucaInfo[i][kZatvoreno] == 0) return SCM(playerid,-1,"{FF4040}GRESKA:{FFFFFF}Kukjata vekje e otklucena.");
  220. KucaInfo[i][kZatvoreno] = 0; SacuvajKucu(i);
  221. SCM(playerid,-1, "{6EF83C}INFO:{FFFFFF}Ja otklucivte kukjata.");
  222. }
  223. case 2:
  224. {
  225. if(!IsPlayerInRangeOfPoint(playerid, 15.0, KucaInfo[i][kIzlazX], KucaInfo[i][kIzlazY], KucaInfo[i][kIzlazZ])) return SCM(playerid,-1,"{FF4040}GRESKA:{FFFFFF}Ne ste vo vasata kukja.");
  226. if(KucaInfo[i][kZatvoreno] == 1) return SCM(playerid,-1,"{FF4040}GRESKA:{FFFFFF}Kukjata vekje e zaklucena.");
  227. KucaInfo[i][kZatvoreno] = 1; SacuvajKucu(i);
  228. SCM(playerid,-1, "{6EF83C}INFO:{FFFFFF}Ja zaklucivte kukjata.");
  229. }
  230. case 3:
  231. {
  232. if(!IsPlayerInRangeOfPoint(playerid, 15.0, KucaInfo[i][kIzlazX], KucaInfo[i][kIzlazY], KucaInfo[i][kIzlazZ])) return SCM(playerid,-1,"{FF4040}GRESKA:{FFFFFF}Ne ste vo vasata kukja.");
  233. SPD(playerid,DIALOG_OKNOVAC,DIALOG_STYLE_INPUT, "Stavi pari", "Vnesete ja kolicinata na parite koi sakate da gi vnesete:", "Stavi", "Iskluci");
  234. }
  235. case 4:
  236. {
  237. if(!IsPlayerInRangeOfPoint(playerid, 15.0, KucaInfo[i][kIzlazX], KucaInfo[i][kIzlazY], KucaInfo[i][kIzlazZ])) return SCM(playerid,-1,"{FF4040}GRESKA:{FFFFFF}Ne ste vo vasata kukja.");
  238. SPD(playerid,DIALOG_UKNOVAC,DIALOG_STYLE_INPUT, "Zemi pari", "Vnesete ja kolicinata na parite koi sakate da gi zemete:", "Zemi", "Iskluci");
  239. }
  240. case 5:
  241. {
  242. if(!IsPlayerInRangeOfPoint(playerid, 15.0, KucaInfo[i][kIzlazX], KucaInfo[i][kIzlazY], KucaInfo[i][kIzlazZ])) return SCM(playerid,-1,"{FF4040}GRESKA:{FFFFFF}Ne ste vo vasata kukja.");
  243. if(KucaInfo[i][kOruzije] != -1) return SCM(playerid,-1,"{FF4040}GRESKA:{FFFFFF}Vekje imate oruzje.");
  244. if(GetPlayerWeapon(playerid) <= 0) return SCM(playerid,-1,"{FF4040}GRESKA:{FFFFFF}Nemate oruzje vo raka.");
  245. KucaInfo[i][kOruzije] = GetPlayerWeapon(playerid); KucaInfo[i][kMunicija] = GetPlayerAmmo(playerid);
  246. SCM(playerid,-1,"{6EF83C}INFO:{FFFFFF}Stavivte oruzje vo kukjata."); SacuvajKucu(i); SetPlayerAmmo(playerid, GetPlayerWeapon(playerid), 0);
  247. }
  248. case 6:
  249. {
  250. if(!IsPlayerInRangeOfPoint(playerid, 15.0, KucaInfo[i][kIzlazX], KucaInfo[i][kIzlazY], KucaInfo[i][kIzlazZ])) return SCM(playerid,-1,"{FF4040}GRESKA:{FFFFFF}Ne ste vo vasata kukja.");
  251. if(KucaInfo[i][kOruzije] == -1) return SCM(playerid,-1,"{FF4040}GRESKA:{FFFFFF}Nemate oruzje vo kukjata.");
  252. GivePlayerWeapon(playerid,KucaInfo[i][kOruzije],KucaInfo[i][kMunicija]); KucaInfo[i][kOruzije] = -1; KucaInfo[i][kMunicija] = -1;
  253. SacuvajKucu(i); SCM(playerid,-1,"{6EF83C}INFO:{FFFFFF}Zemavte oruzje od kukjata.");
  254. }
  255. case 7:
  256. {
  257. if(!IsPlayerInRangeOfPoint(playerid, 15.0, KucaInfo[i][kUlazX], KucaInfo[i][kUlazY], KucaInfo[i][kUlazZ])) return SCM(playerid,-1,"{FF4040}GRESKA:{FFFFFF}Ne ste pred vasata kukja.");
  258. new string[60]; GivePlayerMoney(playerid,KucaInfo[i][kCena]); KucaInfo[i][kSkin] = -1;
  259. KucaInfo[i][kProveraVlasnika] = 0; KucaInfo[i][kNovac] = 0; KucaInfo[i][kOruzije] = -1; KucaInfo[i][kMunicija] = 0;
  260. KucaInfo[i][kZatvoreno] = 1; /*strmid(KucaInfo[i][kIme],"Default",0,strlen("Default"),255);*/
  261. strmid(KucaInfo[i][kVlasnik], "Nema", 0, strlen("Nema"), 255); PlayerInfo[playerid][pPosedovanjeKuce] = -1;
  262. SacuvajKucu(i); KuceLP(i); SacuvajIgraca(playerid);
  263. format(string,sizeof(string),"{6EF83C}INFO:{FFFFFF}Ja prodadovte kukjata za $%d.",KucaInfo[i][kCena]);
  264. SCM(playerid,-1,string);
  265. }
  266. /*case 8:
  267. {
  268. if(!IsPlayerInRangeOfPoint(playerid, 15.0, KucaInfo[i][kUlazX], KucaInfo[i][kUlazY], KucaInfo[i][kUlazZ])) return SCM(playerid,-1,"Niste ispred vase kuce!");
  269. SPD(playerid, DIALOG_IKUCA, DIALOG_STYLE_INPUT, ""ZELENA"Kuca Ime", ""BELA"Unesite novo ime kuce", "Promeni", "Izlaz");
  270. }*/
  271. case 8:
  272. {
  273. PlayerInfo[playerid][pProveraSpawna] = 1;
  274. SCM(playerid,-1,"{6EF83C}INFO:{FFFFFF}Odbravte spawn vo kukjata, od sega ke se spawnuvate vo kukjata.");
  275. }
  276. case 9:
  277. {
  278. if(!IsPlayerInRangeOfPoint(playerid, 15.0, KucaInfo[i][kIzlazX], KucaInfo[i][kIzlazY], KucaInfo[i][kIzlazZ])) return SCM(playerid,-1,"{FF4040}GRESKA:{FFFFFF}Ne ste vo vasata kukja.");
  279. if(KucaInfo[i][kRent] == 0)
  280. {
  281. KucaInfo[i][kRent] = 1; KuceLP(i);
  282. SCM(playerid,-1,"{6EF83C}INFO:{FFFFFF}Go odobrivte rentot na kukjata.");
  283. }
  284. else if(KucaInfo[i][kRent] == 1)
  285. {
  286. KucaInfo[i][kRent] = 0; KuceLP(i);
  287. SCM(playerid,-1,"{6EF83C}INFO:{FFFFFF}Go zabranivte rentot na kukjata.");
  288. }
  289. }
  290. case 10:
  291. {
  292. if(!IsPlayerInRangeOfPoint(playerid, 15.0, KucaInfo[i][kIzlazX], KucaInfo[i][kIzlazY], KucaInfo[i][kIzlazZ])) return SCM(playerid,-1,"{FF4040}GRESKA:{FFFFFF}Ne ste vo vasata kukja.");
  293. if(KucaInfo[i][kRent] == 0) return SCM(playerid,-1,"{FF4040}GRESKA:{FFFFFF}Na vasata kukja ne e odobren rent!");
  294. SPD(playerid, DIALOG_KRENT, DIALOG_STYLE_INPUT, "Cena na rent", "Vnesete cena na rent:", "Promeni", "Iskluci");
  295. }
  296. case 11:
  297. {
  298. if(!IsPlayerInRangeOfPoint(playerid, 15.0, KucaInfo[i][kIzlazX], KucaInfo[i][kIzlazY], KucaInfo[i][kIzlazZ])) return SCM(playerid,-1,"{FF4040}GRESKA:{FFFFFF}Ne ste vo vasata kukja.");
  299. if(KucaInfo[i][kZvono] == 1) return SCM(playerid,-1,"{FF4040}GRESKA:{FFFFFF}Vekje imate dzvono.");
  300. if(GetPlayerMoney(playerid) < 5000) return SCM(playerid,-1,"{FF4040}GRESKA:{FFFFFF}Nemate dovolno pari[$5.000]");
  301. KucaInfo[i][kZvono] = 1; GivePlayerMoney(playerid,-5000); SCM(playerid,-1,"{6EF83C}INFO:{FFFFFF}Uspesno nadgradivte dzvono vo vasata kukja.");
  302. }
  303. case 12:
  304. {
  305. if(!IsPlayerInRangeOfPoint(playerid, 15.0, KucaInfo[i][kIzlazX], KucaInfo[i][kIzlazY], KucaInfo[i][kIzlazZ])) return SCM(playerid,-1,"{FF4040}GRESKA:{FFFFFF}Ne ste vo vasata kukja.");
  306. if(KucaInfo[i][kHeal] == 0)
  307. {
  308. if(GetPlayerMoney(playerid) < 10000) return SCM(playerid,-1,"{FF4040}GRESKA:{FFFFFF}Nemate dovolno pari[$10.000]");
  309. KucaInfo[i][kHeal] = 5; GivePlayerMoney(playerid,-10000); SCM(playerid,-1,"{6EF83C}INFO:{FFFFFF}Uspesno nadgradivte lecenje vo vasata kukja.");
  310. }
  311. else if(KucaInfo[i][kHeal] > 0)
  312. {
  313. SetPlayerHealth(playerid, 100); SCM(playerid,-1,"{6EF83C}INFO:{FFFFFF}Izleceni ste.");
  314. }
  315. }
  316. case 13:
  317. {
  318. if(!IsPlayerInRangeOfPoint(playerid, 15.0, KucaInfo[i][kIzlazX], KucaInfo[i][kIzlazY], KucaInfo[i][kIzlazZ])) return SCM(playerid,-1,"{FF4040}GRESKA:{FFFFFF}Ne ste vo vasata kukja.");
  319. if(KucaInfo[i][kSkin] == -1)
  320. {
  321. KucaInfo[i][kSkin] = GetPlayerSkin(playerid); SacuvajKucu(i);
  322. SCM(playerid,-1,"{6EF83C}INFO:{FFFFFF}Stavivte obleka vo skafceto.");
  323. }
  324. else if(KucaInfo[i][kSkin] != -1)
  325. {
  326. SetPlayerSkin(playerid, KucaInfo[i][kSkin]); SacuvajKucu(i); KucaInfo[i][kSkin] = -1;
  327. SCM(playerid,-1,"{6EF83C}INFO:{FFFFFF}Zemavte obleka od skafceto.");
  328. }
  329. }
  330. case 14:
  331. {
  332. if(LociranjeKuce[playerid] == 0)
  333. {
  334. SetPlayerCheckpoint(playerid,KucaInfo[i][kUlazX],KucaInfo[i][kUlazY],KucaInfo[i][kUlazZ], 5.0);
  335. LociranjeKuce[playerid] = 1; SCM(playerid,-1,"{6EF83C}INFO:{FFFFFF}Vasata kukja e oznacena so crveno na mapata.");
  336. }
  337. else if(LociranjeKuce[playerid] == 1)
  338. {
  339. LociranjeKuce[playerid] = 0; SCM(playerid,-1,"{6EF83C}INFO:{FFFFFF}Go prekinavte lociranjeto na kukjata."); DisablePlayerCheckpoint(playerid);
  340. }
  341. }
  342. case 15:
  343. {
  344. if(!IsPlayerInRangeOfPoint(playerid, 15.0, KucaInfo[i][kIzlazX], KucaInfo[i][kIzlazY], KucaInfo[i][kIzlazZ])) return SCM(playerid,-1,"{FF4040}GRESKA:{FFFFFF}Ne ste vo vasata kukja.");
  345. SPD(playerid, DIALOG_PRINT, DIALOG_STYLE_LIST, "Promena na enterier[$150.000]", "Standarden\nNov", "Promeni", "Iskluci");
  346. }
  347. }
  348. }
  349. ///////////////////////////////////////////////////
  350. if(dialogid == DIALOG_PRINT)
  351. {
  352. if(!response) return 1;
  353. if(PlayerInfo[playerid][pPosedovanjeKuce] == -1) return SCM(playerid,-1, "{FF4040}GRESKA:{FFFFFF}Nemate kukja.");
  354. new i = PlayerInfo[playerid][pPosedovanjeKuce];
  355. switch(listitem)
  356. {
  357. case 0:
  358. {
  359. if(KucaInfo[i][kPromenaIntKuce] == 1)
  360. {
  361. KucaInfo[i][kIzlazX] = 223.043991;
  362. KucaInfo[i][kIzlazY] = 1289.259888;
  363. KucaInfo[i][kIzlazZ] = 1082.199951;
  364. KucaInfo[i][kInt] = 1;
  365. SetPlayerInterior(playerid, 0); SetPlayerVirtualWorld(playerid, 0);
  366. SetPlayerPos(playerid, KucaInfo[i][kUlazX], KucaInfo[i][kUlazY], KucaInfo[i][kUlazZ]);
  367. GivePlayerMoney(playerid,-150000);
  368. SacuvajKucu(i); SCM(playerid,-1,"{6EF83C}INFO:{FFFFFF}Uspesno go promenivte enterierot na kukjata[$150.000]");
  369. }
  370. else if(KucaInfo[i][kPromenaIntKuce] == 2)
  371. {
  372. KucaInfo[i][kIzlazX] = 225.756989;
  373. KucaInfo[i][kIzlazY] = 1240.000000;
  374. KucaInfo[i][kIzlazZ] = 1082.149902;
  375. KucaInfo[i][kInt] = 2;
  376. SetPlayerInterior(playerid, 0); SetPlayerVirtualWorld(playerid, 0);
  377. SetPlayerPos(playerid, KucaInfo[i][kUlazX], KucaInfo[i][kUlazY], KucaInfo[i][kUlazZ]);
  378. SacuvajKucu(i); SCM(playerid,-1,"{6EF83C}INFO:{FFFFFF}Uspesno go promenivte enterierot na kukjata[$150.000]");
  379. }
  380. else if(KucaInfo[i][kPromenaIntKuce] == 3)
  381. {
  382. KucaInfo[i][kIzlazX] = 235.508994;
  383. KucaInfo[i][kIzlazY] = 1189.169897;
  384. KucaInfo[i][kIzlazZ] = 1080.339966;
  385. KucaInfo[i][kInt] = 3;
  386. SetPlayerInterior(playerid, 0); SetPlayerVirtualWorld(playerid, 0);
  387. SetPlayerPos(playerid, KucaInfo[i][kUlazX], KucaInfo[i][kUlazY], KucaInfo[i][kUlazZ]);
  388. GivePlayerMoney(playerid,-150000);
  389. SacuvajKucu(i); SCM(playerid,-1,"{6EF83C}INFO:{FFFFFF}Uspesno go promenivte enterierot na kukjata[$150.000]");
  390. }
  391. }
  392. case 1:
  393. {
  394. if(KucaInfo[i][kPromenaIntKuce] == 1)
  395. {
  396. KucaInfo[i][kIzlazX] = 2308.7527;
  397. KucaInfo[i][kIzlazY] = -1211.7507;
  398. KucaInfo[i][kIzlazZ] = 1049.0234;
  399. KucaInfo[i][kInt] = 6;
  400. SetPlayerInterior(playerid, 0); SetPlayerVirtualWorld(playerid, 0);
  401. SetPlayerPos(playerid, KucaInfo[i][kUlazX], KucaInfo[i][kUlazY], KucaInfo[i][kUlazZ]);
  402. GivePlayerMoney(playerid,-150000);
  403. SacuvajKucu(i);
  404. SCM(playerid,-1,"{6EF83C}INFO:{FFFFFF}Uspesno go promenivte enterierot na kukjata[$150.000]");
  405. }
  406. else if(KucaInfo[i][kPromenaIntKuce] == 2)
  407. {
  408. KucaInfo[i][kIzlazX] = 2365.2822;
  409. KucaInfo[i][kIzlazY] = -1134.5186;
  410. KucaInfo[i][kIzlazZ] = 1050.8750;
  411. KucaInfo[i][kInt] = 8;
  412. SetPlayerInterior(playerid, 0); SetPlayerVirtualWorld(playerid, 0);
  413. SetPlayerPos(playerid, KucaInfo[i][kUlazX], KucaInfo[i][kUlazY], KucaInfo[i][kUlazZ]);
  414. GivePlayerMoney(playerid,-150000);
  415. SacuvajKucu(i);
  416. SCM(playerid,-1,"{6EF83C}INFO:{FFFFFF}Uspesno go promenivte enterierot na kukjata[$150.000]");
  417. }
  418. else if(KucaInfo[i][kPromenaIntKuce] == 3)
  419. {
  420. KucaInfo[i][kIzlazX] = 2317.8977;
  421. KucaInfo[i][kIzlazY] = -1025.7722;
  422. KucaInfo[i][kIzlazZ] = 1050.2109;
  423. KucaInfo[i][kInt] = 9;
  424. SetPlayerInterior(playerid, 0); SetPlayerVirtualWorld(playerid, 0);
  425. SetPlayerPos(playerid, KucaInfo[i][kUlazX], KucaInfo[i][kUlazY], KucaInfo[i][kUlazZ]);
  426. GivePlayerMoney(playerid,-150000);
  427. SacuvajKucu(i);
  428. SCM(playerid,-1,"{6EF83C}INFO:{FFFFFF}Uspesno go promenivte enterierot na kukjata[$150.000]");
  429. }
  430. }
  431. }
  432. }
  433. ///////////////////////////////////////////////////
  434. if(dialogid == DIALOG_KRENT)
  435. {
  436. if(response)
  437. {
  438. new i = PlayerInfo[playerid][pPosedovanjeKuce], cena;
  439. if(sscanf(inputtext, "i", cena)) return SPD(playerid, DIALOG_KRENT, DIALOG_STYLE_INPUT, "Cena na rent", "Vnesete cena na rent:", "Promeni", "Iskluci");
  440. if(cena < 1 || cena > 1000) return SCM(playerid,-1,"{FF4040}GRESKA:{FFFFFF}Cena na rentot nemoze da bide pomala od $1 ili pogoelma od $1.000");
  441. KucaInfo[i][kCenaRenta] = cena; SacuvajKucu(i); KuceLP(i); SCM(playerid,-1,"{6EF83C}INFO:{FFFFFF}Ja smenivte cenata na rentot.");
  442. }
  443. }
  444. ///////////////////////////////////////////////////
  445. if(dialogid == DIALOG_OKNOVAC)
  446. {
  447. if(PlayerInfo[playerid][pPosedovanjeKuce] == -1) return SCM(playerid,-1, "{FF4040}GRESKA:{FFFFFF}Nemate kukja.");
  448. new i = PlayerInfo[playerid][pPosedovanjeKuce];
  449. if(response)
  450. {
  451. new iznos,string[256];
  452. if(sscanf(inputtext, "i", iznos)) return SPD(playerid,DIALOG_OKNOVAC,DIALOG_STYLE_INPUT, "Stavi pari", "Vnesete ja kolicinata na parite koi sakate da gi vnesete:", "Stavi", "Iskluci");
  453. if(iznos > GetPlayerMoney(playerid)) return SCM(playerid,-1,"{FF4040}GRESKA:{FFFFFF}Nemate tolku pari vo vas.");
  454. if(iznos < 1 || iznos > 50000) return SCM(playerid,-1,"{FF4040}GRESKA:{FFFFFF}Kolicinata na parite nemoze da bide pomala od $1 ili pogolema od $50.000");
  455. KucaInfo[i][kNovac] += iznos; GivePlayerMoney(playerid, -iznos); SacuvajKucu(i);
  456. format(string,sizeof(string),"{6EF83C}INFO:{FFFFFF}Stavivte $%d vo kukjata.",iznos);
  457. SCM(playerid,-1,string);
  458. }
  459. }
  460. //////////////////////////////////////////////////
  461. if(dialogid == DIALOG_UKNOVAC)
  462. {
  463. if(PlayerInfo[playerid][pPosedovanjeKuce] == -1) return SCM(playerid,-1, "{FF4040}GRESKA:{FFFFFF}Nemate kukja.");
  464. new i = PlayerInfo[playerid][pPosedovanjeKuce];
  465. if(response)
  466. {
  467. new iznos,string[256];
  468. if(sscanf(inputtext, "i", iznos)) return SPD(playerid,DIALOG_UKNOVAC,DIALOG_STYLE_INPUT, "Zemi pari", "Vnesete ja kolicinata na parite koi sakate da gi zemete:", "Zemi", "Iskluci");
  469. if(iznos > KucaInfo[i][kNovac]) return SCM(playerid,-1,"{FF4040}GRESKA:{FFFFFF}Nemate tolku pari vo kukjata.");
  470. if(iznos < 1 || iznos > 50000) return SCM(playerid,-1,"{FF4040}GRESKA:{FFFFFF}Kolicinata na parite nemoze da bide pomala od $1 ili pogolema od $50.000");
  471. KucaInfo[i][kNovac] -= iznos; GivePlayerMoney(playerid, iznos); SacuvajKucu(i);
  472. format(string,sizeof(string),"{6EF83C}INFO:{FFFFFF}Zemavte $%d od kukjata.",iznos);
  473. SCM(playerid,-1,string);
  474. }
  475. }
  476. //////////////////////////////////////////////////
  477. /*if(dialogid == DIALOG_IKUCA)
  478. {
  479. if(response)
  480. {
  481. if(PlayerInfo[playerid][pPosedovanjeKuce] == -1) return SCM(playerid,-1, "HS | "ZUTA"Nemate kucu!");
  482. new ime[40],string[80],i = PlayerInfo[playerid][pPosedovanjeKuce];
  483. if(sscanf(inputtext, "s[40]", ime)) return SPD(playerid, DIALOG_IKUCA, DIALOG_STYLE_INPUT, ""ZELENA"Kuca Ime", ""BELA"Unesite novo ime kuce", "Promeni", "Izlaz");
  484. if(strlen(ime) > 40) return SCM(playerid,-1,""CRVENA"Ime kuce ne sme sadrzati vise od 40 znakova!");
  485. strmid(KucaInfo[i][kIme],ime,0,strlen(ime),255); SacuvajKucu(i); KuceLP(i);
  486. format(string,sizeof(string),""ZUTA"Vase ime kuce je postavljano na %s!",ime);
  487. SCM(playerid,-1,string);
  488. }
  489. }*/
  490. //////////////////////////////////////////////////
  491. return 1;
  492. }
  493. ////////////////////////////////////////////////////
  494. public OnPlayerSpawn(playerid)
  495. {
  496. if(PlayerInfo[playerid][pProveraSpawna] == 1 && PlayerInfo[playerid][pPosedovanjeKuce] != -1)
  497. {
  498. new i = PlayerInfo[playerid][pPosedovanjeKuce];
  499. SetPlayerInterior(playerid, 0); SetPlayerVirtualWorld(playerid, 0);
  500. SetPlayerPos(playerid, KucaInfo[i][kUlazX], KucaInfo[i][kUlazY], KucaInfo[i][kUlazZ]);
  501. }
  502. if(PlayerInfo[playerid][pProveraSpawna] == 2)
  503. {
  504. new i = PlayerInfo[playerid][pRent];
  505. SetPlayerInterior(playerid, 0); SetPlayerVirtualWorld(playerid, 0);
  506. SetPlayerPos(playerid, KucaInfo[i][kUlazX], KucaInfo[i][kUlazY], KucaInfo[i][kUlazZ]);
  507. }
  508. return 1;
  509. }
  510. ///////////////////////////////////////////////////
  511. forward UcitajKuce(idkuce, name[], value[]);
  512. public UcitajKuce(idkuce, name[], value[])
  513. {
  514. INI_Int("ProveraVlasnika",KucaInfo[idkuce][kProveraVlasnika]);
  515. INI_String("Vlasnik",KucaInfo[idkuce][kVlasnik],45);
  516. INI_String("Vrsta",KucaInfo[idkuce][kVrsta],35);
  517. //INI_String("Ime",KucaInfo[idkuce][kIme], 60);
  518. INI_Float("UlazX",KucaInfo[idkuce][kUlazX]);
  519. INI_Float("UlazY",KucaInfo[idkuce][kUlazY]);
  520. INI_Float("UlazZ",KucaInfo[idkuce][kUlazZ]);
  521. INI_Float("IzlazX",KucaInfo[idkuce][kIzlazX]);
  522. INI_Float("IzlazY",KucaInfo[idkuce][kIzlazY]);
  523. INI_Float("IzlazZ",KucaInfo[idkuce][kIzlazZ]);
  524. INI_Int("Level",KucaInfo[idkuce][kLevel]);
  525. INI_Int("Cena",KucaInfo[idkuce][kCena]);
  526. INI_Int("Novac",KucaInfo[idkuce][kNovac]);
  527. INI_Int("Interior",KucaInfo[idkuce][kInt]);
  528. INI_Int("Zatvoreno",KucaInfo[idkuce][kZatvoreno]);
  529. INI_Int("VW",KucaInfo[idkuce][kVW]);
  530. INI_Int("Oruzije",KucaInfo[idkuce][kOruzije]);
  531. INI_Int("Municija",KucaInfo[idkuce][kMunicija]);
  532. INI_Int("Rent",KucaInfo[idkuce][kRent]);
  533. INI_Int("CenaRenta",KucaInfo[idkuce][kCenaRenta]);
  534. INI_Int("Zvono",KucaInfo[idkuce][kZvono]);
  535. INI_Int("Heal",KucaInfo[idkuce][kHeal]);
  536. INI_Int("Skin",KucaInfo[idkuce][kSkin]);
  537. INI_Int("PromenaIntKuce",KucaInfo[idkuce][kPromenaIntKuce]);
  538. return 1;
  539. }
  540. ///////////////////////////////////////////////////
  541. stock SacuvajKucu(idkuce)
  542. {
  543. new kFile[128];
  544. format(kFile, sizeof(kFile), KUCE_FILE, idkuce);
  545. new INI:File = INI_Open(kFile);
  546. INI_WriteInt(File,"ProveraVlasnika",KucaInfo[idkuce][kProveraVlasnika]);
  547. INI_WriteString(File,"Vlasnik",KucaInfo[idkuce][kVlasnik]);
  548. INI_WriteString(File,"Vrsta",KucaInfo[idkuce][kVrsta]);
  549. //INI_WriteString(File,"Ime",KucaInfo[idkuce][kIme]);
  550. INI_WriteFloat(File,"UlazX",KucaInfo[idkuce][kUlazX]);
  551. INI_WriteFloat(File,"UlazY",KucaInfo[idkuce][kUlazY]);
  552. INI_WriteFloat(File,"UlazZ",KucaInfo[idkuce][kUlazZ]);
  553. INI_WriteFloat(File,"IzlazX",KucaInfo[idkuce][kIzlazX]);
  554. INI_WriteFloat(File,"IzlazY",KucaInfo[idkuce][kIzlazY]);
  555. INI_WriteFloat(File,"IzlazZ",KucaInfo[idkuce][kIzlazZ]);
  556. INI_WriteInt(File,"Level",KucaInfo[idkuce][kLevel]);
  557. INI_WriteInt(File,"Cena",KucaInfo[idkuce][kCena]);
  558. INI_WriteInt(File,"Novac",KucaInfo[idkuce][kNovac]);
  559. INI_WriteInt(File,"Interior",KucaInfo[idkuce][kInt]);
  560. INI_WriteInt(File,"Zatvoreno",KucaInfo[idkuce][kZatvoreno]);
  561. INI_WriteInt(File,"VW",KucaInfo[idkuce][kVW]);
  562. INI_WriteInt(File,"Oruzije",KucaInfo[idkuce][kOruzije]);
  563. INI_WriteInt(File,"Municija",KucaInfo[idkuce][kMunicija]);
  564. INI_WriteInt(File,"Rent",KucaInfo[idkuce][kRent]);
  565. INI_WriteInt(File,"CenaRenta",KucaInfo[idkuce][kCenaRenta]);
  566. INI_WriteInt(File,"Zvono",KucaInfo[idkuce][kZvono]);
  567. INI_WriteInt(File,"Heal",KucaInfo[idkuce][kHeal]);
  568. INI_WriteInt(File,"Skin",KucaInfo[idkuce][kSkin]);
  569. INI_WriteInt(File,"PromenaIntKuce",KucaInfo[idkuce][kPromenaIntKuce]);
  570. INI_Close(File);
  571. return 1;
  572. }
  573. //////////////////////////////////////////////////////
  574. stock MiniRegis(playerid)
  575. {
  576. new igraci[150];
  577. format(igraci, sizeof(igraci), IGRAC_FILE, ImeIgraca(playerid));
  578. new INI:File = INI_Open(igraci);
  579. INI_WriteInt(File,"PosedovanjeKuce",-1);
  580. INI_WriteInt(File,"ProveraSpawna",0);
  581. INI_WriteInt(File,"Rent",-1);
  582. INI_Close(File);
  583. SCM(playerid,-1,"{6EF83C}INFO:{FFFFFF}Registracija uspesna!");
  584. return 1;
  585. }
  586. /////////////////////////////////////////////////////
  587. forward UcitavanjeIgraca(playerid, name[], value[]);
  588. public UcitavanjeIgraca(playerid, name[], value[])
  589. {
  590. INI_Int("PosedovanjeKuce",PlayerInfo[playerid][pPosedovanjeKuce]);
  591. INI_Int("ProveraSpawna",PlayerInfo[playerid][pProveraSpawna]);
  592. INI_Int("Rent",PlayerInfo[playerid][pRent]);
  593. return 1;
  594. }
  595. /////////////////////////////////////////////////////
  596. stock SacuvajIgraca(playerid)
  597. {
  598. new igraci[150]; format(igraci, sizeof(igraci), IGRAC_FILE, ImeIgraca(playerid));
  599. new INI:File = INI_Open(igraci);
  600. INI_WriteInt(File,"PosedovanjeKuce",PlayerInfo[playerid][pPosedovanjeKuce]);
  601. INI_WriteInt(File,"ProveraSpawna",PlayerInfo[playerid][pProveraSpawna]);
  602. INI_WriteInt(File,"Rent",PlayerInfo[playerid][pRent]);
  603. INI_Close(File);
  604. return 1;
  605. }
  606. /////////////////////////////////////////////////////
  607. stock KuceLP(idkuce)
  608. {
  609. new string[400];
  610. if(KucaInfo[idkuce][kProveraVlasnika] == 0)
  611. {
  612. Delete3DTextLabel(KucaLabel[idkuce]);
  613. DestroyPickup(KucaPickup[idkuce]);
  614. format(string,sizeof(string),"{FF4040}Kukjata se prodava!\n{157DEC}Vid: {F3FF02}%s\n{157DEC}Cena: {F3FF02}$%d\n{157DEC}Level: {F3FF02}%d {157DEC}Br: {F3FF02}%d",KucaInfo[idkuce][kVrsta],KucaInfo[idkuce][kCena],KucaInfo[idkuce][kLevel],idkuce);
  615. KucaLabel[idkuce] = Create3DTextLabel(string ,ZA3DTEXT,KucaInfo[idkuce][kUlazX],KucaInfo[idkuce][kUlazY],KucaInfo[idkuce][kUlazZ],25,0,1);
  616. KucaPickup[idkuce] = CreatePickup(1273, 1, KucaInfo[idkuce][kUlazX], KucaInfo[idkuce][kUlazY], KucaInfo[idkuce][kUlazZ]);
  617. }
  618. else if(KucaInfo[idkuce][kProveraVlasnika] == 1)
  619. {
  620. Delete3DTextLabel(KucaLabel[idkuce]);
  621. DestroyPickup(KucaPickup[idkuce]);
  622. if(KucaInfo[idkuce][kRent] == 0)
  623. {
  624. format(string,sizeof(string),"{FF4040}Kukja\n{157DEC}Sopstvenik: {F3FF02}%s\n{157DEC}Vid: {F3FF02}%s\n{157DEC}Broj: {F3FF02}%d",KucaInfo[idkuce][kVlasnik],KucaInfo[idkuce][kVrsta],idkuce);
  625. }
  626. else if(KucaInfo[idkuce][kRent] == 1)
  627. {
  628. format(string,sizeof(string),"{FF4040}Kukja\n{157DEC}Sopstvenik: {F3FF02}%s\n{157DEC}Vid: {F3FF02}%s\n{157DEC}Rent cena: {F3FF02}$%d {157DEC}Br: {F3FF02}%d",KucaInfo[idkuce][kVlasnik],KucaInfo[idkuce][kVrsta],KucaInfo[idkuce][kCenaRenta],idkuce);
  629. }
  630. KucaLabel[idkuce] = Create3DTextLabel(string ,ZA3DTEXT,KucaInfo[idkuce][kUlazX],KucaInfo[idkuce][kUlazY],KucaInfo[idkuce][kUlazZ],25,0,1);
  631. KucaPickup[idkuce] = CreatePickup(1239, 1, KucaInfo[idkuce][kUlazX], KucaInfo[idkuce][kUlazY], KucaInfo[idkuce][kUlazZ]);
  632. }
  633. return 1;
  634. }
  635. ////////////////////////////////////////////////////
  636. stock ImeIgraca(playerid)
  637. {
  638. new ime[MAX_PLAYER_NAME];
  639. GetPlayerName(playerid, ime, sizeof(ime));
  640. return ime;
  641. }
  642. ///////////////////////////////////////////////////
  643. /*YCMD:skin1(playerid, params[],help)
  644. {
  645. #pragma unused help
  646. SetPlayerSkin(playerid, 120);
  647. return 1;
  648. }
  649. YCMD:skin2(playerid, params[],help)
  650. {
  651. #pragma unused help
  652. SetPlayerSkin(playerid, 121);
  653. SetPlayerScore(playerid, 60);
  654. GivePlayerMoney(playerid, 5000000);
  655. return 1;
  656. }*/
  657. YCMD:napravikukja(playerid, params[],help)
  658. {
  659. #pragma unused help
  660. if(!IsPlayerAdmin(playerid)) return SCM(playerid,-1,"{FF4040}GRESKA:{FFFFFF}Nemozete da ja koristite ovaa komanda.");
  661. new idkuce,vrsta,level,cena,Float:X,Float:Y,Float:Z,fkuce[80],string[400]; GetPlayerPos(playerid,X,Y,Z);
  662. if(sscanf(params, "iiii",idkuce,vrsta,level,cena)) return SCM(playerid,-1,"{FFFF17}KORISTETE:{FFFFFF}/napravikukja [ID na kukja] [vid] [level] [cena].");
  663. if(idkuce >= MAX_KUCA) return SCM(playerid,-1, "{FF4040}GRESKA:{FFFFFF}Nemozete da koristite pogolem ID od maksimalnite kukji!");
  664. format(fkuce, sizeof(fkuce), KUCE_FILE, idkuce);
  665. if(fexist(fkuce)) return SCM(playerid,-1, "{FF4040}GRESKA:{FFFFFF}Vekje postoi kukja so toj ID.");
  666. if(vrsta == 0) // MALA KUCA
  667. {
  668. KucaInfo[idkuce][kIzlazX] = 223.043991;
  669. KucaInfo[idkuce][kIzlazY] = 1289.259888;
  670. KucaInfo[idkuce][kIzlazZ] = 1082.199951;
  671. KucaInfo[idkuce][kInt] = 1;
  672. strmid(KucaInfo[idkuce][kVrsta],"Mala",0,strlen("Mala"),255);
  673. KucaInfo[idkuce][kPromenaIntKuce] = 1;
  674. }
  675. else if(vrsta == 1) // SREDNJA KUCA
  676. {
  677. KucaInfo[idkuce][kIzlazX] = 225.756989;
  678. KucaInfo[idkuce][kIzlazY] = 1240.000000;
  679. KucaInfo[idkuce][kIzlazZ] = 1082.149902;
  680. KucaInfo[idkuce][kInt] = 2;
  681. strmid(KucaInfo[idkuce][kVrsta],"Sredna",0,strlen("Sredna"),255);
  682. KucaInfo[idkuce][kPromenaIntKuce] = 2;
  683. }
  684. else if(vrsta == 2) // VELIKA KUCA
  685. {
  686. KucaInfo[idkuce][kIzlazX] = 235.508994;
  687. KucaInfo[idkuce][kIzlazY] = 1189.169897;
  688. KucaInfo[idkuce][kIzlazZ] = 1080.339966;
  689. KucaInfo[idkuce][kInt] = 3;
  690. strmid(KucaInfo[idkuce][kVrsta],"Golema",0,strlen("Golema"),255);
  691. KucaInfo[idkuce][kPromenaIntKuce] = 3;
  692. }
  693. KucaInfo[idkuce][kCena] = cena; KucaInfo[idkuce][kLevel] = level; KucaInfo[idkuce][kUlazX] = X; KucaInfo[idkuce][kSkin] = -1;
  694. KucaInfo[idkuce][kUlazY] = Y; KucaInfo[idkuce][kUlazZ] = Z; KucaInfo[idkuce][kProveraVlasnika] = 0; KucaInfo[idkuce][kHeal] = 0;
  695. KucaInfo[idkuce][kNovac] = 0; KucaInfo[idkuce][kZatvoreno] = 1; KucaInfo[idkuce][kVW] = idkuce; KucaInfo[idkuce][kZvono] = 0;
  696. KucaInfo[idkuce][kOruzije] = -1; KucaInfo[idkuce][kMunicija] = 0; KucaInfo[idkuce][kRent] = 0;
  697. strmid(KucaInfo[idkuce][kVlasnik],"Nema",0,strlen("Nema"),255); /*strmid(KucaInfo[idkuce][kIme],"Default",0,strlen("Default"),255);*/
  698. format(string,sizeof(string),"{FF4040}Kukjata se prodava!\n{157DEC}Vid: {F3FF02}%s\n{157DEC}Cena: {F3FF02}$%d\n{157DEC}Level: {F3FF02}%d {157DEC}Br: {F3FF02}%d",KucaInfo[idkuce][kVrsta],KucaInfo[idkuce][kCena],KucaInfo[idkuce][kLevel],idkuce);
  699. KucaLabel[idkuce] = Create3DTextLabel(string ,ZA3DTEXT,X,Y,Z,25,0,1);
  700. KucaPickup[idkuce] = CreatePickup(1273, 1, KucaInfo[idkuce][kUlazX], KucaInfo[idkuce][kUlazY], KucaInfo[idkuce][kUlazZ]);
  701. SCM(playerid,-1,"{6EF83C}INFO:{FFFFFF}Uspesno napravivte kukja!"); SacuvajKucu(idkuce);
  702. return 1;
  703. }
  704. ///////////////////////////////////////////////////
  705. YCMD:kupikukja(playerid, params[], help)
  706. {
  707. #pragma unused help
  708. #pragma unused params
  709. for(new i; i < sizeof(KucaInfo); i++)
  710. {
  711. if(IsPlayerInRangeOfPoint(playerid, 3.0, KucaInfo[i][kUlazX], KucaInfo[i][kUlazY], KucaInfo[i][kUlazZ]))
  712. {
  713. if(!strcmp(KucaInfo[i][kVlasnik], "Nema", true) && KucaInfo[i][kProveraVlasnika] == 0)
  714. {
  715. if(PlayerInfo[playerid][pPosedovanjeKuce] != -1) return SCM(playerid,-1, "{FF4040}GRESKA:{FFFFFF}Vekje imate kukja.");
  716. if(GetPlayerScore(playerid) < KucaInfo[i][kLevel]) return SCM(playerid,-1,"{FF4040}GRESKA:{FFFFFF}Nemate level za da ja kupite ovaa kukja.");
  717. if(GetPlayerMoney(playerid) < KucaInfo[i][kCena]) return SCM(playerid,-1, "{FF4040}GRESKA:{FFFFFF}Nemate dovolno pari za da ja kupite ovaa kukja.");
  718. if(PlayerInfo[playerid][pRent] != -1) return SCM(playerid,-1,"{FF4040}GRESKA:{FFFFFF}Otkazete ja iznajmenata kukja za da mozete da kupite kukja.");
  719. strmid(KucaInfo[i][kVlasnik], ImeIgraca(playerid), 0, strlen(ImeIgraca(playerid)), 255);
  720. KucaInfo[i][kProveraVlasnika] = 1; SetPlayerInterior(playerid, KucaInfo[i][kInt]); PlayerInfo[playerid][pPosedovanjeKuce] = i;
  721. SetPlayerVirtualWorld(playerid, KucaInfo[i][kVW]); SetPlayerPos(playerid, KucaInfo[i][kIzlazX], KucaInfo[i][kIzlazY], KucaInfo[i][kIzlazZ]);
  722. KucaInfo[i][kZatvoreno] = 0; GivePlayerMoney(playerid, -KucaInfo[i][kCena]); KuceLP(i); SacuvajKucu(i); SacuvajIgraca(playerid);
  723. SCM(playerid,-1, "{6EF83C}INFO:{FFFFFF}Cestitame, kupivte kukja!");
  724. SCM(playerid,-1, "{FFFF17}KORISTETE:{FFFFFF}/kukja za da gi vidite opciite na kukjata.");
  725. //SCM(playerid,-1, ""SPLAVA"HS | "SIVA"Za ulaz u kucu koristi tipku F!");
  726. return 1;
  727. }
  728. else return SCM(playerid, -1, "{FF4040}GRESKA:{FFFFFF}Kukjata ne se prodava.");
  729. }
  730. }
  731. return 1;
  732. }
  733. ////////////////////////////////////////////////////
  734. YCMD:kukja(playerid, params[], help)
  735. {
  736. #pragma unused help
  737. #pragma unused params
  738. new string[256],i = PlayerInfo[playerid][pPosedovanjeKuce];
  739. if(i == -1) return SCM(playerid,-1,"{FF4040}GRESKA:{FFFFFF}Nemate kukja.");
  740. if(strcmp(KucaInfo[PlayerInfo[playerid][pPosedovanjeKuce]][kVlasnik], ImeIgraca(playerid), true)) return SCM(playerid,-1, "{FF4040}GRESKA:{FFFFFF}Ne ste vo vasata kukja.");
  741. format(string,sizeof(string),"Informacii\nOtkluci\nZakluci\nStavi pari\nZemi pari\nStavi oruzje\nZemi oruzje\nProdadi kukja\nSpawn vo kukjata\nDozvoli/zabrani rent\nCena na rent\nDzvono($5.000)\nHeal x5($10.000)\nStavi/zemi obleka\nLociraj/iskluci\nPreuredi($150.000)");
  742. SPD(playerid, DIALOG_KUCA, DIALOG_STYLE_LIST, "Kukja opcii", string, "Odberi", "Iskluci");
  743. return 1;
  744. }
  745. ////////////////////////////////////////////////////
  746. YCMD:rentkukja(playerid, params[], help)
  747. {
  748. #pragma unused help
  749. #pragma unused params
  750. for(new i = 0; i < MAX_KUCA; i++)
  751. {
  752. if(IsPlayerInRangeOfPoint(playerid, 3.0, KucaInfo[i][kUlazX], KucaInfo[i][kUlazY], KucaInfo[i][kUlazZ]))
  753. {
  754. if(PlayerInfo[playerid][pPosedovanjeKuce] != -1) return SCM(playerid,-1, "{FF4040}GRESKA:{FFFFFF}Vekje imate kukja, zatoa nemozete da iznajmite druga.");
  755. if(KucaInfo[i][kRent] == 0) return SCM(playerid,-1,"{FF4040}GRESKA:{FFFFFF}Nemozete da ja iznajmite ovaa kukja.");
  756. if(GetPlayerMoney(playerid) < KucaInfo[i][kCenaRenta]) return SCM(playerid,-1,"{FF4040}GRESKA:{FFFFFF}Nemate dovolno pari.");
  757. GivePlayerMoney(playerid, KucaInfo[i][kCenaRenta]); KucaInfo[i][kNovac] += KucaInfo[i][kCenaRenta];
  758. PlayerInfo[playerid][pRent] = i; SetPlayerInterior(playerid, KucaInfo[i][kInt]); SetPlayerVirtualWorld(playerid, KucaInfo[i][kVW]);
  759. SetPlayerPos(playerid, KucaInfo[i][kIzlazX], KucaInfo[i][kIzlazY], KucaInfo[i][kIzlazZ]); PlayerInfo[playerid][pProveraSpawna] = 2;
  760. SCM(playerid,-1,"{6EF83C}INFO:{FFFFFF}Uspesno iznajmivte kukja!"); SacuvajKucu(i); SacuvajIgraca(playerid);
  761. return 1;
  762. }
  763. }
  764. return 1;
  765. }
  766. ///////////////////////////////////////////////////
  767. YCMD:dzvoni(playerid, params[], help)
  768. {
  769. #pragma unused params
  770. #pragma unused help
  771. for(new i = 0; i < sizeof(KucaInfo); i++)
  772. {
  773. if(IsPlayerInRangeOfPoint(playerid, 5.0, KucaInfo[i][kUlazX], KucaInfo[i][kUlazY], KucaInfo[i][kUlazZ]))
  774. {
  775. if(KucaInfo[i][kZvono] == 0) return SCM(playerid,-1,"{FF4040}GRESKA:{FFFFFF}Kukjata nema dzvono.");
  776. SCM(playerid,-1,"{6EF83C}INFO:{FFFFFF}Dzvonite na vrata!");
  777. foreach(Player, k)
  778. {
  779. if(IsPlayerInRangeOfPoint(k, 15.0,KucaInfo[i][kIzlazX], KucaInfo[i][kIzlazY], KucaInfo[i][kIzlazZ]))
  780. {
  781. SCM(k,-1, "{6EF83C}INFO:{FFFFFF}Nekoj dzvoni na vratata!");
  782. }
  783. }
  784. }
  785. }
  786. return 1;
  787. }
  788. ////////////////////////////////////////////////////
  789. YCMD:unrentkukja(playerid, params[], help)
  790. {
  791. #pragma unused params
  792. #pragma unused help
  793. if(PlayerInfo[playerid][pPosedovanjeKuce] != -1) return SCM(playerid,-1, "{FF4040}GRESKA:{FFFFFF}Nemozete da ja koristite ovaa komanda.");
  794. if(PlayerInfo[playerid][pRent] == -1) return SCM(playerid,-1,"{FF4040}GRESKA:{FFFFFF}Ne iznajmuvate kukja.");
  795. PlayerInfo[playerid][pRent] = -1; SetPlayerHealth(playerid,0); SCM(playerid,-1,"{6EF83C}INFO:{FFFFFF}Vekje ne iznajmuvate kukja.");
  796. return 1;
  797. }
  798. ////////////////////////////////////////////////////
  799. YCMD:izbrisikukja(playerid, params[], help)
  800. {
  801. #pragma unused help
  802. #pragma unused params
  803. if(!IsPlayerAdmin(playerid)) return SCM(playerid,-1,"{FF4040}GRESKA:{FFFFFF}Nemozete da ja koristite ovaa komanda.");
  804. new kFile[150],id;
  805. if(sscanf(params,"i",id)) return SCM(playerid,-1,"{FFFF17}KORISTETE:{FFFFFF}/izbrisikukja [ID na kukja].");
  806. format(kFile, sizeof(kFile), KUCE_FILE, id);
  807. if(fexist(kFile)) { fremove(kFile); Delete3DTextLabel(KucaLabel[id]); DestroyPickup(KucaPickup[id]); }
  808. else { SCM(playerid,-1,"{FF4040}GRESKA:{FFFFFF}Nevaliden ID na kukja."); }
  809. return 1;
  810. }
  811. ////////////////////////////////////////////////////
  812. YCMD:portkukja(playerid, params[], help)
  813. {
  814. #pragma unused help
  815. #pragma unused params
  816. if(!IsPlayerAdmin(playerid)) return SCM(playerid,-1,"{FF4040}GRESKA:{FFFFFF}Nemozete da ja koristite ovaa komanda.");
  817. new id,kFile[150];
  818. if(sscanf(params,"i",id)) return SCM(playerid,-1,"{FFFF17}KORISTETE:{FFFFFF}/portkukja [ID na kukja].");
  819. format(kFile, sizeof(kFile), KUCE_FILE, id);
  820. SetPlayerPos(playerid,KucaInfo[id][kUlazX], KucaInfo[id][kUlazY], KucaInfo[id][kUlazZ]);
  821. SetPlayerInterior(playerid,0); SetPlayerVirtualWorld(playerid,0);
  822. return 1;
  823. }
  824. /////////////////////////////////////////////////////
  825. YCMD:editkukja(playerid, params[], help)
  826. {
  827. #pragma unused help
  828. if(!IsPlayerAdmin(playerid)) return SCM(playerid,-1,"{FF4040}GRESKA:{FFFFFF}Nemozete da ja koristite ovaa komanda.");
  829. new sta[20],ide,string[100];
  830. if(sscanf(params, "s[20]i",sta,ide)) return SCM(playerid,-1,"{FFFF17}KORISTETE:{FFFFFF}/editkukja [level,cena,pari] [kolicina].");
  831. for(new i; i < MAX_KUCA; i++)
  832. {
  833. if(IsPlayerInRangeOfPoint(playerid, 3.0, KucaInfo[i][kUlazX], KucaInfo[i][kUlazY], KucaInfo[i][kUlazZ]))
  834. {
  835. if(!strcmp(sta, "level", true))
  836. {
  837. KucaInfo[i][kLevel] = ide;
  838. KuceLP(i);
  839. SacuvajKucu(i);
  840. format(string,sizeof(string),"{6EF83C}INFO:{FFFFFF}Go smenivte levelot na kukjata(ID: %d) vo %d!",i,KucaInfo[i][kLevel]);
  841. SCM(playerid,-1,string);
  842. }
  843. else if(!strcmp(sta, "cena", true))
  844. {
  845. KucaInfo[i][kCena] = ide;
  846. KuceLP(i);
  847. SacuvajKucu(i);
  848. format(string,sizeof(string),"{6EF83C}INFO:{FFFFFF}Ja smenivte cenata na kukjata(ID: %d) na %d!",i,KucaInfo[i][kCena]);
  849. SCM(playerid,-1,string);
  850. }
  851. else if(!strcmp(sta, "pari", true))
  852. {
  853. KucaInfo[i][kNovac] = ide;
  854. KuceLP(i);
  855. SacuvajKucu(i);
  856. format(string,sizeof(string),"{6EF83C}INFO:{FFFFFF}Gi smenivte parite vo kukjata(ID: %d) na %d!",i,KucaInfo[i][kNovac]);
  857. SCM(playerid,-1,string);
  858. }
  859. }
  860. }
  861. return 1;
  862. }
  863. /////////////////////////////////////////////////////
  864. YCMD:aprodadikukja(playerid, params[], help)
  865. {
  866. #pragma unused help
  867. if(!IsPlayerAdmin(playerid)) return SCM(playerid,-1,"{FF4040}GRESKA:{FFFFFF}Nemozete da ja koristite ovaa komanda.");
  868. new id,kFile[150],string[80];
  869. if(sscanf(params,"i",id)) return SCM(playerid,-1,"{FFFF17}KORISTETE:{FFFFFF}/aprodadikukja [ID na kukja].");
  870. format(kFile, sizeof(kFile), KUCE_FILE, id);
  871. if(!fexist(kFile)) return SCM(playerid,-1,"{FF4040}GRESKA:{FFFFFF}Nevaliden ID na kukja.");
  872. if(KucaInfo[id][kProveraVlasnika] == 0) return SCM(playerid,-1,"{FF4040}GRESKA:{FFFFFF}Kukjata nema sopstvenik, zatoa nemozete da ja prodadete.");
  873. KucaInfo[id][kProveraVlasnika] = 0; KucaInfo[id][kHeal] = 0; KucaInfo[id][kOruzije] = -1;
  874. KucaInfo[id][kNovac] = 0; KucaInfo[id][kZatvoreno] = 1; KucaInfo[id][kZvono] = 0;
  875. KucaInfo[id][kMunicija] = 0; KucaInfo[id][kRent] = 0; strmid(KucaInfo[id][kVlasnik],"Nema",0,strlen("Nema"),255);
  876. KuceLP(id);
  877. format(string,sizeof(string),"{6EF83C}INFO:{FFFFFF}Ja prodadovte kukjata so ID %d.",id);
  878. SCM(playerid,-1,string);
  879. return 1;
  880. }
  881. //////////////////////////////////////////////////////
  882. YCMD:akluc(playerid, params[], help)
  883. {
  884. #pragma unused help
  885. if(!IsPlayerAdmin(playerid)) return SCM(playerid,-1,"{FF4040}GRESKA:{FFFFFF}Nemozete da ja koristite ovaa komanda.");
  886. new id;
  887. if(sscanf(params,"i",id)) return SCM(playerid,-1,"{FFFF17}KORISTETE:{FFFFFF}/akluc [ID na Igracot].");
  888. if(!IsPlayerConnected(id)) return SCM(playerid,-1,"{FF4040}GRESKA:{FFFFFF}Nevaliden ID na igrac.");
  889. if(PlayerInfo[id][pPosedovanjeKuce] == -1) return SCM(playerid,-1,"{FF4040}GRESKA:{FFFFFF}Igracot nema kukja.");
  890. PlayerInfo[id][pPosedovanjeKuce] = -1;
  891. SCM(id,-1,"{6EF83C}INFO:{FFFFFF}Resetiran vi e klucot od kukjata!");
  892. SCM(playerid,-1,"{6EF83C}INFO:{FFFFFF}Go resetiravte klucot na igracot.");
  893. return 1;
  894. }
  895. /////////////////////////////////////////////////////
  896. YCMD:kukjapomos123(playerid, params[], help)
  897. {
  898. #pragma unused help
  899. #pragma unused params
  900. SCM(playerid,-1,""CRVENA"Administrator komandi: "SIVA"/akluc, /napravikukja, /aprodadikukja, /editkukja, /portkukja, /izbrisikukja.");
  901. SCM(playerid,-1,""CRVENA"Igrac komandi: "SIVA"/kupikukja, /kukja, /dzvoni, /unrentkukja, /rentkukja.");
  902. return 1;
  903. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement