開個人商店位置判斷
l1j.server.server.clientpackets.C_Shop.java
搜尋
int mapId = pc.getMapId();
if (mapId != 340 && mapId != 350 && mapId != 360 && mapId != 370) {
pc.sendPackets(new S_ServerMessage(876));
return;
}
往下插入
for (L1Object object : L1World.getInstance()
.getVisibleObjects(pc, 7)) { // 7是玩家周圍7格,可以依需求調整為3或者5之類其他數字
if (object instanceof L1PcInstance) { // 7格內的object有L1PcInstance
if (((L1PcInstance) object).isPrivateShop()) { //周圍7格內已經有其他玩家開啟個人商店
pc.sendPackets(new S_SystemMessage
("無法在此開啟商店,附近已有其他個人商店。"));
return;
}
} else if (object instanceof L1DwarfInstance) { // 7格內的object有L1DwarfInstance
pc.sendPackets(new S_SystemMessage
("無法在倉庫附近開啟個人商店。")); // 不判斷倉庫的話就直接把這個回圈內的東西刪除
return;
}
}
要怎麼作判斷大概都註解清楚了....
主要是防止一堆玩家擠在一起導致畫面很亂,
而且也可以少許降低封包的流量。:) 謝謝大大分享 感謝您的分享;P;P 很實用喔 收著收著 也許哪一天會用到
頁:
[1]