下面是打開控制臺的方法:
雖然H5並沒有像以往的Heroes系列壹樣有作弊碼的設定,但是有遊戲制作過程中使用的調試控制臺(H2-H4采用的是調試菜單),功能比作弊碼更為強大,同時命令也更為復雜。事實上這些命令是地圖腳本,可以在 遊戲安裝目錄\Editor Documentation 下的PDF文件裏找到相應的命令和代碼及代號。
不過遊戲默認是關閉控制臺的,想要啟用控制臺,必須對遊戲的相關配置文件進行修改。遊戲升級之後也有可能會打不開控制臺,此時把我的文檔裏那份cfg刪除,然後進入遊戲,遊戲會自動再生成壹份,在這份文件基礎上再修改壹次。
打開遊戲的安裝目錄,用windows自帶的記事本打開profiles目錄下的autoexec.cfg(命運之錘需修改autoexec_a1.cfg)。修改之前建議備份文件;打開文件後,在文件的最後壹行加入以下內容後保存。
setvar dev_console_password = schwinge-des-todes
然後打開 我的文檔\My Games\Heroes of Might and Magic V\Profiles\妳在遊戲中用的名字\input.cfg
命運之錘為我的文檔\My Games\Heroes of Might and Magic V\Hammers of Fate\Profiles\妳在遊戲中用的名字\input_a1.cfg。
東方部落的為
我的文檔\My Games\Heroes of Might and Magic V - Tribes of the East\Profiles\妳在遊戲中用的名字\input_a2.cfg。
在第壹行添加 bind show_console '`'
可以 將`改成遊戲中妳所經常使用的快捷鍵以外的鍵,最好不要和其它遊戲中的快捷鍵重復(快捷鍵列表見這裏)。
進入遊戲後按`就可以激活控制臺。
遊戲升級後有可能會無法打開控制臺,即使妳的配置文件是正確的,這時可以把我的文檔裏的input.cfg和user.cfg刪除,然後進入遊戲,遊戲會重新生成這兩個文件,在新生成的文件上再修改壹次。
下面是常用命令:
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
show_hero_mp
Shows detailed movement point stats for currently selected hero - exact quantity, stats for currently plotted path(how many points it'll take).
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, 也可以用法術代碼
@AddHeroSkill('Isabell', 13)
加技能13
@AddHeroCreatures( "Agrael", CREATURE_HELL_HOUND, 1000 );
給Agreal加1000只Hell Hound
@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
@AddHeroWarMachine('Isabell',1)
給英雄加戰爭機器
這裏的部分代碼我會在後邊列出,當然妳最好可以自己去查lua文件,我比較常用/data/script/裏邊的
註意: 遊戲裏顯示的名稱(如英雄名,城鎮名等)往往跟在程序裏使用的內部名稱不壹樣,對於英雄名,可以用這個命令
@print(GetPlayerHeroes(PLAYER_x))
顯示第x位玩家的英雄名。至於其他的,也可以在/data/text/裏邊查找,不過比較麻煩,希望有高手能解決這個問題
沒見過作弊能這麽bt的。不過,我喜歡。
這麽強大的控制臺並不壹定要拿來作弊的,比如說在最後大局已定英雄毒孤求拜時,可以放幾百條黑龍出來耍耍
又或者讓壹隊地獄犬在清掉壹群骷髏後說:“Mmmmm, yummy......”
活活, yy無限啊
當然這個也可以方便制作mod的玩家進行調試,本來就是debug用的
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個農民