829 lines
		
	
	
		
			28 KiB
		
	
	
	
		
			Lua
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			829 lines
		
	
	
		
			28 KiB
		
	
	
	
		
			Lua
		
	
	
		
			Executable File
		
	
	
	
	
| module("Platform37Gift", package.seeall)
 | ||
| 
 | ||
| local CODE_CHECK_NULL = 0	   
 | ||
| local CODE_CHECK_DOWNLOADBOX = 1    -- 盒子下载领取
 | ||
| local CODE_CHECK_PHONEGIFT = 2      -- 手机绑定 
 | ||
| local CODE_CHECK_FCM = 3            -- 防沉迷 
 | ||
| 
 | ||
| local CODE_SUCCESS = 0	    -- 成功
 | ||
| local CODE_INVALID = 4      -- 已被使用
 | ||
| 
 | ||
| --对应的活动配置
 | ||
| ActivityConfig = Platform37Config
 | ||
| local PfId = System.getPfId() 
 | ||
| local SrvId = System.getServerId()
 | ||
|  
 | ||
| local bagLimit = 16 --需要的格子数量
 | ||
| 
 | ||
| local ServiceConfCKD = CdkeyServiceConf[PfId] 
 | ||
| --BindPhoneHost = ServiceConfCKD.host                                                                 --"fgtest.bigrnet.com"
 | ||
| --BindPhonePort = ServiceConf.port                                                                    --"80"
 | ||
| --BindPhoneApi = "/Service/CheckBindPhoneCode.php"                                                     --"/H5CQ/develop/Service/CheckBindPhoneCode.php"
 | ||
|   
 | ||
| --http://gameapi.37.com/?a=get_user_info
 | ||
| -- 服务接口
 | ||
| Host = ActivityConfig.host or "gameapi.37.com"
 | ||
| Port = ActivityConfig.port or "80"
 | ||
| Api = ActivityConfig.api or "/"
 | ||
| PfKey = "VgvCLoGkwMdLsUPFnvAVr8QGvXBKLxRr"
 | ||
| 
 | ||
| function OnCheck37Platform() 
 | ||
|     -- 平台验证
 | ||
|     if not PfId then
 | ||
|         print("[Tip] [Platform37] OnCheck37Platform not PfId")
 | ||
|         return false
 | ||
|     end
 | ||
|     if not ActivityConfig then
 | ||
|         print("[Tip] [Platform37] OnCheck37Platform not ActivityConfig")
 | ||
|         return false
 | ||
|     end
 | ||
|     if not ActivityConfig.SPID then
 | ||
|         print("[Tip] [Platform37] OnCheck37Platform not ActivityConfig.SPID")
 | ||
|         return false
 | ||
|     end
 | ||
|     if tostring(PfId) ~= tostring(ActivityConfig.SPID) then
 | ||
|         print("[Tip] [非本平台活动]")  
 | ||
|         return false--非本平台活动
 | ||
|     end
 | ||
|     return true
 | ||
| end
 | ||
| 
 | ||
| --对应的活动配置
 | ||
| function get37PlatformData(pActor)
 | ||
|     local var = Actor.getStaticVar(pActor)
 | ||
|     if var.Platform37Data == nil then
 | ||
|         var.Platform37Data = {} 
 | ||
|         var.Platform37Data.DataLevelGift = 0 
 | ||
|         var.Platform37Data.DataDailyGift = 0 
 | ||
|         
 | ||
|         var.Platform37Data.phoneGift = 0 
 | ||
| 
 | ||
|         var.Platform37Data.downloadBox = 0  
 | ||
| 
 | ||
|         var.Platform37Data.FcmGift = 0
 | ||
| 
 | ||
|         var.Platform37Data.Vip = 0
 | ||
|         var.Platform37Data.hezi = 0
 | ||
|         var.Platform37Data.phone = 0
 | ||
|         var.Platform37Data.fcm = 0
 | ||
|         
 | ||
|         print("[Tip] [Platform37]init data")
 | ||
|     end
 | ||
|     return var.Platform37Data
 | ||
| end
 | ||
| 
 | ||
| 
 | ||
| function Send37PlatformData(pActor) 
 | ||
|     -- 平台验证
 | ||
|     if not OnCheck37Platform() then 
 | ||
|         return 
 | ||
|     end
 | ||
|     
 | ||
|     local data = get37PlatformData(pActor)
 | ||
|          
 | ||
|     if data.Vip == nil then
 | ||
|         data.Vip = 0
 | ||
|     end 
 | ||
|     local npack = DataPack.allocPacket(pActor, enPlatforMwelfareID, sSend37GameGitfData)
 | ||
|     if npack then
 | ||
|         -- print("1111")
 | ||
|         --local cdkFlag = 0;
 | ||
|         --local cdkdata = getActorCdkData(pActor)
 | ||
|         --if cdkdata then
 | ||
|         --    if cdkdata.codeTypeTimes then
 | ||
|         --        if cdkdata.codeTypeTimes[ActivityConfig.type] then
 | ||
|         --            cdkFlag = 1;
 | ||
|         --        end
 | ||
|         --    end
 | ||
|         --end
 | ||
|         -- dailyGift
 | ||
|         DataPack.writeByte(npack, (data.downloadBox or 0)) 
 | ||
|         DataPack.writeByte(npack, (data.phoneGift or 0))   
 | ||
|         DataPack.writeByte(npack, (data.FcmGift or 0))    
 | ||
|  
 | ||
|         DataPack.writeUInt(npack, (data.DataLevelGift or 0)) 
 | ||
|         DataPack.writeUInt(npack, (data.DataDailyGift or 0))  
 | ||
| 
 | ||
|         print("[Tip] [Platform37] ------DataPack.LevelGift=:".. tostring(data.DataLevelGift))
 | ||
