diff options
Diffstat (limited to 'doc')
-rw-r--r-- | doc/admin_packet.txt | 281 | ||||
-rw-r--r-- | doc/agitdb_ref.txt | bin | 0 -> 2374 bytes | |||
-rw-r--r-- | doc/client_packet.txt | 1072 | ||||
-rw-r--r-- | doc/conf_ref.txt | 1981 | ||||
-rw-r--r-- | doc/coredump_report.txt | 109 | ||||
-rw-r--r-- | doc/db_ref.txt | 147 | ||||
-rw-r--r-- | doc/help.txt | 453 | ||||
-rw-r--r-- | doc/inter_server_packet.txt | 204 | ||||
-rw-r--r-- | doc/item.txt | 1451 | ||||
-rw-r--r-- | doc/item_bonus.txt | 137 | ||||
-rw-r--r-- | doc/packet_table_en.txt | 1336 | ||||
-rw-r--r-- | doc/script_ref.txt | 1424 |
12 files changed, 8595 insertions, 0 deletions
diff --git a/doc/admin_packet.txt b/doc/admin_packet.txt new file mode 100644 index 000000000..d40c8a370 --- /dev/null +++ b/doc/admin_packet.txt @@ -0,0 +1,281 @@ +===========================================================================
+===========================================================================
+ 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.
+
diff --git a/doc/agitdb_ref.txt b/doc/agitdb_ref.txt Binary files differnew file mode 100644 index 000000000..b1553cda0 --- /dev/null +++ b/doc/agitdb_ref.txt diff --git a/doc/client_packet.txt b/doc/client_packet.txt new file mode 100644 index 000000000..121471833 --- /dev/null +++ b/doc/client_packet.txt @@ -0,0 +1,1072 @@ +
+ 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+#0x0040
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 55, 17, 3, 37, 46, -1, 23, -1, 3,108, 3, 2,
+ 3, 28, 19, 11, 3, -1, 9, 5, 54, 53, 58, 60, 41, 2, 6, 6,
+#0x0080
+ 7, 3, 2, 2, 2, 5, 16, 12, 10, 7, 29, 23, -1, -1, -1, 0,
+ 7, 22, 28, 2, 6, 30, -1, -1, 3, -1, -1, 5, 9, 17, 17, 6,
+ 23, 6, 6, -1, -1, -1, -1, 8, 7, 6, 7, 4, 7, 0, -1, 6,
+ 8, 8, 3, 3, -1, 6, 6, -1, 7, 6, 2, 5, 6, 44, 5, 3,
+#0x00C0
+ 7, 2, 6, 8, 6, 7, -1, -1, -1, -1, 3, 3, 6, 6, 2, 27,
+ 3, 4, 4, 2, -1, -1, 3, -1, 6, 14, 3, -1, 28, 29, -1, -1,
+ 30, 30, 26, 2, 6, 26, 3, 3, 8, 19, 5, 2, 3, 2, 2, 2,
+ 3, 2, 6, 8, 21, 8, 8, 2, 2, 26, 3, -1, 6, 27, 30, 10,
+#0x0100
+ 2, 6, 6, 30, 79, 31, 10, 10, -1, -1, 4, 6, 6, 2, 11, -1,
+ 10, 39, 4, 10, 31, 35, 10, 18, 2, 13, 15, 20, 68, 2, 3, 16,
+ 6, 14, -1, -1, 21, 8, 8, 8, 8, 8, 2, 2, 3, 4, 2, -1,
+ 6, 86, 6, -1, -1, 7, -1, 6, 3, 16, 4, 4, 4, 6, 24, 26,
+#0x0140
+ 22, 14, 6, 10, 23, 19, 6, 39, 8, 9, 6, 27, -1, 2, 6, 6,
+ 110, 6, -1, -1, -1, -1, -1, 6, -1, 54, 66, 54, 90, 42, 6, 42,
+ -1, -1, -1, -1, -1, 30, -1, 3, 14, 3, 30, 10, 43, 14,186,182,
+ 14, 30, 10, 3, -1, 6,106, -1, 4, 5, 4, -1, 6, 7, -1, -1,
+#0x0180
+ 6, 3,106, 10, 10, 34, 0, 6, 8, 4, 4, 4, 29, -1, 10, 6,
+ 90, 86, 24, 6, 30,102, 9, 4, 8, 4, 14, 10, 4, 6, 2, 6,
+ 3, 3, 35, 5, 11, 26, -1, 4, 4, 6, 10, 12, 6, -1, 4, 4,
+ 11, 7, -1, 67, 12, 18,114, 6, 3, 6, 26, 26, 26, 26, 2, 3,
+#0x01C0
+ 2, 14, 10, -1, 22, 22, 4, 2, 13, 97, 0, 9, 9, 29, 6, 28,
+ 8, 14, 10, 35, 6, 8, 4, 11, 54, 53, 60, 2, -1, 47, 33, 6,
+ 30, 8, 34, 14, 2, 6, 26, 2, 28, 81, 6, 10, 26, 2, -1, -1,
+ -1, -1, 20, 10, 32, 9, 34, 14, 2, 6, 48, 56, -1, 4, 5, 10,
+#0x200
+ 26, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 19,
+
+S クライアントから見て送信
+R クライアントから見て受信
+
+B バイト
+w ワード=2B
+l ロングワード=4B
+* 0個以上くりかえし
+
+S 0064 <version>.l <account name>.24B <password>.24B <version2>.B
+ アカウントID&パスワード送信
+S 0065 <account ID>.l <login ID1>.l <login ID2>.l ?.2B <sex>.B
+ キャラセレ鯖接続要求
+S 0066 <charactor number>.B
+ キャラクタ選択要求
+S 0067 <charactor name>.24B <param etc>.11B
+ キャラクタ作成要求
+S 0068 <charactor ID>.l <mail address>.40B
+ キャラクタ削除要求
+R 0069 <len>.w <login ID1>.l <account ID>.l <login ID2>.l ?.32B <sex>.B {<IP>.l <port>.w <server name>.20B <login users>.w <maintenance>.w <new>.w}.32B*
+ login成功&鯖情報
+R 006a <error No>.B
+ login失敗 その1
+ err No=00 未登録のIDです
+ err No=01 パスワードが違います
+ err No=02 使用期間が終了しています
+ err No=03 サーバーから接続拒否されました
+ err No=04 解約されたID、またはアカウントブロックされているIDです
+ err No=05 最新のパッチではありません
+ err No=06 解約されたID、またはアカウントブロックされているIDです
+ err No=07 サーバーが混雑しています
+R 006b <len>.w <charactor select data>.106B*
+ キャラセレ鯖接続成功&キャラクタデータ
+ <charactor select data> = <charactor ID>.l <base exp>.l <zeny>.l <job exp>.l <job level>.l ?.8B <option>.l <karma>.l <manner>.l ?.2B <HP>.w <MaxHP>.w <SP>.w <MaxSP>.w <speed>.w <class>.w <hair>.w <weapon>.2w <base level>.w <skill point>.w <head_bottom>.w <sheild>.w <head option top>.w <head option mid>.w <hair color>.w ?.w <name>.24B <STR>.B <AGI>.B <VIT>.B <INT>.B <DEX>.B <LUK>.B <charactor number>.B ?.B
+R 006c <error No>.B
+ キャラクタ選択失敗
+R 006d <charactor select data>.106B
+ キャラクタ作成成功
+R 006e <error No>.B
+ キャラクタ作成失敗
+R 006f
+ キャラクタ削除成功
+R 0070 <error No>.B
+ キャラクタ削除失敗
+ err No=00 メールアドレスが違う
+ err No=01 削除が拒否された
+R 0071 <charactor ID>.l <map name>.16B <ip>.l <port>.w
+ キャラクタ選択成功&マップ名&ゲーム鯖IP/port
+S 0072 <account ID>.l <charactor ID>.l <login ID1>.l <login ID2>.l <sex>.b
+ ゲーム鯖接続要求
+R 0073 <server tick>.l <coordidate>.3B ?.2B
+ ゲーム鯖接続成功&サーバ側1ms時計&出現位置
+R 0078 <ID>.l <speed>.w <opt1>.w <opt2>.w <option>.w <class>.w <hair>.w <weapon>.w <head option bottom>.w <sheild>.w <head option top>.w <head option mid>.w <hair color>.w ?.w <head dir>.w <guild>.l <emblem>.l <manner>.w <karma>.B <sex>.B <X_Y_dir>.3B ?.B ?.B <sit>.B <Lv>.B
+ マップロード時&移動時用、向き付き用キャラ情報?
+R 0079 <ID>.l <speed>.w <opt1>.w <opt2>.w <option>.w <class>.w <hair>.w <weapon>.w <head option bottom>.w <sheild>.w <head option top>.w <head option mid>.w <hair color>.w ?.w <head dir>.w <guild>.l <emblem>.l <manner>.w <karma>.B <sex>.B <X_Y_dir>.3B ?.B ?.B <Lv>.B
+ テレポ等の表示範囲内沸きキャラ用、向き付き無しキャラ情報?
+R 007b <ID>.l <speed>.w <opt1>.w <opt2>.w <option>.w <class>.w <hair>.w <weapon>.w <head option bottom>.w <server tick>.l <sheild>.w <head option top>.w <head option mid>.w <hair color>.w ?.w <head dir>.w <guild>.l <emblem>.l <manner>.w <karma>.B <sex>.B <X_Y_X_Y>.5B ?.B ?.B ?.B <Lv>.B
+ 表示範囲内キャラ移動情報
+R 007c <ID>.l <speed>.w ?.6w <class>.w ?.7w <X_Y>.3B ?.2B
+ NPC用表示範囲内キャラ情報
+S 007d
+ mapロード終り
+S 007e <client tick>.l
+ クライアント側1msタイマ送信
+R 007f <server tick>.l
+ サーバ側1msタイマ送信
+R 0080 <ID>.l <type>.B
+ type=00 キャラ消滅 (画面外移動。死体消滅等?)
+ type=01 キャラ死亡
+ type=02 キャラ消滅 (logout等?)
+ type=03 テレポート (テレポ,蝿,蝶等?)
+R 0081 <type>.B
+ login失敗 その2
+ type=01 サーバー接続終了
+ type=02 同じIDで他の使用者がログインしました
+ type=03 サーバーとの同期に失敗しました
+ type=04 地域の収容人員超過で接続できません
+ type=05 18歳以下は接続できません
+ type=06 決済されたアカウントではありません
+ type=07 サーバーが混雑しています
+ type=08 前の接続情報が残っています
+ type=0b アカウントが保留されました
+ type=0c 課金システム変更のため、一時終了します
+ type=0d IPが一致しないため、接続を終了します
+ type=10 有料サービスになりました
+ type=11 チケットが買われていないか、有効期限が切れています
+S 0085 <X_Y>.3B
+ 移動要求
+R 0087 <server tick>.l <X_Y_X_Y>.5B ?.B
+ 移動応答
+R 0088 <ID>.l <X>.w <Y>.w
+ 移動途中停止
+S 0089 <target ID>.l <type>.B
+ type=00 targetを1回殴る
+ type=02 座る
+ type=03 立ち上る
+ type=07 targetを殴り続ける
+R 008a <src ID>.l <dst ID>.l <server tick>.l <src speed>.l <dst speed>.l <param1>.w <param2>.w <type>.B <param3>.w
+ type=00 param1=0 miss
+ type=00 param1:ダメージ(の合計?) param2:分割数 param3:アサシン2刀流逆手ダメージ
+ NPCからの攻撃の場合、param2,param3はゴミデータ
+ speedはPCの場合内部ASPDと一致
+ type=01 itemを拾う ID*2以外ゴミ
+ type=02 座る src ID以外ゴミ
+ type=03 立つ src ID以外ゴミ
+ type=08 複数攻撃
+ type=09 ダメージモーションなしにダメージだけ表示される物(インデュア)
+ type=0a クリティカル
+ type=0b 完全回避
+S 008c <len>.w <str>.?B
+ 通常発言送信。チャット中はチャット内発言用になる
+ 先頭の"<nick> : "の部分はクライアント側で付ける事
+R 008d <len>.w <ID>.l <str>.?B
+ IDさんの発言受信。チャット中はチャット内発言用になる
+R 008e <len>.w <str>.?B
+ 自分の発言受信。チャット中はチャット内発言用になる
+S 0090 <ID>.l <type?>.B
+ NPCに話しかける。typeは01しか見た事無し
+R 0091 <map name>.16B <X>.w <Y>.w
+ 鯖内マップ間移動、テレポ,蝿等用
+R 0092 <map name>.16B <X>.w <Y>.w <IP>.l <port>.w
+ 鯖間移動
+R 0093
+ 8月中に1回だけ観測。謎
+S 0094 <ID>.l
+ IDのキャラ名等要求。0095か0195の返答があるはず
+R 0095 <ID>.l <nick>.24B
+ NPC,ギルド未所属PCの0094への返答
+ 0193 <charID>.l で問い合わせて
+ 0194 <charID>.l <name>.24B の応答で得てます。
+
+S 0096 <len>.w <nick>.24B <message>.?B
+ wis送信
+R 0097 <len>.w <nick>.24B <message>.?B
+ wis受信
+R 0098 <type>.B
+ type=00 wis送信成功
+ type=01 wis相手がloginしてない?
+ type=02 wis相手からignoreされてる?
+S 0099
+ 神の声送信
+R 009a <len>.w <message>.?B
+ GMからの天の声
+S 009b <head dir>.w <dir>.B
+ 体&頭の方向変更要求。クライアントへの応答は無い模様
+ dirは00〜07で体の向き。00で北から反時計回りに45°単位で07まで
+ head dirは00,01,02で頭の向き。00で体と同じ、01が右、02が左
+R 009c <ID>.l <head dir>.w <dir>.B
+ IDの体&頭の方向変更
+R 009d <ID>.l <item ID>.w <identify flag>.B <X>.w <Y>.w <amount>.w <subX>.B <subY>.B
+ 移動等で床アイテムが画面内に入ってきた時
+R 009e <ID>.l <item ID>.w <identify flag>.B <X>.w <Y>.w <subX>.B <subY>.B <amount>.w
+ item drop。何故か009dとマス目内位置&個数が入れ変っている
+S 009f <ID>.l
+ IDの床アイテムを拾う
+R 00a0 <index>.w <amount>.w <item ID>.w <identify flag>.B <attribute?>.B <refine>.B <card>.4w <equip type>.w <type>.B <fail>.B
+ fail=02 取得失敗?
+ fail=06 ルート権無し。取得失敗
+R 00a1 <ID>.l
+ IDの床アイテム消去
+S 00a2 <index>.w <amount>.w
+ 所有アイテムを落す
+R 00a3 <len>.w {<index>.w <item ID>.w <type>.B <identify flag>.B <amount>.w ?.2B}.10B*
+ 所有消耗品&収集品リスト
+R 00a4 <len>.w {<index>.w <item ID>.w <type>.B <identify flag>.B <equip type>.w <equip point>.w <attribute?>.B <refine>.B <card>.4w}.20B*
+ 所有装備リスト
+R 00a5 <len>.w {<index>.w <item ID>.w <type>.B <identify flag>.B <amount>.w ?.2B}.10B*
+ カプラさんに預けてある消耗品&収集品リスト
+R 00a6 <len>.w {<index>.w <item ID>.w <type>.B <identify flag>.B <equip type>.w <equip point>.w <attribute?>.B <refine>.B <card>.4w}.20B*
+ カプラさんに預けてある装備リスト
+S 00a7 <index>.w <ID>.l
+ 所持アイテムindexを使用する。IDは自分のみ?
+R 00a8 <index>.w <amount>.w <type>.B
+ アイテム使用応答。type=00の場合使用失敗? amountもゴミの模様
+ type=01の場合成功で、amountは使用後の残り個数
+S 00a9 <index>.w <equip type>.w
+ アイテム装備
+R 00aa <index>.w <equip point>.w <type>.B
+ アイテム装備応答。type=00の場合装備失敗? equip pointもゴミの模様
+S 00ab <index>.w
+ 装備解除
+R 00ac <index>.w <equip point>.w <type>.B
+ 装備解除応答。type=00の場合失敗? equip pointもゴミの模様
+R 00af <index>.w <amount>.w
+ アイテム数減少。amount個だけ減らす
+R 00b0 <type>.w <val>.l
+ 色々な能力値の更新。以下type:対応する数値を列挙
+ 0000:speed 0003:悪行値 0004:マナーポイント 0005:HP 0006:MaxHP
+ 0007:SP 0008:MaxSP 0009:ステータスポイント 000b:ベースレベル
+ 000c:スキルポイント 0018:重量(表示されてる数字の10倍)
+ 0019:最大重量(表示されてる数字の10倍)
+ 0029:ATK前 002a:ATK後 002b:MATK前 002c:MATK後
+ 002d:DEF前 002e:DEF後 002f:MDEF前 0030:MDEF後
+ 0031:HIT 0032:FLEE前 0033:FLEE後 0034:クリティカル
+ 0035:ASPD(2ms単位の時間?) 0037:ジョブレベル
+ 0082:謎 ATK後と同じ数字?
+R 00b1 <type>.w <val>.l
+ 色々な能力値の更新。以下type:対応する数値を列挙
+ 0001:ベース側経験値 0002:ジョブ側経験値 0014:zeny
+ 0016:ベース側必要経験値 0017:ジョブ側必要経験値
+ β1では00b0はvalがshort、00b1はvalがlongという使い分けがあったんだけど
+ 今となっては差が無くなって、盲腸みたいなもの?
+S 00b2 <type>.B
+ type=00 死亡時リスタート
+ type=01 キャラセレ要求
+R 00b3 <type>.B
+ type=01 キャラセレ応答
+R 00b4 <len>.w <ID>.l <str>.?B
+ IDのNPCからのメッセージ
+R 00b5 <ID>.l
+ IDのNPCとのメッセージウィンドウに"NEXT"アイコンを出す
+R 00b6 <ID>.l
+ IDのNPCとのメッセージウィンドウに"CLOSE"アイコンを出す
+R 00b7 <len>.w <ID>.l <str>.?B
+ IDのNPCの会話で選択項目表示。各項目は':'で区切られる
+S 00b8 <ID>.l <select>.B
+ IDのNPCの会話の選択。各項目に順に1〜が振られる。ffでキャンセル?
+S 00b9 <ID>.l
+ IDのNPCとの会話。NEXTボタンを押した
+S 00bb <type>.w <amount>.B
+ ステータスup要求。typeは000dから0012が順にSTR,AGI,VIT,INT,DEX,LUKに対応
+R 00bc <type>.w <fail>.B <val>.B
+ ステータスup応答。fail=01なら成功。typeは00bbと同じ。valは上った後の数字
+ 失敗例は見た事無いので謎。ステータスポイントが足りない状態で
+ 00bbを発行できるクライアントが有れば、fail=00になるのではないかと予想
+R 00bd <status point>.w <STR>.B <STRupP>.B <AGI>.B <AGIupP>.B <VIT>.B <VITupP>.B <INT>.B <INTupP>.B <DEX>.B <DEXupP>.B <LUK>.B <LUKupP>.B <ATK>.w <ATKbonus>.w <MATKmax>.w <MATKmin>.w <DEF>.w <DEFbonus>.w <MDEF>.w <MDEFbonus>.w <HIT>.w <FLEE>.w <FLEEbonus>.w <critical>.w ?.w
+ まとめてステータス情報を送るパケット
+R 00be <type>.w <val>.B
+ 必要ステータスポイント更新パケット。typeは0020〜0025が順にSTR〜LUKに対応
+S 00bf <type>.B
+ エモーションを出す。typeは00-0c(,0d)がALT+1〜ALT+9,ALT+0,チョキ,グー,パー(,韓国旗)に対応
+ 00=! 01=? 02=うれしい(♪) 03=ハート 04=汗 05=あはは(電球)
+ 06=いやだな(#) 07=怒り(もやもや)08=お金($) 09=… 0a=チョキ
+ 0b=グー 0c=パー 0d=韓国旗 0e=大きいハート 0f=ありがとう(thanks)
+ 10=無念 11=ごめん(sorry) 12=笑い 13=汗かき 14=あの
+ 15=最高(GoodJob)16=キョロキョロ 17=ショック 18=まる 19=バツ
+ 1a=ヘルプ(help) 1b=go 1c=えーん 1d=くすくす 1e=ちゅ
+ 1f=ちゅちゅ 20=ふん 21=うんうん
+R 00c0 <ID>.l <type>.B
+ IDの人がエモーションを出した。typeは00bfと同じ
+S 00c1
+ login人数問い合わせ
+R 00c2 <val>.l
+ login人数応答
+R 00c3 <ID>.l <type>.B <val>.B
+ 見た目変更。typeは00で本体(転職時等)、02が武器、03が頭(下)、04が頭(上)、05が頭(中)、08が盾
+R 00c4 <ID>.l
+ 話かけたNPCが商人だったのでbuy/sell選択窓出
+R 00c5 <ID>.l <type>.B
+ buy/sell選択。type=00ならbuy。type=01ならsell
+R 00c6 <len>.w {<value>.l <DCvalue>.l <type>.B <item ID>.w}.11B*
+ NPCのお店buy選択時。DCvalueは商人DC後の値段
+R 00c7 <len>.w {<index>.w <value>.l <OCvalue>.l}.10B*
+ NPCのお店sell選択時。OCvalueは商人OC後の値段
+S 00c8 <len>.w {<amount>.w <item ID>.w}.4B*
+ NPCのお店から買う
+S 00c9 <len>.w {<index>.w <amount>.w}.4B*
+ NPCのお店に売る
+R 00ca <type>.B
+ NPCから購入終了。type=00成功
+R 00cb <type>.B
+ NPCへ売却終了。type=00成功
+S 00cc <ID>.l
+ GM用右クリックメニュー「(name)使用者強制終了」使用
+R 00cd <ID?>.l
+ GM用右クリックメニュー「(name)使用者強制終了」の応答
+ <ID>が0の場合は失敗と表示。(このパケットはただの応答です。接続終了の機能はありません。)
+S 00cf <nick>.24B <type>.B
+ type=00 nickからの発言受け付け拒否 (/ex nick)
+ type=01 nickからの発言受け付け許可 (/in nick)
+S 00d0 <type>len.B
+ type=00 全ての発言受け付け拒否 (/exall)
+ type=01 全ての発言受け付け許可 (/inall)
+R 00d1 <type>.B <fail>.B
+ fail=00 発言受け付け拒否成功
+ fail=01 発言受け付け拒否失敗
+R 00d2 <type>.B <fail>.B
+ fail=00 全発言受け付け拒否成功
+ fail=01 全発言受け付け拒否失敗
+S 00d5 <len>.w <limit>.w <pub>.B <passwd>.8B <title>.?B
+ チャット立て。ここからチャット関係が続くけど調べが甘いので補完よろ
+R 00d6 <fail>.B
+ チャット立て応答
+R 00d7 <len>.w <owner ID>.l <chat ID>.l <limit>.w <users>.w <pub>.B <title>.?B
+ 画面内チャット情報
+R 00d8 <chat ID>.l
+ チャット消去
+S 00d9 <chat ID>.l <passwd>.8B
+ チャット参加要請
+R 00da <fail>.B
+ チャット参加失敗
+R 00db <len>.w <chat ID>.l {<index>.l <nick>.24B}.28B*
+ チャット参加者リスト
+R 00dc <users>.w <nick>.24B
+ チャットへの参加者追加(?)
+R 00dd <index>.w <nick>.24B <fail>.B
+ チャットから参加者抜け
+S 00de <len>.w <limit>.w <pub>.B <passwd>.8B <title>.?B
+ チャットステータス変更
+R 00df <len>.w <owner ID>.l <chat ID>.l <limit>.w <users>.w <pub>.B <title>.?B
+ チャットステータス変更成功
+S 00e0 ?.l <nick>.24B
+ チャットルーム所有者変更要求?
+R 00e1 <index>.l <nick>.24B
+ チャット参加者番号付け直し?
+S 00e2 <nick>.24B
+ チャットkick
+S 00e3
+ チャット抜け
+S 00e4 <ID>.l
+ 取り引き要求
+R 00e5 <nick>.24B
+ 取り引き要請受け
+S 00e6 <type>.B
+ type=03 取り引き要請ok
+ type=04 取り引き要請キャンセル
+R 00e7 <fail>.B
+ 取り引き要求応答
+ fail=00 距離が遠過ぎ
+ fail=03 要請受けてくれた
+ fail=04 キャンセルされた?
+S 00e8 <index>.w <amount>.l
+ アイテム追加。index=0でzeny追加。正規クライアントではzenyは00ebの直前のみ
+R 00e9 <amount>.l <type ID>.w <identify flag>.B <attribute?>.B <refine>.B <card>.4w
+ 相手方からのアイテム追加
+R 00ea <index>.w <fail>.B
+ fail=00 アイテム追加成功
+ fail=01 追加失敗。相手側重量オーバ
+S 00eb
+ アイテム追加完了(ok押し)
+R 00ec <fail>.B
+ fail=00 自分からのok受領
+ fail=01 相手からのok受領
+S 00ed
+ 取り引きキャンセル
+R 00ee
+ 取り引きがキャンセルされました
+S 00ef
+ 取り引き許諾(trade押し)
+R 00f0
+ 取り引き完了
+R 00f2 <num>.w <limit>.w
+ カプラさん許容アイテム個数&現状
+S 00f3 <index>.w <amount>.l
+ カプラさん倉庫にアイテム放り込み
+R 00f4 <index>.w <amount>.l <type ID>.w <identify flag>.B <attribute?>.B <refine>.B <card>.4w
+ カプラさん倉庫のアイテム追加
+S 00f5 <index>.w <amount>.l
+ カプラさん倉庫からアイテム取り出し要求
+R 00f6 <index>.w <amount>.l
+ カプラさん倉庫からアイテム取り出し応答
+S 00f7
+ カプラさん倉庫閉じ要求
+R 00f8
+ カプラさん倉庫閉じ応答
+S 00f9 <party name>.24B
+ パーティ作成要求
+R 00fa <fail>.B
+ パーティ作成応答
+ fail=00 「パーティーを結成しました。」
+ fail=01 「同じ名前のパーティーがあります。」
+ fail=02 「すでにパーティーに加入しています。」
+R 00fb <len>.w <party name>.24B {<ID>.l <nick>.24B <map name>.16B <leader>.B <offline>.B}.46B*
+ パーティ情報まとめて送り
+S 00fc <ID>.l
+ パーティ勧誘する
+R 00fd <nick>.24B <fail>.B
+ fail=00 相手は既にパーティに入っていた
+ fail=01 相手に拒否された
+ fail=02 勧誘成功
+R 00fe <ID>.l <party name>.24B
+ パーティに誘われた
+S 00ff <ID>.l <fail>.l
+ パーティに誘われた時の返答。fail=1 ok返答?
+S 0100
+ パーティ脱退要求
+R 0101 <exp>.w <item?>.w
+ パーティ設定現状? exp=2の場合は公平配分設定失敗?
+S 0102 <exp>.w <item?>.w
+ パーティ設定変更
+R 0104 <ID>.l ?.l <X>.w <Y>.w <offline>.B <party name>.24B <nick>.24B <map name>.16B
+ パーティ1人分情報更新
+R 0105 <ID>.l <nick>.24B <fail>.B
+ nickさんがパーティから離脱
+R 0106 <ID>,l <HP>.w <MaxHP>.w
+ パーティメンバHP更新
+R 0107 <ID>.l <X>.w <Y>.w
+ パーティメンバ位置更新
+S 0108 <len>.w <message>.?B
+ パーティ内発言
+R 0109 <len>.w <ID>.l <message>.?B
+ パーティ内発言受信
+R 010a <type ID>.w
+ MVPアイテム取得
+R 010b <exp>.l
+ MVP経験値取得
+R 010c <ID>.l
+ MVPキャラ表示
+R 010e <skill ID>.w <lv>.w <sp>.w <range>.w <up>.B
+ スキル情報更新。spは未使用?
+R 010f <len>.w {<skill ID>.w <target type>.w ?.w <lv>.w <sp>.w <range>.w <skill name>.24B <up>.B}.37B*
+ スキル情報の塊。skill nameは一部流れて来ない物がある>AL_PNEUMA,PR_SLOWPOISON等
+ target typeは0-パッシブ、1-敵、2-場所、4-即時発動、16-味方
+ lv=0 up=0の場合はリストに出してない?
+R 0110 <skill ID>.w <basic type>.w ?.w <fail>.B <type>.B
+ fail=00の時にスキル利用失敗?
+ type 00:basic typeの方 01:SP不足 02:HP不足 03:memo無し 04:delay中
+ 05:お金無し(めまー) 06:武器がよろしくない 07:赤ジェム無し 08:青ジェム無し 09:謎
+ basic type 00:取り引き 01:emotion 02:座り 03:チャット 04:パーティ
+ 05:shout? 06:PK 07:マナーポイント
+R 0111 <skill ID>.w <target type>.w ?.w <lv>.w <sp>.w <range>.w <skill name>.24B <up>.B
+ 010fの1つ分。β2だと未使用?
+ 20040415転職時に観測
+S 0112 <skill ID>.w
+ スキルlvup要求
+S 0113 <level>.w <skill ID>.w <ID>.l
+ IDをターゲットにskillを使う
+R 0114 <skill ID>.w <src ID>.l <dst ID>.l <server tick>.l <src speed>.l <dst speed>.l <param1>.w <param2>.w <param3>.w <type>.B
+ 攻撃系スキルエフェクト@
+ type=04 火壁で観測 type=06とほぼ同じ?
+ type=05 NB/FBlの分散したダメージ用?
+ type=06 単発もの? param1はダメージ合計、param2はlevel、param3は1固定と予想
+ type=07 ダメージ表示無し?
+ type=08 連打もの? param1はダメージ合計、param2はlevel、param3は分割数と予想
+ type=09 ダメージモーションなしにダメージだけ表示される物(インデュア)と思ったのだがダメージモーションが出る物。(機能は謎)
+R 0115 <skill ID>.w <src ID>.l <dst ID>.l <server tick>.l <src speed>.l <dst speed>.l <X>.w <Y>.w <param1>.w <param2>.w <param3>.w <type>.B
+ 弾き飛ばし有り攻撃系スキルエフェクト
+ type=05 ダメージ&弾き飛ばし。param1はダメージ合計、param2はlevel、param3は分割数と予想
+ type=06 爆心地? 少なくともparam1はゴミの模様
+ type=09 ダメージモーションなしにダメージだけ表示される物(インデュア)と思ったのだがダメージモーションが出る物。(機能は謎)
+S 0116 <level>.w <skill ID>.w <X>.w <Y>.w
+ (X,Y)をターゲットにskillを使う
+R 0117 <skill ID>.w <src ID>.l <val>.w <X>.w <Y>.w <server tick>.l
+ 場所相手のスキルエフェクト表示。valはレベルか、一部固さ?(氷壁)
+S 0118
+ 攻撃キャンセル
+R 0119 <ID>.l <param1>.w <param2>.w <param3>.w ?.B
+ 見た目変更
+ param1=02 フロストダイバで凍り漬け?
+ param2=01 毒?
+ param2=20 ANGELUS状態?
+ param3=01 サイトかルワッチ?
+ param3=0b ハイディング状態?
+ param3=0b クローキング状態?
+ param3=0d カート付き
+ param3=0e 鷹付き
+ param3=0f ペコペコ乗り
+
+R 011a <skill ID>.w <val>.w <dst ID>.l <src ID>.l <fail>.B
+ 非ダメージ系スキル表示。ヒールの場合valは回復量
+ fail=00の場合失敗ぽいが、スチール以外では見た事無し
+S 011b <skill ID>.w <map name>.16B
+ 011cへの応答。使わない場合"cancel"、マップ内ランダムの場合"Random"を送る
+R 011c <skill ID>.w <map1>.16B <map2>.16B <map3>.16B <map4>.16B
+ テレポ/ポタの場所選択。
+ テレポの場合、Random/セーブ場所、ポタの場合、セーブ場所/memo1/memo2/memo3となる
+ マップ名のみ送られる
+S 011d
+ 現在居る所をメモ要求
+R 011e <fail>.B
+ fail=00 メモ成功
+ fail=01 メモ失敗
+R 011f <dst ID>.l <src ID>.l <X>.w <Y>.w <type>.B <fail>.B
+ スキル効能地作成
+ type 7e:SW 7f:火壁 80:ポタ発動中 81:ポタ発動前 83:サンク 85:フニューマ
+ 86:バーミリオン 8c:トーキーボックス発動時 8d:氷壁 8e:くあぐまいやー 91:あんくるすねあ
+ 93:らんどまいん 97:?? 99:トーキーボックス発動前
+ 他情報求む
+R 0120 <ID>.l
+ スキル効能地消去
+R 0121 <num>.w <num limit>.w <weight>.l <weight limit>l
+ カートの種類&重さの現在値&上限
+R 0122 <len>.w {<index>.w <item ID>.w <type>.B <identify flag>.B <equip type>.w <equip point>.w <attribute?>.B <refine>.B <card>.4w}.20B*
+ カート内アイテム。装備品
+R 0123 <len>.w {<index>.w <item ID>.w <type>.B <identify flag>.B <amount>.w ?.2B}.10B*
+ カート内アイテム。消耗品/収集品
+R 0124 <index>.w <amount>.l <item ID>.w <identify flag>.B <attribute?>.B <refine>.B <card>.4w
+ カートにアイテム追加
+R 0125 <index>.w <amount>.l
+ カートからアイテム削除
+S 0126 <index>.w <amount>.l
+ カートにアイテムを入れる
+S 0127 <index>.w <amount>.l
+ カートからアイテムを取り出す
+S 0128 <index>.w <amount>.l
+ カプラさんからカートへアイテムを移す
+S 0129 <index>.w <amount>.l
+ カートからカプラさんへアイテムを移す
+R 012c <fail>.B
+ fail=00 「重量オーバーです。」
+ fail=01 「アイテム最大種類数を超過しました。」
+R 012d <num>.w
+ 露店開設。アイテムリスト要求。numは置ける最大数
+S 012e
+ 露店閉鎖
+S 012f <len>.w <message>.80B {<index>.w <amount>.w <value>.l}.8B*
+ 露店開設、露店名&アイテム,値段リスト
+S 0130 <ID>.l
+ 露店アイテムリスト要求
+R 0131 <ID>.l <message>.80B
+ 露店看板表示
+R 0132 <ID>.l
+ 露店看板消去
+R 0133 <len>.w <ID>.l {<value>.l <amount>.w <index>.w <type>.B <item ID>.w <identify flag>.B <attribute?>.B <refine>.B <card>.4w}.22B
+ 露店アイテムリスト
+S 0134 <len>.w <ID>.l {<amount>.w <index>.w}.4B*
+ 露店アイテム購入
+R 0135 <index>.w <amount>.w <fail>.B
+ 露店アイテム購入失敗。
+ fail=1 「お金が足りません。」
+ fail=2 「重量オーバーです。」
+R 0136 <len>.w <ID>.l {<value>.l <index>.w <amount>.w <type>.B <item ID>.w <identify flag>.B <attribute?>.B <refine>.B <card>.4w}.22B*
+ 露店開設成功
+R 0137 <index>.w <amount>.w
+ 露店アイテム販売報告
+R 0139 <ID>.l <X>.w <Y>.w <X2>.w <Y2>.w <range>.w
+ IDの敵は(X,Y)に居て自分は(X2,Y2)に居るので攻撃が届きませんでした
+ 攻撃可能距離はrangeなので、近寄って下さい?
+R 013a <val>.w
+ 攻撃射程
+R 013b <type>.w
+ 各種メッセージ表示。3=矢が装備できました
+R 013c <ID>.w
+ 装備された矢のItemID。0で、未装備状態。
+R 013d <type>.w <val>.w
+ HP回復スキル/SP回復スキルによる回復
+ type=5ならHP type=7ならSP
+R 013c <index>.w
+ 装備している矢
+
+R 013e <src ID>.l <dst ID>.l <X>.w <Y>.w <lv?>.w ?.w <wait>.l
+ スキル詠唱中。PC/NPCが相手の場合は(X,Y)は0。場所がターゲットの場合はdst IDは0になる
+
+ 0x013e の offset+16(dword) はスキル属性です(調査済)。
+ 00:無 01:水 02:地 03:火 04:風 05:毒 06:聖 07:暗 08:念 09:死
+ 将来的に、詠唱中のエフェクトが属性で変わるのかと。
+
+ waitはms単位かな?
+R 0141 <type>.l <base>.l <bonus>.l
+ ステータス情報。typeは0dから12が順にSTR,AGI,VIT,INT,DEX,LUKに対応
+ base+bonusと表示される
+R 0142 <ID>.l
+ 数値入力用窓表示
+S 0143 <ID>.l <amount>.l
+ 0142の窓に入力した数値の送信
+R 0144 <ID>.l <type>.l <X>.l <Y>.l <point ID>.B <color>.3B ?.B
+ 案内員用、マップ上アイコン表示パケット
+ type=1 アイコンを表示
+ type=2 アイコンを消去
+R 0145 <file name>.16B <type>.B
+ (今の所)カプラさんcutin表示
+ type=02 表示
+ type=ff 消去
+S 0146 <ID>.l
+ IDのNPCとの会話。CLOSEボタンを押した。ack無しにNPCメッセージウィンドを同時に閉じる
+R 0147 <skill ID>.w <target type>.w ?.w <lv>.w <sp>.w <range>.w <skill name>.24B <up>.B
+ アイテム利用の結果一時的に得られたスキル情報
+R 0148 <ID>.l
+ リザレクションの相手決め? @ β1
+S 0149 <ID>.l <type>.B <time>.w
+ IDにチャット禁止時間を付加 type=0 マイナス type=1 プラス
+ tymeは分単位
+R 014a <fail>.l
+ マナーポイントを与えた結果。fail=0 成功 fail=1 失敗
+R 014b <type>.B <nick>.24B
+ マナーポイントを貰った。type=00 プラス type=01 マイナス
+R 014C <len>.w (<type>.l <guildID>.l <guild name>.24B).*
+ 同盟・敵対ギルド表示
+ type=0 同盟
+ type=1 敵対
+S 014D
+ ギルド情報表示開始?
+R 014E <type?>.l
+ type=0x57 一般ギルド団員
+ type=0xD7 ギルドマスター
+S 014F <page>.l
+ ギルド表示タブ送信
+R 0150 <guildID>.l <guildLv>.l <接続数>.l <定員>.l <Avl.lvl>.l <経験値>.l <next_exp>.l <上納ポイント>.l <性向左右VW>.l <性向上下RF>.l <人数?>.l <guild name>.24B <guild master>.24B <本拠地>.16B
+ ギルド情報
+S 0151 <guild ID>.l
+ エンブレム要求
+R 0152 <len>.w <guild ID>.l <emblem ID(変更回数?)>.l <emblem data>.?B
+ エンブレムイメージ送付
+S 0153 <len>.w <emblem data>.?B
+ エンブレムイメージ変更
+R 0154 <len>.w {<accID>.l <charactorID>.l <髪型>.w <髪の色>.w <性別?>.w <job>.w <lvl?>.w <上納経験値>.l <online>.l <Position>.l <メモ?>.50B <nick>.24B}*
+ ギルドメンバリスト
+S 0155 <len>.w {<accID>.l <charaID>.l <index>.l}.12B*
+ 役職変更
+R 0156 <len>.w {<accID>.l <charaID>.l <index>.l}.12B*
+ 役職変更通知
+S 0159 <guildID>.l <accID>.l <charID>.l <mess>.40B
+ ギルド脱退送信
+R 015A <nic>.24B <mess>.40B
+ ギルド脱退(全員)受信
+S 015B <guildID>.l <accID>.l <charID>.l <mess>.40B
+ ギルド追放送信
+R 015C <nick>.24B <mess>.40B <アカウントID>.24B
+ ギルド追放(全員)受信
+S 015D <guild name>.24B <?>.16B
+ ギルド解散
+R 015E <fail>.l
+ ギルド解散正否通知
+ 0x00:成功
+ 0x01:住民登録番号不一致
+R 0160 <len>.w {<index>.l <mode>.l <index>.l <exp_mode>.l}.16B
+ 職位情報
+S 0161 <len>.w {<index>.l <mode>.l <index>.l <exp_mode>.l <nickname>.24B}.40B*
+ 職位変更
+R 0162 <len>.w <skill_point>.w {<skill ID>.w <target type>.w ?.w <lv>.w <sp>.w <range>.w <skill name>.24B <up>.B}.37B*
+ ギルドスキル
+R 0163 <len>.w { <nick>.24B <アカウントID>.24B <追放理由>.40B }.88B*
+ ギルド追放リスト
+S 0165 <myaccID>.l <guild name>.24B
+ ギルド作成
+R 0166 <len>.w {<index>.l <name>.24B }.28B*
+ 職位名リスト
+R 0167 <type>.b
+ ギルド作成合否
+ type = 0 ギルド作成成功
+ type = 1 すでにギルドに所属している
+ type = 2 同名のギルドがある
+ type = 3 エンペリウム無し
+S 0168 <TargetAccID>.l <sourceAccID>.l <myCharactorID>.l
+ ギルド勧誘
+R 0169 <type>.B
+ ギルド勧誘結果
+ type = 0 他のギルドに加入している
+ type = 1 拒否された
+ type = 2 加入した
+ type = 3 定員を超過
+R 016A <guild ID>.l <guild name>.24B
+ ギルド勧誘された
+S 016B <guild ID>.l <type>.l
+ ギルド勧誘返信
+ type=0 拒否する
+ type=1 許諾する
+R 016c <guild ID>.l <emblem ID>.l <mode>.l ?.5B <guild name>.24B
+ login時ギルド情報
+ mode=自分の所属職位のmode
+R 016d <ID>.l <charactor ID>.l <online>.l
+ ギルドメンバがloginした抜けた等
+S 016E <guildID>.l <mess1>.60B <mess2>.120B
+ ギルド告知設定
+R 016F <mess1>.60B <mess2>.120B
+ ギルド告知
+S 0170 <TargetAccID>.l <sourceAccID>.l <myCharactorID>.l
+ 同盟要請勧誘
+R 0171 <SorceAccID>.l <guild name>.24B
+ 同盟要請勧誘された
+S 0172 <SorceAccID>.l <type>.l
+ 同盟要請返信
+ type=0 拒否する
+ type=1 許諾する
+R 0173 <type>.B
+ type = 0 すでに同盟関係
+ type = 1 同盟拒否された
+ type = 2 同盟成功
+ type = 3 相手ギルドの同盟ギルド数が超過
+ type = 4 自分のギルドの同盟ギルド数が超過
+R 0174 <len>.w {<index>.l <mode>.l <index>.l <exp_mode>.l <nickname>.24B}.40B*
+ 職位変更通知
+R 0177 <len>.w <index>.w*
+ 鑑定可能アイテムリスト
+S 0178 <index>.w
+ アイテム鑑定
+R 0179 <index>.w <fail>.B
+ アイテム鑑定結果。fail=00で成功。fail=01ってあるのか?
+S 017A <index>.w
+ カードWクリック
+R 017B <len>.w {<index>.w}*
+ カード挿入できるアイテムIndex番号
+S 017C <SrcIndex>.w <DescIndex>.w
+ Src をDescに突っ込む
+R 017D <DescIndex>.w <SrcIndex>.w <fail>.b
+ Src をDescに突っ込み<fail> 0=成功 1=失敗?
+S 017e <len>.w <message>.?B
+ ギルド内メッセージ発言
+R 017f <len>.w <message>.?B
+ ギルド内メッセージ受信
+S 0180 <charactorID>.l
+ ギルド敵対
+R 0181 <flag>.b
+ ギルド敵対可否
+ flag=0 敵対成功
+ flag=1 敵対ギルド数が多すぎる
+ flag=2 すでに敵対関係
+R 0182 <accID>.l <charactorID>.l <髪型>.w <髪の色>.w <性別?>.w <job>.w <lvl?>.w <上納経験値>.l <online>.l <Position>.l ?.50B <nick>.24B
+
+S 0183 <guild_id>.l <type>.l
+ ギルド関係解消
+R 0184 <guild_id>.l <type>.l
+ ギルド関係解消通知
+R 0185 <flag>.l <guild_id>.l <guild_name>.24B
+ ギルド関係追加 flag=0 同盟/ 1 敵対
+R 0187 <account ID>.l
+ alive信号?
+R 0188 <fail?>.w <index>.w <val>.w
+ 武器精錬。結果+val武器に
+R 0189 <fail?>.w
+ 謎。テレポ(ワープポータルmemo)失敗?
+ 1 memo禁止地域
+S 018a ?.w
+ ゲーム終了
+R 018b <fail>.w
+ ゲーム終了/キャラセレ応答。fail=0成功。fail=1失敗?
+R 018C <MonsID>.w <等級>.w <大小>.w <生命値>.w <?>.w <防御力>.w <種族>.w <魔法防御力>.w <属性>.w <魔法相性属性>.9b
+ wizの敵のセンス結果
+ 0 小型
+ 1 中型
+ 2 大型
+R 018d <length>.w { <ItemID>,w ?.w <CharID?>.l }.8B*
+ 製造可能アイテムリスト表示(?の部分は0012固定)
+S 018e <MakeItemID>.w <slot1ItemID>.w <slot2ItemID>,w <slot3.ItemID>.w
+ 製造アイテムの選択
+R 018f <flag>.w [00] <MakeItemID>.w
+ 製造結果(flag = 00なら成功 01なら失敗)
+S 0190 <skill lv>.w <skill code>.w <x & y>.l <message>.80b
+ メッセージ(トーキーボックス)
+R 0191 <ID>.l <message>.80B
+ トーキーボックスのメッセージ
+R 0192 <x & y>.l <type>.w <mapname>.16b
+ アイスウォール等による地形属性変化
+S 0193 <ID>.l
+ ギルドメンバ名前引き?
+R 0194 <ID>.l <nick>.24B
+ ギルドメンバ名前引き応答?
+R 0195 <ID>.l <nick>.24B <party name>.24B <guild name>.24B <class name>.24B
+ ギルド所属PCの場合の0094返答
+R 0196 <type>.w <ID>.l
+ 増強系スキル使用時のメッセージ色々。IDはtargetと思われるが自分相手のみしか来ない?
+ type=00 2HQ付与「攻撃速度が増加しました。」
+ type=01 2HQ解除「攻撃速度が減少しました。」
+ type=02 IMPOSITIO付与「武器の攻撃力が増加しました。」
+ type=03 IMPOSITIO解除「武器の攻撃力が減少しました。」
+ type=04 「スキル使用ディレイが減少しました。」
+ type=05 「スキル使用ディレイが元に戻りました。」
+ type=06 「武器に毒属性が付与されました。」
+ type=07 ASPERSIO付与「武器に聖属性が付与されました。」
+ type=08 ASPERSIO解除「武器の属性が元に戻りました。」
+ type=09 「防具に聖属性が付与されました。」
+ type=0a 「防具の属性が元に戻りました。」
+ type=0b KYRIE付与「バリア状態になりました。」
+ type=0c KYRIE解除「バリア状態が解除されました。」
+ type=0d 「ウェポンパーフェクションモードになりました。」
+ type=0e 「ウェポンパーフェクションモードが解除されました。」
+ type=0f 「オーバートラストモードになりました。」
+ type=10 「オーバートラストモードが解除されました。」
+ type=11 「マキシマイズパワーモードになりました。」
+ type=12 「マキシマイズパワーモードが解除されました。」
+R 0196 <type>.w <ID>.l <switch>.b (コモド以降)
+ switch=0で解除,1で付加
+ type=00 プロボック
+ type=01 インデュア
+ type=02 「攻撃速度が増加しました。」(2HQ)
+ type=03 集中力向上
+ type=04 ハイディング
+ type=05 クローキング
+ type=06 「武器に毒属性が付与されました。」(エンチャントポイズン)
+ type=07 「毒を反射できる状態になりました。」(ポイズンリアクト)
+ type=08 「クァグマイア状態になり、・・・」
+ type=09 「エンジェラス状態になり、・・・」
+ type=0a ブレッシング
+ type=0b シグナムクルシス
+ type=0c 「速さが増加しました」(速度増加)
+ type=0d 「速さが減少しました」(速度減少)
+ type=0e 「スローポイズン状態になりました」(スローポイズン)
+ type=0f 「武器の攻撃力が増加しました」(インポシティオマヌス)
+ type=10 「スキル使用ディレイが減少しました」(サフラギウム)
+ type=11 「武器に聖属性が付与されました」(アスペルシオ)
+ type=12 「防具に聖属性が付与されました」(聖体降臨)
+ type=13 「バリア状態になりました」(キリエエレイソン)
+ type=14 「マグニフィカート状態になりました」
+ type=15 「グロリア状態になりました」
+ type=16 「レックスエーテルナ状態になりました」
+ type=17 「アドレナリンラッシュ状態になりました」
+ type=18 「ウェポンパーフェクションモードになりました」
+ type=19 「オーバートラストモードになりました」
+ type=1a 「マキシマイズパワーモードになりました」
+ type=1b ペコペコ騎乗
+ type=1c 鷹
+ type=1d 死んだふり
+ type=1e 「叫びました」(ラウドボイス)
+ type=1f 「エナジーコート状態になりました」
+ type=20 「防具が壊れました」
+ type=21 「武器が壊れました」
+ type=22 謎(目のアップというアイコン:盲目??)
+ type=23 重量50%超え
+ type=24 重量90%超え
+ type=25 謎「攻撃速度が増加しました」(x2アイコン:速度系ポーション?)
+ type=26 謎「攻撃速度が増加しました」(x2アイコン:速度系ポーション?)
+ type=27 謎「攻撃速度が増加しました」(x2アイコン:速度系ポーション?)
+ type=28 (未使用っぽい?:不可と解除で効果が違う)
+ type=29 謎「速さが増加しました」(白いアイコン)
+ type=32 ストリップウエポン
+ type=33 ストリップシールド
+ type=34 ストリップアーマー
+ type=35 ストリップヘルム
+ type=36 ケミカルウェポンチャージ
+ type=37 ケミカルシールドチャージ
+ type=38 ケミカルアーマーチャージ
+ type=39 ケミカルヘルムチャージ
+ type=3a オートガード
+ type=3b リフレクトシールド
+ type=3d プロヴィデンス
+ type=3e ディフェンダー
+ type=41 オートスペル
+ type=44 スピアクィッケン
+ type=56 爆裂波動(アイコンは表示されません。)
+ type=57 金剛(表示はされないが金剛の解除はされるようです。)
+ type=59 コンボディレイ
+ type=5a フレイムランチャー
+ type=5b フロストウェポン
+ type=5c ライトニングローダー
+ type=5d サイズミックウェポン
+
+S 0197 <type>.w
+ type=0 /resetstate
+ type=1 /resetskill
+ 効能は無し?
+R 0199 <type>.w
+ type=1 pvpモード開始?
+ type=3 gvgモード開始?
+R 019a <ID>.l <rank>.l <num>.l
+ pvp順位 rank/num
+R 019b <ID>.l <type>.l
+ 他人のlvupや武器精錬等の表示?
+ type=0 base lvup?
+ type=1 job lvup?
+ type=2 武器精錬失敗
+ type=3 武器精錬成功
+
+R 019d <?>.4B
+ GMコマンド/hide
+
+S 0149 <ID>.l <type>.B <time>.w
+ GM用右クリックメニュー「チャット禁止時間を下げる(解ける)」使用 → type=00
+ GM用右クリックメニュー「チャット禁止時間を上げる(掛ける)」使用 → type=01
+ timeは分単位です(確か
+
+R 019e
+ 捕獲モンスター決め
+S 019f <ID>.l
+ 捕獲モンスター指定
+R 01a0 <fail>.B
+ 捕獲判定
+ fail=01で成功、00で失敗
+S 01a1 <param>.1B
+ <param>
+ 0x00:ペット状態表示
+ 0x01:餌を与える
+ 0x02:パフォーマンス
+ 0x03:卵に戻す
+ 0x04:アクセサリ解除
+R 01a2 <pet name>.24B <name flag>.B <lv>.w <hungry>.w <friendly>.w <accessory>.w
+ ペットの状態
+ name flag:00=名前未設定 01=名前設定済み(変更不可)
+ lv=ペットのレベル、hungry=満腹度(0~100)、friendly=親密度(初期値250?)、accessory=アクセサリのItemID
+R 01a3 <fail>.B <itemID>.w
+ <fail>
+ 0x00:餌やり失敗
+ 0x01:餌やり成功
+R 01a4 <type>.B <ID>.l <val>.l
+ ペット関連通知
+ type=00,val=00 ペット孵化時に送られてくる。ペット認識用?
+ type=01 親密度変化
+ type=02 満腹度変化
+ type=03 アクセサリ変化(0で未装備)
+ type=04 パフォーマンス 確認されたval=1~3
+ (4はスペシャルパフォーマンス?)
+ type=05 ?確認されたval=0x14
+S 01a5 <pet name>.24B
+ ペットの名前決め
+R 01a6 <len>.w <index>.w*
+ ペットの卵リスト
+S 01a7 <index>.w
+ ペットの卵リストが選択された
+S 01a9 <emotion>.l
+ ペットエモーション送信
+R 01aa <ID>.l <emotion>.l
+ ペットエモーション受信
+ <emotion>
+ 33以下のとき:エモーション
+ 34以上のとき:発言テーブル?
+R 01ac <object id>.l
+ アンクルの発動(≠設置)時のみ毎回出現(機能は謎)
+R 01ad <len>.l <item>.w
+ 矢作りの作成可能ITEM表受信
+S 01ae <itemID>.w
+ 矢作りで使う材料送信
+S 01af <type>.w
+ チェンジカート(カート選択)
+ type=1 ノーマルカート
+R 01b0 <monster id>.l <?>.b <new monster code>.l
+ 油のクラスチェンジ
+ <new monster code>はチェンジ後のコード(1001〜)をdwordで
+S 01b2 <len>.w <message>.80B <flag>.B {<index>.w <amount>.w <value>.l}.8B*
+ 露店開設
+ flag : 0=キャンセル , 1=オープン
+R 01b3 <filename>.64B <type>.B
+ R 0145の上位互換
+R 01B6 <guildID>.l <guildLv>.l <connum>.l <定員>.l <Avl.lvl>.l <now_exp>.l <next_exp>.l <上納ポイント>.l <性向F-V>.l <性向R-W>.l <members>.l <guild name>.24B <guild master>.24B <agit?>.20B
+ ギルド情報
+R 01b9 <ID>.I
+ 被ダメ等によるIDの詠唱中断
+R 01c4 <index>.w <amount>.l <itemID>.w <item data>.12B
+ カプラ倉庫アイテム
+R 01c8 <index>.w <item ID>.w <ID>.l <amount left>.w <type>.B
+ アイテム使用応答。(00a8の上位バーション?)
+ type=00の場合使用失敗? amountもゴミの模様
+ type=01の場合成功で、amountは使用後の残り個数
+R 01c9 <dst ID>.l <src ID>.l <X>.w <Y>.w <type>.B <fail>.B ?.81b
+ スキル効能地作成(011fの上位バーション?)
+ type 0x7e:SW、0x7f:火壁、0x80 ポタ開き中、0x81 ポタ開き直前
+ 0x82 聖体、0x83 サンク、0x84 マグヌス、0x85 ニューマ
+ 0x86 0x86 大魔法(SG/MS/LoV/GX)、0x87 ファイヤーピラ待機
+ 0x88 ファイヤーピラ爆発、0x87〜0x8B 表示無し、
+ 0x8c トーキーボックス(発動中)、0x8D アイスウォール
+ 0x8E クワグマイア、0x8f ブラストマイン、0x90 スキッド
+ 0x91 アンクル、0x92 ベノムダスト、0x93 ランドマイン
+ 0x94 ショックウェーブトラップ、0x95 サンドマン
+ 0x96 フラッシャー、0x97 フリージングトラップ
+ 0x98 クレイモアートラップ、0x99 トーキーボックス
+ 0x9A ボルケーノ、0x9B デリュージ、0x9C バイオレントゲイル
+ 0x9D ランドプロテクター、0x9E Zenyマーク、0x9F Zeny袋
+ 0xA0 回る緑の輪、0xA1 ピンクの音符 (二連符有り
+ 0xA2 真ん中に点のある光の玉、0xA3 ピンクのスプリング
+ 0xA4 深淵の中に、0xA5 回る青い輪、0xA6 不協和音
+ 0xA7 口笛、0xA8 夕陽のアサシンクロス、0xA9 ブラギの詩
+ 0xAA イドゥンの林檎、0xAB 自分勝手なダンス、0xAC ハミング
+ 0xAD 私を忘れないで…、0xAE サービスフォーユー
+ 0xAF ピンクのスプリング、0xB0 表示無し
+ 0xB0 グラフィティ,
+ 0xB1 デモンストレーション、0xB2〜0xBF 表示無し
+ 0xB2 ピンクのワープポータル風
+ 0xB3 小さな十字架がふよふよ
+ 0xB4 バジリカ、0xB5 エフェクトなし?
+ 0xB6 黒い×が立体的に浮かび上がる
+ 0xB7 クモの巣、0xB8〜 エフェクトなし?
+
+ 他情報求む
+ ?.81bは謎。
+R 01cd (<sid>.l)x7
+ オートスペル選択肢受信
+ <sid>x7 には NB,CB,FB,LB,SS,FBL,FD の順でスキルコードがdwordで入る
+ まだ選択できないスキルの部分は <sid> = 0x00000000 が入る
+S 01ce <sid>.l
+ オートスペル選択肢送信
+R 01cf <crusader id>.l <target id>.l <?>.18b
+ 献身状態ターゲットON/OFF。献身が切れると <target id> が 0x00000000 になる
+
+R 01d0 <ID>.l <num>.w
+ <num> : 気功の数(非Lv)
+R 01d1 <monk id>.l <target monster id>.l <bool>.l
+ 白羽取り状態ON/OFF。<bool> は白刃取り成立時に 0x00000001 解除時に 0x00000000 が来る
+R 01d2 <id>.l <delay>.l
+ モンクのコンボディレイ(msec)
+ 三段・連打は基本ディレイ1000(+300)、猛龍は基本ディレイ700(+300)
+R 01d4 <ID>.l
+ 文字列入力窓表示(IDはNPCのIDが入る)
+S 01d5 <len>.w <ID>.l <input>.?B 00
+ 文字列入力内容送信(IDはNPCのIDが入る)
+R 01d7 <ID>.l <equip point>.b <item id1>.w <item id2>.w
+ 装備グラフィック <equip point> は 02手と09足のみ確認。id2は左手
+R 01d8 <ID>.l <speed>.w <opt1>.w <opt2>.w <option>.w <class>.w <hair>.w <item id1>.w <item id2>.w <head option bottom>.w <head option top>.w <head option mid>.w <hair color>.w ?.w <head dir>.w <guild>.l <emblem>.l <manner>.w <karma>.B <sex>.B <X_Y_dir>.3B ?.B ?.B <sit>.B <Lv>.B ?.B
+ マップロード時&移動時用、向き付き用キャラ情報?(0078の上位バージョン)
+R 01d9 <ID>.l <speed>.w <opt1>.w <opt2>.w <option>.w <class>.w <hair>.w <item id1>.w <item id2>.w.<head option bottom>.w <head option top>.w <head option mid>.w <hair color>.w ?.w <head dir>.w <guild>.l <emblem>.l <manner>.w <karma>.B <sex>.B <X_Y_dir>.3B ?.B ?.B <Lv>.B ?.B
+ テレポ等の表示範囲内沸きキャラ用、向き付き無しキャラ情報?(0079の上位バージョン)
+R 01da <ID>.l <speed>.w <opt1>.w <opt2>.w <option>.w <class>.w <hair>.<item id1>.w <item id2>.w <head option bottom>.w <server tick>.l <head option top>.w <head option mid>.w <hair color>.w ?.w <head dir>.w <guild>.l <emblem>.l <manner>.w <karma>.B <sex>.B <X_Y_X_Y>.5B ?.B ?.B ?.B <Lv>.B ?.B
+ 表示範囲内キャラ移動情報(007bの上位バージョン)
+S 01db
+ 暗号化key要求
+R 01dc <len>.w <key>.?B
+ 暗号化key送付
+S 01dd <version>.l <account name>.24B <md5 binary>.16B <version2>.1B
+ id&暗号化済みpass送信
+ 順にクライアントが01dbを送る、
+ 鯖が01dcでkeyを返す、
+ クライアントが"<key><password>"についてmd5計算し
+ <md5 binary>の所を埋めて01ddを送る。
+ <passwordencrypt2>の時は
+ "<key><password>"に対してmd5計算としている所を
+ "<password><key>"と変更する
+R 01de <skill ID>.w <src ID>.l <dst ID>.l <server tick>.l <src speed>.l <dst speed>.l <param1>.l <param2>.w <param3>.w <type>.B
+ 攻撃系スキルエフェクト@(0114の上位バーション?)
+ type=04 火壁で観測 type=06とほぼ同じ?
+ type=05 NB/FBlの分散したダメージ用?
+ type=06 単発もの? param1はダメージ合計、param2はlevel、param3は1固定と予想
+ type=07 ダメージ表示無し?
+ type=08 連打もの? param1はダメージ合計、param2はlevel、param3は分割数と予想
+ type=09 ダメージモーションなしにダメージだけ表示される物(インデュア)と思ったのだがダメージモーションが出る物。(機能は謎)
+S 01df <ID>.|
+ GM右クリックによるIDのチャット禁止回数参照?
+R 01e1 <ID>.l <num>.w
+ <num> : 気功の数(非Lv) 一度表示したら後どんなnumが来ても無視される。
+R 01e6 <partner name>.24B
+ 結婚スキルあなたに逢いたい使用時の叫び声
+S 01e7
+ スパノビで/doridoriしたら飛んでくる。SPR回復量2倍フラグを立てるパケット
+S 01e8 <party name>.24B <item1>B <item2>B
+ <item1>アイテム収集方法。0で個人別、1でパーティ公有
+ <item2>アイテム分配方法。0で個人別、1でパーティに均等分配
+ (00f9の上位バーション)
+R 01ea <ID>.l
+ 結婚エフェクト(音楽、紙吹雪)
+ IDは新婦のものが入る?
+S 01ed
+ スパノビが爆裂波動になるフラグを立てるパケット
+R 01ee <len>.w {<index>.w <item ID>.w <type>.B <identify flag>.B <amount>.w ?.2B <card>.4w}.18B*
+ 所有消耗品&収集品リスト
+ 矢の場合は?.2Bが0x8000になる
+ 00a3から変更
+R 01ef <len>.w {<index>.w <item ID>.w <type>.B <identify flag>.B <amount>.w ?.2B <card>.4w}.18B*
+ カート内アイテム。消耗品/収集品
+ 0123から変更
+R 01f0 <len>.w {<index>.w <item ID>.w <type>.B <identify flag>.B <amount>.w ?.2B <card>.4w}.18B*
+ カプラさんに預けてある消耗品&収集品リスト
+ 00a5から変更
+R 01f4 <name>.24B <trade id?>.L <LV>.w
+ 先方から取引要請
+ 00e5から変更
+R 01f5 <result>.B <trade id?>.L <LV>.w
+ こちらからの取引要請に対する反応
+ 00e7から変更
+S 0200 <login name>.24B
+ ragexeに/accountオプションをつけて起動するとログイン要求に付加されるパケット
+S 0204 <?>.16B
+ ログイン要求に付加されるパケット。16バイトは固定?
+S 020B <?>.17B
+ キャラクタサーバ接続要求0065に付加されるパケット。1+0204の16バイトで17バイト?
diff --git a/doc/conf_ref.txt b/doc/conf_ref.txt new file mode 100644 index 000000000..88886d055 --- /dev/null +++ b/doc/conf_ref.txt @@ -0,0 +1,1981 @@ +==========================================================================
+eAthena dev 1.0.0 mod1004 Reference +alpha of the present conf
+--------------------------------------------------------------------------
+
+< What this file is. >
+
+ It is the reference of the setting method of an Athena setting file.
+although it is not a HowTo, it not Those who cannot use Athena even if they see this
+ To give up obediently is safer.
+
+
+< The list of conf >
+
+ login_athena.conf A setup of login-server
+ char_athena.conf A setup of char-server
+ inter_athena.conf A setup of inter-server
+ map_athena.conf A setup of map-server
+ battle_athena.conf A setup of map-server (setup of a special rule etc.)
+ atcommand_athena.conf A setup of map-server (setup of the GM command or @ command)
+ ladmin_athena.conf A setup of ladmin ('c' version)
+
+
+< The fundamental setting method >
+
+One line "key: Enter as a value."
+<Example>
+key: value
+
+Head of the sentence It will become a comment if it begins by //.
+<Example>
+//Since this line is a comment, it is not processed.
+
+< Two or more same items >
+
+Priority is given to what was written later unless it is written especially clearly that two or more same items are written.
+login_athena.conf allow and deny -- and -- map_athena.conf map, npc, etc.
+Another processing will be carried out if two or more lines are written.
+
+==========================================================================
+1. conf/login_athena.conf
+--------------------------------------------------------------------------
+
+< What this file is. >
+
+ A setup of login-server (server which manages account) is described.
+ It mainly becomes a setup of an administrator.
+
+
+< Explanation of a key >
+
+If you change one of these parameters, you must restart login-server to update.
+If you repeat one parameter (except 'allow', 'deny' or 'ladminallowip') in the configuration file, only the latest will be validated.
+ 'Allow', 'deny' and 'ladminallowip' parameters are list parameters. Add as many 'allow', 'deny' or 'ladminallowip' as you need.
+
+login_port
+ Port to bind login-server to (always binds to all IP addresses)
+ It is the port used by login-server. It can be omitted and a default is 6900.
+ Default value: 6900.
+
+admin_pass
+ It is the administrator password used to administrate the login-server through a remote connection.
+ You will found some tools in the tool directory, and specially the tool
+ ./tool/ladmin (for Login ADMINistration), a perl software, which manages all accounts.
+ Void password will not work.
+ NOTICE: You must change this or attackers can exploit your server.
+ Default value: admin. CHANGES this default value to avoid hack.
+
+ladminallowip
+ It's a list parameter. To add an item in this list, just add a new line. Each line can only have 1 parameter.
+ This list indicates the IP that the server accepts for a remote administration.
+ This parameter accepts IP descriptions, like:
+ IP or the begining of IP: it's a characters match. Write an IP (123.456.789.012) or the begining of the IP (123.456.).
+ Because it's a characters match, the IP 123.4 matches with 123.4.xxx.yyy and 123.4z.xxx.yyy. So, add a final '.' to be sure of the IP.
+ Example:
+ allow: 127.0.0.1
+ allow: 192.168.10.
+ IP with number of bits for a network: it's a logical match. Write the network like this: 123.456.789.012/<#_of_mask_bits>
+ Don't use the final '.', but use all four values.
+ Example:
+ allow: 127.0.0.1/32 (match only 1 IP, because 32 bits match all bits).
+ allow: 192.168.10/24 (matches the network begining by 192.168.10).
+ IP with mask of a network: it's a logical match. Write the network like this: 123.456.789.012/345.678.901.234
+ Don't use the final '.', but use all four values for the IP and the mask.
+ Example:
+ allow: 127.0.0.1/255.255.255.255 (match only 1 IP).
+ allow: 192.168.10.0/255.255.255.0 (matches the network begining by 192.168.10).
+ all: matches any IP.
+ Example:
+ allow: all.
+ clear: clears the list at this point. Really useful for 'import' parameter, in the new configuration file.
+ Example:
+ allow: clear.
+ Add as many IP's as you wish.
+ Default value: all.
+
+gm_pass
+ It is the required password when a player wants to change its (normal) account to a GM (Game Master) account.
+ It is used by the @gm command.
+ Level of gm is set with level_new_gm parameter.
+ NOTICE: You should also change this one.
+ Default value: gm. CHANGES this default value to avoid player hack.
+
+level_new_gm
+ Level of new GM created with @gm command. (default: 60)
+ If you set to 0, you disable creation of new GM with @gm.
+ To be able to create a gm with @gm, you must:
+ - give a level to this value (not 0)
+ - enable to level 0 the @gm command (atcommand_athena.conf) (default 100)
+ - enable gm commands to normal player (battle_athena.conf, atcommand_gm_only parameter)
+ - and normal player must give correct password when he use the @gm command
+ Possible value: 0 to 99
+ Default value: 60
+
+new_account
+ It is whether to permit new account creation.
+ When allowed, the player must add _F or _M at the end of its login account to create a new account.
+ This extension of the account gives the sex of the new created account.
+ Without the _F/M, the account must have at least 4 characters.
+ The account will not have e-mail to protect characters against deletion.
+ The given password at first connection (when the account is created) is the account password.
+ The value can be: 1 (to allow creation) or 0 (to forbid creation).
+ Default value: 1.
+
+account_filename
+ It specifies the accounts save file.
+ Gives the accounts txt database name and path to stores accounts information.
+ Look into the file to have a short description of the database structure.
+ Can be omited, a default is save/account.txt.
+ Default value: save/account.txt.
+
+gm_account_filename
+ It specifies which account IDs have GM privileges, and what level they have.
+ We recommand to use only ID value lower than first normal player ID (2000000).
+ Levels ranges from 0 (no privilege/normal player) to 99 (highest privilege).
+ If you change a value inside this file, you must restart login-server to use the new value
+ or use reloadgm ladmin command.
+ Can be omited, a default is conf/GM_account.txt.
+ Default value: conf/GM_account.txt
+
+gm_account_filename_check_timer
+ Timer to check if GM_account file has been changed and reload GM account automaticaly
+ (in seconds)
+ Value: 0 (disabled), or 2 or more.
+ Default: 15
+
+login_log_filename
+ Gives the log file name and path to stores logs information.
+ All operations done by the login-server are written in this file with a time stamp.
+ Default value: log/login.log
+
+login_log_unknown_packets_filename
+ Gives the file name and path of the file that logs the received unknown packets.
+ It's used for debug or hack check.
+ All information are displayed with the time stamp, the ip of the source, the packet number,
+ the number of received bytes and the detail of the packet with hex and text values. Example:
+ 01-06-2004 21:25:21.579: receiving of an unknown packet -> disconnection
+ parse_login: connection #5 (ip: 82.64.111.96), packet: 0x4e92 (with being read: 28).
+ Detail (in hex):
+ 92 4e 00 00 00 00 00 00 00 00 00 00 00 00 00 00 誰..............
+ 00 00 00 00 00 00 00 00 00 00 00 00 ............
+ Default value: log/login_unknown_packets.log
+
+save_unknown_packets
+ It indicates if the unknown packets are saved or not.
+ The unknown packets received from the char-server or remote administration does not relate to this parameter,
+ because they are always saved.
+ The value can be: 1 (to save unknown packets) or 0 (to not save them).
+ Be careful: if you receive an attack, your hard disk can cause lag...
+ So, active this option with a speed hard disk or for debug only.
+ Default value: 0
+
+display_parse_login
+ It indicates if you want display the parse of the packets received in a normal connection.
+ At all received packets in normal connection, the server display a message about the size and the value.
+ It's useful for debug. Possible values: 0: no (default), 1: yes.
+ Default value: 0
+
+display_parse_admin
+ It's same of 'display_parse_login' parameter, but only for remote administration received packets.
+ It's useful for debug. Possible values: 0: no (default), 1: yes.
+ Default value: 0
+
+display_parse_fromchar
+ It's same of 'display_parse_login' parameter, but only for char-server received packets.
+ It's useful for debug. Possible values: 0: no (default), 1: yes (without packet 0x2714), 2: all packets.
+ Default value: 0
+
+date_format:
+ indicate how to display date in logs, to players, etc.
+ 0: 31-12-2004 23:59:59
+ 1: 12-31-2004 23:59:59
+ 2: 2004-31-12 23:59:59
+ 3: 2004-12-31 23:59:59
+ Default value: 3
+
+min_level_to_connect
+ Indicate the minimum GM level of player that the server accepts to connection.
+ 0: all players (normal player are 0. it's default), or
+ 1-99: GM level at least with level x
+ Default value: 0 (any player or GM)
+
+add_to_unlimited_account
+ Give possibility to adjust (ladmin command: timeadd) the time of an unlimited account.
+ If set to on/1/yes..., the adjustment is be done from actual time to set the final time of the account.
+ If set to no/0/no..., the adjustment can not be done on an unlimited account.
+ You must set (ladmin command: timeset) a final time before to adjust (ladmin command: timeadd)
+ Default value: no
+
+start_limited_time
+ Starting additional sec from now for the limited time at creation of account
+ -1: new account are created with UNlimited time (default value)
+ 0 or more: new accounts was created by addition of the value (in sec) to the actual time (to set first limited time)
+ Default value: -1
+
+check_ip_flag
+ It's to check IP of a player between login-server and char-server (part of anti-hacking system)
+ If player doesn't have same IP, connection is refused.
+ Set to 0/off/no to not check IP of player.
+ Set to 1/on/yes if you want to check (default)
+ Note: if you enable this option, be sure that your (local/lan/wan) players use correct ip (in xml file) to contact servers,
+ and that your LAN is correctly configured (!), and that LAN configuration of eathena is right.
+ if not correct, you can read list of char-servers, but not look slots of characters (rejected by server).
+ Default value: yes
+
+order
+ This parameter controls how the login-server must use the 'allow' and 'deny' lists.
+ 'Allow' and 'deny' are used to do IP lists.
+ 3 possibilities:
+ 'deny,allow': to sum it up, it's like 'allow if not deny'. The login-server only checks the 'deny' list.
+ If the connected IP is in the 'deny' list, the login-server refuses the connection, otherwise it accepts it.
+ 'allow,deny': to sum it up, it's like 'deny if not allow'. The login-server only checks the 'allow' list.
+ If the connected IP is in the 'allow' list, the login-server accepts the connection, otherwise it refuses it.
+ 'mutual-failture': to sum it up, it's like 'allow if in allow list and not in the deny list'.
+ The login-server checks the 'allow' list. If the connected IP is in the 'allow' list,
+ the login-server checks it in the 'deny' list. If the connectec IP is not in the 'deny' list,
+ the login-server accepts the conection, otherwise it refuses it.
+ In this case, a non 'allow' IP or a 'deny' IP will be never accepted.
+ If you don't use allow AND deny, all ip are authorised.
+ Default value: deny,allow.
+
+allow
+ It's a list parameter. To add an item in this list, just add a new line. Each line can only have 1 parameter.
+ This list depends on the 'order' parameter (read 'order' parameter to known what the login-server do with this list).
+ This parameter accepts IP descriptions, like:
+ IP or the begining of IP: it's a characters match. Write an IP (123.456.789.012) or the begining of the IP (123.456.).
+ Because it's a characters match, the IP 123.4 matches with 123.4.xxx.yyy and 123.4z.xxx.yyy. So, add a final '.' to be sure of the IP.
+ Example:
+ allow: 127.0.0.1
+ allow: 192.168.10.
+ IP with number of bits for a network: it's a logical match. Write the network like this: 123.456.789.012/<#_of_mask_bits>
+ Don't use the final '.', but use all four values.
+ Example:
+ allow: 127.0.0.1/32 (match only 1 IP, because 32 bits match all bits).
+ allow: 192.168.10/24 (matches the network begining by 192.168.10).
+ IP with mask of a network: it's a logical match. Write the network like this: 123.456.789.012/345.678.901.234
+ Don't use the final '.', but use all four values for the IP and the mask.
+ Example:
+ allow: 127.0.0.1/255.255.255.255 (match only 1 IP).
+ allow: 192.168.10.0/255.255.255.0 (matches the network begining by 192.168.10).
+ all: matches any IP.
+ Example:
+ allow: all.
+ clear: clears the list at this point. Really useful for 'import' parameter, in the new configuration file.
+ Example:
+ allow: clear.
+ It does not support the backward match of host name.
+ Default value: <no list>.
+
+deny
+ This list works exactly like the 'allow' list, but for the 'deny' list.
+
+import
+ Gives an other configuration file to include in.
+ You must write the additionnal configuration file name and path.
+ The mentionned file can include any parameter of the login configuration.
+ You can create a chain or configuration files if necessary.
+ Default value: <no_additional_configuration_file>.
+
+<Example>
+login_port: 6900
+admin_pass: admin
+ladminallowip: all
+gm_pass: gm
+level_new_gm: 60
+new_account: 1
+account_filename: save/account.txt
+gm_account_filename: conf/GM_account.txt
+gm_account_filename_check_timer: 15
+login_log_filename: log/login.log
+login_log_unknown_packets_filename: log/login_unknown_packets.log
+save_unknown_packets: 0
+display_parse_login: 0
+display_parse_admin: 0
+display_parse_fromchar: 0
+date_format: 3
+min_level_to_connect: 0
+add_to_unlimited_account: off
+start_limited_time: -1
+check_ip_flag: yes
+order: deny,allow
+//deny: all
+//allow: 127.0.0.1
+//allow: 10.0.
+//allow: 172.16.0.0/16
+//allow: 192.168.0.0/255.255.255.0
+//import: import/new_login.conf
+
+==========================================================================
+2. conf/char_athena.conf
+--------------------------------------------------------------------------
+
+< What this file is. >
+
+ A setup of char-server (server which manages the character data in one world)
+ It ???. The name of a world, the password of a world, a server's IP,
+ A data file name etc. is described.
+
+
+<Explanation of a key>
+
+userid
+ It is ID which this world uses. It registers with login-server.
+ ID of account is specified.
+ And also [ it uses it for connecting to map-server used in this world ]
+ It is used also for discernment of the world within login-server.
+ It is each when registering two or more worlds into the same login-server.
+ It is necessary to use another ID by char-server.
+
+passwd
+ It is a password corresponding to ID which this world uses.
+ It is used for the time of the registration to login-server, and connecting to map-server.
+
+server_name
+ It is the name of this world. It is displayed when logged in by the client.
+
+wisp_server_name
+ Wisp name for server: used to send wisp from server to players (between 4 to 23 characters)
+ Default: Server
+
+login_ip
+ It is the IP address of login-server which registers a world seen from char-server.
+
+login_port
+ It is the port used by login-server. It can omit and a default is 6900.
+
+char_ip
+ It is the IP address of char-server seen from the client.
+
+char_port
+ It is the port used by char-server. It can omit and a default is 6121.
+
+email_creation
+ Option to force a player to create an e-mail.
+ If a player have default e-mail, and if you activate this option, the player can only connect in the game (to arrive on a map) like follow:
+ - Create at least 1 character
+ - Select 1 character
+ - Select DEL to enter his/her e-mail. (if OK is choosen, client says to the player: 'invalid e-mail')
+ - If his/her e-mail is correct, the player enter in the game (an e-mail is saved definitively).
+ - If his/her e-mail is incorrect, he/she have 'incorrect e-mail' and must select again DEL.
+ - After entering in the game (when the player arrives on a map), DEL and SEL/OK button work normaly for all next connections.
+ Resume: If a player have "incorrect/invalid e-mail" when he/she click on 'OK' button,
+ the player must click 'DEL' button and register his/her NEW e-mail to enter in the game
+ So, default is 0, because administrator must explain to their players before to activate this option.
+
+char_txt
+ It is the data file name which stores character data.
+ It is not omissible.
+
+char_maintenance
+ If it is made 1, it will be in a maintenance state.
+ It can omit and a default is 0.
+
+char_new
+ If it is made 1, the time (new) of being displayed on a client will stick.
+ It can omit and a default is 0.
+
+max_connect_user
+ It is the maximum number of the user linked to a Char-server.
+ If it is made 0, the maximum number restrictions will be lost.
+ Please use to apply restriction of the connection number.
+ It can omit and a default is 0.
+
+check_ip_flag
+ It's to check IP of a player between char-server and other servers (part of anti-hacking system)
+ If player doesn't have same IP, connection is refused.
+ Set to 0/off/no to not check IP of player.
+ Set to 1/on/yes if you want to check (default)
+ Note: if you enable this option, be sure that your (local/lan/wan) players use correct ip (in xml file) to contact servers,
+ and that your LAN is correctly configured (!), and that LAN configuration of eathena is right.
+ default: yes
+
+autosave_time
+ It is time to save data automatically at a file. A unit is a second.
+ It can omit and a default is 300 (5 minutes).
+
+start_point
+ When a new character is created, it is the place where they start.
+ It describes like "a map file name, X coordinates, and Y coordinates."
+ It can omit and is a default. It is new_1-1.gat and 53,111.
+
+start_weapon:
+ Starting weapon for new characters
+ default value: 1201 (Knife)
+
+start_armor:
+ Starting armor for new characters
+ default value: 2301 (Cotton Shirt)
+
+start_zeny
+ When new character is made, the quantity of ZENY which it has from the start is set up.
+ Being able to omit, a default is 500.
+
+unknown_char_name
+ The name returned when the name request of character which does not exist in a character server is carried out
+ It sets up. Being able to omit, a default is Unknown.
+
+char_log_filename
+ A character server's log file is specified.
+ Being able to omit, a default is log/char.log.
+
+name_ignoring_case
+ Allow or not identical name for characters but with a different case (upper/lower): example: Test-test-TEST-TesT
+ 0 (default): no character can have same name, instead of the case (no Test-TEST...)
+ 1: more than 1 of character can have same name if names are not using same case (one with Test, another with TEST, etc...)
+
+char_name_option
+ Manage possible letters/symbol in the name of charater. Control character (0x00-0x1f) are never accepted. Possible values are:
+ 0: no restriction (default)
+ 1: only letters/symbols in 'char_name_letters' option.
+ 2: Letters/symbols in 'char_name_letters' option are forbidden. All others are possibles.
+ default: 0.
+
+char_name_letters
+ Set the letters/symbols that you want use with the 'char_name_option' option.
+ Note: add 'space' between 2 others letters/symbols.
+ default: void.
+
+online_txt_filename
+ It sets the filename of the file which receives the online players list in text
+ default: online.txt
+
+online_html_filename
+ It sets the filename of the file which receives the online players list, but in html version
+ default: online.html
+
+online_sorting_option
+ It sets how to display online players in the txt/html files.
+ 0: no sorting (default)
+ 1: by alphabetical order of their name
+ 2: by number of their zenys
+ 3: by their base level
+ 4: by their job (and job level inside the same job)
+ 5: by alphabetical order of their actual map location
+ Note: sorting operation with a lot of online players can take time on a slow computer.
+
+online_display_option
+ It sets which columns that you want display in the online files. Do the addition of these values:
+ (if value is 0, no file is done)
+ 1: name (just the name, no function like 'GM')
+ 2: job
+ 4: levels
+ 8: map name
+ 16: mapname and coordonates
+ 32: zenys
+ 64: name (with 'GM' if the player is a GM)
+ default value: 1 (only name)
+
+online_gm_display_min_level
+ minimum GM level to display 'GM' when we want to display it.
+ default value: 1 (any GM)
+
+online_refresh_html
+ refresh time (in sec) of the html file in the explorer
+ default: 20
+
+import
+ The line is replaced with the contents of another file.
+
+
+< Example >
+userid: s1
+passwd: p1
+server_name: eAthena
+wisp_server_name: Server
+login_ip: 127.0.0.1
+login_port: 6900
+char_ip: 127.0.0.1
+char_port: 6121
+email_creation: 0
+char_txt: save/athena.txt
+char_maintenance: 0
+char_new: 0
+max_connect_user: 0
+check_ip_flag: yes
+autosave_time: 15
+start_point: new_1-1.gat,53,111
+start_weapon: 1201
+start_armor: 2301
+start_zeny: 500
+unknown_char_name: Unknown
+char_log_filename: log/char.log
+name_ignoring_case: 0
+char_name_option: 0
+//char_name_letters:
+online_txt_filename: online.txt
+online_html_filename: online.html
+online_sorting_option: 0
+online_display_option: 1
+online_gm_display_min_level: 1
+online_refresh_html: 20
+//import: import/new_char.conf
+
+
+==========================================================================
+3. conf/inter_athena.conf
+--------------------------------------------------------------------------
+
+< What this file is. >
+
+ A setup of inter-server (server which manages the global data in one world)
+ It ???. A data file name etc. is described.
+ (It is operating as a part of char-server in program now.)
+
+< Explanation of a key >
+
+storage_txt
+ It is the file name which stores warehouse data.
+ It can omit and is a default. It is save/storage.txt.
+
+party_txt
+ It is the file name which stores party data.
+ It can omit and is a default. It is save/party.txt.
+
+guild_txt
+ It is the file name which stores guild data.
+ It can omit and is a default. It is save/guild.txt.
+
+pet_txt
+ It is the file name which stores pet data.
+ It can omit and is a default. It is save/pet.txt.
+
+castle_txt
+ It is the file name which stores the castle data of a guild.
+ It can omit and is a default. It is save/castle.txt.
+
+guild_storage_txt
+ It is the file name which stores guild warehouse data.
+ Being able to omit, a default is save/g_storage.txt.
+
+accreg_txt
+ It is the file name which stores the account share variable data in a world.
+ It can omit and is a default. It is save/accreg.txt.
+
+party_share_level
+ The restriction level of a fair distribution party is set up.
+ Being able to omit, a default is 10.
+
+inter_log_filename
+ An interchange server's log file is specified.
+ Being able to omit, a default is log/inter.log.
+
+import
+ The line is replaced with the contents of another file.
+
+
+< Example >
+storage_txt: save/storage.txt
+party_txt: save/party.txt
+guild_txt: save/guild.txt
+pet_txt: save/pet.txt
+castle_txt: save/castle.txt
+guild_storage_txt: save/g_storage.txt
+accreg_txt: save/accreg.txt
+party_share_level: 10
+inter_log_file: log/inter.log
+
+
+==========================================================================
+4. conf/map_athena.conf
+--------------------------------------------------------------------------
+
+< What this file is. >
+
+ A fundamental setup of map-server (server which manages game advance on the map in his duty)
+ It ???.
+
+
+< Explanation of a key >
+
+userid
+ It is ID which this world uses. It is used for the connecting to char-server.
+
+passwd
+ It is a password corresponding to ID which this world uses.
+
+char_ip
+ map-serverからみた、このサーバーが担当するマップのワールドを管理する
+ char-serverのIPです。
+
+char_port
+ マップを登録するchar-serverのポートです。省略可能でデフォルトは6121です。
+
+map_ip
+ クライアントから見たこのmap-serverのIPです。
+
+map_port
+ map-serverで使用するポートです。省略可能でデフォルトは5121です。
+
+autosave_time
+ データを自動的にキャラ鯖に送る時間です。単位は秒です。
+ 省略可能でデフォルトは60(1分)です。
+
+water_height
+ 水場の高さを指定するファイルを決めます。
+ 省略可能で、デフォルトはconf/water_height.txtです。
+
+motd_txt
+ Message of the Dayファイルを指定します。
+ 省略可能で、デフォルトはconf/motd.txtです。
+
+help_txt
+ @helpで表示するファイルを指定します。
+ 省略可能で、デフォルトはconf/help.txtです。
+
+mapreg_txt
+ MAPサーバー内キャラクター共有変数を保存するファイルを指定します。
+ 省略可能で、デフォルトはsave/mapreg_txtです。
+
+data_grf
+ ROデータファイル data.grf へのパスです。
+ 省略可能で、デフォルトは ./data.grf です。
+ grf-files.txtがある場合そちらの設定が優先されます。
+
+sdata_grf
+ サクライデータファイル sdata.grf へのパスです。
+ 省略可能で、デフォルトは ./sdata.grf です。
+ grf-files.txtがある場合そちらの設定が優先されます。
+
+adata_grf
+ αデータファイル adata.grf へのパスです。
+ 省略可能で、デフォルトは ./adata.grf です。
+ grf-files.txtがある場合そちらの設定が優先されます。
+
+npc
+ 読み込むnpcデータファイルへのパスです。
+ 複数指定可能で、指定した順にロードします。
+ clear を指定するとそれまでに登録したパスを全て削除します。
+
+delnpc
+ 読み込まないnpcファイルへのパスです。
+ 指定したパスはnpcで指定されたデータファイルリストから削除されます。
+ all を指定すると全て削除します( npc: clear と同義)。
+
+map
+ このマップが担当するマップファイル名です。
+ 複数指定可能で、指定した順にロードします。
+ 存在しないマップを指定した場合エラーになります。
+ clear を指定するとそれまでに登録したファイル名を全て削除します。
+
+delmap
+ 読み込まないマップファイルへのパスです。
+ 指定したファイルはmapで指定されたリストから削除されます。
+ all を指定すると全て削除します( map: clear と同義)。
+
+import
+ その行を別ファイルの中身と置き換えます。
+
+< Example >
+
+userid: s1
+passwd: p1
+char_ip: 127.0.0.1
+char_port: 6121
+map_ip: 127.0.0.1
+map_port: 5121
+autosave_time: 60
+nullpo_check: 1
+water_height: conf/water_height.txt
+data_grf: ./data.grf
+sdata_grf: ./sdata.grf
+npc: conf/warp/npc_warp.txt
+npc: conf/warp/npc_warp25.txt
+npc: conf/warp/npc_warp3.txt
+npc: conf/mob/npc_monster3J.txt
+map: prontera.gat
+map: prt_castle.gat
+(npc、mapは多いので省略)
+delnpc: conf/sample/npc_test.txt
+npc: clear
+delmap: prontera.gat
+delmap: all
+
+==========================================================================
+5. conf/battle_athena.conf
+--------------------------------------------------------------------------
+
+< What this file is. >
+
+ Battle relation of map-server (server which manages game advance on the map in his duty),
+ Other setup is described.
+ All setup can be omitted and a default value is used at the time of an abbreviation.
+
+< The special character sequence which can be specified to be a value >
+
+ yes on It is processed as 1. (Effective meaning)
+ no off It is processed as 0. (Invalid meaning)
+
+
+< Explanation of a key >
+
+warp_point_debug
+ ワープポイントを普通に表示するかどうかです。これをyesにすると
+ ワープポイントのかわりにギルドフラグがその場所に出てワープ
+ ポイントの名前を確認することができます。デフォルトはnoです。
+
+enemy_critical
+ プレイヤーと同じLUKによるクリティカル判定をMOBとペットに有効にするかどうかです。
+ このクリティカルはもちろん必中なので、onにすると高Fleeでも、
+ LUKの高い敵の攻撃が避けづらくなります。デフォルトはnoです。
+
+enemy_critical_rate
+ モンスターとペットのクリティカル頻度の百分率です。enemy_criticalがyesじゃないと設定しても何の意味もありません。デフォルトは100です。
+
+enemy_str
+ モンスターのが攻撃するときのATK計算にSTRを使用するかどうかです。
+ デフォルトはyesです。
+
+enemy_perfect_flee
+ 敵が完全回避をするかどうかです。これをyesにすると敵も完全回避を
+ するようになります。デフォルトはnoです。
+
+casting_rate
+ スキルの詠唱時間を百分率で調整します。
+ 200にすると詠唱時間が倍になり、0にすると詠唱がなくなります。
+ 0-1000程度の数値を指定してください。デフォルトは100です。
+
+delay_rate
+ スキル使用後ディレイを百分率で調整します。
+ 200にするとディレイが倍になり、0にするとディレイがなくなります。
+ 0-1000程度の数値を指定してください。デフォルトは100です。
+
+delay_dependon_dex
+ スキル使用後ディレイが詠唱時間と同じようにDEXで影響を受けるかどうかを
+ 指定します。デフォルトはnoです。
+
+skill_delay_attack_enable
+ スキルディレイの間攻撃できるかどうかです。yesにすればスキルディレイの間スキルは使えないけど攻撃はできます。
+ デフォルトはnoです。
+
+left_cardfix_to_right
+ 二刀流の左手武器の種族、属性、Sizeのダメージ補正を右手武器に適用するかどうかです。これをyesにすると左手武器には種族、属性、Sizeのダメージ補正が掛からなくなります。デフォルトはnoです。
+
+player_skill_add_range
+ プレイヤーのスキル射程から敵が離れた時どれぐらいの距離までスキルを使用可能にするかを決めます。スキルの射程+player_skill_add_rangeまでスキルが届きます。デフォルトは0ですが少しは入れた方がいいです。
+
+skill_out_range_consume
+ スキルの射程から敵が離れてスキルが失敗した時SPやアイテムを消耗するかどうかです。デフォルトはyesです。
+
+monster_skill_add_range
+ モンスターのスキル射程から敵が離れた時どれぐらいの距離までスキルを使用可能にするかを決めます。スキルの射程+monster_skill_add_rangeまでスキルが届きます。デフォルトは0です。
+
+player_damage_delay
+ プレイヤーキャラがダメージを受けた時移動できないディレイを入れるかどうかです。
+ yesにするとインデュアでも使わない限りダメージを受けた時
+ しばらくは動きません。デフォルトはyesです。
+
+player_damage_delay_rate
+ プレイヤーキャラがダメージを受けた時移動できないディレイを百分率で調整します。
+ 200にするとディレイが倍になり、0にするとディレイがなくなります。
+ player_damage_delayがyesにしてないと意味がありません。
+ デフォルトは100です。
+
+defunit_not_enemy
+ 防御ユニット(セイフティウォール/ニューマなど)がMOBに効果を
+ 及ぼさないようにするかどうかです。デフォルトはyesです。
+
+random_monster_checklv
+ モンスター召還アイテムを使ったときに自分よりLVの高いモンスターを召還するかどうかです。
+ yesにすると、自分よりLVの高いモンスターを召還しないようになります。
+ デフォルトはyesです。
+
+attribute_recover
+ 属性によって攻撃されても回復するかどうかです。noの場合は-属性を
+ 0にします。デフォルトはyesです。
+
+item_auto_get
+ アイテム自動取得機能を使用するかどうかです。
+ yesにするとアイテムドロップをモンスターに一番多くダメージを与えたキャラが
+ 自動でアイテムを取得するようになります。
+ デフォルトはnoです。
+
+flooritem_lifetime
+ 床に落ちたアイテムが消えるまでかかる時間です。単位はms(ミリ秒)です。
+ デフォルトは60000(60秒)で最小は1000(1秒)です。1000未満ならデフォルトにセットされます。
+
+item_first_get_time
+ モンスターに一番ダメージを多く与えたキャラ以外がそのモンスターの
+ ドロップアイテムを取れるようになるまでの時間です。
+ 単位はms(ミリ秒)です。デフォルトは10000(10秒)です。
+
+item_second_get_time
+ item_first_get_timeの後モンスターに二番目にダメージを多く与えた
+ キャラ以外がそのモンスターのドロップアイテムを取れるようになるまでの
+ 時間です。単位はms(ミリ秒)です。デフォルトは7000(7秒)です。
+
+item_third_get_time
+ item_second_get_timeの後モンスターに三番目にダメージを多く与えた
+ ャラ以外がそのモンスターのドロップアイテムを取れるようになるまでの
+ 時間です。単位はms(ミリ秒)です。デフォルトは5000(5秒)です。
+
+mvp_item_first_get_time
+ モンスターに一番ダメージを多く与えたキャラ以外がそのモンスターの
+ MVPアイテムを取れるようになるまでの時間です。
+ 単位はms(ミリ秒)です。デフォルトは10000(10秒)です。
+
+mvp_item_second_get_time
+ mvp_item_first_get_timeの後モンスターに二番目にダメージを多く与えた
+ キャラ以外がそのモンスターのMVPアイテムを取れるようになるまでの
+ 時間です。単位はms(ミリ秒)です。デフォルトは10000(10秒)です。
+
+mvp_item_third_get_time
+ mvp_item_second_get_timeの後モンスターに三番目にダメージを多く与えた
+ キャラ以外がそのモンスターのMVPアイテムを取れるようになるまでの
+ 時間です。単位はms(ミリ秒)です。デフォルトは2000(2秒)です。
+
+item_rate
+ アイテムドロップ率を百分率で調整します。
+ 0-1000程度の数値を指定してください。デフォルトは100です。
+
+drop_rate0item
+ 落下確率0のアイテム(一部モンスターにおけるリンゴ)を落下するかどうかの設定です。
+ デフォルトはnoです。
+
+base_exp_rate
+ BaseEXPの所得倍率を百分率で調整します。
+ 0-1000程度の数値を指定してください。デフォルトは100です。
+
+job_exp_rate
+ JobEXPの所得倍率を百分率で調整します。
+ 0-1000程度の数値を指定してください。デフォルトは100です。
+
+death_penalty_type
+ デスペナルティのタイプを決定します。
+ 0で死んだ後リスタートする時に適用で持っているEXPの量から比率の分を減らす仕様、1で死んだ直後に適用で持っているEXPの量から比率の分を減らす仕様です。
+ 2で死んだ後リスタートする時に適用で次のレベルアップまでのEXPから比率の分を減らす仕様、3で死んだ直後に適用で次のレベルアップまでのEXPから比率の分を減らす仕様です。
+ デフォルトは0です。
+
+death_penalty_base
+ デスペナルティによるBASE経験値減少率を百分率で調整します。
+ あまり低すぎる値を使うと減りません。単位は0.01%です。
+ デフォルトは0です。
+
+death_penalty_job
+ デスペナルティによるJOB経験値減少率を百分率で調整します。
+ あまり低すぎる値を使うと減りません。単位は0.01%です。
+ デフォルトは0です。
+
+zeny_penalty
+ 死んだ時無くなるゼニ量の比率です。単位は0.01%です。死んだ時
+ 減るわけではなく死んだ後セーヴポイントに戻る時適用されます。
+ デフォルトは0です。
+
+restart_hp_rate
+ リスタートする時に回復するHP比率を百分率で調整します。単位は%です。
+ デフォルトは0です。0の場合1回復になります。
+
+restart_sp_rate
+ リスタートする時に回復するSP比率を百分率で調整します。単位は%です。
+ デフォルトは0です。0の場合は回復しません。
+ そしてSPが比率より高い場合も回復しません。
+
+mvp_hp_rate
+ MVP モンスターのHPを百分率で調整します。
+ 0-1000程度の数値を指定してください。デフォルトは100です。
+
+mvp_item_rate
+ MVPアイテムの所得倍率を百分率で調整します。
+ 0-1000程度の数値を指定してください。デフォルトは100です。
+
+mvp_exp_rate
+ MVP EXPの所得倍率を百分率で調整します。
+ 0-1000程度の数値を指定してください。デフォルトは100です。
+
+monster_hp_rate
+ MVP 以外のモンスターのHPを百分率で調整します。
+ 0-1000程度の数値を指定してください。デフォルトは100です。
+
+monster_max_aspd
+ モンスターの最大攻撃速度を設定します。
+ デフォルトは199です。最大は199で最小は100です。
+
+atcommand_gm_only
+ @コマンドをGM専用にするかどうかです。デフォルトはnoです。
+
+gm_all_skill
+ 全てのスキルを覚えられるようにするGMのレベルを設定します。
+ これを0以外にすると、そのGMレベル以上のGMはJOBやスキル所得条件に関係なく全スキルが覚えられます。(クェストスキルも含めて)
+ デフォルトは 0 です。0の場合はGMではない全てのキャラの意味ではなく全てのGMが全てのスキルを覚えられないと言うことです。
+
+gm_all_equipment
+ 全ての装備品を装備できるようにするGMのレベルを設定します。
+ これを0以外にすると、そのGMレベル以上のGMはJOBやレベル、性別に関係なく
+ 全装備品を装備できるようになります。ただし、クライアント側でエラーを
+ 起こす組み合わせもあると思います。デフォルトは 0 です。
+ 0の場合は全てのGMは通常プレイヤーと同じ判定が行われます。
+
+gm_skill_unconditional
+ 無条件にスキルを使用できるようにするGMのレベルを設定します。
+ これを0以外にすると、そのGMレベル以上のGMは装備武器や消費アイテムの有無
+ などに関係なく、そして何も消費することなくスキルを使用できるように
+ なります。判定処理を無視するので動作に不都合がでる可能性があります。
+ デフォルトは 0 です。 0の場合は全てのGMは通常プレイヤーと同じ判定が
+ 行われます。
+
+player_skillfree
+ スキルツリーに関係なくスキルを上げることができるかどうかです。
+ これをyesにすればプレイヤーの職業で習うことができるスキル全てを
+ スキルツリーに関係なく上げることができます。デフォルトはnoです。
+
+player_skillup_limit
+ スキルリセット等をした時スキルを制限なしに上げるかどうかです。
+ これをyesにすれば始めのスキルポイント9つはノービスで習うスキルにしか
+ 使えません。そしてその後の39は1次職業で習う物にだけ使えてその後の
+ ポイントは自由に使うことができます。デフォルトはnoです。
+
+weapon_produce_rate
+ 武器製造スキルでの製造成功率を百分率で調整します。
+ 0-1000程度の数値を指定してください。デフォルトは100です。
+
+potion_produce_rate
+ ポーション製造スキルでの製造成功率を百分率で調整します。
+ 0-1000程度の数値を指定してください。デフォルトは100です。
+
+monster_active_enable
+ 先攻モンスターを先攻にするかどうかです。これをnoにすると
+ 先攻モンスターが非先攻になります。デフォルトはyesです。
+
+monster_damage_delay_rate
+ モンスターがダメージを受けた時移動できないディレイを百分率で調整します。
+ 200にするとディレイが倍になり、0にするとディレイがなくなります。
+ デフォルトは100です。
+
+monster_loot_type
+ ルートモンスターの行動の仕方を指定します。
+ 0の場合はLOOTITEM_SIZEまでアイテムを食べてもまたアイテムを食べて、
+ 前のアイテムが消える仕様。1の場合はLOOTITEM_SIZEまでアイテムを食べると
+ もうアイテムを食べなくなる仕様。デフォルトは0です。
+
+mob_skill_use
+ MOBがスキルを使ってくるかどうかです。デフォルトはyesです。
+
+mob_count_rate
+ map_athena.confで指定されたnpcデータを読み込む際、
+ monsterで定義された配置MOBの数を百分率で調整します。
+ 例外として、配置数1として定義されたMOBの数は変わりません。(BOSS対策)
+ また、配置数を下方修正したとき、1未満になった場合は1として処理します。
+ 0-1000程度で指定してください。デフォルトは100です。
+
+quest_skill_learn
+ クェストスキルを普通に習得するかどうかです。
+ これをyesにするとクェストスキルが普通に表示されてスキルポイントを使って習得することができます。
+ デフォルトは noです。
+
+quest_skill_reset
+ スキルをリセットする時クェストスキルをリセットするかどうかです。
+ デフォルトはyesです。
+ noにしてもquest_skill_learnをyesにすればリセットされます。
+
+basic_skill_check
+ 座り、交換、パーティ結成、チャットルーム作り等の時基本スキルをチェックするかどうかです。
+ これをnoにすれば座り、交換等の基本スキルが必要な行動を基本スキルに関係なく使うことができます。
+ デフォルトは yesです。
+
+guild_emperium_check
+ ギルドを作る時エンペリウムを消費するかどうかです。これをnoにすれば
+ エンペリウムなしでもギルドが作れます。
+ デフォルトは yesです。
+
+guild_exp_limit
+ ギルドの役職に設定できる上納経験値の割合の上限を設定できます。
+ デフォルトは50(%)です。
+
+player_invincible_time
+ マップ移動やテレポート、復活した時の無敵時間を設定します。単囲は
+ ms(ミリ秒)。移動、攻撃行動、スキル使用、アイテム使用をするとこの
+ 時間はなくなる。(シーズモードでは時間を2倍にして適用)
+ デフォルトは5000(5秒)です。
+
+pet_catch_rate
+ ペットの捕獲倍率を百分率で設定します。
+ 0-1000程度の数値を指定してください。デフォルトは100です。
+pet_rename
+ ペットの名前を変更するかどうかを決めます。デフォルトはnoです。
+ yesは何度でも名前の変更が可能。noは一度変更するともう変更不可能になる。
+
+pet_friendly_rate
+ ペットに餌をあげた時上がる親密度の倍率です。
+ 親密度が減る場合は適用されません。デフォルトは100です。
+
+pet_hungry_delay_rate
+ ペットの腹が減る時間の倍率です。
+ 倍率が高いと腹が減り難くなります。デフォルトは100です。
+
+pet_hungry_friendly_decrease
+ ペットの腹が完全に減った時減る親密度の量です。デフォルトは5です。
+
+pet_str
+ ペットのATK計算にSTRを適用するかどうかです。
+ デフォルトはyesです。
+
+pet_status_support
+ ペットによるステータスボーナスを適用するかどうかです。yesにすると
+ ペットを持ってる時ペット毎に設定されているステータスボーナスが
+ 付きます。デフォルトはnoです。
+
+pet_attack_support
+pet_damage_support
+ 主人がモンスターにダメージを与えたとき、受けたときに
+ ペットが支援攻撃をするかどうかです。yesにするとペットの親密度が
+ きわめて親しいの時だけ支援攻撃をしてくれます。デフォルトはnoです。
+
+pet_support_rate
+ ペットの支援攻撃確率の倍率です。(100で通常、200で倍です)
+ 倍率が高いと支援攻撃よくしてくれるようになります。デフォルトは100です。
+
+pet_attack_exp_to_master
+ ペットが与えたダメージの分の経験値を主人が収得するかどうかです。
+ これをyesにするとペットの攻撃によるダメージも主人が与えた物になり
+ 主人が経験値を収得することができます。デフォルトはnoです。
+
+pet_attack_exp_rate
+ ペットが与えたダメージの分の経験値を主人が収得する時の倍率です。
+ デフォルトは100です。
+pet_lootitem
+ ペットがアイテムをルートするかどうかの設定です。
+ デフォルトはnoです。
+
+pet_weight
+ ペットにルートさせるときの重量制限です。
+ デフォルトは1000です。
+
+skill_min_damage
+ スキルを使った時ダメージが連打数より未満の場合全てミスになるか1ダメージになるかを決定します。
+ デフォルトはnoです。
+
+finger_offensive_type
+ スキル指弾の表示タイプを決定します。
+ 0は本サーバー仕様で1はアテナ仕様です。デフォルトは0です。
+
+heal_exp
+ スキル「ヒール」を使った際にもらえるジョブ経験値量の設定です。
+ 100で回復した量と同量になります。
+ モンスターの経験値を変更してない場合は5〜10程度が適当だと思われます。
+ デフォルトは0です。
+
+resurrection_exp
+ スキル「リザレクション」を使った際にもらえる経験値量の設定です。
+ 単位は0.01%です。復活したプレイヤーが持っている経験値 * レベル差/100 * resurrection_exp/10000 分の経験が貰えます。
+ デフォルトは0です。
+
+shop_exp
+ スキルディスカウントとオーバーチャージを習得してる場合NPC利用金額に応じたJOB経験値獲得倍率です。(100で通常、200で倍になります)
+ 計算式はln(代金*スキルレベル) * shop_exp / 100 で買う場合はディスカウントがある時のみ適用で売る場合オーバーチャージがある時のみ適用されます。
+ 計算式は適度に作った物です。
+ デフォルトは0です。
+
+combo_delay_rate
+ モンクのコンボディレイの時間の倍率です。(100で通常、200で倍になります。)
+ ただ注意するべきなのは高く設定するのがいいことではないことです。
+ コンボディレイが長いとコンボの繋ぎはよくなりますがその長くなった
+ 時間の間は行動できないからです。デフォルトは100です。
+
+item_check
+ アイテムのチェックを行うかどうかです。
+ ログイン時とマップ移動時に所持アイテムに不正アイテムがないかチェックします。
+ また@itemで不正アイテムを所得できなくします。
+ デバグやアイテムの確認を行うときなどはoffにしてください。
+ デフォルトはonです。
+
+wedding_modifydisplay
+ タキシードとウェディングドレスを表示するかどうかです。
+ 結婚キャラを表示したい場合はこれをyesにしてください。
+ デフォルトはnoです。
+
+natural_healhp_interval
+ HPが自動回復するまで掛かる時間です。単位はms(ミリ秒)です。
+ デフォルトは6000でNATURAL_HEAL_INTERVAL未満にすることはできません。
+
+natural_healsp_interval
+ SPが自動回復するまで掛かる時間です。単位はms(ミリ秒)です。
+ デフォルトは8000でNATURAL_HEAL_INTERVAL未満にすることはできません。
+
+natural_heal_skill_interval
+ スキルによって自動回復する場合掛かる時間です。単位はms(ミリ秒)です。
+ デフォルトは10000でNATURAL_HEAL_INTERVAL未満にすることはできません。
+
+natural_heal_weight_rate
+ 自動回復ができなくなる重量を設定します。単位は%です。
+ 最小は50で最大は101です。最大が101なのは重量が
+ natural_heal_weight_rate未満の時に自動回復するからです。(つまり101なら
+ いつでも自動回復できます。)
+ デフォルトは50です。
+
+item_name_override_grffile
+ アイテムの名前(英語以外の名前です。)を.grfファイルから読むかどうかです。
+ noにするとitem_db.txtの名前を使います。
+ デフォルトはyesです。
+
+arrow_decrement
+ 弓を使う時矢を消耗するかどうかです。これをnoにすると
+ 矢が消耗されません。(矢を装備する必要はあります。)
+ デフォルトはyesです。
+
+max_aspd
+ プレイヤーの最大攻撃速度を設定します。
+ デフォルトは199です。最大は199で最小は100です。
+
+max_hp
+ 最大HPを設定します。
+ デフォルトは32500です。最大は1000000で最小は100です。
+
+max_sp
+ 最大SPを設定します。
+ デフォルトは32500です。最大は1000000で最小は100です。
+
+max_parameter
+ プレイヤーの基本パラメータの最大値を設定します。
+ デフォルトは99です。最大は10000で最小は10です。
+ 基本パラメータ大きい過ぎるとクライアント落ちが起こるので
+ 適当な値を設定する方が良いです。
+
+max_cart_weight
+ カートの最大重量を設定します。
+ デフォルトは8000です。最大は1000000で最小は100です。
+
+player_skill_log
+ プレイヤーのスキル使用ログを表示するかどうかです。
+ デフォルトはnoです。
+
+monster_skill_log
+ モンスターのスキル使用ログを表示するかどうかです。
+ デフォルトはnoです。
+
+battle_log
+ 戦闘関係のログを表示するかどうかです。
+ デフォルトはnoです。
+
+save_log
+ キャラの保存に関するログを表示するかどうか
+ デフォルトはnoです。
+
+error_log
+ エラーログを表示するかどうかです。
+ デフォルトはyesです。
+
+etc_log
+ スキル、戦闘、キャラ保存、エラー以外のログを表示するかどうか
+ デフォルトはyesです。
+
+save_clothcolor
+ 服の色を保存するかどうか、有効にすると問題があるかもしれません。
+ デフォルトはnoです。
+
+undead_detect_type
+ アンデッドを認識する方法を設定します。0で属性のみ、1で種族のみ、
+ 2で属性と種族の両方のどちらでもあってる場合になります。
+ デフォルトは0です。
+
+player_auto_counter_type
+ プレイヤーのオートカウンターの仕様を設定します。0で100%クリティカル
+ でスキル反撃無し、1で防御無視、Hit+20、クリティカル率2倍でスキル反撃
+ 無し、2で100%クリティカルでスキル反撃有り、3で防御無視、Hit+20、
+ クリティカル率2倍でスキル反撃有りです。
+ デフォルトは1です。
+
+monster_auto_counter_type
+ モンスターのオートカウンターの仕様を設定します。0で100%クリティカル
+ でスキル反撃無し、1で防御無視、Hit+20、クリティカル率2倍でスキル反撃
+ 無し、2で100%クリティカルでスキル反撃有り、3で防御無視、Hit+20、
+ クリティカル率2倍でスキル反撃有りです。
+ デフォルトは1です。
+
+agi_penaly_type
+ agi_penaly_count以上の敵に攻撃された時のagiペナルティの仕様を設定します。
+ 0でなし、1でagi_penaly_num%ずつ減って、2でagi_penaly_numだけ減ります。
+ デフォルトは0です。
+
+agi_penaly_count
+ agiペナルティを適用する敵の数を設定します。
+ 2未満に設定することはできません。デフォルトは3です。
+
+agi_penaly_num
+ agiペナルティによって減る回避の量を設定します。
+ デフォルトは0です。
+
+vit_penaly_type
+ vit_penaly_count以上の敵に攻撃された時のvitペナルティの仕様を設定します。
+ 0でなし、1でvit_penaly_num%ずつ減って、2でvit_penaly_numだけ減ります。
+ (減るのはvitによる防御のみ)
+ デフォルトは0です。
+
+vit_penaly_count
+ vitペナルティを適用する敵の数を設定します。
+ 2未満に設定することはできません。デフォルトは3です。
+
+vit_penaly_num
+ vitペナルティによって減る回避の量を設定します。
+ デフォルトは0です。
+
+player_defense_type
+ プレイヤーが対象に攻撃する時のDEFの計算方法。0で本鯖仕様、1以上で減算(DEF*値)。
+
+monster_defense_type
+ モンスターが対象に攻撃する時のDEFの計算方法。0で本鯖仕様、1以上で減算(DEF*値)。
+
+pet_defense_type
+ ペットが対象に攻撃する時のDEFの計算方法。0で本鯖仕様、1以上で減算(DEF*値)。
+
+magic_defense_type
+ MDEFの計算方法。0で本鯖仕様、1以上で減算(MDEF*値)
+
+player_skill_reiteration
+ プレイヤーが使う一部の地面スキルの重ね置きを許可するかどうかです。
+ これをyesにするとSWやニューマ、トラップを重ねて置くことができます。
+ デフォルトはnoです。
+
+monster_skill_reiteration
+ モンスターが使う一部の地面スキルの重ね置きを許可するかどうかです。
+ これをyesにするとSWやニューマ、トラップを重ねて置くことができます。
+ デフォルトはnoです。
+
+player_skill_nofootset
+ プレイヤーが使う一部の地面スキルをプレイヤーやモンスターの足元に
+ 置くのを禁止するかどうかです。これをyesにするとスキルを設置する時その
+ 効果範囲にプレイヤーやモンスターがいるとスキルを置くことができません。
+ デフォルトはnoです。
+
+monster_skill_nofootset
+ モンスターが使う一部の地面スキルをプレイヤーやモンスターの足元に
+ 置くのを禁止するかどうかです。これをyesにするとスキルを設置する時その
+ 効果範囲にプレイヤーやモンスターがいるとスキルを置くことができません。
+ デフォルトはnoです。
+
+player_cloak_check_type
+ プレイヤークローキングの仕様を設定します。
+ 0は壁チェック有り、スキル使用と攻撃で解除される。
+ 1は壁チェック無し、スキル使用と攻撃で解除される。
+ 2はは壁チェック有り、スキル使用と攻撃で解除されない。
+ 2はは壁チェック無し、スキル使用と攻撃で解除されない。
+ デフォルトは0です。
+
+monster_cloak_check_type
+ モンスタークローキングの仕様を設定します。
+ 0は壁チェック有り、スキル使用と攻撃で解除される。
+ 1は壁チェック無し、スキル使用と攻撃で解除される。
+ 2はは壁チェック有り、スキル使用と攻撃で解除されない。
+ 2はは壁チェック無し、スキル使用と攻撃で解除されない。
+ デフォルトは0です。
+
+gvg_short_attack_damage_rate
+ シーズモードで近距離物理攻撃のダメージ倍率です。デフォルトは100です。
+
+gvg_long_attack_damage_rate
+ シーズモードで遠距離物理攻撃のダメージ倍率です。デフォルトは100です。
+
+gvg_magic_attack_damage_rate
+ シーズモードで魔法攻撃のダメージ倍率です。デフォルトは100です。
+
+gvg_misc_attack_damage_rate
+ シーズモードで物理攻撃と魔法攻撃以外の攻撃(鷹やトラップ等)の
+ ダメージ倍率です。デフォルトは100です。
+
+mob_changetarget_byskill: no
+ 条件がskillusedのスキルをMOBがPCに使用するとき、その対象をスキル使用者にするかどうかです。
+ MOBスキル使用後にタゲは戻ります。デフォルトはnoです。
+
+player_attack_direction_change
+ プレイヤーが攻撃した時方向を変更するかどうかです。本鯖では動けない限り方向が変えらないのですがバグぽい仕様なのでデフォルトはyesです。
+ noにすれば動くことだけで方向が変えるようになります。
+
+monster_attack_direction_change
+ モンスターが攻撃した時方向を変更するかどうかです。本鯖では動けない限り方向が変えらないのですがバグぽい仕様なのでデフォルトはyesです。
+ noにすれば動くことだけで方向が変えるようになります。
+
+player_land_skill_limit
+ skill_db.txtで設定されている地面スキルの数制限をプレイヤーに
+ 適用するかどうかです。これをyesにすれば設定されている数以上は
+ 地面に設置することができなくなりますが数制限をどう変えても
+ MAX_SKILLUNITGROUPを越える数の設置はできません。
+ デフォルトはyesです。
+
+monster_land_skill_limit
+ skill_db.txtで設定されている地面スキルの数制限をモンスターに
+ 適用するかどうかです。これをyesにすれば設定されている数以上は
+ 地面に設置することができなくなりますが数制限をどう変えても
+ MAX_MOBSKILLUNITGROUPを越える数の設置はできません。
+ デフォルトはyesです。
+
+party_skill_penaly
+ 一部のパーティスキルを使用者とパーティでスキル効果が違うように
+ するかどうかです。これの影響を受けるスキルは今の所
+ アドレナリンラッシュ、ウエポンパーフェクション、オーバートラストのみです。
+ デフォルトはyesです。
+
+monster_class_change_full_recover
+ モンスターがメタモルフォーシスとトランスフォーメーション等によって
+ 他のモンスターに変わった時そのモンスターのHPを最大なで回復させるか
+ どうかです。これをyesにすると変わったモンスターの最大HPまで
+ 回復します。noなら変わる前のHPと最大HPの比率の分のHPになります。
+ デフォルトはnoです。
+
+produce_item_name_input
+ 製造で作られた鉄や属性石に製造者の名前を付けるかどうかです。
+ デフォルトはyesです。
+
+produce_potion_name_input
+ 製造で作られたポーションに製造者の名前を付けるかどうかです。
+ デフォルトはyesです。
+
+making_arrow_name_input
+ 矢作成で作られた矢に製造者の名前を付けるかどうかです。
+ デフォルトはyesです。
+
+holywater_name_input
+ アクアベネディクタで作られた聖水に製造者の名前を付けるかどうかです。
+ デフォルトはyesです。
+
+display_delay_skill_fail
+ スキル使用のディレイ中に「スキル使用の後は、しばらくお待ちください」を表示するかどうかです。
+ デフォルトはyesです。
+
+chat_warpportal
+ チャット中のPCをワープポータルで飛ばせるかどうかです。
+ デフォルトはnoです。
+
+mob_warpportal
+ MOBをワープポータルで飛ばせるかどうかです。
+ デフォルトはnoです。
+
+dead_branch_active
+ 古木の枝などmonster命令でmobidを負数に指定した場合に召喚されるモンスターをアクティブにするかどうかです。
+ デフォルトはnoです。
+
+vending_max_value
+ 露店で置けるアイテム価格の最高値です。
+ デフォルトは10000000です。
+
+show_steal_in_same_party
+ スティール成功時、画面内のPTメンバー(自分含む)に
+ スティールしたアイテムの情報を公開するかどうかです。
+ デフォルトはnoです。
+
+enable_upper_class
+ 転生、養子職を有効にするかどうかです。
+ デフォルトはnoです。
+
+pet_atack_attr_none
+ ペットによる無属性通常攻撃を
+ 属性無し(属性による補正無し)にするかどうかです。
+ デフォルトはnoです
+
+pc_atack_attr_none
+ プレイヤーによる無属性通常攻撃を
+ 属性無し(属性による補正無し)にするかどうかです。
+ デフォルトはnoです
+
+mob_atack_attr_none
+ モンスターによる無属性通常攻撃を
+ 属性無し(属性による補正無し)にするかどうかです。
+ デフォルトはyesです
+
+player_skill_partner_check
+ 聖体降福や合奏スキルを行う際にパートナーの存在をチェックするかどうかです。
+ デフォルトはyes(チェックする)です。
+
+hide_GM_session
+ GMアカウントのキャラクターを@コマンド等で表示の対象にするかどうかです。
+ デフォルトはnoです
+unit_movement_type
+ ユニット移動処理方法を選択します。
+ 0で本鯖仕様(回線負荷→重、鯖処理→軽)、1でAthena仕様(回線負荷→軽、鯖処理→重)
+ デフォルトは0(本鯖仕様)です
+invite_request_check
+ プレイヤーが各種要請中(PT加入、Guild加入、取引)に他の要請を受け入れるかどうかです。
+ yesで本鯖仕様、noでAthena仕様(受け入れない)
+ デフォルトはyes(受け入れる)です。
+skill_removetrap_type
+ リムーブトラップの仕様を選択します。
+ 0:本鯖仕様で罠1個を取得する
+ 1:Athena仕様で使ったアイテムを使った個数を取得する
+disp_experience
+ 経験値を表示するかどうかです。
+ yesにすると、敵を倒した時など経験値が入った時に本人にのみ表示されます。
+ デフォルトはnoです。
+
+night_at_start
+ Choose if server begin with night (yes) or day (no)
+ Default: No
+
+day_duration
+ Define duration in msec of the day.
+ Set to 0 to disable day cycle (but not @day command).
+ Except 0, minimum is 60000 (1 minute).
+ Default: 7,200,000 = 2 hours
+
+night_duration
+ Define duration in msec of the night.
+ Set to 0 to disable night cycle (but not @night command).
+ Except 0, minimum is 60000 (1 minute).
+ Default: 1,800,000 = 30 min
+
+ban_spoof_namer
+ Ban people that try to use an other name of its name (spoof name).
+ Duration of the ban, in minutes.
+ Value from 0 to 32767. Set to 0 to do no ban.
+ Default: 5 (minutes)
+
+hack_info_GM_level
+ Set here minimum level of a (online) GM that can receive all informations about any player that try to hack, spoof a name, etc.
+ Values are from 0 to 100.
+ 100: disable information
+ 0: send to any people, including normal players
+ default: 60, according to GM definition in atcommand_athena.conf
+
+any_warp_GM_min_level
+ Set here the minimum GM level to disable the nowarp (from) and nowarpto (to) flags.
+ This option is mainly used in AT_commands (@memo, @warp, @charwarp, @go, etc...). All GM commands used to move or set a new map check nowarp and nowarpto flags.
+ default: 20 (first level after normal player or super'normal' player)
+
+packet_ver_flag
+ Set here which client version do you accept. Add all values of clients:
+ 1: Clients before 2004-07-06 (old clients)
+ 2: 2004-07-06 kRO client
+ 4: 2004-07-13 kRO client
+ 8: 2004-07-26 kRO client
+ 16: 2004-08-09 kRO / 2004-08-16aSakray / 2004-08-17aSakray client
+ 32: 2004-09-06aSakray client
+ default value: 63 (all clients)
+
+import
+ その行を別ファイルの中身と置き換えます。
+
+< Example >
+
+warp_point_debug: no
+enemy_critical: yes
+enemy_critical_rate: 100
+enemy_perfect_flee: no
+casting_rate: 100
+delay_rate: 100
+delay_dependon_dex: no
+skill_delay_attack_enable: no
+left_cardfix_to_right: no
+player_skill_add_range: 0
+skill_out_range_consume: yes
+monster_skill_add_range: 0
+player_damage_delay: yes
+player_damage_delay_rate: 100
+defunit_not_enemy: yes
+random_monster_checklv: yes
+attribute_recover: yes
+item_auto_get: no
+flooritem_lifetime: 60000
+item_first_get_time: 10000
+item_second_get_time: 7000
+item_third_get_time: 5000
+mvp_item_first_get_time: 10000
+mvp_item_second_get_time: 10000
+mvp_item_third_get_time: 2000
+item_rate: 100
+drop_rate0item: no
+base_exp_rate: 100
+job_exp_rate: 100
+death_penalty_type: 0
+death_penalty_base: 100
+death_penalty_job: 100
+zeny_penalty: 0
+restart_hp_rate: 0
+restart_sp_rate: 0
+mvp_hp_rate: 100
+mvp_item_rate: 100
+mvp_exp_rate: 100
+monster_hp_rate: 100
+monster_max_aspd: 199
+atcommand_gm_only: Yes
+gm_all_skill: 0
+gm_all_equipment: 0
+gm_skill_unconditional: 0
+player_skillfree: no
+player_skillup_limit: no
+weapon_produce_rate: 100
+potion_produce_rate: 100
+monster_active_enable: yes
+monster_damage_delay_rate: 100
+monster_loot_type: 0
+mob_skill_use: yes
+mob_count_rate: 100
+quest_skill_learn: no
+quest_skill_reset: yes
+basic_skill_check: yes
+guild_emperium_check: yes
+player_invincible_time: 5000
+pet_catch_rate: 100
+pet_rename: no
+pet_friendly_rate: 100
+pet_hungry_delay_rate: 100
+pet_hungry_friendly_decrease: 5
+pet_str: yes
+pet_status_support: no
+pet_support: no
+pet_support_rate: 100
+pet_attack_exp_to_master: no
+pet_attack_exp_rate: no
+pet_lootitem: no
+pet_weight: 1000
+skill_min_damage: no
+finger_offensive_type: 0
+heal_exp: 0
+resurrection_exp: 0
+hop_exp: 0
+combo_delay_rate: 100
+item_check: on
+wedding_modifydisplay: no
+natural_healhp_interval:4000
+natural_healsp_interval:8000
+natural_heal_skill_interval:10000
+natural_heal_weight_rate: 50
+item_name_override_grffile: yes
+arrow_decrement: yes
+max_aspd: 199
+max_hp: 32500
+max_sp: 32500
+max_parameter: 99
+max_cart_weight: 8000
+player_skill_log: off
+monster_skill_log: off
+battle_log: off
+save_log: off
+error_log: on
+etc_log: on
+save_clothcolor: no
+undead_detect_type: 2
+player_auto_counter_type: 1
+monster_auto_counter_type: 0
+agi_penaly_type: 0
+agi_penaly_count: 3
+agi_penaly_num: 0
+vit_penaly_type: 0
+vit_penaly_count: 3
+vit_penaly_num: 0
+player_defense_type: 0
+monster_defense_type: 0
+pet_defense_type: 0
+magic_defense_type: 0
+player_skill_reiteration: no
+monster_skill_reiteration: no
+player_skill_nofootset: no
+monster_skill_nofootset: no
+player_cloak_check_type: 0
+monster_cloak_check_type: 0
+gvg_short_attack_damage_rate: 100
+gvg_long_attack_damage_rate: 100
+gvg_magic_attack_damage_rate: 100
+gvg_misc_attack_damage_rate: 100
+mob_changetarget_byskill: no
+player_attack_direction_change:yes
+monster_attack_direction_change:yes
+player_land_skill_limit: yes
+monster_land_skill_limit: yes
+party_skill_penaly: yes
+monster_class_change_full_recover: no
+produce_item_name_input: yes
+produce_potion_name_input: yes
+making_arrow_name_input: yes
+holywater_name_input: yes
+display_delay_skill_fail: yes
+chat_warpportal: no
+mob_warpportal: no
+dead_branch_active: no
+vending_max_value: 10000000
+show_steal_in_same_party: no
+enable_upper_class: no
+pet_atack_attr_none: no
+pc_atack_attr_none: no
+mob_atack_attr_none: yes
+player_skill_partner_check: yes
+hide_GM_session: no
+invite_request_check: yes
+unit_movement_type: 0
+disp_experience: no
+night_at_start: No
+day_duration: 7200000
+night_duration: 1800000
+ban_spoof_namer: 5
+hack_info_GM_level: 60
+any_warp_GM_min_level: 20
+packet_ver_flag: 63
+
+
+==========================================================================
+6. atcommand_athena.conf
+--------------------------------------------------------------------------
+
+< What this file is. >
+
+ GMコマンド(/mm、/nb等)や@コマンドを使うことができるGMのレベルを設定する物です。
+ 設定は全て省略可能で、省略時はデフォルト値が利用されます。(デフォルトは0です。)
+
+command_symbol
+ Set here the symbol that you want to use for your commands
+ Only 1 character is get (default is '@'). You can set any character,
+ except control-character (0x00-0x1f), '%' (party chat speaking) and '/' (standard ragnarok GM commands)
+ With default character, all commands begin by a '@': <example> @revive
+ default: @
+
+Sets the level of the users that can use the GM commands.
+<command name>: level
+// When battle_athena.conf has atcommand_gm_only set to no,
+// normal players (gm level 0) can use GM commands if you set 0 to the command level.
+Max GM level is 99. If you want forbid a command to all people, set it with level 100.
+
+broadcast
+ GMコマンド /nb、/b、/bb
+local_broadcast
+ GMコマンド /lb
+mapmove
+ GMコマンド /mm
+resetstate
+ GMコマンド /resetstate、/resetskill
+rura+
+ @コマンド @rura+
+rura
+ @コマンド @rura
+where
+ @コマンド @where
+jumpto
+ @コマンド @jumpto
+jump
+ @コマンド @jump
+who
+ @コマンド @who
+save
+ @コマンド @save
+load
+ @コマンド @load
+speed
+ @コマンド @speed
+storage
+ @コマンド @storage
+gstorage
+ @コマンド @gstorage
+option
+ @コマンド @option
+hide
+ GMコマンド /hideと@コマンド @hide
+jobchange
+ @コマンド @jobchange
+die
+ @コマンド @die
+kill
+ @コマンド @kill
+alive
+ @コマンド @alive
+kami
+ @コマンド @kami、@kamib
+heal
+ @コマンド @heal
+item
+ @コマンド @item、@item2
+itemreset
+ @コマンド @itemreset
+itemcheck
+ @コマンド @itemcheck
+lvup
+ @コマンド @lvup
+joblvup
+ @コマンド @joblvup
+help
+ @コマンド @help、@h
+gm
+ To become GM (need password; password is set in login_athena.conf).
+ special!: only a non-GM (player with gm level 0) need to have this command.
+ if you change the value, be sure of what you do!
+ To be able to create a gm with @gm, you must:
+ - give a level to level_new_gm (parameter of login_athena.conf) (not 0)
+ - enable to level 0 the @gm command (atcommand_athena.conf) (default 100) - Only level 0 can give access to this command
+ - enable gm commands to normal player (battle_athena.conf, atcommand_gm_only parameter)
+ - and normal player must give correct password when he use the @gm command (gm_pass paramter in login_athena.conf)
+pvpoff
+ @コマンド @pvpoff
+pvpon
+ @コマンド @pvpon
+gvgoff
+ @コマンド @gvgoff
+gvgon
+ @コマンド @gvgon
+model
+ @コマンド @model
+go
+ @コマンド @go
+monster
+ @コマンド @monster
+killmonster
+ @コマンド @killmonster、@killmonster2
+refine
+ @コマンド @refine
+produce
+ @コマンド @produce
+memo
+ @コマンド @memo
+gat
+ @コマンド @gat
+packet
+ @コマンド @packet
+stpoint
+ @コマンド @stpoint
+skpoint
+ @コマンド @skpoint
+zeny
+ @コマンド @zeny
+param
+ @コマンド @str、@agi、@vit、@int、@dex、@luk
+guildlvup
+ @コマンド @guildlvup
+makeegg
+ @コマンド @makeegg
+petfriendly
+ @コマンド @petfriendly
+pethungry
+ @コマンド @pethungry
+petrename
+ @コマンド @petrename
+recall
+ @コマンド @recall
+charjob
+ @コマンド @charjob
+revive
+ @コマンド @revive
+charstats
+ @コマンド @charstats
+charoption
+ @コマンド @charoption
+charsave
+ @コマンド @charsave
+charload
+ @コマンド @charload
+night
+ @コマンド @night
+day
+ @コマンド @day
+doom
+ @コマンド @doom
+doommap
+ @コマンド @doommap
+raise
+ @コマンド @raise
+raisemap
+ @コマンド @raisemap
+charbaselvl
+ @コマンド @charbaselvl
+charjlvl
+ @コマンド @charjlvl
+kick
+ @コマンド @kickとGM右クリック命令「使用者強制終了」
+allskill
+ @コマンド @allskill
+questskill
+ @コマンド @questskill
+lostskill
+ @コマンド @lostskill
+spiritball
+ @コマンド @spiritball
+party
+ @コマンド @party
+guild
+ @コマンド @guild
+agitstart
+ @コマンド @agitstart
+agitend
+ @コマンド @agitend
+mapexit
+ @コマンド @mapexit
+idsearch
+ @コマンド @idsearch
+charchangesex
+ Changes the sex of an online player (all characters on the account)
+ignorelist
+ Displays your ignore list
+charignorelist
+ Displays ignore list of a player
+inall
+ Allows all wispers for the player
+exall
+ Blocks all wispers for the player
+chardisguise
+ Changes disguise of a player
+charundisguise
+ Cancels disguise of a player
+email
+ To change your (own) email (characters protection)
+ note: this command doesn't check email itself, but check structure of the email (xxx@xxx)
+ if you want be sure of each e-mail disable this option (value: 100)
+
+
+import
+ その行を別ファイルの中身と置き換えます。
+
+
+< Example >
+command_symbol: @
+
+broadcast: 1
+local_broadcast: 1
+mapmove: 1
+resetstate: 1
+rura+: 1
+rura: 1
+where: 1
+jumpto: 1
+jump: 1
+who: 1
+save: 1
+load: 1
+speed: 1
+storage: 1
+gstorage: 1
+option: 1
+hide: 1
+jobchange: 1
+die: 1
+kill: 1
+alive: 1
+kami: 1
+heal: 1
+item: 1
+itemreset: 1
+itemcheck: 1
+lvup: 1
+joblvup: 1
+help: 1
+gm: 100
+pvpoff: 1
+pvpon: 1
+gvgoff: 1
+gvgon: 1
+model: 1
+go: 1
+monster: 1
+killmonster: 1
+refine: 1
+produce: 1
+memo: 1
+gat: 1
+packet: 1
+stpoint : 1
+skpoint : 1
+zeny: 1
+param: 1
+guildlvup: 1
+makeegg: 60
+petfriendly: 1
+pethungry: 1
+petrename: 1
+recall: 1
+charjob: 1
+revive: 1
+charstats: 1
+charoption: 1
+charsave: 1
+charload: 1
+night: 1
+day: 1
+doom: 1
+doommap: 1
+raise: 1
+raisemap: 1
+charbaselvl: 1
+charjlvl: 1
+kick: 1
+allskill: 1
+questskill: 1
+lostskill: 1
+spiritball: 1
+party: 1
+guild: 1
+agitstart: 1
+agitend: 1
+mapexit: 1
+idsearch: 1
+charchangesex: 1
+ignorelist: 0
+charignorelist: 20
+inall: 20
+exall: 20
+chardisguise: 60
+charundisguise: 60
+email: 0
+
+==========================================================================
+7. conf/ladmin_athena.conf
+--------------------------------------------------------------------------
+
+< What this file is. >
+
+ A setup of ladmin (remote administration of the login-server) is described.
+ It mainly becomes a setup of an administrator.
+ Only 'c' version of the ladmin is concerned by this configuration file.
+ 'Perl' ladmin doesn't use it.
+
+
+< Explanation of a key >
+
+If you change one of these parameters, you must restart ladmin to update.
+If you repeat one parameter in the configuration file, only the latest will be validated.
+
+login_ip
+ IP adress to contact login-server.
+ It is the IP adress of the login-server.
+ Default value: 127.0.0.1 (same computer).
+
+login_port
+ Port to contact login-server.
+ It is the port used by login-server.
+ Default value: 6900.
+
+admin_pass
+ It is the administrator password used to administrate the login-server.
+ You define it in login-athena.conf.
+ Void password will not work.
+ NOTICE: You must change this or attackers can exploit your server.
+ Default value: admin. CHANGES this default value to avoid hack.
+
+passenc:
+ You specify here how ladmin send password to login-server. 3 values are possible:
+ 0: plain text
+ 1: use md5 key (format: key + password)
+ 2: use md5 key (format: password + key) (default)
+ default: 2
+
+defaultlanguage
+ You can specified a language to display information and for logs.
+ There are 2 values:
+ F: Fran軋is
+ E: English (default)
+ If a displayed information isn't translated, English is used.
+ Default value: E
+
+ladmin_log_filename
+ Gives the log file name and path to stores logs information.
+ All operations done by the ladmin are written in this file with a time stamp.
+ Default value: log/ladmin.log
+
+date_format:
+ Indicate how to display date in logs, to players, etc.
+ 0: 31-12-2004 23:59:59
+ 1: 12-31-2004 23:59:59
+ 2: 2004-31-12 23:59:59
+ 3: 2004-12-31 23:59:59
+ Default value: 3
+
+import
+ Gives an other configuration file to include in.
+ You must write the additionnal configuration file name and path.
+ The mentionned file can include any parameter of the login configuration.
+ You can create a chain or configuration files if necessary.
+ Default value: <no_additional_configuration_file>.
+
+<Example>
+login_ip:127.0.0.1
+login_port: 6900
+admin_pass: admin
+passenc: 2
+defaultlanguage: E
+ladmin_log_filename: log/ladmin.log
+date_format: 3
+//import: path/additional_configuration_file
+
+
+==========================================================================
+EOF
+--------------------------------------------------------------------------
diff --git a/doc/coredump_report.txt b/doc/coredump_report.txt new file mode 100644 index 000000000..f556b0366 --- /dev/null +++ b/doc/coredump_report.txt @@ -0,0 +1,109 @@ +==========================================================================
+ サーバーが強制終了する場合のcoredumpによる詳細なバグ報告方法
+--------------------------------------------------------------------------
+
+< このファイルは何? >
+
+ Athena使用中にmap-server.exeなどが突然落ちた場合に、落ちたときのスタックの
+ バックトレースをを開発者に伝える方法を解説する。
+ バグ報告の時に併用すると開発者が喜ぶかもしれない。
+
+ ここでの「落ちる」はあくまでサーバーであり、クライアントではない。
+ またプロセスがcore(またはstackdump)を吐く現象のことであり、
+ 無限ループなどのプロセスは生きているがサーバーの機能は提供されない状態の
+ ことではない。
+
+
+--------------------------------------------------------------------------
+< 目次 >
+
+ * Cygwinでのstackdumpとcore
+ Cygwin上でcoreファイルを吐く方法を紹介する。
+
+ * coreファイルからスタックのバックトレースを得る
+ プログラムが吐いたcoreからバックトレースを得る方法を紹介する。
+
+ * 例
+ 実際にとったログの例を示す。
+
+
+--------------------------------------------------------------------------
+< 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"
+
diff --git a/doc/db_ref.txt b/doc/db_ref.txt new file mode 100644 index 000000000..fbdfad4d7 --- /dev/null +++ b/doc/db_ref.txt @@ -0,0 +1,147 @@ +==========================================================================
+ Athena dev 2.1.1 mod0659 現在のdbのリファレンス+α
+--------------------------------------------------------------------------
+
+< このファイルは何? >
+
+ Athenaのdbファイルの設定方法のリファレンスです。
+
+
+< dbのリスト >
+
+cast_db.txt スキルのキャスティング時間とディレイ、維持時間等を設定。
+skill_db.txt スキルのデータを設定。
+skill_require_db.txt スキル使用条件を設定。
+pet_db.txt ペットのデータを設定。
+
+
+==========================================================================
+1. db/cast_db.txt
+--------------------------------------------------------------------------
+
+id,cast_list,delay_list,upkeep_time,upkeep_time2
+
+id: スキルのIDです。
+cast_list: スキルのキャスティング時間を設定します。レベル別に設定する場合は「:」を使います。
+delay_list: スキルのディレイ時間を設定します。レベル別に設定する場合は「:」を使います。
+upkeep_time:スキルの維持時間を設定します。レベル別に設定する場合は「:」を使います。
+upkeep_time2:スキルによって起こる状態異常の維持時間を設定します。レベル別に設定する場合は「:」を使います。(ただ速度減少はupkeep_timeを使いますので注意してください。)
+
+※武器の追加効果による状態異常はMG_STONECURSE(石化)、MG_FROSTDIVER(凍結)、NPC_STUNATTACK(スタン)、NPC_SLEEPATTACK(睡眠)、TF_POISON(毒)、NPC_CURSEATTACK(呪い)、NPC_SILENCEATTACK(沈黙)、NPC_BLINDATTACK(暗黒)のupkeep_time2を使います。(レベルは7で適用)
+※急所攻撃の場合最大レベルは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吹き飛ばし
+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は一部のアクティブスキルが使用。今は阿修羅覇鳳拳のみ使用。)
+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~22: 二刀流
+ 複数を設定する場合は「:」を使います。
+state:スキルを使用する為の条件を設定します。複数の設定はできません。
+ none - 条件無し
+ hiding - ハイディング状態
+ cloacking - クローキング状態。
+ 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/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: ペットを持っている時適用されるステータスボーナスを設定。
+
+
+
+==========================================================================
+EOF
+--------------------------------------------------------------------------
diff --git a/doc/help.txt b/doc/help.txt new file mode 100644 index 000000000..f5e735fec --- /dev/null +++ b/doc/help.txt @@ -0,0 +1,453 @@ +GM Commands Help File
+By Akaru
+-----------------------
+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).
+
+<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)
diff --git a/doc/inter_server_packet.txt b/doc/inter_server_packet.txt new file mode 100644 index 000000000..a88694aa8 --- /dev/null +++ b/doc/inter_server_packet.txt @@ -0,0 +1,204 @@ +S map鯖=>inter鯖
+R inter鯖=>map鯖
+
+パケット長リスト
+R 3800-388f
+ -1,-1,27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ -1, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 35,-1,11,15, 34,29, 7,-1, 0, 0, 0, 0, 0, 0, 0, 0,
+ 10,-1,15, 0, 79,17, 7,-1, 0,-1,-1,-1, 14,67,186,-1,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 11,-1, 7, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+S 3000-308f
+ -1,-1, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 6,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 72, 6,52,14, 10,29, 6,-1, 34, 0, 0, 0, 0, 0, 0, 0,
+ -1, 6,-1, 0, 55,17, 6,-1, 14,-1,-1,-1, 14,19,186,-1,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 48,14,-1, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+
+
+
+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-id:map鯖では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 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 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の最初4バイトは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
+ パーティ追加通知(要求してきたマップ鯖へ)
+ 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
+ パーティ脱退要求
+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
+ パーティマップ更新/オンライン要求
+R 3825 <party_id>.l <account_id>.l <map_name>.16B <online>.B <level>.w
+ パーティマップ更新通知(全マップ鯖へ)
+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
+ ギルドスキル割り振り(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 3080 <account_id>.l <char_id>.I <pet_type>.w <pet_lv>.w <pet_egg_id>.w
+ <pet_equip>.w <pet_intimate>.w <pet_hungry>.w <rename_flag>.B <incuvate>.B
+ <pet_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>.I <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に当たるデータがない場合の物ですが既にデータが
+ いないと言うことは削除する必要がないことにもなりますので
+ 意味はありません)
+
diff --git a/doc/item.txt b/doc/item.txt new file mode 100644 index 000000000..f8bcfa955 --- /dev/null +++ b/doc/item.txt @@ -0,0 +1,1451 @@ +ID Ename
+
+0 Default
+501 Red Potion
+502 Orange Potion
+503 Yellow Potion
+504 White Potion
+505 Blue Potion
+506 Green Potion
+507 Red Herb
+508 Yellow Herb
+509 White Herb
+510 Blue Herb
+511 Green Herb
+512 Apple
+513 Banana
+514 Grape
+515 Carrot
+516 Sweet Potato
+517 Meat
+518 Honey
+519 Milk
+520 Hinalle Leaflet
+521 Aloe Leaflet
+522 Mastela Fruit
+523 Holy Water
+525 Panacea
+526 Royal Jelly
+528 Monster's Feed
+529 Candy
+530 Candy Cane
+531 Apple Juice
+532 Banana Juice
+533 Grape Juice
+534 Carrot Juice
+535 Pumpkin
+536 Ice Cream
+537 Pet Food
+538 Well-baked Cookie
+539 Piece of Cake
+540 Falcon food
+541 Pecopeco food
+542 Festive Cookie
+543 Festive Rainbow Cake
+544 Raw Fish
+545 Red Potion Bottle
+546 Yellow Potion Bottle
+547 White Potion Bottle
+548 Cheese
+549 Hot Potato
+550 Rice Popper
+551 Sushi
+552 Ketupat
+553 Dumpling
+554 Mochi
+555 ??
+556 ??????
+557 ??????_???_??????
+558 Chocolate
+559 Hand-made Chocolate
+601 Fly Wing
+602 Butterfly Wing
+603 Old Blue Box
+604 Branch of Dead tree
+605 Anodyne
+606 Aloevera
+607 Yggdrasilberry
+608 Yggdrasil Seed
+609 Amulet
+610 Yggdrasil Leaf
+611 Magnifier
+612 Mini Furnace
+613 Iron Hammer
+614 Golden Hammer
+615 Oridecon Hammer
+616 Old Card Album
+617 Old Violet Box
+618 Worn Out Scroll
+619 Unripe Apple
+620 Orange Juice
+621 Bitter Herb
+622 Rainbow Carrot
+623 Earthworm the Dude
+624 Rotten Fish
+625 Rusty Iron
+626 Monster Juice
+627 Sweet Milk
+628 Well Dried Bone
+629 Singing Flower
+630 Dew Laden Moss
+631 Deadly Noxious Herb
+632 Fatty Chubby Earthworm
+633 Baked Yam
+634 Tropical Banana
+635 Horror of Tribe
+636 No Recipient
+637 Old Broom
+638 Silver Knife of Chastity
+639 Armlet of Obedience
+640 Shining Stone
+641 Contracts in Shadow
+642 Book of Devil
+643 Pet Incubator
+644 Gift Box
+645 Concentration Potion
+656 Awakening Potion
+657 Berserk Potion
+658 Tribal Solidarity
+659 Her Heart
+660 Red Candle
+661 Sky Apron
+663 Rice Cake
+664 Gift Box
+665 Gift Box
+666 Gift Box
+667 Gift Box
+668 Angpow
+669 ??????_??????_????
+670 ????
+671 ??
+672 ????
+673 ??
+674 ?????
+675 ??
+676 ????
+677 ???
+678 ??
+679 ???
+701 Ora Ora
+702 Animal Gore
+703 Hinalle
+704 Aloe
+705 Clover
+706 Four-Leaf Clover
+707 Singing Plant
+708 Ment
+709 Izidor
+710 Illusion Flower
+711 Shoot
+712 Flower
+713 Empty Bottle
+714 Emperium
+715 Yellow Gemstone
+716 Red Gemstone
+717 Blue Gemstone
+718 Garnet
+719 Amethyst
+720 Aquamarine
+721 Emerald
+722 Pearl
+723 Ruby
+724 Cursed Ruby
+725 Sardonyx
+726 Sapphire
+727 Opal
+728 Topaz
+729 Zircon
+730 1 Carat Diamond
+731 2 Carat Diamond
+732 3 Carat Diamond
+733 Cracked Diamond
+734 Red Frame
+735 Chung Jah
+736 China
+737 Black Ladle
+738 Pencil Case
+739 Rouge
+740 Puppet
+741 Poring Doll
+742 Chonchon Doll
+743 Spore Doll
+744 Bouquet
+745 Wedding Bouquet
+746 Glass Bead
+747 Crystal Mirror
+748 Witherless Rose
+749 Frozen Rose
+750 Baphomet Doll
+751 Osiris Doll
+752 Grasshopper Doll
+753 Yoyo Doll
+754 Raccoon Doll
+756 Rough Oridecon
+757 Rough Elunium
+901 Danggie
+902 Tree Root
+903 Reptile Tongue
+904 Scorpion Tail
+905 Stem
+906 Pointed Scale
+907 Resin
+908 Spawn
+909 Jellopy
+910 Garlet
+911 Scell
+912 Zargon
+913 Tooth of Bat
+914 Fluff
+915 Chrysalis
+916 Feather of Birds
+917 Talon
+918 Sticky Webfoot
+919 Animal Skin
+920 Wolf Claw
+921 Mushroom Spore
+922 Orc's Fang
+923 Evil Horn
+924 Powder of Butterfly
+925 Bill of Birds
+926 Snake Scale
+928 Insect Feeler
+929 Immortal Heart
+930 Rotten Bandage
+931 Orcish Voucher
+932 Skel-Bone
+934 Memento
+935 Shell
+936 Scale Shell
+937 Venom Canine
+938 Sticky Mucus
+939 Bee Sting
+940 Grasshopper's Leg
+941 Nose Ring
+942 Yoyo Tail
+943 Solid Shell
+944 Horseshoe
+945 Raccoon Leaf
+946 Snail's Shell
+947 Horn
+948 Bear's Footskin
+949 Feather
+950 Heart of Mermaid
+951 Fin
+952 Cactus Needle
+953 Stone Heart
+954 Shining Scale
+955 Worm Peeling
+956 Gill
+957 Decayed Nail
+958 Horrendous Mouth
+959 Stinky Scale
+960 Nipper
+961 Conch
+962 Tentacle
+963 Sharp scale
+964 Crap Shell
+965 Clam Shell
+966 Clam Flesh
+967 Turtle Shell
+968 Heroic Emblem
+969 Gold
+970 Alchol
+971 Detrimindexta
+972 Karvodailnirol
+973 Counteragent
+974 Mixture
+975 Scarlet Dyestuffs
+976 Lemon Dyestuffs
+978 Cobaltblue Dyestuffs
+979 Darkgreen Dyestuffs
+980 Orange Dyestuffs
+981 Violet Dyestuffs
+982 White Dyestuffs
+983 Black Dyestuffs
+984 Oridecon
+985 Elunium
+986 Anvil
+987 Oridecon Anvil
+988 Golden Anvil
+989 Emperium Anvil
+990 Red Blood
+991 Crystal Blue
+992 Wind of Verdure
+993 Green Live
+994 Flame Heart
+995 Mystic Frozen
+996 Rough Wind
+997 Great Nature
+998 Iron
+999 Steel
+1000 Star Crumb
+1001 Star Dust
+1002 Iron Ore
+1003 Coal
+1004 Chivalry Emblem
+1005 Hammer of Blacksmith
+1006 Old Magic Book
+1007 Necklace of Wisdom
+1008 Necklace of Oblivion
+1009 Hand of God
+1010 Phracon
+1011 Emveretarcon
+1012 Frill
+1013 Rainbow Shell
+1014 Ant Jaw
+1015 Tongue
+1016 Rat Tail
+1017 Mole Whiskers
+1018 Mole Claw
+1019 Trunk
+1020 Black Hair
+1021 Dokkaebi Horn
+1022 Nine Tails
+1023 Fish Tail
+1024 Squid ink
+1025 Cobweb
+1026 Acorn
+1027 Porcupine Quill
+1028 Mane
+1029 Tiger Skin
+1030 Tiger's Footskin
+1031 Mantis Scythe
+1032 Maneater Blossom
+1033 Maneater Root
+1034 Blue Hair
+1035 Dragon Canine
+1036 Dragon Scale
+1037 Dragon Tail
+1038 Little Evil Horn
+1039 Little Evil Wing
+1040 Elder Pixie's Moustache
+1041 Lantern
+1042 Bug Leg
+1043 Orc Claw
+1044 Zenorc's Fang
+1045 Cultish Masque
+1046 Scorpion Nipper
+1047 Dead Medusa
+1048 Horrendous Hair
+1049 Skirt of Virgin
+1050 Tendon
+1051 Detonator
+1052 Single Cell
+1053 Ancient Tooth
+1054 Ancient Lips
+1055 Earthworm Peeling
+1056 Grit
+1057 Moth Dust
+1058 Moth Wings
+1059 Fabric
+1060 Golden Hair
+1061 Witched Starsand
+1062 Jack o' Pumpkin
+1063 Fang
+1064 Reins
+1065 Trap
+1066 Fine-grained Trunk
+1067 Solid Trunk
+1068 Barren Trunk
+1069 Orange Net Mushroom
+1070 Orange Gooey Mushroom
+1071 Unknown Testtube
+1072 DEL Message
+1073 Voucher
+1074 Voucher
+1075 Voucher
+1076 Voucher
+1077 Voucher
+1078 Voucher
+1079 Voucher
+1080 Voucher
+1081 DEL Box
+1082 DEL Box
+1083 DEL Box
+1084 Kapra Pass
+1085 Unknown Testtube
+1086 Unknown Testtube
+1087 Unknown Testtube
+1088 Morocc Solution
+1089 Payon Solution
+1090 Unknown Testtube
+1091 DEL Box
+1092 Empty Testtube
+1093 Empty Potion Bottle
+1094 Short Daenggie
+1095 Needle of Alarm
+1096 Round Shell
+1097 Worn Out Page
+1098 Manacles
+1099 Worn-out Prison Uniform
+1101 Sword
+1102 Sword
+1103 Sword
+1104 Falchion
+1105 Falchion
+1106 Falchion
+1107 Blade
+1108 Blade
+1109 Blade
+1110 Rapier
+1111 Rapier
+1112 Rapier
+1113 Scimiter
+1114 Scimiter
+1115 Scimiter
+1116 Katana
+1117 Katana
+1118 Katana
+1119 Tsurugi
+1120 Tsurugi
+1121 Tsurugi
+1122 Ring Pommel Saber
+1123 Haedonggum
+1124 Orcish sword
+1125 Ring Pommel Saber
+1126 Saber
+1127 Saber
+1128 Haedonggum
+1129 Flamberge
+1130 Nagan
+1131 Ice Falchon
+1132 Edge
+1133 Fire Brand
+1134 Caesar's Sword
+1135 Cutlas
+1136 Solar Sword
+1137 Excalibur
+1138 Mysteltainn
+1139 Talefing
+1140 Byeollungum
+1141 Immaterial Sword
+1142 Crystal Sword
+1143 Gaia Sword
+1144 Sashimi
+1145 Holy Avenger
+1151 Slayer
+1152 Slayer
+1153 Slayer
+1154 Bastard Sword
+1155 Bastard Sword
+1156 Bastard Sword
+1157 Two-handed Sword
+1158 Two-handed Sword
+1159 Two-handed Sword
+1160 Broad Sword
+1161 Balmung
+1162 Broad Sword
+1163 Claymore
+1164 Muramasa
+1165 Masamune
+bonus bStr
+bonus bAspd
+bonus bDefRate
+bonus bDef2Rate
+ }
+1166 Dragon Slayer
+1167 Schweizersabel
+1168 Zweihander
+1169 Executioner
+1170 Katzbalger
+1201 Knife
+1202 Knife
+1203 Knife
+1204 Cutter
+1205 Cutter
+1206 Cutter
+1207 Main Gauche
+1208 Main Gauche
+1209 Main Gauche
+1210 Dirk
+1211 Dirk
+1212 Dirk
+1213 Dagger
+1214 Dagger
+1215 Dagger
+1216 Stiletto
+1217 Stiletto
+1218 Stiletto
+1219 Gladius
+1220 Gladius
+1221 Gladius
+1222 Damascus
+1223 Fortune Sword
+1224 Swordbreaker
+1225 Mailbreaker
+1226 Damascus
+1227 Weeder Knife
+1228 Combat Knife
+1229 Mama's Knife
+1230 House Auger
+1231 Bazerald
+1232 Assasin Dagger
+1233 Excorcise
+1234 Walgwanggum
+1235 Azoth
+1236 Sucsamad
+1237 Grimtooth
+1238 Zeny Knife
+1239 Poison Knife
+1240 Princess Knife
+1241 Cursed Knife
+1242 Counter Knife
+1243 Novice's Main Gauche
+1250 Jur
+1251 Jur
+1252 Katar
+1253 Katar
+1254 Jamadhar
+1255 Jamadhar
+1256 Katar of Cold Icicle
+1257 Katar of Dusty Thornbush
+1258 Katar of Raging Blaze
+1259 Katar of Piercing Wind
+1260 Sharppened Legbone of Gh
+1261 Infiltrator
+1301 Axe
+1302 Axe
+1303 Axe
+1304 Orcish Axe
+1305 Cleaver
+1306 War Axe
+1351 Battle Axe
+1352 Battle Axe
+1353 Battle Axe
+1354 Hammer
+1355 Hammer
+1356 Hammer
+1357 Buster
+1358 Buster
+1359 Buster
+1360 Two-handed Axe
+1361 Two-handed Axe
+1362 Two-handed Axe
+1363 Bloody Axe
+1364 Great Axe
+1365 Sabbath
+1366 Light Epsilon
+1367 Slaughter
+1368 Tomahawk
+1369 Guillotine
+1401 Javelin
+1402 Javelin
+1403 Javelin
+1404 Spear
+1405 Spear
+1406 Spear
+1407 Pike
+1408 Pike
+1409 Pike
+1410 Lance
+1411 Lance
+1412 Lance
+1413 Gungnir
+1414 Gelerdria
+1415 Brocca
+1416 Tjungkuletti
+1417 Pole Axe
+1451 Guisarme
+1452 Guisarme
+1453 Guisarme
+1454 Glaive
+1455 Glaive
+1456 Glaive
+1457 Partizan
+1458 Partizan
+1459 Partizan
+1460 Trident
+1461 Trident
+1462 Trident
+1463 Halberd
+1464 Halberd
+1465 Halberd
+1466 Crescent Scythe
+1467 Bill Guisarme
+1468 Zephyrus
+1469 Longinus's Spear
+1470 Brionac
+1471 Hellfire
+1472 Soul Staff
+1473 Wizardy staff
+1501 Club
+1502 Club
+1503 Club
+1504 Mace
+1505 Mace
+1506 Mace
+1507 Smasher
+1508 Smasher
+1509 Smasher
+1510 Flail
+1511 Flail
+1512 Flail
+1513 Morning Star
+1514 Morning Star
+1515 Morning Star
+1516 Sword Mace
+1517 Sword Mace
+1518 Sword Mace
+1519 Chain
+1520 Chain
+1521 Chain
+1522 Stunner
+1523 Spike
+1524 Golden Mace
+1525 Long Mace
+1526 Slash
+1527 Quadrille
+1528 Grand Cross
+1529 Iron Driver
+1530 Mjollnir
+1531 Spanner
+1550 Book
+1551 Bible
+1552 Tablet
+1553 Book of Billows
+1554 Book of Mother Earth
+1555 Book of Blazing Sun
+1556 Book of Gust of Wind
+1557 Book of the Apocalypse
+1558 Girl's Diary
+1599 Angra Manyu
+1601 Rod
+1602 Rod
+1603 Rod
+1604 Wand
+1605 Wand
+1606 Wand
+1607 Staff
+1608 Staff
+1609 Staff
+1610 Arc Wand
+1611 Arc Wand
+1612 Arc Wand
+1613 Mighty Staff
+1614 Wand of Occult
+1615 Bone Wand
+1701 Bow
+1702 Bow
+1703 Bow
+1704 Composite Bow
+1705 Composite Bow
+1706 Composite Bow
+1707 Great Bow
+1708 Great Bow
+1709 Great Bow
+1710 Cross Bow
+1711 Cross Bow
+1712 Cross Bow
+1713 Arbalest
+1714 Gakkung
+1715 Arbalest
+1716 Gakkung
+1718 Hunter Bow
+1719 Roguemaster's Bow
+1720 Rudra's Bow
+1721 Repeating Crossbow
+1722 Ballista
+1750 Arrow
+1751 Silver Arrow
+1752 Fire Arrow
+1753 Steel Arrow
+1754 Crystal Arrow
+1755 Arrow of Wind
+1756 Stone Arrow
+1757 Immaterial Arrow
+1758 Stun Arrow
+1759 Freeze Arrow
+1760 Flash Arrow
+1761 Curse Arrow
+1762 Rusted Arrow
+1763 Poison Arrow
+1764 Sharp Arrow
+1765 Oridecon Arrow
+1766 Arrow of Counter Evil
+1767 Shadow Arrow
+1768 Sleep Arrow
+1769 Mute Arrow
+1770 Iron Arrow
+1801 Waghnakh
+1802 Waghnakh
+1803 Knuckle Duster
+1804 Knuckle Duster
+1805 Hora
+1806 Hora
+1807 Fist
+1808 Fist
+1809 Claw
+1810 Claw
+1811 Finger
+1812 Finger
+1813 Kaiser Knuckle
+1814 Berserk
+1901 Violin
+1902 Violin
+1903 Mandolin
+1904 Mandolin
+1905 Lute
+1906 Lute
+1907 Guitar
+1908 Guitar
+1909 Harp
+1910 Harp
+1911 Guhmoongoh
+1912 Guhmoongoh
+1950 Rope
+1951 Rope
+1952 Line
+1953 Line
+1954 Wire
+1955 Wire
+1956 Rante
+1957 Rante
+1958 Tail
+1959 Tail
+1960 Whip
+1961 Whip
+1962 Lariat
+1963 Rapture Rose
+1964 Chemeti
+2101 Guard
+2102 Guard
+2103 Buckler
+2104 Buckler
+2105 Shield
+2106 Shield
+2107 Mirror Shield
+2108 Mirror Shield
+2109 Book of Summoning
+2110 Holy Guard
+2111 Evangelist
+2112 Novice Guard
+2199 Ahura Mazda
+2201 Sunglasses
+2202 Sunglasses
+2203 Glasses
+2204 Glasses
+2205 Diver's Goggles
+2206 Wedding Veil
+2207 Fancy Flower
+2208 Ribbon
+2209 Ribbon
+2210 Hair Band
+2211 Bandana
+2212 Eye Patch
+2213 Kitty Band
+2214 Bunny Band
+2215 Flower Band
+2216 Biretta
+2217 Biretta
+2218 Flu Mask
+2219 Flu Mask
+2220 Hat
+2221 Hat
+2222 Turban
+2223 Turban
+2224 Goggle
+2225 Goggle
+2226 Cap
+2227 Cap
+2228 Helm
+2229 Helm
+2230 Gemmed Sallet
+2231 Gemmed Sallet
+2232 Circlet
+2233 Circlet
+2234 Tiara
+2235 Crown
+2236 Santa's Hat
+2237 Bandit Beard
+2238 Moustache
+2239 Single Glass
+2240 Beard
+2241 Granpa Beard
+2242 Purple Glasses
+2243 Geek Glasses
+2244 Big Ribbon
+2245 Sweet Gent
+2246 Golden Gear
+2247 Romantic Gent
+2248 Western Grace
+2249 Coronet
+2250 Cute Ribbon
+2251 Monk Hat
+2252 Wizard Hat
+2253 Sunflower
+2254 Angel Wing
+2255 Evil Wing
+2256 Majestic Goat
+2257 Snow Horn
+2258 Spiky Band
+2259 Mini Propeller
+2260 Mini Glasses
+2261 Army Cap
+2262 Pierrot Nose
+2263 Zoro Masque
+2264 Munak Hat
+2265 Ganster Mask
+2266 Iron Cane
+2267 Cigar
+2268 Pipe
+2269 Romantic Flower
+2270 Romantic Leaf
+2271 Jack a Dandy
+2272 Stop Post
+2273 Doctor Band
+2274 Ghost Bandana
+2275 Red Bandana
+2276 Eagle Eyes
+2277 Nurse Cap
+2278 Mr. Smile
+2279 Bomb Wick
+2280 Sakkat
+2281 Opera Masque
+2282 Heaven Ring
+2283 Ear Mufs
+2284 Antler
+2285 Apple o' Archer
+2286 Elven Ears
+2287 Pirate Bandana
+2288 Mr. Scream
+2289 Poo Poo Hat
+2290 Funeral Hat
+2291 Masquerade
+2292 Welding Mask
+2293 Pretend Murdered
+2294 Stellar
+2295 Blinker
+2296 Binoculars
+2297 Goblini Mask
+2298 Green Feeler
+2299 Orc Helm
+2301 Cotton Shirt
+2302 Cotton Shirt
+2303 Leather Jacket
+2304 Leather Jacket
+2305 Adventurer's Suit
+2306 Adventurer's Suit
+2307 Mantle
+2308 Mantle
+2309 Coat
+2310 Coat
+2311 Mink Coat
+2312 Padded Armor
+2313 Padded Armor
+2314 Chain Mail
+2315 Chain Mail
+2316 Full Plate
+2317 Full Plate
+2318 Lord's Clothes
+2319 Glittering Jacket
+2320 Formal Suit
+2321 Silk Robe
+2322 Silk Robe
+2323 Scapulare
+2324 Scapulare
+2325 Saint's Robe
+2326 Saint's Robe
+2327 Holy Robe
+2328 Wooden Mail
+2329 Wooden Mail
+2330 Tights
+2331 Tights
+2332 Silver Robe
+2333 Silver Robe
+2334 Mage Coat
+2335 Thief Clothes
+2336 Thief Clothes
+2337 Ninja Suit
+2338 Wedding Dress
+2339 Pantie
+2340 Novice Breastplate
+2341 Full Plate Armor
+2342 Full Plate Armor
+2343 Casting Robe
+2344 Fire Armor
+2345 Fire Armor
+2346 Water Armor
+2347 Water Armor
+2348 Wind Armor
+2349 Wind Armor
+2350 Earth Armor
+2351 Earth Armor
+2352 Novice Armor
+2401 Sandals
+2402 Sandals
+2403 Shoes
+2404 Shoes
+2405 Boots
+2406 Boots
+2407 Crystal Pumps
+2408 Ball'n'Chain
+2409 Highheals
+2410 Sleipnir
+2411 Greaves
+2412 Greaves
+2413 Safety Shoes
+2414 Novice Sandal
+2501 Hood
+2502 Hood
+2503 Muffler
+2504 Muffler
+2505 Manteau
+2506 Manteau
+2507 Cape of Old Marquess
+2508 Ragamuffin Manteau
+2509 Manteau of Life
+2510 Novice Hood
+2601 Ring
+2602 Earring
+2603 Necklace
+2604 Glove
+2605 Brooch
+2607 Clip
+2608 Rosary
+2609 Skull Ring
+2610 Gold Ring
+2611 Silver Ring
+2612 Flower Ring
+2613 Diamond Ring
+2614 Eye of Dullahan
+2615 Safety Ring
+2616 Critical Ring
+2617 Celebrant's Mitten
+2618 Matyr's Leash
+2619 Bow Thimble
+2620 Rogue's Treasure
+2621 Ancient Ring
+2622 Ancient Earring
+2623 Ancient Necklace
+2624 Ancient Glove
+2625 Ancient Brooch
+2626 Ancient Rosary
+2627 Ancient Belt
+2628 Novice Armlet
+2629 Magingiorde
+2630 Brysinggamen
+2631 Pebble Ring
+2634 Wedding Ring
+2635 Wedding Ring
+2636 Gold Christmas Ring
+2637 Silver Christmas Ring
+4001 Poring Card
+4002 Fabre Card
+4003 Pupa Card
+4004 Drops Card
+4005 Poring Card
+4006 Lunatic Card
+4007 Pecopeco Egg Card
+4008 Picky Card
+4009 Chonchon Card
+4010 Wilow Card
+4011 Picky Card
+4012 Thief Bug Egg Card
+4013 Andre Egg Card
+4014 Roda Frog Card
+4015 Condor Card
+4016 Thief Bug Card
+4017 Savage Babe Card
+4018 Andre Larva Card
+4019 Hornet Card
+4020 Farmiliar Card
+4021 Rocker Card
+4022 Spore Card
+4023 Desert Wolf Babe Card
+4024 Plankton Card
+4025 Skeleton Card
+4026 Thief bug Female Card
+4027 Kukre Card
+4028 Tarou Card
+4029 Wolf Card
+4030 Mandragora Card
+4031 Pecopeco Card
+4032 Ambernite Card
+4033 Poporing Card
+4034 Worm Tail Card
+4035 Hydra Card
+4036 Muka Card
+4037 Snake Card
+4038 Zombie Card
+4039 Stainer Card
+4040 Creamy Card
+4041 Coco Card
+4042 Steel Chonchon Card
+4043 Andre Card
+4044 Smokie Card
+4045 Horn Card
+4046 Martin Card
+4047 Ghostring Card
+4048 Poison Spore Card
+4049 Vadon Card
+4050 Thief bug Male Card
+4051 Yoyo Card
+4052 Elder Wilow Card
+4053 Vitata Card
+4054 Angeling Card
+4055 Marina Card
+4056 Dustiness Card
+4057 Metaller Card
+4058 Thara Frog Card
+4059 Soldier Andre Card
+4060 Goblin Card
+4061 Cornutus Card
+4062 Anacondaq Card
+4063 Caramel Card
+4064 Zerom Card
+4065 Kaho Card
+4066 Orc Warrior Card
+4067 Megalodon Card
+4068 Scorpion Card
+4069 Drainliar Card
+4070 Eggyra Card
+4071 Orc Zombie Card
+4072 Golem Card
+4073 Pirate Skeleton Card
+4074 BigFoot Card
+4075 Argos Card
+4076 Magnolia Card
+4077 Phen Card
+4078 Savage Card
+4079 Mantis Card
+4080 Flora Card
+4081 Hode Card
+4082 Desert Wolf Card
+4083 Rafflesia Card
+4084 Marine Sphere Card
+4085 Orc Skeleton Card
+4086 Soldier Skeleton Card
+4087 Giearth Card
+4088 Frilldora Card
+4089 Swordfish Card
+4090 Munak Card
+4091 Kobold Card
+4092 Skel Worker Card
+4093 Obeaune Card
+4094 Archer Skeleton Card
+4095 Marse Card
+4096 Zenorc Card
+4097 Matyr Card
+4098 Dokebi Card
+4099 Pasana Card
+4100 Sohee Card
+4101 Sandman Card
+4102 Whisper Card
+4103 Horong Card
+4104 Requiem Card
+4105 Marc Card
+4106 Mummy Card
+4107 Verit Card
+4108 Myst Card
+4109 Jakk Card
+4110 Ghoul Card
+4111 Strouf Card
+4112 Marduk Card
+4113 Marionette Card
+4114 Argiope Card
+4115 Hunter Fly Card
+4116 Isis Card
+4117 Sidewinder Card
+4118 Petit Card
+4119 Bathory Card
+4120 Petit Card
+4121 Phreeoni Card
+4122 Deviruchi Card
+4123 Eddga Card
+4124 Medusa Card
+4125 Deviace Card
+4126 Minorous Card
+4127 Nightmare Card
+4128 Golden Bug Card
+4129 Baphomet Card
+4130 Scorpion King Card
+4131 Moonlight Flower Card
+4132 Mistress Card
+4133 Raydric Card
+4134 Dracula Card
+4135 Orc Lord Card
+4136 Khalitzburg Card
+4137 Drake Card
+4138 Anubis Card
+4139 Joker Card
+4140 Knight Of Abyss Card
+4141 Evil Druid Card
+4142 Doppelganger Card
+4143 Orc Hero Card
+4144 Osiris Card
+4145 Berzebub Card
+4146 Maya Card
+4147 Baphomet Card
+4148 Pharaoh Card
+4149 Bon Gun Card
+4150 Orc Archer Card
+4151 Mimic Card
+4152 Wraith Card
+4153 Alarm Card
+4154 Arclouse Card
+4155 Rideword Card
+4156 Skel Prisoner Card
+4157 Zombie Prisoner Card
+4158 Dark Priest Card
+4159 Punk Card
+4160 Zherlthsh Card
+4161 Mysteltainn Card
+4162 Tirfing Card
+4163 Executioner Card
+4164 Anolian Card
+4165 Sting Card
+4166 Wander Man Card
+4167 Cramp Card
+4168 Filamentous Card
+4169 Brilight Card
+4170 Iron Fist Card
+4171 High Orc Card
+4172 Choco Card
+4173 Stem Worm Card
+4174 Penomena Card
+4175 Marin Card
+4176 Sasquatch Card
+4177 Antonio Card
+4178 Cruiser Card
+4179 Mystcase Card
+4180 Chepet Card
+4181 Knight Of Windstorm Card
+4182 Garm Card
+4183 Gargoyle Card
+4184 Raggler Card
+4185 Neraid Card
+4186 Pest Card
+4187 Injustice Card
+4188 Goblin Archer Card
+4189 Gryphon Card
+4190 Dark Frame Card
+4191 Wind Ghost Card
+4192 Merman Card
+4193 Cookie Card
+4194 Aster Card
+4195 Carat Card
+4196 Bloody Knight Card
+4197 Clock Card
+4198 C Tower Manager Card
+4199 Alligator Card
+4200 Dark Lord Card
+4201 Orc Lady Card
+4202 Megalith Card
+4203 Alice Card
+4204 Raydric Archer Card
+4205 Greatest General Card
+4206 Stalactic Golem Card
+4207 Tri Joint Card
+4208 Steam Goblin Card
+4209 Sage Worm Card
+4210 Kobold archer Card
+4211 Chimera Card
+5001 Headset
+5002 Jewel Crown
+5003 Joker Jester
+5004 Oxygen Mask
+5005 Gas Mask
+5006 Machoman's Glasses
+5007 Grand Circlet
+5008 Puppy Love
+5009 Safety Helmet
+5010 Indian Fillet
+5011 Aerial
+5012 Ph.D Hat
+5013 Lord Kaho's Horn
+5014 Fin Helm
+5015 Egg Shell
+5016 Boys Cap
+5017 Bone Helm
+5018 Feather Bonnet
+5019 Corsair
+5020 Kafra Band
+5021 Money Loser's Grief
+5022 Solar God Helm
+5023 Parcel Hat
+5024 Cake Hat
+5025 Angel Helm
+5026 Chef's Hat
+5027 Magic Instructor's Hat
+5028 Candle
+5029 Spore Hat
+5030 Panda Cap
+5031 Miner's Helmet
+5032 Sunday Hat
+5033 Smokie Hat
+5034 Lightbulb Hairband
+5035 Poring hat
+5036 Cross Hairband
+5037 Apple Hat
+5038 Deviruchi Hat
+5039 Spotted Eggshell
+5040 Innocence of Maiden
+5041 Heart Hairpin
+5042 Dumpling Decoration
+5043 Opera Ghost Mask
+5044 Wing's of Demon
+5045 Magic Hat
+5046 Bongun hat
+5047 Fashion Sunglasses
+5048 Cresent Hairpin
+5049 Striped Bandana
+5050 Mysterious Apple Hat
+5051 Bell of Pussycat
+5052 Blue Bandana
+5053 Sphinx Hat
+5054 Assassin Mask
+5055 Novice Eggshell
+5056 ???
+7001 Mould Powder
+7002 Ogre Tooth
+7003 Anolian Skin
+7004 Mud Lump
+7005 Skull
+7006 Wing of Red Bat
+7007 Claw of Rat
+7008 Stiff Horn
+7009 Glitter Shell
+7010 Tail of Steel Scorpion
+7011 Claw of Monkey
+7012 Tough Scalelike Stem
+7013 Coral Reef
+7014 Old Portrait
+7015 Bookclip in Memory
+7016 Spoon Stub
+7017 Executioner's Mitten
+7018 Young Twig
+7019 Loki's Whispers
+7020 Mother's Nightmare
+7021 Foolishness of the Blind
+7022 Old Hilt
+7023 Blade Lost in Darkness
+7024 Bloody Edge
+7025 Lucifer's Lament
+7026 Key of Clock Tower
+7027 Key of Underground
+7028 Invite for Duel
+7029 Admission for Duel
+7030 Claw of Desert Wolf
+7031 Old Frying Fan
+7032 Piece of Egg Shell
+7033 Poison Spore
+7034 Red Socks with Holes
+7035 Matchstick
+7036 Fang of Garm
+7037 Coupon
+7038 Yarn
+7039 Novice Nametag
+7040 Megaphone
+7041 Fine Grit
+7042 Leather Bag of Infinity
+7043 Fine Sand
+7044 Vigorgra
+7045 Magic Paint
+7046 Cart Parts
+7047 Alice's Apron
+7048 Talon of Griffon
+7049 Stone
+7050 Cotton Mat
+7051 Silk Mat
+7052 Wasted Magazine
+7053 Cyfar
+7054 Brigan
+7055 Animal Poop
+7056 Payment Statement for Ka
+7057 Gallar Horn
+7058 Gullraifnir
+7059 Free Ticket for Kafra St
+7060 Free Ticket for Kafra Tr
+7061 Free Ticket for the Cart
+7062 Broken Turtle Shell
+7063 Soft Feather
+7064 Wing of Dragonfly
+7065 Sea Otter Fur
+7066 Ice Cubes
+7067 Piece of Rock
+7068 Half Burnt Log
+7069 Broken Armor Piece
+7070 Broken Shell
+7071 Tattered Clothes
+7072 Old Shuriken
+7073 Freyja's Jewel
+7074 Thor's Guntlet
+7075 Iron Maiden
+7076 Wheel of the Unknown
+7077 Silver Ornament
+7078 Wrath of Valkyrie
+7079 Feather of Angel Wing
+7080 Footprints of Cat
+7081 Woman's Moustache
+7082 Root of Stone
+7083 Spirit of Fish
+7084 Saliva of Bird
+7085 Tendon of Bear
+7086 Solar Bead
+7087 Breath of Soul
+7088 Snow Crystal
+7089 Omen of Tempest
+7090 Ripple
+7091 Billow
+7092 Drifting Air
+7093 Metal Wheel
+7094 Cabinet Chip
+7095 Tooth Fragment
+7096 Hardened Lava
+7097 Burning Heart
+7098 Fire Seed
+7099 Old Magical Circle
+7100 Sharpened Leaf
+7101 Peco's Feather
+7102 Nightmare
+7103 Yellwo Liquid Bottle
+7104 Imitation Angel's Wing
+7105 Imitation Soul's Band
+7106 Horn of Goat
+7107 Fur of Goat
+7108 Broken Shield
+7109 Shiny Spear Tip
+7110 Sharp Sword
+7111 String Paper
+7112 Transparent Paper
+7113 Onion Wand
+7114 Sphinx Mask
+7115 Blood Feather
+7116 Tooth of Lowblood
+7117 Torn Spell Book
+7118 Torn Scroll
+7119 Hypha Body
+7120 Burning Horseshoe
+7121 Honey Jar
+7122 Hot Feather
+7123 Dragon's Skin
+7124 Sand Lump
+7125 Crab Shot
+7126 Large Jellopy
+7127 Alcohol Making Book
+7128 Fire Bottle Making Book
+7129 Acid Bottle Making Book
+7130 Plant Bottle Making Book
+7131 Mine Bottle Making Book
+7132 Coating Wax Making Book
+7133 Slim Potion Making Book
+7134 Medicine Bowl
+7135 Fire Bottle
+7136 Hydrobolic Acid Bottle
+7137 Water Bottle
+7138 Mine Bottle
+7139 Coating Wax
+7140 Seed of Life
+7141 Water Flow
+7142 Ancient Life
+7143 Seperation Tubes
+7144 Potion Making Book
+7145 Ragnarok T-Shirt
+7146 Vacation Ticket
+7147 Jasmine
+7148 Mother's Letter
+7149 Yellow Plate
+7150 Bamboo Trunk
+7151 Oiled Paper
+7152 Glossy Hair
+7153 Old Kimono
+7154 Poison Powder
+7155 Poisonous Toad's Skin
+7156 Broken Shuriken
+7157 Black Mask
+7158 Broken Liquor Bottle
+7159 Demon's Nose
+7160 Passport From King
+7161 Skin of the Black Bear
+7162 Piece of Cloud
+7163 Hard Antennae
+7164 Very Hard Peach
+7165 Etherial Winged Clothing
+7166 Soft Silk Fabric
+7167 Strange Piece of Iron
+7168 Big Wing of Butterfly
+7169 Tae Guk Tablet
+7170 Tuxedo
+7171 Skin of Panther
+7172 Claw of Panther
+7173 Bun Buster Bag
+7174 Wrapping Thread
+7175 Wrapper
+7176 King's Proof Document
+7177 ?????_?????_????
+7178 ?????_?????
+7179 ????_???????
+7180 0
+7181 0
+7182 Cacao
+7183 ????
+7184 ??????
+7185 ??????
+7186 ???
+7187 ?????
+7188 ????
+7189 ????
+7190 ????
+7191 ?
+7192 ????
+7193 ?????
+7194 ????????
+7195 ????
+7196 ????
+7197 ????????
+7198 ??????
+7199 20
+7200 ???
+7201 ??
+7202 ????????
+7203 ?????
+7204 ??
+9001 Poring Egg
+9002 Drops Egg
+9003 Poporing Egg
+9004 Lunatic Egg
+9005 Picky Egg
+9006 Chonchon Egg
+9007 Steel Chonchon Egg
+9008 Hunter Fly Egg
+9009 Savage Babe Egg
+9010 Baby Desert Wolf Egg
+9011 Rocker Egg
+9012 Spore Egg
+9013 Poison Spore Egg
+9014 PecoPeco Egg
+9015 Smokie Egg
+9016 Yoyo Egg
+9017 Orc Warrior Egg
+9018 Munak Egg
+9019 Dokkaebi Egg
+9020 Sohee Egg
+9021 Isis Egg
+9022 Green Petite Egg
+9023 Deviruchi Egg
+9024 Bapho Jr. Egg
+9025 Bongun Egg
+9026 Alice Egg
+9027 Zherlthsh Egg
+9028 Test Egg
+9029 Test Egg
+10001 Skull Helm
+10002 Monster Oxygen Mask
+10003 Transparent Headgear
+10004 Pacifier
+10005 Wig
+10006 Queen's Hair Ornament
+10007 Silk Ribbon
+10008 Punisher
+10009 Wild Flower
+10010 Battered Pot
+10011 Stellar Hairpin
+10012 Tiny Egg Shell
+10013 Backpack
+10014 Rocker Glasses
+10015 Green Lace
+10016 Golden Bell
+10017 Bark Shorts
+10018 Monkey Circlet
+10019 Red Muffler
+10020 Sword of Chinese Exorcis
diff --git a/doc/item_bonus.txt b/doc/item_bonus.txt new file mode 100644 index 000000000..d0abbb8bf --- /dev/null +++ b/doc/item_bonus.txt @@ -0,0 +1,137 @@ +サソskill n,x; skill n of level x
+
+bonus bStr,n; STR + n
+bonus bAgi,n; AGI + n
+bonus bVit,n; VIT + n
+bonus bInt,n; INT + n
+bonus bDex,n; DEX + n
+bonus bLuk,n; LUK + n
+
+bonus bMaxHP,n; MAXHP + n
+bonus bMaxSP,n; MAXSP + n
+bonus bMaxHPrate,n; MAXHP + n%
+bonus bMaxSPrate,n; MAXSP + n%
+bonus bAtk,n; ATK + n
+bonus bAtk2,n; ATK2 + n
+bonus bAtkRate attack power + n%
+bonus bBaseAtk,n; Basic attack power + n
+bonus bMatk,n; Magical attack power 1 + n and magical attack power 2 + n
+bonus bMatk1,n; Magical attack power 1 + n
+bonus bMatk2,n; Magical attack power 2 + n
+bonus bMatkRate,n; Magical attack power + n%
+bonus bMdef,n; Magical defensive power + n
+bonus bDef,n; DEF + n
+bonus bHit,n; On-target hit power + n
+bonus bCritical,n; Critical + n
+bonus bCriticalRate,n; Critical ratio + n%
+bonus bFlee,n; Evasion power + n
+bonus bFlee2,n; Perfection evasion + n
+bonus bSpeed,n; Drift speed + n
+bonus bAspd,n; Attack speed + n
+bonus bSpeedRate,n; Drift speed + n% (just high ones application)
+bonus bAspdRate,n; Attack speed + n% (just high ones application)
+bonus bSpeedAddRate drift speed + n%
+bonus bAspdAddRate attack speed + n%
+bonus bAtkRange,n; Attack Range + n
+bonus bCastrate,n; Cast rate + n%
+bonus bUseSPrate,n; SP consumption + n%
+bonus bHPrecovRate,n; HP automatic recovery ratio + n% (you exclude the recovery with skill)
+bonus bSPrecovRate,n; SP automatic recovery ratio + n% (you exclude the recovery with skill)
+bonus bDoubleRate,n; attack probability n% (with weapon disregard just high ones application)
+bonus bDoubleAddRate,n; Double attack probability + n% (weapon disregard)
+bonus bPerfectHitRate,n; On-target impact attack probability n% (just high ones application)
+bonus bPerfectHitAddRate,n; On-target impact attack probability +n%
+bonus bGetZenyNum,n; When pushing down the monster with physical attack, rand () 繧シ繝 of %n+1 is obtained, (as for n just high ones application)
+bonus bAddGetZenyNum,n; When pushing down the monster with physical attack, rand () 繧シ繝 of %n+1 is obtained, (n is done +)
+bonus bCriticalDef,n; Critical 蝟ー and others the trap it is, probability + n%
+bonus bNearAtkDef,n; The damage of short-range attack n% reduction (magic and the trap, the 鮃ケ is excluded)
+bonus bLongAtkDef,n; damage of stand off attack n% reduction (magic and the trap, the 鮃ケ is excluded)
+bonus bMagicAtkDef the damage of magical attack n% reduction
+bonus bMiscAtkDef MISC attack (the trap and ?) the damage n% reduction
+
+bonus bIgnoreDefRace,n Defense disregard of enemy of n race
+ 0,Intangibility 1,Immortality 2,Animal 3,Plant 4,Insect 5,Fish and shellfish 6,Demon 7,Human 8,Angel 9,Dragon family 10:Boss monster 11:Other than (normal monster) boss monster
+bonus bIgnoreDefEle,n; Defense disregard of enemy of n attribute
+ 0,Nothing 1,Water 2,Earth 3,Fire 4,Wind 5,Poison 6,Saint 7,Darkness 8,Sense 9,Immortality
+bonus bIgnoreMDefRace n race the magical defensive power disregard damage
+ 0,Intangibility 1,Immortality 2,Animal 3,Plant 4,Insect 5,Fish and shellfish 6,Demon 7,Human 8,Angel 9,Dragon family 10:Boss monster 11:Other than boss monster (normal monster)
+bonus bIgnoreMDefEle n attribute the magical defensive power disregard damage
+ 0,Nothing 1,Water 2,Earth 3,Fire 4,Wind 5,Poison 6,Saint 7,Darkness 8,Sense 9,Immortality
+bonus bDefRatioAtkRace,n; n race if defensive power is high the high extent big damage is given, (defense disregard)
+ 0,Intangibility 1,Immortality 2,Animal 3,Plant 4,Insect 5,Fish and shellfish 6,Demon 7,Human 8,Angel 9,Dragon family 10:Boss monster 11:Other than boss monster (normal monster)
+bonus bDefRatioAtkEle,n; n attribute if defensive power is high the high extent big damage is given, (defense disregard)
+ 0,Nothing 1,Water 2,Earth 3,Fire 4,Wind 5,Poison 6,Saint 7,Darkness 8,Sense 9,Immortality
+bonus bAtkEle,n; Attack with element n
+ 0,Nothing 1,Water 2,Earth 3,Fire 4,Wind 5,Poison 6,Saint 7,Darkness 8,Sense 9,Immortality
+bonus bDefEle,n; Guard against element n
+ 0,Nothing 1,Water 2,Earth 3,Fire 4,Wind 5,Poison 6,Saint 7,Darkness 8,Sense 9,Immortality
+bonus bHitRate,n; on-target hit ratio +n%
+bonus bFleeRate,n; evasion ratio +n%
+bonus bFlee2Rate,n; complete evasion ratio +n%
+bonus bDefRate,n; earned-run average +n% (equipment)
+bonus bDef2Rate,n; earned-run average +n% (those due to vit)
+bonus bMdefRate,n; magical earned-run average +n% (equipment)
+bonus bMdef2Rate,n; magical earned-run average +n% (those due to int)
+bonus bSplashRange n; damage is given to the peripheral n cell of the target with usual weapon attack, if (as for n just high ones application, 1 if the 3*3, 2 the 5*5)
+bonus bSplashAddRange n; damage is given to the peripheral n cell of the target with usual weapon attack, (range + n)
+
+bonus bInfiniteEndure,n; Unlimited Endure (n is meaningless)
+bonus bRestartFullRecover,n; When reviving, HP and SP all recoveries (non mind there is no n)
+bonus bNoCastCancel,n; The casting is not cancelled (non mind there is no n)
+bonus bNoCastCancel2,n; The casting is not cancelled (is not cancelled even with GVG, n is meaningless)
+bonus bNoSizeFix,n; The attack revision with the size of the monster is not received, (non mind there is no n)
+bonus bNoWeaponDamage,n; The damage is not received to physical attack, (non mind there is no n)
+bonus bNoMagicDamage,n; The damage is not received to magic, (including also the heel, non mind there is no n)
+bonus bNoGemStone,n; When using skill, the gemstone is not consumed (non mind there is no n)
+
+
+bonus2 bAddEff,Eff_Blind,n; With the establishment of n% dark grant
+bonus2 bAddEff,Eff_Sleep,n; With the establishment of n% sleep grant
+bonus2 bAddEff,Eff_Poison,n; With the establishment of n% poison grant
+bonus2 bAddEff,Eff_Freeze,n; With the establishment of n% freezing grant
+bonus2 bAddEff,Eff_Silence,n; With the establishment of n% silence grant
+bonus2 bAddEff,Eff_Stan,n; With the establishment of n% stun grant
+bonus2 bAddEff,Eff_Curse,n; You curse with the establishment of n%, grant
+bonus2 bAddEff,Eff_Confusion,n; With the establishment of n% confusion grant
+bonus2 bAddEff,Eff_Stone,n; With the establishment of n% petrochemical grant
+
+bonus2 bResEff,Eff_Blind,n; Dark tolerance + n%
+bonus2 bResEff,Eff_Sleep,n; Sleep tolerance + n%
+bonus2 bResEff,Eff_Poison,n; Poison tolerance + n%
+bonus2 bResEff,Eff_Freeze,n; Freezing tolerance + n%
+bonus2 bResEff,Eff_Silence,n; Silence tolerance + n%
+bonus2 bResEff,Eff_Stan,n; Stun tolerance + n%
+bonus2 bResEff,Eff_Curse,n; Cursing tolerance + n%
+bonus2 bResEff,Eff_Confusion,n; Confusion tolerance + n%
+bonus2 bResEff,Eff_Stone,n; Petrochemical tolerance + n%
+
+bonus2 bAddSize,n,x; In n size the damage addition of x%
+ 0,Small size 1,Medium size 2,Large size
+bonus2 bAddRace,n,x; In n race the damage addition of x%
+ 0,Intangibility 1,Immortality 2,Animal 3,Plant 4,Insect 5,Fish and shellfish 6,Demon 7,Human 8,Angel 9,Dragon family 10:Boss monster 11:Other than boss monster (normal monster)
+bonus2 bSubRace,n,x; Damage x% reduction from n race
+ 0,Intangibility 1,Immortality 2,Animal 3,Plant 4,Insect 5,Fish and shellfish 6,Demon 7,Human 8,Angel 9,Dragon family 10:Boss monster 11:Other than boss monster (normal monster)
+bonus2 bMagicAddRace,n,x; In n race the damage addition of x% (only magical attack)
+ 0,Intangibility 1,Immortality 2,Animal 3,Plant 4,Insect 5,Fish and shellfish 6,Demon 7,Human 8,Angel 9,Dragon family 10:Boss monster 11:Other than boss monster (normal monster)
+bonus2 bMagicSubRace,n,x; Magical damage x% reduction from n race
+ 0,Intangibility 1,Immortality 2,Animal 3,Plant 4,Insect 5,Fish and shellfish 6,Demon 7,Human 8,Angel 9,Dragon family 10:Boss monster 11:Other than boss monster (normal monster)
+bonus2 bAddEle,n,x; In n attribute the damage addition of x%
+ 0,Nothing 1,Water 2,Earth 3,Fire 4,Wind 5,Poison 6,Saint 7,Darkness 8,Sense 9,Immortality
+bonus2 bMagicAddEle,n,x; In n attribute the damage addition of x% (only magical attack)
+ 0,Nothing 1,Water 2,Earth 3,Fire 4,Wind 5,Poison 6,Saint 7,Darkness 8,Sense 9,Immortality
+bonus2 bSubEle,n,x; Damage x% reduction from n attribute
+ 0,Nothing 1,Water 2,Earth 3,Fire 4,Wind 5,Poison 6,Saint 7,Darkness 8,Sense 9,Immortality
+bonus2 bAddDamageClass,n,x; In monster of class n the damage addition of x% (only physical attack), in case of prayer in n occupation the damage addition of x%
+bonus2 bAddMagicDamageClass,n,x; In monster of class n in case of the magical damage addition and prayer of x% in n occupation the magical damage addition of x%
+bonus2 bAddDefClass,n,x; In monster of class n the damage reduction of x% (only physical attack), in case of prayer in n occupation the damage reduction of x%
+bonus2 bAddMDefClass,n,x; In monster of class n in case of the magical damage reduction and prayer of x% in n occupation the magical damage reduction of x%
+bonus2 bHPDrainRate,n,x; it obtained to the enemy -- ? ME ? JI -- n % probability -- x % -- HP -- absorption (+ n and x are carried out)
+bonus2 bSPDrainRate,n,x; it obtained to the enemy -- ? ME ? JI -- n % probability -- x % -- SP -- absorption (+ n and x are carried out)
+
+
+bonus3 bAddMonsterDropItem,n,x; When pushing down the monster with physical attack, the probability which drops item n +x% (the item which the monster drops unrelated ones)
+ 0,Intangibility 1,Immortality 2,Animal 3,Plant 4,Insect 5,Fish and shellfish 6,Demon 7,Human 8,Angel 9,Dragon family 10:Boss monster 11:Other than boss monster (normal monster)
+bonus3 bAutoSpell,n,x,y; Auto Spell casting of spell n at level x with y% chance
+
+// bAddDamageClass, bAddMagicDamageClass and bAddMonsterDropItem it is setting possible up to 10. Those which exceed 10 are ignored.
+// those which can be used with the arrow are only bCritical, bAtkEle, bHit, bAddEle, bAddRace, bAddSize and bAddEff. The other things are ignored.
diff --git a/doc/packet_table_en.txt b/doc/packet_table_en.txt new file mode 100644 index 000000000..63f74dc51 --- /dev/null +++ b/doc/packet_table_en.txt @@ -0,0 +1,1336 @@ +here is a translation for "packet_table.txt".
+i leave original japanese sentenses and write translation below that.
+
+
+詳しくは知りませんが、GMはアカウントID=704554付近を指定すると
+クライアントがGMだと認識して表示するみたいです。
+数字が半端なのは気にしないで・・・
+
+i don't know for sure, but if you set account id around 704554,
+the ro client recognizes you as GM ( i don't know about other client like
+iro or something. this is talking about jro.)
+
+
+パケット長リスト。-1はパケット種別の直後に長さがあるパケット
+
+list of packet length. "-1" means a packet that have its packet length
+just after the packet number.
+
+ 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 55, 17, 3, 37, 46, -1, 23, -1, 3,108, 3, 2,
+ 3, 28, 19, 11, 3, -1, 9, 5, 52, 51, 56, 58, 41, 2, 6, 6,
+
+ 7, 3, 2, 2, 2, 5, 16, 12, 10, 7, 29, 23, -1, -1, -1, 0,
+ 7, 22, 28, 2, 6, 30, -1, -1, 3, -1, -1, 5, 9, 17, 17, 6,
+ 23, 6, 6, -1, -1, -1, -1, 8, 7, 6, 7, 4, 7, 0, -1, 6,
+ 8, 8, 3, 3, -1, 6, 6, -1, 7, 6, 2, 5, 6, 44, 5, 3,
+
+ 7, 2, 6, 8, 6, 7, -1, -1, -1, -1, 3, 3, 6, 3, 2, 27,
+ 3, 4, 4, 2, -1, -1, 3, -1, 6, 14, 3, -1, 28, 29, -1, -1,
+ 30, 30, 26, 2, 6, 26, 3, 3, 8, 19, 5, 2, 3, 2, 2, 2,
+ 3, 2, 6, 8, 21, 8, 8, 2, 2, 26, 3, -1, 6, 27, 30, 10,
+
+
+ 2, 6, 6, 30, 79, 31, 10, 10, -1, -1, 4, 6, 6, 2, 11, -1,
+ 10, 39, 4, 10, 31, 35, 10, 18, 2, 13, 15, 20, 68, 2, 3, 16,
+ 6, 14, -1, -1, 21, 8, 8, 8, 8, 8, 2, 2, 3, 4, 2, -1,
+ 6, 86, 6, -1, -1, 7, -1, 6, 3, 16, 4, 4, 4, 6, 24, 26,
+
+ 22, 14, 6, 10, 23, 19, 6, 39, 6, 7, 6, 27, -1, 2, 6, 6,
+ 110, 6, -1, -1, -1, -1, -1, 6, -1, 54, 66, 54, 90, 42, 6, 42,
+ -1, -1, -1, -1, -1, 30, -1, 3, 14, 3, 30, 10, 43, 14,186,182,
+ 14, 30, 10, 3, -1, 6,106, -1, 4, 5, 4, -1, 6, 7, -1, -1,
+
+ 6, 3,106, 10, 10, 34, 0, 6, 8, 4, 4, 4, 29, -1, 10, 6,
+ 90, 86, 24, 6, 30,102, 8, 4, 8, 4, 14, 10
+
+S クライアントから見て送信
+S means a packet that will be sent from client.
+
+R クライアントから見て受信
+R means a packet that will be received by client.
+
+B バイト
+B means a byte.
+
+w ワード=2B
+w means word( 2 bytes)
+
+l ロングワード=4B
+l means long word(4bytes)
+
+* 0個以上くりかえし
+* means repeat
+
+
+S 0064 <version>.l <account name>.24B <password>.24B <version2>.B
+ アカウントID&パスワード送信
+ send account id & password
+S 0065 <account ID>.l <login ID1>.l <login ID2>.l ?.2B <sex>.B
+ キャラセレ鯖接続要求
+ request connection to character select server
+S 0066 <charactor number>.B
+ キャラクタ選択要求
+ request to select character
+S 0067 <charactor name>.24B <param etc>.11B
+ キャラクタ作成要求
+ request to create new character
+S 0068 <charactor ID>.l <mail address>.40B
+ キャラクタ削除要求
+ request to delete character
+R 0069 <len>.w <login ID1>.l <account ID>.l <login ID2>.l ?.32B <sex>.B {<IP>.l <port>.w <server name>.20B <login users>.l ?.2B}.32B*
+ login成功&鯖情報
+ information about a success of login to login server
+R 006a <error No>.B
+ login失敗
+ fail to login to login server
+R 006b <len>.w <charactor select data>.106B*
+ キャラセレ鯖接続成功&キャラクタデータ
+ information about a success of connection to character select server & character server
+ <charactor select data> = <charactor ID>.l <base exp>.l <zeny>.l <job exp>.l <job level>.l ?.8B <option>.l <karma>.l <manner>.l ?.2B <HP>.w <MaxHP>.w <SP>.w <MaxSP>.w <speed>.w <class>.w <hair>.w <weapon>.2w <base level>.w <skill point>.w <head_bottom>.w <sheild>.w <head option top>.w <head option mid>.w <hair color>.w ?.w <name>.24B <STR>.B <AGI>.B <VIT>.B <INT>.B <DEX>.B <LUK>.B <charactor number>.B ?.B
+R 006c <error No>.B
+ キャラクタ選択失敗
+ fail to select character
+R 006d <charactor select data>.106B
+ キャラクタ作成成功
+ success to create new character
+R 006e <error No>.B
+ キャラクタ作成失敗
+ fail to create new character
+R 006f
+ キャラクタ削除成功
+ success to delete character
+R 0070 <error No>.B
+ キャラクタ削除失敗
+ fail to delete character
+R 0071 <charactor ID>.l <map name>.16B <ip>.l <port>.w
+ キャラクタ選択成功&マップ名&ゲーム鯖IP/port
+ success to select character & map name and ip/port number for game server
+S 0072 <account ID>.l <charactor ID>.l <login ID1>.l <login ID2>.l <sex>.b
+ ゲーム鯖接続要求
+ request connection to game server
+R 0073 <server tick>.l <coordidate>.3B ?.2B
+ ゲーム鯖接続成功&サーバ側1ms時計&出現位置
+ success to connect to game server & server time & spawn point
+R 0078 <ID>.l <speed>.w ?.w ?.w <option>.w <class>.w <hair>.w <weapon>.w <head option bottom>.w <sheild>.w <head option top>.w <head option mid>.w <hair color>.w ?.w <head dir>.w <guild>.w ?.w ?.w <manner>.w <karma>.w ?.B <sex>.B <X_Y_dir>.3B ?.B ?.B <sit>.B
+ マップロード時&移動時用、向き付き用キャラ情報?
+ a packet for map load or moving, infermation about a direction for character?
+R 0079 <ID>.l <speed>.w ?.w ?.w <option>.w <class>.w <hair>.w <weapon>.w <head option bottom>.w <sheild>.w <head option top>.w <head option mid>.w <hair color>.w ?.w <head dir>.w <guild>.w ?.w ?.w <manner>.w <karma>.w ?.B <sex>.B <X_Y_dir>.3B ?.B ?.B
+ テレポ等の表示範囲内沸きキャラ用、向き付き無しキャラ情報?
+ information about characters in a range of a skill like teleport, no infor about direction for character?
+R 007b <ID>.l <speed>.w ?.w ?.w <option>.w <class>.w <hair>.w <weapon>.w <head option bottom>.w <server tick>.l <sheild>.w <head option top>.w <head option mid>.w <hair color>.w ?.w <head dir>.w <guild>.w ?.w ?.w <manner>.w <karma>.w ?.B <sex>.B <X_Y_X_Y>.5B ?.B ?.B ?.B
+ 表示範囲内キャラ移動情報
+ character information about walking in a range of the character can see
+R 007c <ID>.l <speed>.w ?.6w <class>.w ?.7w <X_Y>.3B ?.2B
+ NPC用表示範囲内キャラ情報
+ character information for npc in a range the character can see
+S 007d
+ mapロード終り
+ end of load
+S 007e <client tick>.l
+ クライアント側1msタイマ送信
+ send 1ms timer at client
+R 007f <server tick>.l
+ サーバ側1msタイマ送信
+ send 1ms timer at server
+R 0080 <ID>.l <type>.B
+ type=00 キャラ消滅 (画面外移動。死体消滅等?)
+ character disappear( walk out of screen. died and disappear?)
+ type=01 キャラ死亡
+ character died
+ type=02 キャラ消滅 (テレポ,蝿,蝶,logout等?)
+ character disappear( teleport, fly's wing, butterfly's wing, logout?)
+R 0081 <type>.B
+ type=03 speed hack
+ speed hack
+ type=08 2重ログイン
+ duplicated login
+S 0085 <X_Y>.3B
+ 移動要求
+ request to walk
+R 0087 <server tick>.l <X_Y_X_Y>.5B ?.B
+ 移動応答
+ response to the request to walk
+R 0088 <ID>.l <X>.w <Y>.w
+ 移動途中停止
+ stop walking
+S 0089 <target ID>.l <type>.B
+ type=00 targetを1回殴る
+ hit target once
+ type=02 座る
+ sit down
+ type=03 立ち上る
+ stand up
+ type=07 targetを殴り続ける
+ continue to hit target
+R 008a <src ID>.l <dst ID>.l <server tick>.l <src speed>.l <dst speed>.l <param1>.w <param2>.w <type>.B <param3>.w
+ type=00 param1=0 miss
+ param1=0 miss
+ type=00 param1:ダメージ(の合計?) param2:分割数 param3:アサシン2刀流逆手ダメージ
+ param1:damage(of total?) param2:number of division param3:damage of assasin's left hand
+ NPCからの攻撃の場合、param2,param3はゴミデータ
+ if the attack was by npc, param2 and param3 are not used
+ speedはPCの場合内部ASPDと一致
+ speed match the aspd if it's player character
+ type=01 itemを拾う ID*2以外ゴミ
+ pick up item, unused data except ID*2
+ type=02 座る src ID以外ゴミ
+ sit down, unused data except src ID
+ type=03 立つ src ID以外ゴミ
+ stand up, unused data except src ID
+ type=08 複数攻撃
+ multiple attack
+ type=0a クリティカル
+ critical attack
+ type=0b 完全回避
+ perfect evade
+R 008c <len>.w <str>.?B
+ 通常発言送信。チャット中はチャット内発言用になる
+ send normal speech. it become a speech for chat during a chat
+ 先頭の"<nick> : "の部分はクライアント側で付ける事
+ client adds "<nick> : " part.
+R 008d <len>.w <ID>.l <str>.?B
+ IDさんの発言受信。チャット中はチャット内発言用になる
+ receive a speech by ID. it become speech for chat during a chat
+R 008e <len>.w <str>.?B
+ 自分の発言受信。チャット中はチャット内発言用になる
+ receive my character's speech. it become speech for chat during a chat
+S 0090 <ID>.l <type?>.B
+ NPCに話しかける。typeは01しか見た事無し
+ talk to npc. i havent seen type setted to 01.
+R 0091 <map name>.16B <X>.w <Y>.w
+ 鯖内マップ間移動、テレポ,蝿等用
+ map change in the same server, for instance, teleport, fly's wing...
+R 0092 <map name>.16B <X>.w <Y>.w <IP>.l <port>.w
+ 鯖間移動
+ map change to the other server
+R 0093
+ 8月中に1回だけ観測。謎
+ this packet observed in august once. i dont know what it is.
+S 0094 <ID>.l
+ IDのキャラ名等要求。0095か0195の返答があるはず
+ request a character name for ID. 0095 or 0195 response is expected.
+R 0095 <ID>.l <nick>.24B
+ NPC,ギルド未所属PCの0094への返答
+ response for 0094 request from npc or player character without guild.
+ 0193 <charID>.l で問い合わせて
+ request by <charID>.l
+ 0194 <charID>.l <name>.24B の応答で得てます。
+ get response by <charID>.l <name>.24B
+
+S 0096 <len>.w <nick>.24B <message>.?B
+ wis送信
+ send wisper
+R 0097 <len>.w <nick>.24B <message>.?B
+ wis受信
+ receive wisper
+R 0098 <type>.B
+ type=00 wis送信成功
+ success to send wisper
+ type=01 wis相手がloginしてない?
+ target character is not loged in?
+ type=02 wis相手からignoreされてる?
+ ignored by target
+R 009a <len>.w <message>.?B
+ GMからの天の声
+ GM announce
+S 009b <head dir>.w <dir>.B
+ 体&頭の方向変更要求。クライアントへの応答は無い模様
+ request a change of head and body direction. no response to client.
+ dirは00〜07で体の向き。00で北から反時計回りに45°単位で07まで
+ dir can be 00-07 and it's for body direction. 00 means north and go counter-clockwise upto 07 by 45 degrees.
+ head dirは00,01,02で頭の向き。00で体と同じ、01が右、02が左
+ head dir can be 00,01,02. 00 means the same direction of body, 01 means right, 02 menas left.
+R 009c <ID>.l <head dir>.w <dir>.B
+ IDの体&頭の方向変更
+ change body and head direction for ID.
+R 009d <ID>.l <item ID>.w <identify flag>.B <X>.w <Y>.w <amount>.w <subX>.B <subY>.B
+ 移動等で床アイテムが画面内に入ってきた時
+ when the item on the floor will appear on the screen by walking etc.
+R 009e <ID>.l <item ID>.w <identify flag>.B <X>.w <Y>.w <subX>.B <subY>.B <amount>.w
+ item drop。何故か009dとマス目内位置&個数が入れ変っている
+ item drop. coordinate and amount is different from 009d.
+S 009f <ID>.l
+ IDの床アイテムを拾う
+ pick up item on the floor.
+R 00a0 <index>.w <amount>.w <item ID>.w <identify flag>.B <attribute?>.B <refine>.B <card>.4w <equip type>.w <type>.B <fail>.B
+ fail=02 取得失敗?
+ fail to pick up?
+ fail=06 ルート権無し。取得失敗
+ no right to pick up. fail to pick up.
+R 00a1 <ID>.l
+ IDの床アイテム消去
+ disappear the floor item
+S 00a2 <index>.w <amount>.w
+ 所有アイテムを落す
+ drop inventory item.
+R 00a3 <len>.w {<index>.w <item ID>.w <type>.B <identify flag>.B <amount>.w ?.2B}.10B*
+ 所有消耗品&収集品リスト
+ list of consumptive item and collecter item that you have
+R 00a4 <len>.w {<index>.w <item ID>.w <type>.B <identify flag>.B <equip type>.w <equip point>.w <attribute?>.B <refine>.B <card>.4w}.20B*
+ 所有装備リスト
+ list of equipments that you have
+R 00a5 <len>.w {<index>.w <item ID>.w <type>.B <identify flag>.B <amount>.w ?.2B}.10B*
+ カプラさんに預けてある消耗品&収集品リスト
+ list of consumptive item and collecter item that you leave with capra.
+R 00a6 <len>.w {<index>.w <item ID>.w <type>.B <identify flag>.B <equip type>.w <equip point>.w <attribute?>.B <refine>.B <card>.4w}.20B*
+ カプラさんに預けてある装備リスト
+ list of equipments that you leave with capra.
+S 00a7 <index>.w <ID>.l
+ 所持アイテムindexを使用する。IDは自分のみ?
+ use index item. ID can be only myself?
+R 00a8 <index>.w <amount>.w <type>.B
+ アイテム使用応答。type=00の場合使用失敗? amountもゴミの模様
+ response to use item. type=00 means failed. amount is unused.
+ type=01の場合成功で、amountは使用後の残り個数
+ type=01 means success to use item, amount is a number of rest of the item.
+S 00a9 <index>.w <equip type>.w
+ アイテム装備
+ equip item.
+R 00aa <index>.w <equip point>.w <type>.B
+ アイテム装備応答。type=00の場合装備失敗? equip pointもゴミの模様
+ response to equip item. type=00 means fail. equip point is unused.
+S 00ab <index>.w
+ 装備解除
+ take off equipment.
+R 00ac <index>.w <equip point>.w <type>.B
+ 装備解除応答。type=00の場合失敗? equip pointもゴミの模様
+ response to take off equipment. type=00 means fail? equip point is unused.
+R 00af <index>.w <amount>.w
+ アイテム数減少。amount個だけ減らす
+ decrease number of item by amount.
+R 00b0 <type>.w <val>.l
+ 色々な能力値の更新。以下type:対応する数値を列挙
+ update values of various status.
+ 0000:speed 0003:悪行値 0004:マナーポイント 0005:HP 0006:MaxHP
+ 0000:speed 0003:carma 0004:manner point 0005:HP 0006: MaxHP
+ 0007:SP 0008:MaxSP 0009:ステータスポイント 000b:ベースレベル
+ 0007:SP 0008:MaxSP 0009:status point 000b: base level
+ 000c:スキルポイント 0018:重量(表示されてる数字の10倍)
+ 000c:skil point 0018:weight(this number must be 10 times greater than it's been diplayed.)
+ 0019:最大重量(表示されてる数字の10倍)
+ 0019:max weight(this number must be 10 times greater than it's been diplayed.)
+ 0029:ATK前 002a:ATK後 002b:MATK前 002c:MATK後
+ 0029:attack in front 002a:attack in back 002b:matk in front 002c:matk in back
+ 002d:DEF前 002e:DEF後 002f:MDEF前 0030:MDEF後
+ 002d:deffence in front 002e:deffence in back 002f:mdef in front 0030:mdef in back
+ 0031:HIT 0032:FLEE前 0033:FLEE後 0034:クリティカル
+ 0031:hit 0032:flee in front 0033:flee in back 0034: critical
+ 0035:ASPD(2ms単位の時間?) 0037:ジョブレベル
+ 0035:aspd(time by 2ms?) 0037:job level
+ 0082:謎 ATK後と同じ数字?
+ 0082:unknown. is it the same number as atk in back?
+R 00b1 <type>.w <val>.l
+ 色々な能力値の更新。以下type:対応する数値を列挙
+ update valies of various status. below is the list of corresponding type and value.
+ 0001:ベース側経験値 0002:ジョブ側経験値 0014:zeny
+ 0001:base experience 0002:job experience 0014:zeny
+ 0016:ベース側必要経験値 0017:ジョブ側必要経験値
+ 0016:base experience that needed to level up 0017:job experience that needed to level up
+ β1では00b0はvalがshort、00b1はvalがlongという使い分けがあったんだけど
+ 今となっては差が無くなって、盲腸みたいなもの?
+ in beta1, value of 00b0 was short and value of 00b1 was long,
+ but not there are no difference.
+S 00b2 <type>.B
+ type=00 死亡時リスタート
+ restart game when character died
+ type=01 キャラセレ要求
+ request character select
+R 00b3 <type>.B
+ type=01 キャラセレ応答
+ response to character select
+R 00b4 <len>.w <ID>.l <str>.?B
+ IDのNPCからのメッセージ
+ message from npc id
+R 00b5 <ID>.l
+ IDのNPCとのメッセージウィンドウに"NEXT"アイコンを出す
+ display the "NEXT" icon to npc message window
+R 00b6 <ID>.l
+ IDのNPCとのメッセージウィンドウに"CLOSE"アイコンを出す
+ display the "CLOSE" icon to npc message window
+R 00b7 <len>.w <ID>.l <str>.?B
+ IDのNPCの会話で選択項目表示。各項目は':'で区切られる
+ display select options in npc message window. each options devided by ":".
+S 00b8 <ID>.l <select>.B
+ IDのNPCの会話の選択。各項目に順に1〜が振られる。ffでキャンセル?
+ select options in ncp message window. number starts from 1 for each options. cancel for ff?
+S 00b9 <ID>.l
+ IDのNPCとの会話。NEXTボタンを押した
+ "NEXT" button clicked in ncp message window.
+S 00bb <type>.w <amount>.B
+ ステータスup要求。typeは000dから0012が順にSTR,AGI,VIT,INT,DEX,LUKに対応
+ request update status. type can be 000d for STR, 000e for AGI, 000f for VIT, 0010 for INT, 0011 for DEX, 0012 for LUK.
+R 00bc <type>.w <fail>.B <val>.B
+ ステータスup応答。fail=01なら成功。typeは00bbと同じ。valは上った後の数字
+ respnse to update status. it's successeeded if fail=01. type is the same value as packet number 00bb. val is a value of increase.
+ 失敗例は見た事無いので謎。ステータスポイントが足りない状態で
+ 00bbを発行できるクライアントが有れば、fail=00になるのではないかと予想
+ it's unknown when it's failed because i havent ever seen. i think it will be fail=00 when it's failed.
+R 00bd <status point>.w <STR>.B <STRupP>.B <AGI>.B <AGIupP>.B <VIT>.B <VITupP>.B <INT>.B <INTupP>.B <DEX>.B <DEXupP>.B <LUK>.B <LUKupP>.B <ATK>.w <ATKbonus>.w <MATKmax>.w <MATKmin>.w <DEF>.w <DEFbonus>.w <MDEF>.w <MDEFbonus>.w <HIT>.w <FLEE>.w <FLEEbonus>.w <critical>.w ?.w
+ まとめてステータス情報を送るパケット
+ packet of information for various status.
+R 00be <type>.w <val>.B
+ 必要ステータスポイント更新パケット。typeは0020〜0025が順にSTR〜LUKに対応
+ packet to update required status point. type can be 0020-0025 for STR-LUK.( see packet number 00bb for detals.)
+S 00bf <type>.B
+ エモーションを出す。typeは00-0c(,0d)がALT+1〜ALT+9,ALT+0,チョキ,グー,パー(,韓国旗)に対応
+ display emotion. type can be 00-0c(,0d) for ALT+1-ALT+9,ALT+0,CTRL+-,CTRL++,CTRL+\(,korean flag).
+R 00c0 <ID>.l <type>.B
+ IDの人がエモーションを出した。typeは00bfと同じ
+ emotion by ID. type is the same as 00bf.
+S 00c1
+ login人数問い合わせ
+ request to ask loged in people.
+R 00c2 <val>.l
+ login人数応答
+ response to asking loged in people.
+R 00c3 <ID>.l <type>.B <val>.B
+ 見た目変更。typeは00で本体(転職時等)、02が武器、03が頭(下)、04が頭(上)、05が頭(中)、08が盾
+ change looks. type=00 means body(by jobs), 02 is weapon, 03 is head(lower), 04 is head(upper), 05 is head(middle), 08 is shield.
+R 00c4 <ID>.l
+ 話かけたNPCが商人だったのでbuy/sell選択窓出
+ display "BUY" or "SELL" window by npc ID
+R 00c5 <ID>.l <type>.B
+ buy/sell選択。type=00ならbuy。type=01ならsell
+ select "BUY" or "SELL". type=00 is buy, type=01 is sell.
+R 00c6 <len>.w {<value>.l <DCvalue>.l <type>.B <item ID>.w}.11B*
+ NPCのお店buy選択時。DCvalueは商人DC後の値段
+ list of marchandizes when clicked "BUY". DCvalue is a value of Discount Skill applied.
+R 00c7 <len>.w {<index>.w <value>.l <OCvalue>.l}.10B*
+ NPCのお店sey選択時。OCvalueは商人OC後の値段
+ list of items when clicked "SELL". OCvalue is a value of Over Charge Skill applied.
+S 00c8 <len>.w {<amount>.w <item ID>.w}.4B*
+ NPCのお店から買う
+ buy item from npc shop.
+S 00c9 <>.w {<index>.w <amount>.w}.4B*
+ NPCのお店に売る
+ sell item to npc shop.
+R 00ca <type>.B
+ NPCから購入終了。type=00成功
+ response for buying item. type=00 meanse successetion.
+R 00cb <type>.B
+ NPCへ売却終了。type=00成功
+ response for selling item. type=00 means success.
+S 00cf <nick>.24B <type>.B
+ type=00 nickからの発言受け付け拒否 (/ex nick)
+ deny speech from nick(/ex nick).
+ type=01 nickからの発言受け付け許可 (/in nick)
+ allow speech from nick(/in nick)
+S 00d0 <type>len.B
+ type=00 全ての発言受け付け拒否 (/exall)
+ deny all speech(/exall)
+ type=01 全ての発言受け付け許可 (/inall)
+ allow all speech(/inall)
+R 00d1 <type>.B <fail>.B
+ fail=00 発言受け付け拒否成功
+ success to deny speech
+ fail=01 発言受け付け拒否失敗
+ fail to deny speech
+R 00d2 <type>.B <fail>.B
+ fail=00 全発言受け付け拒否成功
+ seccess to allow speech
+ fail=01 全発言受け付け拒否失敗
+ fail to alloe speech
+S 00d5 <len>.w <limit>.w <pub>.B <passwd>.8B <title>.?B
+ チャット立て。ここからチャット関係が続くけど調べが甘いので補完よろ
+ create chat room.(from now on, im not sure for packets about chat.)
+R 00d6 <fail>.B
+ チャット立て応答
+ response to create chat room.
+R 00d7 <len>.w <owner ID>.l <chat ID>.l <limit>.w <users>.w <pub>.B <title>.?B
+ 画面内チャット情報
+ information for chat room in the screen.
+R 00d8 <chat ID>.l
+ チャット消去
+ delete chat room.
+S 00d9 <chat ID>.l <passwd>.8B
+ チャット参加要請
+ request to join the chat.
+R 00da <fail>.B
+ チャット参加失敗
+ fail to join the chat.
+R 00db <len>.w <chat ID>.l {<index>.l <nick>.24B}.28B*
+ チャット参加者リスト
+ list of people in the chat room.
+R 00dc <users>.w <nick>.24B
+ チャットへの参加者追加(?)
+ add person to the chat room.
+R 00dd <index>.w <nick>.24B <fail>.B
+ チャットから参加者抜け
+ leave the chat room.
+S 00de <len>.w <limit>.w <pub>.B <passwd>.8B <title>.?B
+ チャットステータス変更
+ change chat room status.
+R 00df <len>.w <owner ID>.l <chat ID>.l <limit>.w <users>.w <pub>.B <title>.?B
+ チャットステータス変更成功
+ success to change chat room status.
+S 00e0 ?.l <nick>.24B
+ チャットルーム所有者変更要求?
+ request to change owner of the chat room?
+R 00e1 <index>.l <nick>.24B
+ チャット参加者番号付け直し?
+ re-number people in the chat room?
+S 00e2 <nick>.24B
+ チャットkick
+ kick nick from chat room.
+S 00e3
+ チャット抜け
+ leave chat room.
+S 00e4 <ID>.l
+ 取り引き要求
+ request trade.
+R 00e5 <nick>.24B
+ 取り引き要請受け
+ recieve a request to trade.
+S 00e6 <type>.B
+ type=03 取り引き要請ok
+ trade ok.
+ type=04 取り引き要請キャンセル
+ trade canceled.
+R 00e7 <fail>.B
+ 取り引き要求応答
+ response to requesting trade.
+ fail=00 距離が遠過ぎ
+ too far.
+ fail=03 要請受けてくれた
+ allowed the trade.
+ fail=04 キャンセルされた?
+ trade canceled?
+S 00e8 <index>.w <amount>.l
+ アイテム追加。index=0でzeny追加。正規クライアントではzenyは00ebの直前のみ
+ add item. index=0 means adding zeny. for official client, zeny can be added only in packet number 00eb.
+R 00e9 <amount>.l <type ID>.w <identify flag>.B <attribute?>.B <refine>.B <card>.4w
+ 相手方からのアイテム追加
+ added item from other character.
+R 00ea <index>.w <fail>.B
+ fail=00 アイテム追加成功
+ success to add item.
+ fail=01 追加失敗。相手側重量オーバ
+ fail to add item. the player was over weighted.
+S 00eb
+ アイテム追加完了(ok押し)
+ completed adding item.(cliecked OK)
+R 00ec <fail>.B
+ fail=00 自分からのok受領
+ recieved "OK" from myself
+ fail=01 相手からのok受領
+ recieved "OK" from the other.
+S 00ed
+ 取り引きキャンセル
+ trade canceled.
+R 00ee
+ 取り引きがキャンセルされました
+ message of "trade canceled"
+S 00ef
+ 取り引き許諾(trade押し)
+ trade OKed. (cliecked Trade)
+R 00f0
+ 取り引き完了
+ trade completed.
+R 00f2 <num>.w <limit>.w
+ カプラさん許容アイテム個数&現状
+ number of item that capra can stock and number of item that capra stocks now.
+S 00f3 <index>.w <amount>.l
+ カプラさん倉庫にアイテム放り込み
+ put item to capra's warehouse.
+R 00f4 <index>.w <amount>.l <type ID>.w <identify flag>.B <attribute?>.B <refine>.B <card>.4w
+ カプラさん倉庫のアイテム追加
+ add item to capra's warehouse.
+S 00f5 <index>.w <amount>.l
+ カプラさん倉庫からアイテム取り出し
+ take out item from capra's warehouse.
+R 00f6 <index>.w <amount>.l
+ カプラさん倉庫のアイテム削除
+ delete item in the capra's warehouse.
+S 00f7
+ カプラさん倉庫閉じ
+ request to close capra's warehouse.
+R 00f8
+ カプラさん倉庫閉じ応答
+ response to close capra's warehouse.
+S 00f9 <party name>.24B
+ パーティ作成
+ create party.
+R 00fa <fail>.B
+ fail=00 作成成功
+ success to create party.
+R 00fb <len>.w <party name>.24B {<ID>.l <nick>.24B <map name>.16B <leader>.B <offline>.B}.46B*
+ パーティ情報まとめて送り
+ packet for various information about party.
+S 00fc <ID>.l
+ パーティ勧誘する
+ invate player to the party.
+R 00fd <nick>.24B <fail>.B
+ fail=00 相手は既にパーティに入っていた
+ the player is already in other party.
+ fail=01 相手に拒否された
+ invitaion was denied.
+ fail=02 勧誘成功
+ success to invite,
+R 00fe <ID>.l <party name>.24B
+ パーティに誘われた
+ invited to party.
+S 00ff <ID>.l <fail>.l
+ パーティに誘われた時の返答。fail=1 ok返答?
+ response when player was invited to party. fail=1 means OK?
+R 0100
+ ? パーティ関連?
+ unknown. related to party?
+S 0101 <exp>.w <item?>.w
+ パーティ設定変更
+ change party setting.
+R 0102 <exp>.w <item?>.w
+ パーティ設定現状? exp=2の場合は公平配分設定失敗?
+ party setting status. when exp=2, fail to set "equality for experience"?
+R 0104 <ID>.l ?.l <X>.w <Y>.w <offline>.B <party name>.24B <nick>.24B <map name>.16B
+ パーティ1人分情報更新
+ information about a one player in th party.
+R 0105 <ID>.l <nick>.24B <fail>.B
+ nickさんがパーティから離脱
+ nick leaves the party.
+R 0106 <ID>,l <HP>.w <MaxHP>.w
+ パーティメンバHP更新
+ update HP of party members.
+R 0107 <ID>.l <X>.w <Y>.w
+ パーティメンバ位置更新
+ update coordinates of party members.
+S 0108 <len>.w <message>.?B
+ パーティ内発言
+ send speech for party memebers.
+R 0109 <len>.w <ID>.l <message>.?B
+ パーティ内発言受信
+ receive speech for party memebers.
+R 010a <type ID>.w
+ MVPアイテム取得
+ get MVP item.
+R 010b <exp>.l
+ MVP経験値取得
+ get MVP experience.
+R 010c <ID>.l
+ MVPキャラ表示
+ display MVP character.
+R 010e <skill ID>.w <lv>.w <sp>.w <range>.w <up>.B
+ スキル情報更新。spは未使用?
+ update skill sinformation. sp is unused?
+R 010f <len>.w {<skill ID>.w <target type>.w ?.w <lv>.w <sp>.w <range>.w <skill name>.24B <up>.B}.37B*
+ スキル情報の塊。skill nameは一部流れて来ない物がある>AL_PNEUMA,PR_SLOWPOISON等
+ bunch of information about skill. some of skill name is not send (AL_PNEUMA, PR_SLOWPOISON etc).
+ target typeは0-パッシブ、1-敵、2-場所、4-即時発動、16-味方
+ target type is 0 for novice skill, 1 for enemy, 2 for place, 4 for immediate invoke, 16 for party member
+ lv=0 up=0の場合はリストに出してない?
+ it will not be on list when lv=0 up=0?
+R 0110 <skill ID>.w <basic type>.w ?.w <fail>.B <type>.B
+ fail=00の時にスキル利用失敗?
+ fail to use skill when fail=00?
+ type 00:basic typeの方 01:SP不足 02:HP不足 03:memo無し 04:delay中
+ type 00:basic type 01:lack of SP, 02:lack of HP, 03:no memo, 04:in delay
+ 05:お金無し(めまー) 06:武器がよろしくない 07:赤ジェム無し 08:青ジェム無し 09:謎
+ 05:lack of money, 06:weapon does not satisfy, 07:no red jewel, 08:no blue jewel, 09:unkown
+ basic type 00:取り引き 01:emotion 02:座り 03:チャット 04:パーティ
+ basic type 00:trade 01:emotion 02:sit down, 03:chat, 04:party
+ 05:shout? 06:PK 07:マナーポイント
+ 05:shout? 06:PK, 07:manner point
+R 0111 <skill ID>.w <target type>.w ?.w <lv>.w <sp>.w <range>.w <skill name>.24B <up>.B
+ 010fの1つ分。β2だと未使用?
+ just one skill information. not used in beta2?
+S 0112 <skill ID>.w
+ スキルlvup要求
+ request to skill level up.
+S 0113 <level>.w <skill ID>.w <ID>.l
+ IDをターゲットにskillを使う
+ use skill to the target.
+R 0114 <skill ID>.w <src ID>.l <dst ID>.l <server tick>.l <src speed>.l <dst speed>.l <param1>.w <param2>.w <param3>.w <type>.B
+ 攻撃系スキルエフェクト@
+ skill effect for attack.
+ type=04 火壁で観測 type=06とほぼ同じ?
+ rtpe=04 observed when firewall was used. is that the almost same as type=06?
+ type=06 単発もの? param1はダメージ合計、param2はlevel、param3は1固定と予想
+ type=06 skill for just one hit? param1 is total damage, param2 is level, param3 will always stay 1.
+ type=08 連打もの? param1はダメージ合計、param2はlevel、param3は分割数と予想
+ type=08 skill for multiple hits? param1 is totak damage, param2 is level, param3 will be a number of hit.
+R 0115 <skill ID>.w <src ID>.l <dst ID>.l <server tick>.l <src speed>.l <dst speed>.l <X>.w <Y>.w <param1>.w <param2>.w <param3>.w <type>.B
+ 弾き飛ばし有り攻撃系スキルエフェクト
+ blow up type skill effect.
+ type=05 ダメージ&弾き飛ばし。param1はダメージ合計、param2はlevel、param3は分割数と予想
+ type=05 damage and blow up. param1 is total damage, param2 is level, param3 will be a number of hit.
+ type=06 爆心地? 少なくともparam1はゴミの模様
+ type=06 a point of explorsion? param1 is unused at least.
+S 0116 <level>.w <skill ID>.w <X>.w <Y>.w
+ (X,Y)をターゲットにskillを使う
+ use skill at (X,Y).
+R 0117 <skill ID>.w <src ID>.l <val>.w <X>.w <Y>.w <server tick>.l
+ 場所相手のスキルエフェクト表示。valはレベルか、一部固さ?(氷壁)
+ display skill effect at (X,Y). is val level? or how hard it is (like ice wall)?
+S 0118
+ 攻撃キャンセル
+ cancel to attack
+R 0119 <ID>.l <param1>.w <param2>.w <param3>.w ?.B
+ 見た目変更
+ change looks.
+ param1=02 フロストダイバで凍り漬け?
+ param1=02 flozen diva?
+ param2=01 毒?
+ param2=01 poison?
+ param2=20 ANGELUS状態?
+ param2=20 ANGELUS?
+ param3=01 サイトかルワッチ?
+ param3-01 site or ruwatch? (i dont know skill names in english :()
+ param3=0b ハイディング状態?
+ param3=0b hiding?
+ param3=0b クローキング状態?
+ param3-0b cloking?
+ param3=0d カート付き
+ param3=0d with cart
+ param3=0e 鷹付き
+ param3-0e with hawk
+ param3=0f ペコペコ乗り
+ param3=0f with pekopeko
+
+R 011a <skill ID>.w <val>.w <dst ID>.l <src ID>.l <fail>.B
+ 非ダメージ系スキル表示。ヒールの場合valは回復量
+ display no-damage skill effect. val is an amount of HP cured when it's heal.
+ fail=00の場合失敗ぽいが、スチール以外では見た事無し
+ fail=00 must mean fail, but i havent seend it except steal.
+S 011b <skill ID>.w <map name>.16B
+ 011cへの応答。使わない場合"cancel"を送る
+ response to packet number 011c. send "cancel" for no-use.
+R 011c <skill ID>.w <map1>.16B <map2>.16B <map3>.16B <map4>.16B
+ テレポ/ポタの場所選択。
+ select place for teleport or portal warp.
+ テレポの場合、Random/セーブ場所、ポタの場合、セーブ場所/memo1/memo2/memo3となる
+ マップ名のみ送られる
+ in case of teleport, Ramdom/save point will be sent,
+ in case of portal warp, save point/memo1/memo2/memo3 will be sent.
+ only map name wil be sent.
+S 011d
+ 現在居る所をメモ要求
+ request to take a memo at this point.
+R 011e <fail>.B
+ fail=00 メモ成功
+ success to take memo.
+ fail=01 メモ失敗
+ fail to take memo.
+R 011f <dst ID>.l <src ID>.l <X>.w <Y>.w <type>.B <fail>.B
+ スキル効能地作成
+ create ground effect for skills like firewall.
+ type 7e:SW 7f:火壁 80:ポタ発動中 81:ポタ発動前 83:サンク 85:フニューマ
+ type 7e:SW, 7f:firewall, 80:portal warp(invoking), 81:portal warp(before invoking), 83:sank, 85:funewma( i really don know skill names :()
+ 86:バーミリオン 8c:トーキーボックス発動時 8d:氷壁 8e:くあぐまいやー 91:あんくるすねあ
+ 86: bermillion, 8c:talky box(invoked), 8d:frost diva, 8e:kuagumire, 91:uncle snear
+ 93:らんどまいん 97:?? 99:トーキーボックス発動前
+ 93:land mine, 97:??, 99:talky box(befor invoked)
+ 他情報求む
+R 0120 <ID>.l
+ スキル効能地消去
+ delete ground effect.
+R 0121 <num>.w <num limit>.w <weight>.l <weight limit>l
+ カートの種類&重さの現在値&上限
+ kind of cart, weight and max weight.
+R 0122 <len>.w {<index>.w <item ID>.w <type>.B <identify flag>.B <equip type>.w <equip point>.w <attribute?>.B <refine>.B <card>.4w}.20B*
+ カート内アイテム。装備品
+ equipments in cart.
+R 0123 <len>.w {<index>.w <item ID>.w <type>.B <identify flag>.B <amount>.w ?.2B}.10B*
+ カート内アイテム。消耗品/収集品
+ cunsumptive and collector items in cart.
+R 0124 <index>.w <amount>.l <item ID>.w <identify flag>.B <attribute?>.B <refine>.B <card>.4w
+ カートにアイテム追加
+ add item to cart.
+R 0125 <index>.w <amount>.l
+ カートからアイテム削除
+ delete item in cart.
+S 0126 <index>.w <amount>.l
+ カートにアイテムを入れる
+ put item to cart.
+S 0127 <index>.w <amount>.l
+ カートからアイテムを取り出す
+ take out item from cart.
+S 0128 <index>.w <amount>.l
+ カプラさんからカートへアイテムを移す
+ move item from capra's warehouse to cart.
+S 0129 <index>.w <amount>.l
+ カートからカプラさんへアイテムを移す
+ move item from cart to capra's warehouse.
+R 012c <fail>.B
+ fail=00 重量制限を越えてカートにアイテムを入れられませんでした?
+ fail=00 over the weight and could not add item to cart.
+R 012d <num>.w
+ 露店開設。アイテムリスト要求。numは置ける最大数
+ create shop (marchant skill). request item list. num is a number of kind of item that can be sell.
+S 012e
+ 露店閉鎖
+ close shop.
+S 012f <len>.w <message>.80B {<index>.w <amount>.w <value>.l}.8B*
+ 露店開設、露店名&アイテム,値段リスト
+ create shop, shop name, item, price list.
+S 0130 <ID>.l
+ 露店アイテムリスト要求
+ request item list for shop( not npc shop).
+R 0131 <ID>.l <message>.80B
+ 露店看板表示
+ display shop name tag.
+R 0132 <ID>.l
+ 露店看板消去
+ delete shop name tag.
+R 0133 <len>.w <ID>.l {<value>.l <amount>.w <index>.w <type>.B <item ID>.w <identify flag>.B <attribute?>.B <refine>.B <card>.4w}.22B
+ 露店アイテムリスト
+ item list for shop(not npc shop).
+S 0134 <len>.w <ID>.l {<amount>.w <index>.w}.4B*
+ 露店アイテム購入
+ buy item from shop (not npc).
+R 0135 <index>.w <amount>.w <fail>.B
+ 露店アイテム購入失敗。failは原因
+ fail to buy item from non npc shop. fail tells you reasons.
+R 0136 <len>.w <ID>.l {<value>.l <index>.w <amount>.w <type>.B <item ID>.w <identify flag>.B <attribute?>.B <refine>.B <card>.4w}.22B*
+ 露店開設成功
+ success to create non-npc-shop.
+R 0137 <index>.w <amount>.w
+ 露店アイテム販売報告
+ report of selling item.
+R 0139 <ID>.l <X>.w <Y>.w <X2>.w <Y2>.w <range>.w
+ IDの敵は(X,Y)に居て自分は(X2,Y2)に居るので攻撃が届きませんでした
+ the enemy at(X,Y) was too far to attack from my coordinate (X2,Y2).
+ 攻撃可能距離はrangeなので、近寄って下さい?
+ possible range to attack enemy is "range", so be closer?
+R 013a <val>.w
+ 攻撃射程
+ attack range.
+R 013b <type>.w
+ 各種メッセージ表示。3=矢が装備できました
+ various message. 3="arrow has been equiped"
+R 013c <ID>.w
+ 装備された矢のItemID。0で、未装備状態。
+ item id of equiped arrow. 0 means no arrow is equiped.
+R 013d <type>.w <val>.w
+ HP回復スキル/SP回復スキルによる回復
+ recovery of HP/SP by HP/SP recovery skill.
+ type=5ならHP type=7ならSP
+ type=5 is HP, type=7 is SP.
+R 013c <index>.w
+ 装備している矢
+ id of equiped arrow.
+
+R 013e <src ID>.l <dst ID>.l <X>.w <Y>.w <lv?>.w ?.w <wait>.l
+ スキル詠唱中。PC/NPCが相手の場合は(X,Y)は0。場所がターゲットの場合はdst IDは0になる
+ skill has been casting. (X,Y) will be 0 when target is player character or NPC. dst ID will be 0 when target is place.
+
+ 0x013e の offset+16(dword) はスキル属性です(調査済)。
+ offset+16(dword) in packet number 0x013e is skill attribute.
+
+ 00:無 01:水 02:地 03:火 04:風 05:毒 06:聖 07:暗 08:念 09:死
+ 00:none, 01:water, 02:ground, 03:fire, 04:wind, 05:poinson, 06:holly, 07:dark, 08:spirit(i don know how to translate.), 09:death
+ 将来的に、詠唱中のエフェクトが属性で変わるのかと。
+ casting effect might differ by skill attribute in the future.
+
+ waitはms単位かな?
+ wait in mili second?
+R 0141 <type>.l <base>.l <bonus>.l
+ ステータス情報。typeは0dから12が順にSTR,AGI,VIT,INT,DEX,LUKに対応
+ information for status. type is 0d-12 for STR,AGI,VIT,INT,DEX,LUK.
+ base+bonusと表示される
+ base+bonus will be displayed.
+R 0144 <ID>.l <type>.l <X>.l <Y>.l <point ID>.B <color>.3B ?.B
+ 案内員用、マップ上アイコン表示パケット
+ for guid npc, packet for display icon on map.
+ type=1 アイコンを表示
+ display icon.
+ type=2 アイコンを消去
+ delete icon.
+R 0145 <file name>.16B <type>.B
+ (今の所)カプラさんcutin表示
+ display capra picture(at this time).
+ type=02 表示
+ display.
+ type=ff 消去
+ delete.
+S 0146 <ID>.l
+ IDのNPCとの会話。CLOSEボタンを押した。ack無しにNPCメッセージウィンドを同時に閉じる
+ talk to npc with ID. Clicked CLOSE button.
+R 0147 <skill ID>.w <target type>.w ?.w <lv>.w <sp>.w <range>.w <skill name>.24B <up>.B
+ アイテム利用の結果一時的に得られたスキル情報
+ effect for skill by using item.
+S 0148 <ID>.l
+ リザレクションの相手決め? @ β1
+ decide target of a skill rezarection? in beta1.
+S 0149 <ID>.l <type>.B
+ IDにマナーポイントを与える。type=00 プラス type=01 マイナス
+ give manner point to ID. type=00 is plus, type=01 is minus.
+R 014a <fail>.l
+ マナーポイントを与えた結果。fail=0 成功 fail=1 失敗
+ result of giving manner point. fail=0 is success, fail=1 is fail.
+R 014b <type>.B <nick>.24B
+ マナーポイントを貰った。type=00 プラス type=01 マイナス
+ get manner point. type=00 is plus, type-01 is minus.
+R 014C <len>.w (<type>.l <guildID>.l <guild name>.24B).*
+ 同盟・敵対ギルド表示
+ display alliance and opposition guild.
+ type=0 同盟
+ alliance.
+ type=1 敵対
+ opposition.
+S 014D
+ ギルド情報表示開始?
+ start of guild information?
+R 014E <type?>.l
+ type=0x57 一般ギルド団員
+ normal guild member.
+ type=0xD7 ギルドマスター
+ guild master.
+S 014F <page>.l
+ ギルド表示タブ送信
+ send packet for guild "DISPLAY" tab.
+R 0150 <guildID>.l <guildLv>.l <connum>.l <定員>.l <Avl.lvl>.l ?.l <next_exp>.l ?.16B <guild name>.24B <guild master>.24B ?.16B
+ ギルド情報
+ guild info.
+S 0151 <guild ID>.l
+ エンブレム要求
+ request for guild emblem.
+R 0152 <len>.w <guild ID>.l <emblem ID?>.l <emblem data>.?B
+ エンブレムイメージ送付
+ return emblem image.
+R 0154 <len>.w {<accID>.l <charactorID>.l <髪型>.w <髪の色>.w <性別?>.w <job>.w <lvl?>.w <上納経験値>.l <online>.l <Position>.l ?.50B <nick>.24B}*
+ ギルドメンバリスト?
+ guild member list?
+S 0159 <guildID>.l <accID>.l <charID>.l <mess>.40B
+ ギルド脱退送信
+ send packet for leaving guild.
+R 015A <nic>.24B <mess>.40B
+ ギルド脱退(全員)受信
+ receive packet for leaving guild(all members).
+S 015B <guildID>.l <accID>.l <charID>.l <mess>.40B
+ ギルド追放送信
+ send packet for kicking member out of the guild.
+R 015C <nick>.24B <mess>.40B <アカウントID>.24B
+ ギルド追放(全員)受信
+ receive packet for kicking member out of the guild.(all member)
+R 0163 <len>.w <nick>.24B <accountID>.24B <kicking reason>.40B
+
+S 0165 <myaccID>.l <guild name>.24B
+ ギルド作成
+ create guild
+R 0166 <len>.w ?.28B*
+ 役職名リスト?
+ list for roll of members?
+R 0167 <type>.b
+ ギルド作成合否
+ response to vreating guild.
+ type = 0 ギルド作成成功
+ success.
+ type = 2 同名のギルドがある
+ there is a guild with the same name.
+S 0168 <TargetAccID>.l <sourceAccID>.l <myCharactorID>.l
+ ギルド勧誘
+ invite to the guild.
+R 0169 <type>.B
+ ギルド勧誘拒否された
+ invitation denied.
+R 016A <guild ID>.l <guild name>.24B
+ ギルド勧誘された
+ invited to the guild.
+S 016B <guild ID>.l <type>.l
+ ギルド勧誘返信
+ response to invitaion for joining to guild.
+ type=0 拒否する
+ deny.
+ type=1 許諾する
+ OK.
+R 016c <guild ID>.l ?.13B <guild name>.24B
+ login時ギルド情報
+ guild information when loged in.
+R 016d <ID>.l <charactor ID>.l <online>.l
+ ギルドメンバがloginした抜けた等
+ information about guild member loged in or loged out etc.
+R 016f <message>.180B
+ ギルドお題目?
+ guild message?
+S 016E <guildID>.l <mess1>.60B <mess2>.120B
+ ギルド告知設定
+ set guild announcement.
+R 016F <mess1>.60B <mess2>.120B
+ ギルド告知
+ guild announcement.
+S 0170 <TargetAccID>.l <sourceAccID>.l <myCharactorID>.l
+ 同盟要請勧誘
+ invite the guild to be alliance.
+R 0171 <SorceAccID>.l <guild name>.24B
+ 同盟要請勧誘された
+ invited to be a alliance.
+S 0172 <SorceAccID>.l <type>.l
+ 同盟要請返信
+ response for invitiation to be alliance.
+ type=0 拒否する
+ deny.
+ type=1 許諾する
+ OK.
+R 0173 <type>.B
+ type = 0 すでに同盟関係
+ the guild is already alliance.
+ type = 1 同盟拒否された
+ denied to be alliance.
+ type = 2 同盟成功
+ success to invite to be alliance.
+R 0177 <len>.w <index>.w*
+ 鑑定可能アイテムリスト
+ list of items that need to be judge( i mean unkown items.)
+S 0178 <index>.w
+ アイテム鑑定
+ judge item.
+R 0179 <index>.w <fail>.B
+ アイテム鑑定結果。fail=00で成功。fail=01ってあるのか?
+ response to judging item. fail=00 is success. is there fail=01?
+S 017A <index>.w
+ カードWクリック
+ card is double clicked.
+R 017B <len>.w {<index>.w}*
+ カード挿入できるアイテムIndex番号
+ item index number for items that can be inserted card.
+S 017C <SrcIndex>.w <DescIndex>.w
+ Src をDescに突っ込む
+ insert Src to Desc.
+R 017D <DescIndex>.w <SrcIndex>.w <fail>.b
+ Src をDescに突っ込み<fail> 0=成功 1=失敗?
+ response to insert Src to Desc. fail=0 is success, fail=01 is fail?
+S 017e <len>.w <message>.?B
+ ギルド内メッセージ発言
+ send speach for guild members.
+R 017f <len>.w <message>.?B
+ ギルド内メッセージ受信
+ receive guild message.
+R 0182 <accID>.l <charactorID>.l <hair type>.w <hair color>.w <sex?>.w <job>.w <lvl?>.w <experience?>.l <online>.l <Position>.l ?.50B <nick>.24B
+
+R 0187 <account ID>.l
+ alive信号?
+ alive signal?
+R 0188 <fail?>.w <index>.w <val>.w
+ 武器精錬。結果+val武器に
+ weapon refiling. result+val to weapon
+R 0189 ?.w
+ 謎。テレポ失敗?
+ unknown. fail to teleport?
+S 018a ?.w
+ ゲーム終了
+ game quited.
+R 018b <fail>.w
+ ゲーム終了/キャラセレ応答。fail=0成功。fail=1失敗?
+ game quited/character select sever response. fail=0 is success, fail=1 is fail?
+R 018C <MonsID>.w <class>.w <size>.w <HP>.w <?>.w <deffence>.w <kind of monster>.w <magic deffence>.w <attribute>.w <anti-attribute?>.9b
+ wizの敵のセンス結果
+ response to sense skill by wizard.
+ 0 小型
+ small
+ 1 中型
+ middle
+ 2 大型
+ big
+R 0191 <ID>.l <message>.80B
+ トーキーボックスのメッセージ
+ message of talky box.
+S 0193 <ID>.l
+ ギルドメンバ名前引き?
+ name search for guild member?
+R 0194 <ID>.l <nick>.24B
+ ギルドメンバ名前引き応答?
+ response to name search for guild member?
+R 0195 <ID>.l <nick>.24B <party name>.24B <guild name>.24B <class name>.24B
+ ギルド所属PCの場合の0094返答
+ response to packet number 0094 that if the player joined guild.
+R 0196 <type>.w <ID>.l
+ 増強系スキル使用時のメッセージ色々。IDはtargetと思われるが自分相手のみしか来ない?
+ various message of skill that effect status. ID must be target, but only m ID and other's ID are sent?
+ type=00 2HQ付与「攻撃速度が増加しました。」
+ 2HQ casted. "attack speed insreased."
+ type=01 2HQ解除「攻撃速度が減少しました。」
+ 2HQ ended. "attack speed decreased."
+ type=02 IMPOSITIO付与「武器の攻撃力が増加しました。」
+ IMPOSITIO casted. "power of the weapon increased."
+ type=03 IMPOSITIO解除「武器の攻撃力が減少しました。」
+ IMPOSITIO ened. "power of the weapon decreased."
+ type=04 「スキル使用ディレイが減少しました。」
+ "casting delay become short"
+ type=05 「スキル使用ディレイが元に戻りました。」
+ "casting delay return to defailt"
+ type=06 「武器に毒属性が付与されました。」
+ "attribute of poison is given to the weapon"
+ type=07 ASPERSIO付与「武器に聖属性が付与されました。」
+ ASPERSIO casted. "attribute of holly is given to the weapon"
+ type=08 ASPERSIO解除「武器の属性が元に戻りました。」
+ ASPERSIO ended. "attribute of weapon return to default"
+ type=09 「防具に聖属性が付与されました。」
+ "armor got holly attribute"
+ type=0a 「防具の属性が元に戻りました。」
+ "armor's attribute return to default"
+ type=0b KYRIE付与「バリア状態になりました。」
+ KYRIE casted. "barrier"
+ type=0c KYRIE解除「バリア状態が解除されました。」
+ KYRIE ended. "barrier end"
+ type=0d 「ウェポンパーフェクションモードになりました。」
+ "became weapon ferfection mode"
+ type=0e 「ウェポンパーフェクションモードが解除されました。」
+ "end weapon perfection mode"
+ type=0f 「オーバートラストモードになりました。」
+ "became over trust mode"
+ type=10 「オーバートラストモードが解除されました。」
+ "end over trust mode"
+ type=11 「マキシマイズパワーモードになりました。」
+ "became maximize power mode"
+ type=12 「マキシマイズパワーモードが解除されました。」
+ "end maximize power mode"
+S 0197 <type>.w
+ type=0 /resetstate
+ type=1 /resetskill
+ 効能は無し?
+ no effect?
+R 019b <ID>.l <type>.l
+ 他人のlvupや武器精錬等の表示?
+ display other's level up effect or weapon refiling?
+ type=0 base lvup?
+ type=1 job lvup?
+ type=3 武器精錬
+ weapon refiling
+R 0199 <type>.w
+ type=1 pvpモード開始?
+ start pvp mode?
+R 019a <ID>.l <rank>.l <num>.l
+ pvp順位 rank/num
+ pvp rank rank/num
+R 019b <ID>.l <type>.l
+ 他人のlvupや武器精錬等の表示?
+ type=0 base lvup?
+ type=1 job lvup?
+ type=2 武器精錬失敗
+ type=3 武器精錬成功
+
+R 019d <?>.4B
+ GMコマンド/hide
+
+S 00CC <ID>.l
+ GM用右クリックメニュー「(name)使用者強制終了」使用
+ use special right click menu for GM "(name) force to quit"
+
+S 0149 <ID>.l <type>.B <time>.w
+ GM用右クリックメニュー「チャット禁止時間を下げる(解ける)」使用 → type=00
+ use special right click menu for GM "decrease prohibited time to create chat room". type=00
+ GM用右クリックメニュー「チャット禁止時間を上げる(掛ける)」使用 → type=01
+ use special right click menu for GM "increase prohibited time to create chat room". type=01
+ timeは分単位です(確か
+ unit is minute (maybe
+
+R 019e
+ 捕獲モンスター決め
+S 019f <ID>.l
+ 捕獲モンスター指定
+R 01a0 <fail>.B
+ 捕獲判定
+ fail=01で成功、00で失敗
+S 01a1 <param>.1B
+ <param>
+ 0x00:ペット状態表示
+ 0x01:餌を与える
+ 0x02:パフォーマンス
+ 0x03:卵に戻す
+ 0x04:アクセサリ解除
+R 01a2 <pet name>.24B <name flag>.B <lv>.w <hungry>.w <friendly>.w <accessory>.w
+ ペットの状態
+ name flag:00=名前未設定 01=名前設定済み(変更不可)
+ lv=ペットのレベル、hungry=満腹度(0~100)、friendly=親密度(初期値250?)、accessory=アクセサリのItemID
+R 01a3 <fail>.B <itemID>.w
+ <fail>
+ 0x00:餌やり失敗
+ 0x01:餌やり成功
+R 01a4 <type>.B <ID>.l <val>.l
+ ペット関連通知
+ type=00,val=00 ペット孵化時に送られてくる。ペット認識用?
+ type=01 親密度変化
+ type=02 満腹度変化
+ type=03 アクセサリ変化(0で未装備)
+ type=04 パフォーマンス 確認されたval=1~3
+ (4はスペシャルパフォーマンス?)
+ type=05 ?確認されたval=0x14
+S 01a5 <pet name>.24B
+ ペットの名前決め
+R 01a6 <len>.w <index>.w*
+ ペットの卵リスト
+S 01a7 <index>.w
+ ペットの卵リストが選択された
+S 01a9 <emotion>.l
+ ペットエモーション送信
+R 01aa <ID>.l <emotion>.l
+ ペットエモーション受信
+ <emotion>
+ 33以下のとき:エモーション
+ 34以上のとき:発言テーブル?
+R 01ac <object id>.l
+ アンクルの発動(≠設置)時のみ毎回出現(機能は謎)
+R 01ad <len>.l <item>.w
+ 矢作りの作成可能ITEM表受信
+S 01ae <itemID>.w
+ 矢作りで使う材料送信
+S 01af <type>.w
+ チェンジカート(カート選択)
+ type=1 ノーマルカート
+R 01b0 <monster id>.l <?>.b <new monster code>.l
+ 油のクラスチェンジ
+ <new monster code>はチェンジ後のコード(1001〜)をdwordで
+S 01b2 <len>.w <message>.80B <flag>.B {<index>.w <amount>.w <value>.l}.8B*
+ 露店開設
+ flag : 0=キャンセル , 1=オープン
+R 01b3 <filename>.64B <type>.B
+ R 0145の上位互換
+R 01B6 <guildID>.l <guildLv>.l <connum>.l <定員>.l <Avl.lvl>.l <now_exp>.l <next_exp>.l <上納ポイント>.l <性向F-V>.l <性向R-W>.l <members>.l <guild name>.24B <guild master>.24B <agit?>.20B
+ ギルド情報
+R 01b9 <ID>.I
+ 被ダメ等によるIDの詠唱中断
+
+R 01c0
+ Some request for some status. Signature of sakexes later than 628. Used to send friends list.
+ Probably can be used to tell the player that his sakexe is not the latest version.
+
+R 01c4 <index>.w <amount>.l <itemID>.w <item data>.12B
+ カプラ倉庫アイテム
+R 01c8 <index>.w <item ID>.w <ID>.l <amount left>.w <type>.B
+ アイテム使用応答。(00a8の上位バーション?)
+ type=00の場合使用失敗? amountもゴミの模様
+ type=01の場合成功で、amountは使用後の残り個数
+R 01c9 <dst ID>.l <src ID>.l <X>.w <Y>.w <type>.B <fail>.B ?.81b
+ スキル効能地作成(011fの上位バーション?)
+ type 0x7e:SW、0x7f:火壁、0x80 ポタ開き中、0x81 ポタ開き直前
+ 0x82 聖体、0x83 サンク、0x84 マグヌス、0x85 ニューマ
+ 0x86 0x86 大魔法(SG/MS/LoV/GX)、0x87 ファイヤーピラ待機
+ 0x88 ファイヤーピラ爆発、0x87〜0x8B 表示無し、
+ 0x8c トーキーボックス(発動中)、0x8D アイスウォール
+ 0x8E クワグマイア、0x8f ブラストマイン、0x90 スキッド
+ 0x91 アンクル、0x92 ベノムダスト、0x93 ランドマイン
+ 0x94 ショックウェーブトラップ、0x95 サンドマン
+ 0x96 フラッシャー、0x97 フリージングトラップ
+ 0x98 クレイモアートラップ、0x99 トーキーボックス
+ 0x9A ボルケーノ、0x9B デリュージ、0x9C バイオレントゲイル
+ 0x9D ランドプロテクター、0x9E Zenyマーク、0x9F Zeny袋
+ 0xA0 回る緑の輪、0xA1 ピンクの音符 (二連符有り
+ 0xA2 真ん中に点のある光の玉、0xA3 ピンクのスプリング
+ 0xA4 深淵の中に、0xA5 回る青い輪、0xA6 不協和音
+ 0xA7 口笛、0xA8 夕陽のアサシンクロス、0xA9 ブラギの詩
+ 0xAA イドゥンの林檎、0xAB 自分勝手なダンス、0xAC ハミング
+ 0xAD 私を忘れないで…、0xAE サービスフォーユー
+ 0xAF ピンクのスプリング、0xB0 表示無し
+ 0xB0 グラフィティ,
+ 0xB1 デモンストレーション、0xB2〜0xBF 表示無し
+ 0xB2 ピンクのワープポータル風
+ 0xB3 小さな十字架がふよふよ
+ 0xB4 バジリカ、0xB5 エフェクトなし?
+ 0xB6 黒い×が立体的に浮かび上がる
+ 0xB7 クモの巣、0xB8〜 エフェクトなし?
+
+ 他情報求む
+ ?.81bは謎。
+R 01cd (<sid>.l)x7
+ オートスペル選択肢受信
+ <sid>x7 には NB,CB,FB,LB,SS,FBL,FD の順でスキルコードがdwordで入る
+ まだ選択できないスキルの部分は <sid> = 0x00000000 が入る
+S 01ce <sid>.l
+ オートスペル選択肢送信
+R 01cf <crusader id>.l <target id>.l <?>.18b
+ 献身状態ターゲットON/OFF。献身が切れると <target id> が 0x00000000 になる
+
+R 01d0 <ID>.l <num>.w
+ <num> : 気功の数(非Lv)
+R 01d1 <monk id>.l <target monster id>.l <bool>.l
+ 白羽取り状態ON/OFF。<bool> は白刃取り成立時に 0x00000001 解除時に 0x00000000 が来る
+R 01d2 <id>.l <delay>.l
+ モンクのコンボディレイ(msec)
+ 三段・連打は基本ディレイ1000(+300)、猛龍は基本ディレイ700(+300)
+R 01d4 <ID>.l
+ 文字列入力窓表示(IDはNPCのIDが入る)
+S 01d5 <len>.w <ID>.l <input>.?B 00
+ 文字列入力内容送信(IDはNPCのIDが入る)
+R 01d7 <ID>.l <equip point>.b <item id1>.w <item id2>.w
+ 装備グラフィック <equip point> は 02手と09足のみ確認。id2は左手
+R 01d8 <ID>.l <speed>.w <opt1>.w <opt2>.w <option>.w <class>.w <hair>.w <item id1>.w <item id2>.w <head option bottom>.w <head option top>.w <head option mid>.w <hair color>.w ?.w <head dir>.w <guild>.l <emblem>.l <manner>.w <karma>.B <sex>.B <X_Y_dir>.3B ?.B ?.B <sit>.B <Lv>.B ?.B
+ マップロード時&移動時用、向き付き用キャラ情報?(0078の上位バージョン)
+R 01d9 <ID>.l <speed>.w <opt1>.w <opt2>.w <option>.w <class>.w <hair>.w <item id1>.w <item id2>.w.<head option bottom>.w <head option top>.w <head option mid>.w <hair color>.w ?.w <head dir>.w <guild>.l <emblem>.l <manner>.w <karma>.B <sex>.B <X_Y_dir>.3B ?.B ?.B <Lv>.B ?.B
+ テレポ等の表示範囲内沸きキャラ用、向き付き無しキャラ情報?(0079の上位バージョン)
+R 01da <ID>.l <speed>.w <opt1>.w <opt2>.w <option>.w <class>.w <hair>.<item id1>.w <item id2>.w <head option bottom>.w <server tick>.l <head option top>.w <head option mid>.w <hair color>.w ?.w <head dir>.w <guild>.l <emblem>.l <manner>.w <karma>.B <sex>.B <X_Y_X_Y>.5B ?.B ?.B ?.B <Lv>.B ?.B
+ 表示範囲内キャラ移動情報(007bの上位バージョン)
+S 01db
+ 暗号化key要求
+R 01dc <len>.w <key>.?B
+ 暗号化key送付
+S 01dd <version>.l <account name>.24B <md5 binary>.16B <version2>.1B
+ id&暗号化済みpass送信
+ 順にクライアントが01dbを送る、
+ 鯖が01dcでkeyを返す、
+ クライアントが"<key><password>"についてmd5計算し
+ <md5 binary>の所を埋めて01ddを送る。
+ <passwordencrypt2>の時は
+ "<key><password>"に対してmd5計算としている所を
+ "<password><key>"と変更する
+R 01de <skill ID>.w <src ID>.l <dst ID>.l <server tick>.l <src speed>.l <dst speed>.l <param1>.l <param2>.w <param3>.w <type>.B
+ 攻撃系スキルエフェクト@(0114の上位バーション?)
+ type=04 火壁で観測 type=06とほぼ同じ?
+ type=05 NB/FBlの分散したダメージ用?
+ type=06 単発もの? param1はダメージ合計、param2はlevel、param3は1固定と予想
+ type=07 ダメージ表示無し?
+ type=08 連打もの? param1はダメージ合計、param2はlevel、param3は分割数と予想
+ type=09 ダメージモーションなしにダメージだけ表示される物(インデュア)と思ったのだがダメージモーションが出る物。(機能は謎)
+S 01df <ID>.|
+ GM右クリックによるIDのチャット禁止回数参照?
+R 01e1 <ID>.l <num>.w
+ <num> : 気功の数(非Lv) 一度表示したら後どんなnumが来ても無視される。
+R 01e6 <partner name>.24B
+ 結婚スキルあなたに逢いたい使用時の叫び声
+S 01e7
+ スパノビで/doridoriしたら飛んでくる。SPR回復量2倍フラグを立てるパケット
+S 01e8 <party name>.24B <item1>B <item2>B
+ <item1>アイテム収集方法。0で個人別、1でパーティ公有
+ <item2>アイテム分配方法。0で個人別、1でパーティに均等分配
+ (00f9の上位バーション)
+R 01ea <ID>.l
+ 結婚エフェクト(音楽、紙吹雪)
+ IDは新婦のものが入る?
+S 01ed
+ スパノビが爆裂波動になるフラグを立てるパケット
+R 01ee <len>.w {<index>.w <item ID>.w <type>.B <identify flag>.B <amount>.w ?.2B <card>.4w}.18B*
+ 所有消耗品&収集品リスト
+ 矢の場合は?.2Bが0x8000になる
+ 00a3から変更
+R 01ef <len>.w {<index>.w <item ID>.w <type>.B <identify flag>.B <amount>.w ?.2B <card>.4w}.18B*
+ カート内アイテム。消耗品/収集品
+ 0123から変更
+R 01f0 <len>.w {<index>.w <item ID>.w <type>.B <identify flag>.B <amount>.w ?.2B <card>.4w}.18B*
+ カプラさんに預けてある消耗品&収集品リスト
+ 00a5から変更
+R 01f4 <name>.24B <trade id?>.L <LV>.w
+ 先方から取引要請
+ 00e5から変更
+R 01f5 <result>.B <trade id?>.L <LV>.w
+ こちらからの取引要請に対する反応
+ 00e7から変更
+S 0200 <login name>.24B
+ ragexeに/accountオプションをつけて起動するとログイン要求に付加されるパケット
+
+R 0201 ?.1B<Flag?>.1B (?.8B <Character Name>.24B)x20
+ Flag seems to need to be 1 to function.
+ 8 unknown bytes and 24 bytes for name need to be repeated for each friend.
+
+S 0202 <Character name>.24B
+ Character name to add to friend list (for server-side friend list enabled clients)
+
+R 0203 <Account ID>.3B <Unknown>.3B
+ Account ID = zero terminated 3-word hex representation of account ID. Little endian.
+ Unknown = observed dependency on online/offline status
+
+S 0204 <?>.16B
+ ログイン要求に付加されるパケット。16バイトは固定?
+S 020B <?>.17B
+ キャラクタサーバ接続要求0065に付加されるパケット。1+0204の16バイトで17バイト?
+
+
+パケット長の追加。019e〜01aaが増えてるので、0190〜を切り抜き
+added packet lenth. 019e-01aa is a new, so here is a packet length table from 0190.
+
+ 90, 86, 24, 6, 30,102, 8, 4, 8, 4, 14, 10, -1, 6, 2, 6,
+ 3, 3, 35, 5, 11, 26, -1, 4, 4, 6, 10
diff --git a/doc/script_ref.txt b/doc/script_ref.txt new file mode 100644 index 000000000..63fea4ec6 --- /dev/null +++ b/doc/script_ref.txt @@ -0,0 +1,1424 @@ +AthenaNPCScript
+
+- Table of contents
+ 0. Introduction
+ 1. Definition of NPC
+ 2. Explanation of Script, and Fundamental Rule
+ 3. Imperative Sentence, Function, and Constant Label
+ 4. Error Message
+ 5. Postscript
+
+0. Introduction
+ The function and form which are contained in this text refer to npc_sample.txt contained in the newest snapshot, and are described.
+ The convenience of the editor which shows this text is considered, <tab> is written and <n> etc. is written. [ a tab character ] [ arbitrary values ].
+ Although it is a coordinate system, please make a lower figure reference.
+ The increase in ?Y
+ ( 0,200)--(200,200)
+ | |
+ | |
+ | |
+ | |
+ | |
+ ( 0, 0)--(200, 0)-> the increase in X
+
+1. Definition of NPC
+ if it is below an athena directory -- anywhere -- being good (if it being able to do below athena/npc) -- please create txt for the time being
+ The NPC describes first what is shown (a way of speaking called NPC depending on the case is unsuitable).
+
+ * Warp point : perform movement between MAP.
+ <gatname>,<x>,<y><tab>warp<tab><displayname><tab><dx>,<dy>,<destination_gatname>,<destination_x>,<destination_y>
+
+ gatname The MAP file name on which a warp point is put is specified. Please do not forget gat.
+ x The horizontal coordinates on which a warp point is put are specified.
+ y The vertical coordinates on which a warp point is put are specified.
+ displayname It is a warp point discernment child. You may overlap. It uses by debugging.
+ dx It is the horizontal effect range of a warp point.
+ dy It is the vertical effect range of a warp point. Probably I do not write a circle but think that it is a region.
+ Example of dx and dy (- is x and y) :
+ 0,0 1,0 2,2
+ *@* ***** *******
+ *** ***** *******
+ *@* ***** *******
+ *@ *******
+ *@ *******
+ *@ *******
+ *@ *******
+ *@
+ * I hear that and it will leap if the cell of - is stepped on.
+ *@
+ destination_gatname It is a warp place. . Even if there is gat and there is not, don't care about it.
+ destination_x They are warp place horizontal coordinates.
+ destination_y They are warp place vertical coordinates.
+
+ Notes :
+ A warp point displays only that plurality is described to be at the end when located on this position.
+ When the coordinates of a warp place are move prohibition cells, it leaps to somewhere in the MAP.
+
+ * Monster : manage the spawning(aka apperance in japanese.) of a monster.
+ <gatname>,<x>,<y>,<xs>,<ys><tab>monster<tab><displayname><tab><npcid>,<number>,<spawn_delay1>,<spawn_delay2>[,<event>]
+
+ gatname The appearing MAP file name is specified.
+ x The appearing horizontal coordinates are specified. Random at 0.
+ y The appearing vertical coordinates are specified. Random at 0.
+ xs The appearing horizontal range is specified.
+ ys The appearing vertical range is specified.
+ Example of xs and ys (- is x and y) :
+ 0,0 2,1
+ *@* *****
+ *@ *****
+ *@ *****
+ *@
+ * And a monster appears from the cell of -.
+
+ displayname It is the display name of the appearing monster.
+ npcid Please refer to mob_db.txt. id of the monster made to appear is specified.
+ number It is the number of the maximum appearances in the MAP and the appearance range.
+ spawn_delay1 After appearing, if specified the amount of time in milliseconds before it re-appears.
+ spawn_delay2 After dying, if specified the amount of time in milliseconds before it re-appears.
+ event The specified event is generated. An abbreviation is possible.
+
+ Notes:
+ spawn_delay1 and spawn_delay2 judge and give priority to whether it re-appears having been based the latest [ direction ] on which as a result.
+
+ * Store : sell an item.
+ <gatname>,<x>,<y>,<direction><tab>shop<tab><displayname><tab><npcid>,<item_id>:<price>,<item_id>:<price>,<item_id>:<price>
+
+ gatname The MAP file name to arrange is specified.
+ x The horizontal coordinates to arrange are specified.
+ y The vertical coordinates to arrange are specified.
+ direction Direction is specified.
+ Details of direction :
+ 7 0 1
+ 6 2
+ 5 4 3
+
+ displayname The display name of the store to arrange is specified.
+ npcid The display sprite ID of the store to arrange is specified.
+ item_id The item ID put on the store to arrange is specified. Please refer to item_db.
+ price The price of the item specified by item_id is set up.
+ each <item_id>:<price> is divided by a comma (,), and more than one can be specified.
+ example:
+ item_id:price,item_id2,price2
+
+ * Script : create NPC.
+ <gatname>,<x>,<y>,<direction><tab>script<tab><displayname><tab><npcid>,<xs>,<ys>,{ <script> ... }
+
+ gatname The MAP file name to arrange is specified.
+ x The horizontal coordinates to arrange are specified.
+ y The vertical coordinates to arrange are specified.
+ direction Direction is specified.
+ displayname The display name of NPC to arrange is specified. It becomes an event name when npcid is -1.
+ When making said display name another operation event, it can be described as a display name::discernment child.
+ npcid The display sprite ID of NPC to arrange is specified. If -1 is specified, it will become an event in map.
+ xs The horizontal range which performs a script automatically is specified.
+ ys The vertical range which performs a script automatically is specified. It is the same as a warp.
+
+ Explanation about the inside of {} (inside parenthesis).
+ Collecting by the party cannot recommend you. If it can do
+ gatname etc,
+ {
+ //comment
+ script;
+ label:
+ script;
+ }
+ Let's write by the said touch. Comment out is //and comment area is /* and */.
+ The ? which does not leave; (semicolon) in the script ending.
+
+ 「<gatname>,<x>,<y>,<direction><tab>」の部分を、「-<tab>」とすることで、
+ マップサーバー内には存在していても、実際のマップには配置されないNPCを作成できます。
+ これは後述のデュプリケートスクリプトでコピー元として使用します。
+
+ *デュプリケートスクリプト:既存のNPC(のスクリプト)をコピーします。
+ <gatname>,<x>,<y>,<direction><tab>duplicate(<source>)<tab><displayname><tab><npcid>,<xs><ys>
+
+ source以外のパラメータは通常のスクリプトと同じです。
+ sourceにはコピー元となるNPCの識別名を入力します。
+
+ コピー元のNPCがマップ上に配置されている場合、同じマップである必要があります。
+ マップ上に配置されていない場合は、どのマップへもコピー可能です。
+
+ *ユーザー定義関数スクリプト:スクリプトから呼び出されるユーザー定義関数を作成します。
+ function<tab>script<tab><name><tab>{ <script> ... }
+
+ callfunc命令で呼び出すことの出来る関数を作成します。
+ 関数の最後には必ずreturn命令を入れてください。
+
+ *マップフラグ:MAPのルールを管理します。
+ <gatname><tab>mapflag<tab><const>
+
+ gatname ルールを設定するMAPファイル名を指定します。
+ const ルールの内容を指定します。
+
+ constの一覧。
+ nosave<tab><gatname>,<x>,<y>
+ リログインした際<gatname>の座標<x>,<y>に移動します。
+ nomemo<tab>dummy
+ メモを取ることを禁止します。
+ notereport<tab>dummy
+ SavePointまたはRandomを指定したwarp文、ワープポータル、テレポートを禁止します。
+ nobranch<tab>dummy
+ 古木の枝の使用を禁止します。
+ pvp<tab>dummy
+ PVP可能MAPになります。
+ nopenalty<tab>dummy
+ デスペナルティ無しになります。
+ pvp_noparty<tab>dummy
+ PVPにおいて、同パーティー攻撃不可になります。
+ pvp_noguild<tab>dummy
+ PVPにおいて、同ギルド攻撃不可になります。
+ gvg<tab>dummy
+ シーズモードになります。
+ gvg_noparty<tab>dummy
+ シーズモードにおいて、同パーティー攻撃不可になります。
+
+2.スクリプトの説明と基本的な規則
+ *数字
+ 符号付の整数と16進数表記整数を使用することができます。
+ 符合付整数は半角数字で123456等と記述します。
+ 16進数表記整数は0x12等0xを付けて記述します。
+
+ *文字列
+ "(ダブルクォーテーション)で囲んだ文字は文字列として評価されます。
+ "(ダブルクォーテーション)記号を扱いたい場合は\"と記述します。
+ \記号を扱いたい場合は\\と記述します。
+ なお表示関係の物に関しては^000000等の色変更を使うことができます。
+ 変数 + "文字列"といった文字列結合もできます。
+
+ *単項演算子
+ 以下の数値専用の単項演算子が用意されています。
+ - 符号逆転(2の補数)
+ ~ ビット論理否定(1の補数)
+ ! 論理否定
+
+ *2項演算子
+ 以下2項演算子は数値と文字列で動作が異なります。
+ + 加算/結合
+ 数値どうしの場合は加算します。
+ それ以外の場合は文字列とみなして結合します。
+
+ 以下の2項演算子は数値専用です。
+ - 減算
+ * 乗算
+ / 除算
+ % 剰余
+ & ビット論理積
+ | ビット論理和
+ ^ ビット排他的論理和
+ && 論理積
+ || 論理和
+
+ 以下の2項演算子は数値どうし、または文字列どうしの比較を行います。
+ これらの関係演算子は関係が成り立つと1、成り立たないと0を返します。
+ == 等しい
+ != 等しくない
+ > より大きい
+ >= より大きいか等しい(以上)
+ < より小さい(未満)
+ <= より小さいか等しい(以下)
+
+ *変数
+ 半角英数字を使用することができます。
+ 変数のスコープとライフタイムはプレフィックスにより指定します。
+ 小文字のエルはプレフィックスとして扱われるので注意してください。
+ (小文字のエルは今後の動作を保障されないので使用しないで下さい)
+
+ プレフィックス スコープ ライフタイム
+ (なし) キャラクター 永続的
+ @ キャラクター 一時的
+ l 同上 同上(推奨されない)
+ $ マップサーバー 永続的
+ $@ マップサーバー 一時的
+ # アカウント 永続的
+ ## アカウント(全ワールド) 永続的
+
+ つまり、普通の一時的な変数は@, 保存する必要のある変数は
+ プレフィックスなし、全てのキャラクターで共有すべき変数は $、
+ 同一アカウントで共有すべき変数は # や ## を使用することになります。
+
+ また、変数の型はポストフィックスにより指定します。
+ ただし、文字列型はキャラクター一時変数、および、
+ 永続的/一時的マップサーバー変数でのみ使用できます。
+ (プレフィックス @、$、$@ )
+
+ ポストフィックス 型
+ (なし) 整数
+ $ 文字列
+
+ <例> @hoge$ 文字列型一時的キャラクター変数
+ hoge 数値型永続的キャラクター変数
+ $hoge 数値型永続的全キャラクター共有変数
+
+ 一時的でない変数は多用すべきではありません。
+ 保存する必要のないものは極力一時変数で済ませるべきです。
+ 保存する必要があるのかないのかはよく考慮してください。
+ 特に永続的なキャラクター/アカウント変数は、数に制限があります。
+ 使用が終わって二度と使用することがないとわかっている変数は
+ 値を0に設定することで削除することが出来ます。
+
+ *配列変数
+ 変数名の後に括弧 [ ] で括った式を指定することで配列変数になります。
+ 変数名と"["の間に空白文字を入れることはできません。
+
+ <例> hoge[10] fuga[ @temp ]
+
+ 配列の要素番号は0〜127が指定できますが、番号0は同名の変数と
+ 値を共有します。たとえば、hoge[0] と hoge は同じ変数です。
+
+ 配列変数は一時的キャラクター変数、一時的/永続的マップサーバー変数で使用できます。
+ 変数の型は数値、文字列両方とも利用できます。
+
+ *ラベル
+ 半角英数およびアンダーバーが使用できます。
+ 変数や命令などと区別するため L_ を先頭につけることが推奨されます。
+ L_hoge: といった風に使用します。
+ if文やmenu文のジャンプ先に指定されます。
+
+ *定数
+ athenaはdb/const.txtに準拠した定数を提供します。
+ スクリプト内でのみ使用可能です。
+
+ *埋め込み変数
+ 話かけたプレイヤーのステータスなどを参照できます。
+ db/const.txtに記述されています。
+ スクリプト内でのみ使用可能です。
+ なお、一部を除いて値の代入はできません。
+
+ *式
+ 命令文の引数が数値だった場合、そこで利用することができます。
+ スペースは要らないようですがあった方が見易いです。
+ 比較演算子及び論理演算子は値が真であったとき数値の1、偽であったとき0を返します。
+
+ *イベント
+ 形を持たないスクリプトです。
+ タイムアタックなどの作成に使います。
+ イベント名を記述する部分では、イベント名::ラベル名とすることでそのイベントの指定したラベルから
+ スクリプトを開始させることができます。
+
+ *命令構文
+ 引数は半角スペースを空けて記述してください。
+
+3.命令文及び関数及び定数ラベル
+ *命令文
+ mes命令
+ mes <string>;
+
+ string 文字列
+
+ <string>に記述された文字列をメッセージウィンドウに出力します。
+
+ next命令
+ next;
+
+ メッセージウィンドウにnextボタンを表示し、待機します。
+
+ close命令
+ close;
+
+ メッセージウィンドウにcloseボタンを表示し、スクリプトを終了します。
+
+ menu命令
+ menu <string1>,<label1>[,<stringN>,<labelN>...];
+
+ stringN 文字列
+ labelN ラベル
+
+ メニューを表示します。<stringN>に記述された文字列を選択すると<labelN>からスクリプトを開始します。
+ また、選ばれたラベルの番号は変数@menuに代入されます。
+ (l15にも代入されますが、こちらは今後動作が保障されないのでl15は使用しないで下さい)
+
+ goto命令
+ goto <label>;
+
+ label ラベル
+
+ <label>からスクリプトを開始します。
+
+ cutin命令
+ cutin <filename>,<position>;
+
+ filename 文字列
+ position 数値
+
+ カプラ職員などのカットインを表示します。<filename>は表示したいファイル名、<position>は表示位置を指定します。
+ position:0,左下、1,中央下、2,右下、255,カットイン消去
+
+ jobchange命令
+ jobchange <job>[, <upper>];
+
+ job 数値
+ upper 数値
+
+ 職業を変更します。<job>はdb/const.txtを参照してください。
+ <upper>は0=通常,1=転生,2=養子,-1 or 無し=現在の<upper>になります。
+ jobLvは自動で1になります。
+ バードとダンサーには注意してください。
+
+ input命令
+ input [<variable>];
+
+ variable 変数、省略可
+
+ 入力ウィンドウを開き、入力データを<variable>に代入します。
+ 変数の型が文字列型のときは文字列入力ウィンドウ、整数型のときは数値入力ウィンドウになります。
+ <variable>を省略した場合には数値入力ウィンドウを出し、データは変数l14 (小文字のエル+14)に代入されます。
+ (l14は今後の動作が保障されないので、引数は省略しないで下さい)
+
+ warp命令
+ warp <gatname>,<x>,<y>;
+
+ gatname 文字列
+ x,y 数値
+
+ <gatname>に指定されたMAPの座標<x>,<y>にワープします。
+ <gatname>をSavePointにした場合、セーブポイントに移動します。
+ Randomにした場合、そのMAP内のどこかに移動します。即ち<x><y>は無視。
+
+ setlook命令
+ setlook <n1>,<n2>;
+
+ n1,n2 数値
+
+ 外見を変更します。<n1>は部品を、<n2>は種類を指定します。
+ n1:1,髪型、2,武器、3,頭上段、4,頭中段、5,頭下段、6,髪色、7,服色、8,盾
+ 装備品は変更されません。アサシン男とローグ男に関しては服の色がありません。
+
+
+ set命令
+ set <variable>,<n>;
+
+ variable 変数
+ n 数値/文字列
+
+ <variable>に<n>を代入します。
+ 文字列型を使用するときは変数名にポストフィックスを忘れないで下さい。
+
+ setarray命令
+ setarray <variable>[,<n0>[,<n1>…]];
+
+ variable 変数
+ nx 数値/文字列
+
+ 配列<variable>に値<n0>,<n1>,…のリストを代入します。
+ <variable>は配列名を指定すると最初から、要素番号も指定すれば途中から代入できます。
+ <例> setarray @hoge[2],16,24,32; @hogeの要素2から4までを16,24,32にする。
+
+ cleararray命令
+ cleararray <variable>,<n>,<count>;
+
+ variable 変数
+ n 数値/文字列
+ count 数値
+
+ 配列<variable>に値<n>を<count>個分代入します。
+ <variable>は配列名を指定すると最初から、要素番号も指定すれば途中から代入できます。
+ <例> cleararray @hoge[3],0,6; @hogeの要素3から8までを0にセットする
+
+ copyarray命令
+ copyarray <var1>,<var2>,<n>;
+
+ <var1>,<var2> 変数
+ n 個数
+
+ 配列<var1>に配列<var2>の要素<n>個をコピーします。
+ <var1>,<var2>は配列名を指定すると最初から、要素番号も指定すれば途中からコピーできます。
+
+ deletearray命令
+
+ deletearray <variable>,<n>;
+
+ variable 変数
+ n 数値
+
+ 配列<variable>から<n>個の要素を削除し、後ろの要素を前に詰める
+ <variable>は配列名を指定すると最初から、要素番号も指定すれば途中から削除できます。
+
+ if命令
+ if (<cond>) goto <label>;
+
+ cond 数値
+ label ラベル
+
+ <cond>が0以外の場合、<label>からスクリプトを開始します。
+
+ getitem命令
+ getitem <itemid>,<num>;
+
+ itemid 数値または文字列
+ num 数値
+
+ <itemid>に指定されたアイテムIDを持つアイテムを<num>個分入手します。
+ <itemid>が文字列の場合、その名前(name,jname)を持つアイテムのIDを使用します。
+ ただし、アイテム名はitem_db.txtなどに依存するため、テスト目的以外では使用すべきではありません。
+
+ getitem2命令
+ getitem <itemid>,<num>,<identify>,<refine>,<attribute>,<card1>,
+ <card2>,<card3>,<card4>
+
+ itemid 数値または文字列
+ num,identify,refine,attribute,card1,card2,card3,card4 数値
+
+ <itemid>に指定されたアイテムIDを持つアイテムを<num>個分入手します。
+ <identify> 鑑定状態(0で未鑑定、1で鑑定)
+ <refine> 精錬値
+ <attribute> アイテムの状態
+ <card1> 差さているカード、製造武器なら255で装備以外のアイテムでキャラの名前を入れたい時は254
+ <card2> 差さているカード、製造武器なら属性と星のかけらの数を設定。星のかけらの数(範囲:0~3)*5*256 + 属性(無:0、火:3、水:1、風:4、土:2)
+ <card3> 差さているカード、製造武器やキャラの名前が入るアイテムはキャラIDの下の2バイト
+ <card4> 差さているカード、製造武器やキャラの名前が入るアイテムはキャラIDの上の2バイト
+
+ <itemid>が文字列の場合、その名前(name,jname)を持つアイテムのIDを使用します。
+ ただし、アイテム名はitem_db.txtなどに依存するため、テスト目的以外では使用すべきではありません。
+
+ delitem命令
+ delitem <itemid>,<num>;
+
+ itemid_num 数値
+
+ <itemid>に指定されたアイテムIDを持つアイテムを<num>個分失います。
+
+ getexp命令
+ getexp <base_exp>,<job_exp>;
+
+ base_exp 数値
+ job_exp 数値
+
+ <base_exp>に指定された数だけBaseに経験値が入ります。
+ <job_exp>に指定された数だけJobに経験値が入ります。
+ マイナスの数字は適応されません。
+
+ makepet命令
+ makepet <petid>;
+
+ petid 数値
+
+ <petid>に指定されたアイテムIDを持つペットの卵を作成します。
+
+ viewpoint命令
+ viewpoint <type>,<x>,<y>,<id>,<color>;
+
+ type,x,y,id 数値
+ color 不明
+
+ 資料不足なので詳しい説明はできませんが、ミニMAPに点滅する点を表示、削除します。
+ type:1,表示、2,削除
+
+ heal命令
+ heal <hp>,<sp>;
+
+ hp,sp 数値
+
+ <hp>分HPを、<sp>分SPを回復します。
+
+ itemheal命令
+ itemheal <hp>,<sp>;
+
+ hp,sp 数値
+
+ <hp>分HPを、<sp>分SPを回復します。healとは違い回復するHPとSPの量にVIT(SPの場合INT)とスキルによる補正が付きます。
+
+ end命令
+ end;
+
+ スクリプトの実行を終了します。
+
+ setoption命令
+ setoption <string>;
+
+ string 文字列
+
+ 引用:
+ PCに以下で示す付属品(?)を付けます。
+ 0x0000 - 付属品削除
+ 0x0001 - ?
+ 0x0002 - ハイド(影付き)
+ 0x0004 - ??
+ 0x0008 - カート
+ 0x0010 - 鷹
+ 0x0020 - ペコペコ(ナイト,クルセイダーの時のみ有効)
+ 0x0040 - ハイド(影無し)
+ 0x0080 - カート2
+ 0x0100 - カート3
+ 0x0200 - カート4
+ 0x0400 - カート5
+ 0x0800 - 頭がオーク(Sageのスキル、リバースオーキッシュがかかった状態になる)
+
+ 一端すべて消されてから付け直すので、複数指定したい場合には合計を指定してください。
+
+ savepoint命令
+ savepoint <gatname>,<x>,<y>;
+
+ gatname 文字列
+ x,y 数値
+
+ <gatname>の座標<x>,<y>をセーブポイントに設定します。
+
+ openstorage命令
+ openstorage;
+
+ 倉庫を開きます。
+
+ setcart命令
+ setcart;
+
+ カートを付けます。
+
+ successrefitem命令
+ successrefitem <n>;
+
+ n 数値
+
+ 精錬成功エフェクトを表示します。
+ n:1,頭装備、2,鎧、3,左手、4,右手、5,かけるもの、6,靴、7,アクセ1、8,アクセ2、9,頭中段、10,頭下段
+
+ failedrefitem命令
+ failedrefitem <n>;
+
+ n 数値
+
+ 精錬失敗エフェクトを表示します。
+ n:1,頭装備、2,鎧、3,左手、4,右手、5,かけるもの、6,靴、7,アクセ1、8,アクセ2、9,頭中段、10,頭下段
+
+ setfalcon命令
+ setfalcon;
+
+ 鷹を付けます。
+
+ setriding命令
+ setriding;
+
+ ペコペコに乗ります。
+
+ monster命令
+ monster <gatname>,<x>,<y>,<mobname>,<mobid>,<num>[,<event>];
+
+ gatname,mobname 文字列
+ x,y,mobid,num 数値
+ event 文字列、省略可
+
+ <gatname>の座標<x>,<y>に<mobname>を持つ<mobid>に指定されたIDを持つモンスターを<num>体出現させます。
+ <gatname>がthisの場合スクリプトを実行したプレイヤーがいるMAP、
+ <x><y>が-1の場合、スクリプトを実行したプレイヤーの座標、
+ <mobname>が--en--の場合英語名、--ja--の場合日本語名、<mobid>が-1の場合ランダム。
+ そのモンスターを倒したとき<event>を開始します。
+
+ announce命令
+ announce <string>,<flag>;
+
+ string 文字列
+ flag 数値
+
+ <string>をGMアナウンスで表示します。
+ <flag>は以下に示す通りです。
+ エリアフラグ
+ 0x00 すべてのMAPに送信
+ 0x01 同じMAP
+ 0x02 画面内
+ 0x03 自分のみ
+ 0x04 同じMAP鯖
+ 色フラグ
+ 0x00 黄色
+ 0x10 青色
+ 特殊フラグ
+ 0x00 特に無し
+ 0x08 イベント用
+
+ エリアフラグと色フラグと特殊フラグの合計を指定してください。
+
+ killmonster命令
+ killmonster <gatname>[,<event>];
+
+ gatname 文字列
+ event 文字列、省略可
+
+ <gatname>に存在するモンスターをすべて殺します。
+ <event>によって呼び出されたモンスターのみ殺すことも可能です。<event>をAllにするとそのマップにある一時的に召喚されたモンスターを全て殺します。
+
+ killmonsterall命令
+ killmonsterall <gatname>
+
+ gatname 文字列
+
+ <gatname>に存在するモンスターをすべて殺します。killmonsterとは違ってそのマップに始めから配置されていたモンスターまで全て殺すことができます。
+
+
+ addtimer命令
+ addtimer <ms>,<event>;
+
+ ms 数値
+ event 文字列
+
+ 現在のプレイヤーに、<ms>ミリ秒経過した後<event>を開始するタイマーを作成します。
+ このタイマーによって実行されるイベントは、このプレイヤーの情報にアクセスできます。
+ プレイヤーがログアウトするとタイマーは無効になるため注意してください。
+ アリーナマップなどで使用する場合はこれではなくNPCタイマーを使用してください。
+
+ deltimer命令
+ deltimer <event>;
+
+ event 文字列
+
+ 現在のプレイヤーの<event>を開始するタイマーを消去します。
+
+ addtimercount命令
+ addtimercount <event>,<ms>;
+
+ event 文字列
+ ms 数値
+
+ 現在のプレイヤーの<event>を開始するタイマーの開始までの時間を<ms>ミリ秒追加します。
+
+ initnpctimer命令
+ initnpctimer [<name>];
+
+ <name>で指定されたNPCが持つNPCタイマーの値を0にし、カウントを開始します。
+ nameを省略すると、命令を実行したNPCが対象になります。
+
+ このNPCタイマーはミリ秒単位でOnTimerXXXXというラベルイベントを実行します。
+ <例> OnTimer1000: <= 1秒後, OnTimer30000: <= 30秒後
+
+ stopnpctimer命令
+ stopnpctimer [<name>];
+
+ <name>で指定されたNPCが持つNPCタイマーのカウントを停止します。
+ nameを省略すると、命令を実行したNPCが対象になります。
+
+ startnpctimer命令
+ stopnpctimer [<name>];
+
+ <name>で指定されたNPCが持つNPCタイマーのカウントを再開します。
+ nameを省略すると、命令を実行したNPCが対象になります。
+ こちらはinitnpctimerと違い、カウントを0にリセットしません。
+ stopnpctimerとセットで使用します。
+
+ setnpctimer命令
+ setnpctimer <tick>[,<name>]
+
+ <name>で指定されたNPCが持つNPCタイマーのカウントを変更します。
+ nameを省略すると、命令を実行したNPCが対象になります。
+ getnpctimerを利用すれば、カウントを増減できます。
+
+ disablenpc命令
+ disablenpc <npcname>;
+
+ npcname 文字列
+
+ <npcname>を無効にします。
+
+ enablenpc命令
+ enablenpc <npcname>;
+
+ npcname 文字列
+
+ <npcname>を有効にします。
+
+ mapannounce命令
+ mapannounce <gatname>,<string>,<flag>;
+
+ gatname,string 文字列
+ flag 数値
+
+ <gatname>全体に<string>をGMアナウンスで表示します。
+ flag:0,黄色文字、16,青文字
+
+ areaannounce命令
+ areannounce <gatname>,<x0>,<y0>,<x1>,<y1>,<string>,<flag>;
+
+ gatname,string 文字列
+ x0,y0,x1,y1,flag 数値
+
+ <gatname>の<x0>,<y0>から<x1>,<y1>の範囲内に対し<string>をGMアナウンスで表示します。
+ flag:0,黄色文字、16,青文字
+
+ areawarp命令
+ areawarp <gatname>,<x0>,<y0>,<x1>,<y1>,<gatname2>,<x>,<y>;
+
+ gatname,gatname2 文字列
+ x0,y0,x1,y1,x,y 数値
+
+ <gatname>の<x0>,<y0>から<x1>,<y1>の範囲内にいるPCを<gatname2>の座標<x>,<y>に移動させます。
+
+ areamonster命令
+ areamonster <gatname>,<x0>,<y0>,<x1>,<y1>,<mobname>,<mobid>,<num>[,<event>];
+
+ gatname,mobname 文字列
+ x0,y0,x1,y1,mobid,num 数値
+ event 文字列、省略可
+
+ <gatname>の<x0>,<y0>から<x1>,<y1>の範囲内に<mobname>を持つ<mobid>に指定されたIDを持つモンスターを<num>体出現させます。
+ <gatname>がthisの場合スクリプト実行MAP、<x><y>が-1の場合ランダム座標、
+ <mobname>が--en--の場合英語名、--ja--の場合日本語名、<mobid>が-1の場合ランダム。
+ そのモンスターを倒したとき<event>を開始します。
+
+ percentheal命令
+ percentheal <hp>,<sp>;
+
+ hp,sp 数値
+
+ HPとSPを<hp>%、<sp>%分回復します。
+
+ resetstatus命令
+ resetstatus;
+
+ ステータスポイントをリセットします。
+
+ resetskill命令
+ resetskill;
+
+ スキルポイントをリセットします。
+
+ statusup命令
+ statusup <st>;
+
+ st 数値
+
+ <st>で指定された基本ステータス値を、ステータスポイントを消費して1上げる。
+ <st>は bStr, bVit, bInt, bAgi, bDex, bLuk で指定する。
+
+ statusup2命令
+ statusup2 <st>,<n>;
+
+ st,n 数値
+
+ <st>で指定された基本ステータス値を、ステータスポイントを消費せずに<n>上げる。
+ <st>は bStr, bVit, bInt, bAgi, bDex, bLuk で指定する。
+
+ skill命令
+ skill <skillid>,<skilllv>,<flag>;
+
+ skillid,skilllv,flag 数値
+
+ <skillid>に指定されたIDを持つLV<skilllv>スキルを習得します。
+ flag:0,恒久的なスキル取得(スキルツリーにない物は無効)、1,一時的(範囲は不明)な取得、
+ <skilllv>を0にするとこでそのスキルを忘れさせることも可能です。
+
+ waitingroom命令
+ waitingroom <title>,<limit>[,<event>[,<trigger>]];
+
+ title 文字列
+ limit 数値
+ event 文字列、省略可
+ trigger 数値、省略可
+
+ <title>をタイトルとしてチャットルームを表示させます。
+ <trigger>を満たしたとき、<event>を動作させることが可能です。
+ <trigger>を省略すると<limit>の数値が使用されます。
+
+ delwaitingroom命令
+ delewaitingroom [<name>]
+
+ name 文字列、省略可
+
+ 指定したNPCのチャットルームを閉じます。
+ <name>を省略すると、命令を実行したNPCが対象になります。
+
+ disablewaitingroomevent命令
+ disablewaitingroomevent [<name>]
+
+ name 文字列、省略可
+
+ <name>で指定したNPCのチャットルームのイベントを無効にします。
+ <name>を省略すると、命令を実行したNPCが対象になります。
+
+ enablewaitingroomevent命令
+ enablewaitingroomevent [<name>]
+
+ name 文字列、省略可
+
+ <name>で指定したNPCのチャットルームのイベントを有効にします。
+ <name>を省略すると、命令を実行したNPCが対象になります。
+ また、既にイベントが起こる人数に達している場合、
+ 即座にイベントを実行します。
+
+ warpwaitingnpc命令
+ warpwaitingnpc <gatname>,<x>,<y>[,<num>];
+
+ gatname 文字列
+ x,y,num 数値
+
+ 命令を実行したNPCのチャットルームに入っているPCのうち、
+ <num>で指定した人数を、<gatname>の座標<x>,<y>に移動させます。
+ <num>を省略すると waitingroomの<trigger>で指定した人数を使用します。
+
+ ワープさせた人数を $@warpwaitingpcnum に、ワープさせた人のアカウントIDを
+ 配列 $@warpwaitingpc にセットします(先頭から人数分)。
+
+
+ emotion命令
+ emotion <n>;
+
+ n 数値
+
+ <n>エモーションを出します。
+
+ setmapflag命令
+ setmapflag <gatname>,<flag>;
+
+ gatname 文字列
+ flag 数値
+
+ <gatname>のmapflagを追加します。
+ <flag>はdb/const.txtを参照してください。
+
+ removemapflag命令
+ removemapflag <gatname>,<flag>;
+
+ gatname 文字列
+ flag 数値
+
+ <gatname>のmapflagを消去します。
+ <flag>はdb/const.txtを参照してください。
+
+ pvpon命令
+ pvpon <gatname>;
+
+ gatname 文字列
+
+ <gatname>をPVP可能MAPにします。
+
+ pvpoff命令
+ pvpoff <gatname>;
+
+ gatname 文字列
+
+ <gatname>をPVP不可MAPにします。
+
+ gvgon命令
+ gvgon <gatname>;
+
+ gatname 文字列
+
+ <gatname>をシーズモードにします。
+
+ gvgoff命令
+ gvgoff <gatname>;
+
+ gatname 文字列
+
+ <gatname>を非シーズモードにします。
+
+ setmapflagnosave命令
+ setmapflagnosave <gatname>,<savegatname>,<x>,<y>;
+
+ gatname,nosavegat 文字列
+ x,y 数値
+
+ <gatname>のmapflagにnosave、引数として<savegatname>,<x>,<y>を設定します。
+
+ detachrid命令
+ detachrid;
+
+ NPCにアタッチされているIDをクリアします。
+ 以後、キャラクター情報を必要とする命令が実行できなくなります。
+
+ doevent命令
+ doevent <name>;
+
+ name 文字列
+
+ プレイヤー主体のイベントを起こします。<name>にはイベント名を指定します。
+ プレイヤーが他のNPCと会話中などで実行できない場合、キューに入り、実行可能になるまで待って実行されます。
+ キューのサイズはとても小さいので、連続で起こるとイベントが無視されるかもしれません。
+ ラベル付きイベントも指定できますが、NPC名を省略できないので注意してください。
+
+ donpcevent命令
+ donpcevent <name>;
+
+ name 文字列
+
+ プレイヤーがアタッチされていない(NPC主体の)イベントを起こします。
+ <name>にはイベント名を指定します。イベントは即座に実行されます。
+ ラベル付きイベントも指定でき、NPC名を省略することで、イベントをブロードキャストできます。
+ (複数のNPCの同じ名前のラベルを実行できる。 例>"::OnEvent")
+
+ callsub命令
+ callsub <label>
+
+ label ラベル
+
+ 同一スクリプト内のラベル<label>をサブルーティンとして実行します。
+ サブルーティンから復帰するときはreturn命令を使用してください。
+ この命令はreturn命令の実行状況によっては関数として使用することも出来ます。
+
+ callfunc命令
+ callfunc <func>
+
+ func 文字列
+
+ <func>で定義されたユーザー定義関数を実行します。
+ ユーザー定義関数から復帰するときはreturn命令を使用してください。
+ この命令はreturn命令の実行状況によっては関数として使用することも出来ます。
+
+ return命令
+ return <retval>
+
+ retval 数値または文字列、省略可
+
+ 直ちにサブルーティンもしくはユーザー定義関数を抜け、呼び出し元に戻ります。
+ <retval>は戻り値で、callsubまたはcallfuncが関数として呼び出されているとき、この戻り値が使用されます。
+ callsubまたはfuncが命令として呼ばれているときは、<retval>は省略してください。
+
+ *関数
+ rand関数
+ rand(<n1>[,<n2>])
+
+ n1 数値
+ n2 数値、省略可
+
+ <n1>のみ指定されていた場合、0から<n1>-1までの数値をランダムに選んで返します。
+ <n2>を指定した場合、<n1>から<n2>までの数チをランダムに選んで返します。
+
+ getitemname関数
+ getitemname(<itemid>)
+
+ itemid 数値
+
+ <itemid>に指定されたIDを持つアイテムのjnameを文字列で返します。
+ なお、アイテム名はitem_db.txtを参照します
+
+ countitem関数
+ countitem(<itemid>)
+
+ itemid 数値または文字列
+
+ <itemid>に指定されたIDを持つアイテムの所持数を返します。
+ <itemid>が文字列の場合、その名前(name,jname)を持つアイテムのIDを使用します。
+ ただし、アイテム名はitem_db.txtなどに依存するため、テスト目的以外では使用すべきではありません。
+
+ checkweight関数
+ checkweight(<itemid>,<num>)
+
+ itemid 数値または文字列
+ num 数値
+
+ <itemid>に指定されたIDを持つアイテムを<num>個持つことができるのならば1を、
+ できなければ0を返します。
+ <itemid>が文字列の場合、その名前(name,jname)を持つアイテムのIDを使用します。
+ ただし、アイテム名はitem_db.txtなどに依存するため、テスト目的以外では使用すべきではありません。
+
+ strcharinfo関数
+ strcharinfo(<n>)
+
+ n 数値
+
+ キャラ情報を返します。
+ n:0,キャラ名、1,パーティー名、2,ギルド名
+
+ getequipname関数
+ strcharinfo(<n>)
+
+ n 数値
+
+ 装備品名を返します。
+ n:1,頭装備、2,鎧、3,左手、4,右手、5,かけるもの、6,靴、7,アクセ1、8,アクセ2、9,頭中段、10,頭下段
+
+ getequipisequiped関数
+ getequipisequiped(<n>)
+
+ n 数値
+
+ 装備していたら1、していなかったら0を返します。
+ n:1,頭装備、2,鎧、3,左手、4,右手、5,かけるもの、6,靴、7,アクセ1、8,アクセ2、9,頭中段、10,頭下段
+
+ getequipisenableref関数
+ getequipisenableref(<n>)
+
+ n 数値
+
+ 精錬できる場合は1、できない場合は0を返します。
+ n:1,頭装備、2,鎧、3,左手、4,右手、5,かけるもの、6,靴、7,アクセ1、8,アクセ2、9,頭中段、10,頭下段
+
+ getequipisidentify関数
+ getequipisidentify(<n>)
+
+ n 数値
+
+ 鑑定済みの場合1、未鑑定の場合0を返します。
+ n:1,頭装備、2,鎧、3,左手、4,右手、5,かけるもの、6,靴、7,アクセ1、8,アクセ2、9,頭中段、10,頭下段
+
+ getequiprefinerycnt関数
+ getequiprefinerycnt(<n>)
+
+ n 数値
+
+ 精錬の度合いを返します。
+ n:1,頭装備、2,鎧、3,左手、4,右手、5,かけるもの、6,靴、7,アクセ1、8,アクセ2、9,頭中段、10,頭下段
+
+ getequipweaponlv関数
+ getequipweaponlv(<n>)
+
+ n 数値
+
+ 武器LVを返します。防具の場合には0、あとは武器LVに対応します。
+ n:1,頭装備、2,鎧、3,左手、4,右手、5,かけるもの、6,靴、7,アクセ1、8,アクセ2、9,頭中段、10,頭下段
+
+ getequippercentrefinery関数
+ getequippercentrefinery(<n>)
+
+ n 数値
+
+ 精錬成功率を返します。
+ n:1,頭装備、2,鎧、3,左手、4,右手、5,かけるもの、6,靴、7,アクセ1、8,アクセ2、9,頭中段、10,頭下段
+
+ getusers関数
+ getusers(<n>)
+
+ n 数値
+
+ 人数を返します。
+ n:0,PCのいるMAPの総人数、1,全MAPの総人数(即ちログイン人数)、8,NPCの存在するMAPの総人数
+
+ getmapusers関数
+ getmapusers(<gatname>)
+
+ gatname 文字列
+
+ <gatname>に存在する総人数を返します。
+
+ getareausers関数
+ getareausers(<gatname>,<x0>,<y0>,<x1>,<y1>)
+
+ gatname 文字列
+ x0,y0,x1,y1 数値
+
+ <gatname>の<x0>,<y0>から<x1>,<y1>の範囲内にいる人数を返します。
+
+ getskilllv関数
+ getskilllv(<skillid>)
+
+ skillid 数値
+
+ <skillid>で指定したIDを持つスキルのLVを返します。習得していない場合は0を返します。
+
+ getcharid関数
+ getcharid(<n>)
+
+ n 数値
+
+ キャラ情報をIDで返します。
+ n=0 キャラID
+ n=1 パーティー
+ n=2 ギルド
+ n=3 アカウントID
+
+ getpartyname関数
+ getpartyname(<n>)
+
+ n 数値
+
+ <n>で指定したIDを持つパーティー名を返します。
+
+ getguildname関数
+ getguildname(<n>)
+
+ n 数値
+
+ <n>で指定したIDを持つギルド名を返します。
+
+ getguildmaster関数
+ getguildname(<n>)
+
+ n 数値
+
+ <n>で指定したIDを持つギルドのマスターの名前を返します。
+
+ getguildmasterid関数
+ getguildmasterid(<n>)
+
+ n 数値
+
+ <n>で指定したIDを持つギルドのマスターのキャラクターIDを返します。
+
+ basicskillcheck関数
+ basicskillcheck(0);
+
+ battle_athena.confのbasic_skill_checkの設定値を返します。0は意味はありませんが何も入れなかった場合エラーになります。
+ basic_skill_checkとカプラの倉庫利用を合わせる為に作った物でそれ以外の機能はありません。戻った数値が0ならbasic_skill_checkがno、1ならyesです。
+
+ getgmlevel関数
+ getgmlevel(0);
+
+ プレイヤーのGMレベルを返します。
+
+ guildopenstorage関数
+ guildopenstorage(0);
+
+ ギルド倉庫を開きます。
+ 返た数値が2ならギルドに所属してないキャラと言う意味で
+ 1なら他のギルドメンバーが倉庫を使用中の意味です。
+ 0なら成功的にギルド倉庫が開いたとのことです。
+
+ getwaitingroomstate関数
+ getwaitingroomstate(<num>,[<name>])
+
+ num 数値
+ name 文字列、省略可
+
+ <name>で指定したNPCのチャットルームの状態を返します。
+ <name>を省略すると、命令を実行したNPCが対象になります。
+ <num>で得たい情報を指定します。
+
+ num=0 現在チャットルームに入っている人数(数値)
+ num=1 チャットルームの限界人数(数値)
+ num=2 チャットルームのイベントを起こす人数(数値)
+ num=3 チャットルームのイベントが有効かどうか(数値)
+ num=4 チャットルームのタイトル(文字列)
+ num=5 チャットルームのパスワード(文字列)
+ num=16 チャットルームのイベント名(文字列)
+ num=32 チャットルームが満員かどうか(数値)
+ num=33 チャットルームでイベントが起こる人数かどうか(数値)
+
+ getnpctimer関数
+ getnpctimer(<num>[,<name>])
+
+ num 数値
+
+ <name>で指定されたNPCが持つNPCタイマーの情報を得ます。
+ nameを省略すると、命令を実行したNPCが対象になります。
+ <num>で得たい情報を指定します。
+
+ num=0 現在のNPCタイマーのカウント値
+ num=1 現在NPCタイマーが動作しているかどうか
+ num=2 指定NPCのタイマーイベントラベルの総数
+
+ attachrid関数
+ attachrid(<num>)
+
+ num 数値
+
+ <num>で指定されたIDのキャラクターを実行したスクリプトにアタッチします。
+ 以後、キャラクターに関する命令や関数/変数などは全て新しいキャラクターが対象になります。
+ これはスクリプトが終了/中断する(close,end,menu,next,inputなどの実行)まで有効です。
+ 主にイベントで起動されたスクリプト内でマップ変数を使って別キャラクターを
+ アタッチするのに使用します。getcharid(3)で所得したアカウントIDを使ってください。
+ なお、デタッチにはdetachrid命令を使います。
+
+ 注意すべき点としては、この命令でPCをアタッチした場合、mes,menu,nextなどの
+ ウィンドウ(やボタン)が出る命令を実行してはいけません。
+ 相手が他のNPCと会話中の場合、これらの命令は正しく動作しません。
+ 情報所得命令などだけで済ませるべきです。
+
+ この関数はアタッチに成功したかどうかを返します。
+ 偽(0)が返って来た場合は、該当キャラクターが存在していません。
+
+ isloggedin関数
+ isloggedin(<num>)
+
+ num 数値
+
+ <num>で指定されたIDのキャラクターがこのマップサーバーに
+ ログインしているかどうか調べます。
+
+ getarraysize関数
+ getarraysize(<variable>)
+
+ variable 変数
+
+ 配列<variable>の有効なサイズを調べます。
+ ここでのサイズは要素が0(文字列変数では"")でない、
+ 最大の要素番号+1 になります。
+ 配列名ではなく要素番号付きで指定すると、
+ 少なくともその要素までは全て有効であると仮定します。
+ <例> 配列@hogeが 1,2,3,4,5 だとすると、
+ getarraysize(@hoge)=5, getarraysize(@hoge[10])=10;
+
+ callsub関数
+ callsub <label>
+
+ callsub命令を関数として実行します。詳しくはcallsub命令を見てください。
+
+ callfunc関数
+ callfunc <func>
+
+ callfunc命令を関数として実行します。詳しくはcallfunc命令を見てください。
+
+ *定数ラベル
+ -ラベル
+ if文やmenu文で使用します。次の行からスクリプトを開始します。
+
+ OnInitラベル
+ MAPがロードされたときスクリプトを開始します。
+
+ OnInterIfInitラベル
+ MAPサーバーがInterサーバーに接続したときに実行します。
+
+ OnCharIfInitラベル
+ MAPサーバーがCharサーバーに接続したときに実行します。
+
+ OnMinuteXXラベル
+ 毎時XX分に実行します。数値は十進数2桁です。
+
+ OnClockXXXXラベル
+ 毎日XX時XX分に実行します。数値は十進数4桁です。
+
+ OnHourXXラベル
+ 毎日XX時00分に実行します。数値は十進数2桁です。
+
+ OnDayXXラベル
+ 毎月XX日00時00分に実行します。数値は十進数2桁です。
+
+ OnTimerXラベル
+ NPCタイマーのカウントがXになったときに実行されます。
+ このXはミリ秒単位です。桁数は関係ありません。
+
+ OnAgitInitラベル
+ ギルド城データと占拠ギルド情報がマップサーバー内に
+ 所得されたときに実行されます。
+ ギルド城関係のNPCの初期化に使用します。
+
+ OnAgitStartラベル
+ ギルド攻城戦が始まったときに実行されます。
+
+ OnAgitEndラベル
+ ギルド攻城戦が終わったときに実行されます。
+
+ OnAgitBreakラベル
+ エンペリウムを破壊したときに実行されます。
+ このラベルは破壊したプレイヤーを主体にして実行されます。
+
+ OnAgitEliminateラベル
+ エンペリウム破壊後、ギルドの所有者が書き換わるときに
+ 呼ばれます。
+
+ *注意事項
+ 文字列と説明されている引数は""で囲ってください。
+
+4. Error Message
+
+ * Make an error at the time of compile (it is a thing at the time of map server starting).
+ A place is displayed for the line number of an error.
+
+ unexpected expr end
+ It is the end of an unexpected formula.
+ ', ', and';' are in the beginning of a formula.
+
+ unmatch ')'
+ ')' does not match.
+ Correspondence of parenthesis'('')' is amusing.
+
+ unexpected newline @ string
+ It is the new-line which is not expected in a character sequence.
+ There is a new-line in the middle of a character sequence (surrounded by '"').
+ Probably it is a failure of '"' to close.
+
+ unexpected eof @ string
+ It is the file terminus which is not expected in a character sequence.
+ The file finished in the middle of the character sequence.
+ Probably it is a failure of '"' to close.
+
+ unexpected character
+ unexpected char
+ It is an unexpected character.
+ It is thought that the variable etc. is not following a naming rule.
+
+ l14 and l15 is DEPRECATED. use @menu instead of l15.
+ l14 and l15 are not recommended. Please use @menu instead of l15.
+
+ prefix 'l' is DEPRECATED. use prefix '@' instead.
+ Prefix'l' is not recommended. Please use '@' instead.
+
+ unmatch ']'
+ ']' does not carry out an interval.
+ Correspondence of parenthesis']' is missing.
+
+ expect function
+ 関数を期待していました
+ 関数呼び出し演算子'('の前に関数以外のシンボルがあります。
+ おそらく関数名を間違えています。
+
+ expect ',' or ')' at func params
+ 関数の引数において','か')'を期待していました
+ おそらく引数区切りの','か')'を忘れています。
+
+ func request '(' ')'
+ 関数呼び出しの括弧対応問題
+ おそらく引数の数が128を超えました。
+
+ illeagal number of parameters
+ パラメータの数が不正です
+ 関数/命令パラメータの個数が異なります。
+ 引数の個数を確認してください。
+ エラー位置は全ての引数の後になります。
+
+ expect command
+ 命令を期待していました
+ 命令以外のシンボルが突然出現しています。
+ おそらく命令名を間違えています。
+
+ expect ',' or ';' at cmd params
+ 命令の引数において','か';'を期待していました
+ おそらく引数区切りの','か';'を忘れています。
+
+ need ';'
+ ';'が必要です
+ おそらく引数の数が128を超えました。
+
+ 実行時のエラー
+ fatal error ! player not attached!
+ 致命的エラー!プレイヤーがアタッチされていません!
+
+ キャラクターを特定できないイベントで実行されている
+ スクリプトの中でキャラクター情報が必要な命令や関数、
+ 変数へアクセスしました。attachrid関数を使うか、
+ キャラクター情報が不要な命令を使用してください。
+ もしくは、attachrid関数で設定された情報が不正です。
+ なお、このエラーが起こると直後にコアを吐くと思われます。
+
+ NPC主体イベントでannounceしたときにフラグ0x08を指定していない
+ 場合もこのエラーがでます。
+
+
+ illeagal scope string variable.
+ 文字列変数のスコープが不正です。
+ 未対応のプレフィックスで文字列変数が使用されました。
+ プレフィックスを確認してください。
+
+ illeagal scope
+ スコープが不正です。配列変数未対応のプレフィックスを
+ 持つ変数に配列変数系の命令を実行した場合など。
+
+ not label !
+ goto/menu命令でラベルが指定されるべきところに
+ ラベル以外のシンボルが指定されています。
+ もしくは、ラベル名と変数名がバッティングしています。
+
+ buildin_set: not name
+ set命令で第一引数が変数名ではありません。
+
+ getelementofarray (operator[]): param2 illeagal number
+ 配列変数で[]内の値が不正です
+ []内の値が0未満か128以上になりました
+
+ getelementofarray (operator[]): param1 not name
+ 配列変数で[]の前のシンボルが変数名ではありません。
+
+ op_2: int&str, str&int not allow.
+ 関係演算子(比較演算子)で、数値と文字列、もしくは
+ 文字列と数値が指定されました。
+
+ infinity loop !
+ スクリプトの実行命令数か、goto/menu命令実行回数が
+ 多すぎるので、無限ループと判断しました。
+ スクリプトの実行は強制的に中断されました。
+
+ not function and command !
+ 関数実行/命令実行部分で、関数でも命令でもない
+ シンボルがありました。
+ if文のなかである可能性が高いです。
+
+ return without callfunc or callsub !
+ callfuncやcallsubされていないのにreturn命令を実行しました。
+
+ stack.sp(?) != default(?)
+ スタックポインタが基準スタックポインタと異なっています。
+ 命令を実行した結果、スタックポインタが狂いました。
+ 関数を命令として実行した可能性があります。
+
+
+5. Postscript
+ NPC contained in snapshot was made reference in creating this text.
+ I appreciate people which created NPC.
+
+It corrects based on text by asong (2004/3/1).
+
+
|