看流星社区

 找回密码
 注册账号
查看: 4087|回复: 5

[VB] 谁能用VB写个历遍背包的源吗啊

[复制链接]

该用户从未签到

发表于 2011-4-14 14:44:29 | 显示全部楼层 |阅读模式
谁能用VB写个历遍背包的源吗啊。求教了。其它语言看不懂,刚学VB几天。。谢谢了。
找到基址不会写。郁闷。
背包基址[6B7938]
物品最大格子数=[[背包基址]+398]   字节  
材料最大格子数=[[背包基址]+399]   字节  
任务最大格子数=[[背包基址]+39A]   字节  
背包格子首地址=[[[背包基址]+380]+格子序号*4]   格子序号从0开始  
格子序号=-背包格子首地址+10]   
背包格子物品数量=[[背包格子首地址+14]+3C]   字节  
背包格子物品名称=[[[背包格子首地址+28]+18]+0]   杂物  
背包格子物品说明=[[[背包格子首地址+28]+1C]+0]   杂物  
背包格子物品类型=[[[背包格子首地址+28]+50]+0]   杂物  
背包格子物品名称=[[[背包格子首地址+28]+28]+0]   装备  
背包格子物品说明=[[[背包格子首地址+28]+34]+0]   装备  
背包格子物品类型=[[[背包格子首地址+28]+58]+0]   装备

该用户从未签到

发表于 2011-4-14 14:44:37 | 显示全部楼层
ReadProcessMemory hProcess, ByVal DYNAMIC_BASE_ADDR, dynamic_base, 4, 0&
    ReadProcessMemory hProcess, ByVal dynamic_base + &H20, role_base, 4, 0&
    ReadProcessMemory hProcess, ByVal role_base + &HC44, pack_base, 4, 0&
    ReadProcessMemory hProcess, ByVal pack_base + &H10, pack_count, 4, 0&
    ReadProcessMemory hProcess, ByVal pack_base + &HC, pack_addr, 4, 0&
    For i = 0 To pack_count - 1
      ReadProcessMemory hProcess, ByVal pack_addr + i * 4, pack_addr_n, 4, 0&
      If pack_addr_n > 0 Then
        ReadProcessMemory hProcess, ByVal pack_addr_n + &H4, pack_type, 4, 0&
        ReadProcessMemory hProcess, ByVal pack_addr_n + &H8, pack_id, 4, 0&
        ReadProcessMemory hProcess, ByVal pack_addr_n + &H14, pack_item_count, 4, 0&
                  Select Case pack_type
                     Case 0, 3
                        NamePy1 = &HDC
                        NamePy2 = &HC
                     Case 2
                        NamePy1 = &HC8
                        NamePy2 = &H8
                     Case 6
                        NamePy1 = &HCC
                        NamePy2 = &HC
                     Case 7
                        NamePy1 = &HD0
                        NamePy2 = &H4
                     Case 8, 9, 23
                        NamePy1 = &H54
                        NamePy2 = &HC
                     Case 11
                        NamePy1 = &HC8
                        NamePy2 = &HC
                     Case 15
                        NamePy1 = &HE4
                        NamePy2 = &HC
                     Case 10, 13, 16, 19, 20, 27, 29, 31, 39
                        NamePy1 = &H4C
                        NamePy2 = &H4
                     Case 17
                        NamePy1 = &H4C
                        NamePy2 = &H8
                     Case 26
                        NamePy1 = &H3C
                        NamePy2 = &HC
                     Case 36
                        NamePy1 = &HB8
                        NamePy2 = &H4
                    Case Else
                        NamePy1 = &HC8
                        NamePy2 = &H8
                   End Select
         
        ReadProcessMemory hProcess, ByVal pack_addr_n + NamePy1, NameAddr, 4, 0
        ReadProcessMemory hProcess, ByVal NameAddr + NamePy2, pack_item_name(0), 64, 0
        pack_item_name1 = Left$(pack_item_name, 64)
        pack_item_name1 = KillChr0(Trim(pack_item_name1))
      End If
    Next i

该用户从未签到

 楼主| 发表于 2011-4-14 14:44:52 | 显示全部楼层
首先太感谢楼上朋友,要是能给个注释就好了,还有有点不明白。得到你的代码我可以举一反三。。再次谢谢,要能给出如何变量更好了。是不是感觉要求太高,不过我是新手,原谅我这一次吧。不会有下次。

该用户从未签到

发表于 2011-4-14 14:45:00 | 显示全部楼层
是指變數定義嗎?  如果不是的話,你再描述一下你要什麼

Dim pack_base As Long      '包包總基址
Dim pack_count As Long     '包包最大數
Dim pack_addr As Long       '包包基址
Dim pack_addr_n As Long  '包包第n個物品位置
Dim pack_type As Long        '物品的類型
Dim pack_id As Long            '物品id
Dim pack_item_count As Long   '物品數量
Dim pack_item_name(63) As Byte   '物品名稱
Dim pack_item_name1 As String     '物品名稱
Dim NamePy1 As Long     '取得物品名稱惼移量1
Dim NamePy2 As Long    ''取得物品名稱惼移量2
Dim NameAddr As Long   '物品名稱過渡用

该用户从未签到

发表于 2011-4-14 14:45:07 | 显示全部楼层
跟遍历怪物大同小异,搜搜论坛吧,有很多。

该用户从未签到

发表于 2011-12-1 20:31:03 | 显示全部楼层
我不能上传附件,不然我给你个完整的显示背包每个格子里的物品数量,和名称
点击按钮快速添加回复内容: 支持 高兴 激动 给力 加油 苦寻 生气 回帖 路过 感恩
您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

小黑屋|手机版|Archiver|看流星社区 |网站地图

GMT+8, 2024-3-28 20:46

Powered by Kanliuxing X3.4

© 2010-2019 kanliuxing.com

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