Jump to content
  • 0
Sign in to follow this  
karazu

Advance Stylist will not automatically close after clicking Confirm

Question

// credits to Annierurufunction	script	ValueConvert	{	set .@num, atoi(""+getarg(0));	if ( .@num == 0 || .@num >= 2147483647 ) return getarg(0);	set .@l, getstrlen(""+.@num);	for ( set .@i,0; .@i < .@l; set .@i, .@i + 1 ) {		set .@num$, .@num % pow(10,.@i+1) / pow(10,.@i) + .@num$;			if ( (.@i+1) % 3 == 0 && .@i+1 != .@l ) set .@num$, ","+ .@num$;	}	return .@num$;}-	script	Stylist	-1,{OnTalk:	mes "[^0055FF ::: Adv. Stylist ::: ^000000]";	mes "I can change your appearance.";	if( .cost_size ){		mes " ";		mes "^777777[ SERVICES PAYMENT ]^000000";		for( .@i = 0; .@i < .menu_size; .@i++ )			if( .npc_mode & ( 1 << .@i ) )				if( .cost[.@i] )					mes "^0055FF"+.menu_name$[.@i]+" : ^777777"+ValueConvert( .cost[.@i] )+" "+.currency_name$[.@i]+"^000000";				else					mes "^0055FF"+.menu_name$[.@i]+" : ^777777Free of Charge^000000";	}	next;	@style = ( select( .npc_menu$ ) - 1 );	@style_value = getlook( .look_type[@style] );	deletearray .@blacklist;	switch( @style ){		case 0: .@blacklist$ = ","+getd( ".blacklist_hairstyle_"+Sex+"$" )+","; break;		case 1: .@blacklist$ = ","+getd( ".blacklist_haircolor_"+Sex+"$" )+","; break;		case 2: .@blacklist$ = ","+getd( ".blacklist_cloth_"+Sex+"$" )+","; break;		default: break;	}	.@style_number = .min_style[@style];	addtimer 1000,strnpcinfo(0)+"::OnPCLogoutEvent";	do{		message strcharinfo(0),.menu_name$[@style]+" : "+.@style_number+"th";		.@removed = 0;		if( compare( .@blacklist$,","+.@style_number+"," ) ){			message strcharinfo(0),"[ REMOVED ] "+.menu_name$[@style]+" : "+.@style_number+"th";			.@removed = 1;			// setlook .look_type[@style],.min_style[@style];		}else{			setlook .look_type[@style],.@style_number;		}				.@next = .@style_number + 1;		.@prev = .@style_number - 1;		if( .@next > .max_style[@style] ) .@next = .min_style[@style];		if( .@prev < .min_style[@style] ) .@prev = .max_style[@style];				@select = prompt( (( .@backward )?"Backward":"Forward" )+" - [ ^777777"+(( .@backward )? .@prev:.@next )+"th Style^000000 ]",					(( !.@backward )?"Backward":"Forward" )+" - [ ^777777"+(( !.@backward )? .@prev:.@next )+"th Style^000000 ]",					"Jump to a Style",					( .@removed )?"":"^0055FFOkay, I want this "+.menu_name$[@style]+"^000000" );							if( @select == 2 ) .@backward = !.@backward;				switch( @select ){			case 1:				case 2:				.@style_number = (( .@backward )? .@prev:.@next );				break;			case 3:					message strcharinfo(0),"Available Style : "+.min_style[@style]+" ~ "+.max_style[@style]+".";				input .@style_number,.min_style[@style],.max_style[@style];				break;			case 4:				.@atoi_currency = atoi( .currency$[@style] );				if( @style_value == .@style_number ){					message strcharinfo(0),"Swt..that is your original hairstyles.";					break;				} else if( .@atoi_currency ){					if( countitem( .@atoi_currency ) >= .cost[@style] ){						.@success = 1;						delitem .@atoi_currency,.cost[@style];					}				}else{					if( getd( ""+.currency$[@style] ) >= .cost[@style] ){						.@success = 1;						setd( ""+.currency$[@style] ),( getd( ""+.currency$[@style] ) - .cost[@style] );					}				}				if( .@success ){					message strcharinfo(0),"Enjoy your NEW "+.menu_name$[@style]+" !!";					@style_value = .@style_number;				}else{					mes "You dont have enough "+.currency_name$[@style]+" to change this "+.menu_name$[@style]+".";					mes "Cost : ^777777"+ValueConvert( .cost[@style] )+" "+.currency_name$[@style]+"^000000";					close2;				}			default:				setlook .look_type[@style],@style_value;				break;		}	}while( @select != 4 && @select != 255 );	deltimer strnpcinfo(0)+"::OnPCLogoutEvent";	@select = 0;	end;OnPCLogoutEvent:	if( @select )		setlook .look_type[@style],@style_value;	end;	OnInit:	// NPC Mode ( Bitmask )	//	1 - Enable Hairstyle	//	2 - Enable Hair Color	//	4 - Enable Cloth Color	.npc_mode = 7;		// Menu Name	setarray .menu_name$,		"Hair Style",		"Hair Color",		"Cloth Color";		// Payment Currency + Cost	// Can be ITEM ID or Any Variable.	setarray .currency$,		"671",	//	Hairstyle - Ex. TCG		 "671",	//	Hair Color - Ex. TCG		"671";	//	Cloth Color - Ex. TCG			setarray .cost,		10,	//	Hairstyle ( TCG )		10,	//	Hair Color ( TCG )		10;	//	Cloth Color ( TCG )			// Blacklisted Style for each style and each gender.	// --- Female ---	.blacklist_hairstyle_0$ = "2,4,6";	.blacklist_haircolor_0$ = "1,3,5";	.blacklist_cloth_0$ = "1,2,3";	// --- Male ---	.blacklist_hairstyle_1$ = "3,5,7";	.blacklist_haircolor_1$ = "2,4,6";	.blacklist_cloth_1$ = "4,5,6";	// Dont edit	setarray .min_style,getbattleflag( "min_hair_style" ),getbattleflag( "min_hair_color" ),getbattleflag( "min_cloth_color" );	setarray .max_style,getbattleflag( "max_hair_style" ),getbattleflag( "max_hair_color" ),getbattleflag( "max_cloth_color" );	.menu_size = getarraysize( .menu_name$ );	.cost_size = getarraysize( .cost );	setarray .look_type,LOOK_HAIR,LOOK_HAIR_COLOR,LOOK_CLOTHES_COLOR;	for( .npc_menu$ = ""; .@i < .menu_size; .@i++ )		.npc_menu$ = .npc_menu$ + ( ( .npc_mode & ( 1 << .@i ) )? .menu_name$[.@i]:"" ) +":";	for( .@i = 0; .@i < .cost_size; .@i++ ){		.@atoi = atoi( .currency$[.@i] );		.currency_name$[.@i] = ( ( !.@atoi || getitemname( .@atoi ) == "null" )? .currency$[.@i]:getitemname( .@atoi ) );	}	end;}// NPC Listsprontera,169,180,1	script	Adv. Stylist#main	878,{	doevent "Stylist::OnTalk";}prontera,115,181,5	duplicate(Adv. Stylist#main)	Adv. Stylist#1	878prontera,115,181,5	duplicate(Adv. Stylist#main)	Adv. Stylist#2	878prontera,115,181,5	duplicate(Adv. Stylist#main)	Adv. Stylist#3	878 

