源战役客户端
Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.
 
 
 
 
 

1015 linhas
38 KiB

require("game.proto.111.Require111")
require("game.luaState.LuaState")
require("game.cheat.CheatInputView")
require("game.cheat.CheatModel")
require("game.cheat.CheatCameraView")
require("game.cheat.CheatUICameraView")
require("game.cheat.CheatPropertyView")
require("game.cheat.CheatAccelerationView")
require("game.cheat.CheatBloomView")
require("game.cheat.CheatFXAAView")
require("game.cheat.CheatFreeCameraView")
require("game.cheat.CheatGreenScreenClickView")
require("game.cheat.CheatHideSelectRoleViewClickView")
CheatController = CheatController or BaseClass(BaseController)
CheatController.FUNC_BTNS = {
[1] = {name = "战士"},
[2] = {name = "女枪"},
[3] = {name = "刺客"},
[4] = {name = "主教"},
[5] = {name = "伙伴"},
[6] = {name = "特效"},
[7] = {name = "技能"},
[8] = {name = "切换场景"},
[9] = {name = "游戏状态"},
}
CheatController.SKILL_RES = {
[1] = "zs_effect",
[3] = "ck_effect",
[4] = "fs_effect",
}
SceneIdTest =
{
[0] = 1001,
[1] = 1002,
}
--场景测试资源
SceneTest =
{
ZhanShiRole = "101010100",
NvQiangRole = "101040100",
ChiKeRole = "101030100",
ZhuJiaoRole = "101050100",
HuoBanRole = "20300200",
HuoBanRWeapon = "model_weapon_r_2030020",
ZhanShiLWeapon = "model_weapon_l_102010100",
ZhanShiRWeapon = "model_weapon_r_102010100",
NvQiangLWeapon = "model_weapon_l_102040100",
NvQiangRWeapon = "model_weapon_r_102040100",
NvQiangBWeapon = "model_weapon_b_102040100",
CiKeRWeapon = "model_weapon_r_102030100",
CiKeLWeapon = "model_weapon_l_102030100",
ZhuJiaoRWeapon = "model_weapon_r_102050100",
}
CheatController.ZHANSHI_BTNS = {
[1] = {name = "带盾连击",action = {"attack","attack2","attack3","attack4","attack5"},dun = true},
[2] = {name = "不带盾连击",action = {"attack6","attack7","attack8","attack20"}},
[3] = {name = "冲撞不带盾",action = {"attack9","attack10","attack11"}},
[4] = {name = "冲撞带盾",action = {"attack12","attack13","attack14"},dun = true},
[5] = {name = "砸地",action = {"attack15"}},
[6] = {name = "反刺盾",action = {"attack16"}},
[7] = {name = "嘲讽",action = {"attack17"}},
[8] = {name = "跳跃带盾",action = {"jump","jump2","jump3"},dun = true},
[9] = {name = "跳跃不带盾",action = {"jump4","jump5","jump6"}},
[10] = {name = "战斗待机带盾",action = {"idle"},dun = true},
[11] = {name = "战斗待机没盾",action = {"idle2"}},
[12] = {name = "休闲带盾",action = {"casual"},dun = true},
[13] = {name = "跑带盾",action = {"run"},dun = true},
[14] = {name = "跑不带盾",action = {"run2"}},
[15] = {name = "受击带盾",action = {"hited"},dun = true},
[16] = {name = "受击不带盾",action = {"hited2"}},
[17] = {name = "走路带盾",action = {"walk"},dun = true},
[18] = {name = "死亡带盾",action = {"death"},dun = true},
[19] = {name = "死亡不带盾",action = {"death2"}},
[20] = {name = "眩晕带盾",action = {"dizzy"},dun = true},
[21] = {name = "眩晕不带盾",action = {"dizzy2"}},
[22] = {name = "倒地带盾",action = {"down"},dun = true},
[23] = {name = "倒地不带盾",action = {"down2"}},
[24] = {name = "起身带盾",action = {"rise"},dun = true},
[25] = {name = "起身不带盾",action = {"rise2"}},
[26] = {name = "打坐不带盾",action = {"sit4","sit5","sit6"}},
[27] = {name = "打坐带盾",action = {"sit","sit2","sit3"},dun = true},
[28] = {name = "休闲不带盾",action = {"casual2"}},
}
CheatController.CHANGE_SCENE_BTNS = {
[1] = {id = 1000,name = "小酒馆"},
[2] = {id = 1001,name = "罗赛岛"},
[3] = {id = 1002,name = "洛兰王国"},
[4] = {id = 1003,name = "珊瑚树海"},
[5] = {id = 1004,name = "暮雪平原"},
}
CheatController.ZHUJIAO_BTNS = {
[1] = {name = "待机",action = {"idle"}},
[2] = {name = "休闲",action = {"casual"}},
[3] = {name = "",action = {"run"}},
[4] = {name = "跳跃",action = {"jump","jump2","jump3"}},
[5] = {name = "受击",action = {"hited"}},
[16] = {name = "走路",action = {"walk"}},
[6] = {name = "死亡",action = {"death"}},
[7] = {name = "打坐",action = {"sit"},noweapon = true},
[8] = {name = "眩晕",action = {"dizzy"}},
[9] = {name = "倒地",action = {"down"}},
[10] = {name = "起身",action = {"rise"}},
[11] = {name = "连击",action = {"attack","attack2","attack3","attack4"}},
[12] = {name = "治愈法阵",action = {"attack5"}},
[13] = {name = "治愈",action = {"attack6"}},
[14] = {name = "火球术",action = {"attack7"}},
[15] = {name = "天堂审判",action = {"attack8"}},
}
CheatController.CHIKE_BTNS = {
[1] = {name = "待机",action = {"idle"},weapon = true},
[2] = {name = "休闲",action = {"casual"},weapon = true},
[3] = {name = "",action = {"run"},weapon = true},
[4] = {name = "跳跃",action = {"jump","jump2","jump3"},weapon = true},
[5] = {name = "受击",action = {"hited"},weapon = true},
[16] = {name = "走路",action = {"walk"}},
[6] = {name = "死亡",action = {"death"},weapon = true},
[7] = {name = "打坐",action = {"sit","sit2","sit3"}},
[8] = {name = "眩晕",action = {"dizzy"},weapon = true},
[9] = {name = "倒地",action = {"down"},weapon = true},
[10] = {name = "起身",action = {"rise"},weapon = true},
[11] = {name = "连击技能",action = {"attack","attack2","attack3","attack4","attack5","attack6"},weapon = true},
[12] = {name = "隐身技能",action = {"attack7"},weapon = true},
[13] = {name = "黑球缠绕技能",action = {"attack8"},weapon = true},
[14] = {name = "分身技能",action = {"attack9","attack10","attack11"},weapon = true},
[15] = {name = "飞镖",action = {"attack12"}},
}
CheatController.NVQIANG_BTNS = {
[1] = {name = "待机",action = {"idle"}},
[2] = {name = "",action = {"run"}},
[3] = {name = "跳跃",action = {"jump","jump2","jump3"}},
[4] = {name = "受击",action = {"hited"}},
[5] = {name = "走路",action = {"walk"}},
[6] = {name = "死亡",action = {"death"}},
[7] = {name = "打坐",action = {"sit","sit2","sit3"}},
[8] = {name = "眩晕",action = {"dizzy"}},
[9] = {name = "倒地",action = {"down"}},
[10] = {name = "起身",action = {"rise"}},
[11] = {name = "连击",action = {"attack","attack2","attack3","attack4","attack5"},pao = true},
[12] = {name = "朝天技能",action = {"attack6"},pao = true},
[13] = {name = "连射技能",action = {"attack7"}},
[14] = {name = "buff状态",action = {"attack8"}},
[15] = {name = "击退",action = {"attack9"},pao = true},
}
CheatController.HUOBAN_BTNS = {
[1] = {name = "待机",action = {"idle"}},
[2] = {name = "",action = {"run"}},
[3] = {name = "受击",action = {"hited"}},
[4] = {name = "走路",action = {"walk"}},
[5] = {name = "死亡",action = {"death"}},
[6] = {name = "眩晕",action = {"dizzy"}},
[7] = {name = "倒地",action = {"down"}},
[8] = {name = "起身",action = {"rise"}},
[9] = {name = "攻击",action = {"attack"}},
}
CheatController.SKILL_BTNS = {
[1] = {
[1] = {name = "冲撞不带盾",action = {"attack9","attack10","attack11"},effect = {1}},
[2] = {name = "冲撞带盾",action = {"attack12","attack13","attack14"},effect = {2},dun = true},
[3] = {name = "带盾连击",action = {"attack","attack2","attack3","attack4","attack5"},single_effect = true,effect = {{9},{10},{},{11},{12}},lweffect = {},dun = true},--lweffect 13
[4] = {name = "不带盾连击",action = {"attack6","attack7","attack8","attack20"},single_effect = true,effect = {{14,15},{16},{17,18}}},
[5] = {name = "砸地",action = {"attack15"},effect = {4,6},rweffect = {5}},
[6] = {name = "不带盾砸地",action = {"attack18"},effect = {4,3,6}},
[7] = {name = "反刺盾",action = {"attack16"},effect = {7}},
[8] = {name = "嘲讽",action = {"attack17"},effect = {8}},
},
[3] = {
[1] = {name = "连击技能",action = {"attack","attack2","attack3","attack4","attack5","attack6"},single_effect = true,effect = {{28},{29},{30,27},{31},{32}}},
[2] = {name = "隐身技能",action = {"attack7"},effect = {19}},
[3] = {name = "黑球缠绕技能",action = {"attack8"},effect = {20,21,22}},
[4] = {name = "分身技能",action = {"attack9","attack10","attack11"},effect = {23,24}},
[5] = {name = "飞镖",action = {"attack12"},effect = {25}},--26
},
[4] = {
[1] = {name = "连击",action = {"attack","attack2","attack3","attack4"},single_effect = true,effect = {{47,49},{50},{50},{46,48,52}}},
[2] = {name = "治愈法阵",action = {"attack5"},single_effect = true,effect = {{36,37}}},
[3] = {name = "治愈",action = {"attack6"},single_effect = true,effect = {{38,39}}},
[4] = {name = "火球术",action = {"attack7"},single_effect = true,effect = {{40,42}}},
[5] = {name = "天堂审判",action = {"attack8"},single_effect = true,effect = {{43,44,45}}},
}
}
CheatController.PARTICLE_RES =
{
[1] = "zs_effect_skill_jineng1_chongji_1",
[2] = "zs_effect_skill_jineng1_chongji_2",
[3] = "zs_effect_skill_jineng2_chentu",
[4] = "zs_effect_skill_jineng2_daoguang",
[5] = "zs_effect_skill_jineng2_xuanzhuanjian",
[6] = "zs_effect_skill_jineng2_zadibaozha",
[7] = "zs_effect_skill_jineng3_fanshang",
[8] = "zs_effect_skill_jineng4_chaofeng",
[9] = "zs_effect_skill_pugong1_daoguang1",
[10] = "zs_effect_skill_pugong1_daoguang2",
[11] = "zs_effect_skill_pugong1_daoguang3",
[12] = "zs_effect_skill_pugong1_dunpaiguang",
[13] = "zs_effect_skill_pugong1_xuanzhuandun",
[14] = "zs_effect_skill_pugong2_chentu",
[15] = "zs_effect_skill_pugong2_daoguang1",
[16] = "zs_effect_skill_pugong2_daoguang2",
[17] = "zs_effect_skill_pugong2_daoguang3",
[18] = "zs_effect_skill_pugong2_zadibaozha",
[19] = "ck_effect_skill_jineng1_buff",
[20] = "ck_effect_skill_jineng2_buff1",
[21] = "ck_effect_skill_jineng2_buff2",
[22] = "ck_effect_skill_jineng2_fly_qiu",
[23] = "ck_effect_skill_jineng3_gongjixian",
[24] = "ck_effect_skill_jineng3_quanquan",
[25] = "ck_effect_skill_jineng4_buff",
[26] = "ck_effect_skill_jineng4_feibiao",
[27] = "ck_effect_skill_pugong1_chentu",
[28] = "ck_effect_skill_pugong1_daoguang1",
[29] = "ck_effect_skill_pugong1_daoguang2",
[30] = "ck_effect_skill_pugong1_daoguang3",
[31] = "ck_effect_skill_pugong1_daoguang4",
[32] = "ck_effect_skill_pugong1_daoguang5",
[33] = "ck_effect_skill_shouji1",
[34] = "ck_effect_skill_shouji2",
[35] = "ck_effect_skill_shouji3",
[36] = "fs_effect_skill_jineng1_buff",
[37] = "fs_effect_skill_jineng1_fazhen1",
[38] = "fs_effect_skill_jineng2_jiaxue",
[39] = "fs_effect_skill_jineng2_shengguang",
[40] = "fs_effect_skill_jineng3_guangqiu",
[41] = "fs_effect_skill_jineng3_quanquan",
[42] = "fs_effect_skill_jineng3_shoujiguang",
[43] = "fs_effect_skill_jineng4_buff",
[44] = "fs_effect_skill_jineng4_dimianquan",
[45] = "fs_effect_skill_jineng4_shandian",
[46] = "fs_effect_skill_pugong_chentu",
[47] = "fs_effect_skill_pugong_dandao1",
[48] = "fs_effect_skill_pugong_dandao2",
[49] = "fs_effect_skill_pugong_shoujiguang1",
[50] = "fs_effect_skill_pugong_shoujiguang2",
[51] = "fs_effect_skill_pugong_shoujiguang3",
[52] = "fs_effect_skill_pugong_shoujiguang4",
[53] = "fs_effect_skill_shoujiguang",
}
CheatController.PARTICLE_BTNS = {
[1] = {
[1] = {name = "jn1_chongji_1",ps = 1},
[2] = {name = "jn1_chongji_2",ps = 2},
[3] = {name = "jn2_chentu",ps = 3},
[4] = {name = "jn2_daoguang",ps = 4},
[5] = {name = "jn2_xuanzhuanjian",ps = 5},
[6] = {name = "jn2_zadibaozha",ps = 6},
[7] = {name = "jn3_fanshang",ps = 7},
[8] = {name = "jn4_chaofeng",ps = 8},
[9] = {name = "pg1_daoguang1",ps = 9},
[10] = {name = "pg1_daoguang2",ps = 10},
[11] = {name = "pg1_daoguang3",ps = 11},
[12] = {name = "pg1_dunpaiguang",ps = 12},
[13] = {name = "pg1_xuanzhuandun",ps = 13},
[14] = {name = "pg2_chentu",ps = 14},
[15] = {name = "pg2_daoguang1",ps = 15},
[16] = {name = "pg2_daoguang2",ps = 16},
[17] = {name = "pg2_daoguang3",ps = 17},
[18] = {name = "pg2_zadibaozha",ps = 18},
},
[3] = {
[1] = {name = "jineng1_buff",ps = 19},
[2] = {name = "jineng2_buff1",ps = 20},
[3] = {name = "jineng2_buff2",ps = 21},
[4] = {name = "jineng2_fly_qiu",ps = 22},
[5] = {name = "jineng3_gongjixian",ps = 23},
[6] = {name = "jineng3_quanquan",ps = 24},
[7] = {name = "jineng4_buff",ps = 25},
[8] = {name = "jineng4_feibiao",ps = 26},
[9] = {name = "pugong1_chentu",ps = 27},
[10] = {name = "pugong1_daoguang1",ps =28},
[11] = {name = "pugong1_daoguang2",ps = 29},
[12] = {name = "pugong1_daoguang3",ps = 30},
[13] = {name = "pugong1_daoguang4",ps = 31},
[14] = {name = "pugong1_daoguang5",ps = 32},
[15] = {name = "shouji1",ps = 33},
[16] = {name = "shouji2",ps = 34},
[17] = {name = "shouji3",ps = 35},
},
[4] = {
[1] = {name = "jineng1_buff",ps = 36},
[2] = {name = "jineng1_fazhen1",ps = 37},
[3] = {name = "jineng2_jiaxue",ps = 38},
[4] = {name = "jineng2_shengguang",ps = 39},
[5] = {name = "jineng3_guangqiu",ps = 40},
[6] = {name = "jineng3_quanquan",ps = 41},
[7] = {name = "jineng3_shoujiguang",ps = 42},
[8] = {name = "jineng4_buff",ps = 43},
[9] = {name = "jineng4_dimianquan",ps = 44},
[10] = {name = "jineng4_shandian",ps = 45},
[11] = {name = "pugong_chentu",ps = 46},
[12] = {name = "pugong_dandao1",ps = 47},
[13] = {name = "pugong_dandao2",ps = 48},
[14] = {name = "pugong_shoujiguang1",ps = 49},
[15] = {name = "pugong_shoujiguang2",ps = 50},
[16] = {name = "pugong_shoujiguang3",ps = 51},
[17] = {name = "pugong_shoujiguang4",ps = 52},
[18] = {name = "shoujiguang",ps = 53},
}
}
CheatController.ShowView = {
-- ["show_view_1"] = {command = "show_view_1",command_name = "打开副本",args_list = {},openModel = "BaseDungeonModel", openEvent = BaseDungeonModel.OPEN_HALL_VIEW,parm = {}},
-- ["show_view_2"] = {command = "show_view_2",command_name = "打开神殿",args_list = {},openModel = "GlobalEventSystem", openEvent = EventName.OPEN_GUILD_GOVERN_VIEW,parm = {true}},
-- ["show_view_3"] = {command = "show_view_3",command_name = "打开世界服",args_list = {},openModel = "GlobalEventSystem", openEvent = EventName.OPEN_WORLD_VIEW,parm = {}},
-- ["show_view_4"] = {command = "show_view_4",command_name = "打开VIP",args_list = {},openModel = "GlobalEventSystem", openEvent = EventName.OPEN_VIP_VIEW,parm = {1}},
-- ["show_view_5"] = {command = "show_view_5",command_name = "打开首冲",args_list = {},openModel = "RechargeActivityModel", openEvent = RechargeActivityModel.OPEN_FIRST_RECHARGE_VIEW,parm = {}},
-- ["show_view_6"] = {command = "show_view_6",command_name = "打开寻宝",args_list = {},openModel = "GlobalEventSystem", openEvent = EventName.OPEN_TREASUREHUNT_VIEW,parm = {}},
-- -- ["show_view_7"] = {command = "show_view_7",command_name = "打开祈愿",args_list = {},openModel = "GlobalEventSystem", openEvent = EventName.OPEN_PRAY_VIEW,parm = {}},
-- ["show_view_8"] = {command = "show_view_8",command_name = "打开婚姻",args_list = {},openModel = "GlobalEventSystem", openEvent = EventName.OPEN_MARRIAGE_VIEW,parm = {}},
-- ["show_view_9"] = {command = "show_view_9",command_name = "打开幻兽",args_list = {},openModel = "GlobalEventSystem", openEvent = EventName.OPEN_BEAST_VIEW,parm = {}},
-- ["show_view_10"] = {command = "show_view_10",command_name = "打开星图",args_list = {},openModel = "GlobalEventSystem", openEvent = EventName.OPEN_STAR_MAP_VIEW,parm = {}},
-- ["show_view_11"] = {command = "show_view_11",command_name = "打开角色",args_list = {},openModel = "GlobalEventSystem", openEvent = EventName.OPEN_MAIN_ROLE_VIEW,parm = {}},
-- ["show_view_12"] = {command = "show_view_12",command_name = "打开魂珠",args_list = {},openModel = "GlobalEventSystem", openEvent = EventName.OPEN_RUNE_BASE_VIEW,parm = {}},
-- ["show_view_14"] = {command = "show_view_14",command_name = "打开神器",args_list = {},openModel = "GlobalEventSystem", openEvent = EventName.OPEN_ARTIFACT_VIEW,parm = {}},
-- ["show_view_15"] = {command = "show_view_15",command_name = "打开精灵",args_list = {},openModel = "GlobalEventSystem", openEvent = EventName.OPEN_PET_VIEW,parm = {1}},
-- ["show_view_16"] = {command = "show_view_16",command_name = "荣耀战神",args_list = {},openModel = "GlobalEventSystem", openEvent = EventName.OPEN_HONOUR_VIEW,parm = {true}},
}
function CheatController:__init()
CheatController.Instance = self
self.btn_list = {}
self.child_btn_list = {}
self.is_pop = false
self.model_index = 1
self.model = CheatModel:getInstance()
self:RegisterAllProtocals()
self:InitView()
self:InitEvent()
self.scene_index = 0
end
--[[
* 注册socket
*
]]
function CheatController:RegisterAllProtocals()
self:RegisterProtocal(11100, "handler11100")--秘籍列表
self:RegisterProtocal(11101, "handler11101")--执行秘籍
self:RegisterProtocal(11105, "handler11105")--后台触发客户端信息
end
function CheatController:InitView()
local function onClickMainBtn()
self.is_pop = not self.is_pop
if IsTableEmpty(self.btn_list) then
self:CreateBtns()
end
if self.is_pop then
local len = #self.btn_list
local item = nil
for i = 1,len do
item = self.btn_list[i]
item:SetActive(true)
end
else
local len = #self.btn_list
local item = nil
for i = 1,len do
item = self.btn_list[i]
item:SetActive(false)
end
len = #self.child_btn_list
for i = 1,len do
item = self.child_btn_list[i]
item:SetActive(false)
end
end
end
GlobalEventSystem:Bind(EventName.SHOW_CHEAT,onClickMainBtn)
local function onOpenLuaStateView()
if self.LuaState == nil then
self.LuaState = LuaState.New()
end
if self.LuaState:HasOpen() then
self.LuaState:Close()
else
self.LuaState:Open()
end
end
if ClientConfig.plat_name == "mrzj_develop" then
-- onOpenLuaStateView()
end
GlobalEventSystem:Bind(EventName.OPEN_LUA_STATE_VIEW,onOpenLuaStateView)
end
function CheatController:CreateBtns()
local function onClickBtnHandler(target)
for i,v in ipairs(self.child_btn_list) do
panelMgr:DestroyGameObject(v)
end
self.child_btn_list = {}
if self.last_index then
self.btn_list[self.last_index].transform:GetComponent("Image").color = Color(0.208, 1, 0.451, 1)
end
Scene.Instance:GetMainRole():SetType(SceneBaseType.MainRole)
local change_btn_state = true
local index = tonumber(target.name)
if index == 1 then
self:TestZhanShi(index)
elseif index == 2 then
self:TestNvQiang(index)
elseif index == 6 then
local func = function(target)
self:TestEffect(target)
end
local ps_btn = CheatController.PARTICLE_BTNS[self.model_index]
if ps_btn then
self:TestFunc(ps_btn,func)
end
elseif index == 7 then
local func = function(target)
self:TestSkill(target)
end
local skill_btn = CheatController.SKILL_BTNS[self.model_index]
if skill_btn then
self:TestFunc(skill_btn,func)
end
elseif index == 8 then
local func = function(target)
local index = tonumber(target.name)
local scene_info = CheatController.CHANGE_SCENE_BTNS[index]
if scene_info.id ~= SceneManager.Instance:GetSceneId() then
GlobalEventSystem:Fire(SceneEventType.REQUEST_CHANGE_SCENE, scene_info.id)
end
end
self:TestFunc(CheatController.CHANGE_SCENE_BTNS,func)
elseif index == 9 then
if self.LuaState == nil then
self.LuaState = LuaState.New()
end
if self.LuaState:HasOpen() then
self.LuaState:Close()
else
self.LuaState:Open()
end
elseif index == 3 then
self:TestChiKe(index)
elseif index == 4 then
self:TestZhuJiao(index)
elseif index == 5 then
Scene.Instance:GetMainRole():SetType(SceneBaseType.Partner)
self:TestHuoBan(index)
end
self.last_index = index
if change_btn_state then
self.btn_list[index].transform:GetComponent("Image").color = Color(0.208, 0.31, 0.451, 1)
end
end
local len = 0--#CheatController.FUNC_BTNS
local vo = nil
local btn = nil
for i = 1,len do
vo = CheatController.FUNC_BTNS[i]
btn = UiFactory.createChild(panelMgr:GetParent("Top"),UIType.SmallButton1,i)
btn.transform.localPosition = Vector3((i - 1) * 150 - ScreenWidth/3 - 100,ScreenHeight - 400,0)
btn.transform:Find("Text"):GetComponent("Text").text = vo.name
btn.transform:GetComponent("Image").color = Color(0.208, 1, 0.451, 1)
AddClickEvent(btn,onClickBtnHandler)
table.insert(self.btn_list,btn)
end
end
function CheatController:TestFunc(data,callback)
local vo = nil
local btn = nil
local len = #data
for i=1,len do
local addx = 0
local addy = 0
local add = (i - 0.001)/13
if add > 1 then
addy = addy + 650*math.floor(add)
addx = math.floor(add) * 180
end
local x = - ScreenWidth/2 + 100 + addx
local y = ScreenHeight - (i - 1) * 50 - 450 + addy
vo = data[i]
btn = UiFactory.createChild(panelMgr:GetParent("Top"),UIType.SmallButton2,i)
btn.transform.localPosition = Vector3(x,y,0)
btn.transform:Find("Text"):GetComponent("Text").text = vo.name
AddClickEvent(btn,callback)
table.insert(self.child_btn_list,btn)
end
local _play_action = function()
Scene.Instance:GetMainRole():RemoveAttackAllWeapon()
end
GlobalTimerQuest:AddDelayQuest(_play_action,0.0001)
end
function CheatController:TestSkill(target)
local index = tonumber(target.name)
local skill_info = CheatController.SKILL_BTNS[self.model_index][index]
self:PlayAction(skill_info)
Scene.Instance:GetMainRole():RemoveAttackAllWeapon()
if self.model_index == 1 then
if skill_info.dun then
Scene.Instance:GetMainRole():AttackWeapon(SceneTest.ZhanShiLWeapon,AttachNode.LHand,Vector3(0,0,180))
end
Scene.Instance:GetMainRole():AttackWeapon(SceneTest.ZhanShiRWeapon,AttachNode.RHand)
elseif self.model_index == 3 then
end
if not skill_info.single_effect then
if skill_info.effect then
for index,particle_index in pairs(skill_info.effect) do
local func = function()
end
local function call_back_func()
end
ParticleManager:getInstance():AddTargetEffect( CheatController.PARTICLE_RES[particle_index], Scene.Instance:GetMainRole().compress_id, false, nil, nil, nil,call_back_func,nil,1)
end
end
local func = function()
end
if skill_info.lweffect then
for index,particle_index in pairs(skill_info.lweffect) do
Scene.Instance:GetMainRole():AttachWeaponParticle(CheatController.PARTICLE_RES[particle_index],AttachNode.LHand,func,CheatController.SKILL_RES[self.model_index])
end
end
if skill_info.rweffect then
for index,particle_index in pairs(skill_info.rweffect) do
Scene.Instance:GetMainRole():AttachWeaponParticle(CheatController.PARTICLE_RES[particle_index],AttachNode.RHand,func,CheatController.SKILL_RES[self.model_index])
end
end
end
end
function CheatController:TestEffect(target)
local index = tonumber(target.name)
local effect_info = CheatController.PARTICLE_BTNS[self.model_index][index]
local func = function( obj )
self.effect_obj = obj
end
ParticleManager:getInstance():AddTargetEffect( CheatController.PARTICLE_RES[effect_info.ps], Scene.Instance:GetMainRole().compress_id)
end
function CheatController:TestHuoBan(index)
if self.model_index ~= 5 then
Scene.Instance:GetMainRole():UpdateModel(SceneTest.HuoBanRole)
end
self.model_index = index
local func = function(target)
Scene.Instance:GetMainRole():RemoveAttackAllWeapon()
local index = tonumber(target.name)
local action_info = CheatController.HUOBAN_BTNS[index]
self:PlayAction(action_info)
if action_info.weapon then
Scene.Instance:GetMainRole():AttackWeapon(SceneTest.HuoBanRWeapon,AttachNode.RHand)
end
end
self:TestFunc(CheatController.HUOBAN_BTNS,func)
end
function CheatController:TestZhuJiao(index)
if self.model_index ~= 4 then
Scene.Instance:GetMainRole():UpdateModel(SceneTest.ZhuJiaoRole)
Scene.Instance:GetMainRole():AttackWeapon(SceneTest.ZhuJiaoRWeapon,AttachNode.RHand)
Scene.Instance:SetCurTestRole(SceneTest.ZhuJiaoRole)
end
self.model_index = index
local func = function(target)
Scene.Instance:GetMainRole():RemoveAttackAllWeapon()
local index = tonumber(target.name)
local action_info = CheatController.ZHUJIAO_BTNS[index]
self:PlayAction(action_info)
if not action_info.noweapon then
Scene.Instance:GetMainRole():AttackWeapon(SceneTest.ZhuJiaoRWeapon,AttachNode.RHand)
end
end
self:TestFunc(CheatController.ZHUJIAO_BTNS,func)
end
function CheatController:TestChiKe(index)
if self.model_index ~= 3 then
Scene.Instance:GetMainRole():UpdateModel(SceneTest.ChiKeRole)
Scene.Instance:GetMainRole():AttackWeapon(SceneTest.CiKeRWeapon,AttachNode.RHand)
Scene.Instance:GetMainRole():AttackWeapon(SceneTest.CiKeLWeapon,AttachNode.LHand)
Scene.Instance:SetCurTestRole(SceneTest.ChiKeRole)
end
self.model_index = index
local func = function(target)
Scene.Instance:GetMainRole():RemoveAttackAllWeapon()
local index = tonumber(target.name)
local action_info = CheatController.CHIKE_BTNS[index]
self:PlayAction(action_info)
if action_info.weapon then
Scene.Instance:GetMainRole():AttackWeapon(SceneTest.CiKeRWeapon,AttachNode.RHand)
Scene.Instance:GetMainRole():AttackWeapon(SceneTest.CiKeLWeapon,AttachNode.LHand)
end
end
self:TestFunc(CheatController.CHIKE_BTNS,func)
end
function CheatController:TestZhanShi(index)
if self.model_index ~= 1 then
Scene.Instance:SetCurTestRole(SceneTest.ZhanShiRole)
Scene.Instance:GetMainRole():UpdateModel(SceneTest.ZhanShiRole)
end
self.model_index = index
local func = function(target)
Scene.Instance:GetMainRole():RemoveAttackAllWeapon()
local index = tonumber(target.name)
local action_info = CheatController.ZHANSHI_BTNS[index]
self:PlayAction(action_info)
if action_info.dun then
Scene.Instance:GetMainRole():AttackWeapon(SceneTest.ZhanShiLWeapon,AttachNode.LHand)
end
Scene.Instance:GetMainRole():AttackWeapon(SceneTest.ZhanShiRWeapon,AttachNode.RHand)
end
self:TestFunc(CheatController.ZHANSHI_BTNS,func)
end
function CheatController:TestNvQiang(index)
local add_def_weapon = function()
Scene.Instance:GetMainRole():AttackWeapon(SceneTest.NvQiangLWeapon,AttachNode.LHand)
Scene.Instance:GetMainRole():AttackWeapon(SceneTest.NvQiangRWeapon,AttachNode.RHand)
end
if self.model_index ~= 2 then
Scene.Instance:SetCurTestRole(SceneTest.NvQiangRole)
Scene.Instance:GetMainRole():UpdateModel(SceneTest.NvQiangRole)
end
self.model_index = index
local func = function(target)
Scene.Instance:GetMainRole():RemoveAttackAllWeapon()
local index = tonumber(target.name)
local action_info = CheatController.NVQIANG_BTNS[index]
self:PlayAction(action_info)
if action_info.pao then
Scene.Instance:GetMainRole():AttackWeapon(SceneTest.NvQiangBWeapon,AttachNode.BHand)
end
add_def_weapon()
end
self:TestFunc(CheatController.NVQIANG_BTNS,func)
end
function CheatController:PlayAction(action_info)
local to_idle = function()
Scene.Instance:GetMainRole():PlayAction("idle")
end
local play_action
local action_index = 1
play_action = function()
Scene.Instance:GetMainRole():PlayAction(action_info.action[action_index])
if action_info.single_effect then
local effets = action_info.effect[action_index]
if effets and #effets > 0 then
local call_back_func = function()
end
for i,particle_index in ipairs(effets) do
ParticleManager:getInstance():AddTargetEffect(CheatController.PARTICLE_RES[particle_index], Scene.Instance:GetMainRole().compress_id, false, nil, nil, nil,call_back_func,nil,1)
end
end
end
local _play_action = function()
local last_time = Scene.Instance:GetMainRole():GetCurActionTime()
if #action_info.action > action_index then
action_index = action_index + 1
GlobalTimerQuest:AddDelayQuest(play_action,last_time)
else
GlobalTimerQuest:AddDelayQuest(to_idle,last_time)
end
end
GlobalTimerQuest:AddDelayQuest(_play_action,0.001)
end
play_action()
end
function CheatController:InitEvent()
local game_start = function ()
self:SendFmtToGame(11100)
end
GlobalEventSystem:Bind(EventName.GAME_START, game_start)
GlobalEventSystem:Bind(EventName.REQUEST_MIJI_DATA, game_start)
local open_input_view = function ()
if not PlatformMgr:getInstance():IsInternalPalt() then
Message.show("no Internal Palt")
return
end
-- self.model:SetCheatsData()
if self.cheatInputView == nil then
self.cheatInputView = CheatInputView.New()
end
if self.cheatInputView:HasOpen() then
self.cheatInputView:Close()
else
self.cheatInputView:Open()
end
end
GlobalEventSystem:Bind(EventName.OPEN_CHEAT_INPUT_VIEW, open_input_view)
local open_client_view = function ()
end
GlobalEventSystem:Bind(EventName.OPEN_CHEAT_CLIENT_VIEW, open_client_view)
local send_cheat = function(text)
if text then
self:SendFmtToGame(11101, "s", text)
end
end
self.model:Bind(CheatModel.SEND_CHEAT_TO_SERVER, send_cheat)
local open_show_view = function (key)
local cfg = CheatController.ShowView[key]
if not cfg then
return
end
--兼容用Model发事件的同学
if string.find(cfg.openModel,"Model",-5,true) then
local instance = _G[cfg.openModel].Instance
instance._class_type.Fire(instance,cfg.openEvent,unpack(cfg.parm))
else
_G[cfg.openModel]:Fire(cfg.openEvent,unpack(cfg.parm))
end
end
self.model:Bind(CheatModel.OPEN_CHEAT_SHOW_VIEW, open_show_view)
local function on_camera_view( )
if not self.camera_edit_view then
self.camera_edit_view = CheatCameraView.New()
end
self.camera_edit_view:Open()
end
self.model:Bind(CheatModel.OPEN_CAMERA_EDIt_VIEW, on_camera_view)
local function on_ui_camera_view( )
if not self.ui_camera_edit_view then
self.ui_camera_edit_view = CheatUICameraView.New()
end
self.ui_camera_edit_view:Open()
end
self.model:Bind(CheatModel.OPEN_UI_CAMERA_EDIT_VIEW, on_ui_camera_view)
local function on_bloom_view( )
if not self.bloom_edit_view then
self.bloom_edit_view = CheatBloomView.New()
end
self.bloom_edit_view:Open()
end
self.model:Bind(CheatModel.OPEN_BLOOM_EDIt_VIEW, on_bloom_view)
local function on_property_view( )
if not self.property_view then
self.property_view = CheatPropertyView.New()
end
self.property_view:Open()
end
self.model:Bind(CheatModel.OPEN_CLIENT_PROPERTY_VIEW, on_property_view)
local function on_acceleration_view( )
if not self.acceleration_view then
self.acceleration_view = CheatAccelerationView.New()
end
self.acceleration_view:Open()
end
self.model:Bind(CheatModel.OPEN_CLIENT_ACCELERATION_VIEW, on_acceleration_view)
local function QuickRunCode( code_str )
if not code_str then return end
-- 范例local str = "@RunCode:local a = BossModel:GetInstance().world_boss_status; Message.show(a)"
code_str = string.gsub(code_str,"@RunCode:","")
code_str = string.gsub(code_str,"RunCode:","")
if pcall(loadstring(code_str)) then
print('执行成功')
else
print('执行失败')
end
end
self.model:Bind(CheatModel.Quick_Run_Code, QuickRunCode)
local function open_fxaa_test_view(show)
self:OpenView("CheatFXAAView", show)
end
self.model:Bind(CheatModel.OPEN_FXAA_TEST_VIEW, open_fxaa_test_view)
local function open_free_camera_view(show)
self:OpenView("CheatFreeCameraView", show)
end
self.model:Bind(CheatModel.OPEN_FREE_CAMERA_VIEW, open_free_camera_view)
local function open_green_screen_click_view(show, green_click_size)
if show then
if not self.CheatGreenScreenClickView then
self.CheatGreenScreenClickView = CheatGreenScreenClickView.New()
end
if not self.CheatGreenScreenClickView:HasOpen() then
self.CheatGreenScreenClickView:Open(green_click_size)
else
self.CheatGreenScreenClickView:ReOpen(green_click_size)
end
else
if self.CheatGreenScreenClickView then
self.CheatGreenScreenClickView:Close()
end
end
-- self:OpenView("CheatGreenScreenClickView", show, green_click_size)
end
self.model:Bind(CheatModel.OPEN_GREEN_SCREEN_CLICK_VIEW, open_green_screen_click_view)
local function open_selectRoleView_show_click_view(show, click_callback)
self:OpenView("CheatHideSelectRoleViewClickView", show, click_callback)
end
self.model:Bind(CheatModel.OPEN_SELECTROLEVIEW_SHOW_CLICK_VIEW, open_selectRoleView_show_click_view)
end
function CheatController:handler11100()
local vo = SCMD11100.New(true)
if not IsTableEmpty(vo.command_list) then
PlatformMgr.is_internal_palt = true
end
local data = {command = "pt_61001_[1002]", command_name = "切1002", args_list = {}}
table.insert(vo.command_list, 1, data)
data = {command = "perform", command_name = "perform", args_list = {}}
table.insert(vo.command_list, 1, data)
data = {command = "framecount_50", command_name = "设置帧数", args_list = {}}
table.insert(vo.command_list, 2, data)
data = {command = "auto_upgrade", command_name = "自动提升", args_list = {}}
table.insert(vo.command_list, 3, data)
data = {command = "open_story_id_index_0", command_name = "打开剧情", args_list = {}}
table.insert(vo.command_list, 4, data)
data = {command = "search_goods_物品名字", command_name = "查询物品ID", args_list = {}}
table.insert(vo.command_list, 1, data)
data = {command = "camera_edit", command_name = "摄像机参数", args_list = {}}
table.insert(vo.command_list, data)
data = {command = "Position", command_name = "Position", args_list = {}}
table.insert(vo.command_list, 1, data)
data = {command = "client_property", command_name = "属性预览", args_list = {}}
table.insert(vo.command_list, 1, data)
-- data = {command = "client_gyro", command_name = "gyro测试", args_list = {}}
-- table.insert(vo.command_list, 1, data)
data = {command = "open_fun_10030", command_name = "功能开放测试", args_list = {}}
table.insert(vo.command_list, 1, data)
data = {command = "RunCode:", command_name = "代码执行", args_list = {}}
table.insert(vo.command_list, 1, data)
data = {command = "TVB_100", command_name = "跑马弹幕测试", args_list = {}}
table.insert(vo.command_list, 1, data)
data = {command = "change_bloom", command_name = "摄像机泛光参数", args_list = {}}
table.insert(vo.command_list, 1, data)
data = {command = "ui_camera_edit", command_name = "摄像机UI模型参数", args_list = {}}
table.insert(vo.command_list, 1, data)
data = {command = "ban_auto_connect", command_name = "禁止自动重连", args_list = {}}
table.insert(vo.command_list, data)
data = {command = "use_model_render", command_name = "模型UI挂载", args_list = {}}
table.insert(vo.command_list, data)
data = {command = "fxaa_edit", command_name = "FXAA调试", args_list = {}}
table.insert(vo.command_list, data)
data = {command = "free_camera", command_name = "全自由相机", args_list = {}}
table.insert(vo.command_list, data)
data = {command = "enablegs", command_name = "启用绿屏", args_list = {}}
table.insert(vo.command_list, data)
data = {command = "hide_ui", command_name = "隐藏主界面", args_list = {}}
table.insert(vo.command_list, data)
data = {command = "show_ui", command_name = "显示主界面", args_list = {}}
table.insert(vo.command_list, data)
data = {command = "jipsaw", command_name = "拼图游戏", args_list = {}}
table.insert(vo.command_list, data)
data = {command = "play_story_", command_name = "播放剧情", args_list = {}}
table.insert(vo.command_list, data)
data = {command = "guaguale", command_name = "刮刮乐", args_list = {}}
table.insert(vo.command_list, data)
for index,data in pairs(CheatController.ShowView) do
table.insert(vo.command_list,#vo.command_list + 1,data)
end
data = {command = "load_base_scene", command_name = "加载基础场景", args_list = {}}
table.insert(vo.command_list, data)
self.model:SetCheatsData(vo)
end
function CheatController:handler11101()
end
function CheatController:handler11105()
local scmd = SCMD11105.New(true)
local str = string.format("当前主界面隐藏情况 %d",lua_viewM.main_cancas_last_visible and 1 or 2)
str = str .. "\n"
local view_path = "root/Canvas/"
local go = GameObject.Find(view_path)
str = str..string.format("root/Canvas active情况 %d,position.x = %s,position.y = %s,,position.z = %s",go.activeSelf and 1 or 2,go.transform.localPosition.x,go.transform.localPosition.y,go.transform.localPosition.z)
str = str .. "\n"
local node = panelMgr:GetParent("UI")
str = str..string.format("UI_ROOT active情况 %d,anchoredPosition.x = %s,anchoredPosition.y = %s,position.x = %s,position.y = %s,,position.z = %s",node.gameObject.activeSelf and 1 or 2,node.anchoredPosition.x,node.anchoredPosition.y,node.localPosition.x,node.localPosition.y,node.localPosition.z)
str = str .. "\n"
for i = 0, node.childCount-1 do
local child = node:GetChild(i).gameObject
str = str ..string.format("UI 子节点 name = %s,隐藏情况 = %d,anchoredPosition.x = %s,anchoredPosition.y = %s,position.x = %s,position.y = %s,,position.z = %s",child.name,child.activeSelf and 1 or 2,
child.transform.anchoredPosition.x,child.transform.anchoredPosition.y,child.transform.localPosition.x,child.transform.localPosition.y,child.transform.localPosition.z)
str = str .. "\n"
end
local node = panelMgr:GetParent("Activity")
str = str..string.format("Activity_ROOT active情况 %d,anchoredPosition.x = %s,anchoredPosition.y = %s,position.x = %s,position.y = %s,,position.z = %s",node.gameObject.activeSelf and 1 or 2,node.anchoredPosition.x,node.anchoredPosition.y,node.localPosition.x,node.localPosition.y,node.localPosition.z)
str = str .. "\n"
for i = 0, node.childCount-1 do
local child = node:GetChild(i).gameObject
str = str ..string.format("Activity 子节点 name = %s,隐藏情况 = %d,anchoredPosition.x = %s,anchoredPosition.y = %s,position.x = %s,position.y = %s,,position.z = %s",child.name,child.activeSelf and 1 or 2,
child.transform.anchoredPosition.x,child.transform.anchoredPosition.y,child.transform.localPosition.x,child.transform.localPosition.y,child.transform.localPosition.z)
str = str .. "\n"
end
local node = panelMgr:GetParent("Top")
str = str..string.format("Top_ROOT active情况 %d,anchoredPosition.x = %s,anchoredPosition.y = %s,position.x = %s,position.y = %s,,position.z = %s",node.gameObject.activeSelf and 1 or 2,node.anchoredPosition.x,node.anchoredPosition.y,node.localPosition.x,node.localPosition.y,node.localPosition.z)
str = str .. "\n"
for i = 0, node.childCount-1 do
local child = node:GetChild(i).gameObject
if not string.find(child.name,"miniMessage") then
str = str ..string.format("Top 子节点 name = %s,隐藏情况 = %d,anchoredPosition.x = %s,anchoredPosition.y = %s,position.x = %s,position.y = %s,,position.z = %s",child.name,child.activeSelf and 1 or 2,
child.transform.anchoredPosition.x,child.transform.anchoredPosition.y,child.transform.localPosition.x,child.transform.localPosition.y,child.transform.localPosition.z)
str = str .. "\n"
end
end
str = str .. string.format("main_canvas_hideView_list = \n")
for view,_ in pairs(lua_viewM.main_canvas_hideView_list) do
str = str .. view.layout_file .. "\n"
end
print("str = ",str)
GameError.Instance:SendErrorToPHP("当前界面隐藏情况 = "..str)
end