Jump to content

Question

Posted

eathena svn here

how will i block specific number of hair style to this script

example i want that number 48 in hairstyle will be blocked and cant be chosen

 

zhakastia,111,67,3	script	Stylist	122,{

	set .@name$,"[^FF8000Stylist^000000]";
	setarray .@max[1],553,251,48;		// 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;
}

 

 

12 answers to this question

Recommended Posts

Posted
setarray .@blacklist[0],188,143,261;	// NPC will skip any cloth colors in this array.

 

Add number of hairstyle, clothcolor and haircolor.

but the description of that line is // NPC will skip any cloth colors in this array.

Posted

the script isnt compatible for eAthena ...

if you want to make it work in eathena...you have to change all these

.@i = 0;

to

set .@i,0;

i changed it to what you have said but i still have error

 

2lp8v7.png

  • 0
Posted

i have an error with the hairstyle reset to "0" i should fix it to 1 or a number other than 0

watch this vid

 

i already fix it...

original :
min_hair_style: 0
max_hair_style: 43
min_hair_color: 0
max_hair_color: 251
min_cloth_color: 0 
max_cloth_color: 553
 

after edit :
min_hair_style: 1
max_hair_style: 43
min_hair_color: 1
max_hair_color: 251
min_cloth_color: 1 
max_cloth_color: 553

 

tq for a nice script... ?

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.   Paste as plain text instead

  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.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...