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

Project1

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

问题回到原点:战斗中如何让宠物跟随主人一起变换位置

 关闭 [复制链接]

Lv4.逐梦者

梦石
3
星屑
6420
在线时间
1131 小时
注册时间
2007-12-26
帖子
2402
跳转到指定楼层
1
发表于 2008-6-17 23:59:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
因为某些需要,我在游戏中设置了战斗中可以交换战死角色和活着角色的位置,比如在公共事件里有以下脚本:

a = $game_party.actors[1]
$game_party.actors[1] = $game_party.actors[
2]
$game_party.actors[2] = a


但是我又用了宠物系统1.2脚本,如果战斗场景中互换位置的角色装备有宠物,宠物不会随着角色队列的改变而改变,只会停留在原来的位置,而且宠物的图片会消失,直到进入下一场战斗才会刷新,如何在战斗中让宠物能随着主人位置的变化而一同变化呢?



宠物系统ver1.2
http://rpg.blue/web/htm/news169.htm



囡囚囨囚囨図囨囧

Lv4.逐梦者

梦石
3
星屑
6420
在线时间
1131 小时
注册时间
2007-12-26
帖子
2402
2
 楼主| 发表于 2008-6-18 06:03:51 | 只看该作者
上面修改之后的工程只能做到:在战斗中,两个都装备了宠物的活着的角色可以正常互换位置,各自的宠物也会跟随主人变换位置,但如果其中有一个角色是死亡状态,或者其中只有一个角色是有宠物的,那么互换位置之后宠物的跟随就有问题
囡囚囨囚囨図囨囧
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
3
星屑
6420
在线时间
1131 小时
注册时间
2007-12-26
帖子
2402
3
 楼主| 发表于 2008-6-19 00:16:34 | 只看该作者
没办法,悬个赏吧{/fd}
囡囚囨囚囨図囨囧
回复 支持 反对

使用道具 举报

Lv1.梦旅人

辉瑞中国首席研究员<

梦石
0
星屑
50
在线时间
142 小时
注册时间
2008-1-18
帖子
2129
4
发表于 2008-6-19 02:49:10 | 只看该作者
class Game_Pet < Game_Battler
  attr_accessor :maseter_id
  #--------------------------------------------------------------------------
  # ● 初始化对像
  #     troop_id     : 循环 ID
  #     member_index : 循环成员的索引
  #--------------------------------------------------------------------------
  def initialize(enemy_id, fid)
    super()
    @enemy_id = enemy_id
    enemy = $data_enemies[@enemy_id]
    @battler_name = enemy.battler_name
    @battler_hue = enemy.battler_hue
    @hp = maxhp
    @sp = maxsp
   
    @father_id = fid
    @maseter_id = fid
  end
  
  
  
  def movable?(actor_id)
    return  (not @hidden and restriction < 4) && !$game_party.actors[actor_id].dead?
  end





def make_action(id)
    @position_id = id
    # 清除当前行动
    self.current_action.clear
    # 无法行动的情况
    unless self.movable?(@position_id)
     
      # 过程结束
      return
    end

Scene_Battle中
for enemy in @pet_actor
      for actor in $game_party.actors
        if actor.pet_id = enemy.id then
           enemy.make_action(actor.maseter_id_position)
     # enemy.current_action.decide_random_target_for_pet
    end
    end
    end
来6r就是等某位仁兄的巨坑

褴褛着身行无端,囊中羞涩空心酸。
平生几无得意事,倒塔泡面宅寝室。
惟羡隔壁高帅富,雨露春风月夜声。
青丝无处觅其踪,只有硬盘苍井空。
莫云男儿空悲愁,鸿鹄岂不天际游。
坐断天下执鹿首,千百金帛万兜鍪。
夜深忽梦某年月,再见女神欲语迟。
吊丝终有逆袭日,木耳再无回粉时。
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
3
星屑
6420
在线时间
1131 小时
注册时间
2007-12-26
帖子
2402
5
 楼主| 发表于 2008-6-19 04:27:01 | 只看该作者
Scene_Battle中是在哪里加的啊?是下面这一段彩色部分改么?

    $game_temp.battle_main_phase = true
    # 生成敌人行动
    for enemy in $game_troop.enemies
      enemy.make_action
    end
    ############################################################################
    for enemy in @pet_actor
      enemy.make_action
      enemy.current_action.decide_random_target_for_pet
    end

    ############################################################################
    # 生成行动顺序
    make_action_orders
    # 移动到步骤 1
    @phase4_step = 1
  end
  
  #--------------------------------------------------------------------------
  # ● 生成行动循序
  #--------------------------------------------------------------------------
囡囚囨囚囨図囨囧
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
3
星屑
6420
在线时间
1131 小时
注册时间
2007-12-26
帖子
2402
6
 楼主| 发表于 2008-6-19 04:31:40 | 只看该作者
def make_action(id)直接加在● 生成行动 下面??


  #--------------------------------------------------------------------------
  # ● 生成行动
  #--------------------------------------------------------------------------
  def make_action(id)
    @position_id = id
    # 清除当前行动
    self.current_action.clear
    # 无法行动的情况
    unless self.movable?(@position_id)
      # 过程结束
      return
    end
    # 抽取现在有效的行动
    available_actions = []
    rating_max = 0
    for action in self.actions
      # 确认回合条件
      n = $game_temp.battle_turn
      a = action.condition_turn_a
      b = action.condition_turn_b
囡囚囨囚囨図囨囧
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
3
星屑
6420
在线时间
1131 小时
注册时间
2007-12-26
帖子
2402
7
 楼主| 发表于 2008-6-19 05:15:55 | 只看该作者
第一个的图片显示问题好像解决了!!多谢{/se}

但是如果A角色有宠物,B角色没宠物,B死掉之后与A交换位置,A角色的宠物就不行动了
囡囚囨囚囨図囨囧
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
3
星屑
6420
在线时间
1131 小时
注册时间
2007-12-26
帖子
2402
8
 楼主| 发表于 2008-6-19 17:18:06 | 只看该作者
第二个问题还是老毛病啊!当与死掉的角色交换位置,那个死掉角色装备的宠物就又可以攻击了,反而与之互换的活的角色的宠物就停止行动了{/ll}



附上又改了的工程,麻烦看看错在哪了?
http://rpg.blue/upload_program/files/Pets_gensui_gai_94296130.rar
囡囚囨囚囨図囨囧
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
200 小时
注册时间
2008-3-1
帖子
360
9
发表于 2008-6-19 21:47:23 | 只看该作者
似乎...BUG更多了
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
3
星屑
6420
在线时间
1131 小时
注册时间
2007-12-26
帖子
2402
10
 楼主| 发表于 2008-6-20 00:05:22 | 只看该作者
发现最严重的问题,当互换了有宠物的角色位置以后退出战斗或者进入下一次战斗,发现所有角色(包括原来没宠物的)都自动改成了一样的宠物!?


囡囚囨囚囨図囨囧
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-8-8 01:38

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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