Project1

标题: 想请问下エターナルメモリー这个游戏用的字体问题 [打印本页]

作者: nsnisn    时间: 2013-11-29 12:03
标题: 想请问下エターナルメモリー这个游戏用的字体问题
https://www.freem.ne.jp/win/game/5868

XPMAKER的作品

进入游戏之后菜单和状态栏能如常显示,但是对话是空白的,转区软件无效

解包之后检查MAIN脚本,只找到了字体大小的句柄,没找到有关字体种类的部分

自行添加字体种类后游戏可以运行,但是还是显示不了对话,没有效果

所以想请高手帮助分析一下,谢谢
作者: nsnisn    时间: 2013-11-29 12:26
MAIN脚本代码如下

# coding: utf-8
# ===========================================================================
# ★ WF-RGSS Scripts ★
#    共通実行スクリプト(XP/VX/VXAce両対応版)
#    Bitmap-EX対応版
# バージョン   : rev-24 (2012-4-14)
# 作者         : A Crying Minister (WHITE-FLUTE)
# サポート先URI: http://www.whiteflute.org/wfrgss/
# ---------------------------------------------------------------------------
# 機能:
# ・デバッグモードで例外が発生したとき、エラーを errors.txt に記録します。
# ・高速なリセットを利用できるようになります。
# ---------------------------------------------------------------------------
# 影響:
# ・ファイルが見つからない例外は、 元の Errno::ENOENT が補足されます。
# ---------------------------------------------------------------------------
# 設置場所     :Mainセクション(一番最後)に上書き
#                または、Mainセクションの直前
# 必要スクリプト:
# ・共通スクリプト
# 注意事項:
# ▽ 共通スクリプトが必要です。
#    改造して使用することを推奨しますが、そのまま使ってもOKです。
# ▽ デバッグモードでエラーを記録する場合、
#    現在のユーザで書き込みを行えることが必要になります。
#==============================================================================
# ◆ Main ( Execute )
#------------------------------------------------------------------------------
#  各クラスの定義が終わった後、ここから実際の処理が始まります。
#==============================================================================

# ---------------------------------------------------------------------------
# ◆ 処理実行
# ---------------------------------------------------------------------------
# スレッド例外で即座に中断しないようにする。(デバッグ時は無効)
# ※ true に設定する場合はご注意ください。
#    終了する前に解放が必要なものもあります。
Thread.abort_on_exception = false
# RPGVX 互換
if rpgvx? and (not rpgvxace?)
  unless Font.exist?("UmePlus Gothic")
    print "UmePlus Gothic フォントが見つかりません。"
    exit
  end
end

begin
  unless rpgvxace?
    if MINTO::Screen_Size == 255 and $keybd.nil?
      $keybd = Win32API.new 'user32.dll', 'keybd_event',
      ['i', 'i', 'l', 'l'], 'v'
      $keybd.call 0xA4, 0, 0, 0
      $keybd.call 13, 0, 0, 0
      $keybd.call 13, 0, 2, 0
      $keybd.call 0xA4, 0, 2, 0
    end
    # ヴァージョン情報を発行
    System_Version.version_out
    System_Voice.version_out
    # トランジション準備
    Graphics.freeze
    # 前処理
    Audio.ogg_init
    AudioPass.dispose
    System_Voice.dispose
    System_Voice.initialize
    Data_Tilesets.clear
    ForceFeedBack.dispose
    ForceFeedBack.setup(true)
    Font.default_size = 20
    # シーンオブジェクト (ロゴ画面) を作成
    Game_Scene.data = Scene_Logo.new
    # $scene が有効な限り main メソッドを呼び出す
    Game_Scene.data.main until Game_Scene.data.nil?
    # フェードアウト
    Graphics.transition(20)
  else
    rgss_main { SceneManager.run }
  end
    # 以下、例外処理
rescue BugDetected, InternalBugDetected => errobj
  begin
    MessageBox.fatalerror( errobj )
    raise SystemExit.new(1)
  rescue Hangup
    nil
  end

