魔力宝贝

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz

[GA] liushui.lua--流水

[复制链接]
发表于 前天 02:14 | 显示全部楼层 |阅读模式
--金币物品id
R_ItemID = 88888;
R_buro = 1;
-- 注意,只能设置6个赠送比例,不能增加或者删除,如果不需要那么多,金额请填写9999999
-- 不需要的倍率可以写0
-- 下面是达到金额
R_ZV =
{
        [1] = 100;
        [2] = 300;
        [3] = 500;
        [4] = 1000;       
        [5] = 2000;
        [6] = 3000;
        [7] = 5000;
        [8] = 8000
};

-- 下面是设置赠送百分比,不支持小数点
R_ZV_S =
{
        [1] = 5;
        [2] = 8;
        [3] = 10;
        [4] = 12;       
        [5] = 15;
        [6] = 20;
        [7] = 25
};

--上面依次代表 充值100以上200以内,赠送5%,充值200以上,500以内,赠送10% 类推

Delegate.RegInit("R_Init");


function liushui_Init(index)
        return 1;
end

function initliushuinpc()
     if(liushuinpc == nil)then
                liushuinpc = NL.CreateNpc("lua/Module/liushui.lua", "liushui_Init");
                Char.SetData(liushuinpc,%对象_形象%,100454);
                Char.SetData(liushuinpc,%对象_原形%,100454);
                Char.SetData(liushuinpc,%对象_X%,20);
                Char.SetData(liushuinpc,%对象_Y%,15);
                Char.SetData(liushuinpc,%对象_地图%,462);
                Char.SetData(liushuinpc,%对象_方向%,6);
                Char.SetData(liushuinpc,%对象_原名%,"充值领取");
                NLG.UpChar(liushuinpc);
                Char.SetWindowTalkedEvent("lua/Module/liushui.lua","liushuiNPCWTalked",liushuinpc);
                Char.SetTalkedEvent("lua/Module/liushui.lua","liushuiNPCTalked", liushuinpc);
        end
end

function liushuiNPCTalked(_me,_tome)
        if(NLG.CanTalk(_me,_tome)==false)then
                return;
        end
       
        NLG.ShowWindowTalked(_tome,_me,%窗口_输入框%,%按钮_确定%,1,"\\n\\n您好,欢迎使用领取点券系统,请输入您支付宝流水号的后6位数字!");
        return;
       
       
end

function liushuiNPCWTalked(_me,_tome,_seqno,_select,_data)
        if(NLG.CanTalk(_me,_tome)==false)then
                return;
        end
        if(tonumber(_seqno)==1 and tonumber(_select)==%按钮_确定% and _data~="")then
                if(Char.ItemSlot(_tome) >= 18)then
                        NLG.SystemMessage(_tome,"[失败]为了避免您领取失败,请先空出道具栏三个位置以上的空格。");
                        return;                       
                end
                if(string.len(_data) ~= 6 or tonumber(_data) == nil or tonumber(_data) == 0)then
                        NLG.SystemMessage(_tome,"[失败]您输入的流水号后6位错误!");
                        return;
                end
                --NLG.SystemMessage(_tome,_data);
                local query = "SELECT * from `tbl_alipay` WHERE `autoid2`='".._data.."'";
                --NLG.SystemMessage(_tome,query);
                local mysql = SQL.Run(query);
                if(type(mysql)~="table")then
                        NLG.SystemMessage(_tome,"[失败]流水号不存在,或者已经充过值。");       
                        return;
                end
                local autoid1 = mysql["0_0"];
                --NLG.SystemMessage(_tome,autoid1);
                local jinbi = tonumber(mysql["0_1"]);
                local ischange = nil;
                ischange = tonumber(mysql["0_2"]);
                if(ischange == 1 or ischange == nil)then
                        NLG.SystemMessage(_tome,"[失败]流水号不存在,或者已经充过值。");       
                        return;
                end
                --local query1 = "UPDATE `tbl_user` SET cash= cash + "..jinbi.." WHERE `CdKey`='"..Char.GetData(_tome,%对象_账号%).."'";       
                --SQL.Run(query1);
                local query2 = "UPDATE `tbl_alipay` SET ischange= '1',cdkey = '"..Char.GetData(_tome,%对象_账号%).."' WHERE `autoid`='"..autoid1.."'";       
                SQL.Run(query2);
                if(jinbi >= tonumber(R_ZV[1]) and jinbi < tonumber(R_ZV[2]))then
                        jinbi = jinbi + math.floor(jinbi * (tonumber(R_ZV_S[1]) / 100));
                elseif(jinbi >= tonumber(R_ZV[2]) and jinbi < tonumber(R_ZV[3]))then
                        jinbi = jinbi + math.floor(jinbi * (tonumber(R_ZV_S[2]) / 100));
                elseif(jinbi >= tonumber(R_ZV[3]) and jinbi < tonumber(R_ZV[4]))then
                        jinbi = jinbi + math.floor(jinbi * (tonumber(R_ZV_S[3]) / 100));
                elseif(jinbi >= tonumber(R_ZV[4]) and jinbi < tonumber(R_ZV[5]))then
                        jinbi = jinbi + math.floor(jinbi * (tonumber(R_ZV_S[4]) / 100));
                elseif(jinbi >= tonumber(R_ZV[5]) and jinbi < tonumber(R_ZV[6]))then
                        jinbi = jinbi + math.floor(jinbi * (tonumber(R_ZV_S[5]) / 100));
                elseif(jinbi >= tonumber(R_ZV[6]) and jinbi < tonumber(R_ZV[7]))then
                        jinbi = jinbi + math.floor(jinbi * (tonumber(R_ZV_S[6]) / 100));
                elseif(jinbi >= tonumber(R_ZV[7]) and jinbi < tonumber(R_ZV[8]))then
                        jinbi = jinbi + math.floor(jinbi * (tonumber(R_ZV_S[7]) / 100));
                        Char.GiveItem(_tome,40852,1);
                end
                jinbi = jinbi * R_buro;
                Char.GiveItem(_tome,R_ItemID,jinbi);

                NLG.SystemMessage(_tome,"[成功]您充值数量为["..jinbi.."]已经到账!");                               
               
        end
       
end

function R_Init()
        initliushuinpc();
end

回复

使用道具 举报

Archiver|魔力研究社

GMT+8, 2025-5-12 18:46 , Processed in 0.096287 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表