我们已经建立好了一个/一组超一流的队伍。但是在茫茫荒野之中,全部只靠自己,那是非常脆弱的一件事情。我们势必需要一些随从NPC来帮自己的忙。
那么,常见的随从NPC,给我们起到的作用,一般来说就是增加属性/技能,释放魔法(魔力神眼,天赐神力,时空之门,凌波微步等),但是效果都限,比如说增加魔法技能点数的有三种NPC,魔法大师,神秘大师,魔法学徒,增加魔法点数分别+4,3,2点。能不能更有效呢?
打开scripts\global文件夹,下面都是一些.lua文件。不用担心,可以直接用记事本打开。
我们打开这里的NPCFollowersSkills。lua文件。
ctrl+F搜索这一行:function events.WalkToMap(t)
得到这一行:
function events.WalkToMap(t)
t.Days = math.max(1, t.Days-CountCrossMapBonus())
第二行语句的意思是,(步行)旅行穿越地图的时间,取1和“实际时间减去随从帮忙减少的时间”中最大的那个。
删除后面t.Days-CountCrossMapBonus()这一串,就可以实现任何跨越地图(步行)都只需要1天了。最少1天是游戏内部设置,暂时没找到修改方法。
搜索function events.GetTravelDaysCost(t),得到:
local Type = Game.Houses[t.House].Type
if Type == 27 then
t.Days = math.max(0, t.Days - CountBSBonuses(StableBonuses))
else
t.Days = math.max(0, t.Days - CountBSBonuses(BoatBonuses))
这样的语句。跟上面类似,这是坐车或者坐船去的时间。删除t.Days - CountBSBonuses(StableBonuses)或者t.Days - CountBSBonuses(BoatBonuses)都可以实现坐船坐车1天到达。
这种修改有个弊端,就是到达任何地方所需要的时间都是一样的,没法体现出各个地区的距离差距(甜水镇到克里格斯要一天,到新索匹格也只要一天??)。所以慎用。
(对了,这里虽然是修改的随从的能力,但你不需要领航员也可以获得这个修改效果)

