Like Share Discussion Bookmark Smile

J.J. Huang   2022-05-27   天堂私服 09.變身檔分析/修改   瀏覽次數:次   DMCA.com Protection Status

天堂私服 | 變身檔-施法分析與修改

章節用意

此章將會針對變身檔中的18.spell dir攻擊魔法與19.spell nodir輔助魔法,進行分析與修改,進而瞭解其特性與限制。

版本資訊

  • 客戶端版本
    • 天堂(Lineage 3.81C)
  • 核心版本
    • L1J-3.80c
  • 登入器版本
    • L1J-3.80c

前言

在開始前,請務必先將以下文章閱讀與實際操作過。

注意事項

  • 請將伺服器端開啟加速器檢測功能。
    • 原因:用於測試修改變身檔總單位時間的偵測極限。
      1
      2
      3
      4
      5
      # 加速器偵測功能,開啟後將檢驗封包發送間隔時間
      # Move: 移動間隔 Attack: 攻撃間隔 Spell: 技能使用間隔
      CheckMoveInterval = true
      CheckAttackInterval = true
      CheckSpellInterval = true
  • 人物使用GM角色進行測試。
    • 原因:此測試的伺服器核心會將加速器偵測排除掉GM角色。
  • 不要因更動變身檔後,重新產生和更新資料庫的spr_action
    • 原因:保持修改前的資料,測試伺服器的偵測極限。

分析

  • 圖片張數數量分析<根據TW13081901.txt>
    • 有向性:
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      // 動作編碼   = 共有幾個編號使用 → 說明

      18.spell dir(1 0) = 0 → 無,理論上不可能沒有圖片。
      18.spell dir(1 5) = 1 → 使用了5張圖,例:lv雪人。
      18.spell dir(1 6) = 9 → 使用了6張圖,例:西瑪、伽瑪橙、lv巨蟻..等等。
      18.spell dir(1 7) = 13 → 使用了7張圖,例:千里眼(Clairvoyance)、長矛大師(lance master)..等等。
      18.spell dir(1 8) = 28 → 使用了8張圖,例:男幻術士、lv歐姆民兵..等等。
      18.spell dir(1 9) = 29 → 使用了9張圖,例:男妖精、高等猴子..等等。
      18.spell dir(1 10) = 78 → 使用了10張圖,例:王子、公主..等等。
      18.spell dir(1 11) = 53 → 使用了11張圖,例:男騎士、蕾雅..等等。
      18.spell dir(1 12) = 48 → 使用了12張圖,例:女妖精、男法師..等等。
      ...剩餘自行搜尋...
    • 無向性:
      1
      2
      3
      // 動作編碼   = 共有幾個編號使用 → 說明

      18.spell dir(0 X) = 0 → 無,沒有無向的攻擊魔法。

    • 有向性:
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      // 動作編碼   = 共有幾個編號使用 → 說明

      19.spell nodir(1 0) = 0 → 無,理論上不可能沒有圖片。
      19.spell nodir(1 5) = 2 → 使用了5張圖,例:lv紙人。
      19.spell nodir(1 6) = 2 → 使用了6張圖,例:lv巨蟻。
      19.spell nodir(1 7) = 12 → 使用了7張圖,例:伽瑪橙、長矛大師(lance master)..等等。
      19.spell nodir(1 8) = 4 → 使用了8張圖,例:lv歐姆民兵。
      19.spell nodir(1 9) = 9 → 使用了9張圖,例:哈汀之影、西瑪..等等。
      19.spell nodir(1 10) = 64 → 使用了10張圖,例:王子、公主..等等。
      19.spell nodir(1 11) = 35 → 使用了11張圖,例:女妖精、巴蘭卡..等等。
      19.spell nodir(1 12) = 48 → 使用了12張圖,例:女龍騎士、男幻術士..等等。
      ...剩餘自行搜尋...
    • 無向性:
      1
      2
      3
      // 動作編碼   = 共有幾個編號使用 → 說明

      19.spell nodir(0 15) = 1 → 使用了15張圖,例:大王烏賊?

      註:以上僅自己透過分析變身檔整理出來的資訊,並不表示就是最正確與完整。


  • 以下盡量提供各個18.spell dir19.spell nodir的範例:
    • 王子#0
      • 圖片張數 = 10
      • 18.spell dir時間總合 = 3 + 3 + 3 + 3 + 3 + 4 + 3 + 3 + 5 + 3 = 33
      • 19.spell nodir時間總合 = 4 + 3 + 3 + 3 + 6 + 3 + 4 + 5 + 2 + 4 = 37
    • 人形殭屍#52
      • 圖片張數 = 5
      • 18.spell dir時間總合 = 9 + 8 + 11 + 6 + 6 = 40
      • 19.spell nodir時間總合 = 9 + 8 + 11 + 6 + 6 = 40
    • 狼人#1110
      • 圖片張數 = 7
      • 18.spell dir時間總合 = 8 + 4 + 4 + 8 + 6 + 8 + 6 = 44
      • 19.spell nodir時間總合 = 8 + 4 + 4 + 8 + 6 + 8 + 6 = 44
    • 活鎧甲#1578
      • 沒有18.spell dir19.spell nodir
      • 時間總合 = 技能的施放會受到技能的冷卻時間限制。
      • 施法動作 = 空手走路動作的第0.0張圖。(叉開雙腿)

