设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 12334|回复: 48
打印 上一主题 下一主题

[原创发布] 让XP工程用上RGD的简易教程

[复制链接]

Lv4.逐梦者

梦石
1
星屑
10079
在线时间
4432 小时
注册时间
2005-10-22
帖子
6958

开拓者贵宾

跳转到指定楼层
1
发表于 2019-12-3 01:46:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 orochi2k 于 2019-12-3 01:58 编辑

事先准备:
1, RMXP
2, RMVA的RGSS301.DLL
3, RGD
如果需要加密
则还需要整个RMVA(加密的正确姿势: RMVA新建一个工程,开着这个RMVA工程的同时跑到这个工程文件夹里删光所有东西,把RMXP的工程全部拷贝过来,在RMVA里选择打包和加密 对,就是这么奇葩,是不是很好玩(大雾))
如果需要商业发布,则RMXP和RMVA都必须是正版.(或者依法等到RMXP和RMVA首次发布后50年 )

流程如下:
首先打开RMXP
1, 用RMXP打开你的RMXP工程
2, 打开F1帮助文件
3,打开脚本编辑器
4,在F1帮助文件中找到RGSS参考  游戏库 RPGXP数据结构
5, 将此条目下所有的脚本插入到脚本编辑器里的最上端.

6, 找一个实现RMXP的TILEMAP的脚本,放入工程内.
7, 在main里加入一行Graphics.SAresize_screen(640,480)
8,现在你差不多可以关掉RMXP了

在RMXP工程文件夹内建立Fonts和Windowskins 文件夹 然后从RMVA那里找到喜欢的字体并修改原来RMXP的窗口皮肤为RMVA对应的样子. (这步并不重要)

找到RMVA的RGSS301.DLL丢到RMXP的工程文件夹里
找到小黄鸡和⑨写的RGD的EXE覆盖掉RMXP的GAME.EXE
找到GAME.INI把里面的RGSS103J.DLL改成RGSS301.DLL

一般的同学到这步就差不多了.
对于脚本使用较多的同学可能遇到一些常见问题如下:
如果发生字符串ASCII和UTF8打架
参考这段东西来重载字符串吧. (打架原因是RMXP用的RUBY1.8字符串比较奔放随意,RMVA和RGD用RUBY1.9的字符串自带编码属性,可以考虑自己逐个检查,但是像我这样懒得去检查RMXP工程里几万行代码的同学用下面这段基本都能搞定.)
RUBY 代码复制
  1. class String
  2.   alias old_plus +
  3.   def +(other)
  4.     if self.is_a?(String) and other.is_a?(String)
  5.       if self.encoding.name != "UTF-8"
  6.        #p self.encoding.name
  7.       end
  8.       if self.encoding.name == "UTF-8" and other.encoding.name == "ASCII-8BIT"
  9.         news = old_plus(other.force_encoding("UTF-8"))
  10.         #p news
  11.         return news
  12.       end
  13.       if self.encoding.name == "ASCII-8BIT" and other.encoding.name == "UTF-8"
  14.         news = self.force_encoding("UTF-8").old_plus(other)
  15.         return news
  16.       end
  17.     end
  18.     return old_plus(other)
  19.   end
  20. end


如果脚本中有用到DIR/REQUIRE之类的函数发生ASCII-8BIT暴毙问题,请寻找转码脚本解决.

目前石器的测试版本经过3天测试未发生严重异常.
已知现存的所有RMXP工程复杂程度都不可能超过石器,毕竟你们的项目都没开发超过15年 (大雾),所以大家应该不会出什么问题.(大雾)

按照这个方法来玩的话@fux2 就不用额外写RGDXP了 {:4_117:}

评分

参与人数 5+5 收起 理由
Cupidk爱呗茶 + 1 太触了
st251355 + 1 塞糖
hyrious + 1 塞糖
哇哇哇啊叭叭 + 1 好牛...
guoxiaomi + 1 tql

查看全部评分

Lv5.捕梦者 (管理员)

老黄鸡

梦石
0
星屑
42404
在线时间
7602 小时
注册时间
2009-7-6
帖子
13506

开拓者贵宾

2
发表于 2019-12-3 09:18:23 | 只看该作者
脚本实现的内部类还是存在效率隐患(x

点评

捏小黄鸡~效率什么的我们充分相信RGD(逃~) ♪(^∇^*)  发表于 2019-12-3 11:04
RGDirect - DirectX驱动的RGSS,点我了解.
RM全系列成套系统定制请联系QQ1213237796
不接受对其他插件维护的委托
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
79
在线时间
8 小时
注册时间
2019-10-10
帖子
6
3
发表于 2019-12-3 09:51:47 | 只看该作者
stream上的dll不是104的吗

点评

RMXP的DLL版本影响不大,反正最后要换成RMVA的RGSS300.DLL  发表于 2019-12-3 11:06
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
11723
在线时间
991 小时
注册时间
2019-11-5
帖子
2430

极短24参与

4
发表于 2019-12-3 10:28:03 | 只看该作者

看到很多人在说《石器》,是指的《石器时代》(日本jss公司开发的游戏:https://baike.baidu.com/item/%E7 ... /3553771?fr=aladdin)吗?

还是有个xp的脚本,叫做“石器”呢?

点评

总之发现最初想象的那种游戏必须会用脚本才能做出来...  发表于 2019-12-5 18:22
我工程躺枪了,回头试试能正常运行  发表于 2019-12-5 11:20
呃...谢谢!  发表于 2019-12-4 00:52
石器是某个从2004年开始开发的史前RMXP项目  发表于 2019-12-3 11:03
风继续吹,不忍远离。年少轻狂,眼神明亮,最好的年纪,最好的时光。希望岁月是一场春梦
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
36437
在线时间
10799 小时
注册时间
2009-3-15
帖子
4814
5
发表于 2019-12-3 12:42:00 | 只看该作者
有没改好的范例工程..
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1027
在线时间
72 小时
注册时间
2019-11-25
帖子
12
6
发表于 2019-12-3 15:26:05 | 只看该作者
我刚花了两周把一个复杂的XP工程移植到VA上就看见了这个(死目)
不过VA功能和逻辑性也强不少就是了……
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
1
星屑
10079
在线时间
4432 小时
注册时间
2005-10-22
帖子
6958

开拓者贵宾

7
 楼主| 发表于 2019-12-3 20:48:39 | 只看该作者
本帖最后由 orochi2k 于 2019-12-3 23:07 编辑
soulsaga 发表于 2019-12-3 12:42
有没改好的范例工程..


来自https://forum.chaos-project.com/index.php/topic,12899.0.html的外国人民
做了一个RMXP转RMVA的工程,在这里:
https://www.dropbox.com/s/41jgf2gv3mca3d3/XPA_2.34.zip?dl=0  (需要科学上网)

然后貌似把RGD丢进去就好了
不过反正我根本没看这个工程里有什么.

石器的加密发布测试版在此
https://mega.nz/#!W9EV3AJB!XdO1i ... BbBhW55ur1yippAumu4
(没有特殊防护,随便找个解RGSS3A的工具能开. 咦....这里突然有好多喵喵的表情 )

点评

喵~不可能~不可能~看楼下 (✺ω✺)  发表于 2019-12-5 00:37
用RGD的话连开始游戏都不行..  发表于 2019-12-4 22:37
不行..那XPA的GAME.EXE是和XPA的脚本兼容的..  发表于 2019-12-4 22:35
拿RGD的去覆盖掉就好了 0.0  发表于 2019-12-4 21:42
测试发现XPA这个与RGD並不兼容...因为都要上自制的GAME.EXE..  发表于 2019-12-4 19:20
回复 支持 1 反对 0

使用道具 举报

Lv4.逐梦者

梦石
1
星屑
10079
在线时间
4432 小时
注册时间
2005-10-22
帖子
6958

开拓者贵宾

8
 楼主| 发表于 2019-12-5 00:30:22 | 只看该作者
本帖最后由 orochi2k 于 2019-12-5 00:40 编辑

于是随手做了个工程,
1,因为懒得从F1拖RMXP的默认的东西了,所以直接拿了XPA的那段丢里面
2, 随便找了个史前TILEMAP实现,(因为石器的那个已经被魔改了,不能给大家直接用 (✺ω✺) 这个效率是很坑的,所以大家还是找个更高效的比较好.)
3,强行压到论坛可耻的2MB大小以内
4,窗口皮肤没改成VA格式,所以窗口很囧,大家自己动手吧
5,因为我是坏人的缘故,所以顺便抢劫论坛货币,售价高达1块钱,喵哈哈哈哈哈哈哈~
6,其实RGD比RMVA的报错时提供的信息少 (✺ω✺)
XPtoRGD_lite.rar (1.91 MB, 下载次数: 121, 售价: 1 星屑)

点评

INI的RTP写法是不是要跟VA格式的一样才行?  发表于 2019-12-6 14:23
那就不要用RTS了嘛,全部丢到工程文件夹里就好了 囧  发表于 2019-12-6 00:37
INI的RTP要设置什么?我把XP的RTP行走图扔到VA的RTP里还是报找不到文件..  发表于 2019-12-5 17:59
1,把RTP丢到工程文件夹 或 2,在INI里设置RTP并把RMXP的RTP丢到RMVA的位置 0.0  发表于 2019-12-5 17:06
有方法读RTP么..大神求救  发表于 2019-12-5 16:45
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
35186
在线时间
4169 小时
注册时间
2007-12-15
帖子
10067
9
发表于 2019-12-5 13:17:19 | 只看该作者
orochi2k 发表于 2019-12-5 00:30
于是随手做了个工程,
1,因为懒得从F1拖RMXP的默认的东西了,所以直接拿了XPA的那段丢里面
2, 随便找了个史 ...

窗口大小还是640*480 角色会走到屏幕外怎么处理?刷新率确实变成60fps明显流畅多了
我新建了一个事件然后保存,显示错误的dll,rmxp编辑器不能用了?

点评

谢谢,我试试看  发表于 2021-1-19 09:12
把RMXP和RMVA的DLL都丢游戏工程目录里,因为RGD会去调用RMVA的DLL,而RMXP会去给INI写RMXP的DLL,发布前删掉RMXP那个就好了。  发表于 2021-1-19 00:20
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
1
星屑
10079
在线时间
4432 小时
注册时间
2005-10-22
帖子
6958

开拓者贵宾

10
 楼主| 发表于 2019-12-5 13:31:53 | 只看该作者
本帖最后由 orochi2k 于 2019-12-5 13:35 编辑
89444640 发表于 2019-12-5 13:17
窗口大小还是640*480 角色会走到屏幕外怎么处理?刷新率确实变成60fps明显流畅多了
我新建了一个事件然后 ...


game.ini里设置正确的dll
偷懒的做法是复制一个RGSS301.DLL 改名为RGSS10(某数字)J.dll

窗口大小的问题,插一段 Graphics.resize_screen(640,480) 到MAIN里面你觉得合适的地方    
刷新频率可以写脚本改到120+   这个功能甚至能让你的电脑在冬天发热做取暖设备(大雾)
回复 支持 反对

使用道具 举报

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

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-23 21:46

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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