 | 以下為該功能的程式碼
src/l1j/server/server/templates/L1Item.java
程式碼最尾端
下方加入
//掉落物品廣播
private int _broad;
public void setBroad(int i) {
_broad = i;
}
public int getBroad() {
return _broad;
}
src/l1j/server/server/datatables/ItemTable.java
加入
item.setBroad(rs.getInt("broad"));//掉落物品廣播
src/l1j/server/server/datatables/DropTable.java
import java.util.Collection;
import l1j.server.server.serverpackets.S_SystemMessage;
import l1j.server.server.model.Instance.L1PcInstance;
尋找
// ソロの場合
player.sendPackets(new S_ServerMessage(143, npc.getName(), item.getLogName())); // \f1%0が%1をくれました。
上方加入
if (item.getItem().getBroad() == 1) {
BroadCastToAll("恭喜玩家【" + player.getName()+ "】殺死【" + npc.getName() + "】後獲得【" + item.getLogName() + "】");
}
程式碼最尾端加入
private void BroadCastToAll(final String string) {
final Collection<L1PcInstance> allpc = L1World.getInstance()
.getAllPlayers();
for (final L1PcInstance pc : allpc) {
pc.sendPackets(new S_SystemMessage(string));
}
}
DB中etcitem新增
broad tinyint 1 0 (最後面取消打勾)預設0
以上動作我都做完以後,上線測試結果,的確會公告etcitem內broad被設定為1的道具掉落公告
但之後我發現armor跟weapon表中的裝備跟武器有被設定broad為1的物品都不會公告
想詢問了解此問題的大大,我該怎麼更正它...
| |