Im new here and I am trying to set-up a private server with Frozen Grotto, more.
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
First of all you need to open the project file for the server, not just npcdialogs.cs, the projectfile ends in .sln or .csproj, then you need to make your changes and hit F6, then you can either run the server from the folder or hit F5 to run it from the project in debug mode.
Frozen Grotto 5 Map 05/08/2012 - CO2 Guides & Templates - 12 Replies i thought it'd be helpful if i upload a map where you can see how to get to the 6th Frozen Grotto..There are 2 versions of my map, 1 with numbers on each island and 1 without them..if it was helpful, press Thanks! :D..
The way from frozen grotto f5 to f6 here! 05/28/2010 - CO2 Guides & Templates - 21 Replies titles says it all jst follow the numbers and u will get to f6 without running in circles or keep searching hours for f6 portal
Frozen Grotto 03/10/2010 - CO2 Private Server - 12 Replies #region FrozenGrotto
case 100001:
{
if (Control == 0)
{
GC.AddSend(Packets.NPCSay("Which Frozen Grotto map would you like me to teleport you to?"));
GC.AddSend(Packets.NPCLink("Frozen Grotto 1", 1));
GC.AddSend(Packets.NPCLink("Let me...