找回密码
 立即注册

QQ登录

只需一步,快速开始

Close
查看: 67|回复: 0

[L2JAcis] 仅掉落金币 (可配置) for L2jAcis

[复制链接]
  • 打卡总天数:1210
  • 打卡总奖励:6284
发表于 2026-7-13 10:51:18 | 显示全部楼层 |阅读模式
[aCis] [MOD] Only Adena Drop
  • 不得商业✓仅供单机 ✓备份下载
  • 提取码: 隐藏内容
  • 支援版本:铁幕降临 
  • 资源评分:9分
  • 资源大小:2KB
  • 更新时间:2026-07-13
L2Fater.CN - 天堂2开源中文社区 - 温馨提示:
本模组允许你禁用游戏中所有普通怪物的标准物品掉落(如材料、装备、强化石等),仅保留金币(Adena)掉落
详情介绍
[MOD] 仅掉落金币 (可配置) for l2jacis
作者:CaioxD

简介[ai翻译版]:

系统经过智能设计:自动忽略攻城BOSS和深渊BOSS,确保服务器史诗级内容不受影响。此外,它还包含一个基于配置的“白名单”,允许你添加特定的怪物ID(如活动怪物或自定义怪物),使其继续正常掉落物品。

核心特性:

完全控制:可通过 .properties配置文件开启或关闭。

掉率保真:模组严格遵循 RATE_DROP_ADENA的设置,以及怪物 XML 中定义的最小/最大掉落值范围。

自动拾取兼容:检测是否开启了自动拾取(AutoLoot),若开启则将金币直接发送到背包或地面。

安全防护:原生保护机制,确保攻城BOSS及其小弟不受此规则影响。

白名单机制:允许特定的怪物ID被排除在“仅金币掉落”规则之外。

1. 核心代码修改 (Java)

Config.java

java
public static boolean ONLY_ADENA_DROP;
public static Set<Integer> ADENA_EXCLUDED_SET = new HashSet<>();

// 在加载方法中 (No carregamento / load method):
ONLY_ADENA_DROP = l2jModSettings.getProperty("OnlyAdenaDrop", false);
String[] excludedIds = l2jModSettings.getProperty("AdenaDropExcludedIds", "").split(",");
for (String id : excludedIds) {
    if (!id.trim().isEmpty())
        ADENA_EXCLUDED_SET.add(Integer.parseInt(id.trim()));
}

L2MonsterInstance.java

跳转到代码末尾,在最后一个 }之前添加以下代码:

java
@Override
public void doItemDrop(NpcTemplate template, L2Character lastAttacker)
{
    if (Config.ONLY_ADENA_DROP && !Config.ADENA_EXCLUDED_SET.contains(template.getNpcId()))
    {
        if (!isRaid() && !isRaidMinion())
        {
            final L2PcInstance player = lastAttacker.getActingPlayer();
            if (player == null)
                return;

            for (DropCategory cat : template.getDropData())
            {
                for (DropData drop : cat.getAllDrops())
                {
                    if (drop.getItemId() == 57) // 57 = Adena (金币)
                    {
                        if (Rnd.get(1000000) <= drop.getChance())
                        {
                            int count = (int) (Rnd.get(drop.getMinDrop(), drop.getMaxDrop()) * Config.RATE_DROP_ADENA);
                            if (count < 1) count = 1;

                            if (Config.AUTO_LOOT)
                                player.addAdena("Drop", count, this, true);
                            else
                                dropItem(player, drop.getItemId(), count);
                        }
                    }
                }
            }
            return;
        }
    }
    super.doItemDrop(template, lastAttacker);
}
2. 配置文件 (.properties)

将以下行添加到你的 l2jmod.properties或 custom.properties文件中:

properties
# -------------------------------------------------------------
# Custom Drop System - Adena Only (自定义掉落系统 - 仅金币)
# -------------------------------------------------------------
# 若为 True,普通怪物将只掉落金币。
# 材料、装备等物品将被忽略。
OnlyAdenaDrop = True

# 不应受上述规则影响的怪物ID。
# 用于自定义怪物、活动怪物或特殊刷怪点。
# 示例:50001,60002,70005
AdenaDropExcludedIds =
3. 适用性与致谢

适用版本:基于 L2jacis​ (可适配其他版本)

优势:非常适合主打PVP刷金(Farming)的服务器,让玩家专注于获取金币去自定义商店购买物品,避免地面堆满垃圾杂物(保持地图整洁)。





本帖子中包含更多资源

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

×
回复

使用道具 举报

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

本版积分规则

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