英雄无敌5秘籍(英雄无敌5秘籍怎么用)

  题看起来有点夸张英雄无敌5秘籍,其实H5的console真的很强

英雄无敌5秘籍(英雄无敌5秘籍怎么用)

  首先你要启动控制台(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等)把它打开并把想要的文件解压出来。

  用这种方法所加的技能数量是可以超出原有限制,虽然不会显示出来,但是效果还在

  附带一提:如果你的空间足够,可以把data文件夹里的几个.pak文件全解压出来以加快游戏速度,因为程序执行时是先解压再读取的,如果已经解压了就直接读取。这样做可以使程序跳过执行解压的步骤从而提高运行速度。解压出来的那一大堆文件和文件夹应该直接放到\\Heroes of Might and Magic V\\data\\目录下,而不应该使用默认目录,遇到提示是否覆盖时全选是就对了。现在原来的pak文件已经用不上了,你可以把它移到别处去甚至删掉,当然最好还是留着,以免以后版本升级时遇上问题。

  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位玩家的英雄名。至于其他的,也可以在/data/text/里边查找,不过比较麻烦,希望有高手能解决这个问题;另外大小写要区分,单双引号不区分

  没见过作弊能这么bt的。不过,我喜欢。

  这么强大的控制台并不一定要拿来作弊的,比如说在最后大局已定英雄毒孤求拜时,可以放几百条黑龙出来耍耍

  又或者让一队地狱犬在清掉一群骷髅后说:“Mmmmm, yummy......”

  活活, yy无限啊

  当然这个也可以方便制作mod的玩家进行调试,本来就是debug用的

  这篇文章旨在抛砖引玉。只要如果你找到了新的函数,不要独享哦,谢谢

  附:

  技能代码在37楼

  物品代码在38楼(推荐这里的:/pcgame/cheat/2006/06/08/2607025.shtml)

  法术代码在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, 数字)