Added close3 script command (#7439)
Thanks to @aleos89 @Lemongrass3110 @vstumpf !
This commit is contained in:
parent
eb8587f5b5
commit
526a3fa048
@ -1229,6 +1229,12 @@ Don't expect things to run smoothly if you don't make your scripts 'end'.
|
||||
|
||||
---------------------------------------
|
||||
|
||||
*close3;
|
||||
|
||||
The command is similar to 'close' but the cutin (if any) is cleared after closing.
|
||||
|
||||
---------------------------------------
|
||||
|
||||
*end;
|
||||
|
||||
This command will stop the execution for this particular script. The two
|
||||
|
@ -752,15 +752,6 @@ function script F_GetPlatinumSkills {
|
||||
return;
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////
|
||||
// Shortcut : close button and clear cutin.
|
||||
//////////////////////////////////////////////////////////////////////////////////
|
||||
function script close3 {
|
||||
close2;
|
||||
cutin "",255;
|
||||
end;
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////
|
||||
// Return true if the card is a charm (enchant card), false otherwise.
|
||||
//////////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -2286,6 +2286,8 @@ bool npc_scriptcont(struct map_session_data* sd, int id, bool closing){
|
||||
// close
|
||||
case CLOSE:
|
||||
sd->st->state = END;
|
||||
if (sd->st->clear_cutin)
|
||||
clif_cutin(sd,"",255);
|
||||
break;
|
||||
// close2
|
||||
case STOP:
|
||||
|
@ -4977,20 +4977,26 @@ BUILDIN_FUNC(clear)
|
||||
/// close;
|
||||
BUILDIN_FUNC(close)
|
||||
{
|
||||
TBL_PC* sd;
|
||||
struct map_session_data* sd;
|
||||
|
||||
if( !script_rid2sd(sd) )
|
||||
return SCRIPT_CMD_SUCCESS;
|
||||
|
||||
const char* command = script_getfuncname( st );
|
||||
|
||||
if( !st->mes_active ) {
|
||||
st->state = END; // Keep backwards compatibility.
|
||||
ShowWarning("Incorrect use of 'close' command!\n");
|
||||
ShowWarning("buildin_close: Incorrect use of '%s' command!\n", command);
|
||||
script_reportsrc(st);
|
||||
} else {
|
||||
st->state = CLOSE;
|
||||
st->mes_active = 0;
|
||||
}
|
||||
|
||||
if( !strcmp(command, "close3") ){
|
||||
st->clear_cutin = true;
|
||||
}
|
||||
|
||||
clif_scriptclose(sd, st->oid);
|
||||
return SCRIPT_CMD_SUCCESS;
|
||||
}
|
||||
@ -26890,6 +26896,7 @@ struct script_function buildin_func[] = {
|
||||
BUILDIN_DEF(clear,""),
|
||||
BUILDIN_DEF(close,""),
|
||||
BUILDIN_DEF(close2,""),
|
||||
BUILDIN_DEF2(close, "close3", ""),
|
||||
BUILDIN_DEF(menu,"sl*"),
|
||||
BUILDIN_DEF(select,"s*"), //for future jA script compatibility
|
||||
BUILDIN_DEF(prompt,"s*"),
|
||||
|
@ -328,6 +328,7 @@ struct script_state {
|
||||
unsigned op2ref : 1;// used by op_2
|
||||
unsigned npc_item_flag : 1;
|
||||
unsigned mes_active : 1; // Store if invoking character has a NPC dialog box open.
|
||||
unsigned clear_cutin : 1;
|
||||
char* funcname; // Stores the current running function name
|
||||
unsigned int id;
|
||||
};
|
||||
|
Loading…
x
Reference in New Issue
Block a user