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

Project1

 找回密码
 注册会员
搜索
楼主: ⑨姐姐
打印 上一主题 下一主题

[原创发布] 【RGD】使用 DirectX 驱动的 RMVA Game.exe(v1.6)

  [复制链接]

Lv3.寻梦者

梦石
0
星屑
1162
在线时间
178 小时
注册时间
2018-11-6
帖子
32
181
发表于 2019-4-30 09:28:29 | 只看该作者
求教大佬,RGD1.32怪物图鉴好像不能用不显示错误提示直接跳出,我是做了敌人突破数量上限,不知道哪里冲突了?

点评

最好缩小一下范围,以及提供一下具体的出错脚本吧  发表于 2019-4-30 12:43
9姐姐,用原装的EXE不报错,没有外部dll文件…  发表于 2019-4-30 11:37
看看有没有用外部DLL,或者到底是不是怪物图鉴脚本出错的吧,最好能够在空工程里加一个脚本直接导致出错,然后就能确认到底是不是它的问题了。  发表于 2019-4-30 09:34
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1162
在线时间
178 小时
注册时间
2018-11-6
帖子
32
182
发表于 2019-4-30 16:56:39 | 只看该作者
#==============================================================================
# ■ RGSS3 魔物図鑑 ver 1.00 初期設定
#------------------------------------------------------------------------------
#  配布元:
#     白の魔 http://izumiwhite.web.fc2.com/
#
#  利用規約:
#     RPGツクールVXの正規の登録者のみご利用になれます。
#     利用報告・著作権表示とかは必要ありません。
#     改造もご自由にどうぞ。
#     何か問題が発生しても責任は持ちません。
#==============================================================================

#-------------------------------------------------------------------------------
# ★ 初期設定。
#-------------------------------------------------------------------------------
module WD_monsterdictionary_layout

#=== 各項目のレイアウト設定項目 ================================================
#
#   *_***_display       : trueで表示。falseで非表示。
#   *_***_display_x     : 表示位置のx座標
#   *_***_display_y     : 表示位置のy座標
#   *_***_display_width : 表示テキストの幅
#   *_***_display_text* : 表示テキスト
#
#===============================================================================

#===全図鑑共通設定==============================================================

  #図鑑完成度にどの段階で繁栄するか
  Perfection_timing = 2 #1⇒遭遇時、2⇒撃破時

  #フォントサイズ
  C_font_size = 18

#===魔物図鑑設定================================================================

  #番号の表示
  M_id_display            = true
  M_id_display_x          = 0
  M_id_display_y          = 0
  M_id_display_width      = 60
  M_id_display_digit      = 3 #桁数
  
  #名前の表示
  M_name_display          = true
  M_name_display_x        = 84+100
  M_name_display_y        = 0
  M_name_display_width    = 172

  #画像の表示
  M_pic_display           = true
  M_pic_display_x         = 100+100   #原值  140+240   潘尼注
  M_pic_display_y         = 380+80    #原值  380+80    潘尼注
  M_pic_display_opacity   = 255 #画像の不透明度

  #最大HPの表示
  M_mhp_display           = true
  M_mhp_display_x         = 0+100
  M_mhp_display_y         = 33
  M_mhp_display_width     = 136

  #最大MPの表示
  M_mmp_display           = true
  M_mmp_display_x         = 150+100
  M_mmp_display_y         = 33
  M_mmp_display_width     = 136

  #攻撃力の表示
  M_atk_display           = true
  M_atk_display_x         = 0+100
  M_atk_display_y         = 51
  M_atk_display_width     = 136

  #防御力の表示
  M_def_display           = true
  M_def_display_x         = 150+100
  M_def_display_y         = 51
  M_def_display_width     = 136

  #魔法力の表示
  M_mat_display           = true
  M_mat_display_x         = 0+100
  M_mat_display_y         = 69
  M_mat_display_width     = 136

  #魔法防御の表示
  M_mdf_display           = true
  M_mdf_display_x         = 150+100
  M_mdf_display_y         = 69
  M_mdf_display_width     = 136

  #敏捷性の表示
  M_agi_display           = true
  M_agi_display_x         = 0+100
  M_agi_display_y         = 87
  M_agi_display_width     = 136

  #運の表示
  M_luk_display           = true
  M_luk_display_x         = 150+100
  M_luk_display_y         = 87
  M_luk_display_width     = 136

  #特徴の表示
  M_feature_display       = false
  M_feature_display_x     = 0
  M_feature_display_y     = 114
  M_feature_display_width = 286
  M_feature_display_text1 = "功能"
  M_feature_display_text2 = "-"

  #経験値の表示
  M_exp_display           = true
  M_exp_display_x         = 0+100     #原值 0       潘尼注
  M_exp_display_y         = 123       #原值 213     潘尼注
  M_exp_display_width     = 136
  M_exp_display_text1     = "经验值"

  #お金の表示
  M_gold_display          = true
  M_gold_display_x        = 150+100
  M_gold_display_y        = 123   #原值 213     潘尼注
  M_gold_display_width    = 136
  M_gold_display_text1    = "货币"

  #ドロップアイテムの表示
  M_drop_display          = true
  M_drop_display_x        = 0+100
  M_drop_display_y        = 159   #原值 240+100  潘尼注
  M_drop_display_width    = 286
  M_drop_display_text1    = "掉落物品"
  M_drop_display_text2    = "无"

  #説明の表示
  M_help_display          = false
  M_help_display_x        = 0
  M_help_display_y        = 321
  M_help_display_width    = 286
  M_help_display_text1    = "说明"
  M_help_display_text2    = "-"

  #撃破数の表示
  M_geno_display          = false
  M_geno_display_x        = 0
  M_geno_display_y        = 321
  M_geno_display_width    = 136
  M_geno_display_text1    = "击破数"

