Commit 300ee7a14590ccee7d9a32428ec551680868a0fe
1 parent
b58b5b49
一键升级
Showing
1 changed file
with
83 additions
and
8 deletions
Show diff stats
src/actions/GmAction.lua
| ... | ... | @@ -19,6 +19,65 @@ function _M.testhotfix(role, pms) |
| 19 | 19 | return csvdb["itemCsv"][1]["name"] .. " -=- " .. csvdb["itemCsv"][2]["name"] .. " -=- " .. role:getItemCount(123) .. " -=- " .. table.pack(next(role.heros))[2]:getBattleValue() |
| 20 | 20 | end |
| 21 | 21 | |
| 22 | +function _M.ignoreout(role, params) | |
| 23 | + params = params or {} | |
| 24 | + local status = tonum(params.pm1, 1) | |
| 25 | + if status == 1 then -- 忽视 | |
| 26 | + role:updateProperty({field = "ignoreMt", value = 1}) | |
| 27 | + else -- 解除 | |
| 28 | + role:updateProperty({field = "ignoreMt", value = 0}) | |
| 29 | + end | |
| 30 | + return "指令生效" | |
| 31 | +end | |
| 32 | + | |
| 33 | +function _M.ban(role, pms) | |
| 34 | + local now = skynet.timex() | |
| 35 | + local time = tonum(pms.pm1, 1) | |
| 36 | + local ctype = tonum(pms.pm2, 0) | |
| 37 | + | |
| 38 | + local isBan = role:getProperty("banTime") <= now | |
| 39 | + role:setBan(time, ctype) | |
| 40 | + if time > 0 then | |
| 41 | + role:sendGmMsg("server_accountBanned_1") | |
| 42 | + local agent = datacenter.get("agent", role:getProperty("id")) | |
| 43 | + if agent then | |
| 44 | + skynet.timeout(50, function () | |
| 45 | + skynet.call(agent.gate_serv, "lua", "forcekick", agent.fd) | |
| 46 | + end) | |
| 47 | + end | |
| 48 | + end | |
| 49 | + return isBan and "解封杀成功" or "封杀成功" | |
| 50 | +end | |
| 51 | + | |
| 52 | +function _M.unban(role, pms) | |
| 53 | + role:setBan(0, 0) | |
| 54 | + return "解封杀成功" | |
| 55 | +end | |
| 56 | + | |
| 57 | +function _M.gmmsg(role, pms) | |
| 58 | + role:sendGmMsg(pms.pm1, true) | |
| 59 | + | |
| 60 | + local agent = datacenter.get("agent", role:getProperty("id")) | |
| 61 | + if agent then | |
| 62 | + skynet.timeout(50, function () | |
| 63 | + skynet.call(agent.gate_serv, "lua", "forcekick", agent.fd) | |
| 64 | + end) | |
| 65 | + end | |
| 66 | + | |
| 67 | + return "指令成功" | |
| 68 | +end | |
| 69 | + | |
| 70 | +function _M.silent(role, pms) | |
| 71 | + local pm1 = tonum(pms.pm1) | |
| 72 | + if pm1 < 1 then | |
| 73 | + role:updateProperty({field = "silent", value = 0}) | |
| 74 | + return "解禁言成功" | |
| 75 | + end | |
| 76 | + role:updateProperty({field = "silent", value = specTime({hour = 0}, skynet.timex()) + pm1 * 86400}) | |
| 77 | + return "禁言成功" | |
| 78 | +end | |
| 79 | + | |
| 80 | + | |
| 22 | 81 | local helpDes = {{"描述", "指令", "参数1", "参数2" ,"参数3"}} |
| 23 | 82 | |
| 24 | 83 | table.insert(helpDes, {"获得角色" , "hero", "角色类型"}) |
| ... | ... | @@ -34,11 +93,17 @@ table.insert(helpDes, {"角色升级" , "herol", "角色类型", "增加等级"} |
| 34 | 93 | function _M.herol(role, pms) |
| 35 | 94 | local heroType = tonum(pms.pm1) |
| 36 | 95 | local addLevel = tonum(pms.pm2) |
| 37 | - local hero = role.heros[heroType] | |
| 38 | - if not hero or (hero:getProperty("breakL") >= #csvdb["unit_breakCsv"] and hero:getProperty("level") >= hero:getMaxLevel()) then | |
| 39 | - return "失败" | |
| 96 | + local hero = role:isHaveHero(heroType) | |
| 97 | + | |
| 98 | + local MaxLv = 200 | |
| 99 | + | |
| 100 | + if not hero then | |
| 101 | + return "不存在的英雄类型" | |
| 102 | + end | |
| 103 | + if hero:getProperty("breakL") >= #csvdb["unit_breakCsv"] and hero:getProperty("level") >= MaxLv then | |
| 104 | + return "等级已满" | |
| 40 | 105 | end |
| 41 | - local nextLevel = math.min(addLevel + hero:getProperty("level"), 200) | |
| 106 | + local nextLevel = math.min(addLevel + hero:getProperty("level"), MaxLv) | |
| 42 | 107 | for i = 0, 10 do |
| 43 | 108 | local upLimit = csvdb["unit_breakCsv"][i].levelLimit |
| 44 | 109 | local lowLimit = csvdb["unit_breakCsv"][i - 1] and csvdb["unit_breakCsv"][i - 1].levelLimit or 0 |
| ... | ... | @@ -55,6 +120,17 @@ function _M.herol(role, pms) |
| 55 | 120 | return "成功" |
| 56 | 121 | end |
| 57 | 122 | |
| 123 | + | |
| 124 | +table.insert(helpDes, {"全部角色升级" , "herola", "增加等级"}) | |
| 125 | +function _M.herola(role, pms) | |
| 126 | + local addLevel = tonum(pms.pm1) | |
| 127 | + for _, hero in pairs(role.heros) do | |
| 128 | + _M.herol(role, {pm1 = hero:getProperty("type"), pm2 = addLevel}) | |
| 129 | + end | |
| 130 | + return "成功" | |
| 131 | +end | |
| 132 | + | |
| 133 | + | |
| 58 | 134 | table.insert(helpDes, {"获得装备" , "equip", "装备类型" , "装备等级", "装备个数"}) |
| 59 | 135 | function _M.equip(role, pms) |
| 60 | 136 | local typ = tonum(pms.pm1) |
| ... | ... | @@ -282,11 +358,10 @@ function _M.advt(role, pms) |
| 282 | 358 | return "成功" |
| 283 | 359 | end |
| 284 | 360 | |
| 285 | -table.insert(helpDes, {"冒险队等级增加", "advl", "通关次数"}) | |
| 361 | +table.insert(helpDes, {"冒险队等级增加", "advl", "经验"}) | |
| 286 | 362 | function _M.advl(role, pms) |
| 287 | - local winCount = tonum(pms.pm1) | |
| 288 | - winCount = math.max(0, winCount) | |
| 289 | - role:checkAdvLvByAddWin(winCount) | |
| 363 | + local exp = tonum(pms.pm1) | |
| 364 | + role:addAdvLvExp(math.max(0, exp)) | |
| 290 | 365 | return "成功" |
| 291 | 366 | end |
| 292 | 367 | ... | ... |