魔法門系列之英雄無敵5 控制臺及作弊碼
作者:佚名 來源:本站 時間:2023-08-24 點擊:次
首先你要啟動控制臺(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, 數字)
- 上一篇: 泰坦之旅-精華問答集
- 下一篇: 戰地2142-精華問答集