end
#-------------------------------------------------------------------------------
# ★ 初期設定おわり
#-------------------------------------------------------------------------------

#==============================================================================
# ■ RGSS3 魔物図鑑 ver 1.00 本体プログラム
#------------------------------------------------------------------------------
#  配布元:
#     白の魔 http://izumiwhite.web.fc2.com/
#
#  利用規約:
#     RPGツクールVXの正規の登録者のみご利用になれます。
#     利用報告・著作権表示とかは必要ありません。
#     改造もご自由にどうぞ。
#     何か問題が発生しても責任は持ちません。
#==============================================================================

#==============================================================================
# ■ WD_monsterdictionary
#------------------------------------------------------------------------------
#  魔物図鑑用の共通メソッドです。
#==============================================================================

module WD_monsterdictionary
   

  
  def m_dictionary_encount_switch_on(id)
    $game_system.m_dic_encount_sw = [] if $game_system.m_dic_encount_sw == nil
    $game_system.m_dic_encount_sw[id] = false if $game_system.m_dic_encount_sw[id] == nil
    $game_system.m_dic_encount_sw[id] = true
  end
  def m_dictionary_encount_switch_off(id)
    $game_system.m_dic_encount_sw = [] if $game_system.m_dic_encount_sw == nil
    $game_system.m_dic_encount_sw[id] = false if $game_system.m_dic_encount_sw[id] == nil
    $game_system.m_dic_encount_sw[id] = false
  end
  def m_dictionary_encount_switch_on?(id)
    $game_system.m_dic_encount_sw = [] if $game_system.m_dic_encount_sw == nil
    $game_system.m_dic_encount_sw[id] = false if $game_system.m_dic_encount_sw[id] == nil
    return $game_system.m_dic_encount_sw[id]
  end
  def m_dictionary_victory_switch_on(id)
    $game_system.m_dic_victory_sw = [] if $game_system.m_dic_victory_sw == nil
    $game_system.m_dic_victory_sw[id] = false if $game_system.m_dic_victory_sw[id] == nil
    $game_system.m_dic_victory_sw[id] = true
  end
  def m_dictionary_victory_switch_off(id)
    $game_system.m_dic_victory_sw = [] if $game_system.m_dic_victory_sw == nil
    $game_system.m_dic_victory_sw[id] = false if $game_system.m_dic_victory_sw[id] == nil
    $game_system.m_dic_victory_sw[id] = false
  end
  def m_dictionary_victory_switch_on?(id)
    $game_system.m_dic_victory_sw = [] if $game_system.m_dic_victory_sw == nil
    $game_system.m_dic_victory_sw[id] = false if $game_system.m_dic_victory_sw[id] == nil
    return $game_system.m_dic_victory_sw[id]
  end
  def m_dictionary_drop_switch_on(id, n)
    $game_system.m_dic_drop_sw = [] if $game_system.m_dic_drop_sw == nil
    $game_system.m_dic_drop_sw[id] = [] if $game_system.m_dic_drop_sw[id] == nil
    $game_system.m_dic_drop_sw[id][n] = false if $game_system.m_dic_drop_sw[id][n] == nil
    $game_system.m_dic_drop_sw[id][n] = true
  end
  def m_dictionary_drop_switch_off(id, n)
    $game_system.m_dic_drop_sw = [] if $game_system.m_dic_drop_sw == nil
    $game_system.m_dic_drop_sw[id] = [] if $game_system.m_dic_drop_sw[id] == nil
    $game_system.m_dic_drop_sw[id][n] = false if $game_system.m_dic_drop_sw[id][n] == nil
    $game_system.m_dic_drop_sw[id][n] = false
  end
  def m_dictionary_drop_switch_on?(id, n)
    $game_system.m_dic_drop_sw = [] if $game_system.m_dic_drop_sw == nil
    $game_system.m_dic_drop_sw[id] = [] if $game_system.m_dic_drop_sw[id] == nil
    $game_system.m_dic_drop_sw[id][n] = false if $game_system.m_dic_drop_sw[id][n] == nil
    return $game_system.m_dic_drop_sw[id][n]
  end
  def m_dictionary_genoside_number_add(id, n)
    $game_system.m_dic_genoside_num = [] if $game_system.m_dic_genoside_num == nil
    $game_system.m_dic_genoside_num[id] = 0 if $game_system.m_dic_genoside_num[id] == nil
    $game_system.m_dic_genoside_num[id] += n
  end
  def m_dictionary_genoside_number(id)
    $game_system.m_dic_genoside_num = [] if $game_system.m_dic_genoside_num == nil
    $game_system.m_dic_genoside_num[id] = 0 if $game_system.m_dic_genoside_num[id] == nil
    return $game_system.m_dic_genoside_num[id]
  end

  def print_dictionary?(enemy)
    if enemy != nil
      if enemy.name.size > 0
        hantei = /<图鉴无效>/ =~ enemy.note
        if hantei == nil
          return true
        end
      end
    end
    return false
  end
  def monster_dictionary_perfection
    dic_max = 0
    dic_num = 0
    $data_enemies.each do |enemy|
      if print_dictionary?(enemy)
        dic_max += 1
        if WD_monsterdictionary_layout::Perfection_timing == 1
          if m_dictionary_encount_switch_on?(enemy.id) == true
            dic_num += 1
          end
        elsif WD_monsterdictionary_layout::Perfection_timing == 2
          if m_dictionary_victory_switch_on?(enemy.id) == true
            dic_num += 1
          end
        end
      end
    end
    return (100*dic_num)/dic_max
  end
