- Updated /doc from jAthena

- Completed adding of the new cities to @go
  > that function is ugly and needs a complete rewrite, asap
- Updated thor volcano warps

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9615 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
ultramage 2007-01-04 18:33:53 +00:00
parent 74d8bc1cab
commit 851a1e259a
10 changed files with 1553 additions and 488 deletions

View File

@ -3,6 +3,12 @@ Date Added
AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO INTO TRUNK. AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO INTO TRUNK.
IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK. IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
2007/01/04
* Completed adding of the new cities to @go.
> that function is ugly and needs a complete rewrite, asap.
* Updated thor volcano warps.
* Updated /doc from jAthena. [ultramage]
2007/01/03 2007/01/03
* Added Rachel and Veins to the list of @go destinations. * Added Rachel and Veins to the list of @go destinations.
* Added a first approximation of warps for the new maps (by $ephiroth). * Added a first approximation of warps for the new maps (by $ephiroth).

View File

@ -1,19 +1,3 @@
Client Version in date format (Client Version in 4 digit format):
2004 06 28a (0628a)
2004 10 25 (1025)
2004 11 01 (1101)
2004 12 13 (1213)
2005 01 10 (0110)
2005 03 15 (0315)
2005 03 21 (0321)
2005 04 04 (0404)
2005 04 06 (0406)*
2005 04 11a (0411a)
2005 04 25a (0425a)
2005 05 31b (0531b)
2005 06 14 (0614)
2005 06 28a (0628a)
2005 08 08 (0808)
10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@ -54,8 +38,8 @@ Client Version in date format (Client Version in 4 digit format):
8, 14, 10, 35, 6, 8, 4, 11, 54, 53, 60, 2, -1, 47, 33, 6, 8, 14, 10, 35, 6, 8, 4, 11, 54, 53, 60, 2, -1, 47, 33, 6,
30, 8, 34, 14, 2, 6, 26, 2, 28, 81, 6, 10, 26, 2, -1, -1, 30, 8, 34, 14, 2, 6, 26, 2, 28, 81, 6, 10, 26, 2, -1, -1,
-1, -1, 20, 10, 32, 9, 34, 14, 2, 6, 48, 56, -1, 4, 5, 10, -1, -1, 20, 10, 32, 9, 34, 14, 2, 6, 48, 56, -1, 4, 5, 10,
#0x200 #0x0200
26, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 19, 26, -1, 26, 10, 18, 26, 11, 34, 14, 36, 10, 19, 19, -1, 24, 0,
S クライアントから見て送信 S クライアントから見て送信
R クライアントから見て受信 R クライアントから見て受信
@ -89,7 +73,7 @@ R 006a <error No>.B
err No=07 サーバーが混雑しています err No=07 サーバーが混雑しています
R 006b <len>.w <charactor select data>.106B* R 006b <len>.w <charactor select data>.106B*
キャラセレ鯖接続成功&キャラクタデータ キャラセレ鯖接続成功&キャラクタデータ
<charactor select data> = <charactor ID>.l <base exp>.l <zeny>.l <job exp>.l <job level>.l ?.8B <option>.l <karma>.l <manner>.l ?.2B <HP>.w <MaxHP>.w <SP>.w <MaxSP>.w <speed>.w <class>.w <hair>.w <weapon>.2w <base level>.w <skill point>.w <head_bottom>.w <sheild>.w <head option top>.w <head option mid>.w <hair color>.w ?.w <name>.24B <STR>.B <AGI>.B <VIT>.B <INT>.B <DEX>.B <LUK>.B <charactor number>.B ?.B <charactor select data> = <charactor ID>.l <base exp>.l <zeny>.l <job exp>.l <job level>.l ?.8B <option>.l <karma>.l <manner>.l <status point>.w <HP>.w <MaxHP>.w <SP>.w <MaxSP>.w <speed>.w <class>.w <hair>.w <weapon>.2w <base level>.w <skill point>.w <head_bottom>.w <sheild>.w <head option top>.w <head option mid>.w <hair color>.w ?.w <name>.24B <STR>.B <AGI>.B <VIT>.B <INT>.B <DEX>.B <LUK>.B <charactor number>.B ?.B
R 006c <error No>.B R 006c <error No>.B
キャラクタ選択失敗 キャラクタ選択失敗
R 006d <charactor select data>.106B R 006d <charactor select data>.106B
@ -106,11 +90,11 @@ R 0071 <charactor ID>.l <map name>.16B <ip>.l <port>.w
キャラクタ選択成功&マップ名&ゲーム鯖IP/port キャラクタ選択成功&マップ名&ゲーム鯖IP/port
S 0072 <account ID>.l <charactor ID>.l <login ID1>.l <login ID2>.l <sex>.b S 0072 <account ID>.l <charactor ID>.l <login ID1>.l <login ID2>.l <sex>.b
ゲーム鯖接続要求 ゲーム鯖接続要求
R 0073 <server tick>.l <coordidate>.3B ?.2B R 0073 <server tick>.l <coordidate>.3B ?.2B(05 05固定)
ゲーム鯖接続成功&サーバ側1ms時計&出現位置 ゲーム鯖接続成功&サーバ側1ms時計&出現位置
R 0078 <ID>.l <speed>.w <opt1>.w <opt2>.w <option>.w <class>.w <hair>.w <weapon>.w <head option bottom>.w <sheild>.w <head option top>.w <head option mid>.w <hair color>.w <cloth color>.w <head dir>.w <guild>.l <emblem>.l <manner>.w <karma>.B <sex>.B <X_Y_dir>.3B ?.B ?.B <sit>.B <Lv>.B R 0078 <ID>.l <speed>.w <opt1>.w <opt2>.w <option>.w <class>.w <hair>.w <weapon>.w <head option bottom>.w <sheild>.w <head option top>.w <head option mid>.w <hair color>.w <clothes color>.w <head dir>.w <guild>.l <emblem>.l <manner>.w <karma>.B <sex>.B <X_Y_dir>.3B ?.B(05固定) ?.B(05固定) <sit>.B <Lv>.B
マップロード時&移動時用、向き付き用キャラ情報? マップロード時&移動時用、向き付き用キャラ情報?
R 0079 <ID>.l <speed>.w <opt1>.w <opt2>.w <option>.w <class>.w <hair>.w <weapon>.w <head option bottom>.w <sheild>.w <head option top>.w <head option mid>.w <hair color>.w ?.w <head dir>.w <guild>.l <emblem>.l <manner>.w <karma>.B <sex>.B <X_Y_dir>.3B ?.B ?.B <Lv>.B R 0079 <ID>.l <speed>.w <opt1>.w <opt2>.w <option>.w <class>.w <hair>.w <weapon>.w <head option bottom>.w <sheild>.w <head option top>.w <head option mid>.w <hair color>.w <clothes color>.w <head dir>.w <guild>.l <emblem>.l <manner>.w <karma>.B <sex>.B <X_Y_dir>.3B ?.B(05固定) ?.B(05固定) <Lv>.B
テレポ等の表示範囲内沸きキャラ用、向き付き無しキャラ情報? テレポ等の表示範囲内沸きキャラ用、向き付き無しキャラ情報?
R 007b <ID>.l <speed>.w <opt1>.w <opt2>.w <option>.w <class>.w <hair>.w <weapon>.w <head option bottom>.w <server tick>.l <sheild>.w <head option top>.w <head option mid>.w <hair color>.w ?.w <head dir>.w <guild>.l <emblem>.l <manner>.w <karma>.B <sex>.B <X_Y_X_Y>.5B ?.B ?.B ?.B <Lv>.B R 007b <ID>.l <speed>.w <opt1>.w <opt2>.w <option>.w <class>.w <hair>.w <weapon>.w <head option bottom>.w <server tick>.l <sheild>.w <head option top>.w <head option mid>.w <hair color>.w ?.w <head dir>.w <guild>.l <emblem>.l <manner>.w <karma>.B <sex>.B <X_Y_X_Y>.5B ?.B ?.B ?.B <Lv>.B
表示範囲内キャラ移動情報 表示範囲内キャラ移動情報
@ -144,7 +128,9 @@ R 0081 <type>.B
type=11 チケットが買われていないか、有効期限が切れています type=11 チケットが買われていないか、有効期限が切れています
S 0085 <X_Y>.3B S 0085 <X_Y>.3B
移動要求 移動要求
R 0087 <server tick>.l <X_Y_X_Y>.5B ?.B R 0086
未調査
R 0087 <server tick>.l <X_Y_X_Y>.5B ?(0固定).B
移動応答 移動応答
R 0088 <ID>.l <X>.w <Y>.w R 0088 <ID>.l <X>.w <Y>.w
移動途中停止 移動途中停止
@ -165,6 +151,8 @@ R 008a <src ID>.l <dst ID>.l <server tick>.l <src speed>.l <dst speed>.l <param1
type=09 ダメージモーションなしにダメージだけ表示される物(インデュア) type=09 ダメージモーションなしにダメージだけ表示される物(インデュア)
type=0a クリティカル type=0a クリティカル
type=0b 完全回避 type=0b 完全回避
R 008b
未調査
S 008c <len>.w <str>.?B S 008c <len>.w <str>.?B
通常発言送信。チャット中はチャット内発言用になる 通常発言送信。チャット中はチャット内発言用になる
先頭の"<nick> : "の部分はクライアント側で付ける事 先頭の"<nick> : "の部分はクライアント側で付ける事
@ -179,7 +167,7 @@ R 0091 <map name>.16B <X>.w <Y>.w
R 0092 <map name>.16B <X>.w <Y>.w <IP>.l <port>.w R 0092 <map name>.16B <X>.w <Y>.w <IP>.l <port>.w
鯖間移動 鯖間移動
R 0093 R 0093
8月中に1回だけ観測。 8月中に1回だけ観測。何もしない。
S 0094 <ID>.l S 0094 <ID>.l
IDのキャラ名等要求。0095か0195の返答があるはず IDのキャラ名等要求。0095か0195の返答があるはず
R 0095 <ID>.l <nick>.24B R 0095 <ID>.l <nick>.24B
@ -195,8 +183,8 @@ R 0098 <type>.B
type=00 wis送信成功 type=00 wis送信成功
type=01 wis相手がloginしてない? type=01 wis相手がloginしてない?
type=02 wis相手からignoreされてる? type=02 wis相手からignoreされてる?
S 0099 S 0099 <len>.w <message>.?B
神の声送信 GMコマンド/b,/bb,/nbにて発行。サーバー内ブロードキャスト
R 009a <len>.w <message>.?B R 009a <len>.w <message>.?B
GMからの天の声 GMからの天の声
S 009b <head dir>.w <dir>.B S 009b <head dir>.w <dir>.B
@ -212,13 +200,18 @@ R 009e <ID>.l <item ID>.w <identify flag>.B <X>.w <Y>.w <subX>.B <subY>.B <amoun
S 009f <ID>.l S 009f <ID>.l
IDの床アイテムを拾う IDの床アイテムを拾う
R 00a0 <index>.w <amount>.w <item ID>.w <identify flag>.B <attribute?>.B <refine>.B <card>.4w <equip type>.w <type>.B <fail>.B R 00a0 <index>.w <amount>.w <item ID>.w <identify flag>.B <attribute?>.B <refine>.B <card>.4w <equip type>.w <type>.B <fail>.B
fail=02 取得失敗? fail=00 獲得
fail=01 アイテムを受け取る事ができません
fail=02 重量オーバー
fail=03 獲得?
fail=04 受け取るアイテムの種類数オーバー
fail=05 3万個以上持てない
fail=06 ルート権無し。取得失敗 fail=06 ルート権無し。取得失敗
R 00a1 <ID>.l R 00a1 <ID>.l
IDの床アイテム消去 IDの床アイテム消去
S 00a2 <index>.w <amount>.w S 00a2 <index>.w <amount>.w
所有アイテムを落す 所有アイテムを落す
R 00a3 <len>.w {<index>.w <item ID>.w <type>.B <identify flag>.B <amount>.w ?.2B}.10B* R 00a3 <len>.w {<index>.w <item ID>.w <type>.B <identify flag>.B <amount>.w ?.2B(矢の場合0x8000?)}.10B*
所有消耗品&収集品リスト 所有消耗品&収集品リスト
R 00a4 <len>.w {<index>.w <item ID>.w <type>.B <identify flag>.B <equip type>.w <equip point>.w <attribute?>.B <refine>.B <card>.4w}.20B* R 00a4 <len>.w {<index>.w <item ID>.w <type>.B <identify flag>.B <equip type>.w <equip point>.w <attribute?>.B <refine>.B <card>.4w}.20B*
所有装備リスト 所有装備リスト
@ -243,7 +236,7 @@ R 00af <index>.w <amount>.w
アイテム数減少。amount個だけ減らす アイテム数減少。amount個だけ減らす
R 00b0 <type>.w <val>.l R 00b0 <type>.w <val>.l
色々な能力値の更新。以下type:対応する数値を列挙 色々な能力値の更新。以下type:対応する数値を列挙
0000:speed 0003:悪行値 0004:マナーポイント 0005:HP 0006:MaxHP 0000:speed 0003:悪行値 0004:マナーポイント(会話禁止) 0005:HP 0006:MaxHP
0007:SP 0008:MaxSP 0009:ステータスポイント 000b:ベースレベル 0007:SP 0008:MaxSP 0009:ステータスポイント 000b:ベースレベル
000c:スキルポイント 0018:重量(表示されてる数字の10倍) 000c:スキルポイント 0018:重量(表示されてる数字の10倍)
0019:最大重量(表示されてる数字の10倍) 0019:最大重量(表示されてる数字の10倍)
@ -252,6 +245,7 @@ R 00b0 <type>.w <val>.l
0031:HIT 0032:FLEE前 0033:FLEE後 0034:クリティカル 0031:HIT 0032:FLEE前 0033:FLEE後 0034:クリティカル
0035:ASPD(2ms単位の時間?) 0037:ジョブレベル 0035:ASPD(2ms単位の時間?) 0037:ジョブレベル
0082:謎 ATK後と同じ数字? 0082:謎 ATK後と同じ数字?
type 0004の時のvalは0-解除までの時間
R 00b1 <type>.w <val>.l R 00b1 <type>.w <val>.l
色々な能力値の更新。以下type:対応する数値を列挙 色々な能力値の更新。以下type:対応する数値を列挙
0001:ベース側経験値 0002:ジョブ側経験値 0014:zeny 0001:ベース側経験値 0002:ジョブ側経験値 0014:zeny
@ -275,13 +269,15 @@ S 00b8 <ID>.l <select>.B
IDのNPCの会話の選択。各項目に順に1が振られる。ffでキャンセル? IDのNPCの会話の選択。各項目に順に1が振られる。ffでキャンセル?
S 00b9 <ID>.l S 00b9 <ID>.l
IDのNPCとの会話。NEXTボタンを押した IDのNPCとの会話。NEXTボタンを押した
S 00ba
未調査
S 00bb <type>.w <amount>.B S 00bb <type>.w <amount>.B
ステータスup要求。typeは000dから0012が順にSTR,AGI,VIT,INT,DEX,LUKに対応 ステータスup要求。typeは000dから0012が順にSTR,AGI,VIT,INT,DEX,LUKに対応
R 00bc <type>.w <fail>.B <val>.B R 00bc <type>.w <fail>.B <val>.B
ステータスup応答。fail=01なら成功。typeは00bbと同じ。valは上った後の数字 ステータスup応答。fail=01なら成功。typeは00bbと同じ。valは上った後の数字
失敗例は見た事無いので謎。ステータスポイントが足りない状態で 失敗例は見た事無いので謎。ステータスポイントが足りない状態で
00bbを発行できるクライアントが有れば、fail=00になるのではないかと予想 00bbを発行できるクライアントが有れば、fail=00になるのではないかと予想
R 00bd <status point>.w <STR>.B <STRupP>.B <AGI>.B <AGIupP>.B <VIT>.B <VITupP>.B <INT>.B <INTupP>.B <DEX>.B <DEXupP>.B <LUK>.B <LUKupP>.B <ATK>.w <ATKbonus>.w <MATKmax>.w <MATKmin>.w <DEF>.w <DEFbonus>.w <MDEF>.w <MDEFbonus>.w <HIT>.w <FLEE>.w <FLEEbonus>.w <critical>.w ?.w R 00bd <status point>.w <STR>.B <STRupP>.B <AGI>.B <AGIupP>.B <VIT>.B <VITupP>.B <INT>.B <INTupP>.B <DEX>.B <DEXupP>.B <LUK>.B <LUKupP>.B <ATK>.w <ATKbonus>.w <MATKmax>.w <MATKmin>.w <DEF>.w <DEFbonus>.w <MDEF>.w <MDEFbonus>.w <HIT>.w <FLEE>.w <FLEEbonus>.w <critical>.w <karma?>.w <manner?>.w
まとめてステータス情報を送るパケット まとめてステータス情報を送るパケット
R 00be <type>.w <val>.B R 00be <type>.w <val>.B
必要ステータスポイント更新パケット。typeは00200025が順にSTRLUKに対応 必要ステータスポイント更新パケット。typeは00200025が順にSTRLUKに対応
@ -315,14 +311,22 @@ S 00c8 <len>.w {<amount>.w <item ID>.w}.4B*
S 00c9 <len>.w {<index>.w <amount>.w}.4B* S 00c9 <len>.w {<index>.w <amount>.w}.4B*
NPCのお店に売る NPCのお店に売る
R 00ca <type>.B R 00ca <type>.B
NPCから購入終了。type=00成功 NPCから購入終了。
type=00 成功
type=01 お金が足りません
type=02 重量オーバーです
type=03 アイテム最大種類数を超過しました
R 00cb <type>.B R 00cb <type>.B
NPCへ売却終了。type=00成功 NPCへ売却終了。
type=00 成功
type=01 取引に失敗しました
S 00cc <ID>.l S 00cc <ID>.l
GM用右クリックメニュー「name使用者強制終了」使用 GM用右クリックメニュー「name使用者強制終了」使用
R 00cd <ID>.l R 00cd <ID>.l
GM用右クリックメニュー「name使用者強制終了」の応答 GM用右クリックメニュー「name使用者強制終了」の応答
<ID>が0の場合は失敗と表示。(このパケットはただの応答です。接続終了の機能はありません。) <ID>が0の場合は失敗と表示。(このパケットはただの応答です。接続終了の機能はありません。)
S 00ce
GMコマンド/killallにて発行。全員殺害(@doom同等)
S 00cf <nick>.24B <type>.B S 00cf <nick>.24B <type>.B
type=00 nickからの発言受け付け拒否 (/ex nick) type=00 nickからの発言受け付け拒否 (/ex nick)
type=01 nickからの発言受け付け許可 (/in nick) type=01 nickからの発言受け付け許可 (/in nick)
@ -330,15 +334,26 @@ S 00d0 <type>len.B
type=00 全ての発言受け付け拒否 (/exall) type=00 全ての発言受け付け拒否 (/exall)
type=01 全ての発言受け付け許可 (/inall) type=01 全ての発言受け付け許可 (/inall)
R 00d1 <type>.B <fail>.B R 00d1 <type>.B <fail>.B
fail=00 発言受け付け拒否成功 type=00 発言受け付け拒否
fail=01 発言受け付け拒否失敗 type=01 発言受け付け許可
fail=00 成功
fail=01 失敗
R 00d2 <type>.B <fail>.B R 00d2 <type>.B <fail>.B
fail=00 全発言受け付け拒否成功 type=00 全ての発言受け付け拒否
fail=01 全発言受け付け拒否失敗 type=01 全ての発言受け付け許可
fail=00 成功
fail=01 失敗?
S 00d3
Wis拒否リスト要求
R 00d4 <len>.w <nick>.24B*
Wis拒否リスト応答
S 00d5 <len>.w <limit>.w <pub>.B <passwd>.8B <title>.?B S 00d5 <len>.w <limit>.w <pub>.B <passwd>.8B <title>.?B
チャット立て。ここからチャット関係が続くけど調べが甘いので補完よろ チャット立て。ここからチャット関係が続くけど調べが甘いので補完よろ
R 00d6 <fail>.B R 00d6 <fail>.B
チャット立て応答 チャット立て応答
fail=00 成功
fail=01 チャットルームの数が規定数を超過しました
fail=02 同じ名前のチャットルームがあります
R 00d7 <len>.w <owner ID>.l <chat ID>.l <limit>.w <users>.w <pub>.B <title>.?B R 00d7 <len>.w <owner ID>.l <chat ID>.l <limit>.w <users>.w <pub>.B <title>.?B
画面内チャット情報 画面内チャット情報
R 00d8 <chat ID>.l R 00d8 <chat ID>.l
@ -347,12 +362,22 @@ S 00d9 <chat ID>.l <passwd>.8B
チャット参加要請 チャット参加要請
R 00da <fail>.B R 00da <fail>.B
チャット参加失敗 チャット参加失敗
fail=00 人数超過でチャットルームに入ることができません
fail=01 パスワードが違います
fail=02 強制退場させられたチャットです
fail=03 (なし)
fail=04 お金が足りません
fail=05 レベルが足りません
fail=06 レベルが高すぎます
fail=07 適正職業ではありません
R 00db <len>.w <chat ID>.l {<index>.l <nick>.24B}.28B* R 00db <len>.w <chat ID>.l {<index>.l <nick>.24B}.28B*
チャット参加者リスト チャット参加者リスト
R 00dc <users>.w <nick>.24B R 00dc <users>.w <nick>.24B
チャットへの参加者追加(?) チャットへの参加者追加(?)
R 00dd <index>.w <nick>.24B <fail>.B R 00dd <index>.w <nick>.24B <fail>.B
チャットから参加者抜け チャットから参加者抜け
fail=00 抜けました通知
fail=01 強制退場させました通知
S 00de <len>.w <limit>.w <pub>.B <passwd>.8B <title>.?B S 00de <len>.w <limit>.w <pub>.B <passwd>.8B <title>.?B
チャットステータス変更 チャットステータス変更
R 00df <len>.w <owner ID>.l <chat ID>.l <limit>.w <users>.w <pub>.B <title>.?B R 00df <len>.w <owner ID>.l <chat ID>.l <limit>.w <users>.w <pub>.B <title>.?B
@ -397,6 +422,8 @@ S 00ef
取り引き許諾(trade押し) 取り引き許諾(trade押し)
R 00f0 R 00f0
取り引き完了 取り引き完了
R 00f1
未調査
R 00f2 <num>.w <limit>.w R 00f2 <num>.w <limit>.w
カプラさん許容アイテム個数&現状 カプラさん許容アイテム個数&現状
S 00f3 <index>.w <amount>.l S 00f3 <index>.w <amount>.l
@ -426,6 +453,7 @@ R 00fd <nick>.24B <fail>.B
fail=00 相手は既にパーティに入っていた fail=00 相手は既にパーティに入っていた
fail=01 相手に拒否された fail=01 相手に拒否された
fail=02 勧誘成功 fail=02 勧誘成功
fail=04 相手の別キャラが既にパーティに入っていた
R 00fe <ID>.l <party name>.24B R 00fe <ID>.l <party name>.24B
パーティに誘われた パーティに誘われた
S 00ff <ID>.l <fail>.l S 00ff <ID>.l <fail>.l
@ -436,6 +464,8 @@ R 0101 <exp>.w <item?>.w
パーティ設定現状? exp=2の場合は公平配分設定失敗? パーティ設定現状? exp=2の場合は公平配分設定失敗?
S 0102 <exp>.w <item?>.w S 0102 <exp>.w <item?>.w
パーティ設定変更 パーティ設定変更
S 0103 <ID>.l <nick>.24B
パーティ除名要求
R 0104 <ID>.l ?.l <X>.w <Y>.w <offline>.B <party name>.24B <nick>.24B <map name>.16B R 0104 <ID>.l ?.l <X>.w <Y>.w <offline>.B <party name>.24B <nick>.24B <map name>.16B
パーティ1人分情報更新 パーティ1人分情報更新
R 0105 <ID>.l <nick>.24B <fail>.B R 0105 <ID>.l <nick>.24B <fail>.B
@ -454,6 +484,8 @@ R 010b <exp>.l
MVP経験値取得 MVP経験値取得
R 010c <ID>.l R 010c <ID>.l
MVPキャラ表示 MVPキャラ表示
R 010d
MVPになりましたが、重量オーバーでMVPアイテムがの獲得ができません
R 010e <skill ID>.w <lv>.w <sp>.w <range>.w <up>.B R 010e <skill ID>.w <lv>.w <sp>.w <range>.w <up>.B
スキル情報更新。spは未使用? スキル情報更新。spは未使用?
R 010f <len>.w {<skill ID>.w <target type>.w ?.w <lv>.w <sp>.w <range>.w <skill name>.24B <up>.B}.37B* R 010f <len>.w {<skill ID>.w <target type>.w ?.w <lv>.w <sp>.w <range>.w <skill name>.24B <up>.B}.37B*
@ -516,8 +548,9 @@ R 011c <skill ID>.w <map1>.16B <map2>.16B <map3>.16B <map4>.16B
S 011d S 011d
現在居る所をメモ要求 現在居る所をメモ要求
R 011e <fail>.B R 011e <fail>.B
fail=00 メモ成功 fail=00 ワープ位置としてセーブしました
fail=01 メモ失敗 fail=01 スキルレベルが足りません
fail=02 ワープ関連スキルがありません
R 011f <dst ID>.l <src ID>.l <X>.w <Y>.w <type>.B <fail>.B R 011f <dst ID>.l <src ID>.l <X>.w <Y>.w <type>.B <fail>.B
スキル効能地作成 スキル効能地作成
type 7e:SW 7f:火壁 80:ポタ発動中 81:ポタ発動前 83:サンク 85:フニューマ type 7e:SW 7f:火壁 80:ポタ発動中 81:ポタ発動前 83:サンク 85:フニューマ
@ -544,6 +577,10 @@ S 0128 <index>.w <amount>.l
カプラさんからカートへアイテムを移す カプラさんからカートへアイテムを移す
S 0129 <index>.w <amount>.l S 0129 <index>.w <amount>.l
カートからカプラさんへアイテムを移す カートからカプラさんへアイテムを移す
S 012a
付属品(鷹,ペコ,カート)をはずす
R 012b
未調査
R 012c <fail>.B R 012c <fail>.B
fail=00 「重量オーバーです。」 fail=00 「重量オーバーです。」
fail=01 「アイテム最大種類数を超過しました。」 fail=01 「アイテム最大種類数を超過しました。」
@ -553,6 +590,7 @@ S 012e
露店閉鎖 露店閉鎖
S 012f <len>.w <message>.80B {<index>.w <amount>.w <value>.l}.8B* S 012f <len>.w <message>.80B {<index>.w <amount>.w <value>.l}.8B*
露店開設、露店名&アイテム,値段リスト 露店開設、露店名&アイテム,値段リスト
現在未使用?
S 0130 <ID>.l S 0130 <ID>.l
露店アイテムリスト要求 露店アイテムリスト要求
R 0131 <ID>.l <message>.80B R 0131 <ID>.l <message>.80B
@ -565,8 +603,12 @@ S 0134 <len>.w <ID>.l {<amount>.w <index>.w}.4B*
露店アイテム購入 露店アイテム購入
R 0135 <index>.w <amount>.w <fail>.B R 0135 <index>.w <amount>.w <fail>.B
露店アイテム購入失敗。 露店アイテム購入失敗。
fail=1 「お金が足りません。」 fail=00 (なし)
fail=2 「重量オーバーです。」 fail=01 %s 買う失敗 お金が足りません
fail=02 %s 買う失敗 重量オーバーです
fail=03 (なし)
fail=04 %s 買い物失敗在庫不足、現在在庫 amount 個
fail=05 アイテム交換中に売買不可
R 0136 <len>.w <ID>.l {<value>.l <index>.w <amount>.w <type>.B <item ID>.w <identify flag>.B <attribute?>.B <refine>.B <card>.4w}.22B* R 0136 <len>.w <ID>.l {<value>.l <index>.w <amount>.w <type>.B <item ID>.w <identify flag>.B <attribute?>.B <refine>.B <card>.4w}.22B*
露店開設成功 露店開設成功
R 0137 <index>.w <amount>.w R 0137 <index>.w <amount>.w
@ -577,15 +619,16 @@ R 0139 <ID>.l <X>.w <Y>.w <X2>.w <Y2>.w <range>.w
R 013a <val>.w R 013a <val>.w
攻撃射程 攻撃射程
R 013b <type>.w R 013b <type>.w
各種メッセージ表示。3=矢が装備できました 各種メッセージ表示。
type=00 弓矢を装備して下さい
type=01 重量オーバーで攻撃とスキルを使用できません(青色)
type=02 重量オーバーでスキルを使用できません(青色)
type=03 弓矢を装備しました
R 013c <ID>.w R 013c <ID>.w
装備された矢のItemID。0で、未装備状態。 装備された矢のItemID。0で、未装備状態。
R 013d <type>.w <val>.w R 013d <type>.w <val>.w
HP回復スキル/SP回復スキルによる回復 HP回復スキル/SP回復スキルによる回復
type=5ならHP type=7ならSP type=5ならHP type=7ならSP
R 013c <index>.w
装備している矢
R 013e <src ID>.l <dst ID>.l <X>.w <Y>.w <lv?>.w ?.w <wait>.l R 013e <src ID>.l <dst ID>.l <X>.w <Y>.w <lv?>.w ?.w <wait>.l
スキル詠唱中。PC/NPCが相手の場合は(X,Y)は0。場所がターゲットの場合はdst IDは0になる スキル詠唱中。PC/NPCが相手の場合は(X,Y)は0。場所がターゲットの場合はdst IDは0になる
@ -594,6 +637,10 @@ R 013e <src ID>.l <dst ID>.l <X>.w <Y>.w <lv?>.w ?.w <wait>.l
将来的に、詠唱中のエフェクトが属性で変わるのかと。 将来的に、詠唱中のエフェクトが属性で変わるのかと。
waitはms単位かな? waitはms単位かな?
S 013f <Name>.24B
GMコマンド/monsterと/itemにて発行。指定のMob召還(Item名ならItem作成)
S 0140 <MapName>.16B <x>.w <y>.w
GMコマンド/mm(=/mapmove)にて発行。指定のMAP、座標へテレポート
R 0141 <type>.l <base>.l <bonus>.l R 0141 <type>.l <base>.l <bonus>.l
ステータス情報。typeは0dから12が順にSTR,AGI,VIT,INT,DEX,LUKに対応 ステータス情報。typeは0dから12が順にSTR,AGI,VIT,INT,DEX,LUKに対応
base+bonusと表示される base+bonusと表示される
@ -607,8 +654,8 @@ R 0144 <ID>.l <type>.l <X>.l <Y>.l <point ID>.B <color>.3B ?.B
type=2 アイコンを消去 type=2 アイコンを消去
R 0145 <file name>.16B <type>.B R 0145 <file name>.16B <type>.B
(今の所)カプラさんcutin表示 (今の所)カプラさんcutin表示
type=02 表示 type=0x02 表示
type=ff 消去 type=0xff 消去
S 0146 <ID>.l S 0146 <ID>.l
IDのNPCとの会話。CLOSEボタンを押した。ack無しにNPCメッセージウィンドを同時に閉じる IDのNPCとの会話。CLOSEボタンを押した。ack無しにNPCメッセージウィンドを同時に閉じる
R 0147 <skill ID>.w <target type>.w ?.w <lv>.w <sp>.w <range>.w <skill name>.24B <up>.B R 0147 <skill ID>.w <target type>.w ?.w <lv>.w <sp>.w <range>.w <skill name>.24B <up>.B
@ -616,22 +663,28 @@ R 0147 <skill ID>.w <target type>.w ?.w <lv>.w <sp>.w <range>.w <skill name>.24B
R 0148 <ID>.l R 0148 <ID>.l
リザレクションの相手決め? @ β1 リザレクションの相手決め? @ β1
S 0149 <ID>.l <type>.B <time>.w S 0149 <ID>.l <type>.B <time>.w
IDにチャット禁止時間を付加 type=0 マイナス type=1 プラス GM用右クリックメニュー「チャット禁止時間を下げる解ける」使用 → type=00
tymeは分単位 GM用右クリックメニュー「チャット禁止時間を上げる掛ける」使用 → type=01
喋りすぎでクライアントから送信 → type=02
timeは分単位です
R 014a <fail>.l R 014a <fail>.l
マナーポイントを与えた結果。fail=0 成功 fail=1 失敗 マナーポイントを与えた結果。
fail=0 マナーポイントを送りました。
fail=3 ノーマナー行為により運営者からチャットを禁止されました。
fail=4 連続発言により自動的にチャットが禁止されました。
R 014b <type>.B <nick>.24B R 014b <type>.B <nick>.24B
マナーポイントを貰った。type=00 プラス type=01 マイナス マナーポイントを貰った。type=00 プラス type=01 マイナス
R 014C <len>.w (<type>.l <guildID>.l <guild name>.24B).* アマツ以降?会話禁止状態になった nick=自分の名前 type=1のみ
R 014c <len>.w (<type>.l <guildID>.l <guild name>.24B).*
同盟・敵対ギルド表示 同盟・敵対ギルド表示
type=0 同盟 type=0 同盟
type=1 敵対 type=1 敵対
S 014D S 014d
ギルド情報表示開始? ギルド情報表示開始?
R 014E <type?>.l R 014e <type?>.l
type=0x57 一般ギルド団員 type=0x57 一般ギルド団員
type=0xD7 ギルドマスター type=0xD7 ギルドマスター
S 014F <page>.l S 014f <page>.l
ギルド表示タブ送信 ギルド表示タブ送信
R 0150 <guildID>.l <guildLv>.l <接続数>.l <定員>.l <Avl.lvl>.l <経験値>.l <next_exp>.l <上納ポイント>.l <性向左右VW>.l <性向上下RF>.l <人数?>.l <guild name>.24B <guild master>.24B <本拠地>.16B R 0150 <guildID>.l <guildLv>.l <接続数>.l <定員>.l <Avl.lvl>.l <経験値>.l <next_exp>.l <上納ポイント>.l <性向左右VW>.l <性向上下RF>.l <人数?>.l <guild name>.24B <guild master>.24B <本拠地>.16B
ギルド情報 ギルド情報
@ -647,20 +700,29 @@ S 0155 <len>.w {<accID>.l <charaID>.l <index>.l}.12B*
役職変更 役職変更
R 0156 <len>.w {<accID>.l <charaID>.l <index>.l}.12B* R 0156 <len>.w {<accID>.l <charaID>.l <index>.l}.12B*
役職変更通知 役職変更通知
S 0157 <account_id>.l
ギルドウィンドのプレイヤーの情報要求?
未使用
R 0158
0157の返答
未使用
S 0159 <guildID>.l <accID>.l <charID>.l <mess>.40B S 0159 <guildID>.l <accID>.l <charID>.l <mess>.40B
ギルド脱退送信 ギルド脱退送信
R 015A <nic>.24B <mess>.40B R 015a <nic>.24B <mess>.40B
ギルド脱退(全員)受信 ギルド脱退(全員)受信
S 015B <guildID>.l <accID>.l <charID>.l <mess>.40B S 015b <guildID>.l <accID>.l <charID>.l <mess>.40B
ギルド追放送信 ギルド追放送信
R 015C <nick>.24B <mess>.40B <アカウントID>.24B R 015c <nick>.24B <mess>.40B <アカウントID>.24B
ギルド追放(全員)受信 ギルド追放(全員)受信
S 015D <guild name>.24B <?>.16B S 015d <guild name>.24B <?>.16B
ギルド解散 ギルド解散
R 015E <fail>.l R 015e <fail>.l
ギルド解散正否通知 ギルド解散正否通知
0x00成功 fail=0 ; 成功
0x01住民登録番号不一致 fail=1 : 住民登録番号不一致
fail=2 : ギルドメンバーが存在するため、ギルドの解体ができません。
R 015f <str>.40B
ギルド解体理由、未使用?
R 0160 <len>.w {<index>.l <mode>.l <index>.l <exp_mode>.l}.16B R 0160 <len>.w {<index>.l <mode>.l <index>.l <exp_mode>.l}.16B
職位情報 職位情報
S 0161 <len>.w {<index>.l <mode>.l <index>.l <exp_mode>.l <nickname>.24B}.40B* S 0161 <len>.w {<index>.l <mode>.l <index>.l <exp_mode>.l <nickname>.24B}.40B*
@ -687,9 +749,9 @@ R 0169 <type>.B
type = 1 拒否された type = 1 拒否された
type = 2 加入した type = 2 加入した
type = 3 定員を超過 type = 3 定員を超過
R 016A <guild ID>.l <guild name>.24B R 016a <guild ID>.l <guild name>.24B
ギルド勧誘された ギルド勧誘された
S 016B <guild ID>.l <type>.l S 016b <guild ID>.l <type>.l
ギルド勧誘返信 ギルド勧誘返信
type=0 拒否する type=0 拒否する
type=1 許諾する type=1 許諾する
@ -698,9 +760,9 @@ R 016c <guild ID>.l <emblem ID>.l <mode>.l ?.5B <guild name>.24B
mode=自分の所属職位のmode mode=自分の所属職位のmode
R 016d <ID>.l <charactor ID>.l <online>.l R 016d <ID>.l <charactor ID>.l <online>.l
ギルドメンバがloginした抜けた等 ギルドメンバがloginした抜けた等
S 016E <guildID>.l <mess1>.60B <mess2>.120B S 016e <guildID>.l <mess1>.60B <mess2>.120B
ギルド告知設定 ギルド告知設定
R 016F <mess1>.60B <mess2>.120B R 016f <mess1>.60B <mess2>.120B
ギルド告知 ギルド告知
S 0170 <TargetAccID>.l <sourceAccID>.l <myCharactorID>.l S 0170 <TargetAccID>.l <sourceAccID>.l <myCharactorID>.l
同盟要請勧誘 同盟要請勧誘
@ -718,19 +780,23 @@ R 0173 <type>.B
type = 4 自分のギルドの同盟ギルド数が超過 type = 4 自分のギルドの同盟ギルド数が超過
R 0174 <len>.w {<index>.l <mode>.l <index>.l <exp_mode>.l <nickname>.24B}.40B* R 0174 <len>.w {<index>.l <mode>.l <index>.l <exp_mode>.l <nickname>.24B}.40B*
職位変更通知 職位変更通知
S 0175 <?>.l
未調査
S 0176
未調査
R 0177 <len>.w <index>.w* R 0177 <len>.w <index>.w*
鑑定可能アイテムリスト 鑑定可能アイテムリスト
S 0178 <index>.w S 0178 <index>.w
アイテム鑑定 アイテム鑑定
R 0179 <index>.w <fail>.B R 0179 <index>.w <fail>.B
アイテム鑑定結果。fail=00で成功。fail=01ってあるのか? アイテム鑑定結果。fail=00で成功。fail=01ってあるのか?
S 017A <index>.w S 017a <index>.w
カードWクリック カードWクリック
R 017B <len>.w {<index>.w}* R 017b <len>.w {<index>.w}*
カード挿入できるアイテムIndex番号 カード挿入できるアイテムIndex番号
S 017C <SrcIndex>.w <DescIndex>.w S 017c <SrcIndex>.w <DescIndex>.w
Src をDescに突っ込む Src をDescに突っ込む
R 017D <DescIndex>.w <SrcIndex>.w <fail>.b R 017d <DescIndex>.w <SrcIndex>.w <fail>.b
Src をDescに突っ込み<fail> 0=成功 1=失敗? Src をDescに突っ込み<fail> 0=成功 1=失敗?
S 017e <len>.w <message>.?B S 017e <len>.w <message>.?B
ギルド内メッセージ発言 ギルド内メッセージ発言
@ -751,18 +817,20 @@ R 0184 <guild_id>.l <type>.l
ギルド関係解消通知 ギルド関係解消通知
R 0185 <flag>.l <guild_id>.l <guild_name>.24B R 0185 <flag>.l <guild_id>.l <guild_name>.24B
ギルド関係追加 flag=0 同盟/ 1 敵対 ギルド関係追加 flag=0 同盟/ 1 敵対
S 0186 <account ID>.l
alive信号送信?
R 0187 <account ID>.l R 0187 <account ID>.l
alive信号? alive信号受信?
R 0188 <fail?>.w <index>.w <val>.w R 0188 <fail?>.w <index>.w <val>.w
武器精錬。結果+val武器に 武器精錬。結果+val武器に
R 0189 <fail?>.w R 0189 <fail?>.w
謎。テレポ(ワープポータルmemo)失敗? 謎。テレポ(ワープポータルmemo)失敗?
1 memo禁止地域 1 memo禁止地域
S 018a ?.w S 018a <0固定>.w
ゲーム終了 ゲーム終了
R 018b <fail>.w R 018b <fail>.w
ゲーム終了/キャラセレ応答。fail=0成功。fail=1失敗? ゲーム終了/キャラセレ応答。fail=0成功。fail=1失敗?
R 018C <MonsID>.w <等級>.w <大小>.w <生命値>.w <?>.w <防御力>.w <種族>.w <魔法防御力>.w <属性>.w <魔法相性属性>.9b R 018c <MonsID>.w <等級>.w <大小>.w <生命値>.w <?>.w <防御力>.w <種族>.w <魔法防御力>.w <属性>.w <魔法相性属性>.9b
wizの敵のセンス結果 wizの敵のセンス結果
0 小型 0 小型
1 中型 1 中型
@ -876,6 +944,9 @@ S 0197 <type>.w
type=0 /resetstate type=0 /resetstate
type=1 /resetskill type=1 /resetskill
効能は無し? 効能は無し?
S 0198 <?>.w <?>.w <Flag>.w
GMコマンド/cmt(=/changemaptype)にて発行。おそらく、MAP属性変更コマンド
Flagのみ1か0
R 0199 <type>.w R 0199 <type>.w
type=1 pvpモード開始? type=1 pvpモード開始?
type=3 gvgモード開始? type=3 gvgモード開始?
@ -887,15 +958,10 @@ R 019b <ID>.l <type>.l
type=1 job lvup? type=1 job lvup?
type=2 武器精錬失敗 type=2 武器精錬失敗
type=3 武器精錬成功 type=3 武器精錬成功
S 019c <len>.w <message>.?B
GMコマンド/nlb,/lbにて発行。MAP内ブロードキャスト
R 019d <?>.4B R 019d <?>.4B
GMコマンド/hide GMコマンド/hideにて発行。
S 0149 <ID>.l <type>.B <time>.w
GM用右クリックメニュー「チャット禁止時間を下げる解ける」使用 → type=00
GM用右クリックメニュー「チャット禁止時間を上げる掛ける」使用 → type=01
timeは分単位です確か
R 019e R 019e
捕獲モンスター決め 捕獲モンスター決め
S 019f <ID>.l S 019f <ID>.l
@ -933,6 +999,8 @@ R 01a6 <len>.w <index>.w*
ペットの卵リスト ペットの卵リスト
S 01a7 <index>.w S 01a7 <index>.w
ペットの卵リストが選択された ペットの卵リストが選択された
S 01a8 <?>.w
未調査
S 01a9 <emotion>.l S 01a9 <emotion>.l
ペットエモーション送信 ペットエモーション送信
R 01aa <ID>.l <emotion>.l R 01aa <ID>.l <emotion>.l
@ -940,6 +1008,10 @@ R 01aa <ID>.l <emotion>.l
<emotion> <emotion>
33以下のときエモーション 33以下のときエモーション
34以上のとき発言テーブル 34以上のとき発言テーブル
R 01ab <ID>.l <type>.w <val>.l
00b0の他人に見せるバージョン
0004:マナーポイント(会話禁止)
type 0004の時のvalは0-解除までの時間
R 01ac <object id>.l R 01ac <object id>.l
アンクルの発動(≠設置)時のみ毎回出現(機能は謎) アンクルの発動(≠設置)時のみ毎回出現(機能は謎)
R 01ad <len>.l <item>.w R 01ad <len>.l <item>.w
@ -952,17 +1024,65 @@ S 01af <type>.w
R 01b0 <monster id>.l <?>.b <new monster code>.l R 01b0 <monster id>.l <?>.b <new monster code>.l
油のクラスチェンジ 油のクラスチェンジ
<new monster code>はチェンジ後のコード(1001)をdwordで <new monster code>はチェンジ後のコード(1001)をdwordで
R 01b1 <type>.B <tick>.l
画面上部にPvPで使うタイマーが出現、<tick>の単位は秒
type=0 : 60進数時間表示
type=1 : [49:17:02:47]から<tick>秒引いた時間から60進数タイマーカウントアップ
type=2 : [49:17:02:47]から<tick>秒引いた時間から60進数タイマーカウントダウン
type=3 : <tick>の上位2byteが0のとき、<tick>秒カウントダウン
099までしか表示されないがカウントはループして継続する、カウント終了したら表示消える
上位2byteが0以外なら99が表示されたまま消えない
S 01b2 <len>.w <message>.80B <flag>.B {<index>.w <amount>.w <value>.l}.8B* S 01b2 <len>.w <message>.80B <flag>.B {<index>.w <amount>.w <value>.l}.8B*
露店開設 露店開設
flag 0=キャンセル , 1=オープン flag 0=キャンセル , 1=オープン
R 01b3 <filename>.64B <type>.B R 01b3 <filename>.64B <type>.B
R 0145の上位互換 画像表示(R 0145の上位互換)
R 01B6 <guildID>.l <guildLv>.l <connum>.l <定員>.l <Avl.lvl>.l <now_exp>.l <next_exp>.l <上納ポイント>.l <性向F-V>.l <性向R-W>.l <members>.l <guild name>.24B <guild master>.24B <agit?>.20B type 0:左
1:中央
2:右(カプラ)
3:バーつき移動可能×ボタン付
4:バーなし移動可能×ボタン付(髪型カタログ)
255:非表示
R 01b4 <?>.l <?>.l <?>.w
何もしない
R 01b6 <guildID>.l <guildLv>.l <connum>.l <定員>.l <Avl.lvl>.l <now_exp>.l <next_exp>.l <上納ポイント>.l <性向F-V>.l <性向R-W>.l <members>.l <guild name>.24B <guild master>.24B <agit?>.20B
ギルド情報 ギルド情報
R 01b8 <type>.B
ギルド共用銀行システム?未実装?
type=1 : 成功?無反応
type=2 : ギルドZeny関連作業が失敗しました。
type=3 : ギルドが所持できる最大金額を超過したため作業が失敗しました。
type=4 : お金が足りないか、所持できる最大金額を超過しました。
他は無視
R 01b9 <ID>.I R 01b9 <ID>.I
被ダメ等によるIDの詠唱中断 被ダメ等によるIDの詠唱中断
S 01ba <CharName>.24B
GMコマンド/removeにて発行。account_nameへ飛ぶコマンド
S 01bb <CharName>.24B
GMコマンド/shiftにて発行。char_nameへ飛ぶコマンド(@jumpto)
S 01bc <CharName>.24B
GMコマンド/recallにて発行。account_name呼び出しコマンド
S 01bd <CharName>.24B
GMコマンド/summonにて発行。char_name呼び出しコマンド(@recall)
S 01c0
GMコマンド/ソ莖ンにて発行。何かの要求パケ
R 01c1 <type>.l <?>.8B
白の文字化け、不明
バイナリに記述された文字列が吐き出されてるようなので現在未使用?
type=0x0064
type=0x03e8
type=0x2710
R 01c2
何もしないようにフラグが規定されている
R 01c3 <len>.w <color>.l <font?>.w <size?>.w <?>.l <message>.?B
GMからの天の声R 009aのマルチカラー版
R 01c4 <index>.w <amount>.l <itemID>.w <item data>.12B R 01c4 <index>.w <amount>.l <itemID>.w <item data>.12B
カプラ倉庫アイテム カプラ倉庫アイテム
R 01c5 <index>.w <amount>.l <itemID>.w <item data>.12B
カプラ倉庫アイテム?
R 01c8 <index>.w <item ID>.w <ID>.l <amount left>.w <type>.B R 01c8 <index>.w <item ID>.w <ID>.l <amount left>.w <type>.B
アイテム使用応答。(00a8の上位バーション) アイテム使用応答。(00a8の上位バーション)
type=00の場合使用失敗? amountもゴミの模様 type=00の場合使用失敗? amountもゴミの模様
@ -995,7 +1115,6 @@ R 01c9 <dst ID>.l <src ID>.l <X>.w <Y>.w <type>.B <fail>.B ?.81b
0xB4 バジリカ、0xB5 エフェクトなし? 0xB4 バジリカ、0xB5 エフェクトなし?
0xB6 黒い×が立体的に浮かび上がる 0xB6 黒い×が立体的に浮かび上がる
0xB7 クモの巣、0xB8 エフェクトなし? 0xB7 クモの巣、0xB8 エフェクトなし?
他情報求む 他情報求む
?.81bは謎。 ?.81bは謎。
R 01cd (<sid>.l)x7 R 01cd (<sid>.l)x7
@ -1014,10 +1133,15 @@ R 01d1 <monk id>.l <target monster id>.l <bool>.l
R 01d2 <id>.l <delay>.l R 01d2 <id>.l <delay>.l
モンクのコンボディレイ(msec) モンクのコンボディレイ(msec)
三段・連打は基本ディレイ1000(+300)、猛龍は基本ディレイ700(+300) 三段・連打は基本ディレイ1000(+300)、猛龍は基本ディレイ700(+300)
R 01d3 <name>.24B <type>.B <?>.l <id>.l
サウンドエフェクトを鳴らす
R 01d4 <ID>.l R 01d4 <ID>.l
文字列入力窓表示(IDはNPCのIDが入る) 文字列入力窓表示(IDはNPCのIDが入る)
S 01d5 <len>.w <ID>.l <input>.?B 00 S 01d5 <len>.w <ID>.l <input>.?B 00
文字列入力内容送信(IDはNPCのIDが入る) 文字列入力内容送信(IDはNPCのIDが入る)
R 01d6 <?>.w
表示関連か?
5,6,11,12なら何もしない
R 01d7 <ID>.l <equip point>.b <item id1>.w <item id2>.w R 01d7 <ID>.l <equip point>.b <item id1>.w <item id2>.w
装備グラフィック <equip point> は 02手と09足のみ確認。id2は左手 装備グラフィック <equip point> は 02手と09足のみ確認。id2は左手
R 01d8 <ID>.l <speed>.w <opt1>.w <opt2>.w <option>.w <class>.w <hair>.w <item id1>.w <item id2>.w <head option bottom>.w <head option top>.w <head option mid>.w <hair color>.w ?.w <head dir>.w <guild>.l <emblem>.l <manner>.w <karma>.B <sex>.B <X_Y_dir>.3B ?.B ?.B <sit>.B <Lv>.B ?.B R 01d8 <ID>.l <speed>.w <opt1>.w <opt2>.w <option>.w <class>.w <hair>.w <item id1>.w <item id2>.w <head option bottom>.w <head option top>.w <head option mid>.w <hair color>.w ?.w <head dir>.w <guild>.l <emblem>.l <manner>.w <karma>.B <sex>.B <X_Y_dir>.3B ?.B ?.B <sit>.B <Lv>.B ?.B
@ -1049,8 +1173,20 @@ R 01de <skill ID>.w <src ID>.l <dst ID>.l <server tick>.l <src speed>.l <dst spe
type=09 ダメージモーションなしにダメージだけ表示される物(インデュア)と思ったのだがダメージモーションが出る物。(機能は謎) type=09 ダメージモーションなしにダメージだけ表示される物(インデュア)と思ったのだがダメージモーションが出る物。(機能は謎)
S 01df <ID>.| S 01df <ID>.|
GM右クリックによるIDのチャット禁止回数参照 GM右クリックによるIDのチャット禁止回数参照
R 01e0 <ID>.l ?.24B
GMによるチャット禁止時間参照
0x1dfに対する応答
R 01e1 <ID>.l <num>.w R 01e1 <ID>.l <num>.w
<num> : 気功の数(非Lv) 一度表示したら後どんなnumが来ても無視される。 <num> : 気功の数(非Lv) 一度表示したら後どんなnumが来ても無視される。
R 01e2 <dst_id>.l <src_id>.l <nick>.24B
プロポーズされましたBOX表示、未使用
S 01e3 <dst_id>.l <src_id>.l <?>.l
01e2のプロポーズ返答
R 01e4
プロポーズターゲット表示
S 01e5 <ID>.l
プロポーズ要求
R 01e6 <partner name>.24B R 01e6 <partner name>.24B
結婚スキルあなたに逢いたい使用時の叫び声 結婚スキルあなたに逢いたい使用時の叫び声
S 01e7 S 01e7
@ -1059,9 +1195,15 @@ S 01e8 <party name>.24B <item1>B <item2>B
<item1>アイテム収集方法。0で個人別、1でパーティ公有 <item1>アイテム収集方法。0で個人別、1でパーティ公有
<item2>アイテム分配方法。0で個人別、1でパーティに均等分配 <item2>アイテム分配方法。0で個人別、1でパーティに均等分配
(00f9の上位バーション) (00f9の上位バーション)
R 01e9
未調査
R 01ea <ID>.l R 01ea <ID>.l
結婚エフェクト(音楽、紙吹雪) 結婚エフェクト(音楽、紙吹雪)
IDは新婦のものが入る IDは新婦のものが入る
R 01eb <ID>.l <X>.w <Y>.w
ギルドメンバ位置更新
R 01ec
未調査
S 01ed S 01ed
スパノビが爆裂波動になるフラグを立てるパケット スパノビが爆裂波動になるフラグを立てるパケット
R 01ee <len>.w {<index>.w <item ID>.w <type>.B <identify flag>.B <amount>.w ?.2B <card>.4w}.18B* R 01ee <len>.w {<index>.w <item ID>.w <type>.B <identify flag>.B <amount>.w ?.2B <card>.4w}.18B*
@ -1074,15 +1216,317 @@ R 01ef <len>.w {<index>.w <item ID>.w <type>.B <identify flag>.B <amount>.w ?.2B
R 01f0 <len>.w {<index>.w <item ID>.w <type>.B <identify flag>.B <amount>.w ?.2B <card>.4w}.18B* R 01f0 <len>.w {<index>.w <item ID>.w <type>.B <identify flag>.B <amount>.w ?.2B <card>.4w}.18B*
カプラさんに預けてある消耗品&収集品リスト カプラさんに預けてある消耗品&収集品リスト
00a5から変更 00a5から変更
R 01f2
未調査
R 01f3 <ID>.l <type>.l
blから発生するエフェクト
R 01f4 <name>.24B <trade id?>.L <LV>.w R 01f4 <name>.24B <trade id?>.L <LV>.w
先方から取引要請 先方から取引要請
00e5から変更 00e5から変更
R 01f5 <result>.B <trade id?>.L <LV>.w R 01f5 <result>.B <trade id?>.L <LV>.w
こちらからの取引要請に対する反応 こちらからの取引要請に対する反応
00e7から変更 00e7から変更
R 01f6 <papa_id>.l <mama_id>.l <requester_name>.24B
養子要請ダイアログの表示
S 01f7 <papa_id>.l <mama_id>.l <flag>.l
養子返答
IDは01f6で受け取ったものをそのまま返す
flag=0 拒否
flag=1 受領
R 01f8
養子ターゲット表示、現在未使用?
S 01f9 <ID>.l
養子要求
R 01fc <length>.w { <?1>.w <RepairItemID>.w <?2>.9B }.13B*
修理可能アイテムリスト表示
S 01fd <?1>.w
修理アイテムの選択
R 01fe <RepairItemID>.w <flag>.b
修理結果(flag = 00なら成功 01なら失敗)
R 01ff <ID>.l <x>.w <y>.w
吹き飛ばし、侵入不可セルも貫通する
S 0200 <login name>.24B S 0200 <login name>.24B
ragexeに/accountオプションをつけて起動するとログイン要求に付加されるパケット ragexeに/accountオプションをつけて起動するとログイン要求に付加されるパケット
S 0204 <?>.16B R 0201 <len>.w { <id1>.l <id2>.l <name>.24B }.32B*
友達リスト全部受信
S 0202 <nick name>.24B
友達リストへ追加要求
S 0203 <id1>.l <id2>.l
友達リストから削除要求
S 0204 <ragexe md5>.16B
ログイン要求に付加されるパケット。16バイトは固定 ログイン要求に付加されるパケット。16バイトは固定
S 020B <?>.17B R 0205 <id>.l <name>.24B
~さんと~さんが離婚しました
R 0206 <id1>.l <id2>.l <flag>.B
友達リストの接続情報通知
flag=1 ログアウト、flag=0 ログイン
R 0207 <id1>.l <id2>.l <name>.24B
友達リストへの追加要請受信
S 0208 <id1>.l <id2>.l <flag>.l
友達リストへの追加要請の返事
flag=1 受諾, 0= 拒否
R 0209 <flag>.w <id1>.l <id2>.l <name>.24B
友達リストへの追加要請の結果通知
flag=0 で成功, 1=拒否された, 2=自分の人数オーバー, 3=相手の人数オーバー
R 020a <id1>.l <id2>.l
友達リストから削除通知
S 020b <?>.B<ragexe md5>.16B
キャラクタサーバ接続要求0065に付加されるパケット。1+0204の16バイトで17バイト キャラクタサーバ接続要求0065に付加されるパケット。1+0204の16バイトで17バイト
R 020e <name>.24B <id>.l <val>.B <type>.B
太陽と月と星系統の場合<val>はスキルLv-1
テコンミッションの場合<val>は%
type=0 : 太陽と月と星の感情の登録完了
type=1 : 太陽と月と星の感情の登録情報
type=10: 太陽と月と星の憎しみの登録完了
type=11: 太陽と月と星の憎しみの登録情報
type=20: テコンミッションターゲット
type=21: テイミングミッションターゲット
type=30: 太陽と月と星の天使の初期化
type=40: Target HP <id>
R 0210
PVPのポイント表示
S 0212 <charname>.24B
GMコマンド/rcにて発行。効果不明。
S 0213 <charname>.24B
GMコマンド/checkにて発行。効果不明。
R 0214 { <Val>.w }*25
ステータス表示?
STR,AGI,VIT,INT,DEX,LUK,
standard STR,AGI,VIT,INT,DEX,LUK,
attPower,refiningPower,MAXmatpow,Minmatpower,ASPD,
itemdefPow,plusdefPow,mdefPower,plusmdefPow,plusASPD,
hitSuccsesVal,avoidSuccsesVal,plusAvoidSuccsesValue
R 0215 <type>.l
15 全ての状態異常が回復しました。
16 1分間、全ての状態異常へ耐性が現れます。
17 1分間、最大HPが大幅に上昇します。
18 1分間、最大SPが大幅に上昇します。
19 1分間、全ての能力が大幅に上昇します。
1c 1分間、装備した武器に聖属性が付与されます。
1d 1分間、装備した鎧に聖属性が付与されます
1e 10秒間、防御力が大幅に上昇します。
1f 1分間、攻撃力が大幅に上昇します。
20 1分間、命中率と回避率が大幅に上昇します。
28 装備がコーティングされているため、フルストリップが失敗になります
他 無視される
R 0216 <type>.l
00 すでに養子がいる夫婦はそれ以上養子を持つことができません。
01 夫婦のレベルが二人とも70以上になると養子を持つことができます。
02 結婚したキャラクターは養子にすることができません。
他 無視される
S 0217
/blacksmith
S 0218
/alchemist
R 0219 { <charname>.24B }*10 { <point>.L }*10
BSランキング
R 021a { <charname>.24B }*10 { <point>.L }*10
アルケミランキング
R 021b <point>.L <total>.L
BSランキングポイントが<point>上昇して、<total>になりました。
R 021c <point>.L <total>.L
アルケミランキングポイントが<point>上昇して、<total>になりました。
S 021d <?>.l
/effectしてるかどうか
R 021f
未調査
R 0220
未調査
R 0221 <len>.l { <?1>.w <RefineItemID>.w <?2>.9B }.13B*
精錬選択ウィンドウ
S 0222 <?>.l
精錬アイテム選択
R 0223 <flag>.l <itemid>.w
flag=0 : 「精錬した武器~」、成功
flag=1 : 「精錬した武器~」、失敗?
flag=2 : 武器精錬スキルのレベルが不足しています。
flag=3 : 精錬に必要なアイテムが不足しているので、精錬できません。
他は無視
R 0224 <point>.L <total>.L
テコンミッションランキングポイントが<point>上昇して、<total>になりました。
S 0225
/taekwon
R 0226 { <charname>.24B }*10 { <point>.L }*10
テコンランキング
R 0227
nPro関係。0258送信後返答。
S 0228
ログイン要求に付加されるパケット。nPro関係。
R 0229 <ID>.l <opt1>.w <opt2>.w <option>.l <pk>.B
見た目変更(0119から変更)
R 022a <ID>.l <speed>.w <opt1>.w <opt2>.w <option>.l <class>.w <hair>.w <item id1>.w <item id2>.w <head option bottom>.w <head option top>.w <head option mid>.w <hair color>.w <clothes_color>.w <head dir>.w <guild>.l <emblem>.l <manner>.w <opt3>.l <karma>.B <sex>.B <X_Y>.2B <dir>.B <5固定>.2B <sit>.B <Lv>.w
マップロード時&移動時用、向き付き用キャラ情報?(01d8の上位バージョン)
R 022b <ID>.l <speed>.w <opt1>.w <opt2>.w <option>.l <class>.w <hair>.w <item id1>.w <item id2>.w <head option bottom>.w <head option top>.w <head option mid>.w <hair color>.w <clothes_color>.w <head dir>.w <guild>.l <emblem>.l <manner>.w <opt3>.l <karma>.B <sex>.B <X_Y>.2B <dir>.B <5固定>.2B <Lv>.w
テレポ等の表示範囲内沸きキャラ用、向き付き無しキャラ情報?(01d9の上位バージョン)
R 022c <ID>.l <speed>.w <opt1>.w <opt2>.w <option>.l <class>.w <hair>.w <item id1>.w <item id2>.w <head option bottom>.w <server tick>.l <head option top>.w <head option mid>.w <hair color>.w <clothes_color>.w <head dir>.w <guild>.l <emblem>.w <manner>.w <opt3>.l <karma>.B <sex>.B <X_Y_X_Y>.5B <0x88固定>.B <0固定>.2B <Lv>.w
表示範囲内キャラ移動情報(01daの上位バージョン)
S 022d <0固定>.w <menu>.B
ホムのメニュー要求
menu=0 : ホム情報の通知
menu=1 : ホムや餌やり
menu=2 : ホム削除
R 022e <name>.24B <rename_flag>.B <base_level>.w <hungry>.w <intimate>.w <equip>.w <atk>.w <matk>.w <hit>.w <critical>.w <def>.w <mdef>.w <flee>.w <aspd>.w <hp>.w <max_hp>.w <sp>.w <max_sp>.w <base_exp>.l <nextbase_exp>.l <skill_point>.w <attackable>.w
ホムのステータス情報をまとめて送り付け
R 022f <fail>.B <itemID>.w
ホムに餌やり、0x1a3と同一
<fail>
0x00餌やり失敗
0x01餌やり成功
R 0230 <type>.w <ID>.l <param>.l
ホム関連通知、0x1a4のホム版
type=0, param=0 : ホム生成時に送られる
type=0x002 : 腹減り
type=0x100 : 親密度
03のswitchあり
S 0231 <name>.24B
ホムの名前変更要求
S 0232 <X_Y>.3B
ホム移動要求
S 0233 <?>.4B <target_id>.l <type>.B
ホム攻撃要求
S 0234 <ID>.l
ホムをマスターの元へ戻す
R 0236 <point>.L <total>.L
虐殺者ランキングポイントが<point>上昇して、<total>になりました。
S 0237
/pk
R 0238 { <charname>.24B }*10 { <point>.L }*10
虐殺者ランキング
R 023a <flag>.w
倉庫?
0 - passwd set plz
1 - passwd req
S 023b <flag>.w <?>.32B
2 - passwd set
3 - passwd send
R 023c <type>.w <val>.w
4 passwd set ok
5 passwd miss
6 ok
R 023e <flag>.w
キャラ?
0 - passwd set plz
1 - passwd req
S 023f
メールBOXの更新要求
R 0240 <len>.w <num>.l { <mail_num>.l <title>.40B <read>.B <nick>.24B <time>.l }*
メール一覧表、BOXを開いている時に蔵へ送信
0x23fの応答
S 0241 <num>.l
メールの受信要求
R 0242 <len>.w <num>.l <title>.40B <nick>.24B <0x22固定>.l <zeny>.l <amount>.l <itemid>.w <0固定>.w <identify>.B <attribute>.B ?.4w <0x22固定>.B <mail_body>.?B
メールを選択受信
S 0243 <num>.l
メール削除
S 0244 <num>.l
メールアイテムの受信要求
R 0245 <flag>.B
flag=0 : メールアイテムを受信しました。
flag=1 : メールアイテムを受信できませんでした。
flag=2 : アイテムはメールにて保管されています。
S 0246 <type>.w
type=0 : メールを出すボタンを押した
type=2 : 金額設定ボタンを押した
S 0247 <index>.w <amount>.l
メールにアイテムやZenyの添付を行った
S 0248 <len>.w <nick>.24B <title>.40B <body>.?B
メール送信
R 0249 <fail>.B
メール送信可否
fail=0 : メール送信に成功しました。
fail=1 : メール送信に失敗しました。受け取る人が存在しません。
R 024a <num>.l <nick>.24B <title>.40B
新着メールが届きました
S 024b <type>.w
競売ウィンドウのアイテム登録画面
S 024c <index>.w <flag>.l
競売ウィンドウのアイテム登録画面にアイテムを乗せた
乗せたら<flag>は1
S 024d <start_zeny>.l <end_zeny>.l <time>.w
競売にアイテム登録
S 024e <?>.l
未調査
S 024f <?>.l <?>.l
未調査
R 0250 <type>.B
type=0 : 競売登録が失敗しました。
type=1 : 競売登録が成功しました。
type=2 : 該当の競売が取り消されました。
type=3 : 入札者がいる競売は取り消すことができません。
type=4 : これ以上競売登録をすることはできません。
type=5 : 競売手数料が不足しています。
type=6 : 該当の競売に対する入札が成功しました。
type=7 : 該当の競売に対する入札が失敗しました。
type=8 : ゼニーが十分ではありません。
type=9 : これ以上競売アイテムに入札することはできません。
他は全て無視
S 0251 <?>.6B <name>.24B
競売ウィンドウのアイテム検索
R 0252 <len>.w <?>.l <loop?>.l { <?>.80B <?>.w <?>.B }*
未調査
R 0253 <skilllv>.B
太陽と月と星の感情セーブ用メッセージ「一度指定すると変更は不可能です!」
S 0254 <skilllv>.B
0253のダイアログBOXでOKボタンを押した
R 0255 <?>.w <fail>.B
fail=0 : 無反応
fail=1 : 該当のアイテムはメールに添付できないアイテムです。
R 0256 <?>.w <?>.B
未調査
R 0257 <num>.l <fail>.l
fail=0 : メール削除成功
fail=1 : メール削除失敗
S 0258
ログイン要求に付加されるパケット。nPro関係。
R 0259
nPro関係。0228送信後の返答。
R 025a <len>.w { <itemid>.l }*<len>
何かのアイテムリスト
S 025b <len>.w <itemid>.w
アイテム選択、キャンセル時は<itemid>に0xffffが入る
<len>は0x25aのパケット長がそのまま返る
S 025c <type>.w
競売ウィンドウ
type=0 : 自分の出品アイテムを表示
type=1 : 入札中のアイテムを表示
R 025d <type>.l
type=0 : 該当の競売を終了しました。
type=1 : 該当の競売を終了できません。
type=2 : 競売番号が正確ではありません。
R 025f <0固定>.4B
競売ウィンドウを開く
すぐにサーバに0x251が送信される
R 0260 <0固定>.4B
メールBOXの表示
S 0273 <mail_num>.l <nick>.24B
ROメールの着信メールウィンドウで一番左のボタンを押した
<nick>の相手に<mail_num>のメールを返送する
R 0274 <mail_num>.l <fail>.w
fail=0 : メールが返送されました
fail=1 : メールが存在しません
R 027b <val1>.l <val2>.l <val3>.l
オレンジ色で文字化けアナウンスが流れる
PC部屋イベント : 経験値増加 <val1>%, 死亡時経験値 <val2>%, ドロップ率増加 <val3>%
S 027c <version>.l <account name>.24B <password>.24B <?>.5B <version2>.B
アカウントID&パスワード送信
R 027d <?>.24B <?>.w*15 <?>.4B?
未調査
R 0280 <point>.l <total>.l <type>.w
テイミングミッションランキングポイントが<point>上昇して<total>になりました。
type=0xfd2固定
他は文字化けする
S 0281 <54000固定?>.w
未調査、たぶんテイミングランキング要求パケットとして実装される
R 0282 { <charname>.24B }*10 { <point>.l }*10
テイミングランキング
R 0284 <ID>.l <type>.l <?>.4B?
blから発生するエフェクト、1f3の上位互換
R 0285 <val1>.w <val2>.w
未調査、謎。
val1が01,02,03,04,05,0b,0c,0fのとき反応、今のところ「NO MSG」
それ以外の場合は「???」が画面上部にピンク文字で表示される
val1が04のとき、val2=05でswitchありSTRとか、今のところ「NO MSG」

View File

@ -26,6 +26,7 @@
* 例 * 例
実際にとったログの例を示す。 実際にとったログの例を示す。
* Windows 用バイナリの場合
-------------------------------------------------------------------------- --------------------------------------------------------------------------
< Cygwinでのstackdumpとcore > < Cygwinでのstackdumpとcore >
@ -107,3 +108,18 @@ $1 = "FAKE_ANGEL\000\203t\203F\203C\203N\203G\203\223\203"
(gdb) p map[md->bl.m].name (gdb) p map[md->bl.m].name
$2 = "gef_dun03.gat\000\000r" $2 = "gef_dun03.gat\000\000r"
--------------------------------------------------------------------------
< Windows 用バイナリの場合 >
Windows 用向けにコンパイルしたサーバーがクラッシュした時には、crashdump.log
というファイルが自動的に生成されます。この中には、サーバーを安定させるのに
役立つ情報が入っているので、内容をフィードバックして頂ければ助かります。
VC++の場合は、特別な作業は要りません。ファイルをテキストエディタで開いて、
そのままコピー&ペーストしてください。
bcc の場合は、perlでbin/tool/crashdump_bcc.pl を実行した後に生成される、
crashdump_report.logの内容を貼り付けてください。perlの実行が困難な方は、
crashdump.log と*.map を一つに圧縮して報告をお願いします。

View File

@ -12,22 +12,31 @@
cast_db.txt スキルのキャスティング時間とディレイ、維持時間等を設定。 cast_db.txt スキルのキャスティング時間とディレイ、維持時間等を設定。
skill_db.txt スキルのデータを設定。 skill_db.txt スキルのデータを設定。
skill_require_db.txt スキル使用条件を設定。 skill_require_db.txt スキル使用条件を設定。
skill_unit_db.txt スキルユニットに関する設定。
pet_db.txt ペットのデータを設定。 pet_db.txt ペットのデータを設定。
packet_db.txt map-server clif.cで使うパケット定義。
item_db.txt アイテムのデータを設定
item_db2.txt アイテムの追加情報を設定
item_value_db.txt アイテム価格のオーバーライド
mob_db.txt モンスターのデータを設定
mob_skill_db.txt モンスターの使用するスキルを設定
homun_db.txt ホムンクルスのデータを設定。
========================================================================== ==========================================================================
1. db/cast_db.txt 1. db/skill_cast_db.txt
-------------------------------------------------------------------------- --------------------------------------------------------------------------
id,cast_list,delay_list,upkeep_time,upkeep_time2 id,cast_list,fixed_cast_list,delay_list,upkeep_time,upkeep_time2
id: スキルのIDです。 id: スキルのIDです。
cast_list: スキルのキャスティング時間を設定します。レベル別に設定する場合は「:」を使います。 cast_list: スキルのキャスティング時間を設定します。レベル別に設定する場合は「:」を使います。
fixed_cast_list: DEX等の補正に影響されないスキルのキャスティング時間を設定します。レベル別に設定する場合は「:」を使います。(メモライズには影響を受けます)
delay_list: スキルのディレイ時間を設定します。レベル別に設定する場合は「:」を使います。 delay_list: スキルのディレイ時間を設定します。レベル別に設定する場合は「:」を使います。
upkeep_time:スキルの維持時間を設定します。レベル別に設定する場合は「:」を使います。 upkeep_time:スキルの維持時間を設定します。レベル別に設定する場合は「:」を使います。
upkeep_time2:スキルによって起こる状態異常の維持時間を設定します。レベル別に設定する場合は「:」を使います。(ただ速度減少はupkeep_timeを使いますので注意してください。) upkeep_time2:スキルによって起こる状態異常の維持時間を設定します。レベル別に設定する場合は「:」を使います。(ただ速度減少はupkeep_timeを使いますので注意してください。)
※武器の追加効果による状態異常はMG_STONECURSE(石化)、MG_FROSTDIVER(凍結)、NPC_STUNATTACK(スタン)、NPC_SLEEPATTACK(睡眠)、TF_POISON(毒)、NPC_CURSEATTACK(呪い)、NPC_SILENCEATTACK(沈黙)、NPC_BLINDATTACK(暗黒)のupkeep_time2を使います。(レベルは7で適用) ※武器の追加効果による状態異常はMG_STONECURSE(石化)、MG_FROSTDIVER(凍結)、NPC_STUNATTACK(スタン)、NPC_SLEEPATTACK(睡眠)、TF_POISON(毒)、NPC_CURSEATTACK(呪い)、NPC_SILENCEATTACK(沈黙)、NPC_BLINDATTACK(暗黒)、LK_HEADCRUSH(出血)のupkeep_time2を使います。(レベルは7で適用)
※急所攻撃の場合最大レベルは1ですがバッシュのレベルによって異常時間を変更できるので複数設定も可能です。 ※急所攻撃の場合最大レベルは1ですがバッシュのレベルによって異常時間を変更できるので複数設定も可能です。
※マキシマイズパワーとクローキングのupkeep_timeは維持時間ではなくSPが1減る時間です。 ※マキシマイズパワーとクローキングのupkeep_timeは維持時間ではなくSPが1減る時間です。
@ -46,13 +55,13 @@ inf:
複数の物を入れると(数値を足して)正しく動作しません。 複数の物を入れると(数値を足して)正しく動作しません。
pl: スキルの属性です。 pl: スキルの属性です。
0-無 1-水 2-地 3-火 4-風 5-毒 6-聖 7-暗 8-念 9-不死 0-無 1-水 2-地 3-火 4-風 5-毒 6-聖 7-暗 8-念 9-不死
nk: 付加 1効果 2吹き飛ばし nk: 付加 1効果 2吹き飛ばし 4発動時に射線チェック
MaxLv: スキルの最大レベルです。 MaxLv: スキルの最大レベルです。
list_num: Hit回数のリストです。レベル別に設定する場合は「:」を使います。 list_num: Hit回数のリストです。レベル別に設定する場合は「:」を使います。
castcancel: スキルがキャンセルされるかどうかを設定します。yesはキャンセルされる物でnoはキャンセルされない物です。 castcancel: スキルがキャンセルされるかどうかを設定します。yesはキャンセルされる物でnoはキャンセルされない物です。
cast_defence_rate: キャスティング中に低下する防御力の比率です。ボウリングバッシュやクランドクロスのようにスキルキャスティング中に防御が減るスキルの設定に使います。 cast_defence_rate: キャスティング中に低下する防御力の比率です。ボウリングバッシュやクランドクロスのようにスキルキャスティング中に防御が減るスキルの設定に使います。
inf2: スキル情報2です。1 - クェストスキル、2 - npc スキル、4-敵、8-場所、16-即時発動、32-味方、64-罠、128-PVPモードで自分を含む全ての物にダメージが入るスキル(地面スキルのみ)、256-普通の使用で自分に必ずダメージが入るスキル(地面スキルのみ)、512-自分には使うことができないスキル、1024 - 自分か自分のパーティにしか使えないスキル。2048 - 自分か自分のギルドにしか使えないスキル、同盟ギルドチェックは無し。(4、8、16、32、64は一部のアクティブスキルが使用。今は阿修羅覇鳳拳のみ使用。) inf2: スキル情報2です。1 - クェストスキル、2 - npc スキル、4-敵、8-場所、16-即時発動、32-味方、64-罠、128-PVPモードで自分を含む全ての物にダメージが入るスキル(地面スキルのみ)、256-普通の使用で自分に必ずダメージが入るスキル(地面スキルのみ)、512-自分には使うことができないスキル、1024 - 自分か自分のパーティにしか使えないスキル。2048 - 自分か自分のギルドにしか使えないスキル、同盟ギルドチェックは無し。(4、8、16、32、64は一部のアクティブスキルが使用。今は阿修羅覇鳳拳のみ使用。)、4096-GVGモードで自分を含む全ての物にダメージが入るスキル(地面スキルのみ)、8192-PKモードで自分を含む全ての物にダメージが入るスキル(地面スキルのみ)(GVG+PK+PVP=12416 PVP+GVG=4224)
maxcount: 地面スキルのみに適用される物でスキルを置ける最大数です。0は置けないと言う意味ではなく制限がない物と言う意味です。 maxcount: 地面スキルのみに適用される物でスキルを置ける最大数です。レベル別に設定する場合は「:」を使います。0は置けないと言う意味ではなく制限がない物と言う意味です。
skill_type: スキルの種類を設定します。weaponは武器スキルでmagicは魔法スキル、miscは武器でも魔法でもないスキルです。noneは決め難しい物等に設定します。ただこれを変えたとしてもスキルのダメージ計算がこれに合わせて変わるわけではなくダメージの計算はプログラムレベルで行なっています。これはスペルブレイカーで詠唱中止されるかどうかを設定する為の物です。(他のスキルでこの設定を使用する可能性もありますが今の所スペルブレイカーのみです。) magicに設定するとスペルブレイカーで詠唱中止されます。 skill_type: スキルの種類を設定します。weaponは武器スキルでmagicは魔法スキル、miscは武器でも魔法でもないスキルです。noneは決め難しい物等に設定します。ただこれを変えたとしてもスキルのダメージ計算がこれに合わせて変わるわけではなくダメージの計算はプログラムレベルで行なっています。これはスペルブレイカーで詠唱中止されるかどうかを設定する為の物です。(他のスキルでこの設定を使用する可能性もありますが今の所スペルブレイカーのみです。) magicに設定するとスペルブレイカーで詠唱中止されます。
blow_count: スキルよるノックバック距離です。レベル別に設定する場合は「:」を使います。 blow_count: スキルよるノックバック距離です。レベル別に設定する場合は「:」を使います。
@ -66,19 +75,23 @@ id,list_hp,list_sp,list_hp_rate,list_sp_rate,list_zeny,list_weapon,state,spiritb
id: スキルのIDです。 id: スキルのIDです。
list_hp: スキル使用で減るHPの量です。レベル別に設定する場合は「:」を使います。 list_hp: スキル使用で減るHPの量です。レベル別に設定する場合は「:」を使います。
list_sp: スキル使用で減るSPの量です。レベル別に設定する場合は「:」を使います。 list_sp: スキル使用で減るSPの量です。レベル別に設定する場合は「:」を使います。
list_hp_rate: スキル使用で減るHPの比率です。レベル別に設定する場合は「:」を使います。(最大HPの比率ではなく現在HPの比率です。) list_hp_rate: スキル使用で減るHPの比率です。レベル別に設定する場合は「:」を使います。(正数の場合は現在HP、負数の場合は最大HPの比率です。)
list_sp_rate: スキル使用で減るSPの比率です。レベル別に設定する場合は「:」を使います。(最大SPの比率ではなく現在SPの比率です。) list_sp_rate: スキル使用で減るSPの比率です。レベル別に設定する場合は「:」を使います。(正数の場合は現在SP、負数の場合は最大SPの比率です。)
list_zeny: スキル使用で減るゼニの量です。レベル別に設定する場合は「:」を使います。 list_zeny: スキル使用で減るゼニの量です。レベル別に設定する場合は「:」を使います。
list_weapon: スキルを使うことができる武器を設定します。 list_weapon: スキルを使うことができる武器を設定します。
99 - 全ての武器、0 - 素手、1 - 短剣、2 - 片手剣、3 - 両手剣、4 - 片手槍、 99 - 全ての武器、0 - 素手、1 - 短剣、2 - 片手剣、3 - 両手剣、4 - 片手槍、
5 - 両手槍、6 - 片手斧、7 - 両手斧、8 - 片手鈍器、9 - 両手鈍器、10 - ロッド、 5 - 両手槍、6 - 片手斧、7 - 両手斧、8 - 片手鈍器、9 - 両手鈍器、10 - ロッド、
11 - 弓、12 - ナックル、13 - 楽器、14 - 鞭、15 - 本、16 - カタール、 11 - 弓、12 - ナックル、13 - 楽器、14 - 鞭、15 - 本、16 - カタール、
17~22: 二刀流 17 - ハンドガン 18 - ライフル 19 - ショットガン 20 - ガトリンガン
21 - グレネードランチャー 22 - 手裏剣
23~28: 二刀流
23 - 短剣+短剣 24 - 片手剣+片手剣 25 - 片手斧+片手斧
26 - 短剣+片手剣 27 - 短剣+片手斧 28 - 片手剣+片手斧
複数を設定する場合は「:」を使います。 複数を設定する場合は「:」を使います。
state:スキルを使用する為の条件を設定します。複数の設定はできません。 state:スキルを使用する為の条件を設定します。複数の設定はできません。
none - 条件無し none - 条件無し
hiding - ハイディング状態 hiding - ハイディング状態
cloacking - クローキング状態。 cloaking - クローキング状態。
hidden: ハイディングやクロッキング状態 hidden: ハイディングやクロッキング状態
riding: ペコペコに乗っている riding: ペコペコに乗っている
falcon: 鷹を連れている falcon: 鷹を連れている
@ -113,7 +126,44 @@ amount10:
========================================================================== ==========================================================================
4. db/pet_db.txt 4. db/skill_unit_db.txt
--------------------------------------------------------------------------
ID,Unit1,Unit2,Layout,Range,Interval,Target,Flag
ID : スキルID
Unit1 : スキルユニットの表示ID
Unit2 : 発動後に表示が変化する場合の表示ID
Layout : スキルユニットの設置範囲、レベル別に設定する場合は「:」を使うこと
-1 = 特殊形状skill.cで定義
0 = 1x1
1 = 3x3
2 = 5x5
5 = 11x11
Range : ユニット単体の発動範囲
-1 = なし
0 = 1x1
1 = 3x3
2 = 5x5
5 = 11x11
Interval : 効果が発動する時間間隔ms
Target : 効果を及ぼす相手
0x00000 = BCT_NOENEMY 敵ではない
0x10000 = BCT_PARTY パーティー
0x20000 = BCT_ALL 全て
0x40000 = BCT_ENEMY 敵
Flag : スキルユニットの性質、加算すること
+0x001 = UF_DEFNOTENEMY defunit_not_enemyの影響を受ける
+0x002 = UF_NOREITERRATION 重ね置き不可
+0x004 = UF_NOFOOTSET 足元置き不可
+0x008 = UF_NOOVERLAP 効果が重複しない
+0x010 = UF_PATHCHECK オブジェクト発生時に射線チェック
+0x100 = UF_DANCE ダンススキル
+0x200 = UF_ENSEMBLE 合奏スキル
==========================================================================
5. db/pet_db.txt
-------------------------------------------------------------------------- --------------------------------------------------------------------------
MobID,Name,JName,ItemID,EggID,AcceID,FoodID,Fullness,HungryDelay ,R_Hungry,R_Full,Intimate,Die,Capture,Speed,S_Performance,talk_convert_class,attack_rate,defence_attack_rate,change_target_rate,pet_script MobID,Name,JName,ItemID,EggID,AcceID,FoodID,Fullness,HungryDelay ,R_Hungry,R_Full,Intimate,Die,Capture,Speed,S_Performance,talk_convert_class,attack_rate,defence_attack_rate,change_target_rate,pet_script
@ -141,6 +191,459 @@ change_target_rate:
pet_script: ペットを持っている時適用されるステータスボーナスを設定。 pet_script: ペットを持っている時適用されるステータスボーナスを設定。
==========================================================================
6. db/packet_db.txt
--------------------------------------------------------------------------
新規追加や変更されたパケット定義は一番下に追加していきます。
日付の古いクライアントを使用する場合は、新しい日付の定義を削除かコメントアウトしてください。
2004年9月時点のjROクライアントの場合は「//jROはここまで」以下を削除かコメントアウトしなければmap-serverに繋がりません。
Num,Len,Cmd,Pos
Num: パケット番号です(16進数)。
Len: パケット長です(10進数)。
Cmd: map-serverがパケットを受信した時に実行するコマンドです(clif.cで定義)
Pos: clif.c内の関数で使用される変数に使う項目のパケット位置です。
==========================================================================
7. db/item_db.txt 参考先 AthenaWiki
--------------------------------------------------------------------------
ID,Name,Jname,Type,Price,Sell,Weight,ATK,DEF,Range,Slot,Job,Gender,Loc,wLV,eLV,View,Refine,{UseScript},{EquipScript}
ITEM_ID = 使ってないitemIDを指定(連番でなくても問題ありません)
※オリジナル武器を作る場合、攻撃モーションを既存の物にする為には
決まったITEM_IDの範囲に入れなければ成らないようです。
片手剣 : 11001149
両手剣 : 11501199
短剣 : 12001249
カタール : 12501299
片手斧 : 13001349
両手斧 : 13501399
片手槍 : 14001449
両手槍 : 14501499
鈍器 : 15001549
本 : 15501599
杖 : 16001649
弓 : 17001749
矢 : 17501799
ナックル : 18001849
楽器 : 19001949
鞭 : 19501999
ITEM_NAME = アイテム英語名(何でも構いません)
ITEM_JNAME = アイテム日本名(何でも構いません)
TYPE = アイテムの種類を設定
0 : 回復アイテム
1 : 不明
2 : 消費アイテム
3 : 収集品アイテム
4 : 武器アイテム
5 : 防具アイテム
6 : カード
7 : ペットの卵
8 : ペット専用装備品
9 : 不明
10 : 飛び道具(矢・弾丸・クナイ)
PRICE = 販売価格
SELL = 売値 省略時は自動的にPRICEの半分の値が売値として設定されます
0以上のときはSELLの値が売値となり、自動的にSELLの2倍の値が販売価格として設定されます
-1のときは売り不可なアイテムになります
販売価格と売値を個別に設定したい場合はitem_value_db.txtで指定してください
WEIGHT = 重量x10 (10ならば重量1になる)
ATK = 攻撃力 (装備品の場合設定しましょう)
DEF = 防御力 (装備品の場合設定しましょう)
RANGE = 射程 (装備品の場合設定しましょう)
SLOT = カードスロット数 (装備品の場合設定しましょう)
JOB = 使用可能職業 (装備品/消費系アイテムの場合設定しましょう)
2を職業ID[0-29]で乗じた数字
ノービス :1
剣士 :2
マジシャン :4
アーチャー :8
アコライト :16
商人 :32
盗賊 :64
騎士 :128
プリースト :256
ウィザード :512
ブラックスミス :1024
ハンター :2048
アサシン :4096
クルセイダー :16384
モンク :32768
セージ :65536
ローグ :131072
アルケミスト :262144
バード :524288
ダンサー :1048576
スーパーノービス :8388608
テコン :16777216
拳聖 :33554432
ソウルリンカー :134217728
ガンスリンガー :268435456
忍者 :536870912
全職業装備可能 :195026943(1000333311)
ノービスを除く~ :186638334
二次職 :2088832
二次職+拳聖 :35643264
※ノービスと剣士が装備できる物ならば
ノビ 2^0=1 剣士 2^1=2 1+2=3 で 3を設定します。
※16進数で表記することも可能です。全職業可能 : 0xffffffff
転生職業の判断はitem_upper.txtで行うこと
GENDER = 性別限定装備指定 (2で指定無し、0と1で男性限定か女性限定か指定。)
LOC = 装備個所指定 (装備品/カードの場合設定しましょう)
頭下段 :1
右手 :2
肩 :4
アクセサリ右 :8
体 :16
左手 :32
足 :64
アクセサリ左 :128
頭上段 :256
頭中段 :512
矢 :32768
※頭上中段装備の場合は
頭上段(256)+頭中段(512)=768なので768を設定します。
※アクセサリは通常どちらにも装備可能になっているので
アクセサリ右(8)+アクセサリ左(128)=136なので136を設定しておきましょう。
WLV = 武器レベル(14)
ELV = 使用可能(装備可能)Lv
VIEW = 頭装備での装備した場合の見た目を設定
各装備品にて固有の番号を占有する。
REFINE = 精錬可能かどうか。0で不可、1で可
USESCRIPT = アイテム使用時に現れる効果(DOCフォルダ内にリファレンス有り)
EQUIPSCRIPT = 装備時に現れる効果(item_bonus.txt参照)
==========================================================================
8. db/item_db2.txt
--------------------------------------------------------------------------
ID,Upper,Zone,Dropable,Storageable,Cartable,Dalay
ID = アイテムID
Upper = 転生による使用・装備制限
0 : 制限無し
+1 : 転生前
+2 : 転生後
+4 : 養子
Zone = 場所による使用・装備制限
0 : 制限無し
+1 : 通常フィールド normal
+2 : PVP pv
+4 : GVG gvg
+8 : PK pk
+16 : ターボトラック turbo
+32 : テレポ禁止区域 noteleport
+64 : リターン禁止区域 noreturn
+128 : 枝禁止区域 nobranch
Dropable = 捨てるのが可能かどうか
0 : 可(デフォルト) 1 : 不可
Storageable = 倉庫に入れるのが可能かどうか
0 : 可(デフォルト) 1 : 不可
Cartable = 倉庫からカートに出すのが可能かどうか
0 : 可(デフォルト) 1 : 不可
Delay = 使用後に指定した時間ディレイを付ける、単位はms
ただしどのアイテムも使えなくなるので注意
==========================================================================
9. db/item_value_db.txt
--------------------------------------------------------------------------
ID,Name,Jname,Price,Sell,DC_Notflag,OC_Notflag
ID : アイテムID item_db.txtで設定されてないものは不可
Name : 名前(英語) ただし読み込みには無関係なので好きな文字列で構わない
Jname : 名前(日本語) ただし読み込みには無関係なので好きな文字列で構わない
Price : 販売価格 省略時はitem_db.txtの値を反映
Sell : 売値 省略時はitem_db.txtの値を反映
DC_Notflag : DC可能かどうか 0で可、1で不可
OC_Notflag : OC可能かどうか 0で可、1で不可
売値が販売価格の9割でDC・OC不可
507,Red_Herb,赤ハーブ,30,27,1,1
==========================================================================
10. db/mob_db.txt
--------------------------------------------------------------------------
ID,Name,JName,LV,HP,SP,EXP,JEXP,Range1,ATK1,ATK2,DEF,MDEF,STR,AGI,VIT,INT,DEX,LUK,Range2,Range3,Scale,Race,Element,Mode,Speed,ADelay,aMotion,dMotion,Drop1id,Drop1per,Drop2id,Drop2per,Drop3id,Drop3per,Drop4id,Drop4per,Drop5id,Drop5per,Drop6id,Drop6per,Drop7id,Drop7per,Drop8id,Drop8per,Drop9id,Drop9per,Cardid,Cardper,MEXP,ExpPer,MVP1id,MVP1per,MVP2id,MVP2per,MVP3id,MVP3per
ID : Ragexe Sakexeで定義されたID
Name : 名前(英語)
Jname : 名前(日本語)
Lv : その設定中のモンスターのレベル 99にすればオーラを放つ
HP : モンスターのHP
SP : モンスターのSP
Range1 : 基本射程距離は1
(設定値 = 1<16 : 射程距離。数値が大きくなれば長くなる。)
Atk1-Atk2 : ATK最低値-最高値
(DEF-MDEF-STR-AGI-VIT-INT-DEX-LUK) : その名の通り。数値を大きくすればその数値になる
Range2 : Range2は対象指定スキルの範囲
Range3 : Range3は地面指定スキルの範囲
Scale : サイズ
0 : 小
1 : 中
2 : 大
Race : 種族
0 : 無
1 : 不死
2 : 動物
3 : 植物
4 : 昆虫
5 : 魚貝
6 : 悪魔
7 : 人間
8 : 天使
9 : 竜
Element : 一の位は属性、十の位は属性のレベル
(例 : 闇属性レベル1なら、闇(7)+属性Lv1(20)=27
00 : 無
01 : 水
02 : 地
03 : 火
04 : 風
05 : 毒
06 : 聖
07 : 闇
08 : 念
09 : 不死
20 : 属性Lv1
40 : 属性Lv2
60 : 属性Lv3
80 : 属性Lv4
Mode : 基本行動パターン。値を加算していく
(例 : 固定型アクティブモンスターなら、固定(0)+追跡(4)+攻撃(128)=132
(例 : 移動型アクティブモンスターなら、移動(1)+追跡(4)+攻撃(128)=133
(例 : ルートリンク型ノンアクティブモンスターなら、移動(1)+ルート(2)+リンク(8)+攻撃(128)=139
0 : 固定
1 : 移動
2 : ルート
4 : 追跡
8 : リンク
16 : 詠唱反応
32 : ボス属性というかスティル不可・ハイディング無効
64 : ダメージ1
128 : 攻撃(アクティブ)
Speed : 基本移動速度は150
1>150<2000 : 移動速度。数値が小さくなれば速く、大きくなれば遅くなる。)
ADelay : 基本攻撃速度は謎
1>??<3074? : 攻撃速度。Aspdの代わり数値が小さくなれば速く、大きくなれば遅くなる。
aMotion : 攻撃時のモーションスピードのディレイタイム
dMotion : dMotionは攻撃アニメーション終了時のディレイタイム
Drop1id,(id),Drop1per,(per)Drop8id,(id),Drop8per,(per) : 通常ドロップアイテムとその確率。1から9個まで設定可能
512,2 の場合はリンゴを0.02%の確率でドロップするということになる)
Cardid,(id),Cardper,(per) : ドロップするカードのIDと確立。つだけ設定可能。
MEXP : MVPを取ったとき入る経験値
ExpPer : MVPを取ったとき経験値が入る確率
MVP1id(id),MVP1per,(per)MVP3id(id),MVP3per,(per) : MVPドロップアイテムとその確率。3個まで設定可能
==========================================================================
11. db/mob_skill_db.txt
--------------------------------------------------------------------------
MOB_ID,ダミー文字列,STATE,SKILL_ID,SKILL_LV,万分率,casttime,delay,妨害可能,ターゲット,条件タイプ,条件値,値1,値2,値3,値4,値5,使用時エモーション
MOB_ID : モンスターのID
ダミー文字列: わかりやすい名前を入れるといいかと。
ただし "clear" を入れた場合、それまで読み込んだそのモンスターのスキルデータを破棄します
STATE: スキルを使用する状態
any = いつでも
idle = 待機中(自身が停止しているとき)
walk = 移動中
attack = 攻撃中
dead = 死亡時
loot = ルート行動中
chase = 追撃中
command = 命令専用他モンスターのcommandターゲットからのみ発動することを明示する
SKILL_ID : スキルID
SKILL_LV : スキルレベル
万分率 : スキルが発動する確率、ただし判定は上に記載されたスキルから順に評価されるため
下にあるほど正味の発動確率は低下します
casttime : 詠唱時間ms
delay : スキル使用後のディレイ時間ms、ただしディレイ中に使えないのは同じスキルだけです他のスキルは使用可能
妨害可能 : 詠唱妨害できるかどうか、yesかno
ターゲット: スキルを使用する対象
target = 攻撃中のターゲット
self = 自分
friend = 周囲8セル以内に居る仲間いずれか1匹
  条件タイプにfriend系を選択して条件が一致した場合はその仲間が対象
around = 自分の周囲現在は周囲81マス=around4
around1 = 自分の周囲9マス
around2 = 自分の周囲25マス
around3 = 自分の周囲49マス
around4 = 自分の周囲81マス
around5 = ターゲットの周囲9マス
around6 = ターゲットの周囲25マス
around7 = ターゲットの周囲49マス
around8 = ターゲットの周囲81マス
master = マスター
slave = 周囲8セル以内に居る取り巻きいずれか1匹
command = 他モンスターにスキルを発動させる特殊AIの項参照
modechange = 他モンスターのモードを変化させる特殊AIの項参照
targetchange = 他モンスターのターゲットを変更させる(効果未実装、ディレイだけ付加される)
anothertarget = 現在のターゲットとは異なる敵
  使用するスキルの射程範囲内に存在する敵の中からランダムに攻撃対象を選択する
  他のターゲットが見つからない場合は現在のターゲットが対象
※around系が正常に機能するのは場所指定スキルのみ。
条件: (条件タイプ) (条件値は指定する値)
[常時型 : AIからの呼び出し]
always 無条件
myhpltmaxrate 自分のHPが指定未満になったら
mystatuson 自分がステータス異常(条件値)に掛かっていたら
mystatusoff 自分がステータス異常(条件値)に掛かっていなかったら
friendhpltmaxrate 仲間のHPが指定未満になったら、範囲は周囲8セル固定
friendstatuson 仲間がステータス異常(条件値)に掛かっていたら、範囲は周囲8セル固定
friendstatusoff 仲間がステータス異常(条件値)に掛かっていなかったら、範囲は周囲8セル固定
attackpcgt 攻撃PCが指定数を超えたら
attackpcge 攻撃PCが指定数以上になったら
slavelt 総手下数が指定数未満になったら
slavele 総手下数が指定数以下になったら
targethpgtmaxrate 攻撃対象のHPが指定を超えていたら
targethpltmaxrate 攻撃対象のHPが指定未満になったら
targetstatuson 攻撃対象がステータス異常(条件値)に掛かっていたら
targetstatusoff 攻撃対象がステータス異常(条件値)に掛かっていなかったら
targethpgt 攻撃対象のHPが指定を超えていたら
targethplt 攻撃対象のHPが指定未満になったら
masterhpgtmaxrate マスターのHPが指定を超えていたら
masterhpltmaxrate マスターのHPが指定未満になったら
masterstatuson マスターがステータス異常(条件値)に掛かっていたら
masterstatusoff マスターがステータス異常(条件値)に掛かっていなかったら
areaslavegt 周囲の手下数が指定数を超えていたら、条件値の下位8bitに数を、上位8bitに範囲を入れること
areaslavele 周囲の手下数が指定数以下になったら、条件値の下位8bitに数を、上位8bitに範囲を入れること
[反撃型 : 被攻撃時に呼び出し]
casttargeted 詠唱のターゲットにされたら
closedattacked 近接攻撃を喰らったら
longrangeattacked 遠距離攻撃を喰らったら
skillused 指定スキルを喰らったら
rudeattacked 反撃不可能な状態で攻撃を喰らったら
[特殊型 : その他]
onspawn 出現配置されたら
条件値: 各条件に必要な値HPや数など、特に指定がない場合は0を入れる
16進数でも表記可能なのでareaslavegt, areaslaveleで活用してください
 ※statuson/statusoff系で条件値に指定することが出来る文字列
anybad 以下の9つの状態異常のうちどれか
stone 石化 ←anybad該当ここから
freeze 凍結
stan スタン
sleep 睡眠
poison 毒
curse 呪い
silence 沈黙
confusion 混乱
blind 暗闇 ←anybad該当ここまで
hiding ハイディング使用中
sight サイト使用中
stone 完全石化状態
lexaeterna LA状態
値15: 必要に応じて値を入れる
入力すべき値は使用するスキルや条件タイプによって異なりますmob.cやskill.c、特殊AIの項を参照のこと
2%の確率でエモーション番号5を使用する
1009,エモーション@コンドル,idle,197,1,200,0,5000,no,self,always,0,5,,,,,
取り巻きが居なくなったら10%の確率でID 1179/1208/1509のモンスターを召還する
1373,取り巻き召喚@ロードオブデス,any,196,2,1000,2000,3600000,no,self,slavele,0,1179,1208,1509,,,
20%の確率でID 1049か1050のいずれかにクラスチェンジする
1047,メタモルフォース@ペコペコの卵,idle,193,1,10,2000,0,no,self,always,0,1049,1050,,,,
周囲5セル以内の取り巻きが3匹以下なら10%の確率で呼び戻す
1038,取り巻き呼び戻し@オシリス,attack,354,1,10000,0,30000,no,target,areaslavele,0x503,,,,,,
例5)遠距離攻撃されたら仲間の足元にサンクチュアリを展開する
1194,サンクチュアリ@アクラウス,attack,70,10,2000,0,5000,no,friend,longrangeattacked,0,,,,,,
使用時エモーション: スキル使用時に出すエモーション番号
※特殊AI
 ・command: 命令対象のモンスターに対してSKILL_IDのスキルを使用させる
命令対象がそのスキルを持っていない場合は発動しない
従ってcommandでのみ発動したいスキルがある場合は、STATEにcommandを指定した発動率0%のスキルを作ること
値1 -> 命令対象
値2 -> 命令対象検索範囲
値3 -> スキル対象
値4 -> スキル対象検索範囲
値5 -> 未使用
命令対象に使える文字列
self = 自分
slave = 指定命令範囲内の取り巻きのいずれか1匹
slaves = 指定命令範囲内の取り巻き全て
friend = 指定命令範囲内の仲間のいずれか1匹取り巻きは含まない
friends = 指定命令範囲内の仲間全て(取り巻きは含まない)
group = 自分と指定命令範囲内の取り巻き全てself+slaves
スキル対象に使える文字列
target = 命令相手が攻撃中の場合はそのターゲットに、待機状態なら命令主と同じターゲットにスキル攻撃
命令主すらターゲットを持たない場合は指定スキル範囲内に存在するいずれかの敵にスキル攻撃
self = 自分
commander = 命令主
master = マスター
slave = 指定スキル範囲内の取り巻きのいずれか1匹
slaves = 指定スキル範囲内の取り巻き全て
friend = 指定スキル範囲内の仲間のいずれか1匹取り巻きは含まない
friends = 指定スキル範囲内の仲間全て(取り巻きは含まない)
HP30%を切ったら8%の確率で自分と周囲7セル以内の取り巻きナイトメアが爆裂状態になる
1046,爆裂波動@ドッペルゲンガー,attack,270,5,800,0,100000,no,command,myhpltmaxrate,30,group,7,self,0,,
1061,爆裂波動@ナイトメア,command,270,5,0,0,100000,no,self,always,0,,,,,,
10%の確率で周囲7セル以内の取り巻きナイトメア全てにソウルストライクの一斉攻撃を命令
1046,ソウルストライク命令@ドッペルゲンガー,attack,13,10,1000,0,10000,no,command,always,0,slaves,7,target,7,,
1061,ソウルストライク@ナイトメア,command,13,10,0,0,10000,no,target,always,0,,,,,,
・modechange: 命令対象のモンスターのmode基本行動パターンを変化させる
SKILL_IDは未使用なので0を指定すればよい
値1 -> 命令対象
値2 -> 命令対象検索範囲
値3 -> 変化後のmode
値4 -> 未使用
値5 -> 未使用
命令対象に使える文字列
self = 自分
slave = 指定範囲内の取り巻きいずれか1匹
slaves = 指定範囲内の取り巻き全て
friend = 指定範囲内の仲間いずれか1匹取り巻きは含まない
friends = 指定範囲内の仲間全て(取り巻きは含まない)
group = 自分と指定範囲内の取り巻き全てself+slaves
5%の確率でmode149アクティブ+詠唱反応+追跡+移動)にチェンジ
  5%の確率でmode151上記+ルート)にチェンジ
