summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2007-01-22 15:10:15 +0000
committerskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2007-01-22 15:10:15 +0000
commit265ee7b10968a5368f80ccb47f5b8b8ce5492d89 (patch)
tree189647298d75fa384214e8fbda8aeddff24ea57d
parent7ec5611976e5b04a947cca187bbd33431d2df52c (diff)
downloadhercules-265ee7b10968a5368f80ccb47f5b8b8ce5492d89.tar.gz
hercules-265ee7b10968a5368f80ccb47f5b8b8ce5492d89.tar.bz2
hercules-265ee7b10968a5368f80ccb47f5b8b8ce5492d89.tar.xz
hercules-265ee7b10968a5368f80ccb47f5b8b8ce5492d89.zip
- Removed sd->max_menu, sd->npc_menu is now reused to store what is the max number of valid entries and prevent clients from picking invalid options.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9690 54d463be-8e91-2dee-dedb-b68131a5f0ec
-rw-r--r--src/map/clif.c2
-rw-r--r--src/map/map.h2
-rw-r--r--src/map/script.c6
3 files changed, 5 insertions, 5 deletions
diff --git a/src/map/clif.c b/src/map/clif.c
index aaab364d4..f5fad25e4 100644
--- a/src/map/clif.c
+++ b/src/map/clif.c
@@ -10023,7 +10023,7 @@ void clif_parse_NpcSelectMenu(int fd,struct map_session_data *sd)
RFIFOHEAD(fd);
select = RFIFOB(fd,6);
- if((select > sd->max_menu && select != 0xff) || !select){
+ if((select > sd->npc_menu && select != 0xff) || !select){
ShowWarning("Hack on NPC Select Menu: %s (AID: %d)!\n",sd->status.name,sd->bl.id);
clif_GM_kick(sd,sd,0);
} else {
diff --git a/src/map/map.h b/src/map/map.h
index e78ea9dcd..8f553ab01 100644
--- a/src/map/map.h
+++ b/src/map/map.h
@@ -628,7 +628,7 @@ struct map_session_data {
unsigned int client_tick;
int npc_id,areanpc_id,npc_shopid;
int npc_item_flag; //Marks the npc_id with which you can use items during interactions with said npc (see script command enable_itemuse)
- int npc_menu, max_menu;
+ int npc_menu;
int npc_amount;
struct script_state *st;
char npc_str[256];
diff --git a/src/map/script.c b/src/map/script.c
index b4e484c44..03ff19973 100644
--- a/src/map/script.c
+++ b/src/map/script.c
@@ -4403,7 +4403,7 @@ int buildin_menu(struct script_state *st)
if(buf[i] == ':')
max++;
}
- sd->max_menu = max;
+ sd->npc_menu = max; //Reuse to store max menu entries. Avoids the need of an extra variable.
clif_scriptmenu(sd,st->oid,buf);
aFree(buf);
} else if(sd->npc_menu==0xff){ // cancel
@@ -10637,7 +10637,7 @@ int buildin_select(struct script_state *st)
if(buf[i] == ':')
max++;
}
- sd->max_menu = max;
+ sd->npc_menu = max; //Reuse to store max menu entries. Avoids the need of an extra variable.
clif_scriptmenu(sd,st->oid,buf);
aFree(buf);
} else if(sd->npc_menu==0xff){
@@ -10683,7 +10683,7 @@ int buildin_prompt(struct script_state *st)
if(buf[i] == ':')
max++;
}
- sd->max_menu = max;
+ sd->npc_menu = max; //Reuse to store max menu entries. Avoids the need of an extra variable.
clif_scriptmenu(sd,st->oid,buf);
aFree(buf);
} else {