Fix for issue . Lua forced language change on learning new languages.

This commit is contained in:
Devn00b 2022-10-26 19:33:38 -07:00
parent 9f83a0c211
commit 6dd2e6680a
3 changed files with 10 additions and 6 deletions

View file

@ -10102,7 +10102,7 @@ int EQ2Emu_lua_AddLanguage(lua_State* state) {
if (language)
{
((Player*)player)->AddLanguage(language->GetID(), language->GetName(), true);
((Player*)player)->GetClient()->SendLanguagesUpdate(language->GetID());
((Player*)player)->GetClient()->SendLanguagesUpdate(language->GetID(), 0);
}
return 0;
@ -13468,4 +13468,4 @@ int EQ2Emu_lua_IsCastOnAggroComplete(lua_State* state) {
lua_interface->SetBooleanValue(state, result);
return 1;
}
}

View file

@ -9964,12 +9964,16 @@ void Client::SendUpdateTitles(sint32 prefix, sint32 suffix) {
current_zone->SendUpdateTitles(this, suffix_title, prefix_title);
}
void Client::SendLanguagesUpdate(int32 id) {
void Client::SendLanguagesUpdate(int32 id, bool setlang) {
list<Language*>* languages = player->GetPlayerLanguages()->GetAllLanguages();
list<Language*>::iterator itr;
Language* language;
int32 i = 0;
GetPlayer()->SetCurrentLanguage(id);
if(setlang==1){
GetPlayer()->SetCurrentLanguage(id);
}
PacketStruct* packet = configReader.getStruct("WS_Languages", GetVersion());
if (packet) {
packet->setArrayLengthByName("num_languages", languages->size());
@ -11434,4 +11438,4 @@ void Client::HandleDialogSelectMsg(int32 conversation_id, int32 response_index)
else
CloseDialog(conversation_id);
}
}
}

View file

@ -390,7 +390,7 @@ public:
void SendRecipeList();
void SendTitleUpdate();
void SendUpdateTitles(sint32 prefix, sint32 suffix);
void SendLanguagesUpdate(int32 id);
void SendLanguagesUpdate(int32 id, bool setlang = 1);
void SendAchievementsList();
void SendAchievementUpdate(bool first_login = false);