TonyVk

Turf Wars v1.0 by Sikora

Mar 16th, 2017
611
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 33.56 KB | None | 0 0
  1. #include <a_samp>
  2. #include <streamer>
  3. #include <sscanf2>
  4. #include <zcmd>
  5. #include < YSI\y_ini >
  6.  
  7. #define ORANGE "{FFAF00}"
  8. #define SIVA "{C0C0C0}"
  9. #define CRVENA "{F81414}"
  10.  
  11. #define SCM SendClientMessage
  12. #define SCMTA SendClientMessageToAll
  13.  
  14. #if !defined IsValidVehicle
  15. native IsValidVehicle(vehicleid);
  16. #endif
  17.  
  18. #define OBJEKTI_FILE "Objekti/%d.ini"
  19. #define MAX_OBJEKTI 1000
  20. enum Objekti
  21. {
  22. aPostavljen,
  23. Float:aX,
  24. Float:aY,
  25. Float:aZ,
  26. Float:aAngle,
  27. Float:aRX,
  28. Float:aRY,
  29. aObjekt,
  30. Vlasnik,
  31. aInt,
  32. aVW,
  33. Vrsta
  34. }
  35. new ObjektiInfo[MAX_OBJEKTI][Objekti], eData[MAX_PLAYERS];
  36. enum Turf
  37. {
  38. Float:Poz1[4],
  39. Float:Poz2[4],
  40. Float:Poz3[4],
  41. Float:Poz4[4]
  42. }
  43. new TurfInfo[Turf];
  44. new PokrenutTurf=0;
  45. new turftimer;
  46. new turfvozila;
  47. new Bodovi[4];
  48. new TurfVozilo[MAX_PLAYERS];
  49. new Text:TurfRez[8];
  50.  
  51. public OnFilterScriptInit()
  52. {
  53. for(new y = 0; y < sizeof(ObjektiInfo); y++)
  54. {
  55. new yFile[50];
  56. format(yFile, sizeof(yFile), OBJEKTI_FILE, y);
  57. if(fexist(yFile))
  58. {
  59. INI_ParseFile(yFile, "UcitajObjekte", .bExtra = true, .extra = y);
  60. KreirajObjekte(y);
  61. }
  62. }
  63. if(fexist("turf.ini"))
  64. {
  65. INI_ParseFile("turf.ini", "UcitajTurf");
  66. print("Ucitan Turf Wars.");
  67. }
  68.  
  69. TurfRez[1] = TextDrawCreate(232.999923, -4.288893, "LD_BEAT:chit");
  70. TextDrawLetterSize(TurfRez[1], 0.000000, 0.000000);
  71. TextDrawTextSize(TurfRez[1], 40.000000, 42.000000);
  72. TextDrawAlignment(TurfRez[1], 1);
  73. TextDrawColor(TurfRez[1], -5963521);
  74. TextDrawSetShadow(TurfRez[1], 0);
  75. TextDrawSetOutline(TurfRez[1], 0);
  76. TextDrawBackgroundColor(TurfRez[1], 255);
  77. TextDrawFont(TurfRez[1], 4);
  78. TextDrawSetProportional(TurfRez[1], 0);
  79. TextDrawSetShadow(TurfRez[1], 0);
  80.  
  81. TurfRez[2] = TextDrawCreate(267.333282, -3.874078, "LD_BEAT:chit");
  82. TextDrawLetterSize(TurfRez[2], 0.000000, 0.000000);
  83. TextDrawTextSize(TurfRez[2], 40.000000, 42.000000);
  84. TextDrawAlignment(TurfRez[2], 1);
  85. TextDrawColor(TurfRez[2], -16776961);
  86. TextDrawSetShadow(TurfRez[2], 0);
  87. TextDrawSetOutline(TurfRez[2], 0);
  88. TextDrawBackgroundColor(TurfRez[2], 255);
  89. TextDrawFont(TurfRez[2], 4);
  90. TextDrawSetProportional(TurfRez[2], 0);
  91. TextDrawSetShadow(TurfRez[2], 0);
  92.  
  93. TurfRez[3] = TextDrawCreate(334.666656, -3.459264, "LD_BEAT:chit");
  94. TextDrawLetterSize(TurfRez[3], 0.000000, 0.000000);
  95. TextDrawTextSize(TurfRez[3], 40.000000, 42.000000);
  96. TextDrawAlignment(TurfRez[3], 1);
  97. TextDrawColor(TurfRez[3], 65535);
  98. TextDrawSetShadow(TurfRez[3], 0);
  99. TextDrawSetOutline(TurfRez[3], 0);
  100. TextDrawBackgroundColor(TurfRez[3], 255);
  101. TextDrawFont(TurfRez[3], 4);
  102. TextDrawSetProportional(TurfRez[3], 0);
  103. TextDrawSetShadow(TurfRez[3], 0);
  104.  
  105. TurfRez[4] = TextDrawCreate(301.333343, -3.459262, "LD_BEAT:chit");
  106. TextDrawLetterSize(TurfRez[4], 0.000000, 0.000000);
  107. TextDrawTextSize(TurfRez[4], 40.000000, 42.000000);
  108. TextDrawAlignment(TurfRez[4], 1);
  109. TextDrawColor(TurfRez[4], 8388863);
  110. TextDrawSetShadow(TurfRez[4], 0);
  111. TextDrawSetOutline(TurfRez[4], 0);
  112. TextDrawBackgroundColor(TurfRez[4], 255);
  113. TextDrawFont(TurfRez[4], 4);
  114. TextDrawSetProportional(TurfRez[4], 0);
  115. TextDrawSetShadow(TurfRez[4], 0);
  116.  
  117. TurfRez[0] = TextDrawCreate(252.666656, 8.725929, "0");
  118. TextDrawLetterSize(TurfRez[0], 0.400000, 1.600000);
  119. TextDrawAlignment(TurfRez[0], 2);
  120. TextDrawColor(TurfRez[0], -1);
  121. TextDrawSetShadow(TurfRez[0], 0);
  122. TextDrawSetOutline(TurfRez[0], 0);
  123. TextDrawBackgroundColor(TurfRez[0], 255);
  124. TextDrawFont(TurfRez[0], 1);
  125. TextDrawSetProportional(TurfRez[0], 1);
  126. TextDrawSetShadow(TurfRez[0], 0);
  127.  
  128. TurfRez[5] = TextDrawCreate(287.000152, 8.725928, "0");
  129. TextDrawLetterSize(TurfRez[5], 0.400000, 1.600000);
  130. TextDrawAlignment(TurfRez[5], 2);
  131. TextDrawColor(TurfRez[5], -1);
  132. TextDrawSetShadow(TurfRez[5], 0);
  133. TextDrawSetOutline(TurfRez[5], 0);
  134. TextDrawBackgroundColor(TurfRez[5], 255);
  135. TextDrawFont(TurfRez[5], 1);
  136. TextDrawSetProportional(TurfRez[5], 1);
  137. TextDrawSetShadow(TurfRez[5], 0);
  138.  
  139. TurfRez[6] = TextDrawCreate(321.333526, 9.555559, "0");
  140. TextDrawLetterSize(TurfRez[6], 0.400000, 1.600000);
  141. TextDrawAlignment(TurfRez[6], 2);
  142. TextDrawColor(TurfRez[6], -1);
  143. TextDrawSetShadow(TurfRez[6], 0);
  144. TextDrawSetOutline(TurfRez[6], 0);
  145. TextDrawBackgroundColor(TurfRez[6], 255);
  146. TextDrawFont(TurfRez[6], 1);
  147. TextDrawSetProportional(TurfRez[6], 1);
  148. TextDrawSetShadow(TurfRez[6], 0);
  149.  
  150. TurfRez[7] = TextDrawCreate(355.000183, 9.140743, "0");
  151. TextDrawLetterSize(TurfRez[7], 0.400000, 1.600000);
  152. TextDrawAlignment(TurfRez[7], 2);
  153. TextDrawColor(TurfRez[7], -1);
  154. TextDrawSetShadow(TurfRez[7], 0);
  155. TextDrawSetOutline(TurfRez[7], 0);
  156. TextDrawBackgroundColor(TurfRez[7], 255);
  157. TextDrawFont(TurfRez[7], 1);
  158. TextDrawSetProportional(TurfRez[7], 1);
  159. TextDrawSetShadow(TurfRez[7], 0);
  160. return 1;
  161. }
  162.  
  163. stock getEmptyID(const len, const lokacija[])
  164. {
  165. new id = (-1);
  166. for(new loop = (0), provjera = (-1), Data_[64] = "\0"; loop != len; loop++)
  167. {
  168. provjera = (loop);
  169. format(Data_, (sizeof Data_), lokacija ,provjera);
  170. if(!fexist(Data_))
  171. {
  172. id = (provjera);
  173. break;
  174. }
  175. }
  176. return (id);
  177. }
  178.  
  179. forward PopraviTurf();
  180. public PopraviTurf()
  181. {
  182. for(new i=0; i<MAX_PLAYERS; i++)
  183. {
  184. if(IsValidVehicle(TurfVozilo[i]))
  185. {
  186. SetVehicleHealth(TurfVozilo[i], 1000);
  187. }
  188. }
  189. }
  190.  
  191. forward TurfTime();
  192. public TurfTime()
  193. {
  194. if(PokrenutTurf == 1)
  195. {
  196. if(Bodovi[0] > Bodovi[1] && Bodovi[0] > Bodovi[2] && Bodovi[0] > Bodovi[3])
  197. {
  198. new str[128];
  199. format(str,sizeof(str),""ORANGE"INFO | "SIVA"Narancasti tim je pobjedio sa {ffffff}%d "SIVA"bodova!", Bodovi[0]);
  200. SCMTA(-1, str);
  201. format(str,sizeof(str),""ORANGE"INFO | "SIVA"Crveni: %d "ORANGE"| "SIVA"Zeleni: %d "ORANGE"| "SIVA"Plavi: %d!",Bodovi[1],Bodovi[2],Bodovi[3]);
  202. SCMTA(-1, str);
  203. }
  204. else if(Bodovi[1] > Bodovi[0] && Bodovi[1] > Bodovi[2] && Bodovi[1] > Bodovi[3])
  205. {
  206. new str[128];
  207. format(str,sizeof(str),""ORANGE"INFO | "SIVA"Crveni tim je pobjedio sa %d bodova!", Bodovi[1]);
  208. SCMTA(-1, str);
  209. format(str,sizeof(str),""ORANGE"INFO | "SIVA"Narancasti: %d "ORANGE"| "SIVA"Zeleni: %d "ORANGE"| "SIVA"Plavi: %d!",Bodovi[0],Bodovi[2],Bodovi[3]);
  210. SCMTA(-1, str);
  211. }
  212. else if(Bodovi[2] > Bodovi[0] && Bodovi[2] > Bodovi[1] && Bodovi[2] > Bodovi[3])
  213. {
  214. new str[128];
  215. format(str,sizeof(str),""ORANGE"INFO | "SIVA"Zeleni tim je pobjedio sa %d bodova!", Bodovi[2]);
  216. SCMTA(-1, str);
  217. format(str,sizeof(str),""ORANGE"INFO | "SIVA"Narancasti: %d "ORANGE"| "SIVA"Crveni: %d "ORANGE"| "SIVA"Plavi: %d!",Bodovi[0],Bodovi[1],Bodovi[3]);
  218. SCMTA(-1, str);
  219. }
  220. else if(Bodovi[3] > Bodovi[0] && Bodovi[3] > Bodovi[1] && Bodovi[3] > Bodovi[2])
  221. {
  222. new str[128];
  223. format(str,sizeof(str),""ORANGE"INFO | "SIVA"Plavi tim je pobjedio sa %d bodova!", Bodovi[3]);
  224. SCMTA(-1, str);
  225. format(str,sizeof(str),""ORANGE"INFO | "SIVA"Narancasti: %d "ORANGE"| "SIVA"Crveni: %d "ORANGE"| "SIVA"Zeleni: %d!",Bodovi[0],Bodovi[1],Bodovi[2]);
  226. SCMTA(-1, str);
  227. }
  228. else if(Bodovi[0] == Bodovi[1])
  229. {
  230. new str[128];
  231. format(str,sizeof(str),""ORANGE"INFO | "SIVA"Narancasti i Crveni su zavrsili izjednaceno sa %d bodova!", Bodovi[0]);
  232. SCMTA(-1, str);
  233. format(str,sizeof(str),""ORANGE"INFO | "SIVA"Plavi: %d "ORANGE"| "SIVA"Zeleni: %d!",Bodovi[3],Bodovi[2]);
  234. SCMTA(-1, str);
  235. }
  236. else if(Bodovi[0] == Bodovi[2])
  237. {
  238. new str[128];
  239. format(str,sizeof(str),""ORANGE"INFO | "SIVA"Narancasti i Zeleni su zavrsili izjednaceno sa %d bodova!", Bodovi[0]);
  240. SCMTA(-1, str);
  241. format(str,sizeof(str),""ORANGE"INFO | "SIVA"Plavi: %d "ORANGE"| "SIVA"Crveni: %d!",Bodovi[3],Bodovi[1]);
  242. SCMTA(-1, str);
  243. }
  244. else if(Bodovi[0] == Bodovi[3])
  245. {
  246. new str[128];
  247. format(str,sizeof(str),""ORANGE"INFO | "SIVA"Narancasti i Plavi su zavrsili izjednaceno sa %d bodova!", Bodovi[0]);
  248. SCMTA(-1, str);
  249. format(str,sizeof(str),""ORANGE"INFO | "SIVA"Zeleni: %d "ORANGE"| "SIVA"Crveni: %d!",Bodovi[2],Bodovi[1]);
  250. SCMTA(-1, str);
  251. }
  252. else if(Bodovi[1] == Bodovi[2])
  253. {
  254. new str[128];
  255. format(str,sizeof(str),""ORANGE"INFO | "SIVA"Crveni i Zeleni su zavrsili izjednaceno sa %d bodova!", Bodovi[1]);
  256. SCMTA(-1, str);
  257. format(str,sizeof(str),""ORANGE"INFO | "SIVA"Plavi: %d "ORANGE"| "SIVA"Narancasti: %d!",Bodovi[3],Bodovi[0]);
  258. SCMTA(-1, str);
  259. }
  260. else if(Bodovi[1] == Bodovi[3])
  261. {
  262. new str[128];
  263. format(str,sizeof(str),""ORANGE"INFO | "SIVA"Crveni i Plavi su zavrsili izjednaceno sa %d bodova!", Bodovi[1]);
  264. SCMTA(-1, str);
  265. format(str,sizeof(str),""ORANGE"INFO | "SIVA"Zeleni: %d "ORANGE"| "SIVA"Narancasti: %d!",Bodovi[2],Bodovi[0]);
  266. SCMTA(-1, str);
  267. }
  268. else if(Bodovi[2] == Bodovi[3])
  269. {
  270. new str[128];
  271. format(str,sizeof(str),""ORANGE"INFO | "SIVA"Zeleni i Plavi su zavrsili izjednaceno sa %d bodova!", Bodovi[2]);
  272. SCMTA(-1, str);
  273. format(str,sizeof(str),""ORANGE"INFO | "SIVA"Crveni: %d "ORANGE"| "SIVA"Narancasti: %d!",Bodovi[1],Bodovi[0]);
  274. SCMTA(-1, str);
  275. }
  276.  
  277. for(new i=0; i<MAX_PLAYERS; i++)
  278. {
  279. if(IsPlayerConnected(i))
  280. {
  281. if(GetPVarInt(i, "TurfTim") > 0)
  282. {
  283. SetPlayerHealth(i, 0);
  284. SetPVarInt(i, "TurfTim", 0);
  285. DestroyVehicle(TurfVozilo[i]);
  286. for(new a=0; a<8; a++)
  287. {
  288. TextDrawHideForPlayer(i, TurfRez[a]);
  289. }
  290. }
  291. }
  292. }
  293. for(new idobj = 0; idobj<MAX_OBJEKTI; idobj++)
  294. {
  295. if(ObjektiInfo[idobj][aPostavljen] == 1 && ObjektiInfo[idobj][Vrsta] <= 1)
  296. {
  297. SetDynamicObjectMaterial(ObjektiInfo[idobj][aObjekt], 0, 10101, "2notherbuildsfe", "ferry_build14", 0xFFFFFFFF);
  298. ObjektiInfo[idobj][Vlasnik] = 0;
  299. }
  300. }
  301. PokrenutTurf = 0;
  302. }
  303. KillTimer(turftimer);
  304. KillTimer(turfvozila);
  305. return 1;
  306. }
  307. stock SacuvajTurf()
  308. {
  309. new INI:File = INI_Open("turf.ini");
  310. INI_WriteFloat(File,"X1",TurfInfo[Poz1][0]);
  311. INI_WriteFloat(File,"Y1",TurfInfo[Poz1][1]);
  312. INI_WriteFloat(File,"Z1",TurfInfo[Poz1][2]);
  313. INI_WriteFloat(File,"Angle1",TurfInfo[Poz1][3]);
  314. INI_WriteFloat(File,"X2",TurfInfo[Poz2][0]);
  315. INI_WriteFloat(File,"Y2",TurfInfo[Poz2][1]);
  316. INI_WriteFloat(File,"Z2",TurfInfo[Poz2][2]);
  317. INI_WriteFloat(File,"Angle2",TurfInfo[Poz2][3]);
  318. INI_WriteFloat(File,"X3",TurfInfo[Poz3][0]);
  319. INI_WriteFloat(File,"Y3",TurfInfo[Poz3][1]);
  320. INI_WriteFloat(File,"Z3",TurfInfo[Poz3][2]);
  321. INI_WriteFloat(File,"Angle3",TurfInfo[Poz3][3]);
  322. INI_WriteFloat(File,"X4",TurfInfo[Poz4][0]);
  323. INI_WriteFloat(File,"Y4",TurfInfo[Poz4][1]);
  324. INI_WriteFloat(File,"Z4",TurfInfo[Poz4][2]);
  325. INI_WriteFloat(File,"Angle4",TurfInfo[Poz4][3]);
  326. INI_Close(File);
  327. return 1;
  328. }
  329.  
  330. forward UcitajTurf(name[],value[]);
  331. public UcitajTurf(name[],value[])
  332. {
  333. INI_Float("X1",TurfInfo[Poz1][0]);
  334. INI_Float("Y1",TurfInfo[Poz1][1]);
  335. INI_Float("Z1",TurfInfo[Poz1][2]);
  336. INI_Float("Angle1",TurfInfo[Poz1][3]);
  337. INI_Float("X2",TurfInfo[Poz2][0]);
  338. INI_Float("Y2",TurfInfo[Poz2][1]);
  339. INI_Float("Z2",TurfInfo[Poz2][2]);
  340. INI_Float("Angle2",TurfInfo[Poz2][3]);
  341. INI_Float("X3",TurfInfo[Poz3][0]);
  342. INI_Float("Y3",TurfInfo[Poz3][1]);
  343. INI_Float("Z3",TurfInfo[Poz3][2]);
  344. INI_Float("Angle3",TurfInfo[Poz3][3]);
  345. INI_Float("X4",TurfInfo[Poz4][0]);
  346. INI_Float("Y4",TurfInfo[Poz4][1]);
  347. INI_Float("Z4",TurfInfo[Poz4][2]);
  348. INI_Float("Angle4",TurfInfo[Poz4][3]);
  349. return 1;
  350. }
  351.  
  352. stock SacuvajObjekte(idobj)
  353. {
  354. new yFile[80];
  355. format(yFile, sizeof(yFile), OBJEKTI_FILE, idobj);
  356. new INI:File = INI_Open(yFile);
  357. INI_WriteInt(File,"Postavljen",ObjektiInfo[idobj][aPostavljen]);
  358. INI_WriteFloat(File,"X",ObjektiInfo[idobj][aX]);
  359. INI_WriteFloat(File,"Y",ObjektiInfo[idobj][aY]);
  360. INI_WriteFloat(File,"Z",ObjektiInfo[idobj][aZ]);
  361. INI_WriteFloat(File,"RX",ObjektiInfo[idobj][aRX]);
  362. INI_WriteFloat(File,"RY",ObjektiInfo[idobj][aRY]);
  363. INI_WriteFloat(File,"Angle",ObjektiInfo[idobj][aAngle]);
  364. INI_WriteInt(File,"Int",ObjektiInfo[idobj][aInt]);
  365. INI_WriteInt(File,"VW",ObjektiInfo[idobj][aVW]);
  366. INI_WriteInt(File,"Vrsta",ObjektiInfo[idobj][Vrsta]);
  367. INI_Close(File);
  368. return 1;
  369. }
  370. forward UcitajObjekte(idobj,name[],value[]);
  371. public UcitajObjekte(idobj,name[],value[])
  372. {
  373. INI_Int("Postavljen",ObjektiInfo[idobj][aPostavljen]);
  374. INI_Float("X",ObjektiInfo[idobj][aX]);
  375. INI_Float("Y",ObjektiInfo[idobj][aY]);
  376. INI_Float("Z",ObjektiInfo[idobj][aZ]);
  377. INI_Float("RX",ObjektiInfo[idobj][aRX]);
  378. INI_Float("RY",ObjektiInfo[idobj][aRY]);
  379. INI_Float("Angle",ObjektiInfo[idobj][aAngle]);
  380. INI_Int("Int",ObjektiInfo[idobj][aInt]);
  381. INI_Int("VW",ObjektiInfo[idobj][aVW]);
  382. INI_Int("Vrsta",ObjektiInfo[idobj][Vrsta]);
  383. return 1;
  384. }
  385. stock KreirajObjekte(idobj)
  386. {
  387. if(ObjektiInfo[idobj][aPostavljen] == 1)
  388. {
  389. if(ObjektiInfo[idobj][Vrsta] <= 1)
  390. {
  391. ObjektiInfo[idobj][aObjekt] = CreateDynamicObject(19377, ObjektiInfo[idobj][aX], ObjektiInfo[idobj][aY], ObjektiInfo[idobj][aZ], ObjektiInfo[idobj][aRX], ObjektiInfo[idobj][aRY], ObjektiInfo[idobj][aAngle], ObjektiInfo[idobj][aVW], ObjektiInfo[idobj][aInt],_,_);
  392. SetDynamicObjectMaterial(ObjektiInfo[idobj][aObjekt], 0, 10101, "2notherbuildsfe", "ferry_build14", 0xFFFFFFFF);
  393. ObjektiInfo[idobj][Vlasnik] = 0;
  394. }
  395. else
  396. {
  397. ObjektiInfo[idobj][aObjekt] = CreateDynamicObject(18783, ObjektiInfo[idobj][aX], ObjektiInfo[idobj][aY], ObjektiInfo[idobj][aZ], ObjektiInfo[idobj][aRX], ObjektiInfo[idobj][aRY], ObjektiInfo[idobj][aAngle], ObjektiInfo[idobj][aVW], ObjektiInfo[idobj][aInt],_,_);
  398. }
  399. }
  400. return 1;
  401. }
  402.  
  403. forward OdmrzniTurf();
  404. public OdmrzniTurf()
  405. {
  406. for(new i=0; i<MAX_PLAYERS; i++)
  407. {
  408. if(IsPlayerConnected(i))
  409. {
  410. if(GetPVarInt(i, "TurfTim") > 0)
  411. {
  412. TogglePlayerControllable(i, 1);
  413. SCM(i, -1, ""ORANGE"INFO | "SIVA"Natjecanje je pocelo, sretno svima!");
  414. }
  415. }
  416. }
  417. SetTimer("CollisionTurf", 10000, false);
  418. return 1;
  419. }
  420.  
  421. forward CollisionTurf();
  422. public CollisionTurf()
  423. {
  424. for(new i=0; i<MAX_PLAYERS; i++)
  425. {
  426. if(IsPlayerConnected(i))
  427. {
  428. if(GetPVarInt(i, "TurfTim") > 0)
  429. {
  430. DisableRemoteVehicleCollisions(i, 0);
  431. SCM(i, -1, ""ORANGE"INFO | "SIVA"Sada se mozete sudarati!");
  432. }
  433. }
  434. }
  435. return 1;
  436. }
  437.  
  438. CMD:turfhelp(playerid,params[])
  439. {
  440. new info[700];
  441. if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,-1,""CRVENA"GRESKA | "SIVA"Niste admin!");
  442. strcat(info, ""CRVENA"Turf pomoc\n\n", sizeof(info));
  443. strcat(info, "Kreiranje/Editanje objekata\n", sizeof(info));
  444. strcat(info, ""SIVA"/kreirajobjekt-Spawna se objekt koji onda premjestate i naredujete kako hocete\n", sizeof(info));
  445. strcat(info, " /izbrisiobjekt-Brisete objekt pod odredenim ID-om\n", sizeof(info));
  446. strcat(info, " /eobjekt-Premjestate objekt\n", sizeof(info));
  447. strcat(info, " /duplicirajobjekt-Duplicirate objekt sa odredenim ID-om\n", sizeof(info));
  448. strcat(info, " /turfspawn-Postavljate lokaciju spawna ljudi iz timova\n", sizeof(info));
  449. strcat(info, " /portobjekt-Portate se do lokacije objekta\n", sizeof(info));
  450. strcat(info, ""CRVENA"Pokretanje/Zaustavljanje Turf Wars\n", sizeof(info));
  451. strcat(info, ""SIVA"/turfpozovi-Pozivate igrace u 1 tim od 4 dostupna\n", sizeof(info));
  452. strcat(info, "/turfpokreni-Pokrecete Turf Wars na odredeno vrijeme\n", sizeof(info));
  453. strcat(info, "/turfzaustavi-Prekidate Turf Wars\n", sizeof(info));
  454. ShowPlayerDialog(playerid, 31999, DIALOG_STYLE_MSGBOX, "Turf Wars Help", info, "Uredu", "");
  455. return 1;
  456. }
  457.  
  458. CMD:turfzaustavi(playerid, params[])
  459. {
  460. if(!IsPlayerAdmin(playerid)) return SCM(playerid,-1,""CRVENA"GRESKA | "SIVA"Niste admin!");
  461. if(PokrenutTurf == 0) return SCM(playerid, -1, ""CRVENA"GRESKA | "SIVA"Nije pokrenut Turf Wars!");
  462. TurfTime();
  463. return 1;
  464. }
  465. CMD:turfpokreni(playerid, params[])
  466. {
  467. if(!IsPlayerAdmin(playerid)) return SCM(playerid,-1,""CRVENA"GRESKA | "SIVA"Niste admin!");
  468. new vrijeme;
  469. if(PokrenutTurf == 1) return SCM(playerid, -1, ""CRVENA"GRESKA | "SIVA"Vec traje jedan Turf War!");
  470. if(sscanf(params, "i", vrijeme)) return SCM(playerid,-1,""ORANGE"Koristite:{FFFFFF} /turfpokreni [Minute trajanja]");
  471. new str[128];
  472. format(str,sizeof(str),""ORANGE"INFO | "SIVA"Pokrenili ste Turf Wars u trajanju od {ffffff}%d "SIVA"minuta!", vrijeme);
  473. SCM(playerid, -1, str);
  474. vrijeme=vrijeme*60000;
  475. turftimer = SetTimer("TurfTime", vrijeme, false);
  476. turfvozila = SetTimer("PopraviTurf", 5000, true);
  477. PokrenutTurf = 1;
  478. Bodovi[0] = 0;
  479. Bodovi[1] = 0;
  480. Bodovi[2] = 0;
  481. Bodovi[3] = 0;
  482. format(str,sizeof(str), "0");
  483. TextDrawSetString(TurfRez[0], str);
  484. TextDrawSetString(TurfRez[5], str);
  485. TextDrawSetString(TurfRez[6], str);
  486. TextDrawSetString(TurfRez[7], str);
  487. for(new i=0; i<MAX_PLAYERS; i++)
  488. {
  489. if(IsPlayerConnected(i))
  490. {
  491. if(GetPVarInt(i, "TurfTim") == 1)
  492. {
  493. TogglePlayerControllable(i, 0);
  494. DisableRemoteVehicleCollisions(i, 1);
  495. TurfVozilo[i] = CreateVehicle(411, TurfInfo[Poz1][0], TurfInfo[Poz1][1], TurfInfo[Poz1][2], TurfInfo[Poz1][3], 6, 6, 60);
  496. PutPlayerInVehicle(i, TurfVozilo[i], 0);
  497. SCM(playerid, -1, ""ORANGE"INFO | "SIVA"Natjecanje pocinje za {ffffff}5 "SIVA"sekundi!");
  498. SCM(playerid, -1, ""ORANGE"INFO | "SIVA"Prozirni cete biti prvih {ffffff}10 "SIVA"sekundi nakon pocetka natjecanja!");
  499. for(new a=0; a<8; a++)
  500. {
  501. TextDrawShowForPlayer(i, TurfRez[a]);
  502. }
  503. }
  504. else if(GetPVarInt(i, "TurfTim") == 2)
  505. {
  506. TogglePlayerControllable(i, 0);
  507. DisableRemoteVehicleCollisions(i, 1);
  508. TurfVozilo[i] = CreateVehicle(411, TurfInfo[Poz2][0], TurfInfo[Poz2][1], TurfInfo[Poz2][2], TurfInfo[Poz2][3], 3, 3, 60);
  509. PutPlayerInVehicle(i, TurfVozilo[i], 0);
  510. SCM(playerid, -1, ""ORANGE"INFO | "SIVA"Natjecanje pocinje za {ffffff}5 "SIVA"sekundi!");
  511. SCM(playerid, -1, ""ORANGE"INFO | "SIVA"Prozirni cete biti prvih {ffffff}10 "SIVA"sekundi nakon pocetka natjecanja!");
  512. for(new a=0; a<8; a++)
  513. {
  514. TextDrawShowForPlayer(i, TurfRez[a]);
  515. }
  516. }
  517. else if(GetPVarInt(i, "TurfTim") == 3)
  518. {
  519. TogglePlayerControllable(i, 0);
  520. DisableRemoteVehicleCollisions(i, 1);
  521. TurfVozilo[i] = CreateVehicle(411, TurfInfo[Poz3][0], TurfInfo[Poz3][1], TurfInfo[Poz3][2], TurfInfo[Poz3][3], 128, 128, 60);
  522. PutPlayerInVehicle(i, TurfVozilo[i], 0);
  523. SCM(playerid, -1, ""ORANGE"INFO | "SIVA"Natjecanje pocinje za {ffffff}5 "SIVA"sekundi!");
  524. SCM(playerid, -1, ""ORANGE"INFO | "SIVA"Prozirni cete biti prvih {ffffff}10 "SIVA"sekundi nakon pocetka natjecanja!");
  525. for(new a=0; a<8; a++)
  526. {
  527. TextDrawShowForPlayer(i, TurfRez[a]);
  528. }
  529. }
  530. else if(GetPVarInt(i, "TurfTim") == 4)
  531. {
  532. TogglePlayerControllable(i, 0);
  533. DisableRemoteVehicleCollisions(i, 1);
  534. TurfVozilo[i] = CreateVehicle(411, TurfInfo[Poz4][0], TurfInfo[Poz4][1], TurfInfo[Poz4][2], TurfInfo[Poz4][3], 106, 106, 60);
  535. PutPlayerInVehicle(i, TurfVozilo[i], 0);
  536. SCM(playerid, -1, ""ORANGE"INFO | "SIVA"Natjecanje pocinje za {ffffff}5 "SIVA"sekundi!");
  537. SCM(playerid, -1, ""ORANGE"INFO | "SIVA"Prozirni cete biti prvih {ffffff}10 "SIVA"sekundi nakon pocetka natjecanja!");
  538. for(new a=0; a<8; a++)
  539. {
  540. TextDrawShowForPlayer(i, TurfRez[a]);
  541. }
  542. }
  543. }
  544. }
  545. SetTimer("OdmrzniTurf", 5000, false);
  546. return 1;
  547. }
  548. CMD:turfpozovi(playerid, params[])
  549. {
  550. if(!IsPlayerAdmin(playerid)) return SCM(playerid,-1,""CRVENA"GRESKA | "SIVA"Niste admin!");
  551. new id, tim;
  552. if(sscanf(params, "ui",id, tim)) return SCM(playerid,-1,""ORANGE"Koristite:{FFFFFF} /turfpozovi [ID igraca][Tim(1-4)]");
  553. if(!IsPlayerConnected(id)) return SCM(playerid, -1, ""CRVENA"GRESKA | "SIVA"Igrac nije online!");
  554. if(tim < 1 || tim > 4) return SCM(playerid, -1, ""CRVENA"GRESKA | "SIVA"Timovi idu od 1 do 4!");
  555. SetPVarInt(id, "TurfTim", tim);
  556. new str[128];
  557. if(tim == 1)
  558. {
  559. format(str,sizeof(str),""ORANGE"INFO | "SIVA"Pozvani ste na Turf Wars u narancasti tim!");
  560. }
  561. else if(tim == 2)
  562. {
  563. format(str,sizeof(str),""ORANGE"INFO | "SIVA"Pozvani ste na Turf Wars u crveni tim!");
  564. }
  565. else if(tim == 3)
  566. {
  567. format(str,sizeof(str),""ORANGE"INFO | "SIVA"Pozvani ste na Turf Wars u zeleni tim!");
  568. }
  569. else if(tim == 4)
  570. {
  571. format(str,sizeof(str),""ORANGE"INFO | "SIVA"Pozvani ste na Turf Wars u plavi tim!");
  572. }
  573. SCM(id, -1, str);
  574. return 1;
  575. }
  576. CMD:turfspawn(playerid, params[])
  577. {
  578. if(!IsPlayerAdmin(playerid)) return SCM(playerid,-1,""CRVENA"GRESKA | "SIVA"Niste admin!");
  579. if(!IsPlayerInAnyVehicle(playerid)) return SCM(playerid, -1, ""CRVENA"GRESKA | "SIVA"Morate biti u vozilu!");
  580. new tim;
  581. if(sscanf(params, "i",tim)) return SCM(playerid,-1,""ORANGE"Koristite:{FFFFFF} /turfspawn [Spawn tim(1-4)]");
  582. if(tim < 1 || tim > 4) return SCM(playerid, -1, ""CRVENA"GRESKA | "SIVA"Timovi idu od 1 do 4!");
  583. new Float:aaX,Float:aaY,Float:aaZ,Float:Angle;
  584. GetVehiclePos(GetPlayerVehicleID(playerid),aaX,aaY,aaZ); GetVehicleZAngle(GetPlayerVehicleID(playerid),Angle);
  585. if(tim == 1)
  586. {
  587. TurfInfo[Poz1][0] = aaX;
  588. TurfInfo[Poz1][1] = aaY;
  589. TurfInfo[Poz1][2] = aaZ;
  590. TurfInfo[Poz1][3] = Angle;
  591. SCM(playerid, -1, ""ORANGE"INFO | "SIVA"Spremili ste poziciju spawna za narancasti tim!");
  592. }
  593. else if(tim == 2)
  594. {
  595. TurfInfo[Poz2][0] = aaX;
  596. TurfInfo[Poz2][1] = aaY;
  597. TurfInfo[Poz2][2] = aaZ;
  598. TurfInfo[Poz2][3] = Angle;
  599. SCM(playerid, -1, ""ORANGE"INFO | "SIVA"Spremili ste poziciju spawna za crveni tim!");
  600. }
  601. else if(tim == 3)
  602. {
  603. TurfInfo[Poz3][0] = aaX;
  604. TurfInfo[Poz3][1] = aaY;
  605. TurfInfo[Poz3][2] = aaZ;
  606. TurfInfo[Poz3][3] = Angle;
  607. SCM(playerid, -1, ""ORANGE"INFO | "SIVA"Spremili ste poziciju spawna za zeleni tim!");
  608. }
  609. else
  610. {
  611. TurfInfo[Poz4][0] = aaX;
  612. TurfInfo[Poz4][1] = aaY;
  613. TurfInfo[Poz4][2] = aaZ;
  614. TurfInfo[Poz4][3] = Angle;
  615. SCM(playerid, -1, ""ORANGE"INFO | "SIVA"Spremili ste poziciju spawna za plavi tim!");
  616. }
  617. SacuvajTurf();
  618. return 1;
  619. }
  620. CMD:kreirajobjekt(playerid, params[])
  621. {
  622. if(!IsPlayerAdmin(playerid)) return SCM(playerid,-1,""CRVENA"GRESKA | "SIVA"Niste admin!");
  623. new Float:aaX,Float:aaY,Float:aaZ,Float:Angle,Float:RX, vrsta;
  624. if(sscanf(params,"i",vrsta)) return SCM(playerid,-1,""ORANGE"Koristite:{FFFFFF} /kreirajobjekt [Vrsta(1 - Obicni | 2 - Spawn objekt)]");
  625. if(vrsta < 1 || vrsta > 2) return SCM(playerid, -1, ""CRVENA"GRESKA | "SIVA"Upisali ste krivu vrstu objekta!");
  626. GetPlayerPos(playerid,aaX,aaY,aaZ); GetPlayerFacingAngle(playerid,Angle);
  627. new idobj=getEmptyID(MAX_OBJEKTI,"Objekti/%d.ini");
  628. if(idobj >= MAX_OBJEKTI) return SCM(playerid,-1, ""CRVENA"GRESKA | "SIVA"Maximum objekata je ogranicen!");
  629. ObjektiInfo[idobj][aPostavljen] = 1; ObjektiInfo[idobj][aAngle] = Angle; ObjektiInfo[idobj][Vrsta] = vrsta;
  630. ObjektiInfo[idobj][aX] = aaX; ObjektiInfo[idobj][aY] = aaY; ObjektiInfo[idobj][aZ] = aaZ; ObjektiInfo[idobj][aRX] = RX; ObjektiInfo[idobj][aRY] = 90;
  631. ObjektiInfo[idobj][aInt] = GetPlayerInterior(playerid); ObjektiInfo[idobj][aVW] = GetPlayerVirtualWorld(playerid);
  632. KreirajObjekte(idobj); SacuvajObjekte(idobj);
  633. new str[128];
  634. format(str,sizeof(str), ""ORANGE"INFO | "SIVA"Poziciju objekta(ID: %d) mozete editovati komandom /eobjekt", idobj);
  635. SCM(playerid, -1, str);
  636. return 1;
  637. }
  638. CMD:duplicirajobjekt(playerid, params[])
  639. {
  640. if(!IsPlayerAdmin(playerid)) return SCM(playerid,-1,""CRVENA"GRESKA | "SIVA"Niste admin!");
  641. new id;
  642. if(sscanf(params,"i",id)) return SCM(playerid,-1,""ORANGE"Koristite:{FFFFFF} /duplicirajobjekt [ID]");
  643. new idobj=getEmptyID(MAX_OBJEKTI,"Objekti/%d.ini");
  644. if(idobj >= MAX_OBJEKTI) return SCM(playerid,-1, ""CRVENA"GRESKA | "SIVA"Maximum objekata je ogranicen!");
  645. ObjektiInfo[idobj][aPostavljen] = 1; ObjektiInfo[idobj][aAngle] = ObjektiInfo[id][aAngle]; ObjektiInfo[idobj][Vrsta] = ObjektiInfo[id][Vrsta];
  646. ObjektiInfo[idobj][aX] = ObjektiInfo[id][aX]; ObjektiInfo[idobj][aY] = ObjektiInfo[id][aY]; ObjektiInfo[idobj][aZ] = ObjektiInfo[id][aZ]; ObjektiInfo[idobj][aRX] = ObjektiInfo[id][aRX]; ObjektiInfo[idobj][aRY] = ObjektiInfo[id][aRY];
  647. ObjektiInfo[idobj][aInt] = GetPlayerInterior(playerid); ObjektiInfo[idobj][aVW] = GetPlayerVirtualWorld(playerid);
  648. KreirajObjekte(idobj); SacuvajObjekte(idobj);
  649. new str[128];
  650. format(str,sizeof(str), ""ORANGE"INFO | "SIVA"Poziciju objekta(ID: %d) mozete editovati komandom /eobjekt", idobj);
  651. SCM(playerid, -1, str);
  652. return 1;
  653. }
  654. CMD:izbrisiobjekt(playerid, params[])
  655. {
  656. if(!IsPlayerAdmin(playerid)) return SCM(playerid,-1, ""CRVENA"GRESKA | "SIVA"Niste admin!");
  657. new yFile[50],id;
  658. if(sscanf(params,"i",id)) return SCM(playerid,-1,""ORANGE"Koristite:{FFFFFF} /izbrisiobjekt [ID]");
  659. DestroyDynamicObject(ObjektiInfo[id][aObjekt]);
  660. ObjektiInfo[id][aPostavljen] = 0; ObjektiInfo[id][aAngle] = 0; ObjektiInfo[id][Vrsta] = 0;
  661. ObjektiInfo[id][aX] = 0; ObjektiInfo[id][aY] = 0; ObjektiInfo[id][aZ] = 0; ObjektiInfo[id][aRX] = 0; ObjektiInfo[id][aRY] = 0;
  662. ObjektiInfo[id][aInt] = 0; ObjektiInfo[id][aVW] = 0;
  663. format(yFile, sizeof(yFile), OBJEKTI_FILE, id);
  664. if(fexist(yFile)) { fremove(yFile); SCM(playerid,-1, ""ORANGE"INFO | "SIVA"Uspjesno obrisan objekt!"); }
  665. else { SCM(playerid,-1,""CRVENA"GRESKA | "SIVA"Taj id objekta ne postoji!"); }
  666. return 1;
  667. }
  668. CMD:eobjekt(playerid, params[])
  669. {
  670. if(!IsPlayerAdmin(playerid)) return SCM(playerid,-1,""CRVENA"GRESKA | "SIVA"Niste admin!");
  671. new yfajl[80],idobj;
  672. if(sscanf(params, "i",idobj)) return SCM(playerid,-1,""ORANGE"Koristite:{FFFFFF} /eobjekt [ID]");
  673. format(yfajl, sizeof(yfajl), OBJEKTI_FILE, idobj);
  674. if(!fexist(yfajl)) return SCM(playerid,-1, ""CRVENA"GRESKA | "SIVA"ID tog objekta ne postoji!");
  675. if(!IsPlayerInRangeOfPoint(playerid, 10.0, ObjektiInfo[idobj][aX], ObjektiInfo[idobj][aY], ObjektiInfo[idobj][aZ])) return SCM(playerid,-1,""CRVENA"GRESKA | "SIVA"Niste u blizini tog objekta!");
  676. eData[playerid] = idobj; EditDynamicObject(playerid,ObjektiInfo[idobj][aObjekt]);
  677. return 1;
  678. }
  679. CMD:portobjekt(playerid, params[])
  680. {
  681. if(!IsPlayerAdmin(playerid)) return SCM(playerid,-1,""CRVENA"GRESKA | "SIVA"Niste admin!");
  682. new yfajl[80],idobj;
  683. if(sscanf(params, "i",idobj)) return SCM(playerid,-1,""ORANGE"Koristite:{FFFFFF} /portobjekt [ID]");
  684. format(yfajl, sizeof(yfajl), OBJEKTI_FILE, idobj);
  685. if(!fexist(yfajl)) return SCM(playerid,-1, ""CRVENA"GRESKA | "SIVA"ID tog objekta ne postoji!");
  686. SetPlayerPos(playerid,ObjektiInfo[idobj][aX], ObjektiInfo[idobj][aY], ObjektiInfo[idobj][aZ]);
  687. SetPlayerInterior(playerid,0); SetPlayerVirtualWorld(playerid,0);
  688. return 1;
  689. }
  690.  
  691. public OnPlayerDisconnect(playerid, reason)
  692. {
  693. if(GetPVarInt(playerid, "TurfTim") > 0)
  694. {
  695. SetPVarInt(playerid, "TurfTim", 0);
  696. DestroyVehicle(TurfVozilo[playerid]);
  697. for(new a=0; a<8; a++)
  698. {
  699. TextDrawHideForPlayer(playerid, TurfRez[a]);
  700. }
  701. }
  702. return 1;
  703. }
  704.  
  705. public OnPlayerStateChange(playerid, newstate, oldstate)
  706. {
  707. if(GetPVarInt(playerid, "TurfTim") > 0)
  708. {
  709. if(oldstate == PLAYER_STATE_DRIVER)
  710. {
  711. if(newstate == PLAYER_STATE_ONFOOT)
  712. {
  713. PutPlayerInVehicle(playerid, TurfVozilo[playerid], 0);
  714. }
  715. }
  716. }
  717. return 1;
  718. }
  719.  
  720. public OnPlayerUpdate(playerid)
  721. {
  722. if(PokrenutTurf == 1 && GetPVarInt(playerid, "TurfTim") > 0)
  723. {
  724. new Float:ObjPos[3];
  725. for(new idobj=0; idobj<MAX_OBJEKTI; idobj++)
  726. {
  727. if(ObjektiInfo[idobj][aPostavljen] == 1 && ObjektiInfo[idobj][Vrsta] <= 1)
  728. {
  729. GetDynamicObjectPos(ObjektiInfo[idobj][aObjekt],ObjPos[0],ObjPos[1],ObjPos[2]);
  730. if(IsPlayerInRangeOfPoint(playerid, 5.0, ObjPos[0], ObjPos[1], ObjPos[2]))
  731. {
  732. if(ObjektiInfo[idobj][Vlasnik] == 1 && GetPVarInt(playerid, "TurfTim") != 1)
  733. {
  734. Bodovi[0]--;
  735. new str[6];
  736. format(str,sizeof(str), "%d", Bodovi[0]);
  737. TextDrawSetString(TurfRez[0], str);
  738. }
  739. if(ObjektiInfo[idobj][Vlasnik] == 2 && GetPVarInt(playerid, "TurfTim") != 2)
  740. {
  741. Bodovi[1]--;
  742. new str[6];
  743. format(str,sizeof(str), "%d", Bodovi[1]);
  744. TextDrawSetString(TurfRez[5], str);
  745. }
  746. if(ObjektiInfo[idobj][Vlasnik] == 3 && GetPVarInt(playerid, "TurfTim") != 3)
  747. {
  748. Bodovi[2]--;
  749. new str[6];
  750. format(str,sizeof(str), "%d", Bodovi[2]);
  751. TextDrawSetString(TurfRez[6], str);
  752. }
  753. if(ObjektiInfo[idobj][Vlasnik] == 4 && GetPVarInt(playerid, "TurfTim") != 4)
  754. {
  755. Bodovi[3]--;
  756. new str[6];
  757. format(str,sizeof(str), "%d", Bodovi[3]);
  758. TextDrawSetString(TurfRez[7], str);
  759. }
  760. if(GetPVarInt(playerid, "TurfTim") == 1 && ObjektiInfo[idobj][Vlasnik] != 1)
  761. {
  762. SetDynamicObjectMaterial(ObjektiInfo[idobj][aObjekt], 0, 10101, "2notherbuildsfe", "ferry_build14", 0xFFFFA500);
  763. Bodovi[0]++;
  764. new str[6];
  765. format(str,sizeof(str), "%d", Bodovi[0]);
  766. TextDrawSetString(TurfRez[0], str);
  767. ObjektiInfo[idobj][Vlasnik] = 1;
  768. }
  769. else if(GetPVarInt(playerid, "TurfTim") == 2 && ObjektiInfo[idobj][Vlasnik] != 2)
  770. {
  771. SetDynamicObjectMaterial(ObjektiInfo[idobj][aObjekt], 0, 10101, "2notherbuildsfe", "ferry_build14", 0xFFFF0000);
  772. Bodovi[1]++;
  773. new str[6];
  774. format(str,sizeof(str), "%d", Bodovi[1]);
  775. TextDrawSetString(TurfRez[5], str);
  776. ObjektiInfo[idobj][Vlasnik] = 2;
  777. }
  778. else if(GetPVarInt(playerid, "TurfTim") == 3 && ObjektiInfo[idobj][Vlasnik] != 3)
  779. {
  780. SetDynamicObjectMaterial(ObjektiInfo[idobj][aObjekt], 0, 10101, "2notherbuildsfe", "ferry_build14", 0xFF00FF7F);
  781. Bodovi[2]++;
  782. new str[6];
  783. format(str,sizeof(str), "%d", Bodovi[2]);
  784. TextDrawSetString(TurfRez[6], str);
  785. ObjektiInfo[idobj][Vlasnik] = 3;
  786. }
  787. else if(GetPVarInt(playerid, "TurfTim") == 4 && ObjektiInfo[idobj][Vlasnik] != 4)
  788. {
  789. SetDynamicObjectMaterial(ObjektiInfo[idobj][aObjekt], 0, 10101, "2notherbuildsfe", "ferry_build14", 0xFF00BFFF);
  790. Bodovi[3]++;
  791. new str[6];
  792. format(str,sizeof(str), "%d", Bodovi[3]);
  793. TextDrawSetString(TurfRez[7], str);
  794. ObjektiInfo[idobj][Vlasnik] = 4;
  795. }
  796. }
  797. }
  798. }
  799. new Float: IgrPos[3];
  800. GetPlayerPos(playerid, IgrPos[0], IgrPos[1], IgrPos[2]);
  801. if(IgrPos[2] < (TurfInfo[Poz1][2]-3))
  802. {
  803. if(GetPVarInt(playerid, "TurfTim") == 1)
  804. {
  805. DestroyVehicle(TurfVozilo[playerid]);
  806. TurfVozilo[playerid] = CreateVehicle(411, TurfInfo[Poz1][0], TurfInfo[Poz1][1], TurfInfo[Poz1][2], TurfInfo[Poz1][3], 6, 6, 60);
  807. PutPlayerInVehicle(playerid, TurfVozilo[playerid], 0);
  808. }
  809. else if(GetPVarInt(playerid, "TurfTim") == 2)
  810. {
  811. DestroyVehicle(TurfVozilo[playerid]);
  812. TurfVozilo[playerid] = CreateVehicle(411, TurfInfo[Poz2][0], TurfInfo[Poz2][1], TurfInfo[Poz2][2], TurfInfo[Poz2][3], 3, 3, 60);
  813. PutPlayerInVehicle(playerid, TurfVozilo[playerid], 0);
  814. }
  815. else if(GetPVarInt(playerid, "TurfTim") == 3)
  816. {
  817. DestroyVehicle(TurfVozilo[playerid]);
  818. TurfVozilo[playerid] = CreateVehicle(411, TurfInfo[Poz3][0], TurfInfo[Poz3][1], TurfInfo[Poz3][2], TurfInfo[Poz3][3], 128, 128, 60);
  819. PutPlayerInVehicle(playerid, TurfVozilo[playerid], 0);
  820. }
  821. else if(GetPVarInt(playerid, "TurfTim") == 4)
  822. {
  823. DestroyVehicle(TurfVozilo[playerid]);
  824. TurfVozilo[playerid] = CreateVehicle(411, TurfInfo[Poz4][0], TurfInfo[Poz4][1], TurfInfo[Poz4][2], TurfInfo[Poz4][3], 106, 106, 60);
  825. PutPlayerInVehicle(playerid, TurfVozilo[playerid], 0);
  826. }
  827. }
  828. }
  829. return 1;
  830. }
  831. public OnPlayerEditDynamicObject(playerid, objectid, response, Float:x, Float:y, Float:z, Float:rx, Float:ry, Float:rz)
  832. {
  833. if(response == EDIT_RESPONSE_UPDATE)
  834. {
  835. new id = eData[playerid];
  836. SetDynamicObjectPos(objectid, x, y, z);
  837. SetDynamicObjectRot(objectid, rx, ry, rz);
  838. ObjektiInfo[id][aX] = x;
  839. ObjektiInfo[id][aY] = y;
  840. ObjektiInfo[id][aZ] = z;
  841. ObjektiInfo[id][aRX] = rx;
  842. ObjektiInfo[id][aRY] = ry;
  843. ObjektiInfo[id][aAngle] = rz;
  844. SacuvajObjekte(id);
  845. }
  846. else if(response == EDIT_RESPONSE_CANCEL)
  847. {
  848. eData[playerid] = -1;
  849. }
  850. else if(response == EDIT_RESPONSE_FINAL)
  851. {
  852. new id = eData[playerid];
  853. if(id != -1)
  854. {
  855. ObjektiInfo[id][aX] = x;
  856. ObjektiInfo[id][aY] = y;
  857. ObjektiInfo[id][aZ] = z;
  858. ObjektiInfo[id][aRX] = rx;
  859. ObjektiInfo[id][aRY] = ry;
  860. ObjektiInfo[id][aAngle] = rz;
  861. DestroyDynamicObject(ObjektiInfo[id][aObjekt]);
  862. KreirajObjekte(id);
  863. SacuvajObjekte(id);
  864. new string[100];
  865. format(string,sizeof(string),""ORANGE"INFO | "SIVA"Objekt ID %d je uspjesno kreiran/editovan!",id);
  866. SCM(playerid,-1,string);
  867. id = -1;
  868. return 1;
  869. }
  870. }
  871. return 1;
  872. }
Advertisement
Add Comment
Please, Sign In to add comment