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

Project1

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

[已经解决] 如何在全员死亡的情况下战斗不结束?

[复制链接]

Lv3.寻梦者

梦石
0
星屑
1587
在线时间
594 小时
注册时间
2014-7-9
帖子
105

开拓者

跳转到指定楼层
1
发表于 2015-8-5 00:16:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
XP在一般的情况下,只要所有参战队员死亡就会战斗结束,也就是GAME OVER.
请问一下要怎么样才能做到即使全员死亡,战斗依然持续,而不是游戏结束.(可以用事件结束游戏或者战斗的前提下)

Lv1.梦旅人

梦石
0
星屑
117
在线时间
1422 小时
注册时间
2008-8-30
帖子
999
2
发表于 2015-8-5 02:05:18 | 只看该作者
事件战斗处理那里,勾选失败的话继续,那里就可以设置了分歧失败了的场合和胜利的场合
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
7
星屑
1113
在线时间
334 小时
注册时间
2008-1-28
帖子
1566
3
发表于 2015-8-5 10:45:25 | 只看该作者
本帖最后由 未命名 于 2015-8-6 16:09 编辑

稍微这么做:

在Scene_Battle 1的116行 设置游戏结束标志 那里作如下修改:
将:
RUBY 代码复制
  1. # 设置游戏结束标志
  2.       $game_temp.gameover = true
  3.       # 返回 true
  4.       return true


改为:
RUBY 代码复制
  1. #$game_switches[x]里面的数字改成你想要的变量编号。
  2.       #第一个是打开战斗失败不结束战斗的开关。
  3.       if $game_switches[1] == false                                          #
  4.       $game_temp.gameover = true
  5.       # 返回 true
  6.       return true
  7.     else                                                                  #
  8.       #这个是执行事件的开关。
  9.         $game_switches[2] = true                                           #
  10.         return false                                                        #
  11.       end


然后在想要这么做的战斗中制作个条件为开关2(或者你想要的)打开,距离为“战斗”或“暂时”的战斗事件,
内容随意。
比如:


如果事件执行结束后还要继续战斗……请复活角色,要不然BUG。

记得之后把开关都关上,要不然下次又执行。

还有注意不要把脚本return true下面的end删掉……

———————————————————————————————————————————————————

好吧,如果希望战斗继续经过回合,同时又能在之后触发事件,把上面第一个开关一直开就好了(先前说是变量搞错了)。

但是如果角色全灭后还有没行动的人正好发动单体攻击就会报错,
所以:
在Scene_Battle 4中找到“行动方的战斗者是敌人的情况下”下面的
RUBY 代码复制
  1. if @active_battler.restriction == 3
  2.           target = $game_troop.random_target_enemy
  3.         elsif @active_battler.restriction == 2
  4.           target = $game_party.random_target_actor
  5.         else
  6.           index = @active_battler.current_action.target_index
  7.           target = $game_party.smooth_target_actor(index)
  8.         end


插入下面的脚本中。
RUBY 代码复制
  1. for actor in $game_party.actors
  2.           if actor.exist?
  3.  
  4.             #在这里插入。
  5.  
  6.             break
  7.           end
  8.         end


再下来一点的“设置对像方的战斗者序列”
RUBY 代码复制
  1. @target_battlers = [target]
  2.       # 应用通常攻击效果
  3.       for target in @target_battlers
  4.         target.attack_effect(@active_battler)
  5.       end

用下面的脚本包围
RUBY 代码复制
  1. if target != nil
  2.  
  3. #放在这。
  4.  
  5. end


最后是“设置物品或特技对像方的战斗者”下面的“敌单体”那有
RUBY 代码复制
  1. @target_battlers.push($game_party.smooth_target_actor(index))

变成
RUBY 代码复制
  1. for actor in $game_party.actors
  2.           if actor.exist?
  3.             @target_battlers.push($game_party.smooth_target_actor(index))
  4.             break
  5.           end
  6.         end

就完事了。

于是,在我方全灭后,战斗就不断地循环回合,我方动不了地方也不动,但是如果有战斗事件依然执行。
如果要加入些控制选项还要在窗口那改……

点评

测试暂时没有问题.非常感谢,我想要的就是这个效果.  发表于 2015-8-7 04:15
感谢,我去试试  发表于 2015-8-7 03:01

评分

