查看: 801|回复: 1

點裝領取系統

[复制链接]
  • TA的每日心情

    2022-12-15 19:48
  • 签到天数: 6 天

    [LV.2]偶尔看看I

    74

    主题

    9

    回帖

    355

    积分

    中级会员

    Rank: 3Rank: 3

    积分
    355
    QQ
    发表于 2022-12-1 17:17:07 | 显示全部楼层 |阅读模式


    效果
    按照點裝分類成 臉飾、眼飾、耳環、帽子、上衣、褲子、手套、套服、披風、戒指、盾牌、鞋子、武器,當然怎麼分全靠你怎麼設定範圍。
    輸入代碼領取點裝。
    不能領取的點裝會提示不能領取。
    代碼
    我先解釋一下會用到的一些方法是什麼意思,最後會附上完整的程式碼。
    主要會用到 sendGetNumber() 和 isCash() 兩個方法
    sendGetNumber 是可以獲取玩家輸入的數值的方法 在 NPCConversationManager.java 可以看到方法是怎麼定義的:
    [JavaScript] 纯文本查看 复制代码
    public void sendGetNumber(String text, int def, int min, int max) {
            if (lastMsg > -1) {
                return;
            }
            if (text.contains("#L")) { // will dc otherwise!
                sendSimple(text);
                return;
            }
            c.getSession().write(MaplePacketCreator.getNPCTalkNum(npc, text, def, min, max));
            lastMsg = 4;
        }
    這裡的 text 為顯示的對話內容,def 為預設的數值,min 為最小值,max 為最大值。
    我們將用這個方法來做點裝的分類,至於點裝代碼是怎麼去分類的請看 伺服端\wz\String.wz\Eqp.img
    比如說我點裝臉飾是代碼介於 1010001 ~ 1012672 就可以這樣寫:
    [JavaScript] 纯文本查看 复制代码
    cm.sendGetNumber("#h0#,你想領取什麼臉飾呢?請輸入代碼吧!\r\n",1010001,1010001,1012672);
    接收到玩家輸入的數值後就有幾種狀況需要去判斷:
    • 是否為點裝? => 使用 isCash() 方法判斷
    • 這個道具是否存在?
    • 是否介於這個分類範圍? => 不需要特別寫判斷式,因為如果輸入的數值不在那個分類設定的最小值和最大值區間,系統會直接提示。
    • 是否是不能直接領取的道具? => 多寫一個判斷式

    [JavaScript] 纯文本查看 复制代码
    if(cm.isCash(id)){ // 判斷是否為點裝
      
      if(id==1112127){ // welcome back戒指 不能直接領取
        cm.sendOk("#z"+id+"##i"+id+"#可不能用領取的哦!!!!");
        cm.dispose();
      }else{
        cm.sendYesNo("你確定要領取#z"+id+"##i"+id+"#嗎?");
      }
      
    }else{ // 不是點裝或不存在
      cm.sendOk("你輸入的代碼不存在或者非點裝!");
      cm.dispose();
    }


    专注于GMS研究,有偿调试架设,全网最低,公益群:915210346。
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    2024-7-4 11:28
  • 签到天数: 6 天

    [LV.2]偶尔看看I

    0

    主题

    55

    回帖

    168

    积分

    注册会员

    Rank: 2

    积分
    168
    发表于 2024-6-29 07:50:57 | 显示全部楼层
    666666666666666666666
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    快速回复 返回顶部 返回列表