From 2b6f3618d99f725d224859d17344b640e0255d59 Mon Sep 17 00:00:00 2001 From: Lance Date: Sun, 19 Nov 2006 04:15:32 +0000 Subject: * Added 'cancel' button parsing in buildin_select menu system. Now scripts will continue to load if 'cancel' is pressed and 255 will be returned. modified Changelog-Trunk.txt modified notice.txt modified src/map/script.c git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9258 54d463be-8e91-2dee-dedb-b68131a5f0ec --- Changelog-Trunk.txt | 4 ++++ notice.txt | 4 ++-- src/map/script.c | 24 +++++++++++++----------- 3 files changed, 19 insertions(+), 13 deletions(-) diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt index ba8a2439c..4af5d9451 100644 --- a/Changelog-Trunk.txt +++ b/Changelog-Trunk.txt @@ -3,6 +3,10 @@ Date Added AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO INTO TRUNK. IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK. +2006/11/19 + * Added 'cancel' button parsing in buildin_select menu system. Now scripts will continue + to load if 'cancel' is pressed and 255 will be returned. [Lance] + 2006/11/17 * Corrected use of the party invitation reply packet, thanks to FlavioJS. [Skotlex] diff --git a/notice.txt b/notice.txt index 348ae98af..f08eec226 100644 --- a/notice.txt +++ b/notice.txt @@ -1,8 +1,8 @@ //Notice\\ This branch, "Trunk", might not be stable due to bugs and whatsoever. -It is highly recommended, if you have any dobts on using this svn version, -it is best if you use an eAthena Official Version or use RC5. +It is highly recommended, if you have any doubts on using this svn version, +it is best if you use an eAthena Official Version or use the Stable branch. on another note, if you found a bug, it is best if you report it on the eAthena forums as http://eathena.ws/ . If you have made yourself a fix for diff --git a/src/map/script.c b/src/map/script.c index 650429bcc..8afd23e26 100644 --- a/src/map/script.c +++ b/src/map/script.c @@ -10298,21 +10298,23 @@ int buildin_select(struct script_state *st) } clif_scriptmenu(script_rid2sd(st),st->oid,buf); aFree(buf); - } else if(sd->npc_menu==0xff){ // cansel - sd->state.menu_or_input=0; - st->state=END; - } else { - //Skip empty menu entries which weren't displayed on the client (Skotlex) - for(i=st->start+2;i< (st->start+2+sd->npc_menu) && sd->npc_menu < (st->end-st->start-2);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. + } /*else if(sd->npc_menu==0xff){ // Cancel will be parsed since this is select() [Lance] + sd->state.menu_or_input=0; + st->state=END; + }*/ else { + if(sd->npc_menu != 0xff){ + //Skip empty menu entries which weren't displayed on the client (Skotlex) + for(i=st->start+2;i< (st->start+2+sd->npc_menu) && sd->npc_menu < (st->end-st->start-2);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); - } - return 0; + } + return 0; } /*========================================== -- cgit v1.2.3-60-g2f50