📄 user.h
字号:
void BankInPut(TCHAR *pBuf);
void BankItemMoveReq(TCHAR *pBuf);
void InitUserBankItem();
void MakeInintItem(TCHAR *pBuf, BYTE tClass);
BOOL IsCanEquipItem(int iSlot);
void SendUserTownPotal(USER *pUser, BYTE tMode /*INFO_MODIFY*/);
void SendMyTownPotal(BYTE towho, BYTE type);
void InitUserItem();
BOOL UpdateUserBank();
void UserBankItemToStr(TCHAR *pBuf);
void StrToUserBankItem(TCHAR *pBuf);
BOOL LoadUserBank();
void BankOpenReq();
void SendAllCure(int iStoreID, int iCost);
short GetNeedPP(BOOL* bSuccessSkill, BYTE tWeaponClass, short sSid);
short GetHP();
CPoint FindNearRandomPoint(int xpos, int ypos);
void DeleteCellUidFromTownPotal();
void AddCellUidFromTownPotal();
void SendTownPotal(BYTE result, BYTE changeZone);
void SendUserStatusSkill();
void SetColdDamage();
void SetDecBullNum(BYTE tSlot, short sDec);
void UserTimer();
BOOL CheckPsiCastingDelay(/*short sSid*/);
void TownPotal();
void GetMapMoneyInfo(DWORD dwDN, CPoint pt, int uid = -1);
// void GetMapItemInfo(ItemListArray &arList, CPoint pt, int uid = -1, BYTE tMode = ITEM_INFO_MODIFY);
void SendItemFieldInfo(BYTE type, BYTE towho, ItemList *pItem, int x, int y);
void GiveItemToMap(TCHAR *pBuf, BOOL bChao = FALSE);
void GiveMoneyToMap(TCHAR *pBuf);
int CheckSkillClass(short sSid);
void SendBBSError(BYTE tError);
//yskang 0.3 void SendAttackSuccess(int tuid, CByteArray& arAction1, CByteArray& arAction2, short sHP, short sMaxHP);
void SendAttackSuccess(int tuid, BOOL bIsCritical, short sHP, short sMaxHP);//yskang 0.3
void SendAttackMiss(int tuid);
void SendAttackFail(BYTE tErrorCode);
void SendXP();
void SendBullNum(BYTE tSlot);
BOOL PsionicProcess(int nTarget, short sSid, CPoint pt, short sNeedPP);
BOOL IsSuccessPsi(BOOL* bSuccessSkill, BYTE tWeaponClass, short sSid);
int GetPsiRange(short sSid);
int DecAttackPP(BOOL *bSuccessSkill, BYTE tWeaponClass, short sSid, BOOL bDec = TRUE);
void SendPP(BOOL bLevelDown = FALSE);
short GetPP();
BOOL IsHavePsionic(BYTE tSid);
int CheckPsiClass(short sSid);
void BuyPsi(TCHAR *pBuf);
CStore* GetPsiStore(int nStore);
void HyperTextEvent(TCHAR *pBuf);
void NpcEvent(TCHAR *pBuf);
BYTE GetNpcClass(CNpc* pNpc);
void SendHP();
void SendDuration(BYTE tSlot, int iDamage);
int GetItemFieldNum(int iNum);
void ItemUseReq(TCHAR *pBuf);
void SendPsiOpen(int nStore);
void SendWeatherInMoveZone();
// void SendWeatherToZone(BYTE tType, BYTE tOnOff);
void UserBasicAbility();
void UserStatusSkillUp(TCHAR *pBuf);
void SendExp(int tType = 1);
// TRUE捞搁 蜡历俊狼秦 磷澜
void GetLevelDownExp(BOOL bPK = FALSE, int enemyrank = -1, BOOL bEventSummon = FALSE,TCHAR *strPKName = NULL);//yskang 0.8 dead_log俊 磊脚阑 磷牢 荤侩磊甫 巢扁扁 困窍咯
void GetExp(int iNpcExp);
void GetExpBuddy(int iNpcExp );
void GetExpCommon( int iNpcExp );
void SendPsiStoreOpen(int iStoreID);
void ZoneMoveReq(int zone, int moveX, int moveY);
BOOL LiveCity(int x, int y, BYTE type = INFO_MODIFY);
BOOL ZoneChangeProcess(int zone, int moveX, int moveY);
void SendZoneChange(BOOL bResult);
short GetDecDuration(short sSid);
short GetItemDefense(short sSid, int slot);
int GetCriticalInitDamage(BOOL *bSuccessSkill, BYTE tWeaponClass);
double GetCriticalHit(BYTE tWeaponClass);
// BOOL GetCriticalHit(BOOL* bSuccessSkill, BYTE tWeaponClass);
// int GetWeaponDamage(short sSid);
int GetWeaponDamage(short sSid, BOOL bMax = FALSE);
// int GetNormalInitDamage(BOOL* bSuccessSkill, BYTE tWeaponClass);
//yskang 0.3 int GetNormalInitDamage(BYTE tWeaponClass, USER* pTarget, BOOL bMax = FALSE);
int GetNormalInitDamage(BYTE tWeaponClass, USER* pTarget,BOOL &bIsCritical, BOOL bMax = FALSE);
double GetCriticalGuard(BOOL *bSuccessSkill, BYTE& tWeaponClass);
// BOOL GetCriticalGuard(BOOL *bSuccessSkill, BYTE& tWeaponClass);
// int GetAvoid(BYTE tClass);
int GetAvoid();
int GetHitRate(short sSid, BYTE tArmClass);
int GetAttackRange(short sSid);
int DecAttackSP(BOOL* bSuccessSkill, BYTE tWeaponClass);
int GetMaxDuration(short sSid);
void SendQuickChange();
void ItemLoadReq(TCHAR *pBuf);
void ItemGiveReq(TCHAR *pBuf);
void SendSroreFail(int iType, BYTE err_code);
int GetBreakDec();
int GetBreakRate(short sSid);
BOOL CheckAttackDelay(BOOL *bSuccess, BYTE tWeaponClass);
void SendSP(BOOL bLevelDown = FALSE);
short DecSP(short sDec);
short GetSP(void);
void RepairItem(TCHAR *pBuf);
DWORD GetRepairCost(short sSlot);
void RepairItemOpenReq(int iStoreID);
void SellItem(TCHAR *pBuf);
BOOL IsCanUseWeaponSkill(BYTE& tWeaponClass);
void SwapItem(int nSlot1, int nSlot2);
int GetEmptyInvenSlot(int *pEmpty);
void UpdateInvenSlot(CWordArray *arEmptySlot,CWordArray *arSameSlot = NULL, BYTE tType = 3);
DWORD GetSellCost(short sSlot);
void SellItemOpenReq(int sStoreID);
void UserInfoReq(TCHAR* pBuf);
void SendMoneyChanged(void);
void ReSetItemSlot(ItemList *pItem);
void UserRemoteCallReq(TCHAR *pBuf);
void UserCallReq(TCHAR *pBuf);
void ChangeDir(TCHAR* pBuf);
void SetWeather(int tType, int tOnOff);
void SendExchangeItem(USER* pUser, BYTE bySlot, DWORD dwCount);
void SendExchangeFail(BYTE result, BYTE error_code);
void PsiAttack(TCHAR* pBuf);
void MopCatchReq(TCHAR* pBuf);
// void SendTradeSuccess(int uid);
void SendTradeSuccess(int uid, TCHAR *pstrID);
void SendTradeFail(int uid, BYTE error_code);
void UserSkillInfoToStr(TCHAR* pBuf);
void UserPsiToStr(TCHAR* pBuf);
void StrToUserPsi(TCHAR* pBuf);
void UserSkillToStr(TCHAR* pBuf);
void StrToUserSkill(TCHAR* pBuf);
void UserItemToStr(TCHAR* pBuf);
void StrToUserItem(TCHAR* pBuf);
void SendSystemMsg(TCHAR *pMsg, BYTE type, int nWho);
void GetEquipPos(BYTE byWear, CPoint& pt);
int GetEBodyPos(BYTE byWear);
int GetSameItem(ItemList Item, int nSlot);
int GetEmptySlot(int nSlot);
int GetSlotClass(int nSlot, int nType = 0, BOOL flag = TRUE);
BYTE GetSkillRate(BYTE byClass, int sid, int nDefusion = 0);
void GetSkillInfo(int sid, BYTE& tRate);
DWORD GetNextLevel(int iCurrLevel);
DWORD GetNextPAMAExp(DWORD dwExp);
void MakeEmptyPsi(TCHAR *pBuf);
void MakeEmptySkill(TCHAR* pBuf, BYTE tClass);
BOOL IsDoubleAccount(char* account);
void SendRemainSight(TCHAR* pBuf, int nLength, CPoint pt);
BOOL GetDistance(int xpos, int ypos, int dist, int* ret = NULL);
// void ChangeCellUid(CPoint ptOld, CPoint ptNew);
// void DeleteCellUid();
// void AddCellUid();
// BOOL SetCellIndex(int zone, int xpos, int ypos);
void LiveReq(TCHAR *pBuf, BYTE tOption = 0);
void RevivalReq( TCHAR *pBuf );
void SendPsiAttackResult(BYTE result, int tuid, BYTE psi);
int GetAttack();
void SetDamage(int nDamage);
int GetDefense(short* sItemDefense = NULL);
void SendNpcInfo(CNpc* pNpc, BYTE tMode = INFO_MODIFY);
CNpc* GetNpc(int nid);
CNpc* GetNpc(TCHAR* pNpcName);
void SendRange(TCHAR *pBuf, int nLength, CRect rect);
void SendScreen(TCHAR *pBuf, int nLength);
void SendInsight(TCHAR* pBuf, int nLength);
void SendExactScreen(TCHAR* pBuf, int nLength);
void SendZone(TCHAR* pBuf, int nLength);
void SendAll(TCHAR* pBuf, int nLength);
void SendMyInfo(BYTE towho, BYTE type);
void SendCharData();
void SendUserInfo(USER *pUser, BYTE tMode = INFO_MODIFY);
// void SendUserInfo(int nUid, BYTE tMode = INFO_MODIFY);
BOOL InitUser();
int Init( int bufCreateFlag = 0 );
void Send(TCHAR* pBuf, int nLength);
void LogOut();
//void Close();
//void Receive();
// Inline Function
USER* GetUser(int uid);
USER* GetUser(TCHAR* id);
int GetUid(int x, int y);
BOOL SetUid(int x, int y, int id);
void Attack(TCHAR* pBuf);
void AddAbnormalInfo(DWORD dwAbnormal);
void DeleteAbnormalInfo(DWORD dwAbnormal);
BOOL CheckAbnormalInfo(DWORD dwAbnormal);
void ClearAbnormalGroup(DWORD dwAbnormal);
BOOL UpdateUserData(BOOL bLogOut = FALSE);
protected:
void TransformReq(TCHAR* pBuf);
void TransformWindow( );
BOOL GetTransformOption(ItemList* pItem);
void PersonalShopBuy(TCHAR* pBuf);
void ViewPersonalShop(BYTE mode, int uid);
void PersonalShopOpen();
void PersonalShopClose();
void PersonalShopReq(TCHAR* pBuf);
BOOL GivePSI(BYTE tType, int iTime);
void TogglePKButton(TCHAR* pBuf);
void SendHelperCure();
void ExpressionReq(TCHAR* pBuf);
void ExpressionOpen();
void ScreenCaptureReq();
void EBodyIdentifyReq(TCHAR* pBuf);
void EBodyIdentifyOpen(int iStore);
void EBodyUpgradeReq(TCHAR* pBuf);
BOOL CheckClassWear(int iItemSid, int iMagicSid);
BOOL GetMagicOption(ItemList* pItem, BYTE tIQ, BYTE tSame = FALSE);
void RemagicItemReq(TCHAR* pBuf, BOOL bEvent = FALSE);
BOOL InvaderSummon(BYTE tSlot);
void SetPsiOne(BYTE tKind, DWORD dwTime);
void SetPsiTwo(BYTE tKind, DWORD dwTime);
void SetPsiThree(BYTE tKind, DWORD dwTime);
BOOL UsePsiStone(short sSlot);
void CheckIDReq(TCHAR* pBuf);
void RemodelingItemReq(TCHAR* pBuf);
BOOL RemodelingItem(int iStage, ItemList* pItem, short sPlanzing = 0);
BOOL MoonEvent(short sSlot);
BYTE UseSpecialPotion(short sSlot);
BOOL CheckRecoverTableByClass();
void ShowCurrentUser(void);
void SetMaxHPUp(int iTime);
void SetDexUp(int iTime);
void CheckSpeedHack();
void UpdateBankMem2DB(CMemUser *pMD);
void UpdateMem2DB(CMemUser *pMD);
void UpdateMemStoreWarType(CStore* pStore);
void UpdateMemStoreTax(int iSid, int iRate);
void InitMemStore(CStore* pStore);
void UpdateMemStoreDN(int iStoreID, DWORD dwDN);
BOOL CheckJuminNumber(LPCTSTR szAccount, LPCTSTR szJumin);
BOOL UpdateMemBankDataOnly();
BOOL LoadMemUserBank(void);
void SetMemUserBank(LPCTSTR strItem);
void IsSkillSuccess(BOOL* bSuccess, BYTE tWeaponClass);
void PsiChangeReq(TCHAR* pBuf);
void SkillOnOffReq(TCHAR* pBuf);
void ChangeWeaponReq(TCHAR* pBuf);
void BuyItem(TCHAR* pBuf);
void SendStoreOpen(int nStore, int nRate);
void SendNpcSay(CNpc* pNpc, int nChatNum);
BOOL RunNpcEvent(CNpc *pNpc, EXEC *pExec);
BOOL CheckEventLogic(EVENT_DATA *pEventData);
void ClientEvent(TCHAR* pBuf);
void RunExchange(USER* pUser);
void ExchangeReq(TCHAR *pBuf);
void ItemTradeReq(TCHAR* pBuf);
void SendItemMoveFail();
void ItemMoveReq(TCHAR* pBuf);
void SetTradeMode(TCHAR *pBuf);
BOOL GetSkillName(int nSid, CString& strName);
BOOL GetSkillNameLevel(BYTE byClass, TCHAR* pSkill, TCHAR* pBuf);
BOOL GetEquipItemPid(TCHAR* pItemBuf, TCHAR* pBuf);
void RerollReq(TCHAR *pBuf);
void MoveChatReq(TCHAR* pBuf, BOOL bPsi = FALSE);
// CPoint FindNearAvailablePoint(int xpos, int ypos);
void SetGameStartInfo();
void Dead();
/* void BBSDelete(TCHAR* pBuf);
void BBSEdit(TCHAR *pBuf);
void BBSWrite(TCHAR *pBuf);
void BBSRead(TCHAR *pBuf);
void BBSNext(TCHAR *pBuf);
*/
void BBSDeleteWithThread(TCHAR* pBuf);
void BBSEditWithThread(TCHAR *pBuf);
void BBSWriteWithThread(TCHAR *pBuf);
void BBSReadWithThread(TCHAR *pBuf);
void BBSNextWithThread(TCHAR *pBuf);
void BBSOpen(int bbsnum);
void WhisperOnOff(TCHAR* pBuf);
void FindUserReq(TCHAR* pBuf);
void ShoutChat(TCHAR* pBuf);
void WhisperChat(TCHAR* pBuf);
void NormalChat(TCHAR* pBuf);//@@@@@@@@@@@@@@@@@@@@@@@@@2
// void ChatReq(TCHAR* pBuf);
void ChatReqWithThread(int length, TCHAR* pBuf);
void RunEndReq(TCHAR* pBuf);
void RunReq(TCHAR* pBuf);
void RunFirstReq(TCHAR* pBuf);
void MoveEndReq(TCHAR* pBuf);
void MoveReq(TCHAR* pBuf);
void SightRecalc();
BOOL Move_C(int x, int y, int nDist = 1);
void MoveFirstReq(TCHAR* pBuf);
// BOOL UpdateUserData(BOOL bLogOut = FALSE);
void SetZoneIndex(int zone);
void ChangeServer(int zone);
BOOL IsZoneInThisServer(int zone);
BOOL LoadUserData(TCHAR *szID);
//void GameStart(TCHAR* pBuf);
void GameStartWithThread(TCHAR *pBuf);
void GameStartWithDbServer(TCHAR *pBuf);
// void DeleteCharReq(TCHAR* pBuf);
void DeleteCharReqWithThread(TCHAR *pBuf);
BOOL IsExistCharId(TCHAR* id);
//void NewCharReq(TCHAR* pBuf);
void NewCharReqWithThread(TCHAR *pBuf);
BOOL SendCharInfo(TCHAR* strChar, TCHAR* pBuf, int& index);
BOOL LoadCharData(TCHAR* id);
//void AccountLoginReq(TCHAR* pBuf);
void AccountLoginReqWithThread(TCHAR *pBuf);
void AccountLoginReqWithDbServer(TCHAR *pBuf);
void NewAccountReq(TCHAR* pBuf);
BOOL CheckSessionLoginReq(TCHAR* strAccount, TCHAR* strPassword, int& nCount);
// void DisplayErrorMsg(SQLHANDLE hstmt);
void SessionLoginReq(TCHAR* pBuf);
// void Parse(int len, TCHAR *pBuf);
// BOOL PullOutCore();
// BOOL USER::PullOutCore(char *&data, int &length);
void Parse(int len, TCHAR *pBuf, BOOL &bEncryption);
BOOL USER::PullOutCore(int &length, BOOL &bEncryption);
public:
DWORD m_dwUserTimerRun;
BOOL m_bMGame;//yskang 0.5 骏霸烙 荤侩磊牢瘤 魄窜
TCHAR *GetStrAddr(int nPeerIp, TCHAR *strPeerIp);//yskang 0.4
int GetIntAddr(CString strPeerIp);
void SendCharDataToOPUser(USER *pUser);
BOOL CheckZoneWho(int zone, int passtype, int zonetype);
void WriteOpratorLog(TCHAR *strContents,int nOption);//yskang 0.4 nOption 0:立加酒捞乔 1:措拳 2:酒捞袍 力傍沥焊 3:PK沥焊
BYTE m_nGuildUserInfoType;
void CheckQuestEventZoneWarEnd();
BOOL ExcuteSingleQuestEvent(int time, int type, int sid, int count, int z, int x, int y);
int SummonQuestMonster(int sid, int z, int x, int y);
void SendMonsterSay(CNpc *pNpc, int iType, char *strSay);
void RunQuestEvent(CNpc *pNpc, int iZone, int iEventNum);
void GuildUserCallReq(TCHAR *pBuf);//yskang 0.2
BOOL m_bPseudoString;//yskang 0.1
//--yskang 0.1
void InsertLoveName(TCHAR *pBuf);
void LoveName(TCHAR *pBuf);
int GetGuildMapIndex(int maptype);
int GetItemIndex(int sid);
// void UpdateUserDeadLog(DWORD minus, DWORD preExp);
void UpdateUserDeadLog(DWORD minus, DWORD preExp, TCHAR *strPKName);
void UpdateUserDeadLog(TCHAR *pBuf);
BOOL CheckClassItem(BYTE tMyClass, BYTE tNeedClass);
int SetBlessingUpgradeItem(short sSlot, int type);
void UpgradeBlessingItemReq(TCHAR *pBuf, int type);
void GuildInviteResult(TCHAR *pBuf);
void SendGuildInviteReq(TCHAR *pBuf);
void EncryptionStartReq(TCHAR *pBuf);
void ExitRoyalRumble();
BOOL CheckRoyalRumbleEnterMaxUser();
BOOL CheckRoyalRumbleEnterTime();
void RemoveGuildMasterOfPower(TCHAR *pBuf);
int UpdateGuildSubMaster(TCHAR *strSubMaster, BOOL bPower);
void DeputeGuildMasterOfPower(TCHAR *pBuf);
void BridgeRemoveGuildMasterOfPowerResult();
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -