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

Project1

 找回密码
 注册会员
搜索

如何聰明地弄出逃跑道具

查看数: 3049 | 评论数: 5 | 收藏 1
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2016-1-2 14:56

正文摘要:

实际上最近想弄个逃跑道具 上网查过,以前VX时逃跑道具几乎都写脚本之类 参照了一下道具设置 道具本身有能添加逃跑的特殊效果 然而问题在於设置了後才发现这个逃跑和自方撤退时的逃跑是两回事 如果自方全部都用这个 ...

回复

夏末渐离 发表于 2016-1-3 01:22:21
本帖最后由 夏末渐离 于 2016-1-3 01:24 编辑
andrewx 发表于 2016-1-2 18:36
公共事件执行脚本:这之后事件中断战斗

我想知道特殊效果那个逃跑到底什么意思。。。 ...

最醒目的processEscape方法

然后从processAbort出发


来到了用于判定的endBattle方法

找到了关键字battleEnd

最后新人表示被戏耍了,真正作用竟然是SceneManager.pop().……

点评

我也在纠结逃跑信息诡异中断的解决思路呢……  发表于 2016-1-4 01:14
辛苦了,原来scene的管理是按stack来的,原来如此好像明白了什么。但是我还是不理解为什么直接在脚本里用processAbort()会连信息都不显示完全就结束.....  发表于 2016-1-3 10:47
tmh2009 发表于 2016-1-2 23:31:40
andrewx 发表于 2016-1-2 18:36
公共事件执行脚本:这之后事件中断战斗

我想知道特殊效果那个逃跑到底什么意思。。。 ...

感谢您的建议
目前我自己也找到折衷的办法,配合你的写法就比较完美了

首先是「烟雾弹」的道具效果有两个∶「添加状态∶烟雾逃跑100%」&「公共事件∶逃跑」
然後在状态那边新增一个「烟雾逃跑」的状态,这个状态纯粹是拿来放战斗LOG的
我是打上了「(目标名称) 放出大量烟雾遮盖敌人视线!」
然後再接上你那个脚本逃跑时的「某某某的队伍成功逃跑了」的句子就很完美了。

点评

但是如果直接用这句在事件脚本里逃跑的log还没显示好就会切回地图,然后逃跑log再出现一遍,效果非常的诡异233  发表于 2016-1-3 00:57
于是我终于发现了有用的是BattleManager.processAbort();XD  发表于 2016-1-2 23:52
感觉不错~我脚本那两句就是系统在判定逃跑成功后做的事情,一句出log,一句全员触发撤退动画  发表于 2016-1-2 23:35
夏末渐离 发表于 2016-1-2 22:37:09
本帖最后由 夏末渐离 于 2016-1-2 23:59 编辑

JAVASCRIPT 代码复制
  1. /*:
  2.  * @author XMJL
  3.  * 如在公共事件使用脚本:escape_event('Loading');
  4.  * 将此公共事件添加到道具的效果上,在战斗中使用该道具即可逃跑。
  5.  */
  6. var escape_event=function(BitmapName)
  7. {
  8.     var LOGO=new Sprite(ImageManager.loadSystem(BitmapName));
  9.     LOGO.anchor.x=0.5;
  10.     LOGO.anchor.y=0.5;
  11.     LOGO.x=Graphics.width/2;
  12.     LOGO.y=Graphics.height/2;
  13.     $gameParty.removeBattleStates();
  14.     $gameParty.performEscape();
  15.     SoundManager.playEscape();
  16.     var viewport=Scene_Battle.prototype.update;
  17.     Scene_Battle.prototype.update=function()
  18.     {
  19.         viewport.call(this);
  20.         if(this.isActive())
  21.             this.removeChild(LOGO);
  22.         else
  23.         {
  24.             this.addChild(LOGO);
  25.         }
  26.     };
  27.     BattleManager.processAbort();//中断战斗成功
  28. };

点评

加入BattleManager.displayEscapeSuccessMessage()为什么老是弹出两次的呢,算了……  发表于 2016-1-2 23:59
logo也可以自定义的。放在img/system下任意图片名字都可以被使用。  发表于 2016-1-2 23:29
我感觉还要走上提示消息的窗口……我再改改  发表于 2016-1-2 23:28
這個多加了loading的logo也不錯,謝謝提供建議  发表于 2016-1-2 23:23

评分

参与人数 1梦石 +1 收起 理由
余烬之中 + 1 0x0

查看全部评分

andrewx 发表于 2016-1-2 18:36:38
公共事件执行脚本:
  1. BattleManager.displayEscapeSuccessMessage();
  2. BattleManager._escaped = true;
复制代码
这之后事件中断战斗

我想知道特殊效果那个逃跑到底什么意思。。。

点评

你先做一个恐吓的技能,然后效果添加逃跑效果,再让敌人拥有恐吓技能就行了。  发表于 2016-1-2 23:26
看了眼F1好像是这样的,放给己方会导致该队友本场战斗无经验...这鸡肋的设定ORZ  发表于 2016-1-2 23:22
特殊效果逃跑我推測應該是拿來給敵人用的,因為對敵方全員用可以達至類似對方全員被嚇跑的樣子  发表于 2016-1-2 23:15
哈哈要多多全局查找默认脚本直接用现成的就好了,一个事件中断战斗可以省下好多事儿233  发表于 2016-1-2 20:00
我弄了一个小时XD,老想着要把Scene_Battle移走换成Scene_Map  发表于 2016-1-2 19:09

评分

参与人数 1梦石 +1 收起 理由
余烬之中 + 1 0x0

查看全部评分

trentswd 发表于 2016-1-2 16:35:23
本帖最后由 trentswd 于 2016-1-2 16:38 编辑

加战斗日志必须使用脚本了
另外我得吐槽一下,“一般剧情”是公共事件,虽然我觉得机翻也不会吧Common Event翻译成一般剧情,实在是很神奇……呃,我是说楼主可能去巴哈找个繁体翻译修正比较好

效果里面的逃跑是仅用于“逃跑”指令

用公共事件配合脚本能做,不过我自己不是原生工程,是用了YEP的,不知道不用会不会有问题
在公共事件里面加入
  1. if(SceneManager._scene instanceof Scene_Battle){
  2.   var actorIndex = BattleManager._actorIndex;
  3.   BattleManager.selectNextCommand();
  4.   BattleManager._actorIndex = actorIndex;
  5.   SceneManager._scene.commandEscape();}
复制代码
试了一下 原生环境下出错

点评

错了,是BattleManager.processAbort();  发表于 2016-1-2 23:52
有靈感弄出折衷的東西來了  发表于 2016-1-2 23:23
学习到BattleManager._escaped = true才是逃跑原理。  发表于 2016-1-2 22:45
一般剧情XD  发表于 2016-1-2 16:59

评分

参与人数 1梦石 +1 收起 理由
余烬之中 + 1 0x0

查看全部评分

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

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

GMT+8, 2024-11-15 10:50

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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