Hayato Posted November 27, 2017 Group: Members Topic Count: 14 Topics Per Day: 0.01 Content Count: 66 Reputation: 10 Joined: 11/15/17 Last Seen: November 12, 2024 Share Posted November 27, 2017 Hi. Im looking for a NPC with only 1 option which is "Change to Alternative Outfit?/Change back to normal outfit?". or could somebody add it to this stylist please? // credits to Annieruru function 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 ::: 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 ); mes "Come back again next time. ^^"; @select = 0; close2; deltimer strnpcinfo(0)+"::OnPCLogoutEvent"; 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$, "Zeny", // Hairstyle - Ex. need Zeny "Zeny", // Hair Color - Ex. need Zeny "Zeny"; // Cloth Color - Ex. need Zeny setarray .cost, 50000, // Hairstyle ( 10,000 Zeny ) 50000, // Hair Color ( 10,000 Zeny ) 50000; // Cloth Color ( 10,000 Zeny ) // Blacklisted Style for each style and each gender. // --- Female --- .blacklist_hairstyle_0$ = "0"; .blacklist_haircolor_0$ = "99"; .blacklist_cloth_0$ = "99"; // --- Male --- .blacklist_hairstyle_1$ = "0"; .blacklist_haircolor_1$ = "99"; .blacklist_cloth_1$ = "99"; // 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 Lists prontera,184,216,4 script Stylist#main 878,{ doevent "Stylist::OnTalk"; } //prontera,149,184,5 duplicate(Adv. Stylist#main) Adv. Stylist#1 878 Quote Link to comment Share on other sites More sharing options...
0 hendra814 Posted November 28, 2017 Group: Members Topic Count: 59 Topics Per Day: 0.01 Content Count: 1281 Reputation: 170 Joined: 06/12/12 Last Seen: 45 minutes ago Share Posted November 28, 2017 (edited) 12 hours ago, rye305 said: Hi. Im looking for a NPC with only 1 option which is "Change to Alternative Outfit?/Change back to normal outfit?". or could somebody add it to this stylist please? // credits to Annieruru function 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 ::: 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 ); mes "Come back again next time. ^^"; @select = 0; close2; deltimer strnpcinfo(0)+"::OnPCLogoutEvent"; 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$, "Zeny", // Hairstyle - Ex. need Zeny "Zeny", // Hair Color - Ex. need Zeny "Zeny"; // Cloth Color - Ex. need Zeny setarray .cost, 50000, // Hairstyle ( 10,000 Zeny ) 50000, // Hair Color ( 10,000 Zeny ) 50000; // Cloth Color ( 10,000 Zeny ) // Blacklisted Style for each style and each gender. // --- Female --- .blacklist_hairstyle_0$ = "0"; .blacklist_haircolor_0$ = "99"; .blacklist_cloth_0$ = "99"; // --- Male --- .blacklist_hairstyle_1$ = "0"; .blacklist_haircolor_1$ = "99"; .blacklist_cloth_1$ = "99"; // 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 Lists prontera,184,216,4 script Stylist#main 878,{ doevent "Stylist::OnTalk"; } //prontera,149,184,5 duplicate(Adv. Stylist#main) Adv. Stylist#1 878 here my scrpt prontera,154,194,4 script Bodystyle Changer 122,{ set @nama$,"[^FF8000Stylist^000000]"; STYLISH: opendressroom(0); mes @nama$; mes "Do you want change your bodystyle?"; Lmain: menu "Yes",Lbodystyle,"No, Thanks",GJ; Lbodystyle: next; if ( class <= 4054 || class == 4060 || class == 4080 || class == 4081 || class == 4082 || class == 4096 || class >= 4112 ) { mes "Sorry, this service not available for your job."; end;} mes "^FF0000[ Super Stylist - Bodystyle ]^000000"; mes "Insert a bodystyle number"; mes "Bodystyles: 0 to 1"; input .@bodystyle; if (.@bodystyle < 0 || .@bodystyle > 1) { set .@bodystyle,0; } setlook LOOK_BODY2,.@bodystyle; next; mes "Are you done?"; menu "Back to menu",Lmain,"I'm done",SETUJU; SETUJU: next; mes @nama$; mes "Wow... You look so cool! Come to me if you want change bodystyle!"; close; GJ: next; mes @nama$; mes "Alright... Come to me if you want change bodystyle!"; close; } Edited November 28, 2017 by hendra814 Quote Link to comment Share on other sites More sharing options...
Question
Hayato
Hi.
Im looking for a NPC with only 1 option which is "Change to Alternative Outfit?/Change back to normal outfit?".
or could somebody add it to this stylist please?
// credits to Annieruru function 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 ::: 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 ); mes "Come back again next time. ^^"; @select = 0; close2; deltimer strnpcinfo(0)+"::OnPCLogoutEvent"; 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$, "Zeny", // Hairstyle - Ex. need Zeny "Zeny", // Hair Color - Ex. need Zeny "Zeny"; // Cloth Color - Ex. need Zeny setarray .cost, 50000, // Hairstyle ( 10,000 Zeny ) 50000, // Hair Color ( 10,000 Zeny ) 50000; // Cloth Color ( 10,000 Zeny ) // Blacklisted Style for each style and each gender. // --- Female --- .blacklist_hairstyle_0$ = "0"; .blacklist_haircolor_0$ = "99"; .blacklist_cloth_0$ = "99"; // --- Male --- .blacklist_hairstyle_1$ = "0"; .blacklist_haircolor_1$ = "99"; .blacklist_cloth_1$ = "99"; // 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 Lists prontera,184,216,4 script Stylist#main 878,{ doevent "Stylist::OnTalk"; } //prontera,149,184,5 duplicate(Adv. Stylist#main) Adv. Stylist#1 878
Link to comment
Share on other sites
1 answer to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.