DWDynamicEvents - 奇遇事件

原创 DWDynamicEvents - 奇遇事件 1.1.2

需要插件(必装)
1691945727252

插件简介​

奇遇事件,这次的设计并不像传统任务插件那样可以让玩家随时随地,或随机就能领取到。
插件有一个范围定时器,在间隔时间内随机发出,全服玩家都可以看到右上角的图标图示。
图标会在指定时间持续显示,当然玩家也可以点击图标收起成一个小标志,而不会持续遮挡屏幕。
而只有第一个玩家完成了任务,才会得到奖励,届时奇遇事件也会宣布结束,也就是先到者得。


奇遇事件​

数字事件类型介绍
0击杀击杀由插件创建/地图上自带的NPC。
1收集在指定地图网格收集到指定的物品。
2使用在指定地图网格使用指定的物品。
4到访前往指定的地图网格。
数字:填写在配置文件的任务类型中。

击杀:在配置文件中,自带了一个生成功能,如果开启了生成,则随机到击杀任务时,插件会在指定位置自动生成一个Npc或动物,取决于你写的类型。玩家需要到指定位置击杀它才算完成(属于困难难度)。而如果不依靠插件生成,也就不需要限制
位置,那玩家只需要在指定的时间击杀你指定名字或类型的npc即可完成(属于简单难度)
收集:这里建议写入可拾取类物品,如地上的矿石,木头,南瓜之类的短名称,当然你也可以直接写入采集后的矿石,木头短名,这样玩家需要在奇遇提示的坐标处挖到木头或矿石才算完成

使用:这里只的是物品中有额外按钮【打开】【食用】【使用】类的物品,玩家需要根据奇遇指引的坐标达到指定位置,然后使用你指定的物品即可完成。

到访:最简单的一类任务,只需要玩家到达指定网格坐标即可。

这四种奇遇任务,都是先到先得,只计算第一个优先完成的玩家哦。

奇遇权限

如果配置了权限,那么则代表需要该权限才能收到奇遇事件的通知。
我的建议是,你可以配合其他【执行指令】类的插件事件,来给玩家某奇遇的权限,尤其是一些奖励丰厚的奇遇。

设计理念​

这款插件也算是很有剧情代入感的任务玩法,当然这取决于你对任务如何描述。
以下是一些参考
近日在<b><color=#8AF1FDFF>%坐标%</color></b>坐标处有狼王出没,击杀可获得大量强化石!
在<b><color=#8AF1FDFF>%坐标%</color></b>坐标处天色异变!时空猎人可能穿梭于此!
昨日神仙托梦,一分钟内击杀一只野猪可获机缘福佑!
<b><color=#8AF1FDFF>%坐标%</color></b>处一声炸响,千年柳树修成正果!若有幸砍到些木材甚好!
在<b><color=#8AF1FDFF>%坐标%</color></b>坐标处受日月精华影响,传闻在此地喝下【花茶】可感悟颇深!

需要注意的是,除非由插件生成击杀目标": 你写入false,其他所有类型的任务你都需要在介绍配置中使用%坐标%占位符,以便显示正确的网格坐标位置。因为每次插件都会随机位置。

控制台指令​

  • DWDE START - 立即开启奇遇事件。
  • DWDE STOP - 关闭当前进行中的奇遇事件。

配置文件​

  • 基础设置
    • 最小间隔时间 - 奇遇事件的最小间隔时间。
    • 最大间隔时间 - 奇遇事件的最大间隔时间。
    • 提示消息缩小时间 - 提示消息UI的缩小倒计时。
    • 结束消息消失时间 - 结束消息UI的消失倒计时。
    • 结束到访事件检查间隔消失时间 - 每隔多少秒检查一次是否有玩家到达了指定区域(不建议太频繁)。
  • 事件列表
    • 任务类型 - 详见上方表格。
    • 任务权限(需要该权限进行,空=无) - 如果不为空,那么则代表需要该权限才能收到奇遇事件的通知。
    • 任务持续时间(秒) - 该任务的持续时间,设置为0则代表禁用该事件。
    • 击杀任务目标(仅限任务类型=0)- 仅限任务类型为击杀
      • 任务目标名称- 任务目标名称
        • 如果将由插件生成击杀目标设置为true,则代表着生成NPC的名字。
        • 如果由插件生成击杀目标false,则代表着击杀的目标名/预制短名。
      • 由插件生成击杀目标 - 由插件自行生成NPC。
      • 任务目标预制(仅限插件生成) - 插件生成的NPC预制件路径,可以是人形NPC,也可以是动物。
      • 任务目标血量(仅限插件生成) - 插件生成的NPC血量。
    • 物品任务目标(仅限任务类型=1、2)- 仅限任务为收集、使用
      • 物品短名称
        • 如果任务类型为1(收集):为需要收集的物品短名称。
        • 如果任务类型为2(使用):为需要使用的物品短名称。
      • 物品皮肤ID
        • 如果任务类型为1(收集):为需要收集的物品皮肤ID。
        • 如果任务类型为2(使用):为需要使用的物品皮肤ID。
    • 开始通知 - 事件开始时的通知消息,支持变量:%坐标%
    • 结束通知 - 事件无人完成时的结束通知消息。
    • 完成通知 - 事件被完成时的通知消息,支持变量:%玩家名称%%坐标%
    • 完成任务奖励- 完成任务时的奖励
      • 随机执行一条(false = 全部执行)
        • 如果设置为true 则随机执行一条指令。
        • 如果设置为false 则执行全部的指令。
      • 执行指令列表 - 要执行的指令列表。
