Merge branch 'master' into getcharnamebyid

This commit is contained in:
Alex 2020-04-05 21:21:15 -04:00 committed by GitHub
commit 5a8d467d25
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 28 additions and 0 deletions

View File

@ -3231,6 +3231,7 @@ XS(XS__saylink) {
XSRETURN(1); XSRETURN(1);
} }
XS(XS__getcharnamebyid); XS(XS__getcharnamebyid);
XS(XS__getcharnamebyid) { XS(XS__getcharnamebyid) {
dXSARGS; dXSARGS;
@ -3246,6 +3247,22 @@ XS(XS__getcharnamebyid) {
sv_setpv(TARG, RETVAL); sv_setpv(TARG, RETVAL);
XSprePUSH; XSprePUSH;
PUSHTARG; PUSHTARG;
}
XS(XS__getcharidbyname);
XS(XS__getcharidbyname) {
dXSARGS;
if (items != 1)
Perl_croak(aTHX_ "Usage: quest::getcharidbyname(string name)");
dXSTARG;
uint32 RETVAL;
const char *name = (const char *) SvPV_nolen(ST(0));
RETVAL = quest_manager.getcharidbyname(name);
XSprePUSH;
PUSHu((UV)RETVAL);
XSRETURN(1); XSRETURN(1);
} }
@ -4090,6 +4107,7 @@ EXTERN_C XS(boot_quest) {
newXS(strcpy(buf, "follow"), XS__follow, file); newXS(strcpy(buf, "follow"), XS__follow, file);
newXS(strcpy(buf, "forcedoorclose"), XS__forcedoorclose, file); newXS(strcpy(buf, "forcedoorclose"), XS__forcedoorclose, file);
newXS(strcpy(buf, "forcedooropen"), XS__forcedooropen, file); newXS(strcpy(buf, "forcedooropen"), XS__forcedooropen, file);
newXS(strcpy(buf, "getcharidbyname"), XS__getcharidbyname, file);
newXS(strcpy(buf, "getinventoryslotid"), XS__getinventoryslotid, file); newXS(strcpy(buf, "getinventoryslotid"), XS__getinventoryslotid, file);
newXS(strcpy(buf, "getitemname"), XS__getitemname, file); newXS(strcpy(buf, "getitemname"), XS__getitemname, file);
newXS(strcpy(buf, "getItemName"), XS_qc_getItemName, file); newXS(strcpy(buf, "getItemName"), XS_qc_getItemName, file);

View File

@ -874,6 +874,10 @@ const char *lua_get_char_name_by_id(uint32 char_id) {
return database.GetCharNameByID(char_id); return database.GetCharNameByID(char_id);
} }
uint32 lua_get_char_id_by_name(const char* name) {
return quest_manager.getcharidbyname(name);
}
const char *lua_get_guild_name_by_id(uint32 guild_id) { const char *lua_get_guild_name_by_id(uint32 guild_id) {
return quest_manager.getguildnamebyid(guild_id); return quest_manager.getguildnamebyid(guild_id);
} }
@ -1768,6 +1772,7 @@ luabind::scope lua_register_general() {
luabind::def("set_data", (void(*)(std::string, 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("delete_data", (bool(*)(std::string))&lua_delete_data),
luabind::def("get_char_name_by_id", &lua_get_char_name_by_id), luabind::def("get_char_name_by_id", &lua_get_char_name_by_id),
luabind::def("get_char_id_by_name", (uint32(*)(const char*))&lua_get_char_id_by_name),
luabind::def("get_guild_name_by_id", &lua_get_guild_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_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), luabind::def("get_group_id_by_char_id", &lua_get_group_id_by_char_id),

View File

@ -2935,6 +2935,10 @@ const char* QuestManager::getcharnamebyid(uint32 char_id) {
return ""; return "";
} }
uint32 QuestManager::getcharidbyname(const char* name) {
return database.GetCharacterID(name);
}
const char* QuestManager::getguildnamebyid(int guild_id) { const char* QuestManager::getguildnamebyid(int guild_id) {
if (guild_id > 0) if (guild_id > 0)
return guild_mgr.GetGuildName(guild_id); return guild_mgr.GetGuildName(guild_id);

View File

@ -256,6 +256,7 @@ public:
const char* varlink(char* perltext, int item_id); const char* varlink(char* perltext, int item_id);
std::string saylink(char *saylink_text, bool silent, const char *link_name); std::string saylink(char *saylink_text, bool silent, const char *link_name);
const char* getcharnamebyid(uint32 char_id); const char* getcharnamebyid(uint32 char_id);
uint32 getcharidbyname(const char* name);
const char* getguildnamebyid(int guild_id); const char* getguildnamebyid(int guild_id);
int getguildidbycharid(uint32 char_id); int getguildidbycharid(uint32 char_id);
int getgroupidbycharid(uint32 char_id); int getgroupidbycharid(uint32 char_id);