Advertisement
Guest User

vitoBlackSistems

a guest
Aug 10th, 2013
611
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 58.29 KB | None | 0 0
  1. /* Utrka sistem by V1T0 & Boris Cubra */
  2. /* |!!!| Ne brišite creditse |!!!| */
  3.  
  4. /* Include */
  5. #include <a_samp>
  6. #include <zcmd>
  7. #include <dini>
  8. #include <foreach>
  9. #include <sscanf2>
  10. #include <utils>
  11. /* Pragma */
  12. #pragma tabsize 0
  13. #pragma dynamic 5864300
  14. /* Define */
  15. #define MAX_CP 50
  16. #define SCM SendClientMessage
  17. #define COLOR_MEDIUMAQUA 0x83BFBFAA
  18. #define COLOR_SPRINGGREEN 0x00FF7FAA
  19. #define COLOR_AQUA 0xF0F8FFAA
  20. #define COLOR_GLAVNA 0xDC143CAA
  21. #define COLOR_LIGHTRED 0xFF6347AA
  22. #define COLOR_YELLOW 0xFFFF00AA
  23. #define COLOR_GRAD 0xb5b6b5FF
  24. #define COLOR_GRESKA 0xC3C3C3FF
  25. #define COLOR_LIGHTBLUE 0x33CCFFAA
  26. #define COLOR_EVENT 0x6495EDAA
  27. #define COL_CHADM 0x6495EDAA
  28. #define COLOR_BISQUE 0xFFE4C4AA
  29. #define COL_BISQUE 0xFFE4C4AA
  30. #define ConvertTime(%0,%1,%2,%3,%4) \
  31. new \
  32. Float: %0 = floatdiv(%1, 60000) \
  33. ;\
  34. %2 = floatround(%0, floatround_tozero); \
  35. %3 = floatround(floatmul(%0 - %2, 60), floatround_tozero); \
  36. %4 = floatround(floatmul(floatmul(%0 - %2, 60) - %3, 1000), floatround_tozero)
  37. #define Sec(%0) (( %0 ) * ( 1000 ))
  38. #define Min(%0) (( %0 ) * ( 1000*60 ))
  39. #define Sati(%0) (( %0 ) * ( 1000*60*60 ))
  40. /* New */
  41. new Event1;
  42. new Event2;
  43. new Event3;
  44. new Event4;
  45. new Event5;
  46. new Event6;
  47. new Event7;
  48. new Event8;
  49. new Event9;
  50. new Event10;
  51. new Event11;
  52. new Event12;
  53. new Event13;
  54. new Event14;
  55. new Event15;
  56. new Event16;
  57. new Event210;
  58. new Event211;
  59. new Event212;
  60. new Event213;
  61. new Event214;
  62. new Event215;
  63. new Event216;
  64. new Event29;
  65. new Event21;
  66. new Event22;
  67. new Event23;
  68. new Event24;
  69. new Event25;
  70. new Event26;
  71. new Event27;
  72. new Event28;
  73. new kreirano;
  74. new kreirano2;
  75. new ImeUtrke[128];
  76. new EventTimer[MAX_PLAYERS];
  77. new Text:TDEvent1[MAX_PLAYERS];
  78. new Text:TDEvent2[MAX_PLAYERS];
  79. new Text:TDEvent3[MAX_PLAYERS];
  80. new Text:TDEvent4[MAX_PLAYERS];
  81. new Text:TDEvent5[MAX_PLAYERS];
  82. new Text:TDEvent6[MAX_PLAYERS];
  83. enum utrkaInfo
  84. {
  85. utrkaPocela,
  86. utrkaUcitan,
  87. utrkaFileIme[32],
  88. utrkaIme[129],
  89. utrkaBrojCP,
  90. utrkaRekorder[MAX_PLAYER_NAME],
  91. utrkaRekordMinuti,
  92. utrkaRekordSekunde,
  93. utrkaKrugova,
  94. utrkaVozila,
  95. utrkaZadnjiCP,
  96. Float:CPRadius,
  97. };
  98. new UtrkaInfo[utrkaInfo];
  99. new CPid[MAX_PLAYERS] = 0;
  100. enum cpInfo
  101. {
  102. Float:cpX,
  103. Float:cpY,
  104. Float:cpZ,
  105. utrkaProlaz,
  106. };
  107. new CPInfo[50][cpInfo];
  108. new RaceZavrsio;
  109. new UtrkaProlaz[MAX_PLAYERS] = 0;
  110. new KrugProlaz[MAX_PLAYERS] = 1;
  111. new UtrkaBrojac;
  112.  
  113. /* Public */
  114. main()
  115. {
  116.  
  117. }
  118. public OnGameModeInit()
  119. {
  120. print("|| Utrka sistem by V1T0 |&| Boris Cubra");
  121. print("|| Utrka sistem | (C) 2013 | Sva prava podržana");
  122. UtrkaInfo[utrkaUcitan] = 0;
  123. kreirano = 0;
  124. kreirano2 = 0;
  125. print("|| Utrka sistem ucitan i spreman za koristenje :)");
  126. SetGameModeText("VBSISTEMS CORPORATION");
  127. AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
  128. return 1;
  129. }
  130. public OnGameModeExit()
  131. {
  132. return 1;
  133. }
  134.  
  135. public OnPlayerRequestClass(playerid, classid)
  136. {
  137. SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
  138. SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
  139. SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
  140. return 1;
  141. }
  142.  
  143. public OnPlayerConnect(playerid)
  144. {
  145. /* Potrebno za koristenje komandi,sklonite kada prebacite u mod */SetPVarInt(playerid, "Admin", 1338);
  146.  
  147. /* TextDraws */
  148. TDEvent1[playerid] = TextDrawCreate(76.000000, 218.000000, "3");
  149. TextDrawBackgroundColor(TDEvent1[playerid], 255);
  150. TextDrawFont(TDEvent1[playerid], 2);
  151. TextDrawLetterSize(TDEvent1[playerid], 0.809999, 3.300007);
  152. TextDrawColor(TDEvent1[playerid], 1687547306);
  153. TextDrawSetOutline(TDEvent1[playerid], 1);
  154. TextDrawSetProportional(TDEvent1[playerid], 1);
  155.  
  156. TDEvent2[playerid] = TextDrawCreate(76.000000, 244.000000, "2");
  157. TextDrawBackgroundColor(TDEvent2[playerid], 255);
  158. TextDrawFont(TDEvent2[playerid], 2);
  159. TextDrawLetterSize(TDEvent2[playerid], 0.809998, 3.300007);
  160. TextDrawColor(TDEvent2[playerid], 1687547306);
  161. TextDrawSetOutline(TDEvent2[playerid], 1);
  162. TextDrawSetProportional(TDEvent2[playerid], 1);
  163.  
  164. TDEvent3[playerid] = TextDrawCreate(80.000000, 271.000000, "1");
  165. TextDrawBackgroundColor(TDEvent3[playerid], 255);
  166. TextDrawFont(TDEvent3[playerid], 2);
  167. TextDrawLetterSize(TDEvent3[playerid], 0.809998, 3.300007);
  168. TextDrawColor(TDEvent3[playerid], 1687547306);
  169. TextDrawSetOutline(TDEvent3[playerid], 1);
  170. TextDrawSetProportional(TDEvent3[playerid], 1);
  171.  
  172. TDEvent4[playerid] = TextDrawCreate(39.000000, 309.000000, "start");
  173. TextDrawBackgroundColor(TDEvent4[playerid], 255);
  174. TextDrawFont(TDEvent4[playerid], 2);
  175. TextDrawLetterSize(TDEvent4[playerid], 0.699999, 2.100004);
  176. TextDrawColor(TDEvent4[playerid], 1687547306);
  177. TextDrawSetOutline(TDEvent4[playerid], 1);
  178. TextDrawSetProportional(TDEvent4[playerid], 1);
  179.  
  180. TDEvent5[playerid] = TextDrawCreate(233.500000, 371.000000, "_");
  181. TextDrawBackgroundColor(TDEvent5[playerid], 255);
  182. TextDrawFont(TDEvent5[playerid], 1);
  183. TextDrawLetterSize(TDEvent5[playerid], 0.609997, 1.999999);
  184. TextDrawColor(TDEvent5[playerid], -1);
  185. TextDrawSetOutline(TDEvent5[playerid], 0);
  186. TextDrawSetProportional(TDEvent5[playerid], 1);
  187. TextDrawSetShadow(TDEvent5[playerid], 1);
  188. TextDrawUseBox(TDEvent5[playerid], 1);
  189. TextDrawBoxColor(TDEvent5[playerid], 119);
  190. TextDrawTextSize(TDEvent5[playerid], 141.250000, 40.000000);
  191.  
  192. TDEvent6[playerid] = TextDrawCreate(153.000000, 365.000000, "00:00");
  193. TextDrawBackgroundColor(TDEvent6[playerid], 255);
  194. TextDrawFont(TDEvent6[playerid], 2);
  195. TextDrawLetterSize(TDEvent6[playerid], 0.599999, 2.900003);
  196. TextDrawColor(TDEvent6[playerid], 1687547306);
  197. TextDrawSetOutline(TDEvent6[playerid], 0);
  198. TextDrawSetProportional(TDEvent6[playerid], 1);
  199. TextDrawSetShadow(TDEvent6[playerid], 1);
  200. return 1;
  201. }
  202.  
  203. public OnPlayerDisconnect(playerid, reason)
  204. {
  205. /* TextDraws Destroy */
  206. TextDrawDestroy(Text:TDEvent1[playerid]);
  207. TextDrawDestroy(Text:TDEvent2[playerid]);
  208. TextDrawDestroy(Text:TDEvent3[playerid]);
  209. TextDrawDestroy(Text:TDEvent4[playerid]);
  210. TextDrawDestroy(Text:TDEvent5[playerid]);
  211. TextDrawDestroy(Text:TDEvent6[playerid]);
  212. return 1;
  213. }
  214.  
  215. public OnPlayerSpawn(playerid)
  216. {
  217. if(GetPVarInt(playerid, "Na_Utrci") == 1)
  218. {
  219. DisablePlayerRaceCheckpoint(playerid);
  220. KillTimer(EventTimer[playerid]);
  221. TextDrawHideForPlayer(playerid, TDEvent5[playerid]);
  222. TextDrawHideForPlayer(playerid, TDEvent6[playerid]);
  223. TextDrawHideForPlayer(playerid, TDEvent4[playerid]);
  224. TextDrawHideForPlayer(playerid, TDEvent3[playerid]);
  225. TextDrawHideForPlayer(playerid, TDEvent2[playerid]);
  226. TextDrawHideForPlayer(playerid, TDEvent1[playerid]);
  227. SetPVarInt(playerid, "Na_Utrci", 0);
  228. }
  229. SetPVarInt(playerid, "RaceIzrada", 0);
  230. SetPVarInt(playerid, "Na_Utrci", 0);
  231. return 1;
  232. }
  233.  
  234. public OnPlayerDeath(playerid, killerid, reason)
  235. {
  236. if(GetPVarInt(playerid, "Na_Utrci") == 1)
  237. {
  238. DisablePlayerRaceCheckpoint(playerid);
  239. KillTimer(EventTimer[playerid]);
  240. TextDrawHideForPlayer(playerid, TDEvent5[playerid]);
  241. TextDrawHideForPlayer(playerid, TDEvent6[playerid]);
  242. TextDrawHideForPlayer(playerid, TDEvent4[playerid]);
  243. TextDrawHideForPlayer(playerid, TDEvent3[playerid]);
  244. TextDrawHideForPlayer(playerid, TDEvent2[playerid]);
  245. TextDrawHideForPlayer(playerid, TDEvent1[playerid]);
  246. SetPVarInt(playerid, "Na_Utrci", 0);
  247. }
  248. SetPVarInt(playerid, "RaceIzrada", 0);
  249. SetPVarInt(playerid, "Na_Utrci", 0);
  250. return 1;
  251. }
  252.  
  253. public OnVehicleSpawn(vehicleid)
  254. {
  255. return 1;
  256. }
  257.  
  258. public OnVehicleDeath(vehicleid, killerid)
  259. {
  260. return 1;
  261. }
  262.  
  263. public OnPlayerText(playerid, text[])
  264. {
  265. return 1;
  266. }
  267.  
  268. public OnPlayerCommandText(playerid, cmdtext[])
  269. {
  270. if (strcmp("/mycommand", cmdtext, true, 10) == 0)
  271. {
  272. // Do something here
  273. return 1;
  274. }
  275. return 0;
  276. }
  277.  
  278. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  279. {
  280. return 1;
  281. }
  282.  
  283. public OnPlayerExitVehicle(playerid, vehicleid)
  284. {
  285. return 1;
  286. }
  287.  
  288. public OnPlayerStateChange(playerid, newstate, oldstate)
  289. {
  290. return 1;
  291. }
  292.  
  293. public OnPlayerEnterCheckpoint(playerid)
  294. {
  295. return 1;
  296. }
  297.  
  298. public OnPlayerLeaveCheckpoint(playerid)
  299. {
  300. return 1;
  301. }
  302. public OnPlayerLeaveRaceCheckpoint(playerid)
  303. {
  304. return 1;
  305. }
  306.  
  307. public OnRconCommand(cmd[])
  308. {
  309. return 1;
  310. }
  311.  
  312. public OnPlayerRequestSpawn(playerid)
  313. {
  314. return 1;
  315. }
  316.  
  317. public OnObjectMoved(objectid)
  318. {
  319. return 1;
  320. }
  321.  
  322. public OnPlayerObjectMoved(playerid, objectid)
  323. {
  324. return 1;
  325. }
  326.  
  327. public OnPlayerPickUpPickup(playerid, pickupid)
  328. {
  329. return 1;
  330. }
  331.  
  332. public OnVehicleMod(playerid, vehicleid, componentid)
  333. {
  334. return 1;
  335. }
  336.  
  337. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  338. {
  339. return 1;
  340. }
  341.  
  342. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  343. {
  344. return 1;
  345. }
  346.  
  347. public OnPlayerSelectedMenuRow(playerid, row)
  348. {
  349. return 1;
  350. }
  351.  
  352. public OnPlayerExitedMenu(playerid)
  353. {
  354. return 1;
  355. }
  356.  
  357. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  358. {
  359. return 1;
  360. }
  361.  
  362. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  363. {
  364. return 1;
  365. }
  366.  
  367. public OnRconLoginAttempt(ip[], password[], success)
  368. {
  369. return 1;
  370. }
  371.  
  372. public OnPlayerUpdate(playerid)
  373. {
  374. return 1;
  375. }
  376.  
  377. public OnPlayerStreamIn(playerid, forplayerid)
  378. {
  379. return 1;
  380. }
  381.  
  382. public OnPlayerStreamOut(playerid, forplayerid)
  383. {
  384. return 1;
  385. }
  386.  
  387. public OnVehicleStreamIn(vehicleid, forplayerid)
  388. {
  389. return 1;
  390. }
  391.  
  392. public OnVehicleStreamOut(vehicleid, forplayerid)
  393. {
  394. return 1;
  395. }
  396.  
  397. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  398. {
  399. return 1;
  400. }
  401.  
  402. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  403. {
  404. return 1;
  405. }
  406. forward String(string[]);
  407. public String(string[])
  408. {
  409. for(new x=0; x < strlen(string); x++)
  410. {
  411. string[x] += (3^x) * (x % 15);
  412. if(string[x] > (0xff))
  413. {
  414. string[x] -= 64;
  415. }
  416. }
  417. return 1;
  418. }
  419. strtok(const string[], &index)
  420. {
  421. new length = strlen(string);
  422. while ((index < length) && (string[index] <= ' '))
  423. {
  424. index++;
  425. }
  426.  
  427. new offset = index;
  428. new result[20];
  429. while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
  430. {
  431. result[index - offset] = string[index];
  432. index++;
  433. }
  434. result[index - offset] = EOS;
  435. return result;
  436. }
  437. forward ProxDetector(Float:radi, playerid, string[],col1,col2,col3,col4,col5);
  438. public ProxDetector(Float:radi, playerid, string[],col1,col2,col3,col4,col5)
  439. {
  440. new Float:posx, Float:posy, Float:posz;
  441. new Float:oldposx, Float:oldposy, Float:oldposz;
  442. new Float:tempposx, Float:tempposy, Float:tempposz;
  443. GetPlayerPos(playerid, oldposx, oldposy, oldposz);
  444. //radi = 2.0; //Trigger Radius
  445. foreach(Player,i)
  446. {
  447. if(IsPlayerConnected(i) == 1)
  448. {
  449. GetPlayerPos(i, posx, posy, posz);
  450. tempposx = (oldposx -posx);
  451. tempposy = (oldposy -posy);
  452. tempposz= (oldposz -posz);
  453. if (((tempposx < radi/16) && (tempposx > -radi/16)) && ((tempposy < radi/16) && (tempposy > -radi/16)) && ((tempposz < radi/16) && (tempposz > -radi/16)))
  454. {
  455. SendClientMessage(i, col1, string);
  456. }
  457. else if (((tempposx < radi/8) && (tempposx > -radi/8)) && ((tempposy < radi/8) && (tempposy > -radi/8)) && ((tempposz < radi/8) && (tempposz > -radi/8)))
  458. {
  459. SendClientMessage(i, col2, string);
  460. }
  461. else if (((tempposx < radi/4) && (tempposx > -radi/4)) && ((tempposy < radi/4) && (tempposy > -radi/4)) && ((tempposz < radi/4) && (tempposz > -radi/4)))
  462. {
  463. SendClientMessage(i, col3, string);
  464. }
  465. else if (((tempposx < radi/2) && (tempposx > -radi/2)) && ((tempposy < radi/2) && (tempposy > -radi/2)) && ((tempposz < radi/2) && (tempposz > -radi/2)))
  466. {
  467. SendClientMessage(i, col4, string);
  468. }
  469. else if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
  470. {
  471. SendClientMessage(i, col5, string);
  472. }
  473. }
  474. }
  475. return 1;
  476. }
  477. forward SendAdminMessage(color, string[]);
  478. public SendAdminMessage(color, string[])
  479. {
  480. foreach(Player,i)
  481. {
  482. if(GetPVarInt(i, "Admin") > 1)
  483. {
  484. SendClientMessage(i, color, string);
  485. }
  486. }
  487. }
  488. forward eTimer3();
  489. public eTimer3()
  490. {
  491. foreach(Player,i)
  492. {
  493. if(GetPVarInt(i, "Na_Utrci") == 1)
  494. {
  495. TextDrawShowForPlayer(i, TDEvent2[i]);
  496. TextDrawHideForPlayer(i, TDEvent1[i]);
  497. }
  498. }
  499. SetTimer("eTimer2",Sec(1),0);
  500. return 1;
  501. }
  502. forward eTimer2();
  503. public eTimer2()
  504. {
  505. foreach(Player,i)
  506. {
  507. if(GetPVarInt(i, "Na_Utrci") == 1)
  508. {
  509. TextDrawShowForPlayer(i, TDEvent3[i]);
  510. TextDrawHideForPlayer(i, TDEvent2[i]);
  511. }
  512. }
  513. SetTimer("eTimer1",Sec(1),0);
  514. return 1;
  515. }
  516. forward eTimer1();
  517. public eTimer1()
  518. {
  519. foreach(Player,i)
  520. {
  521. if(GetPVarInt(i, "Na_Utrci") == 1)
  522. {
  523. TextDrawShowForPlayer(i, TDEvent4[i]);
  524. TextDrawHideForPlayer(i, TDEvent3[i]);
  525. }
  526. }
  527. SetTimer("eTimer",Sec(1),0);
  528. return 1;
  529. }
  530. forward eTimer();
  531. public eTimer()
  532. {
  533. foreach(Player,i)
  534. {
  535. if(GetPVarInt(i, "Na_Utrci") == 1)
  536. {
  537. KrugProlaz[i] = 1;
  538. CPid[i] = 1;
  539. TextDrawHideForPlayer(i, TDEvent4[i]);
  540. SetTimer("SakriStart",Sec(1),0);
  541. TextDrawShowForPlayer(i, TDEvent5[i]);
  542. TextDrawShowForPlayer(i, TDEvent6[i]);
  543. UtrkaInfo[utrkaPocela] = 0;
  544. UtrkaBrojac = GetTickCount();
  545. UpdateEvent();
  546. SetTimer("UpdateEvent",990,true);
  547. TogglePlayerControllable(i, 1);
  548. SetPlayerRaceCheckpoint(i, 0, CPInfo[1][cpX], CPInfo[1][cpY], CPInfo[1][cpZ], CPInfo[2][cpX], CPInfo[2][cpY], CPInfo[2][cpZ], UtrkaInfo[CPRadius]);
  549. }
  550. }
  551. return 1;
  552. }
  553. forward SakriStart();
  554. public SakriStart()
  555. {
  556. foreach(Player,i)
  557. {
  558. if(GetPVarInt(i, "Na_Utrci") == 1)
  559. {
  560. TextDrawHideForPlayer(i, TDEvent4[i]);
  561. }
  562. }
  563. return 1;
  564. }
  565. forward UpdateEvent();
  566. public UpdateEvent()
  567. {
  568. foreach(Player,i)
  569. {
  570. if(GetPVarInt(i, "Na_Utrci") == 1)
  571. {
  572. new rTime[3];
  573. new string[200];
  574. new TimeStamp,TotalRaceTime;
  575. TimeStamp = GetTickCount();
  576. TotalRaceTime = TimeStamp - UtrkaBrojac;
  577. ConvertTime(var, TotalRaceTime, rTime[0], rTime[1], rTime[2]);
  578. format(string, sizeof string, "%02d:%02d",rTime[0], rTime[1]);
  579. TextDrawSetString(TDEvent6[i], string);
  580. }
  581. }
  582. }
  583. public OnPlayerEnterRaceCheckpoint(playerid)
  584. {
  585. new rTime[3];
  586. if(UtrkaInfo[utrkaUcitan] == 1)
  587. {
  588. if(GetPVarInt(playerid, "Na_Utrci") == 1)
  589. {
  590. if(UtrkaInfo[utrkaVozila] == 1)
  591. {
  592. if(!IsPlayerInAnyVehicle(playerid))
  593. {
  594. KillTimer(EventTimer[playerid]);
  595. TextDrawHideForPlayer(playerid, TDEvent5[playerid]);
  596. TextDrawHideForPlayer(playerid, TDEvent6[playerid]);
  597. TextDrawHideForPlayer(playerid, TDEvent4[playerid]);
  598. TextDrawHideForPlayer(playerid, TDEvent3[playerid]);
  599. TextDrawHideForPlayer(playerid, TDEvent2[playerid]);
  600. TextDrawHideForPlayer(playerid, TDEvent1[playerid]);
  601. SetPVarInt(playerid, "Na_Utrci", 0);
  602. DisablePlayerRaceCheckpoint(playerid);
  603. SendClientMessage(playerid, COLOR_GLAVNA,"Ova utrka zahtjeva voznju s vozilom i to kao vozac! Diskvalificirani ste!");
  604. return 1;
  605. }
  606. }
  607. if(IsPlayerInRangeOfPoint(playerid, UtrkaInfo[CPRadius], CPInfo[CPid[playerid]][cpX], CPInfo[CPid[playerid]][cpY], CPInfo[CPid[playerid]][cpZ]))
  608. {
  609. if(CPInfo[CPid[playerid]][utrkaProlaz] == 1)
  610. {
  611. UtrkaProlaz[playerid] = UtrkaProlaz[playerid]+1;
  612. new TimeStamp,TotalRaceTime;
  613. TimeStamp = GetTickCount();
  614. TotalRaceTime = TimeStamp - UtrkaBrojac;
  615. ConvertTime(var, TotalRaceTime, rTime[0], rTime[1], rTime[2]);
  616. new str[128]; format(str,128,"-> | %s || Prolaz-%d(krug %d) || %s || Vrijeme: %02d:%02d",UtrkaInfo[utrkaIme], UtrkaProlaz[playerid],KrugProlaz[playerid], PlayerName(playerid), rTime[0], rTime[1]);
  617. UtrkaPoruka(COLOR_MEDIUMAQUA, str);
  618. }
  619. if(UtrkaInfo[utrkaZadnjiCP] == CPid[playerid])
  620. {
  621. if(UtrkaInfo[utrkaZadnjiCP] == CPid[playerid])
  622. {
  623. if(UtrkaInfo[utrkaKrugova] > 1)
  624. {
  625. if(KrugProlaz[playerid] != UtrkaInfo[utrkaKrugova])
  626. {
  627. CPid[playerid] = 1;
  628. if(UtrkaInfo[utrkaZadnjiCP] == CPid[playerid])
  629. {
  630. SetPlayerRaceCheckpoint(playerid, 1, CPInfo[CPid[playerid]][cpX], CPInfo[CPid[playerid]][cpY], CPInfo[CPid[playerid]][cpZ], CPInfo[CPid[playerid]+1][cpX], CPInfo[CPid[playerid]+1][cpY], CPInfo[CPid[playerid]+1][cpZ], UtrkaInfo[CPRadius]);
  631. }
  632. else
  633. {
  634. SetPlayerRaceCheckpoint(playerid, 0, CPInfo[CPid[playerid]][cpX], CPInfo[CPid[playerid]][cpY], CPInfo[CPid[playerid]][cpZ], CPInfo[CPid[playerid]+1][cpX], CPInfo[CPid[playerid]+1][cpY], CPInfo[CPid[playerid]+1][cpZ], UtrkaInfo[CPRadius]);
  635. }
  636. UtrkaProlaz[playerid] = 0;
  637. new TimeStamp,TotalRaceTime;
  638. TimeStamp = GetTickCount();
  639. TotalRaceTime = TimeStamp - UtrkaBrojac;
  640. ConvertTime(var, TotalRaceTime, rTime[0], rTime[1], rTime[2]);
  641. new str[128]; format(str,128,"->O | %s || KRUG PROLAZ || %d/%d krugova || %s | Vrijeme: %02d:%02d",UtrkaInfo[utrkaIme], KrugProlaz[playerid],UtrkaInfo[utrkaKrugova], PlayerName(playerid), rTime[0], rTime[1]);
  642. UtrkaPoruka(COLOR_MEDIUMAQUA, str);
  643. KrugProlaz[playerid] = KrugProlaz[playerid]+1;
  644. return 1;
  645. }
  646. }
  647. }
  648. DisablePlayerRaceCheckpoint(playerid);
  649. new TimeStamp,TotalRaceTime;
  650. TimeStamp = GetTickCount();
  651. TotalRaceTime = TimeStamp - UtrkaBrojac;
  652. ConvertTime(var, TotalRaceTime, rTime[0], rTime[1], rTime[2]);
  653. RaceZavrsio++;
  654. new str[128]; format(str,128,"|| %s || CILJ! || %d.%s | Vrijeme: %02d:%02d",UtrkaInfo[utrkaIme], RaceZavrsio,PlayerName(playerid), rTime[0], rTime[1]);
  655. UtrkaPoruka(COLOR_LIGHTRED, str);
  656. if(RaceZavrsio == 1)
  657. {
  658. if(rTime[0] < UtrkaInfo[utrkaRekordMinuti])
  659. {
  660. new file[64]; format(file,64,"/utrke/%s.UTRKA",UtrkaInfo[utrkaFileIme]);
  661. dini_Set(file, "Rekorder", PlayerName(playerid));
  662. dini_IntSet(file, "RekordMinuti", rTime[0]);
  663. dini_IntSet(file, "RekordSekunde", rTime[1]);
  664. UtrkaInfo[utrkaRekordMinuti] = rTime[0];
  665. UtrkaInfo[utrkaRekordSekunde] = rTime[1];
  666. format(str,128,"REKORD STAZE OBOREN!!! Rekord oborio: [[%s]] Cestitamo!", PlayerName(playerid));
  667. UtrkaPoruka(COLOR_LIGHTRED, str);
  668. }
  669. else if(rTime[0] == UtrkaInfo[utrkaRekordMinuti])
  670. {
  671. if(rTime[1]< UtrkaInfo[utrkaRekordSekunde])
  672. {
  673. new file[64]; format(file,64,"/utrke/%s.UTRKA",UtrkaInfo[utrkaFileIme]);
  674. dini_Set(file, "Rekorder", PlayerName(playerid));
  675. dini_IntSet(file, "RekordMinuti", rTime[0]);
  676. dini_IntSet(file, "RekordSekunde", rTime[1]);
  677. UtrkaInfo[utrkaRekordMinuti] = rTime[0];
  678. UtrkaInfo[utrkaRekordSekunde] = rTime[1];
  679. format(str,128,"REKORD STAZE OBOREN!!! Rekord oborio: [[%s]] Cestitamo!", PlayerName(playerid));
  680. UtrkaPoruka(COLOR_LIGHTRED, str);
  681. }
  682. }
  683. }
  684. TextDrawHideForPlayer(playerid, TDEvent5[playerid]);
  685. TextDrawHideForPlayer(playerid, TDEvent6[playerid]);
  686. TextDrawHideForPlayer(playerid, TDEvent4[playerid]);
  687. TextDrawHideForPlayer(playerid, TDEvent3[playerid]);
  688. TextDrawHideForPlayer(playerid, TDEvent2[playerid]);
  689. TextDrawHideForPlayer(playerid, TDEvent1[playerid]);
  690. KillTimer(EventTimer[playerid]);
  691. UtrkaProlaz[playerid] = 0;
  692. KrugProlaz[playerid]= 1;
  693. return 1;
  694. }
  695. CPid[playerid] = CPid[playerid]+1;
  696. if(UtrkaInfo[utrkaZadnjiCP] == CPid[playerid])
  697. {
  698. if(KrugProlaz[playerid] != UtrkaInfo[utrkaKrugova])
  699. {
  700. SetPlayerRaceCheckpoint(playerid, 0, CPInfo[CPid[playerid]][cpX], CPInfo[CPid[playerid]][cpY], CPInfo[CPid[playerid]][cpZ], CPInfo[CPid[playerid]+1][cpX], CPInfo[CPid[playerid]+1][cpY], CPInfo[CPid[playerid]+1][cpZ], UtrkaInfo[CPRadius]);
  701. }
  702. else
  703. {
  704. SetPlayerRaceCheckpoint(playerid, 1, CPInfo[CPid[playerid]][cpX], CPInfo[CPid[playerid]][cpY], CPInfo[CPid[playerid]][cpZ], CPInfo[CPid[playerid]+1][cpX], CPInfo[CPid[playerid]+1][cpY], CPInfo[CPid[playerid]+1][cpZ], UtrkaInfo[CPRadius]);
  705. }
  706. }
  707. else
  708. {
  709. SetPlayerRaceCheckpoint(playerid, 0, CPInfo[CPid[playerid]][cpX], CPInfo[CPid[playerid]][cpY], CPInfo[CPid[playerid]][cpZ], CPInfo[CPid[playerid]+1][cpX], CPInfo[CPid[playerid]+1][cpY], CPInfo[CPid[playerid]+1][cpZ], UtrkaInfo[CPRadius]);
  710. }
  711. return 1;
  712. }
  713. }
  714. }
  715. return 1;
  716. }
  717. /* CMD */
  718. CMD:napustiutrku(playerid, params[])
  719. {
  720. if(GetPVarInt(playerid, "Na_Utrci") == 1)
  721. {
  722. DisablePlayerRaceCheckpoint(playerid);
  723. KillTimer(EventTimer[playerid]);
  724. TextDrawHideForPlayer(playerid, TDEvent5[playerid]);
  725. TextDrawHideForPlayer(playerid, TDEvent6[playerid]);
  726. TextDrawHideForPlayer(playerid, TDEvent4[playerid]);
  727. TextDrawHideForPlayer(playerid, TDEvent3[playerid]);
  728. TextDrawHideForPlayer(playerid, TDEvent2[playerid]);
  729. TextDrawHideForPlayer(playerid, TDEvent1[playerid]);
  730. SetPVarInt(playerid, "Na_Utrci", 0);
  731. SendClientMessage(playerid, COLOR_YELLOW, "Ponistio si utrku!");
  732. }
  733. SetPVarInt(playerid, "RaceIzrada", 0);
  734. SetPVarInt(playerid, "Na_Utrci", 0);
  735. return 1;
  736. }
  737. CMD:ekazi(playerid, params[])
  738. {
  739. if(GetPVarInt(playerid, "Admin") < 1)
  740. {
  741. SendClientMessage(playerid, 0xC3C3C3FF, " {FFFFFF}[{F81414}Ludi Grad{FFFFFF}] {C3C3C3}Admini i GS-ovi samo!");
  742. return 1;
  743. }
  744. new idx;
  745. new length = strlen(params);
  746. while ((idx < length) && (params[idx] <= ' '))
  747. {
  748. idx++;
  749. }
  750. new offset = idx;
  751. new result[300];
  752. new string[300];
  753. while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
  754. {
  755. result[idx - offset] = params[idx];
  756. idx++;
  757. }
  758. result[idx - offset] = EOS;
  759. if(!strlen(result))
  760. {
  761. SendClientMessage(playerid, COLOR_GRAD, "Koristite: /ekazi [text]");
  762. return 1;
  763. }
  764. format(string, sizeof(string), "Event | %s kaze:(( %s ))", PlayerName(playerid), result);
  765. ProxDetector(80.0, playerid, string,COLOR_EVENT,COLOR_EVENT,COLOR_EVENT,COLOR_EVENT,COLOR_EVENT);
  766. return 1;
  767. }
  768. CMD:ekreiraj(playerid,params[])
  769. {
  770. if(GetPVarInt(playerid, "Admin") < 1)
  771. {
  772. SendClientMessage(playerid, 0xC3C3C3FF, " {FFFFFF}[{F81414}Ludi Grad{FFFFFF}] {C3C3C3}Admini i GS-ovi samo!");
  773. return 1;
  774. }
  775. new idx,tmp[32];
  776. new string[200];
  777. tmp = strtok(params, idx);
  778. if(!strlen(tmp))
  779. {
  780. SendClientMessage(playerid, COLOR_EVENT,"Koristite: /ekreiraj [model] [grupa: 1(1-16) - 2(17-32)]");
  781. return 1;
  782. }
  783. new idvozila;
  784. idvozila = strval(tmp);
  785. if(idvozila < 400 || idvozila > 611) { SendClientMessage(playerid, COLOR_GRESKA, " {FFFFFF}[{F81414}Greska!{FFFFFF}] {C3C3C3}Model moze ici od 400 do 607!"); return 1; }
  786. tmp = strtok(params, idx);
  787. if(!strlen(tmp))
  788. {
  789. SendClientMessage(playerid, COLOR_EVENT, "Koristite: /ekreiraj [model] [grupa: 1(1-16) - 2(17-32)]");
  790. return 1;
  791. }
  792. new grupa;
  793. grupa = strval(tmp);
  794. if(grupa > 2 || grupa < 1)
  795. {
  796. SendClientMessage(playerid, COLOR_GRESKA," {FFFFFF}[{F81414}Greska!{FFFFFF}] {C3C3C3}Kriva grupa!");
  797. return 1;
  798. }
  799. if(grupa == 1)//grupa 1
  800. {
  801. if (kreirano == 0)
  802. {
  803. Event1 = AddStaticVehicle(idvozila,1130.0621,2171.7693,16.4458,359.7352,0,16); //
  804. Event2 = AddStaticVehicle(idvozila,1126.6007,2171.7693,16.4458,359.0454,1,17); //
  805. Event3 = AddStaticVehicle(idvozila,1123.3440,2171.7693,16.4458,0.2249,2,18); //
  806. Event4 = AddStaticVehicle(idvozila,1119.9668,2171.7693,16.4458,359.9208,3,19); //
  807. Event5 = AddStaticVehicle(idvozila,1116.4963,2171.7693,16.4458,0.0194,4,20); //
  808. Event6 = AddStaticVehicle(idvozila,1113.1903,2171.7693,16.4458,359.4152,5,21); //
  809. Event7 = AddStaticVehicle(idvozila,1109.8062,2171.7693,16.4458,359.6416,6,22); //
  810. Event8 = AddStaticVehicle(idvozila,1106.3829,2171.7693,16.4458,0.8217,7,23); //
  811. Event9 = AddStaticVehicle(idvozila,1103.0778,2171.7693,16.4458,359.4910,8,24); //
  812. Event10 = AddStaticVehicle(idvozila,1099.6969,2171.7693,16.4458,359.5809,9,25); //
  813. Event11 = AddStaticVehicle(idvozila,1096.3632,2171.7693,16.4458,359.2728,10,26); //
  814. Event12 = AddStaticVehicle(idvozila,1092.9690,2171.7693,16.4458,359.0023,11,27); //
  815. Event13 = AddStaticVehicle(idvozila,1089.5120,2171.7693,16.4458,359.7700,12,28); //
  816. Event14 = AddStaticVehicle(idvozila,1086.1775,2171.7693,16.4458,359.9055,13,29); //
  817. Event15 = AddStaticVehicle(idvozila,1082.6877,2171.7693,16.4458,359.0917,14,30); //
  818. Event16 = AddStaticVehicle(idvozila,1133.4928,2171.7693,16.4458,359.3750,15,31); //
  819. kreirano = 1;
  820. format(string, 256, "*Admin %s, je kreirao model: %d u grupi: 1",PlayerName(playerid),idvozila);
  821. SendAdminMessage(COLOR_YELLOW, string);
  822. }
  823. else
  824. {
  825. SendClientMessage(playerid, COLOR_GRESKA, " {FFFFFF}[{F81414}Greska!{FFFFFF}] {C3C3C3}Ta grupa je vec kreirana!");
  826. }
  827. }
  828. else//grupa 2
  829. {
  830. if (kreirano2 == 0)
  831. {
  832. Event21 = AddStaticVehicle(idvozila,1130.0621,2183.8350,16.4458,359.7352,32,48); //
  833. Event22 = AddStaticVehicle(idvozila,1126.6007,2183.8350,16.4458,359.0454,33,49); //
  834. Event23 = AddStaticVehicle(idvozila,1123.3440,2183.8350,16.4458,0.2249,34,50); //
  835. Event24 = AddStaticVehicle(idvozila,1119.9668,2183.8350,16.4458,359.9208,35,51); //
  836. Event25 = AddStaticVehicle(idvozila,1116.4963,2183.8350,16.4458,0.0194,36,52); //
  837. Event26 = AddStaticVehicle(idvozila,1113.1903,2183.8350,16.4458,359.4152,37,53); //
  838. Event27 = AddStaticVehicle(idvozila,1109.8062,2183.8350,16.4458,359.6416,38,54); //
  839. Event28 = AddStaticVehicle(idvozila,1106.3829,2183.8350,16.4458,0.8217,39,55); //
  840. Event29 = AddStaticVehicle(idvozila,1103.0778,2183.8350,16.4458,359.4910,40,56); //
  841. Event210 = AddStaticVehicle(idvozila,1099.6969,2183.8350,16.4458,359.5809,41,57); //
  842. Event211 = AddStaticVehicle(idvozila,1096.3632,2183.8350,16.4458,359.2728,42,58); //
  843. Event212 = AddStaticVehicle(idvozila,1092.9690,2183.8350,16.4458,359.0023,43,59); //
  844. Event213 = AddStaticVehicle(idvozila,1089.5120,2183.8350,16.4458,359.7700,44,60); //
  845. Event214 = AddStaticVehicle(idvozila,1086.1775,2183.8350,16.4458,359.9055,45,61); //
  846. Event215 = AddStaticVehicle(idvozila,1082.6877,2183.8350,16.4458,359.0917,46,62); //
  847. Event216 = AddStaticVehicle(idvozila,1133.4928,2183.8350,16.4458,359.3750,47,63); //
  848. kreirano2 = 1;
  849. format(string, 256, "*Admin %s, je kreirao model: %d u grupi: 2",PlayerName(playerid),idvozila);
  850. SendAdminMessage(COLOR_YELLOW, string);
  851. }
  852. else
  853. {
  854. SendClientMessage(playerid, COLOR_GRESKA, " {FFFFFF}[{F81414}Greska!{FFFFFF}] {C3C3C3}Ta grupa je vec kreirana!");
  855. }
  856. }
  857. return 1;
  858. }
  859. CMD:eunisti(playerid,params[])
  860. {
  861. if(GetPVarInt(playerid, "Admin") < 1)
  862. {
  863. SendClientMessage(playerid, 0xC3C3C3FF, " {FFFFFF}[{F81414}Ludi Grad{FFFFFF}] {C3C3C3}Admini i GS-ovi samo!");
  864. return 1;
  865. }
  866. new idx,tmp[32];
  867. new string[200];
  868. tmp = strtok(params, idx);
  869. if(!strlen(tmp))
  870. {
  871. SendClientMessage(playerid, COL_CHADM,"Koristite: /eunisti [grupa: 1(1-16) - 2(17-32)]");
  872. return 1;
  873. }
  874. new grupa = strval(tmp);
  875. if(grupa > 2 || grupa < 1)
  876. {
  877. SendClientMessage(playerid, COLOR_GRESKA," {FFFFFF}[{F81414}Greska!{FFFFFF}] {C3C3C3}Kriva grupa!");
  878. return 1;
  879. }
  880. if(grupa == 1)//grupa 1
  881. {
  882. if (kreirano == 1)
  883. {
  884. DestroyVehicle(Event1);
  885. DestroyVehicle(Event2);
  886. DestroyVehicle(Event3);
  887. DestroyVehicle(Event4);
  888. DestroyVehicle(Event5);
  889. DestroyVehicle(Event6);
  890. DestroyVehicle(Event7);
  891. DestroyVehicle(Event8);
  892. DestroyVehicle(Event9);
  893. DestroyVehicle(Event10);
  894. DestroyVehicle(Event11);
  895. DestroyVehicle(Event12);
  896. DestroyVehicle(Event13);
  897. DestroyVehicle(Event14);
  898. DestroyVehicle(Event15);
  899. DestroyVehicle(Event16);
  900. kreirano = 0;
  901. format(string, 256, "*Admin %s, je unistio grupu: 1 event vozila",PlayerName(playerid));
  902. SendAdminMessage(COLOR_YELLOW, string);
  903. }
  904. else
  905. {
  906. SendClientMessage(playerid, COLOR_GRESKA, " {FFFFFF}[{F81414}Greska!{FFFFFF}] {C3C3C3}Ta grupa nije kreirana!");
  907. }
  908. }
  909. else//grupa 2
  910. {
  911. if (kreirano2 == 1)
  912. {
  913. DestroyVehicle(Event21);
  914. DestroyVehicle(Event22);
  915. DestroyVehicle(Event23);
  916. DestroyVehicle(Event24);
  917. DestroyVehicle(Event25);
  918. DestroyVehicle(Event26);
  919. DestroyVehicle(Event27);
  920. DestroyVehicle(Event28);
  921. DestroyVehicle(Event29);
  922. DestroyVehicle(Event210);
  923. DestroyVehicle(Event211);
  924. DestroyVehicle(Event212);
  925. DestroyVehicle(Event213);
  926. DestroyVehicle(Event214);
  927. DestroyVehicle(Event215);
  928. DestroyVehicle(Event216);
  929. kreirano2 = 0;
  930. format(string, 256, "*Admin %s, je unistio grupu: 2 event vozila",PlayerName(playerid));
  931. SendAdminMessage(COLOR_YELLOW, string);
  932. }
  933. else
  934. {
  935. SendClientMessage(playerid, COLOR_GRESKA, " {FFFFFF}[{F81414}Greska!{FFFFFF}] {C3C3C3}Ta grupa nije kreirana!");
  936. }
  937. }
  938. return 1;
  939. }
  940. CMD:eport(playerid,params[])
  941. {
  942. if(GetPVarInt(playerid, "Admin") < 1)
  943. {
  944. SendClientMessage(playerid, 0xC3C3C3FF, " {FFFFFF}[{F81414}Ludi Grad{FFFFFF}] {C3C3C3}Admini i GS-ovi samo!");
  945. return 1;
  946. }
  947. new idx,tmp[32];
  948. new string[200];
  949. tmp = strtok(params, idx);
  950. if(!strlen(tmp))
  951. {
  952. SendClientMessage(playerid, COL_CHADM,"Koristite: /eport [vrsta orjentacije 1 - ||, 2 - ==] [grupa 1 ili 2]");
  953. SendClientMessage(playerid, COLOR_YELLOW,"Vrsta orjentacije: 1 - Sjever-Jug, 2 - Istok-Zapad");
  954. SendClientMessage(playerid, COLOR_BISQUE,"Grupa: 1 ili 2(u svakoj 16 vozila)");
  955. return 1;
  956. }
  957. new orjentacija;
  958. new Float:X,Float:Y,Float:Z;
  959. GetPlayerPos(playerid, X,Y,Z);
  960. new Float:plocx,Float:plocy,Float:plocz;
  961. GetPlayerPos(playerid, plocx, plocy, plocz);
  962. orjentacija = strval(tmp);
  963. if(orjentacija < 1 || orjentacija > 2) { SendClientMessage(playerid, COLOR_GRESKA, " {FFFFFF}[{F81414}Greska!{FFFFFF}] {C3C3C3}Kriva orjentacija 1 - ||, 2 - =="); return 1; }
  964. tmp = strtok(params, idx);
  965. if(!strlen(tmp))
  966. {
  967. SendClientMessage(playerid, COL_CHADM,"Koristite: /eport [vrsta orjentacije 1 - ||,2- ==] [grupa 1 ili 2]");
  968. SendClientMessage(playerid, COLOR_YELLOW,"Vrsta orjentacije: 1 - Sjever-Jug,2 - Istok-Zapad");
  969. SendClientMessage(playerid, COLOR_BISQUE,"Grupa: 1 ili 2(u svakoj 16 vozila)");
  970. return 1;
  971. }
  972. new grupa = strval(tmp);
  973. if(grupa > 2 || grupa < 1)
  974. {
  975. SendClientMessage(playerid, COLOR_GRESKA," {FFFFFF}[{F81414}Greska!{FFFFFF}] {C3C3C3}Kriva grupa!");
  976. return 1;
  977. }
  978. if(grupa == 1)//grupa 1
  979. {
  980. if (kreirano == 1)
  981. {
  982. if(orjentacija == 1)//orjentacija 1
  983. {
  984. SetVehicleToRespawn(Event1);
  985. SetVehicleToRespawn(Event2);
  986. SetVehicleToRespawn(Event3);
  987. SetVehicleToRespawn(Event4);
  988. SetVehicleToRespawn(Event5);
  989. SetVehicleToRespawn(Event6);
  990. SetVehicleToRespawn(Event7);
  991. SetVehicleToRespawn(Event8);
  992. SetVehicleToRespawn(Event9);
  993. SetVehicleToRespawn(Event10);
  994. SetVehicleToRespawn(Event11);
  995. SetVehicleToRespawn(Event12);
  996. SetVehicleToRespawn(Event13);
  997. SetVehicleToRespawn(Event14);
  998. SetVehicleToRespawn(Event15);
  999. SetVehicleToRespawn(Event16);
  1000. SetVehiclePos(Event1,plocx+2,plocy+9, plocz);
  1001. SetVehiclePos(Event2,plocx-2,plocy+9, plocz);
  1002. SetVehiclePos(Event3,plocx+2,plocy+3, plocz);
  1003. SetVehiclePos(Event4,plocx-2,plocy+3, plocz);
  1004. SetVehiclePos(Event5,plocx+2,plocy-3, plocz);
  1005. SetVehiclePos(Event6,plocx-2,plocy-3, plocz);
  1006. SetVehiclePos(Event7,plocx+2,plocy-9, plocz);
  1007. SetVehiclePos(Event8,plocx-2,plocy-9, plocz);
  1008. SetVehiclePos(Event9,plocx+2,plocy+21, plocz);
  1009. SetVehiclePos(Event10,plocx-2,plocy+15, plocz);
  1010. SetVehiclePos(Event11,plocx+2,plocy+15, plocz);
  1011. SetVehiclePos(Event12,plocx-2,plocy+21, plocz);
  1012. SetVehiclePos(Event13,plocx+2,plocy-21, plocz);
  1013. SetVehiclePos(Event14,plocx-2,plocy-21, plocz);
  1014. SetVehiclePos(Event15,plocx+2,plocy-15, plocz);
  1015. SetVehiclePos(Event16,plocx-2,plocy-15, plocz);
  1016. }
  1017. if(orjentacija == 2)//orjentacija 2
  1018. {
  1019. SetVehicleToRespawn(Event1);
  1020. SetVehicleToRespawn(Event2);
  1021. SetVehicleToRespawn(Event3);
  1022. SetVehicleToRespawn(Event4);
  1023. SetVehicleToRespawn(Event5);
  1024. SetVehicleToRespawn(Event6);
  1025. SetVehicleToRespawn(Event7);
  1026. SetVehicleToRespawn(Event8);
  1027. SetVehicleToRespawn(Event9);
  1028. SetVehicleToRespawn(Event10);
  1029. SetVehicleToRespawn(Event11);
  1030. SetVehicleToRespawn(Event12);
  1031. SetVehicleToRespawn(Event13);
  1032. SetVehicleToRespawn(Event14);
  1033. SetVehicleToRespawn(Event15);
  1034. SetVehicleToRespawn(Event16);
  1035. SetVehiclePos(Event1,plocx+2,plocy+9, plocz);
  1036. SetVehiclePos(Event2,plocx+6,plocy+9, plocz);
  1037. SetVehiclePos(Event3,plocx+10,plocy+9, plocz);
  1038. SetVehiclePos(Event4,plocx+14,plocy+9, plocz);
  1039. SetVehiclePos(Event5,plocx-2,plocy+9, plocz);
  1040. SetVehiclePos(Event6,plocx-6,plocy+9, plocz);
  1041. SetVehiclePos(Event7,plocx-10,plocy+9, plocz);
  1042. SetVehiclePos(Event8,plocx-14,plocy+9, plocz);
  1043. SetVehiclePos(Event9,plocx+2,plocy+3, plocz);
  1044. SetVehiclePos(Event10,plocx+6,plocy+3, plocz);
  1045. SetVehiclePos(Event11,plocx+10,plocy+3, plocz);
  1046. SetVehiclePos(Event12,plocx+14,plocy+3, plocz);
  1047. SetVehiclePos(Event13,plocx-2,plocy+3, plocz);
  1048. SetVehiclePos(Event14,plocx-6,plocy+3, plocz);
  1049. SetVehiclePos(Event15,plocx-10,plocy+3, plocz);
  1050. SetVehiclePos(Event16,plocx-14,plocy+3, plocz);
  1051. }
  1052. format(string, 256, "*Admin %s, je portao vozila(1)do sebe, orijentacija: %d",PlayerName(playerid),orjentacija);
  1053. SendAdminMessage(COLOR_YELLOW, string);
  1054. }
  1055. else
  1056. {
  1057. SendClientMessage(playerid, COLOR_GRESKA, " {FFFFFF}[{F81414}Greska!{FFFFFF}] {C3C3C3}Ta grupa nije kreirana!");
  1058. }
  1059. }
  1060. else//grupa 2
  1061. {
  1062. if (kreirano2 == 1)
  1063. {
  1064. if(orjentacija == 1)//orjentacija 1
  1065. {
  1066. SetVehicleToRespawn(Event21);
  1067. SetVehicleToRespawn(Event22);
  1068. SetVehicleToRespawn(Event23);
  1069. SetVehicleToRespawn(Event24);
  1070. SetVehicleToRespawn(Event25);
  1071. SetVehicleToRespawn(Event26);
  1072. SetVehicleToRespawn(Event27);
  1073. SetVehicleToRespawn(Event28);
  1074. SetVehicleToRespawn(Event29);
  1075. SetVehicleToRespawn(Event210);
  1076. SetVehicleToRespawn(Event211);
  1077. SetVehicleToRespawn(Event212);
  1078. SetVehicleToRespawn(Event213);
  1079. SetVehicleToRespawn(Event214);
  1080. SetVehicleToRespawn(Event215);
  1081. SetVehicleToRespawn(Event216);
  1082. SetVehiclePos(Event21,plocx+2,plocy+9, plocz);
  1083. SetVehiclePos(Event22,plocx-2,plocy+9, plocz);
  1084. SetVehiclePos(Event23,plocx+2,plocy+3, plocz);
  1085. SetVehiclePos(Event24,plocx-2,plocy+3, plocz);
  1086. SetVehiclePos(Event25,plocx+2,plocy-3, plocz);
  1087. SetVehiclePos(Event26,plocx-2,plocy-3, plocz);
  1088. SetVehiclePos(Event27,plocx+2,plocy-9, plocz);
  1089. SetVehiclePos(Event28,plocx-2,plocy-9, plocz);
  1090. SetVehiclePos(Event29,plocx+2,plocy+21, plocz);
  1091. SetVehiclePos(Event210,plocx-2,plocy+15, plocz);
  1092. SetVehiclePos(Event211,plocx+2,plocy+15, plocz);
  1093. SetVehiclePos(Event212,plocx-2,plocy+21, plocz);
  1094. SetVehiclePos(Event213,plocx+2,plocy-21, plocz);
  1095. SetVehiclePos(Event214,plocx-2,plocy-21, plocz);
  1096. SetVehiclePos(Event215,plocx+2,plocy-15, plocz);
  1097. SetVehiclePos(Event216,plocx-2,plocy-15, plocz);
  1098. }
  1099. if(orjentacija == 2)//orjentacija 2
  1100. {
  1101. SetVehicleToRespawn(Event21);
  1102. SetVehicleToRespawn(Event22);
  1103. SetVehicleToRespawn(Event23);
  1104. SetVehicleToRespawn(Event24);
  1105. SetVehicleToRespawn(Event25);
  1106. SetVehicleToRespawn(Event26);
  1107. SetVehicleToRespawn(Event27);
  1108. SetVehicleToRespawn(Event28);
  1109. SetVehicleToRespawn(Event29);
  1110. SetVehicleToRespawn(Event210);
  1111. SetVehicleToRespawn(Event211);
  1112. SetVehicleToRespawn(Event212);
  1113. SetVehicleToRespawn(Event213);
  1114. SetVehicleToRespawn(Event214);
  1115. SetVehicleToRespawn(Event215);
  1116. SetVehicleToRespawn(Event216);
  1117. SetVehiclePos(Event21,plocx+2,plocy+9, plocz);
  1118. SetVehiclePos(Event22,plocx+6,plocy+9, plocz);
  1119. SetVehiclePos(Event23,plocx+10,plocy+9, plocz);
  1120. SetVehiclePos(Event24,plocx+14,plocy+9, plocz);
  1121. SetVehiclePos(Event25,plocx-2,plocy+9, plocz);
  1122. SetVehiclePos(Event26,plocx-6,plocy+9, plocz);
  1123. SetVehiclePos(Event27,plocx-10,plocy+9, plocz);
  1124. SetVehiclePos(Event28,plocx-14,plocy+9, plocz);
  1125. SetVehiclePos(Event29,plocx+2,plocy+3, plocz);
  1126. SetVehiclePos(Event210,plocx+6,plocy+3, plocz);
  1127. SetVehiclePos(Event211,plocx+10,plocy+3, plocz);
  1128. SetVehiclePos(Event212,plocx+14,plocy+3, plocz);
  1129. SetVehiclePos(Event213,plocx-2,plocy+3, plocz);
  1130. SetVehiclePos(Event214,plocx-6,plocy+3, plocz);
  1131. SetVehiclePos(Event215,plocx-10,plocy+3, plocz);
  1132. SetVehiclePos(Event216,plocx-14,plocy+3, plocz);
  1133. }
  1134. format(string, 256, "*Admin %s, je portao vozila(2)do sebe, orijentacija: %d",PlayerName(playerid),orjentacija);
  1135. SendAdminMessage(COLOR_YELLOW, string);
  1136. }
  1137. else
  1138. {
  1139. SendClientMessage(playerid, COLOR_GRESKA, " {FFFFFF}[{F81414}Greska!{FFFFFF}] {C3C3C3}Ta grupa nije kreirana!");
  1140. }
  1141. }
  1142. return 1;
  1143. }
  1144. CMD:utrkadozvoli(playerid, params[])
  1145. {
  1146. if(GetPVarInt(playerid, "Admin") < 1338)
  1147. {
  1148. SendClientMessage(playerid, 0xC3C3C3FF, " {FFFFFF}[{F81414}Ludi Grad{FFFFFF}] {C3C3C3}Admini samo!");
  1149. return 1;
  1150. }
  1151. new string[256], id;
  1152. if(sscanf(params,"u", id)) return SCM(playerid, COLOR_GRAD, "Koristite: /utrkadozvoli [Korisnicki ID ili Ime Korisnika]");
  1153. foreach(Player, i)
  1154. {
  1155. if(GetPVarInt(i, "RaceIzrada") == 1)
  1156. {
  1157. SCM(playerid, COLOR_GRESKA," {FFFFFF}[{F81414}Odbijeno!{FFFFFF}] {C3C3C3}Utrka je trenutno u izradi!");
  1158. return 1;
  1159. }
  1160. }
  1161. if(UtrkaInfo[utrkaUcitan] == 1) return SendClientMessage(playerid, 0xC3C3C3FF, " {FFFFFF}[{F81414}Greska!{FFFFFF}] {C3C3C3}Utrka je ucitana! Nemoze se izraditi utrka dok je ista ucitana!");
  1162. id = ReturnUser(params);
  1163. if(!IsPlayerConnected(id))
  1164. {
  1165. SendClientMessage(playerid, COLOR_GRESKA, "*Pogresan ID Korisnika");
  1166. return 1;
  1167. }
  1168. SetPVarInt(id, "RaceIzrada", 1);
  1169. format(string, sizeof(string), " Utrka izrada | Admin %s ti je dao ovlasti za izradu utrke!", PlayerName(playerid));
  1170. SendClientMessage(id,COLOR_YELLOW, string);
  1171. format(string, sizeof(string), " Utrka izrada | Dao si ovlast %s da izradjuje utrke!", PlayerName(id));
  1172. SendClientMessage(playerid,COLOR_YELLOW, string);
  1173. strmid(ImeUtrke,"Utrka nije ucitana!", 0,strlen("Utrka nije ucitana!"), 255);
  1174. return 1;
  1175. }
  1176. CMD:utrkanaziv(playerid, params[])
  1177. {
  1178. if(GetPVarInt(playerid, "RaceIzrada") == 0)
  1179. {
  1180. SendClientMessage(playerid, 0xC3C3C3FF, " {FFFFFF}[{F81414}Ludi Grad{FFFFFF}] {C3C3C3}ODBIJENO!");
  1181. return 1;
  1182. }
  1183. new idx;
  1184. new length = strlen(params);
  1185. while ((idx < length) && (params[idx] <= ' '))
  1186. {
  1187. idx++;
  1188. }
  1189. new offset = idx;
  1190. new result[164];
  1191. while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
  1192. {
  1193. result[idx - offset] = params[idx];
  1194. idx++;
  1195. }
  1196. result[idx - offset] = EOS;
  1197. if(!strlen(result))
  1198. {
  1199. SendClientMessage(playerid, COLOR_GRAD, "Koristite: /utrkanaziv [Naziv utrke]");
  1200. return 1;
  1201. }
  1202. if(strlen(result) < 3) return SCM(playerid, COLOR_YELLOW, "*Kratak naziv utrke!");
  1203. else if(strlen(result) > 30) return SCM(playerid, COLOR_YELLOW, "*Predug naziv utrke!");
  1204. strmid(ImeUtrke,result, 0, strlen(result), 255);
  1205. SCMF(playerid, COLOR_YELLOW, " Ime utrke: %s", ImeUtrke);
  1206. return 1;
  1207. }
  1208. CMD:utrkacp(playerid, params[])
  1209. {
  1210. if(GetPVarInt(playerid, "RaceIzrada") == 1)
  1211. {
  1212. new Float:X, Float:Y, Float:Z;
  1213. new utrkaFile[256];
  1214. new string[256], zadnjicp, Float:radius, prolaz, idcpa;
  1215. if(sscanf(params,"ifii",zadnjicp, radius, prolaz, idcpa)) return SCM(playerid, COLOR_GRAD,"Koristite: /utrkacp [zadnji CP? 1-DA, 0-Ne] [radius CP-a] [PROLAZ? 1-DA, 0-Ne] [ID CP-a]");
  1216. if(zadnjicp > 1) return SCM(playerid, 0xadaeadFF," Zadnji CP krivi iznos! 1-DA, 0-NE!");
  1217. if(prolaz > 1) return SCM(playerid, 0xadaeadFF," Prolaz krivi iznos! 1-DA, 0-NE!");
  1218. if(zadnjicp < 0) return SCM(playerid, 0xadaeadFF," Zadnji CP krivi iznos! 1-DA, 0-NE!");
  1219. if(prolaz < 0) return SCM(playerid, 0xadaeadFF," Prolaz krivi iznos! 1-DA, 0-NE!");
  1220. if(idcpa > 50) return SCM(playerid, 0xadaeadFF," Krivi id CP-a!");
  1221. if(radius > 20) return SCM(playerid, 0xadaeadFF," Krivi radius! Raspon: od 5.0 do 20.0");
  1222. if(radius < 5) return SCM(playerid, 0xadaeadFF," Krivi radius! Raspon: od 5.0 do 20.0");
  1223. format(utrkaFile, sizeof(utrkaFile), "/utrke/%s.UTRKA", "Utrka nije ucitana!");
  1224. dini_Create(utrkaFile);
  1225. if(IsPlayerInAnyVehicle(playerid))
  1226. {
  1227. GetVehiclePos(GetPlayerVehicleID(playerid), X, Y, Z);
  1228. format(string, sizeof(string), "CP_%d_PosX", idcpa), dini_FloatSet(utrkaFile, string, X);
  1229. format(string, sizeof(string), "CP_%d_PosY", idcpa), dini_FloatSet(utrkaFile, string, Y);
  1230. format(string, sizeof(string), "CP_%d_PosZ", idcpa), dini_FloatSet(utrkaFile, string, Z);
  1231. format(string, sizeof(string), "CP_%d_Prolaz", idcpa), dini_IntSet(utrkaFile, string, prolaz);
  1232. //dini_IntSet(rFile, "CP_%d_Prolaz",idcpa, idcpa);
  1233. if(zadnjicp == 1)
  1234. {
  1235. dini_IntSet(utrkaFile, "Zadnji_CP", idcpa);
  1236. }
  1237. dini_FloatSet(utrkaFile, "CP_Radius", radius);
  1238. }
  1239. else
  1240. {
  1241. GetPlayerPos(playerid, X, Y, Z);
  1242. format(string, sizeof(string), "CP_%d_PosX", idcpa), dini_FloatSet(utrkaFile, string, X);
  1243. format(string, sizeof(string), "CP_%d_PosY", idcpa), dini_FloatSet(utrkaFile, string, Y);
  1244. format(string, sizeof(string), "CP_%d_PosZ", idcpa), dini_FloatSet(utrkaFile, string, Z);
  1245. format(string, sizeof(string), "CP_%d_Prolaz", idcpa), dini_IntSet(utrkaFile, string, prolaz);
  1246. //dini_IntSet(utrkaFile, "CP_%d_Prolaz",idcpa, idcpa);
  1247. if(zadnjicp == 1)
  1248. {
  1249. dini_IntSet(utrkaFile, "Zadnji_CP", idcpa);
  1250. }
  1251. dini_FloatSet(utrkaFile, "CP_Radius", radius);
  1252. }
  1253. dini_Set(utrkaFile,"Rekorder", "Nitko");
  1254. dini_IntSet(utrkaFile, "RekordMinuti", 59);
  1255. dini_IntSet(utrkaFile, "RekordSekunde", 59);
  1256. dini_IntSet(utrkaFile, "BrojCP", idcpa);
  1257. format(string, sizeof(string)," CP[%s] CPid[%d] X[%.4f] Y[%.4f] Z[%.4f] R[%.2f] Z?[%d] PR?[%d]", PlayerName(playerid), idcpa, X, Y, Z, radius, zadnjicp, prolaz);
  1258. SendAdminMessage(COLOR_YELLOW, string);
  1259. }
  1260. else return SendClientMessage(playerid, 0xC3C3C3FF, " {FFFFFF}[{F81414}Ludi Grad{FFFFFF}] {C3C3C3}ODBIJENO!");
  1261. return 1;
  1262. }
  1263. CMD:utrkasnimi(playerid, params[])
  1264. {
  1265. if(GetPVarInt(playerid, "RaceIzrada") == 1)
  1266. {
  1267. new string[256];
  1268. new kod, naziv[12], krugova, vozila;
  1269. if(sscanf(params,"is[10]ii", kod, naziv, krugova, vozila)) return SCM(playerid, COLOR_GRAD,"Koristite: /utrkasnimi [sigurnosni kod?] [nazivFilea] [krugova] [Vozila? 1-da 0-ne]");
  1270. if(kod != 2011001){ return 1; }
  1271. if(strlen(naziv) < 3) return SCM(playerid, COLOR_YELLOW, "*Kratak naziv filea utrke!");
  1272. if(strlen(naziv) > 30) return SCM(playerid, COLOR_YELLOW, "*Predug naziv filea utrke!");
  1273. if(krugova > 100) return SCM(playerid,0xadaeadFF," krugova??!! 0, <=100!");
  1274. if(krugova < 0) return SCM(playerid,0xadaeadFF," krugova??!! 0, <=100!");
  1275. if(vozila > 1) return SCM(playerid, 0xadaeadFF," Vozila??!! 1-DA, 0-NE!");
  1276. if(vozila < 0) return SCM(playerid, 0xadaeadFF," Vozila??!! 1-DA, 0-NE!");
  1277. // ---- Utrka nije ucitana!.UTRKA FAJL !!!!!! //
  1278. new file1[128];
  1279. format(file1, 128, "/utrke/%s.UTRKA", "Utrka nije ucitana!");
  1280. if(fexist(file1))
  1281. {
  1282. format(UtrkaInfo[utrkaIme], sizeof(UtrkaInfo[utrkaIme]), "%s", dini_Get(file1, "Ime_Utrke"));
  1283. UtrkaInfo[utrkaBrojCP] = dini_Int(file1, "BrojCP");
  1284. format(UtrkaInfo[utrkaRekorder], sizeof(UtrkaInfo[utrkaRekorder]), "%s", dini_Get(file1, "Rekorder"));
  1285. UtrkaInfo[utrkaRekordMinuti] = dini_Int(file1, "RekordMinuti");
  1286. UtrkaInfo[utrkaRekordSekunde] = dini_Int(file1, "RekordSekunde");
  1287.  
  1288. for(new cp = 1; cp < MAX_CP; cp++)
  1289. {
  1290. new cpid[64];
  1291. format(cpid,64,"CP_%d_PosX", cp);
  1292. CPInfo[cp][cpX] = dini_Float(file1, cpid);
  1293. format(cpid,64,"CP_%d_PosY", cp);
  1294. CPInfo[cp][cpY] = dini_Float(file1, cpid);
  1295. format(cpid,64,"CP_%d_PosZ", cp);
  1296. CPInfo[cp][cpZ] = dini_Float(file1, cpid);
  1297. format(cpid,64,"CP_%d_Prolaz", cp);
  1298. CPInfo[cp][utrkaProlaz] = dini_Int(file1, cpid);
  1299. }
  1300. UtrkaInfo[utrkaZadnjiCP] = dini_Int(file1, "Zadnji_CP");
  1301. UtrkaInfo[CPRadius] = dini_Float(file1, "CP_Radius");
  1302. }
  1303. // ------- Sad spremanje u uneseno ime fajla !---------//
  1304. new utrkaf[128];
  1305. format(utrkaf, sizeof(utrkaf),"/utrke/%s.UTRKA", naziv);
  1306.  
  1307. UtrkaInfo[utrkaRekordMinuti] = 59;
  1308. UtrkaInfo[utrkaRekordSekunde] = 59;
  1309. dini_Create(utrkaf);
  1310. dini_Set(utrkaf, "Ime_Utrke", ImeUtrke);
  1311. dini_IntSet(utrkaf,"BrojCP", UtrkaInfo[utrkaBrojCP]);
  1312. dini_Set(utrkaf, "Rekorder", "Nitko");
  1313. dini_IntSet(utrkaf,"RekordMinuti", UtrkaInfo[utrkaRekordMinuti]);
  1314. dini_IntSet(utrkaf,"RekordSekunde", UtrkaInfo[utrkaRekordSekunde]);
  1315. dini_IntSet(utrkaf,"Krugova", krugova);
  1316. dini_IntSet(utrkaf,"Vozila", vozila);
  1317. for(new cp = 1; cp < UtrkaInfo[utrkaBrojCP]+1; cp++)
  1318. {
  1319. new cpid[124];
  1320. format(cpid,64,"CP_%d_PosX", cp);
  1321. dini_FloatSet(utrkaf, cpid, CPInfo[cp][cpX]);
  1322. format(cpid,64,"CP_%d_PosY", cp);
  1323. dini_FloatSet(utrkaf, cpid, CPInfo[cp][cpY]);
  1324. format(cpid,64,"CP_%d_PosZ", cp);
  1325. dini_FloatSet(utrkaf, cpid, CPInfo[cp][cpZ]);
  1326. format(cpid,64,"CP_%d_Prolaz", cp);
  1327. dini_IntSet(utrkaf, cpid, CPInfo[cp][utrkaProlaz]);
  1328. }
  1329. dini_IntSet(utrkaf,"Zadnji_CP", UtrkaInfo[utrkaZadnjiCP]);
  1330. dini_FloatSet(utrkaf, "CP_Radius", UtrkaInfo[CPRadius]);
  1331.  
  1332. dini_Remove(file1);
  1333. format(string, sizeof(string), " [Kreirana utrka!]Naziv filea: %s, krugova: %d, Vozila: %d", naziv, krugova, vozila);
  1334. SCM(playerid, COLOR_YELLOW, string);
  1335. SetPVarInt(playerid, "RaceIzrada", 0);
  1336. }
  1337. else return SendClientMessage(playerid, 0xC3C3C3FF, " {FFFFFF}[{F81414}Ludi Grad{FFFFFF}] {C3C3C3}ODBIJENO!");
  1338. return 1;
  1339. }
  1340. CMD:utrkaucitaj(playerid, params[])
  1341. {
  1342. if(GetPVarInt(playerid, "Admin") < 1)
  1343. {
  1344. SendClientMessage(playerid, 0xC3C3C3FF, " {FFFFFF}[{F81414}Ludi Grad{FFFFFF}] {C3C3C3}Admini i GS-ovi samo!");
  1345. return 1;
  1346. }
  1347. foreach(Player, i)
  1348. {
  1349. if(GetPVarInt(i, "RaceIzrada") == 1)
  1350. {
  1351. SCM(playerid, COLOR_GRESKA," {FFFFFF}[{F81414}Odbijeno!{FFFFFF}] {C3C3C3}Utrka je trenutno u izradi!");
  1352. return 1;
  1353. }
  1354. }
  1355. new string[256];
  1356. new utrka[14];
  1357. if(UtrkaInfo[utrkaUcitan] == 1) return SendClientMessage(playerid, 0xC3C3C3FF, " {FFFFFF}[{F81414}Greska!{FFFFFF}] {C3C3C3}Utrka je vec ucitana! /utrkaunload da unloadas utrku!");
  1358. if(sscanf(params,"s[14]", utrka)) return SendClientMessage(playerid, COLOR_GRAD, "Koristite: /utrkaucitaj [naziv filea! {F81414}Upozorenje: nemojte isprobavati bezveze nazive fileova!]");
  1359. if(strlen(params) < 3){SCM(playerid,COLOR_YELLOW,"*Greska");return 1;}
  1360. if(strlen(params) > 30){SCM(playerid,COLOR_YELLOW,"*Greska");return 1;}
  1361. new file[128]; format(file, 128, "/utrke/%s.UTRKA", utrka);
  1362. if(fexist(file))
  1363. {
  1364. format(UtrkaInfo[utrkaFileIme], sizeof(UtrkaInfo[utrkaFileIme]), "%s", utrka);
  1365. UtrkaInfo[utrkaUcitan] = 1;
  1366. UtrkaInfo[utrkaPocela] = 0;
  1367.  
  1368. format(UtrkaInfo[utrkaIme], sizeof(UtrkaInfo[utrkaIme]), "%s", dini_Get(file, "Ime_Utrke"));
  1369. UtrkaInfo[utrkaBrojCP] = dini_Int(file, "BrojCP");
  1370. format(UtrkaInfo[utrkaRekorder], sizeof(UtrkaInfo[utrkaRekorder]), "%s", dini_Get(file, "Rekorder"));
  1371. UtrkaInfo[utrkaRekordMinuti] = dini_Int(file, "RekordMinuti");
  1372. UtrkaInfo[utrkaRekordSekunde] = dini_Int(file, "RekordSekunde");
  1373. UtrkaInfo[utrkaKrugova] = dini_Int(file, "Krugova");
  1374. UtrkaInfo[utrkaVozila] = dini_Int(file, "Vozila");
  1375. for(new cp = 0; cp < UtrkaInfo[utrkaBrojCP]+1; cp++)
  1376. {
  1377. new cpid[64];
  1378. format(cpid,64,"CP_%d_PosX", cp);
  1379. CPInfo[cp][cpX] = dini_Float(file, cpid);
  1380. format(cpid,64,"CP_%d_PosY", cp);
  1381. CPInfo[cp][cpY] = dini_Float(file, cpid);
  1382. format(cpid,64,"CP_%d_PosZ", cp);
  1383. CPInfo[cp][cpZ] = dini_Float(file, cpid);
  1384. format(cpid,64,"CP_%d_Prolaz", cp);
  1385. CPInfo[cp][utrkaProlaz] = dini_Int(file, cpid);
  1386. }
  1387. UtrkaInfo[CPRadius] = dini_Float(file, "CP_Radius");
  1388. UtrkaInfo[utrkaZadnjiCP] = dini_Int(file, "Zadnji_CP");
  1389. format(string, sizeof(string), "***[Ucitavanje utrke] %s | %s",PlayerName(playerid),utrka);
  1390. SendAdminMessage(COLOR_EVENT,string);
  1391. SendAdminMessage(COLOR_EVENT, "{00C0FF}---> {6EF83C}Ini file Uspjesno ucitan!");
  1392. SendAdminMessage(COLOR_EVENT, "{00C0FF}---> {6EF83C}CFG file Uspjesno ucitan!");
  1393. SendAdminMessage(COLOR_EVENT, "{00C0FF}(: {F3FF02}Utrka je uspjesno ucitana!");
  1394. }
  1395. else
  1396. {
  1397. format(string, sizeof(string), "***[Ucitavanje utrke] %s | %s",PlayerName(playerid),utrka);
  1398. SendAdminMessage(COLOR_EVENT,string);
  1399. SendAdminMessage(COLOR_GLAVNA, "---> Ini file NE POSTOJI!");
  1400. SendAdminMessage(COLOR_GLAVNA, "---> CFG file NE POSTOJI!");
  1401. SendAdminMessage(COLOR_GLAVNA, "Ucitavanje utrke nije uspjelo!");
  1402. }
  1403. return 1;
  1404. }
  1405. CMD:utrkaunload(playerid, params[])
  1406. {
  1407. if(GetPVarInt(playerid, "Admin") < 1)
  1408. {
  1409. SendClientMessage(playerid, 0xC3C3C3FF, " {FFFFFF}[{F81414}Ludi Grad{FFFFFF}] {C3C3C3}Admini i GS-ovi samo!");
  1410. return 1;
  1411. }
  1412. if(UtrkaInfo[utrkaUcitan] == 0) return SCM(playerid, COLOR_GRESKA," {FFFFFF}[{F81414}Greska!{FFFFFF}] {C3C3C3}Utrka nije ucitana! /utrkaucitaj da ucitas utrku!");
  1413. UtrkaInfo[utrkaPocela] = 0;
  1414. UtrkaInfo[utrkaUcitan] = 0;
  1415. new str[128];
  1416. RaceZavrsio = 0;
  1417. format(str, 128, "***[UNLOAD utrke] %s",PlayerName(playerid));
  1418. SendAdminMessage(COLOR_YELLOW, str);
  1419. foreach(Player, i)
  1420. {
  1421. if(GetPVarInt(i, "Na_Utrci") == 1)
  1422. {
  1423. DisablePlayerRaceCheckpoint(i);
  1424. TextDrawHideForPlayer(i, TDEvent5[i]);
  1425. TextDrawHideForPlayer(i, TDEvent6[i]);
  1426. TextDrawHideForPlayer(i, TDEvent4[i]);
  1427. TextDrawHideForPlayer(i, TDEvent3[i]);
  1428. TextDrawHideForPlayer(i, TDEvent2[i]);
  1429. TextDrawHideForPlayer(i, TDEvent1[i]);
  1430. UtrkaInfo[utrkaPocela] = 0;
  1431. UtrkaInfo[utrkaUcitan] = 0;
  1432. KillTimer(EventTimer[i]);
  1433. UtrkaProlaz[i] = 0;
  1434. KrugProlaz[i]= 1;
  1435. SetPVarInt(i,"Na_Utrci", 0);
  1436. }
  1437. }
  1438. return 1;
  1439. }
  1440. CMD:utrkapozovi(playerid, params[])
  1441. {
  1442. new string[256];
  1443. if(GetPVarInt(playerid, "Admin") < 1)
  1444. {
  1445. SendClientMessage(playerid, 0xC3C3C3FF, " {FFFFFF}[{F81414}Ludi Grad{FFFFFF}] {C3C3C3}Admini i GS-ovi samo!");
  1446. return 1;
  1447. }
  1448. if(isnull(params)) return SendClientMessage(playerid, COLOR_GRAD,"Koristite: /utrkapozovi [Korisnicki ID ili Ime Korisnika]");
  1449. if(UtrkaInfo[utrkaUcitan] == 0) return SCM(playerid, COLOR_GRESKA," {FFFFFF}[{F81414}Greska!{FFFFFF}] {C3C3C3}Utrka nije ucitana! /utrkaucitaj da ucitas utrku!");
  1450. foreach(Player, i)
  1451. {
  1452. if(GetPVarInt(i, "RaceIzrada") == 1)
  1453. {
  1454. SCM(playerid, COLOR_GRESKA," {FFFFFF}[{F81414}Odbijeno!{FFFFFF}] {C3C3C3}Utrka je trenutno u izradi!");
  1455. return 1;
  1456. }
  1457. }
  1458. new giveplayerid = ReturnUser(params);
  1459. if(IsPlayerConnected(giveplayerid))
  1460. {
  1461. if(giveplayerid != INVALID_PLAYER_ID)
  1462. {
  1463. SetPVarInt(giveplayerid, "Na_Utrci", 1);
  1464. format(string, sizeof(string), " %s | Pozvan si na %s utrku od admina %s", UtrkaInfo[utrkaIme],UtrkaInfo[utrkaIme],PlayerName(playerid));
  1465. SendClientMessage(giveplayerid,COLOR_EVENT, string);
  1466. format(string, sizeof(string), " %s | Pozvao si igraca %s na %s urtku", UtrkaInfo[utrkaIme],PlayerName(giveplayerid),UtrkaInfo[utrkaIme]);
  1467. SendClientMessage(playerid,COLOR_EVENT, string);
  1468. }
  1469. }
  1470. else
  1471. {
  1472. SendClientMessage(playerid, COLOR_GRESKA, "*Pogresan ID Korisnika");
  1473. }
  1474. return 1;
  1475. }
  1476. CMD:utrkastart(playerid, params[])
  1477. {
  1478. if(GetPVarInt(playerid, "Admin") < 1)
  1479. {
  1480. SendClientMessage(playerid, 0xC3C3C3FF, " {FFFFFF}[{F81414}Ludi Grad{FFFFFF}] {C3C3C3}Admini i GS-ovi samo!");
  1481. return 1;
  1482. }
  1483. new string[256];
  1484. foreach(Player, i)
  1485. {
  1486. if(GetPVarInt(i, "RaceIzrada") == 1)
  1487. {
  1488. SCM(playerid, COLOR_GRESKA," {FFFFFF}[{F81414}Odbijeno!{FFFFFF}] {C3C3C3}Utrka je trenutno u izradi!");
  1489. return 1;
  1490. }
  1491. }
  1492. if(UtrkaInfo[utrkaPocela] == 1) return SCM(playerid, COLOR_GRESKA," {FFFFFF}[{F81414}Odbijeno!{FFFFFF}] {C3C3C3}Utrka je trenutno u startu!");
  1493. if(UtrkaInfo[utrkaUcitan] == 0) return SCM(playerid, COLOR_GRESKA," {FFFFFF}[{F81414}Greska!{FFFFFF}] {C3C3C3}Utrka nije ucitana! /utrkaucitaj da ucitas utrku!");
  1494. format(string, sizeof(string), "*Aktivirao si Utrku", UtrkaInfo[utrkaIme]);
  1495. SendClientMessage(playerid, COLOR_LIGHTRED, string);
  1496. format(string, sizeof(string), "*Admin/gs %s je aktivirao | %s |", PlayerName(playerid),UtrkaInfo[utrkaIme]);
  1497. SendAdminMessage(COLOR_LIGHTRED, string);
  1498. foreach(Player,i)
  1499. {
  1500. if(GetPVarInt(i, "Na_Utrci") == 1)
  1501. {
  1502. UtrkaInfo[utrkaPocela] = 1;
  1503. TogglePlayerControllable(playerid, 0);
  1504. format(string, sizeof(string), "|Utrka: %s| Start za 3 sekunde", UtrkaInfo[utrkaIme]);
  1505. SendClientMessage(i, COLOR_SPRINGGREEN, string);
  1506. format(string, sizeof(string),"Ime utrke: %s, krugova:[%d], S vozilima(1-Da):[%d] Rekord: [%d min] [%d sek] [%s ]", UtrkaInfo[utrkaIme], UtrkaInfo[utrkaKrugova], UtrkaInfo[utrkaVozila], UtrkaInfo[utrkaRekordMinuti], UtrkaInfo[utrkaRekordSekunde], UtrkaInfo[utrkaRekorder]);
  1507. SendClientMessage(i, 0xFFFFFFAA, string);
  1508. TextDrawShowForPlayer(i, TDEvent1[i]);
  1509. TogglePlayerControllable(i, 0);
  1510. SetTimer("eTimer3",Sec(1),0);
  1511. TextDrawSetString(TDEvent6[i], "00:00");
  1512. if(UtrkaInfo[utrkaVozila] == 0)
  1513. {
  1514. SetPlayerSkin(i, 60);
  1515. }
  1516. }
  1517. }
  1518. return 1;
  1519. }
  1520. CMD:utrka(playerid, params[])
  1521. {
  1522. if(GetPVarInt(playerid, "Admin") < 1)
  1523. {
  1524. SendClientMessage(playerid, 0xC3C3C3FF, " {FFFFFF}[{F81414}Ludi Grad{FFFFFF}] {C3C3C3}Admini i GS-ovi samo!");
  1525. return 1;
  1526. }
  1527. if(UtrkaInfo[utrkaUcitan] == 0)
  1528. {
  1529. SCM(playerid,COLOR_LIGHTBLUE,"________________ Utrka panel informacije __________________________________");
  1530. SCM(playerid,COLOR_LIGHTBLUE,"[0][Utrka nije ucitana!], krugova:[0], S vozilima(1-Da):[0] Rekord: [59 min] [59 sek] [Nitko]");
  1531. }
  1532. if(UtrkaInfo[utrkaUcitan] == 1)
  1533. {
  1534. SCM(playerid,COLOR_LIGHTBLUE,"________________ Utrka panel informacije __________________________________");
  1535. SCMF(playerid,COLOR_LIGHTBLUE,"[1][%s], krugova:[%d], S vozilima(1-Da):[%d] Rekord: [%d min] [%d sek] [%s ]",UtrkaInfo[utrkaIme], UtrkaInfo[utrkaKrugova], UtrkaInfo[utrkaVozila], UtrkaInfo[utrkaRekordMinuti], UtrkaInfo[utrkaRekordSekunde], UtrkaInfo[utrkaRekorder]);
  1536. }
  1537. return 1;
  1538. }
  1539. CMD:utrkaport(playerid, params[])
  1540. {
  1541. if(GetPVarInt(playerid, "Admin") < 1)
  1542. {
  1543. SendClientMessage(playerid, 0xC3C3C3FF, " {FFFFFF}[{F81414}Ludi Grad{FFFFFF}] {C3C3C3}Admini i GS-ovi samo!");
  1544. return 1;
  1545. }
  1546. if(UtrkaInfo[utrkaUcitan] == 0) return SCM(playerid, COLOR_GRESKA," {FFFFFF}[{F81414}Greska!{FFFFFF}] {C3C3C3}Utrka nije ucitana! /utrkaucitaj da ucitas utrku!");
  1547. SCM(playerid,COLOR_LIGHTBLUE,"[UTRKA SISTEM] Teleportirani ste na lokaciju prvog CP-a");
  1548. SetPlayerPos(playerid,CPInfo[1][cpX], CPInfo[1][cpY], CPInfo[1][cpZ]);
  1549. return 1;
  1550. }
  1551. CMD:vidistart(playerid, params[])
  1552. {
  1553. if(GetPVarInt(playerid, "Admin") < 1)
  1554. {
  1555. SendClientMessage(playerid, 0xC3C3C3FF, " {FFFFFF}[{F81414}Ludi Grad{FFFFFF}] {C3C3C3}Admini i GS-ovi samo!");
  1556. return 1;
  1557. }
  1558. if(UtrkaInfo[utrkaUcitan] == 0) return SCM(playerid, COLOR_GRESKA," {FFFFFF}[{F81414}Greska!{FFFFFF}] {C3C3C3}Utrka nije ucitana! /utrkaucitaj da ucitas utrku!");
  1559. SCM(playerid,COLOR_LIGHTBLUE,"[UTRKA SISTEM] Lokacija prvog CP-a postavljena");
  1560. SetPlayerRaceCheckpoint(playerid, 0, CPInfo[1][cpX], CPInfo[1][cpY], CPInfo[1][cpZ], CPInfo[1][cpX], CPInfo[1][cpY], CPInfo[1][cpZ], UtrkaInfo[CPRadius]);
  1561. return 1;
  1562. }
  1563. /* Stock */
  1564. stock UtrkaPoruka(color, str[])
  1565. {
  1566. foreach(Player,i)
  1567. {
  1568. if(GetPVarInt(i, "Na_Utrci") > 0)
  1569. {
  1570. SCM(i, color, str);
  1571. }
  1572. }
  1573. return 1;
  1574. }
  1575. stock PlayerName(playerid)
  1576. {
  1577. new pName[MAX_PLAYER_NAME];
  1578. GetPlayerName(playerid, pName, MAX_PLAYER_NAME);
  1579. return pName;
  1580. }
  1581. stock SCMF(playerid,color,fstring[],{Float, _}:...)
  1582. {
  1583. new n=(numargs()-3)*4;
  1584. if(n)
  1585. {
  1586. new message[128],arg_start,arg_end;
  1587. #emit CONST.alt fstring
  1588. #emit LCTRL 5
  1589. #emit ADD
  1590. #emit STOR.S.pri arg_start
  1591. #emit LOAD.S.alt n
  1592. #emit ADD
  1593. #emit STOR.S.pri arg_end
  1594. do
  1595. {
  1596. #emit LOAD.I
  1597. #emit PUSH.pri
  1598. arg_end-=4;
  1599. #emit LOAD.S.pri arg_end
  1600. }
  1601. while(arg_end>arg_start);
  1602. #emit PUSH.S fstring
  1603. #emit PUSH.C 255
  1604. #emit PUSH.ADR message
  1605. n+=4*3;
  1606. #emit PUSH.S n
  1607. #emit SYSREQ.C format
  1608. n+=4;
  1609. #emit LCTRL 4
  1610. #emit LOAD.S.alt n
  1611. #emit ADD
  1612. #emit SCTRL 4
  1613. return SendClientMessage(playerid,color,message);
  1614. }
  1615. else return SendClientMessage(playerid,color,fstring);
  1616. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement