台服dnf吧 关注:127,066贴子:2,122,304
  • 12回复贴,共1

关于dp2.9搭建的使用分享

取消只看楼主收藏回复

首先感谢 @asdss 开源的dp插件、@吴克大哥 提供的hook基址和功能实现的思路!
分享一些思路给喜欢折腾的小伙伴,少走一些弯路!如有表述错误请各位大佬指出提醒!
插件版本:1.dp2.8.2+ 2.fridajs
本次分享吧里经常求助的功能:
1)登录提醒+问候语;
2)副本通关时间;
3)地下城拾取物品广播;
4)dp插件热重载;
与分享无关的代码部分已被删除,fridajs其他功能参考95神迹因果的实现。
最后声明:本分享仅供学习参考使用,下载后24小时内自行删除,请勿用于商业活动,否则由此引发的纠分,与楼主无关!


IP属地:浙江1楼2024-04-01 20:06回复
    国际惯例


    IP属地:浙江2楼2024-04-01 20:07
    回复
      2026-04-23 12:03:20
      广告
      不感兴趣
      开通SVIP免广告
      插件使用姿势,推荐使用1031清风大佬的服务端;
      1)插件上传服务器根目录下;
      2)/root/run文件修改:
      LD_PRELOAD="/dp2/libdp2pre.so" ./df_game_r cain01 start &
      或者
      LD_PRELOAD="/dp2/libdp2pre.so" ./df_game_r siroco11 start &


      IP属地:浙江4楼2024-04-01 20:18
      收起回复
        后续分享每一个功能的实现方式


        IP属地:浙江8楼2024-04-01 21:22
        收起回复
          1、前言
          对于普通小伙伴来说,插件能实现的功能完全依赖于dp插件开放的接口和frida已经放出来的基址,当然自己摸索的话需要一定逆向的基础!


          IP属地:浙江13楼2024-04-01 23:03
          回复
            2、简单说一下几个重要的文件
            /dp2/df_game_r.lua -- dp功能入口
            /dp2/df_game_r.js -- 等同于旧版本中的frida.js,在 /dp2/frida/frida.config中path参数定义
            function start(){} 中挂载frida.js功能入口
            /dp2/lua2/ext -- dp热重载文件
            /dp2/lua/df/* -- dp主要功能接口的实现
            /dp2/lua/df/doc/dpx_game.lua -- 接口列表
            /dp2/lua/df/game/hook.lua -- 常用的dpx.hook类型
            /dp2/lua/df/game/enum.lua -- 常用枚举类型
            /dp2.9/doc/* -- dp插件文档说明


            IP属地:浙江16楼2024-04-02 00:23
            回复
              补一张结构图,看着舒服些


              IP属地:浙江27楼2024-04-03 11:18
              回复
                2024/4/4
                1.优化onLogin、onLogout写法,移除self_player_uid(多人游戏时其他用户登录会覆盖);
                2.增加每日首次登录福利(参考朝暮1031【珏珏子自改】);
                3.优化gameEvent.lua计时,通过party:ForEachMember开启队伍中的角色计时;
                4.增加放弃副本hook game.HookType.CParty_GiveUpGame,优化清除定时器;
                5.通过ItemRarity判断品级,过滤物品类型(宠物装备存在问题);
                1)登录奖励



                2)副本计时/放弃副本清除定时器/退出游戏


                3)物品拾取过滤


                IP属地:浙江32楼2024-04-04 01:13
                收起回复
                  2026-04-23 11:57:20
                  广告
                  不感兴趣
                  开通SVIP免广告
                  2024/4/7
                  1.通过gmInput指令使用useItem2.lua物品(//use itemId);
                  2.搬运时装镶嵌;
                  3.邮件发送登录奖励物品(会发一次空邮件,介意的小伙伴自行删除);
                  1)跨界石指令


                  2)时装镶嵌


                  3)邮件发送登录奖励物品


                  IP属地:浙江36楼2024-04-07 23:05
                  收起回复
                    分享总结:dp、frida哪个能实现功能就用哪个去实现,都能实现的情况下,入门小伙伴推荐使用dp实现功能;
                    有其他更简单的实现方式,请小伙伴留言!
                    1、装备掉落问题dp中无法通过game.HookType.CParty_DropItem获取到物品,仅返回_party, monster_id,所以通过frida实现。
                    frida中function hook_history_log()捕获玩家游戏事件日志,可辅助实现很多功能,万般无奈下再使用吧!
                    2、计算副本通过问题GameEventType中v1的EventType未开放hook,只能另辟新径实现!

                    3、dp热重载部分参考 @隔壁老于丶 dp2.8完美集成frida全部热重载带常用简单功能
                    4、常用的lua方法,描述错误请指出!



                    IP属地:浙江38楼2024-04-07 23:39
                    回复


                      IP属地:浙江39楼2024-04-07 23:40
                      回复
                        关于复刻精简、gmInput版“战马赢竞猜”活动的一些想法,请使用“竞猜”、“参与”等词汇讨论!
                        吧中传言80一月的插件楼主没有玩过,楼主视讨论热度再决定是否实现这个功能;
                        1、Cron表达式定时(每天/周等)生成活动(指定物品:无色、矛盾等);
                        2、皇家骑士团列表(名称 名誉战力9163 基础战力 隐藏战力 活动战力)等,精简不绑定铠甲、武器、技能等(太复杂);
                        3、精简随机取一组对战;
                        4、玩家角色通过gmInput参与活动(只能支持1方势力),未结算的轮次可取回物品;
                        5、结算:
                        骑士:胜者隐藏战力永久+10,败者隐藏战力永久+5;
                        玩家:角色竞猜正确 邮件返回 1.5倍物品 (初步想法、或者其他道具);


                        IP属地:浙江40楼2024-04-07 23:57
                        收起回复
                          有没有大佬指点一下


                          IP属地:浙江55楼2024-04-29 12:06
                          回复