Project1

标题: 请问读取脚本的语句是什么(非ini檔) [打印本页]

作者: 土撥撥    时间: 2009-11-22 00:21
标题: 请问读取脚本的语句是什么(非ini檔)
本帖最后由 土撥撥 于 2009-11-22 00:47 编辑

请问读取脚本的语句是什么(非ini檔)

大致如题,我想知道读取Scripts.rxdata的脚本语句

就是”读取Scripts.rxdata的脚本内容”的语句

我想要像这样:

预设脚本档为Scripts_A.rxdata

Scripts_A.rxdata内有读取Scripts_B.rxdata的语句

执行其语句后执行Scripts_B.rxdata的脚本内容

(要能正常执行)
作者: 紫苏    时间: 2009-11-22 02:29
首先通过 load_data 读取 rxdata:
  1. scripts = load_data("Data/Scripts.rxdata")
复制代码
然后你就获取到了一个二维数组,第一维是脚本页数组,第二维是脚本标题及其内容,然后通过 Zlib 解压缩即可:
  1. scripts[0][2] = Zlib::Inflate.inflate(scripts[0][2])
  2. p scripts[0][2]
复制代码
上面就是获取到了 Game_Temp 的内容,因为第一维为 0 则指向 Game_Temp 脚本页,第二维为 2 则是 Game_Temp 的内容(如果是 1 的话,则是 Game_Temp 这个脚本名称)
之后你就可以通过 eval 去动态解释脚本内容:
  1. eval(script[0][2])
复制代码
当然如果要执行整个脚本的话,你需要一个循环,重复以上两步~

这是一个用 eval 执行整个脚本的例子:
http://rpg.blue/viewthread.php?tid=134316
你只需要参考脚本最后的循环部分就行了
作者: 奶油Da蛋糕    时间: 2009-11-22 09:08
首先通过 load_data 读取 rxdata:scripts = load_data("Data/Scripts.rxdata")然后你就获取到了一个二维数组,第一维是脚本页数组,第二维是脚本标题及其内容,然后通过 Zlib 解压缩即可:scripts[0][2] = Zlib::In ...
紫苏 发表于 2009-11-22 02:29

一直以为.rxdata是RM加密的数据是不能用脚本调用的,原来只是用Zlib压缩的。
作者: 土撥撥    时间: 2009-12-19 00:26
Sorry,我晚来了
---
太谢谢你了 这样我就知道要怎么用了

感激不尽..
---
那这样如果把整个系统改掉 再把他提出来修改,就能够做出加密的效果啰?




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