#!/usr/bin/python
|
# -*- coding: GBK -*-
|
#-------------------------------------------------------------------------------
|
#
|
#-------------------------------------------------------------------------------
|
#
|
##@package GMT_AddEntireCompensation.py
|
#
|
# @todo:Ìí¼ÓÈ«·þ²¹³¥
|
# @author xmnathan
|
# @date 2014-09-29 13:00
|
# @version 1.3
|
#
|
# @change: "2014-10-24 17:30" hxp Ôö¼Ó²¹³¥Áìȡʱ¼äÅжϣ¬ÒѹýÆÚ·µ»ØGM¹¤¾ßʱ¼ä´íÎó
|
# @change: "2015-06-19 17:00" hxp ÎÞÎïÆ·¿ÉÌí¼Ó²¹³¥
|
# @change: "2017-04-26 16:30" hxp ÓÅ»¯´úÂ룬 ×°±¸ÐÅÏ¢×Öµäͳһ´¦Àí
|
#
|
# ÏêϸÃèÊö: Ìí¼ÓÈ«·þ²¹³¥
|
#
|
#---------------------------------------------------------------------
|
#"""Version = 2017-04-26 16:30"""
|
#---------------------------------------------------------------------
|
|
#µ¼Èë
|
import DataRecordPack
|
import GMT_AddPersonalCompensation
|
import PlayerCompensation
|
import GameWorld
|
import GMCommon
|
import uuid
|
import ChConfig
|
#---------------------------------------------------------------------
|
|
## ÇåÀí×Öµä
|
# @param gmCmdDict µ±Ç°Íæ¼Ò
|
# @return None
|
def ClearEmptyFromDict(gmCmdDict):
|
keysList = gmCmdDict.keys()[::]
|
for key in keysList:
|
if gmCmdDict[key] == '':
|
gmCmdDict.pop(key)
|
continue
|
return gmCmdDict
|
|
## Ö´ÐÐÂß¼
|
# @param curPlayer µ±Ç°Íæ¼Ò
|
# @param gmCmdDict: ÃüÁî×Öµä
|
# @return None
|
# @remarks º¯ÊýÏêϸ˵Ã÷.
|
def OnExec(orderId, gmCmdDict):
|
gmCmdDict = ClearEmptyFromDict(gmCmdDict)
|
|
LimitTime = gmCmdDict.get('EndTime', '2050-12-13 00:00:00')
|
curServerTime = GameWorld.GetCurrentDataTimeStr()
|
# µ±Ç°Ê±¼äÒѾ³¬¹ýÁìȡʱ¼ä
|
if not curServerTime or curServerTime >= LimitTime:
|
GMCommon.GMCommandResult(orderId, gmCmdDict, GMCommon.Def_InvalidTime)
|
return
|
|
Title = gmCmdDict.get('Title', '')
|
Text = gmCmdDict.get('Text', '')
|
GUID = str(uuid.uuid1())
|
PlayerLV = int(gmCmdDict.get('PlayerLV', '0'))
|
PlayerJob = int(gmCmdDict.get('PlayerJob', '127'))
|
|
gold = int(gmCmdDict.get('Gold', '0'))
|
goldPaper = int(gmCmdDict.get('GoldPaper', '0'))
|
silver = int(gmCmdDict.get('Silver', '0'))
|
sender = gmCmdDict.get('Sender', ChConfig.Def_Mail_SenderSys)
|
|
#¹¤¾ß·¢¹ýÀ´µÄÎïÆ·Ï±êÒÀ¾Ý 'index,index,...' ²»Ò»¶¨ÊÇ´Ó0¿ªÊ¼²¢°´Ë³ÐòÁ¬Ðø =_=#
|
intemIndexStrList = []
|
itemNums = gmCmdDict.get('itemNums', '')
|
if itemNums.strip() != '':
|
intemIndexStrList = itemNums.split(',')
|
#Ìí¼ÓÎïÆ·
|
addItemDictList = []
|
for itemIndexStr in intemIndexStrList:
|
addItemDict = GMT_AddPersonalCompensation.GetGMTCompensationItemDict(gmCmdDict, itemIndexStr)
|
if not addItemDict:
|
continue
|
#Ìí¼Óµ½ÎïÆ·ÐÅÏ¢Áбí
|
addItemDictList.append(addItemDict)
|
|
#if len(addItemDictList) == 0:
|
# GMCommon.GMCommandResult(orderId, gmCmdDict, GMCommon.Def_ParamErr)
|
# return
|
|
PlayerCompensation.AddEntireItem(GUID, addItemDictList, LimitTime,
|
PlayerLV, PlayerJob, "%s<$_$>%s<$_$>%s"%(sender, Title, Text),
|
gold, goldPaper, silver)
|
|
#Ö´Ðгɹ¦
|
GMCommon.GMCommandResult(orderId, gmCmdDict, GMCommon.Def_Success)
|
# Á÷Ïò
|
DataRecordPack.DR_ToolGMOperate(0, '', '', 'GMT_AddEntireCompensation', str(gmCmdDict))
|
return
|
|
|
|