(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)
给英雄加战争机器
注意: 游戏里显示的名称(如英雄名,城镇名等)往往跟在程序里使用的内部名称不一样,对于英雄名,可以用这个命令
@print(GetPlayerHeroes(PLAYER_x))
显示第x位玩家的英雄名。至于其他的,也可以在/data/text/里边查找,不过比较麻烦,希望有高手能解决这个问题;另外大小写要区分,单双引号不区分
这么强大的控制台并不一定要拿来作弊的,比如说在最后大局已定英雄毒孤求拜时,可以放几百条黑龙出来耍耍
又或者让一队地狱犬在清掉一群骷髅后说:“Mmmmm, yummy......”
活活, yy无限啊
当然这个也可以方便制作mod的玩家进行调试,本来就是debug用的