📄 guildmanager.cpp
字号:
CHATMGR->AddMsg(CTC_SYSMSG, CHATMGR->GetChatMsg(56));
//付农 盎脚
OBJECTMGR->ApplyOverInfoOptionToAll();
}
void CGuildManager::DeleteMemberSyn()
{
MSG_DWORD msg;
msg.Category = MP_GUILD;
msg.Protocol = MP_GUILD_DELETEMEMBER_SYN;
msg.dwObjectID = HEROID;
msg.dwData = m_SelectedMemberID;
NETWORK->Send(&msg, sizeof(msg));
}
void CGuildManager::DeleteMemberResult(DWORD PlayerIDX)
{
//CHAT MSG
if(HERO->GetGuildMemberRank() == GUILD_MASTER)
{
}
else if(HEROID == PlayerIDX)
{
}
else
{
}
//DO DELETE
m_Guild.DeleteMember(PlayerIDX);
}
void CGuildManager::SetCreating(BOOL val)
{
m_bCreateing = val;
}
void CGuildManager::AddMemberSyn(DWORD PlayerIDX)
{
if(HERO->GetGuildMemberRank() < GUILD_VICEMASTER)
{
CHATMGR->AddMsg( CTC_SYSMSG, CHATMGR->GetChatMsg(297) );
return;
}
if( m_Guild.CanAddMember() == FALSE)
{
CHATMGR->AddMsg( CTC_SYSMSG, CHATMGR->GetChatMsg(168) );
return;
}
MSG_DWORD msg;
msg.Category = MP_GUILD;
msg.Protocol = MP_GUILD_ADDMEMBER_SYN;
msg.dwData = PlayerIDX;
msg.dwObjectID = HEROID;
NETWORK->Send(&msg, sizeof(msg));
}
void CGuildManager::AddMemberAccept()
{
MSG_DWORD msg;
msg.Category = MP_GUILD;
msg.Protocol = MP_GUILD_INVITE_ACCEPT;
msg.dwObjectID = HEROID;
msg.dwData = m_RequestPlayerID;
NETWORK->Send(&msg, sizeof(msg));
GAMEIN->GetGuildInviteDlg()->SetActive(FALSE);
}
void CGuildManager::AddMemberDeny()
{
MSG_DWORD msg;
msg.Category = MP_GUILD;
msg.Protocol = MP_GUILD_INVITE_DENY;
msg.dwObjectID = HEROID;
msg.dwData = m_RequestPlayerID;
NETWORK->Send(&msg, sizeof(msg));
GAMEIN->GetGuildInviteDlg()->SetActive(FALSE);
CHATMGR->AddMsg(CTC_SYSMSG, CHATMGR->GetChatMsg(36));
}
void CGuildManager::SecedeSyn()
{
MSGBASE msg;
msg.Category = MP_GUILD;
msg.Protocol = MP_GUILD_SECEDE_SYN;
msg.dwObjectID = HEROID;
NETWORK->Send(&msg, sizeof(msg));
GAMEIN->GetGuildDlg()->SetActive(FALSE);
}
void CGuildManager::ShowErrMsg(BYTE bType)
{
switch(bType)
{
case eGuildErr_AddMember_OtherGuild:
CHATMGR->AddMsg(CTC_SYSMSG, CHATMGR->GetChatMsg(38)); break;
case eGuildErr_AddMember_AlreadyMember:
CHATMGR->AddMsg(CTC_SYSMSG, CHATMGR->GetChatMsg(39)); break;
case eGuildErr_AddMember_TargetNotDay:
CHATMGR->AddMsg(CTC_SYSMSG, CHATMGR->GetChatMsg(703)); break;
default:
ASSERTMSG(0, "GUILD - No ErrType");
}
}
char* CGuildManager::GetMemberName(DWORD MemberID)
{
return m_Guild.GetMemberName(MemberID);
}
void CGuildManager::MarkChange(MSG_DWORD3 * pInfo)
{
CObject* pObject = OBJECTMGR->GetObject(pInfo->dwData1);
ASSERT(pObject);
if( !pObject ) return;
((CPlayer*)pObject)->SetGuildIdx(pInfo->dwData2);
((CPlayer*)pObject)->SetGuildMarkName(pInfo->dwData3);
pObject->SetGuildMark();
OBJECTMGR->ApplyOverInfoOptionToAll();
}
void CGuildManager::LoadLevelUpInfo()
{
CMHFile file;
#ifdef _FILE_BIN_
file.Init("Resource/GuildLevel.bin","rb");
#else
file.Init("Resource/GuildLevel.txt","rt");
#endif
if(file.IsInited() == FALSE)
{
ASSERTMSG(0, "Fail To Load a File : GuildLevel");
return;
}
for(int n=0;n<MAX_GUILD_STEP;++n)
{
m_LevelUpInfo[n] = file.GetDword();
}
file.Release();
}
void CGuildManager::LevelUpSyn()
{
if(m_Guild.GetLevel() == GUILD_2LEVEL)
{
CHATMGR->AddMsg(CTC_SYSMSG, CHATMGR->GetChatMsg(710));
return;
}
if(m_Guild.GetLevel() == MAX_GUILD_LEVEL)
{
CHATMGR->AddMsg(CTC_SYSMSG, CHATMGR->GetChatMsg(708));
return;
}
if(m_Guild.GetLevel() == GUILD_4LEVEL)
{
if(ABILITYMGR->GetAbilityLevel(ABILITYINDEX_MUNPA, HERO->GetAbilityGroup()) != 1)
{
CHATMGR->AddMsg(CTC_SYSMSG, CHATMGR->GetChatMsg(108));
return;
}
if( HERO->GetMoney() < GetLevelUpMoney(m_Guild.GetLevel()) )
{
CHATMGR->AddMsg(CTC_SYSMSG, CHATMGR->GetChatMsg(108));
return;
}
}
else
{
//漂扁 八荤
if(ABILITYMGR->GetAbilityLevel(ABILITYINDEX_LEADERSHIP, HERO->GetAbilityGroup()) <= m_Guild.GetLevel())
{
CHATMGR->AddMsg(CTC_SYSMSG, CHATMGR->GetChatMsg(108));
return;
}
if( HERO->GetMoney() < GetLevelUpMoney(m_Guild.GetLevel()) )
{
CHATMGR->AddMsg(CTC_SYSMSG, CHATMGR->GetChatMsg(108));
return;
}
}
MSGBASE msg;
msg.Category = MP_GUILD;
msg.Protocol = MP_GUILD_LEVELUP_SYN;
msg.dwObjectID = HEROID;
NETWORK->Send(&msg, sizeof(msg));
}
MONEYTYPE CGuildManager::GetLevelUpMoney(BYTE GuildLevel)
{
if((GuildLevel == 0) || (GuildLevel > MAX_GUILD_LEVEL))
{
return 0;
}
return m_LevelUpInfo[GuildLevel-1];
}
BOOL CGuildManager::CanEntryGuild(char* date)
{
SYSTEMTIME ti;
GetLocalTime(&ti);
DWORD day;
char buf[5];
strncpy(buf, &date[0],4);
day = atoi(buf);
if( ti.wYear > day)
return TRUE;
char dbuf[3];
strncpy(dbuf, &date[5], 2);
day = atoi(dbuf);
if(ti.wMonth > day)
return TRUE;
strncpy(dbuf, &date[8], 2);
day = atoi(dbuf);
if(ti.wDay >= day)
return TRUE;
return FALSE;
}
BOOL CGuildManager::SetSelectedMemberID()
{
int num;
DWORD PlayerIDX;
num = GAMEIN->GetGuildDlg()->GetSelectedColumn();
if(num == -1)
return FALSE;
PlayerIDX = m_Guild.GetMemberIdx(num);
if(PlayerIDX == HEROID)
return FALSE;
if(m_Guild.IsMember(PlayerIDX) == FALSE)
{
return FALSE;
}
m_SelectedMemberID = PlayerIDX;
return TRUE;
}
char* CGuildManager::GetSelectedMemberName()
{
return m_Guild.GetMemberName(m_SelectedMemberID);
}
BYTE CGuildManager::GetGuildLevel()
{
return m_Guild.GetLevel();
}
void CGuildManager::ChangeMemberRank(BYTE Rank)
{
if(HERO->GetGuildMemberRank() != GUILD_MASTER)
{
CHATMGR->AddMsg(CTC_SYSMSG, CHATMGR->GetChatMsg(297));
return;
}
if(m_SelectedMemberID == 0)
{
CHATMGR->AddMsg(CTC_SYSMSG, CHATMGR->GetChatMsg(714));
return;
}
if(m_Guild.IsMember(m_SelectedMemberID) == FALSE)
{
CHATMGR->AddMsg(CTC_SYSMSG, CHATMGR->GetChatMsg(720));
return;
}
GUILDMEMBERINFO* pInfo;
pInfo = m_Guild.GetMemberInfo(m_SelectedMemberID);
if(pInfo == 0)
return;
if(pInfo->Rank == Rank)
{
CHATMGR->AddMsg(CTC_SYSMSG, CHATMGR->GetChatMsg(724));
return;
}
int rt = m_Guild.IsVacancy(Rank);
if(rt == eRankPos_Err)
{
CHATMGR->AddMsg(CTC_SYSMSG, CHATMGR->GetChatMsg(719));
return;
}
MSG_DWORDBYTE msg;
msg.Category = MP_GUILD;
msg.Protocol = MP_GUILD_CHANGERANK_SYN;
msg.dwObjectID = HEROID;
msg.dwData = m_SelectedMemberID;
msg.bData = Rank;
NETWORK->Send(&msg, sizeof(msg));
}
void CGuildManager::GiveNickNameSyn(char* NickName)
{
SEND_GUILD_NICKNAME msg;
msg.Category = MP_GUILD;
msg.Protocol = MP_GUILD_GIVENICKNAME_SYN;
msg.dwObjectID = HEROID;
msg.TargetIdx = m_SelectedMemberID;
SafeStrCpy(msg.NickName, NickName, MAX_GUILD_NICKNAME+1);
NETWORK->Send(&msg, sizeof(msg));
}
char* CGuildManager::GetRankName(BYTE rank)
{
if(GUILDMGR->GetGuildLevel() == MAX_GUILD_LEVEL)
{
switch(rank)
{
case GUILD_MASTER: return CHATMGR->GetChatMsg(154);
case GUILD_VICEMASTER: return CHATMGR->GetChatMsg(157);
case GUILD_SENIOR: return CHATMGR->GetChatMsg(156);
case GUILD_MEMBER: return CHATMGR->GetChatMsg(155);
default: ASSERTMSG(0, "秦寸登绰 巩颇 瘤困啊 绝嚼聪促. Invalid Munpa Rank."); return "";
}
}
else
{
switch(rank)
{
case GUILD_MASTER: return CHATMGR->GetChatMsg(711);
case GUILD_VICEMASTER: return CHATMGR->GetChatMsg(712);
case GUILD_MEMBER: return CHATMGR->GetChatMsg(713);
default: ASSERTMSG(0, "秦寸登绰 巩颇 瘤困啊 绝嚼聪促. Invalid Munpa Rank."); return "";
}
}
}
void CGuildManager::SetActiveFunc(BOOL val)
{
m_bActiveFunc = val;
}
BOOL CGuildManager::IsActiveFunc()
{
return m_bActiveFunc;
}
void CGuildManager::GuildWarehouseInfoSyn(BYTE TabNum)
{
if(HERO->GetGuildIdx() == 0)
{
return;
}
MSG_BYTE msg;
msg.Category = MP_ITEM;
msg.Protocol = MP_ITEM_GUILD_WAREHOUSE_INFO_SYN;
msg.dwObjectID = HEROID;
msg.bData = TabNum;
NETWORK->Send(&msg, sizeof(msg));
}
void CGuildManager::GuildWarehouseLeave(BYTE TabNum)
{
MSG_BYTE msg;
msg.Category = MP_ITEM;
msg.Protocol = MP_ITEM_GUILD_WAREHOUSE_LEAVE;
msg.dwObjectID = HEROID;
msg.bData = TabNum;
NETWORK->Send(&msg, sizeof(msg));
}
BOOL CGuildManager::CanUseWarehouse()
{
if(MAP->GetMapNum() == m_Guild.GetLocation())
return TRUE;
CHATMGR->AddMsg(CTC_SYSMSG, CHATMGR->GetChatMsg(725));
return FALSE;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -