#!/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