• 2536阅读
  • 21回复

[看不下去了]发布早期MGEDIT的原代码 [复制链接]

上一主题 下一主题
离线majiyunsea
 
发帖
279
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看楼主 倒序阅读 使用道具 楼主  发表于: 2005-12-19
看ACE 实在太***!现在的奇迹sf都没落的,都是在拿东西卖钱
为了奇迹sf的不再没落,再次恢复到以前的火热样子,发布原代码
在这感谢创意IDE分享破解,
由于是以前MG上的东西 只有文字 ,自己试着编过实在没法做
希望大家一起来研究
MyEditws仓库编辑器易语言源程序

V3.0的源程序

窗口程序集:窗口程序集1

程序集变量:Conn 数据类型:Connection 备注:SQL连接
程序集变量:Rs 数据类型:Recordset 备注:SQL记录集
程序集变量:Button 数据类型:按钮 数组:8,15 备注:预置按纽
程序集变量:ItemBox 数据类型:标签 数组:120 备注:预置物品框
程序集变量:Item 数据类型:字节集 数组:120 备注:库中各个物品
程序集变量:PrtcArea 数据类型:逻辑型 数组:8,15 备注:保护区域标识
程序集变量:qMDB 备注:通用MDB句柄
程序集变量:Sql 数据类型:文本型 备注:通用SQL文本
程序集变量:col 备注:选中行Y,1-15
程序集变量:row 备注:选中列X,1-8
程序集变量:itemW 备注:选中物品宽度
程序集变量:itemH 备注:选中物品高度
程序集变量:itemID 数据类型:文本型 备注:选中物品代码
程序集变量:itemUniq 备注:选中物品类别
程序集变量:Items 数据类型:字节集 备注:整个仓库内容
程序集变量:Money 备注:仓库金额
程序集变量:ExtCode 数组:6 备注:卓越属性位码
程序集变量:ExtName 数据类型:文本型 数组:6,2 备注:卓越属性名称
程序集变量:NullItem 数据类型:字节集 备注:空物品
程序集变量:CurrId 数据类型:文本型 备注:当前帐号
程序集变量:CurrIndex 备注:当前序号
程序集变量:EditMode 备注:工作模式开关
程序集变量:IsEdited 数据类型:逻辑型 备注:编辑标识

══════════════════════════════

子程序:_启动子程序
返回值类型:整数型

初始化数据 ()
创建动态对象 ()
载入 (标准窗口, , 真)
返回 (1)


══════════════════════════════

子程序:初始化数据

局部变量:i

