《魔法门系列之英雄无敌5》控制台及作弊码
2025-01-25 13:40:19作者:饭克斯
游饭天堂会员:ouch<原创>
首先启动控制台,即在游戏目录\profiles\autoExec.cfg文件末尾添加以下代码:setvar dev_console_password = schwingedestodes。修改后如下:
//Startup mainmenu
setvar dev_console_password = schwingedestodes
使用快捷键“`”打开控制台。快捷键可自定义,在\profiles\default_profile\input.cfg文件中查找并修改相关行。
打开控制台后,可输入作弊码: 1. 普通作弊码:"add_skill + 技能名/数字",如:add_skill Necromancy(加巫术),或add_skill 19(加寻路术)。技能代码可在data\data.pak\scripts\advmapstartup.lua文件中查看。注意data.pak为压缩文件,需使用解压软件(如winrar、winzip)打开并解压所需文件。使用此方法添加的技能数量可超出原有限制,效果仍在。
作弊码示例: add_army 种族代码, 是否升级 add_hero 种族代码对应如下: HEAVEN(天堂)= 0 PRESERVE(森林)= 1 ACADEMY(学院)= 2 DUNGEON(地牢)= 3 NECRO(不死)= 4 INFERNO(炼狱)= 5 例如:add_army 5, 0(给英雄加升级前的7种炼狱生物各十),add_army 4, 1(加升级后的7种不死生物各十)。
- add_all_spells 使英雄学会所有魔法,不受技能限制(包括使用这些魔法)。
- set_hero_luck_morale M N 改变英雄的基本运气(M)和士气(N),如:set_hero_luck_morale 5 3。
- show_player_money N 显示玩家N所拥有的资源,如:show_player_money 2。
- add_exp N 加经验,如:add_exp 5000。
-
add_money N 加金币1000*N,其他所有资源加N。
-
调用函数: 在data.pak或解压后的文件夹中的.lua、.xdb文件中,通常可以看到大量函数,游戏中的事件(如征兵、学技能等)都通过这些函数实现。通过控制台在游戏中调用这些函数,实现游戏中可能实现的一切。
使用方法:调用控制台,在函数前加上@,并使用相关参数。例如: GiveExp("Isabell", 5000):给Isabell增加5000经验。 @GiveExp("x", y):给英雄x增加经验值y。 @Win():直接取得胜利。 @Loose():失败。
实用示例: @GiveArtefact("x", y):给英雄x加上物品y,y可以是物品名或物品代码。 @TeachHeroSpell("Isabell", SPELL_PHANTOM):使Isabell学会法术PHANTOM,也可以用法术代码。 @GiveHeroSkill('Isabell', 13):加代码13所对应的技能(详见技能代码)。 @AddHeroCreatures("Agrael", CREATURE_HELL_HOUND, 1000, 0):给Agreal加1000只Hell Hound(未升级)。 @SetTownBuildingLimitLevel('Putor', 13, 1):设定城镇Putor的建设等级。 @OpenCircleFog (0, 0, 0, 9999, PLAYER_x):给第x位玩家开图(地面)。 @SetPlayerResource(PLAYER_1, x, y):把玩家1的资源x设为y,x对应资源GOLD、WOOD、ORE、GEM、SULFER、MERCURY、CRYSTAL;y对应数字。 @ChangeHeroStat('Isabell', STAT_ATTACK, 9999):使Isabell的攻击变为9999,属性包括基本属性、魔法点和移动点数,对应代码为:STAT_EXPERIENCE = 0,STAT_ATTACK = 1,STAT_DEFENCE = 2,STAT_SPELL_POWER = 3,STAT_KNOWLEDGE = 4,STAT_LUCK = 5,STAT_MORALE = 6,STAT_MOVE_POINTS = 7,STAT_MANA_POINTS = 8。 @AddHeroWarMachine('Isabell', 1):给英雄加战争机器。
注意:游戏里显示的名称(如英雄名、城镇名等)与程序中使用的内部名称可能不同。对于英雄名使用命令@print(GetPlayerHeroes(PLAYER_x))显示第x位玩家的英雄名。至于村庄名可在texts.pak\Text\Game\Towns中查找。
技能代码在37楼,物品代码在38楼(推荐:http://game.youfanx.com/thread97676911.html),法术代码在39楼,生物代码在81楼。
6月2日更新: @print(GetObjectPos('heroname')):显示英雄的坐标。 @SetObjectPos('heroname', x, y, 0):瞬移(地面)。 @SetObjectPos('heroname', x, y, 1):瞬移(地底)。 @CreateMonster('Peasant', CREATURE_PEASANT, 100, 30, 40, 1):在地底坐标(30,40)处放100个农民。
6月3日更新: 各种族生物及对应代码,各种族英雄在控制台内所使用的名称(console name)详见81楼。
6月5日更新: 设置控制台的最大上翻行数:console_size 400,足够浏览help的内容了。
关于无限移动: 同样可以用修改英雄属性实现:@ChangeHeroStat('英雄名', STAT_MOVE_POINTS, 数字)。 魔法点数也是一样的:@ChangeHeroStat('英雄名', STAT_MANA_POINTS, 数字)。