Advertisement
Guest User

Untitled

a guest
Dec 24th, 2015
539
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 22.07 KB | None | 0 0
  1. ///////////////////Stan sistem v1.0 by Victor Nicchi ///////////////////////////
  2. ////////////////// Edit HSa od Greedy.amx //////////////////////////////////////
  3. #include <a_samp>
  4. #include <sscanf2>
  5. #include <foreach>
  6. #include <YSI\y_commands>
  7. #include <YSI\y_ini>
  8. /////////////////////////////////////////////////////////
  9. #define BELA "{FFFFFF}"
  10. #define ZELENA "{0ed400}"
  11. #define CRVENA "{F81414}"
  12. #define ZUTA "{F3FF02}"
  13. #define SPLAVA "{00C0FF}"
  14. #define SIVA "{C0C0C0}"
  15. #define COL_RED "{F81414}"
  16. ////////////////////////////////////////////////////////
  17. #define SCM SendClientMessage
  18. #define SPD ShowPlayerDialog
  19. ////////////////////////////////////////////////////////
  20. #define STAN_FILE "Stanovi/%d.ini"
  21. #define IGRAC_FILE "Korisnici/%s.ini"
  22. #define DIALOG_STAN 321
  23. #define DIALOG_OSNOVAC 323
  24. #define DIALOG_USNOVAC 325
  25. #define DIALOG_ISTAN 327
  26. #define MAX_STAN 50
  27. ///////////////////////////////////////////////////////
  28. enum Stan
  29. {
  30. sProvjeraVlasnika,
  31. sVlasnik[45],
  32. Float:sUlazX,
  33. Float:sUlazY,
  34. Float:sUlazZ,
  35. Float:sIzlazX,
  36. Float:sIzlazY,
  37. Float:sIzlazZ,
  38. sLevel,
  39. sCijena,
  40. sNovac,
  41. sInt,
  42. sZatvoreno,
  43. sVW,
  44. sOruzje,
  45. sMunicija,
  46. sZvono
  47. };
  48. new StanInfo[MAX_STAN][Stan];
  49. new StanPickup[sizeof(StanInfo)];
  50. new Text3D:StanLabel[sizeof(StanInfo)];
  51. ///////////////////////////////////////////////////
  52. enum pInfo
  53. {
  54. pPosjedovanjeStan,
  55. pProvjeraSpawna
  56. }
  57. new PlayerInfo[MAX_PLAYERS][pInfo];
  58. ///////////////////////////////////////////////////
  59. public OnFilterScriptInit()
  60. {
  61. for(new idstana = 0; idstana < sizeof(StanInfo); idstana++)
  62. {
  63. new kFile[50], string[400];
  64. format(kFile, sizeof(kFile), STAN_FILE, idstana);
  65. if(fexist(kFile))
  66. {
  67. INI_ParseFile(kFile, "UcitajStan", .bExtra = true, .extra = idstana);
  68. if(StanInfo[idstana][sProvjeraVlasnika] == 0)
  69. {
  70. format(string,sizeof(string),""SPLAVA"Stan na Prodaju!\n"SPLAVA"Cijena: "BELA"%d\n"SPLAVA"Level: "BELA"%d\n"SPLAVA"ID: "BELA"%d\n"SPLAVA"Za kupovinu /kupistan",StanInfo[idstana][sCijena],StanInfo[idstana][sLevel],idstana);
  71. StanLabel[idstana] = Create3DTextLabel(string ,0x33CCFFAA,StanInfo[idstana][sUlazX],StanInfo[idstana][sUlazY],StanInfo[idstana][sUlazZ],25,0,1);
  72. StanPickup[idstana] = CreatePickup(1273, 1, StanInfo[idstana][sUlazX], StanInfo[idstana][sUlazY], StanInfo[idstana][sUlazZ]);
  73. }
  74. else if(StanInfo[idstana][sProvjeraVlasnika] == 1)
  75. {
  76. format(string,sizeof(string),""SPLAVA"Vlasnik: "BELA"%s\n"SPLAVA"Level: "BELA"%d\n"SPLAVA"Cijena: "BELA"%d\n"SPLAVA"ID: "BELA"%d\n"SPLAVA"'F' za ulaz u stan",StanInfo[idstana][sVlasnik],StanInfo[idstana][sLevel],StanInfo[idstana][sCijena],idstana);
  77. StanLabel[idstana] = Create3DTextLabel(string ,0x33CCFFAA,StanInfo[idstana][sUlazX],StanInfo[idstana][sUlazY],StanInfo[idstana][sUlazZ],25,0,1);
  78. StanPickup[idstana] = CreatePickup(1239, 1, StanInfo[idstana][sUlazX], StanInfo[idstana][sUlazY], StanInfo[idstana][sUlazZ]);
  79. }
  80. }
  81. }
  82. DisableInteriorEnterExits(); print("Stan sistem by Victor Nicchi");
  83. return 1;
  84. }
  85. ///////////////////////////////////////////////////
  86. public OnFilterScriptExit()
  87. {
  88. for(new k = 0; k <= MAX_STAN; k++) { SacuvajStan(k); }
  89. return 1;
  90. }
  91. ///////////////////////////////////////////////////
  92. public OnPlayerConnect(playerid)
  93. {
  94. PlayerInfo[playerid][pProvjeraSpawna] = 0; PlayerInfo[playerid][pPosjedovanjeStan] = -1;
  95. new igraci[50]; format(igraci, sizeof(igraci), IGRAC_FILE, ImeIgraca(playerid));
  96. if(!fexist(igraci))
  97. {
  98. MiniRegis(playerid);
  99. }
  100. else
  101. {
  102. INI_ParseFile(igraci, "UcitavanjeIgraca", .bExtra = true, .extra = playerid);
  103. SCM(playerid,-1,"Ucitavanje...");
  104. }
  105. return 1;
  106. }
  107. ///////////////////////////////////////////////////
  108. public OnPlayerDisconnect(playerid, reason)
  109. {
  110. SacuvajIgraca(playerid);
  111. return 1;
  112. }
  113. ///////////////////////////////////////////////////
  114. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  115. {
  116. if( newkeys == KEY_SECONDARY_ATTACK )
  117. {
  118. for(new i; i < MAX_STAN; i++)
  119. {
  120. if(IsPlayerInRangeOfPoint(playerid, 3.0, StanInfo[i][sUlazX], StanInfo[i][sUlazY], StanInfo[i][sUlazZ]))
  121. {
  122. if(StanInfo[i][sZatvoreno] == 1) return SCM(playerid,-1,""SPLAVA"[Stan] "SIVA"Zakljucan!");
  123. SetPlayerVirtualWorld(playerid, StanInfo[i][sVW]);
  124. SetPlayerInterior(playerid, StanInfo[i][sInt]);
  125. SetPlayerPos(playerid, StanInfo[i][sIzlazX], StanInfo[i][sIzlazY], StanInfo[i][sIzlazZ]);
  126. return 1;
  127. }
  128. if(IsPlayerInRangeOfPoint(playerid, 3.0, StanInfo[i][sIzlazX], StanInfo[i][sIzlazY], StanInfo[i][sIzlazZ]) && GetPlayerVirtualWorld(playerid) == StanInfo[i][sVW])
  129. {
  130. SetPlayerInterior(playerid, 0);
  131. SetPlayerVirtualWorld(playerid, 0);
  132. SetPlayerPos(playerid, StanInfo[i][sUlazX], StanInfo[i][sUlazY], StanInfo[i][sUlazZ]);
  133. return 1;
  134. }
  135. }
  136. }
  137. return 1;
  138. }
  139. ///////////////////////////////////////////////////
  140. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  141. {
  142. if(dialogid == DIALOG_STAN)
  143. {
  144. if(!response) return 1;
  145. if(PlayerInfo[playerid][pPosjedovanjeStan] == -1) return SCM(playerid,-1, "("COL_RED"Greska{FFFFFF}!) Nemate stan!");
  146. new i = PlayerInfo[playerid][pPosjedovanjeStan];
  147. switch(listitem)
  148. {
  149. case 0:
  150. {
  151. new string[256];
  152. SCM(playerid,-1,"""|---------------------------------------------------------------------------------------------------|");
  153. format(string,sizeof(string),""SIVA"| Vlasnik: %s | Level: %d ",StanInfo[i][sVlasnik],StanInfo[i][sLevel]);
  154. SCM(playerid,-1,string);
  155. format(string,sizeof(string),""SIVA"Cijena: %d | ID: %d | Novac: %d | Oruzje: %d | Municija: %d",StanInfo[i][sCijena],i,StanInfo[i][sNovac],StanInfo[i][sOruzje],StanInfo[i][sMunicija]);
  156. SCM(playerid,-1,string);
  157. SCM(playerid,-1,""SPLAVA"|---------------------------------------------------------------------------------------------------|");
  158. }
  159. case 1:
  160. {
  161. if(StanInfo[i][sZatvoreno] == 0) return SCM(playerid,-1,"("COL_RED"Greska{FFFFFF}!) Vec je otkljucan!");
  162. StanInfo[i][sZatvoreno] = 0; SacuvajStan(i);
  163. SCM(playerid,-1, ""SPLAVA"[Stan] "BELA"Stan otkljucan!");
  164. }
  165. case 2:
  166. {
  167. if(StanInfo[i][sZatvoreno] == 1) return SCM(playerid,-1,"("COL_RED"Greska{FFFFFF}!) Vec je zakljucan!");
  168. StanInfo[i][sZatvoreno] = 1; SacuvajStan(i);
  169. SCM(playerid,-1, ""SPLAVA"[Stan] "BELA"Stan zakljucan!");
  170. }
  171. case 3:
  172. {
  173. SPD(playerid,DIALOG_OSNOVAC,DIALOG_STYLE_INPUT, ""SPLAVA"Ostavljanje Novca", ""BELA"Unesite kolicinu novca koju zelite ostaviti", "Ostavi", "Izlaz");
  174. }
  175. case 4:
  176. {
  177. SPD(playerid,DIALOG_USNOVAC,DIALOG_STYLE_INPUT, ""SPLAVA"Uzimanje Novca", ""BELA"Unesite kolicinu novca koju zelite uzeti", "Uzmi", "Izlaz");
  178. }
  179. case 5:
  180. {
  181. if(StanInfo[i][sOruzje] != -1) return SCM(playerid,-1,"("COL_RED"Greska{FFFFFF}!) Vec imas oruzje u stanu!");
  182. if(GetPlayerWeapon(playerid) <= 0) return SCM(playerid,-1,"("COL_RED"Greska{FFFFFF}!) Nemas oruzje u ruci!");
  183. StanInfo[i][sOruzje] = GetPlayerWeapon(playerid); StanInfo[i][sMunicija] = GetPlayerAmmo(playerid);
  184. SCM(playerid,-1,""ZUTA"Ostavili ste oruzje u stanu!"); SacuvajStan(i); SetPlayerAmmo(playerid, GetPlayerWeapon(playerid), 0);
  185. }
  186. case 6:
  187. {
  188. if(StanInfo[i][sOruzje] == -1) return SCM(playerid,-1,"("COL_RED"Greska{FFFFFF}!) Nemas oruzje u stanu!");
  189. GivePlayerWeapon(playerid,StanInfo[i][sOruzje],StanInfo[i][sMunicija]); StanInfo[i][sOruzje] = -1; StanInfo[i][sMunicija] = -1;
  190. SacuvajStan(i); SCM(playerid,-1,""ZUTA"Uzeli ste oruzje iz vaseg stana!");
  191. }
  192. case 7:
  193. {
  194. new string[60]; GivePlayerMoney(playerid,StanInfo[i][sCijena]);
  195. StanInfo[i][sProvjeraVlasnika] = 0; StanInfo[i][sNovac] = 0; StanInfo[i][sOruzje] = -1; StanInfo[i][sMunicija] = 0;
  196. strmid(StanInfo[i][sVlasnik], "Niko", 0, strlen("Niko"), 255); PlayerInfo[playerid][pPosjedovanjeStan] = -1;
  197. SacuvajStan(i); StanLP(i); SacuvajIgraca(playerid);
  198. format(string,sizeof(string),""ZUTA"Prodali ste stan za {FFFFFF}%d!",StanInfo[i][sCijena]);
  199. SCM(playerid,-1,string);
  200. }
  201. /* case 8:
  202. {
  203. PlayerInfo[playerid][pProvjeraSpawna] = 1;
  204. SCM(playerid,-1,""ZUTA"Od sada cete se spawnati u stanu!");
  205. }*/
  206. case 8:
  207. {
  208. if(StanInfo[i][sZvono] == 1) return SCM(playerid,-1,"("COL_RED"Greska{FFFFFF}!) Vec imas zvono na stanu!");
  209. if(GetPlayerMoney(playerid) < 5000) return SCM(playerid,-1,"("COL_RED"Greska{FFFFFF}!) Nemas dovoljno novca!");
  210. StanInfo[i][sZvono] = 1; GivePlayerMoney(playerid,-5000); SCM(playerid,-1,""ZUTA"Ugradili ste zvono u vas stan!");
  211. }
  212. }
  213. }
  214. ///////////////////////////////////////////////////
  215. ///////////////////////////////////////////////////
  216. if(dialogid == DIALOG_OSNOVAC)
  217. {
  218. if(PlayerInfo[playerid][pPosjedovanjeStan] == -1) return SCM(playerid,-1, "("COL_RED"Greska{FFFFFF}!) Nemate stan!");
  219. new i = PlayerInfo[playerid][pPosjedovanjeStan];
  220. if(response)
  221. {
  222. new iznos,string[256];
  223. if(sscanf(inputtext, "i", iznos)) return SPD(playerid,DIALOG_OSNOVAC,DIALOG_STYLE_INPUT, ""SPLAVA"Ostavljanje Novca", ""BELA"Unesite kolicinu novca koju zelite ostaviti", "Ostavi", "Izlaz");
  224. if(iznos > GetPlayerMoney(playerid)) return SCM(playerid,-1,"("COL_RED"Greska{FFFFFF}!) Nemate toliko novca!");
  225. if(iznos < 1 || iznos > 100000) return SCM(playerid,-1,"("COL_RED"Greska{FFFFFF}!) Suma ne mozete biti manja od 1 i veca od 100000!");
  226. StanInfo[i][sNovac] += iznos; GivePlayerMoney(playerid, -iznos); SacuvajStan(i);
  227. format(string,sizeof(string),"{F3FF02}Ostavili ste u stanu {FFFFFF} %d$!",iznos);
  228. SCM(playerid,-1,string);
  229. }
  230. }
  231. //////////////////////////////////////////////////
  232. if(dialogid == DIALOG_USNOVAC)
  233. {
  234. if(PlayerInfo[playerid][pPosjedovanjeStan] == -1) return SCM(playerid,-1, "("COL_RED"Greska{FFFFFF}!) Nemate stan!");
  235. new i = PlayerInfo[playerid][pPosjedovanjeStan];
  236. if(response)
  237. {
  238. new iznos,string[256];
  239. if(sscanf(inputtext, "i", iznos)) return SPD(playerid,DIALOG_USNOVAC,DIALOG_STYLE_INPUT, ""SPLAVA"Uzimanje Novca", ""BELA"Unesite kolicinu novca koju zelite da uzmete", "Uzmi", "Izlaz");
  240. if(iznos > StanInfo[i][sNovac]) return SCM(playerid,-1,"("COL_RED"Greska{FFFFFF}!) Nemate toliko novca u stanu!");
  241. if(iznos < 1 || iznos > 100000) return SCM(playerid,-1,"("COL_RED"Greska{FFFFFF}!) Suma ne mozete biti manja od 1 i veca od 100000!");
  242. StanInfo[i][sNovac] -= iznos; GivePlayerMoney(playerid, iznos); SacuvajStan(i);
  243. format(string,sizeof(string),"{F3FF02}Uzeli ste iz stana {FFFFFF}%d$!",iznos);
  244. SCM(playerid,-1,string);
  245. }
  246. }
  247. return 1;
  248. }
  249. ////////////////////////////////////////////////////
  250. public OnPlayerSpawn(playerid)
  251. {
  252. if(PlayerInfo[playerid][pProvjeraSpawna] == 1 && PlayerInfo[playerid][pPosjedovanjeStan] != -1)
  253. {
  254. new i = PlayerInfo[playerid][pPosjedovanjeStan];
  255. SetPlayerInterior(playerid, 0); SetPlayerVirtualWorld(playerid, 0);
  256. SetPlayerPos(playerid, StanInfo[i][sUlazX], StanInfo[i][sUlazY], StanInfo[i][sUlazZ]);
  257. }
  258. return 1;
  259. }
  260. ///////////////////////////////////////////////////
  261. forward UcitajStan(idstana, name[], value[]);
  262. public UcitajStan(idstana, name[], value[])
  263. {
  264. INI_Int("ProvjeraVlasnika",StanInfo[idstana][sProvjeraVlasnika]);
  265. INI_String("Vlasnik",StanInfo[idstana][sVlasnik],45);
  266. INI_Float("UlazX",StanInfo[idstana][sUlazX]);
  267. INI_Float("UlazY",StanInfo[idstana][sUlazY]);
  268. INI_Float("UlazZ",StanInfo[idstana][sUlazZ]);
  269. INI_Float("IzlazX",StanInfo[idstana][sIzlazX]);
  270. INI_Float("IzlazY",StanInfo[idstana][sIzlazY]);
  271. INI_Float("IzlazZ",StanInfo[idstana][sIzlazZ]);
  272. INI_Int("Level",StanInfo[idstana][sLevel]);
  273. INI_Int("Cijena",StanInfo[idstana][sCijena]);
  274. INI_Int("Novac",StanInfo[idstana][sNovac]);
  275. INI_Int("Interior",StanInfo[idstana][sInt]);
  276. INI_Int("Zatvoreno",StanInfo[idstana][sZatvoreno]);
  277. INI_Int("VW",StanInfo[idstana][sVW]);
  278. INI_Int("Oruzije",StanInfo[idstana][sOruzje]);
  279. INI_Int("Municija",StanInfo[idstana][sMunicija]);
  280. INI_Int("Zvono",StanInfo[idstana][sZvono]);
  281. return 1;
  282. }
  283. ///////////////////////////////////////////////////
  284. stock SacuvajStan(idstana)
  285. {
  286. new kFile[128];
  287. format(kFile, sizeof(kFile), STAN_FILE, idstana);
  288. new INI:File = INI_Open(kFile);
  289. INI_WriteInt(File,"ProvjeraVlasnika",StanInfo[idstana][sProvjeraVlasnika]);
  290. INI_WriteString(File,"Vlasnik",StanInfo[idstana][sVlasnik]);
  291. INI_WriteFloat(File,"UlazX",StanInfo[idstana][sUlazX]);
  292. INI_WriteFloat(File,"UlazY",StanInfo[idstana][sUlazY]);
  293. INI_WriteFloat(File,"UlazZ",StanInfo[idstana][sUlazZ]);
  294. INI_WriteFloat(File,"IzlazX",StanInfo[idstana][sIzlazX]);
  295. INI_WriteFloat(File,"IzlazY",StanInfo[idstana][sIzlazY]);
  296. INI_WriteFloat(File,"IzlazZ",StanInfo[idstana][sIzlazZ]);
  297. INI_WriteInt(File,"Level",StanInfo[idstana][sLevel]);
  298. INI_WriteInt(File,"Cijena",StanInfo[idstana][sCijena]);
  299. INI_WriteInt(File,"Novac",StanInfo[idstana][sNovac]);
  300. INI_WriteInt(File,"Interior",StanInfo[idstana][sInt]);
  301. INI_WriteInt(File,"Zatvoreno",StanInfo[idstana][sZatvoreno]);
  302. INI_WriteInt(File,"VW",StanInfo[idstana][sVW]);
  303. INI_WriteInt(File,"Oruzije",StanInfo[idstana][sOruzje]);
  304. INI_WriteInt(File,"Municija",StanInfo[idstana][sMunicija]);
  305. INI_WriteInt(File,"Zvono",StanInfo[idstana][sZvono]);
  306. INI_Close(File);
  307. return 1;
  308. }
  309. //////////////////////////////////////////////////////
  310. stock MiniRegis(playerid)
  311. {
  312. new igraci[50]; format(igraci, sizeof(igraci), IGRAC_FILE, ImeIgraca(playerid));
  313. new INI:File = INI_Open(igraci);
  314. INI_WriteInt(File,"PosjedovanjeStan",-1);
  315. INI_WriteInt(File,"ProvjeraSpawna",0);
  316. INI_Close(File);
  317. return 1;
  318. }
  319. /////////////////////////////////////////////////////
  320. forward UcitavanjeIgraca(playerid, name[], value[]);
  321. public UcitavanjeIgraca(playerid, name[], value[])
  322. {
  323. INI_Int("PosjedovanjeStan",PlayerInfo[playerid][pPosjedovanjeStan]);
  324. INI_Int("ProvjeraSpawna",PlayerInfo[playerid][pProvjeraSpawna]);
  325. return 1;
  326. }
  327. /////////////////////////////////////////////////////
  328. stock SacuvajIgraca(playerid)
  329. {
  330. new igraci[50]; format(igraci, sizeof(igraci), IGRAC_FILE, ImeIgraca(playerid));
  331. new INI:File = INI_Open(igraci);
  332. INI_WriteInt(File,"PosjedovanjeStan",PlayerInfo[playerid][pPosjedovanjeStan]);
  333. INI_WriteInt(File,"ProvjeraSpawna",PlayerInfo[playerid][pProvjeraSpawna]);
  334. INI_Close(File);
  335. return 1;
  336. }
  337. /////////////////////////////////////////////////////
  338. stock StanLP(idstana)
  339. {
  340. new string[400];
  341. if(StanInfo[idstana][sProvjeraVlasnika] == 0)
  342. {
  343. Delete3DTextLabel(StanLabel[idstana]);
  344. DestroyPickup(StanPickup[idstana]);
  345. format(string,sizeof(string),""SPLAVA"Stan na Prodaju!\n"SPLAVA"Cijena: "BELA"%d\n"SPLAVA"Level: "BELA"%d\n"SPLAVA"ID: "BELA"%d\n"SPLAVA"Za kupovinu /kupistan",StanInfo[idstana][sCijena],StanInfo[idstana][sLevel],idstana);
  346. StanLabel[idstana] = Create3DTextLabel(string ,0x33CCFFAA,StanInfo[idstana][sUlazX],StanInfo[idstana][sUlazY],StanInfo[idstana][sUlazZ],25,0,1);
  347. StanPickup[idstana] = CreatePickup(1273, 1, StanInfo[idstana][sUlazX], StanInfo[idstana][sUlazY], StanInfo[idstana][sUlazZ]);
  348. }
  349. else if(StanInfo[idstana][sProvjeraVlasnika] == 1)
  350. {
  351. Delete3DTextLabel(StanLabel[idstana]);
  352. DestroyPickup(StanPickup[idstana]);
  353. format(string,sizeof(string),""SPLAVA"Vlasnik: "BELA"%s\n"SPLAVA"Level: "BELA"%d\n"SPLAVA"Cijena: "BELA"%d\n"SPLAVA"ID: "BELA"%d\n"SPLAVA"'F' za ulaz u stan",StanInfo[idstana][sVlasnik],StanInfo[idstana][sLevel],StanInfo[idstana][sCijena],idstana);
  354. StanLabel[idstana] = Create3DTextLabel(string ,0x33CCFFAA,StanInfo[idstana][sUlazX],StanInfo[idstana][sUlazY],StanInfo[idstana][sUlazZ],25,0,1);
  355. StanPickup[idstana] = CreatePickup(1239, 1, StanInfo[idstana][sUlazX], StanInfo[idstana][sUlazY], StanInfo[idstana][sUlazZ]);
  356. }
  357. return 1;
  358. }
  359. ////////////////////////////////////////////////////
  360. stock ImeIgraca(playerid)
  361. {
  362. new name[MAX_PLAYER_NAME];
  363. GetPlayerName(playerid, name, sizeof(name));
  364. return name;
  365. }
  366. ///////////////////////////////////////////////////
  367. YCMD:kreirajstan(playerid, params[],help)
  368. {
  369. #pragma unused help
  370. if(!IsPlayerAdmin(playerid)) return SCM(playerid,-1,"("COL_RED"Greska{FFFFFF}!) {C0C0C0}Niste ovlasteni!");
  371. new idstana,level,cijena,Float:X,Float:Y,Float:Z,fstana[80],string[400]; GetPlayerPos(playerid,X,Y,Z);
  372. if(sscanf(params, "iiii",idstana,level,cijena)) return SCM(playerid,-1,"{C0C0C0}Koristi: /kreirajstan [ID] [Level] [Cijena]");
  373. if(idstana >= MAX_STAN) return SCM(playerid,-1, "("COL_RED"Greska{FFFFFF}!) {FFFFFF}Maximum stanova je ogranicen, ne mozes koristiti taj ID!");
  374. format(fstana, sizeof(fstana), STAN_FILE, idstana);
  375. if(fexist(fstana)) return SCM(playerid,-1, "("COL_RED"Greska{FFFFFF}!) ID tog stana vec postoji!");
  376. StanInfo[idstana][sCijena] = cijena; StanInfo[idstana][sLevel] = level; StanInfo[idstana][sUlazX] = X;
  377. StanInfo[idstana][sUlazY] = Y; StanInfo[idstana][sUlazZ] = Z; StanInfo[idstana][sProvjeraVlasnika] = 0;
  378. StanInfo[idstana][sNovac] = 0; StanInfo[idstana][sZatvoreno] = 1; StanInfo[idstana][sVW] = idstana; StanInfo[idstana][sZvono] = 0;
  379. StanInfo[idstana][sOruzje] = -1; StanInfo[idstana][sMunicija] = 0;
  380.  
  381. StanInfo[idstana][sIzlazX] = 1698.0801;
  382. StanInfo[idstana][sIzlazY] = -1386.5389;
  383. StanInfo[idstana][sIzlazZ] = 37.2989;
  384.  
  385. strmid(StanInfo[idstana][sVlasnik],"Niko",0,strlen("Niko"),255);
  386. format(string,sizeof(string),""SPLAVA"Stan na Prodaju!\n"ZELENA"Cijena: "BELA"%d\n"SPLAVA"Level: "BELA"%d\n"SPLAVA"ID: "BELA"%d\n"SPLAVA"Za kupovinu /kupistan",StanInfo[idstana][sCijena],StanInfo[idstana][sLevel],idstana);
  387. StanLabel[idstana] = Create3DTextLabel(string ,0x33CCFFAA,X,Y,Z,25,0,1);
  388. StanPickup[idstana] = CreatePickup(1273, 1, StanInfo[idstana][sUlazX], StanInfo[idstana][sUlazY], StanInfo[idstana][sUlazZ]);
  389. SCM(playerid,-1,""SIVA"Stan je uspjesno kreiran!"); SacuvajStan(idstana);
  390.  
  391.  
  392. return 1;
  393. }
  394.  
  395.  
  396. ///////////////////////////////
  397. YCMD:kupistan(playerid, params[], help)
  398. {
  399. #pragma unused help
  400. #pragma unused params
  401. for(new i; i < sizeof(StanInfo); i++)
  402. {
  403. if(IsPlayerInRangeOfPoint(playerid, 3.0, StanInfo[i][sUlazX], StanInfo[i][sUlazY], StanInfo[i][sUlazZ]))
  404. {
  405. if(!strcmp(StanInfo[i][sVlasnik], "Niko", true) && StanInfo[i][sProvjeraVlasnika] == 0)
  406. {
  407. if(PlayerInfo[playerid][pPosjedovanjeStan] != -1) return SCM(playerid,-1, "("COL_RED"Greska{FFFFFF}!) Vec imas stan!");
  408. if(GetPlayerScore(playerid) < StanInfo[i][sLevel]) return SCM(playerid,-1,"("COL_RED"Greska{FFFFFF}!) Nemas level za kupnju stana!");
  409. if(GetPlayerMoney(playerid) < StanInfo[i][sCijena]) return SCM(playerid,-1, "("COL_RED"Greska{FFFFFF}!) Nemas dovoljno novca za kupovinu stana!");
  410. strmid(StanInfo[i][sVlasnik], ImeIgraca(playerid), 0, strlen(ImeIgraca(playerid)), 255);
  411. StanInfo[i][sProvjeraVlasnika] = 1; SetPlayerInterior(playerid, StanInfo[i][sInt]); PlayerInfo[playerid][pPosjedovanjeStan] = i;
  412. SetPlayerVirtualWorld(playerid, StanInfo[i][sVW]); SetPlayerPos(playerid, StanInfo[i][sIzlazX], StanInfo[i][sIzlazY], StanInfo[i][sIzlazZ]);
  413. StanInfo[i][sZatvoreno] = 0; GivePlayerMoney(playerid, -StanInfo[i][sCijena]); StanLP(i); SacuvajStan(i);
  414. SCM(playerid,-1, ""SPLAVA"Stan | "SIVA"Cestitamo, kupili ste stan!");
  415. SCM(playerid,-1, ""SPLAVA"Stan | "SIVA"Za komande stana koristite /stan!");
  416. SCM(playerid,-1, ""SPLAVA"Stan | "SIVA"Za ulaz u stan koristi tipku F!");
  417. return 1;
  418. }
  419. else return SCM(playerid, -1, "("COL_RED"Greska{FFFFFF}!) Taj stan se ne prodaje!");
  420. }
  421. }
  422. return 1;
  423. }
  424. ////////////////////////////////////////////////////
  425. YCMD:stan(playerid, params[], help)
  426. {
  427. #pragma unused help
  428. #pragma unused params
  429. if(PlayerInfo[playerid][pPosjedovanjeStan] == -1) return SCM(playerid,-1,"("COL_RED"Greska{FFFFFF}!) Nemate stan!");
  430. if(strcmp(StanInfo[PlayerInfo[playerid][pPosjedovanjeStan]][sVlasnik], ImeIgraca(playerid), true)) return SCM(playerid,-1, "("COL_RED"Greska{FFFFFF}!) Niste vlasnik tog stana!");
  431. new string[256];
  432. format(string,sizeof(string),""BELA"Informacije\nOtkljucaj\nZakljucaj\nOstavi novac\nUzmi novac\nOstavi gun\nUzmi gun\nProdaj stan\nZvono (5000$)");
  433. SPD(playerid, DIALOG_STAN, DIALOG_STYLE_LIST, ""SPLAVA"Stan Opcije", string, "Odaberi", "Izlaz");
  434. return 1;
  435. }
  436. ///////////////////////////////////////////////////
  437. YCMD:zvoni(playerid, params[], help)
  438. {
  439. #pragma unused params
  440. #pragma unused help
  441. for(new i = 0; i < sizeof(StanInfo); i++)
  442. {
  443. if(IsPlayerInRangeOfPoint(playerid, 3.0, StanInfo[i][sUlazX], StanInfo[i][sUlazY], StanInfo[i][sUlazZ]))
  444. {
  445. if(StanInfo[i][sZvono] == 0) return SCM(playerid,-1,"("COL_RED"Greska{FFFFFF}!) Taj stan nema zvono!");
  446. SCM(playerid,-1,""ZUTA"Zvonite na vrata!");
  447. foreach(Player, k)
  448. {
  449. if (IsPlayerInRangeOfPoint(k,3.0,StanInfo[i][sIzlazX], StanInfo[i][sIzlazY], StanInfo[i][sIzlazZ]))
  450. {
  451. SCM(k,-1, ""ZUTA"Netko zvoni na vasa vrata.");
  452. }
  453. }
  454. }
  455. }
  456. return 1;
  457. }
  458. ////////////////////////////////////////////////////
  459. YCMD:izbrisistan(playerid, params[], help)
  460. {
  461. #pragma unused help
  462. #pragma unused params
  463. if(!IsPlayerAdmin(playerid)) return SCM(playerid,-1,"("COL_RED"Greska{FFFFFF}!) {C0C0C0}Niste ovlasteni!");
  464. new kFile[50],id;
  465. if(sscanf(params,"i",id)) return SCM(playerid,-1,"{C0C0C0}Koristi: /izbrisistan [ID]");
  466. format(kFile, sizeof(kFile), STAN_FILE, id);
  467. if(fexist(kFile)){ fremove(kFile); Delete3DTextLabel(StanLabel[id]); DestroyPickup(StanPickup[id]); }
  468. else { SCM(playerid,-1,"Taj id stana ne postoji!"); }
  469. return 1;
  470. }
  471. ////////////////////////////////////////////////////
  472. YCMD:portstan(playerid, params[], help)
  473. {
  474. #pragma unused help
  475. #pragma unused params
  476. if(!IsPlayerAdmin(playerid)) return SCM(playerid,-1,"("COL_RED"Greska{FFFFFF}!) {C0C0C0}Niste ovlasteni!");
  477. new id,kFile[50];
  478. if(sscanf(params,"i",id)) return SCM(playerid,-1,"{C0C0C0}Koristi: /portstan [ID]");
  479. format(kFile, sizeof(kFile), STAN_FILE, id);
  480. SetPlayerPos(playerid,StanInfo[id][sUlazX], StanInfo[id][sUlazY], StanInfo[id][sUlazZ]);
  481. SetPlayerInterior(playerid,0); SetPlayerVirtualWorld(playerid,0);
  482. return 1;
  483. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement