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

Project1

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

[已经过期] 好奇葩的问题!!关于半即时战斗系统1.03b

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
116 小时
注册时间
2006-7-29
帖子
29
跳转到指定楼层
1
发表于 2012-12-22 23:21:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
急求啊,这个系统很好,但是存在一个奇葩的问题就是:自己给自己回血或是回蓝不会跳出数字显示,而给别人回则是正常显示,是否是脚本中没有考虑自己给自己造成伤害的情况呢?(如果回复也是一种伤害的话)
脚本如下,求哪位大神抽空改一下吧,话说这脚本应该用的人挺多的了吧,求造福群众啊啊~~~万分感谢啊啊[code]#=============================================================================
#★Zhong RMVX 半即时战斗系统 1.03b版★
#-----------------------------------------------------------------------------
#★Scene_CP核心部分参考自 : 神思  《战斗真位移》战斗系统
#★作者: Zhong_zw
#★联系方式: 66rpg.com论坛短信 或 [email protected]
#★游戏中如若引用本脚本,请保留以上信息,并作相关说明.
#☆如若转载本脚本请联系本人☆
#=============================================================================
#=============================================================================
#☆1.01版修正问题:
#1、物品、特技窗口选择我方人物时,头像重叠
#2、连续伤害及自动回复效果无效。
#☆1.02版修正问题:
#1、减少刷新次数,提高速度
#2、修正被打击时有可能退到cp槽外
#☆1.02a版修正问题:
#1、复活问题.
#2、头像刷新问题.
#☆1.03版更新内容:
#1、地图名称与战斗背景的对应关系可在哈希表中设置
#2、如无相应战斗背景直接采用默认战斗背景
#3、角色CP图缺失时,用角色相应行走图代替
#☆1.03a版更新内容:
#1、物品经验得失窗口有时图标显示错误的问题
#★注:旧版本的只要把脚本中“class Window_egi<Window_Base”这个类完整的覆盖原来就行了。
#☆1.03b版更新内容:
#1、图标战斗指令窗口刷新的问题
#2、修正战斗事件响应的部分功能
#=============================================================================
#☆使用方法说明☆
#☆使用方法基本与我之前发的朴素横版战斗相同
#☆动画设置:
#1、武器、特技、物品的施展动画直接在其备注填入动画id即可。如果为空即不显示施展动画。
#2、敌人普通攻击动画,在其备注里填写格式如下:
#  a1=XX #施展动画id
#  a2=XX #对方动画id
#如果为空即使用默认普通动画(画面震动).
#☆战斗图设置:
#3、角色战斗图的的命名方式是角色id后面加上_z,如1_z.存放在Battlers文件夹。
#4、默认待机图为两帧,只要在Battlers文件夹里放一个“战斗图名+待“的文件,就会自动循环播放
#这两个战斗图,如1_b待,没有则没待机动作。
#☆战斗背景设置:
#5、在Graphics目录下新建Battlebacks文件夹。
#6、战斗时先搜索文件夹内是否有与角色所在区域同名的战斗图,如果没有则搜索文件夹里是否
#存在与地图同名的图片。
#7、简而言之,你须储存与你地图同名的战斗背景在Battlebacks,如果想在同一幅地图实现不同地域
#战斗背景不同,就在Battlebacks文件夹里储存与这个地域同名的战斗背景.至少保证战斗的地图
#都有一幅该地图同名的战斗背景,不然战斗时会提示找不到地图.(可参考《拉尔夫战记》或朴素横版的范例)
#☆CP条设置:
#8、CP条:在system文件夹里储存一个命名为"cp条"的图片,默认长度为327,如果需要可在Scene_CP类里调整相
#关参数.
#9、角色cp图命名方式是"角色id+_cp",如:1_cp,角色活跃cp图命名方式是"角色id+_a_cp",如1_a_cp,
#敌人cp图命名方式是"敌人名 + _敌人cp",如史莱姆_敌人cp,敌人活跃cp图是"敌人名+_a_cp".
#亦可在system文件夹里储存名为"敌人cp"的图片,作为敌人的统一cp图,活跃图名为"a_敌人cp",默认如果找不到敌人相关cp图就直接
#用这张图片.
#☆选择光标设置
#10、在system文件夹里储存名为"光标"的图片作为选择光标.
#11、B_B_CONFIG = true 时地图与战斗背景的命名关系写在BATTLE_BACK 这个数组里,
#B_B_CONFIG = false时,和战斗背景和以前的命名方式相同。
#12、战斗背景文件缺失时,用回默认战斗背景。
#★队伍战斗事件的设置说明★:
#13、除“回合”和“回合结束”条件外,其他事件条件设置与默认系统相同。
#14、关于角色回合的定义:角色回合是指每个角色各自独有一个回合属性,角色CP值每满一次就增加一个回合,角色间的回合相互独立。
#15、关于角色回合条件设置,参照工程目录下的“说明图片”文件夹的图片1、2,3对各个框进行设置,实现两种回合条件的设置
#    步骤如下:
#     一、一般回合条件设置,即当角色回合等于或大于小于某个数值时就在回合开始前或后执行
#         事件。
#       1. 参看“说明图片”文件夹中的图1对各个框的定义。
#       2. 在事件条件设置窗口中勾上“回合结束”,即打开回合条件设置开关。
#       3. 勾上“回合数”,在“回合关系参数”框里输入“回合关系参数”。★注:旁边的那个框值为0
#       回合关系参数取值:
#            0 为当 "角色回合"等于"回合参数"值时,回合开始前执行。
#            1 为当 "角色回合"大于"回合参数"值时,回合开始前执行。
#            2 为当 "角色回合"小于"回合参数"值时,回合开始前执行。
#            3 为当 "角色回合"等于"回合参数"值时,回合进行后执行。
#            4 为当 "角色回合"大于"回合参数"值时,回合进行后执行。
#            5 为当 "角色回合"小于"回合参数"值时,回合进行后执行。
#        
#       4.选择“回合对象”,勾上相应的"敌角色"或"角色",选择相应对象。
#       5.在“回合参数”框上填入相关数值。

