#!/usr/bin/python
|
# -*- coding: GBK -*-
|
#-------------------------------------------------------------------------------
|
#
|
#-------------------------------------------------------------------------------
|
#
|
##@package GM.Commands.ClearTagItem
|
#
|
# @todo:Çå³ýÄ¿±êÍæ¼ÒÎïÆ·
|
# @author hxp
|
# @date 2014-12-17
|
# @version 1.0
|
#
|
# ÏêϸÃèÊö: Çå³ýÄ¿±êÍæ¼ÒÎïÆ·
|
#
|
#---------------------------------------------------------------------
|
"""Version = 2014-12-17 14:30"""
|
|
|
import GameWorld
|
import IPY_GameWorld
|
|
## GMÃüÁîÖ´ÐÐÈë¿Ú
|
# @param curPlayer µ±Ç°Íæ¼Ò
|
# @param paramList ²ÎÊýÁбí tagPlayerID packType itemIndex
|
# @return None
|
# @remarks º¯ÊýÏêϸ˵Ã÷.
|
def OnExec(curPlayer, paramList):
|
|
if len(paramList) < 3:
|
GameWorld.DebugAnswer(curPlayer, "²ÎÊý´íÎó ClearTagItem tagPlayerID packType itemIndex")
|
GameWorld.DebugAnswer(curPlayer, "×óÊÖ:ClearTagItem tagPlayerID 1 20")
|
GameWorld.DebugAnswer(curPlayer, "ÓÒÊÖ:ClearTagItem tagPlayerID 1 0")
|
GameWorld.DebugAnswer(curPlayer, "±³°üµÚÒ»¸ñ:ClearTagItem tagPlayerID 2 0")
|
return
|
|
tagPlayerID = paramList[0]
|
packType = paramList[1]
|
itemIndex = paramList[2]
|
|
tagPlayer = GameWorld.GetPlayerManager().FindPlayerByID(tagPlayerID)
|
if not tagPlayer:
|
GameWorld.DebugAnswer(curPlayer, "ÕÒ²»µ½¸ÃÍæ¼Ò tagPlayerID=%s" % tagPlayerID)
|
return
|
|
if packType < 0 or packType >= IPY_GameWorld.rptMax:
|
GameWorld.DebugAnswer(curPlayer, "±³°üÀàÐÍ´íÎó packType=%s" % packType)
|
return
|
|
isOK = __DoLogic_ClearTagSingItem(tagPlayer, packType, itemIndex)
|
GameWorld.DebugAnswer(curPlayer, "Çå³ýÄ¿±êÍæ¼ÒÎïÆ·: tagPlayerID=%s,packType=%s,itemIndex=%s,isOK=%s"
|
% (tagPlayerID, packType, itemIndex, isOK))
|
return True
|
|
|
## Çå³ý¶ÔÓ¦±³°üijË÷ÒýµÄÎïÆ·
|
# @param curPlayer µ±Ç°Íæ¼Ò
|
# @param itemIndex ±³°üË÷Òý
|
# @return None
|
# @remarks º¯ÊýÏêϸ˵Ã÷.
|
def __DoLogic_ClearTagSingItem(tagPlayer, packType, itemIndex):
|
backPack = tagPlayer.GetItemManager().GetPack(packType)
|
curItem = backPack.GetAt(itemIndex)
|
|
if not curItem or curItem.IsEmpty():
|
return False
|
|
curItem.Clear()
|
return True
|
|