- UID
- 286271
- 帖子
- 42
- 主題
- 31
- 精華
- 0
- 積分
- 31
- 楓幣
- 507
- 威望
- 31
- 存款
- 0
- 贊助金額
- 0
- 推廣
- 0
- GP
- 31
- 閱讀權限
- 10
- 性別
- 保密
- 在線時間
- 2 小時
- 註冊時間
- 2020-7-12
- 最後登入
- 2021-4-13
|
本帖最後由 -Sammy 於 2020-7-27 04:20 編輯
冒险岛PK频道设置
打开: ChannelServer.java
找到: private int maxStat;
加入如下: private short pvpChannel;
找到: maxStat = Integer.parseInt(props.getProperty("net.sf.odinms.world.maxStat"));
下面加入: pvpChannel = Short.parseShort(props.getProperty("net.sf.odinms.world.pvpchannel"));
再找到: maxStat = Integer.parseInt(props.getProperty("net.sf.odinms.world.maxStat"));
下面加入: pvpChannel = Short.parseShort(props.getProperty("net.sf.odinms.world.pvpChannel"));
查找: public boolean getMultiLevel() {
删除最后一个 } 这样是为了让最后一条函数返回于一条赋予值!
最后加入:
public short getPvpChannel() {
return pvpChannel;
}
public void setPvpChannel(Short blahblah) {
this.pvpChannel = blahblah;
}
}
然后打开:AbstractDealDamageHandler.java
查找: int totDamage = 0;
final MapleMap map = player.getMap();
把这两句删除,然后在if (attack.skill == 4211006) { 上面增加如下代码:
int totDamage = 0;
final MapleMap map = player.getMap();
if ((attack.skill != 2301002 && attack.skill != 4201004 && attack.skill != 1111008) && player.getClient().getChannel() == player.getClient().getChannelServer().getPvpChannel()) {
PvPLibrary.doPvP(player, attack);
}
最后然后在:package net.sf.odinms.net.channel.handler这里新建一个JAVA类,命名为 PvPLibrary
然后在里面输入代码:
package net.sf.odinms.net.channel.handler;
import net.sf.odinms.client.MapleCharacter;
import net.sf.odinms.net.channel.handler.AbstractDealDamageHandler.AttackInfo;
/**
*
* @By ZreHy
*/
class PvPLibrary { //声明类是公共的
static void doPvP(MapleCharacter player, AttackInfo attack) {
throw new UnsupportedOperationException("没有赋值!");
}
}
OK。。编译即可!!!很详细!!
最后一步,
打开端里的 world.properties
加入一段
# PK频道,0为不开启!这里4就是第四频道开放PK!
net.sf.odinms.world.pvpChannel=4
|
|