實驗修改

  • 以下使用王子#0,實驗修改。

    1
    2
    18.spell dir(1 10,0.0:3 32.0:3 32.1:3 32.2:3 32.3:3 32.4:4 32.5:3 32.6:3! 32.7:5 32.8:3)
    19.spell nodir(1 10,0.0:4 40.0:3 40.1:3 40.2:3 40.3:6 40.4:3 40.5:4! 40.6:5 40.7:2 40.8:4)
  • 移除18.spell dir19.spell nodir

    • 移除後,技能的施放會受到技能的冷卻時間限制,而動作會為空手走路的第0.0張圖。(叉開雙腿)
      • 攻擊魔法 = 正常施放,0.0圖(叉開雙腿),冷卻受限。
      • 輔助魔法 = 正常施放,0.0圖(叉開雙腿),冷卻受限。

        註:這邊使用活鎧甲,比照移除這兩個編碼動作內容後的施法動作和冷卻時間是一樣的。

  • 改變圖片張數:

    • 分別為0123、時間總合都維持原來的3337
      • 0 攻擊魔法 = 遊戲崩潰。
      • 0 輔助魔法 = 遊戲崩潰。
      • 1 攻擊魔法 = 正常施放,0.0圖(叉開雙腿),冷卻受限。
      • 1 輔助魔法 = 正常施放,0.0圖(叉開雙腿),冷卻受限。
      • 2 攻擊魔法 = 正常施放,設定的圖號動作,冷卻受限。
      • 2 輔助魔法 = 正常施放,設定的圖號動作,冷卻受限。
      • 3 攻擊魔法 = 正常施放,設定的圖號動作,冷卻受限。
      • 3 輔助魔法 = 正常施放,設定的圖號動作,冷卻受限。
        1
        2
        3
        4
        5
        6
        7
        8
        9
        10
        11
        18.spell dir(1 0)
        19.spell nodir(1 0)

        18.spell dir(1 1,0.0:33!)
        19.spell nodir(1 1,0.0:37!)

        18.spell dir(1 2,0.0:16 32.8:17!)
        19.spell nodir(1 2,0.0:33 40.8:34!)

        18.spell dir(1 3,0.0:11 32.3:11 32.8:11!)
        19.spell nodir(1 3,0.0:12 40.3:12 40.8:13!)


  • 改變時間總合:

    • 分別為201510,圖片張數維持原來的10
      • 數字越小,可以觀察到施法速度的加速。
        1
        2
        3
        4
        5
        6
        7
        8
        18.spell dir(1 10,0.0:2 32.0:2 32.1:2 32.2:2 32.3:2 32.4:2 32.5:2 32.6:2! 32.7:2 32.8:2)
        19.spell nodir(1 10,0.0:2 40.0:2 40.1:2 40.2:2 40.3:2 40.4:2 40.5:2! 40.6:2 40.7:2 40.8:2)

        18.spell dir(1 10,0.0:2 32.0:1 32.1:2 32.2:1 32.3:2 32.4:1 32.5:2 32.6:1! 32.7:2 32.8:1)
        19.spell nodir(1 10,0.0:2 40.0:1 40.1:2 40.2:1 40.3:2 40.4:1 40.5:2! 40.6:1 40.7:2 40.8:1)

        18.spell dir(1 10,0.0:1 32.0:1 32.1:1 32.2:1 32.3:1 32.4:1 32.5:1 32.6:1! 32.7:1 32.8:1)
        19.spell nodir(1 10,0.0:1 40.0:1 40.1:1 40.2:1 40.3:1 40.4:1 40.5:1! 40.6:1 40.7:1 40.8:1)


    • 時間總合修改為0,圖片張數 = 1
      • 可見施法超快,但是過快,被伺服器的偵測到而傳送特定地圖了。
        1
        2
        18.spell dir(1 1,0.0:0!)
        19.spell nodir(1 1,0.0:0!)

        註:每個伺服器偵測的基準與演算法請自行研究分析。

