Jump to content
Sign in to follow this  
javierlog08

Next2 Script Command

Recommended Posts

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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.