参与人数 1梦石 +1 收起 理由
hys111111 + 1 认可答案

查看全部评分

终于有可以放在这里的游戏了……
极短13 新生 《箱子新世界》
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1587
在线时间
594 小时
注册时间
2014-7-9
帖子
105

开拓者

4
 楼主| 发表于 2015-8-5 22:31:33 | 只看该作者
未命名 发表于 2015-8-5 10:45
稍微这么做:

在Scene_Battle 1的116行 设置游戏结束标志 那里作如下修改:

抱歉,这么晚才回信息.
那个,如果我不是特定的战斗,而是所有战斗都是这个效果要怎么改?
就是所有战斗就算灭团了战斗依然持续.不会直接结束战斗,其他保持不变(这个修改不影响我像默认那样随时用事件去中断战斗或者结束游戏)

点评

但是战斗依旧进行,敌人行动时可能会找不到对象而报错,这个要看情况修改。  发表于 2015-8-6 14:41
只要你保持第一个开关(示范中的变量[1])打开或者干脆把脚本里变量[1]的条件分歧去掉,保留“else”下面的就可以了。  发表于 2015-8-6 14:40
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1587
在线时间
594 小时
注册时间
2014-7-9
帖子
105

开拓者

5
 楼主| 发表于 2015-8-5 22:39:31 | 只看该作者
jklpgh 发表于 2015-8-5 02:05
事件战斗处理那里,勾选失败的话继续,那里就可以设置了分歧失败了的场合和胜利的场合 ...

感谢回复帮忙.
但是那样做灭团之后战斗也直接结束了.
我的构思就算灭团了,战斗流程不会结束.
举例:所有角色都挂了.但不用事件中断战斗或者用事件结束游戏.这场战斗依然继续打下去,而不是直接输掉.
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1587
在线时间
594 小时
注册时间
2014-7-9
帖子
105

开拓者

6
 楼主| 发表于 2015-8-7 04:52:13 | 只看该作者
本帖最后由 聪妖 于 2015-8-7 04:55 编辑
未命名 发表于 2015-8-5 10:45
稍微这么做:

在Scene_Battle 1的116行 设置游戏结束标志 那里作如下修改:


恩,好像还是出问题了.当我方把对方全灭的情况下.战斗也会持续下去不会跳到胜利界面

当角色攻击已经挂掉的敌方时候(普通攻击,技能没测试)就会报错

也就是这段,本人脚本基础是零.会不会是我操作问题没修改好脚本?

点评

不知道是不是你用的脚本不同,确定在Scene_Battle 1里“胜负判定”部分return false下面有两个end。  发表于 2015-8-7 09:13
啊,只考虑如何让对方打死自己都忘记打死对方的情况了……  发表于 2015-8-7 08:51
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
7
星屑
1113
在线时间
334 小时
注册时间
2008-1-28
帖子
1566
7
发表于 2015-8-7 11:44:16 | 只看该作者
本帖最后由 未命名 于 2015-8-7 11:53 编辑
聪妖 发表于 2015-8-7 04:52
恩,好像还是出问题了.当我方把对方全灭的情况下.战斗也会持续下去不会跳到胜利界面

当角色攻击已经挂掉 ...


好吧,再编辑贴子就变得繁琐了……本来制作游戏就是繁琐。

这是一个范例,使用的是默认战斗系统。
如果系统改了,但是是基于默认战斗系统的,就寻找一样的地方改。

战斗全灭继续.rar (189.88 KB, 下载次数: 33)

一些注意事项:
1、全灭后复活不会再次触发全灭后的那个事件,因为我设计成触发距离是“战斗”。
    (你可以在脚本中在开一个开关[3]来判断是否触发过以免反复触发,复活之后关掉开关[3])
    (当然不设计事件就没有这个问题。)

2、只要队伍全灭,不论敌人是否全面都会继续。

点评

直接覆盖了暂时没出问题,再次感谢.  发表于 2015-8-7 23:38
终于有可以放在这里的游戏了……
极短13 新生 《箱子新世界》
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
10 小时
注册时间
2015-6-1
帖子
6
8
发表于 2015-8-7 23:02:27 | 只看该作者
其实有个最简单的办法:战斗处理事件把失败继续勾上,然后战斗失败的场合马上跟着一个“完全回复”的事件就不会结束游戏了
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-26 07:04

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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