Discuz! Board

 找回密码
 立即注册
服务器名 开服时间 版本简介 版本类型 经验倍率 游戏线路 客服QQ 更多资料
霸气魔力 新开 千人在线,经典3.7仿官方、原汁原味、平稳稳定、特色任务极多 纯仿官方 游戏查看 双线 游戏查看 打开主页
霸气魔力 新开 千人在线,经典3.7仿官方、原汁原味、平稳稳定、特色任务极多 纯仿官方 游戏查看 双线 游戏查看 打开主页
盼望魔力 新开 千人在线、微变版本,特色任务极多,七年品牌保证 轻松不变态 10倍 双线 群125566802 打开主页
盼望魔力 新开 千人在线、微变版本,特色任务极多,七年品牌保证 轻松不变态 10倍 双线 群125566802 打开主页
妖城魔力3.7轻松区 新开 千人在线,经典3.7版本,特色任务极多,七年品牌保证 轻松不变态 5倍 双线 群125566802 打开主页
飘舞魔力3.7轻松区 即将新开 满级160、千人在线,微变版本,特色任务极多,白嫖一切 微变版本 5倍 双线 群818620782 打开主页
飘舞魔力3.7轻松区 即将新开 满级160、千人在线,微变版本,特色任务极多,白嫖一切 微变版本 5倍 双线 群818620782 打开主页
品味3.7怀旧 即将新开 满级130、千人在线,经典3.7版本,特色任务极多,白嫖一切 3.7怀旧> 游戏查看 双线 群775475882 打开主页
品味3.7怀旧 即将新开 满级130、千人在线,经典3.7版本,特色任务极多,白嫖一切 3.7怀旧> 游戏查看 双线 群775475882 打开主页
搜索
热搜: 活动 交友 discuz
查看: 759|回复: 0

【分享】---【LUA】代金卡领取

[复制链接]

8

主题

8

帖子

56

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
56
发表于 2024-12-8 21:49:39 | 显示全部楼层 |阅读模式
Global_Reg.RegInit("Pay_Init");
Global_Reg.RegTalkEvent("DiyPayTalkEvent");
--------------------------------------------设置-----------------------------------
--                 【【【基础NPC设置】】】
------------------------------------------------------------------------------
local NpcName = "代金卡提取"                        --Npc名称(同时也是脚本名称)
local NpcMapPos = {0, 1000, 244, 92}                --Npc地图坐标
local NpcImage = 14205                                        --Npc图档104561
local NpcDir = 6                                                        --Npc方向(0为左上,顺时针转)
--                 【【【其他设置】】】
local PayItemID = 661011; --给予物品的ID'物品最好设置可叠加,对比率是1:1
--------------------是否允许聊天窗口输入特定字符呼出对话框
local IsDiy = {"1","MakeLove"};--0为关闭该功能--1为开启,内容为喊话时候的特定语句
--------------------是否充值到商城
local Shop_On = 0  --0为给道具,1为充值到商城点数
-----------------------充值返利
local _isRate = 1;--充值返利开关,若设置成0,即无返利
local _jkRate = {
        {2000,0.2},
        {1000,0.15},
        {500,0.1},
        {100,0.05}
}
--返利格式:默认按满100以上返5%,满500以上返10%,满1000以上返15%,满2000以上返20%
--修改格式,比如上面的{100,0.05},意思就是满100元返0.05,即5%,可以无限制添加,必须从大到小排列


--------------------------------------------结束--------------------------------------
local liushuinpc;
function DiyPayTalkEvent( _PlayerIndex, _msg, _color, _range, _size)
        if(IsDiy[1] =="1" and _msg == "P|"..IsDiy[2])then
                PayChangerTalked(liushuinpc,_PlayerIndex);
                return -1;
        end
end


function DBinit()
        return true;
end
function Pay_Init()
                liushuinpc =  NL.CreateNpc(nil, "DBinit");
                Char.SetData(liushuinpc,%对象_形象%,tonumber(NpcImage));
                Char.SetData(liushuinpc,%对象_原形%,tonumber(NpcImage));
                Char.SetData(liushuinpc,%对象_X%,tonumber(NpcMapPos[3]));--22
                Char.SetData(liushuinpc,%对象_Y%,tonumber(NpcMapPos[4]));--4
                Char.SetData(liushuinpc,%对象_地图%,tonumber(NpcMapPos[2]));--1548
                Char.SetData(liushuinpc,%对象_地图类型%,tonumber(NpcMapPos[1]));--1548
                Char.SetData(liushuinpc,%对象_方向%,tonumber(NpcDir));
                Char.SetData(liushuinpc,%对象_原名%,NpcName);
                NLG.UpChar(liushuinpc);
                InstallNpc("liushuinpc",liushuinpc);
                Char.SetWindowTalkedEvent(nil,"PayChangerWTalked",liushuinpc);
                Char.SetTalkedEvent(nil,"PayChangerTalked", liushuinpc);