搜索
----Values----
会得到下面的这样结构,从这里开始,都是各个具体的属性加成了。
------------------------------------------------
----Values----
------------------------------------------------
我们看第一项:
---- Find gold bonuses
GoldFindBonuses = {[31] = 0.10, [32] = 0.20, [45] = 0.10}
获得的黄金奖励(就是捡尸体了)。编号31,32,45的这三种NPC,分别让你的获得的黄金增加10%,20%,10.
---- Skill bonuses
SkillBonuses = {
下面都是各个技能。比如第一项:
[const.Skills.Learning] = {[4]= 5, [13] = 10, [14] = 15},
意思是增加学习术点数,编号4,13,14的NPC,可以分别把你的学习术提高5%,10%,15%。可以叠加。你完全可以把等号=后面的数值改大一些。比如100?上限多少我不负责哈。
[const.Skills.Staff]= {[15] = 20, [16] = 30, [46] = 20},
[const.Skills.Sword]= {[15] = 20, [16] = 30, [46] = 20},
[const.Skills.Dagger]= {[15] = 20, [16] = 30, [46] = 20},
[const.Skills.Axe]= {[15] = 20, [16] = 30, [46] = 20},
[const.Skills.Spear]= {[15] = 20, [16] = 30, [46] = 20},
[const.Skills.Bow]= {[15] = 20, [16] = 30, [46] = 20},
[const.Skills.Mace]= {[15] = 20, [16] = 30, [46] = 20},
[const.Skills.Leather]= {[46] = 20},
[const.Skills.Chain]= {[46] = 20},
[const.Skills.Plate]= {[46] = 20},
这里是所有的武器和防具。注意到有个[46]号NPC,可以同时增加你的武器和护具的技能点。你只需要在游戏里找到他(英文名squire,中文好像是侍从?),就可以了。
或者,把leather,Chain,Plate这里的格式改得和上面一样就可以了(好像没看到shield盾牌??)
接下来的,就是魔法(9种),经商,拆卸,感知,鉴定,对应的NPC和增加的点数。按你想要的修改即可。


接下来是步行穿越地图和坐车船穿越地图的几个NPC的值。如果改了上面的值,那他们就废了。如果上面没改,那这里改一下等号=后面的数值即可。
---- Crossing map bonuses
-- ProfID == Amount of days to subtract
CrossMapBonuses = {
[5] = 10,
[6] = 20,
[7] = 30,
[44] = 10
}
------------------------------------------------
---- Travel days bonuses
-- ProfID == Amount of days to subtract
BoatBonuses = {[8] = 20, [9] = 30, [44] = 10, [45] = 20}
StableBonuses = {[35] = 20, [44] = 10}
下面是属性增加的NPC。不过只增加抗性和幸运。跟上面一样修改[ ]=之后的数字即可。
---- Stat bonuses
-- StatID = {ProfID = Bonus}
StatsBonuses = {
[const.Stats.AirResistance]= {[37] = 200},
[const.Stats.FireResistance]= {[37] = 200},
[const.Stats.WaterResistance]= {[37] = 200},
[const.Stats.EarthResistance]= {[37] = 200},
[const.Stats.Luck] = {[27] = 100, [28] = 200}
}
接下来是团队Buff魔法,只有一个魔力神眼。
---- Constant party buffs
-- ProfID = {Buff = PartyBuff, Skill = , Power = }
FollowersBuffs = {
[38] = {Buff = const.PartyBuff.WizardEye, Skill = 4, Power = 2}
}
skill指的是技能点数(1-60),power指的是威力(1=普通2=专家3=大师4=宗师)
这是说38号使用的是专家4级的魔力神眼。
再往下的就是要点击头像才能使用的NPC能力了。包括治疗,时空之门等等。
第一个是大厨(制造食物的),主要是这一段:
local Amount = Game.NPC[cNPC].Profession == 34 and 2 or 1
if Party.Food > 14 then
编号34的大厨,每天制造1或2的食物,最多14份。
可以把2 or 1改大,成为你想要的数字。(山下殿堂出来之后很好用),也可以把14这个上限改大(比如说14444),让他造一大堆食物。
这里的判断语句比较复杂,我没太看懂。
其中
if Prof == 12 then
CastSpellDirect(88,10,10)
elseif Prof == 11 then
CastSpellDirect(77,10,10)
88号魔法是divine intervention,普渡众生,77号是powercure指的是疗伤圣法(我去spells2文件一个一个数的。这个没排顺序)。Power10不知道啥意思,反正总是能够回满血。。
下面这两个没啥好说的,就是可以释放大师级5级的Heriosm和Bless魔法(中文对应哪个?圣灵佑佐?天赋神力?)自己改一下数值就行了。
-- Cast heroism
evt.Global[1720] = function()
CastFollowersSpell(51, 50, 3)
end
-- Cast bless
evt.Global[1719] = function()
CastFollowersSpell(46, 50, 3)
end
下面是时空之门(护门大师的技能)。
-- Cast town portal
evt.Global[1718] = function()
local NPC = GetCurrentNPC()
if CanUseProf(NPC) then
if Party.EnemyDetectorRed or Party.EnemyDetectorYellow then
Message(Game.GlobalTxt[480])
else
SetProfUsed()
ExitCurrentScreen(false, true)
CastSpellDirect(31, 10, 4)
end
else
Message(Game.GlobalTxt[561])
end
end
值得考虑的是,这一句:
if Party.EnemyDetectorRed or Party.EnemyDetectorYellow then
Message(Game.GlobalTxt[480])
else
这是说角色状态灯是红色或者黄色(就是周围有敌人)的时候,不能放时空之门。删除这一句,护门大师就可以随意飞了。
另外注意到,医疗,时空之门,以及前面的制造食物,都有这样一句:SetProfUsed()
删除之后,应该就可以每天随意使用了?(这一句没验证过,还不敢确定)
最后两个就没啥难度了。
-- Cast water walk
evt.Global[1717] = function()
CastFollowersSpell(27, 30, 4)
end
-- Cast fly
evt.Global[1716] = function()
CastFollowersSpell(21, 20, 4)
end
就是使用凌波微步和飞行奇术的NPC。按自己喜好,修改一下威力和技能就行了。。和上面规则一样。
如此一来,我们就有了非常强力的帮手的帮助,还在担心无法完成拯救科诺尼的壮举吗?
那我们下一话,就来看看,怎么变成一拳超人吧。