Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- options:
- prefix: &d婚姻系統 &d>>
- born_time_sec: 10800
- training_time_sec: 86400
- on rightclick on player:
- type of player's tool is air
- sneaking state of player is true
- if metadata "NPC" of clicked entity is not set:
- open chest with 4 rows named "&e玩家互動菜單 - &a%clicked entity%" to player
- loop integers from 0 to 35:
- set slot loop-value of player's current inventory to black glass named "&f"
- set slot 4 of player's current inventory to skull of clicked entity named "&a&l%clicked entity%"
- set slot 19 of player's current inventory to rose bushes named "&c婚姻系統" with lore "&7>> &a求婚||&7>> &a離婚||&7更多操作..."
- set slot 21 of player's current inventory to emerald named "&a交易系統" with lore "&7>> &a按我向對方發出交易邀請"
- command /maccept:
- trigger:
- if {婚姻暫存.%player%::邀約玩家} is set:
- set {_hus} to {婚姻暫存.%player%::邀約玩家}
- set {_husP} to "%{_hus}%" parsed as player
- set {玩家資料.%player%::伴侶} to {_hus}
- set {玩家資料.%{_hus}%::伴侶} to "%player%"
- delete {婚姻暫存.%{_hus}%::求婚對象}
- delete {婚姻暫存.%{_hus}%::求婚時間}
- delete {婚姻暫存.%player%::邀約玩家}
- send "{@prefix} &e您接受了 &a%{_hus}% &e的求婚! 恭喜!"
- send "{@prefix} &a%player% &e接受了您的求婚! 恭喜!" to {_husP}
- broadcast "{@prefix} &a%player% &e跟 &a%{_hus}% &e結婚了!!! 恭喜他們吧!"
- else:
- send "{@prefix} &e別幻想了,根本沒有人跟你求婚"
- command /mrefuse:
- trigger:
- if {婚姻暫存.%player%::邀約玩家} is set:
- set {_hus} to {婚姻暫存.%player%::邀約玩家}
- set {_husP} to "%{_hus}%" parsed as player
- delete {婚姻暫存.%{_hus}%::求婚對象}
- delete {婚姻暫存.%{_hus}%::求婚時間}
- delete {婚姻暫存.%player%::邀約玩家}
- send "{@prefix} &e您拒絕了 &a%{_hus}% &e的求婚,對方哭着跑走了"
- send "{@prefix} &a%player% &e拒絕了您的求婚" to {_husP}
- else:
- send "{@prefix} &e別幻想了,根本沒有人跟你求婚"
- on join:
- if {婚姻暫存.%player%::求婚對象} is set:
- set {_tar} to {婚姻暫存.%player%::求婚對象}
- delete {婚姻暫存.%player%::求婚對象}
- delete {婚姻暫存.%player%::求婚時間}
- delete {婚姻暫存.%{_tar}%::邀約玩家}
- on inventory click:
- if name of player's current inventory contains "玩家互動菜單 -":
- cancel event
- set {_playerID} to uncoloured name of player's current inventory
- replace all "玩家互動菜單 - " with "" in {_playerID}
- if name of clicked item is "&c婚姻系統":
- close player's inventory
- open chest with 4 rows named "&e婚姻系統 - &a%{_playerID}%" to player
- loop integers from 0 to 35:
- set slot loop-value of player's current inventory to black glass named "&f"
- set slot 4 of player's current inventory to skull of {_playerID} parsed as player named "&a&l%{_playerID}%"
- if {玩家資料.%{_playerID}%::伴侶} is "無":
- if {玩家資料.%player%::伴侶} is "無":
- if {婚姻暫存.%player%::求婚對象} is not set:
- if {婚姻暫存.%{_playerID}%::邀約玩家} is not set:
- set slot 19 of player's current inventory to red poppy named "&e求婚" with lore "&a按我向對方求婚"
- else:
- set slot 19 of player's current inventory to red poppy named "&e求婚" with lore "&c對方已經被其他人求婚了||&c等等再來吧"
- else:
- set slot 19 of player's current inventory to red poppy named "&e求婚" with lore "&c您已經向某人求婚了!"
- else:
- set slot 19 of player's current inventory to red poppy named "&e求婚" with lore "&c您已經有伴侶了!"
- else:
- set slot 19 of player's current inventory to red poppy named "&e求婚" with lore "&c對方已經有伴侶了!"
- if {玩家資料.%{_playerID}%::伴侶} is player:
- set slot 25 of player's current inventory to dead bush named "&e離婚" with lore "&a按我與對方離婚"
- else:
- set slot 25 of player's current inventory to dead bush named "&e離婚" with lore "&c你不是對方的伴侶!"
- else if name of clicked item is "&a交易系統":
- close player's inventory
- execute player command "/trade %{_playerID}%"
- else if name of player's current inventory contains "&e婚姻系統 -":
- cancel event
- set {_playerID} to uncoloured name of player's current inventory
- replace all "婚姻系統 - " with "" in {_playerID}
- if name of clicked item is "&e求婚":
- if lore of clicked item contains "&a按我向對方求婚":
- close player's inventory
- set {_player} to {_playerID} parsed as player
- set {婚姻暫存.%player%::求婚對象} to {_player}
- set {婚姻暫存.%player%::求婚時間} to date now as unix
- set {婚姻暫存.%{_playerID}%::邀約玩家} to player
- send "{@prefix} &e您向 &a%{_player}% &e求婚了! 請耐心等待對方的答覆"
- send "{@prefix} &a%player% &e向您求婚了! 您有 30 秒時間考慮: 輸入 &a/maccept &e以接受,輸入 &a/mrefuse &e以拒絕" to {_player}
- wait 30 seconds
- if {婚姻暫存.%player%::求婚對象} is set:
- delete {婚姻暫存.%player%::求婚對象}
- delete {婚姻暫存.%player%::求婚時間}
- delete {婚姻暫存.%{_playerID}%::邀約玩家}
- send "{@prefix} &e30 秒過了 &a%{_player}% &e還沒答應您,下次再努力吧!!"
- send "{@prefix} &e30 秒過了您還沒對 &a%player% &e的求婚作出回應,對方哭着跑走了" to {_player}
- else if name of clicked item is "&e離婚":
- if lore of clicked item contains "&a按我與對方離婚":
- close player's inventory
- set {_player} to {_playerID} parsed as player
- set {玩家資料.%player%::伴侶} to "無"
- set {玩家資料.%{_player}%::伴侶} to "無"
- send "{@prefix} &e你已與 &a%{_player}% &e離婚"
- send "{@prefix} &a%player% &e跟你離婚了" to {_player}
- broadcast "{@prefix} &a%player% &e跟 &a%{_player}% &e離婚了! &7(群眾: YES!!!)"
- on rightclick:
- if name of player's tool is "&e強制離婚文件":
- if {玩家資料.%player%::伴侶} is not "無":
- remove 1 from item amount of player's tool
- set {_hus} to {玩家資料.%player%::伴侶}
- set {玩家資料.%player%::伴侶} to "無"
- set {玩家資料.%{_hus}%::伴侶} to "無"
- send "{@prefix} &e您使用了 &a強制離婚文件 &e與對方離婚"
- if {_hus} is online:
- send "{@prefix} &a%player% &e使用了 &a強制離婚文件 &e與您離婚" to {_hus}
- broadcast "{@prefix} &a%player% &e使用 &a強制離婚文件 &e跟 &a%{_hus}% &e離婚了! &7(群眾: YES!!!)"
- else:
- send "{@prefix} &e你根本沒有伴侶,不要自我安慰了"
- #Kiss#
- function negative(n: number) :: number:
- if {_n} is smaller than 0:
- set {_re} to absolute value of {_n}
- else:
- set {_re} to 0 - {_n}
- return {_re}
- function oppositeFace(d: direction) :: direction:
- if {_d} is north:
- return south
- else if {_d} is north east:
- return south west
- else if {_d} is east:
- return west
- else if {_d} is south east:
- return north west
- else if {_d} is south:
- return north
- else if {_d} is south west:
- return north east
- else if {_d} is west:
- return east
- else if {_d} is north west:
- return south east
- else if {_d} is below:
- return above
- else if {_d} is above:
- return below
- function getBabyAge(p: player) :: integer:
- return floor((date now as unix - {繁殖系統.%{_p}%::孩子出生時間}) / 51840)
- on rightclick on player:
- #sneaking state of player is true
- "%name of clicked entity%" is "%{玩家資料.%player%::伴侶}%"
- set {_target} to "%name of clicked entity%" parsed as player
- set {_playerface} to player's facing
- set {_fffface} to clicked entity's facing
- oppositeFace({_playerface}) is {_fffface}
- set {_playerloc} to player's location
- set {_fffloc} to clicked entity's location
- distance between {_playerloc} and {_fffloc} is smaller than 2.5
- set {_targetX} to negative((x-coord of {_playerloc} - x-coord of {_fffloc}) / 2)
- set {_targetY} to negative((y-coord of {_playerloc} - y-coord of {_fffloc}) / 2) + 1
- set {_targetZ} to negative((z-coord of {_playerloc} - z-coord of {_fffloc}) / 2)
- add {_targetX} to x-coord of {_playerloc}
- add {_targetY} to y-coord of {_playerloc}
- add {_targetZ} to z-coord of {_playerloc}
- drawDot count 3, particle "heart", XYZ 0.1, 0.1, 0.1, center {_playerloc}, visibleRange 32, pulseDelay 2, keepFor 0.3 seconds
- # PAKPAKPAK
- on sneak toggle:
- player is sneaking
- set {_found} to false
- loop all blocks in radius 2 around the player:
- loop-block is a bed
- set {_found} to true
- {_found} is true
- set {_target} to null
- loop all players in radius 2 around the player:
- loop-player is {玩家資料.%event-player%::伴侶}
- set {_target} to loop-player
- {_target} is set
- {_target} is sleeping
- if {繁殖系統::%{_target}%::懷孕} is true:
- set player's action bar to "&c懷孕期間不可進行繁殖"
- set {_target}'s action bar to "&c懷孕期間不可進行繁殖"
- stop
- else if {繁殖系統::%player%::懷孕} is true:
- set player's action bar to "&c懷孕期間不可進行繁殖"
- set {_target}'s action bar to "&c懷孕期間不可進行繁殖"
- stop
- set {_times} to 0
- if {繁殖系統::%player%::進度} is set:
- add 1 to {繁殖系統::%player%::進度}
- set {_times} to {繁殖系統::%player%::進度}
- else if {繁殖系統::%{_target}%::進度} is set:
- add 1 to {繁殖系統::%{_target}%::進度}
- set {_times} to {繁殖系統::%{_target}%::進度}
- else:
- add 1 to {繁殖系統::%player%::進度}
- set {_times} to {繁殖系統::%player%::進度}
- set {_progress} to 100 / 80 * {_times}
- set {_msg} to "&6繁殖進度: "
- set {_index} to 10
- while {_index} is smaller than or equal to 100:
- if {_progress} is bigger than or equal to {_index}:
- set {_msg} to "%{_msg}%&e▌"
- else:
- set {_msg} to "%{_msg}%&a▌"
- add 10 to {_index}
- set {_msg} to "%{_msg}% &e%{_progress}%%%"
- set player's action bar to {_msg}
- set {_target}'s action bar to {_msg}
- if {_times} is bigger than or equal to 80:
- delete {繁殖系統::%player%::進度}
- delete {繁殖系統::%{_target}%::進度}
- apply potion of nausea of tier 3 to player for 15 seconds
- apply potion of nausea of tier 3 to {_target} for 15 seconds
- apply potion of slowness of tier 2 to player for 15 seconds
- apply potion of slowness of tier 2 to {_target} for 15 seconds
- send "&6繁殖系統 >> &e繁殖完成"
- send "&6繁殖系統 >> &e繁殖完成" to {_target}
- #chance of 30%:
- # send "&6繁殖系統 >> &e恭喜你! 你懷孕了!" to {_target}
- # send "&6繁殖系統 >> &e恭喜你! 你的伴侶懷孕了!"
- # set {繁殖系統::%{_target}%::懷孕中} to true
- # set {繁殖系統::%{_target}%::懷孕時間} to date now as unix
- # set {繁殖系統::%{_target}%::經手人} to player
- # stop
- send "&6繁殖系統 >> &e很可惜,你並沒有懷孕"
- send "&6繁殖系統 >> &e很可惜,你並沒有懷孕" to {_target}
- stop
- command /kid:
- trigger:
- open chest with 6 rows named "&e孩子系統" to player
- set {_empty} to black glass named "&f"
- if {玩家資料.%player%::伴侶} is "無":
- set {_empty} to red glass named "&c小孩系統不可用" with lore "&a請先結婚後方可使用本系統"
- loop integers from 0 to 53:
- set slot loop-value of player's current inventory to {_empty}
- if {繁殖系統.%player%::孩子} is set:
- set {_nowAge} to getBabyAge(player)
- set slot 4 of player's current inventory to player head named "&e%{繁殖系統.%player%::孩子名稱}%" with lore "&7>> &e年齡: &a%{_nowAge}% 歲"
- set slot 11 of player's current inventory to skull of player named "&e母親: &a%player%"
- set slot 15 of player's current inventory to skull of {繁殖系統.%player%::孩子父親} named "&e父親: &a%{繁殖系統.%player%::孩子父親}%"
- set slot 28 of player's current inventory to leather cap named "&e訓練孩子" with lore "&7>> &e出征||&7>> &e採集||&7更多功能即將加入..."
- else if {繁殖系統.%player%::懷孕中} is true:
- set {_leftTimeSec} to 10800 - date now as unix - {繁殖系統.%player%::懷孕時間}
- if {_leftTimeSec} < 0:
- if {_leftTimeSec} < -86400:
- set slot 4 of player's current inventory to beetroot named "&e懷孕完畢 &c(已流產)" with lore "&7>> &a由於在懷孕完畢後的 24 小時內|| &a仍未生產, 所以小孩流產了"
- delete {繁殖系統.%player%::懷孕中}
- delete {繁殖系統.%player%::懷孕時間}
- delete {繁殖系統.%player%::經手人}
- else:
- set slot 4 of player's current inventory to wheat named "&e懷孕完畢" with lore "&7>> &a按我生產 (需金錢 &e$100000&a)"
- else:
- set {_leftTimeHour} to floor({_leftTimeSec} / 3600)
- set {_leftTimeMinute} to floor({_leftTimeSec} / 60) - {_leftTimeHour} * 60
- subtract {_leftTimeHour} * 3600 + {_leftTimeMinute} * 60 from {_leftTimeSec}
- set slot 4 of player's current inventory to egg named "&e懷孕中... " with lore "&7>> &e剩餘時間: &a%{_leftTimeHour}% &e小時 &a%{_leftTimeMinute}% &e分鐘 &a%{_leftTimeSec}% &e秒"
- else:
- set slot 4 of player's current inventory to barrier named "&e沒有孩子" with lore "&7>> &a要如何生孩子?||&e 請參考結婚系統教學"
- on inventory click:
- if name of player's current inventory is "&e孩子系統":
- cancel event
- if name of clicked item is "&e懷孕完畢":
- if {玩家資料.%player%::金錢} >= 100000:
- set {_name::*} to "栩雯", "宏察", "葎搽" and "屁孩"
- set {_randName} to random integer from 1 to 4
- set {繁殖系統.%player%::孩子} to true
- set {繁殖系統.%player%::孩子父親} to {繁殖系統.%player%::經手人}
- set {繁殖系統.%player%::孩子名稱} to {_name::%{_randName}%}
- set {繁殖系統.%player%::孩子出生時間} to date now as unix
- delete {繁殖系統.%player%::懷孕中}
- delete {繁殖系統.%player%::懷孕時間}
- delete {繁殖系統.%player%::經手人}
- close player's inventory
- subtract 100000 from {玩家資料.%player%::金錢}
- send "{@prefix} &e生產完畢! 您的小孩的名字是 &a%{_name::%{_randName}%}%&e!"
- else:
- close player's inventory
- send "{@prefix} &e您沒有足夠的金錢生產!"
- else if name of clicked item is "&e訓練孩子":
- close player's inventory
- open chest with 4 rows named "&e孩子系統 - 訓練孩子" to player
- loop integers from 0 to 35:
- set slot loop-value of player's current inventory to black glass named "&f"
- set {_hvCombat} to false
- set {_hvCollect} to false
- loop all items in player's inventory:
- loop-item is not air
- if name of loop-item is "&e訓練用石劍":
- set {_hvCombat} to true
- else if name of loop-item is "&e訓練用採集工具組":
- set {_hvCollect} to true
- if {_hvCombat} is true:
- set slot 10 of player's current inventory to stone sword named "&e訓練 &7- &c出征" with lore "&7>> &e蒐集素材||&7>> &e蒐集經驗值||&7>> 更多功能即將加入...||||&a&l✔ &e需求: &71x訓練用石劍"
- # 經驗值、賺錢
- else:
- set slot 10 of player's current inventory to stone sword named "&e訓練 &7- &c出征" with lore "&7>> &e蒐集素材||&7>> &e蒐集經驗值||&7>> 更多功能即將加入...||||&c&l✘ &e需求: &71x訓練用石劍"
- if {_hvCollect} is true:
- set slot 12 of player's current inventory to stone pickaxe named "&e訓練 &7- &a採集" with lore "&7>> &e蒐集原料||&7>> &e蒐集經驗值||&7>> 更多功能即將加入...||||&a&l✔ &e需求: &71x訓練用採集工具組"
- else:
- set slot 12 of player's current inventory to stone pickaxe named "&e訓練 &7- &a採集" with lore "&7>> &e蒐集原料||&7>> &e蒐集經驗值||&7>> 更多功能即將加入...||||&c&l✘ &e需求: &71x訓練用採集工具組"
- set {_success} to getBabyAge(player) * 2.5
- if {_success} > 100:
- set {_success} to 100
- if {繁殖系統.%player%::孩子訓練::出征::已完成} is true:
- set slot 19 of player's current inventory to light green glass named "&e訓練狀況: &a已完成" with lore "&7>> &e目前可讓孩子代蒐集素材了"
- else if {繁殖系統.%player%::孩子訓練::出征::開始時間} is set:
- set {_remaining} to {@training_time_sec} - date now as unix - {繁殖系統.%player%::孩子訓練::出征::開始時間}
- if {_remaining} <= 0:
- chance of {_success}%:
- set {繁殖系統.%player%::孩子訓練::出征::已完成} to true
- delete {繁殖系統.%player%::孩子訓練::出征::開始時間}
- set slot 19 of player's current inventory to light green glass named "&e訓練狀況: &a已完成" with lore "&7>> &e目前可讓孩子代蒐集素材了"
- else:
- delete {繁殖系統.%player%::孩子訓練::出征::開始時間}
- set slot 19 of player's current inventory to red glass named "&e訓練狀況: &c訓練失敗" with lore "&7>> &e訓練失敗了||&7>> 提示: 年紀越大, 訓練成功的機率越大"
- else:
- set {_remainHour} to floor({_remaining} / 3600)
- set {_remainMinute} to floor({_remaining} / 60 - {_remainHour} * 60)
- subtract {_remainHour} * 3600 + {_remainMinute} * 60 from {_remaining}
- set slot 19 of player's current inventory to orange glass named "&e訓練狀況: &6訓練中..." with lore "&7>> &e剩餘訓練時間: &a%{_remainHour}% &e小時 &a%{_remainMinute}% &e分鐘 &a%{_remaining}% &e秒||&7>> &e預計成功機率: %{_success}%%%"
- # 40 = 100
- else:
- set slot 19 of player's current inventory to red glass named "&e訓練狀況: &c未開始" with lore "&7>> &e預計訓練時間: &a24 &e小時||&7>> &e預計成功機率: %{_success}%%%"
- if {繁殖系統.%player%::孩子訓練::採集::已完成} is true:
- set slot 21 of player's current inventory to light green glass named "&e訓練狀況: &a已完成" with lore "&7>> &e目前可讓孩子代蒐集原料了"
- else if {繁殖系統.%player%::孩子訓練::採集::開始時間} is set:
- set {_remaining} to {@training_time_sec} - date now as unix - {繁殖系統.%player%::孩子訓練::採集::開始時間}
- if {_remaining} <= 0:
- chance of {_success}%:
- set {繁殖系統.%player%::孩子訓練::採集::已完成} to true
- delete {繁殖系統.%player%::孩子訓練::採集::開始時間}
- set slot 21 of player's current inventory to light green glass named "&e訓練狀況: &a已完成" with lore "&7>> &e目前可讓孩子代蒐集原料了"
- else:
- delete {繁殖系統.%player%::孩子訓練::採集::開始時間}
- set slot 21 of player's current inventory to red glass named "&e訓練狀況: &c訓練失敗" with lore "&7>> &e訓練失敗了||&7>> 提示: 年紀越大, 訓練成功的機率越大"
- else:
- set {_remainHour} to floor({_remaining} / 3600)
- set {_remainMinute} to floor({_remaining} / 60 - {_remainHour} * 60)
- subtract {_remainHour} * 3600 + {_remainMinute} * 60 from {_remaining}
- set slot 21 of player's current inventory to orange glass named "&e訓練狀況: &6訓練中..." with lore "&7>> &e剩餘訓練時間: &a%{_remainHour}% &e小時 &a%{_remainMinute}% &e分鐘 &a%{_remaining}% &e秒||&7>> &e預計成功機率: %{_success}%%%"
- # 40 = 100
- else:
- set slot 21 of player's current inventory to red glass named "&e訓練狀況: &c未開始" with lore "&7>> &e預計訓練時間: &a24 &e小時||&7>> &e預計成功機率: %{_success}%%%"
- else if name of player's current inventory is "&e孩子系統 - 訓練孩子":
- cancel event
- if name of clicked item is "&e訓練狀況: &c未開始":
- set {_trainName} to name of slot clicked slot - 9 of player's current inventory
- if {_trainName} is "&e訓練 &7- &c出征":
- set {_fd} to false
- loop all items in player's inventory:
- name of loop-item is "&e訓練用石劍"
- remove loop-item from player's inventory
- set {_fd} to true
- exit 1 loop
- if {_fd} is true:
- set {繁殖系統.%player%::孩子訓練::出征::開始時間} to date now as unix
- close player's inventory
- send "{@prefix} &e已經開始訓練"
- else:
- close player's inventory
- send "{@prefix} &e沒有相應道具"
- else if {_trainName} is "&e訓練 &7- &a採集":
- set {_fd} to false
- loop all items in player's inventory:
- name of loop-item is "&e訓練用採集工具組"
- remove loop-item from player's inventory
- set {_fd} to true
- exit 1 loop
- if {_fd} is true:
- set {繁殖系統.%player%::孩子訓練::採集::開始時間} to date now as unix
- close player's inventory
- send "{@prefix} &e已經開始訓練"
- else:
- close player's inventory
- send "{@prefix} &e沒有相應道具"
- # 小孩壽命: 100歲 = 現實時間 60日
- # 小孩 1歲 = 現實時間 14.4 小時
- # 建議加入:
- # - 生理照顧系統
- # - 孩子加成 (+攻/防/速)
- # -
- on command:
- player is op
- command is "lemonhome"
- cancel event
- teleport player to location(105, 3, 75, world("RPG"))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement