zct223 發表於 2020-10-12 07:56

大陸JAVA技術 技術文章分享 之 轉換職業系統

在NPC對話按鈕類新增
或者在道具執行按鈕下新增
if (s.equalsIgnoreCase("zhuanzhi"))
                {
                        if (!pc.getInventory().checkItem(44070, 30L)) {
                                             pc.sendPackets(new S_SystemMessage("转职一次需要30个元宝!"));
                                             return;
                                             } //判断是否有30元宝
                                if (pc.isCrown())
                                {
                                        pc.sendPackets(new S_SystemMessage("王族无法使用此功能!"));
                                        return;
                                } else
                                {
                                        if (pc.getInventory().consumeItem(44070, 30L))//扣除30元宝
                                        pc.sendPackets(new S_NPCTalkReturn(pc.getId(), "zhuanzhi"));
                                        return;
                                }
                               
            }
else
                                if (s.equalsIgnoreCase("qs"))//骑士
                                {
                                        for (int i = 0; i < 300; i++)
                                                {
                                                        L1Skills skill = SkillsTable.get().getTemplate(i);
                                                        if (skill != null && skill.getSkillLevel() > 0)
                                                                pc.sendPackets(new S_DelSkill(pc, i));
                                                        CharSkillTable.get().spellLost(pc.getId(), i);
                                                }

                                                pc.setClassId(61);
                                                pc.set_sex(0);
                                                pc.setType(1);
                                                pc.getInventory().takeoffEquip(945);
                                                pc.sendPackets(new S_ParalysisB(6, true));
                                                try
                                                {
                                                        pc.save();
                                                }
                                                catch (Exception e)
                                                {
                                                        _log.error(e.getLocalizedMessage(), e);
                                                }
                                                if (pc.getLevel() >= 50)
                                                {
                                                        pc.getInventory().storeItem(56, 1L);
                                                        pc.getInventory().storeItem(20027, 1L);
                                                        pc.getInventory().storeItem(20230, 1L);
                                                        pc.getInventory().storeItem(30, 1L);
                                                        pc.getInventory().storeItem(20318, 1L);
                                                }
                                                World.get().broadcastPacketToAll(new S_ServerMessage(166, (new StringBuilder("\\fR恭喜玩家【")).append(pc.getName()).append("】使用转职药水转为男骑士!").toString()));
                                                Thread.sleep(3000L);
                                                pc.getNetConnection().kick();
                                        }
                                       
                               
                else
                        if (s.equalsIgnoreCase("nqs"))//女骑士
                            {
                                   
                                            for (int i = 0; i < 300; i++)
                                            {
                                                    L1Skills skill = SkillsTable.get().getTemplate(i);
                                                    if (skill != null && skill.getSkillLevel() > 0)
                                                            pc.sendPackets(new S_DelSkill(pc, i));
                                                    CharSkillTable.get().spellLost(pc.getId(), i);
                                            }

                                            pc.setClassId(48);
                                            pc.set_sex(1);
                                            pc.setType(1);
                                            pc.getInventory().takeoffEquip(945);
                                            pc.sendPackets(new S_ParalysisB(6, true));
                                            try
                                            {
                                                    pc.save();
                                            }
                                            catch (Exception e)
                                            {
                                                    _log.error(e.getLocalizedMessage(), e);
                                            }
                                            if (pc.getLevel() >= 50)
                                            {
                                                    pc.getInventory().storeItem(56, 1L);
                                                    pc.getInventory().storeItem(20027, 1L);
                                                    pc.getInventory().storeItem(20230, 1L);
                                                    pc.getInventory().storeItem(30, 1L);
                                                    pc.getInventory().storeItem(20318, 1L);
                                            }
                                            World.get().broadcastPacketToAll(new S_ServerMessage(166, (new StringBuilder("\\fR恭喜玩家【")).append(pc.getName()).append("】使用转职药水转为女骑士!").toString()));
                                            Thread.sleep(3000L);
                                            pc.getNetConnection().kick();
                                    }
                                   
                           
                        else
                                if (s.equalsIgnoreCase("fs"))//法师
                                {
                                       
                                                for (int i = 0; i < 300; i++)
                                                {
                                                        L1Skills skill = SkillsTable.get().getTemplate(i);
                                                        if (skill != null && skill.getSkillLevel() > 0)
                                                                pc.sendPackets(new S_DelSkill(pc, i));
                                                        CharSkillTable.get().spellLost(pc.getId(), i);
                                                }

                                                pc.setClassId(734);
                                                pc.set_sex(0);
                                                pc.setType(3);
                                                pc.getInventory().takeoffEquip(945);
                                                pc.sendPackets(new S_ParalysisB(6, true));
                                                try
                                                {
                                                        pc.save();
                                                }
                                                catch (Exception e)
                                                {
                                                        _log.error(e.getLocalizedMessage(), e);
                                                }
                                                if (pc.getLevel() >= 50)
                                                {
                                                        pc.getInventory().storeItem(20055, 1L);
                                                        pc.getInventory().storeItem(20225, 1L);
                                                        pc.getInventory().storeItem(115, 1L);
                                                        pc.getInventory().storeItem(40599, 1L);
                                                }
                                                World.get().broadcastPacketToAll(new S_ServerMessage(166, (new StringBuilder("\\fR恭喜玩家【")).append(pc.getName()).append("】使用转职药水转为男法师!").toString()));
                                                Thread.sleep(3000L);
                                                pc.getNetConnection().kick();
                                        }
                                       
                               
                                else
                                        if (s.equalsIgnoreCase("nfs"))//女法师
                                        {
                                               
                                                        for (int i = 0; i < 300; i++)
                                                        {
                                                                L1Skills skill = SkillsTable.get().getTemplate(i);
                                                                if (skill != null && skill.getSkillLevel() > 0)
                                                                        pc.sendPackets(new S_DelSkill(pc, i));
                                                                CharSkillTable.get().spellLost(pc.getId(), i);
                                                        }

                                                        pc.setClassId(1186);
                                                        pc.set_sex(1);
                                                        pc.setType(3);
                                                        pc.getInventory().takeoffEquip(945);
                                                        pc.sendPackets(new S_ParalysisB(6, true));
                                                        try
                                                        {
                                                                pc.save();
                                                        }
                                                        catch (Exception e)
                                                        {
                                                                _log.error(e.getLocalizedMessage(), e);
                                                        }
                                                        if (pc.getLevel() >= 50)
                                                        {
                                                                pc.getInventory().storeItem(20055, 1L);
                                                                pc.getInventory().storeItem(20225, 1L);
                                                                pc.getInventory().storeItem(115, 1L);
                                                                pc.getInventory().storeItem(40599, 1L);
                                                        }
                                                        World.get().broadcastPacketToAll(new S_ServerMessage(166, (new StringBuilder("\\fR恭喜玩家【")).append(pc.getName()).append("】使用转职药水转为女法师!").toString()));
                                                        Thread.sleep(3000L);
                                                        pc.getNetConnection().kick();
                                                }
                                               
                                       
                                        else
                                                if (s.equalsIgnoreCase("yj"))//妖精
                                                {
                                                       
                                                                for (int i = 0; i < 300; i++)
                                                                {
                                                                        L1Skills skill = SkillsTable.get().getTemplate(i);
                                                                        if (skill != null && skill.getSkillLevel() > 0)
                                                                                pc.sendPackets(new S_DelSkill(pc, i));
                                                                        CharSkillTable.get().spellLost(pc.getId(), i);
                                                                }

                                                                pc.getInventory().takeoffEquip(945);
                                                                pc.setClassId(138);
                                                                pc.set_sex(0);
                                                                pc.setType(2);
                                                                pc.sendPackets(new S_ParalysisB(6, true));
                                                                try
                                                                {
                                                                        pc.save();
                                                                }
                                                                catch (Exception e)
                                                                {
                                                                        _log.error(e.getLocalizedMessage(), e);
                                                                }
                                                                if (pc.getLevel() >= 50)
                                                                {
                                                                        pc.getInventory().storeItem(50, 1L);
                                                                        pc.getInventory().storeItem(184, 1L);
                                                                        pc.getInventory().storeItem(20021, 1L);
                                                                        pc.getInventory().storeItem(20039, 1L);
                                                                        pc.getInventory().storeItem(40588, 1L);
                                                                        pc.getInventory().storeItem(40546, 1L);
                                                                }
                                                                World.get().broadcastPacketToAll(new S_ServerMessage(166, (new StringBuilder("\\fR恭喜玩家【")).append(pc.getName()).append("】使用转职药水转为男妖精!").toString()));
                                                                Thread.sleep(3000L);
                                                                pc.getNetConnection().kick();
                                                        }
                                                       
                                               
                                                else
                                                        if (s.equalsIgnoreCase("nyj"))//女妖精
                                                        {
                                                               
                                                                        for (int i = 0; i < 300; i++)
                                                                        {
                                                                                L1Skills skill = SkillsTable.get().getTemplate(i);
                                                                                if (skill != null && skill.getSkillLevel() > 0)
                                                                                        pc.sendPackets(new S_DelSkill(pc, i));
                                                                                CharSkillTable.get().spellLost(pc.getId(), i);
                                                                        }

                                                                        pc.setClassId(37);
                                                                        pc.set_sex(1);
                                                                        pc.setType(2);
                                                                        pc.getInventory().takeoffEquip(945);
                                                                        pc.sendPackets(new S_ParalysisB(6, true));
                                                                        try
                                                                        {
                                                                                pc.save();
                                                                        }
                                                                        catch (Exception e)
                                                                        {
                                                                                _log.error(e.getLocalizedMessage(), e);
                                                                        }
                                                                        if (pc.getLevel() >= 50)
                                                                        {
                                                                                pc.getInventory().storeItem(50, 1L);
                                                                                pc.getInventory().storeItem(184, 1L);
                                                                                pc.getInventory().storeItem(20021, 1L);
                                                                                pc.getInventory().storeItem(20039, 1L);
                                                                                pc.getInventory().storeItem(40588, 1L);
                                                                                pc.getInventory().storeItem(40546, 1L);
                                                                        }
                                                                        World.get().broadcastPacketToAll(new S_ServerMessage(166, (new StringBuilder("\\fR恭喜玩家【")).append(pc.getName()).append("】使用转职药水转为女妖精!").toString()));
                                                                        Thread.sleep(3000L);
                                                                        pc.getNetConnection().kick();
                                                                        L1Teleport.teleport(pc, pc.getX(), pc.getY(), pc.getMapId(), 0, false);
                                                                }
                                                               
                                                       
                        else
                                if (s.equalsIgnoreCase("hy"))//黑妖
                                {
                                       
                                                for (int i = 0; i < 300; i++)
                                                {
                                                        L1Skills skill = SkillsTable.get().getTemplate(i);
                                                        if (skill != null && skill.getSkillLevel() > 0)
                                                                pc.sendPackets(new S_DelSkill(pc, i));
                                                        CharSkillTable.get().spellLost(pc.getId(), i);
                                                }

                                                pc.setClassId(2786);
                                                pc.set_sex(0);
                                                pc.setType(4);
                                                pc.getInventory().takeoffEquip(945);
                                                pc.sendPackets(new S_ParalysisB(6, true));
                                                try
                                                {
                                                        pc.save();
                                                }
                                                catch (Exception e)
                                                {
                                                        _log.error(e.getLocalizedMessage(), e);
                                                }
                                                if (pc.getLevel() >= 50)
                                                {
                                                        pc.getInventory().storeItem(40598, 1L);
                                                        pc.getInventory().storeItem(40545, 1L);
                                                        pc.getInventory().storeItem(40553, 1L);
                                                        pc.getInventory().storeItem(13, 1L);
                                                }
                                                World.get().broadcastPacketToAll(new S_ServerMessage(166, (new StringBuilder("\\fR恭喜玩家【")).append(pc.getName()).append("】使用转职药水转为男黑妖!").toString()));
                                                Thread.sleep(3000L);
                                                pc.getNetConnection().kick();
                                        }
                                       
                               
                else
                        if (s.equalsIgnoreCase("nhy"))//女黑妖
                            {
                                   
                                            for (int i = 0; i < 300; i++)
                                            {
                                                    L1Skills skill = SkillsTable.get().getTemplate(i);
                                                    if (skill != null && skill.getSkillLevel() > 0)
                                                            pc.sendPackets(new S_DelSkill(pc, i));
                                                    CharSkillTable.get().spellLost(pc.getId(), i);
                                            }

                                            pc.setClassId(2796);
                                            pc.set_sex(1);
                                            pc.setType(4);
                                            pc.getInventory().takeoffEquip(945);
                                            pc.sendPackets(new S_ParalysisB(6, true));
                                            try
                                            {
                                                    pc.save();
                                            }
                                            catch (Exception e)
                                            {
                                                    _log.error(e.getLocalizedMessage(), e);
                                            }
                                            if (pc.getLevel() >= 50)
                                            {
                                                    pc.getInventory().storeItem(40598, 1L);
                                                    pc.getInventory().storeItem(40545, 1L);
                                                    pc.getInventory().storeItem(40553, 1L);
                                                    pc.getInventory().storeItem(13, 1L);
                                            }
                                            World.get().broadcastPacketToAll(new S_ServerMessage(166, (new StringBuilder("\\fR恭喜玩家【")).append(pc.getName()).append("】使用转职药水转为女黑妖!").toString()));
                                            Thread.sleep(3000L);
                                            pc.getNetConnection().kick();
                                    }

