MGdt - 顶贴奖励(苦力怕论坛)

LSE MGdt - 顶贴奖励(苦力怕论坛) 2.1

请登录后获取
版权类型
原创
版权链接
#
适配版本(基岩)
  1. 最新版本
[MD] # MGdt - 每日顶贴奖励 [/MD]

[MD] > 玩家顶贴不积极?使用MGdt来给他们自动发放奖励! > (注意:这是适用于苦力怕论坛版本的!) [/MD]

玩家绑定自己的苦力怕论坛用户名,识别并给予顶贴的玩家奖励。
奖励类型包含经验值、金币、生命值上限。
管理员可自行配置每项奖励是否启用,以及奖励数量。

QQ20260531-195129.webp

QQ20260531-195419.webp


使用命令/dt主动打开该任务窗口。
管理员使用命令/sxdt来刷新当天顶贴任务。

[MD] ## 需手动配置的内容: · 服务器的帖子地址(最好是手机版的,电脑端网页存在刷新过慢的问题) · 是否启用某项奖励 · 每项奖励的初始值 · 每项奖励的每日连续签到的额外奖励值 · 每项奖励的连续签到上限 ## 具体参阅图: [/MD]
QQ20260531-200127.webp


接口文档说明

[MD] # MGdt 插件导出接口文档 > 供其他 LSE 插件通过 `ll.imports("MGdt", "<接口名>")` 调用 ## 接口总览 | 接口名 | 调用方式 | 功能 | |--------|----------|------| | `getCheckinStatus` | 同步 | 查询玩家签到状态 | | `getForumName` | 同步 | 查询玩家绑定的论坛用户名 | | `bindForumName` | 同步 | 绑定/修改论坛用户名 | | `offlineCheckin` | 异步回调 | 执行签到(需传回调函数) | | `startOfflineCheckin` | 同步启动 | 启动签到(无需回调,配合轮询使用) | | `getOfflineCheckinResult` | 同步查询 | 查询签到结果(配合 startOfflineCheckin) | --- ## 1. getCheckinStatus 查询玩家当前签到状态。 ### 调用方式 ```javascript var status = ll.imports("MGdt", "getCheckinStatus")(playerRealName); ``` ### 参数 | 参数 | 类型 | 必填 | 说明 | |------|------|------|------| | playerRealName | String | 是 | 玩家真实名(pl.realName) | ### 返回值 ```javascript { completed: false, // Boolean - 今日是否已完成签到 streak: 5, // Number - 当前连续签到天数 forumName: "KLPT_user", // String - 绑定的论坛用户名,未绑定为 "" hasPendingReward: false // Boolean - 是否有待领取的离线奖励 } ``` --- ## 2. getForumName 查询玩家绑定的论坛用户名。 ### 调用方式 ```javascript var forumName = ll.imports("MGdt", "getForumName")(playerRealName); ``` ### 参数 | 参数 | 类型 | 必填 | 说明 | |------|------|------|------| | playerRealName | String | 是 | 玩家真实名 | ### 返回值 `String` - 绑定的论坛用户名,未绑定为 `""` --- ## 3. bindForumName 绑定或修改玩家的论坛用户名。 ### 调用方式 ```javascript var result = ll.imports("MGdt", "bindForumName")(playerRealName, newForumName); ``` ### 参数 | 参数 | 类型 | 必填 | 说明 | |------|------|------|------| | playerRealName | String | 是 | 玩家真实名 | | newForumName | String | 是 | 要绑定的论坛用户名 | ### 返回值 ```javascript { success: true, // Boolean - 是否绑定成功 message: "论坛用户名已保存为: KLPT_user" // String - 结果描述 } ``` ### 限制 - 每日仅可修改一次(`nameModifiedToday` 标记) - 论坛用户名全局唯一,已被其他玩家绑定时会失败 --- ## 4. offlineCheckin 执行离线签到,通过回调返回结果。 > **注意**:LSE QuickJS 引擎中,`ll.imports` 返回的函数不能接收匿名函数作为回调参数,会触发 `kFunction` 错误。推荐使用 `startOfflineCheckin` + `getOfflineCheckinResult` 代替。 ### 调用方式 ```javascript // 需用具名函数作为回调 function myCallback(success, msg) { // 处理结果 } ll.imports("MGdt", "offlineCheckin")(playerRealName, myCallback); ``` ### 参数 | 参数 | 类型 | 必填 | 说明 | |------|------|------|------| | playerRealName | String | 是 | 玩家真实名 | | callback | Function | 是 | 回调函数 `function(success, message)` | ### 回调参数 | 参数 | 类型 | 说明 | |------|------|------| | success | Boolean | 签到是否成功 | | message | String | 结果描述 | --- ## 5. startOfflineCheckin 启动离线签到,无需回调参数,通过 `getOfflineCheckinResult` 轮询结果。 ### 调用方式 ```javascript var result = ll.imports("MGdt", "startOfflineCheckin")(playerRealName); ``` ### 参数 | 参数 | 类型 | 必填 | 说明 | |------|------|------|------| | playerRealName | String | 是 | 玩家真实名 | ### 返回值 `String`,可能的值: | 返回值 | 说明 | |--------|------| | `"started"` | 签到已启动,需轮询 `getOfflineCheckinResult` 获取结果 | | `"already_done"` | 今日已签到,无需重复 | | `"no_forum"` | 未绑定论坛用户名 | --- ## 6. getOfflineCheckinResult 查询 `startOfflineCheckin` 的签到结果。 ### 调用方式 ```javascript var result = ll.imports("MGdt", "getOfflineCheckinResult")(playerRealName); ``` ### 参数 | 参数 | 类型 | 必填 | 说明 | |------|------|------|------| | playerRealName | String | 是 | 玩家真实名 | ### 返回值 ```javascript { done: true, // Boolean - 签到流程是否完成 success: true, // Boolean - 签到是否成功 message: "Steve 签到成功!连续签到天数: 5" // String - 结果描述 } ``` - `done = false`:签到仍在进行中,继续轮询 - `done = true`:签到已完成,读取 `success` 和 `message` ### 轮询示例 ```javascript // 启动签到 var startResult = ll.imports("MGdt", "startOfflineCheckin")("Steve"); if (startResult !== "started") { // 已签或未绑定,直接处理 return; } // 每 2 秒轮询结果 var pollTimer = setInterval(function() { var result = ll.imports("MGdt", "getOfflineCheckinResult")("Steve"); if (result && result.done) { clearInterval(pollTimer); console.log(result.success ? "成功" : "失败", result.message); } }, 2000); ``` --- ## 使用示例 ### 完整签到流程 ```javascript var playerName = "Steve"; // 1. 检查是否已绑定论坛 var forumName = ll.imports("MGdt", "getForumName")(playerName); if (!forumName) { console.log("玩家未绑定论坛用户名"); return; } // 2. 查询当前状态 var status = ll.imports("MGdt", "getCheckinStatus")(playerName); if (status.completed) { console.log("今日已签到,连续 " + status.streak + " 天"); return; } // 3. 启动签到 var startResult = ll.imports("MGdt", "startOfflineCheckin")(playerName); if (startResult !== "started") { console.log("签到未启动: " + startResult); return; } // 4. 轮询结果 var pollTimer = setInterval(function() { var result = ll.imports("MGdt", "getOfflineCheckinResult")(playerName); if (result && result.done) { clearInterval(pollTimer); if (result.success) { console.log("签到成功: " + result.message); } else { console.log("签到失败: " + result.message); } } }, 2000); ``` --- ## 注意事项 1. **插件加载顺序**:MGdt 必须先于调用方插件加载,否则 `ll.imports` 返回 `null` 2. **跨插件回调限制**:LSE QuickJS 中 `ll.imports` 返回的函数不能接收匿名函数参数,推荐使用 `startOfflineCheckin` + `getOfflineCheckinResult` 的轮询方式 3. **数据持久化**:签到状态自动保存到 `./plugins/MGdt/data.json` 4. **每日重置**:每日 0:00 自动重置签到状态,断签 streak 降一级(不归零) [/MD]
  • 1000052904.webp
    1000052904.webp
    20.2 KB · 查看: 14
  • 1000052903.webp
    1000052903.webp
    18.2 KB · 查看: 62
  • 1000052902.webp
    1000052902.webp
    36.7 KB · 查看: 66
  • 1000052904.webp
    1000052904.webp
    20.2 KB · 查看: 68
  • 1000052900.webp
    1000052900.webp
    14 KB · 查看: 64
  • 1780228665038.webp
    1780228665038.webp
    21.2 KB · 查看: 8
  • QQ20260531-200038.webp
    QQ20260531-200038.webp
    22 KB · 查看: 11
作者
鱼肝
价格
128.00金粒
下载
6
查看
307
首次发布
最后更新

评分

0.00 星 0 次评分

资源团队

鱼肝 的其他资源

最新更新

  1. 2026-7-26更新[2.1]

    1.优化签到流程:现在连签中断不会直接把奖励归零,而是按照每中断一天降一级的规则来计算。 2.新增导出接口:新增全功能导出接口,可对接其他插件进行查询和签到,详见插件介绍页面的更新内容。...
  2. 2.0

    增加了多个可配置项: · 是否启用某项奖励 · 每项奖励的初始值 · 每项奖励的每日连续签到的额外奖励值 · 每项奖励的连续签到上限
后退
顶部 底部