end

class Game_Interpreter
  include WD_monsterdictionary
end

class Game_System
  #--------------------------------------------------------------------------
  # ● 公開インスタンス変数
  #--------------------------------------------------------------------------
  attr_accessor :m_dic_encount_sw
  attr_accessor :m_dic_victory_sw
  attr_accessor :m_dic_drop_sw
  attr_accessor :m_dic_genoside_num
  #--------------------------------------------------------------------------
  # ● オブジェクト初期化
  #--------------------------------------------------------------------------
  alias wd_orig_initialize002 initialize
  def initialize
    wd_orig_initialize002
    @m_dic_encount_sw = []
    @m_dic_victory_sw = []
    @m_dic_drop_sw = []
    @m_dic_genoside_num = []
  end
end

class Game_Troop < Game_Unit
  include WD_monsterdictionary
  #--------------------------------------------------------------------------
  # ● 図鑑への登録(遭遇済み判定)
  #--------------------------------------------------------------------------
  def dictionary1
    for enemy in members
      m_dictionary_encount_switch_on(enemy.enemy_id) unless enemy.hidden? #遭遇済み図鑑登録
    end
  end
  #--------------------------------------------------------------------------
  # ● 図鑑への登録(撃破済み判定)
  #--------------------------------------------------------------------------
  def dictionary2
    for enemy in dead_members
      m_dictionary_victory_switch_on(enemy.enemy_id) unless enemy.hidden? #撃破済み図鑑登録
      m_dictionary_genoside_number_add(enemy.enemy_id, 1) unless enemy.hidden? #撃破数カウント
    end
  end
end

class << BattleManager
  #--------------------------------------------------------------------------
  # ● 戦闘開始
  #--------------------------------------------------------------------------
  alias wd_orig_battle_start002 battle_start
  def battle_start
    wd_orig_battle_start002
    $game_troop.dictionary1 #図鑑への登録(遭遇済み判定)
  end
  #--------------------------------------------------------------------------
  # ● 勝利の処理
  #--------------------------------------------------------------------------
  alias wd_orig_process_victory002 process_victory
  def process_victory
    $game_troop.dictionary2 #図鑑への登録(撃破済み判定)
    wd_orig_process_victory002
  end
end

class Game_Interpreter
  #--------------------------------------------------------------------------
  # ● 敵キャラの出現
  #--------------------------------------------------------------------------
  alias wd_orig_command_335_002 command_335
  def command_335
    wd_orig_command_335_002
    $game_troop.dictionary1 #図鑑への登録(遭遇済み判定)
  end
end

class Game_Enemy < Game_Battler
  include WD_monsterdictionary
  #--------------------------------------------------------------------------
  # ● ドロップアイテムの配列作成(再定義)
  #--------------------------------------------------------------------------
  def make_drop_items
    n = -1
    enemy.drop_items.inject([]) do |r, di|
      n += 1
      if di.kind > 0 && rand * di.denominator < drop_item_rate
        m_dictionary_drop_switch_on(@enemy_id, n)
        r.push(item_object(di.kind, di.data_id))
      else
        r
      end
    end
  end
