殺戮kill 發表於 2018-12-6 11:35

開啟伺服器偵測販賣價錢是否正確(防買賣洗錢)

最近發現好像滿多人喜歡販賣所有道具

另外用了個資料表shop_sell_price之類的

但是卻因為價錢沒設定好

被玩家買了便宜 賣商店又高於買的價錢 達到洗錢的效果:'(


對於這個小問題我寫了個小方法偵測

物件:ShopTable

搜尋loadShopAllSell

在int price = rs.getInt(\"sell_price\");以下if(price >= 1) {以上貼上下面的程式碼


      //修正販賣價錢錯誤問題
      if (price >= 1) {
          Connection conI   = null;
          PreparedStatement pstmI = null;
          ResultSet rsI       = null;
          try {
            conI   = L1DatabaseFactory.getInstance().getConnection();
            pstmI   = conI.prepareStatement(\"SELECT * FROM shop WHERE item_id='\"+ itemId+\"'\");
            rsI   = pstmI.executeQuery();
            while (rsI.next()) {
            if (rsI.getInt(\"selling_price\") >= 1 && price > rsI.getInt(\"selling_price\")) {
                System.out.println(\"NpcId=\"+rsI.getInt(\"npc_id\")+\", ItemID=\"+itemId+\", PriceError!!!\");
                price = -1;
            }
            }
            rsI.close();
          } catch (SQLException e) {
            _log.log(Level.SEVERE, e.getLocalizedMessage(), e);
          } finally {
            SQLUtil.close(rsI, pstmI, conI);
          }
      }         

k007008 發表於 2019-1-16 20:20

教學不錯!!!

19870922 發表於 2019-1-20 06:59

感謝分享

YEN 發表於 2019-1-22 00:05

感謝教學

LINEAGEGG 發表於 2019-1-22 00:56

感謝教學

willjun 發表於 2019-2-22 08:53

谢谢大佬分享技术~~~~~

SZX3310 發表於 2019-2-24 07:31

謝謝您 教學不錯!!!

1986418 發表於 2019-2-26 11:19

感謝你的分享~教學

kofsky321 發表於 2019-4-14 23:03

可以解釋一下程式碼的意思嗎

apple780303 發表於 2019-5-14 21:14

       
感謝教學

clubblard426 發表於 2019-5-15 15:15

感謝分享

harvey1014 發表於 2019-5-15 15:23

不錯的東西~~感謝分享~

野性覺醒 發表於 2020-4-1 18:21

感謝無私的分享

kao0820 發表於 2020-4-1 21:35

       感謝分享

esdion 發表於 2020-4-2 11:16

感謝大大無私地分享

n5691000 發表於 2020-7-12 09:34

感謝教學分享

野性覺醒 發表於 2020-7-12 20:32

感謝你的分享

下一位 發表於 2020-9-21 13:01

這個 好像都核心的好深澳

野性覺醒 發表於 2020-9-21 18:50

感謝分享

bennyst 發表於 2021-7-18 09:25

頁: [1] 2
查看完整版本: 開啟伺服器偵測販賣價錢是否正確(防買賣洗錢)