用ABLUA写一个增加货币的GM命令 - 神奇石器发布网
石器时代发布网 - 神奇石器旗下石器私服技术交流网 - 业务联系QQ:420004208

用ABLUA写一个增加货币的GM命令

  • 内容
  • 相关

石器里用LUA来写增加货币的GM命令非常方便,虽说老的GM命令里也有,但用LUA来写却可以增加各种货币,就不需要在服务端源码里添加了。

代码如下:


function addpoint(charaindex, data)
	--货币类型,对应pointname里的货币名称
	local type = other.getString(data, " ", 1)
	--增加的货币数额
	local value = other.atoi(other.getString(data, " ", 2))
	--增加货币的账号
	local cdkey = other.getString(data, " ", 3)
	--当不填写账号的时候是给自己增加
	if cdkey == "" then
		if type == pointname[1] then
			char.setInt(charaindex, pointname[1], char.getInt(charaindex, pointname[1]) + value)
			char.Updata(charaindex, pointname[1])
			char.TalkToCli(charaindex, -1, "成功添加"..pointname[1]..":["..value.."],当前拥有"..pointname[1]..":["..char.getInt(charaindex, pointname[1]).."]", "黄色")
		elseif type == pointname[2] then
		    char.setInt(charaindex, pointname[2], char.getInt(charaindex, pointname[2]) + value)
			char.TalkToCli(charaindex, -1, "成功添加"..pointname[2]..":["..value.."],当前拥有"..pointname[2]..":["..char.getInt(charaindex, pointname[2]).."]", "黄色")
		elseif type == pointname[3] then
		    char.setInt(charaindex, pointname[3], char.getInt(charaindex, pointname[3]) + value)
			char.TalkToCli(charaindex, -1, "成功添加"..pointname[3]..":["..value.."],当前拥有"..pointname[3]..":["..char.getInt(charaindex, pointname[3]).."]", "黄色")
		elseif type == pointname[4] then
		    sasql.setVipPoint(charaindex, sasql.getVipPoint(charaindex) + value)
			char.TalkToCli(charaindex, -1, "成功添加"..pointname[4]..":["..value.."],当前拥有"..pointname[4]..":["..sasql.getVipPoint(charaindex).."]", "黄色")
		elseif type == pointname[5] then
			sasql.setPayPoint(charaindex, sasql.getPayPoint(charaindex) + value)
			char.TalkToCli(charaindex, -1, "成功添加"..pointname[5]..":["..value.."],当前拥有"..pointname[5]..":["..sasql.getPayPoint(charaindex).."]", "黄色")
		end
	else
	    --如果填写了账号则搜索在线玩家
		for i=0, char.getPlayerMaxNum() - 1 do
			if char.check(i) == 1 then
				--在线玩家有匹配所输入的账号时
				if char.getChar(i, "账号") == cdkey then
		            if type == pointname[1] then
			            char.setInt(i, pointname[1], char.getInt(i, pointname[1]) + value)
						char.Updata(i, pointname[1])
			            char.TalkToCli(charaindex, -1, "成功给["..char.getChar(i, "名字").."]添加"..pointname[1]..":["..value.."],当前该账号拥有"..pointname[1]..":["..char.getInt(i, pointname[1]).."]", "黄色")
						char.TalkToCli(i, -1, "GM[" .. char.getChar(charaindex, "名字") .. "]给你添加"..pointname[1]..":["..value.."],当前拥有"..pointname[1]..":["..char.getInt(i, pointname[1]).."]", "青色")
		            elseif type == pointname[2] then
			            char.setInt(i, pointname[2], char.getInt(i, pointname[2]) + value)
			            char.TalkToCli(charaindex, -1, "成功给["..char.getChar(i, "名字").."]添加"..pointname[2]..":["..value.."],当前该账号拥有"..pointname[2]..":["..char.getInt(i, pointname[2]).."]", "黄色")
						char.TalkToCli(i, -1, "GM[" .. char.getChar(charaindex, "名字") .. "]给你添加"..pointname[2]..":["..value.."],当前拥有"..pointname[2]..":["..char.getInt(i, pointname[2]).."]", "青色")
		            elseif type == pointname[3] then
			            char.setInt(i, pointname[3], char.getInt(i, pointname[3]) + value)
			            char.TalkToCli(charaindex, -1, "成功给["..char.getChar(i, "名字").."]添加"..pointname[3]..":["..value.."],当前该账号拥有"..pointname[3]..":["..char.getInt(i, pointname[3]).."]", "黄色")
						char.TalkToCli(i, -1, "GM[" .. char.getChar(charaindex, "名字") .. "]给你添加"..pointname[3]..":["..value.."],当前拥有"..pointname[3]..":["..char.getInt(i, pointname[3]).."]", "青色")
		            elseif type == pointname[4] then
			            sasql.setVipPoint(i, sasql.getVipPoint(i) + value)
			            char.TalkToCli(charaindex, -1, "成功给["..char.getChar(i, "名字").."]添加"..pointname[4]..":["..value.."],当前该账号拥有"..pointname[4]..":["..sasql.getVipPoint(i).."]", "黄色")
						char.TalkToCli(i, -1, "GM[" .. char.getChar(charaindex, "名字") .. "]给你添加"..pointname[4]..":["..value.."],当前拥有"..pointname[4]..":["..sasql.getVipPoint(i).."]", "青色")
		            elseif type == pointname[5] then
			            sasql.setPayPoint(i, sasql.getPayPoint(i) + value)
			            char.TalkToCli(charaindex, -1, "成功给["..char.getChar(i, "名字").."]添加"..pointname[5]..":["..value.."],当前该账号拥有"..pointname[5]..":["..sasql.getPayPoint(i).."]", "黄色")
						char.TalkToCli(i, -1, "GM[" .. char.getChar(charaindex, "名字") .. "]给你添加"..pointname[5]..":["..value.."],当前拥有"..pointname[5]..":["..sasql.getPayPoint(i).."]", "青色")
		            end
					return
				end
			end
		end
		char.TalkToCli(charaindex, -1, "抱歉,无法找到该玩家", "黄色")
	end
end

function data()
	--货币名称,其中会员点和充值积分为SQL货币
	pointname = {"石币", "声望", "活力", "会员点", "充值积分"}
end

function main()
	data()
	magic.addLUAListFunction("货币", "addpoint", "", 3, "[gm 货币 类型 数额 账号]")
end

用法:[gm 货币 石币/声望/活力/会员点/充值积分 数额 账号]


如果需要增加新的货币,按照顺序对应的增加即可。

版权声明:若无特殊注明,本文皆为《sa60》原创,转载请保留文章出处。

本文链接:用ABLUA写一个增加货币的GM命令 - https://www.sa60.com/post-289.html

本文标签:

用ABLUA写一个增加货币的GM命令