Sign in to follow this  
Followers 0
javierlog08

Next2 Script Command

5 posts in this topic

I had a problem like in this old Post From Rathena...
 
I got the solution to solve that problem, that is usually generated after  a menu choice.
 
Then in most of cases is imposible delete the Text after choice an item from the menu.
Seems that just append to existing npc's dialog.


luXyO4q.png
 
So.....
 
I create this new function called next2, Wich cleans the old text before choice a new menu item.
trun/src/map/script.c
BUILDIN(next2){	TBL_PC* sd;	int fd;	sd = script->rid2sd(st);	fd = sd->fd;	if( sd == NULL )		return true;	clif->scriptclear(sd,sd->npc_id);	return true;}AND APPENDvoid script_parse_builtin(void) {	struct script_function BUILDIN[] = {		// NPC interaction		BUILDIN_DEF(mes,"s*"),		BUILDIN_DEF(next,""),		BUILDIN_DEF(close,""),		BUILDIN_DEF(close2,""),		BUILDIN_DEF(menu,"sl*"),		BUILDIN_DEF(select,"s*"), //for future jA script compatibility		BUILDIN_DEF(prompt,"s*"),		BUILDIN_DEF(next2,""), //Javierlog08 NEXT comand simulation without CLICK next button from client                .....................................

 

i just append to my script  next2 after choice an menu item 
 

mes "Que nivel de jugador tienes?";if(select("Usuario Experto:Principiante")==1) { next2; cutin "jpn_anni02",2; mes "^9933ff[Rates]^000000"; mes "^A0A0A0~Usa el comando @rates^000000"; mes "^9933ff[Cartas MVPs]^000000";


END RESULT:

Sintiacutetulo-1-1.jpg

Edited by javierlog08

Share this post


Link to post
Share on other sites

Although you're showing a NPC, you're not dealing with a script; you're editing the source. Thus, will be moved to source releases.

Share this post


Link to post
Share on other sites

Its bit unnecessary modify source code for that, you just need to put a "next" before use menu commands. This "problem" as you say only happens when you use "select" or "menu" right after "mes".

 

But anyway, this command can reduce some lines of code.

Edited by Whimmyd89

Share this post


Link to post
Share on other sites

fd? who is waging uses.

 

work:

BUILDIN(next2){	TBL_PC* sd;	sd = script->rid2sd(st);	if( sd == NULL )		return true;	clif->scriptclear(sd,sd->npc_id);	return true;}

Share this post


Link to post
Share on other sites

 As @@Whimmyd89 mentioned, it's a neat idea, but kinda pointless. Just put "next;" before you use select()/prompt()/menu; and you get the same result basically, albeit with a next button to click before the menu pops up. And anyway, in my opinion, depending on the dialogue between the NPC and the player with menu selections, appending text to the message box after a menu selection (up to a reasonable limit so scrolling isn't necessary, or at least kept to a minimum) makes the "conversation" flow, like the player and NPC are having an actual conversation. But, that's just my personal preference at least.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0