mirror of
https://github.com/EQEmu/Server.git
synced 2025-12-14 15:41:30 +00:00
Add getclassname(class_id, level) to Perl/Lua.
This commit is contained in:
parent
4c348baabd
commit
c2c6282cc7
@ -3265,6 +3265,26 @@ XS(XS__getcharidbyname) {
|
||||
XSRETURN(1);
|
||||
}
|
||||
|
||||
XS(XS__getclassname);
|
||||
XS(XS__getclassname) {
|
||||
dXSARGS;
|
||||
if (items < 1 || items > 2)
|
||||
Perl_croak(aTHX_ "Usage: quest::getclassname(uint8 class_id, [uint8 level = 0])");
|
||||
dXSTARG;
|
||||
|
||||
std::string RETVAL;
|
||||
uint8 class_id = (int) SvUV(ST(0));
|
||||
uint8 level = 0;
|
||||
if (items > 1)
|
||||
level = (int) SvUV(ST(1));
|
||||
|
||||
RETVAL = quest_manager.getclassname(class_id, level);
|
||||
sv_setpv(TARG, RETVAL.c_str());
|
||||
XSprePUSH;
|
||||
PUSHTARG;
|
||||
XSRETURN(1);
|
||||
}
|
||||
|
||||
XS(XS__getguildnamebyid);
|
||||
XS(XS__getguildnamebyid) {
|
||||
dXSARGS;
|
||||
@ -4107,6 +4127,7 @@ EXTERN_C XS(boot_quest) {
|
||||
newXS(strcpy(buf, "forcedoorclose"), XS__forcedoorclose, file);
|
||||
newXS(strcpy(buf, "forcedooropen"), XS__forcedooropen, file);
|
||||
newXS(strcpy(buf, "getcharidbyname"), XS__getcharidbyname, file);
|
||||
newXS(strcpy(buf, "getclassname"), XS__getclassname, file);
|
||||
newXS(strcpy(buf, "getinventoryslotid"), XS__getinventoryslotid, file);
|
||||
newXS(strcpy(buf, "getitemname"), XS__getitemname, file);
|
||||
newXS(strcpy(buf, "getItemName"), XS_qc_getItemName, file);
|
||||
|
||||
@ -878,6 +878,14 @@ uint32 lua_get_char_id_by_name(const char* name) {
|
||||
return quest_manager.getcharidbyname(name);
|
||||
}
|
||||
|
||||
std::string lua_get_class_name(uint8 class_id) {
|
||||
return quest_manager.getclassname(class_id);
|
||||
}
|
||||
|
||||
std::string lua_get_class_name(uint8 class_id, uint8 level) {
|
||||
return quest_manager.getclassname(class_id, level);
|
||||
}
|
||||
|
||||
const char *lua_get_guild_name_by_id(uint32 guild_id) {
|
||||
return quest_manager.getguildnamebyid(guild_id);
|
||||
}
|
||||
@ -1773,6 +1781,8 @@ luabind::scope lua_register_general() {
|
||||
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_id_by_name", (uint32(*)(const char*))&lua_get_char_id_by_name),
|
||||
luabind::def("get_class_name", (std::string(*)(uint8))&lua_get_class_name),
|
||||
luabind::def("get_class_name", (std::string(*)(uint8,uint8))&lua_get_class_name),
|
||||
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),
|
||||
|
||||
@ -2939,6 +2939,10 @@ uint32 QuestManager::getcharidbyname(const char* name) {
|
||||
return database.GetCharacterID(name);
|
||||
}
|
||||
|
||||
std::string QuestManager::getclassname(uint8 class_id, uint8 level) {
|
||||
return GetClassIDName(class_id, level);
|
||||
}
|
||||
|
||||
const char* QuestManager::getguildnamebyid(int guild_id) {
|
||||
if (guild_id > 0)
|
||||
return guild_mgr.GetGuildName(guild_id);
|
||||
|
||||
@ -257,6 +257,7 @@ public:
|
||||
std::string saylink(char *saylink_text, bool silent, const char *link_name);
|
||||
const char* getcharnamebyid(uint32 char_id);
|
||||
uint32 getcharidbyname(const char* name);
|
||||
std::string getclassname(uint8 class_id, uint8 level = 0);
|
||||
const char* getguildnamebyid(int guild_id);
|
||||
int getguildidbycharid(uint32 char_id);
|
||||
int getgroupidbycharid(uint32 char_id);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user