1131,モードチェンジ@ジョーカー,idle,0,0,500,0,30000,no,modechange,always,0,self,0,149,,,
1131,モードチェンジ(ルート)@ジョーカー,idle,0,0,500,0,30000,no,modechange,always,0,self,0,151,,,
==========================================================================
12. db/homun_db.txt
--------------------------------------------------------------------------
Class,Name,JName,AcceID,FoodID,HP,SP,Str,Agi,Vit,Int,Dex,Luk,[Rate->]Base,HP_max,HP_min,SP_max,SP_min,Str,Agi,Vit,Int,Dex,Luk,aspd,{homun_script}
Class : Ragexe Sakexeで定義されたID
Name : 名前(英語)
Jname : 名前(日本語)
AcceID : ホムンクルスが装備することができるアクセサリのアイテムID
FoodID : ホムンクルスのエサとなるアイテムのID
HP : 作成直後のMHPの値
SP : 作成直後のMSPの値
Str,Agi,Vit,Int,Dex,Luk : 作成直後のステータスの値
[Rate->] : ここから上昇ステータスに関する値の設定。(区切り)
Base : レベルが1上がった時に、上昇するステータスの最大値
HP_max : レベルが上がった時に、上昇するHPの最大値
HP_min : レベルが上がった時に、上昇するHPの最低値
SP_max : レベルが上がった時に、上昇するSPの最大値
SP_min : レベルが上がった時に、上昇するSPの最低値
Str,Agi,Vit,Int,Dex,Luk : レベルが1上がった時に、上昇する確率を百分率で表した数値
Aspd : 固有Aspd係数
homun_script: ホムンクルスを持っている時適用されるステータスボーナスを設定(未実装)
========================================================================== ==========================================================================
EOF EOF

