paysystem.h
来自「天之炼狱1服务器端源文件游戏服务端不完整」· C头文件 代码 · 共 198 行
H
198 行
//////////////////////////////////////////////////////////////////////////////// Filename : PaySystem.h// Written by : sigi// Description : //////////////////////////////////////////////////////////////////////////////#ifndef __PAY_SYSTEM_H__#define __PAY_SYSTEM_H__#include "Types.h"#include "Timeval.h"#include "VSDateTime.h"#include "Exception.h"class Statement;//////////////////////////////////////////////////////////////////////////////// 夸陛力//////////////////////////////////////////////////////////////////////////////enum PayPlayType{ PAY_PLAY_TYPE_PERSON, // 俺牢 夸陛 PAY_PLAY_TYPE_PCROOM, // 霸烙规 夸陛 PAY_PLAY_TYPE_ETC, // 扁鸥(构瘤.. 弊成 持绢狄 -_-;) PAY_PLAY_TYPE_MAX};enum PayType{ PAY_TYPE_FREE, // 公丰 荤侩磊 PAY_TYPE_PERIOD, // 岿 荤侩磊 PAY_TYPE_TIME, // 矫埃力 荤侩磊 PAY_TYPE_POST, // 饶阂 矫埃力 荤侩磊 PAY_TYPE_MAX};enum PayIPType{ PAY_IP_TYPE_ALL, // IP傈眉 PAY_IP_TYPE_LIMIT, // 悼矫立加 荤侩措荐 力茄 PAY_IP_TYPE_ASSIGN, // 漂沥IP PAY_IP_TYPE_MAX};enum FamilyPayPartyType{ FAMILY_PAY_PARTY_TYPE_NONE, FAMILY_PAY_PARTY_TYPE_FREE_PASS, // 菩剐府 夸陛力 颇萍 蜡丰粮 免涝啊瓷 FAMILY_PAY_PARTY_TYPE_FREE_PASS_END, // 菩剐府 夸陛力 颇萍 蜡丰粮 免涝啊瓷 场};#define PAY_PLAY_FLAG_ALL 0xFFFF#define PAY_PLAY_FLAG_ZONE 0x0001#define __PAY_SYSTEM_ZONE__ // Zone 免涝咯何俊 PaySystem阑 利侩//#define __PAY_SYSTEM_LOGIN__ // Login咯何俊 PaySystem阑 利侩//#define __PAY_SYSTEM_FREE_LIMIT__ // 霸烙 阂啊 荤侩磊牢 版快, 磊眉 公丰 辑厚胶肺..//////////////////////////////////////////////////////////////////////////////// class PaySystem//////////////////////////////////////////////////////////////////////////////class PaySystem{public: PaySystem(); ~PaySystem(); PayPlayType getPayPlayType() const { return m_PayPlayType; } void setPayPlayType(PayPlayType ppt) { m_PayPlayType = ppt; } uint getPCRoomID() const { return m_PCRoomID; } void setPCRoomID(uint id) { m_PCRoomID = id; } PayType getPayType() const { return m_PayType; } void setPayType(PayType pt) { m_PayType = pt; } PayIPType getPayIPType() const { return m_PayIPType; } void setPayIPType(PayIPType pipt) { m_PayIPType = pipt; } uint getPayPlayFlag() const { return m_PayPlayFlag; } void setPayPlayFlag(uint ppf) { m_PayPlayFlag = ppf; } bool hasPayPlayFlag(uint flag) const { return m_PayPlayFlag & flag; } void setPayPlayAvailableDateTime(const string& pat) throw (Error); const VSDateTime& getPayPlayAvailableDateTime() const { return m_PayPlayAvailableDateTime; } // 攫力鳖瘤 play啊瓷茄啊? void setFamilyPayPlayAvailableDateTime(const string& pat) throw (Error); const VSDateTime& getFamilyPayPlayAvailableDateTime() const { return m_FamilyPayPlayAvailableDateTime; } // 攫力鳖瘤 play啊瓷茄啊? void setPayStartAvailableDateTime(const string& pat) throw (Error); const VSDateTime& getPayStartAvailableDateTime() const { return m_PayStartAvailableDateTime; } // 攫力何磐 play啊瓷茄啊? Timeval getPayPlayTime(const Timeval& currentTime) const { return timediff(m_PayPlayStartTime, currentTime); } void setPayPlayStartTime(const Timeval& tv) { m_PayPlayStartTime = tv; } void setPayPlayAvailableHours(int h) { m_PayPlayAvailableHours = h; } int getPayPlayAvailableHours() const { return m_PayPlayAvailableHours; }public : // 荤侩 啊瓷茄瘤 眉农 bool checkPayPlayAvailable(); // 老窜 蔼父 汲沥 void setPayPlayValue(PayType payType, const string& payPlayDate, int payPlayHours, uint payPlayFlag, const string& familyPayPlayDate = ""); // pay矫累 bool loginPayPlay(PayType payType, const string& payPlayDate, int payPlayHours, uint payPlayFlag, const string& ip, const string& playerID) throw (Error); // pay矫累 bool loginPayPlay(const string& ip, const string& playerID) throw (Error); // pay 矫埃 update 殿.. bool updatePayPlayTime(const string& playerID, const VSDateTime& currentDateTime, const Timeval& currentTime) throw (ProtocolException, Error); // pay场 void logoutPayPlay(const string& playerID, bool bClear=false, bool bDecreaseTime=true) throw (Error); // bool isPayPlaying() const { return m_PayPlayStartTime.tv_sec!=0; } void setPremiumPlay(bool bPremium=true) { m_bPremiumPlay = bPremium; } bool isPremiumPlay() const { return m_bPremiumPlay; } void setFamilyPayAvailable(bool bFamilyPayAvailable=true) { m_bFamilyPayAvailable = bFamilyPayAvailable; } bool isFamilyPayAvailable() const { return m_bFamilyPayAvailable; } void setFamilyPayPartyType(FamilyPayPartyType familyPayPartyType) { m_FamilyPayPartyType = familyPayPartyType; } bool isFamilyFreePass() const { return m_FamilyPayPartyType == FAMILY_PAY_PARTY_TYPE_FREE_PASS; } bool isFamilyFreePassEnd() const { return m_FamilyPayPartyType == FAMILY_PAY_PARTY_TYPE_FREE_PASS_END; } void setPCRoomPlay(bool bPCRoom = true) { m_bPCRoomPlay = bPCRoom; } bool isPCRoomPlay() const { return m_bPCRoomPlay; } // 俺牢 蜡丰 沥咀 荤侩磊牢啊? static bool isPayPlayingPeriodPersonal(const string& PlayerID) throw (Error); bool isPlayInPayPCRoom( const string& ip, const string& playerID ) throw (Error);protected : // PC规牢 版快狼 贸府 bool loginPayPlayPCRoom(const string& ip, const string& playerID) throw (Error); void logoutPayPlayPCRoom(const string& playerID) throw (Error); // 沥樊力牢 版快 矫埃 临老锭.. void decreasePayPlayTime(const string& playerID, uint mm) throw (Error); void decreasePayPlayTimePCRoom(uint mm) throw (Error); // 捞惑茄 沥咀力 内靛 void increasePayPlayTimePCRoom(uint mm) throw (Error); // 葛电 Pay沥焊甫 昏力窍绊, 公丰 荤侩磊肺 父电促. by sigi. 2002.11.18 void clearPayPlayDateTime(const string& playerID) throw (Error);protected: bool m_bSetPersonValue; // 蔼捞 汲沥登菌唱. PayPlayType m_PayPlayType; // 俺牢/白规.. ObjectID_t m_PCRoomID; // PC规 ID uint m_UserLimit; // 荤侩磊 箭磊 力茄(辆樊力) uint m_UserMax; // 荤侩磊 箭磊 弥措力茄(沥樊力) PayType m_PayType; // 公丰/矫埃/扁埃/扁鸥.. PayIPType m_PayIPType; // 霸烙规牢 版快狼 IP type VSDateTime m_PayStartAvailableDateTime; // 攫力何磐 play啊瓷茄啊? VSDateTime m_PayPlayAvailableDateTime; // 攫力鳖瘤 play啊瓷茄啊? int m_PayPlayAvailableHours; // 荤侩 啊瓷茄 矫埃(矫埃力牢 版快) Timeval m_PayPlayStartTime; // 立加秦辑 play茄 矫埃 VSDateTime m_FamilyPayPlayAvailableDateTime; // 攫力鳖瘤 Family Pay play啊 啊瓷茄啊? uint m_PayPlayFlag; // 荤侩啊瓷茄 辑厚胶 bool m_bPremiumPlay; bool m_bPCRoomPlay; // PC 规 荤侩磊牢啊? // PC 规 蜡历 力茄俊 惑包绝捞 蜡丰 利侩 吝牢 PC 规俊辑 敲饭捞窍绊 乐绰啊? bool m_bFamilyPayAvailable; // 菩剐府 夸陛力 荤侩磊牢啊? FamilyPayPartyType m_FamilyPayPartyType; // 菩剐府 夸陛力 颇萍 利侩 鸥涝};#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?