6373 【后端】【2.0】删除无用功能代码、封包、配置(生产系统)
| | |
| | | PacketSubCMD_2=0x30
|
| | | PacketCallFunc_2=UpdateFineSoulSlot
|
| | |
|
| | | ;生产系统
|
| | | [PlayerProduce]
|
| | | ScriptName = Player\PlayerProduce.py
|
| | | Writer = chenxuewei
|
| | | Releaser = chenxuewei
|
| | | RegType = 0
|
| | | RegisterPackCount = 2
|
| | |
|
| | | PacketCMD_1=0x03
|
| | | PacketSubCMD_1=0x32
|
| | | PacketCallFunc_1=ProductionActive
|
| | |
|
| | | PacketCMD_2=0x03
|
| | | PacketSubCMD_2=0x33
|
| | | PacketCallFunc_2=StartProduce
|
| | |
|
| | | ;答题
|
| | | [Exam]
|
| | | ScriptName = Player\PlayerExam.py
|
| | |
| | | # 脱机挂状态下不刷新buff时间的
|
| | | TJGStateNotRefreshTimeBuff = [Def_SkillID_Red]
|
| | |
|
| | | #===============================================================================
|
| | | # 生产相关技能ID在下面配置
|
| | | # Def_SkillID_Produce
|
| | | # Def_ProduceBuffID
|
| | | #===============================================================================
|
| | |
|
| | | #技能ID对应的区域类型
|
| | | Def_AreaType_SkillID_Safe = 20011 # 安全区
|
| | | Def_AreaType_SkillID_FreePK = 20010 # pk区
|
| | |
| | | ) = range(4, 4 + 2)
|
| | |
|
| | | #---玩家生产系统-------------------------------------------
|
| | | Def_ProduceLVMin = 5 # 生产材料采集玩家最小等级
|
| | | Def_SkillID_Produce = 20018 # 生产技能ID
|
| | | Def_ProduceBuffID = 20021 # 进入生产采集状态添加的buffID
|
| | | #生产采集进度条时间为10秒
|
| | | Def_ProducePortalTime = 10000
|
| | | #生产采集状态枚举值
|
| | | [
|
| | | Def_EndProduction, # 退出生产采集状态 0
|
| | |
| | |
|
| | | #通知玩家技能信息
|
| | | __Sync_ClientSkill(curPlayer)
|
| | | #清除生产采集Buff
|
| | | #PlayerControl.DelProduceBuff(curPlayer, tick)
|
| | | #清除国家答题Buff
|
| | | #PlayerExam.DoLogic_ExitExam(curPlayer, tick, needRefresh = False)
|
| | | #清除VIPbuff
|
| | |
| | | if BuffSkill.DelBuffBySkillID(curPlayer, ChConfig.Def_SkillID_LimitSuperBuff, tick):
|
| | |
|
| | | PlayerControl(curPlayer).RefreshPlayerAttrByBuff()
|
| | |
|
| | | #---------------------------------------------------------------------
|
| | | ##清除生产采集BUF
|
| | | # @param curPlayer 玩家实例
|
| | | # @param tick 时间戳
|
| | | # @param isLeaveServer 玩家是否离开服务器
|
| | | # @return 返回值无意义
|
| | | # @remarks 清除生产采集BUF
|
| | | def DelProduceBuff(curPlayer, tick, isLeaveServer=False):
|
| | | |
| | | if not isLeaveServer:
|
| | | if curPlayer.GetPlayerAction() != IPY_GameWorld.paProduce:
|
| | | #玩家当前状态不在生产采集,不处理
|
| | | return
|
| | | |
| | | #清除生产buff(ID20021)
|
| | | BuffSkill.DelBuffBySkillID(curPlayer, ChConfig.Def_ProduceBuffID, tick)
|
| | | |
| | | #清除活动无敌Buff
|
| | | BuffSkill.DelBuffBySkillID(curPlayer, ChConfig.Def_SkillID_ActionWuDi, tick)
|
| | | |
| | | if not isLeaveServer:
|
| | | #设置玩家空闲状态
|
| | | ChangePlayerAction(curPlayer, IPY_GameWorld.paNull)
|
| | | #通知客户端
|
| | | curPlayer.Notify_ProductionState(ChConfig.Def_EndProduction)
|
| | | |
| | | #PlayerControl(curPlayer).RefreshAllState()
|
| | | return
|
| | |
|
| | | #---------------------------------------------------------------------
|
| | | ##特殊状态处理
|
| | |
| | | import ItemCommon
|
| | | import OperControlManager
|
| | | import ShareDefine
|
| | | import PlayerProduce
|
| | | import PlayerAutoCheckOnline
|
| | | import PlayerGameWallow
|
| | | import ReadChConfig
|
| | | import ChPyNetSendPack
|
| | | import NetPackCommon
|
| | | import DataRecordPack
|
| | | import PlayerViewCacheTube
|
| | | import PlayerDienstgrad
|
| | | import PlayerVip
|
| | |
| | | elif prepareState == IPY_GameWorld.pstMissionCollecting:
|
| | | #任务采集
|
| | | PlayerMissionCollect.EndMissionCollect(curPlayer, tick)
|
| | |
|
| | | elif prepareState == ShareDefine.Def_PstProduce:
|
| | | #生产采集(进入生产采集状态,不再重置玩家状态)
|
| | | PlayerProduce.OnProduceEnd(curPlayer, tick)
|
| | | return
|
| | |
|
| | | elif prepareState == ShareDefine.Def_PstTrans:
|
| | |
|