#!/usr/bin/python
|
# -*- coding: GBK -*-
|
#---------------------------------------------------------------------
|
#
|
#---------------------------------------------------------------------
|
##@package GameServerRefresh
|
# @todo: GameServer·â°ü¹ÜÀíÆ÷
|
#
|
# @author: eggxp
|
# @date 2010-4-28
|
# @version 2.7
|
#
|
# @note: ½ÓÊÕGameServer·â°ü, Ö´ÐÐÂß¼
|
#
|
# @change: "2010-08-19 17:30" panwei °´¸ñʽ¹æ·¶µ÷Õû, ¹Ø±Õµ÷ÊÔÐÅÏ¢
|
# @change: "2010-12-27 17:10" panwei µØÍ¼±¶ÂʸüÐÂ֪ͨȫ·þÍæ¼Ò
|
# @change: "2011-01-09 18:00" panwei Ôª±¦½»Òׯ½Ì¨¹ýÆÚ¶©µ¥, δÁìȡԪ±¦¶©µ¥ÐÂÔö»º´æ
|
# @change: "2011-06-21 16:00" panwei ÐÂÔöRouteServerInitOKº¯Êý´¦Àí, Èçδ³õʼ»¯²»¿ÉÇл»¸±±¾
|
# @change: "2011-06-30 17:00" panwei ÐÂÔö0405, GameServer_PlayerCoinToGold·â°ü´¦Àí
|
# @change: "2012-01-30 19:00" wdb µãȯ¶Ò»»Ôª±¦·â°üÔö¼ÓÔùË͵ãȯ×Ö¶Î
|
# @change: "2012-01-31 10:00" wdb ´«µÝ²ÎÊýÐÞ¸Ä
|
# @change: "2012-03-29 17:00" jiang ½ÇÉ«ÔÚGameServer³õʼ»¯Íê³ÉÒÔºó²éѯһ´ÎÊÇ·ñÔÚÉêÇëµÄ¼Ò×åÉóºËÖÐ
|
# @change: "2012-05-06 19:30" jiang ½ÇÉ«ÔÚGameServer³õʼ»¯Íê³ÉÒÔºóÇëÇó¼ÇÂ¼Íæ¼Ò¼Ò×åÐÅÏ¢ÓÃÓÚ¿ª·þ»î¶¯½±ÀøÁìÈ¡
|
# @change: "2012-05-14 16:00" jiang È¥³ýÇëÇó¼ÇÂ¼Íæ¼Ò¼Ò×åÐÅÏ¢ÓÃÓÚ¿ª·þ»î¶¯½±ÀøÁìÈ¡
|
# @change: "2012-06-29 15:00" whx ²¹³¥ÔÚGameServer Initʱ´¥·¢
|
# @change: "2014-02-11 15:00" Alee ʱ¼ä´¦ÀíÖ®ºóÔÙÖ´Ðй¦ÄÜÂß¼(½ÚÈÕÀñ°ü)
|
# @change: "2014-12-25 15:10" xmnathan ÅÅÐаñ³ÆºÅÉÏÏßˢзÅÔÚGameSever_PlayerInitOKÖ®ºóÖ´ÐÐ
|
# @change: "2015-06-24 17:50" xmnathan InterfaceServer_Dll_CashRequest³äÖµµãȯ¶Ò»»£¬Ôö¼Óͬ¶©µ¥·â°üÖØÈë·À·¶
|
# @change: "2016-07-20 14:30" hxp µãȯ¶Ò»»Ë¢ÐÂÔö¼ÓÁ÷ÏòÀàÐÍ
|
#------------------------------------------------------------------------------
|
"""Version = 2016-07-20 14:30"""
|
#------------------------------------------------------------------------------
|
import GameWorld
|
import PlayerControl
|
import ChConfig
|
import PlayerCoin
|
|
#---------------------------------------------------------------------
|
#Íæ¼ÒÀ뿪¸±±¾
|
Def_RouteServerInitOK_LeaveFBKey = 'RouteServerInitOK_LeaveFBKey' #Íæ¼ÒÀ뿪¸±±¾
|
|
#===============================================================================
|
# //////////////////////////////////////////////////////////////
|
# //01 14 Íæ¼ÒÔÚGameServer³õʼ»¯³É¹¦#tagMPlayerGameServerInitOK
|
# tagMPlayerGameServerInitOK * GettagMPlayerGameServerInitOK();
|
#
|
# class IPY_MPlayerGameServerInitOK
|
# {
|
# public:
|
# //ÎÞÒâÒå
|
# int GetType();
|
# };
|
#===============================================================================
|
## 01 14 Íæ¼ÒÔÚGameServer³õʼ»¯³É¹¦
|
# @param index Íæ¼ÒË÷Òý
|
# @param tick µ±Ç°Ê±¼ä
|
# @return None
|
# @remarks º¯ÊýÏêϸ˵Ã÷.
|
def GameSever_PlayerInitOK(index , tick):
|
#GameServerÒÑ·ÏÆú£¬²»ÔÙ´¦Àí¸ÃÂß¼
|
# curPlayer = GameWorld.GetPlayerManager().GetPlayerByIndex(index)
|
# #2009-12-17 ÒòµØÍ¼·þÎñÆ÷ÓпÉÄܹرÕÖØ¿ª£¬ÕâÀïÒªÅж¨¿Õ
|
# if not curPlayer:
|
# GameWorld.ErrLog('GameSever_PlayerInitError playerIndex = %s'%(index))
|
# return
|
#
|
# #ÉèÖóõʼ»¯³É¹¦
|
# curPlayer.SetGameServerInitOK(True)
|
#
|
# GameWorld.Log('GameSever_PlayerInitOK' , curPlayer.GetID())
|
return
|
|
|
#===============================================================================
|
# //01 15 Íæ¼ÒÔÚRouteServer³õʼ»¯³É¹¦#tagPlayerRouteServerInitOK
|
# structtagPlayerRouteServerInitOK
|
# {
|
# tag HeadHead;
|
# BYTE Type; //±£Áô£¬ÎÞÒâÒå
|
# };
|
#===============================================================================
|
## 01 15 Íæ¼ÒÔÚRouteServer³õʼ»¯³É¹¦#tagPlayerRouteServerInitOK
|
# @param index Íæ¼ÒË÷Òý
|
# @param tick µ±Ç°Ê±¼ä
|
# @return None
|
# @remarks º¯ÊýÏêϸ˵Ã÷.
|
def RouteServer_PlayerInitOK(index, tick):
|
#===============================================================================
|
# #Õâ¸öº¯Êý½öÔÚÍæ¼ÒµÇ½³É¹¦ºó²Å´¥·¢Ò»´Î
|
#===============================================================================
|
curPlayer = GameWorld.GetPlayerManager().GetPlayerByIndex(index)
|
#ÕâÀïÒªÅж¨¿Õ
|
if not curPlayer:
|
GameWorld.ErrLog('RouteServer_PlayerInitError playerIndex = %s'%(index))
|
return
|
|
#===============================================================================
|
# #ÉèÖÃRouteServer³õʼ»¯³É¹¦
|
# curPlayer.SetRouteServerInitOK(True)
|
#===============================================================================
|
#ÉèÖýű¾×Öµä½Ó¿Ú, ´Ë½Ó¿Ú´æÊý¾Ý¿â, ÏÂÏßÇå³ýÒ»´Î
|
PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_Player_Dict_RouteServerInitOK, 1)
|
|
#»º´æµÄÀ뿪¸±±¾·â°ü
|
if Get_PlayerRouteServerInitOK_OnLeaveFB(curPlayer):
|
PlayerControl.PlayerLeaveFB(curPlayer)
|
Set_PlayerRouteServerInitOK_OnLeaveFB(curPlayer, 0)
|
|
return
|
|
#---------------------------------------------------------------------
|
## ±£´æÀ뿪¸±±¾ÐÅÏ¢
|
# @param curPlayer µ±Ç°Íæ¼Ò
|
# @param value keyÖµ
|
# @return None
|
# @remarks º¯ÊýÏêϸ˵Ã÷.
|
def Set_PlayerRouteServerInitOK_OnLeaveFB(curPlayer, value):
|
curPlayer.SetDict(Def_RouteServerInitOK_LeaveFBKey, value)
|
return
|
|
## »ñÈ¡±£´æÀ뿪¸±±¾ÐÅÏ¢
|
# @param curPlayer µ±Ç°Íæ¼Ò
|
# @return None
|
# @remarks º¯ÊýÏêϸ˵Ã÷.
|
def Get_PlayerRouteServerInitOK_OnLeaveFB(curPlayer):
|
return curPlayer.GetDictByKey(Def_RouteServerInitOK_LeaveFBKey)
|
|
# DBÍÆË͹ýÀ´µÄ³äÖµÐÅÏ¢
|
def PushRecharge(index, tick):
|
curPlayer = GameWorld.GetPlayerManager().GetPlayerByIndex(index)
|
if not curPlayer or curPlayer.IsEmpty():
|
#¿ÉÄܸպÃÏÂÏßµ¼ÖÂÍæ¼Ò¶ÔÏóΪ¿Õ
|
return
|
cPlayerCoin = PlayerCoin.CPY_PlayerCoinToGold()
|
cPlayerCoin.useCoin = curPlayer.GetOrderAmount()
|
cPlayerCoin.orderID = curPlayer.GetOrderID()
|
cPlayerCoin.orderInfo = curPlayer.GetOrderInfo()
|
cPlayerCoin.isAddBourseMoney = True
|
|
GameWorld.DebugLog("PushRecharge-%s-%s-%s"%(cPlayerCoin.useCoin, cPlayerCoin.orderID, cPlayerCoin.orderInfo))
|
PlayerCoin.PlayerCoinToGold(curPlayer, cPlayerCoin, ChConfig.Def_GiveMoney_CoinToGold)
|
return
|
|