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

Project1

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

[已经解决] 请问怎么设置角色死亡就离开队伍

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
96 小时
注册时间
2014-2-16
帖子
50
跳转到指定楼层
1
发表于 2014-3-4 21:03:39 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
原本VX的脚本拿到va中用不了,求助

Lv4.逐梦者 (版主)

无限の剣制

梦石
0
星屑
10079
在线时间
5020 小时
注册时间
2013-2-28
帖子
5030

开拓者贵宾

2
发表于 2014-3-4 21:19:47 | 只看该作者
公共事件就可以做到啊,
再在脚本Game_Battler里第155行 死亡那里添加$game_temp.reserve_common_event(x)
  1. def die
  2.     @hp = 0
  3.     clear_states
  4.     clear_buffs
  5.     $game_temp.reserve_common_event(1)  #执行1号公共事件 x为你用做死亡的公共事件ID
  6.   end
复制代码

QQ图片20140304211548.jpg (56.44 KB, 下载次数: 55)

QQ图片20140304211548.jpg
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
96 小时
注册时间
2014-2-16
帖子
50
3
 楼主| 发表于 2014-3-4 22:13:10 | 只看该作者
VIPArcher 发表于 2014-3-4 21:19
公共事件就可以做到啊,
再在脚本Game_Battler里第155行 死亡那里添加$game_temp.reserve_common_event(x) ...

可是如果人物太多就很麻烦的,比如游戏有100角色可以加入队伍,这不要写100个

点评

也就一劳永逸的事,这点都懒怎么做游戏  发表于 2014-3-4 22:36
回复 支持 反对

使用道具 举报

Lv4.逐梦者 (版主)

无限の剣制

梦石
0
星屑
10079
在线时间
5020 小时
注册时间
2013-2-28
帖子
5030

开拓者贵宾

4
发表于 2014-3-4 22:59:37 | 只看该作者
Sand@ 发表于 2014-3-4 22:13
可是如果人物太多就很麻烦的,比如游戏有100角色可以加入队伍,这不要写100个 ...

不会多麻烦吧?复制一下,改一改就行了。事件可以完成很多内容的,不要一有问题就上来求脚本。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
96 小时
注册时间
2014-2-16
帖子
50
5
 楼主| 发表于 2014-3-4 23:53:40 | 只看该作者
VIPArcher 发表于 2014-3-4 22:59
不会多麻烦吧?复制一下,改一改就行了。事件可以完成很多内容的,不要一有问题就上来求脚本。 ...

人数实在太多容易遗漏,不然我就用事件做了,vx有个脚本可以实现,可是在ace报错,求好心人改成ace能用的
是这个
http://rpg.blue/forum.php?mod=vi ... %3D51%26typeid%3D51
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
92 小时
注册时间
2013-2-23
帖子
130
6
发表于 2014-3-5 03:45:57 | 只看该作者
本帖最后由 sh0016 于 2014-3-5 03:48 编辑

这样就可以吧?
  1. def die
  2.     @hp = 0
  3.     clear_states
  4.     clear_buffs
  5.     $game_party.remove_actor(@actor_id) #PS:忘了具体怎么写错了请修改
  6.   end
复制代码

点评

测试了,不行啊,进入游戏报错  发表于 2014-3-5 09:17
梦想是成为触手的新手DE☆SU(<ゝω·)绮罗星 ~☆
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
92 小时
注册时间
2013-2-23
帖子
130
7
发表于 2014-3-5 21:02:45 | 只看该作者
抱歉上面那一段因为身边没有RM没测试。新建1个脚本页插入下面这一段。简单的测试了一下可用,如果有什么BUG请通知我。
  1. class Game_Battler < Game_BattlerBase
  2.   #--------------------------------------------------------------------------
  3.   # ● 战斗结束处理
  4.   #--------------------------------------------------------------------------
  5.   alias default_on_battle_end on_battle_end
  6.   def on_battle_end
  7.     default_on_battle_end
  8.     $game_party.remove_actor(self.actor_id) if self.death_state?
  9.   end
  10. end
复制代码
梦想是成为触手的新手DE☆SU(<ゝω·)绮罗星 ~☆
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
96 小时
注册时间
2014-2-16
帖子
50
8
 楼主| 发表于 2014-3-5 21:41:34 | 只看该作者
sh0016 发表于 2014-3-5 21:02
抱歉上面那一段因为身边没有RM没测试。新建1个脚本页插入下面这一段。简单的测试了一下可用,如果有什么BUG ...

