L1MonsterInstance.java
搜尋 (全部都要)
S_NPCPack
替換成
S_NPCPackMon
S_NPCPackMon.java
搜尋
this.writeS(npc.getNameId());
替換成
this.writeS(NpcRandomColorSet.getRandomColor() + npc.getNameId());
新增 NpcRandomColorSet.java
package com.lineage.data.event;
import java.util.Random;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import com.lineage.data.executor.EventExecutor;
import com.lineage.server.templates.L1Event;
/**
* NPC隨機更換名稱顏色 (防外掛腳本)
* @author 濕主
*
*/
public class NpcRandomColorSet extends EventExecutor {
private static final Log _log = LogFactory.getLog(NpcRandomColorSet.class);
private static final Random _random = new Random();
public static String[] COLOR_LIST; // 顏色列表 (逗號區隔)
/**
*
*/
private NpcRandomColorSet() {
// TODO Auto-generated constructor stub
}
public static EventExecutor get() {
return new NpcRandomColorSet();
}
@Override
public void execute(final L1Event event) {
try {
final String[] set = event.get_eventother().split(",");
// 切割陣列
COLOR_LIST = set[0].replaceAll(" ", "").split(",");
} catch (Exception e) {
_log.error(e.getLocalizedMessage(), e);
}
}
/**
* 隨機取出色碼
* @return
*/
public static final String getRandomColor() {
return COLOR_LIST != null ?
COLOR_LIST[_random.nextInt(COLOR_LIST.length)] : "";
}
}
複製代碼
最後在 server_event資料表內新增以下資料就可以嘍
NPC隨機更換名稱顏色 (防外掛腳本) NpcRandomColorSet 1 \fW,\fT,\fD 說明:顏色列表 (逗號區隔) (亦可加入特殊符號或字元)
也可以延伸做成每隔XX秒就自動更換一次, 效果更卓越