|         print("[Tip] [Platform37] ------DataPack.DailyGift=:".. tostring(data.DataDailyGift))
 | ||
|         --DataPack.writeByte(npack, (data.idCardGift or 0)) --是否领取认证礼包(0否,1是)
 | ||
|         --DataPack.writeShort(npack, (data.loginDay or 1))--登录的天数
 | ||
|         --DataPack.writeUInt(npack, (data.loginGift or 0))--礼包的领取标记 32 位
 | ||
|         --DataPack.writeByte(npack, (data.loginTypeGift or 0)) --
 | ||
|         DataPack.flush(npack)
 | ||
|     end
 | ||
| end
 | ||
|   
 | ||
| local function AfterCheckBindPhoneLogon(paramPack, content, result) 
 | ||
|     print("[Tip] [Platform37] 登陆AfterCheckBindPhoneLogon -------------------------content:"..tostring(content).."result:"..tostring(result))  
 | ||
|     
 | ||
|     local aid = paramPack[1]
 | ||
|     local pActor = Actor.getActorById(aid)
 | ||
|     if not pActor  then 
 | ||
|         print("[Tip] [Platform37]error--玩家不在线- AfterCheckBindPhoneLogon"..tostring(aid))
 | ||
|         return 
 | ||
|     end
 | ||
| 
 | ||
|     local data = get37PlatformData(pActor)
 | ||
|     if data == nil then
 | ||
|         return
 | ||
|     end
 | ||
| 
 | ||
|     local data = get37PlatformData(pActor) 
 | ||
|       
 | ||
|     local res = CODE_SUCCESS
 | ||
|     local actid = 0
 | ||
|     if (result == 0) then --有反馈  
 | ||
|         local resPattern = "^(.*)(return_code%s*:%s)([^,]*)(.*)$"
 | ||
|         strCapture1, strCapture2, res, strCapture3, strCapture4 = string.match(content, resPattern)
 | ||
|         print("[Tip] [Platform37]   -------------------------param1:"..tostring(strCapture1).."|param2:"..tostring(strCapture2).."|param3:"..tostring(res).."|param4:"..tostring(strCapture3).."|param5:"..tostring(strCapture4)) 
 | ||
|  
 | ||
|         if (res == "0") then --可以领 
 | ||
|             data.phone = 0 --默认手机绑定,后面再查询
 | ||
|         else 
 | ||
|             print("[Tip] [Platform37] AfterCheckBindPhoneLogon : 已经领了, content: "..content)
 | ||
|             data.phone = 1 --默认手机绑定,后面再查询
 | ||
|         end 
 | ||
|     else
 | ||
|         res = CODE_HTTP
 | ||
|         print("[ERR] [Platform37]1  AfterCheckBindPhoneLogon : result("..result.."), content: "..content)
 | ||
|         data.phone = 0 --默认手机绑定,后面再查询
 | ||
|     end  
 | ||
|     local npack = DataPack.allocPacket(pActor, enPlatforMwelfareID, sUse37GiftPhone)
 | ||
|     if npack then
 | ||
|         if data.phone == 0 then
 | ||
|             DataPack.writeByte(npack, 0)  
 | ||
|         else 
 | ||
|             DataPack.writeByte(npack, 1)  
 | ||
|         end
 | ||
|         DataPack.flush(npack)
 | ||
|     end
 | ||
| end
 | ||
|  
 | ||
| --------------------------------------------------------------------
 | ||
| -- CPP回调
 | ||
| --------------------------------------------------------------------
 | ||
| 
 | ||
| -- 7游戏玩家登录
 | ||
| function On37GameLogin(pActor, packet)   
 | ||
|    
 | ||
|     local name = Actor.getName(pActor)
 | ||
| 
 | ||
|     local nIndex1 = DataPack.readInt(packet)
 | ||
|     local nIndex2 = DataPack.readInt(packet)
 | ||
|     local nIndex3 = DataPack.readInt(packet)
 | ||
|     local nIndex4 = DataPack.readInt(packet)
 | ||
|     print("[Tip] [Platform37] On7GameLogin:".. nIndex1.. ":"..nIndex2.. ":"..nIndex3..":"..nIndex4.. ":name".. name)
 | ||
| 
 | ||
|     
 | ||
|     -- 平台验证
 | ||
|     if not OnCheck37Platform() then 
 | ||
|         return 
 | ||
|     end
 | ||
|     -- 当天初始化
 | ||
|     local data = get37PlatformData(pActor) 
 | ||
|      
 | ||
|     if nIndex1 > 0 then
 | ||
|         data.Vip = nIndex1 
 | ||
|     else 
 | ||
|         data.Vip = 0 
 | ||
|     end
 | ||
|     if nIndex2 == 1 then
 | ||
|         data.hezi = 1
 | ||
|     else 
 | ||
|         data.hezi = 0 
 | ||
|     end 
 | ||
|     
 | ||
|     data.phone = 0 --默认手机绑定,后面再查询
 | ||
| 
 | ||
|     if nIndex4 == 1 then
 | ||
|         data.fcm = 1
 | ||
|     else 
 | ||
|         data.fcm = 0 
 | ||
|     end
 | ||
|     
 | ||
|     if data.lastLoginTime == nil then
 | ||
|         data.lastLoginTime = System.getCurrMiniTime()  
 | ||
|     end
 | ||
| 
 | ||
|     Send37PlatformData(pActor)
 | ||
|         
 | ||
|     BindPhoneHost = ServiceConfCKD.host                                                                 --"fgtest.bigrnet.com"
 | ||
|     BindPhonePort = ServiceConfCKD.port                                                                    --"80"
 | ||
