Advertisement
Guest User

Untitled

a guest
Jan 18th, 2018
291
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 25.74 KB | None | 0 0
  1. #############################################################################################################################################################################################
  2. # #
  3. # #
  4. # SYSTEM SPRAWDZANIA PLIKÓW GRACZA #
  5. # #
  6. # #
  7. #############################################################################################################################################################################################
  8.  
  9.  
  10.  
  11. ###########################################################
  12. # #
  13. # Sprawdzanie plików gracza #
  14. # #
  15. ###########################################################
  16.  
  17. function checkPlayerData(p: player) :: boolean:
  18. loop 2 times:
  19. set {_playerName} to yaml value "[rCore] playerName" from file "/plugins/Skript/scripts/rCore/users/%{_p}'s uuid%.yml"
  20. set {_playerIp} to yaml value "[rCore] playerIp" from file "/plugins/Skript/scripts/rCore/users/%{_p}'s uuid%.yml"
  21. set {_banData} to yaml value "[rCore] banData" from file "/plugins/Skript/scripts/rCore/users/%{_p}'s uuid%.yml"
  22. set {_info} to false
  23. if {_playerName} is not set:
  24. set yaml value "[rCore] playerName" from file "/plugins/Skript/scripts/rCore/users/%{_p}'s uuid%.yml" to "%{_p}%" parsed as text
  25. set {_info} to true
  26. if {_playerIp} is not set:
  27. set yaml value "[rCore] playerIp" from file "/plugins/Skript/scripts/rCore/users/%{_p}'s uuid%.yml" to "%{_p}'s ip%" parsed as text
  28. set {_info} to true
  29. if {_banData} is not set:
  30. set yaml value "[rCore] banData" from file "/plugins/Skript/scripts/rCore/users/%{_p}'s uuid%.yml" to "null" parsed as text
  31. set {_info} to true
  32. return {_info}
  33. stop
  34.  
  35. ###########################################################
  36. # #
  37. # EVENTY DOTYCZĄCE SPRAWDZANIA PLIKÓW GRACZA #
  38. # #
  39. ###########################################################
  40.  
  41. # EVENT, W KTÓRYM ODBYWA SIĘ SPRAWDZANIE PLIKÓW GRACZA
  42. on join:
  43. if checkPlayerData(player) is true:
  44. kick player due to "&4Twoje dane zostały uszkodzone!%nl%&aSpróbuj wejść na serwer ponownie.%nl%&eJeżeli to nie pomoże - skontaktuj się z administratorem."
  45. stop
  46. stop
  47.  
  48. #############################################################################################################################################################################################
  49. # #
  50. # #
  51. # SYSTEM SPRAWDZANIA PLIKÓW IP #
  52. # #
  53. # #
  54. #############################################################################################################################################################################################
  55.  
  56.  
  57.  
  58. ###########################################################
  59. # #
  60. # Sprawdzanie plików IP #
  61. # #
  62. ###########################################################
  63.  
  64. function checkPlayerData(p: player) :: boolean:
  65. loop 2 times:
  66. set {_playerName} to yaml value "[rCore] playerName" from file "/plugins/Skript/scripts/rCore/users/%{_p}'s uuid%.yml"
  67. set {_playerIp} to yaml value "[rCore] playerIp" from file "/plugins/Skript/scripts/rCore/users/%{_p}'s uuid%.yml"
  68. set {_banData} to yaml value "[rCore] banData" from file "/plugins/Skript/scripts/rCore/users/%{_p}'s uuid%.yml"
  69. set {_info} to false
  70. if {_playerName} is not set:
  71. set yaml value "[rCore] playerName" from file "/plugins/Skript/scripts/rCore/users/%{_p}'s uuid%.yml" to "%{_p}%" parsed as text
  72. set {_info} to true
  73. if {_playerIp} is not set:
  74. set yaml value "[rCore] playerIp" from file "/plugins/Skript/scripts/rCore/users/%{_p}'s uuid%.yml" to "%{_p}'s ip%" parsed as text
  75. set {_info} to true
  76. if {_banData} is not set:
  77. set yaml value "[rCore] banData" from file "/plugins/Skript/scripts/rCore/users/%{_p}'s uuid%.yml" to "null" parsed as text
  78. set {_info} to true
  79. return {_info}
  80. stop
  81.  
  82. ###########################################################
  83. # #
  84. # EVENTY DOTYCZĄCE SPRAWDZANIA PLIKÓW IP #
  85. # #
  86. ###########################################################
  87.  
  88. # EVENT, W KTÓRYM ODBYWA SIĘ SPRAWDZANIE PLIKÓW GRACZA
  89. on join:
  90. if checkPlayerData(player) is true:
  91. kick player due to "&4Twoje dane zostały uszkodzone!%nl%&aSpróbuj wejść na serwer ponownie.%nl%&eJeżeli to nie pomoże - skontaktuj się z administratorem."
  92. stop
  93. stop
  94.  
  95. #############################################################################################################################################################################################
  96. # #
  97. # #
  98. # SYSTEM BANOWANIA GRACZA #
  99. # #
  100. # #
  101. #############################################################################################################################################################################################
  102.  
  103.  
  104. ###########################################################
  105. # #
  106. # Funkcje dotyczące banów #
  107. # #
  108. ###########################################################
  109.  
  110.  
  111. # FUNKCJA BANOWANIA (PLAYER)
  112. function banPlayer(p: player, b: player, r: text, t: text) :: text:
  113. if file "/plugins/Skript/scripts/rCore/users/%{_p}'s uuid%.yml" doesn't exist:
  114. return "&7Gracz o podanym nicku nie był nigdy na serwerze!"
  115. stop
  116. if {_p} have permission "rCore.ban.plus":
  117. if {_b} doesn't have permission "rCore.ban.all":
  118. return "&7Nie posiadasz wystarczających uprawnień do zbanowania tego gracza!"
  119. stop
  120. set {_ts} to "permanentny"
  121. if {_t} is not "permanentny":
  122. set {_ts} to getParseTimeSpan({_t})
  123. if {_ts} is not timespan:
  124. return "&7Podany czas jest niepoprawny! (Format: &6dni;godziny;minuty;sekundy&7. Np. 0;5;3;0.)"
  125. stop
  126. broadcast " "
  127. broadcast "&f&lMC&c&lPL &9» &7Gracz &6%{_p}% &7został zbanowany na serwerze przez &6%{_b}% &7za &6%{_r}%&7."
  128. broadcast "&f&lMC&c&lPL &9» &7Czas trwania bana: &6%translateEnglishTimeNamesToPolish({_t})%&7."
  129. broadcast " "
  130. kick {_p} due to "&c&l&m+---------------------------------+%nl%%nl%&r&4ZOSTAŁEŚ ZBANOWANY NA SERWERZE!%nl%%nl%&7Powód: &a%colored {_r}%%nl%&7Osoba banująca: &a%{_b}%%nl%&7Czas: &a%translateEnglishTimeNamesToPolish({_t})%%nl%"
  131. set yaml value "[rCore] banData" from file "/plugins/Skript/scripts/rCore/users/%{_p}'s uuid%.yml" to "%{_b}%;%{_ts}%;%{_r}%;%{_t}%;%now%" parsed as text
  132. return "&7Gracz &6%{_p}% &7został zbanowany!"
  133. stop
  134.  
  135. # FUNKCJA SPRAWDZANIA STANU BANA (PLAYER)
  136. function checkBanPlayer(p: player) :: boolean:
  137. set {_banData} to yaml value "[rCore] banData" from file "/plugins/Skript/scripts/rCore/users/%{_p}'s uuid%.yml"
  138. set {_banData} to {_banData} parsed as text
  139. if {_banData} is not "null":
  140. return true
  141. stop
  142. return false
  143. stop
  144.  
  145. # FUNKCJA SPRAWDZANIA MIJANIA BANA (PLAYER)
  146. function checkBanPlayerRemind(p: player) :: boolean:
  147. if checkBanPlayer({_p}) is false:
  148. stop
  149. set {_banTime} to getPlayerBanInfo({_p}, "banTime")
  150. if {_banTime} is "permanentny":
  151. return false
  152. stop
  153. set {_banTime} to getParseTimeSpan({_banTime})
  154. set {_banDate} to getPlayerBanInfo({_p}, "banDate")
  155. set {_banDate} to skUtil {_banDate} parsed as date formatted as "HH:mm:ss, dd.MM.yyyy"
  156. subtract a hour from {_banDate}
  157. set {_waited} to difference between {_banDate} and now
  158. if {_waited} is less than {_banTime}:
  159. return false
  160. stop
  161. unBanPlayer({_p}, "SYSTEM")
  162. return true
  163. stop
  164.  
  165. # FUNKCJA ODBANOWYWUJĄCA (PLAYER)
  166. function unBanPlayer(p: player, ub: text) :: text:
  167. if checkBanPlayer({_p}) is false:
  168. return "&7Ten gracz nie posiada bana!"
  169. stop
  170. set yaml value "[rCore] banData" from file "/plugins/Skript/scripts/rCore/users/%{_p}'s uuid%.yml" to "null" parsed as text
  171. broadcast " "
  172. broadcast "&f&lMC&c&lPL &9» &7Gracz &6%{_p}% &7został odbanowany przez &6%{_ub}%&7!"
  173. broadcast " "
  174. return "&7Gracz &6%{_p}% &7został odbanowany!"
  175. stop
  176.  
  177. # FUNKCJA POBIERAJĄCA INFORMACJE DOTYCZĄCE BANA (PLAYER)
  178. function getPlayerBanInfo(p: player, type: text) :: text:
  179. if checkBanPlayer({_p}) is false:
  180. return "&7Ten gracz nie posiada blokady!"
  181. stop
  182. if {_type} is "banRemind":
  183. set {_banTime} to getPlayerBanInfo({_p}, "banTime")
  184. if {_banTime} is "permanentny":
  185. return "nigdy"
  186. stop
  187. set {_banTime} to getParseTimeSpan({_banTime})
  188. set {_banDate} to getPlayerBanInfo({_p}, "banDate")
  189. set {_banDate} to skUtil {_banDate} parsed as date formatted as "HH:mm:ss, dd.MM.yyyy"
  190. subtract a hour from {_banDate}
  191. add {_banTime} to {_banDate}
  192.  
  193. set {_return} to "%{_banDate}%" parsed as text
  194. return {_return}
  195. stop
  196. set {_id} to 0
  197. if {_type} is "banBanner":
  198. set {_id} to 1
  199. if {_type} is "banTime":
  200. set {_id} to 2
  201. if {_type} is "banReason":
  202. set {_id} to 3
  203. if {_type} is "banFormatedTime":
  204. set {_id} to 4
  205. if {_type} is "banDate":
  206. set {_id} to 5
  207. set {_banData} to yaml value "[rCore] banData" from file "/plugins/Skript/scripts/rCore/users/%{_p}'s uuid%.yml"
  208. set {_banData} to {_banData} parsed as text
  209. set {_banData::*} to {_banData} split at ";"
  210. return {_banData::%{_id}%}
  211. stop
  212.  
  213. ###########################################################
  214. # #
  215. # Eventy dotyczące banowania #
  216. # #
  217. ###########################################################
  218.  
  219. # EVENT, W KTÓRYM ODBYWA SIĘ SPRAWDZANIE STANU BANA I EWENTUALNE ODBANOWYWANIE, WYRZUCANIE
  220. on connect:
  221. if checkBanPlayer(player) is true:
  222. if checkBanPlayerRemind(player) is false:
  223. kick player due to "&c&l&m+---------------------------------+%nl%%nl%&r&4ZOSTAŁEŚ ZBANOWANY NA SERWERZE!%nl%%nl%&7Powód: &a%colored getPlayerBanInfo(player, ""banReason"")%%nl%&7Czas trwania: &a%translateEnglishTimeNamesToPolish(getPlayerBanInfo(player, ""banFormatedTime""))%%nl%&7Mija: &a%getPlayerBanInfo(player, ""banRemind"")%%nl%"
  224. stop
  225. if checkBanIp("%player's ip%") is true:
  226. if checkBanIpRemind("%player's ip%") is false:
  227. kick player due to getIpBanInfo("%player's ip%", "banReason")
  228. stop
  229. stop
  230.  
  231. ###########################################################
  232. # #
  233. # Komendy dotyczące banowania #
  234. # #
  235. ###########################################################
  236.  
  237. # KOMENDA PERMANENTNIE BANUJĄCA
  238. command /ban [<text>] [<text="&4Admin ma zawsze racje!">]:
  239. trigger:
  240. if player doesn't have permission "rCore.ban":
  241. send "&f&lMC&c&lPL &9» &7Nie posiadsz uprawnień do wykonania tej komendy!"
  242. stop
  243. if arg 1 is not set:
  244. send "&f&lMC&c&lPL &9» &7Podaj nick gracza do zbanowania!"
  245. stop
  246. set {_reason} to colored arg 2
  247. set {_player} to getParsePlayer(arg 1)
  248. set {_message} to banPlayer({_player}, player, {_reason}, "permanentny")
  249. send "&f&lMC&c&lPL &9» %{_message}%"
  250. stop
  251.  
  252. # KOMENDA TYMCZASOWO BANUJĄCA
  253. command /tempban [<text>] [<text>] [<text = "&4Admin ma zawsze racje!">]:
  254. trigger:
  255. if player doesn't have permission "rCore.tempban":
  256. send "&f&lMC&c&lPL &9» &7Nie posiadasz uprawnień do wykonania tej komendy!"
  257. stop
  258. if arg 1 is not set:
  259. send "&f&lMC&c&lPL &9» &7Podaj nick gracza do zbanowania!"
  260. stop
  261. if arg 2 is not set:
  262. send "&f&lMC&c&lPL &9» &7Podaj czas bana. (Format: &6dni;godziny;minuty;sekundy&7. Np. 0;5;3;0.)"
  263. stop
  264. set {_reason} to colored arg 3
  265. set {_player} to getParsePlayer(arg 1)
  266. set {_timeSpan} to getParseToStringTimeSpan(arg 2)
  267. set {_message} to banPlayer({_player}, player, {_reason}, {_timeSpan})
  268. send "&f&lMC&c&lPL &9» %{_message}%"
  269. stop
  270.  
  271. #############################################################################################################################################################################################
  272. # #
  273. # #
  274. # SYSTEM BANOWANIA IP DO ZROBIENIA #
  275. # #
  276. # #
  277. #############################################################################################################################################################################################
  278.  
  279.  
  280. ###########################################################
  281. # #
  282. # Funkcje dotyczące banów #
  283. # #
  284. ###########################################################
  285.  
  286.  
  287. # FUNKCJA BANOWANIA (PLAYER)
  288. function banPlayer(p: player, b: player, r: text, t: text) :: text:
  289. if file "/plugins/Skript/scripts/rCore/users/%{_p}'s uuid%.yml" doesn't exist:
  290. return "&7Gracz o podanym nicku nie był nigdy na serwerze!"
  291. stop
  292. if {_p} have permission "rCore.ban.plus":
  293. if {_b} doesn't have permission "rCore.ban.all":
  294. return "&7Nie posiadasz wystarczających uprawnień do zbanowania tego gracza!"
  295. stop
  296. set {_ts} to "permanentny"
  297. if {_t} is not "permanentny":
  298. set {_ts} to getParseTimeSpan({_t})
  299. if {_ts} is not timespan:
  300. return "&7Podany czas jest niepoprawny! (Format: &6dni;godziny;minuty;sekundy&7. Np. 0;5;3;0.)"
  301. stop
  302. broadcast " "
  303. broadcast "&f&lMC&c&lPL &9» &7Gracz &6%{_p}% &7został zbanowany na serwerze przez &6%{_b}% &7za &6%{_r}%&7."
  304. broadcast "&f&lMC&c&lPL &9» &7Czas trwania bana: &6%translateEnglishTimeNamesToPolish({_t})%&7."
  305. broadcast " "
  306. kick {_p} due to "&c&l&m+---------------------------------+%nl%%nl%&r&4ZOSTAŁEŚ ZBANOWANY NA SERWERZE!%nl%%nl%&7Powód: &a%colored {_r}%%nl%&7Osoba banująca: &a%{_b}%%nl%&7Czas: &a%translateEnglishTimeNamesToPolish({_t})%%nl%"
  307. set yaml value "[rCore] banData" from file "/plugins/Skript/scripts/rCore/users/%{_p}'s uuid%.yml" to "%{_b}%;%{_ts}%;%{_r}%;%{_t}%;%now%" parsed as text
  308. return "&7Gracz &6%{_p}% &7został zbanowany!"
  309. stop
  310.  
  311. # FUNKCJA SPRAWDZANIA STANU BANA (PLAYER)
  312. function checkBanPlayer(p: player) :: boolean:
  313. set {_banData} to yaml value "[rCore] banData" from file "/plugins/Skript/scripts/rCore/users/%{_p}'s uuid%.yml"
  314. set {_banData} to {_banData} parsed as text
  315. if {_banData} is not "null":
  316. return true
  317. stop
  318. return false
  319. stop
  320.  
  321. # FUNKCJA SPRAWDZANIA MIJANIA BANA (PLAYER)
  322. function checkBanPlayerRemind(p: player) :: boolean:
  323. if checkBanPlayer({_p}) is false:
  324. stop
  325. set {_banTime} to getPlayerBanInfo({_p}, "banTime")
  326. if {_banTime} is "permanentny":
  327. return false
  328. stop
  329. set {_banTime} to getParseTimeSpan({_banTime})
  330. set {_banDate} to getPlayerBanInfo({_p}, "banDate")
  331. set {_banDate} to skUtil {_banDate} parsed as date formatted as "HH:mm:ss, dd.MM.yyyy"
  332. subtract a hour from {_banDate}
  333. set {_waited} to difference between {_banDate} and now
  334. if {_waited} is less than {_banTime}:
  335. return false
  336. stop
  337. unBanPlayer({_p}, "SYSTEM")
  338. return true
  339. stop
  340.  
  341. # FUNKCJA ODBANOWYWUJĄCA (PLAYER)
  342. function unBanPlayer(p: player, ub: text) :: text:
  343. if checkBanPlayer({_p}) is false:
  344. return "&7Ten gracz nie posiada bana!"
  345. stop
  346. set yaml value "[rCore] banData" from file "/plugins/Skript/scripts/rCore/users/%{_p}'s uuid%.yml" to "null" parsed as text
  347. broadcast " "
  348. broadcast "&f&lMC&c&lPL &9» &7Gracz &6%{_p}% &7został odbanowany przez &6%{_ub}%&7!"
  349. broadcast " "
  350. return "&7Gracz &6%{_p}% &7został odbanowany!"
  351. stop
  352.  
  353. # FUNKCJA POBIERAJĄCA INFORMACJE DOTYCZĄCE BANA (PLAYER)
  354. function getPlayerBanInfo(p: player, type: text) :: text:
  355. if checkBanPlayer({_p}) is false:
  356. return "&7Ten gracz nie posiada blokady!"
  357. stop
  358. if {_type} is "banRemind":
  359. set {_banTime} to getPlayerBanInfo({_p}, "banTime")
  360. if {_banTime} is "permanentny":
  361. return "nigdy"
  362. stop
  363. set {_banTime} to getParseTimeSpan({_banTime})
  364. set {_banDate} to getPlayerBanInfo({_p}, "banDate")
  365. set {_banDate} to skUtil {_banDate} parsed as date formatted as "HH:mm:ss, dd.MM.yyyy"
  366. subtract a hour from {_banDate}
  367. add {_banTime} to {_banDate}
  368.  
  369. set {_return} to "%{_banDate}%" parsed as text
  370. return {_return}
  371. stop
  372. set {_id} to 0
  373. if {_type} is "banBanner":
  374. set {_id} to 1
  375. if {_type} is "banTime":
  376. set {_id} to 2
  377. if {_type} is "banReason":
  378. set {_id} to 3
  379. if {_type} is "banFormatedTime":
  380. set {_id} to 4
  381. if {_type} is "banDate":
  382. set {_id} to 5
  383. set {_banData} to yaml value "[rCore] banData" from file "/plugins/Skript/scripts/rCore/users/%{_p}'s uuid%.yml"
  384. set {_banData} to {_banData} parsed as text
  385. set {_banData::*} to {_banData} split at ";"
  386. return {_banData::%{_id}%}
  387. stop
  388.  
  389. ###########################################################
  390. # #
  391. # Eventy dotyczące banowania #
  392. # #
  393. ###########################################################
  394.  
  395. # EVENT, W KTÓRYM ODBYWA SIĘ SPRAWDZANIE STANU BANA I EWENTUALNE ODBANOWYWANIE, WYRZUCANIE
  396. on connect:
  397. if checkBanPlayer(player) is true:
  398. if checkBanPlayerRemind(player) is false:
  399. kick player due to "&c&l&m+---------------------------------+%nl%%nl%&r&4ZOSTAŁEŚ ZBANOWANY NA SERWERZE!%nl%%nl%&7Powód: &a%colored getPlayerBanInfo(player, ""banReason"")%%nl%&7Czas trwania: &a%translateEnglishTimeNamesToPolish(getPlayerBanInfo(player, ""banFormatedTime""))%%nl%&7Mija: &a%getPlayerBanInfo(player, ""banRemind"")%%nl%"
  400. stop
  401. if checkBanIp("%player's ip%") is true:
  402. if checkBanIpRemind("%player's ip%") is false:
  403. kick player due to getIpBanInfo("%player's ip%", "banReason")
  404. stop
  405. stop
  406.  
  407. ###########################################################
  408. # #
  409. # Komendy dotyczące banowania #
  410. # #
  411. ###########################################################
  412.  
  413. # KOMENDA PERMANENTNIE BANUJĄCA
  414. command /ban [<text>] [<text="&4Admin ma zawsze racje!">]:
  415. trigger:
  416. if player doesn't have permission "rCore.ban":
  417. send "&f&lMC&c&lPL &9» &7Nie posiadsz uprawnień do wykonania tej komendy!"
  418. stop
  419. if arg 1 is not set:
  420. send "&f&lMC&c&lPL &9» &7Podaj nick gracza do zbanowania!"
  421. stop
  422. set {_reason} to colored arg 2
  423. set {_player} to getParsePlayer(arg 1)
  424. set {_message} to banPlayer({_player}, player, {_reason}, "permanentny")
  425. send "&f&lMC&c&lPL &9» %{_message}%"
  426. stop
  427.  
  428. # KOMENDA TYMCZASOWO BANUJĄCA
  429. command /tempban [<text>] [<text>] [<text = "&4Admin ma zawsze racje!">]:
  430. trigger:
  431. if player doesn't have permission "rCore.tempban":
  432. send "&f&lMC&c&lPL &9» &7Nie posiadasz uprawnień do wykonania tej komendy!"
  433. stop
  434. if arg 1 is not set:
  435. send "&f&lMC&c&lPL &9» &7Podaj nick gracza do zbanowania!"
  436. stop
  437. if arg 2 is not set:
  438. send "&f&lMC&c&lPL &9» &7Podaj czas bana. (Format: &6dni;godziny;minuty;sekundy&7. Np. 0;5;3;0.)"
  439. stop
  440. set {_reason} to colored arg 3
  441. set {_player} to getParsePlayer(arg 1)
  442. set {_timeSpan} to getParseToStringTimeSpan(arg 2)
  443. set {_message} to banPlayer({_player}, player, {_reason}, {_timeSpan})
  444. send "&f&lMC&c&lPL &9» %{_message}%"
  445. stop
  446.  
  447. #############################################################################################################################################################################################
  448. # #
  449. # #
  450. # INNE #
  451. # #
  452. # #
  453. #############################################################################################################################################################################################
  454.  
  455.  
  456. ###########################################################
  457. # #
  458. # Funkcje parsedujące #
  459. # #
  460. ###########################################################
  461.  
  462. # FUNKCJA PARSEDUJĄCA TEKST NA GRACZA
  463. function getParsePlayer(p: text) :: player:
  464. set {_p} to {_p} parsed as offlineplayer
  465. return {_p}
  466.  
  467. # FUNKCJA PARSEDUJĄCA TEKST NA TIMESPAN
  468. function getParseTimeSpan(t: text) :: timespan:
  469. set {_t} to {_t} parsed as timespan
  470. return {_t}
  471.  
  472. # FUNKCJA TWORZĄCA TIMESPAN
  473. function getParseToStringTimeSpan(t: text) :: text:
  474. set {_t::*} to {_t} split at ";"
  475. set {_i} to size of {_t::*}
  476. if {_i} is not equal to 4:
  477. return "null"
  478. stop
  479. set {_return} to "%{_t::1}% days, %{_t::2}% hours, %{_t::3}% minutes and %{_t::4}% seconds"
  480. return {_return}
  481.  
  482. # FUNKCJA TŁUMACZĄCA NA JĘZYK POLSKI ANGIELSKIE NAZWY CZASOWE
  483. function translateEnglishTimeNamesToPolish(t: text) :: text:
  484. if {_t} is "permanentny":
  485. return {_t}
  486. stop
  487. set {_t::*} to {_t} split at " "
  488. set {_day} to {_t::1}
  489. set {_day} to {_day} parsed as number
  490. if {_day} is 0:
  491. set {_day} to ""
  492. if {_day} is 1:
  493. set {_day} to "1 dzień "
  494. if {_day} is larger than 1:
  495. set {_day} to "%{_day}% dni "
  496.  
  497. set {_hour} to {_t::3}
  498. set {_hour} to {_hour} parsed as number
  499. if {_hour} is 0:
  500. set {_hour} to ""
  501. if {_hour} is 1:
  502. set {_hour} to "1 godzina "
  503. if {_hour} is 2 or 3 or 4:
  504. set {_hour} to "%{_hour}% godziny "
  505. if {_hour} is larger than 4:
  506. set {_hour} to "%{_hour}% godzin "
  507.  
  508. set {_minute} to {_t::5}
  509. set {_minute} to {_minute} parsed as number
  510. if {_minute} is 0:
  511. set {_minute} to ""
  512. if {_minute} is 1:
  513. set {_minute} to "1 minuta "
  514. if {_minute} is 2 or 3 or 4:
  515. set {_minute} to "%{_minute}% minuty "
  516. if {_minute} is larger than 4:
  517. set {_minute} to "%{_minute}% minut "
  518.  
  519. set {_second} to {_t::8}
  520. set {_second} to {_second} parsed as number
  521. if {_second} is 0:
  522. set {_second} to ""
  523. if {_second} is 1:
  524. set {_second} to "1 sekunda "
  525. if {_second} is 2 or 3 or 4:
  526. set {_second} to "%{_second}% sekundy "
  527. if {_second} is larger than 4:
  528. set {_second} to "%{_second}% sekund "
  529.  
  530. set {_return} to "%{_day}%%{_hour}%%{_minute}%%{_second}%"
  531. return {_return}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement