3DMGAME 3DM首页 新闻中心 前瞻 | 评测 游戏库 热门 | 最新 攻略中心 攻略 | 秘籍 下载中心 游戏 | 汉化 购买正版 论坛

注册 登录

QQ登录

只需一步,快速开始

楼主: 还是微笑吧
打印 上一主题 下一主题

[MOD] 智能交易Mod[Melonloader]

  [复制链接]

0

主题

14

帖子

78

积分

初级玩家

Rank: 2

贡献度
0
金元
779
积分
78
精华
0
注册时间
2016-10-6
181#
发表于 2026-4-2 23:50 | 只看该作者
111111111111111111111111
回复 支持 反对

使用道具 举报

0

主题

24

帖子

37

积分

初级玩家

Rank: 2

贡献度
0
金元
371
积分
37
精华
0
注册时间
2023-6-2
182#
发表于 2026-4-2 23:50 | 只看该作者
感谢分享
回复 支持 反对

使用道具 举报

0

主题

77

帖子

131

积分

中级玩家

Rank: 3Rank: 3

贡献度
0
金元
1314
积分
131
精华
0
注册时间
2013-8-8
183#
发表于 2026-4-3 00:24 | 只看该作者
666666666666666666
回复 支持 反对

使用道具 举报

1

主题

8942

帖子

5473

积分

游戏精英

Rank: 8Rank: 8

贡献度
2
金元
54654
积分
5473
精华
0
注册时间
2010-10-7

锦鲤

184#
发表于 2026-4-3 00:32 | 只看该作者
感谢分享!论坛因你更精彩!先下载看看好不好用!
回复 支持 反对

使用道具 举报

0

主题

333

帖子

440

积分

高级玩家

Rank: 4

贡献度
0
金元
4403
积分
440
精华
0
注册时间
2009-8-29
185#
发表于 2026-4-3 00:49 | 只看该作者
ths 6666666666666
回复 支持 反对

使用道具 举报

0

主题

68

帖子

130

积分

中级玩家

Rank: 3Rank: 3

贡献度
0
金元
1303
积分
130
精华
0
注册时间
2015-1-23
186#
发表于 2026-4-3 01:03 | 只看该作者
+66666666666666

回复 支持 反对

使用道具 举报

1

主题

326

帖子

388

积分

高级玩家

Rank: 4

贡献度
0
金元
3879
积分
388
精华
0
注册时间
2015-7-9
187#
发表于 2026-4-3 03:22 | 只看该作者
让我看看怎么个事
回复 支持 反对

使用道具 举报

0

主题

135

帖子

157

积分

中级玩家

Rank: 3Rank: 3

贡献度
0
金元
1572
积分
157
精华
0
注册时间
2019-2-10
188#
发表于 2026-4-3 04:06 | 只看该作者
666666666666666666666666
回复 支持 反对

使用道具 举报

1

主题

326

帖子

388

积分

高级玩家

Rank: 4

贡献度
0
金元
3879
积分
388
精华
0
注册时间
2015-7-9
189#
发表于 2026-4-3 04:17 | 只看该作者
大佬能搞个商店金钱倍率嘛?想在城里卖东西发现总是没啥钱,想自己调倍率方便一次卖空
回复 支持 反对

使用道具 举报

0

主题

644

帖子

997

积分

超级玩家

Rank: 5Rank: 5

贡献度
0
金元
9970
积分
997
精华
0
注册时间
2012-4-23
190#
发表于 2026-4-3 04:47 | 只看该作者
感謝分享
回复 支持 反对

使用道具 举报

0

主题

161

帖子

225

积分

中级玩家

Rank: 3Rank: 3

贡献度
0
金元
2246
积分
225
精华
0
注册时间
2011-11-23
191#
发表于 2026-4-3 06:40 | 只看该作者
666666666666666
回复 支持 反对

使用道具 举报

14

主题

1112

帖子

2586

积分

游戏达人

Rank: 7Rank: 7Rank: 7

贡献度
116
金元
21218
积分
2586
精华
0
注册时间
2013-10-14

G胖の微笑3DMer(永久)

192#
 楼主| 发表于 2026-4-3 08:27 | 只看该作者
中立邪恶 发表于 2026-4-3 04:17
大佬能搞个商店金钱倍率嘛?想在城里卖东西发现总是没啥钱,想自己调倍率方便一次卖空 ...

【MOD】【原创】随身商店v1.0.2,全物品添加功能【增加支持双框架】 - 《龙胤立志传》 - 3DMGAME论坛 - Powered by Discuz!
回复 支持 反对

使用道具 举报

0

主题

17

帖子

34

积分

初级玩家

Rank: 2

贡献度
0
金元
340
积分
34
精华
0
注册时间
2024-12-29
193#
发表于 2026-4-3 10:19 来自手机 | 只看该作者
66666666666
回复 支持 反对

使用道具 举报

0

主题

124

帖子

200

积分

中级玩家

Rank: 3Rank: 3

贡献度
0
金元
1997
积分
200
精华
0
注册时间
2009-12-4
194#
发表于 2026-4-3 10:21 | 只看该作者
感谢分享
回复 支持 反对

使用道具 举报

1

主题

683

帖子

624

积分

超级玩家

Rank: 5Rank: 5

贡献度
2
金元
6158
积分
624
精华
0
注册时间
2007-1-21
195#
发表于 2026-4-3 10:36 | 只看该作者
DDDDDDDDDDDDDDDDDDDDD
回复 支持 反对

使用道具 举报

0

主题

640

帖子

725

积分

超级玩家

Rank: 5Rank: 5

贡献度
0
金元
7246
积分
725
精华
0
注册时间
2016-1-23
196#
发表于 2026-4-3 10:39 | 只看该作者
感谢分享
回复 支持 反对

使用道具 举报

0

主题

429

帖子

497

积分

高级玩家

Rank: 4

贡献度
0
金元
4968
积分
497
精华
0
注册时间
2018-1-16
197#
发表于 2026-4-3 10:54 | 只看该作者
6666666666666666666666666
回复 支持 反对

使用道具 举报

11

主题

380

帖子

1045

积分

游戏狂人

Rank: 6Rank: 6

贡献度
109
金元
5991
积分
1045
精华
1
注册时间
2010-3-23

3DM MOD站(白银)

198#
发表于 2026-4-3 11:00 | 只看该作者
111111111111111111111111111
回复 支持 反对

使用道具 举报

11

主题

380

帖子

1045

积分

游戏狂人

Rank: 6Rank: 6

贡献度
109
金元
5991
积分
1045
精华
1
注册时间
2010-3-23

3DM MOD站(白银)

199#
发表于 2026-4-3 12:37 | 只看该作者
能否有不改钱的方案呢,我问了下AI,给了一套在物品买卖界面“增加珍宝价值排序”的能力:
using HarmonyLib;
using Il2Cpp;
using Il2CppSystem.Collections.Generic;
using MelonLoader;
using UnityEngine;
using UnityEngine.UI;

[assembly: MelonInfo(typeof(TreasureSortMod.Core), "TreasureSortMod", "1.0.0", "YourName")]
[assembly: MelonGame()]

namespace TreasureSortMod
{
    public class Core : MelonMod
    {
        public override void OnInitializeMelon()
        {
            LoggerInstance.Msg("TreasureSortMod loaded.");
        }
    }

    // 自定义排序状态(用静态字段跨 Hook 共享)
    public static class SortState
    {
        // Dropdown 中我们注入的选项索引(原始有6个选项 0-5,我们加在末尾)
        public const int CustomSortDropdownIndex = 6;
        public const string CustomSortLabel = "珍宝性价比";

        // 当前是否处于自定义排序模式(每个 ItemListController 实例独立)
        // key = controller 的 IntPtr
        public static readonly System.Collections.Generic.Dictionary<IntPtr, bool> IsCustomSort
            = new System.Collections.Generic.Dictionary<IntPtr, bool>();
    }

    // ─── 1. Hook ChangeSortType:检测 Dropdown 选到我们注入的选项 ───────────
    [HarmonyPatch(typeof(ItemListController), nameof(ItemListController.ChangeSortType))]
    public static class Patch_ChangeSortType
    {
        static bool Prefix(ItemListController __instance)
        {
            var dd = __instance.sortTypeDropDown;
            if (dd == null) return true;

            if (dd.value == SortState.CustomSortDropdownIndex)
            {
                // 标记此控制器使用自定义排序,阻止原生逻辑(它会因枚举越界而报错或回退)
                SortState.IsCustomSort[__instance.Pointer] = true;
                // 不调用原始方法,手动触发刷新
                __instance.RefreshItemList(false);
                return false; // skip original
            }
            else
            {
                SortState.IsCustomSort[__instance.Pointer] = false;
                return true; // 正常走原生逻辑
            }
        }
    }

    // ─── 2. Hook FreshList:在原生执行后,若是自定义排序则重新排列子节点 ───
    [HarmonyPatch(typeof(ItemListController), nameof(ItemListController.FreshList))]
    public static class Patch_FreshList
    {
        static void Postfix(ItemListController __instance)
        {
            if (!SortState.IsCustomSort.TryGetValue(__instance.Pointer, out bool isCustom) || !isCustom)
                return;

            var grid = __instance.itemGrid;
            if (grid == null) return;

            // 收集所有 ItemIconController 子节点
            var icons = new System.Collections.Generic.List<ItemIconController>();
            for (int i = 0; i < grid.transform.childCount; i++)
            {
                var child = grid.transform.GetChild(i);
                if (!child.gameObject.activeSelf) continue;
                var icon = child.GetComponent<ItemIconController>();
                if (icon != null) icons.Add(icon);
            }

            // 计算"性价比" = GetTreasureRealValue / max(value, 1)
            // 只对珍宝类排序;非珍宝类放在末尾
            icons.Sort((a, b) =>
            {
                float ratioA = GetTreasureRatio(a);
                float ratioB = GetTreasureRatio(b);
                // 降序(性价比高的在前)
                return ratioB.CompareTo(ratioA);
            });

            // 重新设置子节点的 sibling index
            for (int i = 0; i < icons.Count; i++)
            {
                icons[i].transform.SetSiblingIndex(i);
            }
        }

        // 性价比 = 真实价值 / 标价(value)
        // value 是物品基础标价,GetTreasureRealValue 是实际价值(受鉴定影响)
        static float GetTreasureRatio(ItemIconController icon)
        {
            var item = icon.itemData;
            if (item == null) return -1f;

            // 非珍宝类排后面
            if (item.type != ItemType.TreasureType) return -1f;

            int realVal = item.GetTreasureRealValue();  // 实际价值
            int baseVal = item.value;                    // 标价/当前售价

            if (baseVal <= 0) return realVal > 0 ? float.MaxValue : 0f;
            return (float)realVal / baseVal;
        }
    }

    // ─── 3. Hook ResetSortType:清除自定义排序标记 ──────────────────────────
    [HarmonyPatch(typeof(ItemListController), nameof(ItemListController.ResetSortType))]
    public static class Patch_ResetSortType
    {
        static void Prefix(ItemListController __instance)
        {
            SortState.IsCustomSort[__instance.Pointer] = false;
        }
    }

    // ─── 4. 向 Dropdown 注入新选项(在 FreshList 第一次调用时注入一次)────────
    [HarmonyPatch(typeof(ItemListController), nameof(ItemListController.FreshList))]
    public static class Patch_InjectDropdownOption
    {
        static readonly System.Collections.Generic.HashSet<IntPtr> _injected
            = new System.Collections.Generic.HashSet<IntPtr>();

        static void Prefix(ItemListController __instance)
        {
            if (_injected.Contains(__instance.Pointer)) return;

            var dd = __instance.sortTypeDropDown;
            if (dd == null) return;

            // 检查是否已经注入(防止重复)
            var options = dd.options;
            if (options.Count > SortState.CustomSortDropdownIndex)
            {
                _injected.Add(__instance.Pointer);
                return;
            }

            // 添加新选项
            var newOption = new Dropdown.OptionData(SortState.CustomSortLabel);
            options.Add(newOption);
            dd.options = options;

            _injected.Add(__instance.Pointer);
            MelonLogger.Msg($"[TreasureSortMod] Injected sort option into Dropdown on {__instance.Pointer}");
        }
    }
}

求看看靠不靠谱
回复 支持 反对

使用道具 举报

0

主题

664

帖子

896

积分

超级玩家

Rank: 5Rank: 5

