Aion Emuのデータはxmlで書かれている。

XML文章を記述したxmlファイルと
XML文書の型を決めるためのxsdファイルがある。

それをphpで簡単に読むにはphp_sdo.dllをネットで入手し、
php\ext\のフォルダにコピーした後にphp.iniの最後に

extension=php_sdo.dll

と付け加える。

例)pets.xmlの情報を読む
<?php
$xmldas = SDO_DAS_XML::create("pets.xsd");
$document = $xmldas->loadFile("pets.xml");
$rdo = $document->getRootDataObject();
echo "ID:".$rdo->pet[0]->id." NAME:".$rdo->pet[0]->name;
?>

結果)
ID:900000 NAME:Siberian Wild Tiger (Purebred)

xml)pets.xml
<?xml version="1.0" encoding="UTF-8"?>
<pets xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="pets.xsd">
<pet id="900000" name="Siberian Wild Tiger (Purebred)" nameid="1600012">
<petfunction type="FOOD" id="1"/>
<petfunction type="WAREHOUSE" slots="6"/>
<petfunction type="BAG" id="1020000"/>
<petfunction type="ALARM"/>
<petstats reaction="brave" run_speed="6" walk_speed="1.132" height="1"/>
</pet>
<pet id="900001" name="Siberian Wild Tiger (Companion)" nameid="1600021">
<petfunction type="BAG" id="1020000"/>
<petstats reaction="brave" run_speed="6" walk_speed="1.132" height="1"/>
</pet>
.
.
.
新規キャラクターの種族選択画面が少しおかしいのはクライアントのせいなんだろうか・・。
それ以外は普通にプレイできる模様。
teraoのブログ-242
ビルドしてみました。
まだユニークからさほど変更はないみたい。

サーバーインストールフォルダ C:\aion\aionlightning

・mvn
Maven 2.2.1
http://maven.apache.org/download.html

・svn
CollabNet Subversion Command-Line Client v1.6.12 (for Windows)
http://www.collab.net/downloads/subversion/

ビルドする為に新しく上記2つをインストール

mvnはMaven 2.2.1 (zip)をc:\aionで解凍。 c:\aion\apache-maven-2.2.1
svnはCollabNetSubversion-client-1.6.12-1.win32.exeを実行。 C:\Program Files\CollabNet

C:\aion\aionlightning\tools\execute-maven.batの6行目を変更
set PATH=%PATH%;C:\aion\apache-maven-2.2.1\bin

サーバービルド実行はC:\aion\aionlightning\tools\build-all.bat。

ビルド成功画面
teraoのブログ-build-all

・ログインサーバー
C:\aion\aionlightning\AL-Login\target\al-login-1.0.0.zipを、その場に解凍。
C:\aion\aionlightning\AL-Login\target\loginserver

C:\aion\aionlightning\AL-Login\target\loginserver\config\networkにある、
database.propertiesとnetwork.propertiesを自分の環境に合わせて変更。

アイオンユニークのデータをそのまま使うなら、database.propertiesの22行目を変更。
# database.url = jdbc:mysql://localhost:3306/Aion_DB
database.url=jdbc:mysql://localhost:3306/au_server_ls


・ゲームサーバー
C:\aion\aionlightning\AL-Game\target\al-game-1.0.0.zipを、そ の場に解凍。
C:\aion\aionlightning\AL-Game\target\gameserver

C:\aion\aionlightning\AL-Game\target\gameserver\config\networkにある、
database.propertiesとnetwork.propertiesを自分の環境に合わせて変更。

アイオンユニークのデータをそのまま使うなら、database.propertiesの25行目を変更。
# database.url = jdbc:mysql://localhost:3306/Aion_DB?useUnicode=true&characterEncoding=UTF-8
database.url = jdbc:mysql://localhost:3306/au_server_gs?useUnicode=true&characterEncoding=UTF-8

サーバー起動はユニークと特に変わらず。

