飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 6093|回复: 3

口袋西游大部分的CALL源码--易语言

[复制链接]

该用户从未签到

发表于 2008-9-28 22:19:22 | 显示全部楼层 |阅读模式
.版本 2
.程序集 游戏CALL
.子程序 CALL_捡物, , 公开
.参数 物品ID, 整数型
.参数 系统物品ID, 整数型
.局部变量 代码, 字节集
置代码 ({  })
pushad ()
mov_eax_常数 (物品ID)
push_eax ()
mov_ecx_常数 (系统物品ID)
push_ecx ()
mov_edx_ptr (转换十六到十 (“993C44”))
mov_ecx_ptr_edx加字节 (32)
add_ecx_常数 (212)
mov_ebx_常数 (十六进制到十进制 (“5B4620”))
call_ebx ()
popad ()
ret ()
代码 = _取代码 ()
调用函数_ (到字节集 (进程ID), 代码)
.子程序 ID选怪CALL, , 公开
.参数 怪物ID, 整数型
.局部变量 代码, 字节集
置代码 ({  })
pushad ()
mov_esi_常数 (怪物ID)
push_esi ()
mov_eax_ptr (转换十六到十 (“993C44”))
mov_ecx_ptr_eax加字节 (32)
add_ecx_常数 (212)
mov_ebx_常数 (十六进制到十进制 (“5B4690”))
call_ebx ()
popad ()
ret ()
代码 = _取代码 ()
调用函数_ (到字节集 (进程ID), 代码)
.子程序 自动寻路CALL, 字节集, 公开
.参数 xx, 双精度小数型
.参数 yy, 双精度小数型
.参数 zz, 双精度小数型
.局部变量 代码, 字节集
.局部变量 游戏基址, 整数型
.局部变量 一级基址, 整数型
.局部变量 周围环境基址, 整数型
.局部变量 寻路PUSH
.局部变量 寻路MOV
.局部变量 寻路CALL
.局部变量 x坐标
.局部变量 y坐标
.局部变量 z坐标
.局部变量 地图编号, 整数型
游戏基址 = 读内存整数 (进程ID, 转换十六到十 (“993C44”))
一级基址 = 读内存整数 (进程ID, 游戏基址 + 转换十六到十 (“1C”))
周围环境基址 = 读内存整数 (进程ID, 一级基址 + 转换十六到十 (“8”))
地图编号 = 周围环境基址 + 136
寻路PUSH = 十六进制到十进制 (“99A708”)
寻路MOV = 十六进制到十进制 (“993BF0”)
寻路CALL = 十六进制到十进制 (“42BE80”)
x坐标 = 寻路PUSH
z坐标 = 寻路PUSH + 4
y坐标 = 寻路PUSH + 8
写内存字节集 (进程ID, x坐标, 到字节集 (到小数 (到文本 (xx))))
写内存字节集 (进程ID, z坐标, 到字节集 (到小数 (到文本 (zz))))
写内存字节集 (进程ID, y坐标, 到字节集 (到小数 (到文本 (yy))))
置代码 ({  })
pushad ()
mov_edx_ptr (地图编号)  ' '''''''''''''''''''''基址+1c+8+88
mov_eax_ptr (转换十六到十 (“993C44”))
mov_eax_ptr_eax加字节 (十六进制到十进制 (“1C”))  ' '''''''''''''''''''基址+1c
mov_eax_ptr_eax加字节 (十六进制到十进制 (“28”))  ' ''''''''''''''''基址+1c+28
lea_eax_ptr_eax加字节 (十六进制到十进制 (“3c”))  ' '''''''''''''''基址+1c+3c
push_常数 (0)
push_edx ()  ' ''''''''''''''''''''''''''''''''''''''''' 当前地图编号
push_常数 (寻路PUSH)  ' '''''''''''''''''''''''''寻路PUSH
push_eax ()  ' ''''''''''''''''''''''''''''''''''''''''''''''''''''''当前坐标
mov_ecx_常数 (寻路MOV)
mov_eax_常数 (寻路CALL)  ' '''''''''''''''''''''''''''''''''''''''''寻路CALL
call_eax ()
popad ()
ret ()
返回 (_取代码 ())
.子程序 召唤宠物, , 公开
.参数 宠物编号, 整数型
.局部变量 代码, 字节集
置代码 ({  })
pushad ()
mov_esi_常数 (宠物编号)
push_esi ()
mov_ebx_常数 (十六进制到十进制 (“5E3800”))
call_ebx ()
add_esp_字节 (4)
popad ()
ret ()
代码 = _取代码 ()
调用函数_ (到字节集 (进程ID), 代码)
.子程序 召回宠物, , 公开
.参数 宠物编号, 整数型
.局部变量 代码, 字节集
置代码 ({  })
pushad ()
mov_esi_常数 (宠物编号)
push_esi ()
mov_ebx_常数 (十六进制到十进制 (“5E3840”))
call_ebx ()
add_esp_字节 (4)
popad ()
ret ()
代码 = _取代码 ()
调用函数_ (到字节集 (进程ID), 代码)
.子程序 喂宠物CALL, , 公开
.参数 宠物编号, 整数型
.参数 食物位置, 整数型
.局部变量 代码, 字节集
置代码 ({  })
pushad ()
push_常数 (宠物编号)
push_常数 (食物位置)
mov_ebx_常数 (十六进制到十进制 (“5BF7C0”))
call_ebx ()
popad ()
ret ()
代码 = _取代码 ()
调用函数_ (到字节集 (进程ID), 代码)
.子程序 死亡复活, , 公开
.局部变量 代码, 字节集
置代码 ({  })
pushad ()
mov_eax_常数 (转换十六到十 (“5E2390”))
call_eax ()
popad ()
ret ()
代码 = _取代码 ()
调用函数_ (到字节集 (进程ID), 代码)
.子程序 普通攻击, , 公开
.局部变量 代码, 字节集
置代码 ({  })
pushad ()
mov_eax_常数 (转换十六到十 (“5E1F70”))
call_eax ()
popad ()
ret ()
代码 = _取代码 ()
调用函数_ (到字节集 (进程ID), 代码)
.子程序 使用物品CALL, , 公开
.参数 物品ID, 整数型
.参数 物品格子号, 整数型
.局部变量 代码, 字节集
置代码 ({  })
pushad ()
mov_edx_常数 (物品ID)
mov_eax_常数 (物品格子号)
push_常数 (1)
push_edx ()
push_eax ()
push_常数 (0)
mov_eax_ptr (转换十六到十 (“993C44”))
mov_eax_ptr_eax加字节 (转换十六到十 (“20”))
mov_ebx_eax ()
lea_ecx_ptr_eax加整数 (转换十六到十 (“d4”))
mov_eax_常数 (转换十六到十 (“5B4450”))
call_eax ()
popad ()
ret ()
代码 = _取代码 ()
调用函数_ (到字节集 (进程ID), 代码)
.子程序 技能CALL, , 公开
.参数 技能ID, 整数型
.局部变量 代码, 字节集
置代码 ({  })
pushad ()
mov_ecx_ptr (转换十六到十 (“993C44”))
mov_eax_常数 (技能ID)
push_常数 (-1)
push_常数 (-1)
push_常数 (0)
mov_edx_ptr_ecx加字节 (十六进制到十进制 (“1c”))
push_常数 (0)
push_常数 (0)
push_eax ()
mov_ecx_ptr_edx加字节 (十六进制到十进制 (“28”))
mov_ebx_常数 (十六进制到十进制 (“469B10”))
call_ebx ()
popad ()
ret ()
代码 = _取代码 ()
调用函数_ (到字节集 (进程ID), 代码)
.子程序 打坐, , 公开
.局部变量 代码, 字节集
置代码 ({  })
pushad ()
mov_eax_常数 (转换十六到十 (“5E25F0”))
call_eax ()
popad ()
ret ()
代码 = _取代码 ()
调用函数_ (到字节集 (进程ID), 代码)
.子程序 取消打坐, , 公开
.局部变量 代码, 字节集
置代码 ({  })
pushad ()
mov_eax_常数 (转换十六到十 (“5E25B0”))
call_eax ()
popad ()
ret ()
代码 = _取代码 ()
调用函数_ (到字节集 (进程ID), 代码)
.子程序 答题CALL, , 公开
.参数 答案, 整数型
.局部变量 call_1, 整数型
.局部变量 call_2, 整数型
.局部变量 esi1
.局部变量 esi2
.局部变量 esi3
.局部变量 esi4
.局部变量 ESI, 整数型
.局部变量 EDX, 整数型
.局部变量 ECX, 整数型
.局部变量 EAX, 整数型
.局部变量 ECX2, 整数型
.局部变量 代码, 字节集
call_1 = 转换十六到十 (“4C0320”)
call_2 = 转换十六到十 (“5B9BB0”)
esi1 = 读内存整数 (进程ID, 转换十六到十 (“993C44”))
esi2 = 读内存整数 (进程ID, esi1 + 转换十六到十 (“1c”))
esi3 = 读内存整数 (进程ID, esi2 + 转换十六到十 (“4”))
esi4 = 读内存整数 (进程ID, esi3 + 转换十六到十 (“8”))
ESI = 读内存整数 (进程ID, esi4 + 转换十六到十 (“2B4”))
EDX = 读内存整数 (进程ID, ESI + 转换十六到十 (“188”))
ECX = 读内存整数 (进程ID, ESI + 转换十六到十 (“180”))
EAX = 读内存整数 (进程ID, ESI + 转换十六到十 (“184”))  ' 十进 388-----题目ID  判断答题
ECX2 = 读内存整数 (进程ID, esi1 + 转换十六到十 (“20”))
置代码 ({  })
pushad ()
mov_esi_常数 (ESI)
mov_edx_常数 (EDX)
mov_ecx_常数 (ECX)
push_常数 (答案)
mov_eax_常数 (EAX)
push_edx ()
push_eax ()
push_ecx ()
mov_ecx_esi ()
mov_eax_常数 (call_1)
call_eax ()
mov_ecx_常数 (ECX2)
mov_eax_常数 (call_2)
call_eax ()
push_常数 (1)
push_常数 (0)
push_常数 (0)
mov_ecx_esi ()
mov_eax_常数 (转换十六到十 (“7064F0”))
call_eax ()
popad ()
ret ()
代码 = _取代码 ()
调用函数_ (到字节集 (进程ID), 代码)
.子程序 TAB选怪, , 公开
.局部变量 代码, 字节集
置代码 ({  })
pushad ()
mov_ecx_常数 (转换十六到十 (“997734”) + 40)
push_常数 (1)
mov_eax_常数 (转换十六到十 (“462C70”))
call_eax ()
popad ()
ret ()
代码 = _取代码 ()
调用函数_ (到字节集 (进程ID), 代码)
UID231 帖子33 精华0 积分0 阅读权限150 在线时间1 小时 注册时间2008-9-25 最后登录2008-9-28 查看详细资料

编辑用户

禁止用户
  编辑 引用 使用道具 报告 评分 回复 删除 屏蔽帖子 TOP
PYG19周年生日快乐!
  • TA的每日心情
    开心
    2024-2-28 19:31
  • 签到天数: 87 天

    [LV.6]常住居民II

    发表于 2009-5-5 23:25:16 | 显示全部楼层
    哇!历害,佩服,支持楼主
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2009-5-23 09:31:00 | 显示全部楼层
    看来用E写游戏,确实很辛苦
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2009-12-3 19:10:00 | 显示全部楼层
    厉害啊
    想学习做外挂
    很多东西看不懂啊!!!
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

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