summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorReid <reidyaro@gmail.com>2016-08-04 01:07:41 +0000
committerReid <reidyaro@gmail.com>2016-08-04 01:07:41 +0000
commitf1efb34969c42a2eba29d972731d96e6ab467b3f (patch)
tree83f5b3306fd3f62fe95a04c404316368736d04e9
parent04d08c1b5f1bc4e9b4676b68d75530453aefce43 (diff)
parentb79920677e694ab904ce729b3bf6fc9df42f2882 (diff)
downloadserverdata-f1efb34969c42a2eba29d972731d96e6ab467b3f.tar.gz
serverdata-f1efb34969c42a2eba29d972731d96e6ab467b3f.tar.bz2
serverdata-f1efb34969c42a2eba29d972731d96e6ab467b3f.tar.xz
serverdata-f1efb34969c42a2eba29d972731d96e6ab467b3f.zip
Merge branch 'change_barber' into 'master'
add BarberSayStyle function in barber.txt, and add new line on the top of menu of edouard Add BarberSayStyle in barber.txt Add line in the top of menu of Edouard. Player can ask now, what is the name of hairstyle. See merge request !26
-rw-r--r--npc/001-2-29/edouard.txt18
-rw-r--r--npc/config/hairstyle_config.txt24
-rw-r--r--npc/functions/barber.txt135
-rw-r--r--npc/scripts.conf3
4 files changed, 103 insertions, 77 deletions
diff --git a/npc/001-2-29/edouard.txt b/npc/001-2-29/edouard.txt
index d3a73ca9..2cd948df 100644
--- a/npc/001-2-29/edouard.txt
+++ b/npc/001-2-29/edouard.txt
@@ -36,29 +36,33 @@
do
{
menuint
- l("I'd like to get a different style."), 1,
- l("Can you do something with my color?"), 2,
- l("What's your story again?"), 3,
- l("I'm fine for now, thank you."), 4;
+ l("What is my current hairstyle and hair color?"), 1,
+ l("I'd like to get a different style."), 2,
+ l("Can you do something with my color?"), 3,
+ l("What's your story again?"), 4,
+ l("I'm fine for now, thank you."), 5;
switch (@menuret)
{
case 1:
+ BarberSayStyle 3;
+ break;
+ case 2:
BarberChangeStyle;
speech 5,
l("Enjoy your new style.");
l("Anything else?");
break;
- case 2:
+ case 3:
BarberChangeColor;
speech 5,
l("I hope you like this color.");
l("Anything else?");
break;
- case 3:
+ case 4:
tellStory;
break;
- case 4:
+ case 5:
speech 5,
l("Feel free to come visit me another time.");
diff --git a/npc/config/hairstyle_config.txt b/npc/config/hairstyle_config.txt
new file mode 100644
index 00000000..de2d0467
--- /dev/null
+++ b/npc/config/hairstyle_config.txt
@@ -0,0 +1,24 @@
+// Hairstyle config
+// set array of style and colors
+
+001-2-29,37,31,0 script hairstyle_config NPC_HIDDEN,0,0,{
+
+ end;
+
+OnInit:
+ setarray $@hairstyle$[0], "(none)", "Bald", "Bowl cut", "Combed back",
+ "Emo", "Mohawk", "Pompadour", "Center parting", "Long and slick",
+ "Short and curly", "Pigtails", "Long and curly", "Parted",
+ "Perky ponytail", "Wave", "Mane", "Bun", "Wavy", "Bunches",
+ "Long ponytail", "Infinitely long", "Choppy", "Wild", "Punk",
+ "Imperial", "Side strand", "Messy", "Flat ponytail",
+ "Tapered Nape";
+
+ setarray $@haircolor$[0], "Off black", "Ash brown", "Dark brown",
+ "Dark copper", "Auburn brown", "Honey brown", "Copper blonde",
+ "Golden blonde", "Pure platinum", "Cherry blossom", "Pinky pink",
+ "Fire red", "Light violet", "Purple plum", "Navy blue",
+ "Lagoon blue", "Twisted teal", "Spring Green", "Forest Green",
+ "Silver Grey", "Esperia Blue";
+ end;
+}
diff --git a/npc/functions/barber.txt b/npc/functions/barber.txt
index 7240d138..b08e52d6 100644
--- a/npc/functions/barber.txt
+++ b/npc/functions/barber.txt
@@ -1,65 +1,72 @@
// Evol scripts.
// Authors:
+// omatt
// Reid
// Travolta
// Description:
// Function for supporting barber NPC.
+function script BarberSayStyle {
+
+ .@get_color = getlook (LOOK_HAIR_COLOR);
+ .@get_look = getlook (LOOK_HAIR);
+ .@style_name$ = $@hairstyle$[.@get_look];
+ .@color_name$ = $@haircolor$[.@get_color];
+
+ switch (getarg(0))
+ {
+ case 1:
+ message strcharinfo(0), l("@@", .@style_name$);
+ break;
+ case 2:
+ message strcharinfo(0), l("@@", .@color_name$);
+ break;
+ case 3:
+ speech 4,
+ l("Your hairstyle is @@ and its color is @@.", .@style_name$, .@color_name$);
+ break;
+ }
+ return;
+}
function script BarberChangeStyle {
do
{
+ .@hairsizearray = getarraysize($@hairstyle$);
.@get_look = getlook (LOOK_HAIR);
- menuint
- l("As you want!"), 0,
- rif(.@get_look != 1, l("Bald")), 1,
- rif(.@get_look != 2, l("Bowl cut")), 2,
- rif(.@get_look != 3, l("Combed back")), 3,
- rif(.@get_look != 4, l("Emo")), 4,
- rif(.@get_look != 5, l("Mohawk")), 5,
- rif(.@get_look != 6, l("Pompadour")), 6,
- rif(.@get_look != 7, l("Center parting")), 7,
- rif(.@get_look != 8, l("Long and slick")), 8,
- rif(.@get_look != 9, l("Short and curly")), 9,
- rif(.@get_look != 10, l("Pigtails")), 10,
- rif(.@get_look != 11, l("Long and curly")), 11,
- rif(.@get_look != 12, l("Parted")), 12,
- rif(.@get_look != 13, l("Perky ponytail")), 13,
- rif(.@get_look != 14, l("Wave")), 14,
- rif(.@get_look != 15, l("Mane")), 15,
- rif(.@get_look != 16, l("Bun")), 16,
- rif(.@get_look != 17, l("Wavy")), 17,
- rif(.@get_look != 18, l("Bunches")), 18,
- rif(.@get_look != 19, l("Long ponytail")), 19,
- rif(.@get_look != 20, l("Infinitely long")), 20,
- rif(.@get_look != 21, l("Choppy")), 21,
- rif(.@get_look != 22, l("Wild")), 22,
- rif(.@get_look != 23, l("Punk")), 23,
- rif(.@get_look != 24, l("Imperial")), 24,
- rif(.@get_look != 25, l("Side strand")), 25,
- rif(.@get_look != 26, l("Messy")), 26,
- rif(.@get_look != 27, l("Flat ponytail")), 27,
- rif(.@get_look != 28, l("Tapered nape")), 28,
- l("Hmm, I'm fine for now, thank you."), 29;
+ // Here .@i starts from 1 because hairstyle 0 doesn't exist.
+ for (.@i = 1; .@i < .@hairsizearray; .@i++)
+ {
+ .@menustr$ = .@menustr$
+ + rif(.@get_look != .@i, l("" + $@hairstyle$[.@i] + ""))
+ + ":";
+ }
+
+ .@menustr$ = .@menustr$ + l("I'm fine for now, thank you.");
+
+ .@idx = select(l("As you want!"),.@menustr$);
+
+ if (.@idx == .@i + 1) return; // last choice for quit dialog
- switch (@menuret)
+ switch (@menu)
{
- case 0:
+ case 1:
do
{
- .@rand_hair = rand(1,28);
+ // here "- 1" because i don't use the 0 of array
+ .@rand_hair = rand(1,(.@hairsizearray - 1));
} while (.@rand_hair == getlook (LOOK_HAIR));
setlook LOOK_HAIR, .@rand_hair;
setlook LOOK_HAIR_COLOR, getlook (LOOK_HAIR_COLOR);
-
+ BarberSayStyle 1;
break;
- case 29:
- return;
default:
- setlook LOOK_HAIR, @menuret;
+ // and here "- 1" because the first choice is take by the random.
+ setlook LOOK_HAIR, (@menu - 1);
setlook LOOK_HAIR_COLOR, getlook (LOOK_HAIR_COLOR);
break;
}
+ .@menustr$ = "";
} while (1);
}
@@ -67,49 +74,37 @@ function script BarberChangeColor {
do
{
.@get_look = getlook (LOOK_HAIR_COLOR);
+ .@hairsizearray = getarraysize($@haircolor$);
- menuint
- l("Surprise me!"), 21,
- rif(.@get_look != 0, l("Off black")), 0,
- rif(.@get_look != 1, l("Ash brown")), 1,
- rif(.@get_look != 2, l("Dark brown")), 2,
- rif(.@get_look != 3, l("Dark copper")), 3,
- rif(.@get_look != 4, l("Auburn brown")), 4,
- rif(.@get_look != 5, l("Honey brown")), 5,
- rif(.@get_look != 6, l("Copper blonde")), 6,
- rif(.@get_look != 7, l("Golden blonde")), 7,
- rif(.@get_look != 8, l("Pure platinum")), 8,
- rif(.@get_look != 9, l("Cherry blossom")), 9,
- rif(.@get_look != 10, l("Pinky pink")), 10,
- rif(.@get_look != 11, l("Fire red")), 11,
- rif(.@get_look != 12, l("Light violet")), 12,
- rif(.@get_look != 13, l("Purple plum")), 13,
- rif(.@get_look != 14, l("Navy blue")), 14,
- rif(.@get_look != 15, l("Lagoon blue")), 15,
- rif(.@get_look != 16, l("Twisted teal")), 16,
- rif(.@get_look != 17, l("Spring green")), 17,
- rif(.@get_look != 18, l("Forest green")), 18,
- rif(.@get_look != 19, l("Silver grey")), 19,
- rif(.@get_look != 20, l("Esperia blue")), 20,
- l("Hmm, I'm fine for now, thank you."), 22;
+ for (.@i = 0; .@i < .@hairsizearray; .@i++)
+ {
+ .@menustr$ = .@menustr$
+ + rif(.@get_look != .@i, l("" + $@haircolor$[.@i] + ""))
+ + ":";
+ }
- switch (@menuret)
+ .@menustr$ = l("Surprise me!") + ":" + .@menustr$ + l("I'm fine for now, thank you.");
+
+ .@idx = select(.@menustr$);
+
+ if (.@idx == .@i + 2) return;
+
+ switch (@menu)
{
- case 21:
+ case 1:
do
{
- .@rand_color = rand(0, 21);
+ .@rand_color = rand(0, .@hairsizearray);
} while (.@rand_color == getlook (LOOK_HAIR_COLOR));
setlook LOOK_HAIR_COLOR, .@rand_color;
-
+ BarberSayStyle 2;
break;
- case 22:
- return;
default:
- setlook LOOK_HAIR_COLOR, @menuret;
+ setlook LOOK_HAIR_COLOR, (@menu - 2);
break;
}
+ .@menustr$ = "";
} while (1);
return;
-} \ No newline at end of file
+}
diff --git a/npc/scripts.conf b/npc/scripts.conf
index 4f602628..8dd4d06f 100644
--- a/npc/scripts.conf
+++ b/npc/scripts.conf
@@ -37,5 +37,8 @@ npc: npc/commands/music.txt
npc: npc/commands/warp.txt
npc: npc/commands/zeny.txt
+// config script
+npc: npc/config/hairstyle_config.txt
+
// Maps specific scripts
import: npc/_import.txt