大陸JAVA技術 每日一分享技術文章 大陸技術QQ:263075225

a461771 發表於 2020-10-12 08:19

thank you so much

zymj628 發表於 2020-10-12 09:11

感谢分享

j89211047 發表於 2020-10-12 10:43

謝謝你的分享~~

jjen0206 發表於 2020-10-12 12:21

感謝分享教學文章

野性覺醒 發表於 2020-10-12 18:33

謝謝分享

michaeljordan18 發表於 2020-10-12 20:18

感謝大大分享

zct223 發表於 2020-10-17 08:01

感謝大家

Lineagelike520 發表於 2020-10-18 15:24

thank you so much

野性覺醒 發表於 2020-10-29 18:29

感謝分享

a0928193145 發表於 2021-2-28 11:57

;P;P;P;P;P;P

野性覺醒 發表於 2021-3-5 00:44

感謝大大的分享!

野性覺醒 發表於 2021-3-11 01:05

謝謝分享

bennyst 發表於 2021-7-19 20:41

aloha 發表於 2021-7-19 20:51

原來商城的轉職藥水就是這麼來的啊
感謝分享

liyapeng 發表於 2022-5-1 19:25

原來商城的轉職藥水就是這麼來的啊
感謝分享

angel766738 發表於 2022-5-29 20:16




感謝大大分享


aqqjch 發表於 2022-6-2 01:56

谢谢分享

jcpep 發表於 2023-7-14 09:31

大佬的主些代碼很有用啊

ntd206284062q 發表於 2023-7-30 12:52

感谢分享
頁: [1] 2
查看完整版本: 大陸JAVA技術 技術文章分享 之 轉換職業系統