📄 questfunction.h
字号:
#ifndef _QUEST_IN_MAP_
#define _QUEST_IN_MAP_
#include <list>
#include <vector>
using namespace std;
enum SCRIPT
{
SCRIPT_COUNTER_TYPE__NPCKILL = 0,
SCRIPT_COUNTER_TYPE__ITEMCOUNT = 1,
SCRIPT_COUNT_STOP = 0,
SCRIPT_COUNT_START = 1,
SCRIPT_COUNT_CHECK = 2,
SCRIPT_END_SUC =10,
SCRIPT_END_FAL =20,
};
class CRequital;
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//CScriptTimer 鸥捞赣甫 荤侩茄促 .
class CScriptTimer
{
/*
enum
{
MAX_TIMER_TIME = 5 * 3600 * 1000, //5矫埃捞 力茄捞促.
MIN_SYNCH_TIME = 2 * 1000, //2檬捞窍促.
};
//档措眉 悼扁拳啊 鞘夸档 绝绰 窃荐瘤父 唱吝匡 积阿秦辑 悼扁拳甫 困茄 2啊瘤 窃荐甫 技泼且荐 乐霸 沁促.
*/
public:
CScriptTimer(int id, char * name, DWORD dwTime, DWORD dwSynch):m_ID(id), m_dwTimerTime(dwTime), m_dwSynchTime(dwSynch)
{ //< CSD-030509
strcpy( m_szName, name);
m_bStart = false;
m_dwOld= 0;
m_dwSynch=0;
memset(m_szMapFile, 0, sizeof(m_szMapFile));
m_nPosX = 0;
m_nPosY = 0;
} //> CSD-030509
CScriptTimer()
{ //< CSD-030509
m_ID=0;
m_dwTimerTime=0;
m_dwSynchTime=0;
m_dwSpendTime=0;
m_bStart=false;
m_dwOld=0;
m_dwSynch=0;
memset(m_szMapFile, 0, sizeof(m_szMapFile));
m_nPosX = 0;
m_nPosY = 0;
} //> CSD-030509
~CScriptTimer(){}
private:
DWORD m_dwTimerTime; //且寸等 鸥烙
DWORD m_dwSpendTime; //荤侩等 矫埃. 悼扁拳甫 困秦
bool m_bStart; //鸥捞赣啊 矫悼登菌绰啊?
DWORD m_dwSynchTime; //倔付父狼 矫埃付促 悼扁拳 窍绰啊? 酒聪搁 捞 矫扁付促 绢恫 窃荐甫 角青且巴牢啊?
void (*m_func)(); //鸥捞赣 倒搁辑 龋免窍绰 窃荐
void (*m_syncFunc)(); //鸥捞赣 档吝俊 龋免窍绰 窃荐
void (*m_afterFunc)(); //鸥捞赣 场唱绊 龋免窍绰 窃荐 <-汲沥 救窃 唱吝俊 萍绢赣 馋唱搁 捞 窃荐甫 龋免窍霸 茄促.
void AfterTimer();//char* szMap, int x, int y); //鸥捞赣啊 场捞 唱搁 官府 角青茄促?
int m_ID; //cn蔼阑 历厘茄促.
char m_szName[31]; //父距阑 困秦 捞抚档 历厘茄促.
char m_szMapFile[30]; // CSD-030509
int m_nPosX; // CSD-030509
int m_nPosY; // CSD-030509
public:
DWORD m_dwOld;
DWORD m_dwSynch;
void SetID( const int iID){m_ID = iID;}; //鸥捞赣 id且寸
void SetName( const char* name );//{ strcpy(m_szName, name);};
void SetTimerTime( DWORD dwTime); //鸥捞赣狼 矫埃阑 汲沥茄促.
void SetSynchroneTime( DWORD dwSyncTime ); //悼扁拳 窍绰 矫埃阑 汲沥
void SetFunction( void(*func)(), void (*syncFunc)());
void SetAfterMap( const char* mapfile, const int& x, const int& y); //鸥捞赣 馋唱备 角芹瞪 窃荐
void ClearTimer(); //鸥捞赣 蔼甸阑 傈何 0栏肺
DWORD GetCurretTimerTime() const { return m_dwTimerTime;}; //泅犁 巢篮 矫埃阑 舅酒夯促.
DWORD GetCurretSynchTime() const { return m_dwSynchTime;}; //汲沥茄 悼扁拳 矫埃阑 舅酒夯促.
DWORD GetSpendTime() const { return m_dwSpendTime;};
int GetConnectionID() const { return m_ID;}; //EventPc蔼阑 逞变促.
char* GetName() { return m_szName;};
bool IsRunning(); //柳青吝牢啊?
bool IsStart() const { return m_bStart;};
void SendSCRIPT_TIEMER( DWORD dwSpendTime , int iType); //教农恆 嘎眠扁 困茄 菩哦阑 焊辰促.
bool ConfirmSyncTimer( DWORD dwTimer); //教农 嘎免锭 鸥捞赣啊 利例窍霸 刘啊沁绰啊?
bool StartTimer( bool bOnlyServer = false); //矫埃捞 汲沥登绢 乐栏搁 m_bStart = true茄促. 概俺函荐啊 true捞搁 辑滚父 捣促.
void RunTimer(); //拌斤秦辑 角青
void EndTimer( int iFlag); //iflag ==0 己傍, ==1 角菩
void Log_UserInfo(const int nCn); // 030617 kyo
};
//CScriptTimer
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//CScriptCounter
class CScriptCounter
{
public:
CScriptCounter(){ClearCounter();};
~CScriptCounter(){};
private:
int m_iSpeciesNum; //墨款磐且波 锅龋
int m_iSpeciesType; //绢恫吧 墨款磐且鳖?
int m_iSpeciesMuch; //割俺甫 墨款磐且鳖?
bool m_bStart;
int m_iCounter; //泅犁 割俺牢唱?
int m_ID;
char m_szName[31];
public:
void SetSpeciesNum ( const int& iNum ) { m_iSpeciesNum = iNum; };
void SetSpeciesType ( const int& iType ) { m_iSpeciesType= iType; };
void SetSpeciesMuch ( const int& iMuch ) { m_iSpeciesMuch= iMuch; };
void SetConnectionID ( const int& iID ) { m_ID = iID;};
void SetName ( const char* szName) { strcpy( m_szName, szName); };
void SetCounter ( const int& iCounter) { m_iCounter = iCounter;};
int GetSpeciesNum() const { return m_iSpeciesNum; };
int GetSpeciesType() const { return m_iSpeciesType; };
int GetSpeciesMuch() const { return m_iSpeciesMuch; };
int GetCounter() const { return m_iCounter; };
int GetConnectionID() const { return m_ID; };
char* GetName() { return m_szName; };
bool IsStart() const { return m_bStart; };
void ClearCounter();
void SendSCRIPT_COUNTER( int iType);
void RecvSCRIPT_COUNTER();
bool StartCounter();
void RunCounter( int iNum ); //汲沥摹鳖瘤
void EndCounter(); // 馋唱蝶绊 菩哦父 焊晨.. 墨款磐绰 鸥捞赣啊 磷阑锭, 胶农赋飘肺 磷老锭 狼 版快俊父 肛冕促
void AddCounter(); //npc瘤扁扁俊辑 荤侩登绰 芭. 刘啊矫付唱 菩哦焊晨
};
//CScriptCounter
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
class CSpellMove
{
public:
CSpellMove(){};
CSpellMove(int id, string spells){ m_ID = id; m_szSpell = spells;};
~CSpellMove(){};
string m_szSpell;
int m_ID;
int GetId() const {return m_ID;};
};
class CBossTimer
{
typedef list<int>::iterator ITOR_INT;
public:
enum{
TYPE_BOSS_ONLY = 0,
TYPE_BOSS_GROUP = 1,
TYPE_BOSS_OUT =2,
};
CBossTimer();
~CBossTimer();
CScriptTimer m_cBossTimer;
list<int> m_lUserCn;
int m_nBossID,m_iBossSprNo;
DWORD m_dwBossTimer;
int m_nFlag; // 焊胶甫 茄付府父 且搏瘤 窜眉肺且搏瘤. 031029 kyo
bool AddUser(const int nCn);
bool DeleteUser(const int nCn);
int GetUserSize() const {return m_lUserCn.size();}
void RemoveBossNpc(); //焊胶 磷烙
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -