《死亡島》MOD制作方法
- 來源:wenxiao
- 作者:Alvin
- 編輯:ChunTian
物品修改
以下是物品的修改:
物品的文件有好幾個,都以Inventory開頭,data文件夾下可以找到,可收集物品和藍圖在另外一個文件里(Collectables.scr)
物品分為幾種:靜態(tài)不隨級別變化,沒法修理的,這些在Inventory.scr(例如船槳、拳頭:Melee_Fists等)中,隨你級別變化的,這些在Inventory_Gen.scr中,還有一些特殊的,在Inventory_Special.scr里面(例如踢腿:Melee_Leg)
希望低級別使用槍支的,北斗神拳、無影腿愛好者,請仔細觀看了
靜態(tài)物品
介紹一下在Inventory.scr中物品的代碼,以新人最親愛的船槳為例:
Item("Melee_Paddle", CategoryType_Melee)
{
IdNameOld("We_Paddle");
Name("&Melee_Paddle_N&");
Description("&Melee_Paddle_D&");
Visibility(true);
ItemType(ItemType_TwoHandedStick); \\物品的基礎(chǔ)類型,有MOD將雙拳替換為隔空掌和這里就有關(guān),這里是傳送門隔山打牛、龜派氣功、電擊掌MOD
PhysicsScript("DroppedInventory.scr");
Condition(10000); \\耐久,似乎改為-1可以表示不損壞(gen文件中物品此處定義是無效的,游戲根據(jù)另外的代碼隨你級別會另算,如何解決我下面會說)
Damage(90.0); \\基礎(chǔ)攻擊(gen文件中物品此處定義是無效的,游戲根據(jù)另外的代碼隨你級別會另算)
CriticalProb(0.5); \\50%暴擊
CriticalDamage(60.0); \\暴擊傷害
DamageRange(250.0); \\攻擊距離
Force(80.0); \\推力,越大敵人的黃色體力消減越厲害,可以一下將敵人擊倒,可以應(yīng)用在Inventory_Special.scr文件中定義的踢腿攻擊上(gen文件中物品此處定義是無效的,游戲根據(jù)另外的代碼隨你級別會另算)
PhysicsDamage(60.0); \\這個是攻擊的物理效果,越大,打飛的越遠(幾位研究北斗拳、穿心腿、隔空漲的同志請注意,這個才是物理推力,上面的force是對體力條的攻擊力)
StaminaUsage(0.00); \\耐力使用
SwingSpeed(0.8); \\揮動一次的時間(gen文件中物品此處定義是無效的,游戲根據(jù)另外的代碼隨你級別會另算)
HeadSmashProb(0.5); \\爆頭幾率
HeadCutProb(1.0); \\斬首幾率
ArmsCutProb(1.0); \\斷臂幾率
LegsCutProb(1.0); \\卸腿幾率
DamageType(DamageType_Cut); \\傷害類型,這里我修改為割傷,這樣船槳的攻擊行為會和刀一樣,可以砍斷敵人肢體,丟出去可以插在人身上
Mesh("weapon_paddle_a.msh");
AnimPrefix("Stick2");
HudIcon("paddle_a");
MinDamageAngle(-60.0);
MaxDamageAngle(45.0);
MinDamageMult(1.0);
MaxHitSeverity(HitSeverity_Medium);
MinHitSeverity(HitSeverity_Light);
HorizontalAttackDamageMul(1.0);
TwoHanded(true);
HolderElement("bip01 spine2");
HolderOffset([25.0,10.0,15.0]);
HolderAngle([90.0,20.0,90.0]);
CausesKnockDown(true);
DestroySound("break_wooden_weapon_00.wav");
AiHitSound("paddle");
use HitEffects_Wooden();
BloodSplatFactor(0.15);
use PickupSounds_Default();
DamageSize(10.0);
StatsType(StatsType_Blunt);
LootLevel(2);\\物品的loot級別,和掉寶率有關(guān)
LootType(LootType_Blunt);
FF_Left(0.6);
FF_Right(0.6);
FF_Duration(0.2);
FF_FadeOut(0.0);
Color(Color_White);
AchType(AchType_Paddle);
}
后面部分似乎是定義幾個變體,可以不去管它。
動態(tài)物品
然后是Inventory_Gen.scr中的火器(近戰(zhàn)、子彈、手雷什么的我就不說了,這些東西的價格、數(shù)量、威力都是可改的),我們以祖國防御者沖鋒槍為例:
Item("Firearm_leg_DefenderOfTheMotherland", CategoryType_Firearm)
{
Name("&Firearm_leg_DefenderOfTheMotherland_N&");
Description("&Firearm_leg_DefenderOfTheMotherland_D&");
CategoryType(CategoryType_Firearm);
Visibility(true);
ItemType(ItemType_Rifle);
PhysicsScript("DroppedInventory.scr");
UpgradeLevel(0);
Condition(-1); \\物品無需修理(之前說過的我就不再說了)
DamageRangeMelee(110.0); \\(無效)
HeadSmashProb(0.8);
HeadCutProb(0.0);
ArmsCutProb(0.0);
LegsCutProb(0.0);
DamageType(DamageType_Bullet);
Mesh("weapon_machine_gun_b.msh");
Skin("super");
SkinTag("weapon_epic1");
AnimPrefix("AK47");
HudIcon("akms");
ShotTime(0.07); \\射擊時間,越小越快
ShotSound("AkOneShotSt_XX.wav");
BaseSoundPrefix("ak47");
AmmoType(AmmoType_Rifle);
AmmoCount(90); \\彈夾大小
ReloadTime(1.25); \\換彈夾時間
EmptySound("Pistol_Empty.wav");
RagdollBehavior(RagdollBehavior_None);
TwoHanded(true);
HolderElement("bip01 r thigh");
HolderOffset([0.0,10.0,0.0]);
HolderAngle([0.0,90.0,-90.0]);
use HitEffects_Firearm();
use PickupSounds_Default();
ClipReload(true);
FxNameShell("MGGunfireShell");
ShootFx("MGGunfireSingle_sequence.fx");
AimBlurStart(25.0);
AimBlurEnd(35.0);
ShootMinAngle(0.001); \\準星最小大小(這里開始是準星和準確度修改,我以下的參數(shù)的效果和普通fps的ak類似)
ShootMaxAngle(0.004); \\準星最大大小
ShootAngleVel(0.0003); \\每次射擊準星和散布的增量
ShootAngleCooldown(0.14); \\準星回縮效果,越大越快
ShootVertRecoil(0.001); \\后座水平跳動大小
ShootVertRecoilSpread(0.001); \\后座水平散布大小
ShootHorzRecoil(0.0); \\后座垂直跳動大小
ShootHorzRecoilSpread(0.001); \\后座垂直散布大小
ShootRecoilTime(0.005); \\后座作用效果時間
ShootMode(ShotMode_Automatic); \\全自動射擊
BulletsPerShot(1); \\每次打出幾個子彈,似乎散彈槍就可以不止一個
AimFov(3.5); \\瞄準時候的縮放倍數(shù),調(diào)大就是狙擊搶了
DamageSize(5.0);
AiHitSound("firearm");
StatsType(StatsType_Rifle);
Price(5000); \\價格,修改無效
LootLevel(5);
LootType(LootType_Firearm_Auto);
FF_Left(0.3);
FF_Right(0.4);
FF_Duration(0.1);
FF_FadeOut(0.0);
CriticalProb(0.05);
CriticalDamage(100.0);
FirePointRange(0,2000.0);
FirePointDamage(0,100.0);
FirePointPhysicsDamage(0,40.0);
FirePointForce(0,100.0);
FirePointRange(1,10000.0);
FirePointDamage(1,20.0);
FirePointPhysicsDamage(1,40.0);
FirePointForce(1,20.0);
Color(Color_Orange);
GenType(GenType_AUTORIFLE);
GenLevelMin(0); \\這個很重要,表示槍械生成的最低等級,2級人物想用槍,這里必須要調(diào)低。幸運的是2級的槍丟給2級的同伴他也是能用的。
ShotTailDelay(0.1);
AchType(AchType_Rifle);
NameGender(0);
PriceMult(1.1);
}
Item("Firearm_leg_DefenderOfTheMotherland", CategoryType_Firearm) \\一下是瞄準狀態(tài)下的參數(shù),和上面類似,不再解釋
{
CategoryType(CategoryType_Firearm);
UsageType(UsageType_Aim);
UpgradeLevel(0);
HandOffset(HandModification_Normal, [-0.812,0.0,7.0]);
HandRot(HandModification_Normal, [0.0625,0.1875,0.0]);
SwayMaxAngle(0.02);
ShootMinAngle(0.0005);
ShootMaxAngle(0.001);
ShootAngleVel(0.0001);
ShootAngleCooldown(0.28);
ShootVertRecoil(0.001);
ShootHorzRecoil(0.0);
ShootHorzRecoilSpread(0.0);
}
后面的部分是升級后的變化,可以不用太關(guān)注
有人在問如何修改才能提升隨級別浮動武器的傷害,這個可以從skill中解決,直接用技能效果提升鈍器、火器、刀具的傷害。我個人建議這么做,但是你也可以從Inventory_Gen.scr文件下手。
在Inventory_Gen.scr文件后部定義了1-50隨級別浮動的傷害、耐久、速度、推力,以下選取一點:
GeneratorLevel(0, 45)\\表示是45級的武器規(guī)則
{
GenParam(Gen_Damage, 9940, 6620.6288, 4970, 3970.6, 3310.3712); \\生成的各類武器傷害,這里我提高了10倍,以下類似,我將耐久也提升了10倍
GenParam(Gen_Force, 994, 662.6288, 497, 397.6, 331.3712);
GenParam(Gen_Speed, 0.05, 0.08, 0.1, 0.20, 0.50);
GenParam(Gen_Durability, 690, 460, 310, 230, 150);
}
這里我補充一點,這里只是物品不同級別下屬性提升的一個參考參數(shù),并不是武器生成的依據(jù)。就是說你生成的高傷害武器丟給別人的時候傷害是按照你隊友自己機器上的參數(shù)來重算的。
玩家點評 (0人參與,0條評論)
熱門評論
全部評論