本文整理汇总了C++中LPCHARACTER::GetPlayerID方法的典型用法代码示例。如果您正苦于以下问题:C++ LPCHARACTER::GetPlayerID方法的具体用法?C++ LPCHARACTER::GetPlayerID怎么用?C++ LPCHARACTER::GetPlayerID使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类LPCHARACTER
的用法示例。
在下文中一共展示了LPCHARACTER::GetPlayerID方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: CreateParty
LPPARTY CPartyManager::CreateParty(LPCHARACTER pLeader)
{
if (pLeader->GetParty())
return pLeader->GetParty();
LPPARTY pParty = M2_NEW CParty;
if (pLeader->IsPC())
{
//TPacketGGParty p;
//p.header = HEADER_GG_PARTY;
//p.subheader = PARTY_SUBHEADER_GG_CREATE;
//p.pid = pLeader->GetPlayerID();
//P2P_MANAGER::instance().Send(&p, sizeof(p));
TPacketPartyCreate p;
p.dwLeaderPID = pLeader->GetPlayerID();
db_clientdesc->DBPacket(HEADER_GD_PARTY_CREATE, 0, &p, sizeof(TPacketPartyCreate));
sys_log(0, "PARTY: Create %s pid %u", pLeader->GetName(), pLeader->GetPlayerID());
pParty->SetPCParty(true);
pParty->Join(pLeader->GetPlayerID());
m_set_pkPCParty.insert(pParty);
}
else
{
pParty->SetPCParty(false);
pParty->Join(pLeader->GetVID());
}
pParty->Link(pLeader);
return (pParty);
}
示例2: HackShieldLog
void LogManager::HackShieldLog(unsigned long ErrorCode, LPCHARACTER ch)
{
struct in_addr st_addr;
#ifndef __WIN32__
if (0 == inet_aton(ch->GetDesc()->GetHostName(), &st_addr))
#else
unsigned long in_address;
in_address = inet_addr(ch->GetDesc()->GetHostName());
st_addr.s_addr = in_address;
if (INADDR_NONE == in_address)
#endif
{
Query( "INSERT INTO hackshield_log(time, account_id, login, pid, name, reason, ip) "
"VALUES(NOW(), %u, '%s', %u, '%s', %u, 0)",
ch->GetDesc()->GetAccountTable().id, ch->GetDesc()->GetAccountTable().login,
ch->GetPlayerID(), ch->GetName(),
ErrorCode);
}
else
{
Query( "INSERT INTO hackshield_log(time, account_id, login, pid, name, reason, ip) "
"VALUES(NOW(), %u, '%s', %u, '%s', %u, inet_aton('%s'))",
ch->GetDesc()->GetAccountTable().id, ch->GetDesc()->GetAccountTable().login,
ch->GetPlayerID(), ch->GetName(),
ErrorCode,
ch->GetDesc()->GetHostName());
}
}
示例3: marriage_join_wedding
int marriage_join_wedding(lua_State* L)
{
if (!lua_isnumber(L, 1) || !lua_isnumber(L, 2))
{
sys_err("invalid player id for wedding map");
return 0;
}
DWORD pid1 = (DWORD) lua_tonumber(L, 1);
DWORD pid2 = (DWORD) lua_tonumber(L, 2);
LPCHARACTER ch = CQuestManager::instance().GetCurrentCharacterPtr();
marriage::TMarriage* pMarriage = marriage::CManager::instance().Get(pid1);
if (!pMarriage)
{
sys_err("pid[%d:%s] is not exist couple", ch->GetPlayerID(), ch->GetName());
return 0;
}
if (pMarriage->GetOther(pid1) != pid2)
{
sys_err("not married %u %u", pid1, pid2);
return 0;
}
//PREVENT_HACK
if ( ch->IsHack() )
return 0;
//END_PREVENT_HACK
pMarriage->WarpToWeddingMap(ch->GetPlayerID());
return 0;
}
示例4: DetailLoginLog
void LogManager::DetailLoginLog(bool isLogin, LPCHARACTER ch)
{
if (NULL == ch->GetDesc())
return;
if (true == isLogin)
{
Query("INSERT INTO loginlog2(type, is_gm, login_time, channel, account_id, pid, ip, client_version) "
"VALUES('INVALID', %s, NOW(), %d, %u, %u, inet_aton('%s'), '%s')",
ch->IsGM() == true ? "'Y'" : "'N'",
g_bChannel,
ch->GetDesc()->GetAccountTable().id,
ch->GetPlayerID(),
ch->GetDesc()->GetHostName(),
ch->GetDesc()->GetClientVersion());
}
else
{
Query("SET @i = (SELECT MAX(id) FROM loginlog2 WHERE account_id=%u AND pid=%u)",
ch->GetDesc()->GetAccountTable().id,
ch->GetPlayerID());
Query("UPDATE loginlog2 SET type='VALID', logout_time=NOW(), playtime=TIMEDIFF(logout_time,login_time) WHERE [email protected]");
}
}
示例5: marriage_wedding_music
int marriage_wedding_music(lua_State* L)
{
if (!lua_isboolean(L, 1))
{
sys_err("invalid argument 1 : must be boolean");
return 0;
}
if (!lua_isstring(L, 2))
{
sys_err("invalid argument 2 : must be string");
return 0;
}
LPCHARACTER ch = CQuestManager::instance().GetCurrentCharacterPtr();
marriage::TMarriage* pMarriage = marriage::CManager::instance().Get(ch->GetPlayerID());
if (!pMarriage)
{
sys_err("pid[%d:%s] is not exist couple", ch->GetPlayerID(), ch->GetName());
return 0;
}
if (pMarriage->pWeddingInfo)
{
marriage::WeddingMap* pWedding = marriage::WeddingManager::instance().Find(pMarriage->pWeddingInfo->dwMapIndex);
pWedding->SetMusic(
lua_toboolean(L, 1),
lua_tostring(L, 2)
);
}
return 0;
}
示例6: Link
void CParty::Link(LPCHARACTER pkChr)
{
TMemberMap::iterator it;
if (pkChr->IsPC())
it = m_memberMap.find(pkChr->GetPlayerID());
else
it = m_memberMap.find(pkChr->GetVID());
if (it == m_memberMap.end())
{
sys_err("%s is not member of this party", pkChr->GetName());
return;
}
// 플레이어 파티일 경우 업데이트 이벤트 생성
if (m_bPCParty && !m_eventUpdate)
{
party_update_event_info* info = AllocEventInfo<party_update_event_info>();
info->pid = m_dwLeaderPID;
m_eventUpdate = event_create(party_update_event, info, PASSES_PER_SEC(3));
}
if (it->second.bRole == PARTY_ROLE_LEADER)
m_pkChrLeader = pkChr;
sys_log(2, "PARTY[%d] %s linked to party", GetLeaderPID(), pkChr->GetName());
it->second.pCharacter = pkChr;
pkChr->SetParty(this);
if (pkChr->IsPC())
{
if (it->second.strName.empty())
{
it->second.strName = pkChr->GetName();
}
SendPartyJoinOneToAll(pkChr->GetPlayerID());
SendPartyJoinAllToOne(pkChr);
SendPartyLinkOneToAll(pkChr);
SendPartyLinkAllToOne(pkChr);
SendPartyInfoAllToOne(pkChr);
SendPartyInfoOneToAll(pkChr);
SendParameter(pkChr);
//sys_log(0, "PARTY-DUNGEON connect %p %p", this, GetDungeon());
if (GetDungeon() && GetDungeon()->GetMapIndex() == pkChr->GetMapIndex())
{
pkChr->SetDungeon(GetDungeon());
}
RequestSetMemberLevel(pkChr->GetPlayerID(), pkChr->GetLevel());
}
}
示例7: marriage_set_to_marriage
int marriage_set_to_marriage(lua_State* L)
{
LPCHARACTER ch = CQuestManager::instance().GetCurrentCharacterPtr();
marriage::TMarriage* pMarriage = marriage::CManager::instance().Get(ch->GetPlayerID());
if (!pMarriage)
{
sys_err("pid[%d:%s] is not exist couple", ch->GetPlayerID(), ch->GetName());
return 0;
}
pMarriage->SetMarried();
return 0;
}
示例8: marriage_remove
int marriage_remove(lua_State* L)
{
LPCHARACTER ch = CQuestManager::instance().GetCurrentCharacterPtr();
marriage::TMarriage* pMarriage = marriage::CManager::instance().Get(ch->GetPlayerID());
if (!pMarriage)
{
sys_err("pid[%d:%s] is not exist couple", ch->GetPlayerID(), ch->GetName());
return 0;
}
marriage::CManager::instance().RequestRemove(ch->GetPlayerID(), pMarriage->GetOther(ch->GetPlayerID()));
return 0;
}
示例9: marriage_end_wedding
int marriage_end_wedding(lua_State* L)
{
LPCHARACTER ch = CQuestManager::instance().GetCurrentCharacterPtr();
marriage::TMarriage* pMarriage = marriage::CManager::instance().Get(ch->GetPlayerID());
if (!pMarriage)
{
sys_err("pid[%d:%s] is not exist couple", ch->GetPlayerID(), ch->GetName());
return 0;
}
if (pMarriage->pWeddingInfo)
{
// 결혼식 끝내기 요청
pMarriage->RequestEndWedding();
}
return 0;
}
示例10: AddToCharacter
bool CItem::AddToCharacter(LPCHARACTER ch, TItemPos Cell)
{
assert(GetSectree() == NULL);
assert(m_pOwner == NULL);
WORD pos = Cell.cell;
BYTE window_type = Cell.window_type;
if (INVENTORY == window_type)
{
if (m_wCell >= INVENTORY_MAX_NUM && BELT_INVENTORY_SLOT_START > m_wCell)
{
sys_err("CItem::AddToCharacter: cell overflow: %s to %s cell %d", m_pProto->szName, ch->GetName(), m_wCell);
return false;
}
}
else if (DRAGON_SOUL_INVENTORY == window_type)
{
if (m_wCell >= DRAGON_SOUL_INVENTORY_MAX_NUM)
{
sys_err("CItem::AddToCharacter: cell overflow: %s to %s cell %d", m_pProto->szName, ch->GetName(), m_wCell);
return false;
}
}
if (ch->GetDesc())
m_dwLastOwnerPID = ch->GetPlayerID();
event_cancel(&m_pkDestroyEvent);
ch->SetItem(TItemPos(window_type, pos), this);
m_pOwner = ch;
Save();
return true;
}
示例11: marriage_find_married_vid
int marriage_find_married_vid(lua_State* L)
{
LPCHARACTER ch = CQuestManager::instance().GetCurrentCharacterPtr();
marriage::TMarriage* pMarriage = marriage::CManager::instance().Get(ch->GetPlayerID());
DWORD vid = 0;
if (pMarriage)
{
LPCHARACTER you = CHARACTER_MANAGER::instance().FindByPID(pMarriage->GetOther(ch->GetPlayerID()));
if (you)
vid = you->GetVID();
}
lua_pushnumber(L, vid);
return 1;
}
示例12: IsOwnership
bool CItem::IsOwnership(LPCHARACTER ch)
{
if (!m_pkOwnershipEvent)
return true;
return m_dwOwnershipPID == ch->GetPlayerID() ? true : false;
}
示例13: CharLog
void LogManager::CharLog(LPCHARACTER ch, DWORD dw, const char * c_pszText, const char * c_pszHint)
{
if (ch)
CharLog(ch->GetPlayerID(), ch->GetX(), ch->GetY(), dw, c_pszText, c_pszHint, ch->GetDesc() ? ch->GetDesc()->GetHostName() : "");
else
CharLog(0, 0, 0, dw, c_pszText, c_pszHint, "");
}
示例14: IS_SPEED_HACK
bool IS_SPEED_HACK(LPCHARACTER ch, LPCHARACTER victim, DWORD current_time)
{
if (ch->m_kAttackLog.dwVID == victim->GetVID())
{
if (current_time - ch->m_kAttackLog.dwTime < GET_ATTACK_SPEED(ch))
{
INCREASE_SPEED_HACK_COUNT(ch);
if (test_server)
{
sys_log(0, "%s attack hack! time (delta, limit)=(%u, %u) hack_count %d",
ch->GetName(),
current_time - ch->m_kAttackLog.dwTime,
GET_ATTACK_SPEED(ch),
ch->m_speed_hack_count);
ch->ChatPacket(CHAT_TYPE_INFO, "%s attack hack! time (delta, limit)=(%u, %u) hack_count %d",
ch->GetName(),
current_time - ch->m_kAttackLog.dwTime,
GET_ATTACK_SPEED(ch),
ch->m_speed_hack_count);
}
SET_ATTACK_TIME(ch, victim, current_time);
SET_ATTACKED_TIME(ch, victim, current_time);
return true;
}
}
SET_ATTACK_TIME(ch, victim, current_time);
if (victim->m_AttackedLog.dwPID == ch->GetPlayerID())
{
if (current_time - victim->m_AttackedLog.dwAttackedTime < GET_ATTACK_SPEED(ch))
{
INCREASE_SPEED_HACK_COUNT(ch);
if (test_server)
{
sys_log(0, "%s Attack Speed HACK! time (delta, limit)=(%u, %u), hack_count = %d",
ch->GetName(),
current_time - victim->m_AttackedLog.dwAttackedTime,
GET_ATTACK_SPEED(ch),
ch->m_speed_hack_count);
ch->ChatPacket(CHAT_TYPE_INFO, "Attack Speed Hack(%s), (delta, limit)=(%u, %u)",
ch->GetName(),
current_time - victim->m_AttackedLog.dwAttackedTime,
GET_ATTACK_SPEED(ch));
}
SET_ATTACKED_TIME(ch, victim, current_time);
return true;
}
}
SET_ATTACKED_TIME(ch, victim, current_time);
return false;
}
示例15: EnterAudience
bool COXEventManager::EnterAudience(LPCHARACTER pkChar)
{
DWORD pid = pkChar->GetPlayerID();
m_map_char.insert(std::make_pair(pid, pid));
return true;
}