<form id="hz9zz"></form>
  • <form id="hz9zz"></form>

      <nobr id="hz9zz"></nobr>

      <form id="hz9zz"></form>

    1. 明輝手游網唯一官網:www.muzhicom.com

      本站App下載  |  

      首頁 > 游戲資訊 > 單機游戲

      戰神的挑戰2 lua腳本修改心得

      作者:佚名   來源:本站   時間:2023-08-08  點擊:

      電腦大家應該不怎么陌生吧!現在電腦已經普及到大多數人的家庭之中了,電腦的用途非常地廣,不同年齡段、不同行業的人對電腦的用處不同。但是對于很多的年輕人來說電腦最大的用途就是玩游戲了。電腦游戲大家肯定玩過吧!它可以使人上癮。

      一、首先說一個最令我高興的發現,搜刮寶箱小游戲
      Puzzle Quest 2\Assets\Scripts\Puzzles\PuzzleConfiguration.lua,這個腳本是小游戲全局設置 PuzzleConfiguration.HOARD =

      {

              GEM_DISTRIBUTION = {

                      Gold5 = 60,

                      Gold50 = 48,

                      Gold500 = 36,

                      Chest1 = 3,

                      Chest5 = 1,

              },

      注意這個GEM_DISTRIBUTION,程序員的命名習慣相當好啊,百度一下就知道,這個是指小游戲中隨機出現的寶石種類和幾率,

      Gold5從命名上就知道是價值為5的金幣,Chest1是普通寶箱,Chest5是稀有寶箱,也就是說,開寶箱的小游戲中,5元的金幣最多,其次是50、500的金幣,隨機出現的箱子是最少的。由于不知道程序的具體設計,所以,最好是互換這幾組數字,而不是隨心所欲的改動,以防游戲出錯
      Gold5=1,
      Gold50=3,
      Gold500=36,
      Chest1=48,
      Chest5=60,
      改完后保存,重新啟動游戲,再次開寶箱時,你會發現,哇塞,滿屏幕的金箱子啊~~~

      二、法師的WildMana技能

      在指定的位置處創建一個+3的通配符,有這個技能,無限連、收集魔法,就容易多了,僅僅+3你會不會嫌少呢,要是+7該多好啊
      Puzzle Quest 2\Assets\Scripts\Spells\WildMana.lua WildMana.cost = {

              green = 1,

              blue = 1,

      這一段大家都知道了,耗藍量修改,不多說了 local TRANSFORM_MAP = {

              Wildcard2 = "Wildcard4",

              Wildcard3 = "Wildcard5",

              Wildcard4 = "Wildcard6",

              Wildcard5 = "Wildcard7",

              Wildcard6 = "Wildcard7",

              Wildcard7 = "Wildcard7",

      }

      ……

      function WildMana:Apply(params)

              local gemtype = params.grid[params.targetX][params.targetY].name

             

              params.notify:PushAttribute("gemx", params.targetX)

              params.notify:PushAttribute("gemy", params.targetY)

       

              return function ()

                      Spell:Pause(Spell.SPELL_INTRO_PAUSE)

                      Spell:TransformGem(params, params.targetX, params.targetY, TRANSFORM_MAP[gemtype] or "Wildcard3")

                      Spell:Pause(Spell.SPELL_MIN_DURATION)

                      Spell:Pause(Spell.SPELL_OUTRO_PAUSE)

              end

      end

      關鍵是這一段,什么意思呢,就是在一個通配符上釋放該魔法時,如果是+2通配符,就會變成+4,+3變+5,以此類推,那么,只要把以上“”中的都改成Wildcard7就行了
      如:Wildcard2="Wildcard7"
      別急,還沒完,還有更重要的一步要改,剛才只改了在通配符上放魔法都會變+7,還要改在普通寶石上放魔法也變+7

      留意代碼中的WildMana函數 Spell:TransformGem(params, params.targetX, params.targetY, TRANSFORM_MAP[gemtype] or "Wildcard3")

      這句是說,釋放該魔法時,利用剛剛改的那個數組改變寶石(也就是通配符+2,最高+7),或者,對于普通寶石,改成+3通配符,把"Wildcard3"改成"Wildcard7",這樣你用Wildmana(通配魔法)時,就會變一個+7的通配符出來了
      注意,最高只能+7,如果你改成"Wildcard9",那么用該魔法時就會創建一個看不見消不掉的BUG石頭出來了

      什么,你說這魔法只能法師用,其他職業只能干瞪眼,沒關系,小改一下,讓每個職業都能高速收集魔法吧
      Puzzle Quest 2\Assets\Scripts\Hero\ 目錄下有 Assassin.lua(刺客)、Barbarian.lua(野蠻人)、Inquisitor.lua(騎士)、WarMage.lua(巫師)四個文件定義四個職業的初始屬性和能學到的技能 level_bonuses =

              {

                      { }, -- Level 1

                      { spell      = "SwiftStrike"},                -- Level 2

                      { spell      = "Confuse"},                        -- Level 3

                      { spell      = "Stealth"},                        -- Level 4

                      { spell      = "StoneStrike" },                -- Level 5

                      { spell      = "SeekShadows"},

                      { spell      = "Disarm"},

                      { spell      = "PressurePoints"},

      ……

      ……

      { upgrade        = true},

                      { spell      = "DualShot" },                -- Level 40

                      { },

                      { },

                      { },

                      { upgrade        = true},

                      { },                                                                -- Level 45

                      { },

                      { },

      看有很多個{}里是空的把,照著腳本的格式在空的{}里加上想要的技能就可以了,PS:  -- Level 45 這是腳本注釋,程序會忽略以 -- 開頭直到行末的內容
      如{ spell = "WildMana" },這樣在角色達到{}所代表的等級時學到WildMana技能了 PS: 第一個{}代表第1級,以此類推 -- Level ×× 的注釋正是說明了該技能多少級可以學到

       

      三、野蠻人的Skull Crusher技能

      利用盤中的骷髏讓對方無法行動,爽吧,但沒5個骷髏才停一次,郁悶吧
      Puzzle Quest 2\Assets\Scripts\Spells\SkullCrusher.lua function SkullCrusher:Apply(params)

             

              local numSkulls = params.grid:CountByName("Skull") + params.grid:CountByName("Skull5")

              local numTurns = 1 + math.floor(numSkulls/5)

             

              return function ()

                      -- Destroy Skulls

                      Spell:Pause(Spell.SPELL_INTRO_PAUSE)

                      Spell:ExplodeGemByName(params, "Skull", false, Spell.SPELL_TRANSFORM_PAUSE)

                      Spell:ExplodeGemByName(params, "Skull5", false, Spell.SPELL_TRANSFORM_PAUSE)

                      -- Stun Enemy

                      Spell:ApplyStatusEffectTo(params.target, params, self, "Stun", 2*numTurns)

                      Spell:Pause(Spell.SPELL_MIN_DURATION)

                      Spell:Pause(Spell.SPELL_OUTRO_PAUSE)

              end

      end

      看看這個函數,local numSkulls = params.grid:CountByName("Skull") + params.grid:CountByName("Skull5")
      這個變量獲取盤中骷髏的數目,Skull是普通骷髏,Skull5是+5骷髏,一視同仁,其實你可以改成
      local numSkulls = params.grid:CountByName("Skull") + params.grid:CountByName("Skull5")*5,
      這樣+5的骷髏會算5個而不是一個
      local numTurns = 1 + math.floor(numSkulls/5)
      這個變量獲取敵方停止的次數,關鍵位置啊,表示至少停一回合,外加骷髏數/5(忽略小數)個回合,啊,直接把/5刪掉吧,一個骷髏停他一回合(覺得BT了可以改成
      local numTurns = 1 + math.floor(numSkulls/3)什么的)


      玩游戲可以在很大程度上讓大家放松放松,但是我建議大家不要把過多的時間投入到工作當中,因為這樣的話大家很有可能上癮,這樣不利于大家的工作或者是學習。

      推薦游戲

      換一換
      日韩精品一区二区三区高清