Project1

标题: 宠物系统怎么弄 [打印本页]

作者: 1745236314    时间: 2014-11-15 01:09
标题: 宠物系统怎么弄
就是在特定的地图会遇见宠物,然后和宠物大战,赢了获得宠物,输了不获得,然后宠物也能出战,有特定技能,宠物一段时间会被封印,要去买解封钥或永久解封钥匙的,主要是封印什么的不会
作者: OCTSJimmy    时间: 2014-11-15 10:30
角色行走图换成动物,战斗后执行公共事件,踢掉宠物,使用物品宠物重新加入
作者: song.lian    时间: 2014-11-16 00:04
在数据库增加一个与宠物对应的角色,打赢后加入队伍。

至于封印,可以这样:
在 数据库=>状态 增加一个与“战斗不能”一样但名称为“封印”的状态。
在 数据库=>物品 增加一个解除“封印”的物品。

作者: 恐惧剑刃    时间: 2014-11-16 00:54
本帖最后由 恐惧剑刃 于 2014-11-16 01:02 编辑

多格掉宝,可能需要。
胜利品就是某个宠物蛋,使用后自动加入一个宠物(角色,前提是当前宠物不在队伍中)

Game_Actor新定义一个属性
attr_accessor :baby_hp
初始化
alias initialize_baby_hp_old initialize
def initialize(*args)
  initialize_baby_hp_old(*args)
  @baby_hp = 5 if args[0] > 20 # 可参与的战斗场次,宠物id20以上
end

生命制作
alias battle_end_baby_hp_old battle_end
def battle_end(*args)
  battle_end_baby_hp_old(*args)
  for actor in $game_party.actors
    if actor.baby_hp != nil
      actor.baby_hp -= 1
      if actor.baby_hp <= 0
        actor.add_state(n) # 附加一个类似战斗不能的状态,禁止行动,只能使用物品解除(注意修改 actor.baby_hp)。
      end
    end
  end
end


没有脚本基础的话,建议用现成的。


#*--------------------------------------------------------

或许能从事件中找到一些灵感?!
比如,(初始化或者游戏开始的时候)给宠物们附加一个特殊的状态,这个状态决定宠物生命
战斗结束后,这个特殊的状态会有所变化(比如参战5次的状态变为只能参战4次的状态)。
如果这个特殊的状态“到头了”,则附加一个新的状态(类似战斗不能),只能用物品解除。




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1