teraoのブログ-成功

googleで[item_templates.xml]で検索すれば1.9用の物が見つかります。
コピーすればブランドコスチュームなどが使用可能です。
個人的には製作名人の衣服が良いかな。
168000035 ヴィーダルの尊厳 40 武器に2%の確率でターゲットを5秒間、
麻痺させる効果を与えます。
168000036 ヘルクスの復讐 40 武器に2%の確率でターゲットを10秒間、
移動不可にする効果を与えます。
168000037 スルドゲルミルの沈黙 40 武器に10%の確率でターゲットを10秒間、
沈黙させる効果を与えます。
168000038 ラスベルグの愛 40 武器に10%の確率でターゲットを10秒間、
失明させる効果を与えます。
168000039 デルトラスの忠誠 40 武器に5%の確率で10秒間、
ターゲットの移動速度を50%減少させる効果を与えます。
168000040 イオの涙 40 武器に10%の確率で10秒間、
ターゲットの攻撃速度を50%減少させる効果を与えます。
168000041 オリッサの血 40 武器に10%の確率で20秒間、
2秒ごとに38ポイントの毒ダメージを負わせる効果を与えます。
168000042 マヒシャの憤怒 40 武器に8%の確率で10秒間、
2秒ごとに71ポイントの出血ダメージを負わせる効果を与えます。
168000043 ボレアスの激励 40 武器に10%の確率で188ポイントの
火属性ダメージを負わせる効果を与えます。
168000044 ヘカテの聡明 40 武器に20%の確率で94ポイントの
水属性ダメージを負わせる効果を与えます。
168000045 トラシメンデスの賢明 40 武器に10%の確率で188ポイントの
土属性ダメージを負わせる効果を与えます。
168000046 ユベントスの敏捷 40 武器に20%の確率で94ポイントの
風属性ダメージを負わせる効果を与えます。
168000047 トラウフニールの勇気 40 武器に1%の確率で1880ポイントの
火属性ダメージを負わせる効果を与えます。
168000048 シーフの知識 40 武器に2%の確率で940ポイントの
水属性ダメージを負わせる効果を与えます。
168000049 フレイールの知恵 40 武器に1%の確率で1880ポイントの
土属性ダメージを負わせる効果を与えます。
168000050 シギンの英明 40 武器に2%の確率で940ポイントの
風属性ダメージを負わせる効果を与えます。
168000051 ネザカンの勇猛 40 武器に1%の確率で3760ポイントの
火属性ダメージを負わせる効果を与えます。
168000052 カイジネルの恐怖 40 武器に2%の確率で1880ポイントの
水属性ダメージを負わせる効果を与えます。
168000053 ユスティエルの心 40 武器に10%の確率で376ポイントの
土属性ダメージを負わせる効果を与えます。
168000054 バイゼルの意志 40 武器に20%の確率で188ポイントの
風属性ダメージを負わせる効果を与えます。
168000055 ジケルの誇り 40 武器に1%の確率で3760ポイントの
火属性ダメージを負わせる効果を与えます。
168000056 ルミエルの魔力 40 武器に2%の確率で1880ポイントの
水属性ダメージを負わせる効果を与えます。
168000057 マルクタンの均衡 40 武器に10%の確率で376ポイントの
土属性ダメージを負わせる効果を与えます。
168000058 トリニエルの冷静 40 武器に20%の確率で188ポイントの
風属性ダメージを負わせる効果を与えます。
168000059 ボレアスの激憤 40 武器に6%の確率でターゲットを1秒間、
スタン状態にする効果を与えます。
168000060 スパタロスの報復 40 武器に2%の確率でターゲットを5秒間、
麻痺させる効果を与えます。
168000061 ヘカテの束縛 40 武器に2%の確率でターゲットを10秒間、
移動不可にする効果を与えます。
168000062 ユベントスの平定 40 武器に5%の確率でターゲットを8秒間、
沈黙させる効果を与えます。
168000063 テレマクスの光彩 40 武器に5%の確率でターゲットを8秒間、
失明させる効果を与えます。
168000064 ペレントの堅持 40 武器に5%の確率で10秒間、
ターゲットの移動速度を50%減少させる効果を与えます。
168000065 トラシメンデスの平穏 40 武器に5%の確率で10秒間、
ターゲットの攻撃速度を50%減少させる効果を与えます。
168000066 トラウフニールの咆哮 40 武器に6%の確率でターゲットを1秒間、
スタン状態にする効果を与えます。
168000067 スエロンの威嚇 40 武器に2%の確率でターゲットを5秒間、
麻痺させる効果を与えます。
168000068 シーフの拘束 40 武器に2%の確率でターゲットを10秒間、
移動不可にする効果を与えます。
168000069 シギンの静寂 40 武器に5%の確率でターゲットを8秒間、
沈黙させる効果を与えます。
168000070 エーギルの眼光 40 武器に5%の確率でターゲットを8秒間、
失明させる効果を与えます。
168000071 ネルトスの抑圧 40 武器に5%の確率で10秒間、
ターゲットの移動速度を50%減少させる効果を与えます。
168000072 フレイールの安息 40 武器に5%の確率で10秒間、
ターゲットの攻撃速度を50%減少させる効果を与えます。
168000073 スルドゲルミルの暗黙 40 武器に5%の確率でターゲットを8秒間、
沈黙させる効果を与えます。
168000074 ラスベルグの悲劇 40 武器に5%の確率でターゲットを8秒間、
失明させる効果を与えます。
168000075 イオの悲しみ 40 武器に5%の確率で10秒間、
ターゲットの攻撃速度を50%減少させる効果を与えます。
・Rev2489 kinah Playerの所持金の操作
//kinah [player] <quantity>