end

#==============================================================================
# ■ Scene_MonsterDictionary
#------------------------------------------------------------------------------
#  魔物図鑑画面の処理を行うクラスです。
#==============================================================================

class Scene_MonsterDictionary < Scene_ItemBase
  #--------------------------------------------------------------------------
  # ● 開始処理
  #--------------------------------------------------------------------------
  def start
    super
     
    create_status_window
    create_item_window
    create_perfection_window
  end
  #--------------------------------------------------------------------------
  # ● アイテムウィンドウの作成
  #--------------------------------------------------------------------------
  def create_item_window
    wy = 0
    wh = Graphics.height - 48
    @item_window = Window_MonsterDictionaryList.new(Graphics.width-172-48, wy, 172+48, wh)
    @item_window.viewport = @viewport
    @item_window.status_window = @status_window
    @item_window.set_handler(:cancel, method(:return_scene))
    @item_window.update_help
  end
  
  def return_scene
    $game_map.autoplay
    SceneManager.return
  end
  
  #--------------------------------------------------------------------------
  # ● アイテムステータスウィンドウの作成
  #--------------------------------------------------------------------------
  def create_status_window
    wy = 0
    wh = Graphics.height
    @status_window = Window_MonsterDictionaryStatus.new(0, wy, Graphics.width-172-48, wh)
    @status_window.viewport = @viewport
  end
  #--------------------------------------------------------------------------
  # ● 図鑑完成度ウィンドウの作成
  #--------------------------------------------------------------------------
  def create_perfection_window
    wy = @item_window.y + @item_window.height
    wh = 48
    @perfection_window = Window_MonsterDictionaryPerfection.new(Graphics.width-172-48, wy, 172+48, wh)
    @perfection_window.viewport = @viewport
  end
end


#==============================================================================
# ■ Window_MonsterDictionaryList
#------------------------------------------------------------------------------
#  魔物図鑑画面で、魔物の一覧を表示するウィンドウです。
#==============================================================================

class Window_MonsterDictionaryList < Window_Selectable
  include WD_monsterdictionary
  #--------------------------------------------------------------------------
  # ● オブジェクト初期化
  #--------------------------------------------------------------------------
  def initialize(x, y, width, height)
    super
    @data = []
    refresh
    activate
    select(0)
  end
  #--------------------------------------------------------------------------
  # ● 桁数の取得
  #--------------------------------------------------------------------------
  def col_max
    return 1
  end
  #--------------------------------------------------------------------------
  # ● 項目数の取得
  #--------------------------------------------------------------------------
  def item_max
    @data ? @data.size : 1
  end
  #--------------------------------------------------------------------------
  # ● アイテムの取得
  #--------------------------------------------------------------------------
  def enemy
    @data && index >= 0 ? @data[index] : nil
  end
  #--------------------------------------------------------------------------
  # ● アイテムリストの作成
  #--------------------------------------------------------------------------
  def make_item_list
    @data = []
    $data_enemies.each do |enemy|
      if print_dictionary?(enemy)
        @data.push(enemy)
      end
    end
  end
  #--------------------------------------------------------------------------
  # ● 項目の描画
  #--------------------------------------------------------------------------
  def draw_item(index)
    enemy = @data[index]
    if enemy
      rect = item_rect(index)
      rect.width -= 4
      if m_dictionary_encount_switch_on?(enemy.id)
        change_color(normal_color, true)
        draw_text(rect.x, rect.y, 172, line_height, enemy.name)
      else
        change_color(normal_color, false)
        draw_text(rect.x, rect.y, 172, line_height, "???????")
      end
    end
  end
  #--------------------------------------------------------------------------
  # ● ヘルプウィンドウ更新メソッドの呼び出し
  #--------------------------------------------------------------------------
  def call_update_help
    update_help if active
  end
  #--------------------------------------------------------------------------
  # ● ヘルプテキスト更新
  #--------------------------------------------------------------------------
  def update_help
    if @status_window
      if m_dictionary_encount_switch_on?(enemy.id)
        @status_window.set_item(enemy, @index, true)
      else
        @status_window.set_item(enemy, @index, false)
      end
    end
  end
  #--------------------------------------------------------------------------
  # ● リフレッシュ
  #--------------------------------------------------------------------------
  def refresh
    make_item_list
    create_contents
    draw_all_items
  end
  #--------------------------------------------------------------------------
  # ● ステータスウィンドウの設定
  #--------------------------------------------------------------------------
  def status_window=(status_window)
    @status_window = status_window
  end
end

