查看: 2209|回复: 5

[已经解决] 请问SideView横版战斗怎么设置自定义武器图片?

[复制链接]
梦石
0
星屑
50
在线时间
295 小时
注册时间
2013-7-1
回帖
22
发表于 2014-4-14 00:20:24 | 显示全部楼层 |阅读模式

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

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

×
如题,怎么将战斗时的手持武器图片改成自定义的图片.
代码附上.
[pre lang="ruby" line="1"]#==============================================================================
# ■ SideViewバトラー設定
#------------------------------------------------------------------------------
#  アクション設定で作ったアクションをバトラーに貼り付けたり
#  バトラーに関する設定を行います
#==============================================================================
class SideView
  #--------------------------------------------------------------------------
  # ● バトラーアニメ画像の横・縦セル数 = [ 横, 縦] アニメさせない場合は[1, 1]
  #--------------------------------------------------------------------------
  def max_pattern
    # バトラーIDで分岐
    case id
    when  1 # 1番のアクター
      return [ 3, 4]
    when -1 # 1番のエネミー(エネミーはIDをマイナスにすることで指定します)
      return [ 1, 1]
    else # 上のID以外を一括で設定
      return [ 3, 4] if id > 0 # 全アクター(IDがプラス)
      return [ 1, 1] if id < 0 # 全エネミー(IDがマイナス)
    end
    # 以降の設定でID分岐させる場合はこの記述を参考にしてください
  end
  #--------------------------------------------------------------------------
  # ● 影画像ファイル名  画像はCharactersフォルダに入れてください falseで影なし
  #--------------------------------------------------------------------------
  def shadow
    return "shadow01" if id > 0 # 全アクター
    return false      if id < 0 # 全エネミー
  end
  #--------------------------------------------------------------------------
  # ● バトラー画像反転設定 初期状態でバトラー画像を反転させるならtrue
  #--------------------------------------------------------------------------
  def graphic_mirror_flag
    return false if id > 0 # 全アクター
    return true  if id < 0 # 全エネミー
  end
  #--------------------------------------------------------------------------
  # ● バトラー画像参照先固定 バトラーアニメ設定のインデックス参照を必ず""にするならtrue
  #--------------------------------------------------------------------------
  def graphic_fix
    return false if id > 0 # 全アクター
    return true  if id < 0 # 全エネミー
  end
  #--------------------------------------------------------------------------
  # ● 通常待機
  #--------------------------------------------------------------------------
  def normal
    return "通常待機"   if id > 0 # 全アクター
    return "待機固定WT" if id < 0 # 全エネミー
    # フルアクションではなくアクションだけを貼り付けることもできます
  end
  #--------------------------------------------------------------------------
  # ● ピンチ待機  HPが1/4以下の状態で行う待機アクション
  #--------------------------------------------------------------------------
  def pinch
    return "ピンチ待機" if id > 0 # 全アクター
  end
  #--------------------------------------------------------------------------
  # ● ステートアクション  複数重なった場合、表示優先度の高いステートが優先されます
  #--------------------------------------------------------------------------
  def state(state_id)
    # ステートIDで分岐
    case state_id
    when 1
      return "戦闘不能"     if id > 0 # 全アクター
      return "敵コラプス"   if id < 0 # 全エネミー
    when 2
      return "毒待機"
    when 6
      return "睡眠待機"
    when 3,4,5,7,8
      return "汎用状態異常待機"
    when 9
      return "防御待機"
    end
  end
  #--------------------------------------------------------------------------
  # ● コマンド入力後のアクション
  #--------------------------------------------------------------------------
  def command
    # 選択したスキルIDで分岐
    case skill_id
    when 2
      return "コマンド後防御"
    end
    # 選択したスキルタイプで指定
    case skill_type
    when 1 # 特技
      return "コマンド後特技"
    when 2 # 魔法
      return "コマンド後魔法"
    end
  end
  #--------------------------------------------------------------------------
  # ● 戦闘開始アクション
  #--------------------------------------------------------------------------
  def first_action
    return "戦闘開始味方" if id > 0 # 全アクター
    return "待機固定WT"   if id < 0 # 全エネミー
  end
  #--------------------------------------------------------------------------
  # ● 勝利アクション
  #--------------------------------------------------------------------------
  def win
    case id
    when  2,7,10 # 2・7・10番のアクター
      return "勝利ポーズバク転"
    else # 上記以外
      return "勝利ポーズ振り"
    end
  end
  #--------------------------------------------------------------------------
  # ● 戦闘退場アクション  パーティの入れ替えが行われた際の退場アクション
  #--------------------------------------------------------------------------
  def remove_action
    return "味方退場"
  end
  #--------------------------------------------------------------------------
  # ● 逃走アクション
  #--------------------------------------------------------------------------
  def escape
    return "逃走"   if id > 0 # 全アクター
    return "敵逃走" if id < 0 # 全エネミー
  end
  #--------------------------------------------------------------------------
  # ● 逃走失敗アクション
  #--------------------------------------------------------------------------
  def escape_ng
    return "逃走失敗"
  end
  #--------------------------------------------------------------------------
  # ● コマンド入力開始動作
  #--------------------------------------------------------------------------
  def command_b
    return "コマンド入力"
  end
  #--------------------------------------------------------------------------
  # ● コマンド入力終了動作
  #--------------------------------------------------------------------------
  def command_a
    return "コマンド入力終了"
  end
  #--------------------------------------------------------------------------
  # ● 被ダメージアクション 
  #--------------------------------------------------------------------------
  def damage(attacker)
    # 受けた攻撃がクリティカルの場合
    if critical?
      return "被ダメージ大"
    # 回復の場合
    elsif recovery?
      # アクションを取らせたくない時はreturnのみを記述します
      return
    end
    # 受けたスキルIDで分岐
    case damage_skill_id
    when 1 # スキル1番の場合
      return "被ダメージ"
    when 136 # 特定のスキルにダメージアクションを取らせたくない時はここでreturnのみを記述します
      return
    end
    # 受けたアイテムIDで指定(回復の場合は既にアクションが決定されています)
    case damage_item_id
    when 1 # アイテム1番の場合
      return
    else
      # 上のアイテムID以外
      if damage_item_id != 0
        return
      end  
    end
    # ダメージが0の場合 (強化・弱体化魔法や防御、エネミーの逃走など)
    if damage_zero?
      return
    end
    # 上の設定に当てはまらない場合
    return "被ダメージ"
  end
  #--------------------------------------------------------------------------
  # ● 回避動作  被ダメージアクションと同じ分岐が可能です
  #--------------------------------------------------------------------------
  def evasion(attacker)
    return "盾ガード" if shield? # 盾を装備している場合
    return "回避"
  end
  #--------------------------------------------------------------------------
  # ● 相手の攻撃ミス時の動作  被ダメージアクションと同じ分岐が可能です
  #--------------------------------------------------------------------------
  def miss(attacker)
    return "盾ガード" if shield? # 盾を装備している場合
    return "回避"
  end
  #--------------------------------------------------------------------------
  # ● 武器アクション  通常攻撃のアクションを装備武器で指定します
  #                    エネミーは下のエネミー武器設定で持たせることができます
  #--------------------------------------------------------------------------
  def weapon_action
    # 武器IDで指定
    case weapon_id
    when 0 # 武器0番の場合(素手)
      return "通常攻撃"
    when 1 # 武器1番の場合
      return "斬り攻撃"
    end
    # 武器タイプで指定
    case weapon_type
    when 1 # 武器タイプ1番の場合
      return "斬り攻撃"
    when 4,5,7,8,9 # 複数まとめて指定する場合
      return "斬り攻撃"
    when 2
      return "拳攻撃"
    when 3
      return "突き攻撃"
    when 6
      return "弓攻撃"
      when 7#武器类型
    return "匕首攻击"
    when 8#武器类型
    return "锤攻击"
    when 9#武器类型
    return "杖攻击"
      when 10#武器类型
    return "铳攻击"
    when 11#武器类型
    return "现代武器攻击"


    end
  end
  #--------------------------------------------------------------------------
  # ● エネミー右手武器 エネミーにも装備武器をID指定します
  #--------------------------------------------------------------------------
  def enemy_weapon1_id
    case id
    when -1 # 1番のエネミー(エネミーはIDをマイナスにすることで分岐させます)
      return 10 # 武器IDを指定。0番は素手扱いです
    else
      return 0
    end
  end
  #--------------------------------------------------------------------------
  # ● エネミー左手武器 エネミーにも二刀装備武器をID指定します
  #--------------------------------------------------------------------------
  def enemy_weapon2_id
    return 0
  end
  #--------------------------------------------------------------------------
  # ● エネミー盾 エネミーにも盾をID指定します 左手武器より優先されます
  #--------------------------------------------------------------------------
  def enemy_shield_id
    return 0
  end
  #--------------------------------------------------------------------------
  #●武器图像指定
  #--------------------------------------------------------------------------
  # 武器战斗的类型,[1:独自图像][2:2003规格]时选择了
  #参考先进的照片,并在这里指定。
  # return”001 - weapon 2001 "←对应的武器的档案名。
  # 3图形武器请到文件夹
  #特定的武器不显示,那么在天空的照片,并准备,指定。
  def weapon_graphic(weapon_id, weapon_type)
    # 武器IDで指定
    case weapon_id
    when 1 # 武器1番の画像ファイル名
      return "bicon1"
    end
    # 武器タイプで指定
    case weapon_type
    when 6 # 武器タイプ6番の画像ファイル名
      return "bow01"
    end
  end
  #--------------------------------------------------------------------------
  # ● 盾图像指定
  #--------------------------------------------------------------------------
  #武器战斗的类型,[1:独自图像][2:2003规格,选择。
  #武器的武打so - net设定true的参考的盾图像的指定。
  #
  # return”001 - shield 2001 "←应对盾牌的档案名。
  #盾牌图形3请到文件夹
  def shield_graphic(weapon_id, shield_type)
    # 防具IDで指定
    case shield_id
    when 41 # 防具41番(バックラー)の画像ファイル名
      return ""
    end
    # 防具タイプで指定
    case shield_type
    when 5 # 防具タイプ5番(小型盾)の画像ファイル名
      return ""
    end
  end
  
  #--------------------------------------------------------------------------
  # ● スキルアクション
  #--------------------------------------------------------------------------
  def skill_action
    # スキルIDで指定
    case skill_id
    when 1 # スキル1番は通常攻撃なので、上の武器アクションを実行します
      return weapon_action
    when 2 # スキル2番は防御
      return "防御"
    when 3,4,5 # スキル3/4/5番は連続攻撃
      return weapon_action
    when 6 # スキル6番はエネミー逃走
      return escape
    when 7 # スキル7番は様子を見る
      return "様子見"
    when 128
      return "水鉄砲"
    when 129
      return "武器投げ"
    when 130
      return "5回攻撃"
    when 131
      return "カットイン攻撃"
    when 132
      return "ムービー攻撃"
    when 133
      return "オオカミ変身"
    when 134
      return "スキル派生"
    when 135
      return "暗転攻撃"
    when 136
      return "空中攻撃"
    end
    # スキル名で指定(データベースでIDを移動させても大丈夫なのでお勧めです)
    case skill_name
    when "背景変更サンプル"
      return "背景変更攻撃"
    when "ピクチャ攻撃サンプル"
      return "ピクチャ攻撃"
    end
    # スキルタイプで指定
    case skill_type
    when 1 # 特技
      return "汎用スキル"
    when 2 # 魔法
      return "汎用魔法"
    end
    # 上記以外
    return "汎用スキル"
  end
  #--------------------------------------------------------------------------
  # ● アイテムアクション
  #--------------------------------------------------------------------------
  def item_action
    case item_id # アイテムIDで指定
    when 1
      return "アイテム使用"
    else
      return "アイテム使用"
    end
  end
  #--------------------------------------------------------------------------
  # ● カウンタースキルID カウンター時のスキルIDを指定します
  #--------------------------------------------------------------------------
  # ※データベースで設定された複数回攻撃は反映されません
  def counter_skill_id
    return 1
  end
  #--------------------------------------------------------------------------
  # ● 魔法反射アニメID 魔法反射時のアニメIDを指定します
  #--------------------------------------------------------------------------
  def reflection_anime_id
    return 118
  end
  #--------------------------------------------------------------------------
  # ● 身代わり開始アクション
  #--------------------------------------------------------------------------
  def substitute_start_action
    return "身代わり開始"
  end
  #--------------------------------------------------------------------------
  # ● 身代わり終了アクション
  #--------------------------------------------------------------------------
  def substitute_end_action
    return "身代わり終了"
  end
  #--------------------------------------------------------------------------
  # ● 身代わりされた側のアクション開始
  #--------------------------------------------------------------------------
  def substitute_receiver_start_action
    return "被身代わり開始"
  end
  #--------------------------------------------------------------------------
  # ● 身代わりされた側のアクション終了
  #--------------------------------------------------------------------------
  def substitute_receiver_end_action
    return "被身代わり終了"
  end
  #--------------------------------------------------------------------------
  # ● エネミーのレベル  条件分岐などに利用するためのもので、パラメータは反映されません
  #--------------------------------------------------------------------------
  def level
    case id
    when -1 # 1番のエネミー
      return 0
    end
    return 0
  end
  
