因為很無聊,
所以隨便發個很簡單到不行的教學。
簡單來說,一般怪物身上有藥水時,在HP低於40%以下會有50%機率喝水,
這是個很一般的設定,而且通用於全部怪物。
那麼,來個比較不一樣的,
例如你希望你遊戲中的死亡騎士這隻BOSS身上有一堆白水,然後被打就會不停的喝,
或是你創立了一隻玩家外觀的怪物,你希望玩家在和他對打時玩家和怪物都會喝水。
嗯,看起來就像真人PK一樣(誤
那麼,可以修改這隻程式碼:
l1j\server\server\model\Instance\L1MonsterInstance.java
搜尋以下這一段
if (getCurrentHp() * 100 / getMaxHp() < 40) {
useItem(USEITEM_HEAL, 50);
}
這段的上面添加這句:
int NpcId = getNpcTemplate().get_npcId();
以下為範例修改:
改寫為CASE
※應該是這樣吧..手邊沒有eclipse,而且已經不碰java很久了
以上,結束。
所以隨便發個很簡單到不行的教學。
簡單來說,一般怪物身上有藥水時,在HP低於40%以下會有50%機率喝水,
這是個很一般的設定,而且通用於全部怪物。
那麼,來個比較不一樣的,
例如你希望你遊戲中的死亡騎士這隻BOSS身上有一堆白水,然後被打就會不停的喝,
或是你創立了一隻玩家外觀的怪物,你希望玩家在和他對打時玩家和怪物都會喝水。
嗯,看起來就像真人PK一樣(誤
那麼,可以修改這隻程式碼:
l1j\server\server\model\Instance\L1MonsterInstance.java
搜尋以下這一段
CODE:
if (getCurrentHp() * 100 / getMaxHp() < 40) {
useItem(USEITEM_HEAL, 50);
}
這段的上面添加這句:
CODE:
int NpcId = getNpcTemplate().get_npcId();
以下為範例修改:
CODE:
if(NpcId == 45601 && getCurrentHp() < (getMaxHp() - 100)) {
useItem(USEITEM_HEAL, 90); // 指定45601這隻怪物在HP少於100以上時,有90%機率喝水
} else {
if (getCurrentHp() * 100 / getMaxHp() < 40) {
useItem(USEITEM_HEAL, 50);
}
}
useItem(USEITEM_HEAL, 90); // 指定45601這隻怪物在HP少於100以上時,有90%機率喝水
} else {
if (getCurrentHp() * 100 / getMaxHp() < 40) {
useItem(USEITEM_HEAL, 50);
}
}
改寫為CASE
※應該是這樣吧..手邊沒有eclipse,而且已經不碰java很久了
CODE:
switch(NpcId) {
case 45601:
case 45602:
case 45603:
if(getCurrentHp() < (getMaxHp() - 100)) {
useItem(USEITEM_HEAL, 90);
}
} else {
if (getCurrentHp() * 100 / getMaxHp() < 40) {
useItem(USEITEM_HEAL, 50);
}
}
case 45601:
case 45602:
case 45603:
if(getCurrentHp() < (getMaxHp() - 100)) {
useItem(USEITEM_HEAL, 90);
}
} else {
if (getCurrentHp() * 100 / getMaxHp() < 40) {
useItem(USEITEM_HEAL, 50);
}
}
以上,結束。
文章出處 浪漫物語網路社區
沒有留言:
張貼留言