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

Project1

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

自己写的一个双倍经验的脚本……

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
1 小时
注册时间
2008-8-27
帖子
1581
跳转到指定楼层
1
发表于 2009-1-2 00:39:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
写了一个脚本,大概就是使某个角色战斗结束后获得的经验翻倍,不过我测试了一遍却没有用,请前辈们帮我改一改……
  1. class Game_Actor < Game_Battler
  2.   attr_accessor :add_exp #############
  3.   def initialize(actor_id)
  4.     super()
  5.     setup(actor_id)
  6.     @add_exp = false #############
  7.   end
  8. end
  9. class Scene_Battle
  10.   def start_phase5
  11.     @phase = 5
  12.     $game_system.me_play($game_system.battle_end_me)
  13.     $game_system.bgm_play($game_temp.map_bgm)
  14.     exp = 0
  15.     gold = 0
  16.     treasures = []
  17.     for enemy in $game_troop.enemies
  18.       unless enemy.hidden
  19.         exp += enemy.exp
  20.         gold += enemy.gold
  21.         if rand(100) < enemy.treasure_prob
  22.           if enemy.item_id > 0
  23.             treasures.push($data_items[enemy.item_id])
  24.           end
  25.           if enemy.weapon_id > 0
  26.             treasures.push($data_weapons[enemy.weapon_id])
  27.           end
  28.           if enemy.armor_id > 0
  29.             treasures.push($data_armors[enemy.armor_id])
  30.           end
  31.         end
  32.       end
  33.     end
  34.     treasures = treasures[0..5]
  35.     for i in 0...$game_party.actors.size
  36.       actor = $game_party.actors[i]
  37.       if actor.cant_get_exp? == false
  38.         last_level = actor.level
  39.         if actor.add_exp == true #############
  40.         actor.exp += exp*2 #############
  41.       else #############
  42.         actor.exp += exp #############
  43.         end #############
  44.         if actor.level > last_level
  45.           @status_window.level_up(i)
  46.         end
  47.       end
  48.     end
  49.     $game_party.gain_gold(gold)
  50.     for item in treasures
  51.       case item
  52.       when RPG::Item
  53.         $game_party.gain_item(item.id, 1)
  54.       when RPG::Weapon
  55.         $game_party.gain_weapon(item.id, 1)
  56.       when RPG::Armor
  57.         $game_party.gain_armor(item.id, 1)
  58.       end
  59.     end
  60.     @result_window = Window_BattleResult.new(exp, gold, treasures)
  61.     @phase5_wait_count = 100
  62.   end
  63. end
复制代码

开启、关闭方法是$game_actors[x].add_exp = true/false
版务信息:本贴由楼主自主结贴~
BW2又流产了……小柯……懒散……一水……茄子……晨风……还有等等……我要吐槽你们!!!

Lv3.寻梦者

孤独守望

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

开拓者贵宾

2
发表于 2009-1-2 00:42:43 | 只看该作者
是不认真还是不专心= =
以下引用风花雪月于2009-1-1 16:39:01的发言:
class Game_Actor < Game_Battler
  attr_accessor :add_exp #############
  def initialize(actor_id)
    super()
    setup(actor_id)
    @add_exp = false #############
  end
end
class Scene_Battle
  def start_phase5
    @phase = 5
    $game_system.me_play($game_system.battle_end_me)
    $game_system.bgm_play($game_temp.map_bgm)
    exp = 0
    gold = 0
    treasures = []
    for enemy in $game_troop.enemies
      unless enemy.hidden
        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
    treasures = treasures[0..5]
    for i in 0...$game_party.actors.size
      actor = $game_party.actors
      if actor.cant_get_exp? == false
        last_level = actor.level
        if actor.add_exp == true #############
        actor.exp += exp*2 #############
      else #############
        actor.exp += exp #############
        end #############
        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
end


开启、关闭方法是$game_actors[x].add_exp = true/false

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

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
93 小时
注册时间
2008-5-16
帖子
745
3
发表于 2009-1-2 00:50:16 | 只看该作者
  1. class Game_Actor < Game_Battler
  2. attr_accessor :add_exp #############
  3. def initialize(actor_id)
  4.    super()
  5.    setup(actor_id)
  6.    @add_exp = false #############
  7. end
  8. end
  9. class Scene_Battle
  10. def start_phase5
  11.    @phase = 5
  12.    $game_system.me_play($game_system.battle_end_me)
  13.    $game_system.bgm_play($game_temp.map_bgm)
  14.    exp = 0
  15.    gold = 0
  16.    treasures = []
  17.    for enemy in $game_troop.enemies
  18.      unless enemy.hidden
  19.        exp += enemy.exp
  20.        gold += enemy.gold
  21.        if rand(100) < enemy.treasure_prob
  22.          if enemy.item_id > 0
  23.            treasures.push($data_items[enemy.item_id])
  24.          end
  25.          if enemy.weapon_id > 0
  26.            treasures.push($data_weapons[enemy.weapon_id])
  27.          end
  28.          if enemy.armor_id > 0
  29.            treasures.push($data_armors[enemy.armor_id])
  30.          end
  31.        end
  32.      end
  33.    end
  34.    treasures = treasures[0..5]
  35.    for i in 0...$game_party.actors.size
  36.      actor = $game_party.actors[i]
  37.      if actor.cant_get_exp? == false
  38.        last_level = actor.level
  39.        if actor.add_exp == true
  40.        exp = exp*2
  41.        actor.exp += exp
  42.      else
  43.        actor.exp += exp
  44.        end
  45.        if actor.level > last_level
  46.          @status_window.level_up(i)
  47.        end
  48.      end
  49.    end
  50.    $game_party.gain_gold(gold)
  51.    for item in treasures
  52.      case item
  53.      when RPG::Item
  54.        $game_party.gain_item(item.id, 1)
  55.      when RPG::Weapon
  56.        $game_party.gain_weapon(item.id, 1)
  57.      when RPG::Armor
  58.        $game_party.gain_armor(item.id, 1)
  59.      end
  60.    end
  61.    @result_window = Window_BattleResult.new(exp, gold, treasures)
  62.    @phase5_wait_count = 100
  63. end
  64. end
复制代码

系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
1 小时
注册时间
2008-8-27
帖子
1581
4
 楼主| 发表于 2009-1-2 00:57:22 | 只看该作者
唔……谢谢……这个脚本确实是变成了双倍经验,只不过没显示出来而已,感谢LS帮我改……
BW2又流产了……小柯……懒散……一水……茄子……晨风……还有等等……我要吐槽你们!!!
回复 支持 反对

使用道具 举报

Lv1.梦旅人

魔王 ⑨

梦石
0
星屑
95
在线时间
380 小时
注册时间
2006-10-16
帖子
4299

贵宾

5
发表于 2009-2-8 03:01:21 | 只看该作者
稍微挖坟 - - 记得玩天龙八部的时候经验和参战人数成反比的。然后就华丽的参考了 = =
所以有练级狂可能会不要命的总是单打独斗,最后发现最终BOSS打不赢,一个人的话 - - 。
话说金钱和参战人数成正比和EXP一样都是rand(gold)+1.5*gold * 参战人数。我想会不会有人这么财迷总是一堆人上弄到最后老大把他们全员给秒了 = = 哈啊
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-1-18 03:17

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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