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

Project1

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

[已经过期] 種族.個性辨認與能力加成問題

[复制链接]

Lv1.梦旅人

梦石
0
星屑
60
在线时间
326 小时
注册时间
2010-5-4
帖子
173
跳转到指定楼层
1
发表于 2012-11-12 03:39:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 亂堂和樹 于 2012-11-12 03:44 编辑

請問...要怎麼做才能讓資料庫里的人物~
多了一個種族與個性~兩種不同的辨認法呢?
因為要做戰棋遊戲...想弄一點不同的..

種族是人類.獸人.魔族.精靈...大約有7種
個性是暫時用SD的
超弱氣
弱氣
普通
強氣
超強氣這5種~

但是想要的效果...有點點複雜..

先說種族辨認~
要怎麼做才能讓資料庫角色跟敵方~都能有種族辨認呢?
而且假設...
種族是人類的話
攻擊與移動各+20點

辨認好之後~能力直接附加~但是應該是白色字體(默認)
要如何變成能力附加後變成其他顏色?
像圖這樣顯示~綠色的是已經附加過後的數值


至於個性...SRPG2腳本部分要修改才能做到吧...(我這點認知還是有..
假如說想把個性做成像SD那樣~或是類似怒氣條
隨著怒氣提升~爆擊率也會大幅提升~或是改變行走圖與頭像

請問這樣要怎麼做呢?
我只知道SRPG2腳本中...有一段是這個..這應該是類似獲取經驗的部分..
想說..個性取得之後..想要攻擊敵人後也像獲得經驗那樣增加..也是這邊要作修改吧

另外問個傻問題...要是獲得經驗..想要出現臉圖之類的..像是升級提是那樣..
也是這裡要作修改吧?

  #--------------------------------------------------------------------------
  # ● 行動の実行
  #update1.003
  #update1.012
  #update1.0121
  #--------------------------------------------------------------------------
  def execute_action(x, y)
    # 攻撃可能セルが選択されていなければ終了
    unless @attack_cell.include?([x, y])
      Sound.play_buzzer
      return
    end
    # 現在の効果範囲上に生きている誰かがいれば実行
    @action_result_exp = 0
    @action_result_item.clear
    @action_result_gold = 0
    targets = []                        # ターゲットの配列を作成
    @coop_unit_list = []
    for pos in @effect_cell
      event = $game_srpg.target_xy(x + pos[0], y + pos[1])[0]
      targets.push(event) if event != nil
    end
    obj = @event.unit.action.obj
    if obj.is_a?(RPG::BaseItem) and obj.dual? # 連続攻撃なら同じターゲットを追加
      targets += targets
    end
    if targets.empty?   # ターゲットがいない
      Sound.play_buzzer
      @message_mini_window.refresh("ターゲットが見つかりません", 60)
      return
    end
    @event.turn_cell(x, y)              # 攻撃する方向を向く
    if @event.unit.action.attack?       # 通常攻撃
      level = execute_action_attack(targets)
    elsif @event.unit.action.skill?     # スキル
      level = execute_action_obj(targets)
    elsif @event.unit.action.item?      # アイテム
      level = execute_action_obj(targets)
    end
    @event.action_end = true              # 行動済みフラグを立てる
    unless $game_srpg.enemy_turn?         # 味方ターン限定の処理
      $game_srpg.scene_state = 0            # ニュートラルへ移行する
      @status_window.refresh($game_srpg.alive_unit_xy(x, y))  # ステータスウィンドウの再描画
    end
    unless @event.enemy_flag              # 味方行動時限定の処理
      for event in @coop_unit_list          # 協力攻撃者も経験値取得
        next if event.enemy_flag
        exp = @action_result_exp + event.unit.action_exp
        exp = [exp + exp * (level - event.unit.level) * 10 / 100, 1].max
        event.unit.gain_exp(exp / 2 + 1, true)
        event.unit.gain_job_exp(exp, true) if $include_tjex
        text = sprintf("EXP+%d", exp / 2 + 1)
        $game_srpg.add_popup(event.real_x, event.real_y, text, Color.new(255, 255, 255), 1)
      end
      exp = @action_result_exp + @event.unit.action_exp
      exp = [exp + exp * (level - @event.unit.level) * 10 / 100, 1].max
      @event.unit.gain_exp(exp, true)
      @event.unit.gain_job_exp(exp, true) if $include_tjex
      text = sprintf("EXP+%d", exp)
      $game_srpg.add_popup(@event.real_x, @event.real_y, text, Color.new(255, 255, 255), 1)
    end
    if @action_result_gold > 0        # お金の取得
      $game_party.gain_gold(@action_result_gold)
      text = sprintf(Vocab::ObtainGold, @action_result_gold, Vocab::gold)
      $game_message.texts.push(text)
    end
    if @action_result_item.size > 0   # アイテムの取得
      for item in @action_result_item
        $game_party.gain_item(item, 1)
        text = sprintf(Vocab::ObtainItem, item.name)
        $game_message.texts.push(text)
      end
    end
    wait_for_message
  end

点评

建议用代码功能发脚本  发表于 2012-11-12 22:49
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

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

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

GMT+8, 2024-9-28 00:24

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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