Project1

标题: 脚本问题 [打印本页]

作者: 前世涅缘    时间: 2016-5-15 12:14
标题: 脚本问题
请教几个脚本的问题啊:
1.队伍成员全灭之后怎么让他只复活第一个角色(一般是主角),脚本默认的貌似都会复活,但是都只有1HP:
2.在脚本编辑器插入脚本很简单,那怎么在事件里插入脚本啊,貌似复制之后显示的还是空的,还有些看别人的范例事件里就放了个全局变量,那种是什么情况呢:
刚刚学习脚本,正在继续努力中,希望各位大大指教,另外有没有什么可以推荐的教程,具体点的那种,系统自带的汉化本帮助资源不多啊,希望能多点示例解读下!
作者: 御曹司    时间: 2016-5-15 16:32
第一个事件完全可以用事件做到吧?
第二个的话事件页最后一页的“脚本”来输入
作者: 前世涅缘    时间: 2016-5-15 17:35
御曹司 发表于 2016-5-15 16:32
第一个事件完全可以用事件做到吧?
第二个的话事件页最后一页的“脚本”来输入 ...

第二个我知道啊,事件页第一页有个“变量操作“里面可以用到脚本,还有一个是第三页的“高级→脚本”,我的意思是输入些什么东西,复制粘贴貌似不行啊,还是我操作错误!
作者: 前世涅缘    时间: 2016-5-15 23:31
前世涅缘 发表于 2016-5-15 17:35
第二个我知道啊,事件页第一页有个“变量操作“里面可以用到脚本,还有一个是第三页的“高级→脚本”,我 ...

举个例子,手上有个脚本,然后我弄了个事件,插入脚本,然后我复制了脚本粘贴进去,但是点了确定之后里面还是空的
作者: 李牧羊    时间: 2016-5-16 19:50
本帖最后由 李牧羊 于 2016-5-16 20:04 编辑

1.  第一种情况,如果没有记错的话,VA预置是没有这种设计的。想要实现hp=0的功能,应该只有编辑脚本才行。但如果仅想要“头像变化”、“行动限制”的话,事件应该可以代替
2.  这种情况是因为:脚本框太小。具体解决方式,需要注意两点:
  1)  可以使用第三方软件修改之,也可以用其他方法
[第三方]https://rpg.blue/thread-276636-1-1.html
[其他]https://rpg.blue/thread-280768-1-1.html
[其他]另外T大也有一个【使用小段字符代替大段名称】的脚本,亦可缓解此问题,这里就不贴了,他脚本太多,找起来好麻烦

  2)  这里不是插入【大段脚本】的地方
在下建议,在事件中插入的脚本,功能与字数尽量简单些,功能主要以存储、调取、判断等简单功能为主;在下猜测,如果在这类地方插入大段【插件】性质的脚本,很可能会报错。
首先,VA脚本的读取是【从上到下】有【顺序】的
其次,脚本一般遵循从上到下的【继承】关系
因此,在事件中插入脚本,可能会导致一些bug






PS:
能够插入脚本的地方,至少有三处
1.  【变量操作】——【脚本】
2.  【高级】——【脚本】
3.  【设置移动路线】——【脚本】
在下认为,阁下可能需要这个【事件脚本指令】:
http://my.oschina.net/Vortur/blog/669728


作者: 前世涅缘    时间: 2016-5-16 22:12
李牧羊 发表于 2016-5-16 19:50
1.  第一种情况,如果没有记错的话,VA预置是没有这种设计的。想要实现hp=0的功能,应该只有编辑脚本才行。 ...

首先感谢大大一下写了这么多,够我看的了:
1.第一个问题貌似解决了,脚本默认会复活全员,并且HP=1,先前还想着用变量带入角色最大HP,然后执行灭团传送到教堂的时候再用事件减去角色最大HP,以此达到让除了队长之外其他人HP=0的死亡效果,发现不行,后来直接用HP-1就行了,看来还是要和系统自动处理的结果挂钩,不然复活后HP=1,然后减去最大HP肯定是负数了,估计就是因为这样所以不行;
2.第二个问题貌似就是你说的了,我就是不知道脚本里该弄些什么东西进去,就比如说你说的,插入些简单的判定类的,就是不知道用专业术语怎么写,下面发的那个链接貌似满有用的,真的仔细看看!

PS:灭团传送的问题算是基本解决了,不过还有一个有点违和的东西,比如说野外在一棵树旁边暗雷遇敌灭团了,然后就是黑屏出现系统自带的字幕“XXX团灭了”之后不是直接执行传送,而是先返回到遇敌的场地镜头,然后才传送,能不能掐掉这个镜头,团灭黑屏字幕之后直接传送。


这个图是我仿造F1汉化里面解读篇加的一小段,做一个能传送的道具,效果是在迷宫内无法使用,提示“无法使用”,83号开关就是进入迷宫打开的“无法传送”,但是加入了这一段之后在城市和世界地图都无法使用了,求指教啊!
先前用的是3号公共事件,下面插入脚本也就是我上面说的那个问题,脚本太长插入无效,所以才尝试加入下面那段脚本,结果还是不行!

搜狗截图16年05月16日2138_4.png (15.26 KB, 下载次数: 33)

搜狗截图16年05月16日2138_4.png

搜狗截图16年05月16日2210_5.png (6.93 KB, 下载次数: 34)

