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,6 +19,65 @@ function _M.testhotfix(role, pms) | ||
19 | return csvdb["itemCsv"][1]["name"] .. " -=- " .. csvdb["itemCsv"][2]["name"] .. " -=- " .. role:getItemCount(123) .. " -=- " .. table.pack(next(role.heros))[2]:getBattleValue() | 19 | return csvdb["itemCsv"][1]["name"] .. " -=- " .. csvdb["itemCsv"][2]["name"] .. " -=- " .. role:getItemCount(123) .. " -=- " .. table.pack(next(role.heros))[2]:getBattleValue() |
20 | end | 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 | local helpDes = {{"描述", "指令", "参数1", "参数2" ,"参数3"}} | 81 | local helpDes = {{"描述", "指令", "参数1", "参数2" ,"参数3"}} |
23 | 82 | ||
24 | table.insert(helpDes, {"获得角色" , "hero", "角色类型"}) | 83 | table.insert(helpDes, {"获得角色" , "hero", "角色类型"}) |
@@ -34,11 +93,17 @@ table.insert(helpDes, {"角色升级" , "herol", "角色类型", "增加等级"} | @@ -34,11 +93,17 @@ table.insert(helpDes, {"角色升级" , "herol", "角色类型", "增加等级"} | ||
34 | function _M.herol(role, pms) | 93 | function _M.herol(role, pms) |
35 | local heroType = tonum(pms.pm1) | 94 | local heroType = tonum(pms.pm1) |
36 | local addLevel = tonum(pms.pm2) | 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 | end | 105 | end |
41 | - local nextLevel = math.min(addLevel + hero:getProperty("level"), 200) | 106 | + local nextLevel = math.min(addLevel + hero:getProperty("level"), MaxLv) |
42 | for i = 0, 10 do | 107 | for i = 0, 10 do |
43 | local upLimit = csvdb["unit_breakCsv"][i].levelLimit | 108 | local upLimit = csvdb["unit_breakCsv"][i].levelLimit |
44 | local lowLimit = csvdb["unit_breakCsv"][i - 1] and csvdb["unit_breakCsv"][i - 1].levelLimit or 0 | 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,6 +120,17 @@ function _M.herol(role, pms) | ||
55 | return "成功" | 120 | return "成功" |
56 | end | 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 | table.insert(helpDes, {"获得装备" , "equip", "装备类型" , "装备等级", "装备个数"}) | 134 | table.insert(helpDes, {"获得装备" , "equip", "装备类型" , "装备等级", "装备个数"}) |
59 | function _M.equip(role, pms) | 135 | function _M.equip(role, pms) |
60 | local typ = tonum(pms.pm1) | 136 | local typ = tonum(pms.pm1) |
@@ -282,11 +358,10 @@ function _M.advt(role, pms) | @@ -282,11 +358,10 @@ function _M.advt(role, pms) | ||
282 | return "成功" | 358 | return "成功" |
283 | end | 359 | end |
284 | 360 | ||
285 | -table.insert(helpDes, {"冒险队等级增加", "advl", "通关次数"}) | 361 | +table.insert(helpDes, {"冒险队等级增加", "advl", "经验"}) |
286 | function _M.advl(role, pms) | 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 | return "成功" | 365 | return "成功" |
291 | end | 366 | end |
292 | 367 |