微信扫一扫 分享朋友圈

已有 6790 人浏览分享

[服務器教學] 如何順利寫出漂亮的 JS 語法 〔蒐集物兌換篇〕

  [複製鏈接]

站長

Rank: 12Rank: 12Rank: 12

1966

威望

3465

金錢

11

A幣
主題
1324
帖子
2477
精華
3
綜合社群主題發文量
267
電玩社群主題發文量
1
娛樂社群主題發文量
4
技術社群主題發文量
31
閱讀權限
200
註冊時間
2013-1-28

我是傳奇贊助感謝勳章精華作者勳章

  • TA的每日心情

    2024-11-9 23:41
  • 簽到天數: 397 天

    連續簽到: 1 天

    [LV.9]以壇為家II

    TWAICL 發表於  2017-4-1 10:30:23 | 顯示全部樓層 | 閱讀模式

    1.png

    【前言】
    首先,在寫一個語法時,你自己心中要自己知道現在要寫什麼,而最重要的是,我們必須要用電腦的角度去思考。
    這感覺很抽象,打個比方 「拿一片楓葉換了一件道具」

    以玩家的操作會是這樣:
    打開NPC → 點選要換的商品 → 兌換成功,得到商品扣掉兌換物 → 完成。

    以電腦的角度會是這樣 :
    玩家開啟NPC → 傳送需求至服務端 → 服務端抓取相應JS代號 → 啟動JS → 玩家看到兌換畫面 → 玩家兌換道具
    → 確認是否有蒐集物 → 扣掉蒐集物 → 給予道具 → 顯示兌換成功畫面 → 完成。

    以上就是兩者間的差別,電腦是一個指令一個動作,所以所有細節每一步都要交代清楚,電腦才知道他該怎麼做
    而今天,我們則是要教導各為玩家看到畫面後,JS出現的內容是如何呈現給玩家。

    【本文】
    相信很多伺服器都很愛用怪物的掉落物去做兌換,完成一個周期的活動。
    而大部分開服者所使用的兌換方式,都是用最老套的一個代碼一個代碼更換,
    如兌換道具少,那還不影響,但如一次要換大量物品,就有問題了,
    撇除更改代碼的耗時時間增加,最主要的是,代碼錯誤率會增加,本次語法
    除了能大幅降低更改時間,還能有效率的增加兌換數量,錯誤率將低,可為三贏的語法。

    【教學開始】
    首先,先貼上本次語法。
    語法下載處 : 點此

    接著,讓我們一步一步來讓您整個語法的設計,其實非常的簡單。
    首先,本篇語法的寫法邏輯為
    顯示出畫面 → 玩家看到整個兌換畫面 → 玩家挑選要換的項目 → 玩家兌換 → 確認是不是有這個物品 
    → 扣除物品 → 獲得道具 → 完成。

    2.png


    我先將編譯語系更改為 " Encoding in UTF-8 " 如紅框處,設定好後,語法則可使用中文撰寫。

    3.png


    我們將蒐集物指定為 4031323 這個代碼,蒐集物數量指定為400...依此類推。
    PS : 如不曉得為甚麼會這樣寫,請看本篇文章 : 點此

    因此,所有叫做蒐集物這個名稱的,都可以看做 4031323 ,此時就可以解決一個問題,
    「代碼重複率」問題,比方 4031323 出現了3 次,如在未指定的情況下,必須三個代碼一個一個改,
    如有指定的話,僅需改動被指定的代碼一次則可。



    接下來則是文字的寫法,當然,打字誰都會,這邊就不做太多解釋,還請初學者多研究
    我想最重要的會是,要如何將道具以不同形式出現好比代碼、文字、圖片等...。

    4.png


    其中,很重要的一點,只要是會給玩家看到的,固定寫法必須為  " + 蒐集物 + " ,如想其他變化,則可增加 #k #r 等......
    如是寫在玩家看不到的地方,好比給電腦看的,則只需打上蒐集物三個字即可。
    PS : 這邊請記得,蒐集物已經被指定為代碼 4031323

    那麼,接下來我們簡單介紹,如何讓代碼有不同形式出現
    #t = 出現文字
    #i = 出現圖片
    #什麼都沒寫,則顯示代碼

    請記得,一個 # 結尾也要一個 #,一個開頭,一個結尾。

    5.png


    我們以顏色區分,在此將逐一解釋顏色寫法的用意。
    紅色 : 如果玩家有某物,且數量為某數是事實,那們就運行本語法。
    橘色 : 確認蒐集物代碼,且扣除指定的數量。
    綠色 : 獲得某道具,數量為某數。
    淺藍 : 發出完成兌換的 OK 視窗,顯示出換了甚麼道具、數量。
    紫色 : 或著,如玩家沒有足夠的某物及數量,跳出視窗,顯示出文字。



    【結語】
    以上,就是本篇教學的內容,此為站上第一篇語法的正式教學,各位可以看到,簡單的一個兌換動作,背後就要運用大量的邏輯,
    告訴電腦該怎麼做,完整寫完後,才得以讓玩家看到畫面,並使用,正所謂台上十分鐘,台下十年功。
    共收到 0 A幣
    打賞榜
    暫無
    暫無
    暫無
    暫無
    ----
    暫無
    ----
    暫無
    ----
    暫無
    ----

    集團新軍

    Rank: 1

    47

    威望

    283

    金錢

    8

    A幣
    主題
    13
    帖子
    109
    精華
    2
    綜合社群主題發文量
    0
    電玩社群主題發文量
    0
    娛樂社群主題發文量
    0
    技術社群主題發文量
    0
    閱讀權限
    10
    註冊時間
    2017-3-11
  • TA的每日心情

    2019-8-14 14:54
  • 簽到天數: 32 天

    連續簽到: 0 天

    [LV.5]常住居民I

    一o一y小豬 發表於 2017-4-1 15:27:51 | 顯示全部樓層
    使用中文變數 雖然沒什麼缺點
    但其實滿不太推薦的

    在某些電腦環境之下無法正常運行…
    只滿足了語言上的障礙...忽略了其他可能性 ~"~
    細節就是專業,堅持就能實現。

    站長

    Rank: 12Rank: 12Rank: 12

    1966

    威望

    3465

    金錢

    11

    A幣
    主題
    1324
    帖子
    2477
    精華
    3
    綜合社群主題發文量
    267
    電玩社群主題發文量
    1
    娛樂社群主題發文量
    4
    技術社群主題發文量
    31
    閱讀權限
    200
    註冊時間
    2013-1-28

    我是傳奇贊助感謝勳章精華作者勳章

  • TA的每日心情

    2024-11-9 23:41
  • 簽到天數: 397 天

    連續簽到: 1 天

    [LV.9]以壇為家II

     樓主| TWAICL 發表於 2017-4-1 16:46:08 | 顯示全部樓層
    沒錯的,基本上還是用英文寫法來寫,
    不過有中文輔助能讓新手好理解些

    集團新軍

    Rank: 1

    3

    威望

    44

    金錢

    0

    A幣
    主題
    1
    帖子
    16
    精華
    0
    綜合社群主題發文量
    0
    電玩社群主題發文量
    0
    娛樂社群主題發文量
    0
    技術社群主題發文量
    0
    閱讀權限
    10
    註冊時間
    2017-3-31
  • TA的每日心情

    2017-4-2 20:35
  • 簽到天數: 1 天

    連續簽到: 0 天

    [LV.1]初來乍到

    o9006291 發表於 2017-4-2 11:46:39 | 顯示全部樓層
    感謝感謝~~~~~~

    集團新軍

    Rank: 1

    5

    威望

    99

    金錢

    1

    A幣
    主題
    1
    帖子
    15
    精華
    0
    綜合社群主題發文量
    1
    電玩社群主題發文量
    0
    娛樂社群主題發文量
    0
    技術社群主題發文量
    0
    閱讀權限
    10
    註冊時間
    2017-4-18
  • TA的每日心情

    2019-12-25 08:24
  • 簽到天數: 5 天

    連續簽到: 0 天

    [LV.2]偶爾看看I

    dangoron 發表於 2017-5-11 21:36:51 | 顯示全部樓層
    其实用了 UTF8 之后并不会有什么编码上的问题了啦,所以用中文完全没问题
    不过好奇的是 js 传送过去字符串的话(string),传送过程中的编码(encode)和解码(decode)是用什么方式进行的呢,也是 UTF8 吗?是时候自己试试看了XD

    集團新軍

    Rank: 1

    6

    威望

    28

    金錢

    2

    A幣
    主題
    0
    帖子
    4
    精華
    0
    綜合社群主題發文量
    4
    電玩社群主題發文量
    0
    娛樂社群主題發文量
    0
    技術社群主題發文量
    0
    閱讀權限
    10
    註冊時間
    2020-11-10
  • TA的每日心情

    2021-8-13 19:22
  • 簽到天數: 8 天

    連續簽到: 1 天

    [LV.3]偶爾看看II

    疑問的我 發表於 2020-11-10 15:39:21 | 顯示全部樓層
    我想問一下 我是剛開始學的新手
    如果想讓物品可以批量兌換的話是用sendGetNumber嗎

    假設 我用一個藍色藥水 可以兌換成兩個紅色藥水
    我可以設定一個輸入數字的窗口 假如我打上2 就是換2次
    這樣我就會扣掉2個藍色藥水並兌換成4個紅色藥水

    站長

    Rank: 12Rank: 12Rank: 12

    1966

    威望

    3465

    金錢

    11

    A幣
    主題
    1324
    帖子
    2477
    精華
    3
    綜合社群主題發文量
    267
    電玩社群主題發文量
    1
    娛樂社群主題發文量
    4
    技術社群主題發文量
    31
    閱讀權限
    200
    註冊時間
    2013-1-28

    我是傳奇贊助感謝勳章精華作者勳章

  • TA的每日心情

    2024-11-9 23:41
  • 簽到天數: 397 天

    連續簽到: 1 天

    [LV.9]以壇為家II

     樓主| TWAICL 發表於 2020-11-10 23:38:27 | 顯示全部樓層
    回復 6# 疑問的我

      可以,這是沒問題的,但你要知道輸入後的值要怎麼運用。

    集團新軍

    Rank: 1

    6

    威望

    28

    金錢

    2

    A幣
    主題
    0
    帖子
    4
    精華
    0
    綜合社群主題發文量
    4
    電玩社群主題發文量
    0
    娛樂社群主題發文量
    0
    技術社群主題發文量
    0
    閱讀權限
    10
    註冊時間
    2020-11-10
  • TA的每日心情

    2021-8-13 19:22
  • 簽到天數: 8 天

    連續簽到: 1 天

    [LV.3]偶爾看看II

    疑問的我 發表於 2020-11-11 02:31:03 | 顯示全部樓層
    回復 7# TWAICL


       感謝  我馬上用用看
    您需要登錄後才可以回帖 登錄 | 註冊會員

    本版積分規則

    2477

    發文

    3465

    金錢

    11

    A幣

    ----------榮譽勳章----------

    我是傳奇 贊助感謝勳章 精華作者勳章

    熱門推薦
    圖文推薦
    • 聯繫我們

    小黑屋|AICL社群娛樂集團

    GMT+8, 2024-11-25 02:24 , 網路刷新 0.107411 秒 .

    歡迎來到 AICL網路社群

    版權AICL社群所有 2011-2021.

    Total:123 Today:213 Online:322