[LOTF] Custome NPC

03/28/2009 14:31 L1nk1n*P4rK#1
Hello Guy's.Here is a new script for you!
What Is Do?
Is ask you a question and you will need to answer.


First Step:
Search For if (CurrentNPC == 7500)

And ABOVE it add:
Code:
if (CurrentNPC == 2011) //PoleNPC
                            {
                                SendPacket(General.MyPackets.NPCSay("Hello.I'm Labici Danut (ZuZu) and I talk to you via this NPC."));
                                SendPacket(General.MyPackets.NPCSay("I want to rate this server to the next category."));
                                SendPacket(General.MyPackets.NPCSay("If you are new in ShadowCO please rate it later (after 2 days)."));
                                SendPacket(General.MyPackets.NPCLink("Codes", 1));
                                SendPacket(General.MyPackets.NPCLink("Drop", 2));
                                SendPacket(General.MyPackets.NPCLink("Quests", 3));
                                SendPacket(General.MyPackets.NPCSetFace(30));
                                SendPacket(General.MyPackets.NPCFinish());
                            }
Second Step:
Search Again if (CurrentNPC == 7500)
And ABOVE add

Code:
 if (CurrentNPC == 2011) //PoleNPC - Drops
                            {
                                if (Control == 2)
                                {
                                    itemtosee = "";
                                    SendPacket(General.MyPackets.NPCSay("Please Rate my Drops!"));
                                    SendPacket(General.MyPackets.NPCSay("What are Drops? Are all the items droped by monsters.Please answer true!"));
                                    SendPacket(General.MyPackets.NPCSay("So if you have 5/6 days in ShadowCo please rate my Drops from 1 to 10"));
                                    SendPacket(General.MyPackets.NPCLink2("Rate:", 6));
                                    SendPacket(General.MyPackets.NPCSetFace(0));
                                    SendPacket(General.MyPackets.NPCFinish());
                                }
                                if (Control == 6)
                                {

                                    for (int i = 14; i < 14 + Data[13]; i++)
                                    {
                                        itemtosee += Convert.ToChar(Data[i]);
                                    }

                                    SendPacket(General.MyPackets.NPCSay("Are you sure you want to give '" + itemtosee + "'?"));
                                    SendPacket(General.MyPackets.NPCLink("Yes.", 7));
                                    SendPacket(General.MyPackets.NPCLink("No.", 2));
                                    SendPacket(General.MyPackets.NPCLink("Cancel.", 255));
                                    SendPacket(General.MyPackets.NPCSetFace(0));
                                    SendPacket(General.MyPackets.NPCFinish());
                                }
                                if (Control == 7)
                                {
                                    System.IO.StreamWriter ts = new System.IO.StreamWriter("./Extras/RateDrops.txt", true);
                                    ts.WriteLine(itemtosee + " - Submitted by: " + MyChar.Name + " at: " + DateTime.Now);
                                    ts.Flush();

                                    SendPacket(General.MyPackets.NPCSay("You have rated succesfull!"));
                                    SendPacket(General.MyPackets.NPCLink("Cool.", 255));
                                    SendPacket(General.MyPackets.NPCSetFace(0));
                                    SendPacket(General.MyPackets.NPCFinish());
                                }
                            }
                            if (CurrentNPC == 2011) //PoleNPC - Quests
                            {
                                if (Control == 3)
                                {
                                    itemtosee = "";
                                    SendPacket(General.MyPackets.NPCSay("Please Rate my Quest's!"));
                                    SendPacket(General.MyPackets.NPCSay("What are Quest's? Are all the misions taked from NPC's."));
                                    SendPacket(General.MyPackets.NPCSay("So if you have 5/6 days in ShadowCo please rate my Codes from 1 to 10"));
                                    SendPacket(General.MyPackets.NPCLink2("Rate:", 8));
                                    SendPacket(General.MyPackets.NPCSetFace(0));
                                    SendPacket(General.MyPackets.NPCFinish());
                                }
                                if (Control == 8)
                                {

                                    for (int i = 14; i < 14 + Data[13]; i++)
                                    {
                                        itemtosee += Convert.ToChar(Data[i]);
                                    }

                                    SendPacket(General.MyPackets.NPCSay("Are you sure you want to give '" + itemtosee + "'?"));
                                    SendPacket(General.MyPackets.NPCLink("Yes.", 9));
                                    SendPacket(General.MyPackets.NPCLink("No.", 3));
                                    SendPacket(General.MyPackets.NPCLink("Cancel.", 255));
                                    SendPacket(General.MyPackets.NPCSetFace(0));
                                    SendPacket(General.MyPackets.NPCFinish());
                                }
                                if (Control == 9)
                                {
                                    System.IO.StreamWriter ts = new System.IO.StreamWriter("./Extras/RateQuests.txt", true);
                                    ts.WriteLine(itemtosee + " - Submitted by: " + MyChar.Name + " at: " + DateTime.Now);
                                    ts.Flush();

                                    SendPacket(General.MyPackets.NPCSay("You have rated succesfull!"));
                                    SendPacket(General.MyPackets.NPCLink("Cool.", 255));
                                    SendPacket(General.MyPackets.NPCSetFace(0));
                                    SendPacket(General.MyPackets.NPCFinish());
                                }
                            }
Last Step:
Go In You Server Folder And Add:
1.Folder Called Extras
2.And Now In Extras Add RateCodes.txt,RateQuests.txt and RateDropes.
03/28/2009 14:45 _Emme_#2
Funny how you took the NPCLINK2 part from KinshiKO, how lame, cant even create your own scripts for your own NPC.
/Failure on a high level
03/28/2009 14:49 tao4229#3
NpcLink2()?
That's for input rather than output text options.
03/28/2009 17:45 _Emme_#4
Quote:
itemtosee = "";

for (int i = 14; i < 14 + Data[13]; i++)
{
itemtosee += Convert.ToChar(Data[i]);
}

System.IO.StreamWriter ts = new System.IO.StreamWriter("./Extras/RateQuests.txt", true);
ts.WriteLine(itemtosee + " - Submitted by: " + MyChar.Name + " at: " + DateTime.Now);
ts.Flush();
An exact copy from KinshiCO, actually Kinshi's NPC that allows you to buy a great amount of different items and you can suggest what more that should be added in the shop (Atleast what I remember of)
03/28/2009 19:04 kinshi88#5
Why don't people implement the new NPC chat in their server?
Justin (I think) made it; makes it so NPC chat is in one place, rather than two.
I'm pretty sure it was in the source I released.
03/29/2009 19:08 L1nk1n*P4rK#6
Yes Was.
And I have much Respect To you and Emme but you dont need to flame about this.
I just was to "revive" LOTF.

The NPC Actions are picked up from your Custome Shop.

My 150th Post