Alright I have everything setup, expect the npc for the Frozen Grotto isn't talking. This is also happening to other Npcs.
I keep getting the default message with the npc's Id.
I have this in my Npc's dialog. Do I need to put this anywhere else?
Code:
#region FrozenGrotto
case 100001:
{
if (Control == 0)
{
GC.AddSend(Packets.NPCSay("The Frozen Grotto is a dangerous and ancient place. Many heroes have died there while searching for its hidden treasures. Would you like to go"));
GC.AddSend(Packets.NPCLink("Yes", 1));
GC.AddSend(Packets.NPCLink("Let me Think...", 255));
GC.AddSend(Packets.NPCSetFace(N.Avatar));
GC.AddSend(Packets.NPCFinish());
}
if (Control == 1)
{
if (GC.MyChar.CP >= 5000)
{
GC.MyChar.CP -= 5000;
GC.MyChar.Teleport(1762, 61, 255);
GC.AddSend(Packets.NPCSay("Here you are."));
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 enough VirtuePoints."));
GC.AddSend(Packets.NPCLink("I see.", 255));
GC.AddSend(Packets.NPCSetFace(N.Avatar));
GC.AddSend(Packets.NPCFinish());
}
}
break;
}
#endregion
Here is a bigger set-up, incase I mess up the set-up, if there is a certain way to put this in .
Code:
#region JoinPKTDialog
case 666111:
{
if (Control == 0)
{
if (Features.PKTournament.Stage == Features.PKTournamentStage.Inviting)
{
GC.AddSend(Packets.NPCSay("Would you like to join the PK tournament in the PKArena? You have " + (Features.PKTournament.CountDown - 10) + " seconds to join."));
GC.AddSend(Packets.NPCLink("Sure, I'll join!", 1));
GC.AddSend(Packets.NPCLink("What're the rules?", 2));
GC.AddSend(Packets.NPCSetFace(30));
GC.AddSend(Packets.NPCFinish());
return;
}
else if (Features.PKTournament.Stage != Features.PKTournamentStage.None)
{
GC.AddSend(Packets.NPCSay("You're too late, " + GC.MyChar.Name + ", the tournament has already started!"));
GC.AddSend(Packets.NPCLink("Darn", 255));
GC.AddSend(Packets.NPCSetFace(30));
GC.AddSend(Packets.NPCFinish());
}
else
{
GC.AddSend(Packets.NPCSay("No PK tournament is going on at this time."));
GC.AddSend(Packets.NPCLink("Darn", 255));
GC.AddSend(Packets.NPCSetFace(30));
GC.AddSend(Packets.NPCFinish());
}
}
else if (Control == 1)
{
GC.AddSend(Packets.NPCSay("Goodluck, " + GC.MyChar.Name + "."));
GC.AddSend(Packets.NPCLink("Thanks", 255));
GC.AddSend(Packets.NPCSetFace(30));
GC.AddSend(Packets.NPCFinish());
GC.MyChar.Teleport(1005, 51, 71);
GC.MyChar.InPKT = true;
GC.MyChar.CurHP = 1;
Features.PKTournament.PKTHash.Add(GC.MyChar.EntityID, GC);
}
else if (Control == 2)
{
GC.AddSend(Packets.NPCSay("The PK tournament is started by a GM, on any map he wants."));
GC.AddSend(Packets.NPCSay("Everyone fights with only 1 HP."));
GC.AddSend(Packets.NPCSay("The last man that isn't a GM standing will 'win' the tournament."));
GC.AddSend(Packets.NPCLink("I want to join!", 1));
GC.AddSend(Packets.NPCLink("No thanks.", 255));
GC.AddSend(Packets.NPCSetFace(30));
GC.AddSend(Packets.NPCFinish());
}
return;
}
#endregion
#region FrozenGrotto
case 100001:
{
if (Control == 0)
{
GC.AddSend(Packets.NPCSay("The Frozen Grotto is a dangerous and ancient place. Many heroes have died there while searching for its hidden treasures. Would you like to go"));
GC.AddSend(Packets.NPCLink("Yes", 1));
GC.AddSend(Packets.NPCLink("Let me Think...", 255));
GC.AddSend(Packets.NPCSetFace(N.Avatar));
GC.AddSend(Packets.NPCFinish());
}
if (Control == 1)
{
if (GC.MyChar.CP >= 5000)
{
GC.MyChar.CP -= 5000;
GC.MyChar.Teleport(1762, 61, 255);
GC.AddSend(Packets.NPCSay("Here you are."));
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 enough VirtuePoints."));
GC.AddSend(Packets.NPCLink("I see.", 255));
GC.AddSend(Packets.NPCSetFace(N.Avatar));
GC.AddSend(Packets.NPCFinish());
}
}
break;
}
#endregion
#region MerchantClerk
case 42700:
{
if (Control == 0)
{
GC.AddSend(Packets.NPCSay("Want to become a merchant? If you get scammed while you are a merchant or any other time we will not help you."));
GC.AddSend(Packets.NPCLink("Become Merchant!", 1));
GC.AddSend(Packets.NPCLink("Just passing by.", 255));
GC.AddSend(Packets.NPCSetFace(N.Avatar));
GC.AddSend(Packets.NPCFinish());
}
if (Control == 1)
{
GC.MyChar.Merchant = MerchantTypes.Yes;
GC.AddSend(Packets.NPCSay("You are now a merchant!"));
GC.AddSend(Packets.NPCLink("Thanks!", 255));
GC.AddSend(Packets.NPCSetFace(N.Avatar));
GC.AddSend(Packets.NPCFinish());
}
break;
}
#endregion
#region DoomQuest
case 1213:
{
if (Control == 0)
{
if (World.DoomQuestON)
{
if (GC.MyChar.Job >= 40 && GC.MyChar.Job <= 45)
{
GC.AddSend(Packets.NPCSay("Hi" + GC.MyChar.Name + "Would you like to enter the quest"));
GC.AddSend(Packets.NPCLink("Yes", 1));
GC.AddSend(Packets.NPCLink("No", 255));
GC.AddSend(Packets.NPCSetFace(N.Avatar));
GC.AddSend(Packets.NPCFinish());
}
else
{
GC.AddSend(Packets.NPCSay("Sorry you must be an archer to enter this quest"));
GC.AddSend(Packets.NPCLink("Darn", 255));
GC.AddSend(Packets.NPCSetFace(N.Avatar));
GC.AddSend(Packets.NPCFinish());
}
}
else
{
GC.AddSend(Packets.NPCSay("Sorry this quest is not started yet"));
GC.AddSend(Packets.NPCLink("Okay", 255));
GC.AddSend(Packets.NPCSetFace(N.Avatar));
GC.AddSend(Packets.NPCFinish());
}
}
if (Control == 1)
{
GC.MyChar.Teleport(1002, 50, 50);
}
break;
}
#endregion
#region DoomQuestNPC1
case 1214:
{
if (Control == 0)
{
GC.AddSend(Packets.NPCSay("Are you ready to go to the next stage"));
GC.AddSend(Packets.NPCLink("Yes", 1));
GC.AddSend(Packets.NPCLink("No", 255));
GC.AddSend(Packets.NPCSetFace(N.Avatar));
GC.AddSend(Packets.NPCFinish());
}
if (Control == 1)
{
if (World.DoomQuestPoints >= 1000)
{
GC.MyChar.Teleport(1002, 50, 50);//need map/coords
GC.MyChar.AddItem(723834);
GC.MyChar.AddItem(723834);
GC.MyChar.AddItem(723834);
GC.MyChar.AddItem(723834);
GC.MyChar.AddItem(723834);
}
else
{
GC.AddSend(Packets.NPCSay("You do not have enough kills!"));
GC.AddSend(Packets.NPCLink("No", 255));
GC.AddSend(Packets.NPCSetFace(N.Avatar));
GC.AddSend(Packets.NPCFinish());
}
}
break;
}
#endregion
#region DoomQuestNPC2
case 1215:
{
if (Control == 0)
{
GC.AddSend(Packets.NPCSay("Are you ready to go to the next stage"));
GC.AddSend(Packets.NPCLink("Yes", 1));
GC.AddSend(Packets.NPCLink("No", 255));
GC.AddSend(Packets.NPCSetFace(N.Avatar));
GC.AddSend(Packets.NPCFinish());
}
if (Control == 1)
{
if (World.DoomQuestPoints >= 2000)
{
GC.MyChar.Teleport(1002, 50, 50);
GC.MyChar.AddItem(723834);
GC.MyChar.AddItem(723834);
GC.MyChar.AddItem(723834);
GC.MyChar.AddItem(723834);
GC.MyChar.AddItem(723834);
}
else
{
GC.AddSend(Packets.NPCSay("You do not have enough kills yet!"));
GC.AddSend(Packets.NPCLink("No", 255));
GC.AddSend(Packets.NPCSetFace(N.Avatar));
GC.AddSend(Packets.NPCFinish());
}
}
break;
}
#endregion
#region DoomQuestNPC3
case 1216:
{
if (Control == 0)
{
GC.AddSend(Packets.NPCSay("Are you ready to go to the next stage"));
GC.AddSend(Packets.NPCLink("Yes", 1));
GC.AddSend(Packets.NPCLink("No", 255));
GC.AddSend(Packets.NPCSetFace(N.Avatar));
GC.AddSend(Packets.NPCFinish());
}
if (Control == 1)
{
if (World.DoomQuestPoints >= 4500)
{
GC.MyChar.Teleport(1002, 50, 50);
GC.MyChar.AddItem(723834);
GC.MyChar.AddItem(723834);
GC.MyChar.AddItem(723834);
GC.MyChar.AddItem(723834);
GC.MyChar.AddItem(723834);
}
else
{
GC.AddSend(Packets.NPCSay("You do not have enough kills yet!"));
GC.AddSend(Packets.NPCLink("No", 255));
GC.AddSend(Packets.NPCSetFace(N.Avatar));
GC.AddSend(Packets.NPCFinish());
}
}
break;
}
#endregion
#region DoomQuestNPC4
case 1217:
{
if (Control == 0)
{
GC.AddSend(Packets.NPCSay("Are you ready to go to the next stage"));
GC.AddSend(Packets.NPCLink("Yes", 1));
GC.AddSend(Packets.NPCLink("No", 255));
GC.AddSend(Packets.NPCSetFace(N.Avatar));
GC.AddSend(Packets.NPCFinish());
}
if (Control == 1)
{
if (World.DoomQuestPoints >= 6000)
{
GC.MyChar.Teleport(1002, 50, 50);
GC.MyChar.AddItem(721080);//mb
GC.MyChar.AddItem(730003);//+3Stone
GC.MyChar.AddItem(1088000);//DragonBall
GC.MyChar.AddItem(1200001);//PrayingStone(M)
GC.MyChar.AddItem(723584);//BlackTulip
}
else
{
GC.AddSend(Packets.NPCSay("You do not have enough kills yet!"));
GC.AddSend(Packets.NPCLink("No", 255));
GC.AddSend(Packets.NPCSetFace(N.Avatar));
GC.AddSend(Packets.NPCFinish());
}
}
break;
}
#endregion
#region UnknownMan
case 300006:
{
int ExpToGive = (int)Math.Floor(600000 * (1 + ((GC.MyChar.Level - 1) * 0.1)) * 2);
int NextLevel = GC.MyChar.Level;
if (Control == 0)
{
if (GC.MyChar.Level > 130)
{
GC.AddSend(Packets.NPCSay("You already reached level 130. I can't level you anymore."));
GC.AddSend(Packets.NPCLink("I see.", 255));
GC.AddSend(Packets.NPCSetFace(N.Avatar));
GC.AddSend(Packets.NPCFinish());
}
else
{
GC.AddSend(Packets.NPCSay("Hey, young man. Nice to meet you again. Do you bring any good wine for"));
GC.AddSend(Packets.NPCSay("me? Sigh, the only wine that I'm missing is DrunkCelestial produced by the"));
GC.AddSend(Packets.NPCSay("Flying with Moon Restaurant. If i have chance to savor it again, I won't mind"));
GC.AddSend(Packets.NPCSay(" helping you drawing energy from the powerful DragonBall to increase your\n experience"));
GC.AddSend(Packets.NPCLink("Here is a bottle of DrunkCelestial", 1));
GC.AddSend(Packets.NPCLink("Sorry. I forgot to bring it.", 255));
GC.AddSend(Packets.NPCSetFace(N.Avatar));
GC.AddSend(Packets.NPCFinish());
}
}
if (Control == 1)
{
if (NeededExp(GC.MyChar.Level) <= GC.MyChar.Experience)
{
GC.AddSend(Packets.NPCSay("You can only draw energy from Dragonballs once per day. Bring two"));
GC.AddSend(Packets.NPCSay(" Dragonballs to me, and then I will help you to transfer the energy containing"));
GC.AddSend(Packets.NPCSay("in DBs to your body.So you can make use of the energy to level up instantly"));
GC.AddSend(Packets.NPCSay("from Level " + GC.MyChar.Level + " to Level " + GC.MyChar.Level + " (" + ExpToGive % 10 + "%)"));
GC.AddSend(Packets.NPCLink("Let's get started!", 2));
GC.AddSend(Packets.NPCLink("Thanks. I see.", 255));
GC.AddSend(Packets.NPCSetFace(N.Avatar));
GC.AddSend(Packets.NPCFinish());
}
else
{
NextLevel++;
GC.AddSend(Packets.NPCSay("You can only draw energy from Drasgonballs once per day. Bring two"));
GC.AddSend(Packets.NPCSay(" Dragonballs to me, and then I will help you to transfer the energy containing"));
GC.AddSend(Packets.NPCSay("in DBs to your body.So you can make use of the energy to level up instantly"));
GC.AddSend(Packets.NPCSay("from Level " + GC.MyChar.Level + " to Level " + NextLevel + "(0%)"));
GC.AddSend(Packets.NPCLink("Let's get started!", 2));
GC.AddSend(Packets.NPCLink("Thanks. I see.", 255));
GC.AddSend(Packets.NPCSetFace(N.Avatar));
GC.AddSend(Packets.NPCFinish());
}
}
if (Control == 2)
{
if (GC.MyChar.InventoryContains(722185, 1))
{
if (GC.MyChar.InventoryContains(1088000, 1))
{
GC.MyChar.RemoveItem(GC.MyChar.NextItem(1088000));
GC.MyChar.RemoveItem(GC.MyChar.NextItem(722185));
GiveExp(GC, ExpToGive);
}
else { GC.AddSend(Packets.NPCSay("Sorry, i can't level you up without my dragonball.")); GC.AddSend(Packets.NPCLink("Oh, sorry.", 255)); }
}
else
{
GC.AddSend(Packets.NPCSay("How dare you deceive me? You don't have any DrunkCelestial with you at all!"));
GC.AddSend(Packets.NPCSay("You are wasting my time. I don't want you to say one more word. Get away!"));
GC.AddSend(Packets.NPCLink("Sorry.", 255));
GC.AddSend(Packets.NPCSetFace(N.Avatar));
GC.AddSend(Packets.NPCFinish());
}
}
break;
}
#endregion
Could someone please help me.






