查看: 2287|回復: 4

[分享] 開個人商店位置判斷

  [複製鏈接]

13

主題

162

帖子

7343

金錢

巨蟻女皇

Rank: 9Rank: 9Rank: 9

威望
3
精華
0
貢獻
0
鑽石
0
閱讀權限
55
積分
7511
在線時間
46 小時
相冊
0
日誌
0
好友
0
發表於 2016-12-6 00:08 | 顯示全部樓層 |閱讀模式


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;
   }
  }


要怎麼作判斷大概都註解清楚了....

主要是防止一堆玩家擠在一起導致畫面很亂,

而且也可以少許降低封包的流量。




上一篇︰玩家PK公告...
下一篇︰關於 Window 10 JAVA 的設定

3

主題

106

帖子

2541

金錢

妖魔鬥士

Rank: 6Rank: 6

威望
6
精華
0
貢獻
1
鑽石
0
閱讀權限
40
積分
2660
在線時間
50 小時
相冊
0
日誌
0
好友
4
發表於 2016-12-8 07:14 | 顯示全部樓層
謝謝大大分享

回復 支持 反對

使用道具 舉報

13

主題

270

帖子

1萬

金錢

巨蟻女皇

Rank: 9Rank: 9Rank: 9

威望
13
精華
0
貢獻
0
鑽石
0
閱讀權限
55
積分
13697
在線時間
102 小時
相冊
0
日誌
0
好友
0

活躍會員最佳新人論壇元老

發表於 2016-12-8 16:41 | 顯示全部樓層
感謝您的分享

回復 支持 反對

使用道具 舉報

13

主題

185

帖子

7907

金錢

巨蟻女皇

Rank: 9Rank: 9Rank: 9

威望
12
精華
0
貢獻
0
鑽石
0
閱讀權限
55
積分
8116
在線時間
76 小時
相冊
0
日誌
0
好友
1

最佳新人

發表於 2017-2-26 16:18 | 顯示全部樓層
很實用喔 收著收著 也許哪一天會用到

回復 支持 反對

使用道具 舉報

bennyst 該用戶已被刪除
發表於 2021-7-15 20:33 | 顯示全部樓層
提示: 作者被禁止或刪除 內容自動屏蔽
回復 支持 反對

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 註冊會員

本版積分規則

天堂私服列表

45客服

Archiver| 45天堂私服論壇   分享到微博! 分享到臉書! 分享到噗浪! 分享到維特! 分享到Google+! 分享到LINE!

45天堂私服發佈站 ©    天堂私服架設教學  提供最新天堂私服最新資訊

流量最高、品質最好、服務最優、玩家首選、最新天堂私服資訊,都在45天堂私服發佈站.    免責聲明

Sitetag
line客服聯繫
掃一掃二碼
Line客服聯繫
24H專人回覆
返回頂部 返回列表