Project1

标题: 求怪物图鉴显示弱点的方法 [打印本页]

作者: xia0082    时间: 2011-3-10 11:13
标题: 求怪物图鉴显示弱点的方法
本帖最后由 xia0082 于 2011-3-10 11:18 编辑

不好意思手滑了……

下面是我现在用的脚本
  1. #==============================================================================
  2. # 本脚本来自www.66RPG.com,使用和转载请保留此信息
  3. #==============================================================================

  4. #——————————————————————————————————————
  5. #魔物图鉴
  6. #
  7. #战斗终了时自动添加敌人进入图鉴(class Scene_Battle start_phase5 追加。)
  8. #
  9. #Window_MonsterBook_Info 的 DROP_ITEM_NEED_ANALYZE 为 true
  10. #则会显示敌人携带的物品,通常为false

  11. #图鉴完成度的表示功能追加
  12. #SHOW_COMPLETE_TYPE 的数值可以设定
  13. #当为1,显示现有个数/总数,当为2,显示完成百分比,当为3,全显示。
  14. #使用方法:$scene = Scene_MonsterBook.new

  15. #特殊敌人ID指定:对于不想加入怪物图鉴的,首先设置一种属性名为“不加入图鉴”
  16. #然后让这个敌人对此属性为A即可。

  17. #——————————————————————————————————————
  18. module Enemy_Book_Config
  19.   DROP_ITEM_NEED_ANALYZE =false #显示物品
  20.   EVA_NAME = "回避"              #回避修正的名称(因为数据库中没有定义)
  21.   SHOW_COMPLETE_TYPE = 3         #图鉴完成率表示方法
  22. end
  23. class Data_MonsterBook
  24.   #--------------------------------------------------------------------------
  25.   # ● 图鉴用ID設定
  26.   #--------------------------------------------------------------------------
  27.   def enemy_book_id_set
  28.     data = [0]
  29.     data[1] = 2
  30.     data[2] = 1
  31.     data[3] = 15
  32.     data[4] = 25
  33.     data[5] = 18
  34.     data[6] = 30
  35.     return data
  36.   end
  37. end
  38. class Game_Temp
  39.   attr_accessor :enemy_book_data
  40.   alias temp_enemy_book_data_initialize initialize
  41.   def initialize
  42.     temp_enemy_book_data_initialize
  43.     @enemy_book_data = Data_MonsterBook.new
  44.   end
  45. end

  46. class Game_Party
  47.   attr_accessor :enemy_info               # 出会った敵情報(図鑑用)
  48.   #--------------------------------------------------------------------------
  49.   # ● オブジェクト初期化
  50.   #--------------------------------------------------------------------------
  51.   alias book_info_initialize initialize
  52.   def initialize
  53.     book_info_initialize
  54.     @enemy_info = {}
  55.   end
  56.   #--------------------------------------------------------------------------
  57.   # ● エネミー情報の追加(図鑑用)
  58.   #     type : 通常遭遇かアナライズか 0:通常 1:アナライズ -1:情報削除
  59.   #     0:無遭遇 1:遭遇済 2:アナライズ済
  60.   #--------------------------------------------------------------------------
  61.   def add_enemy_info(enemy_id, type = 0)
  62.     case type
  63.     when 0
  64.       if @enemy_info[enemy_id] == 2
  65.         return false
  66.       end
  67.       @enemy_info[enemy_id] = 1
  68.     when 1
  69.       @enemy_info[enemy_id] = 2
  70.     when -1
  71.       @enemy_info[enemy_id] = 0
  72.     end
  73.   end
  74.   #--------------------------------------------------------------------------
  75.   # ● 魔物図鑑の最大登録数を取得
  76.   #--------------------------------------------------------------------------
  77.   def enemy_book_max
  78.     return $game_temp.enemy_book_data.id_data.size - 1
  79.   end
  80.   #--------------------------------------------------------------------------
  81.   # ● 魔物図鑑の現在登録数を取得
  82.   #--------------------------------------------------------------------------
  83.   def enemy_book_now
  84.     now_enemy_info = @enemy_info.keys
  85.     # 登録無視の属性IDを取得
  86.     no_add = $game_temp.enemy_book_data.no_add_element
  87.     new_enemy_info = []
  88.     for i in now_enemy_info
  89.       enemy = $data_enemies[i]
  90.       next if enemy.name == ""
  91.       if enemy.element_ranks[no_add] == 1
  92.         next
  93.       end
  94.       new_enemy_info.push(enemy.id)
  95.     end
  96.     return new_enemy_info.size
  97.   end
  98.   #--------------------------------------------------------------------------
  99.   # ● 魔物図鑑の完成率を取得
  100.   #--------------------------------------------------------------------------
  101.   def enemy_book_complete_percentage
  102.     e_max = enemy_book_max.to_f
  103.     e_now = enemy_book_now.to_f
  104.     comp = e_now / e_max * 100
  105.     return comp.truncate
  106.   end
  107. end

  108. class Interpreter
  109.   def enemy_book_max
  110.     return $game_party.enemy_book_max
  111.   end
  112.   def enemy_book_now
  113.     return $game_party.enemy_book_now
  114.   end
  115.   def enemy_book_comp
  116.     return $game_party.enemy_book_complete_percentage
  117.   end
  118. end

  119. class Scene_Battle
  120.   alias add_enemy_info_start_phase5 start_phase5
  121.   def start_phase5
  122.     for enemy in $game_troop.enemies
  123.       # エネミーが隠れ状態でない場合
  124.       unless enemy.hidden
  125.         # 敵遭遇情報追加
  126.         $game_party.add_enemy_info(enemy.id, 0)
  127.       end
  128.     end
  129.     add_enemy_info_start_phase5
  130.   end
  131. end

  132. class Window_Base < Window
  133.   #--------------------------------------------------------------------------
  134.   # ● エネミーの戦闘後獲得アイテムの描画
  135.   #--------------------------------------------------------------------------
  136.   def draw_enemy_drop_item(enemy, x, y)
  137.     self.contents.font.color = normal_color
  138.     treasures = []
  139.     if enemy.item_id > 0
  140.       treasures.push($data_items[enemy.item_id])
  141.     end
  142.     if enemy.weapon_id > 0
  143.       treasures.push($data_weapons[enemy.weapon_id])
  144.     end
  145.     if enemy.armor_id > 0
  146.       treasures.push($data_armors[enemy.armor_id])
  147.     end
  148.     # 現状ではとりあえず1つのみ描画
  149.     if treasures.size > 0
  150.       item = treasures[0]
  151.       bitmap = RPG::Cache.icon(item.icon_name)
  152.       opacity = 255
  153.       self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24), opacity)
  154.       name = treasures[0].name
  155.     else
  156.       self.contents.font.color = disabled_color
  157.       name = "No Item"
  158.     end
  159.     self.contents.draw_text(x+28, y, 212, 32, name)
  160.   end
  161.   #--------------------------------------------------------------------------
  162.   # ● エネミーの図鑑IDの描画
  163.   #--------------------------------------------------------------------------
  164.   def draw_enemy_book_id(enemy, x, y)
  165.     self.contents.font.color = normal_color
  166.     id = $game_temp.enemy_book_data.id_data.index(enemy.id)
  167.     self.contents.draw_text(x, y, 32, 32, id.to_s)
  168.   end
  169.   #--------------------------------------------------------------------------
  170.   # ● エネミーの名前の描画
  171.   #     enemy : エネミー
  172.   #     x     : 描画先 X 座標
  173.   #     y     : 描画先 Y 座標
  174.   #--------------------------------------------------------------------------
  175.   def draw_enemy_name(enemy, x, y)
  176.     self.contents.font.color = normal_color
  177.     self.contents.draw_text(x, y, 152, 32, enemy.name)
  178.   end
  179.   #--------------------------------------------------------------------------
  180.   # ● エネミーグラフィックの描画(アナライズ)
  181.   #     enemy : エネミー
  182.   #     x     : 描画先 X 座標
  183.   #     y     : 描画先 Y 座標
  184.   #--------------------------------------------------------------------------
  185.   def draw_enemy_graphic(enemy, x, y, opacity = 255)
  186.     bitmap = RPG::Cache.battler(enemy.battler_name, enemy.battler_hue)
  187.     cw = bitmap.width
  188.     ch = bitmap.height
  189.     src_rect = Rect.new(0, 0, cw, ch)
  190.     x = x + (cw / 2 - x) if cw / 2 > x
  191.     self.contents.blt(x - cw / 2, y - ch, bitmap, src_rect, opacity)
  192.   end
  193.   #--------------------------------------------------------------------------
  194.   # ● エネミーの獲得EXPの描画
  195.   #     enemy : エネミー
  196.   #     x     : 描画先 X 座標
  197.   #     y     : 描画先 Y 座標
  198.   #--------------------------------------------------------------------------
  199.   def draw_enemy_exp(enemy, x, y)
  200.     self.contents.font.color = system_color
  201.     self.contents.draw_text(x, y, 120, 32, "EXP")
  202.     self.contents.font.color = normal_color
  203.     self.contents.draw_text(x + 120, y, 36, 32, enemy.exp.to_s, 2)
  204.   end
  205.   #--------------------------------------------------------------------------
  206.   # ● エネミーの獲得GOLDの描画
  207.   #     enemy : エネミー
  208.   #     x     : 描画先 X 座標
  209.   #     y     : 描画先 Y 座標
  210.   #--------------------------------------------------------------------------
  211.   def draw_enemy_gold(enemy, x, y)
  212.     self.contents.font.color = system_color
  213.     self.contents.draw_text(x, y, 120, 32, $data_system.words.gold)
  214.     self.contents.font.color = normal_color
  215.     self.contents.draw_text(x + 120, y, 36, 32, enemy.gold.to_s, 2)
  216.   end
  217. end

  218. class Game_Enemy_Book < Game_Enemy
  219.   #--------------------------------------------------------------------------
  220.   # ● オブジェクト初期化
  221.   #--------------------------------------------------------------------------
  222.   def initialize(enemy_id)
  223.     super(2, 1)#ダミー
  224.     @enemy_id = enemy_id
  225.     enemy = $data_enemies[@enemy_id]
  226.     @battler_name = enemy.battler_name
  227.     @battler_hue = enemy.battler_hue
  228.     @hp = maxhp
  229.     @sp = maxsp
  230.   end
  231. end

  232. class Data_MonsterBook
  233.   attr_reader :id_data
  234.   #--------------------------------------------------------------------------
  235.   # ● オブジェクト初期化
  236.   #--------------------------------------------------------------------------
  237.   def initialize
  238.     @id_data = enemy_book_id_set
  239.   end
  240.   #--------------------------------------------------------------------------
  241.   # ● 図鑑用登録無視属性取得
  242.   #--------------------------------------------------------------------------
  243.   def no_add_element
  244.     no_add = 0
  245.     # 登録無視の属性IDを取得
  246.     for i in 1...$data_system.elements.size
  247.       if $data_system.elements[i] =~ /不加入图鉴/
  248.         no_add = i
  249.         break
  250.       end
  251.     end
  252.     return no_add
  253.   end
  254.   #--------------------------------------------------------------------------
  255.   # ● 図鑑用敵ID設定
  256.   #--------------------------------------------------------------------------
  257.   def enemy_book_id_set
  258.     data = [0]
  259.     no_add = no_add_element
  260.     # 登録無視の属性IDを取得
  261.     for i in 1...$data_enemies.size
  262.       enemy = $data_enemies[i]
  263.       next if enemy.name == ""
  264.       if enemy.element_ranks[no_add] == 1
  265.         next
  266.       end
  267.       data.push(enemy.id)
  268.     end
  269.     return data
  270.   end
  271. end


  272. class Window_MonsterBook < Window_Selectable
  273.   attr_reader   :data
  274.   #--------------------------------------------------------------------------
  275.   # ● オブジェクト初期化
  276.   #--------------------------------------------------------------------------
  277.   def initialize(index=0)
  278.     super(0, 64, 640, 416)
  279.     @column_max = 2
  280.     @book_data = $game_temp.enemy_book_data
  281.     @data = @book_data.id_data.dup
  282.     @data.shift
  283.     #@data.sort!
  284.     @item_max = @data.size
  285.     self.index = 0
  286.     refresh if @item_max > 0
  287.   end
  288.   #--------------------------------------------------------------------------
  289.   # ● 遭遇データを取得
  290.   #--------------------------------------------------------------------------
  291.   def data_set
  292.     data = $game_party.enemy_info.keys
  293.     data.sort!
  294.     newdata = []
  295.     for i in data
  296.       next if $game_party.enemy_info[i] == 0
  297.       # 図鑑登録無視を考慮
  298.       if book_id(i) != nil
  299.         newdata.push(i)
  300.       end
  301.     end
  302.     return newdata
  303.   end
  304.   #--------------------------------------------------------------------------
  305.   # ● 表示許可取得
  306.   #--------------------------------------------------------------------------
  307.   def show?(id)
  308.     if $game_party.enemy_info[id] == 0 or $game_party.enemy_info[id] == nil
  309.       return false
  310.     else
  311.       return true
  312.     end
  313.   end
  314.   #--------------------------------------------------------------------------
  315.   # ● 図鑑用ID取得
  316.   #--------------------------------------------------------------------------
  317.   def book_id(id)
  318.     return @book_data.index(id)
  319.   end
  320.   #--------------------------------------------------------------------------
  321.   # ● エネミー取得
  322.   #--------------------------------------------------------------------------
  323.   def item
  324.     return @data[self.index]
  325.   end
  326.   #--------------------------------------------------------------------------
  327.   # ● リフレッシュ
  328.   #--------------------------------------------------------------------------
  329.   def refresh
  330.     if self.contents != nil
  331.       self.contents.dispose
  332.       self.contents = nil
  333.     end
  334.     self.contents = Bitmap.new(width - 32, row_max * 32)
  335.     #項目数が 0 でなければビットマップを作成し、全項目を描画
  336.     if @item_max > 0
  337.       for i in 0...@item_max
  338.        draw_item(i)
  339.       end
  340.     end
  341.   end
  342.   #--------------------------------------------------------------------------
  343.   # ● 項目の描画
  344.   #     index : 項目番号
  345.   #--------------------------------------------------------------------------
  346.   def draw_item(index)
  347.     enemy = $data_enemies[@data[index]]
  348.     return if enemy == nil
  349.     x = 4 + index % 2 * (288 + 32)
  350.     y = index / 2 * 32
  351.     rect = Rect.new(x, y, self.width / @column_max - 32, 32)
  352.     self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
  353.     self.contents.font.color = normal_color
  354.     draw_enemy_book_id(enemy, x, y)
  355.     if show?(enemy.id)
  356.       self.contents.draw_text(x + 28+16, y, 212, 32, enemy.name, 0)
  357.     else
  358.       self.contents.draw_text(x + 28+16, y, 212, 32, "-----", 0)
  359.       return
  360.     end
  361.     if analyze?(@data[index])
  362.       self.contents.font.color = text_color(3)
  363.       self.contents.draw_text(x + 256, y, 24, 32, "済", 2)
  364.     end
  365.   end
  366.   #--------------------------------------------------------------------------
  367.   # ● アナライズ済かどうか
  368.   #--------------------------------------------------------------------------
  369.   def analyze?(enemy_id)
  370.     if $game_party.enemy_info[enemy_id] == 2
  371.       return true
  372.     else
  373.       return false
  374.     end
  375.   end
  376. end


  377. class Window_MonsterBook_Info < Window_Base
  378.   include Enemy_Book_Config
  379.   #--------------------------------------------------------------------------
  380.   # ● オブジェクト初期化
  381.   #--------------------------------------------------------------------------
  382.   def initialize
  383.     super(0, 0+64, 640, 480-64)
  384.     self.contents = Bitmap.new(width - 32, height - 32)
  385.   end
  386.   #--------------------------------------------------------------------------
  387.   # ● リフレッシュ
  388.   #--------------------------------------------------------------------------
  389.   def refresh(enemy_id)
  390.     self.contents.clear
  391.     self.contents.font.size = 22
  392.     enemy = Game_Enemy_Book.new(enemy_id)
  393.     draw_enemy_graphic(enemy, 96, 240+48+64, 200)
  394.     draw_enemy_book_id(enemy, 4, 0)
  395.     draw_enemy_name(enemy, 48, 0)
  396.     draw_actor_hp(enemy, 288, 0)
  397.     draw_actor_sp(enemy, 288+160, 0)
  398.     draw_actor_parameter(enemy, 288    ,  32, 0)
  399.     self.contents.font.color = system_color
  400.     self.contents.draw_text(288+160, 32, 120, 32, EVA_NAME)
  401.     self.contents.font.color = normal_color
  402.     self.contents.draw_text(288+160 + 120, 32, 36, 32, enemy.eva.to_s, 2)
  403.     draw_actor_parameter(enemy, 288    ,  64, 3)
  404.     draw_actor_parameter(enemy, 288+160,  64, 4)
  405.     draw_actor_parameter(enemy, 288    ,  96, 5)
  406.     draw_actor_parameter(enemy, 288+160,  96, 6)
  407.     draw_actor_parameter(enemy, 288    , 128, 1)
  408.     draw_actor_parameter(enemy, 288+160, 128, 2)
  409.     draw_enemy_exp(enemy, 288, 160)
  410.     draw_enemy_gold(enemy, 288+160, 160)
  411.     if analyze?(enemy.id) or !DROP_ITEM_NEED_ANALYZE
  412.       self.contents.draw_text(288, 192, 96, 32, "掉落物品")
  413.       draw_enemy_drop_item(enemy, 288+96+4, 192)
  414.       self.contents.font.color = normal_color
  415.       #draw_element_guard(enemy, 320-32, 160-16+96)
  416.     end
  417.   end
  418.   #--------------------------------------------------------------------------
  419.   # ● アナライズ済かどうか
  420.   #--------------------------------------------------------------------------
  421.   def analyze?(enemy_id)
  422.     if $game_party.enemy_info[enemy_id] == 2
  423.       return true
  424.     else
  425.       return false
  426.     end
  427.   end
  428. end


  429. class Scene_MonsterBook
  430.   include Enemy_Book_Config
  431.   #--------------------------------------------------------------------------
  432.   # ● メイン処理
  433.   #--------------------------------------------------------------------------
  434.   def main
  435.     $game_temp.enemy_book_data = Data_MonsterBook.new
  436.     # ウィンドウを作成
  437.     @title_window = Window_Base.new(0, 0, 640, 64)
  438.     @title_window.contents = Bitmap.new(640 - 32, 64 - 32)
  439.     @title_window.contents.draw_text(4, 0, 320, 32, "怪物图鉴", 0)
  440.     if SHOW_COMPLETE_TYPE != 0
  441.       case SHOW_COMPLETE_TYPE
  442.       when 1
  443.         e_now = $game_party.enemy_book_now
  444.         e_max = $game_party.enemy_book_max
  445.         text = e_now.to_s + "/" + e_max.to_s
  446.       when 2
  447.         comp = $game_party.enemy_book_complete_percentage
  448.         text = comp.to_s + "%"
  449.       when 3
  450.         e_now = $game_party.enemy_book_now
  451.         e_max = $game_party.enemy_book_max
  452.         comp = $game_party.enemy_book_complete_percentage
  453.         text = e_now.to_s + "/" + e_max.to_s + " " + comp.to_s + "%"
  454.       end
  455.       if text != nil
  456.         @title_window.contents.draw_text(320, 0, 288, 32,  text, 2)
  457.       end
  458.     end
  459.     @main_window = Window_MonsterBook.new
  460.     @main_window.active = true
  461.     # インフォウィンドウを作成 (不可視・非アクティブに設定)
  462.     @info_window = Window_MonsterBook_Info.new
  463.     @info_window.z = 110
  464.     @info_window.visible = false
  465.     @info_window.active = false
  466.     @visible_index = 0
  467.     # トランジション実行
  468.     Graphics.transition
  469.     # メインループ
  470.     loop do
  471.       # ゲーム画面を更新
  472.       Graphics.update
  473.       # 入力情報を更新
  474.       Input.update
  475.       # フレーム更新
  476.       update
  477.       # 画面が切り替わったらループを中断
  478.       if $scene != self
  479.         break
  480.       end
  481.     end
  482.     # トランジション準備
  483.     Graphics.freeze
  484.     # ウィンドウを解放
  485.     @main_window.dispose
  486.     @info_window.dispose
  487.     @title_window.dispose
  488.   end
  489.   #--------------------------------------------------------------------------
  490.   # ● フレーム更新
  491.   #--------------------------------------------------------------------------
  492.   def update
  493.     # ウィンドウを更新
  494.     @main_window.update
  495.     @info_window.update
  496.     if @info_window.active
  497.       update_info
  498.       return
  499.     end
  500.     # メインウィンドウがアクティブの場合: update_target を呼ぶ
  501.     if @main_window.active
  502.       update_main
  503.       return
  504.     end
  505.   end
  506.   #--------------------------------------------------------------------------
  507.   # ● フレーム更新 (メインウィンドウがアクティブの場合)
  508.   #--------------------------------------------------------------------------
  509.   def update_main
  510.     # B ボタンが押された場合
  511.     if Input.trigger?(Input::B)
  512.       # キャンセル SE を演奏
  513.       $game_system.se_play($data_system.cancel_se)
  514.       $scene = Scene_Map.new
  515.       return
  516.     end
  517.     # C ボタンが押された場合
  518.     if Input.trigger?(Input::C)
  519.       if @main_window.item == nil or @main_window.show?(@main_window.item) == false
  520.         # ブザー SE を演奏
  521.         $game_system.se_play($data_system.buzzer_se)
  522.         return
  523.       end
  524.       # 決定 SE を演奏
  525.       $game_system.se_play($data_system.decision_se)
  526.       @main_window.active = false
  527.       @info_window.active = true
  528.       @info_window.visible = true
  529.       @visible_index = @main_window.index
  530.       @info_window.refresh(@main_window.item)
  531.       return
  532.     end
  533.   end
  534.   #--------------------------------------------------------------------------
  535.   # ● フレーム更新 (インフォウィンドウがアクティブの場合)
  536.   #--------------------------------------------------------------------------
  537.   def update_info
  538.     # B ボタンが押された場合
  539.     if Input.trigger?(Input::B)
  540.       # キャンセル SE を演奏
  541.       $game_system.se_play($data_system.cancel_se)
  542.       @main_window.active = true
  543.       @info_window.active = false
  544.       @info_window.visible = false
  545.       return
  546.     end
  547.     # C ボタンが押された場合
  548.     if Input.trigger?(Input::C)
  549.       # 決定 SE を演奏
  550.       #$game_system.se_play($data_system.decision_se)
  551.       return
  552.     end
  553.     if Input.trigger?(Input::L)
  554.       # 決定 SE を演奏
  555.       $game_system.se_play($data_system.decision_se)
  556.       loop_end = false
  557.       while loop_end == false
  558.         if @visible_index != 0
  559.           @visible_index -= 1
  560.         else
  561.           @visible_index = @main_window.data.size - 1
  562.         end
  563.         loop_end = true if @main_window.show?(@main_window.data[@visible_index])
  564.       end
  565.       id = @main_window.data[@visible_index]
  566.       @info_window.refresh(id)
  567.       return
  568.     end
  569.     if Input.trigger?(Input::R)
  570.       # 決定 SE を演奏
  571.       $game_system.se_play($data_system.decision_se)
  572.       loop_end = false
  573.       while loop_end == false
  574.         if @visible_index != @main_window.data.size - 1
  575.           @visible_index += 1
  576.         else
  577.           @visible_index = 0
  578.         end
  579.         loop_end = true if @main_window.show?(@main_window.data[@visible_index])
  580.       end
  581.       id = @main_window.data[@visible_index]
  582.       @info_window.refresh(id)
  583.       return
  584.     end
  585.   end
  586. end


  587. #==============================================================================
  588. # 本脚本来自www.66RPG.com,使用和转载请保留此信息
  589. #==============================================================================
