《星際爭霸2》SC2地圖制作教程"動作者作弊命令"
我們已經在《星際爭霸II》地圖制作教程頁面添加了新的《動作者作弊命令》教程。此教程介紹了MOD愛好者們在編輯器上運行測試地圖時,如何使用動作者作弊命令隨時創建和操縱動作者。這樣用戶不再需要繁瑣地設置數據或執行觸發器,就能夠迅速測試新的創意。
暴雪:
我們已經在《星際爭霸II》地圖制作教程頁面添加了新的《動作者作弊命令》教程。
此教程介紹了MOD愛好者們在編輯器上運行測試地圖時,如何使用動作者作弊命令隨時創建和操縱動作者。這樣用戶不再需要繁瑣地設置數據或執行觸發器,就能夠迅速測試新的創意。
本篇是地圖制作指引三部曲的第三部,與先前發布的《觸發器模塊》和《數據模塊》教程一樣,通過教會你制作一張類似于《自由之翼》戰役第一關任務的小型地圖,讓你熟悉《星際爭霸II》編輯器所具有的許多特色功能。
在1.4.0補丁中,MOD愛好者們在編輯器上運行測試地圖時,可以隨時使用動作者作弊命令來創建和操縱動作者了。這樣用戶不再需要繁瑣地設置數據或執行觸發器,就能夠迅速測試新的創意。
當測試地圖運行時,該作弊命令還可以用來修改和檢查幾乎所有的動作者。這有助于調試運行過程中動作者可能產生的問題。
這些作弊命令可以用來發送若干個新近添加的轉儲消息,諸如動畫轉儲數據、附著轉儲、主體屬性轉儲、引用轉儲以及紋理轉儲。在游戲運行時,這些轉儲消息可告知用戶去檢查某個動作者的一些內在問題。您會發現這很有幫助,等于多了一個額外的調試工具。
詳細動作者作弊命令使用教程
地圖和MOD
地圖制作教程
動作者作弊命令
在1.4.0補丁中,MOD愛好者們在編輯器上運行測試地圖時,可以隨時使用動作者作弊命令來創建和操縱動作者了。這樣用戶不再需要繁瑣地設置數據或執行觸發器,就能夠迅速測試新的創意。
當測試地圖運行時,該作弊命令還可以用來修改和檢查幾乎所有的動作者。這有助于調試運行過程中動作者可能產生的問題。
這些作弊命令可以用來發送若干個新近添加的轉儲消息,諸如動畫轉儲數據、附著轉儲、主體屬性轉儲、引用轉儲以及紋理轉儲。在游戲運行時,這些轉儲消息可告知用戶去檢查某個動作者的一些內在問題。您會發現這很有幫助,等于多了一個額外的調試工具。
動作者作弊命令概念
引用名
“引用名”這個術語是“動作者引用名”的縮寫,被認為是動作者引用的一種系統變量的唯一標示(“動作者引用”或只是縮寫的“引用”)。一個動作者引用可以被歸結為一個已知的動作者,取決于1)引用名的涵義和2)上下文內容。在指定的條件下,很多作弊命令都可以用到引用名。它們的可用性多種多樣,取決于上下文內容:
D – 由Actor(D)ata而來
T – 由(t)riggers里的動作者相關函數而來
C – 由動作者(c)heats而來
當前可用的引用名是:
引用名分支
某些作弊命令(像“動作者傳送至”)支持“引用名分支”,允許用戶發送消息給屬于一個已知動作者的引用名(也就是作弊命令需要一個動作者以便鑒定引用名)。
作用域引用名
某些作弊命令也適用于動作者作用域。有些作用域引用名變量與它們相對應的動作者類似,除非它們寧可計算動作者作用域而不是動作者。
內容鍵值
創建消息可獲得1和3之間的內容鍵值。這允許了觸發器和作弊命令能夠更容易地利用不同的“內容”參數和相同的數據輸入來創建不同種類的動作者實體。例如:
ActorCreateAt 模型 刺蛇
ActorCreateAt 模型 陸戰隊員
上面兩個作弊命令都創建了一個名為“Model”的CActorModel。第一個使用了“H”資源進行創建,第二個使用了“陸戰隊員”資源進行創建。按照具體分析原則,不同類型的動作者支持不同風格的創建參數。下面是一個支持內容參數的動作者列表,且它們的順序是指定的。
CActorBeam 模型鏈接 引用發射 引用碰撞
模型鏈接 – 模型數據登記用于光束時的名稱。
引用發射 – 用于構成光束::主體發射的引用名。
引用碰撞 – 用于構成光束::主體轟擊的引用名。
CActorList 引用名
引用名 – 構成列表的引用名源。
CActorModel
模型鏈接 – 模型數據登記用于模型時的名稱。
參數調節 – 用于模型的指定參數調節,如果需要的話(否則會隨機選取)。
CActorSound
聲音鏈接 – 所用聲音的名稱。
CActorSplat
模型鏈接 – 模型數據登記用于光束時的名稱。
動作者作弊命令用法
當用戶在編輯器中運行自己的地圖時,可以在聊天框里輸入動作者作弊命令。
輸出會進入Alert.txt日志,可在用戶的"StarCraft II/GameLogs"目錄下找到該文件。Alert.txt日志文件名前置有日期和時間戳,舉一個現實中的例子,如名為:“2011-08-08 10.30.05 Alerts.txt”。
當前還不支持快捷方式,但稍后可能會加入該功能。
動作者作弊命令列表
在為每條命令給定的語法中,打上了波形括號{}的參數表示為一個可選參數。在成功執行的某些作弊命令時,兩個全局變量——“::User動作者”和“::User作用域”的值是固定的,對其他作弊命令也同樣起作用。那些殺死動作者和作用域的作弊命令,會將那些可能會中斷當前活躍單位和效果的動作者和作用域排除出來。
ActorCreateAt
在指定區域創建一個動作者。設置::User動作者至該動作者,設置::User作用域至該作用域。
該作弊命令常用于在測試地圖上直接創建一個動作者,從而不必等到該動作者正常創建就可以觀察其屬性并和它互動。用戶可以利用坐標軸來精準定位動作者戰斗測試或諸如此類。
語法:
ActorCreateAt x,y actorName {contentName} {content2Name} {content3Name}
例如:
ActorCreateAt 50,50 Model Drone ActorCreateAt 50,50 NexusSplat
ActorCreateAtCursor
在鼠標光標位置創建一個動作者(其中包含了動作者作用域),設置::User動作者至該動作者,設置::User作用域至該作用域。
該作弊命令常用于在測試地圖上直接創建一個動作者,從而不必等到該動作者正常創建就可以觀察其屬性并和它互動。它將動作者放置在光標位置,這樣一來用戶就不用特地去獲取指定坐標,才能把動作者放置于一個顯而易見的位置。
語法:
ActorCreateAtCursor actorName {contentName} {content2Name} {content3Name}
例如:
ActorCreateAtCursor Model Drone
ActorCreateAtCursor NexusSplat
ActorCreateAtCursor Sound HydraliskAirAttackLaunch
ActorDumpAutoCreates
轉儲一個由數據結果創建的所有動作者列表,如下所示:
<On Terms="UnitBirth.Marine" Send="Create"/>
該類型的動作者創建模式被稱為自動創建,因為動作者會響應消息而自動進行自我創建。這與下述創建模式有些不同:
<On Terms="ActorCreation" Send="Create SomeActor"/>
因為在這里創建消息明確指定 了一個動作者去創建。
ActorDumpAutoCreates可以被用來追蹤動作者是否在無意中被某些事件所創建出來。
語法:
ActorDumpAutoCreates
ActorDumpEvents
轉儲一個::User動作者可看見的所有動作者事件列表,不包括自動創建的事件。
該作弊命令可被用來在地圖中所有動作者事件上執行各式各樣的文本搜索,像是如果想要查看響應一個給定單一事件的所有動作者,不管它們是從屬于誰的。
語法:
ActorDumpEvents
ActorDumpLeakRisks
轉儲一個包括所有持續時間大于特定值,從而可能造成溢出的動作者的列表。用戶可檢查炮口火焰模型的持續時間是否超過一分鐘。因為一般來說,炮口火焰從不會持續那么長時間。某些種類的動作者從不在列表上顯示溢出風險,因為它們會自動被系統清除,因此也不會由于溢出而造成不良數據。
如果地圖隨著時間的流逝而變得愈加緩慢,該作弊命令可以決定是否是由于溢出所造成的。
語法:
ActorDumpLeakRisks age
ActorDumpLive
轉儲一個整張地圖上活著的動作者列表,排序方式包含了作用域。
該作弊命令有助于決定動作者是否存在,不管它們有沒有出現在游戲世界中預設的位置中。一個錯誤顯示在0,0的動作者仍將出現在活躍動作者列表中。
語法:
ActorDumpLive
ActorFrom
設置一個新的::User動作者為活的動作者,并給予引用名。
該作弊命令是設定游戲世界中各種各樣動作者至::User引用的關鍵,如此一來用戶就可以發送作弊命令給它們了。
語法:
ActorFrom RefName
例如:
ActorFrom ::HoverTarget ActorFrom ::Selection
ActorFromActor
設置::User動作者通過另外一個動作者和一個引用名分支給一個動作者引用。
該作弊命令有助于設定游戲世界中各式各樣的父系和子系動作者至::User引用,如此一來用戶可發送作弊命令給它們了。它通常用于執行一個動作者::主體引用的操作。
語法:
ActorFromActor refName
例如:
ActorFromActor ::Host
設置::User動作者至來自于主體的動作者。
ActorFromActor ::Creator
設置::User動作者至其創建的動作者。
ActorKillAll
殺死所有的動作者,除了那些作為活著的單位和效果樹一部分的。
有助于清除測試地圖上的動作者,如此一來單個的動作者就可以單獨進行測試了。
語法:
ActorKillAll
ActorKillClass
殺死在光標指定半徑內所有指定類別的動作者。如果沒有指定半徑,則范圍為無限大。
如果用戶正在審查時較難去集中在一個問題上,可用該作弊命令來清除一片區域(或是整張地圖)內指定類型的動作者。例如,殺死所有的裝飾性動作者來確認是否是由于它們所造成的執行問題,是比較行之有效的一個手段。
語法:
ActorKillClass class {range}
例如:
ActorKillClass Model 15
ActorKillClass Sound
ActorKillLink
以指定的動作者鏈接殺死光標給定半徑內所有的動作者。如果沒有指定半徑,則范圍為無限大。
如果用戶正在審查時較難去集中在一個問題上,可用該作弊命令來清除一片區域(或是整張地圖)所有特定的動作者實例。例如,殺死在一片(AoE)攻擊影響區域內特別命名的所有模型,如果創建了太多模型,模糊了某些攻擊的圖形特效。或是用戶根據給定的名稱殺死所有聲音,來看是否能聽到與效果相關聯的其他聲音。
語法:
ActorKillLink link {range}
ActorSend
發送一個有效的用戶消息至當前活躍的::User動作者。
到目前為止使用最多的一個動作者作弊命令,也是開發者(內部的或外部的)通過作弊命令與動作者進行互動的主要方式。
語法:
ActorSend message
例如:
ActorSend Destroy
ActorSend SetTintColor {255,255,0}
ActorSendTo
發送一個消息至一個系統動作者引用,使用::User動作者來幫助解決系統動作者引用。換句話說,該程序發送消息至引用名分支(盡管它也適用于::主引用名)。
該作弊命令可作為發送消息至動作者分支的一個捷徑;用戶不需要首先使用ActorFromActor作弊命令來設置::User引用。
語法:
ActorSendTo refName message
例如:
ActorSendTo ::Host SetOpacity 0.5
ActorSendTo ::Main SetTintColor {255,0,0}
ActorScopeDumpLive
轉儲一個整張地圖中活躍作用域列表。
該作弊命令有助于尋找那些不再有任何(作用的)動作者、卻仍在消耗資源的動作者作用域。
語法:
ActorScopeDumpLive
ActorScopeFrom
從指定作用域引用名中設置一個新的::User作用域。
該作弊命令是設定游戲世界中各種各樣作用域至::User作用域引用的關鍵,如此一來用戶便可輕松找到并發送消息給作用域中的任何一個動作者。
語法:
ActorScopeFrom scopeName
例如:
ActorScopeFrom ::PortraitGame
ActorScopeFrom ::Selection
ActorScopeKill
殺死當前設置的::User動作者和::User作用域。該命令無法殺死還活著的單位或效果的作用域來避免意料之外的結果。
通過殺死他們包含的作用域能夠有效清除一個或多個用戶試驗過的動作者,因為這將殺死作用域中的所有動作者。
語法:
ActorScopeKill
ActorScopeOrphan
孤立當前設置的::User作用域。一個孤立的作用域會自動殺死自己,當最后一個保持它活著的動作者死亡時(例如當一個單位的死亡模型動作者完成動畫并自殺)。該命令不會孤立來自單位或效果的作用域來避免意料之外的結果。
該作弊命令可被用來測試在::User作用域內動作者孤立消息在動作者身上的效果。
語法:
ActorScopeOrphan
ActorScopeSend
廣播一個用戶消息給::User作用域里的所有動作者。
在某些偶然的情況下,用戶想要發送一個消息給作用域里所有動作者,此時該命令很有用。
(另外一個與之相關的,雖然它可能看起來像是一個將動作者作用域里所有模型染成紅色的好辦法[例如],它是典型地好過將子系動作者脫離出::主動作者和動作域的::主動作者,并且一來主體屬性繼承并過濾改變的顏色。后面這一想法是典型地要好過當一個作用域可有不必染成紅色的動作者(例如敵軍碰撞爆炸)與那些原本打算變成紅色的動作者一起。無論如何,廣播染色消息將會導致作用域內的模型全部變為紅色。)
語法:
ActorScopeSend message
例如:
ActorScopeSend Destroy
ActorUsersDump
返回當前設置的::User動作者和::User作用域。
假如用戶忘記了這些引用的當前設置,該命令會有幫助。
語法:
ActorUsersDump
ActorUsersFromHoverTarget
在光標下設置::User動作者至動作者。設置::User作用域至包含了那個動作者的動作者作用域。
在檢驗和操作不屬于任何一個可選擇對象的游戲世界動作者時非常有用。
語法:
ActorUsersFromHoverTarget
ActorUsersFromPortraitGame
設置::User動作者至游戲頭像窗口中的頭像動作者。設置::User作用域至游戲頭像窗口的動作者作用域。
在檢驗和操作頭像窗口中包含的動作者時非常有用。
語法:
ActorUsersFromPortraitGame
ActorUsersFromSelection
為所選單位設置::User動作者至::Main動作者。設置::User作用域至包含那個動作者的動作者作用域。
在檢驗和操作屬于一個可選擇對象游戲世界動作者時非常有用。
語法:
ActorUsersFromSelection
ActorWorldParticleFXDestroy
清除游戲世界中當前存在的所有粒子和帶狀物。該命令無法阻止新的粒子和帶狀物產生——即使是在粒子系統下清除掉所有的粒子也不行。
可被用來立即清除世界中的模糊粒子和帶狀物特效(特別是當游戲暫停時),以便能夠更緊密的檢查模型或是其它視覺特效的其它部分。
語法:
ActorWorldParticleFXDestroy
動作者轉儲消息
用戶可發送動作者轉儲消息給動作者,以便從它們那里獲取調試的相關消息。
AliasDump
語法:
AliasDump
顯示出與當前動作者別名相關的所有動作者。
AnimDumpDB
語法:
AnimDumpDB
顯示出與可用動畫模型相關的所有動作者。顯示出每個動畫的持續時間,同時還顯示其是否為一個循環動畫。
AttachDump
語法:
AttachDump
顯示出與存在在模型上的附著點相關的所有動作者。同時還顯示用戶指定的附著鍵和以附著卷為目標相關的每個附著點。
HostedPropDump
語法:
HostedPropDump IncludeChildren PropType
如果動作者有的話,顯示出與指定主體屬性相關的所有消息。如果“包括子集”的參數為1,會顯示出目標動作者連同其所有子集一起的屬性消息。
例如:
HostedPropDump 0 TintColor
HostedPropDump 1 TeamColor
HostedPropDumpAll
語法:
HostedPropDumpAll IncludeChildren
顯示出與所有存在于動作者上的主體屬性相關的所有消息。如果“包括子集”的參數為1,那么目標動作者的所有子集也都是一樣的。
RefDump
語法:
RefDump RefName
顯示出引用名指定動作者的調試消息。當前只適用于系統引用表格里的動作者引用,這意味著引用格式為“::動作者.某些用戶引用”、“::作用域.某些用戶引用”和“::全局.某些用戶引用”。
例如:
RefDump ::actor.someUserRef
RefTableDump
語法:
RefDump RefTableType
顯示出一個已知引用表格內所有動作者的調試消息。“引用表格類型”參數要區分大小寫,還要注意動作者、作用域或全局的標識符。
例如:
RefDumpAll Actor
TextureDump
語法:
TextureDump
顯示出與目標動作者相關聯的模型當前使用的所有紋理。表明了誰與紋理槽相關聯以及它們是否已經交換出去并且被其他動態紋理所替代。
TextureDumpDB
語法:
TextureDumpDB
顯示出與目標動作者相關聯的可用于模型的動態紋理交換的所有可用紋理。
更多《星際爭霸2》SC2地圖制作教程"動作者作弊命令"相關問題
問題:《巫師3》使用控制臺命令扭轉(或者創造)“三人探戈”孤狼結局
回答:角色強化就是可以直升到30 詳情 >
問題:《DOTA2》刀塔2冠絕,LOL黃金是啥水平?
回答:遠征之后同盟起碼損失了15萬艘,總不能讓劇本早早結束吧。 詳情 >
問題:《DOTA2》【空談】如果有先"富"帶動后"富"的機制,會對游戲有怎樣的影響?
回答:反正不科學。很難想象科技那么發達,社會結構,思維方式還那么原始。更像一種歷史演繹動畫。 詳情 >
問題:《三國殺》草了,張繡的傳說是啥收藏冊么,還是就是個不可制作?我明天就可
回答:事疫情出行二維碼 詳情 >
問題:【資料】陰陽師必知關于"五芒星"的知識及咒語!
回答:看軍銜萊皇這個時候似乎是上校…? 詳情 >