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

Project1

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

[已经解决] 四格掉宝脚本和升级提示脚本互相覆盖,求帮助

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
410
在线时间
5 小时
注册时间
2009-10-24
帖子
4
跳转到指定楼层
1
发表于 2011-5-30 17:35:34 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

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

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

x
本帖最后由 精灵使者 于 2011-5-31 11:21 编辑

我使用了一个升级提示脚本(提示升级能力变化和习得技能的)和四格掉宝,但是如果把四格掉宝优先更靠近Main,则得到设定的随机宝物,但是战斗结束没有显示得到的经验金钱和得到的物品,且升级提示也不显示了。如果升级提示更靠近Main,则四格掉宝无效化。搜索了一下没发现有人提出这两个脚本冲突,真的两种效果都想要,我是脚本半文盲,求高人解答,谢谢。下面是我使用的两个脚本:
升级提示
  1. class Game_Actor < Game_Battler
  2. #--------------------------------------------------------------------------
  3. # ● 定义实例变量
  4. #--------------------------------------------------------------------------
  5. attr_reader   :not_new_skill

  6. alias old_setup setup
  7. def setup(actor_id)
  8.    old_setup(actor_id)
  9.    @not_new_skill = []
  10. end
  11. def exp=(exp)
  12.    @not_new_skill = []
  13.    @exp = [[exp, 9999999].min, 0].max
  14.    # 升级
  15.    while @exp >= @exp_list[@level+1] and @exp_list[@level+1] > 0
  16.      @level += 1
  17.      @hp = maxhp
  18.      @sp = maxsp
  19.      # 学会特技
  20.      for j in $data_classes[@class_id].learnings
  21.        if j.level == @level
  22.          @not_new_skill.push(j.skill_id) if @skills.include?(j.skill_id)
  23.          learn_skill(j.skill_id)
  24.        end
  25.      end
  26.    end
  27.    # 降级
  28.    while @exp < @exp_list[@level]
  29.      @level -= 1
  30.    end
  31.    # 修正当前的 HP 与 SP 超过最大值
  32.    @hp = [@hp, self.maxhp].min
  33.    @sp = [@sp, self.maxsp].min
  34. end
  35. end
  36.    

  37. #==============================================================================
  38. # 本脚本来自[url]www.66RPG.com[/url],使用和转载请保留此信息
  39. #==============================================================================


  40. # ————————————————————————————————————

  41. # ▼▲▼ XRXS_BP10. LEVEL UP!能力上昇表示ウィンドウ plus ▼▲▼
  42. # by 桜雅 在土

  43. #——以下3个如果需要修改,直接输入文件名即可
  44. $data_system_level_up_se = "" #升级时的音效设置
  45. $data_system_level_up_me = "Audio/ME/007-Fanfare01" # 升级时播放的ME
  46. $data_system_skilllearn_se = "Audio/SE/106-Heal02" # 学会特技时播放的声效。

  47. #==============================================================================
  48. # ■ Window_LevelUpWindow
  49. #------------------------------------------------------------------------------
  50. #  バトル終了時、レベルアップした場合にステータスを表示するウィンドウです。
  51. #==============================================================================
  52. class Window_LevelUpWindow < Window_Base
  53. #--------------------------------------------------------------------------
  54. # ● オブジェクト初期化
  55. #--------------------------------------------------------------------------
  56. def initialize(actor, last_lv, up_hp, up_sp, up_str, up_dex, up_agi, up_int)
  57.    super(0, 128, 160, 192)
  58.    self.contents = Bitmap.new(width - 32, height - 32)
  59.    self.visible = false
  60.    self.back_opacity = 160
  61.    refresh(actor, last_lv, up_hp, up_sp, up_str, up_dex, up_agi, up_int)
  62. end
  63. #--------------------------------------------------------------------------
  64. # ● リフレッシュ
  65. #--------------------------------------------------------------------------
  66. def refresh(actor, last_lv, up_hp, up_sp, up_str, up_dex, up_agi, up_int)
  67.    self.contents.clear
  68.    self.contents.font.color = system_color
  69.    self.contents.font.size = 14
  70.    self.contents.draw_text( 0, 0, 160, 24, "LEVEL UP!!")
  71.    self.contents.font.size = 18
  72.    self.contents.draw_text( 0, 28, 160, 24, $data_system.words.hp)
  73.    self.contents.draw_text( 0, 50, 160, 24, $data_system.words.sp)
  74.    self.contents.font.size = 14
  75.    self.contents.draw_text( 0, 72, 80, 24, $data_system.words.str)
  76.    self.contents.draw_text( 0, 94, 80, 24, $data_system.words.dex)
  77.    self.contents.draw_text( 0, 116, 80, 24, $data_system.words.agi)
  78.    self.contents.draw_text( 0, 138, 80, 24, $data_system.words.int)
  79.    self.contents.draw_text(92, 0, 128, 24, "→")
  80.    self.contents.draw_text(76, 28, 128, 24, "=")
  81.    self.contents.draw_text(76, 50, 128, 24, "=")
  82.    self.contents.draw_text(76, 72, 128, 24, "=")
  83.    self.contents.draw_text(76, 94, 128, 24, "=")
  84.    self.contents.draw_text(76, 116, 128, 24, "=")
  85.    self.contents.draw_text(76, 138, 128, 24, "=")
  86.    self.contents.font.color = normal_color
  87.    self.contents.draw_text( 0, 0, 88, 24, last_lv.to_s, 2)
  88.    self.contents.draw_text( 0, 28, 72, 24, "+" + up_hp.to_s, 2)
  89.    self.contents.draw_text( 0, 50, 72, 24, "+" + up_sp.to_s, 2)
  90.    self.contents.draw_text( 0, 72, 72, 24, "+" + up_str.to_s, 2)
  91.    self.contents.draw_text( 0, 94, 72, 24, "+" + up_dex.to_s, 2)
  92.    self.contents.draw_text( 0, 116, 72, 24, "+" + up_agi.to_s, 2)
  93.    self.contents.draw_text( 0, 138, 72, 24, "+" + up_int.to_s, 2)
  94.    self.contents.font.size = 20
  95.    self.contents.draw_text( 0, 0, 128, 24, actor.level.to_s, 2)
  96.    self.contents.draw_text( 0, 26, 128, 24, actor.maxhp.to_s, 2)
  97.    self.contents.draw_text( 0, 48, 128, 24, actor.maxsp.to_s, 2)
  98.    self.contents.draw_text( 0, 70, 128, 24, actor.str.to_s, 2)
  99.    self.contents.draw_text( 0, 92, 128, 24, actor.dex.to_s, 2)
  100.    self.contents.draw_text( 0, 114, 128, 24, actor.agi.to_s, 2)
  101.    self.contents.draw_text( 0, 136, 128, 24, actor.int.to_s, 2)
  102. end
  103. end
  104. #==============================================================================
  105. # ■ Window_SkillLearning
  106. #------------------------------------------------------------------------------
  107. #  レベルアップ時などにスキルを習得した場合にそれを表示するウィンドウです。
  108. #==============================================================================
  109. class Window_SkillLearning < Window_Base
  110. #--------------------------------------------------------------------------
  111. # ● 公開インスタンス変数
  112. #--------------------------------------------------------------------------
  113. attr_reader :learned # スキルを習得したかどうか
  114. #--------------------------------------------------------------------------
  115. # ● オブジェクト初期化
  116. #--------------------------------------------------------------------------
  117. def initialize(class_id, last_lv, now_lv, actor)
  118.    super(160, 64, 320, 64)
  119.    self.contents = Bitmap.new(width - 32, height - 28) # わざと▽を表示
  120.    self.visible = false
  121.    self.back_opacity = 160
  122.    @actor = actor
  123.    @learned = false
  124.    refresh(class_id, last_lv, now_lv)
  125. end
  126. #--------------------------------------------------------------------------
  127. # ● リフレッシュ
  128. #--------------------------------------------------------------------------
  129. def refresh(class_id, last_lv, now_lv)
  130.    for i in 0...$data_classes[class_id].learnings.size
  131.      learn_lv = $data_classes[class_id].learnings[i].level
  132.      # 今回のレベルアップ範囲で習得するスキルの場合
  133.      if learn_lv > last_lv and learn_lv <= now_lv
  134.        @learned = true
  135.        # SEの再生
  136.        if $data_system_skilllearn_se != ""
  137.          Audio.se_play($data_system_skilllearn_se)
  138.        end
  139.        unless @actor.not_new_skill.include?($data_classes[class_id].learnings[i].skill_id)   #←←←←←←←←←←←←←
  140.          # 各描写
  141.          skill_name = $data_skills[$data_classes[class_id].learnings[i].skill_id].name
  142.          self.contents.clear
  143.          self.contents.font.color = text_color(0)
  144.          self.contents.draw_text(0,0,448,32, "学会特技:"+skill_name)
  145.          self.contents.font.color = text_color(6)
  146.          self.contents.draw_text(0,0,448,32, "          "+skill_name)
  147.          self.contents.font.color = text_color(0)
  148.          self.visible = true
  149.        end
  150.        # メインループ
  151.        loop do
  152.          # ゲーム画面を更新
  153.          Graphics.update
  154.          # 入力情報を更新
  155.          Input.update
  156.          # フレーム更新
  157.          update
  158.          # 画面が切り替わったらループを中断
  159.          if @learned == false
  160.            break
  161.          end
  162.        end
  163.      # メインループここまで
  164.      end
  165.    end
  166. end
  167. #--------------------------------------------------------------------------
  168. # ● フレーム更新
  169. #--------------------------------------------------------------------------
  170. def update
  171.    # C ボタンが押された場合
  172.    if Input.trigger?(Input::C)
  173.      @learned = false
  174.      self.visible = false
  175.    end
  176. end
  177. end
  178. #==============================================================================
  179. # ■ Window_BattleStatus
  180. #==============================================================================
  181. class Window_BattleStatus < Window_Base
  182. #--------------------------------------------------------------------------
  183. # ● 追加?公開インスタンス変数
  184. #--------------------------------------------------------------------------
  185. attr_accessor :level_up_flags # LEVEL UP!表示
  186. end
  187. #==============================================================================
  188. # ■ Game_Battler
  189. #==============================================================================
  190. class Game_Battler
  191. #--------------------------------------------------------------------------
  192. # ● 追加?公開インスタンス変数
  193. #--------------------------------------------------------------------------
  194. attr_accessor :exp_gain_ban # EXP取得一時禁止
  195. #--------------------------------------------------------------------------
  196. # ● オブジェクト初期化
  197. #--------------------------------------------------------------------------
  198. alias xrxs_bp10_initialize initialize
  199. def initialize
  200.    @exp_gain_ban = false
  201.    xrxs_bp10_initialize
  202. end
  203. #--------------------------------------------------------------------------
  204. # ● ステート [EXP を獲得できない] 判定
  205. #--------------------------------------------------------------------------
  206. alias xrxs_bp10_cant_get_exp? cant_get_exp?
  207. def cant_get_exp?
  208.    if @exp_gain_ban == true
  209.      return true
  210.    else
  211.      return xrxs_bp10_cant_get_exp?
  212.    end
  213. end
  214. end
  215. #==============================================================================
  216. # ■ Scene_Battle
  217. #==============================================================================
  218. class Scene_Battle
  219. #--------------------------------------------------------------------------
  220. # ● アフターバトルフェーズ開始
  221. #--------------------------------------------------------------------------
  222. alias xrxs_bp10_start_phase5 start_phase5
  223. def start_phase5
  224.    # EXP 獲得禁止
  225.    for i in 0...$game_party.actors.size
  226.      $game_party.actors[i].exp_gain_ban = true
  227.    end
  228.    xrxs_bp10_start_phase5
  229.    # EXP 獲得禁止の解除
  230.    for i in 0...$game_party.actors.size
  231.      $game_party.actors[i].exp_gain_ban = false
  232.    end
  233.    # EXPを初期化
  234.    @exp_gained = 0
  235.    for enemy in $game_troop.enemies
  236.      # 獲得 EXPを追加 # エネミーが隠れ状態でない場合
  237.      @exp_gained += enemy.exp if not enemy.hidden
  238.    end
  239.    # 設定
  240.    @phase5_step = 1
  241.    @exp_gain_actor = -1
  242.    # リザルトウィンドウを表示
  243.    @result_window.visible = true
  244. end
  245. #--------------------------------------------------------------------------
  246. # ● フレーム更新 (アフターバトルフェーズ)
  247. #--------------------------------------------------------------------------
  248. #alias xrxs_bp10_update_phase5 update_phase5
  249. def update_phase5
  250.    case @phase5_step
  251.    when 1
  252.      update_phase5_step1
  253.    else
  254.    # ウェイトカウントが 0 より大きい場合
  255.      if @phase5_wait_count > 0
  256.        # ウェイトカウントを減らす
  257.        @phase5_wait_count -= 1
  258.        # ウェイトカウントが 0 になった場合
  259.        if @phase5_wait_count == 0
  260.          # リザルトウィンドウを表示
  261.          #@result_window.visible = true
  262.          # メインフェーズフラグをクリア
  263.          $game_temp.battle_main_phase = false
  264.          # ステータスウィンドウをリフレッシュ
  265.          @status_window.refresh
  266.        end
  267.      return
  268.      end
  269.      # C ボタンが押された場合
  270.      if Input.trigger?(Input::C)
  271.        # バトル終了
  272.        battle_end(0)
  273.      end
  274.    # レベルアップしている場合は強制バトル終了
  275.    battle_end(0) if @levelup_window != nil and @phase5_wait_count <= 0
  276.    end
  277. end
  278. #--------------------------------------------------------------------------
  279. # ● フレーム更新 (アフターバトルフェーズ 1 : レベルアップ)
  280. #--------------------------------------------------------------------------
  281. def update_phase5_step1
  282.    # C ボタンが押された場合
  283.    if Input.trigger?(Input::C)
  284.      # ウィンドウを閉じて次のアクターへ
  285.      @levelup_window.visible = false if @levelup_window != nil
  286.      @status_window.level_up_flags[@exp_gain_actor] = false
  287.      phase5_next_levelup
  288.    end
  289. end
  290. #--------------------------------------------------------------------------
  291. # ● 次のアクターのレベルアップ表示へ
  292. #--------------------------------------------------------------------------
  293. def phase5_next_levelup
  294.    begin
  295.      # 次のアクターへ
  296.      @exp_gain_actor += 1
  297.      # 最後のアクターの場合
  298.      if @exp_gain_actor >= $game_party.actors.size
  299.        # アフターバトルフェーズ開始
  300.        @phase5_step = 0
  301.        return
  302.      end
  303.      actor = $game_party.actors[@exp_gain_actor]
  304.      if actor.cant_get_exp? == false
  305.        # 現在の能力値を保持
  306.        last_level = actor.level
  307.        last_maxhp = actor.maxhp
  308.        last_maxsp = actor.maxsp
  309.        last_str = actor.str
  310.        last_dex = actor.dex
  311.        last_agi = actor.agi
  312.        last_int = actor.int
  313.        # 経験値取得の決定的瞬間(謎
  314.        actor.exp += @exp_gained
  315.        # 判定
  316.        if actor.level > last_level
  317.          # レベルアップした場合
  318.          @status_window.level_up(@exp_gain_actor)
  319.          # リザルトウィンドウを消す
  320.          @result_window.visible = false
  321.          # SEの再生
  322.          if $data_system_level_up_se != ""
  323.            Audio.se_play($data_system_level_up_se)
  324.          end
  325.          # MEの再生
  326.          if $data_system_level_up_me != ""
  327.            Audio.me_stop
  328.            Audio.me_play($data_system_level_up_me)
  329.          end
  330.          # LEVEL-UPウィンドウの設定
  331.          @levelup_window = Window_LevelUpWindow.new(actor, last_level,
  332.          actor.maxhp - last_maxhp, actor.maxsp - last_maxsp, actor.str - last_str,
  333.          actor.dex - last_dex, actor.agi - last_agi, actor.int - last_int)
  334.          @levelup_window.x = 160 * @exp_gain_actor
  335.          @levelup_window.visible = true
  336.          # ステータスウィンドウをリフレッシュ
  337.          @status_window.refresh
  338.          # スキル習得ウィンドウの設定
  339.          @skilllearning_window = Window_SkillLearning.new(actor.class_id, last_level, actor.level, actor)
  340.          # ウェイトカウントを設定
  341.          @phase5_wait_count = 40
  342.          @phase5_step = 1
  343.          return
  344.        end
  345.      end
  346.    end until false
  347. end
  348. end


  349. #==============================================================================
  350. # 本脚本来自[url]www.66RPG.com[/url],使用和转载请保留此信息
  351. #==============================================================================