#==============================================================================
# ■ Window_MonsterDictionaryPerfection
#------------------------------------------------------------------------------
#  魔物図鑑画面で、図鑑の完成度を表示するウィンドウです。
#==============================================================================

class Window_MonsterDictionaryPerfection < Window_Selectable
  include WD_monsterdictionary
  #--------------------------------------------------------------------------
  # ● オブジェクト初期化
  #--------------------------------------------------------------------------
  def initialize(x, y, width, height)
    super
    refresh(width)
  end
  #--------------------------------------------------------------------------
  # ● リフレッシュ
  #--------------------------------------------------------------------------
  def refresh(width)
    contents.clear
    draw_text(0, 0, width-24, line_height, "图鉴完成度: #{monster_dictionary_perfection} %", 1)
  end
end


#==============================================================================
# ■ Window_MonsterDictionaryStatus
#------------------------------------------------------------------------------
#  魔物図鑑画面で、エネミーの詳細を表示するウィンドウです。
#==============================================================================

class Window_MonsterDictionaryStatus < Window_Selectable
  include WD_monsterdictionary
  #--------------------------------------------------------------------------
  # ● オブジェクト初期化
  #--------------------------------------------------------------------------
  def initialize(x, y, width, height)
    super
    @enemy = nil
    refresh
  end
  #--------------------------------------------------------------------------
  # ● アイテムの設定
  #--------------------------------------------------------------------------
  def set_item(enemy, index=-1, print=false)
    return if ((@enemy == enemy) and (@index == index))
    @enemy = enemy
    @index = index
    @print = print
    refresh
  end
  #--------------------------------------------------------------------------
  # ● アイテムオブジェクトの取得
  #--------------------------------------------------------------------------
  def item_object(kind, data_id)
    return $data_items  [data_id] if kind == 1
    return $data_weapons[data_id] if kind == 2
    return $data_armors [data_id] if kind == 3
    return nil
  end
  #--------------------------------------------------------------------------
  # ● リフレッシュ
  #--------------------------------------------------------------------------
  def refresh
    contents.clear
    contents.font.size = 24

    if @print

      if WD_monsterdictionary_layout::M_id_display
        text1  = sprintf("%0#{WD_monsterdictionary_layout::M_id_display_digit}d",@index+1)
        x      = WD_monsterdictionary_layout::M_id_display_x
        y      = WD_monsterdictionary_layout::M_id_display_y
        width  = WD_monsterdictionary_layout::M_id_display_width
        height = line_height
        draw_text(x, y, width, height, text1, 0)
      end
      if WD_monsterdictionary_layout::M_name_display
        text1  = @enemy.name
        x      = WD_monsterdictionary_layout::M_name_display_x
        y      = WD_monsterdictionary_layout::M_name_display_y
        width  = WD_monsterdictionary_layout::M_name_display_width
        height = line_height
        draw_text(x, y, width, height, text1, 0)
      end
      if WD_monsterdictionary_layout::M_pic_display
        pic_name = @enemy.battler_name
        pic_hue  = @enemy.battler_hue
        x      = WD_monsterdictionary_layout::M_pic_display_x
        y      = WD_monsterdictionary_layout::M_pic_display_y
        opacity= WD_monsterdictionary_layout::M_pic_display_opacity
        bitmap = Cache.battler(pic_name, pic_hue)
        rect = Rect.new(0, 0, bitmap.width, bitmap.height)
        contents.blt(x - rect.width/2, y - rect.height, bitmap, rect, opacity)
      end

      font_size = WD_monsterdictionary_layout::C_font_size
      contents.font.size = font_size
      if WD_monsterdictionary_layout::M_mhp_display
        text1  = Vocab::param(0)
        text2  = "?"
        text2  = @enemy.params[0] if m_dictionary_victory_switch_on?(@enemy.id)
        x      = WD_monsterdictionary_layout::M_mhp_display_x
        y      = WD_monsterdictionary_layout::M_mhp_display_y
        width  = WD_monsterdictionary_layout::M_mhp_display_width
        change_color(system_color)
        draw_text(x, y, width, font_size, text1, 0)
        change_color(normal_color)
        draw_text(x, y, width, font_size, text2, 2)
      end
      if WD_monsterdictionary_layout::M_mmp_display
        text1  = Vocab::param(1)
        text2  = "?"
        text2  = @enemy.params[1] if m_dictionary_victory_switch_on?(@enemy.id)
        x      = WD_monsterdictionary_layout::M_mmp_display_x
        y      = WD_monsterdictionary_layout::M_mmp_display_y
        width  = WD_monsterdictionary_layout::M_mmp_display_width
        change_color(system_color)
        draw_text(x, y, width, font_size, text1, 0)
        change_color(normal_color)
        draw_text(x, y, width, font_size, text2, 2)
      end
      if WD_monsterdictionary_layout::M_atk_display
        text1  = Vocab::param(2)
        text2  = "?"
        text2  = @enemy.params[2] if m_dictionary_victory_switch_on?(@enemy.id)
        x      = WD_monsterdictionary_layout::M_atk_display_x
        y      = WD_monsterdictionary_layout::M_atk_display_y
        width  = WD_monsterdictionary_layout::M_atk_display_width
        change_color(system_color)
        draw_text(x, y, width, font_size, text1, 0)
        change_color(normal_color)
        draw_text(x, y, width, font_size, text2, 2)
      end
      if WD_monsterdictionary_layout::M_def_display
        text1  = Vocab::param(3)
        text2  = "?"
        text2  = @enemy.params[3] if m_dictionary_victory_switch_on?(@enemy.id)
        x      = WD_monsterdictionary_layout::M_def_display_x
        y      = WD_monsterdictionary_layout::M_def_display_y
        width  = WD_monsterdictionary_layout::M_def_display_width
        change_color(system_color)
        draw_text(x, y, width, font_size, text1, 0)
        change_color(normal_color)
        draw_text(x, y, width, font_size, text2, 2)
      end
      if WD_monsterdictionary_layout::M_mat_display
        text1  = Vocab::param(4)
        text2  = "?"
        text2  = @enemy.params[4] if m_dictionary_victory_switch_on?(@enemy.id)
        x      = WD_monsterdictionary_layout::M_mat_display_x
        y      = WD_monsterdictionary_layout::M_mat_display_y
        width  = WD_monsterdictionary_layout::M_mat_display_width
        change_color(system_color)
        draw_text(x, y, width, font_size, text1, 0)
        change_color(normal_color)
        draw_text(x, y, width, font_size, text2, 2)
      end
      if WD_monsterdictionary_layout::M_mdf_display
        text1  = Vocab::param(5)
        text2  = "?"
        text2  = @enemy.params[5] if m_dictionary_victory_switch_on?(@enemy.id)
        x      = WD_monsterdictionary_layout::M_mdf_display_x
        y      = WD_monsterdictionary_layout::M_mdf_display_y
        width  = WD_monsterdictionary_layout::M_mdf_display_width
        change_color(system_color)
        draw_text(x, y, width, font_size, text1, 0)
        change_color(normal_color)
        draw_text(x, y, width, font_size, text2, 2)
      end
      if WD_monsterdictionary_layout::M_agi_display
        text1  = Vocab::param(6)
        text2  = "?"
        text2  = @enemy.params[6] if m_dictionary_victory_switch_on?(@enemy.id)
        x      = WD_monsterdictionary_layout::M_agi_display_x
        y      = WD_monsterdictionary_layout::M_agi_display_y
        width  = WD_monsterdictionary_layout::M_agi_display_width
        change_color(system_color)
        draw_text(x, y, width, font_size, text1, 0)
        change_color(normal_color)
        draw_text(x, y, width, font_size, text2, 2)
      end
      if WD_monsterdictionary_layout::M_luk_display
        text1  = Vocab::param(7)
        text2  = "?"
        text2  = @enemy.params[7] if m_dictionary_victory_switch_on?(@enemy.id)
        x      = WD_monsterdictionary_layout::M_luk_display_x
        y      = WD_monsterdictionary_layout::M_luk_display_y
        width  = WD_monsterdictionary_layout::M_luk_display_width
        change_color(system_color)
        draw_text(x, y, width, font_size, text1, 0)
        change_color(normal_color)
        draw_text(x, y, width, font_size, text2, 2)
      end
      if WD_monsterdictionary_layout::M_feature_display
        text1  = WD_monsterdictionary_layout::M_feature_display_text1
        text2  = "?"
        text2  = WD_monsterdictionary_layout::M_feature_display_text2 if m_dictionary_victory_switch_on?(@enemy.id)
        x      = WD_monsterdictionary_layout::M_feature_display_x
        y      = WD_monsterdictionary_layout::M_feature_display_y
        width  = WD_monsterdictionary_layout::M_feature_display_width
        change_color(system_color)
        draw_text(x, y, width, font_size, text1, 0)
        change_color(normal_color)
        i = 0
        if m_dictionary_victory_switch_on?(@enemy.id)
          @enemy.note.scan(/<图鉴功能:(.*)>/){|matched|
            i += 1
            self.contents.draw_text(x + font_size, y + font_size * i, width - font_size, font_size, matched[0], 0)
          }
        end
        if i == 0
          self.contents.draw_text(x + font_size, y + font_size, width - font_size, font_size, text2, 0)
        end
      end
      if WD_monsterdictionary_layout::M_exp_display
        text1  = WD_monsterdictionary_layout::M_exp_display_text1
        text2  = "?"
        text2  = @enemy.exp if m_dictionary_victory_switch_on?(@enemy.id)
        x      = WD_monsterdictionary_layout::M_exp_display_x
        y      = WD_monsterdictionary_layout::M_exp_display_y
        width  = WD_monsterdictionary_layout::M_exp_display_width
        change_color(system_color)
        draw_text(x, y, width, font_size, text1, 0)
        change_color(normal_color)
        draw_text(x, y, width, font_size, text2, 2)
      end
      if WD_monsterdictionary_layout::M_gold_display
        text1  = WD_monsterdictionary_layout::M_gold_display_text1
        text2  = "?"
        text2  = @enemy.gold if m_dictionary_victory_switch_on?(@enemy.id)
        text3  = Vocab::currency_unit
        x      = WD_monsterdictionary_layout::M_gold_display_x
        y      = WD_monsterdictionary_layout::M_gold_display_y
        width  = WD_monsterdictionary_layout::M_gold_display_width
        change_color(system_color)
        draw_text(x, y, width, font_size, text1, 0)
        cx = text_size(Vocab::currency_unit).width
        change_color(normal_color)
        draw_text(x, y, width - cx - 2, font_size, text2, 2)
        change_color(system_color)
        draw_text(x, y, width, font_size, text3, 2)
        change_color(normal_color)
      end
      if WD_monsterdictionary_layout::M_drop_display
        text1  = WD_monsterdictionary_layout::M_drop_display_text1
        text2  = WD_monsterdictionary_layout::M_drop_display_text2 if m_dictionary_victory_switch_on?(@enemy.id)
        x      = WD_monsterdictionary_layout::M_drop_display_x
        y      = WD_monsterdictionary_layout::M_drop_display_y
        width  = WD_monsterdictionary_layout::M_drop_display_width
        change_color(system_color)
        draw_text(x, y, width, font_size, text1, 0)
        change_color(normal_color)
        i = 0
        @enemy.drop_items.each do |di|
          if di.kind > 0
            i += 1
            item = item_object(di.kind, di.data_id)
            n = i -1
            if m_dictionary_drop_switch_on?(@enemy.id, n)
              text2 = item.name
              text3 = "1/#{di.denominator}"
            else
              text2  = "???????"
              text3  = ""
            end
            self.contents.draw_text(x + font_size, y + font_size * i, width - font_size, font_size, text2, 0)
            self.contents.draw_text(x + font_size, y + font_size * i, width - font_size, font_size, text3, 2)
          end
        end
        if i == 0
          self.contents.draw_text(x + font_size, y + font_size, width - font_size, font_size, text2, 0)
        end
      end
      if WD_monsterdictionary_layout::M_help_display
        text1  = WD_monsterdictionary_layout::M_help_display_text1
        text2  = "?"
        text2  = WD_monsterdictionary_layout::M_help_display_text2 if m_dictionary_victory_switch_on?(@enemy.id)
        x      = WD_monsterdictionary_layout::M_help_display_x
        y      = WD_monsterdictionary_layout::M_help_display_y
        width  = WD_monsterdictionary_layout::M_help_display_width
        change_color(system_color)
        draw_text(x, y, width, font_size, text1, 0)
        change_color(normal_color)
        i = 0
        if m_dictionary_victory_switch_on?(@enemy.id)
          @enemy.note.scan(/<图鉴说明:(.*)>/){|matched|
            i += 1
            self.contents.draw_text(x + font_size, y + font_size * i, width - font_size, font_size, matched[0], 0)
          }
        end
        if i == 0
          self.contents.draw_text(x + font_size, y + font_size, width - font_size, font_size, text2, 0)
        end
      end
      if WD_monsterdictionary_layout::M_geno_display
        text1  = WD_monsterdictionary_layout::M_geno_display_text1
        text2  = "#{m_dictionary_genoside_number(@enemy.id)}"
        x      = WD_monsterdictionary_layout::M_geno_display_x
        y      = WD_monsterdictionary_layout::M_geno_display_y
        width  = WD_monsterdictionary_layout::M_geno_display_width
        change_color(system_color)
        draw_text(x, y, width, font_size, text1, 0)
        change_color(normal_color)
        draw_text(x, y, width, font_size, text2, 2)
      end

    elsif @enemy != nil

      if WD_monsterdictionary_layout::M_id_display
        text1  = sprintf("%0#{WD_monsterdictionary_layout::M_id_display_digit}d",@index+1)
        x      = WD_monsterdictionary_layout::M_id_display_x
        y      = WD_monsterdictionary_layout::M_id_display_y
        width  = WD_monsterdictionary_layout::M_id_display_width
        height = line_height
        draw_text(x, y, width, height, text1, 0)
      end
      if WD_monsterdictionary_layout::M_name_display
        text1  = "- 暂无资料 -"
        x      = WD_monsterdictionary_layout::M_name_display_x
        y      = WD_monsterdictionary_layout::M_name_display_y
        width  = WD_monsterdictionary_layout::M_name_display_width
        height = line_height
        draw_text(x, y, width, height, text1, 0)
      end

    end
  end
