我的世界服务器银行系统,我的世界多功能银行系统制作教程
來源:游戲園日期:2019-01-15 04:00:49
下面小編為大家帶來我的世界多功能銀行系統制作教程,想知道銀行系統怎么在游戲中實現嗎?一起來看看吧!
整體思路:
要實現存款和體現,需要兩個計分板來儲存這兩個數據,在這里我用cash代表現金、deposit代表存款。首先,判定玩家是否在銀行注冊了用戶,這里的銀行用戶都加入了YHuser隊伍,所以直接用@a[team=!YHuser]就能選擇到沒有注冊用戶的玩家。
存款和提現的處理:對于現金滿足條件,就直接檢測最近玩家的現金(cash)是否達到一定值(滿足值),如果達到則減少最近玩家相應現金分值(cash),增加該玩家對應的相應存款(deposit)。因為本系統的現金額是大于等于0的,所以不滿足只需要檢測玩家現金(cash)分值是否為“0到滿足值-1”即可。為什么要是“滿足值-1”而不是“滿足值”呢,因為MC中計分板是整數,所以如果包含了那個數,玩家現金分數剛好為滿足值,那么玩家豈不是既滿足了現金滿足條件,又滿足了現金不滿足條件了。其次是這里的判定需要用到scoreboard players test @P cash 滿足值 *,因為如果用testfor @p[score_cash_min=滿足值]則在多人游戲中游戲會選擇最近的符合條件的玩家,而不是最近玩家。
玩家死亡掉落現金其實很簡單,就在原有判定死亡的基礎上,將死亡玩家的現金(cash)減去100或50。這里的普通用戶會有一個ptuser的tag標簽,付費用戶為ffuser標簽。所以分別@a[tag=ptuser&ffuser]就能選中所有的銀行用戶。
對于現金超支的判定,即現金(cash)小于0(小于等于-1),若玩家cash小于0的時候,用玩家的deposit+=cash兩次即可。因為此時玩家的現金(cash)為負數,所以這時的deposit+=cash就等于deopsit-=|cash|;若執行兩次,就等于deopsit-=2|cash|。即減去存款值=超支現金x2。
代碼:
創建變量:
/scoreboard objectives add cash dummy 現金
/scoreboard objectives add deposit dummy 存款
/scoreboard teams add YHuser
/scoreboard objectives add cashlose deathCount
初始化:[高頻循環]
/scoreboard players add [url=home.php?mod=space&uid=311230]@A[/url] cash 0
/scoreboard players add @a deposit 0
新人福利:[高頻循環]
/scoreboard players add @a[team=!YHuser] deposit 100
/execute @a[team=!YHuser] ~ ~ ~ tellraw @p[r=0] [{"text":"[甘小蔗銀行] ","color":"gold","bold":"true"},{"selector":"@p","color":"gold","bold":"true"},{"text":" 檢測到您還未注冊賬戶,本銀行已自動為您注冊,并為您預存了100元整存款。","color":"green"}]
/scoreboard players tag @a[team=!YHuser] add ptuser
/scoreboard teams join YHuser @a[team=!YHuser]
銀行資質顯示:[高頻循環]
/execute @a[team=YHuser,tag=ptuser] ~ ~ ~ title @p[r=0] actionbar [{"selector":"@p","color":"dark_green","bold":"true"},{"text":",您是銀行","color":"green","bold":"true"},{"text":"普通用戶","color":"gold"},{"text":" | ","color":"aqua","bold":"true"},{"text":"您的當前現金:","color":"green","bold":true},{"score":{"name":"@p","objective":"cash"},"color":"gold","bold":"true"},{"text":" | ","color":"aqua","bold":"true"},{"text":"您的當前存款:","color":"green","bold":true},{"score":{"name":"@p","objective":"deposit"},"color":"gold","bold":"true"}]
/execute @a[team=YHuser,tag=ffuser] ~ ~ ~ title @p[r=0] actionbar [{"selector":"@p","color":"gold","bold":"true"},{"text":",您是銀行","color":"green","bold":"true"},{"text":"付費用戶","color":"gold"},{"text":",尊享消費特權","color":"green","bold":"true"},{"text":" | ","color":"aqua","bold":"true"},{"text":"您的當前現金:","color":"green","bold":true},{"score":{"name":"@p","objective":"cash"},"color":"gold","bold":"true"},{"text":" | ","color":"aqua","bold":"true"},{"text":"您的當前存款:","color":"green","bold":true},{"score":{"name":"@p","objective":"deposit"},"color":"gold","bold":"true"}]
存款與提現:
本部分中條件約制對版本有要求,如游戲版本不支持條件約制,則需要布線來判定,詳情見演示地圖。
存款:
scoreboard players test @p cash 100 *
scoreboard players remove @p cash 100 (條件約制)
scoreboard players add @p deposit 100 (條件約制)
tellraw @p [{"text":"[甘小蔗銀行] ","color":"gold","bold":"true"},{"selector":"@p","color":"dark_green","bold":"true"},{"text":" 您已成功存款100元","color":"green"}] (條件約制)
scoreboard players test @p cash 0 99
tellraw @p [{"text":"[甘小蔗銀行] ","color":"gold","bold":"true"},{"selector":"@p","color":"dark_green","bold":"true"},{"text":" 您的現金不足","color":"red"}] (條件約制)
提現:
scoreboard players test @p deposit 100 *
scoreboard players remove @p deposit 100 (條件約制)
scoreboard players add @p cash 100 (條件約制)
tellraw @p [{"text":"[甘小蔗銀行] ","color":"gold","bold":"true"},{"selector":"@p","color":"dark_green","bold":"true"},{"text":" 您已成功提現100元","color":"green"}] (條件約制)
scoreboard players test @p deposit 0 99
tellraw @p [{"text":"[甘小蔗銀行] ","color":"gold","bold":"true"},{"selector":"@p","color":"dark_green","bold":"true"},{"text":" 您的存款不足","color":"red"}] (條件約制)
成為付費用戶:(可以重復開通)
scoreboard players test @p cash 10000 *
scoreboard players remove @p cash 10000 (條件約制)
scoreboard players tag @p[tag=ptuser] add ffuser (條件約制)
scoreboard players tag @a[tag=ffuser] remove ptuser (條件約制)
tellraw @p [{"text":"[甘小蔗銀行] ","color":"gold","bold":"true"},{"selector":"@p","color":"gold","bold":"true"},{"text":" 您已成為銀行付費用戶!尊享消費特權!","color":"green"}] (條件約制)
scoreboard players test @p cash 0 9999
tellraw @p [{"text":"[甘小蔗銀行] ","color":"gold","bold":"true"},{"selector":"@p","color":"dark_green","bold":"true"},{"text":" 您的現金不足","color":"red"}] (條件約制)
死亡現金掉落:
銀行普通用戶:
/scoreboard players remove @a[score_cashlose_min=1,tag=ptuser] cash 100
/execute @a[score_cashlose_min=1,tag=ptuser] ~ ~ ~ tellraw @a [{"text":"[甘小蔗銀行] ","color":"gold","bold":"true"},{"selector":"@a[score_cashlose_min=1]","color":"dark_green","bold":"true"},{"text":" 死亡掉落了100現金","color":"dark_red"}]
銀行付費用戶:
/scoreboard players remove @a[score_cashlose_min=1,tag=ffuser] cash 50
/execute @a[score_cashlose_min=1,tag=ffuser] ~ ~ ~ tellraw @a [{"text":"[甘小蔗銀行] ","color":"gold","bold":"true"},{"selector":"@a[score_cashlose_min=1]","color":"gold","bold":"true"},{"text":" 死亡掉落了50現金","color":"dark_red"}]
/scoreboard players reset @a[score_cashlose_min=1] cashlose
現金超支懲罰:
/scoreboard players tag @a[score_cash=-1] add nocash
/execute @a[tag=nocash] ~ ~ ~ scoreboard players operation @p[r=0] deposit += @p[r=0] cash
/execute @a[tag=nocash] ~ ~ ~ scoreboard players operation @p[r=0] deposit += @p[r=0] cash
/execute @a[tag=nocash] ~ ~ ~ tellraw @p [{"text":"[甘小蔗銀行] ","color":"gold","bold":"true"},{"selector":"@p[r=0]","color":"gold","bold":"true"},{"text":" 由于你的現金不足超支,已在存款中按超支的雙倍扣除!","color":"dark_red"}]
/scoreboard players set @a[tag=nocash] cash 0
/scoreboard players tag @a[tag=nocash] remove nocash
總結
以上是生活随笔為你收集整理的我的世界服务器银行系统,我的世界多功能银行系统制作教程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: chrome(谷歌浏览器)固定到任务栏,
- 下一篇: 分享老齐【学方法】宽信用周期对股市的影响