⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 playerinfo.h

📁 韩国英雄王座倒闭后流出来部分源代码
💻 H
📖 第 1 页 / 共 3 页
字号:
		{
			return false ;
		}

		return true ;
	}

	void		_ItemMove(CItem * pItem,BYTE nDestination)   ;
	void		_DeleteItem(CItem * pItem) 
	{
		if(pItem == NULL) return;
		
		m_sItemCount[pItem->m_nWHERE] -= pItem->m_nSLOTWIDTH * pItem->m_nSLOTHEIGHT ;
		m_sItemCount[pItem->m_nWHERE] = MAX(m_sItemCount[pItem->m_nWHERE],WHERE_INVENTORY ) ;
		
#ifdef DEF_ITEMCOUNT_BADAJOA20041108_TEST
	ErrorMsg("(T) (%s)(%s) Delete %d(%d) (%d)",m_strPlayerID,pItem->m_csName,pItem->m_nWHERE,m_sItemCount[pItem->m_nWHERE], pItem->m_nSLOTWIDTH * pItem->m_nSLOTHEIGHT ) ;
#endif

	}

	void		_AddItem(CItem * pItem) 
	{
		if(pItem == NULL) return;
		m_sItemCount[pItem->m_nWHERE] += pItem->m_nSLOTWIDTH * pItem->m_nSLOTHEIGHT ;
#ifdef DEF_ITEMCOUNT_BADAJOA20041108_TEST
	ErrorMsg("(T) (%s)(%s) Add %d(%d) (%d)",m_strPlayerID,pItem->m_csName,pItem->m_nWHERE,m_sItemCount[pItem->m_nWHERE], pItem->m_nSLOTWIDTH * pItem->m_nSLOTHEIGHT ) ;
#endif

	}

#endif
	
	int			m_iPKPoint ;
	int			m_iPKWin ;
	int			m_iPKLose ;

#ifdef DEF_NPCCARD
	DWORD		m_dwNPCCardSellComplete;
#endif

#ifdef DEF_KUMA_GAMBLE
	BYTE			m_nGambleState;
	CItem*			m_pTmpGambleItem;
#endif


	bool			m_bWaitForPartyReq;
	bool			m_bPartyBreak;


//	Implementation
public:
	void Batch_CheckProtectTime();



	bool World_GuildInvItemInsert( CItem *pItem  );

	bool GuildBank_InventoryDelete(CItem *pItem );
	bool GuildBank_InventoryAdd(CItem *pItem, WORD pX, WORD pY );
	void GuildBank_InventoryActByWorld( _LPZW_GUILDINVENTORYACT_REP pPacket );
	void GuildBank_InventoryAct(_LPZP_INVENTORYACT_ASK pPacket);
	void GuildBank_SendInventory();

	void GuildBank_GoldInOutByMap( int pGoldInOut );
#ifdef 	DEF_GUILDBIGMONEY_BADAJOA20050622
	void GuildBank_GoldInOutByWorld( int pGoldInOut, __int64 pBankMoney, BYTE pBankTab  );
#else // #ifdef 	DEF_GUILDBIGMONEY_BADAJOA20050622
	void GuildBank_GoldInOutByWorld( int pGoldInOut, int pBankMoney, BYTE pBankTab  );
#endif // #ifdef 	DEF_GUILDBIGMONEY_BADAJOA20050622


#ifdef DEF_GUILDBANK
	bool bGuildInventoryClear();
	bool Init_GuildInventory(_LP_PLAYERINVENTORY pInventory);
#endif

#ifdef DEF_GUILDRANKDUB
	void RequestGuildRankDub(_LPZP_GUILDRANKDUB_ASK pPacket);
	GUILDRANK_ENUM GetRank(char * pRank );
	void GuildRankDub(_LPZP_GUILDRANKDUB_ASK pPacket) ;
#endif
	



	bool Guild_CheckFunctionAuthorize(int pAuthorize=GBA_BANKVIEW);


	void MoveMap( int pLinkIndex );


#ifdef DEF_AZIT
	bool Azit_ProposeHouseWar	( int pAzitHandle );
	bool Azit_TaxChange			( int pTaxRate );
	void Init_AzitMap			( _LPSOCKET_FD	pSocketFD);
#endif

	bool Inventory_Add(CItem *pItem, BYTE pWhere, WORD pX, WORD pY );

	void DB_PlayerGameIn();
	void DB_PlayerGameOut();

	bool IsFreeUser();
	
	void EnchantStopSetItem();


	void Bank_ChangePassword(_LPZP_CHANGEBANKPASSWORD_ASK pPacket);
	void Bank_ChangeLock(_LPZP_CHANGEBANKLOCK_ASK pPacket);
	
	void CheckMatchDead(char *) ;
	void CheckMatchLogout() ;

	void MatchLogout() ;	
	void MatchClear() ;


	//	--------------------------------------------------------------------------------
	//	QUEST Functions 
	//	--------------------------------------------------------------------------------
	void QuestGlobal_Clear();
	int  QuestGlobal_GetValue(int pVar);
	void QuestGlobal_SetValue( int pVar, int pNum );
	void PartyQuestChannel_Init();
	int  GetPartyQuestCount();

	void QuestGlobal_SetValueByWorld( _LPZW_QUESTGLOBALVALUE_REP pPacket );

	
	void Quest_SetEventMapPath(int pMapBase, int pMapPath, int pMapSelect);
	void Quest_SetNextEventMap();

	CActiveQuest*  SetActiveQuest( DWORD pQuestIndex );

	//	--------------------------------------------------------------------------------
	//	QUEST NPC Functions 
	//	--------------------------------------------------------------------------------

	void QuestCreateNPC(	char	*pNPCName		, 
							DWORD	pAIOption		, 
							int		pOptionID[10]	, 
							int		pOptionValue[10], 
							int		pBaseID			, 
							int		pX				, 
							int		pY				, 
							int		pNewNPCID		, 
							int		pOptionDegree 	,
							int		pNearTile		,
							int		pLevelChangeRate,
							bool	pWithOption	
						);


	void QuestNPC_Set( int pNPCID, int pOption );
	bool QuestNPC_SetAI( int pNPCID, int pStrategy, int pTarget );
	void QuestNPC_Destory( int pNPCID );


	void QuestGuild_ExpGive	(int iExpgive) ;
	void GuildChangeExp		(_LPZW_GUILDCHANGEEXP lpPacket );
	void GuildNoticeSet		(_LPZP_GUILDNOTICESET_REP lpPacket );


	char m_cMsg[100] ;

	void Quest_Abandon( _LPZP_QUESTABANDON_ASK pPacket );

	void QuestComplete( CActiveQuest *pAQ, BOOL pComplete );
	void QuestDelete( CActiveQuest *pAQ );	
	
#ifdef DEF_CHECK_QUEST_REQUEST
	bool QuestRequest( int pQuestIndex, bool bRunConstruct = true );
#else
	void QuestRequest( int pQuestIndex, bool bRunConstruct = true );
#endif


	//	--------------------------------------------------------------------------------
	//	QUEST Trigger Functions 
	//	--------------------------------------------------------------------------------
	void QuestTrigger				( DWORD pQuestIndex, DWORD pTriggerIndex );
	void QuestTrigger_OnArrive		(_LPZP_QUESTTRIGGERONARRIVE_ASK pPacket);
	void QuestTrigger_OnDie			(_LPZP_QUESTTRIGGERONDIE_ASK pPacket);
	void QuestTrigger_OnMissionStop	(_LPZP_QUESTTRIGGERONMISSIONSTOP_ASK pPacket);
	void QuestTrigger_OnMsg			(_LPZP_QUESTTRIGGERONMSG_ASK pPacket );
	void QuestTrigger_OnClick		(_LPZP_QUESTTRIGGERONCLICK_ASK pPacket );
	void QuestTrigger_OnKill		(_LPZP_QUESTTRIGGERONKILL_ASK pPacket);
	void QuestTrigger_OnReturn		(_LPZP_QUESTTRIGGERONRETURN_ASK pPacket);

	//	--------------------------------------------------------------------------------
	//	QUEST Item Functions 
	//	--------------------------------------------------------------------------------	
	void QuestItem_UpgradeMagic		( CItem *pUpgradeItem, int pOptionID, int pOptionValue );
	void QuestItem_UpgradeRare		(CItem *pUpgradeItem, int pUpgradePercent );
	void QuestItem_UpgradeBase		( CItem *pUpgradeItem);
	void QuestItem_Delete			( CItem *pItem );

	void QuestItem_Update( CItem *pItem , int pCount  );

	//	--------------------------------------------------------------------------------
	//	QUEST Action Functions 
	//	--------------------------------------------------------------------------------	
	void Quest_Teleport( int pMapID, int nX, int nY );


	//	--------------------------------------------------------------------------------
	//	PLAY MUSIC 
	//	pFile - 颇老 捞抚
	//	nOption - 0: 茄锅, 1: 风橇, 2: STOP
	//	//Jason 2004-05-10
	//	--------------------------------------------------------------------------------
	void QuestPlayMusic(char* pFile, int nOption, int nPlay); 



	void OnAttackMode() ;
	void Batch_QuestTimer();


	//	--------------------------------------------------------------------------------
	//
	//	--------------------------------------------------------------------------------

	int  CheckTradeValidity();
	bool IsTradeValidity();

	//	--------------------------------------------------------------------------------
	//	俺牢 惑痢 包访 Functions
	//	--------------------------------------------------------------------------------
	void StallOpen(_LPZP_STALLOPEN_ASK pPacket);
	void StallClose();


	bool CheckDeadAttack( CPlayer *pAttacked, CEnchant *pAttackSkill = NULL  );
	void Skill_AttackChainLighting(_LPZP_SKILLATTACK_ASK pPacket);

	bool bPKAvailable(_LPSOCKET_FD) ;
	bool bSummonPKAvailable(CPlayer *  lpNPC) ;

	void Init_PutOnUpdate( CItem *pItem );
	void Set_GameOption( _LPZP_GAMEOPTION_ASK pPacket );
	bool Init_Inventory( _LP_PLAYERINVENTORY pInventory );

	bool Check_PotionCount( DWORD dwItemIndex );


	//	--------------------------------------------------------------------------------
	//	NOTENOTE: 牢镁飘  
	//	--------------------------------------------------------------------------------
	void EnchantAllStop(bool pPK=false);
	void SkillEnchantStart(CEnchant * lpSkill,DWORD dwHandle);
	void SkillInstansEnchantStart(CEnchant * lpSkill,CPlayer * lpAttacker = NULL,CItem * lpScroll = NULL);
	

	void EnchantStart(CEnchant *pEnchant);
	void EnchantStop(CEnchant *pEnchant, bool pChange = true);
	void Skill_Enchant(_LPZP_SKILLENCHANT_ASK pPacket);
	void Skill_EnchantAttack(_LPZP_SKILLENCHANTATTACK_ASK pPacket);
	

	void EnchantCurseStop();
	void WeaponeEnchantStop();
#ifdef DEF_SECONDCHANGEJOB
	void EnchantBuffStop();
