本帖最后由 为人正直 于 2026-10-8 01:07 编辑
等级不够,买不了T大的端。发点折腾心得,凑凑积分。
Mobius 10.x 的 jar 里自带一套「NPC 菜单自选状态 + 角色专属方案 + 逐支计价」的 BUFF 自选功能(类名 SchemeBuffer):配置文件、NPC 模板、菜单 HTML、技能表全都在,唯一缺的是出生点。
两步开起来
第一步 看 ini:config/Custom/SchemeBuffer.ini
| 参数 | 原厂默认 | 含义 | | BufferMaxSchemesPerChar | 4 | 每个角色最多存几套方案(不改就够用) | | BufferItemId | 57 | 付款道具: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.xml | NPC 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 | 玩家方案落盘(正常关服才写) |
|