1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
#!/usr/bin/python
# -*- coding: GBK -*-
#-------------------------------------------------------------------------------
#
##@package Player.RemoteQuery.GY_Query_CrossPutInItem
#
# @todo:¿ç·þ»ñµÃÎïÆ·
# @author hxp
# @date 2019-01-09
# @version 1.0
#
# ÏêϸÃèÊö: ¿ç·þ»ñµÃÎïÆ·
#
#-------------------------------------------------------------------------------
#"""Version = 2019-01-09 19:30"""
#-------------------------------------------------------------------------------
 
import GameWorld
import ItemCommon
import ItemControler
import PlayerControl
 
#------------------------------------------------------------------------------ 
## ¿ç·þÈü±¨Ãûµ÷ÓýӿÚ
#  @param query_Type ÇëÇóÀàÐÍ
#  @param query_ID ÇëÇóµÄÍæ¼ÒID
#  @param packCMDList ·¢°üÃüÁî
#  @param tick µ±Ç°Ê±¼ä
#  @return "True" or "False" or ""
#  @remarks º¯ÊýÏêϸ˵Ã÷.
def DoLogic(query_Type, query_ID, packCMDList, tick): 
    return
 
 
#------------------------------------------------------------------------------ 
## Ö´Ðнá¹û
#  @param curPlayer ·¢³öÇëÇóµÄÍæ¼Ò
#  @param callFunName ¹¦ÄÜÃû³Æ
#  @param funResult ²éѯµÄ½á¹û
#  @param tick µ±Ç°Ê±¼ä
#  @return None
#  @remarks º¯ÊýÏêϸ˵Ã÷.
def DoResult(curPlayer, callFunName, funResult, tick):
    playerID = curPlayer.GetPlayerID()
    GameWorld.Log("GY_Query_CrossPutInItem %s" % funResult, playerID)
    itemInfo = eval(funResult)
    if playerID != itemInfo["PlayerID"]:
        return
    itemData = itemInfo["ItemData"]
    packIndex = itemInfo["PackIndex"]
    event = itemInfo["Event"]
    itemID, itemCount, isAuctionItem, itemUserData = itemData
    curItem = ItemCommon.CreateSingleItem(itemID, itemCount, isAuctionItem)
    if not curItem:
        return
    if itemUserData and itemUserData != "{}":
        curItem.SetUserData(itemUserData, len(itemUserData))
        
    if ItemControler.PlayerItemControler(curPlayer).PutInItem(packIndex, curItem, event=event):
        return
    
    # ·ÅÈëʧ°Ü·¢Óʼþ
    GameWorld.Log("ÊÕµ½¿ç·þ»ñµÃÎïÆ·£¬·ÅÈëʧ°Ü£¬Ö±½Ó·¢Óʼþ! itemInfo=%s" % str(itemInfo), playerID)
    addItemList = [{"ItemID":itemID, "Count":itemCount, "IsAuctionItem":isAuctionItem, "UserData":itemUserData}]
    PlayerControl.SendMailByKey("", [playerID], addItemList, detail={"CrossPutInItem":1, "Event":event})
    return