Exemplo n.º 1
0
 def InsertItemIntoDB(self, characterId=0):
     '''将物品信息写入数据库'''
     if self.baseInfo.id:  #已经存在物品的实例
         return
     itemTemplateId = self.baseInfo.itemTemplateId
     isBound = 0
     durability = 0
     stack = self.pack.getStack()
     data = {
         'characterId': characterId,
         'itemTemplateId': itemTemplateId,
         'isBound': isBound,
         'accesstime': datetime.datetime.now(),
         'durability': durability,
         'stack': stack,
         'strengthen': 0,
         'workout': 0,
         'slot_1': 0,
         'slot_2': 0,
         'slot_3': 0,
         'slot_4': 0,
         'exp': self.exp
     }
     newitemmode = tbitemadmin.new(data)
     itemId = int(newitemmode._name.split(':')[1])
     self.baseInfo.setId(itemId)
     return itemId
Exemplo n.º 2
0
def GetNewItem(dynamicId, characterId, list):
    '''
    获得物品
    '''
    player = PlayersManager().getPlayerByID(characterId)
    if not player or not player.CheckClient(dynamicId):
        return {'result': False, 'message': ""}
    plist = player.pack.getPackageItemList()['data']['itemlist']
    print list
    print plist
    length = len(list)
    length2 = len(plist)
    print(length, length2)
    print list[1]['itemid']
    print plist[1]['tempid']
    needdel = []
    for i in range(0, length):
        for j in range(0, length2):
            if list[i]['itemid'] == plist[j]['tempid']:
                s = dbItems.getItem(characterId,
                                    plist[j]['itemid'])[0]['stack'] + 1
                dbItems.setStack(s, plist[j]['itemid'], characterId)
                needdel.append(i)
                print('same', i)
                print needdel
    if needdel:
        lendel = len(needdel)
        needdel.reverse()
        for i in range(0, lendel):
            print('i', i)
            a = needdel[i]
            print('a', a)
            del list[a]

    print('needdel', needdel)
    print('left', list)

    newlength = len(list)
    for i in range(0, newlength):
        data = {
            'characterId': characterId,
            'itemTemplateId': list[i]['itemid'],
            'isBound': 0,
            'accesstime': datetime.datetime.now(),
            'durability': 0,
            'stack': 1,
            'strengthen': 0,
            'workout': 0,
            'slot_1': 0,
            'slot_2': 0,
            'slot_3': 0,
            'slot_4': 0,
            'exp': 0
        }
        newitemmode = tbitemadmin.new(data)
        itemId = int(newitemmode._name.split(':')[1])
        print itemId
Exemplo n.º 3
0
 def InsertItemIntoDB(self,characterId = 0):
     """将物品信息写入数据库"""
     if self.baseInfo.id:#已经存在物品的实例
         return
     itemTemplateId = self.baseInfo.itemTemplateId
     isBound = 0
     durability = 0
     stack = self.pack.getStack()
     data = {'characterId':characterId,
             'itemTemplateId':itemTemplateId,
             'isBound':isBound,
             'accesstime':datetime.datetime.now(),
             'durability':durability,
             'stack':stack,'strengthen':0,
             'workout':0,'slot_1':0,'slot_2':0,
             'slot_3':0,'slot_4':0,'exp':self.exp}
     newitemmode = tbitemadmin.new(data)
     itemId = int(newitemmode._name.split(':')[1])
     self.baseInfo.setId(itemId)
     return itemId