你可以使用【指令给予】插件来配合执行指令列表给玩家奖励物品

默认配置文件​

JSON:
{
  "基础设置": {
    "最小间隔时间": 600.0,
    "最大间隔时间": 3600.0,
    "提示消息缩小时间": 15.0,
    "结束消息消失时间": 10.0,
    "到访事件检查间隔": 30.0
  },
  "事件列表": [
    {
      "任务类型": 0,
      "任务权限(需要该权限进行,空=无)": "",
      "任务持续时间(秒)": 300.0,
      "击杀任务目标(仅限任务类型=0)": {
        "任务目标名称": "狼王",
        "由插件生成击杀目标": true,
        "任务目标预制(仅限插件生成)": "assets/rust.ai/agents/wolf/wolf.prefab",
        "任务目标血量(仅限插件生成)": 1000.0
      },
      "物品任务目标(仅限任务类型=1、2)": {
        "物品短名称": "supertea",
        "物品皮肤ID": 0
      },
      "开始通知": "听闻在<b>%坐标%</b>坐标处有狼王出没,击杀后有机遇获得奖励!",
      "结束通知": "狼王已离开,奇遇事件已结束。",
      "完成通知": "恭喜%玩家名称%在<b>%坐标%</b>偶遇狼王并将其击杀,获得了奖励!",
      "完成任务奖励": {
        "随机执行一条(false = 全部执行)": true,
        "执行指令列表": [
          "o.grant user %STEAMID% vip"
        ]
      }
    },
    {
      "任务类型": 0,
      "任务权限(需要该权限进行,空=无)": "",
      "任务持续时间(秒)": 300.0,
      "击杀任务目标(仅限任务类型=0)": {
        "任务目标名称": "狂暴科学家",
        "由插件生成击杀目标": true,
        "任务目标预制(仅限插件生成)": "assets/rust.ai/agents/npcplayer/humannpc/scientist/scientistnpc_heavy.prefab",
        "任务目标血量(仅限插件生成)": 8888.0
      },
      "物品任务目标(仅限任务类型=1、2)": {
        "物品短名称": "",
        "物品皮肤ID": 0
      },
      "开始通知": "听闻在<b>%坐标%</b>坐标处有狂暴科学家出没,击杀后有机遇获得奖励!",
      "结束通知": "狂暴科学家已离开,奇遇事件已结束。",
      "完成通知": "恭喜%玩家名称%在<b>%坐标%</b>偶遇狂暴科学家并将其击杀,获得了奖励!",
      "完成任务奖励": {
        "随机执行一条(false = 全部执行)": true,
        "执行指令列表": [
          "o.grant user %STEAMID% vip"
        ]
      }
    },
    {
      "任务类型": 0,
      "任务权限(需要该权限进行,空=无)": "",
      "任务持续时间(秒)": 300.0,
      "击杀任务目标(仅限任务类型=0)": {
        "任务目标名称": "boar",
        "由插件生成击杀目标": false,
        "任务目标预制(仅限插件生成)": "",
        "任务目标血量(仅限插件生成)": 0.0
      },
      "物品任务目标(仅限任务类型=1、2)": {
        "物品短名称": "",
        "物品皮肤ID": 0
      },
      "开始通知": "听闻第一个击杀野猪后有机遇获得奖励!",
      "结束通知": "奇遇事件已结束。",
      "完成通知": "恭喜%玩家名称%击杀了野猪,获得了奖励!",
      "完成任务奖励": {
        "随机执行一条(false = 全部执行)": true,
        "执行指令列表": [
          "o.grant user %STEAMID% vip"
        ]
      }
    },
    {
      "任务类型": 1,
      "任务权限(需要该权限进行,空=无)": "",
      "任务持续时间(秒)": 300.0,
      "击杀任务目标(仅限任务类型=0)": {
        "任务目标名称": "",
        "由插件生成击杀目标": false,
        "任务目标预制(仅限插件生成)": "",
        "任务目标血量(仅限插件生成)": 0.0
      },
      "物品任务目标(仅限任务类型=1、2)": {
        "物品短名称": "wood",
        "物品皮肤ID": 0
      },
      "开始通知": "听闻在<b>%坐标%</b>收集木头,有机遇获得奖励!",
      "结束通知": "奇遇事件已结束。",
      "完成通知": "恭喜%玩家名称%在<b>%坐标%</b>收集到了木头,获得了奖励!",
      "完成任务奖励": {
        "随机执行一条(false = 全部执行)": true,
        "执行指令列表": [
          "o.grant user %STEAMID% vip"
        ]
      }
    },
    {
      "任务类型": 2,
      "任务权限(需要该权限进行,空=无)": "",
      "任务持续时间(秒)": 300.0,
      "击杀任务目标(仅限任务类型=0)": {
        "任务目标名称": "",
        "由插件生成击杀目标": false,
        "任务目标预制(仅限插件生成)": "",
        "任务目标血量(仅限插件生成)": 0.0
      },
      "物品任务目标(仅限任务类型=1、2)": {
        "物品短名称": "wood",
        "物品皮肤ID": 0
      },
      "开始通知": "听闻在<b>%坐标%</b>喝下 纯正木茶,有机遇获得大量木头奖励!",
      "结束通知": "奇遇事件已结束。",
      "完成通知": "恭喜%玩家名称%在<b>%坐标%</b>喝下了纯正木茶,获得了奖励!",
      "完成任务奖励": {
        "随机执行一条(false = 全部执行)": true,
        "执行指令列表": [
          "o.grant user %STEAMID% vip"
        ]
      }
    },
    {
      "任务类型": 3,
      "任务权限(需要该权限进行,空=无)": "",
      "任务持续时间(秒)": 120.0,
      "击杀任务目标(仅限任务类型=0)": {
        "任务目标名称": "",
        "由插件生成击杀目标": false,
        "任务目标预制(仅限插件生成)": "",
        "任务目标血量(仅限插件生成)": 0.0
      },
      "物品任务目标(仅限任务类型=1、2)": {
        "物品短名称": "",
        "物品皮肤ID": 0
      },
      "开始通知": "听闻在<b>%坐标%</b>的玩家,有几率获得奖励!",
      "结束通知": "奇遇事件已结束。",
      "完成通知": "恭喜%玩家名称%在<b>%坐标%</b>获得了奇遇奖励!",
      "完成任务奖励": {
        "随机执行一条(false = 全部执行)": true,
        "执行指令列表": [
          "o.grant user %STEAMID% vip"
        ]
      }
    }
  ]
}


UI​

在事件开始时/结束/被完成,会在屏幕右上角弹出UI提示。
1691404009611
过段时间后会自动缩小成图标。
1691404081922
点击图标可以再次查看全部提示。

根据不同类型的奇遇,有不同的图标显示。
1691404469969

Hooks​

代码:
void OnDWDynamicEventSuccess(BasePlayer Player, int Type)
当玩家完成奇遇事件时调用。
作者
对味
下载
4
类型
数字产品
有效期
无限
价格
188.00 CNY
查看
816
文件类型
cs
文件大小
50.1 KB
文件Hash
9e41d4af67af3648fad9a70e3c345b51
首次发布
最后更新
评分
0.00 星 0评价

来自对味的更多资源

分享资源

最新更新

  1. 1.1.2 更新

    [新增] OnDWDynamicEventStart Hook。 [新增] OnDWDynamicEventEnd Hook。
  2. 1.1.1 更新

    [修复] 修复Rust更新。
  3. 1.1.0 更新

    [新增] 控制台指令 DWDE START/STOP 用于开启/关闭事件。 [改进] 现在将任务持续时间(秒)设置为0则代表禁用该事件。(修复设置为0导致不会开启新事件的BUG) [修复]...
标签