|     BindPhoneApi = "/Service/CheckBindPhoneCode.php"                                                     --"/H5CQ/develop/Service/CheckBindPhoneCode.php"
 | ||
|     
 | ||
|     local sActorId = Actor.getActorId(pActor)
 | ||
|     local req = BindPhoneApi..'?pfid='..PfId..'&aid='..sActorId..'&sid='..SrvId..'&check='..1
 | ||
|     print("[Platform37] GetHttpContent -------------------------ServiceHost:"..tostring(BindPhoneHost))
 | ||
|     print("[Platform37] GetHttpContent -------------------------ServicePort:"..tostring(BindPhonePort))
 | ||
|     print("[Platform37]  GetHttpContent -------------------------req:"..tostring(req))
 | ||
| 
 | ||
|     --加入异步工作 
 | ||
|     AsyncWorkDispatcher.Add(
 | ||
|         {'GetHttpContent', BindPhoneHost, BindPhonePort, req},
 | ||
|             AfterCheckBindPhoneLogon,
 | ||
|         {sActorId, 0}
 | ||
|     )
 | ||
| end
 | ||
|  
 | ||
| -- 跨天
 | ||
| function OnNewDayArrive(pActor,ndiffday)
 | ||
|     print("[Tip] [Platform37] OnNewDayArrive")
 | ||
| 
 | ||
|     -- 平台验证
 | ||
|     if not OnCheck37Platform() then 
 | ||
|         return 
 | ||
|     end 
 | ||
|    
 | ||
|     local currMiniTime = System.getCurrMiniTime()
 | ||
|     --local data = get4366Data(pActor)
 | ||
|     local data = get37PlatformData(pActor)--37平台数据
 | ||
|      
 | ||
|     if data.lastLoginTime then 
 | ||
|         if not System.isSameDay(data.lastLoginTime, System.getCurrMiniTime()) then
 | ||
|             data.lastLoginTime = System.getCurrMiniTime()
 | ||
|             --data.loginDay = data.loginDay + 1
 | ||
|             
 | ||
|             print("[Tip] [Platform37] -----------------------------------4newday!") 
 | ||
|             print("[Tip] [Platform37] OnNewDayArrive set newday!") 
 | ||
|             data.DataDailyGift = 0         
 | ||
| 
 | ||
|         end
 | ||
| 
 | ||
|         Send37PlatformData(pActor)
 | ||
|     end
 | ||
| end
 | ||
| --ctorEventDispatcher.Reg(aeUserLogout, OnUserLogout, "Activity37Gift.lua")
 | ||
| 
 | ||
| --领取下载盒子奖励
 | ||
| function OnClickDownloadBox(pActor, packet) 
 | ||
|     print("[Tip] [Platform37] OnClickDownloadBox")
 | ||
| 
 | ||
|     -- 平台验证
 | ||
|     if not OnCheck37Platform() then 
 | ||
|         return 
 | ||
|     end
 | ||
|     local data = get37PlatformData(pActor)
 | ||
|     if data == nil then
 | ||
|         return
 | ||
|     end  
 | ||
|     if data.downloadBox == nil then
 | ||
|         return
 | ||
|     end 
 | ||
|     if data.hezi == 0 then
 | ||
|         return
 | ||
|     end 
 | ||
| 
 | ||
|     local name = Actor.getName(pActor)
 | ||
| 
 | ||
|     if  ActivityConfig.downloadBoxReward == nil then
 | ||
|         print("[Tip] [Platform37]没有此配置 DownloadBox Name = "..name)
 | ||
|         return
 | ||
|     end
 | ||
|     if data.downloadBox > 0 then
 | ||
|         print("[Tip] [Platform37]DownloadBox 重复领取!Name = "..name)
 | ||
|         Actor.sendTipmsg(pActor, "|C:0xf56f00&T:奖励已领取|", tstUI)
 | ||
|         return
 | ||
|     end 
 | ||
|     if CommonFunc.Awards.CheckBagIsEnough(pActor, bagLimit, tmLeftBagNumNotEnough, tstUI) ~= true then
 | ||
|         return
 | ||
|     end
 | ||
|     
 | ||
|     local AwardCfg = ActivityConfig.downloadBoxReward 
 | ||
|     if AwardCfg then
 | ||
|         --系统广播
 | ||
|         --if AwardCfg.tips then
 | ||
|         --    local name = Actor.getName(pActor);
 | ||
|             -- 提示需要配置
 | ||
|             -- System.broadTipmsgWithParams(AwardCfg.tips ,tstKillDrop, name)
 | ||
|             -- System.broadTipmsgWithParams(AwardCfg.tips ,tstChatSystem, name)
 | ||
|         --end
 | ||
|         
 | ||
|         --Actor.SendActivityLog(pActor, ActivityType,ActivityType,1) 
 | ||
|         CommonFunc.Awards.Give(pActor, AwardCfg, GameLog.Log_Platform37) 
 | ||
|         --Actor.SendActivityLog(pActor, ActivityType, ActivityType, 2)
 | ||
|         --提示 要配
 | ||
|         if AwardCfg.downloadBoxUitips then
 | ||
|             Actor.sendTipmsg(pActor, AwardCfg.downloadBoxUitips, tstUI)
 | ||
|         end
 | ||
|         data.downloadBox = data.downloadBox + 1
 | ||
|         print("[Tip]  [Platform37]  DownloadBox Gift Success "..name)
 | ||
|     end
 | ||
| 
 | ||
|     local npack = DataPack.allocPacket(pActor, enPlatforMwelfareID, sUse37DownloadBox)
 | ||
|     if npack then
 | ||
|                
 | ||
|         DataPack.writeByte(npack, 1)  --领取成功
 | ||
|         DataPack.flush(npack)
 | ||
