元素弩箭天赋
为十字弓和可选的亚登之印添加额外效果
模式元素弩天赋
进行中...
该模组针对游戏 1.21 版本制作并测试。所以如果你使用的游戏版本不同,并且不确定这段额外代码的作用,你可以很容易地自己添加。
这个模组灵感来源于另一个模组,它并未修改或改变任何原有内容,只是在原有脚本基础上添加了一些额外代码,为十字弓和可选的亚登之印增添了额外效果。
例如,你可以先实现这些效果,因为我需要做更多的测试。
对于十字弩,你可以添加额外效果,比如冻结敌人、燃烧、布娃娃效果、击倒、强力击倒用于终结技......
对于符印“亚登”的替代陷阱,你可以添加与弩箭相同的效果示例。
示例使用的是我的主游戏文件夹路径,即 J:\thewitcheriiia。所以你首先需要备份 npc.ws 文件以防万一,比如在我的路径中 J:\thewitcheriiia\content\content0\scripts\game\npc\npc。
现在你需要将 npc.ws 复制到 J:\thewitcheriiia\mods\modboltknocka\content\scripts\game\npc。如果该路径不在你的主游戏文件夹中,那么你需要创建它。
现在打开 npc.ws 文件,路径是 J:\thewitcheriiia\mods\modelementalcrossbowtallenta\content\scripts\game\npc,你需要找到以下几行代码:
boltCauser = (W3ArrowProjectile)( damageAction.causer );
yrdenCauser = (W3YrdenEntityStateYrdenShock)( damageAction.causer );
如果(施法者或亚登陷阱触发者)
现在你需要像这样添加那些额外的代码行:
boltCauser = (W3ArrowProjectile)( damageAction.causer );
yrdenCauser = (W3YrdenEntityStateYrdenShock)( damageAction.causer );
if (有螺栓引发器)
{
damageAction.AddEffectInfo( EET_Knockdown );
}
if (亚登施法者)
{
damageAction.AddEffectInfo( EET_Frozen );
}
如果(闪电引发者或亚登引发者)
现在你可以修改 EET_Knockdown 这个位于代码第一部分的值,用于为弩箭添加击倒效果;或者你可以更改 EET_Frozen,这部分代码位于第二部分,我认为是用于亚登之印模组 2,并在陷阱激活时添加冰冻效果。所以如果你想的话,可以用它们来改变效果。
这些尚未经过全面测试,但在我简短的测试中它运行正常,我认为。我认为首领和其他一些任务及特殊 NPC 会对这些效果免疫,直到我找到方法让他们变得脆弱。
而 EET_HeavyKnockdown 效果则是击倒效果,让你可以终结处于该效果影响下的敌人。
EET_Burning
EET_Frozen
EET_Ragdoll
EET_Knockdown
EET_HeavyKnockdown
EET_Poison
EET_Blindness
EET_GhostBlindness
如果你在启动游戏时遇到问题并收到错误提示,首先确保你正确复制粘贴了代码。如果仍然无法正常工作并出现编译错误,那么你需要确保修复了这个错误,我认为这是开发者遗留或更改的。
例如,进入我的路径 J:\thewitcheriiia\content\content0\scripts\engine 并备份 telemetryKeyword.ws 以防万一。现在打开它,选择全部并删除里面的所有代码,然后将这个复制进去:
// 由 "theTelemetry" 指向的类
// 请勿直接实例化
import class CR4TelemetryScriptProxy extends CObject
{
import final function LogWithName( eventType : ER4TelemetryEvent );
import final function LogWithTag( eventType : ER4TelemetryEvent, tag : string );
import final function LogWithValue( eventType : ER4TelemetryEvent, value : int );
import final function LogWithValueString( eventType : ER4TelemetryEvent, value : string );
import final function LogWithTagAndValue( eventType : ER4TelemetryEvent, tag : string, value : int );
import final function LogWithTagAndValueString( eventType : ER4TelemetryEvent, tag : string, value : string );
import final function SetGenericStateFloat( stateType: ER4GenericState, value : float );
import final function SetGenericStatInt( statType: ER4GenericStat, value : int );
import final function SetGameProgress( value : float );
import final function AddSessionTag(tag : string );
import final function RemoveSessionTag(tag : string );
import final function XDPPrintUserStat( statName : string );
import final function XDPPrintUserAchievement( achievementName : string );
}
确保在 } 后面留一个额外的空行或空格,以防万一。
现在应该可以工作了,如果还是不行请告诉我。因为我听说在某些情况下需要删除一些黑客日志,所以请留下评论,我们可以尝试修复它。
所以玩得开心点,我的英语不好,非常抱歉。
来自罗马尼亚的问候。
感谢那些制作其他模组的人,他们的作品给了我灵感。
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。