summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/map/atcommand.c10
-rw-r--r--src/map/atcommand.h1
-rw-r--r--src/map/log.c24
-rw-r--r--src/map/map.c10
4 files changed, 22 insertions, 23 deletions
diff --git a/src/map/atcommand.c b/src/map/atcommand.c
index bf5d434c6..7a40bb4ed 100644
--- a/src/map/atcommand.c
+++ b/src/map/atcommand.c
@@ -721,7 +721,7 @@ is_atcommand(const int fd, struct map_session_data* sd, const char* message, int
if (!*str)
return AtCommand_None;
- type = atcommand(gmlvl > 0 ? gmlvl : pc_isGM(sd), str, &info);
+ type = atcommand(sd, gmlvl > 0 ? gmlvl : pc_isGM(sd), str, &info);
if (type != AtCommand_None) {
char command[100];
char output[200];
@@ -747,10 +747,6 @@ is_atcommand(const int fd, struct map_session_data* sd, const char* message, int
}
}
- // ToDo: Fix Logs :)
- if((log_config.gm) && (info.level >= log_config.gm))
- log_atcommand(sd, message);
-
return info.type;
}
@@ -761,7 +757,7 @@ is_atcommand(const int fd, struct map_session_data* sd, const char* message, int
*
*------------------------------------------
*/
-AtCommandType atcommand(const int level, const char* message, struct AtCommandInfo* info) {
+AtCommandType atcommand(struct map_session_data* sd, const int level, const char* message, struct AtCommandInfo* info) {
char* p = (char *)message; // it's 'char' and not 'const char' to have possibility to modify the first character if necessary
if (!info)
@@ -794,6 +790,8 @@ AtCommandType atcommand(const int level, const char* message, struct AtCommandIn
return AtCommand_None;
else
return AtCommand_Unknown;
+ } else if((log_config.gm) && (atcommand_info[i].level >= log_config.gm)) {
+ log_atcommand(sd, message);
}
memcpy(info, &atcommand_info[i], sizeof atcommand_info[i]);
} else {
diff --git a/src/map/atcommand.h b/src/map/atcommand.h
index 4dba383e3..dc623c71c 100644
--- a/src/map/atcommand.h
+++ b/src/map/atcommand.h
@@ -252,6 +252,7 @@ AtCommandType
is_atcommand(const int fd, struct map_session_data* sd, const char* message, int gmlvl);
AtCommandType atcommand(
+ struct map_session_data *sd,
const int level, const char* message, AtCommandInfo* info);
int get_atcommand_level(const AtCommandType type);
diff --git a/src/map/log.c b/src/map/log.c
index 770d6acca..67b32af4b 100644
--- a/src/map/log.c
+++ b/src/map/log.c
@@ -466,51 +466,51 @@ int log_config_read(char *cfgName)
else if(strcmpi(w1, "log_branch") == 0) {
strcpy(log_config.log_branch, w2);
- if(log_config.branch == 1)
+ if(log_config.branch > 0 && log_config.sql_logs < 1)
printf("Logging Dead Branch Usage to file `%s`.txt\n", w2);
} else if(strcmpi(w1, "log_drop") == 0) {
strcpy(log_config.log_drop, w2);
- if(log_config.drop == 1)
+ if(log_config.drop > 0 && log_config.sql_logs < 1)
printf("Logging Item Drops to file `%s`.txt\n", w2);
} else if(strcmpi(w1, "log_mvpdrop") == 0) {
strcpy(log_config.log_mvpdrop, w2);
- if(log_config.mvpdrop == 1)
+ if(log_config.mvpdrop > 0 && log_config.sql_logs < 1)
printf("Logging MVP Drops to file `%s`.txt\n", w2);
} else if(strcmpi(w1, "log_present") == 0) {
strcpy(log_config.log_present, w2);
- if(log_config.present == 1)
+ if(log_config.present > 0 && log_config.sql_logs < 1)
printf("Logging Present Usage & Results to file `%s`.txt\n", w2);
} else if(strcmpi(w1, "log_produce") == 0) {
strcpy(log_config.log_produce, w2);
- if(log_config.produce == 1)
+ if(log_config.produce > 0 && log_config.sql_logs < 1)
printf("Logging Producing to file `%s`.txt\n", w2);
} else if(strcmpi(w1, "log_refine") == 0) {
strcpy(log_config.log_refine, w2);
- if(log_config.refine == 1)
+ if(log_config.refine > 0 && log_config.sql_logs < 1)
printf("Logging Refining to file `%s`.txt\n", w2);
} else if(strcmpi(w1, "log_trade") == 0) {
strcpy(log_config.log_trade, w2);
- if(log_config.trade == 1)
+ if(log_config.trade > 0 && log_config.sql_logs < 1)
{
printf("Logging Item Trades");
- if(log_config.zeny == 1)
+ if(log_config.zeny > 0)
printf("and Zeny Trades");
printf(" to file `%s`.txt\n", w2);
}
} else if(strcmpi(w1, "log_vend") == 0) {
strcpy(log_config.log_vend, w2);
- if(log_config.vend == 1)
+ if(log_config.vend > 0 && log_config.sql_logs < 1)
printf("Logging Vending to file `%s`.txt\n", w2);
} else if(strcmpi(w1, "log_gm") == 0) {
strcpy(log_config.log_gm, w2);
- if(log_config.gm > 0)
+ if(log_config.gm > 0 && log_config.sql_logs < 1)
printf("Logging GM Level %d Commands to file `%s`.txt\n", log_config.gm, w2);
} else if(strcmpi(w1, "log_npc") == 0) {
strcpy(log_config.log_npc, w2);
- if(log_config.npc > 0)
+ if(log_config.npc > 0 && log_config.sql_logs < 1)
printf("Logging NPC 'logmes' to file `%s`.txt\n", w2);
//support the import command, just like any other config
- } else if(strcmpi(w1,"import")==0){
+ } else if(strcmpi(w1,"import") == 0) {
log_config_read(w2);
}
}
diff --git a/src/map/map.c b/src/map/map.c
index ae99c477b..0ba13519f 100644
--- a/src/map/map.c
+++ b/src/map/map.c
@@ -2680,8 +2680,8 @@ int do_init(int argc, char *argv[]) {
#ifndef TXT_ONLY
unsigned char *SQL_CONF_NAME="conf/inter_athena.conf";
- unsigned char *LOG_CONF_NAME="conf/log_athena.conf";
#endif
+ unsigned char *LOG_CONF_NAME="conf/log_athena.conf";
unsigned char *MAP_CONF_NAME = "conf/map_athena.conf";
unsigned char *BATTLE_CONF_FILENAME = "conf/battle_athena.conf";
unsigned char *ATCOMMAND_CONF_FILENAME = "conf/atcommand_athena.conf";
@@ -2715,10 +2715,10 @@ int do_init(int argc, char *argv[]) {
GRF_PATH_FILENAME = argv[i+1];
#ifndef TXT_ONLY
else if (strcmp(argv[i],"--sql_config") == 0 || strcmp(argv[i],"--sql-config") == 0)
- SQL_CONF_NAME = argv[i+1];
- else if (strcmp(argv[i],"--log_config") == 0 || strcmp(argv[i],"--log-config") == 0)
- LOG_CONF_NAME = argv[i+1];
+ SQL_CONF_NAME = argv[i+1];
#endif /* not TXT_ONLY */
+ else if (strcmp(argv[i],"--log_config") == 0 || strcmp(argv[i],"--log-config") == 0)
+ LOG_CONF_NAME = argv[i+1];
else if (strcmp(argv[i],"--run_once") == 0) // close the map-server as soon as its done.. for testing [Celest]
runflag = 0;
}
@@ -2758,8 +2758,8 @@ int do_init(int argc, char *argv[]) {
script_config_read(SCRIPT_CONF_NAME);
#ifndef TXT_ONLY
sql_config_read(SQL_CONF_NAME);
- log_config_read(LOG_CONF_NAME);
#endif /* not TXT_ONLY */
+ log_config_read(LOG_CONF_NAME);
atexit(do_final);