end
[/pre]
求大神指导.
梦石
0
星屑
677
在线时间
509 小时
注册时间
2011-4-25
回帖
155
发表于 2014-4-28 22:14:50 | 显示全部楼层
这个有点麻烦,本人先研究一下,本人也是卡在这里
回复

使用道具 举报

梦石
0
星屑
50
在线时间
107 小时
注册时间
2014-4-4
回帖
17
发表于 2014-4-30 16:52:04 | 显示全部楼层
在数据库改下武器图像,并在角色一栏装备即可
本帖LZ是魂淡吗?
A不是,则选A者魂淡
B是,则LZ魂淡
回复

使用道具 举报

梦石
0
星屑
50
在线时间
295 小时
注册时间
2013-7-1
回帖
22
 楼主| 发表于 2014-4-30 22:48:51 | 显示全部楼层
195898962 发表于 2014-4-30 16:52
在数据库改下武器图像,并在角色一栏装备即可

我是想要实现菜单栏里面和战斗时人物手里面拿的武器图片不一样。
回复

使用道具 举报

梦石
0
星屑
50
在线时间
92 小时
注册时间
2013-2-23
回帖
127
发表于 2014-5-1 03:47:16 | 显示全部楼层
本帖最后由 sh0016 于 2014-5-1 03:48 编辑

