154 lines
4.9 KiB
Lua
154 lines
4.9 KiB
Lua
KuangBaoOBJ = Up_BaseClass:new()
|
|
|
|
|
|
KuangBaoOBJ._name = "KuangBaoOBJ"
|
|
|
|
-- NPCID
|
|
KuangBaoOBJ.id = { 2 }
|
|
|
|
for i, v in ipairs(KuangBaoOBJ.id or {}) do
|
|
Npc.clicknpcCfg[v] = KuangBaoOBJ
|
|
end
|
|
|
|
|
|
|
|
-- 配置文件
|
|
KuangBaoOBJ.cfg = {
|
|
xh = {
|
|
[1] = {
|
|
[1] = "元宝",
|
|
[2] = 100,
|
|
[3] = 0,
|
|
},
|
|
},
|
|
title = "狂暴之力",
|
|
skill = {
|
|
-- { "十步一杀", 3 },
|
|
{ "施毒术", 3 },
|
|
},
|
|
}
|
|
|
|
---* 加入上线同步数据
|
|
Player.sycCfg[KuangBaoOBJ._name] = KuangBaoOBJ.cfg
|
|
|
|
|
|
-- function KuangBaoOBJ:main(actor, ...)
|
|
-- local info = { ... }
|
|
-- local data = {}
|
|
-- data.cfg = self.cfg
|
|
-- Message:SubLink(actor, "KuangBaoOBJ_main", data)
|
|
-- end
|
|
|
|
|
|
function KuangBaoOBJ:up(actor)
|
|
if checktitle(actor, self.cfg.title) then
|
|
return Func.sendmsg9(actor, "你已经拥有:#251|" .. self.cfg.title .. "#215")
|
|
end
|
|
|
|
|
|
if Func.takeitmes(actor, self.cfg.xh, true, true) then
|
|
if self.cfg.skill then
|
|
for i, v in ipairs(self.cfg.skill) do
|
|
local skill_id = getskillindex(v[1])
|
|
addskill(actor, skill_id, v[2])
|
|
end
|
|
end
|
|
confertitle(actor, self.cfg.title, 0, true)
|
|
Func.sendmsg9(actor, "恭喜你成功开启:#251|" .. self.cfg.title .. "#215")
|
|
sendmsgnew(actor, 251, 0,
|
|
"<[" .. Player.getname(actor) .. "]/FCOLOR=70>开启了:<" .. self.cfg.title .. "/FCOLOR=215>!", 0, 2)
|
|
GameEvent.push(EventCfg.goKuangBao, actor)
|
|
end
|
|
end
|
|
|
|
KuangBaoOBJ.zujicfg = {
|
|
[1] = 20002,
|
|
[2] = 20003,
|
|
[3] = 20004,
|
|
}
|
|
|
|
---* 增加狂暴足迹
|
|
local function KuangBaoOBJ_zuji(actor)
|
|
LOGPrint("足迹进来了111")
|
|
end
|
|
|
|
|
|
|
|
local function kuagnbao_title(actor)
|
|
for i, v in ipairs(KuangBaoOBJ.zujicfg or {}) do
|
|
clearplayeffect(actor, v)
|
|
end
|
|
if checktitle(actor, "狂暴之力") then
|
|
seticon(actor, 1, 1, 50500, -65, 15, 0, 0, 0)
|
|
local _num = Player.getint(actor, VarCfg.Player.int["狂暴击杀人数"]) or 0
|
|
if _num > 0 then
|
|
playeffect(actor, KuangBaoOBJ.zujicfg[_num >= #KuangBaoOBJ.zujicfg and #KuangBaoOBJ.zujicfg or _num], 0, 0, 0,
|
|
1, 0)
|
|
end
|
|
end
|
|
end
|
|
|
|
GameEvent.add(EventCfg.onLoginEnd, kuagnbao_title, KuangBaoOBJ)
|
|
GameEvent.add(EventCfg.goKuangBao, kuagnbao_title, KuangBaoOBJ)
|
|
|
|
|
|
-------------------------------↓↓↓ 狂暴之力死亡处理 ↓↓↓---------------------------------------
|
|
|
|
local function die_kuangbao(actor, _player)
|
|
if castleinfo(5) then
|
|
return
|
|
end
|
|
|
|
|
|
if not checktitle(actor, "狂暴之力") then
|
|
return
|
|
end
|
|
|
|
if isplayer(_player) then
|
|
local _map = getbaseinfo(actor, ConstCfg.gbase.mapid)
|
|
_map = tonumber(_map) and tonumber(_map) or _map
|
|
|
|
if not MapCfg.dalumap[_map].kuangbao then
|
|
if checktitle(_player, "狂暴之力") then
|
|
LOGDump(_map)
|
|
seticon(_player, 1, -1)
|
|
deprivetitle(_player, "狂暴之力", true)
|
|
local _player_info = Player.getmapinfo(_player)
|
|
throwitem(_player, _player_info[1], _player_info[2], _player_info[3], 3, "10元宝", 5, 0, false, true, false,
|
|
false, 1)
|
|
|
|
sendcentermsg(_player, 0, 250, "你被人物【" .. Player.getname(actor) .. "】杀死了,你身上的狂暴之力消失!", 0, 2)
|
|
sendcentermsg(actor, 0, 250, "你成功杀死拥有狂暴之力的玩家【" .. Player.getname(_player) .. "】!", 0, 2)
|
|
Player.addint(actor, VarCfg.Player.int["狂暴击杀人数"], 1)
|
|
Player.setint(_player, VarCfg.Player.int["狂暴击杀人数"], 0)
|
|
-- LOGPrint("推送狂暴事件!!!")
|
|
GameEvent.push(EventCfg.goKuangBao, actor)
|
|
GameEvent.push(EventCfg.goKuangBao, _player)
|
|
-- LOGPrint("推送狂暴事件完成!!!")
|
|
else
|
|
local jingduo_num = Player.getint(actor, VarCfg.Player.TL.int["狂暴掠夺"])
|
|
if jingduo_num < 20 then
|
|
local _player_money = querymoney(_player, ConstCfg.sysMoney["金币"])
|
|
local take_money = math.floor((_player_money * (math.random(10, 20) / 100)))
|
|
if take_money > 0 then
|
|
Player.setint(actor, VarCfg.Player.TL.int["狂暴掠夺"], jingduo_num + 1)
|
|
changemoney(_player, ConstCfg.sysMoney["金币"], "-", take_money, "狂暴掠夺", true)
|
|
changemoney(actor, ConstCfg.sysMoney["金币"], "+", take_money, "狂暴掠夺", true)
|
|
sendcentermsg(_player, 0, 250,
|
|
"你被拥有狂暴之力的玩家【" .. Player.getname(actor) .. "】击杀并被掠夺对方金币:" .. take_money .. "!", 0, 2)
|
|
sendcentermsg(actor, 0, 250,
|
|
"你成功杀死未拥有狂暴之力的玩家【" .. Player.getname(_player) .. "】并掠夺对方金币:" .. take_money .. "!", 0, 2)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
GameEvent.add(EventCfg.onkillplay, die_kuangbao, KuangBaoOBJ)
|
|
|
|
|
|
|
|
|
|
KuangBaoOBJ.allowFunc = {"up"}
|
|
return KuangBaoOBJ
|