mirror of
https://github.com/EQEmu/Server.git
synced 2025-12-15 20:51:29 +00:00
Merge pull request #1228 from EQEmu/anon_afk_client
[Quest API] Add Anon/AFK methods to Perl and Lua.
This commit is contained in:
commit
8f7702095b
@ -10134,3 +10134,27 @@ std::vector<int> Client::GetScribedSpells() {
|
|||||||
}
|
}
|
||||||
return scribed_spells;
|
return scribed_spells;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Client::SetAnon(uint8 anon_flag) {
|
||||||
|
m_pp.anon = anon_flag;
|
||||||
|
auto outapp = new EQApplicationPacket(OP_SpawnAppearance, sizeof(SpawnAppearance_Struct));
|
||||||
|
SpawnAppearance_Struct* spawn_appearance = (SpawnAppearance_Struct*)outapp->pBuffer;
|
||||||
|
spawn_appearance->spawn_id = this->GetID();
|
||||||
|
spawn_appearance->type = AT_Anon;
|
||||||
|
spawn_appearance->parameter = anon_flag;
|
||||||
|
entity_list.QueueClients(this, outapp);
|
||||||
|
Save();
|
||||||
|
UpdateWho();
|
||||||
|
safe_delete(outapp);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Client::SetAFK(uint8 afk_flag) {
|
||||||
|
AFK = afk_flag;
|
||||||
|
auto outapp = new EQApplicationPacket(OP_SpawnAppearance, sizeof(SpawnAppearance_Struct));
|
||||||
|
SpawnAppearance_Struct* spawn_appearance = (SpawnAppearance_Struct*)outapp->pBuffer;
|
||||||
|
spawn_appearance->spawn_id = this->GetID();
|
||||||
|
spawn_appearance->type = AT_AFK;
|
||||||
|
spawn_appearance->parameter = afk_flag;
|
||||||
|
entity_list.QueueClients(this, outapp);
|
||||||
|
safe_delete(outapp);
|
||||||
|
}
|
||||||
|
|||||||
@ -371,6 +371,9 @@ public:
|
|||||||
void Kick(const std::string &reason);
|
void Kick(const std::string &reason);
|
||||||
void WorldKick();
|
void WorldKick();
|
||||||
inline uint8 GetAnon() const { return m_pp.anon; }
|
inline uint8 GetAnon() const { return m_pp.anon; }
|
||||||
|
inline uint8 GetAFK() const { return AFK; }
|
||||||
|
void SetAnon(uint8 anon_flag);
|
||||||
|
void SetAFK(uint8 afk_flag);
|
||||||
inline PlayerProfile_Struct& GetPP() { return m_pp; }
|
inline PlayerProfile_Struct& GetPP() { return m_pp; }
|
||||||
inline ExtendedProfile_Struct& GetEPP() { return m_epp; }
|
inline ExtendedProfile_Struct& GetEPP() { return m_epp; }
|
||||||
inline EQ::InventoryProfile& GetInv() { return m_inv; }
|
inline EQ::InventoryProfile& GetInv() { return m_inv; }
|
||||||
|
|||||||
@ -69,9 +69,24 @@ void Lua_Client::WorldKick() {
|
|||||||
self->WorldKick();
|
self->WorldKick();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Lua_Client::GetAnon() {
|
int Lua_Client::GetAFK() {
|
||||||
Lua_Safe_Call_Bool();
|
Lua_Safe_Call_Int();
|
||||||
return self->GetAnon() != 0;
|
return self->GetAFK();
|
||||||
|
}
|
||||||
|
|
||||||
|
void Lua_Client::SetAFK(uint8 afk_flag) {
|
||||||
|
Lua_Safe_Call_Void();
|
||||||
|
self->SetAFK(afk_flag);
|
||||||
|
}
|
||||||
|
|
||||||
|
int Lua_Client::GetAnon() {
|
||||||
|
Lua_Safe_Call_Int();
|
||||||
|
return self->GetAnon();
|
||||||
|
}
|
||||||
|
|
||||||
|
void Lua_Client::SetAnon(uint8 anon_flag) {
|
||||||
|
Lua_Safe_Call_Void();
|
||||||
|
self->SetAnon(anon_flag);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Lua_Client::Duck() {
|
void Lua_Client::Duck() {
|
||||||
@ -2062,7 +2077,10 @@ luabind::scope lua_register_client() {
|
|||||||
.def("IsLD", (bool(Lua_Client::*)(void))&Lua_Client::IsLD)
|
.def("IsLD", (bool(Lua_Client::*)(void))&Lua_Client::IsLD)
|
||||||
.def("WorldKick", (void(Lua_Client::*)(void))&Lua_Client::WorldKick)
|
.def("WorldKick", (void(Lua_Client::*)(void))&Lua_Client::WorldKick)
|
||||||
.def("SendToGuildHall", (void(Lua_Client::*)(void))&Lua_Client::SendToGuildHall)
|
.def("SendToGuildHall", (void(Lua_Client::*)(void))&Lua_Client::SendToGuildHall)
|
||||||
.def("GetAnon", (bool(Lua_Client::*)(void))&Lua_Client::GetAnon)
|
.def("GetAFK", (int(Lua_Client::*)(void))&Lua_Client::GetAFK)
|
||||||
|
.def("SetAFK", (void(Lua_Client::*)(uint8))&Lua_Client::SetAFK)
|
||||||
|
.def("GetAnon", (int(Lua_Client::*)(void))&Lua_Client::GetAnon)
|
||||||
|
.def("SetAnon", (void(Lua_Client::*)(uint8))&Lua_Client::SetAnon)
|
||||||
.def("Duck", (void(Lua_Client::*)(void))&Lua_Client::Duck)
|
.def("Duck", (void(Lua_Client::*)(void))&Lua_Client::Duck)
|
||||||
.def("DyeArmorBySlot", (void(Lua_Client::*)(uint8,uint8,uint8,uint8))&Lua_Client::DyeArmorBySlot)
|
.def("DyeArmorBySlot", (void(Lua_Client::*)(uint8,uint8,uint8,uint8))&Lua_Client::DyeArmorBySlot)
|
||||||
.def("DyeArmorBySlot", (void(Lua_Client::*)(uint8,uint8,uint8,uint8,uint8))&Lua_Client::DyeArmorBySlot)
|
.def("DyeArmorBySlot", (void(Lua_Client::*)(uint8,uint8,uint8,uint8,uint8))&Lua_Client::DyeArmorBySlot)
|
||||||
|
|||||||
@ -41,7 +41,10 @@ public:
|
|||||||
bool IsLD();
|
bool IsLD();
|
||||||
void WorldKick();
|
void WorldKick();
|
||||||
void SendToGuildHall();
|
void SendToGuildHall();
|
||||||
bool GetAnon();
|
int GetAnon();
|
||||||
|
void SetAnon(uint8 anon_flag);
|
||||||
|
int GetAFK();
|
||||||
|
void SetAFK(uint8 afk_flag);
|
||||||
void Duck();
|
void Duck();
|
||||||
void DyeArmorBySlot(uint8 slot, uint8 red, uint8 green, uint8 blue);
|
void DyeArmorBySlot(uint8 slot, uint8 red, uint8 green, uint8 blue);
|
||||||
void DyeArmorBySlot(uint8 slot, uint8 red, uint8 green, uint8 blue, uint8 use_tint);
|
void DyeArmorBySlot(uint8 slot, uint8 red, uint8 green, uint8 blue, uint8 use_tint);
|
||||||
|
|||||||
@ -217,6 +217,51 @@ XS(XS_Client_GetAnon) {
|
|||||||
XSRETURN(1);
|
XSRETURN(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
XS(XS_Client_SetAnon); /* prototype to pass -Wmissing-prototypes */
|
||||||
|
XS(XS_Client_SetAnon) {
|
||||||
|
dXSARGS;
|
||||||
|
if (items != 2)
|
||||||
|
Perl_croak(aTHX_ "Usage: Client::SetAnon(THIS, uint8 anon_flag)");
|
||||||
|
{
|
||||||
|
Client *THIS;
|
||||||
|
uint8 anon_flag = (uint8) SvUV(ST(1));
|
||||||
|
VALIDATE_THIS_IS_CLIENT;
|
||||||
|
THIS->SetAnon(anon_flag);
|
||||||
|
}
|
||||||
|
XSRETURN_EMPTY;
|
||||||
|
}
|
||||||
|
|
||||||
|
XS(XS_Client_GetAFK); /* prototype to pass -Wmissing-prototypes */
|
||||||
|
XS(XS_Client_GetAFK) {
|
||||||
|
dXSARGS;
|
||||||
|
if (items != 1)
|
||||||
|
Perl_croak(aTHX_ "Usage: Client::GetAFK(THIS)");
|
||||||
|
{
|
||||||
|
Client *THIS;
|
||||||
|
uint8 RETVAL;
|
||||||
|
dXSTARG;
|
||||||
|
VALIDATE_THIS_IS_CLIENT;
|
||||||
|
RETVAL = THIS->GetAFK();
|
||||||
|
XSprePUSH;
|
||||||
|
PUSHu((UV) RETVAL);
|
||||||
|
}
|
||||||
|
XSRETURN(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
XS(XS_Client_SetAFK); /* prototype to pass -Wmissing-prototypes */
|
||||||
|
XS(XS_Client_SetAFK) {
|
||||||
|
dXSARGS;
|
||||||
|
if (items != 2)
|
||||||
|
Perl_croak(aTHX_ "Usage: Client::SetAFK(THIS, uint8 afk_flag)");
|
||||||
|
{
|
||||||
|
Client *THIS;
|
||||||
|
uint8 afk_flag = (uint8) SvUV(ST(1));
|
||||||
|
VALIDATE_THIS_IS_CLIENT;
|
||||||
|
THIS->SetAFK(afk_flag);
|
||||||
|
}
|
||||||
|
XSRETURN_EMPTY;
|
||||||
|
}
|
||||||
|
|
||||||
XS(XS_Client_Duck); /* prototype to pass -Wmissing-prototypes */
|
XS(XS_Client_Duck); /* prototype to pass -Wmissing-prototypes */
|
||||||
XS(XS_Client_Duck) {
|
XS(XS_Client_Duck) {
|
||||||
dXSARGS;
|
dXSARGS;
|
||||||
@ -5283,6 +5328,7 @@ XS(boot_Client) {
|
|||||||
newXSproto(strcpy(buf, "GetAAPoints"), XS_Client_GetAAPoints, file, "$$");
|
newXSproto(strcpy(buf, "GetAAPoints"), XS_Client_GetAAPoints, file, "$$");
|
||||||
newXSproto(strcpy(buf, "GetAccountAge"), XS_Client_GetAccountAge, file, "$");
|
newXSproto(strcpy(buf, "GetAccountAge"), XS_Client_GetAccountAge, file, "$");
|
||||||
newXSproto(strcpy(buf, "GetAccountFlag"), XS_Client_GetAccountFlag, file, "$$");
|
newXSproto(strcpy(buf, "GetAccountFlag"), XS_Client_GetAccountFlag, file, "$$");
|
||||||
|
newXSproto(strcpy(buf, "GetAFK"), XS_Client_GetAFK, file, "$");
|
||||||
newXSproto(strcpy(buf, "GetAggroCount"), XS_Client_GetAggroCount, file, "$");
|
newXSproto(strcpy(buf, "GetAggroCount"), XS_Client_GetAggroCount, file, "$");
|
||||||
newXSproto(strcpy(buf, "GetAllMoney"), XS_Client_GetAllMoney, file, "$");
|
newXSproto(strcpy(buf, "GetAllMoney"), XS_Client_GetAllMoney, file, "$");
|
||||||
newXSproto(strcpy(buf, "GetAlternateCurrencyValue"), XS_Client_GetAlternateCurrencyValue, file, "$$");
|
newXSproto(strcpy(buf, "GetAlternateCurrencyValue"), XS_Client_GetAlternateCurrencyValue, file, "$$");
|
||||||
@ -5450,6 +5496,8 @@ XS(boot_Client) {
|
|||||||
newXSproto(strcpy(buf, "SetAAPoints"), XS_Client_SetAAPoints, file, "$$");
|
newXSproto(strcpy(buf, "SetAAPoints"), XS_Client_SetAAPoints, file, "$$");
|
||||||
newXSproto(strcpy(buf, "SetAATitle"), XS_Client_SetAATitle, file, "$$;$");
|
newXSproto(strcpy(buf, "SetAATitle"), XS_Client_SetAATitle, file, "$$;$");
|
||||||
newXSproto(strcpy(buf, "SetAccountFlag"), XS_Client_SetAccountFlag, file, "$$");
|
newXSproto(strcpy(buf, "SetAccountFlag"), XS_Client_SetAccountFlag, file, "$$");
|
||||||
|
newXSproto(strcpy(buf, "SetAFK"), XS_Client_SetAFK, file, "$$");
|
||||||
|
newXSproto(strcpy(buf, "SetAnon"), XS_Client_SetAnon, file, "$$");
|
||||||
newXSproto(strcpy(buf, "SetAlternateCurrencyValue"), XS_Client_SetAlternateCurrencyValue, file, "$$$");
|
newXSproto(strcpy(buf, "SetAlternateCurrencyValue"), XS_Client_SetAlternateCurrencyValue, file, "$$$");
|
||||||
newXSproto(strcpy(buf, "SetBaseClass"), XS_Client_SetBaseClass, file, "$$");
|
newXSproto(strcpy(buf, "SetBaseClass"), XS_Client_SetBaseClass, file, "$$");
|
||||||
newXSproto(strcpy(buf, "SetBaseGender"), XS_Client_SetBaseGender, file, "$$");
|
newXSproto(strcpy(buf, "SetBaseGender"), XS_Client_SetBaseGender, file, "$$");
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user