【相關網址】
 AICL楓之谷私服論壇技術討論區:點此

【前言】
道具兌換是非常基本的入門指令,基本只需參考前人的設定,就可以做出功能相同的JS,但是,如果要限制玩家僅能領取一次呢?這邊所用的是透過"每日領取"的設計技巧,做出全新變化。

【優點】

  1. 設定簡單,更改條件容易。
  2. BUG出線機率極低。
  3. 玩家兌換狀況清楚明瞭。
  4. 功能彈性,可運用許多不同 JS 判斷寫法。

【教學開始】

# 步驟一
首先,我們要先打開SRC,開啟 「NPCConversationManager.JAVA」
新增底下兩種方法 :
=

     public int getBossLog2(String bossid) {
        return getPlayer().getBossLog2(bossid);
    }
 
       public void setBossLog2(String bossid) {
        getPlayer().setBossLog2(bossid);
    }

=

紅色部分可隨意更改,但務必顏色的內容要一致。

「解釋」上面的內容,會用於JS方法,第一個是導出,第二個是導入。

# 步驟二
打開SRC,開啟 「MapleCharacer.JAVA」
新增底下兩種方法 :
=
        public int getBossLog2(String bossid) {
        Connection con1 = DatabaseConnection.getConnection();
        try {
            int ret_count = 0;
            PreparedStatement ps;
            ps = con1.prepareStatement("select count(*) from bosslog2 where characterid = ? and bossid = ? ");
            ps.setInt(1, id);
            ps.setString(2, bossid);
            ResultSet rs = ps.executeQuery();
            if (rs.next())
                ret_count = rs.getInt(1);
            else
                ret_count = -1;
            rs.close();
            ps.close();
            return ret_count;
        } catch (Exception Ex) {
            return -1;
        }
    }


        public void setBossLog2(String bossid) {
        Connection con1 = DatabaseConnection.getConnection();
        try {
            PreparedStatement ps;
            ps = con1.prepareStatement("insert into bosslog2 (accountid, characterid, bossid) values (?,?,?)");
            ps.setInt(1, accountid);
            ps.setInt(2, id);
            ps.setString(3, bossid);
            ps.executeUpdate();
            ps.close();
        } catch (Exception Ex) {
        }
    }

=
此處請注意到,紅色部分要跟第一步的方法名稱相同,否則會出錯。
粉色部分為資料庫名,未來的所有資料都會存在此名稱資料庫。

# 步驟三
新增一個資料庫,設定內容如下。


設定完後,資料庫名稱要是第二步驟,粉色的名稱,設定完後SRC才能正確連接到資料庫。


# 步驟四
接下來最後一步驟,就是寫出您要的 JS 內容囉!!
這部分就不貼上寫法了,照著圖上做,應該不難。
IF會去判斷角色是不是有"DAY1"跟另一個道具,有的話就跳出 IF 的內容,
而玩家在最一開始,資料庫一定是沒有"DAY1"的,所以會先跳 ELSE ,
然後執行了"setBossLog2",並寫入"DAY1",這樣一個簡單的判斷就誕生了!!




謝謝大家

發表評論

Subscribe to Posts | Subscribe to Comments

- Copyright © AICL社群娛樂集團 - 網站區 - Date A Live - Powered by Blogger - Designed by Johanes Djogan -