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

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×
×
  • Create New...

Important Information

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