离渊丶
本帖最后由 1042571047 于 2020-3-13 18:30 编辑

用于单人副本,自定义保存门票道具。
进入副本后其他人无法通过该道具再次进入,必须等该玩家离开该世界。
同时有2分钟的挂机倒计时,如果2分钟没有动作将会被送回主城。(OP无视该功能,无视挂机踢出权限:fb.guaji)

基于KC1.7.10制作,理论全版本可用,轻量化插件。

保存门票指令,手持要当做门票的道具,自己自定义好名字(判断物品displayname的关键字)
移动到目标世界想要传送的位置,输入 "/fb save 物品名字关键字" 即可自动保存
然后/fb reload,即可载入数据。




下载地址:(求评分求评论)



ddoc
支持 希望添加变量 副本未进入和已进入

susu001966
希望支持可变限制人数

EMT的工具人
很好的插件,可以在服务器有效的防止其他玩家抢boss

可可麦片丶
这个插件不错

1249767904
awa可以加到VIP功能上

Thestory
怪死了,玩家进去怪还没复活,或者进去后刷了好几次怪

cvcocvc
不能用领地判断吗?

离渊丶
cvcocvc 发表于 2020-3-7 21:04
不能用领地判断吗?

随手做的 服务器需要 不考虑添加功能

离渊丶
Thestory 发表于 2020-3-7 15:45
怪死了,玩家进去怪还没复活,或者进去后刷了好几次怪

我是用自定义NPC的 NPC设置区块载入 写脚本 丢失目标就重置 这个得你自己想办法

fengxing666
正好缺少一个这样的好插件

小CB
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();


这俩脚本放的位置要对 意思死亡和杀死是两回事 好像是翻译搞反了不清楚

小CB
1042571047 发表于 2020-3-13 05:10
//杀死:副本内BOSS死亡之后自动把他送回城
var p = event.getSource();
var name = p.getName();

不过这样不是捡不到掉落物了么?

Yless
直接打指令报错



储存门票报错



离渊丶
小CB 发表于 2020-3-13 12:07
不过这样不是捡不到掉落物了么?

我是直接入包的

离渊丶

我去看一下

离渊丶

看了一下 我傻哔了
储存门票是:/fb save 物品名字

离渊丶

如果还报错请再留言一下

Yless
1042571047 发表于 2020-3-13 16:36
看了一下 我傻哔了
储存门票是:/fb save 物品名字

。。。
那太难了 我再试试

Yless
好像没什么问题了

推荐更新个一个玩家在副本内的最大时间
以防笨比人 在副本里一直跑

还有一天使用副本卷的次数qwq

Yless
顺便小声bb一下 你把那个fb.guaji
权限贴上去吧 以防有人不知道
我刚刚开着op等了好久都没把我踢出去。。。

小CB

怎么直接入包啊?大佬!

离渊丶
小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分钟就被踢出去了

然后门票使用最大次数的话 我有空研究一下 太久没碰这插件了

Yless
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 编辑
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这一段必须换不一样的 因为他的标签名"副本击杀统计"是全服通用的 得自己换

Yless
1042571047 发表于 2020-3-13 19:05
击杀多个目标的思路给你 大致是这样的
隐藏一个npc在地图的正中央 设置为区块载入者

哇 蟹蟹大佬qwq

离渊丶

这种多个目标的方法只需要这个统计的隐藏NPC设置区块载入者 然后范围自己估量一下 最好比副本大 不然玩家跑出范围 就会出bug

兰苑伊城
废话不多说,原创先支持一波,拿走啦~

萌萌哒鱼儿
shuishuishushsiuhsushishus很好的插件

Yless
emmm 我又来问个问题
那个统计是击杀一定数量 达成后执行命令

那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丢到死亡这个接口  这个接口表示击杀的目标死亡

Yless
1042571047 发表于 2020-3-15 04:02
其实这种多个怪物不用担心什么复活时间 -。- 一般就是个单人刷怪副本 如果是要达成击杀固定数量而不会复 ...

2333 那我还是整个单人打BOSS就好了
这样耗能太大了

秋韵
挺有创意的插件,客观上的确迎合许多服务器的需求

s3413145092
不错 感谢分享

社会筱雪
完成任务

santa-PIG
支持,希望添加能多人进入本但是不在一个本的单人副本

s2980105874
非常感谢!

a369468531
怎么进入副本?是单独世界嘛?

東方不敗
MCBBS有你更精彩~