#!/usr/bin/python
|
# -*- coding: GBK -*-
|
|
##@package SetFreePoint
|
# ÉèÖà ָ¶¨ÕʺÅ<Íæ¼ÒID>µÄδ·ÖÅäµãÊý<δ·ÖÅäµãÊý>
|
#
|
# @author ifo
|
# @date 2010-4-23
|
# @version 1.0
|
#
|
# ÐÞ¸Äʱ¼ä ÐÞ¸ÄÈË ÐÞ¸ÄÄÚÈÝ
|
# VER = "2010-05-12 18:30" zhengyang Ìí¼Ó×¢ÊÍ
|
#
|
# Ä£¿éÏêϸ˵Ã÷
|
|
import OpenServerCampaign
|
import GameWorld
|
import PlayerControl
|
import IpyGameDataPY
|
import ChPlayer
|
import ChConfig
|
|
## GMÃüÁîÖ´ÐÐÈë¿Ú
|
# @param curPlayer µ±Ç°Íæ¼Ò
|
# @param playerList ²ÎÊýÁбí [pointCount]
|
# @return None
|
# @remarks º¯ÊýÏêϸ˵Ã÷.
|
def OnExec(curPlayer, paramList):
|
if not paramList:
|
GameWorld.DebugAnswer(curPlayer, "ÉèÖÃÁé¸ùµã: SetFreePoint ×ÔÓɵã [ÎåÐмӵãÊý]")
|
return
|
value = paramList[0]
|
curPlayer.SetFreePoint(value)
|
GameWorld.DebugAnswer(curPlayer, "ÉèÖÃ×ÔÓɵã: %s" % value)
|
# ¸üпª·þ»î¶¯Áé¸ùÊý¾Ý
|
OpenServerCampaign.UpdOpenServerCampaignLingGenData(curPlayer)
|
|
if len(paramList) > 1:
|
setPoint = paramList[1]
|
vIndex = 0
|
setAddPointList = []
|
ipyDataMgr = IpyGameDataPY.IPY_Data()
|
for index in range(ipyDataMgr.GetRolePointCount()):
|
vIndex += 1
|
attrID = ipyDataMgr.GetRolePointByIndex(index).GetAttrID()
|
setPoint = paramList[vIndex] if len(paramList) > vIndex else setPoint
|
PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_AddPointValue % attrID, setPoint)
|
setAddPointList.append(setPoint)
|
GameWorld.DebugAnswer(curPlayer, "ÉèÖÃÎåÐеã: %s" % setAddPointList)
|
ChPlayer.NotifyPlayerBasePoint(curPlayer)
|
playerControl = PlayerControl.PlayerControl(curPlayer)
|
playerControl.RefreshPlayerAttrState()
|
return
|