Project1

标题: 请问有没有XAS系统的教程呀 [打印本页]

作者: 蘑菇王魔理沙    时间: 2024-7-17 00:51
标题: 请问有没有XAS系统的教程呀
大家好,请问有没有关于XAS系统的详细教程,自己摸索制作总是提醒脚本发生错误,不断的修修改改,如果有详细教程就好了_(:з」∠)_。先谢谢大家了。
作者: 魔法丶小肉包    时间: 2024-7-17 11:19
以前用过,感觉官方范例里已经写的很详细了,遇到什么问题的话可以发出来大家一起看看
作者: 蘑菇王魔理沙    时间: 2024-7-30 16:57
魔法丶小肉包 发表于 2024-7-17 11:19
以前用过,感觉官方范例里已经写的很详细了,遇到什么问题的话可以发出来大家一起看看 ...

不好意思,现在才看到回复,是这样的,我重新复习了一遍白雪羊圣域的翻译教程,大多数已经看懂了,但还是有一些没懂的。比如:
范例战斗地图中的脚本:
$game_party.members[0].item_id = 5
$game_party.members[0].skill_id = 24
$game_party.members[1].item_id = 1
$game_party.members[1].skill_id = 32

这里的ID是指的什么,我在范例地图里增加了一些自己试做的技能物品之类的东西后进范例战斗地图后就会显示脚本错误弹出,也没搞懂到底是哪里出错了,想问问这个是什么。

第二个是XAS脚本系统和无限图层显示系统有冲突,不能同时使用,我一般制作地图会用到无限图层显示系统,所以有些不方便,请问一下这个怎么解决?
作者: chen12311    时间: 2024-7-31 03:28
本帖最后由 chen12311 于 2024-7-31 04:21 编辑

不知道同问
作者: chen12311    时间: 2024-7-31 22:23
chen12311 发表于 2024-7-31 03:28
不知道同问

没,只是想了解多一点
作者: 蘑菇王魔理沙    时间: 2024-8-5 21:51
魔法丶小肉包 发表于 2024-7-17 11:19
以前用过,感觉官方范例里已经写的很详细了,遇到什么问题的话可以发出来大家一起看看 ...

_(:з」∠)_ 不好意思,我不会上传图片,它这个弹出的错误我自己打了出来:

【   脚本"Game_Interpreter"第1409行:发生NoMethodError。
       undefined method'item_id='for nil:NilClass     】

无限图层因为脚本冲突是这个:
【脚本无限图层显示系统第209行:发生RGSSError
      disposed sprite】

真是麻烦您了!先谢谢你的帮助!

作者: 魔法丶小肉包    时间: 2024-8-9 14:34
蘑菇王魔理沙 发表于 2024-7-30 16:57
不好意思,现在才看到回复,是这样的,我重新复习了一遍白雪羊圣域的翻译教程,大多数已经看懂了,但还是 ...

角色有道具栏和技能栏,那么item_id就是道具栏,skill_id是技能栏,它们的值对应的数据库里的相应的ID
看你的报错讯息,你在某个事件中修改了item_id,但是调用item_id的那个对象返回了nil,我推测你是直接复制的$game_party.members[n],这个n你给的数字超出了你的队伍角色数量,最有可能的是你不知道是从0开始,不是从1开始,也就是队伍中第一个角色是0,第二个才是1而不是2,也就是说这个报错跟你设定的物品是否可以正常使用毫无关系

