Added getcharnamebyid(char_id) to Perl/Lua.

This commit is contained in:
Alex
2020-04-05 21:11:21 -04:00
parent 3c71e2c91d
commit ae959be5ac
6 changed files with 49 additions and 0 deletions
+19
View File
@@ -3231,6 +3231,24 @@ XS(XS__saylink) {
XSRETURN(1);
}
XS(XS__getcharnamebyid);
XS(XS__getcharnamebyid) {
dXSARGS;
if (items != 1)
Perl_croak(aTHX_ "Usage: quest::getcharnamebyid(uint32 char_id)");
dXSTARG;
Const_char *RETVAL;
uint32 char_id = (int) SvUV(ST(0));
RETVAL = quest_manager.getcharnamebyid(char_id);
sv_setpv(TARG, RETVAL);
XSprePUSH;
PUSHTARG;
XSRETURN(1);
}
XS(XS__getguildnamebyid);
XS(XS__getguildnamebyid) {
dXSARGS;
@@ -4076,6 +4094,7 @@ EXTERN_C XS(boot_quest) {
newXS(strcpy(buf, "getitemname"), XS__getitemname, file);
newXS(strcpy(buf, "getItemName"), XS_qc_getItemName, file);
newXS(strcpy(buf, "get_spawn_condition"), XS__get_spawn_condition, file);
newXS(strcpy(buf, "getcharnamebyid"), XS__getcharnamebyid, file);
newXS(strcpy(buf, "getguildnamebyid"), XS__getguildnamebyid, file);
newXS(strcpy(buf, "getguildidbycharid"), XS__getguildidbycharid, file);
newXS(strcpy(buf, "getgroupidbycharid"), XS__getgroupidbycharid, file);
+5
View File
@@ -870,6 +870,10 @@ bool lua_delete_data(std::string bucket_key) {
return DataBucket::DeleteData(bucket_key);
}
const char *lua_get_char_name_by_id(uint32 char_id) {
return database.GetCharNameByID(char_id);
}
const char *lua_get_guild_name_by_id(uint32 guild_id) {
return quest_manager.getguildnamebyid(guild_id);
}
@@ -1763,6 +1767,7 @@ luabind::scope lua_register_general() {
luabind::def("set_data", (void(*)(std::string, std::string))&lua_set_data),
luabind::def("set_data", (void(*)(std::string, std::string, std::string))&lua_set_data),
luabind::def("delete_data", (bool(*)(std::string))&lua_delete_data),
luabind::def("get_char_name_by_id", &lua_get_char_name_by_id),
luabind::def("get_guild_name_by_id", &lua_get_guild_name_by_id),
luabind::def("get_guild_id_by_char_id", &lua_get_guild_id_by_char_id),
luabind::def("get_group_id_by_char_id", &lua_get_group_id_by_char_id),
+7
View File
@@ -2928,6 +2928,13 @@ std::string QuestManager::saylink(char *saylink_text, bool silent, const char *l
return EQEmu::SayLinkEngine::GenerateQuestSaylink(saylink_text, silent, link_name);
}
const char* QuestManager::getcharnamebyid(uint32 char_id) {
if (char_id > 0) {
return database.GetCharNameByID(char_id);
}
return "";
}
const char* QuestManager::getguildnamebyid(int guild_id) {
if (guild_id > 0)
return guild_mgr.GetGuildName(guild_id);
+1
View File
@@ -255,6 +255,7 @@ public:
void FlagInstanceByRaidLeader(uint32 zone, int16 version);
const char* varlink(char* perltext, int item_id);
std::string saylink(char *saylink_text, bool silent, const char *link_name);
const char* getcharnamebyid(uint32 char_id);
const char* getguildnamebyid(int guild_id);
int getguildidbycharid(uint32 char_id);
int getgroupidbycharid(uint32 char_id);