end

怪物图鉴用的是这两个脚本,9姐姐帮忙看看有什么问题不?

点评

好的,9姐姐!  发表于 2019-5-1 18:30
能不能麻烦上传一个出错工程(越简单越好),我去查一下?  发表于 2019-5-1 13:59
嗯,用公共事件打开怪物图鉴脚本然后画面卡住几秒后直接退出游戏了  发表于 2019-4-30 19:11
粗看了一下不像是会出问题的样子,具体是什么时候,打开怪物图鉴界面时?  发表于 2019-4-30 17:05
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1162
在线时间
178 小时
注册时间
2018-11-6
帖子
32
183
发表于 2019-5-2 21:37:29 | 只看该作者
本帖最后由 leontonydz 于 2019-5-2 23:53 编辑

9姐姐,工程发上来了帮忙看看,新开的就没问题

QQ图片20190502235157.png (279.19 KB, 下载次数: 41)

QQ图片20190502235157.png

QQ图片20190502235203.png (218.48 KB, 下载次数: 44)

QQ图片20190502235203.png

Project2.zip

1.48 MB, 下载次数: 99

点评

另外问号我这边测试没发现不显示的问题,和一个怪物战斗以后也成功记录下来了。  发表于 2019-5-3 11:36
那我觉得应该说明老工程里存在一些新工程里所没有的东西,可能会引起问题?不知道是什么。  发表于 2019-5-3 11:35
新开的就没问题,导入到老工程就卡几秒然后退出了  发表于 2019-5-2 23:54
我运行了工程,没有发现任何问题。请问有没有对比图或者具体的操作方式?  发表于 2019-5-2 22:15
没有呢,就是直接退出了,但是新开的图鉴用RGD没有"????"显示  发表于 2019-5-2 22:02
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (暗夜天使)