Can anyone check?

Edited by karazu

Share this post


Link to post
Share on other sites

4 answers to this question

Recommended Posts

  • 0

^

 

 

let me check

 

whats the NPC message?

 

is it You dont have enough?

 

I beleave that the problem is in line

-                    close2;

replace

+                    close;

Ignore this dont replace close2;  :)

 

what you need to do is to add in line

+                    close2;

 

or use this scrip instead

                if( .@success ){                    message strcharinfo(0),"Enjoy your NEW "+.menu_name$[@style]+" !!";                    @style_value = .@style_number;					close2;                }else{                    mes "You dont have enough "+.currency_name$[@style]+" to change this "+.menu_name$[@style]+".";                    mes "Cost : ^777777"+ValueConvert( .cost[@style] )+" "+.currency_name$[@style]+"^000000";                    close2;

Share this post


Link to post
Share on other sites
  • 0

let me check

 

whats the NPC message?

 

is it You dont have enough?

 

I beleave that the problem is in line

-                    close2;

replace

+                    close;

Share this post


Link to post
Share on other sites
  • 0

no message, its like when u confirm that that is the style that u want, after u click, it will just stock. however ur look is changed. u just need to type @go 0 to leave the npc.

 

 

 

 

I did try, problem still exist

Edited by karazu

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
Answer this question...

×   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.