View File

@ -347,14 +347,13 @@ Effect list - #'s I found while testing, lots of possible advanced class effects
472. sprite error (effect\hanmoon6.tga?) 472. sprite error (effect\hanmoon6.tga?)
473. sprite error (effect\hanmoon7.tga?) 473. sprite error (effect\hanmoon7.tga?)
474. nothing (npc/mob?) 474. nothing (npc/mob?)
475-484 slow fade to blind, each one continues to make it smaller and smaller
475-484 = slow fade to blind, each one continues to make it smaller and smaller 485. white critical explosion thing
485 = white critical explosion thing 486. blue critical explosion thing
486 = blue critical explosion thing 487. black portal ground effect
487 = black portal ground effect 488. orange spikey aura that stretches up to fire type points
488 = orange spikey aura that stretches up to fire type points 489. yellow/gold of 488
489 = yellow/gold of 488 489. blue version
489 = blue version 491. a small expoision above the head
491 = a small expoision above the head 492. creates 1 small venom poison type of point on the ground
492 = creates 1 small venom poison type of point on the ground 493+ invalid effects
493+ = invalid effects

View File

@ -2,26 +2,28 @@ S map
R inter鯖=>map鯖 R inter鯖=>map鯖
パケット長リスト パケット長リスト
R 3800-388f R 3800-389f
-1,-1,27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1,-1,27, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 3800-
-1, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 7, 0, 0, 0, 0, 0, 0, -1,11, 0, 0, 0, 0, 0, 0, // 3810-
35,-1,11,15, 34,29, 7,-1, 0, 0, 0, 0, 0, 0, 0, 0, 35,-1,35,15, 34,29, 7,-1, 0, 0, 0, 0, 0, 0, 0, 0, // 3820-
10,-1,15, 0, 79,17, 7,-1, 0,-1,-1,-1, 14,67,186,-1, 10,-1,15, 0, 79,19, 7,-1, 0,-1,-1,-1, 14,67,186,-1, // 3830-
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9,-1, 0, 0, 0, 0, 0, 7,-1,-1,-1, 11,-1, 0, 0, // 3840-
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 3850-
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 3860-
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 7, 0, 0, 0, 0, 0, 0, // 3870-
11,-1, 7, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11,-1, 7, 3, 0, 0, 0, 0, -1, 7, 3, 0, 0, 0, 0, 0, // 3880-
S 3000-308f 31,51,51,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 3890-
-1,-1, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, S 3000-309f
6,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1,-1, 7, 0, -1, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 3000-
72, 6,52,14, 10,29, 6,-1, 34, 0, 0, 0, 0, 0, 0, 0, 6,-1, 0, 0, 0, 0, 0, 0, 10,-1, 0, 0, 0, 0, 0, 0, // 3010-
-1, 6,-1, 0, 55,17, 6,-1, 14,-1,-1,-1, 14,19,186,-1, 72, 6,52,14, 34,53, 6,-1, 34, 0, 0, 0, 0, 0, 0, 0, // 3020-
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 6,-1, 0, 55,19, 6,-1, 14,-1,-1,-1, 18,19,186,-1, // 3030-
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 9, 0, 0, 0, 0, 0, 0, 6,-1,10,10, 10, 0, 0, 0, // 3040-
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 3050-
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 3060-
48,14,-1, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 10,-1, 0, 0, 0, 0, 0, 0, // 3070-
48,14,-1, 6, 0, 0, 0, 0, -1,12,-1,12, 0, 0, 0, 0, // 3080-
31,51,51,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 3090-
@ -44,6 +46,12 @@ R 3802 <src-nick>.24B <flag>.B
flag=0 送信完了 flag=0 送信完了
flag=1 送信失敗(どのmap鯖にもそんな人いません) flag=1 送信失敗(どのmap鯖にもそんな人いません)
flag=2 送信失敗(ignoreされた) flag=2 送信失敗(ignoreされた)
S 3004 <len>.w <account_id>.l { <name>.32B <value>.l }.36B*
アカウント変数データ送信
R 3804 <len>.w <account_id>.l { <name>.32B <value>.l }.36B*
アカウント変数データ通知
S 3005 <account_id>.l
アカウント変数データ要求
S 3010 <account_id>.l S 3010 <account_id>.l
倉庫データ要求 倉庫データ要求
R 3810 <len>.w <account_id>.l <storage>.?B R 3810 <len>.w <account_id>.l <storage>.?B
@ -53,6 +61,16 @@ S 3011 <len>.w <account_id>.l <storage>.?B
R 3811 <account_id>.l <flag>.b R 3811 <account_id>.l <flag>.b
倉庫データ保存終了 倉庫データ保存終了
flag=0 成功現在の仕様では必ず0なので、返信を待たなくてもいい flag=0 成功現在の仕様では必ず0なので、返信を待たなくてもいい
S 3018 <account_id>.l <guild_id>.l
ギルド倉庫データ要求
R 3818 <len>.w <account_id>.l <guild_id>.l <storage>.?B
ギルド倉庫データ受信
guild_id=0ならギルドが存在しないのでデータ受信失敗
S 3019 <len>.w <account_id>.l<guild_id>.l <storage>.?B
ギルド倉庫データ送信&保存要求
R 3819 <account_id>.l<guild_id>.l <flag>.b
ギルド倉庫データ保存終了
flag=0 成功、flag=1 失敗(失敗の場合ギルドが存在しないことなので、返信を待たなくてもいい)
S 3020 <account_id>.l <party_name>.24B <nick_name>.24B <map_name>.16B <level>.w S 3020 <account_id>.l <party_name>.24B <nick_name>.24B <map_name>.16B <level>.w
パーティ作成要求 パーティ作成要求
@ -69,7 +87,7 @@ R 3821 <len>.w <struct party>.?B
(要求してきたマップ鯖へ) (要求してきたマップ鯖へ)
S 3022 <party_id>.l <account_id>.l <nick>.24B <map_name>.16B <level>.w S 3022 <party_id>.l <account_id>.l <nick>.24B <map_name>.16B <level>.w
パーティ追加要求 パーティ追加要求
R 3822 <party_id>.l <account_id>.l <fail>.B R 3822 <party_id>.l <account_id>.l <fail>.B <nick>.24B
パーティ追加通知(要求してきたマップ鯖へ) パーティ追加通知(要求してきたマップ鯖へ)
fail=00で成功、fail=01で失敗 fail=00で成功、fail=01で失敗
(成功時はこの直後に全鯖にパーティ情報が送られる) (成功時はこの直後に全鯖にパーティ情報が送られる)
@ -80,13 +98,13 @@ R 3823 <party_id>.l <account_id>.l <exp>.w <item>.w <fail>.B
fail=0x00 パーティ設定変更完了 fail=0x00 パーティ設定変更完了
fail=0x01 expの変更失敗 fail=0x01 expの変更失敗
fail=0x10 itemの変更失敗 fail=0x10 itemの変更失敗
S 3024 <party_id>.l <account_id>.l S 3024 <party_id>.l <account_id>.l <nick>.24B
パーティ脱退要求 パーティ脱退要求
R 3824 <party_id>.l <account_id>.l <nick>.24B R 3824 <party_id>.l <account_id>.l <nick>.24B
パーティ脱退通知(全マップ鯖へ) パーティ脱退通知(全マップ鯖へ)
S 3025 <party_id>.l <account_id>.l <map_name>.16B <online>.B <level>.w S 3025 <party_id>.l <account_id>.l <map_name>.16B <online>.B <level>.w <nick>.24B
パーティマップ更新/オンライン要求 パーティマップ更新/オンライン要求
R 3825 <party_id>.l <account_id>.l <map_name>.16B <online>.B <level>.w R 3825 <party_id>.l <account_id>.l <map_name>.16B <online>.B <level>.w <nick>.24B
パーティマップ更新通知(全マップ鯖へ) パーティマップ更新通知(全マップ鯖へ)
S 3026 <party_id>.l S 3026 <party_id>.l
パーティ解散要求(送られることはないと思われる) パーティ解散要求(送られることはないと思われる)
@ -151,7 +169,7 @@ R 383B <len>.w <guild_id>.l <position>.l <struct guild_position>.?B
ギルド役職変更通知 ギルド役職変更通知
S 303C <guild_id>.l <skill_num>.l <account_id>.l S 303C <guild_id>.l <skill_num>.l <account_id>.l
ギルドスキル割り振り ギルドスキル割り振り
R 383C <guild_id>.l <skill_num>.l <account_id>.l R 383C <guild_id>.l <skill_num>.l <account_id>.l <flag>.l
ギルドスキル割り振り(skill_num==0で失敗) ギルドスキル割り振り(skill_num==0で失敗)
S 303D <guild_id1>.l <guild_id2>.l <account_id1>.l <account_id2>.l <flag>.B S 303D <guild_id1>.l <guild_id2>.l <account_id1>.l <account_id2>.l <flag>.B
ギルド同盟/敵対要求 ギルド同盟/敵対要求
@ -168,17 +186,58 @@ S 303F <len>.w <guild_id>.l <dummy>.l <emblem_data>.?B
ギルドエンブレム変更要求 dummyは0固定 ギルドエンブレム変更要求 dummyは0固定
R 383F <len>.w <guild_id>.l <dummy>.l <emblem_data>.?B R 383F <len>.w <guild_id>.l <dummy>.l <emblem_data>.?B
ギルドエンブレム変更通知 ギルドエンブレム変更通知
(以下、ギルド系追加予定) S 3040 <castle_id>.w <index>.B
ギルド城データ要求
R 3840 <castle_id>.w <index>.B <value>.l
ギルド城データ要求返信
S 3041 <castle_id>.w <index>.B <value>.l
ギルド城データ変更要求
R 3841 <castle_id>.w <index>.B <value>.l
ギルド城データ変更通知
R 3842 <len>.w { <guild_castle>.?B }.?B
ギルド城データ一括送信
S 3048 <char_id>.l
メールBOX更新要求
R 3848 <account>.l <flag>.B
メールが送れたかどうかの応答
S 3049 <len>.w <struct mail_data>.?B
メール送信
R 3849 <len>.w <store>.l <char_name>.24B { <struct mail_data>.?B }.?B*
メール一覧送信
S 304a <char_id>.l <mail_num>.l
メールの削除要求
R 384a <len>.w <struct mail_data>.?B
新着メール通知
S 304b <char_id>.l <mail_num>.l
メールの選択受信
R 384b <len>.w <struct mail_data>.?B
指定されたメールの送信
S 304c <char_id>.l <mail_num>.l
メールに添付されたもの受信
R 384c <account>.l <mail_num>.l <flag>.B
メールの削除通知
R 384d <len>.w <account>.l <zeny>.l <struct item>.?B
指定されたメールに添付されていた物の情報送信
S 3070 <limit>.l
キャラ鯖の制限人数の変更送信
S 3078 <account_id>.l <char_id>.l
ステータス異常データ要求
R 3878 <len>.w <account_id>.l { <type>.w <val1>.l <val2>.l <val3>.l <val4>.l <tick>.l }.22B*
ステータス異常データ受信
S 3079 <len>.w <account_id>.l <char_id>.l { <type>.w <val1>.l <val2>.l <val3>.l <val4>.l <tick>.l }.22B*
ステータス異常データ保存要求
R 3879 <account_id>.l <flag>.B
ステータス異常データ保存終了
flag=0 成功現在の仕様では必ず0なので、返信を待たなくてもいい
S 3080 <account_id>.l <char_id>.I <pet_type>.w <pet_lv>.w <pet_egg_id>.w S 3080 <account_id>.l <char_id>.I <pet_type>.w <pet_lv>.w <pet_egg_id>.w
<pet_equip>.w <pet_intimate>.w <pet_hungry>.w <rename_flag>.B <incuvate>.B <pet_equip>.w <pet_intimate>.w <pet_hungry>.w <rename_flag>.B <incubate>.B
<pet_name>.24B <pet_name>.24B
ペット生成要求 ペット生成要求
R 3880 <account_id>.l <fail>.B <pet_id>.l R 3880 <account_id>.l <fail>.B <pet_id>.l
ペット生成成功可否 ペット生成成功可否
fail=00 ペット生成成功 fail=00 ペット生成成功
fail=01 失敗pet_idはゴミ fail=01 失敗pet_idはゴミ
S 3081 <account_id>.l <char_id>.I <pet_id>.l S 3081 <account_id>.l <char_id>.l <pet_id>.l
ペットデータ要求 ペットデータ要求
R 3881 <len>.w <account_id>.l <fail>.B <struct s_pet>.?B R 3881 <len>.w <account_id>.l <fail>.B <struct s_pet>.?B
ペットデータ受信 ペットデータ受信
@ -201,4 +260,37 @@ R 3883 <flag>.b
flag=1 失敗pet_idに当たるデータがない場合の物ですが既にデータが flag=1 失敗pet_idに当たるデータがない場合の物ですが既にデータが
いないと言うことは削除する必要がないことにもなりますので いないと言うことは削除する必要がないことにもなりますので
意味はありません) 意味はありません)
S 3088 <len>.w <account_id>.l <char_id>.l <struct mmo_homunstatus>.?B
ホム生成要求
R 3888 <len>.w <account_id>.l <incubate>.B <struct mmo_homunstatus>.?B
ホムデータ受信
S 3089 <account_id>.l <char_id>.l <homun_id>.w
ホムデータ要求
R 3889 <account_id>.l <flag>.B
ホムデータ保存終了
S 308a <len>.w <account_id>.l <struct mmo_homunstatus>.?B
ホムデータ保存要求
R 388a <flag>.B
ホムデータ削除終了
S 308b <account_id>.l <char_id>.l <homun_id>.w
ホムデータ削除要求
S 3090 <account_id>.l <target_name>.24B <flag>.B
target_nameの位置要求
flag=0 @where
flag=1 @jumpto
R 3890 <account_id>.l <target_name>.24B <flag>.B
target_nameの位置要求
S 3091 <account_id>.l <target_name>.24B <flag>.B <map_name>.16B <x>.w <y>.w
target_nameの位置応答
R 3891 <account_id>.l <target_name>.24B <flag>.B <map_name>.16B <x>.w <y>.w
target_nameの位置応答
S 3092 <account_id>.l <target_name>.24B <map_name>.16B <flag>.B <x>.w <y>.w
target_nameを指定位置に移動要求
flag=0 あなたに逢いたい
flag=1 @recall
R 3892 <account_id>.l <target_name>.24B <map_name>.16B <flag>.B <x>.w <y>.w
target_nameを指定位置に移動通知
S 3093 <len>.w <account_id>.l <message>.?B
account_idにmessageを送信
R 3893 <len>.w <account_id>.l <message>.?B
account_idにmessageを送信