#endif 

	void Batch_EnchantTimeOut();
	void Batch_AttackModeTimeOut();

	void EnchantCountAttackStart_Attack(CEnchant *);
	void EnchantCountAttackStop_Attack();

	void EnchantCountAttackStart_Defence(CEnchant *);
	void EnchantCountAttackStop_Defence();


	void Skill_InstantEnchant(_LPZP_SKILLINSTANT_ASK pPacket);

	//	鉴埃 捞悼 傍拜 
	void Skill_InstantMoveAttack(_LPZP_SKILLINSTANTATTACK_ASK pPacket); //Jason 2004-05-13


	//	--------------------------------------------------------------------------------
	//	NOTENOTE: 家券阁胶磐 
	//	--------------------------------------------------------------------------------
	void SummonNPCKill();
	void SummonNPCPartyEnchantStop();
	void SummonNPCDel(CPlayer *);
	void Summon_Monster(_LPZP_MONSTERSUMMON_ASK pPacket);

	//	--------------------------------------------------------------------------------
	//	檬扁 单捞鸥 涝仿 Function (World Server俊辑 Msg傈价)
	//	--------------------------------------------------------------------------------
	void Init_Login			( _LPSOCKET_FD	pSocketFD, _LPZP_PLAYERIN_ASK pPlayerIN );
	bool Init_PlayerBase	( _LPSOCKET_FD	pSocketFD,_LPZP_PLAYERBASE_REP  pPlayerBase );		//	纳腐 扁夯 单捞鸥
	bool Init_PlayerSkill	( _LPZW_PLAYERSKILL_REP pSkill		);
	
	bool Init_Quest( _LPZW_QUESTLIST_REP pActiveQuest );
	bool Init_GuildSkill( _LPZW_GUILDSKILL_REP pGuildSkill );
	void Init_Game();	

	
	void Player_Out(bool bIsLogOut = false);		
	void Clear_PlayerInfo();
	void Player_Close();

	bool Guild_PlayerIn(char * lpGuildName) ;
	bool Guild_PlayerOut(char * lpGuildName) ;
	
	//	--------------------------------------------------------------------------------
	//	Upgrade	Function 
	//	--------------------------------------------------------------------------------
	void ItemUpgrade(int pScrollHandle, int pItemHandle);

	void ItemUpgrade_Base(CItem *pScrollItem, CItem *pUpgradeItem);
	void ItemUpgrade_Magic(CItem *pScrollItem, CItem *pUpgradeItem);
	void ItemUpgrade_Repair(CItem *pScrollItem, CItem *pUpgradeItem,int iUpgradeRate = 10);
	void ItemUpgrade_Cleansing(CItem *pScrollItem, CItem *pUpgradeItem);
	
	//	--------------------------------------------------------------------------------
	//	傍拜 包访 Function 
	//	--------------------------------------------------------------------------------
	void Attack_Physical( _LPZP_PHYSICALATTACK_ASK pPacket );		//	老馆 拱府 傍拜 
	void Attack_Archer( _LPZP_ARCHERATTACK_ASK pPacket );			//	泵荐 劝 傍拜

	void Set_CalcAllStat();
	void Set_ElementalAttackType();

	bool Bank_Withdrawal( _LPZP_WITHDRAWAL_ASK pPacket );
	bool Bank_Deposit(  _LPZP_DEPOSIT_ASK pPacket );
	bool Stat_Up(int pStatType);
	void Send_AttackResult();	
	
	void ManaBurnSkillAttack(CPlayer *pDefender, CEnchant *pEnchant) ;

#ifdef DEF_SECONDCHANGEJOB
	void DragonFearSkillAttack(CPlayer *pDefender, CEnchant *pEnchant) ; 
	void DeathStrkieSkillAttack(CPlayer *pDefender, CEnchant *pEnchant) ; 

#endif
	
	//	--------------------------------------------------------------------------------
	//	碍拳 拱距 包访 Function - 2004-04-23	Jason  眠啊
	//	--------------------------------------------------------------------------------
	bool Stat_Change(int nStatType);

	//	--------------------------------------------------------------------------------
	//	拱距 包访 Function
	//	--------------------------------------------------------------------------------
	void RechargeHPMP();
	void RechargeMP( int pContain );
	void RechargeHP( int pContain );
	void RechargeHPDP( int iHP,int iDP );


	//	--------------------------------------------------------------------------------
	//	ITEM包访	Functions
	//	--------------------------------------------------------------------------------

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -