本帖最后由 1042571047 于 2020-3-13 18:30 编辑
用于单人副本,自定义保存门票道具。
进入副本后其他人无法通过该道具再次进入,必须等该玩家离开该世界。
同时有2分钟的挂机倒计时,如果2分钟没有动作将会被送回主城。(OP无视该功能,无视挂机踢出权限:fb.guaji)
基于KC1.7.10制作,理论全版本可用,轻量化插件。
保存门票指令,手持要当做门票的道具,自己自定义好名字(判断物品displayname的关键字)
移动到目标世界想要传送的位置,输入 "/fb save 物品名字关键字" 即可自动保存
然后/fb reload,即可载入数据。
下载地址:(求评分求评论)
支持 希望添加变量 副本未进入和已进入
希望支持可变限制人数
很好的插件,可以在服务器有效的防止其他玩家抢boss
这个插件不错
awa可以加到VIP功能上
怪死了,玩家进去怪还没复活,或者进去后刷了好几次怪
不能用领地判断吗?
cvcocvc 发表于 2020-3-7 21:04
不能用领地判断吗?
随手做的 服务器需要 不考虑添加功能
Thestory 发表于 2020-3-7 15:45
怪死了,玩家进去怪还没复活,或者进去后刷了好几次怪
我是用自定义NPC的 NPC设置区块载入 写脚本 丢失目标就重置 这个得你自己想办法
正好缺少一个这样的好插件
1042571047 发表于 2020-3-8 02:42
我是用自定义NPC的 NPC设置区块载入 写脚本 丢失目标就重置 这个得你自己想办法 ...
楼主可以分享下您的NPC脚本嘛?
如果可以的话,非常感谢!
小CB 发表于 2020-3-12 19:45
楼主可以分享下您的NPC脚本嘛?
如果可以的话,非常感谢!
//杀死:副本内BOSS死亡之后自动把他送回城
var p = event.getSource();
var name = p.getName();
npc.executeCommand("/spawn "+name);
//死亡:杀死目标之后怪物重置
npc.reset();
这俩脚本放的位置要对 意思死亡和杀死是两回事 好像是翻译搞反了不清楚
1042571047 发表于 2020-3-13 05:10
//杀死:副本内BOSS死亡之后自动把他送回城
var p = event.getSource();
var name = p.getName();
不过这样不是捡不到掉落物了么?
直接打指令报错
储存门票报错
储存门票报错
小CB 发表于 2020-3-13 12:07
不过这样不是捡不到掉落物了么?
我是直接入包的
YuiGabriel 发表于 2020-3-13 15:12
直接打指令报错
我去看一下
YuiGabriel 发表于 2020-3-13 15:12
直接打指令报错
如果还报错请再留言一下
好像没什么问题了
推荐更新个一个玩家在副本内的最大时间
以防笨比人 在副本里一直跑
还有一天使用副本卷的次数qwq
推荐更新个一个玩家在副本内的最大时间
以防笨比人 在副本里一直跑
还有一天使用副本卷的次数qwq
顺便小声bb一下 你把那个fb.guaji
权限贴上去吧 以防有人不知道
我刚刚开着op等了好久都没把我踢出去。。。
权限贴上去吧 以防有人不知道
我刚刚开着op等了好久都没把我踢出去。。。
1042571047 发表于 2020-3-13 16:30
我是直接入包的
怎么直接入包啊?大佬!
小CB 发表于 2020-3-13 17:54
怎么直接入包啊?大佬!
物品掉落改成auto pick啊 物品那个界面自己找
YuiGabriel 发表于 2020-3-13 17:22
顺便小声bb一下 你把那个fb.guaji
权限贴上去吧 以防有人不知道
我刚刚开着op等了好久都没把我踢出去。。。 ...
YuiGabriel 发表于 2020-3-13 16:49
好像没什么问题了
推荐更新个一个玩家在副本内的最大时间
这些其他功能我都没考虑加 一般是用NPC脚本解决-。- 这个就不好意思啦
YuiGabriel 发表于 2020-3-13 16:49
好像没什么问题了
推荐更新个一个玩家在副本内的最大时间
对了 防止他们在副本跑其实没必要 要么死 要么赢 要么挂机 挂机2分钟就被踢出去了
然后门票使用最大次数的话 我有空研究一下 太久没碰这插件了
1042571047 发表于 2020-3-13 18:33
对了 防止他们在副本跑其实没必要 要么死 要么赢 要么挂机 挂机2分钟就被踢出去了
然后门票使用最大次数 ...
好的大佬qwq
顺便请教一下
自定义NPC的 NPC设置区块载入 写脚本 丢失目标就重置
NPC区块载入是那个职业 区块载入者吗
还有这个丢失目标是怎么做qwq
YuiGabriel 发表于 2020-3-13 18:42
好的大佬qwq
顺便请教一下
是的 区块载入者 因为NPC在区块不加载的时候是不会运行脚本的 所以需要变成区块载入者保持脚本运行
然后丢失目标的话 我的思路就是目标已死亡 而不是转移目标
以下脚本是之前回复的 死亡代表NPC杀死目标 杀死表示NPC被杀死 理解很傻哔 - - 但是他的功能就是这样
把对应脚本放在对应的位置就可以了 记得开启脚本的运行
//杀死:副本内BOSS死亡之后自动把他送回城
var p = event.getSource();
var name = p.getName();
npc.executeCommand("/spawn "+name);
//死亡:杀死目标之后怪物重置
npc.reset();
YuiGabriel 发表于 2020-3-13 18:42
好的大佬qwq
顺便请教一下
如果是需要击杀多个目标的话 就需要另外的脚本了 要隐藏一个统计的NPC 用数据判断 还是有点麻烦的……
本帖最后由 1042571047 于 2020-3-13 19:06 编辑
击杀多个目标的思路给你 大致是这样的
隐藏一个npc在地图的正中央 设置为区块载入者
//更新:
var range = 100;//范围半径
var mubiao = 100;//击杀多少个目标
var tongji = "副本击杀统计";//用作统计的标签
var a = npc.getSurroundingEntities(range,1);//获取半径范围内的玩家
if(a.length == 0){//如果没有玩家
world.setTempData(tongji,0);//如果没有玩家则清空统计
}else{//否则有玩家
if(world.hasTempData(tongji) && world.getTempData(tongji) >= mubiao){//如果有统计标签且统计大于等于目标数量
var name = a[1].getName();//获取玩家名字
npc.executeCommand("/spawn "+name);
npc.executeCommand("/bc 恭喜 §e§l"+name+" 在XX副本击杀了100只怪物,成功过关!");
world.setTempData(tongji,0);//清空统计
}
}
击杀怪物加分是这样的:
//死亡:杀死目标之后怪物重置
npc.reset();//重置
world.setTempData(tongji,0);//清空统计
//杀死:副本内怪物死亡加分
var tongji = "副本击杀统计";//用作统计的标签
if(world.hasTempData(tongji)){//如果有统计标签
var a = world.getTempData(tongji);//获取标签到变量a
var b = a + 1;//加1分
world.setTempData(tongji,b);//设置标签
}else{
world.setTempData(tongji,1);//设置标签
}
以上的标签如果换地图的话 tongji这一段必须换不一样的 因为他的标签名"副本击杀统计"是全服通用的 得自己换
YuiGabriel 发表于 2020-3-13 18:42
好的大佬qwq
顺便请教一下
击杀多个目标的思路给你 大致是这样的
隐藏一个npc在地图的正中央 设置为区块载入者
//更新:
var range = 100;//范围半径
var mubiao = 100;//击杀多少个目标
var tongji = "副本击杀统计";//用作统计的标签
var a = npc.getSurroundingEntities(range,1);//获取半径范围内的玩家
if(a.length == 0){//如果没有玩家
world.setTempData(tongji,0);//如果没有玩家则清空统计
}else{//否则有玩家
if(world.hasTempData(tongji) && world.getTempData(tongji) >= mubiao){//如果有统计标签且统计大于等于目标数量
var name = a[1].getName();//获取玩家名字
npc.executeCommand("/spawn "+name);
npc.executeCommand("/bc 恭喜 §e§l"+name+" 在XX副本击杀了100只怪物,成功过关!");
world.setTempData(tongji,0);//清空统计
}
}
击杀怪物加分是这样的:
//死亡:杀死目标之后怪物重置
npc.reset();//重置
world.setTempData(tongji,0);//清空统计
//杀死:副本内怪物死亡加分
var tongji = "副本击杀统计";//用作统计的标签
if(world.hasTempData(tongji)){//如果有统计标签
var a = world.getTempData(tongji);//获取标签到变量a
var b = a + 1;//加1分
world.setTempData(tongji,b);//设置标签
}else{
world.setTempData(tongji,1);//设置标签
}
以上的标签如果换地图的话 tongji这一段必须换不一样的 因为他的标签名"副本击杀统计"是全服通用的 得自己换
1042571047 发表于 2020-3-13 19:05
击杀多个目标的思路给你 大致是这样的
隐藏一个npc在地图的正中央 设置为区块载入者
哇 蟹蟹大佬qwq
YuiGabriel 发表于 2020-3-13 19:16
哇 蟹蟹大佬qwq
这种多个目标的方法只需要这个统计的隐藏NPC设置区块载入者 然后范围自己估量一下 最好比副本大 不然玩家跑出范围 就会出bug
废话不多说,原创先支持一波,拿走啦~
shuishuishushsiuhsushishus很好的插件
emmm 我又来问个问题
那个统计是击杀一定数量 达成后执行命令
那NPC的复活应该是怎么做呢
秒复活吗
如果设置有复活时间 正好这个玩家退出
然后下一个玩家来了 没刷新咋整
npc.reset(); 这个丢杀死还是死亡接口 就会重置
但是好像只会重置击杀玩家的那个NPC
有没有什么好的办法或思路 能解决这个刷新问题qwq
那个统计是击杀一定数量 达成后执行命令
那NPC的复活应该是怎么做呢
秒复活吗
如果设置有复活时间 正好这个玩家退出
然后下一个玩家来了 没刷新咋整
npc.reset(); 这个丢杀死还是死亡接口 就会重置
但是好像只会重置击杀玩家的那个NPC
有没有什么好的办法或思路 能解决这个刷新问题qwq
YuiGabriel 发表于 2020-3-14 18:59
emmm 我又来问个问题
那个统计是击杀一定数量 达成后执行命令
刷新的话 对脚本有点限制 我搬一下隔壁我回复的类似脚本功能
给每个NPC的更新项加上判断
if(world.getBlock(x,y,z) != null){
npc.reset();
}
然后每次玩家传送进这个世界都会踩到踏板 踏板下面隐藏黏性活塞 活塞黏住红石块 当玩家踩到踏板 红石块就会被推到x,y,z这个坐标
同时x y z坐标旁藏一个命令方块 让玩家每次过来都会激活
这个命令方块负责指令传送该玩家/tp 玩家 x y z,用来把玩家传送出这个出生地
NPC判断到x y z有方块 就会自动重置 但是有一个很重要的点就是这些NPC得是区块载入者 否则他们不会在没玩家的时候运行脚本
其实这样非常浪费区块资源 而且容易出现bug
推荐是红石块被推动到xyz以后 用红石的那个延时的东西延迟玩家传送的时间 以免玩家已经传送 结果NPC没重置的问题
YuiGabriel 发表于 2020-3-14 18:59
emmm 我又来问个问题
那个统计是击杀一定数量 达成后执行命令
其实这种多个怪物不用担心什么复活时间 -。- 一般就是个单人刷怪副本 如果是要达成击杀固定数量而不会复活可以像我上面一样 但是麻烦又吃资源
YuiGabriel 发表于 2020-3-14 18:59
emmm 我又来问个问题
那个统计是击杀一定数量 达成后执行命令
reset丢到死亡这个接口 这个接口表示击杀的目标死亡
1042571047 发表于 2020-3-15 04:02
其实这种多个怪物不用担心什么复活时间 -。- 一般就是个单人刷怪副本 如果是要达成击杀固定数量而不会复 ...
2333 那我还是整个单人打BOSS就好了
这样耗能太大了
挺有创意的插件,客观上的确迎合许多服务器的需求
不错 感谢分享
完成任务
支持,希望添加能多人进入本但是不在一个本的单人副本
非常感谢!
怎么进入副本?是单独世界嘛?
MCBBS有你更精彩~