//search :
void RegisterPartyFunctionTable()
//ADD BEFORE -WARNING BEFORE-
struct FPartyPIDCollector
{
std::vector <DWORD> vecPIDs;
FPartyPIDCollector()
{
}
void operator() (LPCHARACTER ch)
{
vecPIDs.push_back (ch->GetPlayerID());
}
};
int party_get_member_pids (lua_State* L)
{
CQuestManager& q = CQuestManager::instance();
LPCHARACTER ch = q.GetCurrentCharacterPtr();
LPPARTY pParty = ch->GetParty();
if (NULL == pParty)
{
return 0;
}
FPartyPIDCollector f;
pParty->ForEachOnMapMember (f, ch->GetMapIndex());
for (auto it = f.vecPIDs.begin(); it != f.vecPIDs.end(); it++)
{
lua_pushnumber (L, *it);
}
return f.vecPIDs.size();
}
//search :
{ "setqf", party_set_quest_flag },
{ "chat", party_chat },
{ "syschat", party_syschat },
{ "get_near_count", party_get_near_count },
{ "show_cinematic", party_show_cinematic },
{ "run_cinematic", party_run_cinematic },
{ "get_max_level", party_get_max_level },
{ "clear_ready", party_clear_ready },
{ "is_in_dungeon", party_is_in_dungeon },
{ "give_buff", party_give_buff },
{ "is_map_member_flag_lt", party_is_map_member_flag_lt },
//add a new function in function_table :
{ "get_member_pids", party_get_member_pids },