hxp
2024-12-10 cc3b988b52ba3f473862d289ec58e7873e35d713
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
#!/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