只有笨蛋才会看到

梦石
1
星屑
21661
在线时间
9417 小时
注册时间
2012-6-19
帖子
7118

开拓者短篇九导演组冠军

184
发表于 2019-5-3 22:35:14 | 只看该作者
win10启动RGD会闪退,不知道为啥……

点评

是不是win10新装的时候默认没dx9?我这边现在新加了一个提示,可能新版就能提示没装dx了吧  发表于 2019-5-3 22:40
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
7570
在线时间
1157 小时
注册时间
2016-9-10
帖子
165

开拓者

185
发表于 2019-5-4 01:19:33 | 只看该作者
leontonydz 发表于 2019-5-2 21:37
9姐姐,工程发上来了帮忙看看,新开的就没问题

经过很无聊的测试,确定新建敌人数量为683的时候还是正常的,684个以上就崩了
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1162
在线时间
178 小时
注册时间
2018-11-6
帖子
32
186
发表于 2019-5-14 11:56:48 | 只看该作者
9姐姐,还有个问题,就是横版战斗技能动画伤害数字跳出间隔太短,游戏就会蹦!
比如“5连击”,“5连击”,“5连击”然后跳出一段伤害数字游戏就蹦了…

点评

有没有简单的例子来重现?麻烦传个工程吧,我回去看看。  发表于 2019-5-14 12:23
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
14616
在线时间
2196 小时
注册时间
2019-1-24
帖子
1123

