2014年5月20日 星期二

【Java教學】新增新手保護系統

修改L1Attack.java 

收尋

dmg = calcBuffDamage(dmg); 

上面新增

// 新手保護系統
// 玩家等級低於幾級 其他玩家無法攻擊
      if (_targetPc.getLevel() <= Config.New_Player) {
        dmg = 0;
        _pc.sendPackets(new S_SystemMessage("不能攻擊等級低於【 " + (Config.New_Player + 1) + " 】級的玩家。"));
        _targetPc.sendPackets(new S_SystemMessage("等級未滿【 " + (Config.New_Player + 1) + " 】級,其他玩家無法攻擊您。"));
      }
// 玩家等級低於幾級 不能攻擊其他玩家
      if (_pc.getLevel() <= Config.New_Player && _targetPc.getLevel() >= 1) {
        dmg = 0;
        _pc.sendPackets(new S_SystemMessage("等級未滿【 " + (Config.New_Player + 1) + " 】級,無法攻擊其他玩家。"));
        _targetPc.sendPackets(new S_SystemMessage("對方等級未滿【 " + (Config.New_Player + 1) + " 】級,所以無法攻擊您。"));
      }
// 新手保護系統 end




修改L1Magic.java 

搜尋

damage = calcMrDefense(damage); 


下面新增

// 新手保護系統
      if (_calcType == PC_PC) {
// 玩家等級低於幾級 其他玩家無法攻擊
        if (_targetPc.getLevel() <= Config.New_Player) {
            damage = 0;
            _pc.sendPackets(new S_ServerMessage(166, "不能攻擊等級低於【 " + (Config.New_Player + 1) + " 】級的玩家"));
            _targetPc.sendPackets(new S_ServerMessage(166, "等級未滿【 " + (Config.New_Player + 1) + " 】級,其他玩家無法攻擊您"));
        }
// 玩家等級低於幾級 不能攻擊其他玩家
        if (_pc.getLevel() <= Config.New_Player && _targetPc.getLevel() >= 1) {
            damage = 0;
            _pc.sendPackets(new S_ServerMessage(166, "等級未滿【 " + (Config.New_Player + 1) + " 】級,無法攻擊其他玩家"));
            _targetPc.sendPackets(new S_ServerMessage(166, "對方等級未滿【 " + (Config.New_Player + 1) + " 】級,所以無法攻擊您"));
        }
      }
// 新手保護系統 end





修改Config.java 

搜尋

public static int DEFAULT_CHARACTER_SLOT; 


下面新增

// 新手保護系統
  public static int New_Player;
// 新手保護系統 end


搜尋

        DEFAULT_CHARACTER_SLOT = Integer.parseInt(altSettings.getProperty( 
              "DefaultCharacterSlot", "6")); 


下面新增

// 新手保護系統
        New_Player = Integer.parseInt(altSettings.getProperty(
              "NewPlayer", "10"));
// 新手保護系統 end


搜尋

      } else if (pName.equalsIgnoreCase("DefaultCharacterSlot")) { 
        DEFAULT_CHARACTER_SLOT = Integer.valueOf(pValue); 


下面新增

// 新手保護系統
      } else if (pName.equalsIgnoreCase("NewPlayer")) {
        New_Player = Integer.parseInt(pValue);
// 新手保護系統 end




修改altsettings.properties 

最下面新增

#-------------------------------------------------------------
#玩家等級等於或低於幾級時 受保護狀態
NewPlayer = 10
#-------------------------------------------------------------

沒有留言:

張貼留言