From 265ee7b10968a5368f80ccb47f5b8b8ce5492d89 Mon Sep 17 00:00:00 2001 From: skotlex Date: Mon, 22 Jan 2007 15:10:15 +0000 Subject: - 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 --- src/map/clif.c | 2 +- src/map/map.h | 2 +- src/map/script.c | 6 +++--- 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 { -- cgit v1.2.3-70-g09d2