复制代码
四格掉宝是这个
  1. #==============================================================================
  2. # 本脚本来自[url]www.66RPG.com[/url],使用和转载请保留此信息
  3. #==============================================================================

  4. # ============================================================================
  5. # 四格掉宝设定 by SailCat
  6. # ============================================================================
  7. # 脚本使用说明:
  8. # 1.复制后插入到Main前面
  9. # 2.数据库设定额外掉宝的概率,在敌人名称那里
  10. #   格式: 敌人名称,宝物2,宝物3,宝物4
  11. #   宝物写法: (I|W|A)n 分别对应: n号道具,n号武器,n号防具 I W A必须大写
  12. #   例: Cockatrice,A5,I5,W3
  13. #       Fishman,I2,I3
  14. #   三栏中任一栏留空不写时,取前一格的设定,全都不写时,取默认宝物设定
  15. # 3.186行是四格概率比设定,在那里填上4个数字就可以更改概率了,该行内容:
  16. #         rarity = [178, 51, 15, 12]
  17. # ============================================================================

  18. #--------------------------------------------------------------------------
  19. # □ RPG::Enemy
  20. #--------------------------------------------------------------------------
  21. module RPG
  22. class Enemy
  23.    def name
  24.      name = @name.split(/,/)[0]
  25.      return name != nil ? name : ""
  26.    end
  27.    def treasure2
  28.      treasure = @name.split(/,/)[1]
  29.      return treasure.to_s
  30.    end
  31.    def treasure3
  32.      treasure = @name.split(/,/)[2]
  33.      return treasure.to_s
  34.    end
  35.    def treasure4
  36.      treasure = @name.split(/,/)[3]
  37.      return treasure.to_s
  38.    end
  39. end
  40. end

  41. #==============================================================================
  42. # ■ Game_Enemy
  43. #------------------------------------------------------------------------------
  44. #  处理敌人的类。本类在 Game_Troop 类 ($game_troop) 的
  45. # 内部使用。
  46. #==============================================================================
  47. class Game_Enemy < Game_Battler
  48. #--------------------------------------------------------------------------
  49. # ● 获取物品 ID2
  50. #--------------------------------------------------------------------------
  51. def item2_id
  52.    if $data_enemies[@enemy_id].treasure2 == ""
  53.      return item_id
  54.    elsif $data_enemies[@enemy_id].treasure2[0,1] != "I"
  55.      return 0
  56.    else
  57.      return $data_enemies[@enemy_id].treasure2[/[0-9]+/].to_i
  58.    end
  59. end
  60. #--------------------------------------------------------------------------
  61. # ● 获取武器 ID2
  62. #--------------------------------------------------------------------------
  63. def weapon2_id
  64.    if $data_enemies[@enemy_id].treasure2 == ""
  65.      return weapon_id
  66.    elsif $data_enemies[@enemy_id].treasure2[0,1] != "W"
  67.      return 0
  68.    else
  69.      return $data_enemies[@enemy_id].treasure2[/[0-9]+/].to_i
  70.    end
  71. end
  72. #--------------------------------------------------------------------------
  73. # ● 获取防具 ID2
  74. #--------------------------------------------------------------------------
  75. def armor2_id
  76.    if $data_enemies[@enemy_id].treasure2 == ""
  77.      return armor_id
  78.    elsif $data_enemies[@enemy_id].treasure2[0,1] != "A"
  79.      return 0
  80.    else
  81.      return $data_enemies[@enemy_id].treasure2[/[0-9]+/].to_i
  82.    end
  83. end
  84. #--------------------------------------------------------------------------
  85. # ● 获取物品 ID3
  86. #--------------------------------------------------------------------------
  87. def item3_id
  88.    if $data_enemies[@enemy_id].treasure3 == ""
  89.      return item2_id
  90.    elsif $data_enemies[@enemy_id].treasure3[0,1] != "I"
  91.      return 0
  92.    else
  93.      return $data_enemies[@enemy_id].treasure3[/[0-9]+/].to_i
  94.    end
  95. end
  96. #--------------------------------------------------------------------------
  97. # ● 获取武器 ID3
  98. #--------------------------------------------------------------------------
  99. def weapon3_id
  100.    if $data_enemies[@enemy_id].treasure3 == ""
  101.      return weapon2_id
  102.    elsif $data_enemies[@enemy_id].treasure3[0,1] != "W"
  103.      return 0
  104.    else
  105.      return $data_enemies[@enemy_id].treasure3[/[0-9]+/].to_i
  106.    end
  107. end
  108. #--------------------------------------------------------------------------
  109. # ● 获取防具 ID3
  110. #--------------------------------------------------------------------------
  111. def armor3_id
  112.    if $data_enemies[@enemy_id].treasure3 == ""
  113.      return armor2_id
  114.    elsif $data_enemies[@enemy_id].treasure3[0,1] != "A"
  115.      return 0
  116.    else
  117.      return $data_enemies[@enemy_id].treasure3[/[0-9]+/].to_i
  118.    end
  119. end
  120. #--------------------------------------------------------------------------
  121. # ● 获取物品 ID4
  122. #--------------------------------------------------------------------------
  123. def item4_id
  124.    if $data_enemies[@enemy_id].treasure4 == ""
  125.      return item3_id
  126.    elsif $data_enemies[@enemy_id].treasure4[0,1] != "I"
  127.      return 0
  128.    else
  129.      return $data_enemies[@enemy_id].treasure4[/[0-9]+/].to_i
  130.    end
  131. end
  132. #--------------------------------------------------------------------------
  133. # ● 获取武器 ID4
  134. #--------------------------------------------------------------------------
  135. def weapon4_id
  136.    if $data_enemies[@enemy_id].treasure4 == ""
  137.      return weapon3_id
  138.    elsif $data_enemies[@enemy_id].treasure4[0,1] != "W"
  139.      return 0
  140.    else
  141.      return $data_enemies[@enemy_id].treasure4[/[0-9]+/].to_i
  142.    end
  143. end
  144. #--------------------------------------------------------------------------
  145. # ● 获取防具 ID4
  146. #--------------------------------------------------------------------------
  147. def armor4_id
  148.    if $data_enemies[@enemy_id].treasure4 == ""
  149.      return armor3_id
  150.    elsif $data_enemies[@enemy_id].treasure4[0,1] != "A"
  151.      return 0
  152.    else
  153.      return $data_enemies[@enemy_id].treasure4[/[0-9]+/].to_i
  154.    end
  155. end
  156. end

  157. #==============================================================================
  158. # ■ Scene_Battle
  159. #------------------------------------------------------------------------------
  160. #  处理战斗画面的类。
  161. #==============================================================================
  162. class Scene_Battle
  163. #--------------------------------------------------------------------------
  164. # ● 开始结束战斗回合
  165. #--------------------------------------------------------------------------
  166. def start_phase5
  167.    # 转移到回合 5
  168.    @phase = 5
  169.    # 演奏战斗结束 ME
  170.    $game_system.me_play($game_system.battle_end_me)
  171.    # 还原为战斗开始前的 BGM
  172.    $game_system.bgm_play($game_temp.map_bgm)
  173.    # 初始化 EXP、金钱、宝物
  174.    exp = 0
  175.    gold = 0
  176.    treasures = []
  177.    # 循环
  178.    for enemy in $game_troop.enemies
  179.      # 敌人不是隐藏状态的情况下
  180.      unless enemy.hidden
  181.        # 获得 EXP、增加金钱
  182.        exp += enemy.exp
  183.        gold += enemy.gold
  184.        # 出现宝物判定
  185.        if rand(100) < enemy.treasure_prob
  186.          rarity = [178, 51, 15, 12]
  187.          case rand(rarity[0] + rarity[1] + rarity[2] + rarity[3])
  188.          when 0..rarity[0] - 1
  189.            if enemy.item_id > 0
  190.              treasures.push($data_items[enemy.item_id])
  191.            end
  192.            if enemy.weapon_id > 0
  193.             treasures.push($data_weapons[enemy.weapon_id])
  194.            end
  195.            if enemy.armor_id > 0
  196.              treasures.push($data_armors[enemy.armor_id])
  197.            end
  198.          when rarity[0]..rarity[0] + rarity[1] - 1
  199.            if enemy.item2_id > 0
  200.              treasures.push($data_items[enemy.item2_id])
  201.            end
  202.            if enemy.weapon2_id > 0
  203.             treasures.push($data_weapons[enemy.weapon2_id])
  204.            end
  205.            if enemy.armor2_id > 0
  206.              treasures.push($data_armors[enemy.armor2_id])
  207.            end
  208.          when rarity[0] + rarity[1]..rarity[0] + rarity[1] + rarity[2] - 1
  209.            if enemy.item3_id > 0
  210.              treasures.push($data_items[enemy.item3_id])
  211.            end
  212.            if enemy.weapon3_id > 0
  213.             treasures.push($data_weapons[enemy.weapon3_id])
  214.            end
  215.            if enemy.armor3_id > 0
  216.              treasures.push($data_armors[enemy.armor3_id])
  217.            end
  218.          else
  219.            if enemy.item4_id > 0
  220.              treasures.push($data_items[enemy.item4_id])
  221.            end
  222.            if enemy.weapon4_id > 0
  223.             treasures.push($data_weapons[enemy.weapon4_id])
  224.            end
  225.            if enemy.armor4_id > 0
  226.              treasures.push($data_armors[enemy.armor4_id])
  227.            end
  228.          end
  229.        end
  230.      end
  231.    end
  232.    # 限制宝物数为 8 个
  233.    treasures = treasures[0..7]
  234.    # 获得 EXP
  235.    for i in 0...$game_party.actors.size
  236.      actor = $game_party.actors[i]
  237.      if actor.cant_get_exp? == false
  238.        last_level = actor.level
  239.        actor.exp += exp
  240.        if actor.level > last_level
  241.          @status_window.level_up(i)
  242.        end
  243.      end
  244.    end
  245.    # 获得金钱
  246.    $game_party.gain_gold(gold)
  247.    # 获得宝物
  248.    for item in treasures
  249.      case item
  250.      when RPG::Item
  251.        $game_party.gain_item(item.id, 1)
  252.      when RPG::Weapon
  253.        $game_party.gain_weapon(item.id, 1)
  254.      when RPG::Armor
  255.        $game_party.gain_armor(item.id, 1)
  256.      end
  257.    end
  258.    # 生成战斗结果窗口
  259.    @result_window = Window_BattleResult.new(exp, gold, treasures)
  260.    # 设置等待计数
  261.    @phase5_wait_count = 100
  262. end
  263. end


  264. #==============================================================================
  265. # 本脚本来自[url]www.66RPG.com[/url],使用和转载请保留此信息
  266. #==============================================================================