复制代码
这个脚本是最原始的怪物图鉴脚本,我觉得对我来说已经够用,但是有一个问题就是不能显示怪物的属性弱点。

我看了下完美版的怪物图鉴,但是那个图鉴有一个雷达图显示怪物的弱点,我觉得没必要,只需要简单的文字列出来就可以了,我应该怎样在现有的脚本上做修改呢?dsu_plus_rewardpost_czw
作者: 沙漠点灰    时间: 2011-3-11 19:23
本帖最后由 沙漠点灰 于 2011-3-11 19:24 编辑

不小心脚滑了一下...

搜索 draw_element_guard
在那行换成       draw_element_weakness($data_enemies[enemy_id], 320-32, 160-16+96)
紧接着431至432之间加入
  1.   #--------------------------------------------------------------------------
  2.   # ● 弱点描绘
  3.   #--------------------------------------------------------------------------
  4.   def draw_element_weakness(enemy,x,y)
  5.     element = 0
  6.     for i in 1..999
  7.       break if $data_system.elements[i] == nil
  8.       if enemy.element_ranks[i] == 2
  9.         self.contents.draw_text(x+(element%2)*160, y+(element/2)*32, 160, 32, "弱点:#{$data_system.elements[i]}")
  10.         element += 1
  11.       elsif enemy.element_ranks[i] == 1
  12.         self.contents.draw_text(x+(element%2)*160, y+(element/2)*132, 160, 32, "极弱点:#{$data_system.elements[i]}")
  13.         element += 1
  14.       end
  15.     end
  16.   end
复制代码
就差不多了....
作者: xia0082    时间: 2011-3-12 11:12
非常感谢LS大大帮忙:kiss:




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1