Project1

标题: 致对数据库不满足的人:脚本速成III [打印本页]

作者: dna_7086    时间: 2008-9-4 21:46
提示: 作者被禁止或删除 内容自动屏蔽
作者: dbshy    时间: 2008-9-4 21:48
看不到 = =
把限制降低点 = =
作者: link006007    时间: 2008-9-4 21:49
ls  , lz所说的你应该已经了解了
作者: dna_7086    时间: 2008-9-4 21:53
提示: 作者被禁止或删除 内容自动屏蔽
作者: cmzjbczzf    时间: 2008-9-4 21:56
我突然发现前辈的VIP刚好是9……{/cy}



能不能不要限制啊,我想脚本速成耶!


貌似有9VIP一般都很少需要这个了吧……
作者: dna_7086    时间: 2008-9-4 22:01
提示: 作者被禁止或删除 内容自动屏蔽
作者: cmzjbczzf    时间: 2008-9-4 22:02
VIP是谁加的……
作者: cmzjbczzf    时间: 2008-9-4 22:57
解禁好吗?

作者: dna_7086    时间: 2008-9-5 02:06
提示: 作者被禁止或删除 内容自动屏蔽
作者: hide秀    时间: 2008-9-5 02:09
既然是教程就不用限制了吧
况且属于可接受的范围{/wx}
作者: 劍之飛龍☆    时间: 2008-9-5 04:35
话说我越来越想玩解密了……
自PIA……
作者: danny8376    时间: 2008-9-8 06:23
以下引用dna_7086于2008-9-4 13:46:36的发言:


这几天没事干,就这样混的了
下面就介绍最后的一项脚本技巧
本技巧适用于对RM的数据库扩充(这样对加密的游戏也有效)
※注意本文不再献给新手,虽然我是新手……
 当然本文也不用献给高手……



首先,我们来了解在Data文件夹下的*.rxdata的简单结构
用UE来玩吧:
随便打开一个,如Actors.rxdata,查看一下
第一,进入游戏,把第一个人物的
HP从1到99改为9999,
SP从1到99改为9998,
力量999,灵力998,速度997,魔力996
第二,用UE打开Actors.rxdata
(在打开几个*.rxdata后,发现开头的 04 08 是标志数据)
(若文件是数组在其后就会接一个"[")
默认的Actors.rxdata里,在"["后面是 0E,这个是怎么回事,一开始没注意,
但后来发现它是 8+6=0x0E 汗,后面大家会发现所有数据都有这个癖好。。。。。
这里的 8 是人物个数,+6也许是想掩饰什么。。。
然后是"0o",第一个字符是ling,然后是o
接着是 OF,注意,它是 10+5=0x0F,
再数一数后面的"RPG::Actor"有多少个字符,正好10个
接着有 1B ,它是 22+5=0x1B,等你把第一个人物的数据抄在一张纸上,你会发现所有的"@"有22个,"@"当然是变量的标志,也就是说有22个变量
接着就是":",然后跟着 变量名的长度+5 ,如"@initial_level"长14,而14+5=0x13,然后是数据类型,i是整数,后面跟一个数据,数据若是0就为00,若是1就是(1+5=)06,若是2就是(2+5=)07,"是字符串,布尔值直接写T或F,数组[1]完成了以后接00 1B 3B,然后是下一轮,下一轮就不用写变量名了,然后一直到最后。

以后就可以用VC,VB,DEPHI,JAVA……编一个RXDAT的编辑器,然后来拓展数据库
我做了一个RXDATA的文件:
http://rpg.blue/upload_program/files/NewData_100964368.rar

然后在脚本的Game_Temp前加:

   本帖相关代码如下:
module RPG
class NewData
   def initialize
     @a = 0
   end
   attr_accessor :a
end
end



最后在脚本里调用:

   本帖相关代码如下:
$data_newdata       = load_data("Data/NewData.rxdata")
   p $data_newdata
   p $data_newdata[1].a
输出
# [nil, #<RPG::NewData:0x127a740 @a=2>]
# 2


OK,今天就到这里了

算了,这应该不会算那什么,解放吧~~~~


[本贴由作者于 2008-9-5 10:43:59 最后编辑]




它設定偏差直是為了辨識一些東西

拿i舉例
i最大佔4B
假如1B就夠存當然沒問題
但是如果是0xfff呢
就需要2B
這時i後的數值會是0x02(往後讀2B是數值)
所以偏差設定+5
剛好夠判斷

不然 計算機 這麼聰明嗎


還有件重要的事

讀數值時
要倒過來讀
例如
0x 5A F6 0B
實際數值是
0x 0B F6 5A

還有
當佔2位元組以上時
無偏差值








發現有個地方有錯

默认的Actors.rxdata里,在"["后面是 0E,这个是怎么回事,一开始没注意,
但后来发现它是 8+6=0x0E 汗,后面大家会发现所有数据都有这个癖好。。。。。
这里的 8 是人物个数,+6也许是想掩饰什么。。。

這裡0E不是8+6而是9+5
為何+5前面說過了
但為什麼是9而不是8
因為Array是由0開始
資料庫都是由1開始
0這個位置就是nil
0~8共有9個
※不是1~8※



話說好像都是+5
作者: dna_7086    时间: 2008-11-30 03:11
提示: 作者被禁止或删除 内容自动屏蔽
作者: dna_7086    时间: 2009-1-5 05:51
提示: 作者被禁止或删除 内容自动屏蔽
作者: 訫﹎森    时间: 2009-1-5 06:55
下载不能
作者: 柳之一    时间: 2009-1-5 22:58
基本修改数值都是偏移5的,但是数值在255以上的数值直接修改后会有问题
先用rm记录255然后再在存档里面改就安全了
作者: 3nξhα0_lim    时间: 2009-1-5 23:35
提示: 作者被禁止或删除 内容自动屏蔽
作者: dna_7086    时间: 2009-1-6 23:40
提示: 作者被禁止或删除 内容自动屏蔽
作者: dna_7086    时间: 2009-5-27 20:43
提示: 作者被禁止或删除 内容自动屏蔽
作者: DeathKing    时间: 2009-7-30 13:56
有用,研究中……

仔细阅读…………




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1