#!/usr/bin/python # -*- coding: GBK -*- #------------------------------------------------------------------------------- # ##@package GM.Commands.Family # # @todo:ÏÉÃË # @author hxp # @date 2025-10-10 # @version 1.0 # # ÏêϸÃèÊö: ÏÉÃË # #------------------------------------------------------------------------------- #"""Version = 2025-10-10 21:00""" #------------------------------------------------------------------------------- import GameWorld import IpyGameDataPY import PlayerFamilyEmblem import PlayerFamily import DBDataMgr import PlayerControl import time def OnExec(curPlayer, msgList): if not msgList: GameWorld.DebugAnswer(curPlayer, "ÉèÖõȼ¶: Family lv µÈ¼¶ ¾­Ñé") GameWorld.DebugAnswer(curPlayer, "ÉèÖûÕÕÂ: Family e »ÕÕÂID [Ê£Óàʱ¼äÃë]") GameWorld.DebugAnswer(curPlayer, "ÉèÖÃÀ뿪: Family l Ö÷¶¯À뿪´ÎÊý ±»Ìß´ÎÊý ÉÏ´ÎÊÇ·ñÖ÷¶¯ À뿪¶à¾ÃÁË") GameWorld.DebugAnswer(curPlayer, "´´½¨ÏÉÃËÏà¹ØÊ¹ÓÃÃüÁî: CreateFamily") return value = msgList[0] if value == "l": leaveCnt = msgList[1] if len(msgList) > 1 else 0 kickedCnt = msgList[2] if len(msgList) > 2 else 0 lastVoluntarily = msgList[3] if len(msgList) > 3 else 0 leavePassMinutes = msgList[4] if len(msgList) > 4 else 0 leaveInfo = PlayerControl.SetLeaveFamilyInfo(curPlayer, leaveCnt, kickedCnt, lastVoluntarily) leaveTime = PlayerControl.SetLeaveFamilyTimeEx(curPlayer, int(time.time()) - leavePassMinutes * 60) GameWorld.DebugAnswer(curPlayer, "ÉèÖÃÀ뿪: Info=%s,%s" % (leaveInfo, GameWorld.ChangeTimeNumToStr(leaveTime))) return familyID = curPlayer.GetFamilyID() familyMgr = DBDataMgr.GetFamilyMgr() curFamily = familyMgr.FindFamily(familyID) if familyID else None if not curFamily: GameWorld.DebugAnswer(curPlayer, "Íæ¼Òδ¼ÓÈëÏÉÃË!") return if value == "lv": lv = msgList[1] if len(msgList) > 1 else 1 exp = msgList[2] if len(msgList) > 2 else 0 if not IpyGameDataPY.GetIpyGameData("Family", lv): GameWorld.DebugAnswer(curPlayer, "ÏÉÃ˵ȼ¶²»´æÔÚ: %s" % (lv)) return curFamily.SetLV(lv) curFamily.SetExp(exp) GameWorld.DebugAnswer(curPlayer, "ÉèÖÃÏÉÃ˵ȼ¶:%s, exp=%s" % (lv, exp)) elif value == "e": emblemID = msgList[1] if len(msgList) > 1 else 0 setExpireTimes = msgList[2] if len(msgList) > 2 else None emblemActionObj = PlayerFamilyEmblem.AddFamilyEmblem(curFamily.GetID(), emblemID, setExpireTimes) if not emblemActionObj: GameWorld.DebugAnswer(curPlayer, "¸Ã»ÕÕÂIDÎÞ·¨Ìí¼Ó") return endTime = PlayerFamilyEmblem.GetActionEmblemEndTime(emblemActionObj) GameWorld.DebugAnswer(curPlayer, "Ìí¼Ó»ÕÕÂ(%s)µ½ÆÚ:%s" % (emblemID, GameWorld.ChangeTimeNumToStr(endTime))) return PlayerFamily.Sync_FamilyInfo(curPlayer) return