View File

@ -10,11 +10,12 @@
//= Warp Points for Thor's Volcano Dungeon //= Warp Points for Thor's Volcano Dungeon
//===== Additional Comments: ================================= //===== Additional Comments: =================================
//= 1.0 Initial version [$ephiroth] //= 1.0 Initial version [$ephiroth]
//= 1.1 Updated warps, according to Japan site [$ephiroth]
//============================================================ //============================================================
//= Thor's Volcano Dungeon==================================== //= Thor's Volcano Dungeon====================================
thor_v01.gat,21,223,0 warp thor00 1,1,ve_fild03.gat,168,238 thor_v01.gat,21,223,0 warp thor00 1,1,ve_fild03.gat,168,238
thor_v01.gat,202,34,0 warp thor01 1,1,thor_v02.gat,74,205 thor_v01.gat,202,34,0 warp thor01 1,1,thor_v02.gat,190,57
thor_v02.gat,72,206,0 warp thor02 1,1,thor_v01.gat,199,34 thor_v02.gat,191,55,0 warp thor02 1,1,thor_v01.gat,199,34
thor_v02.gat,191,55,0 warp thor03 1,1,thor_v03.gat,31,272 thor_v02.gat,72,206,0 warp thor03 1,1,thor_v03.gat,31,272
thor_v03.gat,28,272,0 warp thor04 1,1,thor_v02.gat,190,57 thor_v03.gat,28,272,0 warp thor04 1,1,thor_v02.gat,74,205