end
function PayChangerTalked(_MeIndex,_PlayerIndex)
        local str_caller = "5\n         ◆领取点券◆" ..
                "\n\n 您好,欢迎使用支付宝充值领取系统,请选择需要的服务!" ..
                "\n" ..
                "\n" ..
                "\n            领取点数" ..
                "\n          查询累积充值" ..
                "\n";
        NLG.ShowWindowTalked(_PlayerIndex,%窗口_选择框%,%按钮_关闭%,1,str_caller,_MeIndex);
        --
        return;
        
end
function PayChangerWTalked(_MeIndex,_PlayerIndex,_seqno,_select,_data)
        if(_select == 2)then
                return;
        end
        if(_data == "" or _data == nil)then
                NLG.ShowWindowTalked(_PlayerIndex,%窗口_信息框%,%按钮_确定%,0,"\\n\\n您的流水号并未输入",-1);
                return;
        end
        local Cdkey =  Char.GetData(_PlayerIndex, %对象_账号%);
        if(_seqno == 1 and _select ==0 and tonumber(_data) == 2)then
                NLG.ShowWindowTalked(_PlayerIndex,%窗口_输入框%,3,100,"\\n\\n您好,欢迎使用支付宝领取系统,请输入您支付宝流水号的后6位数字或者全部流水号!",_MeIndex);
        end
        if(_seqno == 1 and _select ==0 and tonumber(_data) == 3)then
                local query = "SELECT sum(`count`) FROM `tbl_alipay` WHERE `cdkey`='"..Cdkey.."'";
                local mysql = SQL.Run(query);
                local NumMax = 0;
                local LjGold = mysql["0_0"] or 0
                NLG.ShowWindowTalked(_PlayerIndex,%窗口_信息框%,%按钮_确定%,0,"\\n\\n您好,您的充值累积为:"..LjGold,-1);
        end
        if(_seqno == 100 and _select ==1)then
                if(Char.ItemSlot(_PlayerIndex) == 20)then
                        NLG.ShowWindowTalked(_PlayerIndex,%窗口_信息框%,%按钮_确定%,0,"为了避免您领取失败,请先空出道具栏一个位置以上的空格。",-1);
                        return;                        
                end
                -- or
               
                if(tonumber(_data) == nil or tonumber(_data) <= 0)then
                        NLG.ShowWindowTalked(_PlayerIndex,%窗口_信息框%,%按钮_确定%,0,"您输入的流水号错误!",-1);
                        return;
                end
                local query;
                local Type = -1;
                if(string.len(_data) == 6)then
                        Type  = 0;
                        query = "SELECT count,ischange FROM `tbl_alipay` WHERE `autoid2`='".._data.."'"
                else
                        Type  = 1;
                        query = "SELECT count,ischange FROM `tbl_alipay` WHERE `autoid`='".._data.."'"
                end
                if(Type  == -1)then
                        return;
                end
                local mysql = SQL.Run(query);
                if(type(mysql)~="table")then
                        NLG.ShowWindowTalked(_PlayerIndex,%窗口_信息框%,%按钮_确定%,0,"\\n\\n流水号不存在",-1);
                        return;
                end
                local Gold = tonumber(mysql["0_0"]);
                local ischange = tonumber(mysql["0_1"]);
                if(tonumber(Gold) <= 0)then
                        NLG.ShowWindowTalked(_PlayerIndex,%窗口_信息框%,%按钮_确定%,0,"\\n\\n流水号不存在",-1);
                        return;
                end
                if(tonumber(ischange)~=0)then
                        NLG.ShowWindowTalked(_PlayerIndex,%窗口_信息框%,%按钮_确定%,0,"\\n\\n此流水号已经被领取",-1);
                        return;
                end
               
                local query2;
                if(Type  == 0)then
                        query2 = "UPDATE `tbl_alipay` SET ischange= '1',cdkey = '"..Cdkey.."' WHERE `autoid2`='".._data.."'";        
                else
                        query2 = "UPDATE `tbl_alipay` SET ischange= '1',cdkey = '"..Cdkey.."' WHERE `autoid`='".._data.."'";
                end
                local _money = Gold;
                if _isRate == 1 then
                    _money = math.floor(Gold);
                        local _isCheck = 0;
                        for i=1,#_jkRate do
                                local _rate = _jkRate;
                                if _money >= tonumber(_rate[1]) and _isCheck == 0 then
                                        _money = _money + math.floor(_money*_rate[2]);
                                        _isCheck = 1;
                                end
                        end
                end
                Gold = _money;
                if(SQL.Run(query2)==0)then
                                if Shop_On == 0 then
                                        NLG.GiveItem(_PlayerIndex,PayItemID,Gold);
                                end
                                if Shop_On == 1 then
                                        local p1 = SqlCard(_PlayerIndex) or -1
                                        if p1==-1 then
                                                p1 = 0
                                        end
                                        UpSqlCard(_PlayerIndex,tonumber(p1+Gold),0)
                                end
                        NLG.SystemMessage(_PlayerIndex,"[成功]您充值数量为["..Gold.."]已经到账!");        
                end
               
        end
end


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|DiscuzX

GMT+8, 2025-4-12 16:14 , Processed in 0.148798 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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