Guest User

Imanje prebacivanje u fs

a guest
Dec 26th, 2014
250
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 50.12 KB | None | 0 0
  1. #include < a_samp >
  2. #include < a_objects >
  3. #include < core >
  4. #include < float >
  5. #include < time >
  6. #include < morphinc >
  7. #include < file >
  8. #include < foreach >
  9. #include < streamer >
  10. #include < YSI\y_ini >
  11. #include < zcmd >
  12. #include < sscanf2 >
  13.  
  14.  
  15. #define DIALOG_BIRADRVO 1000
  16. #define DIALOG_KUPISLJIVU 1001
  17. #define DIALOG_KUPIKRUSKU 1002
  18. #define DIALOG_KUPIJABUKU 1003
  19. #define DIALOG_BIRADRVOZP 1004
  20. #define DIALOG_PRODAJSLJIVU 1005
  21. #define DIALOG_PRODAJKRUSKU 1006
  22. #define DIALOG_PRODAJJABUKU 1007
  23. #define DIALOG_IMANJE 1008
  24. #define DIALOG_IINFO 1009
  25. #define DIALOG_IPOSIJANO 1010
  26. #define DIALOG_IPRODAJ 1011
  27. #define DIALOG_IMANJCE 1012
  28. #define DIMANJE_PRODAJESIGRACU 1013
  29. #define DIMANJE_PRODAJA 1014
  30. #define DIMANJE_PRODAJESKCENA 1015
  31. #define MAX_IMANJE 2000
  32. #define MAX_DRVA 7000
  33. #define MAX_VOCA 7000
  34. #define IMANJE_FILE "imanja/Imanje_%d.ini"
  35. #define Funkcija%0(%1) \
  36. forward%0(%1); \
  37. public%0(%1)
  38.  
  39. #define SCM SendClientMessage
  40. #define SCMTA SendClientMessageToAll
  41. #define SPD ShowPlayerDialog
  42. #define DSL DIALOG_STYLE_LIST
  43. #define DSB DIALOG_STYLE_MSGBOX
  44. #define DSI DIALOG_STYLE_INPUT
  45.  
  46.  
  47. new ProdajesImanje[MAX_VEHICLES];
  48. new IgracKProdajesI[MAX_PLAYERS];
  49. new ProdavacImanja[MAX_PLAYERS];
  50. new CenaImanja[MAX_PLAYERS];
  51. new IDImanja[MAX_PLAYERS];
  52.  
  53.  
  54.  
  55. pImaImanje,
  56. pSjemeSljiva,
  57. pSjemeKruska,
  58. pSjemeJabuka,
  59. pDrvaMax,
  60. pSljiva,
  61. pKrusaka,
  62. pJabuka,
  63.  
  64.  
  65.  
  66. enum pinfo
  67. {
  68. pImaImanje,
  69. pSjemeSljiva,
  70. pSjemeKruska,
  71. pSjemeJabuka,
  72. pDrvaMax,
  73. pSljiva,
  74. pKrusaka,
  75. pJabuka
  76. };
  77. new PI[MAX_PLAYERS][pInfo];
  78. enum Drva
  79. {
  80. dIDImanja,
  81. Float:dDrvoX,
  82. Float:dDrvoY,
  83. Float:dDrvoZ,
  84. dVrijeme,
  85. dPostavljeno,
  86. dObjd,
  87. dText,
  88. dVrsta,
  89. dMinuta,
  90. dSat,
  91. dDrvo
  92. };
  93.  
  94. new DI[MAX_DRVA][Drva];
  95. new Text3D:DrvoLabel[sizeof(DI)];
  96.  
  97. enum Imanje
  98. {
  99. iImaVlasnika,
  100. iVlasnik[MAX_PLAYER_NAME],
  101. Float:iUlazX,
  102. Float:iUlazY,
  103. Float:iUlazZ,
  104. iLevel,
  105. iCena,
  106. iPostavljena,
  107. iNeakt,
  108. iPrecnik
  109. };
  110. new II[MAX_IMANJE][Imanje];
  111. new ImanjePickup[sizeof(II)];
  112. new Text3D:ImanjeLabel[sizeof(II)];
  113. new ImanjeMark[MAX_IMANJE];
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127. #if defined FILTERSCRIPT
  128.  
  129. public OnFilterScriptInit()
  130. {
  131. new time = GetTickCount();
  132. for(new b = 0; b < sizeof(II); b++)
  133. {
  134. new gFajl[35];
  135. new kucestring[500];
  136. format(gFajl, 50, "imanja/Imanje_%d.ini" ,b);
  137. if(fexist(gFajl))
  138. {
  139. INI_ParseFile(gFajl, "UcitajImanje", .bExtra = true, .extra = b);
  140. if(II[b][iPostavljena] == 1)
  141. {
  142. if(II[b][iImaVlasnika] == 0)
  143. {
  144. DestroyDynamicPickup(ImanjePickup[b]);
  145. UpdateDynamic3DTextLabelText(ImanjeLabel[b], 0x80FF80FF, kucestring);
  146. 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]);
  147. ImanjeLabel[b] = CreateDynamic3DTextLabel(string ,0x80FF80FF,II[b][iUlazX], II[b][iUlazY], II[b][iUlazZ],15);
  148. ImanjePickup[b] = CreateDynamicPickup(1273, 1, II[b][iUlazX], II[b][iUlazY], II[b][iUlazZ]);
  149. ImanjeMark[b] = CreateDynamicMapIcon(II[b][iUlazX], II[b][iUlazY], II[b][iUlazZ],56,0);
  150. }
  151. else if(II[b][iImaVlasnika] == 1)
  152. {
  153. DestroyDynamicPickup(ImanjePickup[b]);
  154. UpdateDynamic3DTextLabelText(ImanjeLabel[b], 0x33CCFFAA, kucestring);
  155. 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]);
  156. ImanjeLabel[b] = CreateDynamic3DTextLabel(string ,0x80FF80FF,II[b][iUlazX], II[b][iUlazY], II[b][iUlazZ],15);
  157. ImanjePickup[b] = CreateDynamicPickup(1273, 1, II[b][iUlazX], II[b][iUlazY], II[b][iUlazZ]);
  158. ImanjeMark[b] = CreateDynamicMapIcon(II[b][iUlazX], II[b][iUlazY], II[b][iUlazZ],56,0);
  159. }
  160. ImanjeLabelIPickup(b);
  161. printf("~ UCITANO 'Imanje %d'",b);
  162. }
  163. }
  164. }
  165. for(new b = 0; b < sizeof(DI); b++)
  166. {
  167. new gFajl[35];
  168. format(gFajl, 50, "imanja/drva/Drvo_%d.ini" ,b);
  169. new stringv[160];
  170. if(fexist(gFajl))
  171. {
  172. INI_ParseFile(gFajl, "UcitajDrvo", .bExtra = true, .extra = b);
  173. if(DI[b][dPostavljeno] == 1)
  174. {
  175. new vrsta[64];
  176. if(DI[b][dVrsta] == 1) { vrsta = "Sljiva"; }
  177. else if(DI[b][dVrsta] == 2) { vrsta = "Kruska"; }
  178. else if(DI[b][dVrsta] == 3) { vrsta = "Jabuka"; }
  179. DI[b][dObjd] = CreateDynamicObject(DI[b][dDrvo], DI[b][dDrvoX]+2,DI[b][dDrvoY],DI[b][dDrvoZ]-4, 0.0000000,0.0000000,0.0000000);
  180. 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);
  181. DrvoLabel[b] = CreateDynamic3DTextLabel(stringv, 0x80FF80FF, DI[b][dDrvoX]+2,DI[b][dDrvoY],DI[b][dDrvoZ], 15);
  182. if(DI[b][dSat] == 0 && DI[b][dMinuta] == 0)//,II[b][iVlasnik]
  183. {
  184. format(stringv,256,"{FD722F}Voce je izraslo!\nDa oberes voce kucaj{FFFFFF}/oberivoce\n{FD722F}Vrsta drveta:{FFFFFF}%s",vrsta);
  185. UpdateDynamic3DTextLabelText(DrvoLabel[b], -1, stringv);
  186. }
  187. }
  188. printf("~ UCITANO 'Drvo %d'",b);
  189. }
  190. }//
  191. SetTimer("PredRaste", 60000, true);//|
  192. printf("~ UCITANO 'Imanje' %d (ms)", GetTickCount() - time);
  193. return 1;
  194. }
  195.  
  196. public OnFilterScriptExit()
  197. {
  198. return 1;
  199. }
  200.  
  201. #else
  202.  
  203. main()
  204. {
  205. print("\n----------------------------------");
  206. print(" Blank Gamemode by your name here");
  207. print("----------------------------------\n");
  208. }
  209.  
  210. #endif
  211.  
  212.  
  213. public OnPlayerRequestClass(playerid, classid)
  214. {
  215. SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
  216. SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
  217. SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
  218. return 1;
  219. }
  220.  
  221. public OnPlayerConnect(playerid)
  222. {
  223. PI[playerid][pImaImanje] = 2555; PI[playerid][pSjemeSljiva] = 0; PI[playerid][pSjemeKruska] = 0;
  224. PI[playerid][pSjemeJabuka] = 0; PI[playerid][pDrvaMax] = 0; PI[playerid][pSljiva] = 0;
  225. PI[playerid][pKrusaka] = 0; PI[playerid][pJabuka] = 0; IgracKProdajesI[playerid] = -1;
  226. //Bez PI
  227. ProdavacImanja[playerid] = -1; CenaImanja[playerid] = -1; IDImanja[playerid] = -1;
  228. return 1;
  229. }
  230.  
  231. public OnPlayerDisconnect(playerid, reason)
  232. {
  233. return 1;
  234. }
  235.  
  236. public OnPlayerSpawn(playerid)
  237. {
  238. return 1;
  239. }
  240.  
  241. public OnPlayerDeath(playerid, killerid, reason)
  242. {
  243. return 1;
  244. }
  245.  
  246. public OnVehicleSpawn(vehicleid)
  247. {
  248. return 1;
  249. }
  250.  
  251. public OnVehicleDeath(vehicleid, killerid)
  252. {
  253. return 1;
  254. }
  255.  
  256. public OnPlayerText(playerid, text[])
  257. {
  258. return 1;
  259. }
  260.  
  261. public OnPlayerCommandText(playerid, cmdtext[])
  262. {
  263. if (strcmp("/mycommand", cmdtext, true, 10) == 0)
  264. {
  265. // Do something here
  266. return 1;
  267. }
  268. return 0;
  269. }
  270.  
  271. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  272. {
  273. return 1;
  274. }
  275.  
  276. public OnPlayerExitVehicle(playerid, vehicleid)
  277. {
  278. return 1;
  279. }
  280.  
  281. public OnPlayerStateChange(playerid, newstate, oldstate)
  282. {
  283. return 1;
  284. }
  285.  
  286. public OnPlayerEnterCheckpoint(playerid)
  287. {
  288. return 1;
  289. }
  290.  
  291. public OnPlayerLeaveCheckpoint(playerid)
  292. {
  293. return 1;
  294. }
  295.  
  296. public OnPlayerEnterRaceCheckpoint(playerid)
  297. {
  298. return 1;
  299. }
  300.  
  301. public OnPlayerLeaveRaceCheckpoint(playerid)
  302. {
  303. return 1;
  304. }
  305.  
  306. public OnRconCommand(cmd[])
  307. {
  308. return 1;
  309. }
  310.  
  311. public OnPlayerRequestSpawn(playerid)
  312. {
  313. return 1;
  314. }
  315.  
  316. public OnObjectMoved(objectid)
  317. {
  318. return 1;
  319. }
  320.  
  321. public OnPlayerObjectMoved(playerid, objectid)
  322. {
  323. return 1;
  324. }
  325.  
  326. public OnPlayerPickUpPickup(playerid, pickupid)
  327. {
  328. return 1;
  329. }
  330.  
  331. public OnVehicleMod(playerid, vehicleid, componentid)
  332. {
  333. return 1;
  334. }
  335.  
  336. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  337. {
  338. return 1;
  339. }
  340.  
  341. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  342. {
  343. return 1;
  344. }
  345.  
  346. public OnPlayerSelectedMenuRow(playerid, row)
  347. {
  348. return 1;
  349. }
  350.  
  351. public OnPlayerExitedMenu(playerid)
  352. {
  353. return 1;
  354. }
  355.  
  356. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  357. {
  358. return 1;
  359. }
  360.  
  361. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  362. {
  363. return 1;
  364. }
  365.  
  366. public OnRconLoginAttempt(ip[], password[], success)
  367. {
  368. return 1;
  369. }
  370.  
  371. public OnPlayerUpdate(playerid)
  372. {
  373. return 1;
  374. }
  375.  
  376. public OnPlayerStreamIn(playerid, forplayerid)
  377. {
  378. return 1;
  379. }
  380.  
  381. public OnPlayerStreamOut(playerid, forplayerid)
  382. {
  383. return 1;
  384. }
  385.  
  386. public OnVehicleStreamIn(vehicleid, forplayerid)
  387. {
  388. return 1;
  389. }
  390.  
  391. public OnVehicleStreamOut(vehicleid, forplayerid)
  392. {
  393. return 1;
  394. }
  395.  
  396. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  397. {
  398. if(dialogid == DIALOG_BIRADRVO)
  399. {
  400. if(response)
  401. {
  402. if(listitem == 0)
  403. {
  404. SPD(playerid,DIALOG_KUPISLJIVU,DIALOG_STYLE_INPUT,"Sljive","{FF8040}Unesi koliko zelis sadnica sljiva da kupis\n{FF8040}Jedan komad {FFFFFF}250$","Kupi","Izadji");
  405. }
  406. if(listitem == 1)
  407. {
  408. SPD(playerid,DIALOG_KUPIKRUSKU,DIALOG_STYLE_INPUT,"Kruske","{FF8040}Unesi koliko zelis sadnica kursaka da kupis\n{FF8040}Jedan komad {FFFFFF}250$","Kupi","Izadji");
  409. }
  410. if(listitem == 2)
  411. {
  412. SPD(playerid,DIALOG_KUPIJABUKU,DIALOG_STYLE_INPUT,"Jabuke","{FF8040}Unesi koliko zelis sadnica jabuka da kupis\n{FF8040}Jedan komad {FFFFFF}250$","Kupi","Izadji");
  413. }
  414. }
  415. }
  416.  
  417. if(dialogid == DIALOG_IMANJE)
  418. {
  419. if(response)
  420. {
  421. if(listitem == 0)
  422. {
  423. SPD(playerid,DIALOG_IINFO,DIALOG_STYLE_INPUT,"Sljive","{FF8040}Unesi koliko zelis sadnica sljiva da kupis\n{FF8040}Jedan komad {FFFFFF}250$","Kupi","Izadji");
  424. }
  425. if(listitem == 1)
  426. {
  427. SPD(playerid,DIALOG_IPOSIJANO,DIALOG_STYLE_INPUT,"Kruske","{FF8040}Unesi koliko zelis sadnica kursaka da kupis\n{FF8040}Jedan komad {FFFFFF}250$","Kupi","Izadji");
  428. }
  429. if(listitem == 2)
  430. {
  431. SPD(playerid,DIALOG_IPRODAJ,DIALOG_STYLE_INPUT,"Jabuke","{FF8040}Unesi koliko zelis sadnica jabuka da kupis\n{FF8040}Jedan komad {FFFFFF}250$","Kupi","Izadji");
  432. }
  433. }
  434. }
  435.  
  436. if(dialogid == DIALOG_BIRADRVOZP)
  437. {
  438. if(response)
  439. {
  440. if(listitem == 0)
  441. {
  442. SPD(playerid,DIALOG_PRODAJSLJIVU,DIALOG_STYLE_INPUT,""GLAVNA"Sljive","{FFFFFF}Unesi koliko zelis sljiva da prodas\nJedna sljiva 100$","Prodaj","Izadji");
  443. }
  444. if(listitem == 1)
  445. {
  446. SPD(playerid,DIALOG_PRODAJKRUSKU,DIALOG_STYLE_INPUT,""GLAVNA"Kruske","{FFFFFF}Unesi koliko zelis kursaka da prodas\nJedna kruska 100$","Prodaj","Izadji");
  447. }
  448. if(listitem == 2)
  449. {
  450. SPD(playerid,DIALOG_PRODAJJABUKU,DIALOG_STYLE_INPUT,""GLAVNA"Jabuke","{FFFFFF}Unesi koliko zelis jabuka da prodas\nJedna jabuka 100$","Prodaj","Izadji");
  451. }
  452. }
  453. }
  454.  
  455.  
  456. if(dialogid == DIALOG_PRODAJSLJIVU)
  457. {
  458. if(response)
  459. { //
  460. new kolicina;
  461. 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");
  462. 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");
  463. 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");
  464. PI[playerid][pSljiva] -= kolicina;
  465. JBC_GivePlayerMoney(playerid,kolicina*100);
  466. format(string,128,"Prodao si %d sljiva za %d$",kolicina,kolicina*100);
  467. SCM(playerid,-1,string);
  468. SCMF(playerid,-1,"Imas jos %d sljiva",PI[playerid][pSljiva]);
  469. SacuvajIgraca(playerid);
  470. }
  471. }
  472.  
  473. if(dialogid == DIALOG_PRODAJKRUSKU)
  474. {
  475. if(response)
  476. {
  477. new kolicina;
  478. 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");
  479. 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");
  480. 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");
  481. PI[playerid][pKrusaka] -= kolicina;
  482. JBC_GivePlayerMoney(playerid,kolicina*100);
  483. format(string,128,"Prodao si %d krusaka za %d$",kolicina,kolicina*100);
  484. SCM(playerid,-1,string);
  485. SCMF(playerid,-1,"Imas jos %d krusaka",PI[playerid][pKrusaka]);
  486. SacuvajIgraca(playerid);
  487. }
  488. }
  489.  
  490. if(dialogid == DIALOG_PRODAJJABUKU)
  491. {
  492. if(response)
  493. {
  494. new kolicina;
  495. 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");
  496. 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");
  497. 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");
  498. PI[playerid][pJabuka] -= kolicina;
  499. JBC_GivePlayerMoney(playerid,kolicina*100);
  500. format(string,128,"Prodao si %d jabuka za %d$",kolicina,kolicina*100);
  501. SCM(playerid,-1,string);
  502. SCMF(playerid,-1,"Imas jos %d jabuka",PI[playerid][pJabuka]);
  503. SacuvajIgraca(playerid);
  504. }
  505. }
  506.  
  507. if(dialogid == DIALOG_KUPISLJIVU)
  508. {
  509. if(response)
  510. {
  511. new kolicina;
  512. 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");
  513. 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");
  514. if(JBC_GetPlayerMoney(playerid) < kolicina*250) return SCM(playerid,-1,"{FF0000}ERROR: {FFFFFF}Nemas dovoljno novca $250!");
  515. PI[playerid][pSjemeSljiva] += kolicina;
  516. JBC_GivePlayerMoney(playerid,-kolicina*250);
  517. format(string,128,"Kupio si %d sadnica sljiva za %d$",kolicina,kolicina*250);
  518. SCM(playerid,-1,string);
  519. SacuvajIgraca(playerid);
  520. }
  521. }
  522.  
  523. if(dialogid == DIALOG_KUPIKRUSKU)
  524. {
  525. if(response)
  526. {
  527. new kolicina;
  528. 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");
  529. 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");
  530. if(JBC_GetPlayerMoney(playerid) < kolicina*250) return SCM(playerid,-1,"{FF0000}ERROR: {FFFFFF}Nemas dovoljno novca $250!");
  531. PI[playerid][pSjemeKruska] += kolicina;
  532. JBC_GivePlayerMoney(playerid,-kolicina*250);
  533. format(string,128,"Kupio si %d sadnica krusaka za %d$",kolicina,kolicina*250);
  534. SCM(playerid,-1,string);
  535. SacuvajIgraca(playerid);
  536. }
  537. }
  538.  
  539. if(dialogid == DIALOG_KUPIJABUKU)
  540. {
  541. if(response)
  542. {
  543. new kolicina;
  544. 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");
  545. 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");
  546. if(JBC_GetPlayerMoney(playerid) < kolicina*250) return SCM(playerid,-1,"{FF0000}ERROR: {FFFFFF}Nemas dovoljno novca $250!");
  547. PI[playerid][pSjemeJabuka] += kolicina;
  548. JBC_GivePlayerMoney(playerid,-kolicina*250);
  549. format(string,128,"Kupio si %d sadnica jabuka za %d$",kolicina,kolicina*250);
  550. SCM(playerid,-1,string);
  551. SacuvajIgraca(playerid);
  552. }
  553. }
  554. if(dialogid == DIALOG_IMANJCE && response)
  555. {
  556. if(response)
  557. {
  558. if(PI[playerid][pImaImanje] == 2555) return SCM(playerid, -1,"{FF0000}ERROR: {FFFFFF}Nemate imanje!");
  559. new i = PI[playerid][pImaImanje];
  560. switch(listitem)
  561. {
  562. case 0:
  563. {
  564. SCM(playerid,-1,"|--------------------------------------------------------------------------------|");
  565. SCMF(playerid,-1,"- Vlasnik Imanja: %s | Level: %d | Cena: %d | Precnik: %d", II[i][iVlasnik], II[i][iLevel],II[i][iCena],II[i][iPrecnik]);
  566. SCM(playerid,-1,"|--------------------------------------------------------------------------------|");
  567. }
  568. case 1:
  569. {
  570. if(ProdajesImanje[playerid] == 1) return SCM(playerid, -1,"{FF0000}ERROR: {FFFFFF}Prodajes imanje nekim igracu");
  571. new klj = PI[playerid][pImaImanje];
  572. if(!IsPlayerInRangeOfPoint(playerid, 100, II[klj][iUlazX], II[klj][iUlazY], II[klj][iUlazZ])) return SCM(playerid, -1,"Ne nalazite se blizu imanja!.");
  573. if(PI[playerid][pImaImanje] == 2555) return SCM(playerid, -1,"{FF0000}ERROR: {FFFFFF}Nemate imanje!");
  574. new cena1 = (II[i][iCena]/4)*2;
  575. 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);
  576. SPD(playerid, DIMANJE_PRODAJA, DSM, ""GLAVNA"Prodaja imanja drzavi", string, "Prodaj", "Izlaz");
  577. }
  578. case 2:
  579. {
  580. if(PI[playerid][pImaImanje] == 2555) return SCM(playerid, -1,"{FF0000}ERROR: {FFFFFF}Nemate imanje!");
  581. SPD(playerid,DIMANJE_PRODAJESIGRACU,DIALOG_STYLE_INPUT,""GLAVNA"Prodaja imanja","Unesi ID igraca kojim zelis prodati imanje","Unesi","Izadji");
  582. }
  583. }
  584. }
  585. }
  586. if(dialogid == DIMANJE_PRODAJA)
  587. {
  588. if(ProdajesImanje[playerid] == 1) return SCM(playerid, -1,"{FF0000}ERROR: {FFFFFF}Vec prodajes imanje nekim igracu");
  589. if(PI[playerid][pImaImanje] == 2555) return SCM(playerid, -1,"{FF0000}ERROR: {FFFFFF}Nemate imanje!");
  590. new i = PI[playerid][pImaImanje];
  591. if(response)
  592. {
  593. new cena1 = (II[i][iCena]/4)*2;
  594. g_NovacPlus(playerid,cena1);
  595. II[i][iImaVlasnika] = 0;
  596. strmid(II[i][iVlasnik], "Niko", 0, strlen("Niko"), 255);
  597. SacuvajImanje(i);
  598. ImanjeLabelIPickup(i);
  599. SCMF(playerid,-1,"Prodali ste imanje drzavi za $%d!",cena1);
  600. PI[playerid][pImaImanje] = 2555;
  601. SacuvajIgraca(playerid);
  602. }
  603. }
  604. if(dialogid == DIMANJE_PRODAJESIGRACU)
  605. {
  606. if(response)
  607. {
  608. new id;
  609. if(sscanf(inputtext, "d", id)) return SPD(playerid,DIMANJE_PRODAJESIGRACU,DIALOG_STYLE_INPUT,"Prodaja imanja","Unesi ID igraca kojim zelis prodati imanje","Unesi","Izadji");
  610. if(!IsPlayerConnected(id)) return SCM(playerid,-1,"{FF0000}ERROR: {FFFFFF}Taj igrac nije na serveru");
  611. if(playerid == id) return SCM(playerid,-1,"{FF0000}ERROR: {FFFFFF}Ne mozes sebi prodati imanje");
  612. if(PI[id][pImaImanje] != 2555) return SCM(playerid,-1,"{FF0000}ERROR: {FFFFFF}Taj igrac poseduje imanje");
  613. if(!ProxDetectorS(5.0,playerid,id)) return SCM(playerid,-1,"{FF0000}ERROR: {FFFFFF}Taj igrac nije blizu tebe");
  614. if(IgracKProdajesI[playerid] > -1) return SCM(playerid,-1,"Vec prodajes nekome imanje");
  615. IgracKProdajesI[playerid] = id;
  616. ProdavacImanja[id] = playerid;
  617. SPD(playerid,DIMANJE_PRODAJESKCENA,DIALOG_STYLE_INPUT,""GLAVNA"Cena imanja","Unesi sumu za koji zelis da prodas imanje","Prodaj","Izadji");
  618. }
  619. }
  620. if(dialogid == DIMANJE_PRODAJESKCENA)
  621. {
  622. if(!response) return IgracKProdajesI[playerid] = -1;
  623. {
  624. new cena;
  625. 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");
  626. if(cena < 1)
  627. {
  628. SPD(playerid,DIMANJE_PRODAJESKCENA,DIALOG_STYLE_INPUT,"Cena imanja","Unesi sumu za koji zelis da prodas imanje","Prodaj","Izadji");
  629. SCM(playerid,-1,"{FF0000}ERROR: {FFFFFF}Ne mozes ici ispod 1");
  630. return 1;
  631. }
  632. CenaImanja[IgracKProdajesI[playerid]] = cena;
  633. IDImanja[IgracKProdajesI[playerid]] = PI[playerid][pImaImanje];
  634. 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);
  635. SCM(IgracKProdajesI[playerid],-1,string);
  636. format(string,sizeof(string),"Ponudio si imanje igracu %s",GetName(IgracKProdajesI[playerid]));
  637. SCM(playerid,-1,string);
  638. ProdajesImanje[playerid] = 1;
  639. }
  640. }
  641. return 1;
  642. }
  643.  
  644. CMD:kupisadnice(playerid, params[])
  645. {
  646. if(!PlayerToPoint(10.0,playerid, 1276.0425,-1652.8473,13.5659)) return SCM(playerid,-1,"{FF0000}ERROR: {FFFFFF}Nisi u trgovini sa drvima!");
  647. SPD(playerid,DIALOG_BIRADRVO,DIALOG_STYLE_LIST,"Drva","1: Sljiva\n2: Kruska\n3: Jabuka","Odaberi","Izadji");
  648. SCM(playerid, -1,"Provera stats imanja | /statsimanja");
  649. return 1;
  650. }
  651.  
  652. CMD:prodajvoce(playerid, params[])
  653. {
  654. if(!PlayerToPoint(10.0,playerid, 1276.0452,-1648.6531,13.5659)) return SCM(playerid,-1,"Nisi na mjestu za prodavati voce!");
  655. SPD(playerid,DIALOG_BIRADRVOZP,DIALOG_STYLE_LIST,""GLAVNA"Drva","1: Sljiva\n2: Kruska\n3: Jabuka","Odaberi","Izadji");
  656. return 1;
  657. }
  658.  
  659. CMD:oberivoce(playerid, params[])
  660. {
  661. for(new i; i < sizeof(DI); i++)
  662. {
  663. new stringslj[128];
  664. new stringkru[128];
  665. new stringjab[128];
  666. new randsljive =random(8)+8;
  667. new randkruske =random(8)+8;
  668. new randjabuke =random(8)+8;
  669. new kFile[50];
  670. if(IsPlayerInRangeOfPoint(playerid, 3.0, DI[i][dDrvoX], DI[i][dDrvoY], DI[i][dDrvoZ]))
  671. {
  672. if(DI[i][dVrsta] == 1)
  673. {
  674. new nijet = DI[i][dIDImanja];
  675. if(PI[playerid][pImaImanje] == 2555) return SCM(playerid, -1,"{FF0000}ERROR: {FFFFFF}Nemate imanje!");
  676. if(DI[i][dSat] >= 1 && DI[i][dMinuta] >= 1) return SCM(playerid, -1,"{FF0000}ERROR: {FFFFFF}Sljiva jos nije spremna za branje!");
  677. if(PI[playerid][pImaImanje] == nijet)
  678. {
  679. format(kFile, sizeof(kFile), "imanja/drva/Drvo_%d.ini", i);
  680. if(fexist(kFile))
  681. {
  682. fremove(kFile);
  683. DestroyDynamic3DTextLabel(DrvoLabel[i]);
  684. DestroyDynamicObject(DI[i][dObjd]);
  685. Delete3DTextLabel(DrvoLabel[i]);
  686. DI[i][dDrvoX] = 0;
  687. DI[i][dDrvoY] = 0;
  688. DI[i][dDrvoZ] = 0;
  689. PI[playerid][pDrvaMax] --;
  690. DI[i][dPostavljeno] = 0;
  691. new vrsta[64];
  692. if(DI[i][dVrsta] == 1) { vrsta = "Sljiva"; }
  693. else if(DI[i][dVrsta] == 2) { vrsta = "Kruska"; }
  694. else if(DI[i][dVrsta] == 3) { vrsta = "Jabuka"; }
  695. PI[playerid][pSljiva] += randsljive;
  696. format(stringslj,128,"Obrali ste sljivu i dobili ste %d sljiva",randsljive);
  697. SCM(playerid,-1,stringslj);
  698. }
  699. }
  700. else
  701. SCM(playerid, -1,"To nije tvoje drvo!!");
  702. }
  703. if(DI[i][dVrsta] == 2)
  704. {
  705. new nijet = DI[i][dIDImanja];
  706. if(PI[playerid][pImaImanje] == 2555) return SCM(playerid, -1,"{FF0000}ERROR: {FFFFFF}Nemate imanje!");
  707. if(DI[i][dSat] >= 1 && DI[i][dMinuta] >= 1) return SCM(playerid, -1,"{FF0000}ERROR: {FFFFFF}Kruska jos nije spremna za branje!");
  708. if(PI[playerid][pImaImanje] == nijet)
  709. {
  710. format(kFile, sizeof(kFile), "imanja/drva/Drvo_%d.ini", i);
  711. if(fexist(kFile))
  712. {
  713. fremove(kFile);
  714. DestroyDynamic3DTextLabel(DrvoLabel[i]);
  715. DestroyDynamicObject(DI[i][dObjd]);
  716. Delete3DTextLabel(DrvoLabel[i]);
  717. DI[i][dDrvoX] = 0;
  718. DI[i][dDrvoY] = 0;
  719. DI[i][dDrvoZ] = 0;
  720. PI[playerid][pDrvaMax] --;
  721. DI[i][dPostavljeno] = 0;
  722. new vrsta[64];
  723. if(DI[i][dVrsta] == 1) { vrsta = "Sljiva"; }
  724. else if(DI[i][dVrsta] == 2) { vrsta = "Kruska"; }
  725. else if(DI[i][dVrsta] == 3) { vrsta = "Jabuka"; }
  726. PI[playerid][pKrusaka] += randkruske;
  727. format(stringkru,128,"Obrali ste krusku i dobili ste %d kursaka",randkruske);
  728. SCM(playerid,-1,stringkru);
  729. }
  730. }
  731. else
  732. SCM(playerid, -1,"To nije tvoje drvo!!");
  733. }
  734. if(DI[i][dVrsta] == 3)
  735. {
  736. new nijet = DI[i][dIDImanja];
  737. if(PI[playerid][pImaImanje] == 2555) return SCM(playerid, -1,"{FF0000}ERROR: {FFFFFF}Nemate imanje!");
  738. if(DI[i][dSat] >= 1 && DI[i][dMinuta] >= 1) return SCM(playerid, -1,"{FF0000}ERROR: {FFFFFF}Jabuka jos nije spremna za branje!");
  739. if(PI[playerid][pImaImanje] == nijet)
  740. {
  741. format(kFile, sizeof(kFile), "imanja/drva/Drvo_%d.ini", i);
  742. if(fexist(kFile))
  743. {
  744. fremove(kFile);
  745. DestroyDynamic3DTextLabel(DrvoLabel[i]);
  746. DestroyDynamicObject(DI[i][dObjd]);
  747. Delete3DTextLabel(DrvoLabel[i]);
  748. DI[i][dDrvoX] = 0;
  749. DI[i][dDrvoY] = 0;
  750. DI[i][dDrvoZ] = 0;
  751. PI[playerid][pDrvaMax] --;
  752. DI[i][dPostavljeno] = 0;
  753. new vrsta[64];
  754. if(DI[i][dVrsta] == 1) { vrsta = "Sljiva"; }
  755. else if(DI[i][dVrsta] == 2) { vrsta = "Kruska"; }
  756. else if(DI[i][dVrsta] == 3) { vrsta = "Jabuka"; }
  757. PI[playerid][pJabuka] += randjabuke;
  758. format(stringjab,128,"Obrali ste jabuku i dobili ste %d jabuka",randjabuke);
  759. SCM(playerid,-1,stringjab);
  760. }
  761. }
  762. else
  763. SCM(playerid, -1,"{FF0000}ERROR: {FFFFFF}To nije tvoje drvo!!");
  764. }
  765. }
  766. }
  767. return 1;
  768. }
  769. CMD:posadidrvo(playerid, params[])
  770. {
  771. new iddrva = SledeceDrvo();
  772. new stringv[256];
  773. new randcode = 100 + random(899);
  774. new randtext = 100 + random(899);
  775. new Float:pozx, Float:pozy, Float:pozz;
  776. GetPlayerPos(playerid, pozx, pozy, pozz);
  777. new idi = PI[playerid][pImaImanje];
  778. new vrstad;
  779. if(sscanf(params, "i", vrstad))
  780. {
  781. SCM(playerid, -1,"/posadidrvo [1/2/3]");
  782. SCM(playerid, -1,"Vrste Drva | 1: Sljiva | 2: Kruska | 3: Jabuka");
  783. return 1;
  784. }
  785. if(vrstad == 1)
  786. {
  787. for(new i; i < sizeof(DI); i++)
  788. {
  789. 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!");
  790. }
  791. 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!");
  792. if(PI[playerid][pImaImanje] == 2555) return SCM(playerid, -1,"{FF0000}ERROR: {FFFFFF}Nemate imanje!");
  793. if(PI[playerid][pSjemeSljiva] == 0) return SCM(playerid, -1,"{FF0000}ERROR: {FFFFFF}Nemate sjemena za sljive!");
  794. if(PI[playerid][pDrvaMax] > 100) return SCM(playerid, -1,"{FF0000}ERROR: {FFFFFF}Ne mozete vise od 100 da posadite!");
  795. DI[iddrva][dVrsta] = 1;
  796. DI[iddrva][dDrvo] = 777;//777
  797. DI[iddrva][dSat] = 20;
  798. DI[iddrva][dMinuta] = 1;
  799. DI[iddrva][dObjd] = randcode;
  800. DI[iddrva][dText] = randtext;
  801. DI[iddrva][dDrvoX] = pozx;
  802. DI[iddrva][dDrvoY] = pozy;
  803. DI[iddrva][dDrvoZ] = pozz;
  804. new vrsta[158];
  805. if(DI[iddrva][dVrsta] == 1) { vrsta = "Sljiva"; }
  806. else if(DI[iddrva][dVrsta] == 2) { vrsta = "Kruska"; }
  807. else if(DI[iddrva][dVrsta] == 3) { vrsta = "Jabuka"; }
  808. 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);
  809. DI[iddrva][dObjd] = CreateDynamicObject(DI[iddrva][dDrvo], DI[iddrva][dDrvoX]+1,DI[iddrva][dDrvoY],DI[iddrva][dDrvoZ]-4, 0.0000000, 0.0000000, 0.0000000);
  810. DrvoLabel[iddrva] = CreateDynamic3DTextLabel(stringv, -1, DI[iddrva][dDrvoX]+1,DI[iddrva][dDrvoY],DI[iddrva][dDrvoZ], 15);
  811. SCM(playerid,-1,"Posadili ste sljivu!");
  812. DI[iddrva][dIDImanja] = idi;
  813. DI[iddrva][dPostavljeno] = 1;
  814. PI[playerid][pSjemeSljiva] --;
  815. PI[playerid][pDrvaMax] ++;
  816. SacuvajDrvo(iddrva);
  817. SacuvajIgraca(playerid);
  818. }
  819. else if(vrstad == 2)
  820. {
  821. for(new i; i < sizeof(DI); i++)
  822. {
  823. 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!");
  824. }
  825. 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!");
  826. if(PI[playerid][pImaImanje] == 2555) return SCM(playerid, -1,"{FF0000}ERROR: {FFFFFF}Nemate imanje!");
  827. if(PI[playerid][pSjemeKruska] == 0) return SCM(playerid, -1,"{FF0000}ERROR: {FFFFFF}Nemate sjemena za kruske!");
  828. if(PI[playerid][pDrvaMax] > 100) return SCM(playerid, -1,"{FF0000}ERROR: {FFFFFF}Ne mozete vise od 100 da posadite!");
  829. DI[iddrva][dVrsta] = 2;
  830. DI[iddrva][dDrvo] = 673;
  831. DI[iddrva][dSat] = 20;
  832. DI[iddrva][dMinuta] = 1;
  833. DI[iddrva][dObjd] = randcode;
  834. DI[iddrva][dText] = randtext;
  835. DI[iddrva][dDrvoX] = pozx;
  836. DI[iddrva][dDrvoY] = pozy;
  837. DI[iddrva][dDrvoZ] = pozz;
  838. new vrsta[158];
  839. if(DI[iddrva][dVrsta] == 1) { vrsta = "Sljiva"; }
  840. else if(DI[iddrva][dVrsta] == 2) { vrsta = "Kruska"; }
  841. else if(DI[iddrva][dVrsta] == 3) { vrsta = "Jabuka"; }
  842. 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);
  843. DI[iddrva][dObjd] = CreateDynamicObject(DI[iddrva][dDrvo], DI[iddrva][dDrvoX]+1,DI[iddrva][dDrvoY],DI[iddrva][dDrvoZ]-4, 0.0000000, 0.0000000, 0.0000000);
  844. DrvoLabel[iddrva] = CreateDynamic3DTextLabel(stringv, -1, DI[iddrva][dDrvoX]+1,DI[iddrva][dDrvoY],DI[iddrva][dDrvoZ], 15);
  845. SCM(playerid,-1,"Posadili ste krusku!");
  846. DI[iddrva][dIDImanja] = idi;
  847. DI[iddrva][dPostavljeno] = 1;
  848. PI[playerid][pSjemeKruska] --;
  849. PI[playerid][pDrvaMax] ++;
  850. SacuvajDrvo(iddrva);
  851. SacuvajIgraca(playerid);
  852. }
  853. else if(vrstad == 3)
  854. {
  855. for(new i; i < sizeof(DI); i++)
  856. {
  857. 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!");
  858. }
  859. 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!");
  860. if(PI[playerid][pImaImanje] == 2555) return SCM(playerid, -1,"{FF0000}ERROR: {FFFFFF}Nemate imanje!");
  861. if(PI[playerid][pSjemeJabuka] == 0) return SCM(playerid, -1,"{FF0000}ERROR: {FFFFFF}Nemate sjemena za jabuke!");
  862. if(PI[playerid][pDrvaMax] > 100) return SCM(playerid, -1,"{FF0000}ERROR: {FFFFFF}Ne mozete vise od 100 da posadite!");
  863. DI[iddrva][dVrsta] = 3;
  864. DI[iddrva][dDrvo] = 773;
  865. DI[iddrva][dSat] = 20;
  866. DI[iddrva][dMinuta] = 1;
  867. DI[iddrva][dObjd] = randcode;
  868. DI[iddrva][dText] = randtext;
  869. DI[iddrva][dDrvoX] = pozx;
  870. DI[iddrva][dDrvoY] = pozy;
  871. DI[iddrva][dDrvoZ] = pozz;
  872. new vrsta[158];
  873. if(DI[iddrva][dVrsta] == 1) { vrsta = "Sljiva"; }
  874. else if(DI[iddrva][dVrsta] == 2) { vrsta = "Kruska"; }
  875. else if(DI[iddrva][dVrsta] == 3) { vrsta = "Jabuka"; }
  876. 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);
  877. DI[iddrva][dObjd] = CreateDynamicObject(DI[iddrva][dDrvo], DI[iddrva][dDrvoX]+1,DI[iddrva][dDrvoY],DI[iddrva][dDrvoZ]-4, 0.0000000, 0.0000000, 0.0000000);
  878. DrvoLabel[iddrva] = CreateDynamic3DTextLabel(stringv, -1, DI[iddrva][dDrvoX]+1,DI[iddrva][dDrvoY],DI[iddrva][dDrvoZ], 15);
  879. SCM(playerid,-1,"Posadili ste jabuku!");
  880. DI[iddrva][dIDImanja] = idi;
  881. DI[iddrva][dPostavljeno] = 1;
  882. PI[playerid][pSjemeJabuka] --;
  883. PI[playerid][pDrvaMax] ++;
  884. SacuvajDrvo(iddrva);
  885. SacuvajIgraca(playerid);
  886. }
  887. return 1;
  888. }
  889. CMD:kupiimanje(playerid, params[])
  890. {
  891. for(new i; i < sizeof(II); i++)
  892. {
  893. if(IsPlayerInRangeOfPoint(playerid, 3.0, II[i][iUlazX], II[i][iUlazY], II[i][iUlazZ]))
  894. {
  895. if(II[i][iImaVlasnika] == 1) return SCM(playerid,-1,"To imanje nije na prodaju");
  896. if(PI[playerid][pLevel] < II[i][iLevel]) return SCMF(playerid, -1,"Treba vam %d level za ovo imanje!", II[i][iLevel]);
  897. if(PI[playerid][pImaImanje] != 2555) return SCM(playerid, -1,"Vec imas imanje !");
  898. if(JBC_GetPlayerMoney(playerid) < II[i][iCena]) return SCM(playerid,-1,"Nemas dovoljno novca!");
  899. new send[30];
  900. GetPlayerName(playerid, send, sizeof(send));
  901. strmid(II[i][iVlasnik], send, 0, strlen(send), 255);
  902. II[i][iImaVlasnika] = 1;
  903. PI[playerid][pImaImanje] = i;
  904. PI[playerid][pDrvaMax] = 0;
  905. SCM(playerid,-1,"Kupili ste imanje!{FFFFFF} Komande: /imanje, /statsimanja, /posadidrvo, /oberivoce");
  906. JBC_GivePlayerMoney(playerid, -II[i][iCena]);
  907. ImanjeLabelIPickup(i);
  908. SacuvajImanje(i);
  909. SacuvajIgraca(playerid);
  910. }
  911. }
  912. return 1;
  913. }
  914. CMD:eimanje(playerid, params[])
  915. {
  916. if(PI[playerid][pOSC] < 6) return SCM(playerid,-1,"Samo Vlasnik!");
  917. new sta[20],ide,string[100];
  918. if(sscanf(params, "s[20]i",sta,ide)) return SCM(playerid,-1,"/eimanje [level,cena,precnik] [kolicina]");
  919. for(new i; i < MAX_IMANJE; i++)
  920. {
  921. if(IsPlayerInRangeOfPoint(playerid, 3.0, II[i][iUlazX], II[i][iUlazY], II[i][iUlazZ]))
  922. {
  923. if(!strcmp(sta, "level", true))
  924. {
  925. II[i][iLevel] = ide;
  926. ImanjeLabelIPickup(i);
  927. SacuvajImanje(i);
  928. format(string,sizeof(string),"{80FF00} Izmenili ste level imanja(ID: %d) u %d!",i,II[i][iLevel]);
  929. SCM(playerid,-1,string);
  930. }
  931. else if(!strcmp(sta, "cena", true))
  932. {
  933. II[i][iCena] = ide;
  934. ImanjeLabelIPickup(i);
  935. SacuvajImanje(i);
  936. format(string,sizeof(string),"{80FF00} Izmenili ste cenu imanja(ID: %d) u %d!",i,II[i][iCena]);
  937. SCM(playerid,-1,string);
  938. }
  939. else if(!strcmp(sta, "precnik", true))
  940. {
  941. II[i][iPrecnik] = ide;
  942. ImanjeLabelIPickup(i);
  943. SacuvajImanje(i);
  944. format(string,sizeof(string),"{80FF00} Izmenili ste velicinu imanja(ID: %d) u %d!",i,II[i][iPrecnik]);
  945. SCM(playerid,-1,string);
  946. }
  947. }
  948. }
  949. return 1;
  950. }
  951. CMD:imanje(playerid, params[])
  952. {
  953. if(PI[playerid][pImaImanje] == 2555) return SCM(playerid, -1,"Nemate imanje!");
  954. new imedas[MAX_PLAYER_NAME];
  955. GetPlayerName(playerid, imedas, sizeof(imedas));
  956. if(strcmp(II[PI[playerid][pImaImanje]][iVlasnik], imedas, true)) return SCM(playerid, -1,"Niste vlasnik tog imanja!");
  957. new string1[275], string[550];
  958. format(string1,sizeof(string1),"Info\nProdaj Drzavi\nProdaj Igracu{FF0000}(USKORO)");
  959. format(string, sizeof(string), "%s", string1);
  960. SPD(playerid, DIALOG_IMANJCE, DIALOG_STYLE_LIST, "Imanje Opcije", string, "Odaberi", "Izlaz");
  961. return 1;
  962. }
  963. CMD:portimanje(playerid, params[])
  964. {
  965. if(Logovan[playerid] == 0 || !IsPlayerConnected(playerid)) return NisiUlogovan(playerid);
  966. if(PI[playerid][pOSC] < 3) return SCM(playerid,-1,"Samo Admini (AL 3+)!");
  967. new id,kFile[50];
  968. if(sscanf(params,"i",id)) return SCM(playerid,-1,"/portimanje [ID]");
  969. format(kFile, sizeof(kFile), IMANJE_FILE, id);
  970. if(!fexist(kFile)) return SCM(playerid,-1,"ID imanja ne postoji!");
  971. SetPlayerPos(playerid,II[id][iUlazX], II[id][iUlazY], II[id][iUlazZ]);
  972. SetPlayerInterior(playerid,0); SetPlayerVirtualWorld(playerid,0);
  973. return 1;
  974. }
  975. CMD:napraviimanje(playerid, params[])
  976. {
  977. if(PI[playerid][pOSC] < 5) return SCM(playerid, -1,"Samo Vlasnik!");
  978. new string[512];
  979. new imanjeid = 0;
  980. new Float:X, Float:Y, Float:Z;
  981. GetPlayerPos(playerid, X,Y,Z);
  982. for(new b = 0; b < sizeof(II); b++)
  983. {
  984. if(II[b][iPostavljena] == 1)
  985. {
  986. imanjeid = b + 1;
  987. }
  988. }
  989. if(imanjeid > 2000) return SCMF(playerid, -1,"Ne mozete napraviti vise od 100 imanja.");
  990. new cena, lvl, precnik;
  991. if(sscanf(params, "iii", lvl , cena, precnik))
  992. {
  993. SCM(playerid, -1,"/napraviimanje [level] [cena] [precnik]");
  994. return 1;
  995. }
  996. II[imanjeid][iCena] = cena;
  997. II[imanjeid][iLevel] = lvl;
  998. II[imanjeid][iPrecnik] = precnik;
  999. II[imanjeid][iUlazX] = X;
  1000. II[imanjeid][iUlazY] = Y;
  1001. II[imanjeid][iUlazZ] = Z;
  1002. II[imanjeid][iImaVlasnika] = 0;
  1003. II[imanjeid][iPostavljena] = 1;
  1004. strmid(II[imanjeid][iVlasnik],"Niko",0,strlen("Niko"),255);
  1005. 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]);
  1006. ImanjeLabel[imanjeid] = CreateDynamic3DTextLabel(string ,0x80FF80FF,II[imanjeid][iUlazX], II[imanjeid][iUlazY], II[imanjeid][iUlazZ],15);
  1007. ImanjePickup[imanjeid] = CreateDynamicPickup(1273, 1, II[imanjeid][iUlazX], II[imanjeid][iUlazY], II[imanjeid][iUlazZ]);
  1008. format(string,sizeof(string),"Imanje ID:%d je napravljeno.",imanjeid);
  1009. SCM(playerid, -1,string);
  1010. ImanjeLabelIPickup(imanjeid);
  1011. SacuvajImanje(imanjeid);
  1012. new str[128];
  1013. format(str,128,"{B74853}** AdminWarn: %s[%d] je napravio imanje pod id-em %d !.", GetName(playerid),playerid, imanjeid);
  1014. ABroadCast(ZUTA,str,1);
  1015. return 1;
  1016. }
  1017.  
  1018. CMD:izbrisiimanje(playerid, params[])
  1019. {
  1020. if(PI[playerid][pOSC] < 5) return SCM(playerid, -1,"Ne mozes ti to!");
  1021. new kFile[50],id,string[128];
  1022. if(sscanf(params,"i",id)) return SCM(playerid,-1,"/izbrisiimanje [ID imanja]");
  1023. format(kFile, sizeof(kFile), IMANJE_FILE, id);
  1024. if(fexist(kFile))
  1025. {
  1026. fremove(kFile);
  1027. DestroyDynamic3DTextLabel(ImanjeLabel[id]);
  1028. DestroyDynamicPickup(ImanjePickup[id]);
  1029. format(string,sizeof(string), "{B74853}** AdminWarn: %s[%d] je obrisao imanje ID %d", GetName(playerid),playerid,id);
  1030. ABroadCast(COLOR_YELLOW, string, 1);
  1031. II[id][iCena] = -1;
  1032. II[id][iLevel] = -1;
  1033. II[id][iUlazX] = 0.00000;
  1034. II[id][iUlazY] = 0.00000;
  1035. II[id][iUlazZ] = 0.00000;
  1036. II[id][iImaVlasnika] = 0;
  1037. strmid(II[id][iVlasnik],"Izbrisana",0,strlen("Izbrisana"),255);
  1038. }
  1039. else { SCM(playerid,-1,"{FF0000}ERROR: {FFFFFF}Taj id imanja ne postoji!"); }
  1040. return 1;
  1041. }
  1042. //------------------------------------------------------------------------------
  1043. //Ovo dodajte na kraj skripte
  1044. stock ImanjeLabelIPickup(v)
  1045. {
  1046. new string[256];
  1047. if(II[v][iImaVlasnika] == 0)
  1048. {
  1049. DestroyDynamicPickup(ImanjePickup[v]);
  1050. UpdateDynamic3DTextLabelText(ImanjeLabel[v], 0x80FF80FF, string);
  1051. 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]);
  1052. ImanjeLabel[v] = CreateDynamic3DTextLabel(string ,0x80FF80FF,II[v][iUlazX], II[v][iUlazY], II[v][iUlazZ],15);
  1053. ImanjePickup[v] = CreateDynamicPickup(1239, 1, II[v][iUlazX], II[v][iUlazY], II[v][iUlazZ]);
  1054. ImanjeMark[v] = CreateDynamicMapIcon(II[v][iUlazX], II[v][iUlazY], II[v][iUlazZ],56,0);
  1055. }
  1056. else if(II[v][iImaVlasnika] == 1)
  1057. {
  1058. DestroyDynamicPickup(ImanjePickup[v]);
  1059. UpdateDynamic3DTextLabelText(ImanjeLabel[v], 0x33CCFFAA, string);
  1060. 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]);
  1061. ImanjeLabel[v] = CreateDynamic3DTextLabel(string ,0x80FF80FF,II[v][iUlazX], II[v][iUlazY], II[v][iUlazZ],15);
  1062. ImanjePickup[v] = CreateDynamicPickup(1239, 1, II[v][iUlazX], II[v][iUlazY], II[v][iUlazZ]);
  1063. ImanjeMark[v] = CreateDynamicMapIcon(II[v][iUlazX], II[v][iUlazY], II[v][iUlazZ],56,0);
  1064. }
  1065. return 1;
  1066. }
  1067.  
  1068. forward DodajNeaktivnostImanje();
  1069. public DodajNeaktivnostImanje()
  1070. {
  1071. for(new imanjeid = 0; imanjeid <= MAX_IMANJE; imanjeid++)
  1072. {
  1073. if(II[imanjeid][iImaVlasnika]==1)
  1074. {
  1075. if(!IsPlayerConnected(GetPlayerIDS(II[imanjeid][iVlasnik])))
  1076. {
  1077. II[imanjeid][iNeakt] += 1;
  1078. }
  1079. else
  1080. {
  1081. II[imanjeid][iNeakt] = 0;
  1082. }
  1083. if(II[imanjeid][iNeakt] > 499)
  1084. {
  1085. II[imanjeid][iImaVlasnika] = 0;
  1086. strmid(II[imanjeid][iVlasnik], "Na prodaju zbog neaktivnosti", 0, strlen("Na prodaju zbog neaktivnosti"), 255);
  1087. II[imanjeid][iNeakt] = 0;
  1088. }
  1089. }
  1090. }
  1091. return 1;
  1092. }
  1093. Funkcija SacuvajImanje(idimanja)
  1094. {
  1095. new dFile[128];
  1096. format(dFile, sizeof(dFile),"imanja/Imanje_%d.ini",idimanja);
  1097. new INI:File = INI_Open(dFile);
  1098. INI_WriteInt(File,"iImaVlasnika",II[idimanja][iImaVlasnika]);
  1099. INI_WriteString(File,"iVlasnik",II[idimanja][iVlasnik]);
  1100. INI_WriteFloat(File,"iUlazX",II[idimanja][iUlazX]);
  1101. INI_WriteFloat(File,"iUlazY",II[idimanja][iUlazY]);
  1102. INI_WriteFloat(File,"iUlazZ",II[idimanja][iUlazZ]);
  1103. INI_WriteInt(File,"iCena",II[idimanja][iCena]);
  1104. INI_WriteInt(File,"iLevel",II[idimanja][iLevel]);
  1105. INI_WriteInt(File,"iPostavljena",II[idimanja][iPostavljena]);
  1106. INI_WriteInt(File,"iNeakt",II[idimanja][iNeakt]);
  1107. INI_WriteInt(File,"iPrecnik",II[idimanja][iPrecnik]);
  1108.  
  1109. INI_Close(File);
  1110. return 1;
  1111. }
  1112.  
  1113. Funkcija SacuvajDrvo(iddrveta)
  1114. {
  1115. new dFile[128];
  1116. format(dFile, sizeof(dFile),"imanja/drva/Drvo_%d.ini",iddrveta);
  1117. new INI:File = INI_Open(dFile);
  1118. INI_WriteFloat(File,"dDrvoX",DI[iddrveta][dDrvoX]);
  1119. INI_WriteFloat(File,"dDrvoY",DI[iddrveta][dDrvoY]);
  1120. INI_WriteFloat(File,"dDrvoZ",DI[iddrveta][dDrvoZ]);
  1121. INI_WriteInt(File,"dIDImanja",DI[iddrveta][dIDImanja]);
  1122. INI_WriteInt(File,"dVrijeme",DI[iddrveta][dVrijeme]);
  1123. INI_WriteInt(File,"dPostavljeno",DI[iddrveta][dPostavljeno]);
  1124. INI_WriteInt(File,"dObjd",DI[iddrveta][dObjd]);
  1125. INI_WriteInt(File,"dText",DI[iddrveta][dText]);
  1126. INI_WriteInt(File,"dVrsta",DI[iddrveta][dVrsta]);
  1127. INI_WriteInt(File,"dMinuta",DI[iddrveta][dMinuta]);
  1128. INI_WriteInt(File,"dSat",DI[iddrveta][dSat]);
  1129. INI_WriteInt(File,"dDrvo",DI[iddrveta][dDrvo]);
  1130.  
  1131. INI_Close(File);
  1132. return 1;
  1133. }
  1134.  
  1135. Funkcija UcitajDrvo(iddrveta, name[], value[])
  1136. {
  1137. INI_Float("dDrvoX",DI[iddrveta][dDrvoX]);
  1138. INI_Float("dDrvoY",DI[iddrveta][dDrvoY]);
  1139. INI_Float("dDrvoZ",DI[iddrveta][dDrvoZ]);
  1140. INI_Int("dIDImanja",DI[iddrveta][dIDImanja]);
  1141. INI_Int("dVrijeme",DI[iddrveta][dVrijeme]);
  1142. INI_Int("dPostavljeno",DI[iddrveta][dPostavljeno]);
  1143. INI_Int("dObjd",DI[iddrveta][dObjd]);
  1144. INI_Int("dText",DI[iddrveta][dText]);
  1145. INI_Int("dVrsta",DI[iddrveta][dVrsta]);
  1146. INI_Int("dMinuta",DI[iddrveta][dMinuta]);
  1147. INI_Int("dSat",DI[iddrveta][dSat]);
  1148. INI_Int("dDrvo",DI[iddrveta][dDrvo]);
  1149. return 1;
  1150. }
  1151.  
  1152. Funkcija UcitajImanje(idimanja, name[], value[])
  1153. {
  1154. INI_Int("iImaVlasnika",II[idimanja][iImaVlasnika]);
  1155. INI_String("iVlasnik",II[idimanja][iVlasnik],32);
  1156. INI_Float("iUlazX",II[idimanja][iUlazX]);
  1157. INI_Float("iUlazY",II[idimanja][iUlazY]);
  1158. INI_Float("iUlazZ",II[idimanja][iUlazZ]);
  1159. INI_Int("iLevel",II[idimanja][iLevel]);
  1160. INI_Int("iCena",II[idimanja][iCena]);
  1161. INI_Int("iPostavljena",II[idimanja][iPostavljena]);
  1162. INI_Int("iNeakt",II[idimanja][iNeakt]);
  1163. INI_Int("iPrecnik",II[idimanja][iPrecnik]);
  1164. return 1;
  1165. }
  1166.  
  1167. forward PredRaste();
  1168. public PredRaste()
  1169. {
  1170. DrvoRaste();
  1171. return 1;
  1172. }
  1173.  
  1174. forward DrvoRaste();
  1175. public DrvoRaste()
  1176. {
  1177. for(new i; i < sizeof(DI); i++)
  1178. {
  1179. new gFajl[35];
  1180. new stringv[160];
  1181. format(gFajl, 50, "imanja/drva/Drvo_%d.ini" ,i);
  1182. new vrsta[64];
  1183. if(DI[i][dVrsta] == 1) { vrsta = "Sljiva"; }
  1184. else if(DI[i][dVrsta] == 2) { vrsta = "Kruska"; }
  1185. else if(DI[i][dVrsta] == 3) { vrsta = "Jabuka"; }
  1186. if(fexist(gFajl))
  1187. {
  1188. if(DI[i][dSat] >= 0 && DI[i][dMinuta] >= 1)
  1189. {
  1190. DI[i][dMinuta] --;
  1191. 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);
  1192. UpdateDynamic3DTextLabelText(DrvoLabel[i], -1, stringv);
  1193. SacuvajDrvo(i);
  1194. }
  1195. else if(DI[i][dMinuta] == 0 && DI[i][dSat] >= 1)
  1196. {
  1197. DI[i][dSat] --;
  1198. DI[i][dMinuta] = 60;
  1199. 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);
  1200. UpdateDynamic3DTextLabelText(DrvoLabel[i], -1, stringv);
  1201. SacuvajDrvo(i);
  1202. }
  1203. else if(DI[i][dSat] == 0 && DI[i][dMinuta] == 0)
  1204. {
  1205. format(stringv,256,"{FD722F}Voce je izraslo!\nDa oberes voce kucaj{FFFFFF}/oberivoce\n{FD722F}Vrsta drveta:{FFFFFF}%s",vrsta);
  1206. UpdateDynamic3DTextLabelText(DrvoLabel[i], -1, stringv);
  1207. SacuvajDrvo(i);
  1208. }
  1209. }
  1210. }
  1211. return 1;
  1212. }
Advertisement
Add Comment
Please, Sign In to add comment