Suleee

Untitled

Dec 29th, 2017
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 16.12 KB | None | 0 0
  1. //==============================================================================STAVIS NA VRH NEGDJE KOD OSTALIH ENUMA
  2. new Text:DateEvent[3];
  3.  
  4.  
  5. #define DATE_NAME IDDIALOGA PROMJENI
  6. #define DATE_DMY IDDIALOGA PROMJENI
  7. #define DATE_HMS IDDIALOGA PROMJENI
  8. #define DATE_MSG IDDIALOGA PROMJENI
  9. #define DATE_INFO IDDIALOGA PROMJENI
  10.  
  11.  
  12. enum dateInfo
  13. {
  14. bool:dateEvent,
  15. dateName[32],
  16. dateDay,
  17. dateMonth,
  18. dateYear,
  19. dateHour,
  20. dateMin,
  21. dateSec,
  22. datePoruka[72]
  23. };
  24. new DateInfo[dateInfo];
  25. //==============================================================================
  26. //==============================================================================STAVIS ON PLAYER SPAWN
  27. if(DateInfo[dateEvent] == true)
  28. {
  29. format(string, sizeof(string), "- ~r~%s~w~ -", DateInfo[dateName]);
  30. TextDrawSetString(DateEvent[0], string);
  31. ControlDateTD(playerid, true);
  32. }
  33. //==============================================================================
  34. //==============================================================================CMD UBACIS IH BILO GDJE I PROMJENIS SVOJE IF-OVE i to :D
  35. CMD:date(playerid, params[])
  36. {
  37. #pragma unused params
  38. if(Spawnovan[playerid] == false) return SEM(playerid, "Moras biti spawnovan da bi koristio ovu komandu!");
  39. if(PlayerInfo[playerid][pAdmin] < 5) return LMMSG(playerid, COL_SERVER, "Samo za LMA! "SERVER"[Admin Level 5]");
  40. if(StaffDuty[playerid] == false) return SEM(playerid, "Moras biti na LM Staff Duznost!");
  41. SPD(playerid, DATE_NAME, DSIN, ""RED"LM| "BELA"Date Event!", ""RED"ۻ "BELA"Zapoceli ste odbrojavanje do Date Eventa!\n"RED"ۻ "BELA"Unesite naziv do Date Event odbrojavanja...", "Unesi", "Odustani");
  42. return 1;
  43. }
  44. //======================================
  45. CMD:dateremove(playerid, params[])
  46. {
  47. #pragma unused params
  48. if(Spawnovan[playerid] == false) return SEM(playerid, "Moras biti spawnovan da bi koristio ovu komandu!");
  49. if(PlayerInfo[playerid][pAdmin] < 5) return LMMSG(playerid, COL_SERVER, "Samo za LMA! "SERVER"[Admin Level 5]");
  50. if(StaffDuty[playerid] == false) return SEM(playerid, "Moras biti na LM Staff Duznost!");
  51. if(DateInfo[dateEvent] == false) return SEM(playerid, "Nijedan Date Event nije pokrenut!");
  52. RemoveDate();
  53. SCM(playerid, COL_RED, "LM| "BELA"Uspjesno si uklonio odbrojavanje do Date Eventa!");
  54. return 1;
  55. }
  56. //==============================================================================
  57. //==============================================================================ON DIALOG RESPONSE moras mozda umjesto case pisat else if(dialogid == DATE_NAME) Na vrhu definisati IDove dijaloga
  58. case DATE_NAME:
  59. {
  60. if(!response) return RemoveDate();
  61. if(response)
  62. {
  63. new name[64];
  64. if(sscanf(inputtext, "s[32]", name)) return SPD(playerid, DATE_NAME, DSIN, ""RED"LM| "BELA"Date Event!", ""RED"ۻ "BELA"Zapoceli ste odbrojavanje do Date Eventa!\n"RED"ۻ "BELA"Unesite naziv do Date Event odbrojavanja...", "Unesi", "Odustani");
  65. format(DateInfo[dateName], 32, "%s", name);
  66. SaveDateTime();
  67. SPD(playerid, DATE_DMY, DSIN, ""RED"LM| "BELA"Date Event!", ""RED"ۻ "BELA"Unio si ime za odbrojavanje!\n"RED"ۻ "BELA"Sada unesi datum...\n"RED"ۻ "BELA"Format: DD MM YYYY", "Unesi", "Odustani");
  68. }
  69. return 1;
  70. }
  71. //==============================================================================
  72. case DATE_DMY:
  73. {
  74. if(!response) RemoveDate();
  75. if(response)
  76. {
  77. new day, month, year;
  78. if(sscanf(inputtext, "iii", day, month, year)) return SPD(playerid, DATE_DMY, DSIN, ""RED"LM| "BELA"Date Event!", ""RED"ۻ "BELA"Unio si ime za odbrojavanje!\n"RED"ۻ "BELA"Sada unesi datum...\n"RED"ۻ "BELA"Format: DD MM YYYY", "Unesi", "Odustani");
  79. if(day < 1 || day > 31)
  80. {
  81. SPD(playerid, DATE_DMY, DSIN, ""RED"LM| "BELA"Date Event!", ""RED"ۻ "BELA"Unio si ime za odbrojavanje!\n"RED"ۻ "BELA"Sada unesi datum...\n"RED"ۻ "BELA"Format: DD MM YYYY", "Unesi", "Odustani");
  82. SEM(playerid, "Dan ne moze ici ispod 1 ili vise od 31");
  83. return 1;
  84. }
  85. if(month < 1 || month > 12)
  86. {
  87. SPD(playerid, DATE_DMY, DSIN, ""RED"LM| "BELA"Date Event!", ""RED"ۻ "BELA"Unio si ime za odbrojavanje!\n"RED"ۻ "BELA"Sada unesi datum...\n"RED"ۻ "BELA"Format: DD MM YYYY", "Unesi", "Odustani");
  88. SEM(playerid, "Mjesec ne moze ici ispod 1 ili vise od 12");
  89. return 1;
  90. }
  91. DateInfo[dateDay] = day;
  92. DateInfo[dateMonth] = month;
  93. DateInfo[dateYear] = year;
  94. SaveDateTime();
  95. SPD(playerid, DATE_HMS, DSIN, ""RED"LM| "BELA"Date Event!", ""RED"ۻ "BELA"Unio si datum za odbrojavanje!\n"RED"ۻ "BELA"Sada unesi satnicu...\n"RED"ۻ "BELA"Format: HH MM SS", "Unesi", "Odustani");
  96. }
  97. return 1;
  98. }
  99. //==============================================================================
  100. case DATE_HMS:
  101. {
  102. if(!response) RemoveDate();
  103. if(response)
  104. {
  105. new hour, mins, sec;
  106. if(sscanf(inputtext, "iii", hour, mins, sec)) return SPD(playerid, DATE_HMS, DSIN, ""RED"LM| "BELA"Date Event!", ""RED"ۻ "BELA"Unio si datum za odbrojavanje!\n"RED"ۻ "BELA"Sada unesi satnicu...\n"RED"ۻ "BELA"Format: HH MM SS", "Unesi", "Odustani");
  107. if(hour < 0 || hour > 24)
  108. {
  109. SPD(playerid, DATE_HMS, DSIN, ""RED"LM| "BELA"Date Event!", ""RED"ۻ "BELA"Unio si datum za odbrojavanje!\n"RED"ۻ "BELA"Sada unesi satnicu...\n"RED"ۻ "BELA"Format: HH MM SS", "Unesi", "Odustani");
  110. SEM(playerid, "Sati ne mogu ici ispod 0 ili vise od 24!");
  111. return 1;
  112. }
  113. if(mins < 0 || mins > 60)
  114. {
  115. SPD(playerid, DATE_HMS, DSIN, ""RED"LM| "BELA"Date Event!", ""RED"ۻ "BELA"Unio si datum za odbrojavanje!\n"RED"ۻ "BELA"Sada unesi satnicu...\n"RED"ۻ "BELA"Format: HH MM SS", "Unesi", "Odustani");
  116. SEM(playerid, "Minute ne mogu ici ispod 0 ili vise od 60!");
  117. return 1;
  118. }
  119. if(sec < 0 || sec > 60)
  120. {
  121. SPD(playerid, DATE_HMS, DSIN, ""RED"LM| "BELA"Date Event!", ""RED"ۻ "BELA"Unio si datum za odbrojavanje!\n"RED"ۻ "BELA"Sada unesi satnicu...\n"RED"ۻ "BELA"Format: HH MM SS", "Unesi", "Odustani");
  122. SEM(playerid, "Sekunde ne mogu ici ispod 0 ili vise od 60!");
  123. return 1;
  124. }
  125. DateInfo[dateHour] = hour;
  126. DateInfo[dateMin] = mins;
  127. DateInfo[dateSec] = sec;
  128. SaveDateTime();
  129. SPD(playerid, DATE_MSG, DSIN, ""RED"LM| "BELA"Date Event!", ""RED"ۻ "BELA"Unio si satnicu za odbrojavanje!\n"RED"ۻ "BELA"Sada unesi poruku pri zavrsetku odbrojavanja...\n", "Unesi", "Odustani");
  130. }
  131. return 1;
  132. }
  133. //==============================================================================
  134. case DATE_MSG:
  135. {
  136. if(!response) RemoveDate();
  137. if(response)
  138. {
  139. new msg[72], string[128], dialog[512];
  140. if(sscanf(inputtext, "s[72]", msg)) return SPD(playerid, DATE_MSG, DSIN, ""RED"LM| "BELA"Date Event!", ""RED"ۻ "BELA"Unio si satnicu za odbrojavanje!\n"RED"ۻ "BELA"Sada unesi poruku pri zavrsetku odbrojavanja...\n", "Unesi", "Odustani");
  141. format(DateInfo[datePoruka], 72, "%s", msg);
  142. DateInfo[dateEvent] = true;
  143. SaveDateTime();
  144.  
  145. strcat(dialog, ""RED"____________________________________________\n\n", sizeof(dialog));
  146. format(string, sizeof(string), ""RED"ۻ "BELA"Naziv Eventa: "RED"%s\n\n", DateInfo[dateName]);
  147. strcat(dialog, string, sizeof(dialog));
  148. format(string, sizeof(string), ""RED"ۻ "BELA"Dan: "RED"%d\n\n", DateInfo[dateDay]);
  149. strcat(dialog, string, sizeof(dialog));
  150. format(string, sizeof(string), ""RED"ۻ "BELA"Mjesec: "RED"%d\n\n", DateInfo[dateMonth]);
  151. strcat(dialog, string, sizeof(dialog));
  152. format(string, sizeof(string), ""RED"ۻ "BELA"Godina: "RED"%d\n\n", DateInfo[dateYear]);
  153. strcat(dialog, string, sizeof(dialog));
  154.  
  155. strcat(dialog, string, sizeof(dialog));
  156. format(string, sizeof(string), ""RED"ۻ "BELA"Sat: "RED"%d\n\n", DateInfo[dateHour]);
  157. strcat(dialog, string, sizeof(dialog));
  158. format(string, sizeof(string), ""RED"ۻ "BELA"Minut: "RED"%d\n\n", DateInfo[dateMin]);
  159. strcat(dialog, string, sizeof(dialog));
  160. format(string, sizeof(string), ""RED"ۻ "BELA"Sekund: "RED"%d\n\n", DateInfo[dateSec]);
  161. strcat(dialog, string, sizeof(dialog));
  162. strcat(dialog, ""RED"____________________________________________\n\n", sizeof(dialog));
  163.  
  164. format(string, sizeof(string), "- ~r~%s~w~ -", DateInfo[dateName]);
  165. TextDrawSetString(DateEvent[0], string);
  166. ControlDateAll(true);
  167.  
  168. SPD(playerid, DATE_INFO, DSMSG, ""RED"LM| "BELA"Date Event!", dialog, "Uredu", "");
  169. }
  170. return 1;
  171. }
  172. //==============================================================================Gdje ti se ostalo ucivatava, LoadServerStats to trazi pa ces provalit
  173. if(fexist("Ostalo/Date.ini"))
  174. {
  175. INI_ParseFile( "Ostalo/Date.ini", "LoadDateTime" );
  176. }
  177. //==============================================================================LOADING - SAVING stavis tamo gdje se sve ostalo load/save // Najlakse ti kod ServerInfo gdje se cuva i to :D
  178. forward LoadDateTime(name[], value[]);
  179. public LoadDateTime(name[], value[])
  180. {
  181. INI_Bool("Event", DateInfo[dateEvent]);
  182. INI_String("Name", DateInfo[dateName], 32);
  183.  
  184. INI_Int("Day", DateInfo[dateDay]);
  185. INI_Int("Month", DateInfo[dateMonth]);
  186. INI_Int("Year", DateInfo[dateYear]);
  187.  
  188. INI_Int("Hour", DateInfo[dateHour]);
  189. INI_Int("Min", DateInfo[dateMin]);
  190. INI_Int("Sec", DateInfo[dateSec]);
  191. INI_String("Message", DateInfo[datePoruka], 72);
  192. return 1;
  193. }
  194. //====================================
  195. forward SaveDateTime();
  196. public SaveDateTime()
  197. {
  198. new INI:File = INI_Open("Ostalo/Date.ini"); //Promjeni putanju kako je i u athlone
  199. INI_SetTag(File, "Date");
  200. INI_WriteBool(File, "Event", DateInfo[dateEvent]);
  201. INI_WriteString(File, "Name", DateInfo[dateName]);
  202.  
  203. INI_WriteInt(File, "Day", DateInfo[dateDay]);
  204. INI_WriteInt(File, "Month", DateInfo[dateMonth]);
  205. INI_WriteInt(File, "Year", DateInfo[dateYear]);
  206.  
  207. INI_WriteInt(File, "Hour", DateInfo[dateHour]);
  208. INI_WriteInt(File, "Min", DateInfo[dateMin]);
  209. INI_WriteInt(File, "Sec", DateInfo[dateSec]);
  210. INI_WriteString(File, "Message", DateInfo[datePoruka]);
  211. INI_Close(File);
  212. return 1;
  213. }
  214. //====================================
  215. stock RemoveDate()
  216. {
  217. DateInfo[dateEvent] = false;
  218. format(DateInfo[dateName], 32, "Nepostojece");
  219. DateInfo[dateDay] = 0;
  220. DateInfo[dateMonth] = 0;
  221. DateInfo[dateYear] = 0;
  222.  
  223. DateInfo[dateHour] = 0;
  224. DateInfo[dateMin] = 0;
  225. DateInfo[dateSec] = 0;
  226. format(DateInfo[datePoruka], 72, "Nepostojece");
  227. SaveDateTime();
  228. ControlDateAll(false);
  229. return 1;
  230. }
  231. //==============================================================================
  232. //==============================================================================UNEKI TIMER OD 1 SEC, u ATH je to pretrazujes task i vidices [1000]
  233. if(DateInfo[dateEvent] == true)
  234. {
  235. new dateyrs = DateInfo[dateYear] - year,
  236. datemonth = DateInfo[dateMonth] - month,
  237. dateday = DateInfo[dateDay] - day,
  238. datehrs = DateInfo[dateHour] - hours,
  239. datemin = DateInfo[dateMin] - minutes,
  240. datesec = DateInfo[dateSec] - seconds,
  241. time[64],
  242. stringic1[64],
  243. stringic2[64];
  244.  
  245. if(DateInfo[dateYear] == year && DateInfo[dateMonth] == month && DateInfo[dateDay] == day && DateInfo[dateHour] == hours && DateInfo[dateMin] == minutes && DateInfo[dateSec] == seconds)
  246. {
  247. format(string, sizeof(string), "LM| "BELA"%s", DateInfo[datePoruka]);
  248. SCMA(COL_RED, string);
  249. format(string, sizeof(string), "~r~%s", DateInfo[datePoruka]);
  250. GameTextForAll(string, 5000, 3);
  251. RemoveDate();
  252. }
  253.  
  254. //"~r~-~w~ 1 godina, 2 mjeseca, 3 dana ~r~-~w~"
  255. strcat(stringic1, "~r~- ~w~", sizeof(stringic1));
  256. if(dateyrs > 0)
  257. {
  258. format(time, sizeof(time), "%d god, ", dateyrs);
  259. strcat(stringic1, time, sizeof(stringic1));
  260. }
  261. if(datemonth > 0 && datemonth < 12)
  262. {
  263. format(time, sizeof(time), "%d mj, ", datemonth);
  264. strcat(stringic1, time, sizeof(stringic1));
  265. }
  266. if(dateday > 0 && dateday < 24)
  267. {
  268. format(time, sizeof(time), "%d days", dateday);
  269. strcat(stringic1, time, sizeof(stringic1));
  270. }
  271. strcat(stringic1, "~r~ -", sizeof(stringic1));
  272. TextDrawSetString(DateEvent[1], stringic1);
  273.  
  274. //"~r~-~w~ 1 sat, 2 minuta, 3 sekunde ~r~-~w~"
  275. strcat(stringic2, "~r~- ~w~", sizeof(stringic2));
  276. if(datehrs > 0 && datehrs < 24)
  277. {
  278. format(time, sizeof(time), "%d hrs, ", datehrs);
  279. strcat(stringic2, time, sizeof(stringic2));
  280. }
  281. if(datemin > 0 && datemin < 60)
  282. {
  283. format(time, sizeof(time), "%d min, ", datemin);
  284. strcat(stringic2, time, sizeof(stringic2));
  285. }
  286. if(datesec > 0 && datesec < 60)
  287. {
  288. format(time, sizeof(time), "%d sec", datesec);
  289. strcat(stringic2, time, sizeof(stringic2));
  290. }
  291. strcat(stringic2, "~r~ -", sizeof(stringic2));
  292. TextDrawSetString(DateEvent[2], stringic2);
  293. }
  294. //==============================================================================
  295. //==============================================================================
  296.  
  297.  
  298. //==============================================================================
  299. //==============================================================================BILO GDJE, za show i hide TD-ova
  300. stock ControlDateTD(playerid, bool:show)
  301. {
  302. if(show == true)
  303. {
  304. TDSP(playerid, DateEvent[0]);
  305. TDSP(playerid, DateEvent[1]);
  306. TDSP(playerid, DateEvent[2]);
  307. }
  308. else
  309. {
  310. TDHP(playerid, DateEvent[0]);
  311. TDHP(playerid, DateEvent[1]);
  312. TDHP(playerid, DateEvent[2]);
  313. }
  314. return 1;
  315. }
  316. stock ControlDateAll(bool:show)
  317. {
  318. if(show == true)
  319. {
  320. TextDrawShowForAll(DateEvent[0]);
  321. TextDrawShowForAll(DateEvent[1]);
  322. TextDrawShowForAll(DateEvent[2]);
  323. }
  324. else
  325. {
  326. TextDrawHideForAll(DateEvent[0]);
  327. TextDrawHideForAll(DateEvent[1]);
  328. TextDrawHideForAll(DateEvent[2]);
  329. }
  330. return 1;
  331. }
  332. //==============================================================================
  333. //==============================================================================Tamo gdje ti se i ostali global tdovi kreiraju
  334. DateEvent[ 0 ] = TextDrawCreate(320.000000, 395.000000, "- ~r~Nova Godina~w~ -");
  335. TextDrawLetterSize(DateEvent[ 0 ], 0.217500, 0.952884);
  336. TextDrawAlignment(DateEvent[ 0 ], 2);
  337. TextDrawColor(DateEvent[ 0 ], -1);
  338. TextDrawSetShadow(DateEvent[ 0 ], 0);
  339. TextDrawSetOutline(DateEvent[ 0 ], 1);
  340. TextDrawBackgroundColor(DateEvent[ 0 ], 255);
  341. TextDrawFont(DateEvent[ 0 ], 1);
  342. TextDrawSetProportional(DateEvent[ 0 ], 1);
  343.  
  344. DateEvent[ 1 ] = TextDrawCreate(320.000000, 405.333343, "~r~-~w~ 1 godina, 2 mjeseca, 3 dana ~r~-~w~");
  345. TextDrawLetterSize(DateEvent[ 1 ], 0.217500, 0.952884);
  346. TextDrawAlignment(DateEvent[ 1 ], 2);
  347. TextDrawColor(DateEvent[ 1 ], -1);
  348. TextDrawSetShadow(DateEvent[ 1 ], 0);
  349. TextDrawSetOutline(DateEvent[ 1 ], 1);
  350. TextDrawBackgroundColor(DateEvent[ 1 ], 255);
  351. TextDrawFont(DateEvent[ 1 ], 1);
  352. TextDrawSetProportional(DateEvent[ 1 ], 1);
  353.  
  354. DateEvent[ 2 ] = TextDrawCreate(320.000000, 415.044464, "~r~-~w~ 1 sat, 2 minuta, 3 sekunde ~r~-~w~");
  355. TextDrawLetterSize(DateEvent[ 2 ], 0.217500, 0.952884);
  356. TextDrawAlignment(DateEvent[ 2 ], 2);
  357. TextDrawColor(DateEvent[ 2 ], -1);
  358. TextDrawSetShadow(DateEvent[ 2 ], 0);
  359. TextDrawSetOutline(DateEvent[ 2 ], 1);
  360. TextDrawBackgroundColor(DateEvent[ 2 ], 255);
  361. TextDrawFont(DateEvent[ 2 ], 1);
  362. TextDrawSetProportional(DateEvent[ 2 ], 1);
  363. //==============================================================================
  364. //==============================================================================OnGameModeExit Il gdje ti se ostali TDovi unistavaju
  365. TDD(DateEvent[0]);
  366. TDD(DateEvent[1]);
  367. TDD(DateEvent[2]);
  368. //==============================================================================
  369. //==============================================================================OnPlayerDisconnect Il gdje ti se ostali TD-ovi hide-aju ako nemas nesto tako nemoj ni ubacivat
  370. TDHP(playerid, DateEvent[0]); TDHP(playerid, DateEvent[1]);
  371. TDHP(playerid, DateEvent[2]);
Advertisement
Add Comment
Please, Sign In to add comment