diff --git a/server/gameserver/human.cc b/server/gameserver/human.cc index e61e611..6618c29 100644 --- a/server/gameserver/human.cc +++ b/server/gameserver/human.cc @@ -737,23 +737,28 @@ void Human::BeKill(int killer_id, const std::string& killer_name, int weapon_id) if (hum && hum->IsEntityType(ET_Player)) { Creature* killer = (Creature*)hum; if (killer_id == GetEntityUniId()) { - std::string msg = a8::Format(TEXT("battle_server_dead_specate", "%s 自杀").c_str(), - { - killer_name, - }); - SendRollMsg(msg, killer->GetEntityUniId(), killer->team_id); + info.killer_id = killer->GetEntityUniId(); + info.killer_team_id = killer->team_id; + SendRollMsgEx(info, + TEXT("battle_server_dead_specate", "%s 自杀").c_str(), + { + killer_name + }); } else { ((Human*)hum)->stats.kills++; ((Human*)hum)->stats.last_kill_frameno = room->GetFrameNo(); ((Human*)hum)->kill_humans.insert(this); ((Human*)hum)->SyncAroundPlayers(__FILE__, __LINE__, __func__); if (weapon_id == VW_Tank) { - std::string msg = a8::Format(TEXT("battle_server_dead_car", "%s 使用 载具 干掉了 %s").c_str(), - { - killer_name, - name - }); - SendRollMsg(msg, killer->GetEntityUniId(), killer->team_id); + info.killer_id = killer->GetEntityUniId(); + info.killer_team_id = killer->team_id; + SendRollMsgEx + (info, + TEXT("battle_server_dead_car", "%s 使用 载具 干掉了 %s").c_str(), + { + killer_name, + name + }); } else { MetaData::Equip* equip_meta = MetaMgr::Instance()->GetEquip(weapon_id); if (equip_meta) { @@ -3748,6 +3753,7 @@ void Human::SendRollMsgEx(KillInfo& info, element->mutable_union_obj_2()->set_id(equip_meta->i->text_icon()); } result = ""; + p = p1 + strlen("${weapon_text_icon}"); } else { result.push_back(*p); }