Fix #306 - added language support for player chat. Additional log cleanup of unnecessary messages.
This commit is contained in:
parent
f52276b263
commit
966ada0771
17 changed files with 60 additions and 42 deletions
|
@ -146,7 +146,7 @@ bool Bot::CanEquipItem(Item* item) {
|
|||
void Bot::MessageGroup(string msg) {
|
||||
GroupMemberInfo* gmi = GetGroupMemberInfo();
|
||||
if (gmi)
|
||||
world.GetGroupManager()->GroupChatMessage(gmi->group_id, this, msg.c_str());
|
||||
world.GetGroupManager()->GroupChatMessage(gmi->group_id, this, 0, msg.c_str());
|
||||
}
|
||||
|
||||
void Bot::GetNewSpells() {
|
||||
|
|
|
@ -143,7 +143,7 @@ bool ChatChannel::TellChannel(Client *client, const char *message, const char* n
|
|||
|
||||
packet_struct->setDataByName("to", to_client->GetPlayer()->GetName());
|
||||
packet_struct->setDataByName("channel", to_client->GetMessageChannelColor(CHANNEL_CUSTOM_CHANNEL));
|
||||
packet_struct->setDataByName("language", 0);
|
||||
packet_struct->setDataByName("language", client->GetPlayer()->GetCurrentLanguage());
|
||||
packet_struct->setDataByName("message", message);
|
||||
packet_struct->setDataByName("channel_name", name);
|
||||
packet_struct->setDataByName("show_bubble", 1);
|
||||
|
|
|
@ -2437,7 +2437,7 @@ void Commands::Process(int32 index, EQ2_16BitString* command_parms, Client* clie
|
|||
|
||||
if (spawn->IsNPC())
|
||||
show_bubble = false;
|
||||
client->GetCurrentZone()->HandleChatMessage(client->GetPlayer(), 0, CHANNEL_SAY, tmp, HEAR_SPAWN_DISTANCE, 0, show_bubble);
|
||||
client->GetCurrentZone()->HandleChatMessage(client->GetPlayer(), 0, CHANNEL_SAY, tmp, HEAR_SPAWN_DISTANCE, 0, show_bubble, client->GetPlayer()->GetCurrentLanguage());
|
||||
if(spawn->IsPlayer() == false && spawn->Alive() && spawn->GetDistance(client->GetPlayer()) < rule_manager.GetGlobalRule(R_Spawn, HailDistance)->GetInt32()){
|
||||
if(spawn->IsNPC() && ((NPC*)spawn)->EngagedInCombat())
|
||||
spawn->GetZone()->CallSpawnScript(spawn, SPAWN_SCRIPT_HAILED_BUSY, client->GetPlayer());
|
||||
|
@ -2460,13 +2460,13 @@ void Commands::Process(int32 index, EQ2_16BitString* command_parms, Client* clie
|
|||
}
|
||||
else {
|
||||
string tmp = "Hail";
|
||||
client->GetCurrentZone()->HandleChatMessage(client->GetPlayer(), 0, CHANNEL_SAY, tmp.c_str(), HEAR_SPAWN_DISTANCE, 0, true);
|
||||
client->GetCurrentZone()->HandleChatMessage(client->GetPlayer(), 0, CHANNEL_SAY, tmp.c_str(), HEAR_SPAWN_DISTANCE, 0, true, client->GetPlayer()->GetCurrentLanguage());
|
||||
}
|
||||
break;
|
||||
}
|
||||
case COMMAND_SAY:{
|
||||
if (sep && sep->arg[0][0]) {
|
||||
client->GetCurrentZone()->HandleChatMessage(client->GetPlayer(), 0, CHANNEL_SAY, sep->argplus[0], HEAR_SPAWN_DISTANCE);
|
||||
client->GetCurrentZone()->HandleChatMessage(client->GetPlayer(), 0, CHANNEL_SAY, sep->argplus[0], HEAR_SPAWN_DISTANCE, 0, true, client->GetPlayer()->GetCurrentLanguage());
|
||||
if (cmdTarget && !(cmdTarget->IsPlayer()))
|
||||
client->GetCurrentZone()->CallSpawnScript(cmdTarget, SPAWN_SCRIPT_HEAR_SAY, client->GetPlayer(), sep->argplus[0]);
|
||||
}
|
||||
|
@ -2476,7 +2476,7 @@ void Commands::Process(int32 index, EQ2_16BitString* command_parms, Client* clie
|
|||
}
|
||||
case COMMAND_TELL:{
|
||||
if(sep && sep->arg[0] && sep->argplus[1]){
|
||||
if(!zone_list.HandleGlobalChatMessage(client, sep->arg[0], CHANNEL_PRIVATE_TELL, sep->argplus[1]))
|
||||
if(!zone_list.HandleGlobalChatMessage(client, sep->arg[0], CHANNEL_PRIVATE_TELL, sep->argplus[1], 0, client->GetPlayer()->GetCurrentLanguage()))
|
||||
client->Message(CHANNEL_COLOR_RED,"Unable to find client %s",sep->arg[0]);
|
||||
}else
|
||||
client->SimpleMessage(CHANNEL_COLOR_YELLOW,"Usage: /tell {character_name} {message}");
|
||||
|
@ -2484,14 +2484,14 @@ void Commands::Process(int32 index, EQ2_16BitString* command_parms, Client* clie
|
|||
}
|
||||
case COMMAND_SHOUT:{
|
||||
if(sep && sep->arg[0][0])
|
||||
client->GetCurrentZone()->HandleChatMessage(client->GetPlayer(), 0, CHANNEL_SHOUT, sep->argplus[0]);
|
||||
client->GetCurrentZone()->HandleChatMessage(client->GetPlayer(), 0, CHANNEL_SHOUT, sep->argplus[0], 0, 0, true, client->GetPlayer()->GetCurrentLanguage());
|
||||
else
|
||||
client->SimpleMessage(CHANNEL_COLOR_YELLOW,"Usage: /shout {message}");
|
||||
break;
|
||||
}
|
||||
case COMMAND_AUCTION:{
|
||||
if(sep && sep->arg[0][0])
|
||||
client->GetCurrentZone()->HandleChatMessage(client->GetPlayer(), 0, CHANNEL_AUCTION, sep->argplus[0]);
|
||||
client->GetCurrentZone()->HandleChatMessage(client->GetPlayer(), 0, CHANNEL_AUCTION, sep->argplus[0], 0, 0, true, client->GetPlayer()->GetCurrentLanguage());
|
||||
else
|
||||
client->SimpleMessage(CHANNEL_COLOR_YELLOW,"Usage: /auction {message}");
|
||||
break;
|
||||
|
@ -2499,7 +2499,7 @@ void Commands::Process(int32 index, EQ2_16BitString* command_parms, Client* clie
|
|||
case COMMAND_OOC:{
|
||||
//For now ooc will be the global chat channel, eventually when we create more channels we will create a global chat channel
|
||||
if(sep && sep->arg[0][0])
|
||||
zone_list.HandleGlobalChatMessage(client, 0, CHANNEL_OUT_OF_CHARACTER, sep->argplus[0]);
|
||||
zone_list.HandleGlobalChatMessage(client, 0, CHANNEL_OUT_OF_CHARACTER, sep->argplus[0], 0, client->GetPlayer()->GetCurrentLanguage());
|
||||
else
|
||||
client->SimpleMessage(CHANNEL_COLOR_YELLOW,"Usage: /ooc {message}");
|
||||
break;
|
||||
|
@ -3056,7 +3056,7 @@ void Commands::Process(int32 index, EQ2_16BitString* command_parms, Client* clie
|
|||
case COMMAND_GROUPSAY:{
|
||||
GroupMemberInfo* gmi = client->GetPlayer()->GetGroupMemberInfo();
|
||||
if(sep && sep->arg[0] && gmi)
|
||||
world.GetGroupManager()->GroupChatMessage(gmi->group_id, client->GetPlayer(), sep->argplus[0]);
|
||||
world.GetGroupManager()->GroupChatMessage(gmi->group_id, client->GetPlayer(), client->GetPlayer()->GetCurrentLanguage(), sep->argplus[0]);
|
||||
break;
|
||||
}
|
||||
case COMMAND_GROUPINVITE: {
|
||||
|
|
|
@ -1236,7 +1236,6 @@ void Entity::CalculateBonuses(){
|
|||
info->set_block(info->get_block_base());
|
||||
|
||||
info->set_cur_attack(info->get_attack_base());
|
||||
info->set_cur_mitigation(info->get_mitigation_base());
|
||||
info->set_base_avoidance_pct(info->get_avoidance_base());
|
||||
|
||||
info->set_disease(info->get_disease_base());
|
||||
|
@ -1288,6 +1287,8 @@ void Entity::CalculateBonuses(){
|
|||
|
||||
ItemStatsValues* values = equipment_list.CalculateEquipmentBonuses(this);
|
||||
CalculateSpellBonuses(values);
|
||||
|
||||
info->set_cur_mitigation(info->get_mitigation_base());
|
||||
info->add_sta((float)values->sta);
|
||||
info->add_str((float)values->str);
|
||||
info->add_agi((float)values->agi);
|
||||
|
|
|
@ -2211,7 +2211,7 @@ void Guild::HandleGuildSay(Client* sender, const char* message) {
|
|||
continue;
|
||||
|
||||
if (permissions.Get(itr->second->rank)->Get(GUILD_PERMISSIONS_SEE_GUILD_CHAT))
|
||||
client->GetCurrentZone()->HandleChatMessage(client, sender->GetPlayer(), client->GetPlayer()->GetName(), CHANNEL_GUILD_SAY, message, 0, 0, false);
|
||||
client->GetCurrentZone()->HandleChatMessage(client, sender->GetPlayer(), client->GetPlayer()->GetName(), CHANNEL_GUILD_SAY, message, 0, 0, false, sender->GetPlayer()->GetCurrentLanguage());
|
||||
}
|
||||
mMembers.releasereadlock(__FUNCTION__, __LINE__);
|
||||
LogWrite(GUILD__DEBUG, 0, "Guilds", "Guild Say");
|
||||
|
@ -2240,7 +2240,7 @@ void Guild::HandleOfficerSay(Client* sender, const char* message) {
|
|||
continue;
|
||||
|
||||
if (permissions.Get(itr->second->rank)->Get(GUILD_PERMISSIONS_SEE_OFFICER_CHAT))
|
||||
client->GetCurrentZone()->HandleChatMessage(client, sender->GetPlayer(), client->GetPlayer()->GetName(), CHANNEL_OFFICER_SAY, message, 0, 0, false);
|
||||
client->GetCurrentZone()->HandleChatMessage(client, sender->GetPlayer(), client->GetPlayer()->GetName(), CHANNEL_OFFICER_SAY, message, 0, 0, false, sender->GetPlayer()->GetCurrentLanguage());
|
||||
}
|
||||
mMembers.releasereadlock(__FUNCTION__, __LINE__);
|
||||
LogWrite(GUILD__DEBUG, 0, "Guilds", "Officer Say");
|
||||
|
|
|
@ -1240,15 +1240,16 @@ int EQ2Emu_lua_Say(lua_State* state) {
|
|||
Spawn* spawn = lua_interface->GetSpawn(state);
|
||||
string message = lua_interface->GetStringValue(state, 2);
|
||||
Spawn* player = lua_interface->GetSpawn(state, 3);
|
||||
int32 language = lua_interface->GetInt32Value(state, 4);
|
||||
float dist = lua_interface->GetFloatValue(state, 4);
|
||||
int32 language = lua_interface->GetInt32Value(state, 5);
|
||||
if (spawn && message.length() > 0) {
|
||||
Client* client = 0;
|
||||
if (player && player->IsPlayer())
|
||||
client = spawn->GetZone()->GetClientBySpawn(player);
|
||||
if (client)
|
||||
spawn->GetZone()->HandleChatMessage(client, spawn, 0, CHANNEL_SAY, message.c_str(), 30, 0, true, language);
|
||||
spawn->GetZone()->HandleChatMessage(client, spawn, 0, CHANNEL_SAY, message.c_str(), (dist > 0.0f) ? dist : 30.0f, 0, true, language);
|
||||
else
|
||||
spawn->GetZone()->HandleChatMessage(spawn, 0, CHANNEL_SAY, message.c_str(), 30, 0, true, language);
|
||||
spawn->GetZone()->HandleChatMessage(spawn, 0, CHANNEL_SAY, message.c_str(), (dist > 0.0f) ? dist : 30.0f, 0, true, language);
|
||||
}
|
||||
lua_interface->ResetFunctionStack(state);
|
||||
return 0;
|
||||
|
@ -1261,14 +1262,15 @@ int EQ2Emu_lua_Shout(lua_State* state) {
|
|||
string message = lua_interface->GetStringValue(state, 2);
|
||||
Spawn* player = lua_interface->GetSpawn(state, 3);
|
||||
float dist = lua_interface->GetFloatValue(state, 4);
|
||||
int32 language = lua_interface->GetInt32Value(state, 5);
|
||||
if (spawn && message.length() > 0) {
|
||||
Client* client = 0;
|
||||
if (player && player->IsPlayer())
|
||||
client = spawn->GetZone()->GetClientBySpawn(player);
|
||||
if (client)
|
||||
spawn->GetZone()->HandleChatMessage(client, spawn, 0, CHANNEL_SHOUT, message.c_str(), (dist > 0.0f) ? dist : 30.0f);
|
||||
spawn->GetZone()->HandleChatMessage(client, spawn, 0, CHANNEL_SHOUT, message.c_str(), (dist > 0.0f) ? dist : 30.0f, 0, true, language);
|
||||
else
|
||||
spawn->GetZone()->HandleChatMessage(spawn, 0, CHANNEL_SHOUT, message.c_str(), (dist > 0.0f) ? dist : 30.0f);
|
||||
spawn->GetZone()->HandleChatMessage(spawn, 0, CHANNEL_SHOUT, message.c_str(), (dist > 0.0f) ? dist : 30.0f, 0, true, language);
|
||||
}
|
||||
lua_interface->ResetFunctionStack(state);
|
||||
return 0;
|
||||
|
@ -1280,14 +1282,16 @@ int EQ2Emu_lua_SayOOC(lua_State* state) {
|
|||
Spawn* spawn = lua_interface->GetSpawn(state);
|
||||
string message = lua_interface->GetStringValue(state, 2);
|
||||
Spawn* player = lua_interface->GetSpawn(state, 3);
|
||||
float dist = lua_interface->GetFloatValue(state, 4);
|
||||
int32 language = lua_interface->GetInt32Value(state, 5);
|
||||
if (spawn && message.length() > 0) {
|
||||
Client* client = 0;
|
||||
if (player && player->IsPlayer())
|
||||
client = spawn->GetZone()->GetClientBySpawn(player);
|
||||
if (client)
|
||||
spawn->GetZone()->HandleChatMessage(client, spawn, 0, CHANNEL_OUT_OF_CHARACTER, message.c_str(), 30);
|
||||
spawn->GetZone()->HandleChatMessage(client, spawn, 0, CHANNEL_OUT_OF_CHARACTER, message.c_str(), (dist > 0.0f) ? dist : 30.0f, 0, true, language);
|
||||
else
|
||||
spawn->GetZone()->HandleChatMessage(spawn, 0, CHANNEL_OUT_OF_CHARACTER, message.c_str(), 30);
|
||||
spawn->GetZone()->HandleChatMessage(spawn, 0, CHANNEL_OUT_OF_CHARACTER, message.c_str(), (dist > 0.0f) ? dist : 30.0f, 0, true, language);
|
||||
}
|
||||
lua_interface->ResetFunctionStack(state);
|
||||
return 0;
|
||||
|
|
|
@ -123,6 +123,7 @@ Player::Player(){
|
|||
SetSaveSpellEffects(true);
|
||||
reset_mentorship = false;
|
||||
all_spells_locked = false;
|
||||
current_language_id = 0;
|
||||
}
|
||||
Player::~Player(){
|
||||
SetSaveSpellEffects(true);
|
||||
|
|
|
@ -1047,6 +1047,10 @@ public:
|
|||
int16 MatchGMVisualFilter(int32 filter_type, int32 filter_value, char* filter_search_str, bool in_vismutex_lock = false);
|
||||
void ClearGMVisualFilters();
|
||||
int GetPVPAlignment();
|
||||
|
||||
int32 GetCurrentLanguage() { return current_language_id; }
|
||||
void SetCurrentLanguage(int32 language_id) { current_language_id = language_id; }
|
||||
|
||||
Mutex MPlayerQuests;
|
||||
float pos_packet_speed;
|
||||
private:
|
||||
|
@ -1179,6 +1183,8 @@ private:
|
|||
Timer lift_cooldown;
|
||||
|
||||
vector<GMTagFilter> gm_visual_filters;
|
||||
|
||||
int32 current_language_id;
|
||||
};
|
||||
#pragma pack()
|
||||
#endif
|
||||
|
|
|
@ -163,13 +163,13 @@ void PlayerGroup::SimpleGroupMessage(const char* message) {
|
|||
MGroupMembers.releasereadlock(__FUNCTION__, __LINE__);
|
||||
}
|
||||
|
||||
void PlayerGroup::GroupChatMessage(Spawn* from, const char* message) {
|
||||
void PlayerGroup::GroupChatMessage(Spawn* from, int32 language, const char* message) {
|
||||
deque<GroupMemberInfo*>::iterator itr;
|
||||
MGroupMembers.readlock(__FUNCTION__, __LINE__);
|
||||
for(itr = m_members.begin(); itr != m_members.end(); itr++) {
|
||||
GroupMemberInfo* info = *itr;
|
||||
if(info && info->client && info->client->GetCurrentZone())
|
||||
info->client->GetCurrentZone()->HandleChatMessage(info->client, from, 0, CHANNEL_GROUP_SAY, message, 0);
|
||||
info->client->GetCurrentZone()->HandleChatMessage(info->client, from, 0, CHANNEL_GROUP_SAY, message, 0, 0, true, language);
|
||||
}
|
||||
MGroupMembers.releasereadlock(__FUNCTION__, __LINE__);
|
||||
}
|
||||
|
@ -595,11 +595,11 @@ void PlayerGroupManager::GroupMessage(int32 group_id, const char* message, ...)
|
|||
SimpleGroupMessage(group_id, buffer);
|
||||
}
|
||||
|
||||
void PlayerGroupManager::GroupChatMessage(int32 group_id, Spawn* from, const char* message) {
|
||||
void PlayerGroupManager::GroupChatMessage(int32 group_id, Spawn* from, int32 language, const char* message) {
|
||||
MGroups.readlock(__FUNCTION__, __LINE__);
|
||||
|
||||
if (m_groups.count(group_id) > 0)
|
||||
m_groups[group_id]->GroupChatMessage(from, message);
|
||||
m_groups[group_id]->GroupChatMessage(from, language, message);
|
||||
|
||||
MGroups.releasereadlock(__FUNCTION__, __LINE__);
|
||||
}
|
||||
|
|
|
@ -81,7 +81,7 @@ public:
|
|||
|
||||
|
||||
void SimpleGroupMessage(const char* message);
|
||||
void GroupChatMessage(Spawn* from, const char* message);
|
||||
void GroupChatMessage(Spawn* from, int32 language, const char* message);
|
||||
void MakeLeader(Entity* new_leader);
|
||||
|
||||
void RemoveClientReference(Client* remove);
|
||||
|
@ -170,7 +170,7 @@ public:
|
|||
|
||||
void SimpleGroupMessage(int32 group_id, const char* message);
|
||||
void GroupMessage(int32 group_id, const char* message, ...);
|
||||
void GroupChatMessage(int32 group_id, Spawn* from, const char* message);
|
||||
void GroupChatMessage(int32 group_id, Spawn* from, int32 language, const char* message);
|
||||
void MakeLeader(int32 group_id, Entity* new_leader);
|
||||
void UpdateGroupBuffs();
|
||||
|
||||
|
|
|
@ -437,7 +437,7 @@ void ZoneList::CheckFriendZoned(Client* client){
|
|||
MClientList.unlock();
|
||||
}
|
||||
|
||||
bool ZoneList::HandleGlobalChatMessage(Client* from, char* to, int16 channel, const char* message, const char* channel_name){
|
||||
bool ZoneList::HandleGlobalChatMessage(Client* from, char* to, int16 channel, const char* message, const char* channel_name, int32 current_language_id){
|
||||
if (!from) {
|
||||
LogWrite(WORLD__ERROR, 0, "World", "HandleGlobalChatMessage() called with an invalid client");
|
||||
return false;
|
||||
|
@ -453,11 +453,11 @@ bool ZoneList::HandleGlobalChatMessage(Client* from, char* to, int16 channel, co
|
|||
else
|
||||
{
|
||||
const char* whoto = find_client->GetPlayer()->GetName();
|
||||
find_client->HandleTellMessage(from, message, whoto);
|
||||
from->HandleTellMessage(from, message, whoto);
|
||||
find_client->HandleTellMessage(from, message, whoto, from->GetPlayer()->GetCurrentLanguage());
|
||||
from->HandleTellMessage(from, message, whoto, from->GetPlayer()->GetCurrentLanguage());
|
||||
if (find_client->GetPlayer()->get_character_flag(CF_AFK)) {
|
||||
find_client->HandleTellMessage(find_client, find_client->GetPlayer()->GetAwayMessage().c_str(),whoto);
|
||||
from->HandleTellMessage(find_client, find_client->GetPlayer()->GetAwayMessage().c_str(),whoto);
|
||||
find_client->HandleTellMessage(find_client, find_client->GetPlayer()->GetAwayMessage().c_str(),whoto, from->GetPlayer()->GetCurrentLanguage());
|
||||
from->HandleTellMessage(find_client, find_client->GetPlayer()->GetAwayMessage().c_str(),whoto, from->GetPlayer()->GetCurrentLanguage());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -474,7 +474,7 @@ bool ZoneList::HandleGlobalChatMessage(Client* from, char* to, int16 channel, co
|
|||
for(zone_iter=zlist.begin(); zone_iter!=zlist.end();zone_iter++){
|
||||
zs = *zone_iter;
|
||||
if(zs)
|
||||
zs->HandleChatMessage(from->GetPlayer(), to, channel, message, 0, channel_name);
|
||||
zs->HandleChatMessage(from->GetPlayer(), to, channel, message, 0, channel_name, true, current_language_id);
|
||||
}
|
||||
MZoneList.releasereadlock(__FUNCTION__, __LINE__);
|
||||
}
|
||||
|
|
|
@ -424,7 +424,7 @@ class ZoneList {
|
|||
void CheckFriendZoned(Client* client);
|
||||
|
||||
// move to Chat/Chat.h?
|
||||
bool HandleGlobalChatMessage(Client* from, char* to, int16 channel, const char* message, const char* channel_name = 0);
|
||||
bool HandleGlobalChatMessage(Client* from, char* to, int16 channel, const char* message, const char* channel_name = 0, int32 current_language_id = 0);
|
||||
void HandleGlobalBroadcast(const char* message);
|
||||
void HandleGlobalAnnouncement(const char* message);
|
||||
//
|
||||
|
|
|
@ -1709,6 +1709,8 @@ bool WorldDatabase::LoadCharacterStats(int32 id, int32 account_id, Client* clien
|
|||
client->GetPlayer()->SetDissonance(result.GetSInt16Str("dissonance"));
|
||||
client->GetPlayer()->SetTotalSavageryBase(client->GetPlayer()->GetTotalSavagery());
|
||||
client->GetPlayer()->SetTotalDissonanceBase(client->GetPlayer()->GetTotalDissonance());
|
||||
|
||||
client->GetPlayer()->SetCurrentLanguage(result.GetInt32Str("current_language"));
|
||||
}
|
||||
|
||||
return true;
|
||||
|
|
|
@ -3682,7 +3682,7 @@ int8 Client::GetMessageChannelColor(int8 channel_type) {
|
|||
return channel_type;
|
||||
}
|
||||
|
||||
void Client::HandleTellMessage(Client* from, const char* message, const char* to=NULL) {
|
||||
void Client::HandleTellMessage(Client* from, const char* message, const char* to, int32 current_language_id) {
|
||||
if (!from || GetPlayer()->IsIgnored(from->GetPlayer()->GetName()))
|
||||
return;
|
||||
PacketStruct* packet = configReader.getStruct("WS_HearChat", GetVersion());
|
||||
|
@ -3694,8 +3694,13 @@ void Client::HandleTellMessage(Client* from, const char* message, const char* to
|
|||
packet->setDataByName("to_spawn_id", 0xFFFFFFFF);
|
||||
packet->setDataByName("unknown2", 1, 1);
|
||||
packet->setDataByName("show_bubble", 1);
|
||||
packet->setDataByName("understood", 1);
|
||||
|
||||
if (current_language_id == 0 || GetPlayer()->HasLanguage(current_language_id)) {
|
||||
packet->setDataByName("understood", 1);
|
||||
}
|
||||
|
||||
packet->setDataByName("time", 2);
|
||||
packet->setDataByName("language", current_language_id);
|
||||
packet->setMediumStringByName("message", message);
|
||||
EQ2Packet* outpacket = packet->serialize();
|
||||
QueuePacket(outpacket);
|
||||
|
@ -9732,6 +9737,7 @@ void Client::SendLanguagesUpdate(int32 id) {
|
|||
list<Language*>::iterator itr;
|
||||
Language* language;
|
||||
int32 i = 0;
|
||||
GetPlayer()->SetCurrentLanguage(id);
|
||||
PacketStruct* packet = configReader.getStruct("WS_Languages", GetVersion());
|
||||
if (packet) {
|
||||
packet->setArrayLengthByName("num_languages", languages->size());
|
||||
|
|
|
@ -159,7 +159,7 @@ public:
|
|||
void QueuePacket(EQ2Packet* app, bool attemptedCombine=false);
|
||||
void SendLoginInfo();
|
||||
int8 GetMessageChannelColor(int8 channel_type);
|
||||
void HandleTellMessage(Client* from, const char* message, const char* to);
|
||||
void HandleTellMessage(Client* from, const char* message, const char* to, int32 current_language_id);
|
||||
void SimpleMessage(int8 color, const char* message);
|
||||
void Message(int8 type, const char* message, ...);
|
||||
void SendSpellUpdate(Spell* spell, bool add_silently = false, bool add_to_hotbar = true);
|
||||
|
|
|
@ -999,8 +999,6 @@ void ZoneServer::RemoveDeadEnemyList(Spawn *spawn)
|
|||
vector<int32> *spawns;
|
||||
vector<int32>::iterator itr;
|
||||
|
||||
LogWrite(ZONE__DEBUG, 7, "Zone", "Processing RemoveDeadEnemyList...");
|
||||
|
||||
m_npc_faction_list.writelock(__FUNCTION__, __LINE__);
|
||||
if (npc_faction_list.count(faction_id) > 0) {
|
||||
spawns = npc_faction_list[faction_id];
|
||||
|
@ -3391,7 +3389,9 @@ void ZoneServer::HandleChatMessage(Client* client, Spawn* from, const char* to,
|
|||
packet->setMediumStringByName("message", message);
|
||||
packet->setDataByName("language", language);
|
||||
|
||||
if (language > 0 && !client->GetPlayer()->HasLanguage(language))
|
||||
bool hasLanguage = client->GetPlayer()->HasLanguage(language);
|
||||
printf("Client: %s has %u language: %u\n", client->GetPlayer()->GetName(), language, hasLanguage);
|
||||
if (language > 0 && !hasLanguage)
|
||||
packet->setDataByName("understood", 0);
|
||||
else
|
||||
packet->setDataByName("understood", 1);
|
||||
|
@ -6018,8 +6018,7 @@ void ZoneServer::ProcessEntityCommand(EntityCommand* entity_command, Entity* cas
|
|||
void ZoneServer::RemoveSpawnSupportFunctions(Spawn* spawn, bool lock_spell_process) {
|
||||
if(!spawn)
|
||||
return;
|
||||
|
||||
LogWrite(ZONE__DEBUG, 7, "Zone", "Processing RemoveSpawnSupportFunctions...");
|
||||
|
||||
if(spawn->IsPlayer() && spawn->GetZone())
|
||||
spawn->GetZone()->RemovePlayerPassenger(((Player*)spawn)->GetCharacterID());
|
||||
if(spawn->IsEntity())
|
||||
|
|
|
@ -2401,7 +2401,6 @@ void PacketStruct::PrintPacket() {
|
|||
break;
|
||||
}
|
||||
case DATA_STRUCT_ITEM: {
|
||||
printf("EQ2_Item %s\tIsSet: %u", ds->GetName(), ds->IsSet());
|
||||
if (ds->GetItemSize() > 0) {
|
||||
DumpPacket((uchar*)GetStructPointer(ds), ds->GetItemSize());
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue