From 263a6ed472cf53802701a41577b96a62c571c10f Mon Sep 17 00:00:00 2001 From: skotlex Date: Tue, 19 Sep 2006 23:06:42 +0000 Subject: - Added support for skipping empty string menu entries for the select() command (just as `menu` has it already) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8816 54d463be-8e91-2dee-dedb-b68131a5f0ec --- Changelog-Trunk.txt | 2 ++ src/map/script.c | 7 ++++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt index c743e1800..ef3977707 100644 --- a/Changelog-Trunk.txt +++ b/Changelog-Trunk.txt @@ -4,6 +4,8 @@ AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK. 2006/09/19 + * Added support for skipping empty string menu entries for the select() + command (just as `menu` has it already) [Skotlex] * Fixed pc_set_hate_mob letting you place mobs on any of the three positions regardless of size [Skotlex] * The double continuation error will now display both scripts that diff --git a/src/map/script.c b/src/map/script.c index 805bfe0c2..1d8436047 100644 --- a/src/map/script.c +++ b/src/map/script.c @@ -10219,7 +10219,12 @@ int buildin_select(struct script_state *st) sd->state.menu_or_input=0; st->state=END; } else { -// pc_setreg(sd,add_str((unsigned char *) "l15"),sd->npc_menu); + //Skip empty menu entries which weren't displayed on the client (Skotlex) + for(i=st->start+2;i<= (st->start+sd->npc_menu) && sd->npc_menu<(st->end-st->start);i++) { + conv_str(st,& (st->stack->stack_data[i])); // we should convert variables to strings before access it [jA1983] [EoE] + if((int)strlen(st->stack->stack_data[i].u.str) < 1) + sd->npc_menu++; //Empty selection which wasn't displayed on the client. + } pc_setreg(sd,add_str((unsigned char *) "@menu"),sd->npc_menu); sd->state.menu_or_input=0; push_val(st->stack,C_INT,sd->npc_menu); -- cgit v1.2.3-60-g2f50