第3回 DBを書き換えよう

前回、GMコマンドを使ってアイテムを召喚しましたが、Lore属性や要求レベルのおかげで、LV1のキャラクターに魅力的なアイテムを一つしか保持できなかったり、実際に装備させることができませんでした。

今回は、これらの課題について、DBを書き換えることで対応する方法を説明します。
DBを書き換えるといっても、難しく構える必要はありません。EQEMUをインストールすると、「HeidiSQL」というツールが一緒に入ります。このツールを使うことで簡単にDBの内容を閲覧したり、書き換えることができますので利用方法を含めて説明します。

なお、誤動作を防止するため、EQEMUサーバは停止した状態で操作してください。

  1. HeidiSQL起動
    EQEMUを設定したPCのデスクトップ上に「HeidiSQL」アイコンがあると思いますので、ダブルクリックして起動します。
    001
  2. EQEMUデータベースへの接続設定
    最初に、EQEMU用のデータベース(DB名:peq)に接続するための設定を行います。この設定は、一度行えば今後は必要ありません。
    [新規]をプルダウンし、[セッションを追加]を選択します。
    003ユーザーに「root」が指定されていることを確認し、パスワードに「eqemu」を入力します。また、データベースをプルダウンし、「peq」を選択して、[保存]ボタンを一度押します。
    これで、次からはセッション名のアイコンを選択するだけで接続できるようになります。004続けて[開く]ボタンをクリックします。
  3. HeidiSQLを使ってみる
    接続に成功すると、EQEMUデータベースのテーブル一覧が左側にリスト表示されます。また、右側には現在選択しているテーブルの情報が表示されます。画面例では赤枠の通り、[データ]タブを選択していますので、テーブル[aa_effects]のデータ内容を閲覧している状態となります。
    005
  4. itemsテーブルの内容を書き換える
    武器や道具等のLoreや要求レベルといった情報は、全て[Items]テーブルに設定されています。まずは、左側のリストから[Items]を選択してみましょう。召喚に必要なアイテムIDや性能を表すagi、ac、chaなどの数値を確認することが出来ます。006この情報の中に、要求レベルを表す[reqlevel]や、推奨レベルを表す[reclevel]、LOREアイテムを表す[loregroup]といったフィールドが存在しますので、ここを書き換えれば良いということになります。一つ一つ書き換えていくのは大変なので、ここはコマンドを使って一斉に書き換えてしまいましょう。
    [クエリ]タブをクリックし、以下のコマンドを貼り付けます。

    UPDATE items SET reqlevel=0;
    UPDATE items SET reclevel=0;
    UPDATE items SET loregroup=0;
    UPDATE items SET clicklevel=0;
    UPDATE items SET clicklevel2=0;
    UPDATE items SET wornlevel=0;
    UPDATE items SET wornlevel2=0;
    UPDATE items SET proclevel=0;
    UPDATE items SET proclevel2=0;

    貼り付け終わったら、画面中央の実行アイコン(赤枠部分)をクリックします。
    007

    確認メッセージが表示されますので、[はい]ボタンをクリックします。
    008

    以上で、全てのアイテムの必須レベル、推奨レベル、LORE属性が解除されました。
    また、他にもクリップタイプのエフェクトを持つアイテムの必須レベルや、着用タイプ(worn)のエフェクト必須レベル、Procの必須レベルについても全て削除しています。
    一部は設定どおり残しておきたい場合は、該当するコマンドを取り除いてから実行してみてください。

  5. その他の設定
    EQEMUでは、[rule_values]というテーブルでキャラクタの最大レベルや、経験値の倍率、死亡時の装備品の扱いといったさまざまな設定を定義できます。
    rule_valuesの内容の詳細は、以下をご確認ください。http://wiki.eqemulator.org/p?Server_Rules
    上リンク先の説明では、キャラクターの最大レベルは65となっていますが、DBが新しくなったのか現在は70が設定されています。また、上記リンクではカテゴリとルール名が別々の列で記載されていますが、[rule_values]上は、カテゴリとルール名が結合した名前で設定されています。例えば、カテゴリ:Character、Name:MaxLevelの場合は、テーブル上の名前は、”Character:MaxLevel”となります。

    012

    それでは、rule_valuesについても[クエリ]タブを選択し、以下のコマンドを入力して実行を行い、書き換えましょう。

    UPDATE rule_values SET rule_value=’false’ WHERE rule_name=’Combat:EnableFearPathing’;
    UPDATE rule_values SET rule_value=’101′ WHERE rule_name=’Character:DeathItemLossLevel’;
    UPDATE rule_values SET rule_value=’3′ WHERE rule_name=’Character:ExpMultiplier’;
    UPDATE variables SET value=’3′ WHERE varname=’AAXPMod’;

    011

    コマンドの意味は、上から[敵の逃走をOFF]、[死亡時装備を付けたまま復活]、[EXP獲得倍率を3倍に設定]、[AAEXP獲得倍率を3倍に設定]です。
    これで、かなりユーザフレンドリーな内容になってきました。

  6. 設定の確認
    EQEMUサーバを起動し、実際に装備できるようになったか確認してみます。010おぉ、EPIC2.0をLV1から装備できるようになりました。アイテムウインドウを見ると、要求レベルやLORE属性が無いことが分かります。
    他のも色々装備させて、とりあえずLV1でものすごい戦闘力になったようですが、まだまだ装備が足らないので召喚が必要ですね。
    召喚には、アイテムIDが必要ですが、適切なアイテムを調べるのがなかなか面倒です。
    そこで次回は、簡単な調べ方を紹介したいと思います。

    なお、本ページに記載のSQLコマンドは、「とある百合アニメ好きが書くメモ帳」さんの説明を参考にさせていただきました。
    大変参考になりました。
    http://tomo256.blog9.fc2.com/blog-entry-99.html

あわせて読みたい

コメントを残す

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

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)