diff options
author | ultramage <ultramage@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2007-05-25 20:54:47 +0000 |
---|---|---|
committer | ultramage <ultramage@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2007-05-25 20:54:47 +0000 |
commit | 54385260051f2b09138aed6c57b1f889ce766c7a (patch) | |
tree | ac5e21d3da44008cede2fcaaa84f448425c0043f /src/map | |
parent | 604aa8ea6b8691e0b886bc55830930c65226e600 (diff) | |
download | hercules-54385260051f2b09138aed6c57b1f889ce766c7a.tar.gz hercules-54385260051f2b09138aed6c57b1f889ce766c7a.tar.bz2 hercules-54385260051f2b09138aed6c57b1f889ce766c7a.tar.xz hercules-54385260051f2b09138aed6c57b1f889ce766c7a.zip |
- Fixed @statall giving you +99 stats instead of setting them to 99
- Fixed npctalk and @npctalk displaying the # part of the name
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10619 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map')
-rw-r--r-- | src/map/atcommand.c | 19 | ||||
-rw-r--r-- | src/map/script.c | 11 |
2 files changed, 17 insertions, 13 deletions
diff --git a/src/map/atcommand.c b/src/map/atcommand.c index 87bf2a4d5..36b3964aa 100644 --- a/src/map/atcommand.c +++ b/src/map/atcommand.c @@ -3950,7 +3950,7 @@ int atcommand_param(const int fd, struct map_session_data* sd, const char* comma *------------------------------------------*/ int atcommand_stat_all(const int fd, struct map_session_data* sd, const char* command, const char* message) { - int index, count, value = 0, max, new_value; + int index, count, value, max, new_value; short* status[6]; //we don't use direct initialization because it isn't part of the c standard. nullpo_retr(-1, sd); @@ -3962,11 +3962,14 @@ int atcommand_stat_all(const int fd, struct map_session_data* sd, const char* co status[4] = &sd->status.dex; status[5] = &sd->status.luk; - if (!message || !*message || sscanf(message, "%d", &value) < 1 || value == 0) + if (!message || !*message || sscanf(message, "%d", &value) < 1 || value == 0) { value = pc_maxparameter(sd); + max = pc_maxparameter(sd); + } else { + max = SHRT_MAX; + } count = 0; - max = SHRT_MAX; for (index = 0; index < (int)(sizeof(status) / sizeof(status[0])); index++) { if (value > 0 && *status[index] > max - value) @@ -7315,18 +7318,18 @@ int atcommand_npctalk(const int fd, struct map_session_data* sd, const char* com (sd->sc.data[SC_NOCHAT].timer != -1 && sd->sc.data[SC_NOCHAT].val1&MANNER_NOCHAT))) return -1; - if (!message || !*message || sscanf(message, "%23[^,],%99[^\n]", name, mes) < 2) { - clif_displaymessage(fd, "Please, enter the correct info (usage: @npctalk <npc name> <message>)."); + if (!message || !*message || sscanf(message, "%23[^,], %99[^\n]", name, mes) < 2) { + clif_displaymessage(fd, "Please, enter the correct info (usage: @npctalk <npc name>, <message>)."); return -1; } - if (!(nd = npc_name2id(name))) - { + if (!(nd = npc_name2id(name))) { clif_displaymessage(fd, msg_txt(111)); // This NPC doesn't exist return -1; } - snprintf(temp, sizeof temp ,"%s: %s",name,mes); + strtok(name, "#"); // discard extra name identifier if present + snprintf(temp, sizeof(temp), "%s : %s", name, mes); clif_message(&nd->bl, temp); return 0; diff --git a/src/map/script.c b/src/map/script.c index 8dd8cf071..e2395aab4 100644 --- a/src/map/script.c +++ b/src/map/script.c @@ -11006,16 +11006,17 @@ BUILDIN_FUNC(message) *------------------------------------------*/ BUILDIN_FUNC(npctalk) { - const char *str; + const char* str; char message[255]; - struct npc_data *nd=(struct npc_data *)map_id2bl(st->oid); - str=script_getstr(st,2); + struct npc_data* nd = (struct npc_data *)map_id2bl(st->oid); + str = script_getstr(st,2); if(nd) { memcpy(message, nd->name, NAME_LENGTH); - strcat(message," : "); - strncat(message,str, 254); //Prevent overflow possibility. [Skotlex] + strtok(message, "#"); // discard extra name identifier if present + strcat(message, " : "); + strncat(message, str, 254); //Prevent overflow possibility. [Skotlex] clif_message(&(nd->bl), message); } |