| 
 | ||
|     end 
 | ||
| end
 | ||
| 
 | ||
| --37手机绑定
 | ||
| function OnClickGiftPhone(pActor, packet) 
 | ||
|     if 1 then 
 | ||
|         return 
 | ||
|     end 
 | ||
|     -- 平台验证
 | ||
|     if not OnCheck37Platform() then 
 | ||
|         return 
 | ||
|     end
 | ||
|     local data = get37PlatformData(pActor)
 | ||
|     if data == nil then
 | ||
|         return
 | ||
|     end  
 | ||
|     if data.phoneGift == nil then
 | ||
|         data.phoneGift = 0
 | ||
|     end 
 | ||
|        
 | ||
|     if data.phone == 0 then
 | ||
|         return
 | ||
|     end 
 | ||
| 
 | ||
|     local name = Actor.getName(pActor)
 | ||
| 
 | ||
|     if  ActivityConfig.bindPhoneReward == nil then
 | ||
|         print("[Tip] [Platform37]没有此配置 GiftPhone Name = "..name)
 | ||
|         return
 | ||
|     end
 | ||
|     if data.phoneGift > 0 then
 | ||
|         print("[Tip] [Platform37]GiftFCM 重复领取!Name = "..name)
 | ||
|         Actor.sendTipmsg(pActor, "|C:0xf56f00&T:奖励已领取|", tstUI)
 | ||
|         return
 | ||
|     end 
 | ||
|      
 | ||
|     if CommonFunc.Awards.CheckBagIsEnough(pActor, bagLimit, tmLeftBagNumNotEnough, tstUI) ~= true then
 | ||
|         return
 | ||
|     end
 | ||
|     local AwardCfg = ActivityConfig.bindPhoneReward 
 | ||
|     if AwardCfg then  
 | ||
|         --Actor.SendActivityLog(pActor, ActivityType,ActivityType,1) 
 | ||
|         CommonFunc.Awards.Give(pActor, AwardCfg, GameLog.Log_Platform37) 
 | ||
|         --Actor.SendActivityLog(pActor, ActivityType, ActivityType, 2)
 | ||
|         --提示 要配
 | ||
|         if AwardCfg.bindPhoneUitips then
 | ||
|             Actor.sendTipmsg(pActor, AwardCfg.bindPhoneUitips, tstUI)
 | ||
|         end
 | ||
|         
 | ||
|         data.phoneGift = data.phoneGift + 1
 | ||
|         print("[Tip]  [Platform37]  GiftPhone Success "..name)
 | ||
|     end
 | ||
|     local npack = DataPack.allocPacket(pActor, enPlatforMwelfareID, sUse37GiftPhone)
 | ||
|     if npack then
 | ||
|                    
 | ||
|         DataPack.writeByte(npack, 1)  --领取成功
 | ||
|         DataPack.flush(npack)
 | ||
|     end 
 | ||
| end
 | ||
| 
 | ||
| --37防沉迷
 | ||
| function OnClickGiftFCM(pActor, packet) 
 | ||
|     -- 平台验证
 | ||
|     if not OnCheck37Platform() then 
 | ||
|         return 
 | ||
|     end
 | ||
|     local data = get37PlatformData(pActor)
 | ||
|     if data == nil then
 | ||
|         return
 | ||
|     end  
 | ||
|     if data.FcmGift == nil then
 | ||
|         return
 | ||
|     end 
 | ||
|       
 | ||
|     if data.fcm ~= 1 then
 | ||
|         return
 | ||
|     end  
 | ||
|     local name = Actor.getName(pActor)
 | ||
| 
 | ||
|     if  ActivityConfig.FcmReward == nil then
 | ||
|         print("[Tip] [Platform37]没有此配置 GiftFCM!Name = "..name)
 | ||
|         return  
 | ||
|     end
 | ||
|     if data.FcmGift > 0 then
 | ||
|         print("[Tip] [Platform37]GiftFCM 重复领取!Name = "..name)
 | ||
|         Actor.sendTipmsg(pActor, "|C:0xf56f00&T:奖励已领取|", tstUI)
 | ||
|         return
 | ||
|     end 
 | ||
|     if CommonFunc.Awards.CheckBagIsEnough(pActor, bagLimit, tmLeftBagNumNotEnough, tstUI) ~= true then
 | ||
|         return
 | ||
|     end
 | ||
|     
 | ||
|     local AwardCfg = ActivityConfig.FcmReward 
 | ||
|     if AwardCfg then 
 | ||
|         --Actor.SendActivityLog(pActor, ActivityType,ActivityType,1) 
 | ||
|         CommonFunc.Awards.Give(pActor, AwardCfg, GameLog.Log_Platform37) 
 | ||
|         --Actor.SendActivityLog(pActor, ActivityType, ActivityType, 2)
 | ||
|         --提示 要配
 | ||
|         if AwardCfg.FcmUitips then
 | ||
|             Actor.sendTipmsg(pActor, AwardCfg.FcmUitips, tstUI)
 | ||
|         end
 | ||
|         
 | ||
|         data.FcmGift = data.FcmGift + 1
 | ||
|         print("[Tip]  [Platform37]  GiftFCM Gift Success "..name)
 | ||
|     end
 | ||
|     local npack = DataPack.allocPacket(pActor, enPlatforMwelfareID, sUse37GiftFCM)
 | ||
|     if npack then 
 | ||
|               
 | ||
|         DataPack.writeByte(npack, 1)  --领取成功
 | ||
|         DataPack.flush(npack)
 | ||
| 
 | ||
|     end
 | ||
| end 
 | ||
| --37等级礼包
 | ||
| 
 | ||
| function OnClickGiftDaily(pActor, packet)  
 | ||
