// +-------------------------------------------+ // | Advanced Stylist | // +-------------------------------------------+ // | By: Hudelf | // +-------------------------------------------+ // | Current Version: 2.1 | // +-------------------------------------------+ // | Description: | // | This is the traditional stylist with | // | several new features. You can now scroll| // | backwards or forwards, and save up to | // | three palettes while logged in | // +-------------------------------------------+ // | Changelog: | // | 02/08/07 - 1.0 - Script finished | // | 06/04/07 - 2.0 - Rewrote entire script | // | Added new features | // | 11/07/07 - 2.1 - Changed var types | // | Fixed minor text issues | // +-------------------------------------------+ prontera.gat,164,171,1 script Stylist 122,{ set .@name$,"[^FF8000Stylist^000000]"; setarray .@max[1],300,251,24; // Number of cloths, haircolors, hairstyles in client setarray .@blacklist[0],188,143,261; // NPC will skip any cloth colors in this array. // Use for palettes that cause errors or just plain look bad. // Leave first value at 0 to disable. setarray .@type[1],7,6,1; // DO NOT EDIT set .@style,0; mes .@name$; mes "I can change your appearance for you if you'd like."; mes " "; mes "Just choose what you'd like to change:"; next; set .@s,select("Clothes color", "Hair color", "Hair style"); mes .@name$; mes "Alright, how would you like to search?"; next; menu "Start at the beginning",L_start, "Choose where to start",-; // CHOOSE WHERE TO START ===================================================== mes .@name$; mes "Alright, choose a style between ^0000FF0 and " +.@max[.@s]+ "^000000."; next; input .@style; if (.@style < 0 || .@style > .@max[.@s]) { mes .@name$; mes "Style chosen is out of range."; close; } L_start: setarray @revert[1],getlook(.@type[.@s]),0,0; mes .@name$; mes "Alright here we go, starting at style ^007700" +.@style+ "^000000."; next; // BEGINNING OF STYLE MENU LOOP ================================================ L_menuloop: if (.@blacklist[0]) { for (set .@f,0; .@f < getarraysize(.@blacklist); set .@f,.@f+1) { if (.@style == .@blacklist[.@f] && .@previous == 1 && .@s == 1) { message strcharinfo(0),"GM Message - Cloth " +.@style+ " was removed."; set .@style, .@style - 1; goto L_menuloop; } else if (.@style == .@blacklist[.@f] && .@s == 1) { message strcharinfo(0),"GM Message - Cloth " +.@style+ " was removed."; set .@style, .@style +1; goto L_menuloop; } } } setlook .@type[.@s],.@style; mes "This is style number ^007700" +.@style+ "^000000."; set .@next, .@style + 1; set .@prev, .@style - 1; // MAXIMUM MENU if (.@style == .@max[.@s]) { set .@next,0; message strcharinfo(0),"Limit Reached"; } // MINIMUM MENU ============================================================== if (.@style == 0) { set .@prev,.@max[.@s]; message strcharinfo(0),"Beginning Reached"; } // PREVIOUS MENU ============================================================= if (.@previous) { menu "^FF0000Previous - " +.@prev+ "^000000",L_prev, "^0000FFNext - " +.@next+ "^000000",L_next, "Jump to",L_jump, "Save",L_save, "Load",L_load; } // DEFAULT MENU ============================================================== menu "^0000FFNext - " +.@next+ "^000000",L_next, "^FF0000Previous - " +.@prev+ "^000000",L_prev, "Jump to",L_jump, "Save",L_save, "Load",L_load; L_next: set .@previous,0; set .@style, .@next; goto L_menuloop; L_prev: set .@previous,1; set .@style, .@prev; goto L_menuloop; L_jump: next; mes .@name$; mes "Choose which style you'd like to jump to:"; next; input .@style; if (.@style < 0 || .@style > .@max[.@s]) { mes .@name$; mes "Style chosen is out of range."; close; } goto L_menuloop; L_save: next; mes .@name$; mes "Choose which slot you'd like to save to:"; set .@x, select("Slot 1 - [" +@revert[1]+ "]", "Slot 2 - [" +@revert[2]+ "]", "Slot 3 - [" +@revert[3]+ "]"); setarray @revert[.@x], .@style; goto L_menuloop; L_load: next; mes .@name$; mes "Choose which slot you'd like to load from:"; set .@x, select("Slot 1 - [" +@revert[1]+ "]", "Slot 2 - [" +@revert[2]+ "]", "Slot 3 - [" +@revert[3]+ "]"); set .@style, @revert[.@x]; goto L_menuloop; }