255~272的这段。
  1.   #--------------------------------------------------------------------------
  2.   #●武器图像指定
  3.   #--------------------------------------------------------------------------
  4.   # 武器战斗的类型,[1:独自图像][2:2003规格]时选择了
  5.   #参考先进的照片,并在这里指定。
  6.   # return”001 - weapon 2001 "←对应的武器的档案名。
  7.   # 3图形武器请到文件夹
  8.   #特定的武器不显示,那么在天空的照片,并准备,指定。
  9.   def weapon_graphic(weapon_id, weapon_type)
  10.     # 武器IDで指定
  11.     case weapon_id
  12.     when 1 # 武器1番の画像ファイル名
  13.       return "bicon1"
  14.       #这里
  15. #    when 0 #范例,实际上指定0号武器会导致错误
  16. #      return "Weapon" #用双引号标注,无需扩展名
  17.       #这里
  18.     end
  19.     # 武器タイプで指定
  20.     case weapon_type
  21.     when 6 # 武器タイプ6番の画像ファイル名
  22.       return "bow01"
  23.     end
  24.   end
复制代码
在2个“这里”中间另起一行粘贴这段
  1.     when ID
  2.       return “FILE”
复制代码
ID换成武器的数据库ID,FILE换成文档名称,要用半角双引号("")

评分

参与人数 1梦石 +1 收起 理由
迷糊的安安 + 1 三克油

查看全部评分

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

使用道具 举报

梦石
0
星屑
50
在线时间
295 小时
注册时间
2013-7-1
回帖
22
 楼主| 发表于 2014-5-1 09:20:07 | 显示全部楼层
sh0016 发表于 2014-5-1 03:47
255~272的这段。在2个“这里”中间另起一行粘贴这段ID换成武器的数据库ID,FILE换成文档名称,要用半角双引 ...

三克油.
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部