2013年5月17日 星期五

【Java教學】【★★★★★】核心製作一些小玩意


C_ItemUSe.java

                ------------------------------------贖罪之書------------------------------------
                     } else if (itemId == 65002) { //贖罪之書 對應DB編號
               pc.setLawful(32767);
      pc.getInventory().removeItem(l1iteminstance, 1);
       pc.sendPackets(new S_SystemMessage("你的正義增加32767!"));
               }


             ------------------------------------加HP藥水------------------------------------
          } else if (itemId == 63000) { //對應DB編號
               if (!pc.getInventory().checkItem(itemId,1)){
                   return;
               }                        
               pc.addBaseMaxHp((byte) 1); //這裡的1代表加多少血
               pc.getInventory().removeItem(l1iteminstance, 1);
               pc.sendPackets(new S_SystemMessage("你的HP值永久+1")); //對應上面


             ------------------------------------加MP藥水------------------------------------
           else if (itemId == 63020) { // 對應DB編號
               if(!pc.getInventory().checkItem(itemId,1)){
                   return;
               }            
               pc.addBaseMaxMp((byte) 1); // 這裡的1代表加多少魔
               pc.getInventory().removeItem(l1iteminstance, 1);
               pc.sendPackets(new S_SystemMessage("你的MP值永久+1")); //對應上面


                  ------------------------------------變性藥水------------------------------------
                  } else if (itemId == 60213) {
                    pc.getInventory().takeoffEquip(945);//用來脫掉全身裝備
                    pc.sendPackets(new S_SystemMessage("好像有什麼力量改變了你的身體。"));
                    if (pc.get_sex() == 0)
                    pc.set_sex(1);
                    else
                    pc.set_sex(0);
                    if (pc.getClassId() == 61)
                    pc.setClassId(48);
                    else if (pc.getClassId() == 48)
                    pc.setClassId(61);
                    if (pc.getClassId() == 138)
                    pc.setClassId(37);
                    else if (pc.getClassId() == 37)
                    pc.setClassId(138);
                    if (pc.getClassId() == 734)
                    pc.setClassId(1186);
                    else if (pc.getClassId() == 1186)
                    pc.setClassId(734);
                    if (pc.getClassId() == 2786)
                    pc.setClassId(2796);
                    else if (pc.getClassId() == 2796)
                    pc.setClassId(2786);
                    if (pc.getClassId() == 0)
                    pc.setClassId(1);
                    else if (pc.getClassId() == 1)
                    pc.setClassId(0);  
                    if (pc.getClassId() == 6671)
                    pc.setClassId(6650);
                    else if (pc.getClassId() == 6650)
                    pc.setClassId(6671);
                    if (pc.getClassId() == 6658)
                    pc.setClassId(6661);
                    else if (pc.getClassId() == 6661)
                    pc.setClassId(6658);
                    pc.sendPackets(new S_OwnCharStatus(pc));
                    pc.sendPackets(new S_SkillSound(pcObjid, 1183));
                    pc.broadcastPacket(new S_SkillSound(pcObjid, 1183));
                    pc.getInventory().removeItem(l1iteminstance, 1);
                    pc.save();


                  ------------------------------------洗血藥水------------------------------------
              } else if (itemId == 70007) { //TODO 洗血藥水
                   if (pc.getLevel() <= 1) {
                       pc.sendPackets(new S_ServerMessage(79));
                       return;
                   }
                   pc.sendPackets(new S_SkillSound(pcObjid, 6505));
                   pc.broadcastPacket(new S_SkillSound(pcObjid, 6505));
                   pc.getInventory().takeoffEquip(945);//用來脫掉全身裝備
                   pc.setExp(0);
                   pc.resetLevel();
                   pc.addBaseMaxHp((short)(-1 * (int)((double) pc.getBaseMaxHp() - 100)));//喝了之後剩多少HP
              pc.addBaseMaxMp((short)(-1 * (int)((double) pc.getBaseMaxMp() - 100)));//喝了之後還剩多少MP
                   pc.resetBaseAc();
                   pc.resetBaseMr();
                   pc.resetBaseHitup();
                   pc.resetBaseDmgup();
                   pc.sendPackets(new S_OwnCharStatus(pc));
                   pc.sendPackets(new S_ServerMessage(822));
                   pc.getInventory().removeItem(l1iteminstance, 1);
                   }


                 ------------------------------------解卡點卷軸------------------------------------
               else if (itemId == 70000) { //TODO 解卡點卷軸 by xpatax
                       Connection connection = null;
                       connection = L1DatabaseFactory.getInstance().getConnection();
                       PreparedStatement preparedstatement = connection.prepareStatement("UPDATE characters SET LocX=33442,LocY=32797,MapID=4 WHERE account_name=?");
                       preparedstatement.setString(1, client.getAccountName());
                       preparedstatement.execute();
                       preparedstatement.close();
                       connection.close();
                       pc.sendPackets(new S_SystemMessage("除了你,其他角色已回到奇岩村。"));
                       pc.getInventory().removeItem(l1iteminstance, 1);
                   }

                  ------------------------------------能力值藥水------------------------------------
                   else if (itemId == 65003) {
               if ( pc.hasSkillEffect(8020) == false){
               pc.addStr(2);
               int time1 = 900 * 1000; // 設置時間為1小時          
               pc.setSkillEffect(8020, time1);
               pc.getInventory().removeItem(l1iteminstance, 1); // 移除物品  
               pc.sendPackets(new S_OwnCharStatus2(pc));
               pc.sendPackets(new S_SystemMessage("獲得了神的祝福 你的力量+2 時效900秒 "));
               pc.save();
                                            else{          
                pc.sendPackets(new S_SystemMessage("屬性強化失敗"));}



                ------------------------------------抗魔藥水------------------------------------

           }                else if (itemId == 43300) {
               if ( pc.hasSkillEffect(8032) == false){              
                   pc.addWind(30);
                   int time2 = 900 * 1000; // 設置時間為1小時
                   pc.setSkillEffect(8032,time2);
                   pc.getInventory().removeItem(l1iteminstance, 1); // 移除物品  
                   pc.sendPackets(new S_OwnCharStatus(pc));
                   pc.sendPackets(new S_SystemMessage("獲得了神的祝福你的風系抗磨+30 時效900秒 "));
                   pc.save();
                }    else{          
                    pc.sendPackets(new S_SystemMessage("屬性強化失敗"));}
               }  


                ------------------------------------魔法卷軸------------------------------------

               else if (itemId == 65026) { //魔法卷軸(屬性之火)
                    pc.getInventory().removeItem(l1iteminstance, 1); // 移除物件                               cancelAbsoluteBarrier(pc);
                    L1SkillUse l1skilluse = new L1SkillUse();
                    l1skilluse.handleCommands(client.getActiveChar(),
                    171, spellsc_objid, spellsc_x, spellsc_y,
                    null, 0, L1SkillUse.TYPE_SPELLSC);


                ------------------------------------變身藥水------------------------------------
                              搜索if (itemId == 41154) {
                                      下面加入
       } else if (itemId == 60510) { // 對應DB編號
           polyId = 6142; //這裡是顯示的圖檔










沒有留言:

張貼留言