47 lines
1.4 KiB
Lua
47 lines
1.4 KiB
Lua
local skynet = require "skynet"
|
|
local oo = require "Class"
|
|
local pb = require "pb"
|
|
local log = require "Log"
|
|
local errorInfo = require "ErrorInfo"
|
|
local dataType = require "DataType"
|
|
local Guide = oo.class()
|
|
|
|
function Guide:Init()
|
|
end
|
|
|
|
--完成新手引导
|
|
function Guide:FinishGuide( player , c2sData , s2cData )
|
|
c2sData.data = assert(pb.decode("C2SFinishGuide", c2sData.data ))
|
|
player.basicInfo.isNewPlayer = false --不是新玩家(这个标记在该函数里必须放到最后)
|
|
|
|
local data = {}
|
|
local guideId = c2sData.data.guideId
|
|
if not guideId then
|
|
s2cData.code = errorInfo.ErrorCode.ErrRequestParam
|
|
else
|
|
data.guideId = guideId
|
|
|
|
--不存在才加入进去
|
|
local isExist = false
|
|
for k, v in pairs( player.gameData.finishGuide ) do
|
|
if v == guideId then
|
|
isExist = true
|
|
end
|
|
end
|
|
|
|
if not isExist then
|
|
table.insert( player.gameData.finishGuide , guideId )
|
|
local cfgOne = skynet.server.gameConfig:GetPlayerCurCfg( player , "TutorialCondition" , guideId )
|
|
if cfgOne then
|
|
player:GiveReward( cfgOne.rewardId )
|
|
data.rewardId = cfgOne.rewardId
|
|
end
|
|
end
|
|
end
|
|
|
|
s2cData.cmd = pb.enum("MsgType","CMD_S2C_FinishGuide")
|
|
s2cData.data = assert(pb.encode("S2CFinishGuide", data))
|
|
end
|
|
|
|
skynet.server.guide = Guide
|
|
return Guide |