#     二、循环回合条件设置,即当角色回合等于某个回合后执行事件,以后每隔N个回合在执行一次。
#         1. 参看“说明图片”文件夹中的图2对各个框的定义。
#         2.设置事件执行时机,即回合执行前或后。
#           对“事件执行时机参数”进行设置,取值如下:
#             0 为回合执行前。
#             1 为回合执行后。
#         3.设置"间隔参数",即当达到一定回合数后,每隔N个回合再执行事件的间隔。
#         4.设置相应“回合对象”
#         5.设置“回合参数”
#         6.如图3设置,把“间隔”设为回合。
#16、附赠角色显示动画函数:
#     $game_troop.interpreter.add_aa(动画对象,动画id)
#     "动画对象"取值:角色id或-1,-1时即全体动画
#      在事件的"脚本"中调用就可以了!
#
#           
#=============================================================================
#=============================================================================
#★战斗背景设置及其他功能开关
#=============================================================================
BATTLE_BACK = {"古松居外"=>"树林","古松居内"=>"树林","古松居后山"=>"树林","古松居后山后段"=>"树林","古松居后山出口"=>"树林"} #地图名称与战斗背景对应关系,命名方式:地图名或区域=>战斗背景名
B_B_CONFIG = true #是否启用地图名称与战斗背景对应关系功能

#================================================
#★战斗者类
#================================================
class Game_Battler
   attr_accessor :cp
   attr_accessor :cp_total
   #================================================
   attr_accessor :Battler_turn #角色单独的回合数
   attr_accessor :turn_start  #角色回合状态 0:回合结束或非角色回合 1:角色回合 3:角色回合准备
   #================================================
   attr_accessor :cp_turn #角色能不行动时,计算角色实际cp爆满次数,用以代替回合,计算状态解除时机
   #=======================================
  attr_accessor :animation2_id   
  attr_accessor :act_status
  attr_accessor :damage
  attr_accessor :damage_pop
  attr_accessor :slip_damage
  attr_accessor :auto_damage
  attr_accessor :state_name
  #=========================================
   
   alias oldinitialize  initialize
   def initialize
     @cp = 0
     @cp_total = false
     @cp_turn = 0
     @damage = nil
     @damage_pop = false
     @act_status = 0
     @slip_damage = 0
     @auto_damage = 0
     @Battler_turn = 0
     @turn_start = 0
     @state_name = nil
     oldinitialize
   end
  def maxcp
    return 100
  end  
  #--------------------------------------------------------------------------
  # ● 应用连续伤害效果
  #--------------------------------------------------------------------------
  def slip_damage_effect
    if slip_damage? and @hp > 0
      @hp_damage = apply_variance(maxhp / 10, 10)
      @hp_damage = @hp - 1 if @hp_damage >= @hp
      @slip_damage = @hp_damage
      self.hp -= @hp_damage
    end
  end

end #class   
#===============================================
#★角色队伍类
#===============================================
class Game_Party < Game_Unit
attr_accessor :actor_battler
alias oldinitialize initialize
def initialize
  oldinitialize
  @actor_battler = []
end
end #class  
#================================================
#★敌人队伍类
#================================================
class Game_Troop < Game_Unit
  attr_accessor :enemy_battler
alias  oldinitialize initialize
def initialize
   oldinitialize
   @enemy_battler = []
end  
  #--------------------------------------------------------------------------
  # ● 判断是否符合战斗事件 (页) 条件
  #     page : 战斗事件页
  #--------------------------------------------------------------------------
  def conditions_met?(page)
    c = page.condition
    if not c.turn_ending and not c.turn_valid and not c.enemy_valid and
       not c.actor_valid and not c.switch_valid
      return false      # 未设置条件…不执行
    end
    if @event_flags

点评

那啥,不怎么见有人使用过,倒是我刚刚开始研究战斗脚本的时候下载过,却没有深入研究。唔,阁下等高手吧。  发表于 2012-12-22 23:52

Lv1.梦旅人

梦石
0
星屑
50
在线时间
116 小时
注册时间
2006-7-29
帖子
29
2
 楼主| 发表于 2012-12-23 13:40:59 | 只看该作者
继续求大神,或者推荐一个比较好的45度战斗系统也好啊!!!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-12-23 06:40

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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