《我的世界》在原版实现玩家精准传送,可接受可拒绝
|
最近看到论坛上发了很多租赁服中原版指令实现传送和召唤的 大多都是谁发出请求后通告全服,然后想传送的玩家一次同意,请求者二次同意,之后进行传送 但是总想一发送请求全服都看到了,难道不能只让我想传送的玩家看到我的请求吗 于是初步设想是利用uid,给每个玩家分配分数,再让玩家输入分数选择 但是想了想操作还是有点麻烦 突然想到旁观模式不是能选择玩家观看吗 岂不利用这个选择玩家呢 于是就有了以下这个东西 不多说,上图:
如图所示,玩家通过书本(tellraw等选择也可以)选择功能之后,会变为旁观模式 此时玩家虽然是旁观模式但是动弹不得(防止乱飞也是指令需要) 然后玩家按下鼠标滚轮(别告诉我你们不知道滚轮是可以按下去的) 之后可以选择传送到一个玩家 选择之后玩家立刻变回生存,并向被选择的玩家发出请求 而对方可以选择同意或者拒绝 更新:结合银行系统的ooc已经制作完成 召唤需要消耗1钻币,传送不消耗钻币 需要在附件中下载使用相应版本ooc,并前往下述链接下载实物银行ooc http://mc.netease.com/thread-122178-1-1.html 详细过程: 玩家选择功能后,立刻将玩家调为旁观模式并原地生成盔甲架,将玩家定在盔甲架处 同时玩家会被分配uid,并同步到盔甲架上 在旁观模式选择传送到某一个玩家后,立刻给双方加tag并同步uid,之后让玩家返回盔甲架位置(因为玩家立刻区块1秒后区块卸载,而此过程不到1秒,所以不用担心距离过远盔甲架不加载的问题,当存在多个盔甲架的时候,由于玩家和属于自己的盔甲架有相同的uid,所以会通过比对分数来回到正确的位置) 返回盔甲架位置后,玩家变回生存,等待对方回复 收到请求的一方若同意,则会通过比对uid的位置传送到正确的玩家或者把正确的玩家召唤过来 如果拒绝则回复对方拒绝信息 步骤图解: 有些玩家懒得看字GIF太快了看不清于是发出分步图
另外此系统可结合银行系统,进行传送时的消耗货币,地址如下: 钱钱钱!自定存取任意数量物品+小键盘输入——物品银行OOC 不懂uid什么东西的玩家可看这个帖子: [url=http://mc.netease.com/thread-80596-1-1.html]【流动UID分配器】 原版指令+ooc[/url] 常见问题解答: 1.支持玩家不重叠的同时传送,如可以A传送到B、C传送到D;不支持AB同时传送到C 2.当有多个玩家同时请求传送到一个玩家时,以最后发出请求的为准,若A先请求传送到C,B又发出请求,则A的请求失效 3若A请求传送到B,B又请求传送到C,则A的请求失效 指令: 一条一条的不发了.反正没人看 ooc如下:(若不能使用就是论坛吃符号了,请下载附件使用)
/summon falling_block ~ ~1.5 ~ {Time:1,Block:minecraft:redstone_block,Motion:[0d,-1d,0d],Passengers:[{id:falling_block,Time:1,Block:minecraft:activator_rail,Passengers:[{id:commandblock_minecart,Command:blockdata ~ ~-2 ~ {auto:0b,Command:""}},{id:commandblock_minecart,Command:fill ~1 ~-1 ~0 ~7 ~0 ~6 stained_glass 0 hollow},{id:commandblock_minecart,Command:fill ~1 ~-2 ~0 ~7 ~-2 ~6 quartz_block 0 hollow},{id:commandblock_minecart,Command:fill ~1 ~1 ~0 ~7 ~1 ~6 quartz_block 0 hollow},{id:commandblock_minecart,Command:setblock ~3 ~0 ~2 chain_command_block 5 replace {Command:"/scoreboard players set @a[score_mode_min=5,score_mode=5] mode 0",auto:1b}},{id:commandblock_minecart,Command:setblock ~2 ~0 ~2 chain_command_block 5 replace {Command:"/gamemode 0 @a[score_mode_min=5,score_mode=5]",auto:1b}},{id:commandblock_minecart,Command:setblock ~2 ~0 ~3 chain_command_block 2 replace {Command:"/scoreboard players set @a[score_mode_min=5,score_mode=5] mode2 0",auto:1b}},{id:commandblock_minecart,Command:setblock ~3 ~0 ~3 chain_command_block 4 replace {Command:"/execute @a[score_mode_min=5,score_mode=5] ~ ~ ~ /kill @e[r=2,type=armor_stand,name=back]",auto:1b}},{id:commandblock_minecart,Command:"setblock ~4 ~0 ~3 chain_command_block 4 replace {Command:"/tellraw @a[score_mode_min=5,score_mode=5,m=3] {\\"text\\":\\"\\",\\"extra\\":[{\\"text\\":\\"已取消\\",\\"color\\":\\"red\\"}]}",auto:1b}"},{id:commandblock_minecart,Command:setblock ~5 ~0 ~3 chain_command_block 4 replace {Command:"/scoreboard players set @a[score_mode_min=3,score_mode=4] mode 0",auto:1b}},{id:commandblock_minecart,Command:setblock ~6 ~0 ~3 chain_command_block 4 replace {Command:"/execute @a[score_mode_min=3,score_mode=3] ~ ~ ~ /execute @a[tag=tp,r=2] ~ ~ ~ /scoreboard players tag @a[r=2] remove tp",auto:1b}},{id:commandblock_minecart,Command:setblock ~6 ~0 ~4 chain_command_block 2 replace {Command:"/execute @a[score_mode_min=3,score_mode=3] ~ ~ ~ /execute @a[score_mode2_min=1,r=2] ~ ~ ~ /scoreboard players set @a[score_mode2_min=1,r=2] mode2 0",auto:1b}},{id:commandblock_minecart,Command:setblock ~5 ~0 ~4 chain_command_block 5 replace {Command:"/execute @a[tag=tp,score_mode_min=3,score_mode=3] ~ ~ ~ /execute @a[score_mode2_min=1,tag=tp,r=2] ~ ~ ~ /scoreboard players tag @a[r=2,score_mode_min=3,score_mode=3] remove tp",auto:1b}},{id:commandblock_minecart,Command:setblock ~4 ~0 ~4 chain_command_block 5 replace {Command:"/scoreboard players tag @a[score_mode_min=4,score_mode=4,tag=tp] remove tp",auto:1b}},{id:commandblock_minecart,Command:setblock ~3 ~0 ~4 chain_command_block 5 replace {Command:"/execute @e[score_mode_min=4,score_mode=4,tag=tp] ~ ~ ~ /scoreboard players tag @a[score_uid2_min=0,score_uid2=0,tag=tp] remove tp",auto:1b}},{id:commandblock_minecart,Command:setblock ~2 ~0 ~4 chain_command_block 5 replace {Command:"/execute @e[score_mode_min=4,score_mode=4,tag=tp] ~ ~ ~ /scoreboard players set @a[score_uid2_min=0,score_uid2=0,tag=tp] mode2 0",auto:1b}},{id:commandblock_minecart,Command:"setblock ~2 ~0 ~5 chain_command_block 2 replace {Command:"/tellraw @a[score_mode_min=4,score_mode=4,tag=tp] {\\"text\\":\\"\\",\\"extra\\":[{\\"text\\":\\"已拒绝\\",\\"color\\":\\"red\\"}]}",auto:1b}"},{id:commandblock_minecart,Command:"setblock ~3 ~0 ~5 chain_command_block 4 replace {Command:"/tellraw @a[score_mode_min=3,score_mode=3,tag=tp] {\\"text\\":\\"\\",\\"extra\\":[{\\"text\\":\\"已同意,开始传送...\\",\\"color\\":\\"yellow\\"}]}",auto:1b}"},{id:commandblock_minecart,Command:setblock ~4 ~0 ~5 chain_command_block 4 replace {Command:"/tp @a[score_uid2_min=0,score_uid2=0,score_mode2_min=2,score_mode2=2,tag=tp] @p[score_mode_min=3,score_mode=3,tag=tp]",auto:1b}},{id:commandblock_minecart,Command:setblock ~5 ~0 ~5 chain_command_block 4 replace {Command:"/tp @a[score_mode_min=3,score_mode=3,tag=tp] @p[score_uid2_min=0,score_uid2=0,score_mode2_min=1,score_mode2=1,tag=tp]",auto:1b}},{id:commandblock_minecart,Command:"setblock ~6 ~0 ~5 chain_command_block 4 replace {Command:"/execute @a[score_mode_min=4,score_mode=4] ~ ~ ~ /tellraw @a[score_mode2_min=1,score_mode2=2,score_uid2_min=0,score_uid2=0,tag=tp] {\\"text\\":\\"\\",\\"extra\\":[{\\"text\\":\\"对方已拒绝你的请求\\",\\"color\\":\\"yellow\\"}]}",auto:1b}"},{id:commandblock_minecart,Command:"setblock ~6 ~-1 ~5 chain_command_block 1 replace {Command:"/execute @a[score_mode_min=3,score_mode=3] ~ ~ ~ /tellraw @a[score_mode2_min=1,score_mode2=2,score_uid2_min=0,score_uid2=0,tag=tp] {\\"text\\":\\"\\",\\"extra\\":[{\\"text\\":\\"对方已同意你的请求\\",\\"color\\":\\"yellow\\"}]}",auto:1b}"},{id:commandblock_minecart,Command:setblock ~5 ~-1 ~5 chain_command_block 5 replace {Command:"/execute @a[tag=tp,score_mode2_min=1] ~ ~ ~ /scoreboard players operation @a uid2 -= @p[score_mode_min=3,tag=tp] uid",auto:1b}},{id:commandblock_minecart,Command:setblock ~4 ~-1 ~5 chain_command_block 5 replace {Command:"/execute @a[score_uid_min=1] ~ ~ ~ /scoreboard players operation @p[r=1] uid2 = @p[r=1] uid",auto:1b}},{id:commandblock_minecart,Command:setblock ~3 ~-1 ~5 chain_command_block 5 replace {Command:"/gamemode 0 @a[tag=tp,m=3]",auto:1b}},{id:commandblock_minecart,Command:setblock ~2 ~-1 ~5 chain_command_block 5 replace {Command:"/execute @a[tag=tp,m=3] ~ ~ ~ /execute @e[type=armor_stand,name=back,r=1] ~ ~ ~ /kill @e[name=back,type=armor_stand,r=1]",auto:1b}},{id:commandblock_minecart,Command:setblock ~2 ~-1 ~4 chain_command_block 3 replace {Command:"/tp @a[score_uid2_min=0,score_uid2=0,tag=tp,m=3] @e[score_uid2_min=0,score_uid2=0,type=armor_stand,name=back]",auto:1b}},{id:commandblock_minecart,Command:setblock ~3 ~-1 ~4 chain_command_block 4 replace {Command:"/execute @a[tag=tp,m=3,score_uid2_min=1,score_mode2_min=1] ~ ~ ~ /scoreboard players operation @p[r=1] uid2 -= @e[score_uid2=0,score_uid2_min=0,type=armor_stand,name=back] uid",auto:1b}},{id:commandblock_minecart,Command:setblock ~4 ~-1 ~4 chain_command_block 4 replace {Command:"/execute @e[type=armor_stand,name=back,score_uid2_min=1] ~ ~ ~ /scoreboard players operation @e[r=1] uid2 -= @p[score_mode2_min=1,m=3,tag=tp] uid",auto:1b}},{id:commandblock_minecart,Command:setblock ~5 ~-1 ~4 chain_command_block 4 replace {Command:"/execute @a[score_mode2_min=1,m=3] ~ ~ ~ /execute @a[m=!3,r=1] ~ ~ ~ /scoreboard players operation @p[m=!3,r=1] uid = @p[m=3,r=1] uid",auto:1b}},{id:commandblock_minecart,Command:"setblock ~6 ~-1 ~4 chain_command_block 4 replace {Command:"/execute @a[score_mode2_min=2,score_mode2=2,m=3] ~ ~ ~ /execute @a[m=!3,r=2] ~ ~ ~ /tellraw @p[r=1] {\\"text\\":\\"\\",\\"extra\\":[{\\"text\\":\\"玩家【\\",\\"color\\":\\"gold\\"},{\\"selector\\":\\"@a[score_mode2_min=2,score_mode2=2,m=3,r=2]\\"},{\\"text\\":\\"】想要传送到你这里,是否同意?\\",\\"color\\":\\"gold\\"},{\\"text\\":\\"\\\\n【同意】\\",\\"color\\":\\"green\\",\\"clickEvent\\":{\\"action\\":\\"run_command\\",\\"value\\":\\"/trigger mode set 3\\"}},{\\"text\\":\\"\\\\n\\"},{\\"text\\":\\"\\\\n【拒绝】\\",\\"color\\":\\"red\\",\\"clickEvent\\":{\\"action\\":\\"run_command\\",\\"value\\":\\"/trigger mode set 4\\"}}]}",auto:1b}"},{id:commandblock_minecart,Command:"setblock ~6 ~-1 ~3 chain_command_block 3 replace {Command:"/execute @a[score_mode2_min=1,score_mode2=1,m=3] ~ ~ ~ /execute @a[m=!3,r=2] ~ ~ ~ /tellraw @p[r=1] {\\"text\\":\\"\\",\\"extra\\":[{\\"text\\":\\"玩家【\\",\\"color\\":\\"gold\\"},{\\"selector\\":\\"@a[score_mode2_min=1,score_mode2=1,m=3,r=2]\\"},{\\"text\\":\\"】想要召唤你前去,是否同意?\\",\\"color\\":\\"gold\\"},{\\"text\\":\\"\\\\n【同意】\\",\\"color\\":\\"green\\",\\"clickEvent\\":{\\"action\\":\\"run_command\\",\\"value\\":\\"/trigger mode set 3\\"}},{\\"text\\":\\"\\\\n\\"},{\\"text\\":\\"\\\\n【拒绝】\\",\\"color\\":\\"red\\",\\"clickEvent\\":{\\"action\\":\\"run_command\\",\\"value\\":\\"/trigger mode set 4\\"}}]}",auto:1b}"},{id:commandblock_minecart,Command:"setblock ~5 ~-1 ~3 chain_command_block 5 replace {Command:"/execute @a[score_mode2_min=1,score_mode2=2,m=3] ~ ~ ~ /execute @a[m=!3,r=2] ~ ~ ~ /tellraw @a[r=2,m=3] {\\"text\\":\\"\\",\\"extra\\":[{\\"text\\":\\"已发送请求,请耐心等候......\\",\\"color\\":\\"yellow\\"}]}",auto:1b}"},{id:commandblock_minecart,Command:setblock ~4 ~-1 ~3 chain_command_block 5 replace {Command:"/execute @a[score_mode2_min=1,score_mode2=2,m=3] ~ ~ ~ /execute @a[m=!3,r=2] ~ ~ ~ /scoreboard players tag @a[r=2] add tp",auto:1b}},{id:commandblock_minecart,Command:setblock ~3 ~-1 ~3 chain_command_block 5 replace {Command:"/scoreboard players set @a[score_mode_min=1,score_mode=2,score_uid_min=1] mode 0",auto:1b}},{id:commandblock_minecart,Command:setblock ~2 ~-1 ~3 chain_command_block 5 replace {Command:"/execute @e[type=armor_stand,name=back,score_uid_min=1] ~ ~ ~ /scoreboard players operation @e[r=1,name=back] uid2 = @e[r=1,name=back] uid",auto:1b}},{id:commandblock_minecart,Command:setblock ~2 ~-1 ~2 chain_command_block 3 replace {Command:"/execute @a[score_uid_min=1] ~ ~ ~ /scoreboard players operation @p[r=1] uid2 = @p[r=1] uid",auto:1b}},{id:commandblock_minecart,Command:setblock ~3 ~-1 ~2 chain_command_block 4 replace {Command:"/execute @a[score_uid_min=1,score_mode_min=1,score_mode=2] ~ ~ ~ /scoreboard players operation @e[name=back,r=1] uid = @p[r=1] uid",auto:1b}},{id:commandblock_minecart,Command:setblock ~4 ~-1 ~2 chain_command_block 4 replace {Command:"/scoreboard players operation @p[score_mode_min=1,score_mode=2] uid = @e[type=armor_stand,name=uid] uid",auto:1b}},{id:commandblock_minecart,Command:setblock ~5 ~-1 ~2 chain_command_block 4 replace {Command:"/execute @a[score_mode_min=1,score_mode=2] ~ ~ ~ /scoreboard players add @e[type=armor_stand,name=uid] uid 1",auto:1b}},{id:commandblock_minecart,Command:"setblock ~6 ~-1 ~2 chain_command_block 4 replace {Command:"/tellraw @a[score_mode_min=1,score_mode=2] {\\"text\\":\\"\\",\\"extra\\":[{\\"text\\":\\"请选择玩家:\\",\\"color\\":\\"gold\\"},{\\"text\\":\\"\\\\n\\"},{\\"text\\":\\"\\\\n按下鼠标滚轮打开菜单\\\\n选择(选择玩家)再次按下滚轮\\\\n选中想要召唤或传送的玩家后按下滚轮确定\\",\\"color\\":\\"yellow\\",\\"bold\\":\\"true\\",\\"clickEvent\\":{\\"action\\":\\"run_command\\",\\"value\\":\\"/trigger mode set 5\\"}},{\\"text\\":\\"\\\\n\\"},{\\"text\\":\\"\\\\n【点击这里取消传送/召唤】\\",\\"color\\":\\"red\\",\\"clickEvent\\":{\\"action\\":\\"run_command\\",\\"value\\":\\"/trigger mode set 5\\"}},{\\"text\\":\\"\\\\n \\"}]}",auto:1b}"},{id:commandblock_minecart,Command:setblock ~6 ~-1 ~1 chain_command_block 3 replace {Command:"/gamemode 3 @a[score_mode_min=1,score_mode=2]",auto:1b}},{id:commandblock_minecart,Command:"setblock ~5 ~-1 ~1 chain_command_block 5 replace {Command:"/execute @a[score_mode_min=1,score_mode=2] ~ ~ ~ /summon armor_stand ~ ~ ~ {CustomName:\\"back\\",CustomNameVisible:1b,NoGravity:1,Invisible:1}",auto:1b}"},{id:commandblock_minecart,Command:setblock ~4 ~-1 ~1 chain_command_block 5 replace {Command:"/execute @a[score_mode_min=1,score_mode=2] ~ ~ ~ /scoreboard players operation @p[r=1] mode2 = @p[r=1] mode",auto:1b}},{id:commandblock_minecart,Command:setblock ~3 ~-1 ~1 chain_command_block 5 replace {Command:"/execute @e[type=armor_stand,name=back] ~ ~ ~ /tp @p[r=2,score_mode2_min=1,score_mode2=2] @e[r=1,name=back,type=armor_stand]",auto:1b}},{id:commandblock_minecart,Command:setblock ~2 ~-1 ~1 repeating_command_block 5 replace {Command:/scoreboard players enable @a mode,auto:1b}},{id:commandblock_minecart,Command:/scoreboard objectives add mode trigger},{id:commandblock_minecart,Command: /scoreboard objectives add mode2 dummy},{id:commandblock_minecart,Command:/scoreboard objectives add uid dummy},{id:commandblock_minecart,Command:/scoreboard objectives add uid2 dummy},{id:commandblock_minecart,Command:/summon armor_stand ~ ~ ~ {CustomName:"uid",CustomNameVisible:1b,NoGravity:1,Invisible:1}},{id:commandblock_minecart,Command:"/scoreboard players set @e[name=uid,type=armor_stand] uid2 -1"},{id:commandblock_minecart,Command:/gamerule sendCommandFeedback false},{id:commandblock_minecart,Command:setblock ~ ~1 ~ command_block 0 replace {auto:1b,Command:fill ~ ~ ~ ~ ~-2 ~ air}},{id:commandblock_minecart,Command:kill @e[type=commandblock_minecart,r=1]}]}]} 各位看官给个赞吧
|
[编辑:叶子猪小秘书] 本资讯及文章仅代表发表厂商及作者观点,不代表叶子猪本身观点!