施法無動作修改

  • 以下使用王子#0施法無動作修改。
    • 為何需要施法無動作修改?因為可以達到,幾乎無動作的效果,在走位連續施放魔法時較快。
  • 修改編碼內容:
    • 第一種方式,移除18.spell dir19.spell nodir
    • 第二種方式,18.spell dir19.spell nodir的圖片張數改為1,時間總和保持不變。

      註:建議使用第二種方式。

  • 施法無動作問題:
    • 為何使用圖片張數為1時間總合保持不變?
      • 因為可以保持本身角色的一個施放需要的冷卻時間。如果使用移除的方式,會發現他的冷卻時間變快了。
    • 為何移除18.spell dir19.spell nodir後,是執行空手走路的第0.0張圖?
      • 只要沒有的編碼動作,全部預設跳 0.0:1,這是BIN綁住的機制。

        此問題的解答說明由Lineage:Rise (討論交流學習)的成員”Achilles“成員提供的資訊,非常感謝

    • 是否可以做到完全無動作,連叉開雙腿的動作都不要了?
      • 其實可以將0.0改變成8.0,這張圖為站著不動的呼吸圖。

施法無動作 + 殘影修改

結論

  • 針對18.spell dir攻擊魔法與19.spell nodir輔助魔法 -
    • 最少需要1幾張圖。
    • 建議保持原本的時間總合,避免冷卻時間被加速了。
    • 時間總合基於伺服器的偵測,而判斷可減少多少,不然很容易回碩、偵測、退回。

結語

原創文章真的不易,希望多多支持,感謝。
最後建議回顧一下首章天堂私服 | 天堂私服架設教學,了解其章節目錄。

免責聲明

  • 本部落格文章中皆不提供任何所謂的遊戲「主程式」、「模擬器」、「登入器」…等等相關程式的下載點。
  • 本部落格文章中所見之遊戲主程式和服務器端程序均來自網路發佈,版本歸原作者所有
  • 本部落格文章為研究SQL資料庫與修改JAVA語法使用,非商業用途,亦無做營運事實等任何一切商業行為
  • 本部落格文章內容是為研究學習設計思想和原理為目的,絕沒有故意侵權或惡意抄襲、篡改其他遊戲內容

註:以上參考了
Linhelper論壇 - [教學] [彙整]List.spr變身檔網路教學彙整