Jump to content
  • 0

Stylist modification


Nagad

Question


  • Group:  Members
  • Topic Count:  18
  • Topics Per Day:  0.01
  • Content Count:  54
  • Reputation:   0
  • Joined:  06/04/15
  • Last Seen:  

I have this one:

function	script	resetSavedSets	{
	set paletteClothesSlot1, $RacePals[race_id*4+2];
	set paletteHairSlot1, $RacePals[race_id*4];
	set paletteClothesSlot2,$RacePals[race_id*4+2];
	set paletteHairSlot2,$RacePals[race_id*4];
	set paletteClothesSlot3,$RacePals[race_id*4+2];
	set	paletteHairSlot3,$RacePals[race_id*4];
	return;
}


prontera,147,160,5	script	Stylist	2_M_DYEINGER,{

	callsub RaceDye,$RacePals[race_id*4],$RacePals[race_id*4+1],$RacePals[race_id*4+2],$RacePals[race_id*4+3];
	
RaceDye:
	mes "[^FF8000Stylist^000000]";
	mes "You are currently wearing:";
	mes "^000000Cloth color: ^0000FF"+callfunc("getlook2",7);
	mes "^000000Hair color: ^0000FF"+callfunc("getlook2",6);
	mes "^000000Hair style: ^0000FF"+getlook(1);
	next;
	mes "[^FF8000Stylist^000000]";
	mes "What would you like to change?";
	next;
	switch(select("Clothes color:Hair color:Hair style:Saved Dyes"))
	{
		case 1:
			mes "[^FF8000Stylist^000000]";
			
			if (race_id){
				mes "Choose a style to begin from between ^0000FF"+(getarg(2))+" and "+(getarg(3)-1)+"^000000.";
			}else{
				mes "Choose a style to begin from between ^0000FF"+getarg(2)+" and "+(getarg(3)-1)+"^000000.";
			}
			
			if ((getarg(3) == 693) || (getarg(3) == 700)) {
			
				set @d,4;
				
				mes "Ro Basic Unicolor : "+(@d)+" - "+(@d+32*1);
				mes "Ro Basic Analogic : "+(@d+32*1)+" - "+(@d+32*2);
				mes "Ro Basic Complementary : "+(@d+32*2)+" - "+(@d+32*3);
				
				mes "Dark Unicolor : "+(@d+32*3)+" - "+(@d+32*4);
				mes "Light Unicolor : "+(@d+32*4)+" - "+(@d+32*5);
				mes "Gold Autumn : "+(@d+32*5)+" - "+(@d+32*6);
				mes "Dark Gold : "+(@d+32*6)+" - "+(@d+32*7);
				mes "BadBoys: "+(@d+32*7)+" - "+(@d+32*8);
				
				mes "Dark Analogic : "+(@d+32*8)+" - "+(@d+32*9);
				mes "Light Analogic : "+(@d+32*9)+" - "+(@d+32*10);
				mes "Gold : "+(@d+32*10)+" - "+(@d+32*11);
				mes "Silver : "+(@d+32*11)+" - "+(@d+32*12);
				
				mes "Dark Complementary : "+(@d+32*12)+" - "+(@d+32*13);
				mes "Light Complementary : "+(@d+32*13)+" - "+(@d+32*14);
				mes "Passion Red : "+(@d+32*14)+" - "+(@d+32*15);
				mes "Full Mix : "+(@d+32*15)+" - "+(@d+32*16);
				
				mes "Paradize : "+(@d+32*16)+" - "+(@d+32*17);
				mes "Snow : "+(@d+32*17)+" - "+(@d+32*18);
				mes "Dark Neon : "+(@d+32*18)+" - "+(@d+32*19);
				mes "Black And White : "+(@d+32*19)+" - "+(@d+32*20);
				
				mes "Random : "+(@d+32*20)+" - "+(@d+700);
			}
			
			chose1:
			input (.@style, getarg(2), getarg(3));
			if(.@style < getarg(2) || .@style >= getarg(3))
			{
				mes "Style chosen is out of range.";
				goto chose1;
			}
			
			browse1:
			callfunc("setlook2", 7, .@style);
			dispbottom "This is style number "+.@style+".";
			switch(select("Next:Previous:I Like It!:[Save clothes]")){
				
				case 1:
					set .@style, .@style+1;
					if (.@style >= getarg(3)) set .@style, getarg(2);
					goto browse1;
					
				case 2:
					set .@style, .@style-1;
					if (.@style <= getarg(2)) set .@style, getarg(3)-1;
					goto browse1;
				
				case 3:
					next;
					mes "[^FF8000Stylist^000000]";
					mes "Perfect ! I am glad you found a style that fits you!";
					close;
				
				case 4:
					switch(select("Set 1:Set 2:Set 3")){
						
						case 1:
							set paletteClothesSlot1, .@style;
							break;
							
						case 2:
							set paletteClothesSlot2, .@style;
							break;
							
						case 3:
							set paletteClothesSlot3, .@style;
							break;

					}
					mes "Your style has been saved!";
					goto browse1;
					
			}
			
			close;

		case 2:
			mes "[^FF8000Stylist^000000]";
			mes "Choose a style to begin from between ^0000FF"+getarg(0)+" and "+(getarg(1)-1)+"^000000.";
			chose2:
			input (.@style, getarg(0), getarg(1));
			if(.@style < getarg(0) || .@style >= getarg(1))
			{
				mes "Style chosen is out of range.";
				goto chose2;
			}
			
			browse2:
			callfunc("setlook2",6,.@style);
			dispbottom "This is style number "+.@style+".";
			
			switch(select("Next:Previous:I Like It!:[Save dye]")){
				
				case 1:
					set .@style, .@style+1;
					if (.@style >= getarg(1)) set .@style, getarg(0);
					goto browse2;
					
				case 2:
					set .@style, .@style-1;
					if (.@style <= getarg(0)) set .@style, getarg(1)-1;
					goto browse2;
				
				case 3:
					next;
					mes "[^FF8000Stylist^000000]";
					mes "Perfect ! I am glad you found a style that fits you!";
					close;
					
				case 4:
					switch(select("Set 1:Set 2:Set 3")){
						
						case 1:
							set paletteHairSlot1, .@style;
							break;
							
						case 2:
							set paletteHairSlot2, .@style;
							break;
							
						case 3:
							set paletteHairSlot3, .@style;
							break;

					}
					mes "Your style has been saved!";
					goto browse2;
			}
			
			close;

		case 3:
			mes "[^FF8000Stylist^000000]";
			set .@maxH, 98; // Set this to your max hair style.

			mes "Choose a style to begin from between ^0000FF0 and "+.@maxH+"^000000.";
			chose3:
			input .@style;
			if(.@style < 0 || .@style > .@maxH)
			{
				mes "Style chosen is out of range.";
				goto chose3;
			}
			
			browse3:
			setlook 1,.@style;
			dispbottom "This is style number "+.@style+".";
			
			switch(select("Next:Previous:I Like It!")){
				
				case 1:
					set .@style, .@style+1;
					if (.@style > .@maxH) set .@style, 0;
					goto browse3;
					
				case 2:
					set .@style, .@style-1;
					if (.@style <= 0) set .@style, .@maxH;
					goto browse3;
				
				case 3:
					next;
					mes "[^FF8000Stylist^000000]";
					mes "Perfect ! I am glad you found a style that fits you!";
					close;
			}
			
			close;
			
		case 4:
			mes "[^FF8000Stylist^000000]";
			mes "Here are the color sets you saved:";
			mes "Which one do you want to wear ?";
			mes "Slot 1 : "+paletteClothesSlot1+", "+paletteHairSlot1+"";
			mes "Slot 2 : "+paletteClothesSlot2+", "+paletteHairSlot2+"";
			mes "Slot 3 : "+paletteClothesSlot3+", "+paletteHairSlot3+"";
			next;
			switch(select("Set 1:Set 2:Set 3")){
				case 1:
					callfunc("setlook2", 7, paletteClothesSlot1);
					callfunc("setlook2", 6, paletteHairSlot1);
					break;
					
				case 2:
					callfunc("setlook2", 7, paletteClothesSlot2);
					callfunc("setlook2", 6, paletteHairSlot2);
					break;
					
				case 3:
					callfunc("setlook2", 7, paletteClothesSlot3);
					callfunc("setlook2", 6, paletteHairSlot3);
					break;

			}
			mes "[^FF8000Stylist^000000]";
			mes "Here is the set that you like! See you later!";
			close;
			
	}
	


}

I want to add the options "Jump to" and "Revert to original" for everything (Clothes color, Hair color and Hair style), like the official stylist.

 

Also (if possible) the possibility to save even the Hair Style with Clothes and Hair colors (actually you can save only the combination of clothe + hair color in Set 1, 2 or 3 but you can not save the hair style with them)

 

Can someone modify it for me please?? :)

Edited by Nagad
Link to comment
Share on other sites

1 answer to this question

Recommended Posts


  • Group:  Members
  • Topic Count:  15
  • Topics Per Day:  0.00
  • Content Count:  152
  • Reputation:   78
  • Joined:  06/13/15
  • Last Seen:  

prontera,145,108,6	script	Stylist#custom_stylist	122,{
	setarray .@Styles[1],
		getbattleflag("max_cloth_color"),
		getbattleflag("max_hair_style"),
		getbattleflag("max_hair_color");
	setarray .@Look[1],
		LOOK_CLOTHES_COLOR,
		LOOK_HAIR,
		LOOK_HAIR_COLOR;
	set .@s, select(" ~ Cloth color: ~ Hairstyle: ~ Hair color");
	set .@Revert, getlook(.@Look[.@s]);
	set .@Style,1;
	while(1) {
		setlook .@Look[.@s], .@Style;
		message strcharinfo(0),"This is style #"+.@Style+".";
		set .@menu$, " ~ Next (^0055FF"+((.@Style!=.@Styles[.@s])?.@Style+1:1)+"^000000): ~ Previous (^0055FF"+((.@Style!=1)?.@Style-1:.@Styles[.@s])+"^000000): ~ Jump to...: ~ Revert to original (^0055FF"+.@Revert+"^000000)";
		switch(select(.@menu$)) {
		case 1:
			set .@Style, ((.@Style != .@Styles[.@s]) ? .@Style+1 : 1);
			break;
		case 2:
			set .@Style, ((.@Style != 1) ? .@Style-1 : .@Styles[.@s]);
			break;
		case 3:
			message strcharinfo(0),"Choose a style between 1 - "+.@Styles[.@s]+".";
			input .@Style,0,.@Styles[.@s];
			if (!.@Style)
				set .@Style, rand(1,.@Styles[.@s]);
			break;
		case 4:
			set .@Style, .@Revert;
			setlook .@Look[.@s], .@Revert;
			break;
		}
	}
}

try this for ' jump to ' and 'revert .. ' 

  • Upvote 1
Link to comment
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.   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.

×
×
  • Create New...