查看: 2223|回复: 9

[已经解决] 如何令第一角色死後 令遊戲馬上結束?

[复制链接]
头像被屏蔽
梦石
0
星屑
50
在线时间
0 小时
注册时间
2010-6-24
回帖
26
发表于 2010-7-10 16:50:02 | 显示全部楼层 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽
梦石
0
星屑
50
在线时间
2 小时
注册时间
2010-7-9
回帖
31
发表于 2010-7-10 17:18:39 | 显示全部楼层
本帖最后由 春日结乃 于 2010-7-10 17:20 编辑

在脚本Main前插入下段脚本

  1. class Scene_Battle
  2.   alias lv23_update update
  3.   def update
  4.     lv23_update
  5.     if $game_actors[1].hp0? #——角色编号
  6.       @common_event_id = 1 #——公共事件编号
  7.     end
  8.   end
  9. end
复制代码

然后在公共事件1里添加 "游戏结束"。
或是 "显示文章"(例如"阿尔西斯在战斗中牺牲了。")

可以自由发挥。

评分

参与人数 1星屑 +300 收起 理由
「旅」 + 300 认可答案

查看全部评分

回复

使用道具 举报

梦石
0
星屑
60
在线时间
1 小时
注册时间
2009-9-19
回帖
137
发表于 2010-7-10 17:20:16 | 显示全部楼层
试了下公共事件的判定,似乎只有地图上有效,战斗中无效
难道。。。要使用脚本么

点评

我也发现这个问题。后来发现是在Scene_Battle里用@common_event_id来判断。  发表于 2010-7-12 11:26
回复

使用道具 举报

梦石
0
星屑
55
在线时间
869 小时
注册时间
2009-3-13
回帖
730
发表于 2010-7-10 17:57:00 | 显示全部楼层
如果要在战斗中判断的话:
脚本中找到:Scene_Battle 1
在105行,改成if $game_party.actors[0].hp<=0 or $game_party.actors.size == 0
如果是平时用的话,那就加公共事件用并行处理......
如果一号角色一直是一个人,那么可以用事件来判断......
如果一号角色会换人,公共事件里面加入脚本:
if $game_party.actors[0].hp<=0
      $game_temp.gameover = true
end
如果都要用当然都添加- -b

点评

$game_party里的确实是从0开始- -b  发表于 2010-7-12 08:05
actors组索引从1开始  发表于 2010-7-11 01:11

评分

参与人数 1星屑 +300 收起 理由
「旅」 + 300 认可答案

查看全部评分

我的寒假活动作品:http://rpg.blue/forum.php?mod=viewthread&tid=281065
咱的龙蛋,求点击:
回复

使用道具 举报

精灵族の天使<

梦石
0
星屑
1712
在线时间
3039 小时
注册时间
2007-3-16
回帖
33092

开拓者贵宾

发表于 2010-7-10 19:08:25 | 显示全部楼层
战斗中记得也可以运行公共事件的,但是脚本是两个(我忘记了)

点评

求教~拜托再想一想吧~阿门。。。  发表于 2010-7-11 00:11
回复

使用道具 举报

反伸手党斗士

梦石
0
星屑
91
在线时间
1128 小时
注册时间
2009-9-10
回帖
2407

贵宾

发表于 2010-7-11 16:10:20 | 显示全部楼层
办法不少,学习一下~
回复

使用道具 举报

孤独守望

梦石
0
星屑
3144
在线时间
1535 小时
注册时间
2006-10-16
回帖
4223

开拓者贵宾

发表于 2010-7-11 17:28:34 | 显示全部楼层
  1. class Game_Party
  2.   def all_dead?
  3.     for actor in actors
  4.       if actor.id == 1 and actor.hp == 0
  5.         return true
  6.       end
  7.     end
  8.     # 同伴人数为 0 的情况下
  9.     if $game_party.actors.size == 0
  10.       return false
  11.     end
  12.     # 同伴中无人 HP 在 0 以上
  13.     for actor in @actors
  14.       if actor.hp > 0
  15.         return false
  16.       end
  17.     end
  18.     # 全灭
  19.     return true
  20.   end
  21. end
复制代码

评分

参与人数 1星屑 +300 收起 理由
「旅」 + 300 认可答案

查看全部评分

菩提本非树,明镜本非台。回头自望路漫漫。不求姻缘,但求再见。
本来无一物,何处惹尘埃。风打浪吹雨不来。荒庭遍野,扶摇难接。
不知道多久更新一次的博客
回复

使用道具 举报

梦石
0
星屑
3947
在线时间
1591 小时
注册时间
2006-5-5
回帖
2564
发表于 2010-7-11 21:10:18 | 显示全部楼层
精灵使者说的,战斗中用公共事件!
        “数据库”的“队伍”中条件设定为第一角色的HP0%一下,事件指令选第三页的“游戏结束”就可以了!

点评

如此每一个队伍都要设置,会不会太麻烦了?  发表于 2010-7-13 02:14
步兵中尉
回复

使用道具 举报

梦石
0
星屑
80
在线时间
39 小时
注册时间
2008-9-25
回帖
291
发表于 2010-7-11 22:46:42 | 显示全部楼层
不思议国KOKORO
回复

使用道具 举报

梦石
0
星屑
50
在线时间
270 小时
注册时间
2010-2-4
回帖
1296
发表于 2010-7-12 08:06:50 | 显示全部楼层
其实可以搜索一下$scene = Scene_Gameover.new全部改成exit就行了。
好歹当年也当过大魔王过,orz
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部