然后无限图层脚本我没使用过,也不知道你用的是哪个以及有没有修改过什么内容
但是根据你的报错讯息可以尝试做以下的操作,应该可以避免报错(但也只是避免报错而已,如果真的有bug这样做是不够的,比如在显示上有什么奇怪的问题之类的
找到这个209行,然后应该是有个格式差不多是 精灵.xxx 这样类型的,大多数情况是@xxx.xxx
假设是@sprite.update
那么你改成@sprite.update unless @sprite.disposed?
也就是a.xxx unless a.disposed?
(不知道你有没有看懂,应该很清楚了...
作者: 哇哇哇啊叭叭    时间: 2024-8-9 15:27
本帖最后由 哇哇哇啊叭叭 于 2024-8-9 10:49 编辑

  这个没有教程。否则可能得出一本小册子了。
  可以看翻译和范例。倒是有几个人翻译过这个系统,最新的可能是一个叫做空猫汉化的,里面还有个汉化版的帮助文档。但这个脚本的原作者估计已经停更了,哎...感觉RM这玩意前途堪忧啊...

  感觉下面这些脚本指的是在战斗中,屏幕最下方有一行技能、道具等的槽,把下列槽中,填充上下列内容
$game_party.members[0].item_id = 5  #这个意思是队伍中,第一个角色的道具槽里的道具变为5。
$game_party.members[0].skill_id = 24 #队伍中,第一个角色的技能槽里的技能变为24
$game_party.members[1].item_id = 1 #队伍中,第二个角色的道具槽里的道具变为1
$game_party.members[1].skill_id = 32#同理

  怎么弄清楚这些东西呢?
  核心的算法是二分法和对照试验:
  先在游戏启动的地图里,p一下$game_party.members[0].item_id,它显示“找不到xxx的nil在nil的class里”,说明$game_party.members[0]和$game_party.members[0].item_id都是nil。在第一个战斗图里p一下$game_party.members[0].item_id,它显示5。
  这说明在两个地图之间,这个东西出现了。那么我们找到这两个场景最中间的场景。比方说它从初始场景到战斗场景共经历了5个场景,我们就可以找到第三个场景,再p一下这个东西;如果没有,就在第四个场景里p一下...
  这就是二分法。
  最后我们确定这个东西从id为10的地图里开始有了。于是遍历所有的事件,在id为1的事件里找到了原文。从代码来看,.item_id表示$game_party.members[0]的蓝图里有个叫def item_id或 :item_id的东西。而全局搜索它们,发现这是xas后加上去的代码,写在Game_Actor这个蓝图的补充里。
  这个只能靠经验和试错来理解...
  然后我们把5改成其他数字,最后如果道具真的变成相应的东西,那就证明我们的猜测没错。
  这就是对照实验(当然很不严谨,就这个码字速度,要追求严谨就得下个世纪再做游戏了)。

  从这个过程来看,用RM做其他形式的游戏,或是使用稍微复杂一点的代码,都需要把代码它姥姥都调查清楚。这一点也不符合RM是个玩具的设定,完全感觉就是,要用一个玩具乐高来造一个真正的汽车...是不是现在还有人有那种八九十年代的幻想:在自己家的车库里用废物造一个飞机或者汽车出来!?
  那么最优解就是,好好学代码,慎重选择游戏引擎。或者直接用乐高造乐高算了。

  总之,这个活有点像“我们用闲暇时间,来挑战别人作为饭碗来从事的行业”。最好的训练就是作为饭碗来进行训练,那是真正的专项训练,效度才足够。


P.S.我靠,感觉除了这个贴,都是我最近在做的东西...



作者: 蘑菇王魔理沙    时间: 2024-8-10 16:27
魔法丶小肉包 发表于 2024-8-9 14:34
角色有道具栏和技能栏,那么item_id就是道具栏,skill_id是技能栏,它们的值对应的数据库里的相应的ID
看 ...

ID我已经搞明白了,谢谢您和下面那位大佬为我讲解!【感谢鞠躬

而关于无限图层脚本,我使用的是这位大佬制作的:
https://rpg.blue/thread-367901-1-1.html
刚发现他更新到了17年的新版本,而我用的还是15年的(。
于是换成了17年的,结果还是同样的问题……
只不过是从第209行变成了215行……(。
这行并非是精灵.xxx 这种格式,而是  end。并且15年和17年的版本都是在相同的地方脚本报错。
关于这段代码是这样的:
【    # 在一个 sprite 或 plane 的上下文中执行的代码。
    # 如果难以理解,请尝试输出这段代码来查看。
    def init_container_code
      "#{binding_code}
      #{init_attr_code}
      #{define_update_code}
      #{define_dispose_code}
      #{extract 'eval'}"
    end  】

我尝试删除了这段,但是那样就无法运行脚本了(。
最终我选择舍弃掉【XAS的特效插件:远景特效变化】后便可以正常运作无限图层脚本了。应当是二者的远景效果产生了冲突。

总之,非常感谢您的帮助和耐心回答!谢谢!!!


作者: 蘑菇王魔理沙    时间: 2024-8-10 16:33
哇哇哇啊叭叭 发表于 2024-8-9 15:27
这个没有教程。否则可能得出一本小册子了。
  可以看翻译和范例。倒是有几个人翻译过这个系统,最新的可 ...

谢谢您的详细解答!
作为RPG游戏制作爱好者or初学者,代码确实不友好,每次制作一些麻烦的玩法都需要请教下别人。
不过关于XAS我已经看过那个汉化帮助文档了,大多数都搞明白了(主要是制作BOSS),实在搞不明白复杂的我也不需要制作(。
总之谢谢您!





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