Job Advancement Code?

Results 1 to 2 of 2
  1. #1
    Sorcerer Supreme kalo93 is offline
    Member +Rank
    Jan 2007 Join Date
    At your door.Location
    409Posts

    Job Advancement Code?

    ok im using this source: http://forum.ragezone.com/showthread.php?t=419180

    it tells you all the different codes you can use in the noc dialogue for rewards e.g
    Code:
    rew=gold,300000
    would give you 300k at the end of the dialogue.

    so what would the reward be for job advancement

    i alredy tried:
    Code:
    rew=job,45
    and that didnt work.


  2. #2
    Member Ograbme~ is offline
    MemberRank
    Jun 2008 Join Date
    53Posts

    Re: Job Advancement Code?

    It's not working because job hasn't been coded as a reward.

    Add the following block of code to NpcDialog.cs under rew.
    Code:
                                if (TheRew[0] == "job")
                                {
                                    ClickyClient.MyChar.CharClass = Convert.ToByte(TheRew[1]);
                                    byte[] Pack = ThePackets.Vital((long)ClickyClient.MyChar.UID, 4, ClickyClient.MyChar.CharClass);
                                    ClickyClient.SendPacket(Pack);
    
                                    byte job = Convert.ToByte(TheRew[1]);
    
                                    short str = 0;
                                    short agi = 0;
                                    short vit = 0;
                                    short spi = 0;
    
                                    byte readlvl = ClickyClient.MyChar.Level;
                                    if (readlvl > 135)
                                        readlvl = 135;
    
                                    if (job == 10 || job == 11 || job == 12 || job == 13 || job == 14 || job == 15)
                                    {
                                        str = Convert.ToInt16(DataBase.Stats.ReadValue("Trojan", "Strength[" + Convert.ToString(readlvl) + "]"));
                                        agi = Convert.ToInt16(DataBase.Stats.ReadValue("Trojan", "Agility[" + Convert.ToString(readlvl) + "]"));
                                        vit = Convert.ToInt16(DataBase.Stats.ReadValue("Trojan", "Vitality[" + Convert.ToString(readlvl) + "]"));
                                        spi = Convert.ToInt16(DataBase.Stats.ReadValue("Trojan", "Spirit[" + Convert.ToString(readlvl) + "]"));
                                    }
    
                                    if (job == 20 || job == 21 || job == 22 || job == 23 || job == 24 || job == 25)
                                    {
                                        str = Convert.ToInt16(DataBase.Stats.ReadValue("Warrior", "Strength[" + Convert.ToString(readlvl) + "]"));
                                        agi = Convert.ToInt16(DataBase.Stats.ReadValue("Warrior", "Agility[" + Convert.ToString(readlvl) + "]"));
                                        vit = Convert.ToInt16(DataBase.Stats.ReadValue("Warrior", "Vitality[" + Convert.ToString(readlvl) + "]"));
                                        spi = Convert.ToInt16(DataBase.Stats.ReadValue("Warrior", "Spirit[" + Convert.ToString(readlvl) + "]"));
                                    }
                                    if (job == 40 || job == 41 || job == 42 || job == 43 || job == 44 || job == 45)
                                    {
                                        str = Convert.ToInt16(DataBase.Stats.ReadValue("Archer", "Strength[" + Convert.ToString(readlvl) + "]"));
                                        agi = Convert.ToInt16(DataBase.Stats.ReadValue("Archer", "Agility[" + Convert.ToString(readlvl) + "]"));
                                        vit = Convert.ToInt16(DataBase.Stats.ReadValue("Archer", "Vitality[" + Convert.ToString(readlvl) + "]"));
                                        spi = Convert.ToInt16(DataBase.Stats.ReadValue("Archer", "Spirit[" + Convert.ToString(readlvl) + "]"));
                                    }
                                    if (job == 100 || job == 101 || job == 132 || job == 133 || job == 134 || job == 135 || job == 142 || job == 143 || job == 144 || job == 145)
                                    {
                                        str = Convert.ToInt16(DataBase.Stats.ReadValue("Taoist", "Strength[" + Convert.ToString(readlvl) + "]"));
                                        agi = Convert.ToInt16(DataBase.Stats.ReadValue("Taoist", "Agility[" + Convert.ToString(readlvl) + "]"));
                                        vit = Convert.ToInt16(DataBase.Stats.ReadValue("Taoist", "Vitality[" + Convert.ToString(readlvl) + "]"));
                                        spi = Convert.ToInt16(DataBase.Stats.ReadValue("Taoist", "Spirit[" + Convert.ToString(readlvl) + "]"));
                                    }
    
                                    ClickyClient.MyChar.Strength = str;
                                    ClickyClient.MyChar.Agility = agi;
                                    ClickyClient.MyChar.Vitality = vit;
                                    ClickyClient.MyChar.Spirit = spi;
    
                                    ClickyClient.MyChar.RemoveAtk();
                                    ClickyClient.MyChar.EquipGetStats(1, true);
                                    ClickyClient.MyChar.EquipGetStats(2, true);
                                    ClickyClient.MyChar.EquipGetStats(3, true);
                                    ClickyClient.MyChar.EquipGetStats(4, true);
                                    ClickyClient.MyChar.EquipGetStats(5, true);
                                    ClickyClient.MyChar.EquipGetStats(6, true);
                                    ClickyClient.MyChar.EquipGetStats(8, true);
                                    ClickyClient.MyChar.MaxHP = ClickyClient.MyChar.BaseHP();
                                    ClickyClient.MyChar.MaxMana = ClickyClient.MyChar.BaseMana();
                                    ClickyClient.MyChar.EquipGetStats(1, false);
                                    ClickyClient.MyChar.EquipGetStats(2, false);
                                    ClickyClient.MyChar.EquipGetStats(3, false);
                                    ClickyClient.MyChar.EquipGetStats(4, false);
                                    ClickyClient.MyChar.EquipGetStats(5, false);
                                    ClickyClient.MyChar.EquipGetStats(6, false);
                                    ClickyClient.MyChar.EquipGetStats(8, false);
                                    ClickyClient.MyChar.AddAtk();
    
    
                                    Pack = ThePackets.Vital((long)ClickyClient.MyChar.UID, 14, spi);
                                    ClickyClient.SendPacket(Pack);
                                    Pack = ThePackets.Vital((long)ClickyClient.MyChar.UID, 15, vit);
                                    ClickyClient.SendPacket(Pack);
                                    Pack = ThePackets.Vital((long)ClickyClient.MyChar.UID, 16, str);
                                    ClickyClient.SendPacket(Pack);
                                    Pack = ThePackets.Vital((long)ClickyClient.MyChar.UID, 17, agi);
                                    ClickyClient.SendPacket(Pack);
    
                                    Pack = ThePackets.Vital2((long)ClickyClient.MyChar.UID, ClickyClient.MyChar.CurHP);
                                    ClickyClient.SendPacket(Pack);
    
                                    Done = true;
                                }
    usage: rew=job,45
    Sorry about indentation, you'll have to fix it.

    You'll also need to do job requirement too.
    Add this block of code in NpcDialog.cs under req
    Code:
                            else if (TheReq[0] == "job")
                            {
                                if (ClickyClient.MyChar.CharClass == Convert.ToByte(TheReq[1]))
                                {
                                    Requirs = true;
                                }
                                else
                                    DontHave = false;
                            }
    usage: req=job,(required job class to promote)

    Quality is key, so you might want to add a stat point check, in case you ever add rebirth.
    Add this block of code to NpcDialog.cs under req.
    Code:
                            else if (TheReq[0] == "stat")
                            {
                                if (TheReq[1] == "str")
                                {
                                    if (ClickyClient.MyChar.Strength >= Convert.ToByte(TheReq[2]))
                                    {
                                        Requirs = true;
                                    }
                                }
                                else if (TheReq[1] == "vit")
                                {
                                    if (ClickyClient.MyChar.Vitality >= Convert.ToByte(TheReq[2]))
                                    {
                                        Requirs = true;
                                    }
                                }
                                else if (TheReq[1] == "spi")
                                {
                                    if (ClickyClient.MyChar.Spirit >= Convert.ToByte(TheReq[2]))
                                    {
                                        Requirs = true;
                                    }
                                }
                                else if (TheReq[1] == "agi")
                                {
                                    if (ClickyClient.MyChar.Agility >= Convert.ToByte(TheReq[2]))
                                    {
                                        Requirs = true;
                                    }
                                }
                                else
                                    DontHave = false;
                            }
    usage: req=stat,x,y
    x = str, vit, spi, or agi
    y = required amount of points allocated to x
    Last edited by Ograbme~; 27-06-08 at 03:23 AM.



Advertisement