|     local nIndex = DataPack.readByte(packet); 
 | ||
|     print("[Tip] [Platform37] OnClickGiftDaily :".. nIndex)
 | ||
|     -- 平台验证
 | ||
|     if not OnCheck37Platform() then 
 | ||
|         return 
 | ||
|     end
 | ||
|     
 | ||
|     local name = Actor.getName(pActor)
 | ||
| 
 | ||
|     local PlatformData = get37PlatformData(pActor)
 | ||
|     if PlatformData == nil then
 | ||
|         print("[Tip] [Platform37] error data :".. nIndex)
 | ||
|         return
 | ||
|     end 
 | ||
|       
 | ||
|     if nIndex >= 32 then
 | ||
|         Actor.sendTipmsg(pActor, "|C:0xf56f00&T:无此选项|", tstUI)
 | ||
|         return  
 | ||
|     end 
 | ||
|     if ActivityConfig.dailyGift == nil then
 | ||
|         Actor.sendTipmsg(pActor, "|C:0xf56f00&T:无此选项|", tstUI)
 | ||
|         return  
 | ||
|     end  
 | ||
|      
 | ||
|     local Cfg = ActivityConfig.dailyGift[nIndex] 
 | ||
|     if Cfg == nil then
 | ||
|         Actor.sendTipmsg(pActor, "|C:0xf56f00&T:无此选项|", tstUI)
 | ||
|         return
 | ||
|     end  
 | ||
|     if Cfg.awards == nil then
 | ||
|         Actor.sendTipmsg(pActor, "|C:0xf56f00&T:无此奖励|", tstUI)
 | ||
|         return
 | ||
|     end
 | ||
|  
 | ||
|     local LoginConfig = ActivityConfig.dailyGift 
 | ||
|     --local nIndex = DataPack.readByte(packet)
 | ||
|     if nIndex > #LoginConfig then
 | ||
|         Actor.sendTipmsg(pActor, "|C:0xf56f00&T:无此选项|", tstUI)
 | ||
|         return
 | ||
|     end 
 | ||
|  
 | ||
|     if PlatformData.Vip == 0 then
 | ||
|         Actor.sendTipmsg(pActor, "|C:0xf56f00&T:等级不足|", tstUI)
 | ||
|         return
 | ||
|     end
 | ||
|  
 | ||
|     local lv = PlatformData.Vip
 | ||
|     --local Cfg
 | ||
|     local count = 0
 | ||
|     local Idlocal = 0
 | ||
|     local CfgTmp = ActivityConfig.dailyGift
 | ||
|     print("[Tip] [Platform37] 111error ddata.Vip  :".. PlatformData.Vip )
 | ||
|     if CfgTmp then
 | ||
|         --print("[Tip] [Platform37] 222error ddata.Vip  :".. PlatformData.Vip )
 | ||
|         for key, value in pairs(CfgTmp) do 
 | ||
|  
 | ||
|             if value.viplvl > lv then
 | ||
|                 --Actor.sendTipmsg(pActor, "|C:0xf56f00&T:不满足条件|", tstUI)
 | ||
|                 --return
 | ||
|             elseif nIndex == key and value.viplvl <= lv then
 | ||
|                 Idlocal = key
 | ||
|                 
 | ||
|                 print("[Tip] [Platform37] 333error ddata.Vip  :".. lv ..":"..value.viplvl..":"..nIndex)
 | ||
|                 --Cfg = value
 | ||
|                 break
 | ||
|             else
 | ||
|             end
 | ||
|             count = count + 1
 | ||
|         end
 | ||
|     end  
 | ||
| 
 | ||
|     print("[Tip] [Platform37]68764----------  :"..Idlocal ..":name"..name)
 | ||
|     local Cfg = ActivityConfig.dailyGift[Idlocal] 
 | ||
|     if Cfg == nil then
 | ||
|         Actor.sendTipmsg(pActor, "|C:0xf56f00&T:无此选项|", tstUI)
 | ||
|         print("[Tip] [Platform37] 222er212321ror 无此选项  :")
 | ||
|         return  
 | ||
|     end 
 | ||
|     if Cfg.awards == nil then
 | ||
|         Actor.sendTipmsg(pActor, "|C:0xf56f00&T:无此奖励|", tstUI)
 | ||
|         return  
 | ||
|     end  
 | ||
|  
 | ||
|     if CommonFunc.Awards.CheckBagIsEnough(pActor, bagLimit, tmLeftBagNumNotEnough, tstUI) ~= true then
 | ||
|         return
 | ||
|     end
 | ||
|  
 | ||
|     local AwardCfg = Cfg.awards 
 | ||
|     if AwardCfg then
 | ||
|         -- 领取检查 
 | ||
|         local flag = System.getIntBit(PlatformData.DataDailyGift, nIndex - 1) 
 | ||
|         if flag == 1 then
 | ||
|             print("[Tip] [Platform37]DailyGift 重复领取!Name = "..name)
 | ||
|             Actor.sendTipmsg(pActor, "|C:0xf56f00&T:奖励已领取|", tstUI)
 | ||
|             return
 | ||
|         end  
 | ||
|  
 | ||
|         --Actor.SendActivityLog(pActor, ActivityType,ActivityType,1) 
 | ||
|         CommonFunc.Awards.Give(pActor, AwardCfg, GameLog.Log_Platform37) 
 | ||
|         --Actor.SendActivityLog(pActor, ActivityType, ActivityType, 2)
 | ||
|         --提示 要配
 | ||
|         if Cfg.FcmUitips then
 | ||
|             Actor.sendTipmsg(pActor, Cfg.FcmUitips, tstUI)
 | ||
|         end
 | ||
|         
 | ||
