From cb0f8ef00eeeab442e78b8b16ab112adc605797c Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Fri, 30 Oct 2020 10:57:00 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E6=88=90=E8=8B=B1=E6=96=87=E7=89=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/gameserver/human.cc | 89 +++++++++++++++++++++-------------- server/gameserver/obstacle.cc | 5 +- server/gameserver/player.cc | 4 +- server/gameserver/room.cc | 17 ++++--- server/gameserver/roommgr.cc | 23 +++++++-- 5 files changed, 91 insertions(+), 47 deletions(-) diff --git a/server/gameserver/human.cc b/server/gameserver/human.cc index 464b81b..55bc7cf 100644 --- a/server/gameserver/human.cc +++ b/server/gameserver/human.cc @@ -729,9 +729,15 @@ void Human::UpdatePoisoning() bool need_notify = poisoning_time > 1000; while (poisoning_time > 1000) { if (room->GetGasData().is_last_gas) { - DecHP(room->GetGasData().new_area_meta->i->hurt(), VP_SafeArea, "毒圈", VW_SafeArea); + DecHP(room->GetGasData().new_area_meta->i->hurt(), + VP_SafeArea, + MetaMgr::Instance()->GetText("battle_server_killer_gas", "毒圈"), + VW_SafeArea); } else { - DecHP(room->GetGasData().old_area_meta->i->hurt(), VP_SafeArea, "毒圈", VW_SafeArea); + DecHP(room->GetGasData().old_area_meta->i->hurt(), + VP_SafeArea, + MetaMgr::Instance()->GetText("battle_server_killer_gas", "毒圈"), + VW_SafeArea); } if (dead) { poisoning_time = 0; @@ -967,10 +973,11 @@ void Human::BeKill(int killer_id, const std::string& killer_name, int weapon_id) Entity* hum = room->GetEntityByUniId(killer_id); if (hum && hum->IsEntityType(ET_Player)) { if (killer_id == GetEntityUniId()) { - std::string msg = a8::Format("%s 自杀", - { - killer_name, - }); + std::string msg = a8::Format + (MetaMgr::Instance()->GetText("battle_server_dead_specate", "%s 自杀").c_str(), + { + killer_name, + }); SendRollMsg(msg); } else { ((Human*)hum)->stats.kills++; @@ -978,22 +985,25 @@ void Human::BeKill(int killer_id, const std::string& killer_name, int weapon_id) ((Human*)hum)->kill_humans.insert(this); ((Human*)hum)->SyncAroundPlayers(__FILE__, __LINE__, __func__); if (weapon_id == VW_Tank) { - std::string msg = a8::Format("%s 使用 %s 干掉了 %s", - { - killer_name, - "载具", - name - }); + std::string msg = a8::Format + (MetaMgr::Instance()->GetText("battle_server_dead_car", + "%s 使用 载具 干掉了 %s").c_str(), + { + killer_name, + name + }); SendRollMsg(msg); } else { MetaData::Equip* equip_meta = MetaMgr::Instance()->GetEquip(weapon_id); if (equip_meta) { - std::string msg = a8::Format("%s 使用 %s 干掉了 %s", - { - killer_name, - equip_meta->i->name(), - name - }); + std::string msg = a8::Format + (MetaMgr::Instance()->GetText("battle_server_dead_weapon", + "%s 使用 %s 干掉了 %s").c_str(), + { + killer_name, + equip_meta->i->name(), + name + }); SendRollMsg(msg); } } @@ -1002,37 +1012,42 @@ void Human::BeKill(int killer_id, const std::string& killer_name, int weapon_id) switch (weapon_id) { case VW_SafeArea: { - std::string msg = a8::Format("%s 被毒圈干掉", - { - name - }); + std::string msg = a8::Format + (MetaMgr::Instance()->GetText("battle_server_dead_gas", "%s 被毒圈干掉").c_str(), + { + name + }); SendRollMsg(msg); } break; case VW_Spectate: { - std::string msg = a8::Format("%s 自杀", - { - name - }); + std::string msg = a8::Format + (MetaMgr::Instance()->GetText("battle_server_dead_specate", "%s 自杀").c_str(), + { + name + }); SendRollMsg(msg); } break; case VW_SelfDetonate: { - std::string msg = a8::Format("%s 被炸死", - { - name - }); + std::string msg = a8::Format + (MetaMgr::Instance()->GetText("battle_server_dead_self_detonate", + "%s 被炸死").c_str(), + { + name + }); SendRollMsg(msg); } break; case VW_Mine: { - std::string msg = a8::Format("%s 被地雷炸死", - { - name - }); + std::string msg = a8::Format + (MetaMgr::Instance()->GetText("battle_server_dead_mine", "%s 被地雷炸死").c_str(), + { + name + }); SendRollMsg(msg); } break; @@ -3141,7 +3156,11 @@ void Human::ProcBuffEffect(Human* caster, Buff* buff) MetaMgr::Instance()->terminator_meta && meta != MetaMgr::Instance()->terminator_meta) { WinExp(this, MetaMgr::Instance()->terminator_meta->i->exp() + 1); - room->NotifySysPiao("终结者出现", a8::MkRgb(255, 0, 0), 3); + room->NotifySysPiao + (MetaMgr::Instance()->GetText("battle_server_terminator_appear", + "终结者出现").c_str(), + a8::MkRgb(255, 0, 0), 3 + ); OnChgToTerminator(); } } diff --git a/server/gameserver/obstacle.cc b/server/gameserver/obstacle.cc index 54395f4..e711cd7 100644 --- a/server/gameserver/obstacle.cc +++ b/server/gameserver/obstacle.cc @@ -294,7 +294,10 @@ void Obstacle::Explosion(Bullet* bullet) float dmg = meta->i->damage(); float def = hum->ability.def; float finaly_dmg = dmg * (1 - def/MetaMgr::Instance()->K); - hum->DecHP(finaly_dmg, VP_Mine, "地雷", VW_Mine); + hum->DecHP(finaly_dmg, + VP_Mine, + MetaMgr::Instance()->GetText("battle_server_killer_mine", "地雷"), + VW_Mine); } } break; diff --git a/server/gameserver/player.cc b/server/gameserver/player.cc index de02cd6..f3d99af 100644 --- a/server/gameserver/player.cc +++ b/server/gameserver/player.cc @@ -935,7 +935,7 @@ void Player::_CMReconnect(f8::MsgHdr& hdr, const cs::CMReconnect& msg) need_sync_active_player = true; cs::SMReconnect respmsg; respmsg.set_errcode(0); - respmsg.set_errmsg("战斗重连成功"); + respmsg.set_errmsg(MetaMgr::Instance()->GetText("battle_server_reconnect_ok", "战斗重连成功")); SendNotifyMsg(respmsg); PlayerMgr::Instance()->ReBindSocket(this); a8::UdpLog::Instance()->Debug @@ -1370,7 +1370,7 @@ void Player::_CMOpenBox(f8::MsgHdr& hdr, const cs::CMOpenBox& msg) receved_box_hash_.insert(msg.box_id()); } else { respmsg.set_errcode(1); - respmsg.set_errmsg("不能重复领取"); + respmsg.set_errmsg(MetaMgr::Instance()->GetText("battle_server_received", "不能重复领取")); } } SendNotifyMsg(respmsg); diff --git a/server/gameserver/room.cc b/server/gameserver/room.cc index 1aab7f1..420602b 100644 --- a/server/gameserver/room.cc +++ b/server/gameserver/room.cc @@ -1428,7 +1428,9 @@ void Room::AirDrop(int appear_time, int box_id, int airdrop_id) } if (GetRoomMode() == kZombieMode) { if (airdrop_id != map_meta_->i->terminator_airdrop()) { - NotifyCountdown("距离物资箱抵达还有%d秒", appear_time / 1000); + NotifyCountdown(MetaMgr::Instance()->GetText("battle_server_box_countdown", + "距离物资箱抵达还有%d秒"), + appear_time / 1000); } } if (thing_meta && thing_meta->i->type() == 2) { @@ -1497,7 +1499,8 @@ void Room::AirDrop(int appear_time, int box_id, int airdrop_id) if (obstacle->is_terminator_airdrop_box) { room->NotifySysPiao ( - "终结者补给箱已送达", + MetaMgr::Instance()->GetText("battle_server_box_serviced", + "终结者补给箱已送达"), a8::MkRgb(0, 255, 0), 3 ); @@ -2345,7 +2348,7 @@ void Room::ProcDieAndroid(int die_time, int die_num) if (alive_humans.size() == 1) { Human* hum = alive_humans[0]; hum->BeKill(VP_SafeArea, - "毒圈", + MetaMgr::Instance()->GetText("battle_server_killer_gas", "毒圈"), VW_SafeArea); a8::UnSetBitFlag(hum->status, HS_Disable); return; @@ -2373,7 +2376,7 @@ void Room::ProcDieAndroid(int die_time, int die_num) a8::UnSetBitFlag(hum->status, HS_Disable); } else { hum->BeKill(VP_SafeArea, - "毒圈", + MetaMgr::Instance()->GetText("battle_server_killer_gas", "毒圈"), VW_SafeArea); if (!alive_humans.empty()) { alive_humans.erase(alive_humans.begin() + i); @@ -2439,7 +2442,7 @@ void Room::CheckAutoDie(Human* target, } else { a8::UnSetBitFlag(target->status, HS_Disable); target->BeKill(VP_SafeArea, - "毒圈", + MetaMgr::Instance()->GetText("battle_server_killer_gas", "毒圈"), VW_SafeArea); } } @@ -3290,7 +3293,9 @@ void Room::OnZombieAppear(Human* hum) .SetParam1(hum->meta->i->name()), [] (Player* hum, a8::XParams& param) { - hum->SendSysPiaoMsg(a8::Format("%s出现了", {param.param1.GetString()}), + hum->SendSysPiaoMsg(a8::Format(MetaMgr::Instance()->GetText("battle_server_appear", + "%s出现了").c_str(), + {param.param1.GetString()}), a8::MkRgb(255, 0, 0), 3); } diff --git a/server/gameserver/roommgr.cc b/server/gameserver/roommgr.cc index d901f24..ce1c72b 100644 --- a/server/gameserver/roommgr.cc +++ b/server/gameserver/roommgr.cc @@ -201,7 +201,12 @@ void RoomMgr::_CMReconnect(f8::MsgHdr& hdr, const cs::CMReconnect& msg) Room* room = GetRoomByUuid(a8::XValue(msg.room_uuid())); if (!room) { - send_reconnect_failed(hdr.socket_handle, 1, "房间已销毁"); + send_reconnect_failed + (hdr.socket_handle, + 1, + MetaMgr::Instance()->GetText("battle_server_reconnect_failreason_room_destoryed", + "房间已销毁") + ); a8::UdpLog::Instance()->Debug ("房间已销毁 %s", { @@ -210,12 +215,24 @@ void RoomMgr::_CMReconnect(f8::MsgHdr& hdr, const cs::CMReconnect& msg) return; } if (room->GetRoomMode() != kChiJiMode) { - send_reconnect_failed(hdr.socket_handle, 1, "只有吃鸡模式支持重连"); + send_reconnect_failed + (hdr.socket_handle, + 1, + MetaMgr::Instance()->GetText("battle_server_reconnect_failreason_only_chiji", + "只有吃鸡模式支持重连" + ) + ); return; } Player* hum = room->GetPlayerByAccountId(msg.account_id()); if (!hum) { - send_reconnect_failed(hdr.socket_handle, 1, "accountid未在房间列表"); + send_reconnect_failed + (hdr.socket_handle, + 1, + MetaMgr::Instance()->GetText("battle_server_reconnect_failreason_notfound_accountid", + "accountid未在房间列表" + ) + ); return; } hum->_CMReconnect(hdr, msg);