|  |  |  | 
|---|
|  |  |  | name = curPlayer.GetName() | 
|---|
|  |  |  | logoutTime = curPlayer.GetLogoffTime() | 
|---|
|  |  |  | loginTime = curPlayer.GetLoginTime() | 
|---|
|  |  |  |  | 
|---|
|  |  |  | dataDict = {'Type':'logout', 'IP':ip, 'AccID':accID, | 
|---|
|  |  |  | 'Name':name, 'LoginTime':str(loginTime), | 
|---|
|  |  |  | lv = curPlayer.GetLV() | 
|---|
|  |  |  | vipLV = curPlayer.GetVIPLv() | 
|---|
|  |  |  | gold = curPlayer.GetGold() | 
|---|
|  |  |  | goldPaper = curPlayer.GetGoldPaper() | 
|---|
|  |  |  | dataDict = {'Type':'logout', 'IP':ip, 'AccID':accID, 'LV':lv, 'VipLV':vipLV, | 
|---|
|  |  |  | 'Name':name, 'LoginTime':str(loginTime), 'Gold':gold, 'GoldPaper':goldPaper, | 
|---|
|  |  |  | 'LogoutTime':str(logoutTime)} | 
|---|
|  |  |  | #发送封包 | 
|---|
|  |  |  | SendEventPack("LogInOut", dataDict, curPlayer) | 
|---|
|  |  |  | 
|---|
|  |  |  | def DR_CTGOK(curPlayer, addDict): | 
|---|
|  |  |  | ## CTG成功记录 | 
|---|
|  |  |  | dataDict = {'PlayerID':curPlayer.GetPlayerID(), 'PlayerName':curPlayer.GetPlayerName(), | 
|---|
|  |  |  | 'AccID':curPlayer.GetAccID()} | 
|---|
|  |  |  | 'AccID':curPlayer.GetAccID(), 'LV':curPlayer.GetLV()} | 
|---|
|  |  |  | dataDict.update(addDict) | 
|---|
|  |  |  |  | 
|---|
|  |  |  | #发送封包 | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | dataDict = {'PlayerID':curPlayer.GetPlayerID(), 'PlayerName':curPlayer.GetPlayerName(), | 
|---|
|  |  |  | 'AccID':curPlayer.GetAccID(), 'PlayerLV':playerLV, 'PlayerTotalExp':playerTotalExp, | 
|---|
|  |  |  | 'CurLVRequireExp':curLVRequireExp} | 
|---|
|  |  |  | 'CurLVRequireExp':curLVRequireExp, 'IP':curPlayer.GetIP()} | 
|---|
|  |  |  |  | 
|---|
|  |  |  | #发送封包 | 
|---|
|  |  |  | SendEventPack("PlayerUpgrade", dataDict, curPlayer) | 
|---|