|         PlatformData.DataDailyGift = System.setIntBit(PlatformData.DataDailyGift, nIndex - 1, 1) --将indexId位置置为1 
 | ||
| 
 | ||
|         print("[Tip] [Platform37] ------------- running 333"..name)
 | ||
|     end
 | ||
|     print("[Tip] [Platform37] ---OnClickGiftDaily:"..name)
 | ||
|     local npack = DataPack.allocPacket(pActor, enPlatforMwelfareID, sUse37GiftDaily)
 | ||
|     if npack then             
 | ||
|         DataPack.writeByte(npack, 1)  --领取成功          
 | ||
|         DataPack.writeUInt(npack, PlatformData.DataDailyGift)  
 | ||
|         DataPack.flush(npack) 
 | ||
|     end 
 | ||
| end
 | ||
| --37等级礼包
 | ||
| function OnClickLevelDaily(pActor, packet)  
 | ||
|     local nIndex = DataPack.readByte(packet); 
 | ||
|     print("[Tip] [Platform37] OnClickLevelDaily :".. nIndex)
 | ||
|     -- 平台验证
 | ||
|     if not OnCheck37Platform() then 
 | ||
|         return 
 | ||
|     end
 | ||
|     
 | ||
|     local PlatformData = get37PlatformData(pActor)
 | ||
|     if PlatformData == nil then
 | ||
|         return
 | ||
|     end 
 | ||
|  
 | ||
|     local name = Actor.getName(pActor)
 | ||
| 
 | ||
|     if nIndex >= 32 then
 | ||
|         Actor.sendTipmsg(pActor, "|C:0xf56f00&T:无此选项|", tstUI)
 | ||
|         return  
 | ||
|     end
 | ||
| 
 | ||
|     if ActivityConfig.levelGift == nil then
 | ||
|         Actor.sendTipmsg(pActor, "|C:0xf56f00&T:无此选项|", tstUI)
 | ||
|         return  
 | ||
|     end  
 | ||
|     
 | ||
|     local Cfg = ActivityConfig.levelGift[nIndex] 
 | ||
|     if Cfg == nil then
 | ||
|         Actor.sendTipmsg(pActor, "|C:0xf56f00&T:无此选项|", tstUI)
 | ||
|         return
 | ||
|     end 
 | ||
|     if Cfg.awards == nil then
 | ||
|         Actor.sendTipmsg(pActor, "|C:0xf56f00&T:无此奖励|", tstUI)
 | ||
|         return
 | ||
|     end
 | ||
| 
 | ||
|     local LoginConfig = ActivityConfig.levelGift 
 | ||
|     --local nIndex = DataPack.readByte(packet)
 | ||
|     if nIndex > #LoginConfig then
 | ||
|         Actor.sendTipmsg(pActor, "|C:0xf56f00&T:无此选项|", tstUI)
 | ||
|         return
 | ||
|     end
 | ||
|  
 | ||
|     local lv = Actor.getIntProperty( pActor, PROP_CREATURE_LEVEL )
 | ||
|          
 | ||
|     local count = 0
 | ||
|     local Idlocal = 0
 | ||
|     local CfgTmp = ActivityConfig.levelGift
 | ||
|     if CfgTmp then
 | ||
|         for key, value in pairs(CfgTmp) do
 | ||
| 
 | ||
|             if value.lvl > lv then  
 | ||
|                 --Actor.sendTipmsg(pActor, "|C:0xf56f00&T:不满足条件|", tstUI)
 | ||
|                 --return
 | ||
|             elseif nIndex == key and value.lvl <= lv then
 | ||
|                 Idlocal = key
 | ||
|                 break
 | ||
|             else
 | ||
|             end
 | ||
|             count = count + 1
 | ||
|         end
 | ||
|     end  
 | ||
| 
 | ||
|     local Cfg = ActivityConfig.levelGift[Idlocal] 
 | ||
|     if Cfg == nil then
 | ||
|         Actor.sendTipmsg(pActor, "|C:0xf56f00&T:无此选项|", tstUI)
 | ||
|         return  
 | ||
|     end 
 | ||
|     if Cfg.awards == nil then
 | ||
|         Actor.sendTipmsg(pActor, "|C:0xf56f00&T:无此奖励|", tstUI)
 | ||
|         return  
 | ||
|     end  
 | ||
|  
 | ||
|     if CommonFunc.Awards.CheckBagIsEnough(pActor, bagLimit, tmLeftBagNumNotEnough, tstUI) ~= true then
 | ||
|         return
 | ||
|     end
 | ||
|  
 | ||
|     local AwardCfg = Cfg.awards 
 | ||
|     if AwardCfg then
 | ||
|         -- 领取检查 
 | ||
|         local flag = System.getIntBit(PlatformData.DataLevelGift, nIndex - 1) 
 | ||
|         if flag == 1 then
 | ||
|             print("[Tip] [Platform37]LevelDaily 重复领取!Name = "..name)
 | ||
|             Actor.sendTipmsg(pActor, "|C:0xf56f00&T:奖励已领取|", tstUI)
 | ||
|             return
 | ||
|         end  
 | ||
|  
 | ||
|         --Actor.SendActivityLog(pActor, ActivityType,ActivityType,1) 
 | ||
|         CommonFunc.Awards.Give(pActor, AwardCfg, GameLog.Log_Platform37) 
 | ||
|         --Actor.SendActivityLog(pActor, ActivityType, ActivityType, 2)
 | ||
|         --提示 要配
 | ||
|         if Cfg.FcmUitips then
 | ||
|             Actor.sendTipmsg(pActor, Cfg.FcmUitips, tstUI)
 | ||
|         end
 | ||
|         
 | ||
|         PlatformData.DataLevelGift = System.setIntBit(PlatformData.DataLevelGift, nIndex - 1, 1) --将indexId位置置为1 
 | ||
