天堂2单机论坛

 找回密码
 立即注册
查看: 16|回复: 0

【教程】10.1Mobius 源码自带自选BUFF功能如何开启

[复制链接]
  • TA的每日心情
    擦汗
    6 小时前
  • 签到天数: 9 天

    [LV.3]偶尔看看II

    1

    主题

    14

    帖子

    60

    积分

    正式会员

    Rank: 2

    积分
    60
    发表于 6 小时前 | 显示全部楼层 |阅读模式
    本帖最后由 为人正直 于 2026-10-8 01:07 编辑

    等级不够,买不了T大的端。发点折腾心得,凑凑积分。



    Mobius 10.x 的 jar 里自带一套「NPC 菜单自选状态 + 角色专属方案 + 逐支计价」的 BUFF 自选功能(类名 SchemeBuffer):配置文件、NPC 模板、菜单 HTML、技能表全都在,唯一缺的是出生点。



    两步开起来

    第一步 看 ini:config/Custom/SchemeBuffer.ini

    参数原厂默认含义
    BufferMaxSchemesPerChar4每个角色最多存几套方案(不改就够用)
    BufferItemId57付款道具:57=金币(想改什么自己换)
    BufferStaticCostPerBuff-1-1 = 用技能表里的逐支 price;>0 = 一律收这个固定价
    (收费有BUG不改也罢,自娱自乐改0就好)

    改完 //reload config 或重启都会生效。



    第二步 加出生点(如果打算用默认其实只要做这一步就可以了)
    新建 data/spawns/Others/SchemeBuffer.xml(也可以直接挂进你现有的 spawn 档):
    <?xml version="1.0" encoding="UTF-8"?><list xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"      xsi:noNamespaceSchemaLocation="../../xsd/spawns.xsd">        <spawn name="SchemeBuffer">                <group>                        <npc id="50008" x="83615"  y="148377" z="-3400" heading="33861" respawnTime="60sec" />                        <npc id="50008" x="147246" y="26709"  z="-2207" heading="16215" respawnTime="60sec" />                        <npc id="50008" x="82936"  y="53160"  z="-1498" heading="17681" respawnTime="60sec" />                        <!-- 有几座城镇就写几行,坐标换成你自己的 -->                </group>        </spawn></list>
    • id="50008" 必须与 NPC 模板一致;heading 是朝向这个不重要,屁股对着你一样可以点
    • 生效://reload spawn


    你以为这就行了。嘿嘿,坑才刚刚开始!
    1. 89 条全是 level="1"、price="0" —— 也就是说:完全免费,而且卖的是每支技能最弱的版本。风之疾走 Lv1 移速 +20、Lv3 才是 +35;剛健加持 Lv1 +10% HP、Lv6 +35%。NPC 施放的等级完全看这一栏。想给满级版:把 level 改成该技能的最高等级(改data/SchemeBufferSkills.xml)。

    2. 只有"套用方案"会收钱。 收费逻辑全在 SchemeBuffer 这个 class 里:
    编译产物在 jar 里:org/l2jmobius/gameserver/entity/actor/instance/SchemeBuffer.class(同组还有 data/SchemeBufferTable.java 管技能表与玩家方案、config/custom/SchemeBufferConfig.java 管那 3 个 ini 参数)
    把 onBypassFeedback(第 87 行起)拆开看就很清楚。


    最小改法:private static int getFee(List<Integer>)(845 行)现成,已处理"固定价 / 逐支价"两套规则;把 178 行那段三元式抽成 charge(Player, List<Integer>),让 castbuff 传 List.of(skillId)、applyAutoBuff 传整组 skills 各调一次即可。改完重编译 jar
    这个不改其实没关系,自己玩不收钱也蛮好。


    3. 方案只存在内存。 全服唯一落盘点在正常关服。也就是说只要不是正常关服,定制的方案就没了。

    4.同型状态互相顶 + 状态格上限。 同一个类型的BUFF只留一个;一次上十几支会吃光状态栏位(初始20个,学习神威加持技能可以拓展到24个),超出以后从最旧的那支开始无声挤掉。BUFF卷轴也算在内哦!

    附上文件清单,对照着改吧。

    [td]
    路径作用
    config/Custom/SchemeBuffer.ini付费道具 / 方案数量 / 计价方式
    data/SchemeBufferSkills.xml菜单内容:8 个分类 + <buff id level price desc />
    data/stats/npcs/custom/SchemeBuffer.xmlNPC 50008 模板(type="SchemeBuffer")
    data/html/mods/SchemeBuffer/<id>.htm主页(分类按钮)
    data/html/mods/SchemeBuffer/<id>-1.htm我的方案列表
    data/html/mods/SchemeBuffer/<id>-2.htm编辑方案
    data/html/mods/SchemeBuffer/<id>-3.htm分类清单(每支 BUFF 一个「+」)
    data/spawns/Others/SchemeBuffer.xml要你自己建(就差这一个)
    DB 表 buffer_schemes玩家方案落盘(正常关服才写)







    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?立即注册

    x
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|Archiver|手机版|监狱|天堂2单机论坛 ( 粤ICP备20030366号 )

    GMT+8, 2026-10-8 07:32 , Processed in 0.063245 second(s), 22 queries .

    Powered by Discuz! X3.4

    © 2001-2023 Discuz! Team.

    快速回复 返回顶部 返回列表