rescue SyntaxError => errobj
  # -------------------------------------------------------------------------
  # ◆ 例外 SyntaxError
  # -------------------------------------------------------------------------
  # この例外はバグかセットアップが適切にされていない状況で無い限り、
  # 補足されることはない
  begin
    raise( BugDetected,
         "[FATAL] The invalidated exception was detected. \n\n" +
         "Exception:\n#{errobj}")
  rescue BugDetected => errobj
    begin
      MessageBox.fatalerror( errobj )
      raise SystemExit.new(1)
    rescue Hangup
      nil
    end
  end
rescue Reset
  # -------------------------------------------------------------------------
  # ◆ F12 リセット( 例外 Reset < Exception )
  # -------------------------------------------------------------------------
  # ※retry する場合は、
  #   かならず、ウィンドウやスプライトが確実に解放される必要があります。
  # ※ RGSS2環境ではF12の機構を封じないと封じ込められません。
  
  raise
rescue Hangup => errobj
  # -------------------------------------------------------------------------
  # ◆ 致命的例外 Hangup
  # -------------------------------------------------------------------------
  begin
    MessageBox.fatalerror( errobj )
    raise SystemExit.new(1)
  rescue Hangup
    nil
  end
rescue SystemExit => errobj
  # -------------------------------------------------------------------------
  # ◆ 終了要求 ( Alt + F4 など )
  # -------------------------------------------------------------------------
  # 例外が正常終了で無い場合は、例外 SystemExitを再発生させます。
  raise unless (errobj.status).zero?

rescue Exception => errobj
  # -------------------------------------------------------------------------
  # ◆ 例外処理
  # 特に指定されていない例外を補足します。
  # ※ rev-2 より、Errno::ENOENT もここで補足します。
  # -------------------------------------------------------------------------
  begin
    MessageBox.fatalerror( errobj )
    raise SystemExit.new(1)
  rescue Hangup
    nil
  end

ensure
  # -------------------------------------------------------------------------
  # ● 後処理
  # -------------------------------------------------------------------------
  # 後処理を記述します。
  # スクリプト内容によってはここで解放処理が必要になることがあります。
  # ★ 後処理を記述します。 ★
  Bitmap.dispose
  AudioPass.dispose
  System_Voice.dispose
  ForceFeedBack.dispose
  RPG::Cache.clear

  # ★ ----------------------------------------------------------------------
end

exit # Mainセクションが後に控えている時に処理が渡らないようにする

作者: fux2    时间: 2013-11-29 12:27
全局搜索一下font =,对话框用单独的字体也说不定。
作者: nsnisn    时间: 2013-11-29 13:37
fux2 发表于 2013-11-29 12:27
全局搜索一下font =,对话框用单独的字体也说不定。

谢谢,全局搜索了一下,发现作者前后用了几十个字体语句,其中有大概十几个涉及到日文文件名不能被识别的。修改之后可以正常运行,感谢意见
作者: 紫英晓狼1130    时间: 2013-11-29 18:01
解包?这么说LZ强制破解了游戏…
如果是这样的话,这样就不太好了吧
作者: soulsaga    时间: 2013-11-29 18:58
这游戏我把字体全改了后虽然能显示文字但是对话中途会出错关闭..求LZ传个改好的脚本文件上来...
作者: soulsaga    时间: 2013-11-30 15:22
转了系统的地区语言后重启..重新解压游戏总算能看到字又不出错了...
作者: soulsaga    时间: 2013-12-6 11:59
这游戏用死霊统制者-丽奈通关特典系统存档可以收得丽奈做隐藏同伴...
在第一个地图的某个集落..左边的村长之家可以接受任务..然后去神殿找丽奈便可加入..
顺便上传个死霊统制者-丽奈通关特典系统存档
放在游戏根目录\Game_Data\Game\System_Data
然后运行游戏标题选最后一项连动
特典下载地址:http://pan.baidu.com/s/1vgKiS





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