cgmsv引擎论坛

 找回密码
 注册/Sign up
搜索
查看: 1955|回复: 10

抓宠技能【刀背攻击】

[复制链接]

Rank: 4

发表于 2022-5-29 01:11:47 | 显示全部楼层 |阅读模式
本帖最后由 xman 于 2022-5-29 01:14 编辑

注意以下为闲聊性质
需要一些理解才能自行完成LUA功能

tech.txt
刀背攻擊        TECH_EarthQuake        D1:50,D2:50,        8137                505        1        1        316        300000                100        1               

刀背攻击  节录
               if com3 == 8137  then
                 local defHpE = Char.GetData(defCharIndex,CONST.CHAR_血);
                 local defHpEM = Char.GetData(defCharIndex,CONST.CHAR_最大血);
                 print(defHpE)
                 print(damage)
                 if defHpE<=10  then
                         damage = damage*0;
                 else
                         damage = damage*0 + defHpE - 10;
                 end
                 --NLG.Say(charIndex,charIndex,"【刀背攻擊】!!",4,3);
                 return damage;
               end



补充内容 (2022-5-29 11:50):
有兴趣可参考这里
https://github.com/xmancheng/cgmsv-lua

补充内容 (2022-5-31 21:09):
ybNenSkill新增:宠物魔法伤害调整 (佣兵宠物也适用)
magicSkill新增:法术附加状态 (仅人物魔法适用)

Rank: 1

发表于 2022-5-29 14:16:29 | 显示全部楼层
v587,非常赞!感谢xman分享!

Rank: 4

 楼主| 发表于 2022-5-29 23:02:33 | 显示全部楼层
额外放送传统魔法30%机率中状态

陨石混乱
冰冻酒醉
火焰中毒
风刃睡眠

               if (com3 >= 1900 and com3 <= 1909) or (com3 >= 2300 and com3 <= 2309) or (com3 >= 2700 and com3 <= 2709)  then    --隕石魔法
                 if NLG.Rand(1,10)>=8  then
                        Char.SetData(defCharIndex, CONST.CHAR_BattleModConfusion, 2);
                 end
                 return damage;
               end
               if (com3 >= 2000 and com3 <= 2009) or (com3 >= 2400 and com3 <= 2409) or (com3 >= 2800 and com3 <= 2809)  then    --冰凍魔法
                 if NLG.Rand(1,10)>=8  then
                        Char.SetData(defCharIndex, CONST.CHAR_BattleModDrunk, 2);
                 end
                 return damage;
               end
               if (com3 >= 2100 and com3 <= 2109) or (com3 >= 2500 and com3 <= 2509) or (com3 >= 2900 and com3 <= 2909)  then    --火焰魔法
                 if NLG.Rand(1,10)>=8  then
                        Char.SetData(defCharIndex, CONST.CHAR_BattleModPoison, 2);
                 end
                 return damage;
               end
               if (com3 >= 2200 and com3 <= 2209) or (com3 >= 2600 and com3 <= 2609) or (com3 >= 3000 and com3 <= 3009)  then    --風刃魔法
                 if NLG.Rand(1,10)>=8  then
                        Char.SetData(defCharIndex, CONST.CHAR_BattleModSleep, 2);
                 end
                 return damage;
               end




补充内容 (2022-5-30 01:01):
额外研究增加:魔法突破伤害公式
单体=伤害 + 精神*0.5*等级/50 + (魔攻+职阶基础值)*0.5
强力=伤害 + 精神*0.25*等级/50 + (魔攻+职阶基础值)*0.25

补充内容 (2022-5-30 01:01):
超强=伤害 + 精神*0.125*等级/50 + (魔攻+职阶基础值)*0.125
职阶基础值: {200,310,340,370,400,430}

Rank: 1

发表于 2022-6-13 15:43:20 | 显示全部楼层
[ERROR][ModuleSystem]   load module failed.     name=   magicSkill      path=   lua/Modules/magicSkill.lua      forceReload=    nil
        lua/libs/Module/ModuleSystem.lua:41: lua/Modules/magicSkill.lua:86: unexpected symbol near '.'

大大我用了重置伤害的magicSkill.lua...加载的时候提示了这个...能不能指教下什么问题?

Rank: 4

 楼主| 发表于 2022-6-13 16:56:17 | 显示全部楼层
558872100 发表于 2022-6-13 15:43
[ERROR][ModuleSystem]   load module failed.     name=   magicSkill      path=   lua/Modules/magicSki ...

magicSkill.lua
在86列附近出现不合理的内容

复制的时候不小心多按键?

Rank: 1

发表于 2022-6-13 22:00:15 | 显示全部楼层
本帖最后由 558872100 于 2022-6-13 22:01 编辑

if Char.GetData(leader,%对象_队聊开关%) == 1  then   这是86列的代码.....我把关于"%对象_队聊开关%"这段代码注释掉就没再提示错误了...

然后战斗触发技能时没伤害修正效果,提示这错误..
[ERROR][magicSkill]     DamageCalculateEvent event callback error:      lua/Modules/magicSkill.lua:193: attempt to perform arithmetic on a nil value

Rank: 4

 楼主| 发表于 2022-6-13 22:22:26 | 显示全部楼层
558872100 发表于 2022-6-13 22:00
if Char.GetData(leader,%对象_队聊开关%) == 1  then   这是86列的代码.....我把关于"%对象_队聊开关%"这 ...

那列是local JobLv = Char.GetData(charIndex,CONST.CHAR_职阶)+1;
可能我测试的时候都是职阶0,所以没出现问题

看你要不要修改下面的法术伤害公式
有关这两个JobLv、JobLv_tbl[JobLv]的部分都删除掉
damage = damage * SpRate + Spirit * 0.5 * LvRate + (Mattack+JobLv_tbl[JobLv])*0.5;

Rank: 1

发表于 2022-6-14 15:50:44 | 显示全部楼层
好的.谢谢大大.这就去试试~~

Rank: 1

发表于 2022-6-14 21:18:58 | 显示全部楼层
好的.感谢大神分享

Rank: 1

发表于 2022-6-19 23:10:06 | 显示全部楼层
大佬 Git里下载了代码尝试了一下,OnDamageCalculateEvent函数的charIndex,和defCharIndex都是空的,输出查看也是空的,请问这是什么原因?
您需要登录后才可以回帖 登录 | 注册/Sign up

本版积分规则

手机版|cgmsv引擎论坛

GMT+8, 2024-5-19 09:49 , Processed in 0.139440 second(s), 8 queries , Gzip On, MemCached On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表