复制代码
帮忙整合一下或者告诉我怎么整合我自己来,实在整合不起的话事件方法也可以……看到有人说可以战斗结束调用公共事件,可是我没明白,数据库敌人那栏怎么挂公共事件啊?
期待解答,谢谢。


muxue327于2011-5-31 22:53补充以下内容:
大家都很忙的么……自顶一下,期待回答!

点评

下次想贴脚本的时候,请使用“代码”标签防止被误读  发表于 2011-5-31 11:22

Lv1.梦旅人

梦石
0
星屑
410
在线时间
5 小时
注册时间
2009-10-24
帖子
4
3
 楼主| 发表于 2011-6-1 12:40:18 | 只看该作者
jhhuang 发表于 2011-6-1 00:24
看了半天....结果自己测试了一下,升级脚本放在掉宝脚本后面,并无问题= =升级提示显示,掉落物品也是每次不同 ...

呃……试了一下,好像是和另外一个冲突了,我把四格掉宝插在新加的脚本的最前面结不行了,紧挨着升级提示是没问题的……我自己再研究下,谢谢。
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
253
在线时间
574 小时
注册时间
2006-8-25
帖子
969
2
发表于 2011-6-1 00:24:30 | 只看该作者
看了半天....结果自己测试了一下,升级脚本放在掉宝脚本后面,并无问题= =升级提示显示,掉落物品也是每次不同.LZ你其他地方出问题了吧?

评分

参与人数 2星屑 +260 梦石 +2 收起 理由
「旅」 + 200 + 2
禾西 + 60 塞糖

查看全部评分

回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-29 17:06

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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