summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Changelog.txt4
-rw-r--r--Dev/bugs.txt9
-rw-r--r--log/char.log34
-rw-r--r--log/login.log287
-rw-r--r--mapbug.txt1
-rw-r--r--src/map/atcommand.c183
-rw-r--r--src/map/map.c12
7 files changed, 507 insertions, 23 deletions
diff --git a/Changelog.txt b/Changelog.txt
index f26946cd1..de597e245 100644
--- a/Changelog.txt
+++ b/Changelog.txt
@@ -1,5 +1,9 @@
Date Added
12/5
+ * Added nullpo's to all atcommand's functions, phew... [MC Cameri]
+ Note: I point out that MouseJstr has added some @commands that start with char which
+ havent been finished, they are just there but don't do anything.
+ * Removed mapbug.txt and corresponding function in map.c (realized it's pointless) [MC Cameri]
* Added allow_atcommand_when_mute - Change this to set whether muted players
can use gm commands [celest]
* Temporarily leaving the changing guild emblems requiring Glory of Guild
diff --git a/Dev/bugs.txt b/Dev/bugs.txt
index cdd63f4d2..f1f65aa6f 100644
--- a/Dev/bugs.txt
+++ b/Dev/bugs.txt
@@ -52,11 +52,6 @@ Problem: Sage's Area Skills (Delu.,Vulcano, etc) if casted on the same area (or
Assigned: N/A
Progess: 0%
-Problem: @disguise has no death sprite so the client crashes when you die, a solution would be that upon death before the sprites change you're undisguised.
-Assigned: Celest
-Progess: 100%
-Note 1: Please state which sprite makes the client crash, I tried many spriters and I never crashed. [MC Cameri]
-
Problem: Changing email and Broadcast both use the same packets / Packet 0x3000 assigned to changing email instead of broadcasting?
Notes: Refer to char.c line 2272 and line 2416, intif.c line 107, chrif.c line 377
Assigned: N/A
@@ -75,6 +70,10 @@ Problem: Wierd login-server bug on sql, it displays that the server is full when
Assigned: N/A
Progress: 0%
+Problem: Login-Server is now crashing when you close it using ^C, Ctrl+C(on windows), it only does that if login was connected with char-server.
+Assigned: N/A
+Progress: 0
+
Problem: Storm Gust doesn't freeze mobs / players
Assigned: N/A
Progress: 0%
diff --git a/log/char.log b/log/char.log
index faf9009e4..afaa18c6c 100644
--- a/log/char.log
+++ b/log/char.log
@@ -596,3 +596,37 @@
28-11-2004 11:56:34.469: Character Selected, Account ID: 2000003, Character Slot: 0, Character Name: MC Cameri.
28-11-2004 12:05:55.156: Character Selected, Account ID: 2000004, Character Slot: 0, Character Name: genosonic.
28-11-2004 12:58:29.282: Character Selected, Account ID: 2000004, Character Slot: 0, Character Name: genosonic.
+
+29-11-2004 16:55:36.160: The char-server starting...
+29-11-2004 16:55:38.765: mmo_char_init: 4 characters read in save/athena.txt.
+29-11-2004 16:55:38.765: Id for the next created character: 150004.
+29-11-2004 16:55:38.846: The char-server is ready (Server is listening on the port 6121).
+29-11-2004 16:55:39.867: From login-server: receiving of 5 GM accounts information.
+29-11-2004 16:57:12.319: Map-Server 0 connected: 420 maps, from IP 127.0.0.1 port 5121. Map-server 0 loading complete.
+29-11-2004 17:02:30.822: Character Selected, Account ID: 2000002, Character Slot: 0, Character Name: cameri.
+29-11-2004 17:05:36.499: ----End of char-server (normal end with closing of all files).
+
+04-12-2004 22:27:14.390: The char-server starting...
+04-12-2004 22:27:14.699: mmo_char_init: 4 characters read in save/athena.txt.
+04-12-2004 22:27:14.699: Id for the next created character: 150004.
+04-12-2004 22:27:14.980: The char-server is ready (Server is listening on the port 6121).
+04-12-2004 22:27:17.098: From login-server: receiving of 5 GM accounts information.
+04-12-2004 22:27:24.043: Map-Server 0 connected: 420 maps, from IP 127.0.0.1 port 5121. Map-server 0 loading complete.
+04-12-2004 22:27:40.369: Character Selected, Account ID: 2000002, Character Slot: 0, Character Name: cameri.
+04-12-2004 22:28:54.432: ----End of char-server (normal end with closing of all files).
+
+04-12-2004 22:29:19.937: The char-server starting...
+04-12-2004 22:29:19.974: mmo_char_init: 4 characters read in save/athena.txt.
+04-12-2004 22:29:19.975: Id for the next created character: 150004.
+04-12-2004 22:29:19.978: The char-server is ready (Server is listening on the port 6121).
+04-12-2004 22:29:20.986: From login-server: receiving of 5 GM accounts information.
+04-12-2004 22:29:24.047: Map-Server 0 connected: 420 maps, from IP 127.0.0.1 port 5121. Map-server 0 loading complete.
+04-12-2004 22:29:40.986: From login-server: receiving of 5 GM accounts information.
+04-12-2004 22:29:46.469: ----End of char-server (normal end with closing of all files).
+
+04-12-2004 22:32:26.734: The char-server starting...
+04-12-2004 22:32:26.773: mmo_char_init: 4 characters read in save/athena.txt.
+04-12-2004 22:32:26.773: Id for the next created character: 150004.
+04-12-2004 22:32:26.778: The char-server is ready (Server is listening on the port 6121).
+04-12-2004 22:32:27.787: From login-server: receiving of 5 GM accounts information.
+04-12-2004 22:32:31.147: ----End of char-server (normal end with closing of all files).
diff --git a/log/login.log b/log/login.log
index d108619a5..60fd756be 100644
--- a/log/login.log
+++ b/log/login.log
@@ -3119,3 +3119,290 @@
2004-11-28 14:15:13.227: Request for connection (non encryption mode) of genosonic (ip: 127.0.0.1).
2004-11-28 14:15:13.227: Authentification accepted (account: genosonic (id: 2000004), ip: 127.0.0.1)
2004-11-28 14:15:14.248: Char-server 'eAthena': authentification of the account 2000004 accepted (ip: 127.0.0.1).
+
+2004-11-29 16:55:36.156: The login-server starting...
+2004-11-29 16:55:36.343: The configuration of the server is set:
+2004-11-29 16:55:36.343: - with a remote administration with the DEFAULT password.
+2004-11-29 16:55:36.343: - to accept any IP for remote administration
+2004-11-29 16:55:36.343: - with the DEFAULT 'To GM become' password (gm_pass).
+2004-11-29 16:55:36.343: - to create GM with level '60' when @gm is used.
+2004-11-29 16:55:36.343: - to ALLOW new users (with _F/_M).
+2004-11-29 16:55:36.344: - with port: 6900.
+2004-11-29 16:55:36.344: - with the accounts file name: 'save/account.txt'.
+2004-11-29 16:55:36.344: - with the GM accounts file name: 'conf/GM_account.txt'.
+2004-11-29 16:55:36.344: - to check GM accounts file modifications every 15 seconds.
+2004-11-29 16:55:36.344: - to save password in plain text.
+2004-11-29 16:55:36.344: - with the unknown packets file name: 'log/login_unknown_packets.log'.
+2004-11-29 16:55:36.344: - to SAVE only unkown packets sending by a char-server or a remote administration.
+2004-11-29 16:55:36.344: - to NOT display normal parse packets on console.
+2004-11-29 16:55:36.344: - to NOT display administration parse packets on console.
+2004-11-29 16:55:36.344: - to NOT display char-server parse packets on console.
+2004-11-29 16:55:36.344: - with no minimum level for connection.
+2004-11-29 16:55:36.345: - to refuse adjustment (with timeadd ladmin) on an unlimited account. You must use timeset (ladmin command) before.
+2004-11-29 16:55:36.345: - to create new accounts with an unlimited time.
+2004-11-29 16:55:36.345: - with control of players IP between login-server and char-server.
+2004-11-29 16:55:36.345: - with the IP security order: 'deny,allow' (allow if not deny). You refuse no IP.
+2004-11-29 16:55:36.383: The LAN configuration of the server is set:
+2004-11-29 16:55:36.383: - with LAN IP of char-server: 127.0.0.1.
+2004-11-29 16:55:36.383: - with the sub-network of the char-server: 127.0.0.1/255.255.255.255.
+2004-11-29 16:55:36.426: 10 accounts read in save/account.txt, of which is no GM account and 5 server accounts ('S').
+2004-11-29 16:55:36.427: read_gm_account: file 'conf/GM_account.txt' read (5 GM accounts found).
+2004-11-29 16:55:36.428: The login-server is ready (Server is listening on the port 6900).
+2004-11-29 16:55:39.863: Connection request of the char-server 'eAthena' @ 127.0.0.1:6121 (ip: 127.0.0.1)
+2004-11-29 16:55:39.863: Authentification accepted (account: s1 (id: 0), ip: 127.0.0.1)
+2004-11-29 16:55:39.864: Connection of the char-server 'eAthena' accepted (account: s1, pass: p1, ip: 127.0.0.1)
+2004-11-29 17:02:22.947: Request for connection (non encryption mode) of cameri (ip: 127.0.0.1).
+2004-11-29 17:02:22.947: Authentification accepted (account: cameri (id: 2000002), ip: 127.0.0.1)
+2004-11-29 17:02:28.635: Char-server 'eAthena': authentification of the account 2000002 accepted (ip: 127.0.0.1).
+2004-11-29 17:05:36.670: Char-server 'eAthena' has disconnected (ip: 127.0.0.1).
+2004-11-29 17:05:37.048: ----End of login-server (normal end with closing of all files).
+
+2004-12-04 12:14:45.701: The login-server starting...
+2004-12-04 12:14:45.809: The configuration of the server is set:
+2004-12-04 12:14:45.809: - with a remote administration with the DEFAULT password.
+2004-12-04 12:14:45.809: - to accept any IP for remote administration
+2004-12-04 12:14:45.809: - with the DEFAULT 'To GM become' password (gm_pass).
+2004-12-04 12:14:45.809: - to create GM with level '60' when @gm is used.
+2004-12-04 12:14:45.809: - to ALLOW new users (with _F/_M).
+2004-12-04 12:14:45.810: - with port: 6900.
+2004-12-04 12:14:45.810: - with the accounts file name: 'save/account.txt'.
+2004-12-04 12:14:45.810: - with the GM accounts file name: 'conf/GM_account.txt'.
+2004-12-04 12:14:45.810: - to check GM accounts file modifications every 15 seconds.
+2004-12-04 12:14:45.810: - to save password in plain text.
+2004-12-04 12:14:45.810: - with the unknown packets file name: 'log/login_unknown_packets.log'.
+2004-12-04 12:14:45.810: - to SAVE only unkown packets sending by a char-server or a remote administration.
+2004-12-04 12:14:45.810: - to NOT display normal parse packets on console.
+2004-12-04 12:14:45.810: - to NOT display administration parse packets on console.
+2004-12-04 12:14:45.810: - to NOT display char-server parse packets on console.
+2004-12-04 12:14:45.810: - with no minimum level for connection.
+2004-12-04 12:14:45.810: - to refuse adjustment (with timeadd ladmin) on an unlimited account. You must use timeset (ladmin command) before.
+2004-12-04 12:14:45.811: - to create new accounts with an unlimited time.
+2004-12-04 12:14:45.811: - with control of players IP between login-server and char-server.
+2004-12-04 12:14:45.811: - with the IP security order: 'deny,allow' (allow if not deny). You refuse no IP.
+2004-12-04 12:14:45.820: The LAN configuration of the server is set:
+2004-12-04 12:14:45.821: - with LAN IP of char-server: 127.0.0.1.
+2004-12-04 12:14:45.821: - with the sub-network of the char-server: 127.0.0.1/255.255.255.255.
+2004-12-04 12:14:45.861: 10 accounts read in save/account.txt, of which is no GM account and 5 server accounts ('S').
+2004-12-04 12:14:45.863: read_gm_account: file 'conf/GM_account.txt' read (5 GM accounts found).
+2004-12-04 12:14:45.864: The login-server is ready (Server is listening on the port 6900).
+2004-12-04 12:16:50.673: ----End of login-server (normal end with closing of all files).
+
+2004-12-04 12:30:11.405: The login-server starting...
+2004-12-04 12:30:11.405: The configuration of the server is set:
+2004-12-04 12:30:11.405: - with a remote administration with the DEFAULT password.
+2004-12-04 12:30:11.405: - to accept any IP for remote administration
+2004-12-04 12:30:11.406: - with the DEFAULT 'To GM become' password (gm_pass).
+2004-12-04 12:30:11.406: - to create GM with level '60' when @gm is used.
+2004-12-04 12:30:11.406: - to ALLOW new users (with _F/_M).
+2004-12-04 12:30:11.406: - with port: 6900.
+2004-12-04 12:30:11.406: - with the accounts file name: 'save/account.txt'.
+2004-12-04 12:30:11.406: - with the GM accounts file name: 'conf/GM_account.txt'.
+2004-12-04 12:30:11.406: - to check GM accounts file modifications every 15 seconds.
+2004-12-04 12:30:11.406: - to save password in plain text.
+2004-12-04 12:30:11.406: - with the unknown packets file name: 'log/login_unknown_packets.log'.
+2004-12-04 12:30:11.406: - to SAVE only unkown packets sending by a char-server or a remote administration.
+2004-12-04 12:30:11.406: - to NOT display normal parse packets on console.
+2004-12-04 12:30:11.406: - to NOT display administration parse packets on console.
+2004-12-04 12:30:11.407: - to NOT display char-server parse packets on console.
+2004-12-04 12:30:11.407: - with no minimum level for connection.
+2004-12-04 12:30:11.407: - to refuse adjustment (with timeadd ladmin) on an unlimited account. You must use timeset (ladmin command) before.
+2004-12-04 12:30:11.407: - to create new accounts with an unlimited time.
+2004-12-04 12:30:11.407: - with control of players IP between login-server and char-server.
+2004-12-04 12:30:11.407: - with the IP security order: 'deny,allow' (allow if not deny). You refuse no IP.
+2004-12-04 12:30:11.408: The LAN configuration of the server is set:
+2004-12-04 12:30:11.408: - with LAN IP of char-server: 127.0.0.1.
+2004-12-04 12:30:11.408: - with the sub-network of the char-server: 127.0.0.1/255.255.255.255.
+2004-12-04 12:30:11.410: 10 accounts read in save/account.txt, of which is no GM account and 5 server accounts ('S').
+2004-12-04 12:30:11.411: read_gm_account: file 'conf/GM_account.txt' read (5 GM accounts found).
+2004-12-04 12:30:11.412: The login-server is ready (Server is listening on the port 6900).
+
+2004-12-04 22:27:16.546: The login-server starting...
+2004-12-04 22:27:16.546: The configuration of the server is set:
+2004-12-04 22:27:16.546: - with a remote administration with the DEFAULT password.
+2004-12-04 22:27:16.546: - to accept any IP for remote administration
+2004-12-04 22:27:16.546: - with the DEFAULT 'To GM become' password (gm_pass).
+2004-12-04 22:27:16.546: - to create GM with level '60' when @gm is used.
+2004-12-04 22:27:16.546: - to ALLOW new users (with _F/_M).
+2004-12-04 22:27:16.546: - with port: 6900.
+2004-12-04 22:27:16.546: - with the accounts file name: 'save/account.txt'.
+2004-12-04 22:27:16.546: - with the GM accounts file name: 'conf/GM_account.txt'.
+2004-12-04 22:27:16.546: - to check GM accounts file modifications every 15 seconds.
+2004-12-04 22:27:16.546: - to save password in plain text.
+2004-12-04 22:27:16.546: - with the unknown packets file name: 'log/login_unknown_packets.log'.
+2004-12-04 22:27:16.546: - to SAVE only unkown packets sending by a char-server or a remote administration.
+2004-12-04 22:27:16.547: - to NOT display normal parse packets on console.
+2004-12-04 22:27:16.547: - to NOT display administration parse packets on console.
+2004-12-04 22:27:16.547: - to NOT display char-server parse packets on console.
+2004-12-04 22:27:16.547: - with no minimum level for connection.
+2004-12-04 22:27:16.547: - to refuse adjustment (with timeadd ladmin) on an unlimited account. You must use timeset (ladmin command) before.
+2004-12-04 22:27:16.547: - to create new accounts with an unlimited time.
+2004-12-04 22:27:16.547: - with control of players IP between login-server and char-server.
+2004-12-04 22:27:16.547: - with the IP security order: 'deny,allow' (allow if not deny). You refuse no IP.
+2004-12-04 22:27:16.556: The LAN configuration of the server is set:
+2004-12-04 22:27:16.556: - with LAN IP of char-server: 127.0.0.1.
+2004-12-04 22:27:16.556: - with the sub-network of the char-server: 127.0.0.1/255.255.255.255.
+2004-12-04 22:27:16.569: 10 accounts read in save/account.txt, of which is no GM account and 5 server accounts ('S').
+2004-12-04 22:27:16.570: read_gm_account: file 'conf/GM_account.txt' read (5 GM accounts found).
+2004-12-04 22:27:16.571: The login-server is ready (Server is listening on the port 6900).
+2004-12-04 22:27:17.003: Connection request of the char-server 'eAthena' @ 127.0.0.1:6121 (ip: 127.0.0.1)
+2004-12-04 22:27:17.003: Authentification accepted (account: s1 (id: 0), ip: 127.0.0.1)
+2004-12-04 22:27:17.011: Connection of the char-server 'eAthena' accepted (account: s1, pass: p1, ip: 127.0.0.1)
+2004-12-04 22:27:37.996: Request for connection (non encryption mode) of cameri (ip: 127.0.0.1).
+2004-12-04 22:27:37.997: Authentification accepted (account: cameri (id: 2000002), ip: 127.0.0.1)
+2004-12-04 22:27:38.574: Char-server 'eAthena': authentification of the account 2000002 accepted (ip: 127.0.0.1).
+
+2004-12-04 22:29:13.406: The login-server starting...
+2004-12-04 22:29:13.406: The configuration of the server is set:
+2004-12-04 22:29:13.406: - with a remote administration with the DEFAULT password.
+2004-12-04 22:29:13.406: - to accept any IP for remote administration
+2004-12-04 22:29:13.406: - with the DEFAULT 'To GM become' password (gm_pass).
+2004-12-04 22:29:13.406: - to create GM with level '60' when @gm is used.
+2004-12-04 22:29:13.406: - to ALLOW new users (with _F/_M).
+2004-12-04 22:29:13.406: - with port: 6900.
+2004-12-04 22:29:13.406: - with the accounts file name: 'save/account.txt'.
+2004-12-04 22:29:13.406: - with the GM accounts file name: 'conf/GM_account.txt'.
+2004-12-04 22:29:13.406: - to check GM accounts file modifications every 15 seconds.
+2004-12-04 22:29:13.406: - to save password in plain text.
+2004-12-04 22:29:13.406: - with the unknown packets file name: 'log/login_unknown_packets.log'.
+2004-12-04 22:29:13.406: - to SAVE only unkown packets sending by a char-server or a remote administration.
+2004-12-04 22:29:13.406: - to NOT display normal parse packets on console.
+2004-12-04 22:29:13.407: - to NOT display administration parse packets on console.
+2004-12-04 22:29:13.407: - to NOT display char-server parse packets on console.
+2004-12-04 22:29:13.407: - with no minimum level for connection.
+2004-12-04 22:29:13.407: - to refuse adjustment (with timeadd ladmin) on an unlimited account. You must use timeset (ladmin command) before.
+2004-12-04 22:29:13.407: - to create new accounts with an unlimited time.
+2004-12-04 22:29:13.407: - with control of players IP between login-server and char-server.
+2004-12-04 22:29:13.407: - with the IP security order: 'deny,allow' (allow if not deny). You refuse no IP.
+2004-12-04 22:29:13.408: The LAN configuration of the server is set:
+2004-12-04 22:29:13.408: - with LAN IP of char-server: 127.0.0.1.
+2004-12-04 22:29:13.408: - with the sub-network of the char-server: 127.0.0.1/255.255.255.255.
+2004-12-04 22:29:13.411: 10 accounts read in save/account.txt, of which is no GM account and 5 server accounts ('S').
+2004-12-04 22:29:13.411: read_gm_account: file 'conf/GM_account.txt' read (5 GM accounts found).
+2004-12-04 22:29:13.412: The login-server is ready (Server is listening on the port 6900).
+2004-12-04 22:29:14.146: ----End of login-server (normal end with closing of all files).
+
+2004-12-04 22:29:15.953: The login-server starting...
+2004-12-04 22:29:15.953: The configuration of the server is set:
+2004-12-04 22:29:15.953: - with a remote administration with the DEFAULT password.
+2004-12-04 22:29:15.953: - to accept any IP for remote administration
+2004-12-04 22:29:15.953: - with the DEFAULT 'To GM become' password (gm_pass).
+2004-12-04 22:29:15.953: - to create GM with level '60' when @gm is used.
+2004-12-04 22:29:15.953: - to ALLOW new users (with _F/_M).
+2004-12-04 22:29:15.953: - with port: 6900.
+2004-12-04 22:29:15.953: - with the accounts file name: 'save/account.txt'.
+2004-12-04 22:29:15.953: - with the GM accounts file name: 'conf/GM_account.txt'.
+2004-12-04 22:29:15.953: - to check GM accounts file modifications every 15 seconds.
+2004-12-04 22:29:15.954: - to save password in plain text.
+2004-12-04 22:29:15.954: - with the unknown packets file name: 'log/login_unknown_packets.log'.
+2004-12-04 22:29:15.954: - to SAVE only unkown packets sending by a char-server or a remote administration.
+2004-12-04 22:29:15.954: - to NOT display normal parse packets on console.
+2004-12-04 22:29:15.954: - to NOT display administration parse packets on console.
+2004-12-04 22:29:15.954: - to NOT display char-server parse packets on console.
+2004-12-04 22:29:15.954: - with no minimum level for connection.
+2004-12-04 22:29:15.954: - to refuse adjustment (with timeadd ladmin) on an unlimited account. You must use timeset (ladmin command) before.
+2004-12-04 22:29:15.954: - to create new accounts with an unlimited time.
+2004-12-04 22:29:15.954: - with control of players IP between login-server and char-server.
+2004-12-04 22:29:15.955: - with the IP security order: 'deny,allow' (allow if not deny). You refuse no IP.
+2004-12-04 22:29:15.958: The LAN configuration of the server is set:
+2004-12-04 22:29:15.958: - with LAN IP of char-server: 127.0.0.1.
+2004-12-04 22:29:15.958: - with the sub-network of the char-server: 127.0.0.1/255.255.255.255.
+2004-12-04 22:29:15.961: 10 accounts read in save/account.txt, of which is no GM account and 5 server accounts ('S').
+2004-12-04 22:29:15.961: read_gm_account: file 'conf/GM_account.txt' read (5 GM accounts found).
+2004-12-04 22:29:15.962: The login-server is ready (Server is listening on the port 6900).
+2004-12-04 22:29:20.986: Connection request of the char-server 'eAthena' @ 127.0.0.1:6121 (ip: 127.0.0.1)
+2004-12-04 22:29:20.986: Authentification accepted (account: s1 (id: 0), ip: 127.0.0.1)
+2004-12-04 22:29:20.988: Connection of the char-server 'eAthena' accepted (account: s1, pass: p1, ip: 127.0.0.1)
+
+2004-12-04 22:29:34.843: The login-server starting...
+2004-12-04 22:29:34.843: The configuration of the server is set:
+2004-12-04 22:29:34.843: - with a remote administration with the DEFAULT password.
+2004-12-04 22:29:34.843: - to accept any IP for remote administration
+2004-12-04 22:29:34.843: - with the DEFAULT 'To GM become' password (gm_pass).
+2004-12-04 22:29:34.843: - to create GM with level '60' when @gm is used.
+2004-12-04 22:29:34.843: - to ALLOW new users (with _F/_M).
+2004-12-04 22:29:34.843: - with port: 6900.
+2004-12-04 22:29:34.844: - with the accounts file name: 'save/account.txt'.
+2004-12-04 22:29:34.844: - with the GM accounts file name: 'conf/GM_account.txt'.
+2004-12-04 22:29:34.844: - to check GM accounts file modifications every 15 seconds.
+2004-12-04 22:29:34.844: - to save password in plain text.
+2004-12-04 22:29:34.844: - with the unknown packets file name: 'log/login_unknown_packets.log'.
+2004-12-04 22:29:34.844: - to SAVE only unkown packets sending by a char-server or a remote administration.
+2004-12-04 22:29:34.844: - to NOT display normal parse packets on console.
+2004-12-04 22:29:34.844: - to NOT display administration parse packets on console.
+2004-12-04 22:29:34.844: - to NOT display char-server parse packets on console.
+2004-12-04 22:29:34.844: - with no minimum level for connection.
+2004-12-04 22:29:34.844: - to refuse adjustment (with timeadd ladmin) on an unlimited account. You must use timeset (ladmin command) before.
+2004-12-04 22:29:34.845: - to create new accounts with an unlimited time.
+2004-12-04 22:29:34.845: - with control of players IP between login-server and char-server.
+2004-12-04 22:29:34.845: - with the IP security order: 'deny,allow' (allow if not deny). You refuse no IP.
+2004-12-04 22:29:34.846: The LAN configuration of the server is set:
+2004-12-04 22:29:34.846: - with LAN IP of char-server: 127.0.0.1.
+2004-12-04 22:29:34.846: - with the sub-network of the char-server: 127.0.0.1/255.255.255.255.
+2004-12-04 22:29:34.848: 10 accounts read in save/account.txt, of which is no GM account and 5 server accounts ('S').
+2004-12-04 22:29:34.849: read_gm_account: file 'conf/GM_account.txt' read (5 GM accounts found).
+2004-12-04 22:29:34.849: The login-server is ready (Server is listening on the port 6900).
+2004-12-04 22:29:40.980: Connection request of the char-server 'eAthena' @ 127.0.0.1:6121 (ip: 127.0.0.1)
+2004-12-04 22:29:40.980: Authentification accepted (account: s1 (id: 0), ip: 127.0.0.1)
+2004-12-04 22:29:40.983: Connection of the char-server 'eAthena' accepted (account: s1, pass: p1, ip: 127.0.0.1)
+
+2004-12-04 22:31:44.796: The login-server starting...
+2004-12-04 22:31:44.796: The configuration of the server is set:
+2004-12-04 22:31:44.796: - with a remote administration with the DEFAULT password.
+2004-12-04 22:31:44.796: - to accept any IP for remote administration
+2004-12-04 22:31:44.796: - with the DEFAULT 'To GM become' password (gm_pass).
+2004-12-04 22:31:44.796: - to create GM with level '60' when @gm is used.
+2004-12-04 22:31:44.796: - to ALLOW new users (with _F/_M).
+2004-12-04 22:31:44.796: - with port: 6900.
+2004-12-04 22:31:44.797: - with the accounts file name: 'save/account.txt'.
+2004-12-04 22:31:44.797: - with the GM accounts file name: 'conf/GM_account.txt'.
+2004-12-04 22:31:44.797: - to check GM accounts file modifications every 15 seconds.
+2004-12-04 22:31:44.797: - to save password in plain text.
+2004-12-04 22:31:44.797: - with the unknown packets file name: 'log/login_unknown_packets.log'.
+2004-12-04 22:31:44.797: - to SAVE only unkown packets sending by a char-server or a remote administration.
+2004-12-04 22:31:44.797: - to NOT display normal parse packets on console.
+2004-12-04 22:31:44.797: - to NOT display administration parse packets on console.
+2004-12-04 22:31:44.797: - to NOT display char-server parse packets on console.
+2004-12-04 22:31:44.797: - with no minimum level for connection.
+2004-12-04 22:31:44.797: - to refuse adjustment (with timeadd ladmin) on an unlimited account. You must use timeset (ladmin command) before.
+2004-12-04 22:31:44.797: - to create new accounts with an unlimited time.
+2004-12-04 22:31:44.798: - with control of players IP between login-server and char-server.
+2004-12-04 22:31:44.798: - with the IP security order: 'deny,allow' (allow if not deny). You refuse no IP.
+2004-12-04 22:31:44.799: The LAN configuration of the server is set:
+2004-12-04 22:31:44.799: - with LAN IP of char-server: 127.0.0.1.
+2004-12-04 22:31:44.799: - with the sub-network of the char-server: 127.0.0.1/255.255.255.255.
+2004-12-04 22:31:44.805: 10 accounts read in save/account.txt, of which is no GM account and 5 server accounts ('S').
+2004-12-04 22:31:44.806: read_gm_account: file 'conf/GM_account.txt' read (5 GM accounts found).
+2004-12-04 22:31:44.806: The login-server is ready (Server is listening on the port 6900).
+2004-12-04 22:32:11.169: ----End of login-server (normal end with closing of all files).
+
+2004-12-04 22:32:23.937: The login-server starting...
+2004-12-04 22:32:23.937: The configuration of the server is set:
+2004-12-04 22:32:23.937: - with a remote administration with the DEFAULT password.
+2004-12-04 22:32:23.937: - to accept any IP for remote administration
+2004-12-04 22:32:23.937: - with the DEFAULT 'To GM become' password (gm_pass).
+2004-12-04 22:32:23.937: - to create GM with level '60' when @gm is used.
+2004-12-04 22:32:23.937: - to ALLOW new users (with _F/_M).
+2004-12-04 22:32:23.937: - with port: 6900.
+2004-12-04 22:32:23.937: - with the accounts file name: 'save/account.txt'.
+2004-12-04 22:32:23.937: - with the GM accounts file name: 'conf/GM_account.txt'.
+2004-12-04 22:32:23.937: - to check GM accounts file modifications every 15 seconds.
+2004-12-04 22:32:23.937: - to save password in plain text.
+2004-12-04 22:32:23.937: - with the unknown packets file name: 'log/login_unknown_packets.log'.
+2004-12-04 22:32:23.937: - to SAVE only unkown packets sending by a char-server or a remote administration.
+2004-12-04 22:32:23.938: - to NOT display normal parse packets on console.
+2004-12-04 22:32:23.938: - to NOT display administration parse packets on console.
+2004-12-04 22:32:23.938: - to NOT display char-server parse packets on console.
+2004-12-04 22:32:23.938: - with no minimum level for connection.
+2004-12-04 22:32:23.938: - to refuse adjustment (with timeadd ladmin) on an unlimited account. You must use timeset (ladmin command) before.
+2004-12-04 22:32:23.938: - to create new accounts with an unlimited time.
+2004-12-04 22:32:23.938: - with control of players IP between login-server and char-server.
+2004-12-04 22:32:23.938: - with the IP security order: 'deny,allow' (allow if not deny). You refuse no IP.
+2004-12-04 22:32:23.939: The LAN configuration of the server is set:
+2004-12-04 22:32:23.940: - with LAN IP of char-server: 127.0.0.1.
+2004-12-04 22:32:23.940: - with the sub-network of the char-server: 127.0.0.1/255.255.255.255.
+2004-12-04 22:32:23.945: 10 accounts read in save/account.txt, of which is no GM account and 5 server accounts ('S').
+2004-12-04 22:32:23.945: read_gm_account: file 'conf/GM_account.txt' read (5 GM accounts found).
+2004-12-04 22:32:23.946: The login-server is ready (Server is listening on the port 6900).
+2004-12-04 22:32:27.779: Connection request of the char-server 'eAthena' @ 127.0.0.1:6121 (ip: 127.0.0.1)
+2004-12-04 22:32:27.779: Authentification accepted (account: s1 (id: 0), ip: 127.0.0.1)
+2004-12-04 22:32:27.781: Connection of the char-server 'eAthena' accepted (account: s1, pass: p1, ip: 127.0.0.1)
diff --git a/mapbug.txt b/mapbug.txt
deleted file mode 100644
index 462bfc3f4..000000000
--- a/mapbug.txt
+++ /dev/null
@@ -1 +0,0 @@
-Last Fix: Added more sc_data checks in skill.c and pc.c [celest]
diff --git a/src/map/atcommand.c b/src/map/atcommand.c
index da3faa97f..5edbd488d 100644
--- a/src/map/atcommand.c
+++ b/src/map/atcommand.c
@@ -951,6 +951,8 @@ int atcommand_rurap(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+
+ nullpo_retr(-1, sd);
char map_name[100];
char character[100];
int x = 0, y = 0;
@@ -1016,6 +1018,7 @@ int atcommand_rura(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
char map_name[100];
int x = 0, y = 0;
int m;
@@ -1067,6 +1070,7 @@ int atcommand_where(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
char character[100];
char output[200];
struct map_session_data *pl_sd = NULL;
@@ -1102,6 +1106,7 @@ int atcommand_jumpto(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
char character[100];
char output[200];
struct map_session_data *pl_sd = NULL;
@@ -1147,6 +1152,7 @@ int atcommand_jump(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
char output[200];
int x = 0, y = 0;
@@ -1186,6 +1192,7 @@ int atcommand_who(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
char output[200];
struct map_session_data *pl_sd;
int i, j, count;
@@ -1243,6 +1250,7 @@ int atcommand_who2(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
char output[200];
struct map_session_data *pl_sd;
int i, j, count;
@@ -1300,6 +1308,7 @@ int atcommand_who3(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
char temp0[100];
char temp1[100];
char output[200];
@@ -1431,6 +1440,7 @@ int atcommand_whomap2(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
char output[200];
struct map_session_data *pl_sd;
int i, count;
@@ -1489,6 +1499,7 @@ int atcommand_whomap3(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
char temp0[100];
char temp1[100];
char output[200];
@@ -1563,6 +1574,7 @@ int atcommand_whogm(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
char temp0[100];
char temp1[100];
char output[200];
@@ -1635,6 +1647,7 @@ int atcommand_whozeny(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
char output[200];
struct map_session_data *pl_sd;
int i, j, count,c;
@@ -1702,7 +1715,7 @@ int atcommand_happyhappyjoyjoy(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
-
+ nullpo_retr(-1, sd);
struct map_session_data *pl_sd;
int i,e;
@@ -1726,6 +1739,7 @@ int atcommand_save(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
pc_setsavepoint(sd, sd->mapname, sd->bl.x, sd->bl.y);
if (sd->status.pet_id > 0 && sd->pd)
intif_save_petdata(sd->status.account_id, &sd->pet);
@@ -1745,6 +1759,7 @@ int atcommand_load(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
int m;
m = map_mapname2mapid(sd->status.save_point.map);
@@ -1771,6 +1786,7 @@ int atcommand_speed(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
char output[200];
int speed;
@@ -1806,6 +1822,7 @@ int atcommand_storage(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
storage_storageopen(sd);
return 0;
@@ -1819,6 +1836,7 @@ int atcommand_guildstorage(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
if (sd->status.guild_id > 0)
storage_guild_storageopen(sd);
@@ -1833,6 +1851,7 @@ int atcommand_option(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
int param1 = 0, param2 = 0, param3 = 0;
if (!message || !*message || sscanf(message, "%d %d %d", &param1, &param2, &param3) < 1 || param1 < 0 || param2 < 0 || param3 < 0) {
@@ -1894,6 +1913,7 @@ int atcommand_hide(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
if (sd->status.option & OPTION_HIDE) {
sd->status.option &= ~OPTION_HIDE;
clif_displaymessage(fd, msg_table[10]); // Invisible: Off
@@ -1914,6 +1934,7 @@ int atcommand_jobchange(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
int job = 0, upper = -1;
if (!message || !*message || sscanf(message, "%d %d", &job, &upper) < 1) {
@@ -1976,6 +1997,7 @@ int atcommand_die(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
clif_specialeffect(&sd->bl,450,1);
pc_damage(NULL, sd, sd->status.hp + 1);
clif_displaymessage(fd, msg_table[13]); // A pity! You've died.
@@ -1991,6 +2013,7 @@ int atcommand_kill(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
char character[100];
struct map_session_data *pl_sd;
@@ -2025,6 +2048,7 @@ int atcommand_alive(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
if (pc_isdead(sd)) {
sd->status.hp = sd->status.max_hp;
sd->status.sp = sd->status.max_sp;
@@ -2050,6 +2074,7 @@ int atcommand_kami(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
char output[200];
memset(output, '\0', sizeof(output));
@@ -2073,6 +2098,7 @@ int atcommand_heal(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
int hp = 0, sp = 0; // [Valaris] thanks to fov
sscanf(message, "%d %d", &hp, &sp);
@@ -2120,6 +2146,7 @@ int atcommand_item(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
char item_name[100];
int number = 0, item_id, flag;
struct item item_tmp;
@@ -2183,6 +2210,7 @@ int atcommand_item2(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
struct item item_tmp;
struct item_data *item_data;
char item_name[100];
@@ -2257,6 +2285,7 @@ int atcommand_itemreset(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
int i;
for (i = 0; i < MAX_INVENTORY; i++) {
@@ -2276,6 +2305,7 @@ int atcommand_itemcheck(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
pc_checkitem(sd);
return 0;
@@ -2289,6 +2319,7 @@ int atcommand_baselevelup(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
int level, i;
if (!message || !*message || (level = atoi(message)) == 0) {
@@ -2345,6 +2376,7 @@ int atcommand_joblevelup(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
int up_level = 50, level;
if (!message || !*message || (level = atoi(message)) == 0) {
@@ -2403,6 +2435,7 @@ int atcommand_help(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
char buf[2048], w1[2048], w2[2048];
int i, gm_level;
FILE* fp;
@@ -2443,6 +2476,7 @@ int atcommand_gm(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
char password[100];
memset(password, '\0', sizeof(password));
@@ -2469,6 +2503,7 @@ int atcommand_pvpoff(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
struct map_session_data *pl_sd;
int i;
@@ -2508,6 +2543,7 @@ int atcommand_pvpon(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
struct map_session_data *pl_sd;
int i;
@@ -2547,6 +2583,7 @@ int atcommand_gvgoff(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
if (map[sd->bl.m].flag.gvg) {
map[sd->bl.m].flag.gvg = 0;
clif_send0199(sd->bl.m, 0);
@@ -2567,6 +2604,7 @@ int atcommand_gvgon(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
if (!map[sd->bl.m].flag.gvg) {
map[sd->bl.m].flag.gvg = 1;
clif_send0199(sd->bl.m, 3);
@@ -2587,6 +2625,7 @@ int atcommand_model(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
int hair_style = 0, hair_color = 0, cloth_color = 0;
char output[200];
@@ -2627,6 +2666,7 @@ int atcommand_model(
*/
int atcommand_dye(const int fd, struct map_session_data* sd, const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
int cloth_color = 0;
char output[200];
@@ -2662,6 +2702,7 @@ int
atcommand_chardye(const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
return 0;
}
@@ -2671,6 +2712,7 @@ atcommand_chardye(const int fd, struct map_session_data* sd,
*/
int atcommand_hair_style(const int fd, struct map_session_data* sd, const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
int hair_style = 0;
char output[200];
@@ -2706,7 +2748,8 @@ int
atcommand_charhairstyle(const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
- return 0;
+ nullpo_retr(-1, sd);
+ return 0;
}
/*==========================================
@@ -2715,6 +2758,7 @@ atcommand_charhairstyle(const int fd, struct map_session_data* sd,
*/
int atcommand_hair_color(const int fd, struct map_session_data* sd, const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
int hair_color = 0;
char output[200];
@@ -2750,7 +2794,8 @@ int
atcommand_charhaircolor(const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
- return 0;
+ nullpo_retr(-1, sd);
+ return 0;
}
/*==========================================
@@ -2761,6 +2806,7 @@ int atcommand_go(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
int i;
int town;
char map_name[100];
@@ -2921,6 +2967,7 @@ int atcommand_monster(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
char name[100];
char monster[100];
char output[200];
@@ -3011,6 +3058,7 @@ int atcommand_monster(
int atcommand_spawn(
const int fd, struct map_session_data* sd,
const char* command, const char* message) {
+ nullpo_retr(-1, sd);
char name[100];
char monster[100];
char output[200];
@@ -3098,6 +3146,7 @@ int atcommand_spawn(
int atcommand_monstersmall(
const int fd, struct map_session_data* sd,
const char* command, const char* message) {
+ nullpo_retr(-1, sd);
char name[100] = "";
char monster[100] = "";
int mob_id = 0;
@@ -3175,6 +3224,7 @@ int atcommand_monstersmall(
int atcommand_monsterbig(
const int fd, struct map_session_data* sd,
const char* command, const char* message) {
+ nullpo_retr(-1, sd);
char name[100] = "";
char monster[100] = "";
int mob_id = 0;
@@ -3257,6 +3307,7 @@ void atcommand_killmonster_sub(
const int fd, struct map_session_data* sd, const char* message,
const int drop)
{
+ if (!sd) return;
int map_id;
char map_name[100];
@@ -3286,6 +3337,7 @@ int atcommand_killmonster(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ if (!sd) return 0;
atcommand_killmonster_sub(fd, sd, message, 1);
return 0;
@@ -3299,6 +3351,7 @@ int atcommand_killmonster2(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ if (!sd) return 0;
atcommand_killmonster_sub(fd, sd, message, 0);
return 0;
@@ -3312,6 +3365,7 @@ int atcommand_refine(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
int i, position = 0, refine = 0, current_position, final_refine;
int count;
char output[200];
@@ -3374,6 +3428,7 @@ int atcommand_produce(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
char item_name[100];
int item_id, attribute = 0, star = 0;
int flag = 0;
@@ -3433,6 +3488,7 @@ int atcommand_produce(
*------------------------------------------
*/
void atcommand_memo_sub(struct map_session_data* sd) {
+ if (!sd) return;
int i;
char output[200];
@@ -3458,6 +3514,7 @@ int atcommand_memo(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
int position = 0;
char output[200];
@@ -3501,6 +3558,7 @@ int atcommand_gat(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
char output[200];
int y;
@@ -3528,6 +3586,7 @@ int atcommand_packet(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
int x = 0, y = 0;
if (!message || !*message || sscanf(message, "%d %d", &x, &y) < 2) {
@@ -3548,6 +3607,7 @@ int atcommand_statuspoint(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
int point, new_status_point;
if (!message || !*message || (point = atoi(message)) == 0) {
@@ -3584,6 +3644,7 @@ int atcommand_skillpoint(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
int point, new_skill_point;
if (!message || !*message || (point = atoi(message)) == 0) {
@@ -3620,6 +3681,7 @@ int atcommand_zeny(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
int zeny, new_zeny;
if (!message || !*message || (zeny = atoi(message)) == 0) {
@@ -3656,6 +3718,7 @@ int atcommand_param(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
int i, index, value = 0, new_value;
const char* param[] = { "@str", "@agi", "@vit", "@int", "@dex", "@luk", NULL };
short* status[] = {
@@ -3717,6 +3780,7 @@ int atcommand_stat_all(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
int index, count, value = 0, new_value;
short* status[] = {
&sd->status.str, &sd->status.agi, &sd->status.vit,
@@ -3765,6 +3829,7 @@ int atcommand_guildlevelup(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
int level = 0;
short added_level;
struct guild *guild_info;
@@ -3808,6 +3873,7 @@ int atcommand_makeegg(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
struct item_data *item_data;
int id, pet_id;
@@ -3847,6 +3913,7 @@ int atcommand_hatch(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
if (sd->status.pet_id <= 0)
clif_sendegg(sd);
else {
@@ -3865,6 +3932,7 @@ int atcommand_petfriendly(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
int friendly;
int t;
@@ -3913,6 +3981,7 @@ int atcommand_pethungry(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
int hungry;
if (!message || !*message || (hungry = atoi(message)) < 0) {
@@ -3950,6 +4019,7 @@ int atcommand_petrename(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
if (sd->status.pet_id > 0 && sd->pd) {
if (sd->pet.rename_flag != 0) {
sd->pet.rename_flag = 0;
@@ -3977,6 +4047,7 @@ atcommand_recall(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
char character[100];
char output[200];
struct map_session_data *pl_sd = NULL;
@@ -4027,6 +4098,7 @@ int atcommand_revive(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
char character[100];
struct map_session_data *pl_sd;
@@ -4067,6 +4139,7 @@ int atcommand_char_change_sex(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
char character[100];
memset(character, '\0', sizeof(character));
@@ -4100,6 +4173,7 @@ int atcommand_char_block(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
char character[100];
memset(character, '\0', sizeof(character));
@@ -4144,6 +4218,7 @@ int atcommand_char_ban(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
char modif[100], character[100];
char * modif_p;
int year, month, day, hour, minute, second, value;
@@ -4221,6 +4296,7 @@ int atcommand_char_unblock(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
char character[100];
memset(character, '\0', sizeof(character));
@@ -4254,6 +4330,7 @@ int atcommand_char_unban(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
char character[100];
memset(character, '\0', sizeof(character));
@@ -4287,6 +4364,7 @@ int atcommand_night(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
struct map_session_data *pl_sd;
int i;
@@ -4322,6 +4400,7 @@ int atcommand_day(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
struct map_session_data *pl_sd;
int i;
@@ -4350,6 +4429,7 @@ int atcommand_doom(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
struct map_session_data *pl_sd;
int i;
clif_specialeffect(&sd->bl,450,2);
@@ -4373,6 +4453,7 @@ int atcommand_doommap(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
struct map_session_data *pl_sd;
int i;
clif_specialeffect(&sd->bl,450,3);
@@ -4417,6 +4498,7 @@ int atcommand_raise(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
int i;
for (i = 0; i < fd_max; i++) {
@@ -4436,6 +4518,7 @@ int atcommand_raisemap(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
struct map_session_data *pl_sd;
int i;
@@ -4456,6 +4539,7 @@ int atcommand_character_baselevel(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
struct map_session_data *pl_sd;
char character[100];
int level = 0, i;
@@ -4527,6 +4611,7 @@ int atcommand_character_joblevel(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
struct map_session_data *pl_sd;
char character[100];
int max_level = 50, level = 0;
@@ -4603,6 +4688,7 @@ int atcommand_kick(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
struct map_session_data *pl_sd;
char character[100];
@@ -4636,6 +4722,7 @@ int atcommand_kickall(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
struct map_session_data *pl_sd;
int i;
@@ -4660,6 +4747,7 @@ int atcommand_allskill(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
pc_allskillup(sd); // all skills
sd->status.skill_point = 0; // 0 skill points
clif_updatestatus(sd, SP_SKILLPOINT); // update
@@ -4676,6 +4764,7 @@ int atcommand_questskill(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
int skill_id;
if (!message || !*message || (skill_id = atoi(message)) < 0) {
@@ -4712,6 +4801,7 @@ int atcommand_charquestskill(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
char character[100];
struct map_session_data *pl_sd;
int skill_id = 0;
@@ -4757,6 +4847,7 @@ int atcommand_lostskill(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
int skill_id;
if (!message || !*message || (skill_id = atoi(message)) < 0) {
@@ -4795,6 +4886,7 @@ int atcommand_charlostskill(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
char character[100];
struct map_session_data *pl_sd;
int skill_id = 0;
@@ -4842,6 +4934,7 @@ int atcommand_spiritball(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
int number;
if (!message || !*message || (number = atoi(message)) < 0) {
@@ -4882,6 +4975,7 @@ int atcommand_party(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
char party[100];
memset(party, '\0', sizeof(party));
@@ -4904,6 +4998,7 @@ int atcommand_guild(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
char guild[100];
int prev;
@@ -4930,6 +5025,7 @@ int atcommand_agitstart(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
if (agit_flag == 1) {
clif_displaymessage(fd, msg_table[73]); // Already it has started siege warfare.
return -1;
@@ -4950,6 +5046,7 @@ int atcommand_agitend(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
if (agit_flag == 0) {
clif_displaymessage(fd, msg_table[75]); // Siege warfare hasn't started yet.
return -1;
@@ -4970,6 +5067,7 @@ int atcommand_mapexit(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
struct map_session_data *pl_sd;
int i;
@@ -4994,6 +5092,7 @@ int atcommand_idsearch(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
char item_name[100];
char output[200];
int i, match;
@@ -5031,6 +5130,7 @@ int atcommand_charskreset(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
char character[100];
char output[200];
struct map_session_data *pl_sd;
@@ -5068,6 +5168,7 @@ int atcommand_charstreset(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
char character[100];
char output[200];
struct map_session_data *pl_sd;
@@ -5105,6 +5206,7 @@ int atcommand_charmodel(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
int hair_style = 0, hair_color = 0, cloth_color = 0;
struct map_session_data *pl_sd;
char character[100];
@@ -5156,6 +5258,7 @@ int atcommand_charskpoint(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
struct map_session_data *pl_sd;
char character[100];
int new_skill_point;
@@ -5201,6 +5304,7 @@ int atcommand_charstpoint(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
struct map_session_data *pl_sd;
char character[100];
int new_status_point;
@@ -5246,6 +5350,7 @@ int atcommand_charzeny(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
struct map_session_data *pl_sd;
char character[100];
int zeny = 0, new_zeny;
@@ -5290,6 +5395,7 @@ int atcommand_recallall(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
struct map_session_data *pl_sd;
int i;
int count;
@@ -5330,6 +5436,7 @@ int atcommand_guildrecall(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
struct map_session_data *pl_sd;
int i;
char guild_name[100];
@@ -5385,6 +5492,7 @@ int atcommand_partyrecall(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
int i;
struct map_session_data *pl_sd;
char party_name[100];
@@ -5440,6 +5548,7 @@ int atcommand_reloaditemdb(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
itemdb_reload();
clif_displaymessage(fd, msg_table[97]); // Item database reloaded.
@@ -5454,6 +5563,7 @@ int atcommand_reloadmobdb(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
mob_reload();
clif_displaymessage(fd, msg_table[98]); // Monster database reloaded.
@@ -5468,6 +5578,7 @@ int atcommand_reloadskilldb(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
skill_reload();
clif_displaymessage(fd, msg_table[99]); // Skill database reloaded.
@@ -5486,6 +5597,7 @@ int atcommand_reloadscript(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
#ifndef TXT_ONLY
atcommand_broadcast( fd, sd, "@broadcast", "eAthena SQL Server is Rehashing..." );
atcommand_broadcast( fd, sd, "@broadcast", "You will feel a bit of lag at this point !" );
@@ -5512,6 +5624,7 @@ int atcommand_reloadgmdb( // by [Yor]
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
chrif_reloadGMdb();
clif_displaymessage(fd, msg_table[101]); // Login-server asked to reload GM accounts and their level.
@@ -5532,6 +5645,7 @@ int atcommand_mapinfo(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
struct map_session_data *pl_sd;
struct npc_data *nd = NULL;
struct chat_data *cd = NULL;
@@ -5669,6 +5783,7 @@ int atcommand_mount_peco(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
if (sd->disguise > 0) { // temporary prevention of crash caused by peco + disguise, will look into a better solution [Valaris]
clif_displaymessage(fd, msg_table[212]); // Cannot mount a Peco while in disguise.
return -1;
@@ -5714,6 +5829,7 @@ int atcommand_char_mount_peco(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
char character[100];
struct map_session_data *pl_sd;
@@ -5774,6 +5890,7 @@ int atcommand_guildspy(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
char guild_name[100];
char output[200];
struct guild *g;
@@ -5813,6 +5930,7 @@ int atcommand_partyspy(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
char party_name[100];
char output[200];
struct party *p;
@@ -5852,6 +5970,7 @@ int atcommand_repairall(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
int count, i;
count = 0;
@@ -5880,6 +5999,7 @@ int atcommand_nuke(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
char character[100];
struct map_session_data *pl_sd;
@@ -5914,6 +6034,7 @@ int atcommand_nuke(
int atcommand_enablenpc(const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
char NPCname[100];
memset(NPCname, '\0', sizeof(NPCname));
@@ -5941,6 +6062,7 @@ int atcommand_enablenpc(const int fd, struct map_session_data* sd,
int atcommand_disablenpc(const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
char NPCname[100];
memset(NPCname, '\0', sizeof(NPCname));
@@ -6011,6 +6133,7 @@ char * txt_time(unsigned int duration) {
int atcommand_servertime(const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
struct TimerData * timer_data;
struct TimerData * timer_data2;
time_t time_server; // variable for number of seconds (used with time() function)
@@ -6087,6 +6210,7 @@ int atcommand_servertime(const int fd, struct map_session_data* sd,
int atcommand_chardelitem(const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
struct map_session_data *pl_sd;
char character[100];
char item_name[100];
@@ -6155,6 +6279,7 @@ int atcommand_jail(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
char character[100];
struct map_session_data *pl_sd;
int x, y;
@@ -6207,6 +6332,7 @@ int atcommand_unjail(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
char character[100];
struct map_session_data *pl_sd;
@@ -6250,6 +6376,7 @@ int atcommand_disguise(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
int mob_id = 0;
if (!message || !*message) {
@@ -6288,6 +6415,7 @@ int atcommand_undisguise(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
if (sd->disguise) {
clif_clearchar(&sd->bl, 9);
sd->disguise = 0;
@@ -6309,6 +6437,7 @@ int atcommand_broadcast(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
char output[200];
memset(output, '\0', sizeof(output));
@@ -6332,6 +6461,7 @@ int atcommand_localbroadcast(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
char output[200];
memset(output, '\0', sizeof(output));
@@ -6356,6 +6486,7 @@ int atcommand_chardisguise(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
int mob_id;
char character[100];
char mob_name[100];
@@ -6410,6 +6541,7 @@ int atcommand_charundisguise(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
char character[100];
struct map_session_data* pl_sd;
@@ -6451,6 +6583,7 @@ int atcommand_email(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
char actual_email[100];
char new_email[100];
@@ -6490,6 +6623,7 @@ int atcommand_effect(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
struct map_session_data *pl_sd;
int type = 0, flag = 0, i;
@@ -6522,6 +6656,7 @@ atcommand_character_item_list(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
struct map_session_data *pl_sd;
struct item_data *item_data, *item_temp;
int i, j, equip, count, counter, counter2;
@@ -6635,6 +6770,7 @@ atcommand_character_storage_list(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
struct storage *stor;
struct map_session_data *pl_sd;
struct item_data *item_data, *item_temp;
@@ -6719,6 +6855,7 @@ atcommand_character_cart_list(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
struct map_session_data *pl_sd;
struct item_data *item_data, *item_temp;
int i, j, count, counter, counter2;
@@ -6798,6 +6935,7 @@ atcommand_killer(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
sd->special_state.killer = !sd->special_state.killer;
if(sd->special_state.killer)
@@ -6818,6 +6956,7 @@ atcommand_killable(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
sd->special_state.killable = !sd->special_state.killable;
if(sd->special_state.killable)
@@ -6838,6 +6977,7 @@ atcommand_charkillable(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
struct map_session_data *pl_sd = NULL;
if (!message || !*message)
@@ -6867,6 +7007,7 @@ atcommand_skillon(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
map[sd->bl.m].flag.noskill = 0;
clif_displaymessage(fd, msg_table[244]);
return 0;
@@ -6882,6 +7023,7 @@ atcommand_skilloff(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
map[sd->bl.m].flag.noskill = 1;
clif_displaymessage(fd, msg_table[243]);
return 0;
@@ -6897,6 +7039,7 @@ int
atcommand_npcmove(const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
char character[100];
int x = 0, y = 0;
struct npc_data *nd = 0;
@@ -6933,6 +7076,7 @@ int
atcommand_addwarp(const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
char w1[64], w3[64], w4[64];
char map[30], output[200];
int x,y,ret;
@@ -6966,6 +7110,7 @@ int
atcommand_follow(const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
struct map_session_data *pl_sd = NULL;
if (!message || !*message)
@@ -6988,6 +7133,7 @@ int
atcommand_chareffect(const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
struct map_session_data *pl_sd = NULL;
char target[255];
int type = 0;
@@ -7015,6 +7161,7 @@ int
atcommand_dropall(const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
int i;
for (i = 0; i < MAX_INVENTORY; i++) {
if (sd->status.inventory[i].amount) {
@@ -7036,6 +7183,7 @@ int
atcommand_chardropall(const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
int i;
struct map_session_data *pl_sd = NULL;
@@ -7068,6 +7216,7 @@ int
atcommand_storeall(const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
int i;
if (storage_storageopen(sd) == 1) {
clif_displaymessage(fd, "run this command again..");
@@ -7095,6 +7244,7 @@ int
atcommand_charstoreall(const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
int i;
struct map_session_data *pl_sd = NULL;
@@ -7135,6 +7285,7 @@ int
atcommand_skillid(const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
int skillen = 0, idx = 0;
if (!message || !*message)
return -1;
@@ -7161,6 +7312,7 @@ int
atcommand_useskill(const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
struct map_session_data *pl_sd = NULL;
int skillnum;
int skilllv;
@@ -7197,6 +7349,7 @@ int
atcommand_skilltree(const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
struct map_session_data *pl_sd = NULL;
int skillnum, skillidx = -1;
int meets = 1, j, c=0, s=0;
@@ -7278,6 +7431,7 @@ atcommand_rain(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
int effno = 0;
effno = 161;
nullpo_retr(-1, sd);
@@ -7297,6 +7451,7 @@ atcommand_snow(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
int effno = 0;
effno = 162;
nullpo_retr(-1, sd);
@@ -7317,6 +7472,7 @@ atcommand_sakura(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
int effno = 0;
effno = 163;
nullpo_retr(-1, sd);
@@ -7337,6 +7493,7 @@ atcommand_fog(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
int effno = 0;
effno = 233;
nullpo_retr(-1, sd);
@@ -7358,6 +7515,7 @@ atcommand_leaves(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
int effno = 0;
effno = 333;
nullpo_retr(-1, sd);
@@ -7377,6 +7535,7 @@ atcommand_summon(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
char name[100];
int mob_id = 0;
int x = 0;
@@ -7428,6 +7587,7 @@ atcommand_adjcmdlvl(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
int i, newlev;
char cmd[100];
@@ -7461,6 +7621,7 @@ atcommand_adjgmlvl(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
int newlev;
char user[100];
struct map_session_data *pl_sd;
@@ -7493,6 +7654,7 @@ atcommand_trade(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
struct map_session_data *pl_sd = NULL;
if (!message || !*message)
@@ -7514,6 +7676,7 @@ atcommand_setbattleflag(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
char flag[128], value[128];
if (!message || !*message || sscanf(message, "%s %s", flag, value) != 2) {
@@ -7538,6 +7701,7 @@ int atcommand_unmute(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
struct map_session_data *pl_sd = NULL;
if (!message || !*message)
return -1;
@@ -7564,6 +7728,7 @@ atcommand_uptime(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
char output[200];
long seconds = 0, day = 24*60*60, hour = 60*60,
minute = 60, days = 0, hours = 0, minutes = 0;
@@ -7592,6 +7757,7 @@ atcommand_changesex(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
chrif_changesex(sd->status.account_id, ((sd->status.sex+1)%2));
return 0;
}
@@ -7604,6 +7770,7 @@ int atcommand_mute(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
struct map_session_data *pl_sd = NULL;
char character[100];
int manner;
@@ -7634,7 +7801,7 @@ int atcommand_refresh(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
-
+ nullpo_retr(-1, sd);
nullpo_retr(-1, sd);
pc_setpos(sd, sd->mapname, sd->bl.x, sd->bl.y, 3);
return 0;
@@ -7649,6 +7816,7 @@ int
atcommand_petid(const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
char searchtext[100];
char temp0[100];
char temp1[100];
@@ -7723,6 +7891,7 @@ atcommand_gmotd(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
char buf[256];
FILE *fp;
if( (fp = fopen(motd_txt, "r"))!=NULL){
@@ -7745,6 +7914,7 @@ int atcommand_misceffect(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
int effect = 0;
nullpo_retr(-1, sd);
if (!message || !*message)
@@ -7765,7 +7935,8 @@ int atcommand_misceffect(
int atcommand_listmail(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
-{
+{
+ nullpo_retr(-1, sd);
if(!battle_config.mail_system)
return 0;
@@ -7784,6 +7955,7 @@ int atcommand_readmail(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
if(!battle_config.mail_system)
return 0;
@@ -7806,6 +7978,7 @@ int atcommand_sendmail(
const int fd, struct map_session_data* sd,
const char* command, const char* message)
{
+ nullpo_retr(-1, sd);
char name[24],text[80];
if(!battle_config.mail_system)
diff --git a/src/map/map.c b/src/map/map.c
index fe949013c..9f0ac1dde 100644
--- a/src/map/map.c
+++ b/src/map/map.c
@@ -2224,17 +2224,6 @@ void map_versionscreen(int flag) {
if (flag) exit(1);
}
-void map_displaybug(int flag) {
- FILE *fp;
- char line[1024];
- if ((fp=fopen("mapbug.txt","r"))!=NULL) {
- while(fgets(line,1023,fp)) printf(line);
- fclose(fp);
- } //don't show anything if file doesnt exist
- // this is only here when develing
- if (flag) exit(1);
-}
-
/*======================================================
* Map-Server Init and Command-line Arguments [Valaris]
*------------------------------------------------------
@@ -2255,7 +2244,6 @@ int do_init(int argc, char *argv[]) {
unsigned char *SCRIPT_CONF_NAME = "conf/script_athena.conf";
unsigned char *MSG_CONF_NAME = "conf/msg_athena.conf";
unsigned char *GRF_PATH_FILENAME = "conf/grf-files.txt";
- map_displaybug(0);
srand(gettick());
for (i = 1; i < argc ; i++) {