wuduz游戏站

 找回密码
 注册
搜索
无度传奇145z游戏站745v奇迹网
查看: 834|回复: 1
打印 上一主题 下一主题

[技术教程] GOM传奇服务端触发使对方减百分比血量BUFF特效

跳转到指定楼层
楼主
发表于 2024-6-19 14:32:19 |只看该作者 |倒序浏览
[@重击人物]
{
#or
checkitemw 天霜神剑 1
checkitemw 雷鸣神剑 1
checkitemw 春晖神剑 1
checkitemw 夏弦神剑 1
checkitemw 秋杀神剑 1
checkitemw 残冬神剑 1
#act
m.AddhpPer - 1


#or
checkitemw 昀霜「羽化」剑 1
checkitemw 灵虚「九霄」神剑 1
checkitemw 幻想|断仙|神剑 1
#act
m.AddhpPer - 2



#IF
CHECKCURRTARGETRACE = 0
CHECKITEMW 昀霜「羽化」靴 1
#Act
<$CURRRTARGETNAME>.HumanHP - 2000


#IF
CHECKCURRTARGETRACE = 0
CHECKITEMW 灵虚「九霄」神靴 1
#Act
<$CURRRTARGETNAME>.HumanHP - 3000


#IF
CHECKCURRTARGETRACE = 0
CHECKITEMW 幻想|断仙|神靴 1
#Act
<$CURRRTARGETNAME>.HumanHP - 4000


#IF
CHECKCURRTARGETRACE = 0
Random 50
CHECKITEMW 雷鸣神剑 1
#Act
<$CURRRTARGETNAME>.Div N$人物血量 <$HP> 100
<$CURRRTARGETNAME>.MUL N$人物血量 10
<$CURRRTARGETNAME>.HumanHP - <$STR(N$人物血量)>
SendCenterMsg 249 0 (重伤):您触发了『雷鸣神剑』·BUFF特效,将玩家『<$USERNAME>』生命减少百分之10! 0 3
<$CURRRTARGETNAME>.SendCenterMsg 249 0 对方的〖雷鸣神剑〗触发:使你的生命减少百分之10! 0 3

#IF
CHECKCURRTARGETRACE = 0
Random 50
CHECKITEMW 春晖神剑 1
#Act
<$CURRRTARGETNAME>.Div N$人物血量 <$HP> 100
<$CURRRTARGETNAME>.MUL N$人物血量 14
<$CURRRTARGETNAME>.HumanHP - <$STR(N$人物血量)>
SendCenterMsg 249 0 (重伤):您触发了『春晖神剑』·BUFF特效,将玩家『<$USERNAME>』生命减少百分之14! 0 3
<$CURRRTARGETNAME>.SendCenterMsg 249 0 对方的〖春晖神剑〗触发:使你的生命减少百分之14! 0 3

#IF
CHECKCURRTARGETRACE = 0
Random 50
CHECKITEMW 夏弦神剑 1
#Act
<$CURRRTARGETNAME>.Div N$人物血量 <$HP> 100
<$CURRRTARGETNAME>.MUL N$人物血量 18
<$CURRRTARGETNAME>.HumanHP - <$STR(N$人物血量)>
SendCenterMsg 249 0 (重伤):您触发了『夏弦神剑』·BUFF特效,将玩家『<$USERNAME>』生命减少百分之18! 0 3
<$CURRRTARGETNAME>.SendCenterMsg 249 0 对方的〖夏弦神剑〗触发:使你的生命减少百分之18! 0 3

#IF
CHECKCURRTARGETRACE = 0
Random 50
CHECKITEMW 秋杀神剑 1
#Act
<$CURRRTARGETNAME>.Div N$人物血量 <$HP> 100
<$CURRRTARGETNAME>.MUL N$人物血量 22
<$CURRRTARGETNAME>.HumanHP - <$STR(N$人物血量)>
SendCenterMsg 249 0 (重伤):您触发了『秋杀神剑』·BUFF特效,将玩家『<$USERNAME>』生命减少百分之22! 0 3
<$CURRRTARGETNAME>.SendCenterMsg 249 0 对方的〖秋杀神剑〗触发:使你的生命减少百分之22! 0 3

#IF
CHECKCURRTARGETRACE = 0
Random 50
CHECKITEMW 残冬神剑 1
#Act
<$CURRRTARGETNAME>.Div N$人物血量 <$HP> 100
<$CURRRTARGETNAME>.MUL N$人物血量 26
<$CURRRTARGETNAME>.HumanHP - <$STR(N$人物血量)>
SendCenterMsg 249 0 (重伤):您触发了『残冬神剑』·BUFF特效,将玩家『<$USERNAME>』生命减少百分之26! 0 3
<$CURRRTARGETNAME>.SendCenterMsg 249 0 对方的〖残冬神剑〗触发:使你的生命减少百分之26! 0 3

#IF
CHECKCURRTARGETRACE = 0
Random 50
CHECKITEMW 昀霜「羽化」剑 1
#Act
<$CURRRTARGETNAME>.Div N$人物血量 <$HP> 100
<$CURRRTARGETNAME>.MUL N$人物血量 30
<$CURRRTARGETNAME>.HumanHP - <$STR(N$人物血量)>
SendCenterMsg 249 0 (重伤):您触发了『昀霜「羽化」剑』·BUFF特效,将玩家『<$USERNAME>』生命减少百分之30! 0 3
<$CURRRTARGETNAME>.SendCenterMsg 249 0 对方的〖昀霜「羽化」剑〗触发:使你的生命减少百分之30! 0 3


#IF
CHECKCURRTARGETRACE = 0
Random 50
CHECKITEMW 灵虚「九霄」神剑 1
#Act
<$CURRRTARGETNAME>.Div N$人物血量 <$HP> 100
<$CURRRTARGETNAME>.MUL N$人物血量 35
<$CURRRTARGETNAME>.HumanHP - <$STR(N$人物血量)>
SendCenterMsg 249 0 (重伤):您触发了『灵虚「九霄」神剑』·BUFF特效,将玩家『<$USERNAME>』生命减少百分之35! 0 3
<$CURRRTARGETNAME>.SendCenterMsg 249 0 对方的〖灵虚「九霄」神剑〗触发:使你的生命减少百分之35! 0 3



#IF
CHECKCURRTARGETRACE = 0
Random 50
CHECKITEMW 幻想|断仙|神剑 1
#Act
<$CURRRTARGETNAME>.Div N$人物血量 <$HP> 100
<$CURRRTARGETNAME>.MUL N$人物血量 50
<$CURRRTARGETNAME>.HumanHP - <$STR(N$人物血量)>
SendCenterMsg 249 0 (重伤):您触发了『幻想|断仙|神剑』·BUFF特效,将玩家『<$USERNAME>』生命减少百分之50! 0 3
<$CURRRTARGETNAME>.SendCenterMsg 249 0 对方的〖幻想|断仙|神剑〗触发:使你的生命减少百分之50! 0

}

