Guest User

System Imanja - By Dowla

a guest
May 29th, 2014
2,047
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  2. //
  3. // SYSTEM IMANJA
  4. // By Dowla:)
  5. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  6. //Ovo dodajte, na pocetku skripte
  7.  
  8. #define DIALOG_BIRADRVO 1000
  9. #define DIALOG_KUPISLJIVU 1001
  10. #define DIALOG_KUPIKRUSKU 1002
  11. #define DIALOG_KUPIJABUKU 1003
  12. #define DIALOG_BIRADRVOZP 1004
  13. #define DIALOG_PRODAJSLJIVU 1005
  14. #define DIALOG_PRODAJKRUSKU 1006
  15. #define DIALOG_PRODAJJABUKU 1007
  16. #define DIALOG_IMANJE 1008
  17. #define DIALOG_IINFO 1009
  18. #define DIALOG_IPOSIJANO 1010
  19. #define DIALOG_IPRODAJ 1011
  20. #define DIALOG_IMANJCE 1012
  21. #define DIMANJE_PRODAJESIGRACU 1013
  22. #define DIMANJE_PRODAJA 1014
  23. #define DIMANJE_PRODAJESKCENA 1015
  24. #define MAX_IMANJE 2000
  25. #define MAX_DRVA 7000
  26. #define MAX_VOCA 7000
  27.  
  28. new ProdajesImanje[MAX_VEHICLES];
  29. new IgracKProdajesI[MAX_PLAYERS];
  30. new ProdavacImanja[MAX_PLAYERS];
  31. new CenaImanja[MAX_PLAYERS];
  32. new IDImanja[MAX_PLAYERS];
  33. //------------------------------------------------------------------------------
  34. #define Funkcija%0(%1) \
  35. forward%0(%1); \
  36. public%0(%1)
  37. //------------------------------------------------------------------------------
  38. //Ovo dodajte u "enum PI ili PlayerInfo"
  39.  
  40. pImaImanje,
  41. pSjemeSljiva,
  42. pSjemeKruska,
  43. pSjemeJabuka,
  44. pDrvaMax,
  45. pSljiva,
  46. pKrusaka,
  47. pJabuka,
  48. //------------------------------------------------------------------------------
  49. //Ovo kopirajte gde su ostali enum-i
  50.  
  51. enum Drva
  52. {
  53. dIDImanja,
  54. Float:dDrvoX,
  55. Float:dDrvoY,
  56. Float:dDrvoZ,
  57. dVrijeme,
  58. dPostavljeno,
  59. dObjd,
  60. dText,
  61. dVrsta,
  62. dMinuta,
  63. dSat,
  64. dDrvo
  65. };
  66. new DI[MAX_DRVA][Drva];
  67. new Text3D:DrvoLabel[sizeof(DI)];
  68.  
  69. enum Imanje
  70. {
  71. iImaVlasnika,
  72. iVlasnik[MAX_PLAYER_NAME],
  73. Float:iUlazX,
  74. Float:iUlazY,
  75. Float:iUlazZ,
  76. iLevel,
  77. iCena,
  78. iPostavljena,
  79. iNeakt,
  80. iPrecnik
  81. };
  82. new II[MAX_IMANJE][Imanje];
  83. new ImanjePickup[sizeof(II)];
  84. new Text3D:ImanjeLabel[sizeof(II)];
  85. new ImanjeMark[MAX_IMANJE];
  86. #define IMANJE_FILE "imanja/Imanje_%d.ini"
  87. //------------------------------------------------------------------------------
  88. //Ovo u "OnPlayerConnect"
  89.  
  90. PI[playerid][pImaImanje] = 2555;
  91. PI[playerid][pSjemeSljiva] = 0;
  92. PI[playerid][pSjemeKruska] = 0;
  93. PI[playerid][pSjemeJabuka] = 0;
  94. PI[playerid][pDrvaMax] = 0;
  95. PI[playerid][pSljiva] = 0;
  96. PI[playerid][pKrusaka] = 0;
  97. PI[playerid][pJabuka] = 0;
  98. IgracKProdajesI[playerid] = -1;
  99. ProdavacImanja[playerid] = -1;
  100. CenaImanja[playerid] = -1;
  101. IDImanja[playerid] = -1;
  102. //------------------------------------------------------------------------------
  103. //Ovo dodajte u "OnGameModeInit"
  104.  
  105. new time = GetTickCount();
  106. for(new b = 0; b < sizeof(II); b++)
  107. {
  108. new gFajl[35];
  109. new kucestring[500];
  110. format(gFajl, 50, "imanja/Imanje_%d.ini" ,b);
  111. if(fexist(gFajl))
  112. {
  113. INI_ParseFile(gFajl, "UcitajImanje", .bExtra = true, .extra = b);
  114. if(II[b][iPostavljena] == 1)
  115. {
  116. if(II[b][iImaVlasnika] == 0)
  117. {
  118. DestroyDynamicPickup(ImanjePickup[b]);
  119. UpdateDynamic3DTextLabelText(ImanjeLabel[b], 0x80FF80FF, kucestring);
  120. format(kucestring,sizeof(kucestring),"{FBFB00}Imanje na prodaju!\n{FBFB00}Cena: {FFFFFF}$%d\n{FBFB00}Level: {FFFFFF}%d\n{FBFB00}Precnik: {FFFFFF}%dm\n{FBFB00}Za kupovinu {FFFFFF}/kupiimanje",II[b][iCena],II[b][iLevel],II[b][iPrecnik]);
  121. ImanjeLabel[b] = CreateDynamic3DTextLabel(string ,0x80FF80FF,II[b][iUlazX], II[b][iUlazY], II[b][iUlazZ],15);
  122. ImanjePickup[b] = CreateDynamicPickup(1273, 1, II[b][iUlazX], II[b][iUlazY], II[b][iUlazZ]);
  123. ImanjeMark[b] = CreateDynamicMapIcon(II[b][iUlazX], II[b][iUlazY], II[b][iUlazZ],56,0);
  124. }
  125. else if(II[b][iImaVlasnika] == 1)
  126. {
  127. DestroyDynamicPickup(ImanjePickup[b]);
  128. UpdateDynamic3DTextLabelText(ImanjeLabel[b], 0x33CCFFAA, kucestring);
  129. format(kucestring,sizeof(kucestring),"{FBFB00}Vlasnik: {FFFFFF}%s\n{FBFB00}Nivo: {FFFFFF}%d\n{FBFB00}Cena: {FFFFFF}%d\n{FBFB00}Adresa: {FFFFFF}%d\n{FBFB00}Precnik: {FFFFFF}%dm\n{FBFB00}Neaktivnost: {FFFFFF}%d",II[b][iVlasnik],II[b][iLevel],II[b][iCena],b,II[b][iPrecnik],II[b][iNeakt]);
  130. ImanjeLabel[b] = CreateDynamic3DTextLabel(string ,0x80FF80FF,II[b][iUlazX], II[b][iUlazY], II[b][iUlazZ],15);
  131. ImanjePickup[b] = CreateDynamicPickup(1273, 1, II[b][iUlazX], II[b][iUlazY], II[b][iUlazZ]);
  132. ImanjeMark[b] = CreateDynamicMapIcon(II[b][iUlazX], II[b][iUlazY], II[b][iUlazZ],56,0);
  133. }
  134. ImanjeLabelIPickup(b);
  135. printf("~ UCITANO 'Imanje %d'",b);
  136. }
  137. }
  138. }
  139. for(new b = 0; b < sizeof(DI); b++)
  140. {
  141. new gFajl[35];
  142. format(gFajl, 50, "imanja/drva/Drvo_%d.ini" ,b);
  143. new stringv[160];
  144. if(fexist(gFajl))
  145. {
  146. INI_ParseFile(gFajl, "UcitajDrvo", .bExtra = true, .extra = b);
  147. if(DI[b][dPostavljeno] == 1)
  148. {
  149. new vrsta[64];
  150. if(DI[b][dVrsta] == 1) { vrsta = "Sljiva"; }
  151. else if(DI[b][dVrsta] == 2) { vrsta = "Kruska"; }
  152. else if(DI[b][dVrsta] == 3) { vrsta = "Jabuka"; }
  153. DI[b][dObjd] = CreateDynamicObject(DI[b][dDrvo], DI[b][dDrvoX]+2,DI[b][dDrvoY],DI[b][dDrvoZ]-4, 0.0000000,0.0000000,0.0000000);
  154. format(stringv,256,"{FD722F}Voce jos nije izraslo!\nVreme do izrastanja: {FFFFFF}%d sati, %d minuta\n{FD722F}Vrsta drveta:{FFFFFF}%s",DI[b][dSat],DI[b][dMinuta],vrsta);
  155. DrvoLabel[b] = CreateDynamic3DTextLabel(stringv, 0x80FF80FF, DI[b][dDrvoX]+2,DI[b][dDrvoY],DI[b][dDrvoZ], 15);
  156. if(DI[b][dSat] == 0 && DI[b][dMinuta] == 0)//,II[b][iVlasnik]
  157. {
  158. format(stringv,256,"{FD722F}Voce je izraslo!\nDa oberes voce kucaj{FFFFFF}/oberivoce\n{FD722F}Vrsta drveta:{FFFFFF}%s",vrsta);
  159. UpdateDynamic3DTextLabelText(DrvoLabel[b], -1, stringv);
  160. }
  161. }
  162. printf("~ UCITANO 'Drvo %d'",b);
  163. }
  164. }//
  165. SetTimer("PredRaste", 60000, true);//|
  166. printf("~ UCITANO 'Imanje' %d (ms)", GetTickCount() - time);
  167. //------------------------------------------------------------------------------
  168. //Ovo dodajte u "OnDialogResponse"
  169. if(dialogid == DIALOG_BIRADRVO)
  170. {
  171. if(response)
  172. {
  173. if(listitem == 0)
  174. {
  175. SPD(playerid,DIALOG_KUPISLJIVU,DIALOG_STYLE_INPUT,"Sljive","{FF8040}Unesi koliko zelis sadnica sljiva da kupis\n{FF8040}Jedan komad {FFFFFF}250$","Kupi","Izadji");
  176. }
  177. if(listitem == 1)
  178. {
  179. SPD(playerid,DIALOG_KUPIKRUSKU,DIALOG_STYLE_INPUT,"Kruske","{FF8040}Unesi koliko zelis sadnica kursaka da kupis\n{FF8040}Jedan komad {FFFFFF}250$","Kupi","Izadji");
  180. }
  181. if(listitem == 2)
  182. {
  183. SPD(playerid,DIALOG_KUPIJABUKU,DIALOG_STYLE_INPUT,"Jabuke","{FF8040}Unesi koliko zelis sadnica jabuka da kupis\n{FF8040}Jedan komad {FFFFFF}250$","Kupi","Izadji");
  184. }
  185. }
  186. }
  187.  
  188. if(dialogid == DIALOG_IMANJE)
  189. {
  190. if(response)
  191. {
  192. if(listitem == 0)
  193. {
  194. SPD(playerid,DIALOG_IINFO,DIALOG_STYLE_INPUT,"Sljive","{FF8040}Unesi koliko zelis sadnica sljiva da kupis\n{FF8040}Jedan komad {FFFFFF}250$","Kupi","Izadji");
  195. }
  196. if(listitem == 1)
  197. {
  198. SPD(playerid,DIALOG_IPOSIJANO,DIALOG_STYLE_INPUT,"Kruske","{FF8040}Unesi koliko zelis sadnica kursaka da kupis\n{FF8040}Jedan komad {FFFFFF}250$","Kupi","Izadji");
  199. }
  200. if(listitem == 2)
  201. {
  202. SPD(playerid,DIALOG_IPRODAJ,DIALOG_STYLE_INPUT,"Jabuke","{FF8040}Unesi koliko zelis sadnica jabuka da kupis\n{FF8040}Jedan komad {FFFFFF}250$","Kupi","Izadji");
  203. }
  204. }
  205. }
  206.  
  207. if(dialogid == DIALOG_BIRADRVOZP)
  208. {
  209. if(response)
  210. {
  211. if(listitem == 0)
  212. {
  213. SPD(playerid,DIALOG_PRODAJSLJIVU,DIALOG_STYLE_INPUT,""GLAVNA"Sljive","{FFFFFF}Unesi koliko zelis sljiva da prodas\nJedna sljiva 100$","Prodaj","Izadji");
  214. }
  215. if(listitem == 1)
  216. {
  217. SPD(playerid,DIALOG_PRODAJKRUSKU,DIALOG_STYLE_INPUT,""GLAVNA"Kruske","{FFFFFF}Unesi koliko zelis kursaka da prodas\nJedna kruska 100$","Prodaj","Izadji");
  218. }
  219. if(listitem == 2)
  220. {
  221. SPD(playerid,DIALOG_PRODAJJABUKU,DIALOG_STYLE_INPUT,""GLAVNA"Jabuke","{FFFFFF}Unesi koliko zelis jabuka da prodas\nJedna jabuka 100$","Prodaj","Izadji");
  222. }
  223. }
  224. }
  225.  
  226.  
  227. if(dialogid == DIALOG_PRODAJSLJIVU)
  228. {
  229. if(response)
  230. { //
  231. new kolicina;
  232. if(sscanf(inputtext,"i",kolicina)) return SPD(playerid,DIALOG_PRODAJSLJIVU,DIALOG_STYLE_INPUT,""GLAVNA"Sljive","{FF8040}Unesi koliko zelis sljiva da prodas\n{FF8040}Jedna sljiva {FFFFFF}100$","Kupi","Izadji");
  233. if(kolicina < 1) return SCM(playerid,-1,""JCRVENA"ERROR:"SCRVENA" Ne mozes ispod 1"),SPD(playerid,DIALOG_PRODAJSLJIVU,DIALOG_STYLE_INPUT,"Sljive","{FF8040}Unesi koliko zelis sljiva da prodas\n{FF8040}Jedna sljiva {FFFFFF}100$","Kupi","Izadji");
  234. if(PI[playerid][pSljiva] < kolicina) return SCM(playerid,-1,""JCRVENA"ERROR:"SCRVENA" Nemas toliko sljiva kod sebe"),SPD(playerid,DIALOG_PRODAJSLJIVU,DIALOG_STYLE_INPUT,"Sljive","{FF8040}Unesi koliko zelis sljiva da prodas\n{FF8040}Jedna sljiva {FFFFFF}100","Kupi","Izadji");
  235. PI[playerid][pSljiva] -= kolicina;
  236. JBC_GivePlayerMoney(playerid,kolicina*100);
  237. format(string,128,"Prodao si %d sljiva za %d$",kolicina,kolicina*100);
  238. SCM(playerid,-1,string);
  239. SCMF(playerid,-1,"Imas jos %d sljiva",PI[playerid][pSljiva]);
  240. SacuvajIgraca(playerid);
  241. }
  242. }
  243.  
  244. if(dialogid == DIALOG_PRODAJKRUSKU)
  245. {
  246. if(response)
  247. {
  248. new kolicina;
  249. if(sscanf(inputtext,"i",kolicina)) return SPD(playerid,DIALOG_PRODAJKRUSKU,DIALOG_STYLE_INPUT,""GLAVNA"Kruske","{FF8040}Unesi koliko zelis kursaka da prodas\n{FF8040}Jedna kruska {FFFFFF}100$","Prodaj","Izadji");
  250. if(kolicina < 1) return SCM(playerid,-1,""JCRVENA"ERROR:"SCRVENA" Ne mozes ispod 1"),SPD(playerid,DIALOG_PRODAJKRUSKU,DIALOG_STYLE_INPUT,"Kruske","{FF8040}Unesi koliko zelis kursaka da prodas\n{FF8040}Jedna kruska {FFFFFF}100$","Prodaj","Izadji");
  251. if(PI[playerid][pKrusaka] < kolicina) return SCM(playerid,-1,""JCRVENA"ERROR:"SCRVENA" Nemas toliko krusaka kod sebe"),SPD(playerid,DIALOG_PRODAJKRUSKU,DIALOG_STYLE_INPUT,"Kruske","{FF8040}Unesi koliko zelis kursaka da prodas\n{FF8040}Jedna kruska {FFFFFF}100$","Prodaj","Izadji");
  252. PI[playerid][pKrusaka] -= kolicina;
  253. JBC_GivePlayerMoney(playerid,kolicina*100);
  254. format(string,128,"Prodao si %d krusaka za %d$",kolicina,kolicina*100);
  255. SCM(playerid,-1,string);
  256. SCMF(playerid,-1,"Imas jos %d krusaka",PI[playerid][pKrusaka]);
  257. SacuvajIgraca(playerid);
  258. }
  259. }
  260.  
  261. if(dialogid == DIALOG_PRODAJJABUKU)
  262. {
  263. if(response)
  264. {
  265. new kolicina;
  266. if(sscanf(inputtext,"i",kolicina)) return SPD(playerid,DIALOG_PRODAJJABUKU,DIALOG_STYLE_INPUT,""GLAVNA"Jabuke","{FF8040}Unesi koliko zelis jabuka da prodas\n{FF8040}Jedna jabuka {FFFFFF}100$","Kupi","Izadji");
  267. if(kolicina < 1) return SCM(playerid,-1,"{FF0000}ERROR: {FFFFFF}Ne mozes ispod 1"),SPD(playerid,DIALOG_PRODAJJABUKU,DIALOG_STYLE_INPUT,"Jabuke","{FF8040}Unesi koliko zelis jabuka da prodas\n{FF8040}Jedna jabuka {FFFFFF}100$","Prodaj","Izadji");
  268. if(PI[playerid][pJabuka] < kolicina) return SCM(playerid,-1,"{FF0000}ERROR: {FFFFFF}Nemas toliko jabuka kod sebe"),SPD(playerid,DIALOG_PRODAJJABUKU,DIALOG_STYLE_INPUT,"Jabuke","{FF8040}Unesi koliko zelis jabuka da prodas\n{FF8040}Jedna jabuka {FFFFFF}100$","Prodaj","Izadji");
  269. PI[playerid][pJabuka] -= kolicina;
  270. JBC_GivePlayerMoney(playerid,kolicina*100);
  271. format(string,128,"Prodao si %d jabuka za %d$",kolicina,kolicina*100);
  272. SCM(playerid,-1,string);
  273. SCMF(playerid,-1,"Imas jos %d jabuka",PI[playerid][pJabuka]);
  274. SacuvajIgraca(playerid);
  275. }
  276. }
  277.  
  278. if(dialogid == DIALOG_KUPISLJIVU)
  279. {
  280. if(response)
  281. {
  282. new kolicina;
  283. if(sscanf(inputtext,"i",kolicina)) return SPD(playerid,DIALOG_KUPISLJIVU,DIALOG_STYLE_INPUT,""GLAVNA"Sljive","{FF8040}Unesi koliko zelis sadnica sljiva da kupis\n{FF8040}Jedan komad {FFFFFF}250$","Kupi","Izadji");
  284. if(kolicina < 1) return SCM(playerid,-1,"{FF0000}ERROR: {FFFFFF}Ne mozes ispod 1"),SPD(playerid,DIALOG_KUPISLJIVU,DIALOG_STYLE_INPUT,"Sljive","{FF8040}Unesi koliko zelis sadnica sljiva da kupis","Kupi\n{FF8040}Jedan komad {FFFFFF}250$","Izadji");
  285. if(JBC_GetPlayerMoney(playerid) < kolicina*250) return SCM(playerid,-1,"{FF0000}ERROR: {FFFFFF}Nemas dovoljno novca $250!");
  286. PI[playerid][pSjemeSljiva] += kolicina;
  287. JBC_GivePlayerMoney(playerid,-kolicina*250);
  288. format(string,128,"Kupio si %d sadnica sljiva za %d$",kolicina,kolicina*250);
  289. SCM(playerid,-1,string);
  290. SacuvajIgraca(playerid);
  291. }
  292. }
  293.  
  294. if(dialogid == DIALOG_KUPIKRUSKU)
  295. {
  296. if(response)
  297. {
  298. new kolicina;
  299. if(sscanf(inputtext,"i",kolicina)) return SPD(playerid,DIALOG_KUPIKRUSKU,DIALOG_STYLE_INPUT,"Kruske","{FF8040}Unesi koliko zelis sadnica krusaka da kupis\n{FF8040}Jedan komad {FFFFFF}250$","Kupi","Izadji");
  300. if(kolicina < 1) return SCM(playerid,-1,"{FF0000}ERROR: {FFFFFF}Ne mozes ispod 1"),SPD(playerid,DIALOG_KUPIKRUSKU,DIALOG_STYLE_INPUT,"Kruske","{FF8040}Unesi koliko zelis sadnica krusaka da kupis\n{FF8040}Jedan komad {FFFFFF}250$","Kupi","Izadji");
  301. if(JBC_GetPlayerMoney(playerid) < kolicina*250) return SCM(playerid,-1,"{FF0000}ERROR: {FFFFFF}Nemas dovoljno novca $250!");
  302. PI[playerid][pSjemeKruska] += kolicina;
  303. JBC_GivePlayerMoney(playerid,-kolicina*250);
  304. format(string,128,"Kupio si %d sadnica krusaka za %d$",kolicina,kolicina*250);
  305. SCM(playerid,-1,string);
  306. SacuvajIgraca(playerid);
  307. }
  308. }
  309.  
  310. if(dialogid == DIALOG_KUPIJABUKU)
  311. {
  312. if(response)
  313. {
  314. new kolicina;
  315. if(sscanf(inputtext,"i",kolicina)) return SPD(playerid,DIALOG_KUPIJABUKU,DIALOG_STYLE_INPUT,"Jabuke","{FF8040}Unesi koliko zelis sadnica jabuka da kupis\n{FF8040}Jedan komad {FFFFFF}250$","Kupi","Izadji");
  316. if(kolicina < 1) return SCM(playerid,-1,"{FF0000}ERROR: {FFFFFF}Ne mozes ispod 1"),SPD(playerid,DIALOG_KUPIJABUKU,DIALOG_STYLE_INPUT,"Jabuke","{FF8040}Unesi koliko zelis sadnica jabuka da kupis\n{FF8040}Jedan komad {FFFFFF}250$","Kupi","Izadji");
  317. if(JBC_GetPlayerMoney(playerid) < kolicina*250) return SCM(playerid,-1,"{FF0000}ERROR: {FFFFFF}Nemas dovoljno novca $250!");
  318. PI[playerid][pSjemeJabuka] += kolicina;
  319. JBC_GivePlayerMoney(playerid,-kolicina*250);
  320. format(string,128,"Kupio si %d sadnica jabuka za %d$",kolicina,kolicina*250);
  321. SCM(playerid,-1,string);
  322. SacuvajIgraca(playerid);
  323. }
  324. }
  325. if(dialogid == DIALOG_IMANJCE && response)
  326. {
  327. if(response)
  328. {
  329. if(PI[playerid][pImaImanje] == 2555) return SCM(playerid, -1,"{FF0000}ERROR: {FFFFFF}Nemate imanje!");
  330. new i = PI[playerid][pImaImanje];
  331. switch(listitem)
  332. {
  333. case 0:
  334. {
  335. SCM(playerid,-1,"|--------------------------------------------------------------------------------|");
  336. SCMF(playerid,-1,"- Vlasnik Imanja: %s | Level: %d | Cena: %d | Precnik: %d", II[i][iVlasnik], II[i][iLevel],II[i][iCena],II[i][iPrecnik]);
  337. SCM(playerid,-1,"|--------------------------------------------------------------------------------|");
  338. }
  339. case 1:
  340. {
  341. if(ProdajesImanje[playerid] == 1) return SCM(playerid, -1,"{FF0000}ERROR: {FFFFFF}Prodajes imanje nekim igracu");
  342. new klj = PI[playerid][pImaImanje];
  343. if(!IsPlayerInRangeOfPoint(playerid, 100, II[klj][iUlazX], II[klj][iUlazY], II[klj][iUlazZ])) return SCM(playerid, -1,"Ne nalazite se blizu imanja!.");
  344. if(PI[playerid][pImaImanje] == 2555) return SCM(playerid, -1,"{FF0000}ERROR: {FFFFFF}Nemate imanje!");
  345. new cena1 = (II[i][iCena]/4)*2;
  346. format(string,sizeof(string), "Prodaja imanja drzavi\n\nDa li ste sigurni da zelite da prodate imanje drzavi za $%d!\n\nAko ste sigurni kliknite na 'Prodaj' ako ne kliknite na 'Izlaz'", cena1);
  347. SPD(playerid, DIMANJE_PRODAJA, DSM, ""GLAVNA"Prodaja imanja drzavi", string, "Prodaj", "Izlaz");
  348. }
  349. case 2:
  350. {
  351. if(PI[playerid][pImaImanje] == 2555) return SCM(playerid, -1,"{FF0000}ERROR: {FFFFFF}Nemate imanje!");
  352. SPD(playerid,DIMANJE_PRODAJESIGRACU,DIALOG_STYLE_INPUT,""GLAVNA"Prodaja imanja","Unesi ID igraca kojim zelis prodati imanje","Unesi","Izadji");
  353. }
  354. }
  355. }
  356. }
  357. if(dialogid == DIMANJE_PRODAJA)
  358. {
  359. if(ProdajesImanje[playerid] == 1) return SCM(playerid, -1,"{FF0000}ERROR: {FFFFFF}Vec prodajes imanje nekim igracu");
  360. if(PI[playerid][pImaImanje] == 2555) return SCM(playerid, -1,"{FF0000}ERROR: {FFFFFF}Nemate imanje!");
  361. new i = PI[playerid][pImaImanje];
  362. if(response)
  363. {
  364. new cena1 = (II[i][iCena]/4)*2;
  365. g_NovacPlus(playerid,cena1);
  366. II[i][iImaVlasnika] = 0;
  367. strmid(II[i][iVlasnik], "Niko", 0, strlen("Niko"), 255);
  368. SacuvajImanje(i);
  369. ImanjeLabelIPickup(i);
  370. SCMF(playerid,-1,"Prodali ste imanje drzavi za $%d!",cena1);
  371. PI[playerid][pImaImanje] = 2555;
  372. SacuvajIgraca(playerid);
  373. }
  374. }
  375. if(dialogid == DIMANJE_PRODAJESIGRACU)
  376. {
  377. if(response)
  378. {
  379. new id;
  380. if(sscanf(inputtext, "d", id)) return SPD(playerid,DIMANJE_PRODAJESIGRACU,DIALOG_STYLE_INPUT,"Prodaja imanja","Unesi ID igraca kojim zelis prodati imanje","Unesi","Izadji");
  381. if(!IsPlayerConnected(id)) return SCM(playerid,-1,"{FF0000}ERROR: {FFFFFF}Taj igrac nije na serveru");
  382. if(playerid == id) return SCM(playerid,-1,"{FF0000}ERROR: {FFFFFF}Ne mozes sebi prodati imanje");
  383. if(PI[id][pImaImanje] != 2555) return SCM(playerid,-1,"{FF0000}ERROR: {FFFFFF}Taj igrac poseduje imanje");
  384. if(!ProxDetectorS(5.0,playerid,id)) return SCM(playerid,-1,"{FF0000}ERROR: {FFFFFF}Taj igrac nije blizu tebe");
  385. if(IgracKProdajesI[playerid] > -1) return SCM(playerid,-1,"Vec prodajes nekome imanje");
  386. IgracKProdajesI[playerid] = id;
  387. ProdavacImanja[id] = playerid;
  388. SPD(playerid,DIMANJE_PRODAJESKCENA,DIALOG_STYLE_INPUT,""GLAVNA"Cena imanja","Unesi sumu za koji zelis da prodas imanje","Prodaj","Izadji");
  389. }
  390. }
  391. if(dialogid == DIMANJE_PRODAJESKCENA)
  392. {
  393. if(!response) return IgracKProdajesI[playerid] = -1;
  394. {
  395. new cena;
  396. if(sscanf(inputtext, "i", cena)) return SPD(playerid,DIMANJE_PRODAJESKCENA,DIALOG_STYLE_INPUT,"Cena Imanja","Unesi sumu za koji zelis da prodas imanje","Prodaj","Izadji");
  397. if(cena < 1)
  398. {
  399. SPD(playerid,DIMANJE_PRODAJESKCENA,DIALOG_STYLE_INPUT,"Cena imanja","Unesi sumu za koji zelis da prodas imanje","Prodaj","Izadji");
  400. SCM(playerid,-1,"{FF0000}ERROR: {FFFFFF}Ne mozes ici ispod 1");
  401. return 1;
  402. }
  403. CenaImanja[IgracKProdajesI[playerid]] = cena;
  404. IDImanja[IgracKProdajesI[playerid]] = PI[playerid][pImaImanje];
  405. format(string,sizeof(string),"Igrac %s vam je ponudio da kupite imanje za %d$,kucajte /accept imanje da prihvatite /cancel imanje da odbijete",GetName(playerid),cena);
  406. SCM(IgracKProdajesI[playerid],-1,string);
  407. format(string,sizeof(string),"Ponudio si imanje igracu %s",GetName(IgracKProdajesI[playerid]));
  408. SCM(playerid,-1,string);
  409. ProdajesImanje[playerid] = 1;
  410. }
  411. }
  412. //------------------------------------------------------------------------------
  413. //Ovo dodajte, gde su vam ostale komande
  414.  
  415. CMD:kupisadnice(playerid, params[])
  416. {
  417. if(!PlayerToPoint(10.0,playerid, 1276.0425,-1652.8473,13.5659)) return SCM(playerid,-1,"{FF0000}ERROR: {FFFFFF}Nisi u trgovini sa drvima!");
  418. SPD(playerid,DIALOG_BIRADRVO,DIALOG_STYLE_LIST,"Drva","1: Sljiva\n2: Kruska\n3: Jabuka","Odaberi","Izadji");
  419. SCM(playerid, -1,"Provera stats imanja | /statsimanja");
  420. return 1;
  421. }
  422.  
  423. CMD:prodajvoce(playerid, params[])
  424. {
  425. if(!PlayerToPoint(10.0,playerid, 1276.0452,-1648.6531,13.5659)) return SCM(playerid,-1,"Nisi na mjestu za prodavati voce!");
  426. SPD(playerid,DIALOG_BIRADRVOZP,DIALOG_STYLE_LIST,""GLAVNA"Drva","1: Sljiva\n2: Kruska\n3: Jabuka","Odaberi","Izadji");
  427. return 1;
  428. }
  429.  
  430. CMD:oberivoce(playerid, params[])
  431. {
  432. for(new i; i < sizeof(DI); i++)
  433. {
  434. new stringslj[128];
  435. new stringkru[128];
  436. new stringjab[128];
  437. new randsljive =random(8)+8;
  438. new randkruske =random(8)+8;
  439. new randjabuke =random(8)+8;
  440. new kFile[50];
  441. if(IsPlayerInRangeOfPoint(playerid, 3.0, DI[i][dDrvoX], DI[i][dDrvoY], DI[i][dDrvoZ]))
  442. {
  443. if(DI[i][dVrsta] == 1)
  444. {
  445. new nijet = DI[i][dIDImanja];
  446. if(PI[playerid][pImaImanje] == 2555) return SCM(playerid, -1,"{FF0000}ERROR: {FFFFFF}Nemate imanje!");
  447. if(DI[i][dSat] >= 1 && DI[i][dMinuta] >= 1) return SCM(playerid, -1,"{FF0000}ERROR: {FFFFFF}Sljiva jos nije spremna za branje!");
  448. if(PI[playerid][pImaImanje] == nijet)
  449. {
  450. format(kFile, sizeof(kFile), "imanja/drva/Drvo_%d.ini", i);
  451. if(fexist(kFile))
  452. {
  453. fremove(kFile);
  454. DestroyDynamic3DTextLabel(DrvoLabel[i]);
  455. DestroyDynamicObject(DI[i][dObjd]);
  456. Delete3DTextLabel(DrvoLabel[i]);
  457. DI[i][dDrvoX] = 0;
  458. DI[i][dDrvoY] = 0;
  459. DI[i][dDrvoZ] = 0;
  460. PI[playerid][pDrvaMax] --;
  461. DI[i][dPostavljeno] = 0;
  462. new vrsta[64];
  463. if(DI[i][dVrsta] == 1) { vrsta = "Sljiva"; }
  464. else if(DI[i][dVrsta] == 2) { vrsta = "Kruska"; }
  465. else if(DI[i][dVrsta] == 3) { vrsta = "Jabuka"; }
  466. PI[playerid][pSljiva] += randsljive;
  467. format(stringslj,128,"Obrali ste sljivu i dobili ste %d sljiva",randsljive);
  468. SCM(playerid,-1,stringslj);
  469. }
  470. }
  471. else
  472. SCM(playerid, -1,"To nije tvoje drvo!!");
  473. }
  474. if(DI[i][dVrsta] == 2)
  475. {
  476. new nijet = DI[i][dIDImanja];
  477. if(PI[playerid][pImaImanje] == 2555) return SCM(playerid, -1,"{FF0000}ERROR: {FFFFFF}Nemate imanje!");
  478. if(DI[i][dSat] >= 1 && DI[i][dMinuta] >= 1) return SCM(playerid, -1,"{FF0000}ERROR: {FFFFFF}Kruska jos nije spremna za branje!");
  479. if(PI[playerid][pImaImanje] == nijet)
  480. {
  481. format(kFile, sizeof(kFile), "imanja/drva/Drvo_%d.ini", i);
  482. if(fexist(kFile))
  483. {
  484. fremove(kFile);
  485. DestroyDynamic3DTextLabel(DrvoLabel[i]);
  486. DestroyDynamicObject(DI[i][dObjd]);
  487. Delete3DTextLabel(DrvoLabel[i]);
  488. DI[i][dDrvoX] = 0;
  489. DI[i][dDrvoY] = 0;
  490. DI[i][dDrvoZ] = 0;
  491. PI[playerid][pDrvaMax] --;
  492. DI[i][dPostavljeno] = 0;
  493. new vrsta[64];
  494. if(DI[i][dVrsta] == 1) { vrsta = "Sljiva"; }
  495. else if(DI[i][dVrsta] == 2) { vrsta = "Kruska"; }
  496. else if(DI[i][dVrsta] == 3) { vrsta = "Jabuka"; }
  497. PI[playerid][pKrusaka] += randkruske;
  498. format(stringkru,128,"Obrali ste krusku i dobili ste %d kursaka",randkruske);
  499. SCM(playerid,-1,stringkru);
  500. }
  501. }
  502. else
  503. SCM(playerid, -1,"To nije tvoje drvo!!");
  504. }
  505. if(DI[i][dVrsta] == 3)
  506. {
  507. new nijet = DI[i][dIDImanja];
  508. if(PI[playerid][pImaImanje] == 2555) return SCM(playerid, -1,"{FF0000}ERROR: {FFFFFF}Nemate imanje!");
  509. if(DI[i][dSat] >= 1 && DI[i][dMinuta] >= 1) return SCM(playerid, -1,"{FF0000}ERROR: {FFFFFF}Jabuka jos nije spremna za branje!");
  510. if(PI[playerid][pImaImanje] == nijet)
  511. {
  512. format(kFile, sizeof(kFile), "imanja/drva/Drvo_%d.ini", i);
  513. if(fexist(kFile))
  514. {
  515. fremove(kFile);
  516. DestroyDynamic3DTextLabel(DrvoLabel[i]);
  517. DestroyDynamicObject(DI[i][dObjd]);
  518. Delete3DTextLabel(DrvoLabel[i]);
  519. DI[i][dDrvoX] = 0;
  520. DI[i][dDrvoY] = 0;
  521. DI[i][dDrvoZ] = 0;
  522. PI[playerid][pDrvaMax] --;
  523. DI[i][dPostavljeno] = 0;
  524. new vrsta[64];
  525. if(DI[i][dVrsta] == 1) { vrsta = "Sljiva"; }
  526. else if(DI[i][dVrsta] == 2) { vrsta = "Kruska"; }
  527. else if(DI[i][dVrsta] == 3) { vrsta = "Jabuka"; }
  528. PI[playerid][pJabuka] += randjabuke;
  529. format(stringjab,128,"Obrali ste jabuku i dobili ste %d jabuka",randjabuke);
  530. SCM(playerid,-1,stringjab);
  531. }
  532. }
  533. else
  534. SCM(playerid, -1,"{FF0000}ERROR: {FFFFFF}To nije tvoje drvo!!");
  535. }
  536. }
  537. }
  538. return 1;
  539. }
  540. CMD:posadidrvo(playerid, params[])
  541. {
  542. new iddrva = SledeceDrvo();
  543. new stringv[256];
  544. new randcode = 100 + random(899);
  545. new randtext = 100 + random(899);
  546. new Float:pozx, Float:pozy, Float:pozz;
  547. GetPlayerPos(playerid, pozx, pozy, pozz);
  548. new idi = PI[playerid][pImaImanje];
  549. new vrstad;
  550. if(sscanf(params, "i", vrstad))
  551. {
  552. SCM(playerid, -1,"/posadidrvo [1/2/3]");
  553. SCM(playerid, -1,"Vrste Drva | 1: Sljiva | 2: Kruska | 3: Jabuka");
  554. return 1;
  555. }
  556. if(vrstad == 1)
  557. {
  558. for(new i; i < sizeof(DI); i++)
  559. {
  560. if(IsPlayerInRangeOfPoint(playerid, 5.0, DI[i][dDrvoX], DI[i][dDrvoY], DI[i][dDrvoZ])) return SCM(playerid, -1,"{FF0000}ERROR: {FFFFFF}Izmedju voca mora biti razmak 5 koraka!");
  561. }
  562. if(!IsPlayerInRangeOfPoint(playerid, II[idi][iPrecnik], II[idi][iUlazX], II[idi][iUlazY], II[idi][iUlazZ])) return SCM(playerid, -1,"{FF0000}ERROR: {FFFFFF}Nisi na svom imanju!");
  563. if(PI[playerid][pImaImanje] == 2555) return SCM(playerid, -1,"{FF0000}ERROR: {FFFFFF}Nemate imanje!");
  564. if(PI[playerid][pSjemeSljiva] == 0) return SCM(playerid, -1,"{FF0000}ERROR: {FFFFFF}Nemate sjemena za sljive!");
  565. if(PI[playerid][pDrvaMax] > 100) return SCM(playerid, -1,"{FF0000}ERROR: {FFFFFF}Ne mozete vise od 100 da posadite!");
  566. DI[iddrva][dVrsta] = 1;
  567. DI[iddrva][dDrvo] = 777;//777
  568. DI[iddrva][dSat] = 20;
  569. DI[iddrva][dMinuta] = 1;
  570. DI[iddrva][dObjd] = randcode;
  571. DI[iddrva][dText] = randtext;
  572. DI[iddrva][dDrvoX] = pozx;
  573. DI[iddrva][dDrvoY] = pozy;
  574. DI[iddrva][dDrvoZ] = pozz;
  575. new vrsta[158];
  576. if(DI[iddrva][dVrsta] == 1) { vrsta = "Sljiva"; }
  577. else if(DI[iddrva][dVrsta] == 2) { vrsta = "Kruska"; }
  578. else if(DI[iddrva][dVrsta] == 3) { vrsta = "Jabuka"; }
  579. format(stringv,256,"{FD722F}Voce jos nije izraslo!\nVreme do izrastanja: {FFFFFF}%d sati, %d minuta\n{FD722F}Vrsta drveta:{FFFFFF}%s",DI[iddrva][dSat],DI[iddrva][dMinuta],vrsta);
  580. DI[iddrva][dObjd] = CreateDynamicObject(DI[iddrva][dDrvo], DI[iddrva][dDrvoX]+1,DI[iddrva][dDrvoY],DI[iddrva][dDrvoZ]-4, 0.0000000, 0.0000000, 0.0000000);
  581. DrvoLabel[iddrva] = CreateDynamic3DTextLabel(stringv, -1, DI[iddrva][dDrvoX]+1,DI[iddrva][dDrvoY],DI[iddrva][dDrvoZ], 15);
  582. SCM(playerid,-1,"Posadili ste sljivu!");
  583. DI[iddrva][dIDImanja] = idi;
  584. DI[iddrva][dPostavljeno] = 1;
  585. PI[playerid][pSjemeSljiva] --;
  586. PI[playerid][pDrvaMax] ++;
  587. SacuvajDrvo(iddrva);
  588. SacuvajIgraca(playerid);
  589. }
  590. else if(vrstad == 2)
  591. {
  592. for(new i; i < sizeof(DI); i++)
  593. {
  594. if(IsPlayerInRangeOfPoint(playerid, 5.0, DI[i][dDrvoX], DI[i][dDrvoY], DI[i][dDrvoZ])) return SCM(playerid, -1,"{FF0000}ERROR: {FFFFFF}Izmedju voca mora biti razmak 5 koraka!");
  595. }
  596. if(!IsPlayerInRangeOfPoint(playerid, II[idi][iPrecnik], II[idi][iUlazX], II[idi][iUlazY], II[idi][iUlazZ])) return SCM(playerid, -1,"{FF0000}ERROR: {FFFFFF}Nisi na svom imanju!");
  597. if(PI[playerid][pImaImanje] == 2555) return SCM(playerid, -1,"{FF0000}ERROR: {FFFFFF}Nemate imanje!");
  598. if(PI[playerid][pSjemeKruska] == 0) return SCM(playerid, -1,"{FF0000}ERROR: {FFFFFF}Nemate sjemena za kruske!");
  599. if(PI[playerid][pDrvaMax] > 100) return SCM(playerid, -1,"{FF0000}ERROR: {FFFFFF}Ne mozete vise od 100 da posadite!");
  600. DI[iddrva][dVrsta] = 2;
  601. DI[iddrva][dDrvo] = 673;
  602. DI[iddrva][dSat] = 20;
  603. DI[iddrva][dMinuta] = 1;
  604. DI[iddrva][dObjd] = randcode;
  605. DI[iddrva][dText] = randtext;
  606. DI[iddrva][dDrvoX] = pozx;
  607. DI[iddrva][dDrvoY] = pozy;
  608. DI[iddrva][dDrvoZ] = pozz;
  609. new vrsta[158];
  610. if(DI[iddrva][dVrsta] == 1) { vrsta = "Sljiva"; }
  611. else if(DI[iddrva][dVrsta] == 2) { vrsta = "Kruska"; }
  612. else if(DI[iddrva][dVrsta] == 3) { vrsta = "Jabuka"; }
  613. format(stringv,256,"{FD722F}Voce jos nije izraslo!\nVreme do izrastanja: {FFFFFF}%d sati, %d minuta\n{FD722F}Vrsta drveta:{FFFFFF}%s",DI[iddrva][dSat],DI[iddrva][dMinuta],vrsta);
  614. DI[iddrva][dObjd] = CreateDynamicObject(DI[iddrva][dDrvo], DI[iddrva][dDrvoX]+1,DI[iddrva][dDrvoY],DI[iddrva][dDrvoZ]-4, 0.0000000, 0.0000000, 0.0000000);
  615. DrvoLabel[iddrva] = CreateDynamic3DTextLabel(stringv, -1, DI[iddrva][dDrvoX]+1,DI[iddrva][dDrvoY],DI[iddrva][dDrvoZ], 15);
  616. SCM(playerid,-1,"Posadili ste krusku!");
  617. DI[iddrva][dIDImanja] = idi;
  618. DI[iddrva][dPostavljeno] = 1;
  619. PI[playerid][pSjemeKruska] --;
  620. PI[playerid][pDrvaMax] ++;
  621. SacuvajDrvo(iddrva);
  622. SacuvajIgraca(playerid);
  623. }
  624. else if(vrstad == 3)
  625. {
  626. for(new i; i < sizeof(DI); i++)
  627. {
  628. if(IsPlayerInRangeOfPoint(playerid, 5.0, DI[i][dDrvoX], DI[i][dDrvoY], DI[i][dDrvoZ])) return SCM(playerid, -1,"{FF0000}ERROR: {FFFFFF}Izmedju voca mora biti razmak 5 koraka!");
  629. }
  630. if(!IsPlayerInRangeOfPoint(playerid, II[idi][iPrecnik], II[idi][iUlazX], II[idi][iUlazY], II[idi][iUlazZ])) return SCM(playerid, -1,"{FF0000}ERROR: {FFFFFF}Nisi na svom imanju!");
  631. if(PI[playerid][pImaImanje] == 2555) return SCM(playerid, -1,"{FF0000}ERROR: {FFFFFF}Nemate imanje!");
  632. if(PI[playerid][pSjemeJabuka] == 0) return SCM(playerid, -1,"{FF0000}ERROR: {FFFFFF}Nemate sjemena za jabuke!");
  633. if(PI[playerid][pDrvaMax] > 100) return SCM(playerid, -1,"{FF0000}ERROR: {FFFFFF}Ne mozete vise od 100 da posadite!");
  634. DI[iddrva][dVrsta] = 3;
  635. DI[iddrva][dDrvo] = 773;
  636. DI[iddrva][dSat] = 20;
  637. DI[iddrva][dMinuta] = 1;
  638. DI[iddrva][dObjd] = randcode;
  639. DI[iddrva][dText] = randtext;
  640. DI[iddrva][dDrvoX] = pozx;
  641. DI[iddrva][dDrvoY] = pozy;
  642. DI[iddrva][dDrvoZ] = pozz;
  643. new vrsta[158];
  644. if(DI[iddrva][dVrsta] == 1) { vrsta = "Sljiva"; }
  645. else if(DI[iddrva][dVrsta] == 2) { vrsta = "Kruska"; }
  646. else if(DI[iddrva][dVrsta] == 3) { vrsta = "Jabuka"; }
  647. format(stringv,256,"{FD722F}Voce jos nije izraslo!\nVreme do izrastanja: {FFFFFF}%d sati, %d minuta\n{FD722F}Vrsta drveta:{FFFFFF}%s",DI[iddrva][dSat],DI[iddrva][dMinuta],vrsta);
  648. DI[iddrva][dObjd] = CreateDynamicObject(DI[iddrva][dDrvo], DI[iddrva][dDrvoX]+1,DI[iddrva][dDrvoY],DI[iddrva][dDrvoZ]-4, 0.0000000, 0.0000000, 0.0000000);
  649. DrvoLabel[iddrva] = CreateDynamic3DTextLabel(stringv, -1, DI[iddrva][dDrvoX]+1,DI[iddrva][dDrvoY],DI[iddrva][dDrvoZ], 15);
  650. SCM(playerid,-1,"Posadili ste jabuku!");
  651. DI[iddrva][dIDImanja] = idi;
  652. DI[iddrva][dPostavljeno] = 1;
  653. PI[playerid][pSjemeJabuka] --;
  654. PI[playerid][pDrvaMax] ++;
  655. SacuvajDrvo(iddrva);
  656. SacuvajIgraca(playerid);
  657. }
  658. return 1;
  659. }
  660. CMD:kupiimanje(playerid, params[])
  661. {
  662. for(new i; i < sizeof(II); i++)
  663. {
  664. if(IsPlayerInRangeOfPoint(playerid, 3.0, II[i][iUlazX], II[i][iUlazY], II[i][iUlazZ]))
  665. {
  666. if(II[i][iImaVlasnika] == 1) return SCM(playerid,-1,"To imanje nije na prodaju");
  667. if(PI[playerid][pLevel] < II[i][iLevel]) return SCMF(playerid, -1,"Treba vam %d level za ovo imanje!", II[i][iLevel]);
  668. if(PI[playerid][pImaImanje] != 2555) return SCM(playerid, -1,"Vec imas imanje !");
  669. if(JBC_GetPlayerMoney(playerid) < II[i][iCena]) return SCM(playerid,-1,"Nemas dovoljno novca!");
  670. new send[30];
  671. GetPlayerName(playerid, send, sizeof(send));
  672. strmid(II[i][iVlasnik], send, 0, strlen(send), 255);
  673. II[i][iImaVlasnika] = 1;
  674. PI[playerid][pImaImanje] = i;
  675. PI[playerid][pDrvaMax] = 0;
  676. SCM(playerid,-1,"Kupili ste imanje!{FFFFFF} Komande: /imanje, /statsimanja, /posadidrvo, /oberivoce");
  677. JBC_GivePlayerMoney(playerid, -II[i][iCena]);
  678. ImanjeLabelIPickup(i);
  679. SacuvajImanje(i);
  680. SacuvajIgraca(playerid);
  681. }
  682. }
  683. return 1;
  684. }
  685. CMD:eimanje(playerid, params[])
  686. {
  687. if(PI[playerid][pOSC] < 6) return SCM(playerid,-1,"Samo Vlasnik!");
  688. new sta[20],ide,string[100];
  689. if(sscanf(params, "s[20]i",sta,ide)) return SCM(playerid,-1,"/eimanje [level,cena,precnik] [kolicina]");
  690. for(new i; i < MAX_IMANJE; i++)
  691. {
  692. if(IsPlayerInRangeOfPoint(playerid, 3.0, II[i][iUlazX], II[i][iUlazY], II[i][iUlazZ]))
  693. {
  694. if(!strcmp(sta, "level", true))
  695. {
  696. II[i][iLevel] = ide;
  697. ImanjeLabelIPickup(i);
  698. SacuvajImanje(i);
  699. format(string,sizeof(string),"{80FF00} Izmenili ste level imanja(ID: %d) u %d!",i,II[i][iLevel]);
  700. SCM(playerid,-1,string);
  701. }
  702. else if(!strcmp(sta, "cena", true))
  703. {
  704. II[i][iCena] = ide;
  705. ImanjeLabelIPickup(i);
  706. SacuvajImanje(i);
  707. format(string,sizeof(string),"{80FF00} Izmenili ste cenu imanja(ID: %d) u %d!",i,II[i][iCena]);
  708. SCM(playerid,-1,string);
  709. }
  710. else if(!strcmp(sta, "precnik", true))
  711. {
  712. II[i][iPrecnik] = ide;
  713. ImanjeLabelIPickup(i);
  714. SacuvajImanje(i);
  715. format(string,sizeof(string),"{80FF00} Izmenili ste velicinu imanja(ID: %d) u %d!",i,II[i][iPrecnik]);
  716. SCM(playerid,-1,string);
  717. }
  718. }
  719. }
  720. return 1;
  721. }
  722. CMD:imanje(playerid, params[])
  723. {
  724. if(PI[playerid][pImaImanje] == 2555) return SCM(playerid, -1,"Nemate imanje!");
  725. new imedas[MAX_PLAYER_NAME];
  726. GetPlayerName(playerid, imedas, sizeof(imedas));
  727. if(strcmp(II[PI[playerid][pImaImanje]][iVlasnik], imedas, true)) return SCM(playerid, -1,"Niste vlasnik tog imanja!");
  728. new string1[275], string[550];
  729. format(string1,sizeof(string1),"Info\nProdaj Drzavi\nProdaj Igracu{FF0000}(USKORO)");
  730. format(string, sizeof(string), "%s", string1);
  731. SPD(playerid, DIALOG_IMANJCE, DIALOG_STYLE_LIST, "Imanje Opcije", string, "Odaberi", "Izlaz");
  732. return 1;
  733. }
  734. CMD:portimanje(playerid, params[])
  735. {
  736. if(Logovan[playerid] == 0 || !IsPlayerConnected(playerid)) return NisiUlogovan(playerid);
  737. if(PI[playerid][pOSC] < 3) return SCM(playerid,-1,"Samo Admini (AL 3+)!");
  738. new id,kFile[50];
  739. if(sscanf(params,"i",id)) return SCM(playerid,-1,"/portimanje [ID]");
  740. format(kFile, sizeof(kFile), IMANJE_FILE, id);
  741. if(!fexist(kFile)) return SCM(playerid,-1,"ID imanja ne postoji!");
  742. SetPlayerPos(playerid,II[id][iUlazX], II[id][iUlazY], II[id][iUlazZ]);
  743. SetPlayerInterior(playerid,0); SetPlayerVirtualWorld(playerid,0);
  744. return 1;
  745. }
  746. CMD:napraviimanje(playerid, params[])
  747. {
  748. if(PI[playerid][pOSC] < 5) return SCM(playerid, -1,"Samo Vlasnik!");
  749. new string[512];
  750. new imanjeid = 0;
  751. new Float:X, Float:Y, Float:Z;
  752. GetPlayerPos(playerid, X,Y,Z);
  753. for(new b = 0; b < sizeof(II); b++)
  754. {
  755. if(II[b][iPostavljena] == 1)
  756. {
  757. imanjeid = b + 1;
  758. }
  759. }
  760. if(imanjeid > 2000) return SCMF(playerid, -1,"Ne mozete napraviti vise od 100 imanja.");
  761. new cena, lvl, precnik;
  762. if(sscanf(params, "iii", lvl , cena, precnik))
  763. {
  764. SCM(playerid, -1,"/napraviimanje [level] [cena] [precnik]");
  765. return 1;
  766. }
  767. II[imanjeid][iCena] = cena;
  768. II[imanjeid][iLevel] = lvl;
  769. II[imanjeid][iPrecnik] = precnik;
  770. II[imanjeid][iUlazX] = X;
  771. II[imanjeid][iUlazY] = Y;
  772. II[imanjeid][iUlazZ] = Z;
  773. II[imanjeid][iImaVlasnika] = 0;
  774. II[imanjeid][iPostavljena] = 1;
  775. strmid(II[imanjeid][iVlasnik],"Niko",0,strlen("Niko"),255);
  776. format(string,sizeof(string),"{FBFB00} na prodaju!\n{FBFB00}Cena: {FFFFFF}$%d\n{FBFB00}Level: {FFFFFF}%d\n{FBFB00}Precnik: {FFFFFF}%dm\n{FBFB00}Za kupovinu {FFFFFF}/kupiimanje",II[imanjeid][iCena],II[imanjeid][iLevel]);
  777. ImanjeLabel[imanjeid] = CreateDynamic3DTextLabel(string ,0x80FF80FF,II[imanjeid][iUlazX], II[imanjeid][iUlazY], II[imanjeid][iUlazZ],15);
  778. ImanjePickup[imanjeid] = CreateDynamicPickup(1273, 1, II[imanjeid][iUlazX], II[imanjeid][iUlazY], II[imanjeid][iUlazZ]);
  779. format(string,sizeof(string),"Imanje ID:%d je napravljeno.",imanjeid);
  780. SCM(playerid, -1,string);
  781. ImanjeLabelIPickup(imanjeid);
  782. SacuvajImanje(imanjeid);
  783. new str[128];
  784. format(str,128,"{B74853}** AdminWarn: %s[%d] je napravio imanje pod id-em %d !.", GetName(playerid),playerid, imanjeid);
  785. ABroadCast(ZUTA,str,1);
  786. return 1;
  787. }
  788.  
  789. CMD:izbrisiimanje(playerid, params[])
  790. {
  791. if(PI[playerid][pOSC] < 5) return SCM(playerid, -1,"Ne mozes ti to!");
  792. new kFile[50],id,string[128];
  793. if(sscanf(params,"i",id)) return SCM(playerid,-1,"/izbrisiimanje [ID imanja]");
  794. format(kFile, sizeof(kFile), IMANJE_FILE, id);
  795. if(fexist(kFile))
  796. {
  797. fremove(kFile);
  798. DestroyDynamic3DTextLabel(ImanjeLabel[id]);
  799. DestroyDynamicPickup(ImanjePickup[id]);
  800. format(string,sizeof(string), "{B74853}** AdminWarn: %s[%d] je obrisao imanje ID %d", GetName(playerid),playerid,id);
  801. ABroadCast(COLOR_YELLOW, string, 1);
  802. II[id][iCena] = -1;
  803. II[id][iLevel] = -1;
  804. II[id][iUlazX] = 0.00000;
  805. II[id][iUlazY] = 0.00000;
  806. II[id][iUlazZ] = 0.00000;
  807. II[id][iImaVlasnika] = 0;
  808. strmid(II[id][iVlasnik],"Izbrisana",0,strlen("Izbrisana"),255);
  809. }
  810. else { SCM(playerid,-1,"{FF0000}ERROR: {FFFFFF}Taj id imanja ne postoji!"); }
  811. return 1;
  812. }
  813. //------------------------------------------------------------------------------
  814. //Ovo dodajte na kraj skripte
  815. stock ImanjeLabelIPickup(v)
  816. {
  817. new string[256];
  818. if(II[v][iImaVlasnika] == 0)
  819. {
  820. DestroyDynamicPickup(ImanjePickup[v]);
  821. UpdateDynamic3DTextLabelText(ImanjeLabel[v], 0x80FF80FF, string);
  822. format(string,sizeof(string),"{FBFB00}Imanje na prodaju!\n{FBFB00}Cena: {FFFFFF}$%d\n{FBFB00}Level: {FFFFFF}%d\n{FBFB00}Precnik: {FFFFFF}%dm\n{FBFB00}Za kupovinu {FFFFFF}/kupiimanje",II[v][iCena],II[v][iLevel],II[v][iPrecnik]);
  823. ImanjeLabel[v] = CreateDynamic3DTextLabel(string ,0x80FF80FF,II[v][iUlazX], II[v][iUlazY], II[v][iUlazZ],15);
  824. ImanjePickup[v] = CreateDynamicPickup(1239, 1, II[v][iUlazX], II[v][iUlazY], II[v][iUlazZ]);
  825. ImanjeMark[v] = CreateDynamicMapIcon(II[v][iUlazX], II[v][iUlazY], II[v][iUlazZ],56,0);
  826. }
  827. else if(II[v][iImaVlasnika] == 1)
  828. {
  829. DestroyDynamicPickup(ImanjePickup[v]);
  830. UpdateDynamic3DTextLabelText(ImanjeLabel[v], 0x33CCFFAA, string);
  831. format(string,sizeof(string),"{FBFB00}Vlasnik: {FFFFFF}%s\n{FBFB00}Nivo: {FFFFFF}%d\n{FBFB00}Cena: {FFFFFF}%d\n{FBFB00}Adresa: {FFFFFF}%d\n{FBFB00}Precnik: {FFFFFF}%dm\n{FBFB00}Neaktivnost: {FFFFFF}%d",II[v][iVlasnik],II[v][iLevel],II[v][iCena],v,II[v][iPrecnik],II[v][iNeakt]);
  832. ImanjeLabel[v] = CreateDynamic3DTextLabel(string ,0x80FF80FF,II[v][iUlazX], II[v][iUlazY], II[v][iUlazZ],15);
  833. ImanjePickup[v] = CreateDynamicPickup(1239, 1, II[v][iUlazX], II[v][iUlazY], II[v][iUlazZ]);
  834. ImanjeMark[v] = CreateDynamicMapIcon(II[v][iUlazX], II[v][iUlazY], II[v][iUlazZ],56,0);
  835. }
  836. return 1;
  837. }
  838.  
  839. forward DodajNeaktivnostImanje();
  840. public DodajNeaktivnostImanje()
  841. {
  842. for(new imanjeid = 0; imanjeid <= MAX_IMANJE; imanjeid++)
  843. {
  844. if(II[imanjeid][iImaVlasnika]==1)
  845. {
  846. if(!IsPlayerConnected(GetPlayerIDS(II[imanjeid][iVlasnik])))
  847. {
  848. II[imanjeid][iNeakt] += 1;
  849. }
  850. else
  851. {
  852. II[imanjeid][iNeakt] = 0;
  853. }
  854. if(II[imanjeid][iNeakt] > 499)
  855. {
  856. II[imanjeid][iImaVlasnika] = 0;
  857. strmid(II[imanjeid][iVlasnik], "Na prodaju zbog neaktivnosti", 0, strlen("Na prodaju zbog neaktivnosti"), 255);
  858. II[imanjeid][iNeakt] = 0;
  859. }
  860. }
  861. }
  862. return 1;
  863. }
  864. Funkcija SacuvajImanje(idimanja)
  865. {
  866. new dFile[128];
  867. format(dFile, sizeof(dFile),"imanja/Imanje_%d.ini",idimanja);
  868. new INI:File = INI_Open(dFile);
  869. INI_WriteInt(File,"iImaVlasnika",II[idimanja][iImaVlasnika]);
  870. INI_WriteString(File,"iVlasnik",II[idimanja][iVlasnik]);
  871. INI_WriteFloat(File,"iUlazX",II[idimanja][iUlazX]);
  872. INI_WriteFloat(File,"iUlazY",II[idimanja][iUlazY]);
  873. INI_WriteFloat(File,"iUlazZ",II[idimanja][iUlazZ]);
  874. INI_WriteInt(File,"iCena",II[idimanja][iCena]);
  875. INI_WriteInt(File,"iLevel",II[idimanja][iLevel]);
  876. INI_WriteInt(File,"iPostavljena",II[idimanja][iPostavljena]);
  877. INI_WriteInt(File,"iNeakt",II[idimanja][iNeakt]);
  878. INI_WriteInt(File,"iPrecnik",II[idimanja][iPrecnik]);
  879.  
  880. INI_Close(File);
  881. return 1;
  882. }
  883.  
  884. Funkcija SacuvajDrvo(iddrveta)
  885. {
  886. new dFile[128];
  887. format(dFile, sizeof(dFile),"imanja/drva/Drvo_%d.ini",iddrveta);
  888. new INI:File = INI_Open(dFile);
  889. INI_WriteFloat(File,"dDrvoX",DI[iddrveta][dDrvoX]);
  890. INI_WriteFloat(File,"dDrvoY",DI[iddrveta][dDrvoY]);
  891. INI_WriteFloat(File,"dDrvoZ",DI[iddrveta][dDrvoZ]);
  892. INI_WriteInt(File,"dIDImanja",DI[iddrveta][dIDImanja]);
  893. INI_WriteInt(File,"dVrijeme",DI[iddrveta][dVrijeme]);
  894. INI_WriteInt(File,"dPostavljeno",DI[iddrveta][dPostavljeno]);
  895. INI_WriteInt(File,"dObjd",DI[iddrveta][dObjd]);
  896. INI_WriteInt(File,"dText",DI[iddrveta][dText]);
  897. INI_WriteInt(File,"dVrsta",DI[iddrveta][dVrsta]);
  898. INI_WriteInt(File,"dMinuta",DI[iddrveta][dMinuta]);
  899. INI_WriteInt(File,"dSat",DI[iddrveta][dSat]);
  900. INI_WriteInt(File,"dDrvo",DI[iddrveta][dDrvo]);
  901.  
  902. INI_Close(File);
  903. return 1;
  904. }
  905.  
  906. Funkcija UcitajDrvo(iddrveta, name[], value[])
  907. {
  908. INI_Float("dDrvoX",DI[iddrveta][dDrvoX]);
  909. INI_Float("dDrvoY",DI[iddrveta][dDrvoY]);
  910. INI_Float("dDrvoZ",DI[iddrveta][dDrvoZ]);
  911. INI_Int("dIDImanja",DI[iddrveta][dIDImanja]);
  912. INI_Int("dVrijeme",DI[iddrveta][dVrijeme]);
  913. INI_Int("dPostavljeno",DI[iddrveta][dPostavljeno]);
  914. INI_Int("dObjd",DI[iddrveta][dObjd]);
  915. INI_Int("dText",DI[iddrveta][dText]);
  916. INI_Int("dVrsta",DI[iddrveta][dVrsta]);
  917. INI_Int("dMinuta",DI[iddrveta][dMinuta]);
  918. INI_Int("dSat",DI[iddrveta][dSat]);
  919. INI_Int("dDrvo",DI[iddrveta][dDrvo]);
  920. return 1;
  921. }
  922.  
  923. Funkcija UcitajImanje(idimanja, name[], value[])
  924. {
  925. INI_Int("iImaVlasnika",II[idimanja][iImaVlasnika]);
  926. INI_String("iVlasnik",II[idimanja][iVlasnik],32);
  927. INI_Float("iUlazX",II[idimanja][iUlazX]);
  928. INI_Float("iUlazY",II[idimanja][iUlazY]);
  929. INI_Float("iUlazZ",II[idimanja][iUlazZ]);
  930. INI_Int("iLevel",II[idimanja][iLevel]);
  931. INI_Int("iCena",II[idimanja][iCena]);
  932. INI_Int("iPostavljena",II[idimanja][iPostavljena]);
  933. INI_Int("iNeakt",II[idimanja][iNeakt]);
  934. INI_Int("iPrecnik",II[idimanja][iPrecnik]);
  935. return 1;
  936. }
  937.  
  938. forward PredRaste();
  939. public PredRaste()
  940. {
  941. DrvoRaste();
  942. return 1;
  943. }
  944.  
  945. forward DrvoRaste();
  946. public DrvoRaste()
  947. {
  948. for(new i; i < sizeof(DI); i++)
  949. {
  950. new gFajl[35];
  951. new stringv[160];
  952. format(gFajl, 50, "imanja/drva/Drvo_%d.ini" ,i);
  953. new vrsta[64];
  954. if(DI[i][dVrsta] == 1) { vrsta = "Sljiva"; }
  955. else if(DI[i][dVrsta] == 2) { vrsta = "Kruska"; }
  956. else if(DI[i][dVrsta] == 3) { vrsta = "Jabuka"; }
  957. if(fexist(gFajl))
  958. {
  959. if(DI[i][dSat] >= 0 && DI[i][dMinuta] >= 1)
  960. {
  961. DI[i][dMinuta] --;
  962. format(stringv,256,"{FD722F}Voce jos nije izraslo!\nVreme do izrastanja: {FFFFFF}%d sati, %d minuta\n{FD722F}Vrsta drveta:{FFFFFF}%s",DI[i][dSat],DI[i][dMinuta],vrsta);
  963. UpdateDynamic3DTextLabelText(DrvoLabel[i], -1, stringv);
  964. SacuvajDrvo(i);
  965. }
  966. else if(DI[i][dMinuta] == 0 && DI[i][dSat] >= 1)
  967. {
  968. DI[i][dSat] --;
  969. DI[i][dMinuta] = 60;
  970. format(stringv,256,"{FD722F}Voce jos nije izraslo!\nVreme do izrastanja: {FFFFFF}%d sati, %d minuta\n{FD722F}Vrsta drveta:{FFFFFF}%s",DI[i][dSat],DI[i][dMinuta],vrsta);
  971. UpdateDynamic3DTextLabelText(DrvoLabel[i], -1, stringv);
  972. SacuvajDrvo(i);
  973. }
  974. else if(DI[i][dSat] == 0 && DI[i][dMinuta] == 0)
  975. {
  976. format(stringv,256,"{FD722F}Voce je izraslo!\nDa oberes voce kucaj{FFFFFF}/oberivoce\n{FD722F}Vrsta drveta:{FFFFFF}%s",vrsta);
  977. UpdateDynamic3DTextLabelText(DrvoLabel[i], -1, stringv);
  978. SacuvajDrvo(i);
  979. }
  980. }
  981. }
  982. return 1;
  983. }
RAW Paste Data