EditMode = #增加模式
NullItem = { 255, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
ExtCode = { 1, 2, 4, 8, 16, 32 }
连续赋值 (1, CurrIndex, col, row, ExtCode [1])
ExtName [1] [1] = “杀死怪物时所获魔法值增加 +魔法值/8”
ExtName [2] [1] = “杀死怪物时所获生命值增加 +生命值/8”
ExtName [3] [1] = “攻击(魔法)速度增加 +7”
ExtName [4] [1] = “攻击力(魔力)增加 +2%”
ExtName [5] [1] = “攻击力增加 +等级/20”
ExtName [6] [1] = “卓越攻击几率增加 +10%”
ExtName [1] [2] = “杀死怪物时所获金增加 +40%”
ExtName [2] [2] = “防御成功率 +10%”
ExtName [3] [2] = “伤害反射 +5%”
ExtName [4] [2] = “伤害减少 +4%”
ExtName [5] [2] = “最大魔法值 +4%”
ExtName [6] [2] = “最大生命值 +4%”


══════════════════════════════

子程序:_标准窗口_创建完毕

XP风格 (3)
标准窗口.宽度 = #主窗口宽度
图片框1.宽度 = #物品栏宽度
编辑框_帐户.获取焦点 ()
打开数据库 ()
窗口单元置初值 ()


══════════════════════════════

子程序:_标准窗口_将被销毁

关闭数据库 ()


══════════════════════════════

子程序:读出整数
返回值类型:整数型

参数:RS 数据类型:Recordset
参数:index 数据类型:文本型

局部变量:fldsTmp 数据类型:Fields
局部变量:fldTmp 数据类型:Field
局部变量:Vtmp 数据类型:变体型
局部变量:VTMPISnull

fldsTmp = RS.GetFields ()
fldTmp = fldsTmp.GetItem (index)
Vtmp = fldTmp.GetValue ()
返回 (Vtmp.取数值 ())

══════════════════════════════

子程序:读出字节集
返回值类型:字节集

参数:RS 数据类型:Recordset
参数:index 数据类型:文本型

局部变量:fldsTmp 数据类型:Fields
局部变量:fldTmp 数据类型:Field
局部变量:Vtmp 数据类型:变体型
局部变量:binTmp 数据类型:字节集
局部变量:len 数据类型:整数型
局部变量:i 数据类型:整数型

fldsTmp = RS.GetFields ()
fldTmp = fldsTmp.GetItem (index)
Vtmp = fldTmp.GetValue ()
len = fldTmp.ActualSize
binTmp = 取空白字节集 (len)
计次循环首 (len, i)
binTmp [ i] = Vtmp.取数值 (i)
计次循环尾 ()
返回 (binTmp)


══════════════════════════════

子程序:位置到序号
返回值类型:整数型

参数:x
参数:y

返回 ((y - 1) × 8 + x)


══════════════════════════════

子程序:序号到位置

参数:index
参数:x <参考>
参数:y <参考>

x = index % 8
如果真 (x = 0)
x = 8
如果真结束
y = (index - x) ÷ 8 + 1


══════════════════════════════

子程序:打开数据库

局部变量:UID 数据类型:文本型
局部变量:Pwd 数据类型:文本型
局部变量:Server 数据类型:文本型
局部变量:Db 数据类型:文本型
局部变量:connStr 数据类型:文本型

如果真 (取反 (文件是否存在 (“MgItem.mdb”)))
信息框 (“找不到文件MgItem.mdb,无法打开数据库”, #错误图标, )
结束 ()
如果真结束
如果真 (取反 (文件是否存在 (“DSN.INI”)))
信息框 (“找不到配置文件DSN.INI,无法打开数据库”, #错误图标, )
结束 ()
如果真结束
如果真 (取反 (外部数据库1.打开MDB数据库 (“MgItem.mdb”, , , , )))
信息框 (“物品信息库MgItem.mdb打开失败,请检查格式是否正确!”, #错误图标, )
结束 ()
如果真结束
Server = 读配置项 (取当前目录 () + “\DSN.INI”, “MuOnline”, “Server”, 取主机名 ())
UID = 读配置项 (取当前目录 () + “\DSN.INI”, “MuOnline”, “User”, )
Pwd = 读配置项 (取当前目录 () + “\DSN.INI”, “MuOnline”, “Password”, )
Db = 读配置项 (取当前目录 () + “\DSN.INI”, “MuOnline”, “DB”, “MuOnline”)
connStr = “Driver=SQL Server;Server=” + Server + “;DataBase=” + Db + “;APP=Microsoft

Open Database Connectivity”
Conn.Open (connStr, UID, Pwd, -1)
如果真 (Conn.State ≠ 1)
信息框 (“Mu信息库打开失败,请检查DSN.INI的配置内容!”, #错误图标, )
结束 ()
如果真结束

══════════════════════════════

子程序:关闭数据库

外部数据库1.关闭 ()
外部数据库1.关闭记录集 ()
Conn.Close ()
Rs.Close ()


══════════════════════════════

子程序:创建动态对象

局部变量:i
局部变量:j

计次循环首 (15, j)
计次循环首 (8, i)
复制窗口组件 (按钮1, Button [ i] [j])
Button [ i] [j].左边 = #左偏移 + (i - 1) × #单位宽度
Button [ i] [j].顶边 = #上偏移 + (j - 1) × #单位高度
复制窗口组件 (物品框1, ItemBox [位置到序号 (i, j)])
计次循环尾 ()
计次循环尾 ()


══════════════════════════════

子程序:_按钮1_被单击

局部变量:evenBtn 数据类型:按钮

evenBtn = 取事件组件 ()
col = (evenBtn.顶边 - #上偏移) ÷ #单位高度 + 1
row = (evenBtn.左边 - #左偏移) ÷ #单位宽度 + 1
组合框_行.现行选中项 = col - 1
组合框_列.现行选中项 = row - 1
如果真 (EditMode = #移动模式)
移动物品 (CurrIndex)
如果真结束

══════════════════════════════

子程序:_按钮卓越_被单击

载入 (卓越关系对照窗, , 真)

══════════════════════════════

子程序:_按钮退出_被单击

如果真 (确认放弃 ())
销毁 ()
结束 ()
如果真结束

══════════════════════════════

子程序:_编辑框_帐户_字符输入
返回值类型:整数型

参数:字符代码 数据类型:整数型

如果真 (字符代码 = #回车键)
_按钮查询_被单击 ()
如果真结束

══════════════════════════════

子程序:清空仓库
返回值类型:逻辑型

局部变量:i

※备注:用于初始化仓库相关数据以及清空仓库
如果 (确认放弃 ())
计次循环首 (120, i)
Item [ i] = NullItem
ItemBox [ i].可视 = 假
PrtcArea [ i] = 假
计次循环尾 ()
IsEdited = 假
否则
返回 (假)
如果结束
返回 (真)

══════════════════════════════

子程序:确认放弃
返回值类型:逻辑型

如果真 (IsEdited)
如果真 (信息框 (“仓库物品已作修改,是否放弃所有修改内容?”, #警告图标 + #是否钮, “警告”

) = #否钮)
返回 (假)
如果真结束
如果真结束
返回 (真)


══════════════════════════════

子程序:_按钮查询_被单击

局部变量:ID 数据类型:文本型

如果真 (清空仓库 ())
ID = 编辑框_帐户.内容
如果真 (取反 (字符检查 (ID)))
信息框 (“你输入的帐号中含有非法字符,请重新输入!”, #警告图标, )
重新输入帐号 ()
返回 ()
如果真结束
如果真 (取反 (打开仓库表 (ID)))
信息框 (“未找到指定帐号的仓库记录,请重新输入!”, #警告图标, )
重新输入帐号 ()
返回 ()
如果真结束
显示仓库 ()
编辑框_金额.内容 = 到文本 (Money)
※备注:解禁窗口单元
连续赋值 (假, 按钮清仓.禁止, 按钮保存.禁止, 按钮拷贝.禁止, 按钮加入.禁止, 编辑框_金额.禁止)
如果真结束

══════════════════════════════

子程序:重新输入帐号

※备注:禁用窗口单元
连续赋值 (真, 按钮清仓.禁止, 按钮保存.禁止, 按钮拷贝.禁止, 按钮加入.禁止, 编辑框_金额.禁止)
编辑框_帐户.内容 = “”
编辑框_帐户.获取焦点 ()

══════════════════════════════

子程序:字符检查
返回值类型:逻辑型

参数:str 数据类型:文本型

如果真 (寻找文本 (str, “'”, , 假) ≠ -1 或 寻找文本 (str, “%”, , 假) ≠ -1 或 寻找文本 (str,

“&”, , 假) ≠ -1)
返回 (假)
如果真结束
返回 (真)


══════════════════════════════

子程序:打开仓库表
返回值类型:逻辑型

参数:id 数据类型:文本型

Sql = “select Items,Money from warehouse where AccountID= '” + id + “'”
Rs = Conn.Execute (Sql, “”, -1)
如果真 (Rs.EOF 或 Rs.BOF)
Rs.Close ()
返回 (假)
如果真结束
CurrId = id
Money = 读出整数 (Rs, “Money”)
Items = 读出字节集 (Rs, “Items”)
Rs.Close ()
返回 (真)
评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

灌水
黑白研究小组
http://www.13135.cn
离线majiyunsea
发帖
279
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 沙发  发表于: 2005-12-19
ㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔ

子程序:显示仓库

局部变量:i
局部变量:ps
局部变量:len

len = 取字节集长度 (Items) ÷ 10
计次循环首 (len, i)
ps = (i - 1) × 10 + 1
Item [ i] = 取字节集中间 (Items, ps, 10)
显示指定物品 (i, Item [ i])
计次循环尾 ()


ㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔ

子程序:窗口单元置初值

组合框_行.现行选中项 = col - 1
组合框_列.现行选中项 = row - 1
连续赋值 (0, 组合框_加.现行选中项, 组合框_追.现行选中项, 组合框_分类.现行选中项)
_组合框_分类_列表项被选择 ()

ㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔ

子程序:_组合框_分类_列表项被选择

Sql = “select * from MuItem where TYPE=''” + 组合框_分类.取项目文本 (组合框_分类.现行选中项)

+ “''”
组合框_物品.清空 ()
qMDB = 外部数据库1.查询 (Sql)
外部数据库1.到首记录 (qMDB)
判断循环首 (取反 (外部数据库1.尾记录后 (qMDB)))
组合框_物品.加入项目 (外部数据库1.读 (qMDB, “NAME”), )
外部数据库1.到后一记录 (qMDB)
判断循环尾 ()
外部数据库1.关闭记录集 (qMDB)
组合框_物品.现行选中项 = 0
_组合框_物品_列表项被选择 ()


ㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔ

子程序:_组合框_物品_列表项被选择

Sql = “select * from MuItem where NAME=''” + 组合框_物品.取项目文本 (组合框_物品.现行选中项)

+ “''”
qMDB = 外部数据库1.查询 (Sql)
itemID = 外部数据库1.读 (qMDB, “ID”)
itemW = 外部数据库1.读 (qMDB, “X”)
itemH = 外部数据库1.读 (qMDB, “Y”)
itemUniq = 外部数据库1.读 (qMDB, “UNIQUE”)
外部数据库1.关闭记录集 (qMDB)

标签_物品空间.标题 = 到文本 (itemW) + “x” + 到文本 (itemH)
如果 (组合框_分类.现行选中项 < 2)
选择框_技能.禁止 = 假
否则
选择框_技能.选中 = 假
选择框_技能.禁止 = 真
如果结束

ㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔ

子程序:双十六进制文本
返回值类型:文本型

参数:num

局部变量:HexText 数据类型:文本型

HexText = 取十六进制文本 (num)
如果真 (取文本长度 (HexText) = 1)
HexText = “0” + 取十六进制文本 (num)
如果真结束
返回 (HexText)

ㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔ

子程序:由代码获得物品信息
返回值类型:整数型

参数:tmpItem 数据类型:字节集
参数:w <参考>,<可空>
参数:h <参考>,<可空>
参数:Name 数据类型:文本型 <参考>,<可空>
参数:Type 数据类型:文本型 <参考>,<可空>

局部变量:itemid
局部变量:UniQ

itemid = 从字节集转换 (取字节集左边 (tmpItem, 1), #整数型)
如果真 (itemid = 255)
返回 (#空物品)
如果真结束
UniQ = 从字节集转换 (取字节集中间 (tmpItem, 8, 1), #整数型)
UniQ = 选择 (UniQ < 128, 0, 8)
Sql = “select * from MuItem where id=''” + 双十六进制文本 (itemid) + “'' and UniQue=” + 到

文本 (UniQ)
qMDB = 外部数据库1.查询 (Sql)
如果真 (qMDB = 0)
外部数据库1.关闭记录集 (qMDB)
返回 (#未知物品)
如果真结束
w = 外部数据库1.读 (qMDB, “X”)
h = 外部数据库1.读 (qMDB, “Y”)
Name = 外部数据库1.读 (qMDB, “NAME”)
Type = 外部数据库1.读 (qMDB, “TYPE”)
外部数据库1.关闭记录集 (qMDB)
返回 (#正常物品)

ㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔ

子程序:显示物品框

参数:index
参数:x
参数:y
参数:w
参数:h
参数:name 数据类型:文本型

ItemBox [ index].左边 = #左偏移 + (x - 1) × #单位宽度
ItemBox [ index].顶边 = #上偏移 + (y - 1) × #单位高度
ItemBox [ index].宽度 = w × #单位宽度
ItemBox [ index].高度 = h × #单位高度
ItemBox [ index].标题 = name
ItemBox [ index].可视 = 真

ㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔ

子程序:显示指定物品

参数:index
参数:tmpItem 数据类型:字节集

局部变量:x
局部变量:y
局部变量:w
局部变量:h
局部变量:Name 数据类型:文本型
局部变量:RtnCode

序号到位置 (index, x, y)
RtnCode = 由代码获得物品信息 (tmpItem, w, h, Name, )
判断 (RtnCode = #正常物品)
显示物品框 (index, x, y, w, h, Name)
置区域保护状态 (x, y, w, h, 真)
判断 (RtnCode = #未知物品)
信息框 (“仓库位置[” + 到文本 (x) + “,” + 到文本 (y) + “]处发现未知物品!”, #警告图

标, “警告”)
默认
判断结束

ㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔ

子程序:置区域保护状态

参数:x
参数:y
参数:w
参数:h
参数:PrctSt 数据类型:逻辑型

局部变量:i
局部变量:j

计次循环首 (w, i)
如果真 (x + i < 10)
计次循环首 (h, j)
如果真 (y + j < 18)
PrtcArea [x + i - 1] [y + j - 1] = PrctSt
如果真结束
计次循环尾 ()
如果真结束
计次循环尾 ()


ㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔ

子程序:区域可用性检查
返回值类型:逻辑型

参数:x
参数:y
参数:w
参数:h

局部变量:i
局部变量:j

如果真 (x + w > 9 或 y + h > 16)
返回 (假)
如果真结束
计次循环首 (w, i)
计次循环首 (h, j)
如果真 (PrtcArea [x + i - 1] [y + j - 1])
返回 (假)
如果真结束
计次循环尾 ()
计次循环尾 ()
返回 (真)

ㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔ

子程序:显示物品代码

参数:index

局部变量:tmp 数据类型:字节集
局部变量:i
局部变量:ItemCode 数据类型:文本型

ItemCode = ItemBox [ index].标题 + “:”
计次循环首 (10, i)
ItemCode = ItemCode + 双十六进制文本 (从字节集转换 (取字节集中间 (Item [ index], i, 1), #

整数型))
计次循环尾 ()
标签_物品代码.标题 = ItemCode

ㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔ

子程序:_物品框1_鼠标位置被移动
返回值类型:逻辑型

参数:横向位置 数据类型:整数型
参数:纵向位置 数据类型:整数型
参数:功能键状态 数据类型:整数型

局部变量:evenItemBox 数据类型:标签
局部变量:x
局部变量:y
局部变量:index

evenItemBox = 取事件组件 ()
x = (evenItemBox.左边 - #左偏移) ÷ #单位宽度 + 1
y = (evenItemBox.顶边 - #上偏移) ÷ #单位高度 + 1
index = 位置到序号 (x, y)
显示物品代码 (index)

ㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔ

子程序:_按钮拷贝_被单击

置剪辑板文本 (标签_物品代码.标题)
信息框 (“物品代码信息已经拷贝到系统剪辑板”, #信息图标, )

ㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔ

子程序:_按钮清仓_被单击

清空仓库 ()

ㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔ

子程序:_物品框1_鼠标右键被按下
返回值类型:逻辑型

参数:横向位置 数据类型:整数型
参数:纵向位置 数据类型:整数型
参数:功能键状态 数据类型:整数型

局部变量:evenItemBox 数据类型:标签
局部变量:index
局部变量:x
局部变量:y

evenItemBox = 取事件组件 ()
x = (evenItemBox.左边 - #左偏移) ÷ #单位宽度 + 1
y = (evenItemBox.顶边 - #上偏移) ÷ #单位高度 + 1
index = 位置到序号 (x, y)
如果真 (index ≠ CurrIndex 且 EditMode = #移动模式)
EditMode = #增加模式
置物品框模式 (CurrIndex)
如果真结束
CurrIndex = index
evenItemBox.弹出菜单 (物品相关操作, , )


ㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔ

子程序:由物品框获得物品信息

参数:index
参数:w <参考>
参数:h <参考>

w = ItemBox [ index].宽度 ÷ #单位宽度
h = ItemBox [ index].高度 ÷ #单位高度

ㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔ

子程序:删除物品

参数:index

局部变量:w
局部变量:h
局部变量:x
局部变量:y

由物品框获得物品信息 (index, w, h)
序号到位置 (index, x, y)
Item [ index] = NullItem
ItemBox [ index].可视 = 假
置区域保护状态 (x, y, w, h, 假)

ㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔ

子程序:_组合框_行_列表项被选择

col = 组合框_行.现行选中项 + 1


ㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔ

子程序:_组合框_列_列表项被选择

row = 组合框_列.现行选中项 + 1

ㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔ

子程序:_物品框1_鼠标左键被按下
返回值类型:逻辑型

参数:横向位置 数据类型:整数型
参数:纵向位置 数据类型:整数型
参数:功能键状态 数据类型:整数型

局部变量:index
局部变量:x
局部变量:y
局部变量:w
局部变量:h
局部变量:name 数据类型:文本型
局部变量:evenItemBox 数据类型:标签

※备注:选中此物品,进入移动模式
evenItemBox = 取事件组件 ()
x = (evenItemBox.左边 - #左偏移) ÷ #单位宽度 + 1
y = (evenItemBox.顶边 - #上偏移) ÷ #单位高度 + 1
index = 位置到序号 (x, y)

如果 (EditMode = #移动模式)
如果 (index = CurrIndex)
EditMode = #增加模式
否则
信息框 (“这个位置已经有物品了!”, #警告图标, )
返回 ()
如果结束
否则
EditMode = #移动模式
CurrIndex = index
如果结束
置物品框模式 (index)

ㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔ

子程序:_物品框1_被双击
返回值类型:逻辑型

参数:横向位置 数据类型:整数型
参数:纵向位置 数据类型:整数型
参数:功能键状态 数据类型:整数型

局部变量:evenItemBox 数据类型:标签
局部变量:x
局部变量:y
局部变量:index

evenItemBox = 取事件组件 ()
x = (evenItemBox.左边 - #左偏移) ÷ #单位宽度 + 1
y = (evenItemBox.顶边 - #上偏移) ÷ #单位高度 + 1
index = 位置到序号 (x, y)
如果真 (EditMode = #移动模式)
EditMode = #增加模式
置物品框模式 (index)
如果真结束
信息框 (物品属性显示文本 (index), #信息图标, “物品信息”)

黑白研究小组
http://www.13135.cn
离线majiyunsea
发帖
279
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 板凳  发表于: 2005-12-19

ㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔ

子程序:置物品框模式

参数:index

如果 (EditMode = #增加模式)
ItemBox [ index].背景颜色 = #深青
※草稿:ItemBox [ index].鼠标指针 =
否则
ItemBox [ index].背景颜色 = #红色
※草稿:ItemBox [ index].鼠标指针 =
如果结束

ㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔ

子程序:移动物品

参数:index

局部变量:tmpItem 数据类型:字节集
局部变量:w
局部变量:h
局部变量:x
局部变量:y

由物品框获得物品信息 (index, w, h)
※备注:记录原始位置和原始物品
序号到位置 (index, x, y)
tmpItem = Item [ index]
删除物品 (index)
如果 (加入物品 (tmpItem, row, col, w, h))
EditMode = #增加模式
置物品框模式 (index)
否则
加入物品 (tmpItem, x, y, w, h)
如果结束

ㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔ

子程序:加入物品
返回值类型:逻辑型

参数:addItem 数据类型:字节集
参数:x
参数:y
参数:w
参数:h

局部变量:index

如果 (区域可用性检查 (x, y, w, h))
index = 位置到序号 (x, y)
Item [ index] = addItem
显示指定物品 (index, addItem)
IsEdited = 真
返回 (真)
否则
信息框 (“目标位置已有物品或剩余空间不够!”, #警告图标, )
返回 (假)
如果结束

ㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔ

子程序:_删除这个物品_被选择

如果真 (信息框 (“请确认删除此物品”, #询问图标 + #是否钮, “警告”) = #是钮)
删除物品 (CurrIndex)
EditMode = #增加模式
IsEdited = 真
如果真结束

ㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔ

子程序:_显示物品信息_被选择

信息框 (物品属性显示文本 (CurrIndex), #信息图标, “物品信息”)

ㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔ

子程序:_向右移动一格_被选择

局部变量:index

序号到位置 (CurrIndex, row, col)
row = row + 1
如果 (row > 8)
row = 8
否则
移动物品 (CurrIndex)
如果结束

ㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔ

子程序:_向下移动一格_被选择

序号到位置 (CurrIndex, row, col)
col = col + 1
如果 (col > 15)
row = 15
否则
移动物品 (CurrIndex)
如果结束

ㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔ

子程序:_提取物品属性_被选择

局部变量:tmpItem 数据类型:字节集
局部变量:Name 数据类型:文本型
局部变量:Type 数据类型:文本型
局部变量:bitNum 数据类型:字节型
局部变量:lvlnum 数据类型:字节型
局部变量:addnum 数据类型:字节型
局部变量:ltnum 数据类型:字节型
局部变量:XY 数据类型:逻辑型
局部变量:JN 数据类型:逻辑型
局部变量:ExtSt 数据类型:逻辑型 数组:6
局部变量:extSelect 数据类型:选择框
局部变量:i

tmpItem = Item [CurrIndex]
由代码获得物品信息 (tmpItem, , , Name, Type)
组合框_分类.选择 (Type)
_组合框_分类_列表项被选择 ()
组合框_物品.选择 (Name)
_组合框_物品_列表项被选择 ()
获得物品信息 (tmpItem, lvlnum, addnum, ltnum, XY, JN, ExtSt)
组合框_加.选择 (“+” + 到文本 (lvlnum))
组合框_加.选择 (“z” + 到文本 (addnum))
编辑框_持久.内容 = 到文本 (ltnum)
选择框_技能.选中 = JN
选择框_幸运.选中 = XY
计次循环首 (6, i)
extSelect = 多项选择 (i, 选择框_卓1, 选择框_卓2, 选择框_卓3, 选择框_卓4, 选择框_卓5, 选择框

_卓6)
extSelect.选中 = ExtSt [ i]
计次循环尾 ()

ㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔ

子程序:_修改物品属性_被选择

局部变量:itemBit 数据类型:字节型
局部变量:CurrItem 数据类型:字节集

如果真 (信息框 (“请确认用当前选择的属性相关内容修改此物品属性?” + #换行符 + “(请自行判断

技能选项的合理性)”, #询问图标 + #是否钮, ) = #是钮)
CurrItem = Item [CurrIndex]
itemBit = CurrItem [1]
itemID = 双十六进制文本 (itemBit)
itemBit = CurrItem [8]
itemUniq = 选择 (itemBit < 128, 0, 8)
序号到位置 (CurrIndex, row, col)
删除物品 (CurrIndex)
_按钮加入_被单击 ()
信息框 (“物品属性已成功修改!”, #信息图标, )
如果真结束

ㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔ

子程序:_按钮保存_被单击

局部变量:i
局部变量:j
局部变量:ItemHextT 数据类型:文本型
局部变量:tmpItem 数据类型:字节集
局部变量:idx

如果真 (信息框 (“请确认保存现在的仓库内容”, #询问图标 + #确认取消钮, ) = #确认钮)
ItemHextT = “0x”
计次循环首 (120, i)
tmpItem = Item [ i]
计次循环首 (10, j)
ItemHextT = ItemHextT + 双十六进制文本 (tmpItem [j])
计次循环尾 ()
计次循环尾 ()
Money = 到数值 (编辑框_金额.内容)
Sql = “update warehouse set Money =” + 到文本 (Money) + “,Items=” + ItemHextT + “

where accountid=''” + CurrId + “''”
Rs = Conn.Execute (Sql, “”, -1)
信息框 (“仓库内容已经保存!”, #信息图标, )
IsEdited = 假
如果真结束

ㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔ

子程序:物品属性显示文本
返回值类型:文本型

参数:index

局部变量:lvlnum 数据类型:字节型
局部变量:addnum 数据类型:字节型
局部变量:ltnum 数据类型:字节型
局部变量:XY 数据类型:逻辑型
局部变量:JN 数据类型:逻辑型
局部变量:ExtSt 数据类型:逻辑型 数组:6
局部变量:bitNum 数据类型:字节型
局部变量:type
局部变量:ltTxt 数据类型:文本型
局部变量:nameTxt 数据类型:文本型
局部变量:lvlTxt 数据类型:文本型
局部变量:addTxt 数据类型:文本型
局部变量:xyTxt 数据类型:文本型
局部变量:jnTxt 数据类型:文本型
局部变量:extTxt 数据类型:文本型
局部变量:rtnTxt 数据类型:文本型
局部变量:i

获得物品信息 (Item [ index], lvlnum, addnum, ltnum, XY, JN, ExtSt)
nameTxt = “物品名称:” + ItemBox [ index].标题 + #换行符
lvlTxt = “物品等级:” + “+” + 到文本 (lvlnum) + #换行符
addTxt = “追加属性:z” + 到文本 (addnum) + #换行符
ltTxt = “物品持久:” + 到文本 (ltnum) + #换行符
xyTxt = “幸运:” + 选择 (XY, “★”, “☆”) + #换行符
jnTxt = “技能:” + 选择 (JN, “★”, “☆”) + #换行符
bitNum = 从字节集转换 (取字节集中间 (Item [ index], 8, 1), #字节型)
type = 选择 (bitNum < 128, 1, 2)
extTxt = “”
计次循环首 (6, i)
如果真 (ExtSt [ i])
extTxt = extTxt + ExtName [ i] [type] + “;”
如果真结束
计次循环尾 ()
extTxt = 选择 (extTxt = “”, “卓越属性:☆”, “卓越属性:” + extTxt)
rtnTxt = nameTxt + lvlTxt + addTxt + ltTxt + xyTxt + jnTxt + extTxt
返回 (rtnTxt)

ㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔ

子程序:十六进制文本到字节
返回值类型:字节型

参数:HexTxt 数据类型:文本型

局部变量:Hex 数据类型:文本型 数组:15
局部变量:num 数据类型:字节型
局部变量:i

Hex = { “1”, “2”, “3”, “4”, “5”, “6”, “7”, “8”, “9”, “A”, “B”, “C”, “D

”, “E”, “F” }
※备注:为0的情况不用转换
HexTxt = 到大写 (取文本左边 (HexTxt, 2))
num = 0
计次循环首 (15, i)
如果真 (Hex [ i] = 取文本左边 (HexTxt, 1))
num = num + i × 16
如果真结束
如果真 (Hex [ i] = 取文本右边 (HexTxt, 1))
num = num + i
如果真结束
计次循环尾 ()
返回 (num)

ㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔ

子程序:_按钮加入_被单击

局部变量:add 数据类型:字节型
局部变量:ext 数据类型:字节型
局部变量:currItem 数据类型:字节集
局部变量:Z16 数据类型:逻辑型
局部变量:extSelect 数据类型:选择框
局部变量:i

置随机数种子 ()
currItem = 取空白字节集 (10)
currItem [1] = 十六进制文本到字节 (itemID)
add = 组合框_追.现行选中项
如果 (add > 3)
add = add - 4
Z16 = 真
否则
Z16 = 假
如果结束
currItem [2] = 选择 (选择框_技能.选中, 128, 0) + 组合框_加.现行选中项 × 8 + 选择 (选择框_幸

运.选中, 4, 0) + add
currItem [3] = 到数值 (编辑框_持久.内容) % 256
ext = 0
计次循环首 (6, i)
extSelect = 多项选择 (i, 选择框_卓1, 选择框_卓2, 选择框_卓3, 选择框_卓4, 选择框_卓5, 选择框

_卓6)
ext = ext + 选择 (extSelect.选中, ExtCode [ i], 0)
计次循环尾 ()
currItem [8] = ext + 选择 (itemUniq = 8, 128, 0) + 选择 (Z16, 64, 0)
currItem [9] = 取随机数 (0, 255)
currItem [10] = 取随机数 (0, 255)
加入物品 (currItem, row, col, itemW, itemH)


ㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔㄔ

子程序:获得物品信息

参数:tmpItem 数据类型:字节集
参数:等级 数据类型:字节型 <参考>
参数:追加 数据类型:字节型 <参考>
参数:持久 数据类型:字节型 <参考>
参数:幸运 数据类型:逻辑型 <参考>
参数:技能 数据类型:逻辑型 <参考>
参数:卓越 数据类型:逻辑型 <参考>,<数组>

局部变量:bitNum 数据类型:字节型
局部变量:i

bitNum = 从字节集转换 (取字节集中间 (tmpItem, 2, 4), #字节型)
等级 = 位与 (bitNum, 120) ÷ 8
追加 = 位与 (bitNum, 3) × 4
技能 = 位与 (bitNum, 128) > 0
幸运 = 位与 (bitNum, 4) > 0
持久 = 从字节集转换 (取字节集中间 (tmpItem, 3, 1), #字节型)
bitNum = 从字节集转换 (取字节集中间 (tmpItem, 8, 1), #字节型)
计次循环首 (6, i)
卓越 [ i] = 位与 (bitNum, ExtCode [ i]) > 0
计次循环尾 ()
追加 = 选择 (位与 (bitNum, 64) > 0, 追加 + 16, 追加)

黑白研究小组
http://www.13135.cn
离线majiyunsea
发帖
279
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 地板  发表于: 2005-12-19

最后发上脱用易编的程序的壳的方法

EcE应用实例-脱壳篇
作者:monkeycz

E-Code Explorer(EcE)的新版本终于赶在年前完成了,感谢支持偶的兄弟,没有你们的帮助和支持,EcE早就停止开发了。偶要在这新年之际向你们说一声:“多谢”。本来计划中的易语言反编译功能没有在这个版本中加入,因为着手后才发现工作量比原先的预计要大得多(幸而偶从来没有许诺过要在哪一个EcE版本中加入这个功能,嘿嘿,怎么听起来像是前年在谈论DOOM3~~~~~~~)。如果顺利的话,希望能在后两个版本内初步完成这个东东,呵呵……


说了这么多废话了,该进入正题了,免得浪费大家大年夜的时间来看偶的废话连篇。偶以前写过一篇关于易语言生成的程序脱壳的文章(拙作见http://monkeycz.blogbus.com,《易格式可执行文件脱壳方法一则》)。文章里面用到的一个主要工具就是偶的拙作EcE。当时的EcE还是0.54版,刚完成不久,所以使用起来可能还很不顺手,需要很多第三方软件来辅助脱壳。现在这种情况略有了一些改善――就是对付大多数的壳,只需要使用EcE经过几个简单的步骤就可以完成了。其实细心的朋友也许会发现,EcE的最近几次升级的功能多数都是和脱壳相关的,可能是偶脱壳的水平实在是太烂了,所以总想尽快把壳给搞掉。嘿嘿,又扯远了。下面我们就用一个例子来做一下示范。


在EcE0.70版的Example目录下有几个示例文件,其中有一个文件名是“ASProtect加壳后的示例程序.exe”的(下面就把它简称为1.exe),偶们就拿它下手(插播广告:如果您手边还没有最新版本的EcE的话,请到EcE的发布网站http://monkeycz.china3t.com下载。广告完毕。)。虽然偶的ASProtect好久没有升级了,也不比最近的若干猛壳那么生猛,但是只是个例子阿,将就先用吧:)


首先运行1.exe(如果你的机器上没有易语言支持库导致程序错误,请把1.exe复制到Example目录得上级目录,在运行即可),会弹出一个简陋得不能再简陋的界面,毕竟是示例程序,大家不要bs偶阿。不用管它,启动EcE,操刀并肩子上阿。由于1.exe已经被加壳(这不是废话么),所以直接载入分析肯定会报错的(记得有人告诉我说这是个BUG,偶也搞不清楚究竟算不算),所以需要提前设置EcE的分析参数。


在“设置”菜单中选择“分析设置”,“分析对象类型”中选择“其他包含易格式的文件”。这时候就可以启动这次的主角了――易格式捕捉者。这个功能可以从待分析的文件中根据特征码自动找到所有的疑似易格式代码。选择“启动易格式捕捉者”,特征码部分一般不需要修改。这样前期的准备工作就做完了。


下一步选择“文件”-〉“打开文件”,从弹出的“选择打开对象”面板中选择“进程中的程序”,我们就可以看到进程列表了。从中找到刚才我们运行的1.exe,选择“载入分析”。


接下来会询问你是否要使用多线程分析,如果你的机器不错的话,就不必选择多线程了,否则会更慢的。如果第一步设置正确的话,这时候你将看到“易格式捕捉者”的窗口出来冒泡了。现在把注意力集中在左边的疑似基址列表中,如果列出了疑似地址,基本上已经成功了一半。如果提示没有捕捉到易格式,也不要灰心,偶会建议你手脱的,毕竟手脱才是高手之道:)


从疑似列表中选择一项载入分析,如果有多个疑似地址的话,一般很可能第一个就是。在这个例子中,只会出现一个地址,不用犹豫直接载入好了。经过一段时间的等待(视机器的配置而定),如果EcE的信息栏中提示成功,就可以进入下一步了。


这时候偶们已经把易格式从乌龟壳中提取出来了,但是还有很关键的一步需要做,否则dump出来的程序也是无法运行的,这就是重定位修复。为什么要进行这一步,偶在《易格式可执行文件脱壳方法一则》中已经基本上说明白了,这里就不赘述了。先把易格式保存到磁盘上,“工具”-〉“导出易格式原体”,起个名字保存,这里用的是1.ecf。


下面我们需要再设置一次EcE。“设置”-〉“分析设置”中,先关闭掉“易格式捕捉者”,“分析对象类型”选择“易格式原体”。然后偶们就可以载入刚才dump出的那个易格式原体文件1.ecf了。“文件”-〉“打开文件”-〉“磁盘中的程序”,找到1.ecf载入。下面开始修复重定位信息。“工具”-〉“易格式从定位信息修复”,这个时候会询问重定位的基址,这个需要根据载入的疑似地址+PE的ImageBase来确定,不过一般上面默认的地址就可以,不需要自己修改。确认后,等(还是和机器的配置有关),最后应该会提示你“修复成功”。


现在的dump出易格式已经算是正常了,不过单独的易格式原体还不能运行,偶们需要给他找一个新骨骼(每当这个时候,偶总想到《忍者神龟》中的史莱德,真像~~~~~~~~~~~~)。先“文件”-〉“关闭文件”(不是映射阿)。“工具”-〉“易格式植入PE骨骼”,选择修复好重定位信息的1.ecf,然后输入保存到的文件名,这里偶用的是1.exe。确认后,稍等片刻(偶们有充足的理由等待,因为马上就要完成了,等吧~~~~~~~~),就弹出来了令人振奋的“已经将易格式原体植入PE骨骼中”。


好了,到此为止基本上偶们的脱壳大业已经完成,当然不要高兴得太早,还有最最重要的一步没有做呢――去测试一下脱壳后的程序是否运行正常吧。如果不出意外的话,偶们就可以躲在屏幕另一边偷偷露出阴险的笑容了,嘿嘿……


monkeycz
2005年02月09日02:45(农历新年的第一天阿,就是大年初一啦)


ps:其实这篇文章在大年夜就开始构思了,结果为了看央视春节联欢晚会,只好拖到大年初一的凌晨来完成了。其实偶最pf的节目就是那个“千手观音”的舞蹈,pf那些聋哑人,他们在无声的世界中依然活得很精彩,他们是就是强者(叔本华大叔打起精神来吧,让偶们一起向尼采的“乌云之上的闪电”致敬――人,是应该被超越的!)。这篇文章没有什么技术含量,很抱歉让你花了这么多时间来看这个。如果你发现文章中有什么错误或者有好的建议,请与我联系:[email protected]。不敬之处望高手谅解。

黑白研究小组
http://www.13135.cn
离线west844659
发帖
603
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 4楼 发表于: 2005-12-19
[em05][em05][em05][em05][em05]+我QQ  273667840
|专业定制各种私服登陆器|软件设计|软件破解|软件加密|后门制作|网页设计|系统维护优化|游戏美工|需要的请加QQ:55683427[注明:VZKJ]
http://lz.9996.net
离线auldey
发帖
1022
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 5楼 发表于: 2005-12-19

[em17][em17][em17][em17][em17][em17][em17]

精神上支持你.......辛苦了

MuChina
离线twtso
发帖
473
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 6楼 发表于: 2005-12-19
用户被禁言,该主题自动屏蔽!
离线ace
发帖
249
祝福宝石
0
威望
1297
玛雅之石
0
创造宝石
0
只看该作者 7楼 发表于: 2005-12-19
楼主你收藏程序的时候怎么不看看是谁发的程序呢?
用我发的源程序给大家来批斗我,你觉得很有杀伤力么?我既然很早的时候就把它发出来,无非是给想学习编程的朋友一点启发,难道你以为从当时只有一个仓库的3.0版本编辑器就可以直接编写出现在的程序吗?
谢谢你把我一年前发的东东收藏至今,如果需要,偶还可以发点更新版本的给你学习。
寻找梦中的玛雅
只为不知所终的灵魂
最后痛楚的那一刹
清晰的是
生命落地的声音
离线Day
发帖
74
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 8楼 发表于: 2005-12-19
支持ACE,B4楼主
离线leung1
发帖
65
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 9楼 发表于: 2005-12-19
以下是引用ace在2005-12-19 16:58:41的发言:
楼主你收藏程序的时候怎么不看看是谁发的程序呢?
用我发的源程序给大家来批斗我,你觉得很有杀伤力么?我既然很早的时候就把它发出来,无非是给想学习编程的朋友一点启发,难道你以为从当时只有一个仓库的3.0版本编辑器就可以直接编写出现在的程序吗?
谢谢你把我一年前发的东东收藏至今,如果需要,偶还可以发点更新版本的给你学习。



[em17][em17][em17][em17][em17][em17][em17]
离线superpk
发帖
1086
祝福宝石
0
威望
2544
玛雅之石
0
创造宝石
0
只看该作者 10楼 发表于: 2005-12-19
支持楼主!收藏了
离线M破解版
发帖
203
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 11楼 发表于: 2005-12-19
ace加我QQ 496722173
离线coolwater
发帖
1426
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 12楼 发表于: 2005-12-19

斗什么嘴哦,真无聊,

27299240
我很菜,不过我很肯学.
离线lhkun
发帖
284
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 13楼 发表于: 2005-12-19
[em17][em17][em17][em17][em17]
离线108205503
发帖
1444
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 14楼 发表于: 2005-12-19
赌东道赌东道赌东道的 DDDDDDDDDDDDDDDDD
以下图片需要回复才可查看!
http://qczl.gnway.net
        QQ群: 12821050
离线lzcw
发帖
23
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 15楼 发表于: 2005-12-20
[em06][em08][em18][em18][em18][em18][em18][em18]
离线aibobo
发帖
84
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 16楼 发表于: 2005-12-20
dddddddddddddddddddddddddddddd
MG1.1跟MG1.0是个骗局!请勿上当受骗!
MG根本没有发出可以正常用的服务端,请大家不要相信以免受骗,他在VZ用的ID是"bichang"
骗子QQ是:214438616 (仿韩1.0) 459330350(真红) 286757175(SOHO学会) 他们的电话是0752-2945383
离线qfgrxx
发帖
1014
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 17楼 发表于: 2005-12-21
无语,
4f91宣传网站,SF第一门户需要的请来做个连接。
网址: www.4f91.com

离线cchrema
发帖
133
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 18楼 发表于: 2005-12-30
ace好棒啊~
无知的菜啊啊啊 啊 ~~~~~~~~
离线dsy8098
发帖
167
祝福宝石
0
威望
1638
玛雅之石
0
创造宝石
0
只看该作者 19楼 发表于: 2005-12-31
收藏~!!收藏~!!收藏~!!
我是~笨猪~我怕谁~?
快速回复
限100 字节
如果您提交过一次失败了,可以用”恢复数据”来恢复帖子内容
 
上一个 下一个

      管理员联系信箱 [email protected] 所有内容均来之互联网,如侵犯您的隐私和权益,请和我们及时联系!