familychicken

Untitled

Jul 5th, 2022 (edited)
173
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 12.06 KB | None | 0 0
  1. variables:
  2. {%player%.adminmode} = false
  3.  
  4. options:
  5. exp1: &7&l&m=----------------
  6. xp: ✦
  7. rank: ❁
  8. t: ❃
  9. w: ✎
  10.  
  11. # ・経験値の質上昇
  12. # &6❃ 強化レベル&f: &f50 &7/ &f50
  13. # &3&l✎&r&7ランクアップに必要な経験値を減らす
  14. #┗効果: -(10*[level])
  15. # ►費用: 50.0M gold
  16.  
  17.  
  18. on join:
  19. set {%player%::rank} to 0 if {%player%::rank} is not set
  20. set {%player%::xp} to 0 if {%player%::xp} is not set
  21. set {%player%::gold} to 0 if {%player%::gold} is not set
  22. set {%player%::upgrade::2x2} to 0 if {%player%::upgrade::2x2} is not set
  23. set {%player%::upgrade::3x3} to 0 if {%player%::upgrade::3x3} is not set
  24. set {%player%::upgrade::2x4} to 0 if {%player%::upgrade::2x4} is not set
  25. set {%player%::upgrade::3x2} to 0 if {%player%::upgrade::3x2} is not set
  26. set {%player%::upgrade::3x4} to 0 if {%player%::upgrade::3x4} is not set
  27. set {%player%::upgrade::1x1} to 0 if {%player%::upgrade::1x1} is not set
  28.  
  29.  
  30.  
  31. function sg_itemset(name: text, loc: text, p: player) :: item:
  32. set {_answer} to clay named " &7[1x3] ランクアップ経験値ダウン" with lore "&6{@t} &6強化レベル&f: &f%{%{_p}%::upgrade::%{_loc}%}% &7/ &f50" and "&3&l{@w} &r&7ランクアップに必要な経験値を減らす" and " &8&l┗ &r&7効果&f: &7needxp:&3 -(10*[level]) {@xp}" and "%mg_cost(2, 1.8, 50, {_loc}, ""gold"", {_p})%" with nbt "{loc:%{_loc}%}" if {_loc} is "1x3"
  33. set {_answer} to ghast tear named "&7[2x2] &7ランク・経験値間アップグレード" with lore "&6{@t} &6強化レベル&f: &f%{%{_p}%::upgrade::%{_loc}%}% &7/ &f1" and "&3&l{@w} &r&7ランクに応じて獲得経験値量が増加" and " &8&l┗ &r&7効果&f:&3 +10log(rank+10) %% {@xp}" and "%mg_cost(750, 1.1, 1, {_loc}, ""gold"", {_p})%" with nbt "{loc:%{_loc}%}" if {_loc} is "2x2"
  34. set {_answer} to ghast tear named "&7[2x4] &7ランク・ゴールド間アップグレード" with lore "&6{@t} &6強化レベル&f: &f%{%{_p}%::upgrade::%{_loc}%}% &7/ &f1" and "&3&l{@w} &r&7ランクに応じて獲得ゴールド量が増加" and " &8&l┗ &r&7効果&f:&e +8log(rank+10) %% &6gold" and "%mg_cost(3000, 1.1, 1, {_loc}, ""gold"", {_p})%" with nbt "{loc:%{_loc}%}" if {_loc} is "2x4"
  35. set {_answer} to mg_createitem("3x2", flint, "&7経験値倍率上昇Ⅰ", 20000, 1.2, 200, "gold", "&7経験値倍率を上昇させる", "&3+ 8*[level] %% &3{@xp}", {_p}) if {_loc} is "3x2"
  36. set {_answer} to mg_createitem("3x4", gold nugget, "&7ゴールド倍率上昇Ⅰ", 15000, 1.15, 200, "gold", "&7ゴールド倍率を上昇させる", "&3+ 5*[level] %% &3{@xp}", {_p}, ("1x3", and "2x4"), (10, and 1)) if {_loc} is "3x4"
  37. set {_answer} to mg_createitem("3x3", iron pickaxe, "&7ランク倍率上昇Ⅰ", 250000, 1000, 5, "gold", "&7ランクアップで上昇するランクが増加", "&7gainrank: &d+ 100*[level] %% &d{@rank}", {_p}) if {_loc} is "3x3"
  38. set {_answer} to stone pickaxe named "yukit復活 cost: 1e1.7e308" with nbt "{loc:%{_loc}%}" if {_loc} is "10x2"
  39. set {_answer} to maxbuy_guicreate({_p}) if {_loc} is "buy"
  40. set {_answer} to gray glass pane named "" if {_answer} is not set
  41. return {_answer}
  42.  
  43. function mg_createitem(loc: text, item: item, name: text, m: number, a: number, limit: number, c: text, lore: text, effect: text, p: player, conds: texts, conds2: numbers) :: item:
  44. if cu({_conds::*}, {_conds2::*}, {_p}) is true:
  45. set {_answer} to {_item} named "&7[&7%{_loc}%&7] %(colored {_name})%" with lore "&6{@t} &6強化レベル&f: &f%{%{_p}%::upgrade::%{_loc}%}% &7/ &f%{_limit}%" and "&3&l{@w} %(colored {_lore})%" and " &8&l┗ &r&7効果&f: %(colored {_effect})%" and "%mg_cost({_m}, {_a}, {_limit}, {_loc}, {_c}, {_p})%" with nbt "{loc:%{_loc}%}"
  46. else:
  47. loop (size of {_conds::*}) times:
  48. set {_text::%loop-number%} to "&8๏ &7アップグレード[%{_conds::%loop-number%}%&7] &f%{%{_p}%::upgrade::%{_conds::%loop-number%}%}%&7/ &f%{_conds2::%loop-number%}% &7レベル"
  49. loop {_text::*}:
  50. set {_lore} to "%{_lore}%%nl%%loop-value%"
  51. set {_lore} to join {_text::*} by nl
  52. set {_answer} to gray wool named "&7[&7%{_loc}%&7] &7???" with lore "&c&nLocked" and "%{_lore}%"
  53. return {_answer}
  54.  
  55.  
  56.  
  57.  
  58.  
  59. on inventory click:
  60. if name of clicked inventory contains "[・]":
  61. cancel event
  62. set {_item} to event-item
  63. set {_n} to tag "loc" of nbt of {_item}
  64. if name of clicked inventory contains "upgrade":
  65. set {_a::1} to "upgrade"
  66. set {_a::2} to 6
  67. if {_n} is "1x3":
  68. maxbuy_shop(2, 1.8, {%player%::upgrade::%{_n}%}, 50, "gold", player, {_n})
  69. if {_n} is "2x2":
  70. maxbuy_shop(750, 1.1, {%player%::upgrade::%{_n}%}, 1, "gold", player, {_n})
  71. if {_n} is "2x4":
  72. maxbuy_shop(3000, 1.1, {%player%::upgrade::%{_n}%}, 1, "gold", player, {_n})
  73. if {_n} is "3x2":
  74. maxbuy_shop(20000, 1.2, {%player%::upgrade::%{_n}%}, 200, "gold", player, {_n})
  75. if {_n} is "3x4":
  76. maxbuy_shop(15000, 1.15, {%player%::upgrade::%{_n}%}, 200, "gold", player, {_n})
  77. if {_n} is "3x3":
  78. maxbuy_shop(250000, 1000, {%player%::upgrade::%{_n}%}, 5, "gold", player, {_n})
  79. if {_n} is "right":
  80. add 1 to {%player%.line::%{_a::1}%}
  81. sg_reload({_a::1}, {_a::2}, {%player%.line::%{_a::1}%}, player)
  82. else if {_n} is "left":
  83. add -1 to {%player%.line::%{_a::1}%} if {%player%.line::%{_a::1}%} > 1
  84. sg_reload({_a::1}, {_a::2}, {%player%.line::%{_a::1}%}, player)
  85. else if {_n} is "back":
  86. set {%player%.line::%{_a::1}%} to 1
  87. sg_reload({_a::1}, {_a::2}, {%player%.line::%{_a::1}%}, player)
  88. else if {_n} is "buy":
  89. add 1 to {%player%.guic}
  90. sg_reload({_a::1}, {_a::2}, {%player%.line::%{_a::1}%}, player)
  91. set slot (index of event-slot) of player's current inventory to sg_itemset({_a::1}, {_n}, player) if {_n} is set
  92. else:
  93. set slot (index of event-slot) of player's current inventory to sg_itemset({_a::1}, {_n}, player) if {_n} is set
  94.  
  95. function mg_mine(nr: number, gain: number, res: text, p: player):
  96. if {%{_p}%::rank} >= {_nr}:
  97. add {_gain}*{%{_p}%::multixp} to {%{_p}%::xp}
  98. set {_r} to random integer between 1 and 1000000
  99. if {_res} is "dirt":
  100. give dirt named "&7&n土" with lore "{@exp1}" and "&7価値 &8> &e0.1 &6gold" with nbt "{sell:0.1}" to {_p}
  101. if {_res} is "sand":
  102. give sand named "&7&n砂" with lore "{@exp1}" and "&7価値 &8> &e0.5 &6gold" with nbt "{sell:0.5}" to {_p}
  103. give red sand named "&a&n赤砂" with lore "{@exp1}" and "&7価値 &8> &e2 &6gold" with nbt "{sell:2}" to {_p} if {_r} is between 1 and 200000
  104. give gold nugget named "&5&n砂金" with lore "{@exp1}" and "&7価値 &8> &e200K &6gold" with lore "&7&oとても砂の中にあったとは思えない" with nbt "{sell:200000}" to {_p} if {_r} is between 1 and 10
  105. if {_res} is "gravel":
  106. give gravel named "&7&n砂利" with lore "{@exp1}" and "&7価値 &8> &e3 &6gold" with nbt "{sell:3}" to {_p}
  107. give flint named "&2&n火打ち石" with lore "{@exp1}" and "&7価値 &8> &e100 &6gold" with nbt "{sell:100}" to {_p} if {_r} is between 1 and 50000
  108. if {_res} is "snow":
  109. give snow block named "&7&n雪" with lore "{@exp1}" and "&7価値 &8> &e5 &6gold" with nbt "{sell:5}" to {_p}
  110. give snowball named "&a&n雪玉" with lore "{@exp1}" and "&7価値 &8> &e30 &6gold" with nbt "{sell:30}" to {_p} if {_r} is between 1 and 150000
  111. else:
  112. message "&7&o採掘するには自分の力が弱すぎる..." to {_p}
  113.  
  114. function mg_cost(m: number, a: number, limit: number, loc: text, c: text, p: player) :: text:
  115. set {_answer::*} to (maxbuy_multibuy({_m}, {_a}, {%{_p}%.maxbuy}, {%{_p}%::upgrade::%{_loc}%}, {_limit}, {%{_p}%::%{_c}%}))
  116. return "&7&l ► &r&7費用&f: &e%nn({_answer::1}, {_p})% &6gold"
  117.  
  118.  
  119. command /rankup:
  120. trigger:
  121. mg_rankup(player)
  122.  
  123.  
  124.  
  125.  
  126. #---====━━━━━━━━━━
  127.  
  128. every 2 ticks:
  129. loop all players:
  130. set {%loop-player%::needxp} to 1000-(10*(upg("1x3", loop-player)))
  131. set {%loop-player%::multixp} to 1 + 0.01*((upg("2x2", loop-player))*10*log({%loop-player%::rank}+10)+8*upg("3x2", loop-player))
  132. set {%loop-player%::multigold} to 1 + 0.01*((upg("2x4", loop-player))*8*log({%loop-player%::rank}+10)+5*(upg("3x4", loop-player)))
  133.  
  134. #---====━━━━━━━━━━
  135.  
  136.  
  137.  
  138.  
  139.  
  140. function upg(loc: text, p: player) :: number:
  141. set {_answer} to {%{_p}%::upgrade::%{_loc}%}
  142. return {_answer}
  143.  
  144. function mg_rankup(p: player):
  145. if {%{_p}%::xp} >= {%{_p}%::needxp}:
  146. set {_r} to floor({%{_p}%::xp}*(1/{%{_p}%::needxp}))
  147. remove {%{_p}%::needxp}*{_r} from {%{_p}%::xp}
  148. add {_r} * ({%{_p}%::upgrade::3x3}+1) to {%{_p}%::rank}
  149. message "&7ランクアップしました。 &d( +%{_r} * ({%{_p}%::upgrade::3x3}+1)% &d{@rank})" to {_p}
  150.  
  151. on break:
  152. if event-block is dirt:
  153. mg_mine(0, 10, "dirt", player)
  154. cancel event
  155. if event-block is sand:
  156. mg_mine(3, 20, "sand", player)
  157. cancel event
  158. if event-block is gravel:
  159. mg_mine(15, 50, "gravel", player)
  160. cancel event
  161. if event-block is snow block:
  162. mg_mine(50, 150, "snow", player)
  163. cancel event
  164.  
  165.  
  166. every 2 ticks:
  167. loop all players:
  168. set name of sidebar of loop-player to ""
  169. set line 15 of loop-player's scoreboard to "&7&m------------------------------"
  170. set line 14 of loop-player's scoreboard to "&3経験値&f: &3%nn({%loop-player%::xp}, loop-player)% &3{@xp}"
  171. set line 13 of loop-player's scoreboard to "&7&l ┗&7倍率&f: &3x%{%loop-player%::multixp}%"
  172. set line 12 of loop-player's scoreboard to "&dランク&f: &d%nn({%loop-player%::rank}, loop-player)% &d{@rank}"
  173. set line 11 of loop-player's scoreboard to "&7&l ┗&7必要経験値&f: &3%{%loop-player%::needxp}% {@xp}"
  174. set line 10 of loop-player's scoreboard to "&6ゴールド&f: &e%nn({%loop-player%::gold}, loop-player)% &6gold"
  175. set line 9 of loop-player's scoreboard to "&7&l ┗&7倍率&f: &ex%{%loop-player%::multigold}%"
  176. set line 1 of loop-player's scoreboard to "&7&m------------------------------"
  177.  
  178. command /sell:
  179. trigger:
  180. loop 36 times:
  181. set {_item} to slot ((loop-number)-1) of player's inventory
  182. set {_n} to tag "sell" of nbt of {_item}
  183. if {_n} > 0:
  184. set {_item2} to {_item}
  185. remove {_item2} from player's inventory
  186. add (item amount of {_item2})*{_n}*{%player%::multigold} to {%player%::gold}
  187. add (item amount of {_item2})*{_n}*{%player%::multigold} to {_total}
  188. set {_n} to 0
  189. message "&7[&8・&7] &6+ &e%nn({_total}, player)% &6gold" to player if {_total} is set
  190.  
  191. command /ad-setupg <text> <number>:
  192. permission: skript.admin
  193. trigger:
  194. set {%player%::upgrade::%arg-1%} to arg-2
  195.  
  196. command /ad-mode:
  197. permission: skript.admin
  198. trigger:
  199. add 1 to {%player%.admodenum}
  200. set {%player%.adminmode} to true if mod({%player%.admodenum}, 2) is 1
  201. set {%player%.adminmode} to false if mod({%player%.admodenum}, 2) is 0
  202.  
  203. command /ad-setlv <text> <number>:
  204. permission: skript.admin
  205. trigger:
  206. set {%player%::%arg-1%} to arg-2
  207.  
  208. function cu(locs: texts, locsn: numbers, p: player) :: boolean:
  209. loop (size of {_locs::*}) times:
  210. if {%{_p}%::upgrade::%{_locs::%loop-number%}%} < {_locsn::%loop-number%}:
  211. return false
  212. return true
  213.  
  214. command /homehome:
  215. trigger:
  216. if cu(("1x3", and "2x2"), (5, and 1), player) is true:
  217. message "kawaiine"
  218. else:
  219. message "kimo..."
  220.  
  221. on place:
  222. if player's gamemode is not creative:
  223. cancel event
  224.  
  225. on break:
  226. if player's gamemode is not creative:
  227. cancel event
  228.  
  229.  
  230.  
  231.  
  232.  
  233.  
Add Comment
Please, Sign In to add comment