def _rpcRemoveItem(self, obj):  #override
        if obj.isFriend():
            self.endPoint.rpcFriendDel(obj.friendRoleId)
        elif obj.isBlack():
            self.endPoint.rpcFriendDelBlack(obj.friendRoleId)


def getFriendCtn(iRoleId):
    return gKeeper.getObjFromDB(factory.NO_ROW_RETURN_NONE, iRoleId)


from friend.defines import *
import sql
import role
import friend
import productKeeper
import factoryConcrete
import jitKeeper
import config
import friend_pb2
import friend.object
import resume
import friend.service

#用于查看离线玩家的包裹/装备信息.一段时间后不访问,自动从容器上移除
if 'gKeeper' not in globals():
    KEEP_SECOND = 30 if config.IS_INNER_SERVER else 60 * 5
    # gKeeper=productKeeper.cJITproductKeeper(factoryConcrete.friendCtnFtr,KEEP_SECOND)	临时屏蔽,测试jitKeeper
    gKeeper = jitKeeper.cJITproductKeeper(factoryConcrete.friendCtnFtr)
Exemple #2
0
from common import *
import sql
import factoryConcrete
import buddy
import buddy_pb2
import message
import buddyData
import mainService
import buddy.service
import config
import jitKeeper
import factory
import cycleData

def getBuddyCtn(iRoleId):
	return gKeeper.getObjFromDB(factory.NO_ROW_RETURN_NONE, iRoleId)

descKindList = {
	"物攻型":1,
	"法攻型":2,
	"治疗型":3,
	"辅助型":4,
	"封印型":5,
}

#用于查看离线玩家的包裹/装备信息.一段时间后不访问,自动从容器上移除
if 'gKeeper' not in globals():
	KEEP_SECOND=30 if config.IS_INNER_SERVER else 60*5
	# gKeeper=productKeeper.cJITproductKeeper(factoryConcrete.friendCtnFtr,KEEP_SECOND)	临时屏蔽,测试jitKeeper
	gKeeper=jitKeeper.cJITproductKeeper(factoryConcrete.buddyCtnFtr)
Exemple #3
0
# -*- coding: utf-8 -*-
'''玩家离线处理
'''
import jitKeeper
import factoryConcrete
import factory

def getOffline(roleId):
	'''获取离线玩家对象
	'''
	offlineObj = gKeeper.getObjFromDB(factory.NO_ROW_RETURN_NONE, roleId)
	return offlineObj

def addHandler(roleId, handlerName, **kwargs):
	offlineObj = getOffline(roleId)
	if offlineObj:
		offlineObj.addHandler(handlerName, **kwargs)
	
def executeHandler(who):
	offlineObj = getOffline(who.id)
	if offlineObj:
		offlineObj.executeHandler(who)


if 'gKeeper' not in globals():
	gKeeper = jitKeeper.cJITproductKeeper(factoryConcrete.offlineFtr)
Exemple #4
0
        self.day = cycleData.cCycDay(10, self._dirtyEventHandler)  #天变量
        self.week = cycleData.cCycWeek(5, self._dirtyEventHandler)  #周变量
        self.month = cycleData.cCycMonth(3, self._dirtyEventHandler)  #月变量
        self.cycDataMerge = pst.cMergePersist({
            'h': self.hour,
            'd': self.day,
            'w': self.week,
            'm': self.month
        })

    def getPstObj(self):  #override
        return self.cycDataMerge

    def _dirtyEventHandler(self):
        factoryConcrete.cycFtr.schedule2tail4save(self.iRoleId)


import factoryConcrete
import productKeeper
import misc
import config
import jitKeeper
#用于查看离线玩家的cycData,一段时间后自动删除
if 'gKeeper' not in globals():
    KEEP_SECOND = 30 if config.IS_INNER_SERVER else 60 * 5
    # gKeeper=productKeeper.cJITproductKeeper(factoryConcrete.cycFtr,KEEP_SECOND) 临时屏蔽,测试jitKeeper
    gKeeper = jitKeeper.cJITproductKeeper(factoryConcrete.cycFtr)

import sql
import cycleData
Exemple #5
0
import jitKeeper

class cProductkeeper(productKeeper.cProductkeeper):
	def removeObj(self,sUserSource,sAccount):#override
		return productKeeper.cProductkeeper.removeObj(self,sUserSource,sAccount)
import u

if 'gbOnce' not in globals():
	gbOnce=True
	
	if 'mainService' in SYS_ARGV:
		gKeeper=cProductkeeper(factoryConcrete.accountFtr)#在线的账号才放到这里

		#为了方便后台gm指令,所以此处加一个account的jitKeeper
		# gJitKeeper=productKeeper.cJITproductKeeper(factoryConcrete.accountFtr)	临时屏蔽,测试jitKeeper
		gJitKeeper=jitKeeper.cJITproductKeeper(factoryConcrete.accountFtr)
		
		
#-----------------------------------------------
#上面的都是单区内的账号信息,还应该有一个跨区的账号信息.数据存在登录服.
#-----------------------------------------------
import gevent
import weakref
import json

import factoryConcrete
import sql
import db4ms
import endPoint
import c
import u
    def _getSelectRecordsetFieldCount(self):
        return 10

    def _setValuesAfterSelect(self, *tValues):  #override
        self.sName, self.iExp, self.iLv, self.iPro, self.iWeapShape, self.iGold, self.iStatus, self.iLeagueRank, self.iArenaPoint, self.iVoucher = tValues
        # if not self.sName:
        # 	self.sName=c.BORN_NAME #原属性为None,不会触发观察列表值变化引起的存盘

    def _setSelectNoRecordsetDefaultValues(self,
                                           *itNoRowInsertValues):  #override
        self.sName, self.iExp, self.iLv, self.iPro, self.iWeapShape, self.iGold, self.iStatus, self.iLeagueRank, self.iArenaPoint, self.iVoucher = itNoRowInsertValues[
            4:]
        # self.sName=c.BORN_NAME #原属性为None,不会触发观察列表值变化引起的存盘


import factoryConcrete
import misc
import config
import jitKeeper

#用于查看离线玩家的多列信息.一段时间后不访问,自动从容器上移除
if 'gKeeper' not in globals():
    KEEP_SECOND = 30 if config.IS_INNER_SERVER else 60 * 5
    gKeeper = jitKeeper.cJITproductKeeper(factoryConcrete.multiField1Ftr)

import role
import sql
import factoryConcrete
import c
Exemple #7
0

def getObj(iRoleId):
	return gGoldCoinKeeper.getObj(iRoleId)


#import productKeeper
import factoryConcrete
import jitKeeper
import u

if 'gbOnce' not in globals():
	gbOnce=True
	
	if 'mainService' in SYS_ARGV:		
		gGoldCoinKeeper=jitKeeper.cJITproductKeeper(factoryConcrete.goldCoinFtr)
	

#import gevent
import weakref
import c
import u
import misc
import log
import config
import cycleData

#起几个别名,方便统计内存对象
class cCycHourInGoldCoin(cycleData.cCycHour):pass
class cCycDayInGoldCoin(cycleData.cCycDay):pass	
class cCycWeekInGoldCoin(cycleData.cCycWeek):pass