| 
 | ||
|     end
 | ||
|     print("[Tip] [Platform37] ---OnClickLevelDaily:"..name) 
 | ||
|     local npack = DataPack.allocPacket(pActor, enPlatforMwelfareID, sUse37LevelDaily)
 | ||
|     if npack then           
 | ||
|         DataPack.writeByte(npack, 1)  --领取成功          
 | ||
|         DataPack.writeUInt(npack, PlatformData.DataLevelGift)  
 | ||
|         DataPack.flush(npack) 
 | ||
|     end 
 | ||
| end
 | ||
|    
 | ||
| function OnClickGiftDaily111(pActor, packet)   
 | ||
|     local data = get37PlatformData(pActor)
 | ||
|     if data == nil then
 | ||
|         return
 | ||
|     end
 | ||
|     if data.Vip == nil then
 | ||
|         data.Vip = 3   
 | ||
|     end
 | ||
|     data.Vip = 6   
 | ||
|     data.hezi = 1
 | ||
|     data.phone = 1
 | ||
|     data.fcm = 1 
 | ||
|     data.DataLevelGift = 56 
 | ||
|     data.DataDailyGift = 72
 | ||
|       
 | ||
|     print("[Tip] [Platform37]init data".. data.Vip)
 | ||
|     Send37PlatformData(pActor)
 | ||
|     OnClickGiftDaily(pActor, packet)  
 | ||
| end
 | ||
|  
 | ||
|  
 | ||
| local function AfterCheckBindPhone(paramPack, content, result) 
 | ||
|     print("[Tip] [Platform37] AfterCheckBindPhone -------------------------content:"..tostring(content).."result:"..tostring(result))   
 | ||
|     local res = CODE_SUCCESS
 | ||
|     local actid = 0
 | ||
|     if (result == 0) then --有反馈  
 | ||
|         local resPattern = "^(.*)(return_code%s*:%s)([^,]*)(.*)$"
 | ||
|         strCapture1, strCapture2, res, strCapture3, strCapture4 = string.match(content, resPattern)
 | ||
|         print("[Tip] [Platform37]   -------------------------param1:"..tostring(strCapture1).."|param2:"..tostring(strCapture2).."|param3:"..tostring(res).."|param4:"..tostring(strCapture3).."|param5:"..tostring(strCapture4)) 
 | ||
|  
 | ||
|         if (res == "0") then --可以领
 | ||
|    
 | ||
|             local aidPattern = "^(.*)(aid%s*:%s)([^,]*)(.*)$"
 | ||
|             strCapture1, strCapture2, actid, strCapture3, strCapture4 = string.match(content, aidPattern)
 | ||
|             print("[Tip] [Platform37] -------------------------param1:"..tostring(strCapture1).."|param2:"..tostring(strCapture2).."|param3:"..tostring(actid).."|param4:"..tostring(strCapture3).."|param5:"..tostring(strCapture4))
 | ||
|  
 | ||
|             actid = tonumber(actid)  
 | ||
|             if not PfId then
 | ||
|                 print("[Tip] [Platform37]AfterCheckBindPhone OnCheck37Platform not PfId")
 | ||
|                 return false
 | ||
|             end
 | ||
|             if not ActivityConfig then
 | ||
|                 print("[Tip] [Platform37]AfterCheckBindPhone OnCheck37Platform not ActivityConfig")
 | ||
|                 return false
 | ||
|             end
 | ||
|             if not ActivityConfig.SPID then
 | ||
|                 print("[Tip] [Platform37]AfterCheckBindPhone OnCheck37Platform not ActivityConfig.SPID")
 | ||
|                 return false
 | ||
|             end
 | ||
|             if tostring(PfId) ~= tostring(ActivityConfig.SPID) then
 | ||
|                 print("[Tip] [非本平台活动]")  
 | ||
|                 return false--非本平台活动
 | ||
|             end
 | ||
|             if  ActivityConfig.bindPhoneReward == nil then
 | ||
|                 print("[ERR] [Platform37] AfterCheckBindPhone没有此配置 GiftPhone  ")
 | ||
|                 return
 | ||
|             end 
 | ||
|             local AwardCfg = ActivityConfig.bindPhoneReward 
 | ||
|             if AwardCfg then   
 | ||
|                 SendMail(actid, "系统邮件", "尊敬的玩家:感谢您的支持,请查收您的手机绑定礼包奖励。", AwardCfg)  
 | ||
|                 print("[Tip] [Platform37] AfterCheckBindPhone success : res("..res.."), content: "..content)
 | ||
|             end 
 | ||
|         else 
 | ||
|             print("[Tip] [Platform37] AfterCheckBindPhone : 已经领了, content: "..content)
 | ||
|         end 
 | ||
|     else
 | ||
|         res = CODE_HTTP
 | ||
|         print("[ERR] [Platform37]1  AfterCheckBindPhone : result("..result.."), content: "..content)
 | ||
|     end 
 | ||
| end
 | ||
|  
 | ||
| function OnCMDBackStageBindPhone(packet)  
 | ||
|     local sActorId = DataPack.readInt(packet)
 | ||
|     print("[Tip] [Platform37]--- BackStageBindPhone:"..tostring(sActorId))
 | ||
| 
 | ||
|     -- 平台验证
 | ||
|     if not OnCheck37Platform() then 
 | ||
|         print("[Tip] [Platform37]error--非本平台- BackStageBindPhone:"..tostring(sActorId))
 | ||
|         return 
 | ||
|     end
 | ||
|              
 | ||
|     BindPhoneHost = ServiceConfCKD.host                                                                 --"fgtest.bigrnet.com"
 | ||
