查看: 1624|回复: 3

[已经解决] 请问读取脚本的语句是什么(非ini檔)

  [复制链接]
梦石
0
星屑
95
在线时间
18 小时
注册时间
2008-1-22
回帖
30
发表于 2009-11-22 00:21:07 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
本帖最后由 土撥撥 于 2009-11-22 00:47 编辑

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

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

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

我想要像这样:

预设脚本档为Scripts_A.rxdata

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

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

(要能正常执行)
RGSS研究專員
梦石
0
星屑
61
在线时间
24 小时
注册时间
2008-8-5
回帖
1912
发表于 2009-11-22 02:29:09 | 显示全部楼层
首先通过 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
你只需要参考脚本最后的循环部分就行了
回复

使用道具 举报

℃ake

梦石
0
星屑
50
在线时间
8 小时
注册时间
2009-6-6
回帖
670
发表于 2009-11-22 09:08:11 | 显示全部楼层
首先通过 load_data 读取 rxdata:scripts = load_data("Data/Scripts.rxdata")然后你就获取到了一个二维数组,第一维是脚本页数组,第二维是脚本标题及其内容,然后通过 Zlib 解压缩即可:scripts[0][2] = Zlib::In ...
紫苏 发表于 2009-11-22 02:29

一直以为.rxdata是RM加密的数据是不能用脚本调用的,原来只是用Zlib压缩的。
我爱66RPG,但我讨厌66.
回复

使用道具 举报

梦石
0
星屑
95
在线时间
18 小时
注册时间
2008-1-22
回帖
30
 楼主| 发表于 2009-12-19 00:26:23 | 显示全部楼层
Sorry,我晚来了
---
太谢谢你了 这样我就知道要怎么用了

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

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部