例)
//kinah 100 /*自分に+100(-も可能)*/


・Rev2504 morph 自分の姿の変更/キャンセル
//morph <NPC Id | cancel>

例)
//morph 210338 /*エローコに変身*/
teraoのブログ-エローコ


//morph 210340 /*クックーに変身*/
teraoのブログ-クックー


//morph 211041 /*クラッグ ベヒモスに変身*/
teraoのブログ-クラッグベヒモス


//morph cancel /*姿を元に戻す*/
[関係のあるファイル]
\ae-go\AE-go_GameServer\src\com\aionemu\gameserver\ai\desires\impl\AggressionDesire.java

if(!creature.getLifeStats().isAlreadyDead() && MathUtil.isInRange(npc, creature, npc.getAggroRange())
&& (Math.abs(creature.getZ() - npc.getZ()) < 30))

このif内の処理のせいでした。

Math.abs(creature.getZ() - npc.getZ())
でMOBとの高さの絶対値を求めて、
その結果が30未満ならtrue(正)になって、その後に、MOBにタゲられる処理に繋がっていく。

ここをMOB一律ではなく、npc.getAggroRange()などでMOBのアクティブ範囲の値を取ってきて、
それに多少色を加えると良いかもしれない。

npc.getAggroRange()のデータは下記のファイルのsrangeで設定されている。
\ae-go\AE-go_GameServer\build\gameserver\data\static_data\npcs\npc_templates.xml
[例]
<npc_template npc_id="200000" level="3" name=" " name_id="350000" npc_type="NON_ATTACKABLE" height="0.1" rank="NORMAL" tribe="GENERAL" srange="15" hpgauge="3">
<stats maxMp="34" maxHp="111" maxXp="159" block="14" parry="14" mdef="14" pdef="14" crit="14" power="14" evasion="14" accuracy="14" magic_accuracy="14" walk_speed="0.0" run_speed="0.0" run_speed_fight="0.0" fly_speed="0.0"/>
</npc_template>


公式はどうなってるんだろう。。。。