//Edit: Changed the title since I got it finished/fixed it myself
Add in this block of code somewhere in NpcTalk.cs
Now to add Hairdyes, go to UseItem.cs and add this block of code.Quote:
case 10002:// Hairstyler
{
if (LinkBack == 0)
{
Text("Now i can offer three types of hairstyles: New styles, nostalgic styles and special styles. Would you like to cost 500 silvers to make a change?", CSocket);
Link("New styles.", 1, CSocket);
Link("Nostalgic styles.", 2, CSocket);
Link("Special styles.", 3, CSocket);
Link("Keep my current style.", 255, CSocket);
End(CSocket);
}
else if (LinkBack == 1 || LinkBack == 111)
{
Text("Which style would you like to choose from?", CSocket);
Link("New HairStyle01", 4, CSocket);
Link("New HairStyle02", 5, CSocket);
Link("New HairStyle03", 6, CSocket);
Link("New HairStyle04", 7, CSocket);
Link("New HairStyle05", 8, CSocket);
Link("New HairStyle06", 9, CSocket);
Link("New HairStyle07", 10, CSocket);
Link("Next.", 11, CSocket);
End(CSocket);
}
else if (LinkBack == 11)
{
Text("Which style would you like to choose from?", CSocket);
Link("New HairStyle08", 12, CSocket);
Link("New HairStyle09", 13, CSocket);
Link("New HairStyle10", 14, CSocket);
Link("New HairStyle11", 15, CSocket);
Link("New HairStyle12", 16, CSocket);
Link("Previous", 1, CSocket);
End(CSocket);
}
else if (LinkBack == 2 || LinkBack == 112)
{
if (LinkBack == 112)
{
CSocket.Send(ConquerPacket.Status(CSocket, 2, CSocket.Client.Hair, Struct.StatusTypes.HairStyle));
}
Text("Which style would you like to choose from?", CSocket);
Link("Nostalgic01", 17, CSocket);
Link("Nostalgic02", 18, CSocket);
Link("Nostalgic03", 19, CSocket);
Link("Nostalgic04", 20, CSocket);
Link("Nostalgic05", 21, CSocket);
Link("Nostalgic06", 22, CSocket);
Link("Nostalgic07", 23, CSocket);
Link("I changed my mind.", 255, CSocket);
End(CSocket);
}
else if (LinkBack == 3 || LinkBack == 113)
{
if (LinkBack == 113)
{
CSocket.Send(ConquerPacket.Status(CSocket, 2, CSocket.Client.Hair, Struct.StatusTypes.HairStyle));
}
Text("Which style would you like to choose from?", CSocket);
Link("Special01", 25, CSocket);
Link("Special02", 26, CSocket);
Link("Special03", 27, CSocket);
Link("Special04", 28, CSocket);
Link("Special05", 29, CSocket);
Link("I changed my mind.", 255, CSocket);
End(CSocket);
}
else if (LinkBack == 254)
{
if (CSocket.Client.Money >= 500)
{
Money(-500, CSocket);
CSocket.Send(ConquerPacket.Status(CSocket, 2, CSocket.Client.Hair, Struct.StatusTypes.HairStyle));
}
}
else if (LinkBack > 3 && LinkBack < 30 && LinkBack != 11)
{
if (CSocket.Client.Money >= 500)
{
Text("It's completed. Are you satisfied with your new hairstyle?", CSocket);
Link("Cool!", 254, CSocket);
if (LinkBack < 17)
Link("I want to change it.", 111, CSocket);
else if (LinkBack < 25)
Link("I want to change it.", 112, CSocket);
else if (LinkBack < 30)
Link("I want to change it.", 113, CSocket);
End(CSocket);
if (LinkBack == 4)
CSocket.Client.Hair = ushort.Parse(Convert.ToString(CSocket.Client.Hair)[0] + "30");
if (LinkBack == 5)
CSocket.Client.Hair = ushort.Parse(Convert.ToString(CSocket.Client.Hair)[0] + "31");
if (LinkBack == 6)
CSocket.Client.Hair = ushort.Parse(Convert.ToString(CSocket.Client.Hair)[0] + "32");
if (LinkBack == 7)
CSocket.Client.Hair = ushort.Parse(Convert.ToString(CSocket.Client.Hair)[0] + "33");
if (LinkBack == 8)
CSocket.Client.Hair = ushort.Parse(Convert.ToString(CSocket.Client.Hair)[0] + "34");
if (LinkBack == 9)
CSocket.Client.Hair = ushort.Parse(Convert.ToString(CSocket.Client.Hair)[0] + "35");
if (LinkBack == 10)
CSocket.Client.Hair = ushort.Parse(Convert.ToString(CSocket.Client.Hair)[0] + "36");
if (LinkBack == 12)
CSocket.Client.Hair = ushort.Parse(Convert.ToString(CSocket.Client.Hair)[0] + "37");
if (LinkBack == 13)
CSocket.Client.Hair = ushort.Parse(Convert.ToString(CSocket.Client.Hair)[0] + "38");
if (LinkBack == 14)
CSocket.Client.Hair = ushort.Parse(Convert.ToString(CSocket.Client.Hair)[0] + "39");
if (LinkBack == 15)
CSocket.Client.Hair = ushort.Parse(Convert.ToString(CSocket.Client.Hair)[0] + "40");
if (LinkBack == 16)
CSocket.Client.Hair = ushort.Parse(Convert.ToString(CSocket.Client.Hair)[0] + "41");
if (LinkBack == 17)
CSocket.Client.Hair = ushort.Parse(Convert.ToString(CSocket.Client.Hair)[0] + "11");
if (LinkBack == 18)
CSocket.Client.Hair = ushort.Parse(Convert.ToString(CSocket.Client.Hair)[0] + "12");
if (LinkBack == 19)
CSocket.Client.Hair = ushort.Parse(Convert.ToString(CSocket.Client.Hair)[0] + "13");
if (LinkBack == 20)
CSocket.Client.Hair = ushort.Parse(Convert.ToString(CSocket.Client.Hair)[0] + "14");
if (LinkBack == 21)
CSocket.Client.Hair = ushort.Parse(Convert.ToString(CSocket.Client.Hair)[0] + "15");
if (LinkBack == 22)
CSocket.Client.Hair = ushort.Parse(Convert.ToString(CSocket.Client.Hair)[0] + "16");
if (LinkBack == 23)
CSocket.Client.Hair = ushort.Parse(Convert.ToString(CSocket.Client.Hair)[0] + "17");
if (LinkBack == 24)
CSocket.Client.Hair = ushort.Parse(Convert.ToString(CSocket.Client.Hair)[0] + "10");
if (LinkBack == 25)
CSocket.Client.Hair = ushort.Parse(Convert.ToString(CSocket.Client.Hair)[0] + "21");
if (LinkBack == 26)
CSocket.Client.Hair = ushort.Parse(Convert.ToString(CSocket.Client.Hair)[0] + "22");
if (LinkBack == 27)
CSocket.Client.Hair = ushort.Parse(Convert.ToString(CSocket.Client.Hair)[0] + "23");
if (LinkBack == 28)
CSocket.Client.Hair = ushort.Parse(Convert.ToString(CSocket.Client.Hair)[0] + "24");
if (LinkBack == 29)
CSocket.Client.Hair = ushort.Parse(Convert.ToString(CSocket.Client.Hair)[0] + "25");
CSocket.Send(ConquerPacket.Status(CSocket, 2, CSocket.Client.Hair, Struct.StatusTypes.HairStyle));
ConquerPacket.ToLocal(ConquerPacket.SpawnCharacter (CSocket), CSocket.Client.X, CSocket.Client.Y, (int)CSocket.Client.Map, 0, CSocket.Client.ID);
}
else
{
Text("You have not enough money.", CSocket);
Link("I'm sorry.", 255, CSocket);
End(CSocket);
}
}
break;
}
That's all I have to offer at the moment sorry, I been kinda busy lately.Quote:
#region Hairdyes
case 1060030:// hairdye
{
CSocket.Client.Hair = ushort.Parse("3" + Convert.ToString(CSocket.Client.Hair)[1] + Convert.ToString(CSocket.Client.Hair)[2]);
CSocket.Send(ConquerPacket.Status(CSocket, 2, CSocket.Client.Hair, Struct.StatusTypes.HairStyle));
ConquerPacket.ToLocal(ConquerPacket.SpawnCharacter (CSocket), CSocket.Client.X, CSocket.Client.Y, (int)CSocket.Client.Map, 0, CSocket.Client.ID);
}
break;
case 1060040:// hairdye
{
CSocket.Client.Hair = ushort.Parse("9" + Convert.ToString(CSocket.Client.Hair)[1] + Convert.ToString(CSocket.Client.Hair)[2]);
CSocket.Send(ConquerPacket.Status(CSocket, 2, CSocket.Client.Hair, Struct.StatusTypes.HairStyle));
ConquerPacket.ToLocal(ConquerPacket.SpawnCharacter (CSocket), CSocket.Client.X, CSocket.Client.Y, (int)CSocket.Client.Map, 0, CSocket.Client.ID);
}
break;
case 1060050:// hairdye
{
CSocket.Client.Hair = ushort.Parse("8" + Convert.ToString(CSocket.Client.Hair)[1] + Convert.ToString(CSocket.Client.Hair)[2]);
CSocket.Send(ConquerPacket.Status(CSocket, 2, CSocket.Client.Hair, Struct.StatusTypes.HairStyle));
ConquerPacket.ToLocal(ConquerPacket.SpawnCharacter (CSocket), CSocket.Client.X, CSocket.Client.Y, (int)CSocket.Client.Map, 0, CSocket.Client.ID);
}
break;
case 1060060:// hairdye
{
CSocket.Client.Hair = ushort.Parse("7" + Convert.ToString(CSocket.Client.Hair)[1] + Convert.ToString(CSocket.Client.Hair)[2]);
CSocket.Send(ConquerPacket.Status(CSocket, 2, CSocket.Client.Hair, Struct.StatusTypes.HairStyle));
ConquerPacket.ToLocal(ConquerPacket.SpawnCharacter (CSocket), CSocket.Client.X, CSocket.Client.Y, (int)CSocket.Client.Map, 0, CSocket.Client.ID);
}
break;
case 1060070:// hairdye
{
CSocket.Client.Hair = ushort.Parse("6" + Convert.ToString(CSocket.Client.Hair)[1] + Convert.ToString(CSocket.Client.Hair)[2]);
CSocket.Send(ConquerPacket.Status(CSocket, 2, CSocket.Client.Hair, Struct.StatusTypes.HairStyle));
ConquerPacket.ToLocal(ConquerPacket.SpawnCharacter (CSocket), CSocket.Client.X, CSocket.Client.Y, (int)CSocket.Client.Map, 0, CSocket.Client.ID);
}
break;
case 1060080:// hairdye
{
CSocket.Client.Hair = ushort.Parse("5" + Convert.ToString(CSocket.Client.Hair)[1] + Convert.ToString(CSocket.Client.Hair)[2]);
CSocket.Send(ConquerPacket.Status(CSocket, 2, CSocket.Client.Hair, Struct.StatusTypes.HairStyle));
ConquerPacket.ToLocal(ConquerPacket.SpawnCharacter (CSocket), CSocket.Client.X, CSocket.Client.Y, (int)CSocket.Client.Map, 0, CSocket.Client.ID);
}
break;
case 1060090:// hairdye
{
CSocket.Client.Hair = ushort.Parse("4" + Convert.ToString(CSocket.Client.Hair)[1] + Convert.ToString(CSocket.Client.Hair)[2]);
CSocket.Send(ConquerPacket.Status(CSocket, 2, CSocket.Client.Hair, Struct.StatusTypes.HairStyle));
ConquerPacket.ToLocal(ConquerPacket.SpawnCharacter (CSocket), CSocket.Client.X, CSocket.Client.Y, (int)CSocket.Client.Map, 0, CSocket.Client.ID);
}
break;
#endregion