这个好像战斗全灭会报错的,而且我想的是队员的在平时死亡也会离队,战斗中死亡也会立即离队这样的,大神,能实现这个不,上面那个链接的VX脚本就是队员不管什么情况下,只要状态为死亡就会离队的,你能帮我改为VA能用的不
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
96 小时
注册时间
2014-2-16
帖子
50
9
 楼主| 发表于 2014-3-5 22:15:09 | 只看该作者
sh0016 发表于 2014-3-5 21:02
抱歉上面那一段因为身边没有RM没测试。新建1个脚本页插入下面这一段。简单的测试了一下可用,如果有什么BUG ...

我建了个工程测试了下,角色死亡战斗结束报错了,不知是什么情况

1111.png (84.75 KB, 下载次数: 81)

1111.png

Project6.zip

1.34 MB, 下载次数: 57

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
92 小时
注册时间
2013-2-23
帖子
130
10
发表于 2014-3-6 04:16:39 | 只看该作者
本帖最后由 sh0016 于 2014-3-6 04:18 编辑

不知道为什么老让character_name变成NilClass,原因到底是什么啊→ →......

本人技术不足只能绕圈解决了← ←,下面这个应该可以用了。
  1. #==============================================================================
  2. # ■ Game_BattlerBase
  3. #==============================================================================
  4. class Game_BattlerBase
  5.   #--------------------------------------------------------------------------
  6.   # ● 增减 HP (事件用)
  7.   #--------------------------------------------------------------------------
  8.   def change_hp(value, enable_death)
  9.     if !enable_death && @hp + value <= 0
  10.       self.hp = 1
  11.     else
  12.       self.hp += value
  13.       $game_party.remove_actor(self.id) if self.dead?
  14.     end
  15.   end
  16. end

  17. #==============================================================================
  18. # ■ Game_Battler
  19. #==============================================================================
  20. class Game_Battler < Game_BattlerBase
  21.   #--------------------------------------------------------------------------
  22.   # ● 应用技能/物品的效果
  23.   #--------------------------------------------------------------------------
  24.   alias default_item_apply item_apply
  25.   def item_apply(user, item)
  26.     default_item_apply(user, item)
  27.     $game_party.remove_actor(self.id) if self.actor? and self.dead?
  28.   end
  29.   #--------------------------------------------------------------------------
  30.   # ● HP 自动恢复
  31.   #--------------------------------------------------------------------------
  32.   alias default_regenerate_hp regenerate_hp
  33.   def regenerate_hp
  34.     default_regenerate_hp
  35.     $game_party.remove_actor(self.id) if self.actor? and self.dead?
  36.   end
  37. end
  38.   
  39. #==============================================================================
  40. # ■ Game_Actor
  41. #==============================================================================
  42. class Game_Actor < Game_Battler
  43.   #--------------------------------------------------------------------------
  44.   # ● 地图画面上回合结束的处理
  45.   #--------------------------------------------------------------------------
  46.   alias default_turn_end_on_map turn_end_on_map
  47.   def turn_end_on_map
  48.     default_turn_end_on_map
  49.     $game_party.remove_actor(self.actor_id) if self.dead?
  50.   end
  51. end

  52. #==============================================================================
  53. # ■ Game_Interpreter
  54. #==============================================================================
  55. class Game_Interpreter
  56.   #--------------------------------------------------------------------------
  57.   # ● 增减 HP
  58.   #--------------------------------------------------------------------------
  59.   alias default_command_311 command_311
  60.   def command_311
  61.     default_command_311
  62.     SceneManager.goto(Scene_Gameover) unless $game_party.exists
  63.   end
  64. end

  65. #==============================================================================
  66. # ■ Scene_Base
  67. #==============================================================================
  68. class Scene_Base
  69.   #--------------------------------------------------------------------------
  70.   # ● 游戏结束的判定
  71.   #    如果全灭则切换到游戏结束画面。
  72.   #--------------------------------------------------------------------------
  73.   alias default_check_gameover check_gameover
  74.   def check_gameover
  75.     default_check_gameover
  76.     SceneManager.goto(Scene_Gameover) unless $game_party.exists
  77.   end
  78. end
复制代码
使用的时候注意无法使用“全灭后继续剧情”,还是会GameOver。里面已经有战斗、有害地形以及事件的HP更变处理了,如果漏了什么死法请指出。

点评

非常感谢大大啊,终于成功了,测试也没有问题  发表于 2014-3-6 11:39

评分

参与人数 1梦石 +1 收起 理由
迷糊的安安 + 1 非常感谢大大啊,终于成功了,测试也没有问.

查看全部评分

梦想是成为触手的新手DE☆SU(<ゝω·)绮罗星 ~☆
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-12-5 11:13

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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