首页 游戏攻略 正文

《战神的挑战2》LUA脚本修改心得

一、首先说一个最令我高兴的发现,搜刮宝箱小游戏

Puzzle Quest 2AssetsScriptsPuzzlesPuzzleConfiguration.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 2AssetsScriptsSpellsWildMana.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 2AssetsScriptsHero 目录下有 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 2AssetsScriptsSpellsSkullCrusher.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)什么的)

相关信息

永恒之柱2结局队友怎么不死 队友不死不走结局介绍
烟火与献祭什么配置能玩 游戏最低配置需求一览
烟火与献祭有哪些成就 全成就达成方法一览
我的世界羊驼身上怎么放箱子 羊驼放箱子技巧
我的世界忠诚附魔是什么 忠诚附魔作用介绍
预兆景象有哪些成就 Omensight全成就达成一览
远方孤帆怎么修发动机 发动机修理方法
最终幻想15魔导兵怎么打 空降魔导兵打法技巧
口袋妖怪鼠类宝可梦介绍 鼠类宝可梦有哪些
怪物猎人世界土砂龙粉碎者II属性及素材介绍图鉴
怪物猎人世界土砂龙粉碎者I图鉴 土砂龙粉碎者I属性及素材介绍
怪物猎人世界土砂龙链枷III图鉴 土砂龙链枷III属性及素材介绍
怪物猎人世界土砂龙链枷II图鉴 土砂龙链枷II属性及素材介绍
怪物猎人世界土砂龙链枷I图鉴 土砂龙链枷I属性及素材介绍
怪物猎人世界爆锤战锤I图鉴 爆锤战锤I属性及素材介绍
怪物猎人世界铜头锤II图鉴 铜头锤II属性及素材介绍
口袋妖怪蛙类宝可梦介绍 精灵宝可梦有哪些青蛙宝可梦
底特律变人全力追查奖杯怎么达成 获得方法详解
杀戮尖塔佛珠手链图鉴 佛珠手链遗物效果介绍
怪物猎人世界新手长枪推荐 MHW前期用什么长枪好