View File

@ -32,6 +32,7 @@ extern char mapindex_cfgfile[80];
#define MAP_RACHEL "rachel.gat" #define MAP_RACHEL "rachel.gat"
#define MAP_VEINS "veins.gat" #define MAP_VEINS "veins.gat"
#define MAP_JAIL "sec_pri.gat" #define MAP_JAIL "sec_pri.gat"
#define MAP_NOVICE "new_zone01.gat"
unsigned short mapindex_name2id(char*); unsigned short mapindex_name2id(char*);
const char* mapindex_id2name(unsigned short); const char* mapindex_id2name(unsigned short);
void mapindex_init(void); void mapindex_init(void);

View File

@ -214,8 +214,6 @@ static int send_from_fifo(int fd)
if (len == SOCKET_ERROR) { if (len == SOCKET_ERROR) {
if (s_errno == S_ECONNABORTED) { if (s_errno == S_ECONNABORTED) {
ShowWarning("send_from_fifo: Software caused connection abort on session #%d\n", fd); ShowWarning("send_from_fifo: Software caused connection abort on session #%d\n", fd);
session[fd]->wdata_size = 0; //Clear the send queue as we can't send anymore. [Skotlex]
set_eof(fd);
FD_CLR(fd, &readfds); //Remove the socket so the select() won't hang on it. FD_CLR(fd, &readfds); //Remove the socket so the select() won't hang on it.
} }
if (s_errno != S_EWOULDBLOCK) { if (s_errno != S_EWOULDBLOCK) {

View File

@ -3316,7 +3316,7 @@ int atcommand_go(
{ MAP_UMBALA, 89, 157 }, // 12=Umbala { MAP_UMBALA, 89, 157 }, // 12=Umbala
{ MAP_NIFLHEIM, 21, 153 }, // 13=Niflheim { MAP_NIFLHEIM, 21, 153 }, // 13=Niflheim
{ MAP_LOUYANG, 217, 40 }, // 14=Lou Yang { MAP_LOUYANG, 217, 40 }, // 14=Lou Yang
{ "new_zone01.gat", 53, 111 }, // 15=Training Grounds { MAP_NOVICE, 53, 111 }, // 15=Training Grounds
{ MAP_JAIL, 23, 61 }, // 16=Prison { MAP_JAIL, 23, 61 }, // 16=Prison
{ MAP_JAWAII, 249, 127 }, // 17=Jawaii { MAP_JAWAII, 249, 127 }, // 17=Jawaii
{ MAP_AYOTHAYA, 151, 117 }, // 18=Ayothaya { MAP_AYOTHAYA, 151, 117 }, // 18=Ayothaya
@ -3352,7 +3352,8 @@ int atcommand_go(
clif_displaymessage(fd, " 12=Umbala 13=Niflheim 14=Lou Yang"); clif_displaymessage(fd, " 12=Umbala 13=Niflheim 14=Lou Yang");
clif_displaymessage(fd, " 15=Novice Grounds 16=Prison 17=Jawaii"); clif_displaymessage(fd, " 15=Novice Grounds 16=Prison 17=Jawaii");
clif_displaymessage(fd, " 18=Ayothaya 19=Einbroch 20=Lighthalzen"); clif_displaymessage(fd, " 18=Ayothaya 19=Einbroch 20=Lighthalzen");
clif_displaymessage(fd, " 21=Einbech 22=Hugel"); clif_displaymessage(fd, " 21=Einbech 22=Hugel 23=Rachel");
clif_displaymessage(fd, " 24=Veins");
return -1; return -1;
} else { } else {
// get possible name of the city and add .gat if not in the name // get possible name of the city and add .gat if not in the name
@ -3423,6 +3424,10 @@ int atcommand_go(
town = 21; town = 21;
} else if (strncmp(map_name, "hugel.gat", 3) == 0) { // 3 first characters } else if (strncmp(map_name, "hugel.gat", 3) == 0) { // 3 first characters
town = 22; town = 22;
} else if (strncmp(map_name, "rachel.gat", 3) == 0) { // 3 first characters
town = 23;
} else if (strncmp(map_name, "veins.gat", 3) == 0) { // 3 first characters
town = 24;
} }
if (town >= -3 && town <= -1) { if (town >= -3 && town <= -1) {