• candgo
    修仙玩法
    ID xiuxian版本 1.0.1插件制作者 candgo免费2828 行 / 170.5 KBHook / 路由 / 后台页
    将发帖、回复、点赞、签到和社区治理等论坛行为映射为修为、境界、宗门与修仙纪事。
    app/plugins/xiuxian/plugin.php
    开发日志已有 2 条

    个人独立维护项目。

    • candgo
      candgo
      版本 1.0.1 03d64d4662b3 更新:1.0.1:统一修炼档案和侧栏中的积分显示,将“主站积分(灵石)”改为“灵石”。不改变数据读取、奖励和玩法逻辑。release
    • candgo
      candgo
      版本 1.0.0 30816e613206 更新:修仙插件完整记录 当前正式版本:`1.0.0` ## 1. 定位 修仙插件是论坛行为的修仙映射层,不是独立内容系统。它把主站已经发生的发帖、回复、点赞、签到、收藏、加精、举报处置、禁言和用户组变更记录为修为、声望、境界、宗门身份与修炼纪事。 插件不创建第二套论坛操作,不替代主站的注册、登录、内容、审核、积分、通知和用户组系统。 ## 2. 论坛行为映射 | 论坛行为 | 修仙映射 | 说明 | |
    主楼
  • candgo

    版本 1.0.0 更新:
    修仙插件完整记录

    当前正式版本:1.0.0

    1. 定位

    修仙插件是论坛行为的修仙映射层,不是独立内容系统。它把主站已经发生的发帖、回复、点赞、签到、收藏、加精、举报处置、禁言和用户组变更记录为修为、声望、境界、宗门身份与修炼纪事。

    插件不创建第二套论坛操作,不替代主站的注册、登录、内容、审核、积分、通知和用户组系统。

    2. 论坛行为映射

    论坛行为修仙映射说明
    注册初始修为只在主站注册成功后记录
    发主题开坛论道获得可配置修为与声望,受每日上限约束
    回复主题参与论道获得可配置修为,自己回复自己和异常关系不奖励
    被点赞大道认可奖励主题或回复作者
    被收藏道藏收录由主站或收藏插件提供事件
    被加精天道认可仅接受拥有主站管理权限的真实操作结果
    签到成功洞府吐纳由主站签到功能或签到插件提供事件,每日幂等
    老帖被有效引用道统传承鼓励长期内容继续产生价值
    老用户帮助新人引路功德新人真实回访后再结算帮助收益
    有效举报被处置巡察功德举报和裁决均由主站或举报插件负责
    被举报内容由管理人员删除邪修因果扣除插件修为并降低渡劫成功率
    被主站禁言闭口禅只记录主站结果,不改变禁言状态
    主站积分灵石展示只读取并显示,不修改主站积分
    主站用户组宗门身份管理员为天道化身,默认用户组为散修,其他组映射为宗门
    发卡、抽奖外缘纪事默认只记录,不发放修炼收益

    3. 成长体系

    1. 修为决定当前可挑战的境界。
    2. 境界依次为凡人、炼气、筑基、金丹、元婴、化神、炼虚、合体、大乘、渡劫与飞升。
    3. 达到门槛后需要渡劫,默认基础成功率为 50%,上下限和惩罚均可配置。
    4. 有效举报删除产生的因果、误报产生的心魔会影响渡劫率。
    5. 高境界渡劫失败可能兵解转世,从凡人重新修炼。
    6. 每次转世增加少量渡劫成功率,存在总上限。
    7. “炼气修士”和“筑基真人”固定随对应境界解锁;声望、大道认可、天道认可、极品灵石、引路次数和巡察次数可解锁其他称号。
    8. 用户可以在自己的修炼档案中选择当前仍满足条件的称号。

    4. 活跃与社区体系

    引路功德

    老用户回复新人主题后建立引路关系。只有新人继续参与或在配置窗口内回访,帮助者和新人才能获得对应收益。双方结算在同一事务中完成。

    道统传承

    回复中有效引用达到规定年龄的旧主题时,为旧主题作者增加少量声望。自己引用自己、重复引用和超过每日额度的行为不结算。

    宗门

    宗门完全来自主站用户组:

    1. 插件只读取用户组并同步自己的展示数据。
    2. 创建、加入、退出和修改用户组由站长或主站其他插件处理。
    3. 宗门没有宗主、成员角色、贡献、捐献、等级、宝库、每日任务或周任务。
    4. 宗门大厅只展示宗门名录、门人名录和成员变动记录。

    5. 治理体系

    1. 举报提交、有效、误报、撤回和最终处置由主站或举报插件决定。
    2. 本插件只接收事件并记录邪修风险、巡察功德、心魔和修炼纪事。
    3. 普通自删和没有有效举报的正常管理删除不产生邪修惩罚。
    4. 只有待审举报对应的内容被有权限的管理人员删除,才结算删帖因果和巡察奖励。
    5. 同一违规内容只计算一次邪修风险。
    6. 站长可以解除插件内的邪修认定,但不会改变主站账号或内容状态。
    7. 禁言、删号和其他管理操作始终由主站执行。

    6. 防刷规则

    1. 新注册账号可以接受认可,但达到配置的账号年龄后才能发出认可。
    2. 自己给自己产生的互动不奖励。
    3. 同 IP 的异常互动关系不奖励。
    4. 同一对账号每天有独立次数上限。
    5. 发出者、接受者、内容奖励、引路、巡察和道统传承均有每日额度。
    6. 每日额度使用插件数据库原子计数,避免并发穿透。
    7. 外部事件使用业务唯一键幂等,同一事件重复上报不会重复结算。
    8. 重要奖励保留来源、对象、数值和时间,可在修炼纪事中核查。
    9. 被撤销或扣除后余额不足的部分形成插件因果欠账,后续对应收益优先偿还。

    7. 权限与数据边界

    1. 插件可以读取主站 app_* 表,但不会修改这些表。
    2. 插件只写、更新和删除 plugin_xiuxian_* 表。
    3. 天道配置中心只有站长 is_super_user() 可以查看和保存。
    4. 普通后台管理员不能修改修仙奖励、门槛或开关。
    5. 插件不修改主站积分、用户、用户组、权限、主题、回复、通知或审核结果。
    6. 收藏、加精、举报、签到、发卡和抽奖必须由主站或对应插件先完成,再发布修仙映射事件。
    7. 外部事件会核对当前操作者、目标归属、主站权限和事件来源。

    8. 性能策略

    1. 普通浏览主题不写修仙数据,不加载插件 JavaScript,也不发送阅读心跳。
    2. 发帖、回复、点赞等离散行为在真实事件发生时即时、幂等结算。
    3. 不周期扫描主站主题和回复历史。
    4. 五分钟维护任务只同步用户组与宗门差异,并清理过期额度桶。
    5. 配置和档案数据使用请求内缓存。
    6. 高频查询路径拥有插件自有索引。

    9. 配置中心

    站长可以配置:

    1. 各类玩法是否开启。
    2. 修为、声望、极品灵石和惩罚数值。
    3. 境界门槛、渡劫概率和兵解转世参数。
    4. 账号年龄、同账号对和各类每日上限。
    5. 称号解锁条件。
    6. 引路、巡察、签到和外缘映射规则。

    所有配置只影响插件自己的奖励、记录和展示,不改变主站行为。

    #1
  • 质量报告

    插件质量报告

    插件:xiuxian

    Hook功能范围循环使用频率文件读写修改系统表读写系统表读写自己的表
    sidebar.stack全站侧栏组件栈否5---写 plugin_xiuxian_config, plugin_xiuxian_profiles
    user.menu_links个人卡片/移动端我的菜单(展示位置:个人卡片)否4----
    reply.after_save回帖保存后回调内3--app_topics, app_users 修正❗️写 plugin_xiuxian_profiles, plugin_xiuxian_config, plugin_xiuxian_novice_profiles, plugin_xiuxian_guidances, plugin_xiuxian_topic_citations, plugin_xiuxian_content_rewards, plugin_xiuxian_events, plugin_xiuxian_rate_limits;读 plugin_xiuxian_recognitions 修正❗️
    topic.after_save主题保存后否3--app_users写 plugin_xiuxian_profiles, plugin_xiuxian_config, plugin_xiuxian_novice_profiles, plugin_xiuxian_content_rewards, plugin_xiuxian_events
    user.after_save用户注册/资料保存后否3--app_users, app_groups写 plugin_xiuxian_profiles, plugin_xiuxian_config, plugin_xiuxian_events, plugin_xiuxian_sect_members, plugin_xiuxian_sects, plugin_xiuxian_sect_events
    user.points_changed用户积分变动后否3---写 plugin_xiuxian_economy_events
    user.profile_tabs用户资料页标签栏(展示位置:个人主页Tab)否3----
    content.before_delete内容删除操作回调内2--app_users, app_groups 修正❗️写 plugin_xiuxian_abuse_reports, plugin_xiuxian_guidances, plugin_xiuxian_topic_citations, plugin_xiuxian_sect_members, plugin_xiuxian_sect_events, plugin_xiuxian_novice_profiles, plugin_xiuxian_profiles, plugin_xiuxian_events, plugin_xiuxian_config, plugin_xiuxian_rate_limits, plugin_xiuxian_deleted_users;读 plugin_xiuxian_recognitions 修正❗️
    topic.before_delete主题删除操作否2---写 plugin_xiuxian_guidances, plugin_xiuxian_topic_citations
    like_coin.after_mutate非系统hook回调内1--app_users, app_groups写 plugin_xiuxian_recognitions, plugin_xiuxian_profiles, plugin_xiuxian_config, plugin_xiuxian_events, plugin_xiuxian_novice_profiles, plugin_xiuxian_rate_limits 修正❗️
    user.mute_changed非系统hook否1---写 plugin_xiuxian_profiles, plugin_xiuxian_config, plugin_xiuxian_events
    xiuxian.abuse_report非系统hook否1--app_users写 plugin_xiuxian_abuse_reports, plugin_xiuxian_config, plugin_xiuxian_profiles
    xiuxian.abuse_resolved非系统hook回调内1--app_users, app_groups 修正❗️写 plugin_xiuxian_abuse_reports, plugin_xiuxian_profiles, plugin_xiuxian_events, plugin_xiuxian_config, plugin_xiuxian_rate_limits;读 plugin_xiuxian_recognitions 修正❗️
    xiuxian.card_issued非系统hook否1--app_users写 plugin_xiuxian_external_events, plugin_xiuxian_events, plugin_xiuxian_config
    xiuxian.checkin非系统hook否1--app_users写 plugin_xiuxian_external_events, plugin_xiuxian_config, plugin_xiuxian_events, plugin_xiuxian_profiles
    xiuxian.favorite_changed非系统hook回调内1--app_users, app_topics, app_groups写 plugin_xiuxian_recognitions, plugin_xiuxian_profiles, plugin_xiuxian_novice_profiles, plugin_xiuxian_guidances, plugin_xiuxian_config, plugin_xiuxian_events, plugin_xiuxian_rate_limits 修正❗️
    xiuxian.featured_changed非系统hook回调内1--app_users, app_groups, app_topics写 plugin_xiuxian_recognitions, plugin_xiuxian_profiles, plugin_xiuxian_guidances, plugin_xiuxian_config, plugin_xiuxian_events, plugin_xiuxian_rate_limits 修正❗️
    xiuxian.lottery_drawn非系统hook否1--app_users写 plugin_xiuxian_external_events, plugin_xiuxian_events, plugin_xiuxian_config
    xiuxian.recognition非系统hook回调内1--app_users, app_groups写 plugin_xiuxian_recognitions, plugin_xiuxian_profiles, plugin_xiuxian_config, plugin_xiuxian_events, plugin_xiuxian_rate_limits 修正❗️

    颜色说明:黄色表示有数据读写,红色表示 Hook 在系统循环中执行,浅蓝色表示有文件写入。“列表跳过”表示回调在列表路径会提前返回,“回调内”表示操作位于回调自身或其帮助函数的循环体内。“文件批处理”表示逐个处理用户一次提交的文件,属于必要操作,不标记修正。只有操作实际处于需要优化的循环路径时,才会标记“修正❗️”。

    数据字典

    plugin_xiuxian_profiles

    字段类型可空默认值约束
    user_iduint否-主键
    cultivationuint否0-
    reputationuint否0-
    dao_recognitionuint否0-
    heaven_recognitionuint否0-
    premium_stonesuint否0-
    cultivation_debtuint否0-
    reputation_debtuint否0-
    premium_debtuint否0-
    sect_namestring否'散修'-
    title_namestring否'初入仙途'-
    realm_indexuint否0-
    breakthrough_initializedINTEGER否1-
    tribulation_modifierINTEGER否0-
    last_tribulation_dayuint否0-
    silence_started_atuint否0-
    silence_countuint否0-
    last_ip_hashkey否''-
    abuse_scoreINTEGER否0-
    is_evilINTEGER否0-
    evil_marked_atuint否0-
    heart_demonINTEGER否0-
    reincarnation_countuint否0-
    last_rebirth_atuint否0-
    guide_merit_countuint否0-
    patrol_merit_countuint否0-
    updated_atuint否0-

    plugin_xiuxian_events

    字段类型可空默认值约束
    idid否-主键、自增
    user_iduint否-唯一
    event_typekey否-唯一
    source_typekey否''唯一
    source_iduint否0唯一
    cultivation_deltauint否0-
    reputation_deltauint否0-
    premium_deltauint否0-
    penalty_deltaINTEGER否0-
    tribulation_deltaINTEGER否0-
    reputation_penaltyINTEGER否0-
    premium_penaltyINTEGER否0-
    descriptiontext否--
    created_atuint否--

    plugin_xiuxian_recognitions

    字段类型可空默认值约束
    actor_iduint否-主键
    target_typekey否-主键
    target_iduint否-主键
    author_iduint否--
    kindkey否-主键
    sourcekey否--
    created_atuint否--

    plugin_xiuxian_economy_events

    字段类型可空默认值约束
    idid否-主键、自增
    user_iduint否--
    event_keykey否-唯一
    sourcekey否''-
    spirit_deltaINTEGER否0-
    spirit_balanceINTEGER否0-
    premium_deltauint否0-
    notetext否--
    created_atuint否--

    plugin_xiuxian_sects

    字段类型可空默认值约束
    idid否-主键、自增
    group_iduint否0-
    namestring否-唯一
    descriptiontext否--
    statuskey否'active'-
    archived_atuint否0-
    created_atuint否--
    updated_atuint否--

    plugin_xiuxian_sect_members

    字段类型可空默认值约束
    user_iduint否-主键、唯一
    sect_iduint否-唯一
    joined_atuint否--
    updated_atuint否--

    plugin_xiuxian_sect_events

    字段类型可空默认值约束
    idid否-主键、自增
    sect_iduint否--
    user_iduint否--
    event_keykey否-唯一
    event_typekey否--
    descriptiontext否--
    created_atuint否--

    plugin_xiuxian_novice_profiles

    字段类型可空默认值约束
    user_iduint否-主键
    first_topic_atuint否0-
    first_reply_atuint否0-
    first_favorite_atuint否0-
    first_liked_atuint否0-
    first_step_atuint否0-
    updated_atuint否0-

    plugin_xiuxian_guidances

    字段类型可空默认值约束
    idid否-主键、自增
    novice_iduint否-唯一
    helper_iduint否-唯一
    topic_iduint否--
    reply_iduint否0-
    statuskey否'pending'-
    helped_atuint否--
    return_atuint否0-
    settled_atuint否0-
    quality_atuint否0-
    created_atuint否--
    updated_atuint否--

    plugin_xiuxian_topic_citations

    字段类型可空默认值约束
    idid否-主键、自增
    citing_user_iduint否-唯一
    cited_user_iduint否--
    topic_iduint否-唯一
    reply_iduint否--
    created_atuint否--

    plugin_xiuxian_deleted_users

    字段类型可空默认值约束
    original_user_iduint否-主键
    usernamestring否--
    cultivationuint否0-
    reputationuint否0-
    realm_indexuint否0-
    tribulation_chanceINTEGER否50-
    deleted_byuint否0-
    deleted_atuint否--

    plugin_xiuxian_abuse_reports

    字段类型可空默认值约束
    idid否-主键、自增
    user_iduint否--
    reporter_iduint否0-
    sourcekey否--
    event_keykey否-唯一
    score_deltaINTEGER否1-
    target_typekey否''-
    target_iduint否0-
    statuskey否'active'-
    settled_atuint否0-
    reasontext否--
    created_atuint否--

    plugin_xiuxian_external_events

    字段类型可空默认值约束
    idid否-主键、自增
    user_iduint否--
    actor_iduint否0-
    event_keykey否-唯一
    event_typekey否--
    sourcekey否--
    source_iduint否0-
    detailtext否--
    created_atuint否--

    plugin_xiuxian_content_rewards

    字段类型可空默认值约束
    event_typekey否-主键
    source_iduint否-主键
    actor_iduint否--
    author_iduint否0-
    created_atuint否--

    plugin_xiuxian_rate_limits

    字段类型可空默认值约束
    user_iduint否-主键
    quota_typekey否-主键
    day_keyuint否-主键
    useduint否0-
    updated_atuint否0-

    plugin_xiuxian_meta

    字段类型可空默认值约束
    namekey否-主键
    valuetext否--
    updated_atuint否0-

    plugin_xiuxian_config

    字段类型可空默认值约束
    -动态定义--无法静态解析
    #2
  • bbs1org

    有点意思!

    #3
  • dasheyang

    不错的想法

    #4
  • Login

    之前看过要给discuz的插件,可以遇到傀儡获取灵石之类的

    #5
  • Login

    paste-20260902-085228.png右小角灵石显示格式好像有点问题

    #6
  • candgo

    更新了

    #11
  • dasheyang

    后台称号那些可以自定义名字就好了

    #7
  • candgo

    这些都是小问题 ai魔改下就好了

    #8
  • x

    不错不错

    #9
  • candgo

    版本 1.0.1 更新:
    1.0.1:统一修炼档案和侧栏中的积分显示,将“主站积分(灵石)”改为“灵石”。不改变数据读取、奖励和玩法逻辑。

    #10
  • dasheyang

    是的,这样大家可以个性发挥

    #12
  • dcve

    这是要打上宗派啊,我要当宗主

    #13
  • candgo

    因为不能超过200k 宗主这个 设定 给删除了。本来做出来了的

    #14
  • bbs1org

    更新下程序,就没有200k限制了

    #16
  • candgo

    啥意思 现在没有限制了?

    #18
  • bbs1org

    没有了

    #20
  • 蓝太阳

    有点意思了

    #15
  • 蓝太阳

    @candgo 为什么我设置不了宗门的

    #17
  • candgo

    宗门的设计是 映射 用户组的

    #19
  • yyds

    自动停用原因
    2026-09-29 08:12:25 PDOException: SQLSTATE[HY000]: General error: 1 cannot start a transaction within a transaction (index.php:307)
    sqlite 的看来不是很顺畅

    #21

发表回复

登录后回复