Cleaned up the doc folder. Removed outdated, untranslated, useless files and began normalizing a bit other ones~

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10292 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
DracoRPG 2007-04-19 11:08:28 +00:00
parent 8c57068853
commit e572506f1a
23 changed files with 50 additions and 30689 deletions

View File

@ -3,6 +3,9 @@ Date Added
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.
2007/04/20
* Cleaned up the doc folder. Removed outdated, untranslated, useless files
and began normalizing a bit other ones~ [DracoRPG]
2007/04/18
* Added MEXP overflow checks. [LuzZza]
* Added bonus5 bAutoSpell/bAutoSpellWhenHit. The new parameter is used to

View File

@ -1,281 +0,0 @@
===========================================================================
===========================================================================
DETAIL OF ADMINISTRATION PACKETS
---------------------------------------------------------------------------
---------------------------------------------------------------------------
===========================================================================
COMMON PACKETS FOR ALL SERVERS
---------------------------------------------------------------------------
S 7530 (void)
It's a request to obtain the version of the server.
Answer packet: 0x7531.
R 7531 <major_version>.B <minor_version>.B <revision>.B <release_flag>.B <official_flag>.B <server_type>.B <mod_version>.w
It's the reply to a request about the server version (0x7530).
It gives the information about the version of the server.
release_flag : 0 = release, 1 = debug
official_flag: 0 = official, 1 = mod
server_type: 1 = login, 2 = char, 4 = inter, 8 = map (add all values if the server have more than 1 type)
S 7532 (void)
End of connection (no reply is sended back)
===========================================================================
ADMINISTRATION PACKETS OF THE LOGIN-SERVER
---------------------------------------------------------------------------
NB: All information about an account can be obtain by an administration packet, except the password.
The login-server will never send back the password af an account.
If someone sniffs the password from the login-server, he can not obtain it.
But, it exists a packet to check the password.
It's to secure the password.
CONNECTION SYSTEM IN ADMINSTRATION MODE
S 7918 <encrypt_flag>.w <administration_password>.24(16)B
It's a request to obtain an (administration) connection on the login-server.
The packet size changes according to the encrypted password or not.
A non-encrypted password is sended with 24 bytes (plain text with NULL terminate),
and an encrypted password is sended with 16 bytes.
Answer packet: 0x7919.
encrypt_flag: 0 = plain text, 1 = md5 (key + password), 2 = md5 (password + key)
R 7919 <flag>.B
It's the reply to a request for an (administration) connection (0x7918).
Flag: 0 = accepted, 1 = refused
S 791a (void)
It's a request to obtain the encrypted key. This key is used to create the encrypted password.
This packet must be called before the packet 0x7918 if you want connect you with an encrypted password.
The reply is the packet 0x01dc, as like a player sends a connection request with the packet 0x01db.
PACKETS OF ADMINISTRATION MODE
R 791f (void)
Ready signal (no reply is sended back). NOT USED.
S 7920 <start_id>.l <end_id>.l
It's a request to obtain an accounts list.
start_id: 0 for begining of the list, or presumed start id value of the first account.
end_id: 0 to go until the last id, or the upper id limit value that you want.
If 'end_id' is lower to 'start_id', you give no limit for the last id.
Answer packet: 0x7921.
R 7921 <length>.w { <account_id>.l <GM_level>.B <account_name>.24B <sex>.B <count>.l <state>.l }.38B*
It's tje reply packet of the packet 0x7920.
It gives an accounts list.
If you receive at least an account, you must do an additional request (packet 0x7920 begining with the last received account id +1)
to be sure that you receive all asked accounts, because this packet is limited in size when it sends information.
if <state> is 7, there are 2 possibilities: banishement or state{Your are Prohibited to log in until %s}.
S 7930 <account_name>.24B <password>.24B <sex>.B <E-mail>.40B
It's a request to create a new account.
If e-mail is not valid, the e-mail is replaced by the default e-mail (a@a.com).
The default e-mail is like no e-mail to protect your characters against a deletion.
Answer packet: 0x7931.
R 7931 <account_id>.l <account_name>.24B
It's the reply to an account creation (0x7930).
If the account_id value is -1, the login-server fails to create the new account
(an account already exists with the same name, the request is invalid, etc.).
Otherwise, the account_id is the id of the new account.
S 7932 <account_name>.24B
It's a request to delete an account.
Answer packet: 0x7933.
R 7933 <account_id>.l <account_name>.24B
It's the reply to an account deletion (0x7932).
If the account_id value is -1, the login-server fails to delete the account (the account doesn't exist).
Otherwise, the account_id is the id of the deleted account.
The login-server returns the correct sensitive case account_name (use strcmpi to compare).
S 7934 <account_name>.24B <password>.24B
It's a request to modify the password of an account.
Answer packet: 0x7935.
R 7935 <account_id>.l <account_name>.24B
It's the reply to an password modification (0x7934).
If the account_id value is -1, the login-server fails to modify the password (the account doesn't exist).
Otherwise, the account_id is the id of the account that the login-server have modified the password.
The login-server returns the correct sensitive case account_name (use strcmpi to compare).
S 7936 <account_name>.24B <state>.l <error_message>.20B
It's a request to modify the state of an account.
State: It's the state like the packet 0x006a +1.
Error_message: it's the message of the error code #6 = Your are Prohibited to login until <error_message> (packet 0x006a).
If state is 7 (6+1), the error_message is saved in the account.
For another state, the error_message is deleted (voided) in the account.
Answer packet: 0x7937.
R 7937 <account_id>.l <account_name>.24B <state>.l
It's the reply to a state modification (0x7936).
If the account_id value is -1, the login-server fails to modify the state (the account doesn't exist).
Otherwise, the account_id is the id of the account that the login-server have modified the state.
The login-server returns the correct sensitive case account_name (use strcmpi to compare).
S 7938 (void)
It's a request to obtain information about the servers connected to the login-server (servers list with details)
Answer packet: 0x7939.
R 7939 <length>.w {<IP>.l <port>.w <server_name>.20B <#_of_users>.w <maintenance>.w <new>.w}.32B*
It's the reply to an request to obtain servers information (0x7938).
It returns all information about the servers connected on the login-server.
S 793a <account_name>.24B <password>.24B
It's a request to test a password. REMEMBER: Never create a packet to send the password from the login-server.
Answer packet: 0x793b.
S 793b <account_id>.l <account_name>.24B
It's the reply to a password check (0x793a).
If the account_id value is -1, the login-server doesn't valid the password (the account doesn't exist or the password is not the correct one).
Otherwise, the account_id is the id of the account that the login-server have checked the password.
The login-server returns the correct sensitive case account_name (use strcmpi to compare).
S 793c <account_name>.24B <sex>.B
It's a request to modify the sex of an account.
Answer packet: 0x793d.
R 793d <account_id>.l <account_name>.24B
It's the reply to a request to modify a sex (0x793c).
If the account_id value is -1, the login-server fails to modify the sex (the account doesn't exist or the sex is already the good sex).
Otherwise, the account_id is the id of the account that the login-server have modified the sex.
The login-server returns the correct sensitive case account_name (use strcmpi to compare).
S 793e <account_name>.24B <GM_level>.B
It's a request to modify the GM level of an account.
Answer packet: 0x793f.
R 793f <account_id>.l <account_name>.24B
It's the reply to a request to modify a GM level (0x793e).
If the account_id value is -1, the login-server fails to modify the GM level (the account doesn't exist, or GM_account file can not be modified or the GM level is already the good sex).
Otherwise, the account_id is the id of the account that the login-server have modified the GM level.
The login-server returns the correct sensitive case account_name (use strcmpi to compare).
S 7940 <account_name>.24B <e-mail>.40B
It's a request to modify the email of an account.
Answer packet: 0x7941.
R 7941 <account_id>.l <account_name>.24B
It's the reply to a request to modify an email (0x7940).
If the account_id value is -1, the login-server fails to modify the e-mail (the account doesn't exist).
Otherwise, the account_id is the id of the account that the login-server have modified the email.
The login-server returns the correct sensitive case account_name (use strcmpi to compare).
S 7942 <account_name>.24B <length_of_memo>.w <memo>.(length_of_memo)B
It's a request to modify the memo of an account.
The length can be 0 to have a void memo.
Answer packet: 0x7943.
R 7943 <account_id>.l <account_name>.24B
It's the reply to an request to modify a memo (0x7942).
If the account_id value is -1, the login-server fails to modify the memo (the account doesn't exist).
Otherwise, the account_id is the id of the account that the login-server have modified the memo.
The login-server returns the correct sensitive case account_name (use strcmpi to compare).
S 7944 <account_name>.24B
It's a request to obtain (by the name) the id of an account.
Answer packet: 0x7945.
R 7945 <account_id>.l <account_name>.24B
It's the reply to an request (by the name) to obtain an account id (0x7944).
If the account_id value is -1, the login-server fails to obtain the account id (the account doesn't exist).
Otherwise, the account_id is the id of the found account.
The login-server returns the correct sensitive case account_name (use strcmpi to compare).
S 7946 <account_id>.l
It's a request to obtain (by the id) the name of an account.
Answer packet: 0x7947.
R 7947 <account_id>.l <account_name>.24B
It's the reply to an request (by the id) to obtain an account name (0x7946).
If the account_name value is "" (void), the login-server fails to obtain the account name (the account id doesn't exist).
Otherwise, the account_name is the name of the found account.
S 7948 <account_name>.24B <validity>.l
It's a request to set the validity date of an account.
This packet fixes an absolute validity time.
Answer packet: 0x7949.
R 7949 <account_id>.l <account_name>.24B <validity>.l
It's the reply to an request to set the validity date of an account (0x7948).
If the account_id value is -1, the login-server fails to set the validity date (the account doesn't exist).
Otherwise, the account_id is the id of the account that the login-server have fixed the validity date.
The login-server returns the correct sensitive case account_name (use strcmpi to compare).
S 794a <account_name>.24B <end_date_of_banishment>.l
It's a request to set the final date of a banishment of an account.
This packet fixes an absolute time for the end of the banishment.
Answer packet: 0x794b.
R 794b <account_id>.l <account_name>.24B <end_date_of_banishment>.l
It's the reply to an request to set the final date of a banishment of an account (0x794a).
If the account_id value is -1, the login-server fails to set the final date of a banishment (the account doesn't exist).
Otherwise, the account_id is the id of the account that the login-server have fixed the final date of a banishment.
The login-server returns the correct sensitive case account_name (use strcmpi to compare).
S 794c <account_name>.24B <+/-years_modification>.w <+/-months_modification>.w <+/-days_modification>.w <+/-hours_modification>.w <+/-minutes_modification>.w <+/-seconds_modification>.w
It's a request to adjust the final date of a banishment of an account.
This packet modifies the final date of a banishment by add/sustract of some parameters.
If you adjust a non-banished account, you fix a banishment with actual time + adjustments.
Answer packet: 0x794d.
R 794d <account_id>.l <account_name>.24B <end_date_of_banishment>.l
It's the reply to an request to adjust the final date of a banishment of an account (0x794c).
If the account_id value is -1, the login-server fails to adjust the final date of a banishment (the account doesn't exist).
Otherwise, the account_id is the id of the account that the login-server have adjusted the final date of a banishment.
The login-server returns the correct sensitive case account_name (use strcmpi to compare).
Note: if value is impossible, the returned value is the (unchanged) value of the final date of the banishment.
S 794e <broadcast_type>.W <length_of_message>.L <message>.(length_of_message)B
It's a request to send a broadcast to all map-servers.
The length can not be 0.
broadcast_type:
0: normal (yellow)
0x10: blue
Answer packet: 794f.
R 794f <answaer>.W
It's the reply to an request to send a broadcast to all map-servers (794e).
If the answer value is -1, the login-server fails to send the message (no char-server are conected).
Otherwise, the answer is 0.
S 7950 <account_name>.24B <+/-years_modification>.w <+/-months_modification>.w <+/-days_modification>.w <+/-hours_modification>.w <+/-minutes_modification>.w <+/-seconds_modification>.w
It's a request to adjust the validity date of an account.
This packet modifies the validity date by add/sustract of some parameters.
You can not adjust an unlimited validity date.
Answer packet: 0x7951.
R 7951 <account_id>.l <account_name>.24B <validity>.l
It's the reply to an request to adjust the validity date of an account (0x7950).
If the account_id value is -1, the login-server fails to adjust the validity date (the account doesn't exist).
Otherwise, the account_id is the id of the account that the login-server have found to try the adjustement of the validity date.
The login-server returns the correct sensitive case account_name (use strcmpi to compare).
If the returned validity date is 0, the login-server haven't modify the validity date (the account have an unlimited validity,
the modification is impossible because the new date is too far in the future, etc...).
If the returned validity date is not 0, it's the new validity date of the account.
S 7952 <account_name>.24B
It's a request (by name) to obtain complete information about an account.
Answer packet: 0x7953.
R 7953 <account_id>.l <GM_level>.B <account_name>.24B <sex>.B <count>.l <state>.l <error_message>.20B <last_login_time>.24B <last_authorised_login_ip>.16B <email>.40B <validity_date>.l <until_ban_date>.l <length_of_memo>.w <memo>.(length_of_memo)B
It's the reply to an request to obtain complete information about an account (0x7952 and 0x7954).
It sends all informations about an account.
Reply of 0x7952:
If the account_id value is -1, the login-server fails to found the account (the account doesn't exist).
Otherwise, the account_id is the id of the found account.
The login-server returns the correct sensitive case account_name (use strcmpi to compare).
Reply of 0x7954:
If the account_name value is "" (void), the login-server fails to found the account (the account id doesn't exist).
Otherwise, the account_name is the name of the found account.
S 7954 <account_id>.l
It's a request (by id) to obtain complete information about an account.
Answer packet: 0x7953.
S 7955
It's a request to re-load GM file definition.
Answer packet: NONE.

Binary file not shown.

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,125 +0,0 @@
==========================================================================
サーバーが強制終了する場合のcoredumpによる詳細なバグ報告方法
--------------------------------------------------------------------------
< このファイルは何? >
Athena使用中にmap-server.exeなどが突然落ちた場合に、落ちたときのスタックの
バックトレースをを開発者に伝える方法を解説する。
バグ報告の時に併用すると開発者が喜ぶかもしれない。
ここでの「落ちる」はあくまでサーバーであり、クライアントではない。
またプロセスがcoreまたはstackdumpを吐く現象のことであり、
無限ループなどのプロセスは生きているがサーバーの機能は提供されない状態の
ことではない。
--------------------------------------------------------------------------
< 目次 >
* Cygwinでのstackdumpとcore
Cygwin上でcoreファイルを吐く方法を紹介する。
* coreファイルからスタックのバックトレースを得る
プログラムが吐いたcoreからバックトレースを得る方法を紹介する。
* 例
実際にとったログの例を示す。
* Windows 用バイナリの場合
--------------------------------------------------------------------------
< Cygwinでのstackdumpとcore >
Cygwinでプログラムが強制終了するアクセス違反などによるもの場合、標準では
coreではなくstackdumpを吐く。これは全くといって良いほど役に立たないため、
stackdumpをコピペされても開発者はおそらく見ないだろう。
よって次の方法で、stackdumpではなくcoreを吐くようにする。
** 環境変数に「error_start=dumper.exe」を追加する **
よくわからない場合、次のように作業するといい。Win2000でのみ確認
* デスクトップの「マイコンピュータ」を右クリックして「プロパティ」を出す。
* [詳細]タブを開き、[環境変数]ボタンをクリックする。
* ユーザー環境変数、システム環境変数のどちらか「CYGWIN」という変数がないか探す
* ある場合は、選択して[編集]ボタンを押し、[変数値]に「error_start=dumper.exe」
を追加する。既に何かの単語がある場合は、単語を区切るため、
追加する部分の最初に半角スペースを入れることを忘れないこと。
* ない場合は、システム環境変数に(Administrator権限がないならユーザー環境変数)
の[新規]ボタンを押して、[変数名]に「CYGWIN」、辺数値に
「error_start=dumper.exe」を入力する。
* OKを押してウィンドウを閉じ、Cygwinを起動しなおせばよい
こうしておくと、stackdumpの変わりにcoreを吐くようになる。
サイズが大きい場合、coreを吐くのには多少時間がかかる。
またcoreを吐いている間、dumper.exeというプログラムのウィンドウが表示される。
--------------------------------------------------------------------------
< coreファイルからスタックのバックトレースを得る >
coreを吐く場合、まず開発者はスタックのバックトレースを欲しがる。エラー個所を
判断しやすいからだ。よって、gdbでバックトレースを取り出そう。
まず、次のようにしてgdbを起動する。ここではmap-server.exeを例に出す。
UNIX系OSではコアファイル名を修正する必要があるだろう。「core」など
$ gdb -c map-server.exe.core
なにやら色々英文が表示され、最後に (gdb) というプロンプトが出たはずだ。
この直前にエラーの起こった関数やファイル名などと、その内容が表示されている
はずなので、これはコピペすべきだ。
また、ここで「bt」と入力すると、スタックのバックトレースが表示される。
これもコピペするとよい。ただし、あまりにも長い場合は最初の十数行程度で
十分だろう。
ちなみに、「p 変数名」のように入力すると変数を見たりも出来る。
関連しそうな変数の値を色々表示して一緒にコピペすると開発者が喜ぶかもしれない。
gdbを終了する場合は、「q」と打ち込む。
--------------------------------------------------------------------------
< 例 >
以下はmob.cのmob_warp()関数でわざとアクセス違反を起こしてとったログである。
エラーの場所、どういう順で呼び出されたかがわかるだろう。
もちろん、Athenaのパッチ番号の報告を忘れないこと。
パッチが違うと、ソースファイルが変わるので、行番号が役に立たなくなるためだ。
なお以下の例では、バックトレース以外に、
pコマンドを使って該当のMOBの名前英語と、マップの名前を表示している。
(FAKE_ANGEL, gef_dun03.gat)
#0 mob_warp (md=0x10119c88, x=-1, y=-1, type=-1) at mob.c:1845
1845 memset(NULL,0,1);
(gdb) bt
#0 mob_warp (md=0x10119c88, x=-1, y=-1, type=-1) at mob.c:1845
#1 0x0042609d in mob_ai_sub_lazy (key=0x68e77f5, data=0x10119c88,
app=0x22fe88 "、<>\"") at mob.c:1412
#2 0x00455b54 in db_foreach (table=0x22fe88, func=0x610691f2 <select+242>)
at db.c:414
#3 0x10119c88 in ?? ()
#4 0x0022fe88 in ?? ()
#5 0x610691f2 in select ()
(gdb) p mob_db[md->class].name
$1 = "FAKE_ANGEL\000\203t\203F\203C\203N\203G\203\223\203"
(gdb) p map[md->bl.m].name
$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

@ -1,650 +0,0 @@
==========================================================================
Athena dev 2.1.1 mod0659 現在のdbのリファレンスα
--------------------------------------------------------------------------
< このファイルは何? >
Athenaのdbファイルの設定方法のリファレンスです。
< dbのリスト >
cast_db.txt スキルのキャスティング時間とディレイ、維持時間等を設定。
skill_db.txt スキルのデータを設定。
skill_require_db.txt スキル使用条件を設定。
skill_unit_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/skill_cast_db.txt
--------------------------------------------------------------------------
id,cast_list,fixed_cast_list,delay_list,upkeep_time,upkeep_time2
id: スキルのIDです。
cast_list: スキルのキャスティング時間を設定します。レベル別に設定する場合は「:」を使います。
fixed_cast_list: DEX等の補正に影響されないスキルのキャスティング時間を設定します。レベル別に設定する場合は「:」を使います。(メモライズには影響を受けます)
delay_list: スキルのディレイ時間を設定します。レベル別に設定する場合は「:」を使います。
upkeep_time:スキルの維持時間を設定します。レベル別に設定する場合は「:」を使います。
upkeep_time2:スキルによって起こる状態異常の維持時間を設定します。レベル別に設定する場合は「:」を使います。(ただ速度減少はupkeep_timeを使いますので注意してください。)
※武器の追加効果による状態異常はMG_STONECURSE(石化)、MG_FROSTDIVER(凍結)、NPC_STUNATTACK(スタン)、NPC_SLEEPATTACK(睡眠)、TF_POISON(毒)、NPC_CURSEATTACK(呪い)、NPC_SILENCEATTACK(沈黙)、NPC_BLINDATTACK(暗黒)、LK_HEADCRUSH(出血)のupkeep_time2を使います。(レベルは7で適用)
※急所攻撃の場合最大レベルは1ですがバッシュのレベルによって異常時間を変更できるので複数設定も可能です。
※マキシマイズパワーとクローキングのupkeep_timeは維持時間ではなくSPが1減る時間です。
==========================================================================
2. db/skill_db.txt
--------------------------------------------------------------------------
id,range,hit,inf,pl,nk,max,list_num,castcancel,cast_defence_rate,inf2,maxcount,skill_type,blow_count
id: スキルのIDです。
range: スキルの射程距離です。レベル別に設定する場合は「:」を使います。-1はキャラの武器射程と同じと言う意味で-2ならキャラの武器射程+1、-3ならキャラの武器射程+2になります。
hit: 連打なら8、単発なら6(スキルのヒット数じゃありません。)
inf: スキル情報です。
0-パッシブ、1-敵、2-場所、4-即時発動、16-味方、32-罠
複数の物を入れると(数値を足して)正しく動作しません。
pl: スキルの属性です。
0-無 1-水 2-地 3-火 4-風 5-毒 6-聖 7-暗 8-念 9-不死
nk: 付加 1効果 2吹き飛ばし 4発動時に射線チェック
MaxLv: スキルの最大レベルです。
list_num: Hit回数のリストです。レベル別に設定する場合は「:」を使います。
castcancel: スキルがキャンセルされるかどうかを設定します。yesはキャンセルされる物でnoはキャンセルされない物です。
cast_defence_rate: キャスティング中に低下する防御力の比率です。ボウリングバッシュやクランドクロスのようにスキルキャスティング中に防御が減るスキルの設定に使います。
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は置けないと言う意味ではなく制限がない物と言う意味です。
skill_type: スキルの種類を設定します。weaponは武器スキルでmagicは魔法スキル、miscは武器でも魔法でもないスキルです。noneは決め難しい物等に設定します。ただこれを変えたとしてもスキルのダメージ計算がこれに合わせて変わるわけではなくダメージの計算はプログラムレベルで行なっています。これはスペルブレイカーで詠唱中止されるかどうかを設定する為の物です。(他のスキルでこの設定を使用する可能性もありますが今の所スペルブレイカーのみです。) magicに設定するとスペルブレイカーで詠唱中止されます。
blow_count: スキルよるノックバック距離です。レベル別に設定する場合は「:」を使います。
==========================================================================
3. db/skill_require_db.txt
--------------------------------------------------------------------------
id,list_hp,list_sp,list_hp_rate,list_sp_rate,list_zeny,list_weapon,state,spiritball,itemid1,amount1,itemid2,amount2,itemid3,amount3,itemid4,amount4,itemid5,amount5,itemid6,amount6,itemid7,amount7,itemid8,amount8,itemid9,amount9,itemid10,amount10
id: スキルのIDです。
list_hp: スキル使用で減るHPの量です。レベル別に設定する場合は「:」を使います。
list_sp: スキル使用で減るSPの量です。レベル別に設定する場合は「:」を使います。
list_hp_rate: スキル使用で減るHPの比率です。レベル別に設定する場合は「:」を使います。(正数の場合は現在HP、負数の場合は最大HPの比率です。)
list_sp_rate: スキル使用で減るSPの比率です。レベル別に設定する場合は「:」を使います。(正数の場合は現在SP、負数の場合は最大SPの比率です。)
list_zeny: スキル使用で減るゼニの量です。レベル別に設定する場合は「:」を使います。
list_weapon: スキルを使うことができる武器を設定します。
99 - 全ての武器、0 - 素手、1 - 短剣、2 - 片手剣、3 - 両手剣、4 - 片手槍、
5 - 両手槍、6 - 片手斧、7 - 両手斧、8 - 片手鈍器、9 - 両手鈍器、10 - ロッド、
11 - 弓、12 - ナックル、13 - 楽器、14 - 鞭、15 - 本、16 - カタール、
17 - ハンドガン 18 - ライフル 19 - ショットガン 20 - ガトリンガン
21 - グレネードランチャー 22 - 手裏剣
23~28: 二刀流
23 - 短剣+短剣 24 - 片手剣+片手剣 25 - 片手斧+片手斧
26 - 短剣+片手剣 27 - 短剣+片手斧 28 - 片手剣+片手斧
複数を設定する場合は「:」を使います。
state:スキルを使用する為の条件を設定します。複数の設定はできません。
none - 条件無し
hiding - ハイディング状態
cloaking - クローキング状態。
hidden: ハイディングやクロッキング状態
riding: ペコペコに乗っている
falcon: 鷹を連れている
cart: カートを着けている
shield: シールドを持っている
sight: サイト状態
explosionspirits: 爆裂波動状態
recover_weight_rate: 自然回復できる重量
move_enable: スキル使用位置が移動可能な場所
water: 足元が水
spiritball: スキル使用に必要な気弾の数です。レベル別に設定する場合は「:」を使います。
itemid1: スキル使用に必要なアイテムのID、ポーションピッチャーの場合レベル別に使うことになるアイテムID
amount1: スキル使用に必要なアイテムの数(数が0の場合アイテムのIDがあるとアイテムは減らないけど触媒としてそのアイテムを持っている必要があるようになります。) ポーションピッチャーの場合レベル別に使うことになるアイテム数
itemid2: 上同
amount2: 上同
itemid3: 上同
amount3: 上同
itemid4: 上同
amount4: 上同
itemid5: 上同
amount5: 上同
itemid6: 上同
amount6: 上同
itemid7: 上同
amount7: 上同
itemid8: 上同
amount8: 上同
itemid9: 上同
amount9: 上同
itemid10: 上同
amount10: 上同
==========================================================================
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: モンスターIDです。
Name: 英語名前(ダミー)
JName: 名前
ItemID: 捕獲用のアイテムID
EggID: 卵のアイテムID
AcceID: 装備アクセサリーのアイテムID
FoodID: 餌のアイテムID
Fullness: 1回の餌での満腹度増加率%
HungryDelay: 満腹度が1%減る為にかかる時間(秒)
R_Hungry: 空腹時餌やり親密度増加量
R_Full: とても満腹時餌やり親密度減少量
Intimate: 捕獲時親密度
Die: 死亡時親密度減少量
Capture: 捕獲率(万分率)
Speed: 移動速度
S_Performance: スペシャルパフォマンスがあるかどうか(1であり0でなし)
talk_convert_class: 台詞を他のペットの物に変更。変更したいペットのモンスターIDを入れます。0の場合変更なしでマイナスを入れるとエモーション以外の物(台詞)は全て無視されます。
attack_rate: 支援攻撃確率。(万分率) 主人が攻撃をしかけた場合。
defence_attack_rate: 支援攻撃確率。(万分率) 主人が攻撃を受けた場合。
change_target_rate: 攻撃目標を変更する確率。(万分率)
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
--------------------------------------------------------------------------

View File

@ -1,4 +1,4 @@
//===== Athena Script =====================================
//===== Athena Doc=== =====================================
//= eAthena Job System
//===== By ================================================
//= Skotlex
@ -6,8 +6,6 @@
//= 0.1
//=========================================================
//= 0.1 - First release, explained as well as I could.
//===== Compatible With ===================================
//= ... does not apply.
//===== Description =======================================
//= A reference description of eA's inner job system (for
//= use on scripts through the eaclass and roclass script
@ -81,6 +79,7 @@ If we had used addition, we would have gotten a completely different result.
The EAJL (eA Job Level) constants
-------------------------------------------------------------------------------
There are a few constants which can be used to filter out and make job comparisons easier.
EAJL_2_1:

View File

@ -1,7 +1,14 @@
------------------
client effect list
------------------
Credits: Valaris, Spira, Au{R}oN, Tharis, HiddenDragon
//===== Athena Doc ========================================
//= Client Effect List
//===== By ================================================
//= Valaris, Spira, Au{R}oN, Tharis, HiddenDragon
//===== Version ===========================================
//= 1.0
//=========================================================
//= 1.0 - Formatted to the standard
//===== Description =======================================
//= A list of client-side effects sorted by their ID
//=========================================================
The following is a compiled list of visual and sound effects which the client
can produce when receiving a packet with id 0x1f3 (01f3 <ID>.l <type>.l).

View File

@ -1,478 +0,0 @@
GM Commands Help File
By Akaru (updated by erKURITA)
-----------------------
To use these commands, type them inside the message window where you usually type to chat.
<ANNOUNCEMENT COMMANDS>
/nb <message>
@kami <message>
Lets you make a GM global announcement without a name (in yellow)
@kamib <message>
Lets you make a GM global announcement without a name (in blue)
/b/@broadcast <message>
Lets you make a GM global announcement with your name
/lb/@localbroadcast <message>
Broadcasts a GM message with name of the GM (in yellow) ONLY on your map
/nlb <message>
Broadcasts a GM message without name of the GM (in yellow) ONLY on your map
<INFORMATION COMMANDS>
@who [match_text]
Lists who is currently online in your server and their location
@who2 [match_text]
Lists who is currently online in your server and their job
@who3 [match_text]
Lists who is currently online in your server and their party/guild
@whomap [map]
Display a listing of who is online and where in a specifical map
@whomap2 [map]
Display a listing of who is online and their job in a specifical map
@whomap3 [map]
Display a listing of who is online and their party/guild in a specifical map
@whogm [match_text]
Like @who+@who2+who3, but only for GM.
@where <char name>
Tells you the location of a character
@charstatsall
Displays stats of all characters.
@charitemlist <char name>
Displays all items of a player.
@charstoragelist <char name>
Displays all items of a player's storage.
@charcartlist <char name>
Displays all items of a player's cart.
@time/@date/@server_date/@serverdate/@server_time/@servertime
Display the date/time of the server
@idsearch <part_of_item_name>
Search all items that name have part_of_item_name
@ignorelist
Displays your ignore list
@mapinfo [<1-3> [map]]
Give information about a map (general info +: 0: no more, 1: players, 2: NPC, 3: shops/chat).
@rates
Displays the server rates.
@uptime
Show server uptime
@showdelay
Shows/Hides the "there is a delay after a skill" message.
@mobinfo / @monsterinfo / @mi
Show Monster info (rates, stats, drops, MVP stuff)
@iteminfo / @ii
Show Item info (type, price, etc)
@refresh
Syncs the position of the player on the client with the one stored in the server.
@time / @date / @server_date / @serverdate / @servertime / @server_time
Gives server time
@version
Displays SVN Version of the server
<CONTROL COMMANDS>
@die
Kill yourself :)
@alive
Revive yourself from death
@kill <char name>
Kills specified character name
Example:
@kill TestChar -> The character named TestChar is dead
@nuke <char name>
Kills specified character (nuclear effect).
@save
Sets save point as current location
@load
Warps you to your save point (a.k.a. butterfly wing)
@warp <map name> <x> <y>
@rura <map name> <x> <y>
@mapmove <map name> <x> <y>
/mm <map name> <x> <y>
/mapmove <map name> <x> <y>
Warps you to the selected position
Example:
@warp morocc 150 160 -> Warps you to Morroc (X:150, Y:160)
@rura prontera 50 80 -> Warps you to Prontera (X:50, Y:80)
@jump [x [y]]
Teleports you randomly in the map (a.k.a. fly wing)
/shift/@jumpto/@warpto/@goto <char name>
Warps you to selected character
Example:
@jumpto TestChar -> You are warped to TestChar's current location
@go <number/city_name>
Warps you to a set city:
-3: (Memo point 2) 1: morocc 5: izlude 9: yuno 13: niflheim
-2: (Memo point 1) 2: geffen 6: aldebaran 10: amatsu 14: louyang
-1: (Memo point 0) 3: payon 7: xmas (lutie) 11: gonryun 15: start point
0: prontera 4: alberta 8: comodo 12: umbala 16: prison/jail
/hide/@hide
GM Hide. Perfect hide that's totally invinsible.
@heal [<HP> <SP>] - Heals the desired amount of HP and SP. No value specified will do a full heal.
@storage - Opens storage
/recall/@recall <char name> - Warps target character to you.
@recallall - Recalls everyone on the server to you.
@guildrecall <guild_name/id> - Warps all online character of a guild to you.
@partyrecall <party_name/id> - Warps all online character of a party to you.
@revive <char name> - Revives target character.
<SPAWNING COMMANDS>
/item <item_name> - Gives you 1 of the desired item.
@item <item name or ID> <quantity> - Gives you the desired item.
/monster <monster_name> - Spawns 1 of the desired monster.
@spawn/@monster/@summon <monster_name_or_monster_ID> [<number to spawn> [<desired_monster_name> [<x coord> [<y coord>]]]]
@monster2 <desired_monster_name> <monster_name_or_monster_ID> [<number to spawn> [<x coord> [<y coord>]]]
@spawn/@monster/@summon/@monster2 "desired monster name" <monster_name_or_monster_ID> [<number to spawn> [<x coord> [<y coord>]]]
@spawn/@monster/@summon/@monster2 <monster_name_or_monster_ID> "desired monster name" [<number to spawn> [<x coord> [<y coord>]]]
Spawns the desired monster with any desired name.
<MAP OPTIONS COMMANDS>
@pvpon - Turns pvp on on the current map
@pvpoff - Turns pvp off on the current map
@gvgon - Turns gvg on on the current map
@gvgoff - Turns gvg off on the current map
<CHARACTER CONTROL COMMANDS>
@baselvlup <number of levels> - Raises your base level the desired number of levels. The max is 99
@joblvlup <number of levels> - Raises your job level the desired number of levels. The max is 50
@job/@jobchange <job ID>
Changes your job to the job assigned to the ID
0 Novice 7 Knight 14 Crusader 22 Formal
1 Swordman 8 Priest 15 Monk 23 Super Novice
2 Mage 9 Wizard 16 Sage
3 Archer 10 Blacksmith 17 Rogue
4 Acolyte 11 Hunter 18 Alchem
5 Merchant 12 Assassin 19 Bard
6 Thief 13 Knight2 20 Dancer
21 Crusader2
24 Novice High 31 Lord Knight 38 Paladin
25 Swordman High 32 High Priest 39 Monk
26 Mage High 33 High Wizard 40 Professor
27 Archer High 34 Whitesmith 41 Stalker
28 Acolyte High 35 Sniper 42 Creator
29 Merchant High 36 Assassin Cross 43 Clown
30 Thief High 37 Peko Knight 44 Gypsy
45 Paladin2
@option <param1> <param2> <param3>
Changes options for your character
<param1> <param2> (Stackable) <param3> (Stackable)
01 Petrified 01 Poison 01 Sight
02 Frozen 02 Cursed 02 Hide
03 Stunned 04 Silenced 04 Cloak
04 Sleeping 08 ??? 08 Level 1 Cart
06 darkness 16 darkness 16 Falcon
32 Peco Peco riding
64 GM Perfect Hide
128 Level 2 Cart
256 Level 3 Cart
512 Level 4 Cart
1024 Level 5 Cart
2048 Orc Head
4096 Wedding Sprites
8192 Ruwach
@speed <1-1000>
Changes you walking speed.
1(Fastest)<---140(Default)----------------->1000(Slowest)
@disguise <monster_name_or_monster_ID>
Change your appearence to other players to a mob.
@undisguise
Restore your normal appearance.
@model <hair ID> <hair color> <clothes color>
Changes your characters appearance (Hair type, Hair Colour and/or Clothes Colour)
Hair ID (0-17) Hair Colour (0-8) Clothes Colour (0-4)
0 Default 0 Default
1 Blonde 1 Red
2 Purple 2 Green
3 Brown 3 White
4 Green 4 Brown
5 Blue
6 White
7 Black
8 Red
@effect <effect_id> [flag]
Give an efect to your character.
@stpoint <number of points>
Gives you the desired number of stat points.
@skpoint <number of points>
Gives you the desired number of skill points.
@zeny <amount>
Gives you desired amount of Zeny.
@str <amount>
@agi <amount>
@vit <amount>
@int <amount>
@dex <amount>
@luk <amount>
Adds desired amount to any stat. For example "@str 10" raises your str by 10
@spiritball <number>
Number = 1-1000
Gives you monk "spirit spheres" like from the skill "Call Spirits"
(If the number you use is > 1000, your server may become instable or crash)
@memo [memo_position]
set/change a memo location (no position: display memo points).
@questskill <id>
Gives you the specified quest skill
@lostskill <id>
Takes away the specified quest skill from you
Quest Skill ID:
Novice
142 = Emergency Care
143 = Act dead
Swordsman
144 = Moving HP Recovery
145 = Attack Weak Point
146 = Auto Berserk
Magician
157 = Energy Coat
Archer
147 = Arrow Creation
148 = Charge Arrows
Acolyte
156 = Holy Light
Merchant
153 = Cart Revolution
154 = Change Cart
155 = Crazy Uproar/Loud Voice
Thief
149 = Throw Sand
150 = Back Sliding
151 = Take Stone
152 = Stone Throw
<GUILD CONTROL COMMANDS>
@guildlvup/@guildlvlup <# of levels> - Raise Guild by desired number of levels
<EQUIPMENT COMMANDS>
@refine <position> <+/-amount>
Upgrades equipment at the position specified (Stackable)
0 - All
1 - Lower Head
2 - Right Hand
4 - Robe/Garment
8 - Left Accessory
16 - Body/Armor
32 - Left Hand
64 - Feet
128 - Right Accessory
256 - Top Head
512 - Mid Head
Example:
@refine 34 10 - Refines a 2 handed weapon to +10
@refine 16 4 - Refines the body/armor to +4
@produce <equip name or equip ID> <element> <# of very's>
Element: 0=None 1=Ice 2=Earth 3=Fire 4=Wind
# of very's: 0=None 1=Very Strong 2=Very Very Strong 3=Very Very Very Strong
Example: @produce 1163 3 3 - Produces a Very Very Very Strong (Your Nick)'s Fire Claymore
<Q-PET/cutePET COMMANDS>
@hatch - Create a pet from your inventory eggs list.
@makeegg <ID> - Gives pet egg for monster ID in pet DB
@petfriendly <#> - Set pet friendly amount (0-1000) 0 = Min, 1000 = Max
@pethungry <#> - Set pet hungry amount (0-100) 0 = Min, 100 = Max
@petrename - Re-enable pet rename
<REMOTE CHAR COMMANDS>
@charwarp <map name> <x> <y> <char name>
Warps character to location of choice
Example:
@charwarp morocc 150 160 TestChar -> Warps TestChar to Morroc (X:150, Y:160)
@charstats <char name>
Displays the character's stats.
@charignorelist <char name>
Displays ignore list of the player
@inall <char name>
Allows all wispers for the player
@exall <char name>
Blocks all wispers for the player
@charoption <param1> <param2> <param3> <char name>
Does the same as the @option command only to target character.
@charmountpeco <charname>
Give/remove to a player a peco (Class is required, but not skill).
@charpetrename <charname>
Re-enable pet rename to a player.
@charsave <map> <x> <y> <char name>
Changes the target player's respawn point.
@charbaselvl <#> <char name>
Change a character's base level.
@charjlvl <#> <char name>
Change a character's job level.
@charjob/@charjobchange <job ID> <char name>
Changes target character's job.
@charzeny <amount> <char name>
Give/take a player's Zeny
@charstpoint <amount> <char name>
Give/take a player's stat points
@charskpoint <amount> <char name>
give/take a player's skill points
@charquestskill <#> <charname>
Gives to a player the specified quest skill.
@charlostskill <#> <charname>
Takes away the specified quest skill from the player.
@chardelitem <item_name_or_ID> <quantity> <player>
Remove items from a character
@charmodel <hair type> <hair color> <clothes color> <char name>
Changes a player's model
@chardisguise <monster_name_or_monster_ID> <char name>
Changes disguise of a player
@charundisguise <char name>
Cancels disguise of a player
@charchangesex <name>
Changes sex of a player (all characters of the account)
@charblock/@block <name>
Blocks definitively a account
@charunblock/@unblock <name>
Unblocks a account
@charban/@ban/@banish/@charbanish <time> <name>
Ban temporarily a account
time usage: adjustement (+/- value) and element (y/a, m, d/j, h, mn, s)
Example: @ban +1m-2mn1s-6y testplayer
@charunban/@unban/@unbanish/@uncharbanish <name>
Unban a account
@jail <char_name>
Sends specified character in jails
@unjail/@discharge <char_name>
Discharges specified character/prisoner
<MASS CONTROL COMMANDS>
@night
All characters are in darkness
@day
@option 00 00 00 are used on all characters
@doom
Kills all NON GM chars on the server.
@doommap
Kills all non GM characters on the map.
@raise
Resurrects all characters on the server.
@raisemap
Resurrects all characters on the map.
@kick <charname>
Kicks specified character off the server
@kickall
Kick all characters off the server
<OTHER COMMANDS>
@gat ---- デバッグ用(周辺gatを調べる)
@packet ---- デバッグ用(パケット色々)
@mapexit
Kick all players and shut down map-server.
@reloaditemdb
Reload item database (admin command)
@reloadmobdb
Reload monster database (admin command)
@reloadskilldb
Reload skills definition database (admin command)
@reloadscript
Reload all scripts (admin command)
@reloadgmdb
Reload GM levels (admin command)
@enablenpc <NPC_name>
Enable a NPC (admin command)
@disablenpc <NPC_name>
Disable a NPC (admin command)
@email <actual@email> <new@email>
to change your e-mail (characters protection)

View File

@ -1,296 +0,0 @@
S map鯖=>inter鯖
R inter鯖=>map鯖
パケット長リスト
R 3800-389f
-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, -1,11, 0, 0, 0, 0, 0, 0, // 3810-
35,-1,35,15, 34,29, 7,-1, 0, 0, 0, 0, 0, 0, 0, 0, // 3820-
10,-1,15, 0, 79,19, 7,-1, 0,-1,-1,-1, 14,67,186,-1, // 3830-
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, // 3850-
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, -1, 7, 0, 0, 0, 0, 0, 0, // 3870-
11,-1, 7, 3, 0, 0, 0, 0, -1, 7, 3, 0, 0, 0, 0, 0, // 3880-
31,51,51,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 3890-
S 3000-309f
-1,-1, 7, 0, -1, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 3000-
6,-1, 0, 0, 0, 0, 0, 0, 10,-1, 0, 0, 0, 0, 0, 0, // 3010-
72, 6,52,14, 34,53, 6,-1, 34, 0, 0, 0, 0, 0, 0, 0, // 3020-
-1, 6,-1, 0, 55,19, 6,-1, 14,-1,-1,-1, 18,19,186,-1, // 3030-
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, // 3050-
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 3060-
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-
S 3000 <len>.w <message>.?B
GMメッセージ送信要求
R 3800 <len>.w <message>.?B
GMメッセージ
S 3001 <len>.w <src-nick>.24B <dst-nick>.24B <message>.?B
Wis送信要求
R 3801 <len>.w <wis-id>.l <src-nick>.24B <dst-nick>.24B <message>.?B
Wisデータ受信
wis-id=inter鯖内部のWis-idmap鯖では3002で送信するためだけに使う
S 3002 <wis-id>.l <flag>.B
このmap鯖でのWisの送信結果
flag=0 送信完了(このmap鯖にいたので、送信した)
flag=1 送信失敗(このmap鯖にはそんな人いません)
flag=2 送信終了(このmap鯖にいるが、ignoreされている)
R 3802 <src-nick>.24B <flag>.B
全map鯖でのWis送信結果
flag=0 送信完了
flag=1 送信失敗(どのmap鯖にもそんな人いません)
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
倉庫データ要求
R 3810 <len>.w <account_id>.l <storage>.?B
倉庫データ受信
S 3011 <len>.w <account_id>.l <storage>.?B
倉庫データ送信&保存要求
R 3811 <account_id>.l <flag>.b
倉庫データ保存終了
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
パーティ作成要求
R 3820 <account_id>.l <fail>.B <party_id>.l <party_name>.24B
パーティ成功可否(自分のマップ鯖のみ)
fail=00 パーティ作成成功
fail=01 失敗party_id,pary_nameはゴミ
S 3021 <party_id>.l
パーティ情報要求
R 3821 <len>.w <struct party>.?B
(struct partyの最初バイトはparty_id)
len=8 パーティは存在しない(受信したら該当キャラを未所属に変更する)
len>8 パーティ情報(受信したらクライアントに送ること)
(要求してきたマップ鯖へ)
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 <nick>.24B
パーティ追加通知(要求してきたマップ鯖へ)
fail=00で成功、fail=01で失敗
(成功時はこの直後に全鯖にパーティ情報が送られる)
S 3023 <party_id>.l <account_id>.l <exp>.w <item>.w
パーティ設定変更要求
R 3823 <party_id>.l <account_id>.l <exp>.w <item>.w <fail>.B
パーティ設定変更通知(成功の場合全マップ鯖へ通知)
fail=0x00 パーティ設定変更完了
fail=0x01 expの変更失敗
fail=0x10 itemの変更失敗
S 3024 <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 <nick>.24B
パーティマップ更新/オンライン要求
R 3825 <party_id>.l <account_id>.l <map_name>.16B <online>.B <level>.w <nick>.24B
パーティマップ更新通知(全マップ鯖へ)
S 3026 <party_id>.l
パーティ解散要求(送られることはないと思われる)
R 3026 <party_id>.l <fail>.B
パーティ解散
fail=00 パーティは解散された今のところ必ず00
map鯖内の不要データ削除のためだけに使われる
S 3027 <len>.w <party_id>.l <account_id>.l <message>.?B
パーティ内発言要求
R 3827 <len>.w <party_id>.l <account_id>.l <message>.?B
パーティ内発言通知(全マップ鯖へ)
S 3028 <party_id>.l <account_id>.l <nick>.24B
別パーティに所属していないかチェック<party_id>は本来の所属
S 3030 <len>.w <account_id>.l <guild_name>.24B <struct guild_member>.?B
ギルド作成要求
R 3830 <account_id>.l <guild_id>.l
ギルド作成可否(guild_id=0で失敗)
S 3031 <guild_id>.l
ギルド情報要求
R 3831 <len>.w <struct guild>.?B
ギルド情報
len=8 ギルドは存在しない
len>8 ギルド情報
S 3032 <len>.w <guild_id>.l <struct guild_member>.?B
ギルドメンバ追加要求
R 3832 <guild_id>.l <account_id>.l <charactor_id>.l <fail>.B
ギルド追加メンバ通知
fail=0で成功,1で失敗
S 3034 <guild_id>.l <account_id>.l <charactor_id>.l <flag>.B <mes>.40B
ギルド脱退/追放要求
flag=0 脱退 / 1 追放
R 3834 <guild_id>.l <account_id>.l <charactor_id>.l <flag>.B <mes>.40B <nick>.24B
ギルド脱退/追放通知
S 3035 <guild_id>.l <account_id>.l <charactor_id>.l <online>.B <lv>.w <class>.w
ギルドメンバ情報更新要求
R 3835 <guild_id>.l <account_id>.l <charactor_id>.l <online>.B <lv>.w <class>.w
ギルドメンバ情報更新通知
S 3036 <guild_id>.l
ギルド解散要求
R 3836 <guild_id>.l <fail>.B
ギルド解散通知
flag=00 解散成功 / 01 失敗
S 3037 <len>.w <guild_id>.l <account_id>.l <message>.?B
ギルド発言要求
R 3837 <len>.w <guild_id>.l <account_id>.l <message>.?B
ギルド発言通知
S 3038 <guild_id>.l <account_id>.l <charactor_id>.l
別ギルドに所属していないかチェック
S 3039 <len>.w <guild_id>.l <type>.w <data>.?B
各種基本情報更新要求
R 3839 <len>.w <guild_id>.l <type>.w <data>.?B
各種基本情報更新通知
S 303A <len>.w <guild_id>.l <account_id>.l <char_id>.l <type>.w <data>.?B
各種ギルドメンバ情報更新要求
R 383A <len>.w <guild_id>.l <account_id>.l <char_id>.l <type>.w <data>.?B
各種ギルドメンバ情報更新通知
S 303B <len>.w <guild_id>.l <position>.l <struct guild_position>.?B
ギルド役職変更要求
R 383B <len>.w <guild_id>.l <position>.l <struct guild_position>.?B
ギルド役職変更通知
S 303C <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で失敗)
S 303D <guild_id1>.l <guild_id2>.l <account_id1>.l <account_id2>.l <flag>.B
ギルド同盟/敵対要求
flag=0 同盟 / 1 敵対 / 8 同盟解除 / 9 敵対解除
R 383D <guild_id1>.l <guild_id2>.l <account_id1>.l <account_id2>.l <flag>.B <name1>.24B <name2>.24B
ギルド同盟/敵対通知
flag=0 同盟 / 1 敵対
flag=0x10 同盟失敗 / 0x11 敵対失敗
S 303E <guild_id>.l <message1>.60B <message2>.120B
ギルド告知設定要求
R 383E <guild_id>.l <message1>.60B <message2>.120B
ギルド告知設定通知
S 303F <len>.w <guild_id>.l <dummy>.l <emblem_data>.?B
ギルドエンブレム変更要求 dummyは0固定
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
<pet_equip>.w <pet_intimate>.w <pet_hungry>.w <rename_flag>.B <incubate>.B
<pet_name>.24B
ペット生成要求
R 3880 <account_id>.l <fail>.B <pet_id>.l
ペット生成成功可否
fail=00 ペット生成成功
fail=01 失敗pet_idはゴミ
S 3081 <account_id>.l <char_id>.l <pet_id>.l
ペットデータ要求
R 3881 <len>.w <account_id>.l <fail>.B <struct s_pet>.?B
ペットデータ受信
fail=00 ペットデータ転送
fail=01 ペットのデータがないかもしくはaccount_idかchar_idが合わないので
失敗s_petはゴミ
S 3082 <len>.w <account_id>.l <struct s_pet>.?B
ペットデータ送信&保存要求
R 3882 <account_id>.l <flag>.b
ペットデータ保存終了
flag=0 成功現在の仕様ではメモリ不足以外には必ず0なので、返信を
待たなくてもいい)
flag=1 失敗
S 3083 <pet_id>.l
ペットデータ削除要求
R 3883 <flag>.b
ペットデータ削除終了
flag=0 成功現在の仕様では既にデータがいない場合以外は必ず0なので、
返信を待たなくてもいい)
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

@ -1,4 +1,16 @@
//eAthena Items Scripting Manual
//===== Athena Doc ========================================
//= eAthena Item Bonuses List
//===== By ================================================
//= Developers
//===== Version ===========================================
//= 1.0
//=========================================================
//= 1.0 - Standardized doc file
//===== Description =======================================
//= List of script instructions used in item bonuses,
//= mainly bonus/bonus2/bonus3/bonus4/bonus5 arguments
//=========================================================
skill i,n; Gives skill #i at level n

View File

@ -1,5 +1,5 @@
//===== Athena Doc ========================================
//= Map Cache Builder and Format Documentation
//= eAthena Map Cache Builder and Format Documentation
//===== By ================================================
//= DracoRPG
//===== Version ===========================================

View File

@ -1,552 +0,0 @@
// ****************************************************
// * Miscellaneous Notes (Added by MC Cameri) *
// ****************************************************
// *****************************************************************
// * Emotions that will be shown if 'int type' is one of the case. *
// *****************************************************************
void clif_emotion(struct block_list *bl,int type);
case for 'int type':
0 = ! 10 = KO (Scissor) 20 = Hmmm 30 = Kiss 1 (R) 40 = Tsk tsk tsk (No)
1 = ? 11 = Fist (Stone) 21 = Number 1! 31 = Kiss 2 (L) 41 = Petting
2 = Music 12 = Hand (Paper) 22 = No (??) 32 = Smoking 42 = SP! (Timer)
3 = Heart 1 13 = Korean Flag 23 = OMG!! 33 = Okay 43 = Obsessed 2 (Dumb face, eyes popping)
4 = Sweat 14 = Heart 2 24 = O 34 = ... (Bugged) 44 = Come (Moving finger)
5 = Light bulb 15 = Thanks 25 = X 35 = ??? Flag 45 = Yawn (Sleepy)
6 = Annoyed 16 = Wah (Crying) 26 = Help! 36 = Evil 2 46 = Congratulations
7 = Smoke cloud 17 = Sorry 27 = Go! 37 = Obsessed 1 47 = HP! (Timer)
8 = $ 18 = Heh (Laughing) 28 = Sobbing 38 = Two Hearts
9 = ... 19 = Sweating 29 = Evil 1 39 = Tongue
// ********************************
// * Elemental Defense Resistance *
// ********************************
sd->subele[0] - Neutral Property
sd->subele[1] - Water Property
sd->subele[2] - Earth Property
sd->subele[3] - Fire Property
sd->subele[4] - Wind Property
sd->subele[5] - Poison Property
sd->subele[6] - Holy Property
sd->subele[7] - Shadow Property
sd->subele[8] - Ghost Property
sd->subele[9] - Undead Property
// ***************************************
// * Elemental Monster Attack Resistance *
// ***************************************
sd->subrace[0] - Neutral Type
sd->subrace[1] - Undead Type
sd->subrace[2] - Brute Type
sd->subrace[3] - Plant Type
sd->subrace[4] - Insect Type
sd->subrace[5] - Fish Type
sd->subrace[6] - Demon Type
sd->subrace[7] - Demi-Human Type
sd->subrace[8] - Angel Type
sd->subrace[9] - Dragon Type
sd->subrace[10] - Boss Type #1?
sd->subrace[11] - Boss Type #2?
// **************
// * Misc stuff *
// **************
WFIFOL(fd,2)=1; - Sever Closed
// *******************
// * Skills List *
// *******************
// * ID = Skill Name *
// *******************
ID Skill Name
1 = NV_BASIC
2 = SM_SWORD
3 = SM_TWOHAND
4 = SM_RECOVERY
5 = SM_BASH
6 = SM_PROVOKE
7 = SM_MAGNUM
8 = SM_ENDURE
9 = MG_SRECOVERY
10 = MG_SIGHT
11 = MG_NAPALMBEAT
12 = MG_SAFETYWALL
13 = MG_SOULSTRIKE
14 = MG_COLDBOLT
15 = MG_FROSTDIVER
16 = MG_STONECURSE
17 = MG_FIREBALL
18 = MG_FIREWALL
19 = MG_FIREBOLT
20 = MG_LIGHTNINGBOLT
21 = MG_THUNDERSTORM
22 = AL_DP
23 = AL_DEMONBANE
24 = AL_RUWACH
25 = AL_PNEUMA
26 = AL_TELEPORT
27 = AL_WARP
28 = AL_HEAL
29 = AL_INCAGI
30 = AL_DECAGI
31 = AL_HOLYWATER
32 = AL_CRUCIS
33 = AL_ANGELUS
34 = AL_BLESSING
35 = AL_CURE
36 = MC_INCCARRY
37 = MC_DISCOUNT
38 = MC_OVERCHARGE
39 = MC_PUSHCART
40 = MC_IDENTIFY
41 = MC_VENDING
42 = MC_MAMMONITE
43 = AC_OWL
44 = AC_VULTURE
45 = AC_CONCENTRATION
46 = AC_DOUBLE
47 = AC_SHOWER
48 = TF_DOUBLE
49 = TF_MISS
50 = TF_STEAL
51 = TF_HIDING
52 = TF_POISON
53 = TF_DETOXIFY
54 = ALL_RESURRECTION
55 = KN_SPEARMASTERY
56 = KN_PIERCE
57 = KN_BRANDISHSPEAR
58 = KN_SPEARSTAB
59 = KN_SPEARBOOMERANG
60 = KN_TWOHANDQUICKEN
61 = KN_AUTOCOUNTER
62 = KN_BOWLINGBASH
63 = KN_RIDING
64 = KN_CAVALIERMASTERY
65 = PR_MACEMASTERY
66 = PR_IMPOSITIO
67 = PR_SUFFRAGIUM
68 = PR_ASPERSIO
69 = PR_BENEDICTIO
70 = PR_SANCTUARY
71 = PR_SLOWPOISON
72 = PR_STRECOVERY
73 = PR_KYRIE
74 = PR_MAGNIFICAT
75 = PR_GLORIA
76 = PR_LEXDIVINA
77 = PR_TURNUNDEAD
78 = PR_LEXAETERNA
79 = PR_MAGNUS
80 = WZ_FIREPILLAR
81 = WZ_SIGHTRASHER
83 = WZ_METEOR
84 = WZ_JUPITEL
85 = WZ_VERMILION
86 = WZ_WATERBALL
87 = WZ_ICEWALL
88 = WZ_FROSTNOVA
89 = WZ_STORMGUST
90 = WZ_EARTHSPIKE
91 = WZ_HEAVENDRIVE
92 = WZ_QUAGMIRE
93 = WZ_ESTIMATION
94 = BS_IRON
95 = BS_STEEL
96 = BS_ENCHANTEDSTONE
97 = BS_ORIDEOCON
98 = BS_DAGGER
99 = BS_SWORD
100 = BS_TWOHANDSWORD
101 = BS_AXE
102 = BS_MACE
103 = BS_KNUCKLE
104 = BS_SPEAR
105 = BS_HILTBINDING
106 = BS_FINDINGORE
107 = BS_WEAPONRESEARCH
108 = BS_REPAIRWEAPON
109 = BS_SKINTEMPER
110 = BS_HAMMERFALL
111 = BS_ADRENALINE
112 = BS_WEAPONPERFECT
113 = BS_OVERTHRUST
114 = BS_MAXIMIZE
115 = HT_SKIDTRAP
116 = HT_LANDMINE
117 = HT_ANKLESNARE
118 = HT_SHOCKWAVE
119 = HT_SANDMAN
120 = HT_FLASHER
121 = HT_FREEZINGTRAP
122 = HT_BLASTMINE
123 = HT_CLAYMORETRAP
124 = HT_REMOVETRAP
125 = HT_TALKIEBOX
126 = HT_BEASTBANE
127 = HT_FALCON
128 = HT_STEELCROW
129 = HT_BLITZBEAT
130 = HT_DETECTING
131 = HT_SPRINGTRAP
132 = AS_RIGHT
133 = AS_LEFT
134 = AS_KATAR
135 = AS_CLOAKING
136 = AS_SONICBLOW
137 = AS_GRIMTOOTH
138 = AS_ENCHANTPOISON
139 = AS_POISONREACT
140 = AS_VENOMDUST
141 = AS_SPLASHER
142 = NV_FIRSTAID
143 = NV_TRICKDEAD
144 = SM_MOVINGRECOVERY
145 = SM_FATALBLOW
146 = SM_AUTOBERSERK
147 = AC_MAKINGARROW
148 = AC_CHARGEARROW
149 = TF_SPRINKLESAND
150 = TF_BACKSLIDING
151 = TF_PICKSTONE
152 = TF_THROWSTONE
153 = MC_CARTREVOLUTION
154 = MC_CHANGECART
155 = MC_LOUD
156 = AL_HOLYLIGHT
157 = MG_ENERGYCOAT
158 = NPC_PIERCINGATT
159 = NPC_MENTALBREAKER
160 = NPC_RANGEATTACK
161 = NPC_ATTRICHANGE
162 = NPC_CHANGEWATER
163 = NPC_CHANGEGROUND
164 = NPC_CHANGEFIRE
165 = NPC_CHANGEWIND
166 = NPC_CHANGEPOISON
167 = NPC_CHANGEHOLY
168 = NPC_CHANGEDARLNESS
169 = NPC_CHANGETELEKINESIS
170 = NPC_CRITICALSLASH
171 = NPC_COMBOATTACK
172 = NPC_GUIDEATTACK
173 = NPC_SELFDESTRUCTION
174 = NPC_SPLASHATTACK
175 = NPC_SUICIDE
176 = NPC_POISON
177 = NPC_BLINDATTACK
178 = NPC_SILENCEATTACK
179 = NPC_STUNATTACK
180 = NPC_PETRIFYATTACK
181 = NPC_CURSEATTACK
182 = NPC_SLEEPATTACK
183 = NPC_RANDOMATTACK
184 = NPC_WATERATTACK
185 = NPC_GROUNDATTACK
186 = NPC_FIREATTACK
187 = NPC_WINDATTACK
188 = NPC_POISONATTACK
189 = NPC_HOLYATTACK
190 = NPC_DARKNESSATTACK
191 = NPC_TELEKINESISATTACK
192 = NPC_MAGICALATTACK
193 = NPC_METAMORPHOSIS
194 = NPC_PROVOCATION
195 = NPC_SMOKING
196 = NPC_SUMMONSLAVE
197 = NPC_EMOTION
198 = NPC_TRANSFORMATION
199 = NPC_BLOODDRAIN
200 = NPC_ENERGYDRAIN
201 = NPC_KEEPING
202 = NPC_DARKBREATH
203 = NPC_DARKBLESSING
204 = NPC_BARRIER
205 = NPC_DEFENDER
206 = NPC_LICK
207 = NPC_HALLUCINATION
208 = NPC_REBIRTH
209 = NPC_SUMMONMONSTER
210 = RG_SNATCHER
211 = RG_STEALCOIN
212 = RG_BACKSTAP
213 = RG_TUNNELDRIVE
214 = RG_RAID
215 = RG_STRIPWEAPON
216 = RG_STRIPSHIELD
217 = RG_STRIPARMOR
218 = RG_STRIPHELM
219 = RG_INTIMIDATE
220 = RG_GRAFFITI
221 = RG_FLAGGRAFFITI
222 = RG_CLEANER
223 = RG_GANGSTER
224 = RG_COMPULSION
225 = RG_PLAGIARISM
226 = AM_AXEMASTERY
227 = AM_LEARNINGPOTION
228 = AM_PHARMACY
229 = AM_DEMONSTRATION
230 = AM_ACIDTERROR
231 = AM_POTIONPITCHER
232 = AM_CANNIBALIZE
233 = AM_SPHEREMINE
234 = AM_CP_WEAPON
235 = AM_CP_SHIELD
236 = AM_CP_ARMOR
237 = AM_CP_HELM
248 = CR_TRUST
249 = CR_AUTOGUARD
250 = CR_SHIELDCHARGE
251 = CR_SHIELDBOOMERANG
252 = CR_REFLECTSHIELD
253 = CR_HOLYCROSS
254 = CR_GRANDCROSS
255 = CR_DEVOTION
256 = CR_PROVIDENCE
257 = CR_DEFENDER
258 = CR_SPEARQUICKEN
259 = MO_IRONHAND
260 = MO_SPIRITSRECOVERY
261 = MO_CALLSPIRITS
262 = MO_ABSORBSPIRITS
263 = MO_TRIPLEATTACK
264 = MO_BODYRELOCATION
265 = MO_DODGE
266 = MO_INVESTIGATE
267 = MO_FINGEROFFENSIVE
268 = MO_STEELBODY
269 = MO_BLADESTOP
270 = MO_EXPLOSIONSPIRITS
271 = MO_EXTREMITYFIST
272 = MO_CHAINCOMBO
273 = MO_COMBOFINISH
274 = SA_ADVANCEDBOOK
275 = SA_CASTCANCEL
276 = SA_MAGICROD
277 = SA_SPELLBREAKER
278 = SA_FREECAST
279 = SA_AUTOSPELL
280 = SA_FLAMELAUNCHER
281 = SA_FROSTWEAPON
282 = SA_LIGHTNINGLOADER
283 = SA_SEISMICWEAPON
284 = SA_DRAGONOLOGY
285 = SA_VOLCANO
286 = SA_DELUGE
287 = SA_VIOLENTGALE
288 = SA_LANDPROTECTOR
289 = SA_DISPELL
290 = SA_ABRACADABRA
291 = SA_MONOCELL
292 = SA_CLASSCHANGE
293 = SA_SUMMONMONSTER
294 = SA_REVERSEORCISH
295 = SA_DEATH
296 = SA_FORTUNE
297 = SA_TAMINGMONSTER
298 = SA_QUESTION
299 = SA_GRAVITY
300 = SA_LEVELUP
301 = SA_INSTANTDEATH
302 = SA_FULLRECOVERY
303 = SA_COMA
304 = BD_ADAPTATION
305 = BD_ENCORE
306 = BD_LULLABY
307 = BD_RICHMANKIM
308 = BD_ETERNALCHAOS
309 = BD_DRUMBATTLEFIELD
310 = BD_RINGNIBELUNGEN
311 = BD_ROKISWEIL
312 = BD_INTOABYSS
313 = BD_SIEGFRIED
315 = BA_MUSICALLESSON
316 = BA_MUSICALSTRIKE
317 = BA_DISSONANCE
318 = BA_FROSTJOKE
319 = BA_WHISTLE
320 = BA_ASSASSINCROSS
321 = BA_POEMBRAGI
322 = BA_APPLEIDUN
323 = DC_DANCINGLESSON
324 = DC_THROWARROW
325 = DC_UGLYDANCE
326 = DC_SCREAM
327 = DC_HUMMING
328 = DC_DONTFORGETME
329 = DC_FORTUNEKISS
330 = DC_SERVICEFORYOU
334 = WE_MALE
335 = WE_FEMALE
336 = WE_CALLPARTNER
355 = LK_AURABLADE
356 = LK_PARRYING
357 = LK_CONCENTRATION
358 = LK_TENSIONRELAX
359 = LK_BERSERK
361 = HP_ASSUMPTIO
362 = HP_BASILICA
363 = HP_MEDITATIO
364 = HW_SOULDRAIN
365 = HW_MAGICCRASHER
366 = HW_MAGICPOWER
367 = PA_PRESSURE
368 = PA_SACRIFICE
369 = PA_GOSPEL
370 = CH_PALMSTRIKE
371 = CH_TIGERFIST
372 = CH_CHAINCRUSH
373 = PF_HPCONVERSION
374 = PF_SOULCHANGE
375 = PF_SOULBURN
376 = ASC_KATAR
377 = ASC_HALLUCINATION
378 = ASC_EDP
379 = ASC_BREAKER
380 = SN_SIGHT
381 = SN_FALCONASSAULT
382 = SN_SHARPSHOOTING
383 = SN_WINDWALK
384 = WS_MELTDOWN
385 = WS_CREATECOIN
386 = WS_CREATENUGGET
387 = WS_CARTBOOST
388 = WS_SYSTEMCREATE
389 = ST_CHASEWALK
390 = ST_REJECTSWORD
392 = CR_ALCHEMY
393 = CR_SYNTHESISPOTION
394 = CG_ARROWVULCAN
395 = CG_MOONLIT
396 = CG_MARIONETTE
397 = LK_SPIRALPIERCE
398 = LK_HEADCRUSH
399 = LK_JOINTBEAT
400 = HW_NAPALMVULCAN
401 = CH_SOULCOLLECT
402 = PF_MINDBREAKER
403 = PF_MEMORIZE
404 = PF_FOGWALL
405 = PF_SPIDERWEB
406 = ASC_METEORASSAULT
407 = ASC_CDP
408 = WE_BABY
409 = WE_CALLPARENT
410 = WE_CALLBABY
411 = TK_RUN
412 = TK_READYSTORM
413 = TK_STORMKICK
414 = TK_READYDOWN
415 = TK_DOWNKICK
416 = TK_READYTURN
417 = TK_TURNKICK
418 = TK_READYCOUNTER
419 = TK_COUNTER
420 = TK_DODGE
421 = TK_JUMPKICK
422 = TK_HPTIME
423 = TK_SPTIME
424 = TK_POWER
425 = TK_SEVENWIND
426 = TK_HIGHJUMP
427 = SG_FEEL
428 = SG_SUN_WARM
429 = SG_MOON_WARM
430 = SG_STAR_WARM
431 = SG_SUN_COMFORT
432 = SG_MOON_COMFORT
433 = SG_STAR_COMFORT
434 = SG_HATE
435 = SG_SUN_ANGER
436 = SG_MOON_ANGER
437 = SG_STAR_ANGER
438 = SG_SUN_BLESS
439 = SG_MOON_BLESS
440 = SG_STAR_BLESS
441 = SG_DEVIL
442 = SG_FRIEND
443 = SG_KNOWLEDGE
444 = SG_FUSION
445 = SL_ALCHEMIST
446 = AM_BERSERKPITCHER
447 = SL_MONK
448 = SL_STAR
449 = SL_SAGE
450 = SL_CRUSADER
451 = SL_SUPERNOVICE
452 = SL_KNIGHT
453 = SL_WIZARD
454 = SL_PRIEST
455 = SL_BARDDANCER
456 = SL_ROGUE
457 = SL_ASSASIN
458 = SL_BLACKSMITH
459 = BS_ADRENALINE2
460 = SL_HUNTER
461 = SL_SOULLINKER
462 = SL_KAIZEL
463 = SL_KAAHI
464 = SL_KAUPE
465 = SL_KAITE
466 = SL_KAINA
467 = SL_STIN
468 = SL_STUN
469 = SL_SMA
470 = SL_SWOO
471 = SL_SKE
472 = SL_SKA
10000 = GD_APPROVAL
10001 = GD_KAFRACONTRACT
10002 = GD_GUARDRESEARCH
10003 = GD_CHARISMA
10004 = GD_EXTENSION
// ************************
// * Item DB - Use Script *
// ************************
itemskill:
-Format: itemskill skill_id,skill_lvl,"name";
-Example: itemskill 28,3,"Heal"; //Healing skill
itemheal:
-Format: itemheal hp,sp;
-Example: itemheal 30,0; //+30 HP, +0 SP.
sc_start:
-Format: sc_start SC_CONSTANT,duration,value;
-Example: sc_start SC_POISON,1800,; //Starts Poison Status for 30 seconds
sc_end:
-Format: sc_end SC_CONSTANT;
-Example: sc_end SC_BLIND; //Ends Blind Status
warp:
-Format: warp "map",x,y;
-Example: warp "Random",0,0; //Fly wing
-Example: warp "SavePoint",0,0; //Butterfly wing
getitem:
-Format: getitem item_id,count;
-Example: getitem 512,2; //Gives you two Apples
produce:
-Format: produce produce_type;
-Example: produce 16; //Mini-furnace
pet:
-Format: pet pet_id;
-Example: pet 1002; //Taming item for Poring
monster:
-Example: monster "this",0,0,"--ja--",-1,1,""; //Dead branch
percentheal:
-Format: percentheal percent_hp,percent_sp;
-Example: percentheal 100,100; //Heals you 100% of both HP and SP
// **************************
// * Item DB - Equip Script *
// **************************

View File

@ -1,5 +1,18 @@
//===== Athena Doc ========================================
//= eAthena Monster Modes Reference
//===== By ================================================
//= Developers
//===== Version ===========================================
//= 1.0
//=========================================================
//= 1.0 - Standardized doc file
//===== Description =======================================
//= A reference description of eA's mob_db 'mode' field
//=========================================================
Bit Legend:
----------
-------------------------------------------------------------------------------
MD_CANMOVE | 0x0001 | 1
MD_LOOTER | 0x0002 | 2
MD_AGGRESSIVE | 0x0004 | 4
@ -16,7 +29,7 @@ MD_CHANGETARGET_MELEE | 0x1000 | 4096
MD_CHANGETARGET_CHASE | 0x2000 | 8192
Explanation for modes:
---------------------
-------------------------------------------------------------------------------
CanMove: Enables the mob to move/chase characters.
@ -57,8 +70,9 @@ Change Target Melee: Enables a mob to switch targets when attacked while
Change Target Chase: Enables a mob to switch targets when attacked while
chasing another character.
Aegis Mob Types
---------------
Aegis Mob Types:
-------------------------------------------------------------------------------
What Aegis has are mob-types, where each type represents an AI behaviour that
is mimicked by a group of eA mode bits. This is the table to convert from one
to another:

View File

@ -1,246 +0,0 @@
eAthena SQL Installation and Upgrade Instructions
1 Installation
1.1 Windows
1.2 Linux
1.3 FreeBSD
2 Upgrading
2.1 Upgrading from version 817
2.2 Upgrading from version 0.5.2
2.3 Upgrading from version 1.0 RC 1
3 Mail System
3.1 Adding the mail database
3.2 Activating the mail system
1 Installation
==============
1.1 Windows
-----------
1. It is not the aim of this document to explain the installation, concepts or usage of MySQL. If you are unfamiliar with MySQL, familiarise yourself with it and read at least these sections of the MySQL reference manual (http://dev.mysql.com/doc/mysql/en/index.html):
- 2.2.1 Installing MySQL on Windows
- 2.4 Post-Installation Setup and Testing
- 5.4 General Security Issues
- 5.5 The MySQL Access Privilege System
- 5.6 MySQL User Account Management
2. If fast and secure access to a MySQL server is unavailable, install, start and configure MySQL database server version 4.0.x. If you are using a version of Windows which is a member of the NT family, we recommend that you install MySQL as a service.
3. Create a new database and a new user account with only SELECT, INSERT, UPDATE and DELETE privileges on the database. For example:
CREATE DATABASE ragnarok;
GRANT
SELECT,INSERT,UPDATE,DELETE
ON `ragnarok`.* # database
TO 'ragnarok'@'localhost' # username@address
IDENTIFIED BY 'password'; # password
For security, do not use the password "password" for your user account.
4. Execute the batch queries stored in sql\main.sql. If you want your item and monster databases stored in your MySQL database, execute sql\database.sql too. For example:
mysql -D ragnarok -h localhost -u root -p < sql/main.sql | more && mysql -D ragnarok -h localhost -u root -p < sql/database.sql | more
5. Add an inter-server account for every character server you intend to link to your login server. For example:
USE ragnarok
INSERT INTO `login`
(`userid`,`user_pass`,`sex`,`email`)
VALUES ('inter-server_chaos','password','S','');
Every character server linked to your login server requires its own inter-server account; inter-server accounts are used by the servers to communicate with each other. The differences between user and inter-server accounts are:
- The "sex" field value must equal "S"
- The "e-mail" field value is unused and therefore should be set to ""
- The "level", "error_message", "connect_until", "memo", "ban_until" and "state" field values are unsued and therefore should be set to 0
Anyone who knows the username and password of an inter-server account can control a character server using that account. Therefore, choose secure passwords for your inter-server accounts.
6. Add accounts or convert existing accounts from a text file database.
To add new accounts, use, for example:
USE ragnarok
INSERT INTO `login`
(`userid`,`user_pass`,`sex`,`email`,`level`)
VALUES ('<username>','<password>','<gender>','<e-mail address>',<game master level>);
Where <gender> is either M, F, or S for male, female, and inter-server respectively and <e-mail address> is the e-mail address (for confirmation of character deletion).
To convert existing accounts stored in a text file database, use login-converter.exe and char-converter.exe. Parties and guilds cannot be converted.
7. Edit the configuration files in conf\ (except import\, mapflag\, help.txt, water.txt and water_height.txt) according to your computer configuration, network configuration, MySQL database server configuration and personal preferences.
8. Download the latest cygwin1-yyyymmdd.dll.bz2 snapshot, where "yyyymmdd" is the build date, from http://cygwin.com/snapshots/. Extract cygwin1-yyyymmdd.dll from the archive, rename it to cygwin1.dll, and move it to your system or system32 directory -- depending on your version of Windows -- in your system root directory.
9. Optionally compile:
a. Install Cygwin with these packages:
devel/
gcc,
gcc-g++,
gcc-mingw-core,
gcc-mingw-g++,
make,
mingw-runtime,
mktemp
b. Using Cygwin, install the MySQL libraries by compiling and installing the MySQL database server source distribution for Linux with "./configure --without-server && make && make install".
c. Using Cygwin, enter "make" in the eAthena SQL directory. Recompile with "make clean && make".
1.2 Linux
---------
1. It is not the aim of this document to explain the installation, concepts or usage of MySQL. If you are unfamiliar with MySQL, familiarise yourself with it and read at least these sections of the MySQL reference manual (http://dev.mysql.com/doc/mysql/en/index.html):
- 2.2.2 Installing MySQL on Linux
- 2.4 Post-Installation Setup and Testing
- 5.4 General Security Issues
- 5.5 The MySQL Access Privilege System
- 5.6 MySQL User Account Management
2. If fast and secure access to a MySQL server is unavailable, install, start and configure MySQL database server version 4.0.x. If you are using a version of Windows which is a member of the NT family, we recommend that you install MySQL as a service.
3. Create a new database and a new user account with only SELECT, INSERT, UPDATE and DELETE privileges on the database. For example:
CREATE DATABASE ragnarok;
GRANT
SELECT,INSERT,UPDATE,DELETE
ON `ragnarok`.* # database
TO 'ragnarok'@'localhost' # username@address
IDENTIFIED BY 'password'; # password
For security, do not use the password "password" for your user account.
4. Execute the batch queries stored in sql/main.sql. If you want your item and monster databases stored in your MySQL database, execute sql/database.sql too. For example:
mysql -D ragnarok -h localhost -u root -p < sql/main.sql | more && mysql -D ragnarok -h localhost -u root -p < sql/database.sql | more
5. Add an inter-server account for every character server you intend to link to your login server. For example:
USE ragnarok
INSERT INTO `login`
(`userid`,`user_pass`,`sex`,`email`)
VALUES ('inter-server_chaos','password','S','');
Every character server linked to your login server requires its own inter-server account; inter-server accounts are used by the servers to communicate with each other. The differences between user and inter-server accounts are:
- The "sex" field value must equal "S"
- The "e-mail" field value is unused and therefore should be set to ""
- The "level", "error_message", "connect_until", "memo", "ban_until" and "state" field values are unsued and therefore should be set to 0
Anyone who knows the username and password of an inter-server account can control a character server using that account. Therefore, choose secure passwords for your inter-server accounts.
6. Add accounts or convert existing accounts from a text file database.
To add new accounts, use, for example:
USE ragnarok
INSERT INTO `login`
(`userid`,`user_pass`,`sex`,`email`,`level`)
VALUES ('<username>','<password>','<gender>','<e-mail address>',<game master level>);
Where <gender> is either M, F, or S for male, female, and inter-server respectively and <e-mail address> is the e-mail address (for confirmation of character deletion).
To convert existing accounts stored in a text file database, use login-converter and char-converter. Parties and guilds cannot be converted.
7. Edit the configuration files in conf/ (except import/, mapflag/, help.txt, water.txt and water_height.txt) according to your computer configuration, network configuration, MySQL database server configuration and personal preferences.
8. Compile with "make". Recompile with "make clean && make".
1.3 FreeBSD
-----------
1. It is not the aim of this document to explain the installation, concepts or usage of MySQL. If you are unfamiliar with MySQL, familiarise yourself with it and read at least these sections of the MySQL reference manual (http://dev.mysql.com/doc/mysql/en/index.html):
- 2.2.5 Installing MySQL on Other Unix-Like Systems
- 2.4 Post-Installation Setup and Testing
- 5.4 General Security Issues
- 5.5 The MySQL Access Privilege System
- 5.6 MySQL User Account Management
2. If fast and secure access to a MySQL server is unavailable, install, start and configure MySQL database server version 4.0.x. If you are using a version of Windows which is a member of the NT family, we recommend that you install MySQL as a service.
3. Create a new database and a new user account with only SELECT, INSERT, UPDATE and DELETE privileges on the database. For example:
CREATE DATABASE ragnarok;
GRANT
SELECT,INSERT,UPDATE,DELETE
ON `ragnarok`.* # database
TO 'ragnarok'@'localhost' # username@address
IDENTIFIED BY 'password'; # password
For security, do not use the password "password" for your user account.
4. Execute the batch queries stored in sql/main.sql. If you want your item and monster databases stored in your MySQL database, execute sql/database.sql too. For example:
mysql -D ragnarok -h localhost -u root -p < sql/main.sql | more && mysql -D ragnarok -h localhost -u root -p < sql/database.sql | more
5. Add an inter-server account for every character server you intend to link to your login server. For example:
USE ragnarok
INSERT INTO `login`
(`userid`,`user_pass`,`sex`,`email`)
VALUES ('inter-server_chaos','password','S','');
Every character server linked to your login server requires its own inter-server account; inter-server accounts are used by the servers to communicate with each other. The differences between user and inter-server accounts are:
- The "sex" field value must equal "S"
- The "e-mail" field value is unused and therefore should be set to ""
- The "level", "error_message", "connect_until", "memo", "ban_until" and "state" field values are unsued and therefore should be set to 0
Anyone who knows the username and password of an inter-server account can control a character server using that account. Therefore, choose secure passwords for your inter-server accounts.
6. Add accounts or convert existing accounts from a text file database.
To add new accounts, use, for example:
USE ragnarok
INSERT INTO `login`
(`userid`,`user_pass`,`sex`,`email`,`level`)
VALUES ('<username>','<password>','<gender>','<e-mail address>',<game master level>);
Where <gender> is either M, F, or S for male, female, and inter-server respectively and <e-mail address> is the e-mail address (for confirmation of character deletion).
To convert existing accounts stored in a text file database, use login-converter and char-converter. Parties and guilds cannot be converted.
7. Edit the configuration files in conf/ (except import/, mapflag/, help.txt, water.txt and water_height.txt) according to your computer configuration, network configuration, MySQL database server configuration and personal preferences.
8. Compile with "gmake". Recompile with "gmake clean && gmake".
2 Upgrading
===========
2.1 Upgrading from version 817
------------------------------
1. Execute the batch queries stored in sql/upgrade_817.sql and sql/upgrade_0.5.2_main.sql.
2. If you want your item and monster databases stored in your MySQL database, execute the batch queries stored in sql/database.sql.
2.2 Upgrading from version 0.5.2
--------------------------------
1. Execute the batch queries stored in sql/upgrade_0.5.2_main.sql.
2. If you created the item_db and mob_db tables, execute the batch queries stored in sql/upgrade_0.5.2_database.sql.
2.3 Upgrading from version 1.0 RC 1
-----------------------------------
1. Execute the batch queries stored in sql/upgrade_1.0.0-rc1_main.sql.
3 Mail System
=============
2.1 Adding the mail database
----------------------------
1. Execute the batch queries stored in sql/mail.sql
2. Set mail_system option in conf/battle_athena.conf to 1 or yes.

View File

@ -1,32 +0,0 @@
Building eAthena under win32
There are currently two ways to build eAthena. The first and oldest way is by using cygwin (www.cygwin.org). This was the only way until the svn 1370 timeframe. The second way is by using Visual Studio .NET 2003.
Building using cygwin:
1) delete every copy of cygwin1.dll on your system
2) Go to www.cygwin.com and run the setup.exe.
3) install gcc, make, bash, g++, and gdb. Basically install
all developer tools if possible. If later you find you are
missing something, re-run the setup and install that
4) make sure the ../bin of wherever you installed cygwin to is in your
path. ie, if you put cygwin in C:/cygwin then add c:/cygwin/bin
to your path
5) return to this directory and type "make txt"
Building using Visual Studio .NET 2003
1) Make sure you have the platform SDK installed when you install
this. If you don't have it, you can go to microsoft and download a
copy.
2) open the eAthena.sln file
3) Build the components you wish..
if you wish mysql support (http://dev.mysql.com/), grab a windows
install of mysql
http://dev.mysql.com/get/Downloads/MySQL-4.1/mysql-4.1.10a-win32.zip/from/pick#mirrors
and install it into the default location on the C drive. This will
best match how I set up the solutions/project files

File diff suppressed because it is too large Load Diff

View File

@ -1,15 +0,0 @@
If you are reading this, you are one of the lucky fools to be actually
using the active development tree of the eAthena team. This is the
only version that most of the eA dev team will activly support.
svn can be retrieved via:
http://subversion.tigris.org/files/documents/15/20015/svn-1.1.3-setup.exe
once downloaded and placed in your path, you can just do:
C> svn co http://svn2.stormbirds.org:8080/svn/ea/branches/stable
this will check out a copy of our active stable development tree which
you can then build. Build? figure it out...

View File

@ -1,450 +0,0 @@
______ __ __
/\ _ \/\ \__/\ \
__\ \ \L\ \ \ ,_\ \ \___ __ ___ __
/'__`\ \ __ \ \ \/\ \ _ `\ /'__`\/' _ `\ /'__`\
/\ __/\ \ \/\ \ \ \_\ \ \ \ \/\ __//\ \/\ \/\ \L\.\_
\ \____\\ \_\ \_\ \__\\ \_\ \_\ \____\ \_\ \_\ \__/.\_\
\/____/ \/_/\/_/\/__/ \/_/\/_/\/____/\/_/\/_/\/__/\/_/
--------------------------------------------------------------
GM COMMANDS
---------------------------------------------------------------------------------
Note:
To use these commands, type them inside the message window where you usually
type to chat.
Rewritten by: Kevin
Updated by: massdriller
---------------------------------------------------------------------------------
<> = type of parameter that the command need to have
[] = optionnal parameter
---------------------------------------------------------------------------------
@h/@help = display commands help inside the game.
=================================================================================
ANNOUNCEMENT COMMANDS
=================================================================================
/b, @broadcast <message> = Send a message to everybody, with GM name.
(yellow text)
/nb, @kami <message> = Send a message to everybody, with no GM name.
(yellow text)
/bb, @kamib <message> = Send a message to everybody, with no GM name.
(blue text)
/lb, @localbroadcast <message> = Send a message to everybody, with GM name.
(yellow text) (current map only)
/nlb <message> = Send a message to everybody, with no GM name.
(yellow text) (current map only)
@me <message> = Creates a yellow "action" header on top of
all the characters around your character.
=================================================================================
INFORMATION COMMANDS
=================================================================================
-----Character Information-----
@who [match_text] = Lists which characters are currently online in your
server and their location. [match_text] is a parameter
to search only characters that have this text in their
name.
@who2 [match_text] = Lists which characters are currently online in your
server and their job. [match_text] is a parameter to
search only characters that have this text in their
name.
@who3 [match_text] = Lists which characters are currently online in your
server and their party/guild. [match_text] is a
parameter to search only characters that have this text
in their name.
@whomap [map] = Displays a listing of which characters are online and
where they are in a specifical map. If [map] isn't
specified, you display characters on your map.
@whomap2 [map] = Displays a listing of which characters are online and
their job in a specifical map. If [map] isn't specified,
you display characters on your map.
@whomap3 [map] = Displays a listing of which characters are online and
their party/guild in a specifical map. If [map] isn't
specified, you display characters on your actual map.
@whogm [match_text] = Like @who+@who2+who3, but only for GM.
@where [char name] = Tells you the location of a character. If [char name]
isn't specified, you display your own location.
@charcartlist <char name> = Displays all items of a player's cart.
@mapinfo [<0-3> [map]] = Give information about a map (general info +:
0: no more, 1: players, 2: NPC, 3: shops/chat).
@time/@date/@server_date/@serverdate/@server_time/@servertime = Display the date/
time of the server
-----guild/party information-----
@guildspy <guild_name/id> = You will receive all messages of the specified guild
channel
@partyspy <party_name/id> = You will receive all messages of the specified party
channel
-----Database Information-----
@mobinfo/@monsterinfo/@mi <monstername> = Gives information about the monster
@iteminfo/@ii <itemname> = Gives information about the item
@rates = Displays the Rates of the server
@version = Gives the number of the SVN Version
=================================================================================
YOURSELF ONLY COMMANDS
=================================================================================
-----move commands-----
/hide/@hide = GM Hide. Perfect hide that's totally
invisible. Type @hide again become
visible.
@save = Sets save point as current location
@load/@return = Warps you to your save point (like
butterfly wing)
/mm <mapname> <> <p>
/mapmove <map_name> <x> <y>
@warp/@rura/@mapmove <mapname> <x> <y> = Warps you to the selected position
Example: @warp morocc 150 160 -> Warps
you to Morroc (X:150, Y:160)
@jump [x [y]] = Teleports you randomly in the map (like
fly wing)
/shift/@jumpto/@warpto/@goto <charname> = Warps you to selected character
Example: @jumpto TestChar -> You are
warped to TestChar's current
location
@go <number/city_name> = Warps you to a set city:
-3=(Memo point 2) 4=Alberta 11=Gon Ryun
-2=(Memo point 1) 5=Izlude 12=Umbala
-1=(Memo point 0) 6=Al de Baran 13=Niflheim
0=Prontera 7=Lutie 14=Lou Yang
1=Morroc 8=Comodo 15=Start point
2=Geffen 9=Yuno 16=Prison
3=Payon 10=Amatsu
@follow = Teleports and follows the player
persistantly
-----Health Commands-----
@die = Kill yourself :) (suicide)
@alive = Revives yourself from death
@heal [<HP> <SP>] = Heals the desired amount of HP and SP. No value specified
will do a full heal.
-------Job/Skill/Stat Commands-----
@job/@jobchange <job> = Changes your job to the job assigned to the ID:
0 Novice 7 Knight 14 Crusader 22 Formal
1 Swordman 8 Priest 15 Monk 23 Super Novice
2 Mage 9 Wizard 16 Sage
3 Archer 10 Blacksmith 17 Rogue
4 Acolyte 11 Hunter 18 Alchem
5 Merchant 12 Assassin 19 Bard
6 Thief 13 Knight2 20 Dancer
21 Crusader2
24 Novice High 31 Lord Knight 38 Paladin
25 Swordman High 32 High Priest 39 Monk
26 Mage High 33 High Wizard 40 Professor
27 Archer High 34 Whitesmith 41 Stalker
28 Acolyte High 35 Sniper 42 Creator
29 Merchant High 36 Assassin Cross 43 Clown
30 Thief High 37 Peko Knight 44 Gypsy
45 Paladin2
@lvup/@blevel/@baselvlup <number of levels> = Raises your base level the
desired number of levels. The max
is 99/255 (User Defined).
@joblvup/@jlevel/@joblvlup <number of levels> = Raises your job level the desired
number of levels. The max is 50
For Basic Classes. For Super
Novice and Advanced Classes it is
70.
@allskill/@allskills/@skillall/@skillsall = Give you all skills.
@stpoint <number of points> = Gives you the desired number of stat
points.
@skpoint <number of points> = Gives you the desired number of skill
points.
@str,@agi,@vit,@int,@dex,@luk <amount> = Adds desired amount to any stat. For
example "@str 10" raises your str by 10.
@statall/@statsall/@allstats/@allstat [value] = Adds value in all stats (maximum
if no value).
@questskill <id> = Gives you the specified quest skill
@lostskill <id> = Takes away the specified quest skill
from you
Novice Archer Swordsman
142 = Emergency Care 147 = Arrow Creation 144 = Moving HP Recovery
143 = Act dead 148 = Charge Arrows 145 = Attack Weak Point
Thief 146 = Auto Berserk
149 = Throw Sand Merchant
150 = Back Sliding 153 = Cart Revolution
151 = Take Stone 154 = Change Cart
152 = Stone Throw 155 = Crazy Uproar/Loud Voice
Acolyte Magician
156 = Holy Light 157 = Energy Coat
-----Other Commands-----
@option <param1> <param2> <param3> = Changes options of your character
Example: @option 0 0 16 - would give falcon
<param1> <param2> <param3> <param3>
01 Petrified 01 Poison 01 Sight 128 Level 2 Cart
02 Frozen 02 Cursed 02 Hide 256 Level 3 Cart
03 Stunned 04 Silenced 04 Cloak 512 Level 4 Cart
04 Sleeping 08 ??? 08 Level 1 Cart 1024 Level 5 Cart
06 darkness 16 darkness 16 Falcon 2048 Orc Head
32 Peco Peco riding 4096 Wedding Sprites
64 GM Perfect Hide 8192 Ruwach
@mountpeco = Give/remove you a peco. (Class is required, but not skill)
@disguise <monster_name/monster_ID/NPC_ID> = Change your appearence to a mob or npc.
If using NPC ID 104 Will become an effect.
Speed of player will determine effect, be very careful with this ID
it can create client crashes with improper ids and can easily lag players
off of the server.
@undisguise = Restore your normal appearance.
@model <hair ID: 0-17> <hair color: 0-8> <clothes color: 0-4>
= Changes your characters appearance
(Hair type/colour and/or Clothes colour)
Hair ID (0-17) Hair Colour (0-8) Clothes Colour (0-4)
0 Default 0 Default
1 Blonde 1 Red
2 Purple 2 Green
3 Brown 3 White
4 Green 4 Brown
5 Blue
6 White
7 Black
8 Red
@dye/@ccolor <clothes color: 0-4> = Changes your characters appearence
(only clothes color).
@hairstyle/@hstyle <hair ID: 0-17> = Changes your characters appearence
(only hair style).
@haircolor/@hcolor <hair color: 0-8> = Changes your characters appearence
(only hair color).
@speed <1-1000> = Changes you walking speed (1 being the
fastest & 1000 the slowest. Default 150.
@effect <effect_id> [flag] = Give an efect to your character.
@zeny <amount> = Gives you desired amount of Zeny.
@memo [memo_position] = set/change a memo location.
(no position: display memo points).
@spiritball <number: 1-1000> = Gives you monk "spirit spheres" like
from the skill "Call Spirits" (If the
number you use is > 1000, your server
may become instable or crash)
@me <action> = Displays Charname action. ie. "**Bob dances**"
if character name is bob and command is
@me dances.
=================================================================================
REMOTE CHAR COMMANDS
=================================================================================
@kill <char name> = Kills specified character name
Example: @kill TestChar -> The character named
TestChar is dead
@jail <char_name> = Sends specified character in jails
/recall/@recall <char name> = Warps target character to you.
@recallall = Warps every character online to you.
@unjail/@discharge <char_name> = Discharges specified character
or prisoner
@charwarp/@rura+ <mapname> <x> <y> <char name> = Warps character to location of
choice: Example:
@charwarp morocc 150 160 testet
@revive <char name> = Revives target character.
@charstats <char name> = Displays the character's stats.
@charignorelist <char name> = Displays ignore list of the player
@inall <char name> = Allows all wispers for the player
@exall <char name> = Blocks all wispers for the player
@charoption <param1> <param2> <param3> <char name> = Does the same as the @option
command only to target
character.
@charmountpeco <charname> = Give/remove to a player a peco (Class is
required, but not skill).
@charpetrename <charname> = Re-enable pet rename to a player.
@charsave <map> <x> <y> <char name> = Changes the target player's respawn point.
@charbaselvl <#> <char name> = Change a character's base level.
@charjlvl <#> <char name> = Change a character's job level.
@charstpoint <amount> <char name> = Give/take a player's stat points
@charskpoint <amount> <char name> = Give/take a player's skill points
@charskreset <charname> = Reset skills of a character.
@charstreset <charname> = Reset stats of a character.
@charquestskill <#> <charname> = Gives to a player the specified quest skill.
@charlostskill <#> <charname> = Takes away the specified quest skill from
the player.
@chardelitem <item_name_or_ID> <quantity> <player> = Remove items from a character
@charmodel <hair type> <hair color> <clothes color> <char name> = Changes a
player's model
@chardisguise <monster_name/ID> <char name> = Changes disguise of a player
@charundisguise <char name> = Cancels disguise of a player
@charblock/@block <name> = Blocks definitively a account
@charunblock/@unblock <name> = Unblocks a account
@charban/@ban/@banish/@charbanish <time> <name> = Ban temporarily a account
Time usage: adjustement
(+/- value) and element
(y/a, m, d/j, h, mn, s)
Example:
@ban +1m-2mn1s-6y testplayer
@charunban/@unban/@unbanish/@uncharbanish <name> = Unban a account
@kick <charname> = Kicks specified character off the server
@kickall = Kick all characters off the server
@mapexit = Kick all players and shut down map-server.
@doom = Kills all NON GM chars on the server.
@doommap = Kills all non GM characters on the map.
@raise = Resurrects all characters on the server.
@raisemap = Resurrects all characters on the map.
@killable = Other players can kill you
@charkillable <character name> = Enable other players to be killable
=================================================================================
MOB COMMANDS
=================================================================================
/monster <monster_name> = Spawns 1 of the desired monster.
@spawn/@monster/@summon <monster_name_or_monster_ID> [<number to spawn> [<desired_monster_name> [<x coord> [<y coord>]]]]
= Spawns the desired monster with any desired name,
quantity and x and y location (if specified).
@monster2 <desired_monster_name> <monster_name_or_monster_ID> [<number to spawn> [<x coord> [<y coord>]]]
= Spawns the desired monster with any desired name.
@spawn/@monster/@summon/@monster2 <monster_name_or_monster_ID> "desired monster name" [<number to spawn> [<x coord> [<y coord>]]]
= There 2 last forms can use spaces for desired names.
@killmonster [map] = kill all monsters of the map (they drop items)
@killmonster2 = kill all monsters of your map (without drops)
=================================================================================
ITEM COMMANDS
=================================================================================
@storage = Opens storage
@gstorage = Opens guild storage
@item <item name or ID> [quantity] = Gives you the desired item.
@item2 <item name or ID> <quantity> <Identify_flag> <refine> <attribut> <Card1> <Card2> <Card3> <Card4>
= Gives you the desired item.
@itemreset = Remove all your items.
@itemcheck = Check your items with authorised items.
@idsearch <part_of_item_name> = search all items that name have
part_of_item_name
@refine <equip position> <+/- amount> = Upgrades equipment at the position
specified (Stackable)
0 - All
1 - Lower Head
2 - Right Hand
4 - Robe/Garment
8 - Left Accessory
16 - Body/Armor
32 - Left Hand
64 - Foot Gear
128 - Right Accessory
256 - Top Head
512 - Mid Head
Example: @refine 34 10 - Refines a 2 handed weapon to +10
@refine 16 4 - Refines the body/armor to +4
@produce <equip name or equip ID> <element> <# of very's>
Element: 0=None 1=Ice 2=Earth 3=Fire 4=Wind
It has separately with fragment 3 of the attribute + stars, you can apply.
# of very's: 0=None 1=Very Strong 2=Very Very Strong 3=Very Very Very Strong
Example: @produce 1163 3 3 - Produces a Very Very Very Strong (Your Nick)'s
Fire Claymore
@repairall = Repair all items of your inventory
@cleanmap = Clears map of all fallen items
=================================================================================
ADMINISTRATION COMMANDS
=================================================================================
@reloaditemdb = Reload item database (admin command)
@reloadmobdb = Reload monster database (admin command)
@reloadskilldb = Reload skills definition database (admin command)
@reloadscript = Reload all scripts (admin command)
@reloadgmdb = Reload GM levels (admin command)
@reloadatcommand = Reload GM command levels (admin command)
@reloadbattleconf = Reload Battle Config(admin command)
@reloadstatusdb = Reload status database(admin command)
@reloadpcdb = Reload pc database(admin command)
@loadnpc <path/to/npc> - Load a NPC (admin command)
@unloadnpc <NPC_name> - Disable a NPC (admin command)
@shownpc <NPC_name> - Show a hidden NPC (admin command)
@hidenpc <NPC_name> - Hide a NPC (admin command)
@disguiseall <monster_name/monster_ID/NPC_ID> = Change everybody on the map's appearence to a mob or npc.
If using NPC ID 104 Will become an effect.
Speed of player will determine effect, be very careful with this ID
it can create client crashes with improper ids and can easily lag players
off of the server.
@undisguiseall = Removes all Disguises
@happyhappyjoyjoy = Random emotions from all players on the map
@autoloot = All items will go into inventory upon killing a monster
@gat = For debugging (you inspect around gat)
@packet = For debugging (packet variety)
@GM <password> = it becomes GM!
@email <actual@email> <new@email> = to change your e-mail (characters protection)
@refreshonline = Rechecks to make sure online column is correct (SQL Only)
=================================================================================
OTHER COMMANDS
=================================================================================
-----Environmental Commands-----
@night = Uses @option 00 16 00 on all characters. All characters are in darkness
@day = Uses @option 00 00 00 on all characters.
@rain = Gives Rain effect on activated map
@snow = Gives Snow effect on activated map
@sakura = Gives Flower petal effect on activated map
@clouds = Gives Clouds effect on activated map
@fog = Gives Foggy effect on activated map
@fireworks = Gives Fireworks effect on activated map
@leaves = Gives attumn effect on activated map
@clearweather = Clears all "weather" effects on the map (Works only when players leave the map and rejoin again)
-----Mail System Commands(SQL)-----
@checkmail = Checks # of messages in your mailbox.
@listmail = Lists all the messages in your mailbox.
@listnewmail = Lists all new messages in your mailbox.
@readmail <#> = Reads a message in your mailbox.
@deletemail <#> = Deletes a message in your mailbox.
@sendmail <name> <message> = Sends a message to another player. Use quotes if
the player has spaces in their name.
@sendprioritymail <name> <message> = Send priority mail to a player.
Use * for name to send to all players.
-----Pet Commands-----
@hatch = Create a pet from your inventory eggs list.
@makeegg <ID> = Gives pet egg for monster ID in pet DB
@petfriendly <#> = Set pet friendly amount (0-1000) 0 = Min, 1000 = Max
@pethungry <#> = Set pet hungry amount (0-100) 0 = Min, 100 = Max
@petrename = Re-enable pet rename
-----Group Commands-----
@party <party_name> = Create a party
@guild <guild_name> = Create a guild.
@guildlvup/@guildlvlup <# of levels> = Raise Guild by desired number of levels
@guildrecall <guild_name/id> = Warps all online character of a guild to you.
@partyrecall <party_name/id> = Warps all online character of a party to you.
-----Mute Commands (muting_players must be enabled)-----
@mute/@red <time> <char_name> = Mutes char_name for time period of time.
@mutearea/@stfu [time] = Mutes area for time, sets defualt to 15.
-----System Commands usually used with scripts-------
@marry <Char 1> <char 2> = Makes 2 target characters married
@divorce <Char 1> <Char 2> = Divorces 2 characters
@adopt <Char> = Adopts a player

File diff suppressed because it is too large Load Diff

View File

@ -1,4 +1,4 @@
//===== Athena Script =====================================
//===== Athena Doc ========================================
//= eAthena Script Commands
//===== By ================================================
//= Fredzilla
@ -73,8 +73,6 @@
//= Adjusted the 'itemskill' description due to recent change [ultramage]
//= 3.04.20070409
//= Fixed the incorrect order of parameters in 'makeitem' [ultramage]
//===== Compatible With ===================================
//= LOL, can be used by anyone hopefully
//===== Description =======================================
//= A reference manual for the eAthena scripting language,
//= sorted out depending on their functionality.
@ -4222,6 +4220,7 @@ specified amount permanently. The amount can be negative. See 'statusup'.
*bonus2 <bonus type>,<val1>,<val2>;
*bonus3 <bonus type>,<val1>,<val2>,<val3>;
*bonus4 <bonus type>,<val1>,<val2>,<val3>,<val4>;
*bonus5 <bonus type>,<val1>,<val2>,<val3>,<val4>,<val5>;
These commands are meant to be used in item scripts. They will probably work
outside item scripts, but the bonus will not persist for long. They, as

File diff suppressed because it is too large Load Diff