魔法门系列之英雄无敌5控制台及作弊码
2023-06-15 02:08:15
大中小
游侠会员:ouch<原创>
首先你要启动控制台(console),也就是用写字板打开游戏目录\profiles\autoExec.cfg 这个文件,在最后边加上一句:
setvar dev_console_password = schwinge-des-todes
也就是改成:
...........
//============================================================================
// Startup
mainmenu
setvar dev_console_password = schwinge-des-todes 然后就可以在游戏中用热健" ` "打开控制台。这个热健是可以修改的,可以在\profiles\default_profile\input.cfg里边找到这行:
//debug keys
bind show_console ’`’ 把单引号里边改成自己喜欢的健就行了 ////////////////////////////// 打开控制台就可以输入作弊码了。 (1)普通作弊码
"add_skill + 技能名/数字" 可以给选定英雄加技能,例如在控制台中输入:
add_skill Necromancy 这个可以加巫术
或者在后边加数字: add_skill 19 可以加寻路术。这些数字对应的技能可以用写字板打开data\data.pak\scripts\advmap-startup.lua这个文件察看
注意这个data.pak是个压缩文件,可以用解压软件(winrar,winzip等)把它打开并把想要的文件解压出来。
用这种方法所加的技能数量是可以超出原有限制,虽然不会显示出来,但是效果还在 add_army 种族代码, 是否升级
加生物 种族代码对应如下:
HEAVEN(天堂) = 0
PRESERVE(森林) = 1
ACADEMY(学院) = 2
DUNGEON(地牢)= 3
NECRO(不死) = 4
INFERNO(炼狱) = 5 例如:
add_army 5, 0
会给英雄加升级前的7种炼狱生物各十(至于原来的兵会怎样?试过就知道了) add_army 4, 1
加升级后的七种不死生物各十 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 //////////////////////////////////
(2)调用函数
上边的都只算小儿科,下边来点真格的 在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(未升级)
要升级的话:
@AddHeroCreatures( "Agrael", CREATURE_HELL_HOUND, 1000, 1); @SetTownBuildingLimitLevel(’Putor’, 13, 1);
设定城镇Putor的建设等级 @OpenCircleFog (0, 0, 0, 9999, PLAYER_x);
给第x位玩家开图(地面)
如果是地底的话
@OpenCircleFog (0, 0, 1, 9999, PLAYER_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)
给英雄加战争机器
这里的部分代码我会在后边列出,当然你最好可以自己去查lua文件,我比较常用/data/script/和/data/maps/里边的
注意: 游戏里显示的名称(如英雄名,城镇名等)往往跟在程序里使用的内部名称不一样,对于英雄名,可以用这个命令
@print(GetPlayerHeroes(PLAYER_x))
显示第x位玩家的英雄名。至于村庄名,可以在texts.pak\Text\Game\Towns里边查找,不过比较麻烦,希望有高手能解决这个问题;另外大小写要区分,单双引号不区分
附:
技能代码在37楼
物品代码在38楼(推荐这里的:https://game.ali213.net/thread-976769-1-1.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, 数字)
...........
//============================================================================
// Startup
mainmenu
setvar dev_console_password = schwinge-des-todes 然后就可以在游戏中用热健" ` "打开控制台。这个热健是可以修改的,可以在\profiles\default_profile\input.cfg里边找到这行:
//debug keys
bind show_console ’`’ 把单引号里边改成自己喜欢的健就行了 ////////////////////////////// 打开控制台就可以输入作弊码了。 (1)普通作弊码
"add_skill + 技能名/数字" 可以给选定英雄加技能,例如在控制台中输入:
add_skill Necromancy 这个可以加巫术
或者在后边加数字: add_skill 19 可以加寻路术。这些数字对应的技能可以用写字板打开data\data.pak\scripts\advmap-startup.lua这个文件察看
注意这个data.pak是个压缩文件,可以用解压软件(winrar,winzip等)把它打开并把想要的文件解压出来。
用这种方法所加的技能数量是可以超出原有限制,虽然不会显示出来,但是效果还在 add_army 种族代码, 是否升级
加生物 种族代码对应如下:
HEAVEN(天堂) = 0
PRESERVE(森林) = 1
ACADEMY(学院) = 2
DUNGEON(地牢)= 3
NECRO(不死) = 4
INFERNO(炼狱) = 5 例如:
add_army 5, 0
会给英雄加升级前的7种炼狱生物各十(至于原来的兵会怎样?试过就知道了) add_army 4, 1
加升级后的七种不死生物各十 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 //////////////////////////////////
(2)调用函数
上边的都只算小儿科,下边来点真格的 在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(未升级)
要升级的话:
@AddHeroCreatures( "Agrael", CREATURE_HELL_HOUND, 1000, 1); @SetTownBuildingLimitLevel(’Putor’, 13, 1);
设定城镇Putor的建设等级 @OpenCircleFog (0, 0, 0, 9999, PLAYER_x);
给第x位玩家开图(地面)
如果是地底的话
@OpenCircleFog (0, 0, 1, 9999, PLAYER_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)
给英雄加战争机器
这里的部分代码我会在后边列出,当然你最好可以自己去查lua文件,我比较常用/data/script/和/data/maps/里边的
注意: 游戏里显示的名称(如英雄名,城镇名等)往往跟在程序里使用的内部名称不一样,对于英雄名,可以用这个命令
@print(GetPlayerHeroes(PLAYER_x))
显示第x位玩家的英雄名。至于村庄名,可以在texts.pak\Text\Game\Towns里边查找,不过比较麻烦,希望有高手能解决这个问题;另外大小写要区分,单双引号不区分
附:
技能代码在37楼
物品代码在38楼(推荐这里的:https://game.ali213.net/thread-976769-1-1.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, 数字)