魔法門系列之英雄無敵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等)把它開啟並把想要的檔案解壓出來。
用這種方法所加的技能數量是可以超出原有限制,雖然不會顯示出來,但是效果還在
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樓
法術程式碼在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, 數字)
相關攻略文章
Xbox金會員免費遊戲日:《Control》《上古卷軸OL》等三款
Epic神祕喜+1第十一天:《Control》免費領取
Remedy新財報:《Control》版稅下降 利潤大跌
Remedy新財報:《Control》玩家數已破千萬
Epic:6月10號11點之前六週購買了《Control》的玩家會自動進行退款
Epic喜加一!TPS冒險佳作《Control》一鍵白嫖入庫
Epic喜+1:新怪談大作《Control》 下週送兩款遊戲
Epic神祕遊戲新提示 網友解謎:難道是《Control》?
《Control》中文獎盃列表一覽
《Control》開發商Remedy:現在我們有六款遊戲在開發中
《Control》異世界事件DLC鐘錶謎題解析
《Control》全成就完成方法介紹 地基DLC、異世界事件DLC成就指南