搜狗截图16年05月16日2210_5.png

作者: 李牧羊    时间: 2016-5-17 00:43
本帖最后由 李牧羊 于 2016-5-17 01:00 编辑

还是先说第一个问题
1.  没有测试过,不过觉得“-1”这个思路可能能行,但是也可能不行。具体还要看原来脚本中的写法
第二个问题
2.  插什么,这个真的说不清了;好在常了可以感觉出来。不过在下给出的【VA 事件脚本指令】中的大多都能插入;其功能基本是【事件指令】列表中的内容,不过写成了脚本的形式而已。

3.  【团灭传送】这个在下没有看懂。
  在【脚本编辑器】中,全局查找“SceneManager.goto(Scene_Gameover)”字段,即可查出全部与【队伍全灭画面】有关的判定;约共有3处,分别对应
  1)  战斗中全灭,且关闭【全灭继续剧情】时
  2)  事件中,直接使用指令【结束游戏】
  3)  hp增减后,捕捉“ho=0,且队伍全灭”的状态
根据这三处修改,应该可以解决这类问题

4.  无法使用
“加入了这一段之后在城市和世界地图都无法使用了”是指【物品】无法使用了吗?还是【无法正常传送】了?

关于4.,说一些题外的话:
1.  class Game_BattlerBase是管理“战斗”的类,Game_Battler、Game_Actor等下面几个类,都是继承地它;而F1过度汉化版中给出的【传送物品】范例则完全没有涉及这个类,如果不是有意为之——比如仅想使【战斗中的物品具有传送技能】,那么应该就是阁下的失误了。阁下没有认真阅读前面的部分,比如【类定义】章节

2.  F1过度汉化版中,所涉脚本全部都是在【脚本编辑器】中完成的,可能处于其功能实现的必要。这些内容到底是否可以放在【事件脚本】中,需要严格的实验证明。首先要保证【代码本身是可以在“脚本编辑器”中运行的】,然后才能够使用【控制变量法】来验证“事件脚本中,可否使用上述代码”

3.  在“usable_item_conditions_met?(item)”方法中,阁下的代码书写应该有个错误。
  在else上方的那个“false”,是否是处于笔误?



作者: 前世涅缘    时间: 2016-5-17 00:56
李牧羊 发表于 2016-5-17 00:43
还是先说第一个问题
1.  没有测试过,不过觉得“-1”这个思路可能能行,但是也可能不行。具体还要看原来脚 ...

这么晚还在帮我解决问题呢,真是感谢:
那个团灭呢,自带的情况是全员都死了就转到“GAME OVER”画面了,我找了些帖子看到了些大大的指点加了句$game_temp.reserve_common_event(7) #()内为暗雷死亡时调用的公共事件id,然后就不会OVER了,会传送到我指定的地方复活过来继续游戏,唯一的问题是传送之前会先切换到遇敌时的画面,我在想是不是SceneManager.return这个东西,但是我注释掉了貌似出错了;
然后那个传送道具的设定就是在迷宫无法使用,希望能帮忙解决下。

PS:这么晚还是早点睡吧!
作者: 李牧羊    时间: 2016-5-17 01:14
本帖最后由 李牧羊 于 2016-5-17 01:53 编辑
前世涅缘 发表于 2016-5-17 00:56
这么晚还在帮我解决问题呢,真是感谢:
那个团灭呢,自带的情况是全员都死了就转到“GAME OVER”画面了, ...


谢谢!
1.  【团灭先进入战斗场景】
  这个问题应该是因为【判定是否团灭】的判定,是在“战斗内”触发的。如想“跳过战斗场景,直接进入复活画面”,可能要增加一个【还没团灭,但濒临团灭时,触敌自动判定为团灭】的功能。解决方法不明

2.  阁下的代码没有大错,只是【】少写了一个等号,因此,开关总被判定为开。具体:
  1)  将预设物品设置为【效果范围——无】“对人使用”与“使用”是不同的两个方法。因此在物品设定时要区别对待
  2)  == 与 = 是不同的,在判定中要用==
  3)  阁下的flase不是多余的,只是因为在下没有读过范例,因此误会了。

一、方案1,可以达到阁下的效果,缺点是【传送失败也会消耗物品】
13号开关打开时,注释物品才可传送

二、方案2,修改了等号的错误。但是一旦这样写,将导致
1.  物品总是显示【可用】
2.  但物品栏有此物品,即使不使用物品,退出菜单,也会调用“不可用”的提示公共事件
切莫这么改1

三、方案3,同上
也不可这么改2


作者: 前世涅缘    时间: 2016-5-17 15:07
李牧羊 发表于 2016-5-17 01:14
谢谢!
1.  【团灭先进入战斗场景】
  这个问题应该是因为【判定是否团灭】的 ...

那个公共事件是我自己胡乱加的,因为不会改脚本所以试着用公共事件实现,现在把那个“=”改成“==”貌似就OK了,虽然效果没预期那样,但是至少实现了目的。预期目的是传送道具在迷宫地图使用会弹出“无法使用”,而不是现在的名字变黑无法点击。关于方案1的缺点也不算太大问题,后面会学会传送咒文,再说一般情况下使用这种特定功能物品应该不会取消使用了,总之这个问题算基本解决了,感谢大大不辞辛苦!{:2_251:},






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