使用道具 举报

沙发
发表于 2024-6-19 18:36:30 |只看该作者
GOM传奇服务端触发使对方减百分比血量BUFF特效
问题:请编写GOM传奇服务端脚本,实现使用特定武器时触发BUFF特效,对对方造成固定百分比的生命值减少。

答案:

-- 定义变量
local target = currTarget
local itemList = {"天霜神剑", "雷鸣神剑", "春晖神剑", "夏弦神剑", "秋杀神剑", "残冬神剑", "昀霜「羽化」剑", "灵虚「九霄」神剑", "幻想|断仙|神剑"}

-- 检查是否有目标
if (target == nil) then
    return
end

-- 检查玩家是否持有特定武器
for i, itemName in ipairs(itemList) do
    if (checkItemW(itemName, 1)) then
        -- 触发BUFF特效
        if (random(1, 100) <= 50) then
            -- 扣除对方生命
            local reduceHP = math.floor(target.HumanHP * 0.01 * i)
            if (reduceHP > 0) then
                target.HumanHP = target.HumanHP - reduceHP
                sendCenterMsg(249, 0, "(重伤):您触发了'" .. itemName .. "'·BUFF特效,将玩家'" .. userName .. "'的生命减少百分之" .. i .. "!", 0, 3)
                target.SendCenterMsg(249, 0, "对方的[" .. itemName .. "]触发:使你的生命减少百分之" .. i .. "!", 0, 3)
            end
        end
        break
    end
end
Copy
以上代码实现了使用特定武器时触发BUFF特效,对对方造成固定百分比的生命值减少。具体实现方式如下:

定义一个变量target,用于存储当前目标。
定义一个武器表itemList,存储所有需要检查的武器名称。
检查玩家是否有目标,如果没有目标则返回。
遍历武器表,检查玩家是否持有当前武器。
如果玩家持有当前武器,则进行随机判断,判断是否触发BUFF特效。
如果触发BUFF特效,则计算对方需要扣除的生命值,并扣除对方的生命值。
最后向玩家和对方发送消息,提示BUFF特效触发并对方的生命减少。

使用道具 举报

手机版|sitemap|txt|wuduz游戏站

GMT+8, 2026-6-12 06:56

回顶部