昨日の夜RagnarokOnlineにログインしてみると昨日まで表示されていたギルドのエンブレムが表示されてない!
2014-11-05-001

調べてみると実装されたばかりの決戦アップデートの更新内容の一つにこんなものがありました。
2014-11-05-002

この変更の影響で昨日まで表示されていたギルドのエンブレムが表示できなくなったんですね。

表示されなくても困ることはないんだけどやっぱり表示されないのはさみしいです。

ギルドマスターが再設定すればまた表示されるようになるって書いてあるけど、
所属しているギルドのマスターは軒並みここ最近姿を見てません。
うーん、こまった。

そんな話をたまり場でしているとギルドのある方から
「ファイル名を変えれば表示されるようになるよ」
との情報が。
さっそくやってみた結果、表示されるようになりました。
2014-11-05-003

めでたしめでたし。

で終わると記事にした意味がほとんど無いので続きます。
ファイル名を変えるだけなんだけど。
みんなも_tmpEmblemフォルダの中を見ると気づくと思う。
ファイルの数が半端ない。
私の場合で13,000個あった。(内Trudrのものは4,000個)
これを一つずつ変更していくのは大変。というか無理。

何か簡単にできる方法はないかなーと考えて
行き着いたのがVBScript。
(ROユーザーみんなの環境で実行環境が整ってて正規表現が使える物といったらVBScriptかJScriptくらい?)

こんな感じにパチパチ打ってみた。
Trudrの人ならこれでいけると思います。

Option Explicit
Dim fso, cPath, ebmPath, ebmFolder, fileItem, regexp, m, m2, newName
set fso = CreateObject("Scripting.FileSystemObject")
cPath = Replace(WScript.ScriptFullName,WScript.ScriptName,"")
ebmPath = fso.BuildPath(cPath,"_tmpEmblem")
set ebmFolder = fso.GetFolder(ebmPath)
set regexp = CreateObject("VBScript.RegExp")
regexp.Pattern = "^Trudr \[Eir\+Fre\] (.*.ebm)$"
For Each fileItem In ebmFolder.Files
    Set m = regexp.execute(fileItem.Name)
    If m.Count = 1 Then
        Set m2 = m(0).SubMatches
        newName = "Trudr" & m2.item(0)
        If fso.FileExists(ebmPath & "\" & newName) = False Then
            fileItem.Name = "Trudr" & m2.item(0)
        End If
    End If
Next
set fso = Nothing
set ebmFolder = Nothing
set regexp = Nothing
set m = Nothing
set m2 = Nothing
MsgBox("Completed")

「これをどうすればいいんだ!」という方に手順を追って説明します。

<手順1>
・ROが起動している場合は終了する。

<手順2>
・拡張子を表示する。
わからない人は↓を参照
Window7の人
Windows8、8.1の人

<手順3>
・Ragnarokフォルダに移動。
・「_tmpEmblem」フォルダをコピーしてデスクトップとかに貼り付けてバックアップを作る。

<手順4>
↓のファイルをダウンロードして解凍してできたファイルをRagnarokフォルダ直下に置く。
ren_ebm

ren_ebm.vbsと_tmpEmblemフォルダの位置関係はこんな感じに。
2014-11-05-005

<手順5>
ren_ebm.vbsをダブルクリックして実行
「Completed」と表示されるまでしばらく待つ。。。

<手順6>
「Completed」と表示されたらROを起動してエンブレムが表示されてることを確認!

ren_ebm.vbsはいらないので削除しちゃってくださいね。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です