紅警ini教程之超級武器第一篇!
可能是全網(wǎng)最全
哈嘍大家好我是基因突擊車,這期我來稍微總結(jié)一下
所有超級武器的通用代碼及其作用
本專欄包含了不少Ares說明書上的內(nèi)容,可以在彈頭專欄下載到
本文中所有“超武”泛指一切防御界面里面的支援技能
注意:超武必須在[SuperWeaponTypes]里注冊
先介紹一下一個建筑如何掛載超武
一共有三條
SuperWeapon=
SuperWeapon2=
SuperWeapons=
前兩條是原版的,后面只能寫一個超武的注冊名
第三條是Ares的,可以無限掛載
可以有其它掛載方式,比如超武里寫 SW.AlwaysGranted=yes 加上 SW.AuxBuildings=XX,在此不再細(xì)講
還有一條與超級武器沒什么關(guān)聯(lián)的:
寫在建筑里
RevealToAll=
這個建筑是否始終展現(xiàn)給所有人,像原版超武一樣,黑幕也罩不住,填yes或no,yes表示展現(xiàn)給所有人
再介紹一下超武的通用代碼:
UIName=
這個超武在游戲內(nèi)顯示的名字,填csf參數(shù)
Name=
沒有實際意義的注釋
IsPowered=
填true/false,是否在沒電時依舊可以使用,填true表示要電,false表示不需要
RechargeTime=
超武多久可以釋放一次,單位為分鐘,填數(shù)字
Type=
超武的類型,不能在地圖內(nèi)置ini、模式ini等地方進(jìn)行修改,只能寫在rules里(但其它ini里新建的超武沒問題,只是原來就有的沒法改)
后面會詳細(xì)講,很重要
Action=
使用超武時鼠標(biāo)出現(xiàn)的圖案,不過一般都用Crusor=,不用管
Sidebar=
都什么時代了還在用這玩意?用下面一句!
SidebarPCX=
超武在防御建筑欄里顯示的圖標(biāo),填pcx文件名,帶后綴
ShowTimer=
填yes/no,這個超武是否公開顯示倒計時,像超武那樣在右下角,顯示格式: UIName + 目前超武的冷卻時間,yes代表顯示
DisableableFromShell=
不用管這是什么,填no就完了
AIDefendAgainst=
應(yīng)該默認(rèn)是no,AI是否會拿Type=ForceShield的超武抵擋這個超武(你扔這個超武時AI是否開力場護(hù)盾)
Range=
準(zhǔn)備釋放這個超武時顯示的范圍圈
LineMultiplier=
這個范圍圈有多密集
SW.ActivationSound=
超武生效時的聲音,在除了Type=LightningStorm和Type=PsychicDominator以外的超武里作用基本等于SW.Sound,填sound文件里的聲音參數(shù)
當(dāng)使用在Type=LightningStorm和Type=PsychicDominator的超武里時,釋放超武時SW.Sound播放,超武正式開始時SW.ActivationSound播放(閃電風(fēng)暴前的悶雷聲)
EVA.Ready=
超武準(zhǔn)備就緒時的副官語音,填eva文件里的聲音參數(shù)
(MO3里大部分是EVA_BattlePowerReady,一些出兵類超武是EVA_ReinforcementsReady,正規(guī)傘兵是EVA_ParatroopersReady,先鋒炮艇機、納米同步、造物懲戒、天降神兵和時間靜止有專屬語音)
EVA.Activated=
超武發(fā)射時的副官語音,填eva文件里的聲音參數(shù)
EVA.Detected=
掛載超武的建筑出現(xiàn)時的副官語音,填eva文件里的聲音參數(shù)
EVA.Impatient=
超武還沒好時點擊圖標(biāo)時的副官語音,填eva文件里的聲音參數(shù)
EVA.InsufficientFunds=
點擊圖標(biāo)時錢不夠的副官語音,填eva文件里的聲音參數(shù),默認(rèn)EVA_InsufficientFunds
EVA.SelectTarget=
點超武圖標(biāo)時開始選擇目標(biāo)時的副官語音,填eva文件里的聲音參數(shù)
SW.AITargeting=
AI如何使用這個超武,填特殊參數(shù)
None:不會用
LightningStorm:侵略性,不能和其他閃電一起(砸重工)
Nuke:侵略性或用觸發(fā)指定(繼續(xù)砸重工)
PsychicDominator;最大的敵人單位集群(哪里單位多砸哪里)
GeneticMutator:3X3內(nèi)最大的敵人步兵集群(哪里步兵多砸哪里)
ParaDrop:敵人家防御最差的地方
ForceShield:敵人超武砸的地方
NoTarget:隨便砸
Offensive:侵略性(還是砸重工)
Stealth:只攻擊隱形單位,受SW.RequiresTarget和SW.RequiresHouse影響
Base:砸自己基地(砸建造場)
EnemyBase:砸敵人基地(砸建造場)
HunterSeeker:像NoTarget一樣,但是會打敵人的單位,這個只對一些超武有用(給Type=HunterSeeker就完了)
IronCurtain: 運用55號腳本關(guān)聯(lián)啟動,類似原版鐵幕(己方部隊聚集后砸給部隊)
Self:砸這個超武的超武建筑
LightningRandom:隨機瞄準(zhǔn),仍然讀取指示者和抑制者
Attack:類似于NoTarget,但是會在所屬方被攻擊時啟動(類似于自衛(wèi))
LowPower:類似于NoTarget,但是會在所屬方處于低電力時啟動
LowPowerAttack:把上面那兩個結(jié)合在一起
Light.Enabled=
是否全局變光
Light.Ambient=
全局變光:亮度
Light.Blue=
Light.Green=
Light.Red=
全局變光:藍(lán)、綠、紅
(只能用在Type=MultiMissile,Type=LightningStorm,Type=PsychicDominator)
Message.Detected=
這個超武出現(xiàn)時左上角的csf文字警告
Message.FirerColor=
這個超武左上角的csf文字警告是否為擁有超武的人的顏色,yes表示是,默認(rèn)no
Message.Launch=
這個超武釋放時左上角的csf文字警告
Message.Ready=
這個超武就緒時左上角的csf文字警告
Message.Activate=
這個超武正式發(fā)動時左上角的csf文字警告,出現(xiàn)時間與SW.ActivationSound同理
Message.Abort=
這個超武被截停時左上角的csf文字警告,比如有閃電風(fēng)暴和心靈支配正在釋放時試圖再放一個的文字
Message.InsufficientFunds=
這個超武沒錢放時左上角的csf文字警告
Message.Color=
這個超武左上角的csf文字警告的指定顏色,比Message.FirerColor=yes 權(quán)限低
Message.CannotFire=
這個超武使用AITargeting發(fā)射超武失敗時,顯示在左上角的csf文字,默認(rèn)MSG:CannotFire?
(需要SW.UseAITargeting才有效)
SW.CreateRadarEvent=
掛載這個超武的建筑出現(xiàn)時是否在建筑位置產(chǎn)生小地圖事件(一個圈在小地圖上),yes為產(chǎn)生
SW.Inhibitors=XX
這個超武可以被誰抑制
同時需要在[XX]這個單位里加上
InhibitorRange=
表示能抑制超武的范圍
SW.AnyInhibitor=
釋放地點是否只要有敵方單位就不能放,覆蓋SW.Inhibitors,默認(rèn)no
Cursor=
使用超武時鼠標(biāo)出現(xiàn)的圖案,填[MouseCursors]里的參數(shù)
NoCursor=
使用超武但超武被抑制或不滿足釋放條件時鼠標(biāo)出現(xiàn)的圖案,填[MouseCursors]里的參數(shù)
然后是[MouseCursors]怎么寫
以下所有幀都必須在加密mix里的mouse.sha中
這是格式:隨便取,名字=從第幾幀開始,持續(xù)幾幀,鼠標(biāo)的高度,在小地圖上從第幾幀開始,在小地圖上持續(xù)幾幀,固定填Center,固定填Middle
由于mouse.sha在加密mix里,所以不必要就不要改鼠標(biāo)圖案了
Money.Amount=
釋放這個超武后獲得多少錢,填負(fù)數(shù)表示要花多少錢,錢不夠圖標(biāo)變灰放不了,點擊后出現(xiàn)Message.InsufficientFunds
SW.Range=
和Range不是一回事!這是實打?qū)嵉某涞姆秶?/p>
填一個數(shù)表示圓的半徑,填兩個數(shù)表示矩形的長寬
用得不是很多,首先通用彈頭類超武可以在彈頭里寫范圍,其次直接攻擊類超武就剩核彈閃電心靈支配了
SW.AffectsHouse=
可以填(none誰都不/owner發(fā)出者/allies盟友/team自己和盟友/enemies敵人/all全部)
超武影響哪些玩家,可以設(shè)多個
SW.AffectsTarget=
可以填(land陸地/water水上/empty誰都不/infantry步兵/units坦克/buildings建筑)
超武可以影響的地形和單位種類,可以設(shè)多個
SW.ShowCameo=
是否在防御欄顯示此超武的圖標(biāo),默認(rèn)yes,SW.AutoFire=yes的默認(rèn)為no
SW.Deferment=
超武生效延遲的幀數(shù),僅對部分類型的超武有效
?
SW.TimerVisibility=
可以填(owner發(fā)出者/allies盟友/team自己和盟友/enemy敵人/others不明/all全部/none誰都不)??
當(dāng)超武的ShowTimer=yes時,哪些玩家可以看見計時器,默認(rèn)all
SW.InitialReady=
這個超武是否剛獲得時就充能完畢,當(dāng)發(fā)射一次之后,計時恢復(fù)正常,默認(rèn)no(第一發(fā)無冷卻)
?
SW.VirtualCharge=
決定這個超武使用虛擬充能
這個邏輯可以用來分開超武充能和建筑存在。如果沒有建筑了,計時器會隱藏到后臺繼續(xù)充能,等到所屬方再次持有建筑時重新顯示圖標(biāo)和計時器。默認(rèn)no
(Ares整的什么玩意,通用性極低)
SW.Shots=
這個超武能夠用多少次,-1代表無限。不支持持續(xù)性超武(Type=Battery和Type=Firestorm)默認(rèn)-1
被升級工具箱或地圖觸發(fā)帶來的超武也會共享次數(shù)
SW.FireIntoShroud=
這個超武能否丟進(jìn)黑霧,默認(rèn)yes
SW.UseAITargeting=
這個超武當(dāng)人類玩家點擊圖標(biāo)時自動發(fā)射超武,而不需要手動選擇目標(biāo),選擇目標(biāo)交給SW.AITargeting
如果不符合AI瞄準(zhǔn)的約束條件,則超武圖標(biāo)會黑掉(約束條件見下),如果超武目前無法依靠SW.AITargeting發(fā)射,會反饋Message.CannotFire給玩家。
(半自動發(fā)射,需要點擊圖標(biāo))
SW.AutoFire=
這個超武是否自動發(fā)射,會丟到效果最好的地方,默認(rèn)no
(全自動發(fā)射,不需要點擊圖標(biāo))
SW.ManualFire=
這個超武是否人工發(fā)出,如果SW.AutoFire=no的話這行代碼就沒用
(這玩意有毛用)
?
SW.RequiresTarget=
可以填(land陸地/water水上/empty誰都不/infantry步兵/units坦克/buildings建筑)
這個超武可以扔在什么類型的目標(biāo)上,不是此目標(biāo)的話就不能扔下去,比如原版力場護(hù)盾只能扔建筑上
(SW.AffectsTarget扔上去只是沒有效果,但可以隨地扔,這個只能扔在指定目標(biāo)上)
[SuperWeapon]>SW.RequiresHouse=
可以填(none誰都不/owner發(fā)出者/allies盟友/team自己和盟友/enemies敵人/all全部)
這個超武可以扔在什么所屬方上
(SW.AffectsHouse扔上去只是沒有效果,但可以隨地扔,這個只能扔在指定所屬方上)
SW.Group=
設(shè)置這個超武的組號,可以在AI腳本中涉及到超級武器的部分指定該組號,默認(rèn)0,需要搭配SW.AITargeting使用。
SW.AIRequiresTarget=
AI版RequiresTarget
SW.AIRequiresHouse=
AI版RequiesHouse
SW.AITargeting.Preference=
給地圖用的,不要亂用
SW.AITargeting.Constraints=
這個超武所需的發(fā)射約束環(huán)境,多個約束條件用逗號隔開。默認(rèn)取決于Type=
如果沒有適宜的約束條件,那么超武的圖標(biāo)會成為灰色(僅限于使用SW.UseAITargeting=yes時),如果在約束條件的范圍內(nèi)超武找不到可以發(fā)射的目標(biāo),那么玩家會得到Message.CannotFire文字回饋
有些約束條件是人為的(比如,即使AI沒有選定敵人,Type=HunterSeeker也可以發(fā)射,這說不過去), 有些是客觀的(如果優(yōu)先級最高的敵人基地成為了目標(biāo),但是AI還沒有選擇任何目標(biāo),那么就沒有可以發(fā)射的地點)
填這些:
"none":沒有約束條件
"enemy":當(dāng)發(fā)射方已經(jīng)選定了一個所屬方為敵人時
"lightningstorm_inactive":當(dāng)沒有任何閃電風(fēng)暴處于發(fā)射狀態(tài)時
"dominator_inactive":當(dāng)沒有任何心靈控制處于發(fā)射狀態(tài)時
"attacked":當(dāng)發(fā)射方被攻擊時
"lowpower":當(dāng)發(fā)射方處于低電力狀態(tài)時
以下約束環(huán)境對玩家無效:
"lightningstorm_inactive",因為玩家會在閃電風(fēng)暴激活時得到一條發(fā)射失敗的回饋信息
"dominator_inactive",因為玩家會在心靈控制激活時得到一條發(fā)射失敗的回饋信息
"attacked",因為這是輔助AI使用的,玩家能夠正確的判別何時應(yīng)該發(fā)設(shè)
"lowpower",同上
這是這些語句的默認(rèn)值:

SW.Damage=
超武的傷害,覆蓋其它特定代碼,只能用于攻擊類超武中
SW.Warhead=
超武的彈頭,覆蓋其它特定代碼,只能用于攻擊類超武中
SW.RangeMaximum=
超武的最大射程,以超武建筑為中心,超過其發(fā)射范圍就不能發(fā)射超武,負(fù)數(shù)即無限。默認(rèn)-1,隨便打
SW.RangeMinimum=
超武的最小射程,以超武建筑為中心,小于其發(fā)射范圍就不能發(fā)射超武
SW.Designators=XX
這個超武的釋放地點需要有這些單位作為指示者,不寫就是不需要
同時需要在[XX]這個單位里加上
DesignatorRange=
表示能指示超武的范圍
SW.AnyDesignator=
釋放地點是否只要有單位就行,覆蓋SW.Designators,默認(rèn)no
SW.RequiredHouses=
哪些國家能用這個超武,與單位里的RequiredHouses基本相同
SW.ForbiddenHouses=
哪些國家不能用這個超武,與單位里的ForbiddenHouses基本相同
SW.AllowPlayer=
玩家是否能用這個超武,不能用圖標(biāo)和計時器都不會有,默認(rèn)yes
SW.AllowAI=
AI是否能用這個超武,不能用圖標(biāo)和計時器都不會有,默認(rèn)yes
SW.AuxBuildings=
這個超武除了掛載超武的建筑還需要這些建筑才能使用
SW.NegBuildings=
這個超武有這些建筑就不能使用
SW.Animation=
這個超武釋放時目標(biāo)地點的動畫
SW.AnimationHeight=
這個超武釋放時目標(biāo)地點的動畫的高度
SW.AnimationVisibility=
可以填(none誰都不/owner發(fā)出者/allies盟友/team自己和盟友/enemies敵人/all全部)
這個超武釋放時目標(biāo)地點的動畫能被誰看見
Text.Hold=
超武沒電時圖標(biāo)上現(xiàn)實的大字(當(dāng)然要IsPowered=true)
Text.Ready=
超武就緒時圖標(biāo)上現(xiàn)實的大字
Text.Preparing=
超武準(zhǔn)備中圖標(biāo)上現(xiàn)實的大字
好了,這篇已經(jīng)夠長了,下期講一下超武的類型和專用語句
Type=......