用ABLUA写一个查询指导账号信息的GM命令

1、首先创建LUA文件吧,就叫querycdkey.lua

2、创建一个querycdkey函数,代码如下:

function querycdkey(charaindex, data)
	--定义命令账号参数
	local cdkey = other.getString(data, " ", 1)
	--定义一个获取在线最大索引的变量
	local maxplayer = char.getPlayerMaxNum() - 1
	--从0开始循环到最大索引
	for i = 0, maxplayer do
		--检查索引是否存在
		if char.check(i) == 1 then
			--判断要查询的账号
			if char.getChar(i, "账号") == cdkey then
				--该账号的各种状态(可自行加入更多的信息识别等)
				char.TalkToCli(charaindex, -1, "离线状态:" .. char.getWorkInt(i, "离线"), "黄色")
				char.TalkToCli(charaindex, -1, "战斗状态:" .. char.getWorkInt(i, "战斗"), "黄色")
				char.TalkToCli(charaindex, -1, "FD编号:" .. char.getFd(i), "黄色")
				char.TalkToCli(charaindex, -1, "网卡地址:" .. net.getMac(char.getFd(i)), "黄色")
				char.TalkToCli(charaindex, -1, "IP地址:" .. net.getIP(char.getFd(i)), "黄色")
				char.TalkToCli(charaindex, -1, "人物索引:" .. i, "黄色")
				char.TalkToCli(charaindex, -1, "人物名字:" .. char.getChar(i, "名字"), "黄色")
				char.TalkToCli(charaindex, -1, "人物等级:" .. char.getInt(i, "等级"), "黄色")
				char.TalkToCli(charaindex, -1, "人物转数:" .. char.getInt(i, "转数"), "黄色")
				char.TalkToCli(charaindex, -1, "人物位置:" .. char.getInt(i, "地图号").."("..char.getInt(i, "坐标X")..","..char.getInt(i, "坐标Y")..")", "黄色")
				return
			end
		end
	end
	char.TalkToCli(charaindex, -1, "该账号不在线!", "红色")
end

3、最后加入到main主函数里注册一下

function main()
	magic.addLUAListFunction("查询信息", "querycdkey", "", 3, "[gm 查询信息 账号]")
end

然后放入到ablua/magic/文件夹里启动GMSV即可,然后就可以使用GM命令了。


作者:sa60

发表评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。