R考场第七期纪念奖

187
发表于 2019-5-21 07:57:36 | 只看该作者
刚开始用,是不是下载个RGSS301.dll替换以前的RGSS300.dll   
Game.ini里面的改成Library=System\RGSS301.dll
就可以了。

点评

应该是需要的  发表于 2019-5-21 08:52
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
8659
在线时间
1467 小时
注册时间
2012-6-6
帖子
349
188
发表于 2019-7-4 23:02:38 | 只看该作者
我还是想问一下,RGD是不是不支持普通的USB手柄,我每次都得使用按键映射软件玩游戏,不知道以后的版本会不会支持USB手柄呢?
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
5340
在线时间
1258 小时
注册时间
2017-11-13
帖子
84
189
发表于 2019-7-5 14:43:48 | 只看该作者
我想问一下,下载范例试用后  发现会掉fps  走着走着就掉30多了 或者卡一会跑起来就没事了------是我电脑配置的问题?
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2983
在线时间
299 小时
注册时间
2018-4-6
帖子
328
190
发表于 2019-7-5 17:13:11 | 只看该作者
叨扰了,折腾了一个小时也没弄明白,rgd如何截图?
新建了事件使用脚本save_png(filename),会出现弹窗

filename用数字1代替,结果相同。
脚本痴真的不知如何是好了。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-22 16:06

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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