|     BindPhonePort = ServiceConfCKD.port                                                                    --"80"
 | ||
|     BindPhoneApi = "/Service/CheckBindPhoneCode.php"                                                     --"/H5CQ/develop/Service/CheckBindPhoneCode.php"
 | ||
|     
 | ||
|     local req = BindPhoneApi..'?pfid='..PfId..'&aid='..sActorId..'&sid='..SrvId..'&check='..0
 | ||
|     print("[Platform37] GetHttpContent -------------------------ServiceHost:"..tostring(BindPhoneHost))
 | ||
|     print("[Platform37] GetHttpContent -------------------------ServicePort:"..tostring(BindPhonePort))
 | ||
|     print("[Platform37]  GetHttpContent -------------------------req:"..tostring(req))
 | ||
| 
 | ||
|     --加入异步工作 
 | ||
|     AsyncWorkDispatcher.Add(
 | ||
|         {'GetHttpContent', BindPhoneHost, BindPhonePort, req},
 | ||
|         AfterCheckBindPhone,
 | ||
|         {sActorId, 0}
 | ||
|     )
 | ||
|     if 1 then  
 | ||
|         return 
 | ||
|     end 
 | ||
|     local pActor = Actor.getActorById(sActorId)
 | ||
|     if not pActor  then 
 | ||
|         print("[Tip] [Platform37]error--玩家不在线- BackStageBindPhone:"..tostring(sActorId))
 | ||
|         return 
 | ||
|     end
 | ||
| 
 | ||
| 
 | ||
|     local data = get37PlatformData(pActor)
 | ||
|     if data == nil then
 | ||
|         return
 | ||
|     end  
 | ||
|     if data.phoneGift == nil then
 | ||
|         data.phoneGift = 0
 | ||
|     end 
 | ||
|        
 | ||
|     --if data.phone == 0 then
 | ||
|     --    return
 | ||
|     --end 
 | ||
| 
 | ||
|     local name = Actor.getName(pActor)
 | ||
| 
 | ||
|     if  ActivityConfig.bindPhoneReward == nil then
 | ||
|         print("[Tip] [Platform37]error 没有此配置 GiftPhone Name = "..name)
 | ||
|         return
 | ||
|     end
 | ||
|     if data.phoneGift > 0 then
 | ||
|         print("[Tip] [Platform37]error GiftFCM 重复领取!Name = "..name)
 | ||
|         Actor.sendTipmsg(pActor, "|C:0xf56f00&T:奖励已领取|", tstUI)
 | ||
|         return
 | ||
|     end 
 | ||
|      
 | ||
|     if CommonFunc.Awards.CheckBagIsEnough(pActor, bagLimit, tmLeftBagNumNotEnough, tstUI) ~= true then
 | ||
|         return
 | ||
|     end
 | ||
|     local AwardCfg = ActivityConfig.bindPhoneReward 
 | ||
|     if AwardCfg then  
 | ||
|         --Actor.SendActivityLog(pActor, ActivityType,ActivityType,1) 
 | ||
|         --CommonFunc.Awards.Give(pActor, AwardCfg, GameLog.Log_Platform37) 
 | ||
|         
 | ||
|         SendMail(sActorId, "系统邮件", "尊敬的玩家:感谢您的支持,请查收您的手机绑定礼包奖励。", AwardCfg)-- NewCdkeyAwards)
 | ||
|         --Actor.SendActivityLog(pActor, ActivityType, ActivityType, 2)
 | ||
|         --提示 要配
 | ||
|         if AwardCfg.bindPhoneUitips then
 | ||
|             Actor.sendTipmsg(pActor, AwardCfg.bindPhoneUitips, tstUI)
 | ||
|         end
 | ||
|         
 | ||
|         data.phoneGift = data.phoneGift + 1
 | ||
|         print("[Tip]  [Platform37]  GiftPhone Success "..name)
 | ||
|     end
 | ||
|     local npack = DataPack.allocPacket(pActor, enPlatforMwelfareID, sUse37GiftPhone)
 | ||
|     if npack then
 | ||
|                    
 | ||
|         DataPack.writeByte(npack, 1)  --领取成功
 | ||
|         DataPack.flush(npack)
 | ||
|     end 
 | ||
| end
 | ||
|  
 | ||
| --登陆
 | ||
| 
 | ||
| NetmsgDispatcher.Reg(enPlatforMwelfareID, cUse37DownloadBox, OnClickDownloadBox)--37盒子下载礼包 
 | ||
| NetmsgDispatcher.Reg(enPlatforMwelfareID, cUse37GiftFCM, OnClickGiftFCM)--37防沉迷
 | ||
| NetmsgDispatcher.Reg(enPlatforMwelfareID, cUse37GiftPhone, OnClickGiftPhone)--37手机礼包
 | ||
| NetmsgDispatcher.Reg(enPlatforMwelfareID, cUse37GiftDaily, OnClickGiftDaily)--37每日礼包
 | ||
| NetmsgDispatcher.Reg(enPlatforMwelfareID, cUse37LevelDaily, OnClickLevelDaily)--37等级礼包
 | ||
| 
 | ||
| NetmsgDispatcher.Reg(enPlatforMwelfareID, c37Logon, On37GameLogin)--37等级礼包
 | ||
| --测试
 | ||
| --NetmsgDispatcher.Reg(enMiscSystemID, cBuyMonthCard, OnClickDownloadBox)--37盒子下载礼包
 | ||
| --NetmsgDispatcher.Reg(enMiscSystemID, cBuyMonthCard, OnClickGiftFCM)--37防沉迷 
 | ||
|   
 | ||
| ActorEventDispatcher.Reg(aeNewDayArrive, OnNewDayArrive, "Platform37Gift.lua")
 | ||
|   |