hello ppl iam go release item socket npc full like real co the % to open the second socket is 10% you can chance if you wanna
this npc is for version 5165
Code:
#region Item Socket
case 550:
{
if (Control == 0)
{
GC.AddSend(Packets.NPCSay("Hey did you hear about me, i can put a socket to any item u want. "));
GC.AddSend(Packets.NPCSay("Just tell me what do u want me to do"));
GC.AddSend(Packets.NPCLink("Open First socket", 1));
GC.AddSend(Packets.NPCLink("2nd socket using ToughDrill", 2));
GC.AddSend(Packets.NPCLink("2nd socket using 7 StarDrill", 3));
GC.AddSend(Packets.NPCSetFace(N.Avatar));
GC.AddSend(Packets.NPCFinish());
}
if (Control == 1 || Control == 2)
{
if (Control == 1)
GC.AddSend(Packets.NPCSay("Prepare 12 DragonBalls for the first socket and choose the equipment you want the socket to be created in."));
else
GC.AddSend(Packets.NPCSay("Prepare the Tough Drills to open the second socket and choose the equipment you want the socket to be created in. Good luck"));
GC.AddSend(Packets.NPCLink("Headgear", (byte)(Control * 100 + 1)));
GC.AddSend(Packets.NPCLink("Necklace/Bag", (byte)(Control * 100 + 2)));
GC.AddSend(Packets.NPCLink("Armor/Coat", (byte)(Control * 100 + 3)));
GC.AddSend(Packets.NPCLink("Shield", (byte)(Control * 100 + 5)));
GC.AddSend(Packets.NPCLink("Ring/Bracelete", (byte)(Control * 100 + 6)));
GC.AddSend(Packets.NPCLink("Boots", (byte)(Control * 100 + 8)));
GC.AddSend(Packets.NPCSetFace(N.Avatar));
GC.AddSend(Packets.NPCFinish());
}
else if (Control > 100 && Control <= 103 || Control == 105 || Control == 106 || Control == 108)
{
byte Pos = (byte)(Control - 100);
Game.Item Eq = GC.MyChar.Equips.Get(Pos);
if (Eq.Soc1 == NewestCOServer.Game.Item.Gem.NoSocket)
{
if (GC.MyChar.InventoryContains(1088000, 12))
{
GC.MyChar.EquipStats(Pos, false);
for (byte i = 0; i < 12; i++)
GC.MyChar.RemoveItem(GC.MyChar.NextItem(1088000));
Eq.Soc1 = NewestCOServer.Game.Item.Gem.EmptySocket;
GC.MyChar.Equips.Replace(Pos, Eq, GC.MyChar);
GC.MyChar.EquipStats(Pos, true);
GC.AddSend(Packets.NPCSay("Congratulations! You now have the first socket in your equipment."));
GC.AddSend(Packets.NPCLink("Thanks", 255));
GC.AddSend(Packets.NPCSetFace(N.Avatar));
GC.AddSend(Packets.NPCFinish());
}
else
{
GC.AddSend(Packets.NPCSay("You don't have the materials."));
GC.AddSend(Packets.NPCLink("I see.", 255));
GC.AddSend(Packets.NPCSetFace(N.Avatar));
GC.AddSend(Packets.NPCFinish());
}
}
else
{
GC.AddSend(Packets.NPCSay("The item already has the first socket."));
GC.AddSend(Packets.NPCLink("Oh, right.", 255));
GC.AddSend(Packets.NPCSetFace(N.Avatar));
GC.AddSend(Packets.NPCFinish());
}
}
else if (Control > 200 && Control <= 203 || Control == 205 || Control == 206 || Control == 208)
{
byte Pos = (byte)(Control - 200);
Game.Item Eq = GC.MyChar.Equips.Get(Pos);
if (Eq.Soc1 != NewestCOServer.Game.Item.Gem.NoSocket)
{
if (Eq.Soc2 == NewestCOServer.Game.Item.Gem.NoSocket)
{
if (GC.MyChar.InventoryContains(1200005, 1))
{
if (MyMath.ChanceSuccess(10.0))
{
GC.MyChar.EquipStats(Pos, false);
GC.MyChar.RemoveItem(GC.MyChar.NextItem(1200005));
Eq.Soc2 = NewestCOServer.Game.Item.Gem.EmptySocket;
GC.MyChar.Equips.Replace(Pos, Eq, GC.MyChar);
GC.MyChar.EquipStats(Pos, true);
GC.AddSend(Packets.NPCSay("Congratulations! You now have the second socket in your equipment."));
GC.AddSend(Packets.NPCLink("Thanks", 255));
GC.AddSend(Packets.NPCSetFace(N.Avatar));
GC.AddSend(Packets.NPCFinish());
World.SendMsgToAll("SYSTEM", GC.MyChar.Name + " is so lucky to open the second socket using a Tough Drill", 2011, 0);
}
else
{
GC.MyChar.RemoveItem(GC.MyChar.NextItem(1200005));
GC.MyChar.AddItem(1200006, 1);
GC.AddSend(Packets.NPCSay("Bad luck you have hahahah"));
GC.AddSend(Packets.NPCLink("Iam unlucky", 255));
GC.AddSend(Packets.NPCSetFace(N.Avatar));
GC.AddSend(Packets.NPCFinish());
}
}
else
{
GC.AddSend(Packets.NPCSay("You don't have the materials."));
GC.AddSend(Packets.NPCLink("I see.", 255));
GC.AddSend(Packets.NPCSetFace(N.Avatar));
GC.AddSend(Packets.NPCFinish());
}
}
else
{
GC.AddSend(Packets.NPCSay("The item already has the second socket."));
GC.AddSend(Packets.NPCLink("Oh, right.", 255));
GC.AddSend(Packets.NPCSetFace(N.Avatar));
GC.AddSend(Packets.NPCFinish());
}
}
else
{
GC.AddSend(Packets.NPCSay("You first need the first socket done. Then i can make the second one."));
GC.AddSend(Packets.NPCLink("I see.", 255));
GC.AddSend(Packets.NPCSetFace(N.Avatar));
GC.AddSend(Packets.NPCFinish());
}
}
if (Control == 3)
{
GC.AddSend(Packets.NPCSay("Prepare 7 Star Drills to open the secon socket and choose the equipment you want the socket to be created in."));
GC.AddSend(Packets.NPCLink("Headgear", 31));
GC.AddSend(Packets.NPCLink("Necklace/Bag", 32));
GC.AddSend(Packets.NPCLink("Armor/Coat", 33));
GC.AddSend(Packets.NPCLink("Shield", 35));
GC.AddSend(Packets.NPCLink("Ring/Bracelete", 36));
GC.AddSend(Packets.NPCLink("Boots", 38));
GC.AddSend(Packets.NPCSetFace(N.Avatar));
GC.AddSend(Packets.NPCFinish());
}
if (Control > 30 && Control <= 33 || Control == 35 || Control == 36 || Control == 38)
{
byte Pos = (byte)(Control - 30);
Game.Item Eq = GC.MyChar.Equips.Get(Pos);
if (Eq.Soc1 != NewestCOServer.Game.Item.Gem.NoSocket)
{
if (Eq.Soc2 == NewestCOServer.Game.Item.Gem.NoSocket)
{
if (GC.MyChar.InventoryContains(1200006, 7))
{
GC.MyChar.EquipStats(Pos, false);
for (int i = 0; i < 7; i++)
GC.MyChar.RemoveItem(GC.MyChar.NextItem(1200006));
Eq.Soc2 = NewestCOServer.Game.Item.Gem.EmptySocket;
GC.MyChar.Equips.Replace(Pos, Eq, GC.MyChar);
GC.MyChar.EquipStats(Pos, true);
GC.AddSend(Packets.NPCSay("Congratulations! You now have the second socket in your equipment."));
GC.AddSend(Packets.NPCLink("Thanks", 255));
GC.AddSend(Packets.NPCSetFace(N.Avatar));
GC.AddSend(Packets.NPCFinish());
}
else
{
GC.AddSend(Packets.NPCSay("You don't have the materials."));
GC.AddSend(Packets.NPCLink("I see.", 255));
GC.AddSend(Packets.NPCSetFace(N.Avatar));
GC.AddSend(Packets.NPCFinish());
}
}
else
{
GC.AddSend(Packets.NPCSay("The item already has the second socket."));
GC.AddSend(Packets.NPCLink("Oh, right.", 255));
GC.AddSend(Packets.NPCSetFace(N.Avatar));
GC.AddSend(Packets.NPCFinish());
}
}
else
{
GC.AddSend(Packets.NPCSay("You first need the first socket done. Then i can make the second one."));
GC.AddSend(Packets.NPCLink("I see.", 255));
GC.AddSend(Packets.NPCSetFace(N.Avatar));
GC.AddSend(Packets.NPCFinish());
}
}
break;
}
#endregion
i tested and work for me
you only need replace for the old item socket you have int your source
hello ppl iam go release item socket npc full like real co the % to open the second socket is 10% you can chance if you wanna
this npc is for version 5165
Code:
#region Item Socket
case 550:
{
if (Control == 0)
{
GC.AddSend(Packets.NPCSay("Hey did you hear about me, i can put a socket to any item u want. "));
GC.AddSend(Packets.NPCSay("Just tell me what do u want me to do"));
GC.AddSend(Packets.NPCLink("Open First socket", 1));
GC.AddSend(Packets.NPCLink("2nd socket using ToughDrill", 2));
GC.AddSend(Packets.NPCLink("2nd socket using 7 StarDrill", 3));
GC.AddSend(Packets.NPCSetFace(N.Avatar));
GC.AddSend(Packets.NPCFinish());
}
if (Control == 1 || Control == 2 || Control == 3)
{
if (Control == 1)
GC.AddSend(Packets.NPCSay("Prepare 12 DragonBalls for the first socket and choose the equipment you want the socket to be created in."));
else
GC.AddSend(Packets.NPCSay("Prepare the Tough Drills to open the second socket and choose the equipment you want the socket to be created in. Good luck"));
GC.AddSend(Packets.NPCLink("Headgear", (byte)(Control * 100 + 1)));
GC.AddSend(Packets.NPCLink("Necklace/Bag", (byte)(Control * 100 + 2)));
GC.AddSend(Packets.NPCLink("Armor/Coat", (byte)(Control * 100 + 3)));
GC.AddSend(Packets.NPCLink("Shield", (byte)(Control * 100 + 5)));
GC.AddSend(Packets.NPCLink("Ring/Bracelete", (byte)(Control * 100 + 6)));
GC.AddSend(Packets.NPCLink("Boots", (byte)(Control * 100 + 8)));
GC.AddSend(Packets.NPCSetFace(N.Avatar));
GC.AddSend(Packets.NPCFinish());
}
else if (Control > 100 && Control <= 103 || Control == 105 || Control == 106 || Control == 108)
{
byte Pos = (byte)(Control - 100);
Game.Item Eq = GC.MyChar.Equips.Get(Pos);
if (Eq.Soc1 == NewestCOServer.Game.Item.Gem.NoSocket)
{
if (GC.MyChar.InventoryContains(1088000, 12))
{
GC.MyChar.EquipStats(Pos, false);
for (byte i = 0; i < 12; i++)
GC.MyChar.RemoveItem(GC.MyChar.NextItem(1088000));
Eq.Soc1 = NewestCOServer.Game.Item.Gem.EmptySocket;
GC.MyChar.Equips.Replace(Pos, Eq, GC.MyChar);
GC.MyChar.EquipStats(Pos, true);
GC.AddSend(Packets.NPCSay("Congratulations! You now have the first socket in your equipment."));
GC.AddSend(Packets.NPCLink("Thanks", 255));
GC.AddSend(Packets.NPCSetFace(N.Avatar));
GC.AddSend(Packets.NPCFinish());
}
else
{
GC.AddSend(Packets.NPCSay("You don't have the materials."));
GC.AddSend(Packets.NPCLink("I see.", 255));
GC.AddSend(Packets.NPCSetFace(N.Avatar));
GC.AddSend(Packets.NPCFinish());
}
}
else
{
GC.AddSend(Packets.NPCSay("The item already has the first socket."));
GC.AddSend(Packets.NPCLink("Oh, right.", 255));
GC.AddSend(Packets.NPCSetFace(N.Avatar));
GC.AddSend(Packets.NPCFinish());
}
}
else if (Control > 200 && Control <= 203 || Control == 205 || Control == 206 || Control == 208)
{
byte Pos = (byte)(Control - 200);
Game.Item Eq = GC.MyChar.Equips.Get(Pos);
if (Eq.Soc1 != NewestCOServer.Game.Item.Gem.NoSocket)
{
if (Eq.Soc2 == NewestCOServer.Game.Item.Gem.NoSocket)
{
if (GC.MyChar.InventoryContains(1200005, 1))
{
if (MyMath.ChanceSuccess(10.0))
{
GC.MyChar.EquipStats(Pos, false);
GC.MyChar.RemoveItem(GC.MyChar.NextItem(1200005));
Eq.Soc2 = NewestCOServer.Game.Item.Gem.EmptySocket;
GC.MyChar.Equips.Replace(Pos, Eq, GC.MyChar);
GC.MyChar.EquipStats(Pos, true);
GC.AddSend(Packets.NPCSay("Congratulations! You now have the second socket in your equipment."));
GC.AddSend(Packets.NPCLink("Thanks", 255));
GC.AddSend(Packets.NPCSetFace(N.Avatar));
GC.AddSend(Packets.NPCFinish());
World.SendMsgToAll("SYSTEM", GC.MyChar.Name + " is so lucky to open the second socket using a Tough Drill", 2011, 0);
}
else
{
GC.MyChar.RemoveItem(GC.MyChar.NextItem(1200005));
GC.MyChar.AddItem(1200006, 1);
GC.AddSend(Packets.NPCSay("Bad luck you have hahahah"));
GC.AddSend(Packets.NPCLink("Iam unlucky", 255));
GC.AddSend(Packets.NPCSetFace(N.Avatar));
GC.AddSend(Packets.NPCFinish());
}
}
else
{
GC.AddSend(Packets.NPCSay("You don't have the materials."));
GC.AddSend(Packets.NPCLink("I see.", 255));
GC.AddSend(Packets.NPCSetFace(N.Avatar));
GC.AddSend(Packets.NPCFinish());
}
}
else
{
GC.AddSend(Packets.NPCSay("The item already has the second socket."));
GC.AddSend(Packets.NPCLink("Oh, right.", 255));
GC.AddSend(Packets.NPCSetFace(N.Avatar));
GC.AddSend(Packets.NPCFinish());
}
}
else
{
GC.AddSend(Packets.NPCSay("You first need the first socket done. Then i can make the second one."));
GC.AddSend(Packets.NPCLink("I see.", 255));
GC.AddSend(Packets.NPCSetFace(N.Avatar));
GC.AddSend(Packets.NPCFinish());
}
}
if (Control == 3)
{
GC.AddSend(Packets.NPCSay("Prepare 7 Star Drills to open the secon socket and choose the equipment you want the socket to be created in."));
GC.AddSend(Packets.NPCLink("Headgear", 31));
GC.AddSend(Packets.NPCLink("Necklace/Bag", 32));
GC.AddSend(Packets.NPCLink("Armor/Coat", 33));
GC.AddSend(Packets.NPCLink("Shield", 35));
GC.AddSend(Packets.NPCLink("Ring/Bracelete", 36));
GC.AddSend(Packets.NPCLink("Boots", 38));
GC.AddSend(Packets.NPCSetFace(N.Avatar));
GC.AddSend(Packets.NPCFinish());
}
if (Control > 30 && Control <= 33 || Control == 35 || Control == 36 || Control == 38)
{
byte Pos = (byte)(Control - 30);
Game.Item Eq = GC.MyChar.Equips.Get(Pos);
if (Eq.Soc1 != NewestCOServer.Game.Item.Gem.NoSocket)
{
if (Eq.Soc2 == NewestCOServer.Game.Item.Gem.NoSocket)
{
if (GC.MyChar.InventoryContains(1200006, 7))
{
GC.MyChar.EquipStats(Pos, false);
for (int i = 0; i < 7; i++)
GC.MyChar.RemoveItem(GC.MyChar.NextItem(1200006));
Eq.Soc2 = NewestCOServer.Game.Item.Gem.EmptySocket;
GC.MyChar.Equips.Replace(Pos, Eq, GC.MyChar);
GC.MyChar.EquipStats(Pos, true);
GC.AddSend(Packets.NPCSay("Congratulations! You now have the second socket in your equipment."));
GC.AddSend(Packets.NPCLink("Thanks", 255));
GC.AddSend(Packets.NPCSetFace(N.Avatar));
GC.AddSend(Packets.NPCFinish());
}
else
{
GC.AddSend(Packets.NPCSay("You don't have the materials."));
GC.AddSend(Packets.NPCLink("I see.", 255));
GC.AddSend(Packets.NPCSetFace(N.Avatar));
GC.AddSend(Packets.NPCFinish());
}
}
else
{
GC.AddSend(Packets.NPCSay("The item already has the second socket."));
GC.AddSend(Packets.NPCLink("Oh, right.", 255));
GC.AddSend(Packets.NPCSetFace(N.Avatar));
GC.AddSend(Packets.NPCFinish());
}
}
else
{
GC.AddSend(Packets.NPCSay("You first need the first socket done. Then i can make the second one."));
GC.AddSend(Packets.NPCLink("I see.", 255));
GC.AddSend(Packets.NPCSetFace(N.Avatar));
GC.AddSend(Packets.NPCFinish());
}
}
break;
}
#endregion
i tested and work for me
you only need replace for the old item socket you have int your source
[RELEASE] ITEM HACK! FULL TUT 09/25/2009 - Grand Chase Hacks, Bots, Cheats & Exploits - 6 Replies At http://www.elitepvpers.com/forum/grand-chase-hacks- bots-cheats-exploits/335097-own-compilation-latest -workable-hacks-all-server.html#post3087860
A word tutorial!