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

Project1

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

[已经解决] 如何在Scene_Battle2的腳本裡添加一個判斷

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
38 小时
注册时间
2008-11-22
帖子
105
跳转到指定楼层
1
发表于 2009-10-11 15:03:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 柳橙汁 于 2009-10-11 17:01 编辑

我想請問
如何在Scene_Battle2裡添加如下判斷

如果獲得1個30號物品 則10號變量+1
如果獲得2個30號物品 則10號變量+2

請問語法要怎麼寫?要添加到哪個位置? ⊙_⊙

Lv1.梦旅人

℃ake

梦石
0
星屑
50
在线时间
8 小时
注册时间
2009-6-6
帖子
787
2
发表于 2009-10-11 15:09:05 | 只看该作者
  1. class Scene_Battle
  2. alias update_phase5_cake update_phase5
  3. def update_phase5
  4. update_phase5_cake
  5. $game_variable[10] += 1 if item == RPG::Item and item.id == 30
  6. end
  7. end
复制代码
我爱66RPG,但我讨厌66.
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
38 小时
注册时间
2008-11-22
帖子
105
3
 楼主| 发表于 2009-10-11 15:25:54 | 只看该作者
2# 奶油Da蛋糕


請問這一整段要插入在哪裡? ⊙_⊙
回复 支持 反对

使用道具 举报

Lv3.寻梦者

孤独守望

梦石
0
星屑
3137
在线时间
1535 小时
注册时间
2006-10-16
帖子
4321

开拓者贵宾

4
发表于 2009-10-11 15:31:09 | 只看该作者
class Scene_Battle
alias update_phase5_cake update_phase5
def update_phase5
update_phase5_cake
$game_variable[10] += 1 if item == RPG::Item and item.id == 30
end
end
奶油Da蛋糕 发表于 2009-10-11 15:09

看到这个脚本的那一瞬间,我喷了,然后笑了……
菩提本非树,明镜本非台。回头自望路漫漫。不求姻缘,但求再见。
本来无一物,何处惹尘埃。风打浪吹雨不来。荒庭遍野,扶摇难接。
不知道多久更新一次的博客
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
38 小时
注册时间
2008-11-22
帖子
105
5
 楼主| 发表于 2009-10-11 15:34:58 | 只看该作者
4# IamI


那要怎麼寫才對? =  =
回复 支持 反对

使用道具 举报

Lv1.梦旅人

℃ake

梦石
0
星屑
50
在线时间
8 小时
注册时间
2009-6-6
帖子
787
6
发表于 2009-10-11 15:39:38 | 只看该作者
$game_variable后面少加了个s,应该是$game_variables
你插入MAIN前面就可以了。

另外,II笑的是我少的那个S么?
我爱66RPG,但我讨厌66.
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
38 小时
注册时间
2008-11-22
帖子
105
7
 楼主| 发表于 2009-10-11 16:04:34 | 只看该作者
6# 奶油Da蛋糕


可是我測試時 發現戰鬥結束後
 
$game_variables[10] += 1 if item == RPG::Item and item.id == 30

這一行會出錯 ⊙_⊙
回复 支持 反对

使用道具 举报

Lv1.梦旅人

℃ake

梦石
0
星屑
50
在线时间
8 小时
注册时间
2009-6-6
帖子
787
8
发表于 2009-10-11 16:06:04 | 只看该作者
6# 奶油Da蛋糕


可是我測試時 發現戰鬥結束後
 
$game_variables[10] += 1 if item == RPG::Item and item.id == 30

這一行會出錯 ⊙_⊙
柳橙汁 发表于 2009-10-11 16:04

是吗 =.= 果然写错了呀。
报错什么呢?=.= 实在不行的话我也无能为力了。
我爱66RPG,但我讨厌66.
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
38 小时
注册时间
2008-11-22
帖子
105
9
 楼主| 发表于 2009-10-11 16:15:05 | 只看该作者
8# 奶油Da蛋糕


還是大大有什麼方法可以直接在下面腳本裡添加判斷? ⊙_⊙

#--------------------------------------------------------------------------
  # ● 开始结束战斗回合
  #--------------------------------------------------------------------------
  def start_phase5
    # 转移到回合 5
    @phase = 5
    # 演奏战斗结束 ME
    $game_system.me_play($game_system.battle_end_me)
    # 还原为战斗开始前的 BGM
    $game_system.bgm_play($game_temp.map_bgm)
    # 初始化 EXP、金钱、宝物
    exp = 0
    gold = 0
    treasures = []
    # 循环
    for enemy in $game_troop.enemies
      # 敌人不是隐藏状态的情况下
      unless enemy.hidden
        # 获得 EXP、增加金钱
        exp += enemy.exp
        gold += enemy.gold
        # 出现宝物判定
        if rand(100) < enemy.treasure_prob
          if enemy.item_id > 0
            treasures.push($data_items[enemy.item_id])
          end
          if enemy.weapon_id > 0
            treasures.push($data_weapons[enemy.weapon_id])
          end
          if enemy.armor_id > 0
            treasures.push($data_armors[enemy.armor_id])
          end
        end
      end
    end
    # 限制宝物数为 6 个
    treasures = treasures[0..5]
    # 获得 EXP
    for i in 0...$game_party.actors.size
      actor = $game_party.actors
      if actor.cant_get_exp? == false
        last_level = actor.level
        actor.exp += exp
        if actor.level > last_level
          @status_window.level_up(i)
        end
      end
    end
    # 获得金钱
    $game_party.gain_gold(gold)
    # 获得宝物
    for item in treasures
      case item
      when RPG::Item
        $game_party.gain_item(item.id, 1)
      when RPG::Weapon
        $game_party.gain_weapon(item.id, 1)
      when RPG::Armor
        $game_party.gain_armor(item.id, 1)
      end
    end
    # 生成战斗结果窗口
    @result_window = Window_BattleResult.new(exp, gold, treasures)
    # 设置等待计数
    @phase5_wait_count = 100
  end
  #--------------------------------------------------------------------------
  # ● 画面更新 (结束战斗回合)
  #--------------------------------------------------------------------------
  def update_phase5
    # 等待计数大于 0 的情况下
    if @phase5_wait_count > 0
      # 减少等待计数
      @phase5_wait_count -= 1
      # 等待计数为 0 的情况下
      if @phase5_wait_count == 0
        # 显示结果窗口
        @result_window.visible = true
        # 清除主回合标志
        $game_temp.battle_main_phase = false
        # 刷新状态窗口
        @status_window.refresh
      end
      return
    end
    # 按下 C 键的情况下
    if Input.trigger?(Input::C)
      # 战斗结束
      battle_end(0)
    end
  end
end
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
84
在线时间
156 小时
注册时间
2009-8-5
帖子
533
10
发表于 2009-10-11 16:35:50 | 只看该作者
用事件就可以的为什么要用脚本呢。。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-1-2 02:31

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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