diff options
Diffstat (limited to 'src/map')
-rw-r--r-- | src/map/atcommand.c | 47 | ||||
-rw-r--r-- | src/map/atcommand.h | 2 | ||||
-rw-r--r-- | src/map/charcommand.c | 47 | ||||
-rw-r--r-- | src/map/charcommand.h | 1 | ||||
-rw-r--r-- | src/map/npc.c | 9 |
5 files changed, 56 insertions, 50 deletions
diff --git a/src/map/atcommand.c b/src/map/atcommand.c index afc752d2e..b530376a1 100644 --- a/src/map/atcommand.c +++ b/src/map/atcommand.c @@ -131,7 +131,6 @@ ACMD_FUNC(charreset); ACMD_FUNC(charstpoint); ACMD_FUNC(charmodel); ACMD_FUNC(charskpoint); -ACMD_FUNC(charzeny); ACMD_FUNC(agitstart); ACMD_FUNC(agitend); ACMD_FUNC(reloaditemdb); @@ -379,7 +378,6 @@ static AtCommandInfo atcommand_info[] = { { AtCommand_CharModel, "@charmodel", 50, atcommand_charmodel }, { AtCommand_CharSKPoint, "@charskpoint", 60, atcommand_charskpoint }, { AtCommand_CharSTPoint, "@charstpoint", 60, atcommand_charstpoint }, - { AtCommand_CharZeny, "@charzeny", 60, atcommand_charzeny }, { AtCommand_MapInfo, "@mapinfo", 99, atcommand_mapinfo }, { AtCommand_Dye, "@dye", 40, atcommand_dye }, // by fritz { AtCommand_Dye, "@ccolor", 40, atcommand_dye }, // by fritz @@ -5391,51 +5389,6 @@ int atcommand_charstpoint( } /*========================================== - * Character Zeny Point (Rewritten by [Yor]) - *------------------------------------------ - */ -int atcommand_charzeny( - const int fd, struct map_session_data* sd, - const char* command, const char* message) -{ - struct map_session_data *pl_sd; - char character[100]; - int zeny = 0, new_zeny; - nullpo_retr(-1, sd); - - memset(character, '\0', sizeof(character)); - - if (!message || !*message || sscanf(message, "%d %99[^\n]", &zeny, character) < 2 || zeny == 0) { - clif_displaymessage(fd, "Please, enter a number and a player name (usage: @charzeny <zeny> <name>)."); - return -1; - } - - if ((pl_sd = map_nick2sd(character)) != NULL) { - new_zeny = pl_sd->status.zeny + zeny; - if (zeny > 0 && (zeny > MAX_ZENY || new_zeny > MAX_ZENY)) // fix positiv overflow - new_zeny = MAX_ZENY; - else if (zeny < 0 && (zeny < -MAX_ZENY || new_zeny < 0)) // fix negativ overflow - new_zeny = 0; - if (new_zeny != pl_sd->status.zeny) { - pl_sd->status.zeny = new_zeny; - clif_updatestatus(pl_sd, SP_ZENY); - clif_displaymessage(fd, msg_table[211]); // Character's number of zenys changed! - } else { - if (zeny < 0) - clif_displaymessage(fd, msg_table[41]); // Impossible to decrease the number/value. - else - clif_displaymessage(fd, msg_table[149]); // Impossible to increase the number/value. - return -1; - } - } else { - clif_displaymessage(fd, msg_table[3]); // Character not found. - return -1; - } - - return 0; -} - -/*========================================== * Recall All Characters Online To Your Location *------------------------------------------ */ diff --git a/src/map/atcommand.h b/src/map/atcommand.h index a6c0a5e9e..0458c8ae1 100644 --- a/src/map/atcommand.h +++ b/src/map/atcommand.h @@ -115,7 +115,7 @@ enum AtCommandType { AtCommand_CharModel, AtCommand_CharSKPoint, AtCommand_CharSTPoint, - AtCommand_CharZeny, +// AtCommand_CharZeny, //now #zeny AtCommand_RecallAll, AtCommand_ReloadItemDB, AtCommand_ReloadMobDB, diff --git a/src/map/charcommand.c b/src/map/charcommand.c index 893266396..b5a3ba2f1 100644 --- a/src/map/charcommand.c +++ b/src/map/charcommand.c @@ -48,6 +48,7 @@ CCMD_FUNC(effect); CCMD_FUNC(storagelist); CCMD_FUNC(item); CCMD_FUNC(warp); +CCMD_FUNC(zeny); #ifdef TXT_ONLY /* TXT_ONLY */ @@ -84,6 +85,7 @@ static CharCommandInfo charcommand_info[] = { { CharCommandWarp, "#warp", 60, charcommand_warp }, { CharCommandWarp, "#rura", 60, charcommand_warp }, { CharCommandWarp, "#rura+", 60, charcommand_warp }, + { CharCommandZeny, "#zeny", 60, charcommand_zeny }, #ifdef TXT_ONLY /* TXT_ONLY */ @@ -1131,3 +1133,48 @@ int charcommand_warp( return 0; } + +/*========================================== + * #zeny <charname> + *------------------------------------------ + */ +int charcommand_zeny( + const int fd, struct map_session_data* sd, + const char* command, const char* message) +{ + struct map_session_data *pl_sd; + char character[100]; + int zeny = 0, new_zeny; + nullpo_retr(-1, sd); + + memset(character, '\0', sizeof(character)); + + if (!message || !*message || sscanf(message, "%d %99[^\n]", &zeny, character) < 2 || zeny == 0) { + clif_displaymessage(fd, "Please, enter a number and a player name (usage: #zeny <zeny> <name>)."); + return -1; + } + + if ((pl_sd = map_nick2sd(character)) != NULL) { + new_zeny = pl_sd->status.zeny + zeny; + if (zeny > 0 && (zeny > MAX_ZENY || new_zeny > MAX_ZENY)) // fix positiv overflow + new_zeny = MAX_ZENY; + else if (zeny < 0 && (zeny < -MAX_ZENY || new_zeny < 0)) // fix negativ overflow + new_zeny = 0; + if (new_zeny != pl_sd->status.zeny) { + pl_sd->status.zeny = new_zeny; + clif_updatestatus(pl_sd, SP_ZENY); + clif_displaymessage(fd, msg_table[211]); // Character's number of zenys changed! + } else { + if (zeny < 0) + clif_displaymessage(fd, msg_table[41]); // Impossible to decrease the number/value. + else + clif_displaymessage(fd, msg_table[149]); // Impossible to increase the number/value. + return -1; + } + } else { + clif_displaymessage(fd, msg_table[3]); // Character not found. + return -1; + } + + return 0; +} diff --git a/src/map/charcommand.h b/src/map/charcommand.h index de7e83680..0bc3b3f8a 100644 --- a/src/map/charcommand.h +++ b/src/map/charcommand.h @@ -17,6 +17,7 @@ enum CharCommandType { CharCommandStorageList, CharCommandItem, // by MC Cameri CharCommandWarp, + CharCommandZeny, #ifdef TXT_ONLY /* TXT_ONLY */ diff --git a/src/map/npc.c b/src/map/npc.c index 43b97b055..4a7704740 100644 --- a/src/map/npc.c +++ b/src/map/npc.c @@ -1605,7 +1605,12 @@ static int npc_parse_script(char *w1,char *w2,char *w3,char *w4,char *first_line // 引数の個数チェック if (sscanf(w1,"%[^,],%d,%d,%d",mapname,&x,&y,&dir) != 4 || ( strcmp(w2,"script")==0 && strchr(w4,',')==NULL) ) { - printf("bad script line : %s\n",w3); + if (strlen(current_file)) { + printf("\n"); + sprintf(tmp_output,"Bad script on line '"CL_WHITE"%s"CL_RESET"' fro" + "m file '"CL_WHITE"%s"CL_RESET"'.\n",w3,current_file); + ShowError(tmp_output); + } return 1; } m = map_mapname2mapid(mapname); @@ -2411,7 +2416,7 @@ int do_init_npc(void) add_timer_func_list(npc_event_timer,"npc_event_timer"); add_timer_func_list(npc_event_do_clock,"npc_event_do_clock"); add_timer_func_list(npc_timerevent,"npc_timerevent"); - + memset(current_file,'\0',sizeof(current_file)); //exit(1); return 0; |