贡献度
0
金元
8962
积分
896
精华
0
注册时间
2014-4-26
200#
发表于 2026-4-3 13:23 | 只看该作者
感谢分享!
回复 支持 反对

使用道具 举报

0

主题

789

帖子

1044

积分

游戏狂人

Rank: 6Rank: 6

贡献度
0
金元
10437
积分
1044
精华
0
注册时间
2017-9-10
201#
发表于 2026-4-3 13:25 | 只看该作者
666666666666666
回复 支持 反对

使用道具 举报

14

主题

1112

帖子

2586

积分

游戏达人

Rank: 7Rank: 7Rank: 7

贡献度
116
金元
21218
积分
2586
精华
0
注册时间
2013-10-14

G胖の微笑3DMer(永久)

202#
 楼主| 发表于 2026-4-3 14:11 | 只看该作者
c4sunyx 发表于 2026-4-3 12:37
能否有不改钱的方案呢,我问了下AI,给了一套在物品买卖界面“增加珍宝价值排序”的能力:
using HarmonyLi ...

不改商店钱吗?,比如你刚开始其实城市总钱数差不多就是那么多,我只是把每个商店的钱加起来了,后期如果你带上天赋买一个红色珍宝还有特价的情况,能卖出10000多。所以在声望高起来后才对商店钱数修改了,
关于你这个排序我没看懂,为什么要排序?
珍宝价值就算值钱,但是也不一定你买了就能赚钱,排序是方便你查看吗?
可是都有自动买入了啊,就是为了不用自己按公式去计算了
回复 支持 反对

使用道具 举报

0

主题

23

帖子

91

积分

初级玩家

Rank: 2

贡献度
0
金元
905
积分
91
精华
0
注册时间
2013-9-20
203#
发表于 2026-4-3 14:17 | 只看该作者
66666666666666666666666
回复 支持 反对

使用道具 举报

0

主题

42

帖子

68

积分

初级玩家

Rank: 2

贡献度
0
金元
677
积分
68
精华
0
注册时间
2019-9-7
204#
发表于 2026-4-3 14:20 | 只看该作者
11111111111111
回复 支持 反对

使用道具 举报

0

主题

201

帖子

306

积分

高级玩家

Rank: 4

贡献度
0
金元
3057
积分
306
精华
0
注册时间
2014-11-9
205#
发表于 2026-4-3 14:21 | 只看该作者
智能交易Mod[Melon 智能交易Mod[Melon
回复 支持 反对

使用道具 举报

25

主题

933

帖子

722

积分

超级玩家

Rank: 5Rank: 5

贡献度
21
金元
6381
积分
722
精华
0
注册时间
2011-1-22
206#
发表于 2026-4-3 14:58 | 只看该作者
6666666666666666
回复 支持 反对

使用道具 举报

0

主题

10

帖子

12

积分

新手玩家

Rank: 1

贡献度
0
金元
124
积分
12
精华
0
注册时间
2023-4-11
207#
发表于 2026-4-3 14:59 | 只看该作者
大佬你无敌了
回复 支持 反对

使用道具 举报

1

主题

409

帖子

565

积分

高级玩家

Rank: 4

贡献度
0
金元
5648
积分
565
精华
0
注册时间
2015-11-9
208#
发表于 2026-4-3 15:02 | 只看该作者
6666666666666
回复 支持 反对

使用道具 举报

1

主题

104

帖子

168

积分

中级玩家

Rank: 3Rank: 3

贡献度
2
金元
1601
积分
168
精华
0
注册时间
2022-4-5
209#
发表于 2026-4-3 15:22 | 只看该作者
11111111111111111111111111111111111111111111
回复 支持 反对

使用道具 举报

0

主题

188

帖子

208

积分

中级玩家

Rank: 3Rank: 3

贡献度
0
金元
2076
积分
208
精华
0
注册时间
2012-5-19
210#
发表于 2026-4-3 15:33 | 只看该作者
111111111111
回复 支持 反对

使用道具 举报

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

本版积分规则

Archiver|手机版|3DMGAME ( 京ICP备14006952号-1  沪公网安备 31011202006753号

GMT+8, 2026-4-6 01:50 , Processed in 0.034840 second(s), 17 queries , Memcached On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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