📄 aimanager.cpp
字号:
ret=SQLFetch(hStmt);
if (ret!=SQL_SUCCESS_WITH_INFO && ret !=SQL_SUCCESS)
{
MyLog(0,"Load_AI_Data(), NPC_AI_CONTROL Table Fetch Error!!");
SQLFreeStmt(hStmt,SQL_DROP);
return false;
}
ret=SQLGetData(hStmt,1,SQL_C_SLONG,&RowCount,sizeof(int),&cbValue);
if (ret!=SQL_SUCCESS_WITH_INFO && ret!=SQL_SUCCESS)
{
MyLog(0,"Load_AI_Data(), NPC_AI_CONTROL Table SQL Return Error(%d)!!",ret);
SQLFreeStmt(hStmt,SQL_DROP);
return false;
}
SQLFreeStmt(hStmt,SQL_DROP);
m_pNpc_AI_Data=new int*[RowCount+1]; // 鞘靛荐父怒 AI_Type积己
if (!m_pNpc_AI_Data)
{
MyLog(0,"Load_AI_Data(), m_pNpc_AI_Data Memory Alloc Error!!",ret);
SQLFreeStmt(hStmt,SQL_DROP);
return false;
}
for (int i=0;i<RowCount+1;i++)
{
m_pNpc_AI_Data[i]=NULL; // 皋葛府 檬扁拳
}
SQLAllocStmt(hDBC,&hStmt);
wsprintf(query_stmt,"select * from NPC_AI_CONTROL order by AI_Type");
ret=SQLExecDirect(hStmt,(UCHAR*)query_stmt,SQL_NTS);
if (ret!=SQL_SUCCESS_WITH_INFO && ret !=SQL_SUCCESS)
{
MyLog(0,"Load_AI_Data(), NPC_AI_CONTROL Table Query Error!!");
SQLFreeStmt(hStmt,SQL_DROP);
return FALSE;
}
SQLNumResultCols(hStmt,&nClos);
ret=SQLFetch(hStmt);
if (ret!=SQL_SUCCESS_WITH_INFO && ret !=SQL_SUCCESS)
{
MyLog(0,"Load_AI_Data(), NPC_AI_CONTROL Table Fetch Error!!");
SQLFreeStmt(hStmt,SQL_DROP);
return false;
}
m_iAI_DataCount=1;
while (ret==SQL_SUCCESS)
{
m_pNpc_AI_Data[m_iAI_DataCount]=new int[nClos];
if (!m_pNpc_AI_Data[m_iAI_DataCount])
{
MyLog(0,"Load_AI_Data(), m_pNpc_AI_Data Memory Alloc Error!!",ret);
SQLFreeStmt(hStmt,SQL_DROP);
return false;
}
for (int i=0;i<nClos;i++)
{
ret=SQLGetData(hStmt,i+1,SQL_C_SLONG,&m_pNpc_AI_Data[m_iAI_DataCount][i],sizeof(int),&cbValue);
if (ret!=SQL_SUCCESS_WITH_INFO && ret!=SQL_SUCCESS)
{
MyLog(0,"Load_AI_Data(), NPC_AI_CONTROL Table SQL Return Error(%d)!!",ret);
SQLFreeStmt(hStmt,SQL_DROP);
return FALSE;
}
}
m_iAI_DataCount++;
ret=SQLFetch(hStmt);
}
SQLFreeStmt(hStmt,SQL_DROP);
return LoadMagicBag();
}
int CAIManager::LoadMagicBag()
{
HSTMT hStmt=NULL;
RETCODE ret;
SWORD nClos;
char query_stmt[80]={0,};
SDWORD cbValue;
int RowCount;
if (m_pMagicBag) // 捞固 单捞磐啊 乐促搁 橇府秦霖促..
{
ClearMagicBag();
}
SQLAllocStmt(hDBC,&hStmt);
wsprintf(query_stmt,"select count([index]) as FieldCount from Magic_Bag");
ret=SQLExecDirect(hStmt,(UCHAR*)query_stmt,SQL_NTS);
if (ret!=SQL_SUCCESS_WITH_INFO && ret !=SQL_SUCCESS)
{
MyLog(0,"LoadMagicBag(), Magic Bag Table Query Error!!");
SQLFreeStmt(hStmt,SQL_DROP);
return FALSE;
}
ret=SQLFetch(hStmt);
if (ret!=SQL_SUCCESS_WITH_INFO && ret !=SQL_SUCCESS)
{
MyLog(0,"LoadMagicBag(), Magic Bag Table Fetch Error!!");
SQLFreeStmt(hStmt,SQL_DROP);
return false;
}
ret=SQLGetData(hStmt,1,SQL_C_SLONG,&RowCount,sizeof(int),&cbValue);
if (ret!=SQL_SUCCESS_WITH_INFO && ret!=SQL_SUCCESS)
{
MyLog(0,"LoadMagicBag(), Magic Bag Table SQL Return Error(%d)!!",ret);
SQLFreeStmt(hStmt,SQL_DROP);
return false;
}
SQLFreeStmt(hStmt,SQL_DROP);
m_pMagicBag=new int*[RowCount+1]; // 鞘靛荐父怒 AI_Type积己
if (!m_pMagicBag)
{
MyLog(0,"LoadMagicBag(), m_pMagicBag Memory Alloc Error!!",ret);
SQLFreeStmt(hStmt,SQL_DROP);
return false;
}
for (int i=0;i<RowCount+1;i++)
{
m_pMagicBag[i]=NULL; // 皋葛府 檬扁拳
}
SQLAllocStmt(hDBC,&hStmt);
wsprintf(query_stmt,"select * from Magic_bag order by [index]");
ret=SQLExecDirect(hStmt,(UCHAR*)query_stmt,SQL_NTS);
if (ret!=SQL_SUCCESS_WITH_INFO && ret !=SQL_SUCCESS)
{
MyLog(0,"LoadMagicBag(), Magic Bag Table Query Error!!");
SQLFreeStmt(hStmt,SQL_DROP);
return FALSE;
}
SQLNumResultCols(hStmt,&nClos);
ret=SQLFetch(hStmt);
if (ret!=SQL_SUCCESS_WITH_INFO && ret !=SQL_SUCCESS)
{
MyLog(0,"LoadMagicBag(), Magic Bag Table Fetch Error!!");
SQLFreeStmt(hStmt,SQL_DROP);
return false;
}
m_iMagicBagCount=1;
while (ret==SQL_SUCCESS)
{
m_pMagicBag[m_iMagicBagCount]=new int[10];
if (!m_pMagicBag[m_iMagicBagCount])
{
MyLog(0,"LoadMagicBag(), m_pMagicBag Memory Alloc Error!!",ret);
SQLFreeStmt(hStmt,SQL_DROP);
return false;
}
ret=SQLGetData(hStmt, 4,SQL_C_SLONG,&m_pMagicBag[m_iMagicBagCount][ 0],sizeof(int),&cbValue);
ret=SQLGetData(hStmt, 5,SQL_C_SLONG,&m_pMagicBag[m_iMagicBagCount][ 1],sizeof(int),&cbValue);
ret=SQLGetData(hStmt, 6,SQL_C_SLONG,&m_pMagicBag[m_iMagicBagCount][ 2],sizeof(int),&cbValue);
ret=SQLGetData(hStmt, 7,SQL_C_SLONG,&m_pMagicBag[m_iMagicBagCount][ 3],sizeof(int),&cbValue);
ret=SQLGetData(hStmt, 8,SQL_C_SLONG,&m_pMagicBag[m_iMagicBagCount][ 4],sizeof(int),&cbValue);
ret=SQLGetData(hStmt, 9,SQL_C_SLONG,&m_pMagicBag[m_iMagicBagCount][ 5],sizeof(int),&cbValue);
ret=SQLGetData(hStmt,10,SQL_C_SLONG,&m_pMagicBag[m_iMagicBagCount][ 6],sizeof(int),&cbValue);
ret=SQLGetData(hStmt,11,SQL_C_SLONG,&m_pMagicBag[m_iMagicBagCount][ 7],sizeof(int),&cbValue);
ret=SQLGetData(hStmt,12,SQL_C_SLONG,&m_pMagicBag[m_iMagicBagCount][ 8],sizeof(int),&cbValue);
ret=SQLGetData(hStmt,13,SQL_C_SLONG,&m_pMagicBag[m_iMagicBagCount][ 9],sizeof(int),&cbValue);
if (ret!=SQL_SUCCESS_WITH_INFO && ret!=SQL_SUCCESS)
{
MyLog(0,"Load_AI_Data(), NPC_AI_CONTROL Table SQL Return Error(%d)!!",ret);
SQLFreeStmt(hStmt,SQL_DROP);
return FALSE;
}
m_iMagicBagCount++;
ret=SQLFetch(hStmt);
}
SQLFreeStmt(hStmt,SQL_DROP);
return TRUE;
}
int CAIManager::LoadBossData()
{
HSTMT hStmt=NULL;
RETCODE ret;
SWORD nClos;
char query_stmt[80]={0,};
SDWORD cbValue;
int RowCount;
if (m_pBossStatusData) // 捞固 单捞磐啊 乐促搁 橇府秦霖促..
{
ClearBossData();
}
SQLAllocStmt(hDBC,&hStmt);
wsprintf(query_stmt,"select count(TypeNo) as FieldCount from AI_BossStatus");
ret=SQLExecDirect(hStmt,(UCHAR*)query_stmt,SQL_NTS);
if (ret!=SQL_SUCCESS_WITH_INFO && ret !=SQL_SUCCESS)
{
MyLog(0,"LoadBossData(), AI_BossStatus Table Query Error!!");
SQLFreeStmt(hStmt,SQL_DROP);
return FALSE;
}
ret=SQLFetch(hStmt);
if (ret!=SQL_SUCCESS_WITH_INFO && ret !=SQL_SUCCESS)
{
MyLog(0,"LoadBossData(), AI_BossStatus Table Fetch Error!!");
SQLFreeStmt(hStmt,SQL_DROP);
return false;
}
ret=SQLGetData(hStmt,1,SQL_C_SLONG,&RowCount,sizeof(int),&cbValue);
if (ret!=SQL_SUCCESS_WITH_INFO && ret!=SQL_SUCCESS)
{
MyLog(0,"LoadBossData(), AI_BossStatus Table SQL Return Error(%d)!!",ret);
SQLFreeStmt(hStmt,SQL_DROP);
return false;
}
SQLFreeStmt(hStmt,SQL_DROP);
m_pBossStatusData=new int*[RowCount+1]; // 鞘靛荐父怒 AI_Type积己
if (!m_pBossStatusData)
{
MyLog(0,"LoadBossData(), m_pBossStatusData Memory Alloc Error!!",ret);
SQLFreeStmt(hStmt,SQL_DROP);
return false;
}
for (int i=0;i<RowCount+1;i++)
{
m_pBossStatusData[i]=NULL; // 皋葛府 檬扁拳
}
SQLAllocStmt(hDBC,&hStmt);
wsprintf(query_stmt,"select * from AI_BossStatus order by TypeNo");
ret=SQLExecDirect(hStmt,(UCHAR*)query_stmt,SQL_NTS);
if (ret!=SQL_SUCCESS_WITH_INFO && ret !=SQL_SUCCESS)
{
MyLog(0,"LoadBossData(), AI_BossStatus Table Query Error!!");
SQLFreeStmt(hStmt,SQL_DROP);
return FALSE;
}
SQLNumResultCols(hStmt,&nClos);
ret=SQLFetch(hStmt);
if (ret!=SQL_SUCCESS_WITH_INFO && ret !=SQL_SUCCESS)
{
MyLog(0,"LoadBossData(), AI_BossStatus Table Fetch Error!!");
SQLFreeStmt(hStmt,SQL_DROP);
return false;
}
m_iBossStatusCount=1;
while (ret==SQL_SUCCESS)
{
m_pBossStatusData[m_iBossStatusCount]=new int[nClos];
if (!m_pBossStatusData[m_iBossStatusCount])
{
MyLog(0,"LoadBossData(), m_pBossStatusData Memory Alloc Error!!",ret);
SQLFreeStmt(hStmt,SQL_DROP);
return false;
}
for (int i=0;i<nClos;i++)
{
ret=SQLGetData(hStmt,i+1,SQL_C_SLONG,&m_pBossStatusData[m_iBossStatusCount][i],sizeof(int),&cbValue);
if (ret!=SQL_SUCCESS_WITH_INFO && ret!=SQL_SUCCESS)
{
MyLog(0,"LoadBossData(), AI_BossStatus Table SQL Return Error(%d)!!",ret);
SQLFreeStmt(hStmt,SQL_DROP);
return FALSE;
}
}
m_iBossStatusCount++;
ret=SQLFetch(hStmt);
}
SQLFreeStmt(hStmt,SQL_DROP);
return TRUE;
}
int CAIManager::LoadAttackBag()
{
HSTMT hStmt=NULL;
RETCODE ret;
SWORD nClos;
char query_stmt[80]={0,};
SDWORD cbValue;
int RowCount;
if (m_pAttackBag) // 捞固 单捞磐啊 乐促搁 橇府秦霖促..
{
ClearAttackBag();
}
SQLAllocStmt(hDBC,&hStmt);
wsprintf(query_stmt,"select count(TypeNo) as FieldCount from AI_PhysicalAttack_Bag");
ret=SQLExecDirect(hStmt,(UCHAR*)query_stmt,SQL_NTS);
if (ret!=SQL_SUCCESS_WITH_INFO && ret !=SQL_SUCCESS)
{
MyLog(0,"LoadAttackBag(), AI_PhysicalAttack_Bag Table Query Error!!");
SQLFreeStmt(hStmt,SQL_DROP);
return FALSE;
}
ret=SQLFetch(hStmt);
if (ret!=SQL_SUCCESS_WITH_INFO && ret !=SQL_SUCCESS)
{
MyLog(0,"LoadAttackBag(), AI_PhysicalAttack_Bag Table Fetch Error!!");
SQLFreeStmt(hStmt,SQL_DROP);
return false;
}
ret=SQLGetData(hStmt,1,SQL_C_SLONG,&RowCount,sizeof(int),&cbValue);
if (ret!=SQL_SUCCESS_WITH_INFO && ret!=SQL_SUCCESS)
{
MyLog(0,"LoadAttackBag(), AI_PhysicalAttack_Bag Table SQL Return Error(%d)!!",ret);
SQLFreeStmt(hStmt,SQL_DROP);
return false;
}
SQLFreeStmt(hStmt,SQL_DROP);
m_pAttackBag=new int*[RowCount+1]; // 鞘靛荐父怒 AI_Type积己
if (!m_pAttackBag)
{
MyLog(0,"LoadAttackBag(), m_pAttackBag Memory Alloc Error!!",ret);
SQLFreeStmt(hStmt,SQL_DROP);
return false;
}
for (int i=0;i<RowCount+1;i++)
{
m_pAttackBag[i]=NULL; // 皋葛府 檬扁拳
}
SQLAllocStmt(hDBC,&hStmt);
wsprintf(query_stmt,"select * from AI_PhysicalAttack_Bag order by TypeNo");
ret=SQLExecDirect(hStmt,(UCHAR*)query_stmt,SQL_NTS);
if (ret!=SQL_SUCCESS_WITH_INFO && ret !=SQL_SUCCESS)
{
MyLog(0,"LoadAttackBag(), AI_PhysicalAttack_Bag Table Query Error!!");
SQLFreeStmt(hStmt,SQL_DROP);
return FALSE;
}
SQLNumResultCols(hStmt,&nClos);
ret=SQLFetch(hStmt);
if (ret!=SQL_SUCCESS_WITH_INFO && ret !=SQL_SUCCESS)
{
MyLog(0,"LoadAttackBag(), AI_PhysicalAttack_Bag Table Fetch Error!!");
SQLFreeStmt(hStmt,SQL_DROP);
return false;
}
m_iAttackBagCount=1;
while (ret==SQL_SUCCESS)
{
m_pAttackBag[m_iAttackBagCount]=new int[5];
if (!m_pAttackBag[m_iAttackBagCount])
{
MyLog(0,"LoadAttackBag(), AI_PhysicalAttack_Bag Memory Alloc Error!!",ret);
SQLFreeStmt(hStmt,SQL_DROP);
return false;
}
ret=SQLGetData(hStmt, 3,SQL_C_SLONG,&m_pAttackBag[m_iAttackBagCount][ 0],sizeof(int),&cbValue);
ret=SQLGetData(hStmt, 4,SQL_C_SLONG,&m_pAttackBag[m_iAttackBagCount][ 1],sizeof(int),&cbValue);
ret=SQLGetData(hStmt, 5,SQL_C_SLONG,&m_pAttackBag[m_iAttackBagCount][ 2],sizeof(int),&cbValue);
ret=SQLGetData(hStmt, 6,SQL_C_SLONG,&m_pAttackBag[m_iAttackBagCount][ 3],sizeof(int),&cbValue);
ret=SQLGetData(hStmt, 7,SQL_C_SLONG,&m_pAttackBag[m_iAttackBagCount][ 4],sizeof(int),&cbValue);
if (ret!=SQL_SUCCESS_WITH_INFO && ret!=SQL_SUCCESS)
{
MyLog(0,"LoadAttackBag(), AI_PhysicalAttack_Bag Table SQL Return Error(%d)!!",ret);
SQLFreeStmt(hStmt,SQL_DROP);
return FALSE;
}
m_iAttackBagCount++;
ret=SQLFetch(hStmt);
}
SQLFreeStmt(hStmt,SQL_DROP);
return TRUE;
}
int CAIManager::LoadActionBag()
{
HSTMT hStmt=NULL;
RETCODE ret;
SWORD nClos;
char query_stmt[80]={0,};
SDWORD cbValue;
int RowCount;
if (m_pActionBag) // 捞固 单捞磐啊 乐促搁 橇府秦霖促..
{
ClearActionBag();
}
SQLAllocStmt(hDBC,&hStmt);
wsprintf(query_stmt,"select count(TypeNo) as FieldCount from AI_ActionBag");
ret=SQLExecDirect(hStmt,(UCHAR*)query_stmt,SQL_NTS);
if (ret!=SQL_SUCCESS_WITH_INFO && ret !=SQL_SUCCESS)
{
MyLog(0,"LoadActionBag(), AI_ActionBag Table Query Error!!");
SQLFreeStmt(hStmt,SQL_DROP);
return FALSE;
}
ret=SQLFetch(hStmt);
if (ret!=SQL_SUCCESS_WITH_INFO && ret !=SQL_SUCCESS)
{
MyLog(0,"LoadActionBag(), AI_ActionBag Table Fetch Error!!");
SQLFreeStmt(hStmt,SQL_DROP);
return false;
}
ret=SQLGetData(hStmt,1,SQL_C_SLONG,&RowCount,sizeof(int),&cbValue);
if (ret!=SQL_SUCCESS_WITH_INFO && ret!=SQL_SUCCESS)
{
MyLog(0,"LoadActionBag(), AI_ActionBag Table SQL Return Error(%d)!!",ret);
SQLFreeStmt(hStmt,SQL_DROP);
return false;
}
SQLFreeStmt(hStmt,SQL_DROP);
m_pActionBag=new int*[RowCount+1]; // 鞘靛荐父怒 AI_Type积己
if (!m_pActionBag)
{
MyLog(0,"LoadActionBag(), m_pActionBag Memory Alloc Error!!",ret);
SQLFreeStmt(hStmt,SQL_DROP);
return false;
}
for (int i=0;i<RowCount+1;i++)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -