Fix for issue #476. Lua forced language change on learning new languages.
This commit is contained in:
parent
9f83a0c211
commit
6dd2e6680a
3 changed files with 10 additions and 6 deletions
EQ2/source/WorldServer
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue