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

Project1

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

[有事请教] Rgss系列写3版本通用的脚本要注意什么?

[复制链接]

Lv4.逐梦者

梦石
0
星屑
8498
在线时间
775 小时
注册时间
2017-11-10
帖子
1231
跳转到指定楼层
1
发表于 2018-4-6 11:55:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
脚本新人虽然已经写过几个通用的脚本。
但并不能说是"通用",只能说修改一下语句才能到各版本里正常使用脚本。
毕竟Rgss系列的3版本的代码并不是一致的。
所以想请教一下各位前辈。
写这类型的通用的脚本要注意什么?
就是说一段脚本放入3个Rgss系列的脚本编辑器里都能使用,且不需要修改。
一个只会简单事件的Rm新人,脚本完全不懂。只求做个简单的游戏完成自己的游戏之梦而已。
第一个游戏已经完成,等待各素材的完成和测试。

Lv5.捕梦者 (版主)

梦石
28
星屑
10170
在线时间
4673 小时
注册时间
2011-8-22
帖子
1279

开拓者

2
发表于 2018-4-6 12:12:39 | 只看该作者
比如涉及到一些和版本没什么关联的,或者说比较基础的部分,比如全键盘操作啊,文件缺失处理啊,各版本通用的就会多一些。

涉及到游戏具体内容的,比如角色、地图、战斗这些,就很难通用了……

点评

是啊,所以……默认情况下还是假设成“无法通用”吧。  发表于 2018-4-6 14:28
是的。所以才不好用一段脚本实现...都要做后期的移植等处理才能通用。  发表于 2018-4-6 14:04
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3650
在线时间
899 小时
注册时间
2017-10-30
帖子
347
3
发表于 2018-4-6 12:42:10 | 只看该作者
  1. p "hello world"
复制代码
啥都会,啥都不擅长
一个VA群:679174724 欢迎来玩
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
5
星屑
3419
在线时间
390 小时
注册时间
2016-6-25
帖子
232
4
发表于 2018-4-6 12:43:38 | 只看该作者
基本上设计到Party类、Troop类、Map类含大量术语的都不能通用
魔女的下午茶~~制作组募集~~有偿招募长期立绘画师~群号168579736~~多人在线RPG~~无意识Navigation,火热内测中,招内测人员~
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (版主)

梦石
1
星屑
24009
在线时间
3339 小时
注册时间
2011-7-8
帖子
3926

开拓者

5
发表于 2018-4-6 12:57:00 | 只看该作者
在xp上能用的,一般改改就能上vxva,反之就可能原地爆炸……

点评

那是升天级别了···  发表于 2018-4-6 13:27
熟悉rgss和ruby,xp区版主~
正在填坑:《膜拜组传奇》讲述膜拜组和学霸们的故事。
已上steam:与TXBD合作的Reformers《变革者》
* 战斗调用公共事件 *
* RGSOS 网络脚本 *
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
9280
在线时间
2504 小时
注册时间
2011-5-20
帖子
15389

开拓者

6
发表于 2018-4-6 13:29:03 | 只看该作者
想要偷懒全通用不太可能,真要这么干你还不如直接把默认脚本全部推翻重写···即使推掉重写,这三个的ruby版本有高低差别,低版本的相比高版本还少了点东西呢

点评

向下兼容原则:高版本包含低版本所有的功能,低版本正是因为东西没高版本多才可以直接适用在高版本环境  发表于 2018-4-6 14:26
[img]http://service.t.sina.com.cn/widget/qmd/5339802982/c02e16bd/7.png
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
33682
在线时间
5108 小时
注册时间
2012-11-19
帖子
4878

开拓者

7
发表于 2018-4-6 13:59:10 | 只看该作者
最基本的,自动判断当前是哪个版本,判断好了一切都好办了。
其它的一些无非就是多写一点脚本而已。
if 版本 == A
  class AAA
  end
elsif 版本 == B
  class AAB
  end
end
xp vx va mv  va mz 各类型脚本/插件定制
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
8498
在线时间
775 小时
注册时间
2017-11-10
帖子
1231
8
 楼主| 发表于 2018-4-6 14:03:36 | 只看该作者
芯☆淡茹水 发表于 2018-4-6 13:59
最基本的,自动判断当前是哪个版本,判断好了一切都好办了。
其它的一些无非就是多写一点脚本而已。
if 版 ...

版本判断?直接可以用"VA""VX""XP"这样来判断吗?
芯前辈的脚本好像也是这么做的...还用了挺多问号冒号表达式...
但是我不知道这个方法是不是真的能放到各编辑器里执行...
一个只会简单事件的Rm新人,脚本完全不懂。只求做个简单的游戏完成自己的游戏之梦而已。
第一个游戏已经完成,等待各素材的完成和测试。
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
33682
在线时间
5108 小时
注册时间
2012-11-19
帖子
4878

开拓者

9
发表于 2018-4-6 14:17:17 | 只看该作者
本帖最后由 芯☆淡茹水 于 2018-4-6 14:18 编辑
文雅夕露 发表于 2018-4-6 14:03
版本判断?直接可以用"VA""VX""XP"这样来判断吗?
芯前辈的脚本好像也是这么做的...还用了挺多问号冒号表 ...


你可以试试最简单的版本判断,放到每个版本 p 一下看是什么。
只要外挂脚本没有增加定义对应的模块,或者手欠把默认模块删掉的,就不会判断错的。
  1. module Edition
  2.   def self.type
  3.     return defined?(Sound) ? (defined?(SceneManager) ? "VA" : "VX") : "XP"
  4.   end
  5. end
  6. p Edition.type
复制代码

点评

因为你不知道哪个特性会不会polyfill进来或者被undef掉,根据行为来判断是否有某行为,不要根据版本标签来  发表于 2018-4-12 02:15
别直接判断版本,要啥特性直接判断啥特性 [使用msgbox if defined?(msgbox) ]  发表于 2018-4-12 02:14
谢谢芯前辈的指教。在这简单的版本判断看起来可以扩展很多的内容,谢谢。我会试试。  发表于 2018-4-6 14:28

评分

参与人数 1+1 收起 理由
文雅夕露 + 1 谢谢芯前辈

查看全部评分

xp vx va mv  va mz 各类型脚本/插件定制
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
4598
在线时间
1206 小时
注册时间
2016-4-7
帖子
982

开拓者

10
发表于 2018-4-6 14:29:25 | 只看该作者
说下三版的ruby版本差异

va 是1.9 xp和vx都是1.8
所以va是有fiber的 而vx和xp则没有
但是!ruby1.8依然有callcc 所以就有了基于callcc来实现的fiber http://www.khjk.org/log/2010/jun/fibr.html

更多api变动相关:
en: https://stackoverflow.com/questi ... by-1-8-and-ruby-1-9

zh-cn: http://stackoverflow.org.cn/front/ask/view?ask_id=22301

评分

参与人数 1+1 收起 理由
文雅夕露 + 1 谢谢科普

查看全部评分

附庸的附庸不是我的附庸,女儿的女儿还是我的女儿。CK2沉迷ing
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-1-10 17:03

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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