[Help]With An NPC Code

08/14/2009 21:17 Jay1029#1
//edit: Nvm, I made it work perfect on my own =p

Code:
                            if (CurrentNPC == 1122)
                            {
                                if (Control == 1)
                                {
                                    if (MyChar.CPs >= 15000)
                                        MyChar.AddItem("150259-0-0-0-255-255", 0, (uint)General.Rand.Next(36457836));
                                        MyChar.CPs -= 15000;
                                        SendPacket(General.MyPackets.Vital(MyChar.UID, 30, MyChar.CPs));
                                }
                                if (Control == 2)
                                {
                                    if (MyChar.CPs >= 15000)
                                        MyChar.AddItem("160259-0-0-0-255-255", 0, (uint)General.Rand.Next(36457836));
                                        MyChar.CPs -= 15000;
                                        SendPacket(General.MyPackets.Vital(MyChar.UID, 30, MyChar.CPs));
                                }
                                if (Control == 3)
                                {
                                    if (MyChar.CPs >= 15000)
                                        MyChar.AddItem("120259-0-0-0-255-255", 0, (uint)General.Rand.Next(36457836));
                                        MyChar.CPs -= 15000;
                                        SendPacket(General.MyPackets.Vital(MyChar.UID, 30, MyChar.CPs));
                                }
                                else if (MyChar.CPs <= 15000)
                                {
                                    SendPacket(General.MyPackets.NPCSay("You do not have 15,000 CPs."));
                                    SendPacket(General.MyPackets.NPCLink("Sorry, I forgot.", 255));
                                    SendPacket(General.MyPackets.NPCSetFace(22));
                                    SendPacket(General.MyPackets.NPCFinish());
                                }
                            }
Code:
                            if (CurrentNPC == 1122)
                            {
                                if (Control == 1)
                                {
                                    if (MyChar.CPs >= 15000)
                                    {
                                        MyChar.AddItem("150259-0-0-0-255-255", 0, (uint)General.Rand.Next(36457836));
                                        MyChar.CPs -= 15000;
                                        SendPacket(General.MyPackets.Vital(MyChar.UID, 30, MyChar.CPs));
                                    }
                                    else if (MyChar.CPs <= 15000)
                                    {
                                        SendPacket(General.MyPackets.NPCSay("You do not have enough CPs."));
                                        SendPacket(General.MyPackets.NPCLink("Sorry, I forgot.", 255));
                                        SendPacket(General.MyPackets.NPCSetFace(22));
                                        SendPacket(General.MyPackets.NPCFinish());
                                    }
                                }
                                if (Control == 2)
                                {
                                    if (MyChar.CPs >= 15000)
                                    {
                                        MyChar.AddItem("160259-0-0-0-255-255", 0, (uint)General.Rand.Next(36457836));
                                        MyChar.CPs -= 15000;
                                        SendPacket(General.MyPackets.Vital(MyChar.UID, 30, MyChar.CPs));
                                    }
                                    else if (MyChar.CPs <= 15000)
                                    {
                                        SendPacket(General.MyPackets.NPCSay("You do not have enough CPs."));
                                        SendPacket(General.MyPackets.NPCLink("Sorry, I forgot.", 255));
                                        SendPacket(General.MyPackets.NPCSetFace(22));
                                        SendPacket(General.MyPackets.NPCFinish());
                                    }
                                }
                                if (Control == 3)
                                {
                                    if (MyChar.CPs >= 15000)
                                    {
                                        MyChar.AddItem("120259-0-0-0-255-255", 0, (uint)General.Rand.Next(36457836));
                                        MyChar.CPs -= 15000;
                                        SendPacket(General.MyPackets.Vital(MyChar.UID, 30, MyChar.CPs));
                                    }
                                    else if (MyChar.CPs <= 15000)
                                    {
                                        SendPacket(General.MyPackets.NPCSay("You do not have enough CPs."));
                                        SendPacket(General.MyPackets.NPCLink("Sorry, I forgot.", 255));
                                        SendPacket(General.MyPackets.NPCSetFace(22));
                                        SendPacket(General.MyPackets.NPCFinish());
                                    }
                                }
                            }
08/14/2009 21:48 killermickle#2
Becuase they all have the same else output & requirement. It would be neater to structure it as,

if CP < blah
{
control = blah1{}
control = blah2{}
}
esle
{
not enough cps blah
}
08/15/2009 06:42 kinshi88#3
#Closed