魔法门吧 关注:26,076贴子:408,431
  • 10回复贴,共1

整理了下整合版的NPC序号(编号)及对应功能

只看楼主收藏回复

整理了下整合版的NPC序号及对应功能,整理这个是为了方便从控制台ctrl+F1修改NPC用的
1、有些加成实在是太少了,如果可以修改成百分比加成就很好,看了下代码,发觉改具体数字我还行,要是改成百分比加成,比如武器/魔法/护具技能有些随从是加2,我想改成10%,好像蛮复杂的样子。
因为在文件里,加成是这样的[const.Skills.Staff]= {[15] = 2, [16] = 3, [46] = 2}, 15是NPC编号
而具体函数应该是:
---- Skill bonuses ----
-- SkillID = {ProfID = Bonus}
local SkillBonuses
local function CountSkillBonus(skill)
local Bonus = SkillBonuses[skill]
local res = 0
if Bonus then
for k,v in pairs(vars.NPCFollowers) do
local Amount = Bonus[Game.NPC[v].Profession]
if Amount then
res = res + Amount
end
end
end
NPCBonuses.Skills[skill] = res
return res
end
如果要改,好像还得先用下local Skill, Mastery = SplitSkill(Player:GetSkill(const.Skills.Meditation))一下,然后再加进去?我这从冥想术修改那里 看到的,但是我不太了解lua文件,不知道这些函数是不是通用,同时也不知道SplitSkill()咋用,有没有直接获取等级的函数等等等等,头大,所以算了。
2、有些技能我还不知道作用是啥,比如烟囱清扫者那些的运气值+XX,看属性是没有增加的,难道是增加有关于抗性判定的那个运气值?是这个嘛?:“每次“掷骰子”都有1-(30/(30+抗性+幸运修正值))的概率减少一定的伤害。”
3、控制台修改方法我也是从一个大佬帖子那里复制来的。具体先打开控制台,建立两个函数(ctrl+回车确认)
local function getNpcID(i)
for k,v in pairs(vars.NPCFollowers) do
if (k == i) then
return v
end
end
print("not found!")
return 0
end
function getNpcType(i)
local id = getNpcID(i)
if (id > 0) then
print("NPC ID:", id)
print(" type:", Game.NPC[id].Profession)
end
end
随后再用setNpcType(A, B)来改变随从的职业,A为从游戏里上往下的顺序,B为表格序号
下面就是表格:



IP属地:广西1楼2022-02-21 09:51回复
    支持,这个好呀


    IP属地:黑龙江4楼2022-03-27 00:54
    回复
      夜盗我记得是嘴上说着不花钱实际会抢你很多钱的


      IP属地:湖南来自Android客户端6楼2022-05-05 13:14
      回复
        请问医生类的,每天加满一次血是我需要的时候把他叫出来加,还是每天固定时间,还是NPC随机抽时间加?


        IP属地:广东8楼2024-02-25 12:31
        收起回复
          雇佣两个一样的会两个都起作用吗?


          IP属地:江苏来自Android客户端9楼2024-02-25 15:00
          收起回复
            医術大师相当於一次普渡眾生
            不过挺貴


            IP属地:中国台湾10楼2024-02-25 18:54
            回复