about ninja

08/03/2009 21:01 madrat88#1
hi can anyone help me to code the promotion NPC of ninja? especially learn skill ( what skill will be train for that lvl) and the stats needed to be promoted...tnx so much
08/03/2009 21:03 CoAttack#2
if your using below 5095 then ur gonna have to insert skills urself
08/03/2009 21:15 madrat88#3
ahh...but can u tell me the details of the promotion NPC?

i mean the complete details of the Windsage from promotion, learnskill..

pls
08/04/2009 03:39 madrat88#4
im looking for the WindSage NPC (Promotion NPC for Ninja) details? can u help me?
08/04/2009 08:16 samehvan#5
what source ? and i am sure there are many releases for him if u just searched
08/04/2009 08:39 madrat88#6
wer can i find it?
08/04/2009 08:40 Incariuz#7
Here is one for CoEmuv2. Probably not perfect, but it's a start.

Code:
                    case 5000://WindSage Ninja Promo NPC
                    {
                        if ((int)CSocket.Client.Class >= 50 && (int)CSocket.Client.Class <= 55)
                        {
                            if (LinkBack == 0)
                            {
                                Text("How can I be of service?\n", CSocket);
                                Link("Get promoted.", 1, CSocket);
                                Link("Learn skills.", 2, CSocket);
                                Link("Nothing.", 255, CSocket);
                                End(CSocket);
                            }
                            else if (LinkBack == 2)
                            {
                                Text("What skill would you like to learn?\n", CSocket);
                                Link("Twofold Blades[Level 40]", 3, CSocket);
                                Link("Toxic Fog[Level 70]", 4, CSocket);
                                Link("Poison Star[Level 70]", 5, CSocket);
                                Link("More...", 6, CSocket);
                                End(CSocket);
                            }
                            else if (LinkBack == 6)
                            {
                                Text("Which skill will it be?\n", CSocket);
                                Link("Counter Kill[Level 70]", 7, CSocket);
                                End(CSocket);
                            }
                            else if (LinkBack == 7)
                            {
                                int SkillID = 6003;
                                if (CSocket.Client.Level >= 70)
                                {
                                    if (!CSocket.Client.Skills.ContainsKey(SkillID))
                                    {
                                        Struct.CharSkill Skill = new Struct.CharSkill();
                                        Skill.ID = SkillID;
                                        Skill.Level = 0;
                                        Skill.Exp = 0;
                                        CSocket.Client.Skills.Add(Skill.ID, Skill);
                                        Database.Database.SetSkill(Skill.ID, Skill.Level, Skill.Exp, CSocket.Client.ID, false);
                                        CSocket.Send(ConquerPacket.Skill(Skill.ID, Skill.Level, Skill.Exp));
                                    }
                                    Text("Congrats! You have learned Counter Kill.", CSocket);
                                    Link("Thanks!", 255, CSocket);
                                    End(CSocket);
                                }
                                else
                                {
                                    Text("You are not yet high enough level for this skill.", CSocket);
                                    Link("Okay, sorry.", 255, CSocket);
                                    End(CSocket);
                                }
                            }
                            else if (LinkBack == 5)
                            {
                                int SkillID = 6002;
                                if (CSocket.Client.Level >= 70)
                                {
                                    if (!CSocket.Client.Skills.ContainsKey(SkillID))
                                    {
                                        Struct.CharSkill Skill = new Struct.CharSkill();
                                        Skill.ID = SkillID;
                                        Skill.Level = 0;
                                        Skill.Exp = 0;
                                        CSocket.Client.Skills.Add(Skill.ID, Skill);
                                        Database.Database.SetSkill(Skill.ID, Skill.Level, Skill.Exp, CSocket.Client.ID, false);
                                        CSocket.Send(ConquerPacket.Skill(Skill.ID, Skill.Level, Skill.Exp));
                                    }
                                    Text("Congrats! You have learned Poison Star.", CSocket);
                                    Link("Thanks!", 255, CSocket);
                                    End(CSocket);
                                }
                                else
                                {
                                    Text("You are not yet high enough level for this skill.", CSocket);
                                    Link("Okay, sorry.", 255, CSocket);
                                    End(CSocket);
                                }
                            }
                            else if (LinkBack == 4)
                            {
                                int SkillID = 6001;
                                if (CSocket.Client.Level >= 70)
                                {
                                    if (!CSocket.Client.Skills.ContainsKey(SkillID))
                                    {
                                        Struct.CharSkill Skill = new Struct.CharSkill();
                                        Skill.ID = SkillID;
                                        Skill.Level = 0;
                                        Skill.Exp = 0;
                                        CSocket.Client.Skills.Add(Skill.ID, Skill);
                                        Database.Database.SetSkill(Skill.ID, Skill.Level, Skill.Exp, CSocket.Client.ID, false);
                                        CSocket.Send(ConquerPacket.Skill(Skill.ID, Skill.Level, Skill.Exp));
                                    }
                                    Text("Congrats! You have learned Toxic Fog.", CSocket);
                                    Link("Thanks!", 255, CSocket);
                                    End(CSocket);
                                }
                                else
                                {
                                    Text("You are not yet high enough level for this skill.", CSocket);
                                    Link("Okay, sorry.", 255, CSocket);
                                    End(CSocket);
                                }
                            }
                            else if (LinkBack == 3)
                            {
                                int SkillID = 6000;
                                if (CSocket.Client.Level >= 40)
                                {
                                    if (!CSocket.Client.Skills.ContainsKey(SkillID))
                                    {
                                        Struct.CharSkill Skill = new Struct.CharSkill();
                                        Skill.ID = SkillID;
                                        Skill.Level = 0;
                                        Skill.Exp = 0;
                                        CSocket.Client.Skills.Add(Skill.ID, Skill);
                                        Database.Database.SetSkill(Skill.ID, Skill.Level, Skill.Exp, CSocket.Client.ID, false);
                                        CSocket.Send(ConquerPacket.Skill(Skill.ID, Skill.Level, Skill.Exp));
                                    }
                                    Text("Congrats! You have learned Twofold Blades.", CSocket);
                                    Link("Thanks!", 255, CSocket);
                                    End(CSocket);
                                }
                                else
                                {
                                    Text("You are not yet high enough level for this skill.", CSocket);
                                    Link("Okay, sorry.", 255, CSocket);
                                    End(CSocket);
                                }
                            }
                            else if (LinkBack == 1)
                            {
                                if ((int)CSocket.Client.Class == 50)
                                {
                                    if (CSocket.Client.Level >= 15)
                                    {
                                        CSocket.Client.Class += 1;
                                        CSocket.Send(ConquerPacket.Status(CSocket, 2, (int)CSocket.Client.Class, Struct.StatusTypes.Job));
                                        Text("Congrats! You have been promoted!", CSocket);
                                        Link("Thanks!!!", 255, CSocket);
                                        End(CSocket);
                                    }
                                    else
                                    {
                                        Text("You must be at least level 15, sorry.", CSocket);
                                        Link("Okay, thanks.", 255, CSocket);
                                        End(CSocket);
                                    }
                                }
                                else if ((int)CSocket.Client.Class == 51)
                                {
                                    if (CSocket.Client.Level >= 40)
                                    {
                                        CSocket.Client.Class += 1;
                                        CSocket.Send(ConquerPacket.Status(CSocket, 2, (int)CSocket.Client.Class, Struct.StatusTypes.Job));
                                        Text("Congrats! You have been promoted!", CSocket);
                                        Link("Thanks!!!", 255, CSocket);
                                        End(CSocket);
                                    }
                                    else
                                    {
                                        Text("You must be at least level 40, sorry.", CSocket);
                                        Link("Okay, thanks.", 255, CSocket);
                                        End(CSocket);
                                    }
                                }
                                else if ((int)CSocket.Client.Class == 52)
                                {
                                    if (CSocket.Client.Level >= 70)
                                    {
                                        CSocket.Client.Class += 1;
                                        CSocket.Send(ConquerPacket.Status(CSocket, 2, (int)CSocket.Client.Class, Struct.StatusTypes.Job));
                                        Text("Congrats! You have been promoted!", CSocket);
                                        Link("Thanks!!!", 255, CSocket);
                                        End(CSocket);
                                    }
                                    else
                                    {
                                        Text("You must be at least level 70, sorry.", CSocket);
                                        Link("Okay, thanks.", 255, CSocket);
                                        End(CSocket);
                                    }
                                }
                                else if ((int)CSocket.Client.Class == 53)
                                {
                                    if (CSocket.Client.Level >= 100)
                                    {
                                        CSocket.Client.Class += 1;
                                        CSocket.Send(ConquerPacket.Status(CSocket, 2, (int)CSocket.Client.Class, Struct.StatusTypes.Job));
                                        Text("Congrats! You have been promoted!", CSocket);
                                        Link("Thanks!!!", 255, CSocket);
                                        End(CSocket);
                                    }
                                    else
                                    {
                                        Text("You must be at least level 100, sorry.", CSocket);
                                        Link("Okay, thanks.", 255, CSocket);
                                        End(CSocket);
                                    }
                                }
                                else if ((int)CSocket.Client.Class == 54)
                                {
                                    if (CSocket.Client.Level >= 110)
                                    {
                                        CSocket.Client.Class += 1;
                                        CSocket.Send(ConquerPacket.Status(CSocket, 2, (int)CSocket.Client.Class, Struct.StatusTypes.Job));
                                        Text("Congrats! You have been promoted!", CSocket);
                                        Link("Thanks!!!", 255, CSocket);
                                        End(CSocket);
                                    }
                                    else
                                    {
                                        Text("You must be at least level 110, sorry.", CSocket);
                                        Link("Okay, thanks.", 255, CSocket);
                                        End(CSocket);
                                    }
                                }
                                else
                                {
                                    Text("You've reached the highest rank!", CSocket);
                                    Link("Okay, thanks.", 255, CSocket);
                                    End(CSocket);
                                }
                            }
                        }
                        else
                        {
                            Text("Sorry, I can only assist Ninja's", CSocket);
                            Link("Okay, sorry.", 255, CSocket);
                            End(CSocket);
                        }
                        break;
                    }
08/04/2009 08:51 madrat88#8
tnx Incariuz...you hav the attributes/stat for the ninja?
08/04/2009 08:55 Incariuz#9
Unfortunatly no, I have never played a tq server with ninja, so I have no clue how their stats go. I stopped playing back in the late 4000, early 5000 patches.
08/04/2009 09:07 madrat88#10
ahhh ic...is your code running? is that the complete code for Wind Sage NPC?
08/04/2009 09:34 ~Yuki~#11
Ninja Stats (not original but working for all weps n promos)
08/04/2009 11:20 madrat88#12
lol thats trojan stat...i need ninja stats/attributes

can anyone help me to know the compelete code of Wind Sage (Promotion NPC of NINJA) ?