From 8fede9a1df452ac9c23d7f7395a60c57774e644c Mon Sep 17 00:00:00 2001 From: Tr0n Date: Sat, 6 Apr 2024 17:28:22 +0200 Subject: [PATCH] manual translation of non-localized strings --- src/game/src/DragonLair.cpp | 4 +- src/game/src/char.cpp | 166 +++++++++++----------- src/game/src/cmd.cpp | 3 +- src/game/src/cmd_general.cpp | 50 +++---- src/game/src/cmd_gm.cpp | 10 +- src/game/src/cube.cpp | 2 +- src/game/src/guild.cpp | 16 +-- src/game/src/input_db.cpp | 2 +- src/game/src/input_login.cpp | 6 +- src/game/src/input_main.cpp | 12 +- src/game/src/input_teen.cpp | 32 ++--- src/game/src/item.cpp | 4 +- src/game/src/item_manager.cpp | 4 +- src/game/src/item_manager_read_tables.cpp | 1 + src/game/src/messenger_manager.cpp | 2 +- src/game/src/monarch.cpp | 4 +- src/game/src/questlua_monarch.cpp | 42 +++--- src/game/src/questlua_pc.cpp | 6 +- src/game/src/shop_manager.cpp | 2 +- 19 files changed, 185 insertions(+), 183 deletions(-) diff --git a/src/game/src/DragonLair.cpp b/src/game/src/DragonLair.cpp index 1ec3659..2769b1f 100644 --- a/src/game/src/DragonLair.cpp +++ b/src/game/src/DragonLair.cpp @@ -91,7 +91,7 @@ EVENTFUNC( DragonLair_Collapse_Event ) if (0 == pInfo->step) { char buf[512]; - snprintf(buf, 512, LC_TEXT("\xBF\xEB\xB0\xA1\xB8\xAE\xB0\xA1 %d \xC3\xCA\xB8\xB8\xBF\xA1 \xC1\xD7\xBE\xEE\xBD\xE1\xC8\xBF\xA4\xD0\xA4\xD0"), pInfo->pLair->GetEstimatedTime()); + snprintf(buf, 512, LC_TEXT("Dragon died in %d seconds."), pInfo->pLair->GetEstimatedTime()); SendNoticeMap(buf, pInfo->InstanceMapIndex, true); pInfo->step++; @@ -146,7 +146,7 @@ DWORD CDragonLair::GetEstimatedTime() const void CDragonLair::OnDragonDead(LPCHARACTER pDragon) { - SPDLOG_DEBUG("DragonLair: \xB5\xB5\xB6\xF3\xB0\xEF\xC0\xCC \xC1\xD7\xBE\xEE\xBD\xE1\xC8\xBF"); + SPDLOG_DEBUG("DragonLair: Dragon is dead and stale"); LogManager::instance().DragonSlayLog( GuildID_, pDragon->GetMobTable().dwVnum, StartTime_, get_global_time() ); } diff --git a/src/game/src/char.cpp b/src/game/src/char.cpp index a8b6cdc..1fd2070 100644 --- a/src/game/src/char.cpp +++ b/src/game/src/char.cpp @@ -554,7 +554,7 @@ void CHARACTER::OpenMyShop(const char * c_pszSign, TShopItemTable * pTable, BYTE { if (GetPart(PART_MAIN) > 2) { - ChatPacket(CHAT_TYPE_INFO, LC_TEXT("\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xD6\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xCF\xB4\xEF\xBF\xBD.")); + ChatPacket(CHAT_TYPE_INFO, LC_TEXT("You can only open the shop if you take off your armour.")); return; } @@ -586,7 +586,7 @@ void CHARACTER::OpenMyShop(const char * c_pszSign, TShopItemTable * pTable, BYTE if (GOLD_MAX <= nTotalMoney) { SPDLOG_ERROR("[OVERFLOW_GOLD] Overflow (GOLD_MAX) id {} name {}", GetPlayerID(), GetName()); - ChatPacket(CHAT_TYPE_INFO, LC_TEXT("20\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xCA\xB0\xEF\xBF\xBD\xEF\xBF\xBD\xCF\xBF\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xCF\xB4\xEF\xBF\xBD")); + ChatPacket(CHAT_TYPE_INFO, LC_TEXT("You have more than 2 Billion Yang. You cannot trade.")); return; } @@ -602,7 +602,7 @@ void CHARACTER::OpenMyShop(const char * c_pszSign, TShopItemTable * pTable, BYTE { if (CBanwordManager::instance().CheckString(m_stShopSign.c_str(), m_stShopSign.length())) { - ChatPacket(CHAT_TYPE_INFO, LC_TEXT("\xEF\xBF\xBD\xEF\xBF\xBD\xD3\xBE\xEE\xB3\xAA \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEE\xB0\xA1 \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xD4\xB5\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xCC\xB8\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xCF\xB4\xEF\xBF\xBD.")); + ChatPacket(CHAT_TYPE_INFO, LC_TEXT("You can't give your shop an invalid name.")); return; } } @@ -629,19 +629,19 @@ void CHARACTER::OpenMyShop(const char * c_pszSign, TShopItemTable * pTable, BYTE if (item_table && (IS_SET(item_table->dwAntiFlags, ITEM_ANTIFLAG_GIVE | ITEM_ANTIFLAG_MYSHOP))) { - ChatPacket(CHAT_TYPE_INFO, LC_TEXT("\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xC8\xAD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xCE\xBB\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xC7\xB8\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xCF\xB4\xEF\xBF\xBD.")); + ChatPacket(CHAT_TYPE_INFO, LC_TEXT("You can't sell Item-Shop items in a private shop.")); return; } if (pkItem->IsEquipped() == true) { - ChatPacket(CHAT_TYPE_INFO, LC_TEXT("\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xCE\xBB\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xC7\xB8\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xCF\xB4\xEF\xBF\xBD.")); + ChatPacket(CHAT_TYPE_INFO, LC_TEXT("Items that are equipped can't be sold in the private shop.")); return; } if (true == pkItem->isLocked()) { - ChatPacket(CHAT_TYPE_INFO, LC_TEXT("\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xCE\xBB\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xC7\xB8\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xCF\xB4\xEF\xBF\xBD.")); + ChatPacket(CHAT_TYPE_INFO, LC_TEXT("Items that are in use can't be sold in the private shop.")); return; } @@ -1092,14 +1092,14 @@ void CHARACTER::SetPosition(int pos) { case POS_FIGHTING: if (!IsState(m_stateBattle)) - MonsterLog("[BATTLE] \xEF\xBF\xBD\xCE\xBF\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD"); + MonsterLog("[BATTLE] Fighting state"); GotoState(m_stateBattle); break; default: if (!IsState(m_stateIdle)) - MonsterLog("[IDLE] \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD"); + MonsterLog("[IDLE] Resting state"); GotoState(m_stateIdle); break; @@ -2636,7 +2636,7 @@ bool CHARACTER::Sync(int x, int y) void CHARACTER::Stop() { if (!IsState(m_stateIdle)) - MonsterLog("[IDLE] \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD"); + MonsterLog("[IDLE] stop"); GotoState(m_stateIdle); @@ -2671,7 +2671,7 @@ bool CHARACTER::Goto(int x, int y) if (!IsState(m_stateMove)) { - MonsterLog("[MOVE] %s", GetVictim() ? "\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD" : "\xEF\xBF\xBD\xD7\xB3\xEF\xBF\xBD\xEF\xBF\xBD\xCC\xB5\xEF\xBF\xBD"); + MonsterLog("[MOVE] %s", GetVictim() ? "tracking target" : "moving"); if (GetVictim()) { @@ -3889,7 +3889,7 @@ void CHARACTER::mining_cancel() { SPDLOG_DEBUG("XXX MINING CANCEL"); event_cancel(&m_pkMiningEvent); - ChatPacket(CHAT_TYPE_INFO, LC_TEXT("\xC3\xA4\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xDF\xB4\xEF\xBF\xBD\xEF\xBF\xBD\xCF\xBF\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xCF\xB4\xEF\xBF\xBD.")); + ChatPacket(CHAT_TYPE_INFO, LC_TEXT("Mining is finished.")); } } @@ -3911,7 +3911,7 @@ void CHARACTER::mining(LPCHARACTER chLoad) if (!pick || pick->GetType() != ITEM_PICK) { - ChatPacket(CHAT_TYPE_INFO, LC_TEXT("\xEF\xBF\xBD\xEE\xB1\xAA\xEF\xBF\xBD\xCC\xB8\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xCF\xBC\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD.")); + ChatPacket(CHAT_TYPE_INFO, LC_TEXT("You need a Pickaxe in order to extract ore!")); return; } @@ -3950,7 +3950,7 @@ void CHARACTER::fishing() if (IS_SET(dwAttr, ATTR_BLOCK)) { - ChatPacket(CHAT_TYPE_INFO, LC_TEXT("\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xC3\xB8\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xD6\xB4\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xC6\xB4\xD5\xB4\xCF\xB4\xEF\xBF\xBD")); + ChatPacket(CHAT_TYPE_INFO, LC_TEXT("This is not a place to fish")); return; } } @@ -3960,13 +3960,13 @@ void CHARACTER::fishing() // 낚시대 장착 if (!rod || rod->GetType() != ITEM_ROD) { - ChatPacket(CHAT_TYPE_INFO, LC_TEXT("\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xC3\xB4\xEB\xB8\xA6 \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xCF\xBC\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD.")); + ChatPacket(CHAT_TYPE_INFO, LC_TEXT("Please choose a Fishing Pole.")); return; } if (0 == rod->GetSocket(2)) { - ChatPacket(CHAT_TYPE_INFO, LC_TEXT("\xEF\xBF\xBD\xCC\xB3\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xD6\xBC\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD.")); + ChatPacket(CHAT_TYPE_INFO, LC_TEXT("Place the Bait on the Hook first.")); return; } @@ -3992,7 +3992,7 @@ void CHARACTER::fishing_take() } else { - ChatPacket(CHAT_TYPE_INFO, LC_TEXT("\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xC3\xB4\xEB\xB0\xA1 \xEF\xBF\xBD\xC6\xB4\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xC3\xB8\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xCF\xB4\xEF\xBF\xBD!")); + ChatPacket(CHAT_TYPE_INFO, LC_TEXT("You can't go fishing without a fishing pole!")); } event_cancel(&m_pkFishingEvent); @@ -4032,7 +4032,7 @@ void CHARACTER::SetNextStatePulse(int iNextPulse) m_dwNextStatePulse = iNextPulse; if (iNextPulse < 10) - MonsterLog("\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xC2\xB7\xCE\xBE\xEE\xBC\xAD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD"); + MonsterLog("Go to the next state"); } @@ -4269,7 +4269,7 @@ bool CHARACTER::RequestToParty(LPCHARACTER leader) if (!leader) { - ChatPacket(CHAT_TYPE_INFO, LC_TEXT("\xEF\xBF\xBD\xEF\xBF\xBD\xC6\xBC\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xC2\xB0\xEF\xBF\xBD \xEF\xBF\xBD\xC6\xB4\xCF\xB6\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xC3\xBB\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xCF\xB4\xEF\xBF\xBD.")); + ChatPacket(CHAT_TYPE_INFO, LC_TEXT("The request can't be made because the party leader isn't online.")); return false; } @@ -4290,38 +4290,38 @@ bool CHARACTER::RequestToParty(LPCHARACTER leader) break; case PERR_SERVER: - ChatPacket(CHAT_TYPE_INFO, LC_TEXT("<\xEF\xBF\xBD\xEF\xBF\xBD\xC6\xBC> \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xC6\xBC \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xC3\xB3\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xCF\xB4\xEF\xBF\xBD.")); + ChatPacket(CHAT_TYPE_INFO, LC_TEXT("[Group] You cannot make a request because the group leader is not online.")); return false; case PERR_DIFFEMPIRE: - ChatPacket(CHAT_TYPE_INFO, LC_TEXT("<\xEF\xBF\xBD\xEF\xBF\xBD\xC6\xBC> \xEF\xBF\xBD\xD9\xB8\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xC6\xBC\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xCC\xB7\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xCF\xB4\xEF\xBF\xBD.")); + ChatPacket(CHAT_TYPE_INFO, LC_TEXT("[Group] You cannot form a group with players from another kingdom.")); return false; case PERR_DUNGEON: - ChatPacket(CHAT_TYPE_INFO, LC_TEXT("<\xEF\xBF\xBD\xEF\xBF\xBD\xC6\xBC> \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xC8\xBF\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xC6\xBC \xEF\xBF\xBD\xCA\xB4\xEB\xB8\xA6 \xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xCF\xB4\xEF\xBF\xBD.")); + ChatPacket(CHAT_TYPE_INFO, LC_TEXT("[Group] You cannot invite players while you are in a dungeon.")); return false; case PERR_OBSERVER: - ChatPacket(CHAT_TYPE_INFO, LC_TEXT("<\xEF\xBF\xBD\xEF\xBF\xBD\xC6\xBC> \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xE5\xBF\xA1\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xC6\xBC \xEF\xBF\xBD\xCA\xB4\xEB\xB8\xA6 \xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xCF\xB4\xEF\xBF\xBD.")); + ChatPacket(CHAT_TYPE_INFO, LC_TEXT("[Group] You cannot invite a player while you are in observer mode.")); return false; case PERR_LVBOUNDARY: - ChatPacket(CHAT_TYPE_INFO, LC_TEXT("<\xEF\xBF\xBD\xEF\xBF\xBD\xC6\xBC> -30 ~ +30 \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xCC\xB3\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xE6\xB8\xB8 \xEF\xBF\xBD\xCA\xB4\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xD6\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xCF\xB4\xEF\xBF\xBD.")); + ChatPacket(CHAT_TYPE_INFO, LC_TEXT("[Group] Only players with a level difference of -30 to +30 can be invited.")); return false; case PERR_LOWLEVEL: - ChatPacket(CHAT_TYPE_INFO, LC_TEXT("<\xEF\xBF\xBD\xEF\xBF\xBD\xC6\xBC> \xEF\xBF\xBD\xEF\xBF\xBD\xC6\xBC\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xD6\xB0\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD 30\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xCA\xB4\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xCF\xB4\xEF\xBF\xBD.")); + ChatPacket(CHAT_TYPE_INFO, LC_TEXT("[Group] You cannot invite this player, as their level is too low.")); return false; case PERR_HILEVEL: - ChatPacket(CHAT_TYPE_INFO, LC_TEXT("<\xEF\xBF\xBD\xEF\xBF\xBD\xC6\xBC> \xEF\xBF\xBD\xEF\xBF\xBD\xC6\xBC\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD 30\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xCA\xB4\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xCF\xB4\xEF\xBF\xBD.")); + ChatPacket(CHAT_TYPE_INFO, LC_TEXT("[Group] You cannot invite this player, as their level is too high.")); return false; case PERR_ALREADYJOIN: return false; case PERR_PARTYISFULL: - ChatPacket(CHAT_TYPE_INFO, LC_TEXT("<\xEF\xBF\xBD\xEF\xBF\xBD\xC6\xBC> \xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xCC\xBB\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xC6\xBC\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xCA\xB4\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xCF\xB4\xEF\xBF\xBD.")); + ChatPacket(CHAT_TYPE_INFO, LC_TEXT("[Group] You cannot invite any more players into your group.")); return false; default: @@ -4337,7 +4337,7 @@ bool CHARACTER::RequestToParty(LPCHARACTER leader) SetPartyRequestEvent(event_create(party_request_event, info, PASSES_PER_SEC(10))); leader->ChatPacket(CHAT_TYPE_COMMAND, "PartyRequest %u", (DWORD) GetVID()); - ChatPacket(CHAT_TYPE_INFO, LC_TEXT("%s \xEF\xBF\xBD\xD4\xBF\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xC6\xBC\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xC3\xBB\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xDF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xCF\xB4\xEF\xBF\xBD."), leader->GetName()); + ChatPacket(CHAT_TYPE_INFO, LC_TEXT("You want to join %s's group."), leader->GetName()); return true; } @@ -4391,7 +4391,7 @@ void CHARACTER::AcceptToParty(LPCHARACTER member) event_cancel(&member->m_pkPartyRequestEvent); if (!GetParty()) - member->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xC6\xBC\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xCA\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xCF\xB4\xEF\xBF\xBD.")); + member->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("This player is not in this group.")); else { if (GetPlayerID() != GetParty()->GetLeaderPID()) @@ -4401,16 +4401,16 @@ void CHARACTER::AcceptToParty(LPCHARACTER member) switch (errcode) { case PERR_NONE: member->PartyJoin(this); return; - case PERR_SERVER: member->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("<\xEF\xBF\xBD\xEF\xBF\xBD\xC6\xBC> \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xC6\xBC \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xC3\xB3\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xCF\xB4\xEF\xBF\xBD.")); break; - case PERR_DUNGEON: member->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("<\xEF\xBF\xBD\xEF\xBF\xBD\xC6\xBC> \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xC8\xBF\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xC6\xBC \xEF\xBF\xBD\xCA\xB4\xEB\xB8\xA6 \xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xCF\xB4\xEF\xBF\xBD.")); break; - case PERR_OBSERVER: member->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("<\xEF\xBF\xBD\xEF\xBF\xBD\xC6\xBC> \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xE5\xBF\xA1\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xC6\xBC \xEF\xBF\xBD\xCA\xB4\xEB\xB8\xA6 \xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xCF\xB4\xEF\xBF\xBD.")); break; - case PERR_LVBOUNDARY: member->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("<\xEF\xBF\xBD\xEF\xBF\xBD\xC6\xBC> -30 ~ +30 \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xCC\xB3\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xE6\xB8\xB8 \xEF\xBF\xBD\xCA\xB4\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xD6\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xCF\xB4\xEF\xBF\xBD.")); break; - case PERR_LOWLEVEL: member->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("<\xEF\xBF\xBD\xEF\xBF\xBD\xC6\xBC> \xEF\xBF\xBD\xEF\xBF\xBD\xC6\xBC\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xD6\xB0\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD 30\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xCA\xB4\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xCF\xB4\xEF\xBF\xBD.")); break; - case PERR_HILEVEL: member->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("<\xEF\xBF\xBD\xEF\xBF\xBD\xC6\xBC> \xEF\xBF\xBD\xEF\xBF\xBD\xC6\xBC\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD 30\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xCA\xB4\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xCF\xB4\xEF\xBF\xBD.")); break; + case PERR_SERVER: member->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("[Group] The server cannot execute this group request.")); break; + case PERR_DUNGEON: member->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("[Group] You cannot invite players while you are in a dungeon.")); break; + case PERR_OBSERVER: member->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("[Group] You cannot invite a player while you are in observer mode.")); break; + case PERR_LVBOUNDARY: member->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("[Group] Only players with a level difference of -30 to +30 can be invited.")); break; + case PERR_LOWLEVEL: member->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("[Group] You cannot invite this player, as their level is too low.")); break; + case PERR_HILEVEL: member->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("[Group] You cannot invite this player, as their level is too high.")); break; case PERR_ALREADYJOIN: break; case PERR_PARTYISFULL: { - ChatPacket(CHAT_TYPE_INFO, LC_TEXT("<\xEF\xBF\xBD\xEF\xBF\xBD\xC6\xBC> \xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xCC\xBB\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xC6\xBC\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xCA\xB4\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xCF\xB4\xEF\xBF\xBD.")); - member->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("<\xEF\xBF\xBD\xEF\xBF\xBD\xC6\xBC> \xEF\xBF\xBD\xEF\xBF\xBD\xC6\xBC\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xCE\xBF\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xCA\xB0\xEF\xBF\xBD\xEF\xBF\xBD\xCF\xBF\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xC6\xBC\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xCF\xB4\xEF\xBF\xBD.")); + ChatPacket(CHAT_TYPE_INFO, LC_TEXT("[Group] You cannot invite any more players into your group.")); + member->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("[Group] You cannot join this group because it is already full.")); break; } default: SPDLOG_ERROR("Do not process party join error({})", (int) errcode); @@ -4449,12 +4449,12 @@ void CHARACTER::PartyInvite(LPCHARACTER pchInvitee) { if (GetParty() && GetParty()->GetLeaderPID() != GetPlayerID()) { - ChatPacket(CHAT_TYPE_INFO, LC_TEXT("<\xEF\xBF\xBD\xEF\xBF\xBD\xC6\xBC> \xEF\xBF\xBD\xEF\xBF\xBD\xC6\xBC\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xCA\xB4\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xD6\xB4\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xCF\xB4\xEF\xBF\xBD.")); + ChatPacket(CHAT_TYPE_INFO, LC_TEXT("[Group] You do not have the right to invite someone.")); return; } else if (pchInvitee->IsBlockMode(BLOCK_PARTY_INVITE)) { - ChatPacket(CHAT_TYPE_INFO, LC_TEXT("<\xEF\xBF\xBD\xEF\xBF\xBD\xC6\xBC> %s \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xC6\xBC \xEF\xBF\xBD\xC5\xBA\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xD4\xB4\xCF\xB4\xEF\xBF\xBD."), pchInvitee->GetName()); + ChatPacket(CHAT_TYPE_INFO, LC_TEXT("[Group] %s has declined your group invitation."), pchInvitee->GetName()); return; } @@ -4466,39 +4466,39 @@ void CHARACTER::PartyInvite(LPCHARACTER pchInvitee) break; case PERR_SERVER: - ChatPacket(CHAT_TYPE_INFO, LC_TEXT("<\xEF\xBF\xBD\xEF\xBF\xBD\xC6\xBC> \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xC6\xBC \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xC3\xB3\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xCF\xB4\xEF\xBF\xBD.")); + ChatPacket(CHAT_TYPE_INFO, LC_TEXT("[Group] The server cannot execute this group request.")); return; case PERR_DIFFEMPIRE: - ChatPacket(CHAT_TYPE_INFO, LC_TEXT("<\xEF\xBF\xBD\xEF\xBF\xBD\xC6\xBC> \xEF\xBF\xBD\xD9\xB8\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xC6\xBC\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xCC\xB7\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xCF\xB4\xEF\xBF\xBD.")); + ChatPacket(CHAT_TYPE_INFO, LC_TEXT("[Group] You cannot form a group with players from another kingdom.")); return; case PERR_DUNGEON: - ChatPacket(CHAT_TYPE_INFO, LC_TEXT("<\xEF\xBF\xBD\xEF\xBF\xBD\xC6\xBC> \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xC8\xBF\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xC6\xBC \xEF\xBF\xBD\xCA\xB4\xEB\xB8\xA6 \xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xCF\xB4\xEF\xBF\xBD.")); + ChatPacket(CHAT_TYPE_INFO, LC_TEXT("[Group] You cannot invite players while you are in a dungeon.")); return; case PERR_OBSERVER: - ChatPacket(CHAT_TYPE_INFO, LC_TEXT("<\xEF\xBF\xBD\xEF\xBF\xBD\xC6\xBC> \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xE5\xBF\xA1\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xC6\xBC \xEF\xBF\xBD\xCA\xB4\xEB\xB8\xA6 \xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xCF\xB4\xEF\xBF\xBD.")); + ChatPacket(CHAT_TYPE_INFO, LC_TEXT("[Group] You cannot invite a player while you are in observer mode.")); return; case PERR_LVBOUNDARY: - ChatPacket(CHAT_TYPE_INFO, LC_TEXT("<\xEF\xBF\xBD\xEF\xBF\xBD\xC6\xBC> -30 ~ +30 \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xCC\xB3\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xE6\xB8\xB8 \xEF\xBF\xBD\xCA\xB4\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xD6\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xCF\xB4\xEF\xBF\xBD.")); + ChatPacket(CHAT_TYPE_INFO, LC_TEXT("[Group] Only players with a level difference of -30 to +30 can be invited.")); return; case PERR_LOWLEVEL: - ChatPacket(CHAT_TYPE_INFO, LC_TEXT("<\xEF\xBF\xBD\xEF\xBF\xBD\xC6\xBC> \xEF\xBF\xBD\xEF\xBF\xBD\xC6\xBC\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xD6\xB0\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD 30\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xCA\xB4\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xCF\xB4\xEF\xBF\xBD.")); + ChatPacket(CHAT_TYPE_INFO, LC_TEXT("[Group] You cannot invite this player, as their level is too low.")); return; case PERR_HILEVEL: - ChatPacket(CHAT_TYPE_INFO, LC_TEXT("<\xEF\xBF\xBD\xEF\xBF\xBD\xC6\xBC> \xEF\xBF\xBD\xEF\xBF\xBD\xC6\xBC\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD 30\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xCA\xB4\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xCF\xB4\xEF\xBF\xBD.")); + ChatPacket(CHAT_TYPE_INFO, LC_TEXT("[Group] You cannot invite this player, as their level is too high.")); return; case PERR_ALREADYJOIN: - ChatPacket(CHAT_TYPE_INFO, LC_TEXT("<\xEF\xBF\xBD\xEF\xBF\xBD\xC6\xBC> \xEF\xBF\xBD\xCC\xB9\xEF\xBF\xBD %s\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xC6\xBC\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xD6\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xCF\xB4\xEF\xBF\xBD."), pchInvitee->GetName()); + ChatPacket(CHAT_TYPE_INFO, LC_TEXT("[Group] %s is already in the group."), pchInvitee->GetName()); return; case PERR_PARTYISFULL: - ChatPacket(CHAT_TYPE_INFO, LC_TEXT("<\xEF\xBF\xBD\xEF\xBF\xBD\xC6\xBC> \xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xCC\xBB\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xC6\xBC\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xCA\xB4\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xCF\xB4\xEF\xBF\xBD.")); + ChatPacket(CHAT_TYPE_INFO, LC_TEXT("[Group] You cannot invite any more players into your group.")); return; default: @@ -4544,7 +4544,7 @@ void CHARACTER::PartyInviteAccept(LPCHARACTER pchInvitee) if (GetParty() && GetParty()->GetLeaderPID() != GetPlayerID()) { - ChatPacket(CHAT_TYPE_INFO, LC_TEXT("<\xEF\xBF\xBD\xEF\xBF\xBD\xC6\xBC> \xEF\xBF\xBD\xEF\xBF\xBD\xC6\xBC\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xCA\xB4\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xD6\xB4\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xCF\xB4\xEF\xBF\xBD.")); + ChatPacket(CHAT_TYPE_INFO, LC_TEXT("[Group] You do not have the right to invite someone.")); return; } @@ -4556,36 +4556,36 @@ void CHARACTER::PartyInviteAccept(LPCHARACTER pchInvitee) break; case PERR_SERVER: - pchInvitee->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("<\xEF\xBF\xBD\xEF\xBF\xBD\xC6\xBC> \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xC6\xBC \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xC3\xB3\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xCF\xB4\xEF\xBF\xBD.")); + pchInvitee->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("[Group] The server cannot execute this group request.")); return; case PERR_DUNGEON: - pchInvitee->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("<\xEF\xBF\xBD\xEF\xBF\xBD\xC6\xBC> \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xC8\xBF\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xC6\xBC \xEF\xBF\xBD\xCA\xB4\xEB\xBF\xA1 \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xCF\xB4\xEF\xBF\xBD.")); + pchInvitee->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("[Group] You cannot accept an invitation into a dungeon.")); return; case PERR_OBSERVER: - pchInvitee->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("<\xEF\xBF\xBD\xEF\xBF\xBD\xC6\xBC> \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xE5\xBF\xA1\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xC6\xBC \xEF\xBF\xBD\xCA\xB4\xEB\xB8\xA6 \xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xCF\xB4\xEF\xBF\xBD.")); + pchInvitee->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("<파티> 관전 모드에선 파티 초대를 할 수 없습니다.")); return; case PERR_LVBOUNDARY: - pchInvitee->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("<\xEF\xBF\xBD\xEF\xBF\xBD\xC6\xBC> -30 ~ +30 \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xCC\xB3\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xE6\xB8\xB8 \xEF\xBF\xBD\xCA\xB4\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xD6\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xCF\xB4\xEF\xBF\xBD.")); + pchInvitee->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("[Group] Only players with a level difference of -30 to +30 can be invited.")); return; case PERR_LOWLEVEL: - pchInvitee->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("<\xEF\xBF\xBD\xEF\xBF\xBD\xC6\xBC> \xEF\xBF\xBD\xEF\xBF\xBD\xC6\xBC\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xD6\xB0\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD 30\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xCA\xB4\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xCF\xB4\xEF\xBF\xBD.")); + pchInvitee->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("[Group] You cannot invite this player, as their level is too low.")); return; case PERR_HILEVEL: - pchInvitee->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("<\xEF\xBF\xBD\xEF\xBF\xBD\xC6\xBC> \xEF\xBF\xBD\xEF\xBF\xBD\xC6\xBC\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD 30\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xCA\xB4\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xCF\xB4\xEF\xBF\xBD.")); + pchInvitee->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("[Group] You cannot invite this player, as their level is too high.")); return; case PERR_ALREADYJOIN: - pchInvitee->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("<\xEF\xBF\xBD\xEF\xBF\xBD\xC6\xBC> \xEF\xBF\xBD\xEF\xBF\xBD\xC6\xBC \xEF\xBF\xBD\xCA\xB4\xEB\xBF\xA1 \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xCF\xB4\xEF\xBF\xBD.")); + pchInvitee->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("[Group] You cannot accept the invitation.")); return; case PERR_PARTYISFULL: - ChatPacket(CHAT_TYPE_INFO, LC_TEXT("<\xEF\xBF\xBD\xEF\xBF\xBD\xC6\xBC> \xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xCC\xBB\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xC6\xBC\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xCA\xB4\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xCF\xB4\xEF\xBF\xBD.")); - pchInvitee->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("<\xEF\xBF\xBD\xEF\xBF\xBD\xC6\xBC> \xEF\xBF\xBD\xEF\xBF\xBD\xC6\xBC\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xCE\xBF\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xCA\xB0\xEF\xBF\xBD\xEF\xBF\xBD\xCF\xBF\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xC6\xBC\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xCF\xB4\xEF\xBF\xBD.")); + ChatPacket(CHAT_TYPE_INFO, LC_TEXT("[Group] You cannot invite any more players into your group.")); + pchInvitee->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("[Group] You cannot join this group because it is already full.")); return; default: @@ -4624,13 +4624,13 @@ void CHARACTER::PartyInviteDeny(DWORD dwPID) LPCHARACTER pchInvitee = CHARACTER_MANAGER::instance().FindByPID(dwPID); if (pchInvitee) - ChatPacket(CHAT_TYPE_INFO, LC_TEXT("<\xEF\xBF\xBD\xEF\xBF\xBD\xC6\xBC> %s\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xC6\xBC \xEF\xBF\xBD\xCA\xB4\xEB\xB8\xA6 \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xCF\xBC\xCC\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xCF\xB4\xEF\xBF\xBD."), pchInvitee->GetName()); + ChatPacket(CHAT_TYPE_INFO, LC_TEXT("[Group] %s has declined your invitation."), pchInvitee->GetName()); } void CHARACTER::PartyJoin(LPCHARACTER pLeader) { - pLeader->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("<\xEF\xBF\xBD\xEF\xBF\xBD\xC6\xBC> %s\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xC6\xBC\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xCF\xBC\xCC\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xCF\xB4\xEF\xBF\xBD."), GetName()); - ChatPacket(CHAT_TYPE_INFO, LC_TEXT("<\xEF\xBF\xBD\xEF\xBF\xBD\xC6\xBC> %s\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xC6\xBC\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xCF\xBC\xCC\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xCF\xB4\xEF\xBF\xBD."), pLeader->GetName()); + pLeader->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("[Group] %s has joined your group."), GetName()); + ChatPacket(CHAT_TYPE_INFO, LC_TEXT("[Group] %s has joined your Group."), pLeader->GetName()); pLeader->GetParty()->Join(GetPlayerID()); pLeader->GetParty()->Link(this); @@ -4841,7 +4841,7 @@ void CHARACTER::OnClick(LPCHARACTER pkChrCauser) { if ((GetExchange() || IsOpenSafebox() || GetShopOwner()) || IsCubeOpen()) { - pkChrCauser->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("\xEF\xBF\xBD\xD9\xB8\xEF\xBF\xBD \xEF\xBF\xBD\xC5\xB7\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD(\xC3\xA2\xEF\xBF\xBD\xEF\xBF\xBD,\xEF\xBF\xBD\xEF\xBF\xBD\xC8\xAF,\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD)\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xCE\xBB\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xCF\xB4\xEF\xBF\xBD.")); + pkChrCauser->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("You can't use a private shop now.")); return; } } @@ -4850,7 +4850,7 @@ void CHARACTER::OnClick(LPCHARACTER pkChrCauser) // 클릭한 사람이 교환/창고/개인상점/상점이용중이라면 불가 if ((pkChrCauser->GetExchange() || pkChrCauser->IsOpenSafebox() || pkChrCauser->GetMyShop() || pkChrCauser->GetShopOwner()) || pkChrCauser->IsCubeOpen() ) { - pkChrCauser->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("\xEF\xBF\xBD\xD9\xB8\xEF\xBF\xBD \xEF\xBF\xBD\xC5\xB7\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD(\xC3\xA2\xEF\xBF\xBD\xEF\xBF\xBD,\xEF\xBF\xBD\xEF\xBF\xBD\xC8\xAF,\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD)\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xCE\xBB\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xCF\xB4\xEF\xBF\xBD.")); + pkChrCauser->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("You can't use a private shop now.")); return; } @@ -4858,7 +4858,7 @@ void CHARACTER::OnClick(LPCHARACTER pkChrCauser) //if ((GetExchange() || IsOpenSafebox() || GetShopOwner())) if ((GetExchange() || IsOpenSafebox() || IsCubeOpen())) { - pkChrCauser->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xD9\xB8\xEF\xBF\xBD \xEF\xBF\xBD\xC5\xB7\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xCF\xB0\xEF\xBF\xBD \xEF\xBF\xBD\xD6\xB4\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xD4\xB4\xCF\xB4\xEF\xBF\xBD.")); + pkChrCauser->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("This player is already trading with another player.")); return; } } @@ -5303,7 +5303,7 @@ bool CHARACTER::Return() SendMovePacket(FUNC_WAIT, 0, 0, 0, 0); - SPDLOG_TRACE("{} {} \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xCF\xB0\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xC6\xB0\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD! {} {}", GetName(), (void*) this, x, y); + SPDLOG_TRACE("{} {} Give up and go home! {} {}", GetName(), (void*) this, x, y); if (GetParty()) GetParty()->SendMessage(this, PM_RETURN, x, y); @@ -5456,7 +5456,7 @@ bool CHARACTER::Follow(LPCHARACTER pkChr, float fMinDistance) } SendMovePacket(FUNC_WAIT, 0, 0, 0, 0); - //MonsterLog("\xEF\xBF\xBD\xD1\xBE\xC6\xB0\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD; %s", pkChr->GetName()); + //MonsterLog("Chase; %s", pkChr->GetName()); return true; } @@ -5479,12 +5479,12 @@ void CHARACTER::ReqSafeboxLoad(const char* pszPassword) { if (!*pszPassword || strlen(pszPassword) > SAFEBOX_PASSWORD_MAX_LEN) { - ChatPacket(CHAT_TYPE_INFO, LC_TEXT("<\xC3\xA2\xEF\xBF\xBD\xEF\xBF\xBD> \xEF\xBF\xBD\xDF\xB8\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xC8\xA3\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xD4\xB7\xEF\xBF\xBD\xEF\xBF\xBD\xCF\xBC\xCC\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xCF\xB4\xEF\xBF\xBD.")); + ChatPacket(CHAT_TYPE_INFO, LC_TEXT("[Storeroom] You have entered an incorrect password.")); return; } else if (m_pkSafebox) { - ChatPacket(CHAT_TYPE_INFO, LC_TEXT("<\xC3\xA2\xEF\xBF\xBD\xEF\xBF\xBD> \xC3\xA2\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xCC\xB9\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xD6\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xCF\xB4\xEF\xBF\xBD.")); + ChatPacket(CHAT_TYPE_INFO, LC_TEXT("[Storeroom] The Storeroom is already open.")); return; } @@ -5492,12 +5492,12 @@ void CHARACTER::ReqSafeboxLoad(const char* pszPassword) if (iPulse - GetSafeboxLoadTime() < PASSES_PER_SEC(10)) { - ChatPacket(CHAT_TYPE_INFO, LC_TEXT("<\xC3\xA2\xEF\xBF\xBD\xEF\xBF\xBD> \xC3\xA2\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD 10\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xC8\xBF\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xCF\xB4\xEF\xBF\xBD.")); + ChatPacket(CHAT_TYPE_INFO, LC_TEXT("[Storeroom] You have to wait 10 seconds before you can open the Storeroom again.")); return; } else if (GetDistanceFromSafeboxOpen() > 1000) { - ChatPacket(CHAT_TYPE_INFO, LC_TEXT("<\xC3\xA2\xEF\xBF\xBD\xEF\xBF\xBD> \xEF\xBF\xBD\xC5\xB8\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xD6\xBE\xEE\xBC\xAD \xC3\xA2\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xCF\xB4\xEF\xBF\xBD.")); + ChatPacket(CHAT_TYPE_INFO, LC_TEXT("[Storeroom] You are too far away to open the storeroom.")); return; } else if (m_bOpeningSafebox) @@ -5768,9 +5768,9 @@ void CHARACTER::SetNowWalking(bool bWalkFlag) if (IsNPC()) { if (m_bNowWalking) - MonsterLog("\xEF\xBF\xBD\xC8\xB4\xC2\xB4\xEF\xBF\xBD"); + MonsterLog("Walk"); else - MonsterLog("\xEF\xBF\xBD\xDA\xB4\xEF\xBF\xBD"); + MonsterLog("Run"); } } } @@ -6474,13 +6474,13 @@ bool CHARACTER::WarpToPID(DWORD dwPID) } else { - ChatPacket(CHAT_TYPE_INFO, LC_TEXT("\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xD6\xB4\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xCF\xB4\xEF\xBF\xBD.")); + ChatPacket(CHAT_TYPE_INFO, LC_TEXT("You cannot teleport to the player.")); return false; } } else { - ChatPacket(CHAT_TYPE_INFO, LC_TEXT("\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xD6\xB4\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xCF\xB4\xEF\xBF\xBD.")); + ChatPacket(CHAT_TYPE_INFO, LC_TEXT("You cannot teleport to the player.")); return false; } } @@ -6494,25 +6494,25 @@ bool CHARACTER::WarpToPID(DWORD dwPID) if (!pcci) { - ChatPacket(CHAT_TYPE_INFO, LC_TEXT("\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xC2\xB6\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xC2\xB0\xEF\xBF\xBD \xEF\xBF\xBD\xC6\xB4\xD5\xB4\xCF\xB4\xEF\xBF\xBD.")); + ChatPacket(CHAT_TYPE_INFO, LC_TEXT("This player is not online.")); return false; } if (pcci->bChannel != g_bChannel) { - ChatPacket(CHAT_TYPE_INFO, LC_TEXT("\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD %d \xC3\xA4\xEF\xBF\xBD\xCE\xBF\xEF\xBF\xBD \xEF\xBF\xBD\xD6\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xCF\xB4\xEF\xBF\xBD. (\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xC3\xA4\xEF\xBF\xBD\xEF\xBF\xBD %d)"), pcci->bChannel, g_bChannel); + ChatPacket(CHAT_TYPE_INFO, LC_TEXT("The player is playing on channel %d. (You are on channel %d.)"), pcci->bChannel, g_bChannel); return false; } else if (false == IS_SUMMONABLE_ZONE(pcci->lMapIndex)) { - ChatPacket(CHAT_TYPE_INFO, LC_TEXT("\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xD6\xB4\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xCF\xB4\xEF\xBF\xBD.")); + ChatPacket(CHAT_TYPE_INFO, LC_TEXT("You cannot teleport to the player.")); return false; } else { if (!CAN_ENTER_ZONE(this, pcci->lMapIndex)) { - ChatPacket(CHAT_TYPE_INFO, LC_TEXT("\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xD6\xB4\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xCF\xB4\xEF\xBF\xBD.")); + ChatPacket(CHAT_TYPE_INFO, LC_TEXT("You cannot teleport to the player.")); return false; } @@ -6594,7 +6594,7 @@ bool CHARACTER::IsHack(bool bSendMsg, bool bCheckShopOwner, int limittime) if (iPulse - GetSafeboxLoadTime() < PASSES_PER_SEC(limittime)) { if (bSendMsg) - ChatPacket(CHAT_TYPE_INFO, LC_TEXT("\xC3\xA2\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD %d\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xCC\xB3\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xD9\xB8\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xCC\xB5\xEF\xBF\xBD\xEF\xBF\xBD\xD2\xBC\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xCF\xB4\xEF\xBF\xBD."), limittime); + ChatPacket(CHAT_TYPE_INFO, LC_TEXT("After opening the Storeroom, you cannot go anywhere else for %d seconds."), limittime); if (test_server) ChatPacket(CHAT_TYPE_INFO, "[TestOnly]Pulse %d LoadTime %d PASS %d", iPulse, GetSafeboxLoadTime(), PASSES_PER_SEC(limittime)); @@ -6607,7 +6607,7 @@ bool CHARACTER::IsHack(bool bSendMsg, bool bCheckShopOwner, int limittime) if (GetExchange() || GetMyShop() || GetShopOwner() || IsOpenSafebox() || IsCubeOpen()) { if (bSendMsg) - ChatPacket(CHAT_TYPE_INFO, LC_TEXT("\xEF\xBF\xBD\xC5\xB7\xEF\xBF\xBD\xC3\xA2,\xC3\xA2\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xC2\xBF\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xD9\xB8\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xCC\xB5\xEF\xBF\xBD,\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xD2\xBC\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xCF\xB4\xEF\xBF\xBD")); + ChatPacket(CHAT_TYPE_INFO, LC_TEXT("You cannot go elsewhere for a period of time after the trade.")); return true; } @@ -6617,7 +6617,7 @@ bool CHARACTER::IsHack(bool bSendMsg, bool bCheckShopOwner, int limittime) if (GetExchange() || GetMyShop() || IsOpenSafebox() || IsCubeOpen()) { if (bSendMsg) - ChatPacket(CHAT_TYPE_INFO, LC_TEXT("\xEF\xBF\xBD\xC5\xB7\xEF\xBF\xBD\xC3\xA2,\xC3\xA2\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xC2\xBF\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xD9\xB8\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xCC\xB5\xEF\xBF\xBD,\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xD2\xBC\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xCF\xB4\xEF\xBF\xBD")); + ChatPacket(CHAT_TYPE_INFO, LC_TEXT("You cannot go elsewhere for a period of time after the trade.")); return true; } @@ -6628,7 +6628,7 @@ bool CHARACTER::IsHack(bool bSendMsg, bool bCheckShopOwner, int limittime) if (iPulse - GetExchangeTime() < PASSES_PER_SEC(limittime)) { if (bSendMsg) - ChatPacket(CHAT_TYPE_INFO, LC_TEXT("\xEF\xBF\xBD\xC5\xB7\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD %d\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xCC\xB3\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xD9\xB8\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xCC\xB5\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xCF\xB4\xEF\xBF\xBD."), limittime ); + ChatPacket(CHAT_TYPE_INFO, LC_TEXT("After trading you cannot go elsewhere for %d seconds."), limittime ); return true; } //END_PREVENT_PORTAL_AFTER_EXCHANGE @@ -6637,14 +6637,14 @@ bool CHARACTER::IsHack(bool bSendMsg, bool bCheckShopOwner, int limittime) if (iPulse - GetMyShopTime() < PASSES_PER_SEC(limittime)) { if (bSendMsg) - ChatPacket(CHAT_TYPE_INFO, LC_TEXT("\xEF\xBF\xBD\xC5\xB7\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD %d\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xCC\xB3\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xD9\xB8\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xCC\xB5\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xCF\xB4\xEF\xBF\xBD."), limittime); + ChatPacket(CHAT_TYPE_INFO, LC_TEXT("After trading you cannot go elsewhere for %d seconds."), limittime); return true; } if (iPulse - GetRefineTime() < PASSES_PER_SEC(limittime)) { if (bSendMsg) - ChatPacket(CHAT_TYPE_INFO, LC_TEXT("\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD %d\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xCC\xB3\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xC8\xAF\xEF\xBF\xBD\xEF\xBF\xBD,\xEF\xBF\xBD\xEF\xBF\xBD\xC8\xAF\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xCE\xB8\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xCF\xB4\xEF\xBF\xBD."), limittime); + ChatPacket(CHAT_TYPE_INFO, LC_TEXT("After a trade, you cannot use a scroll for another %d seconds."), limittime); return true; } //END_PREVENT_ITEM_COPY diff --git a/src/game/src/cmd.cpp b/src/game/src/cmd.cpp index e36cb85..fe35b87 100644 --- a/src/game/src/cmd.cpp +++ b/src/game/src/cmd.cpp @@ -391,6 +391,7 @@ struct command_info cmd_info[] = { "delqf", do_delqf, 0, POS_DEAD, GM_LOW_WIZARD }, { "set_state", do_set_state, 0, POS_DEAD, GM_LOW_WIZARD }, + // TODO: these can probably be removed { "\xB7\xCE\xB1\xD7\xB8\xA6\xBA\xB8\xBF\xA9\xC1\xE0", do_detaillog, 0, POS_DEAD, GM_LOW_WIZARD }, { "\xB8\xF3\xBD\xBA\xC5\xCD\xBA\xB8\xBF\xA9\xC1\xE0", do_monsterlog, 0, POS_DEAD, GM_LOW_WIZARD }, @@ -682,7 +683,7 @@ void interpret_command(LPCHARACTER ch, const char * argument, size_t len) break; /* case POS_FIGHTING: - ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("\xB8\xF1\xBC\xFB\xC0\xBB \xB0\xC9\xB0\xED \xC0\xFC\xC5\xF5 \xC1\xDF \xC0\xD4\xB4\xCF\xB4\xD9. \xC1\xFD\xC1\xDF \xC7\xCF\xBC\xBC\xBF\xE4.")); + ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("You're in a fight for your life. Stay focused.")); break; */ default: diff --git a/src/game/src/cmd_general.cpp b/src/game/src/cmd_general.cpp index be8f0aa..da851b0 100644 --- a/src/game/src/cmd_general.cpp +++ b/src/game/src/cmd_general.cpp @@ -415,7 +415,7 @@ ACMD(do_mount) if (distance > 600.0f) { - ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("\xC1\xBB \xB4\xF5 \xB0\xA1\xB1\xEE\xC0\xCC \xB0\xA1\xBC\xAD \xB3\xBB\xB8\xAE\xBC\xBC\xBF\xE4.")); + ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("Get a little closer and get off.")); return; } @@ -432,7 +432,7 @@ ACMD(do_mount) if (!tch->IsNPC() || !tch->IsMountable()) { - ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("\xB0\xC5\xB1\xE2\xBF\xA1\xB4\xC2 \xC5\xBB \xBC\xF6 \xBE\xF8\xBE\xEE\xBF\xE4.")); + ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("You can't ride there.")); return; } @@ -440,7 +440,7 @@ ACMD(do_mount) if (distance > 600.0f) { - ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("\xC1\xBB \xB4\xF5 \xB0\xA1\xB1\xEE\xC0\xCC \xB0\xA1\xBC\xAD \xC5\xB8\xBC\xBC\xBF\xE4.")); + ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("Get a little closer and ride.")); return; } @@ -912,7 +912,7 @@ ACMD(do_safebox_change_password) if (isalpha(arg2[i]) == false) { - ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("<\xC3\xA2\xB0\xED> \xBA\xF1\xB9\xD0\xB9\xF8\xC8\xA3\xB4\xC2 \xBF\xB5\xB9\xAE\xC0\xDA\xB8\xB8 \xB0\xA1\xB4\xC9\xC7\xD5\xB4\xCF\xB4\xD9.")); + ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("[Storeroom] The password must be alphanumeric.")); return; } } @@ -1317,7 +1317,7 @@ ACMD(do_unmount) } else { - ch->ChatPacket( CHAT_TYPE_INFO, LC_TEXT("\xC0\xCE\xBA\xA5\xC5\xE4\xB8\xAE\xB0\xA1 \xB2\xCB \xC2\xF7\xBC\xAD \xB3\xBB\xB8\xB1 \xBC\xF6 \xBE\xF8\xBD\xC0\xB4\xCF\xB4\xD9.")); + ch->ChatPacket( CHAT_TYPE_INFO, LC_TEXT("There isn't enough space in your inventory.")); } } @@ -1371,7 +1371,7 @@ ACMD(do_view_equip) if (ch->GetSP() < iSPCost) { - ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("\xC1\xA4\xBD\xC5\xB7\xC2\xC0\xCC \xBA\xCE\xC1\xB7\xC7\xCF\xBF\xA9 \xB4\xD9\xB8\xA5 \xBB\xE7\xB6\xF7\xC0\xC7 \xC0\xE5\xBA\xF1\xB8\xA6 \xBA\xBC \xBC\xF6 \xBE\xF8\xBD\xC0\xB4\xCF\xB4\xD9.")); + ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("You can't see other people's equipment due to lack of mental acuity.")); return; } ch->PointChange(POINT_SP, -iSPCost); @@ -1466,7 +1466,7 @@ ACMD(do_monarch_warpto) if (!CMonarch::instance().IsMoneyOk(WarpPrice, ch->GetEmpire())) { int NationMoney = CMonarch::instance().GetMoney(ch->GetEmpire()); - ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("\xB1\xB9\xB0\xED\xBF\xA1 \xB5\xB7\xC0\xCC \xBA\xCE\xC1\xB7\xC7\xD5\xB4\xCF\xB4\xD9. \xC7\xF6\xC0\xE7 : %u \xC7\xCA\xBF\xE4\xB1\xDD\xBE\xD7 : %u"), NationMoney, WarpPrice); + ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("The Treasury is running out of money. Currently: %u Amount needed: %u"), NationMoney, WarpPrice); return; } @@ -1502,7 +1502,7 @@ ACMD(do_monarch_warpto) } if (!IsMonarchWarpZone(pkCCI->lMapIndex)) { - ch->ChatPacket (CHAT_TYPE_INFO, LC_TEXT("\xC7\xD8\xB4\xE7 \xC1\xF6\xBF\xAA\xC0\xB8\xB7\xCE \xC0\xCC\xB5\xBF\xC7\xD2 \xBC\xF6 \xBE\xF8\xBD\xC0\xB4\xCF\xB4\xD9.")); + ch->ChatPacket (CHAT_TYPE_INFO, LC_TEXT("Unable to navigate to the region.")); return; } @@ -1539,7 +1539,7 @@ ACMD(do_monarch_warpto) } if (!IsMonarchWarpZone(tch->GetMapIndex())) { - ch->ChatPacket (CHAT_TYPE_INFO, LC_TEXT("\xC7\xD8\xB4\xE7 \xC1\xF6\xBF\xAA\xC0\xB8\xB7\xCE \xC0\xCC\xB5\xBF\xC7\xD2 \xBC\xF6 \xBE\xF8\xBD\xC0\xB4\xCF\xB4\xD9.")); + ch->ChatPacket (CHAT_TYPE_INFO, LC_TEXT("Unable to navigate to the region.")); return; } x = tch->GetX(); @@ -1591,7 +1591,7 @@ ACMD(do_monarch_transfer) if (!CMonarch::instance().IsMoneyOk(WarpPrice, ch->GetEmpire())) { int NationMoney = CMonarch::instance().GetMoney(ch->GetEmpire()); - ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("\xB1\xB9\xB0\xED\xBF\xA1 \xB5\xB7\xC0\xCC \xBA\xCE\xC1\xB7\xC7\xD5\xB4\xCF\xB4\xD9. \xC7\xF6\xC0\xE7 : %u \xC7\xCA\xBF\xE4\xB1\xDD\xBE\xD7 : %u"), NationMoney, WarpPrice); + ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("The Treasury is running out of money. Currently: %u Amount needed: %u"), NationMoney, WarpPrice); return; } @@ -1616,12 +1616,12 @@ ACMD(do_monarch_transfer) } if (!IsMonarchWarpZone(pkCCI->lMapIndex)) { - ch->ChatPacket (CHAT_TYPE_INFO, LC_TEXT("\xC7\xD8\xB4\xE7 \xC1\xF6\xBF\xAA\xC0\xB8\xB7\xCE \xC0\xCC\xB5\xBF\xC7\xD2 \xBC\xF6 \xBE\xF8\xBD\xC0\xB4\xCF\xB4\xD9.")); + ch->ChatPacket (CHAT_TYPE_INFO, LC_TEXT("Unable to navigate to the region.")); return; } if (!IsMonarchWarpZone(ch->GetMapIndex())) { - ch->ChatPacket (CHAT_TYPE_INFO, LC_TEXT("\xC7\xD8\xB4\xE7 \xC1\xF6\xBF\xAA\xC0\xB8\xB7\xCE \xBC\xD2\xC8\xAF\xC7\xD2 \xBC\xF6 \xBE\xF8\xBD\xC0\xB4\xCF\xB4\xD9.")); + ch->ChatPacket (CHAT_TYPE_INFO, LC_TEXT("Unable to summon to the region.")); return; } @@ -1662,12 +1662,12 @@ ACMD(do_monarch_transfer) } if (!IsMonarchWarpZone(tch->GetMapIndex())) { - ch->ChatPacket (CHAT_TYPE_INFO, LC_TEXT("\xC7\xD8\xB4\xE7 \xC1\xF6\xBF\xAA\xC0\xB8\xB7\xCE \xC0\xCC\xB5\xBF\xC7\xD2 \xBC\xF6 \xBE\xF8\xBD\xC0\xB4\xCF\xB4\xD9.")); + ch->ChatPacket (CHAT_TYPE_INFO, LC_TEXT("Unable to navigate to the region.")); return; } if (!IsMonarchWarpZone(ch->GetMapIndex())) { - ch->ChatPacket (CHAT_TYPE_INFO, LC_TEXT("\xC7\xD8\xB4\xE7 \xC1\xF6\xBF\xAA\xC0\xB8\xB7\xCE \xBC\xD2\xC8\xAF\xC7\xD2 \xBC\xF6 \xBE\xF8\xBD\xC0\xB4\xCF\xB4\xD9.")); + ch->ChatPacket (CHAT_TYPE_INFO, LC_TEXT("Unable to summon to the region.")); return; } @@ -1788,10 +1788,10 @@ ACMD(do_monarch_tax) // 공지 char szMsg[1024]; - snprintf(szMsg, sizeof(szMsg), "\xB1\xBA\xC1\xD6\xC0\xC7 \xB8\xED\xC0\xB8\xB7\xCE \xBC\xBC\xB1\xDD\xC0\xCC %d %% \xB7\xCE \xBA\xAF\xB0\xE6\xB5\xC7\xBE\xFA\xBD\xC0\xB4\xCF\xB4\xD9", tax); + snprintf(szMsg, sizeof(szMsg), "In the name of the monarch, the tax has been changed to %d %%", tax); BroadcastNotice(szMsg); - snprintf(szMsg, sizeof(szMsg), "\xBE\xD5\xC0\xB8\xB7\xCE\xB4\xC2 \xB0\xC5\xB7\xA1 \xB1\xDD\xBE\xD7\xC0\xC7 %d %% \xB0\xA1 \xB1\xB9\xB0\xED\xB7\xCE \xB5\xE9\xBE\xEE\xB0\xA1\xB0\xD4\xB5\xCB\xB4\xCF\xB4\xD9.", tax); + snprintf(szMsg, sizeof(szMsg), "Going forward, %d %% of the transaction amount will go to the Treasury.", tax); BroadcastNotice(szMsg); // 쿨타임 초기화 @@ -1849,7 +1849,7 @@ ACMD(do_monarch_mob) { if (mapEmpire != pcEmpire && mapEmpire != 0) { - ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("\xC0\xDA\xB1\xB9 \xBF\xB5\xC5\xE4\xBF\xA1\xBC\xAD\xB8\xB8 \xBB\xE7\xBF\xEB\xC7\xD2 \xBC\xF6 \xC0\xD6\xB4\xC2 \xB1\xE2\xB4\xC9\xC0\xD4\xB4\xCF\xB4\xD9")); + ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("This feature is only available in your home territory")); return; } } @@ -1868,7 +1868,7 @@ ACMD(do_monarch_mob) if (!CMonarch::instance().IsMoneyOk(SummonPrice, ch->GetEmpire())) { int NationMoney = CMonarch::instance().GetMoney(ch->GetEmpire()); - ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("\xB1\xB9\xB0\xED\xBF\xA1 \xB5\xB7\xC0\xCC \xBA\xCE\xC1\xB7\xC7\xD5\xB4\xCF\xB4\xD9. \xC7\xF6\xC0\xE7 : %u \xC7\xCA\xBF\xE4\xB1\xDD\xBE\xD7 : %u"), NationMoney, SummonPrice); + ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("The Treasury is running out of money. Currently: %u Amount needed: %u"), NationMoney, SummonPrice); return; } @@ -1942,9 +1942,9 @@ static const char* FN_point_string(int apply_number) case POINT_STUN_PCT: return LC_TEXT("Star +%d"); case POINT_SLOW_PCT: return LC_TEXT("Speed Reduction +%d"); case POINT_CRITICAL_PCT: return LC_TEXT("Critical Attack with a chance of %d%%"); - case POINT_RESIST_CRITICAL: return LC_TEXT("\xBB\xF3\xB4\xEB\xC0\xC7 \xC4\xA1\xB8\xED\xC5\xB8 \xC8\xAE\xB7\xFC %d%% \xB0\xA8\xBC\xD2"); + case POINT_RESIST_CRITICAL: return LC_TEXT("Reduced Critical Chance %d%%"); case POINT_PENETRATE_PCT: return LC_TEXT("Chance of a Speared Attack of %d%%"); - case POINT_RESIST_PENETRATE: return LC_TEXT("\xBB\xF3\xB4\xEB\xC0\xC7 \xB0\xFC\xC5\xEB \xB0\xF8\xB0\xDD \xC8\xAE\xB7\xFC %d%% \xB0\xA8\xBC\xD2"); + case POINT_RESIST_PENETRATE: return LC_TEXT("Reduced Speared Chance %d%%"); case POINT_ATTBONUS_HUMAN: return LC_TEXT("Player's Attack Power against Monsters +%d%%"); case POINT_ATTBONUS_ANIMAL: return LC_TEXT("Horse's Attack Power against Monsters +%d%%"); case POINT_ATTBONUS_ORC: return LC_TEXT("Attack Boost against Wonggui + %d%%"); @@ -1967,9 +1967,9 @@ static const char* FN_point_string(int apply_number) case POINT_RESIST_ELEC: return LC_TEXT("Lightning Resistance %d%%"); case POINT_RESIST_MAGIC: return LC_TEXT("Magic Resistance %d%%"); case POINT_RESIST_WIND: return LC_TEXT("Wind Resistance %d%%"); - case POINT_RESIST_ICE: return LC_TEXT("\xB3\xC3\xB1\xE2 \xC0\xFA\xC7\xD7 %d%%"); - case POINT_RESIST_EARTH: return LC_TEXT("\xB4\xEB\xC1\xF6 \xC0\xFA\xC7\xD7 %d%%"); - case POINT_RESIST_DARK: return LC_TEXT("\xBE\xEE\xB5\xD2 \xC0\xFA\xC7\xD7 %d%%"); + case POINT_RESIST_ICE: return LC_TEXT("Ice Resistance %d%%"); + case POINT_RESIST_EARTH: return LC_TEXT("Earth Resistance %d%%"); + case POINT_RESIST_DARK: return LC_TEXT("Darkness Resistance %d%%"); case POINT_REFLECT_MELEE: return LC_TEXT("Reflect Direct Hit: %d%%"); case POINT_REFLECT_CURSE: return LC_TEXT("Reflect Curse: %d%%"); case POINT_POISON_REDUCE: return LC_TEXT("Poison Resistance %d%%"); @@ -2377,9 +2377,9 @@ ACMD(do_dice) int n = Random::get(start, end); if (ch->GetParty()) - ch->GetParty()->ChatPacketToAllMember(CHAT_TYPE_INFO, LC_TEXT("%s\xB4\xD4\xC0\xCC \xC1\xD6\xBB\xE7\xC0\xA7\xB8\xA6 \xB1\xBC\xB7\xC1 %d\xB0\xA1 \xB3\xAA\xBF\xD4\xBD\xC0\xB4\xCF\xB4\xD9. (%d-%d)"), ch->GetName(), n, start, end); + ch->GetParty()->ChatPacketToAllMember(CHAT_TYPE_INFO, LC_TEXT("%s rolled the dice and came up with %d. (%d-%d)"), ch->GetName(), n, start, end); else - ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("\xB4\xE7\xBD\xC5\xC0\xCC \xC1\xD6\xBB\xE7\xC0\xA7\xB8\xA6 \xB1\xBC\xB7\xC1 %d\xB0\xA1 \xB3\xAA\xBF\xD4\xBD\xC0\xB4\xCF\xB4\xD9. (%d-%d)"), n, start, end); + ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("You rolled the dice and came up with %d. (%d-%d)"), n, start, end); } ACMD(do_click_mall) diff --git a/src/game/src/cmd_gm.cpp b/src/game/src/cmd_gm.cpp index 15783c5..0a8ba5c 100644 --- a/src/game/src/cmd_gm.cpp +++ b/src/game/src/cmd_gm.cpp @@ -2667,8 +2667,8 @@ ACMD(do_block_chat) { if (ch) { - ch->ChatPacket(CHAT_TYPE_INFO, "\xC0\xDF\xB8\xF8\xB5\xC8 \xC7\xFC\xBD\xC4\xC0\xC7 \xBD\xC3\xB0\xA3\xC0\xD4\xB4\xCF\xB4\xD9. h, m, s\xB8\xA6 \xBA\xD9\xBF\xA9\xBC\xAD \xC1\xF6\xC1\xA4\xC7\xD8 \xC1\xD6\xBD\xCA\xBD\xC3\xBF\xC0."); - ch->ChatPacket(CHAT_TYPE_INFO, "\xBF\xB9) 10s, 10m, 1m 30s"); + ch->ChatPacket(CHAT_TYPE_INFO, "The time is incorrectly formatted. Please specify it with an h, m, or s."); + ch->ChatPacket(CHAT_TYPE_INFO, "Example) 10s, 10m, 1m 30s"); } return; } @@ -2848,7 +2848,7 @@ ACMD(do_build) /* if (x_rot != 0.0f || y_rot != 0.0f || z_rot != 0.0f) { - ch->ChatPacket(CHAT_TYPE_INFO, "\xB0\xC7\xB9\xB0 \xC8\xB8\xC0\xFC \xB1\xE2\xB4\xC9\xC0\xBA \xBE\xC6\xC1\xF7 \xC1\xA6\xB0\xF8\xB5\xC7\xC1\xF6 \xBE\xCA\xBD\xC0\xB4\xCF\xB4\xD9"); + ch->ChatPacket(CHAT_TYPE_INFO, "Rotating buildings is not yet available"); return; } */ @@ -3577,7 +3577,7 @@ ACMD(do_check_monarch_money) str_to_number(empire, arg1); int NationMoney = CMonarch::instance().GetMoney(empire); - ch->ChatPacket(CHAT_TYPE_INFO, "\xB1\xB9\xB0\xED: %d \xBF\xF8", NationMoney); + ch->ChatPacket(CHAT_TYPE_INFO, "Treasury: %d Yang", NationMoney); } ACMD(do_reset_subskill) @@ -4261,7 +4261,7 @@ ACMD (do_use_item) } else { - ch->ChatPacket(CHAT_TYPE_INFO, "\xBE\xC6\xC0\xCC\xC5\xDB\xC0\xCC \xBE\xF8\xBE\xEE\xBC\xAD \xC2\xF8\xBF\xEB\xC7\xD2 \xBC\xF6 \xBE\xF8\xBE\xEE."); + ch->ChatPacket(CHAT_TYPE_INFO, "I can't wear it because I don't have the item."); } } diff --git a/src/game/src/cube.cpp b/src/game/src/cube.cpp index b5cb036..ed27bd8 100644 --- a/src/game/src/cube.cpp +++ b/src/game/src/cube.cpp @@ -565,7 +565,7 @@ bool Cube_make (LPCHARACTER ch) else { // 실패 - ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("\xC1\xA6\xC1\xB6\xBF\xA1 \xBD\xC7\xC6\xD0\xC7\xCF\xBF\xB4\xBD\xC0\xB4\xCF\xB4\xD9.")); // 2012.11.12 새로 추가된 메세지 (locale_string.txt 에 추가해야 함) + ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("Manufacturing failed.")); // 2012.11.12 새로 추가된 메세지 (locale_string.txt 에 추가해야 함) ch->ChatPacket(CHAT_TYPE_COMMAND, "cube fail"); LogManager::instance().CubeLog(ch->GetPlayerID(), ch->GetX(), ch->GetY(), reward_value->vnum, 0, 0, 0); diff --git a/src/game/src/guild.cpp b/src/game/src/guild.cpp index 3411a37..854dca5 100644 --- a/src/game/src/guild.cpp +++ b/src/game/src/guild.cpp @@ -1310,7 +1310,7 @@ void CGuild::UseSkill(DWORD dwVnum, LPCHARACTER ch, DWORD pid) //GuildPointChange(POINT_SP, -iNeededSP); if (test_server) - ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("<\xB1\xE6\xB5\xE5> %d \xBD\xBA\xC5\xB3\xC0\xBB \xBB\xE7\xBF\xEB\xC7\xD4 (%d, %d) to %u"), dwVnum, GetSP(), iNeededSP, pid); + ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("[Guild] %d skill used (%d, %d) to %u"), dwVnum, GetSP(), iNeededSP, pid); switch (dwVnum) { @@ -1358,7 +1358,7 @@ void CGuild::UseSkill(DWORD dwVnum, LPCHARACTER ch, DWORD pid) { /*if (ch->GetPlayerID() != GetMasterPID()) { - ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("<\xB1\xE6\xB5\xE5> \xB1\xE6\xB5\xE5\xC0\xE5\xB8\xB8 \xB1\xE6\xB5\xE5 \xBD\xBA\xC5\xB3\xC0\xBB \xBB\xE7\xBF\xEB\xC7\xD2 \xBC\xF6 \xC0\xD6\xBD\xC0\xB4\xCF\xB4\xD9.")); + ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("[Guild] Only guild leaders can use guild skills.")); return; }*/ @@ -1731,7 +1731,7 @@ bool CGuild::ChargeSP(LPCHARACTER ch, int iSP) SendDBSkillUpdate(iSP); { - ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("<\xB1\xE6\xB5\xE5> %u\xC0\xC7 \xBF\xEB\xBD\xC5\xB7\xC2\xC0\xBB \xC8\xB8\xBA\xB9\xC7\xCF\xBF\xB4\xBD\xC0\xB4\xCF\xB4\xD9."), iSP); + ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("[Guild] %u Dragon ghost points have been restored."), iSP); } return true; } @@ -1939,7 +1939,7 @@ void CGuild::Invite( LPCHARACTER pchInviter, LPCHARACTER pchInvitee ) { if (quest::CQuestManager::instance().GetPCForce(pchInviter->GetPlayerID())->IsRunning() == true) { - pchInviter->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("<\xB1\xE6\xB5\xE5> \xBB\xF3\xB4\xEB\xB9\xE6\xC0\xCC \xC3\xCA\xB4\xEB \xBD\xC5\xC3\xBB\xC0\xBB \xB9\xDE\xC0\xBB \xBC\xF6 \xBE\xF8\xB4\xC2 \xBB\xF3\xC5\xC2\xC0\xD4\xB4\xCF\xB4\xD9.")); + pchInviter->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("[Guild] The other person is unable to accept the invitation.")); return; } @@ -1979,8 +1979,8 @@ void CGuild::Invite( LPCHARACTER pchInviter, LPCHARACTER pchInvitee ) return; case GERR_ALREADYJOIN: pchInviter->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("[Guild] This person is already a member of another Guild.")); return; case GERR_GUILDISFULL: pchInviter->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("[Guild] The maximum guild capacity has been reached.")); return; - case GERR_GUILD_IS_IN_WAR : pchInviter->ChatPacket( CHAT_TYPE_INFO, LC_TEXT("<\xB1\xE6\xB5\xE5> \xC7\xF6\xC0\xE7 \xB1\xE6\xB5\xE5\xB0\xA1 \xC0\xFC\xC0\xEF \xC1\xDF \xC0\xD4\xB4\xCF\xB4\xD9.") ); return; - case GERR_INVITE_LIMIT : pchInviter->ChatPacket( CHAT_TYPE_INFO, LC_TEXT("<\xB1\xE6\xB5\xE5> \xC7\xF6\xC0\xE7 \xBD\xC5\xB1\xD4 \xB0\xA1\xC0\xD4 \xC1\xA6\xC7\xD1 \xBB\xF3\xC5\xC2 \xC0\xD4\xB4\xCF\xB4\xD9.") ); return; + case GERR_GUILD_IS_IN_WAR : pchInviter->ChatPacket( CHAT_TYPE_INFO, LC_TEXT("[Guild] Your guild is currently at war.") ); return; + case GERR_INVITE_LIMIT : pchInviter->ChatPacket( CHAT_TYPE_INFO, LC_TEXT("[Guild] You are currently closed to new signups.") ); return; default: SPDLOG_ERROR("ignore guild join error({})", (int) errcode ); return; } @@ -2044,8 +2044,8 @@ void CGuild::InviteAccept( LPCHARACTER pchInvitee ) return; case GERR_ALREADYJOIN: pchInvitee->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("[Guild] This person is already a member of another Guild.")); return; case GERR_GUILDISFULL: pchInvitee->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("[Guild] The maximum guild capacity has been reached.")); return; - case GERR_GUILD_IS_IN_WAR : pchInvitee->ChatPacket( CHAT_TYPE_INFO, LC_TEXT("<\xB1\xE6\xB5\xE5> \xC7\xF6\xC0\xE7 \xB1\xE6\xB5\xE5\xB0\xA1 \xC0\xFC\xC0\xEF \xC1\xDF \xC0\xD4\xB4\xCF\xB4\xD9.") ); return; - case GERR_INVITE_LIMIT : pchInvitee->ChatPacket( CHAT_TYPE_INFO, LC_TEXT("<\xB1\xE6\xB5\xE5> \xC7\xF6\xC0\xE7 \xBD\xC5\xB1\xD4 \xB0\xA1\xC0\xD4 \xC1\xA6\xC7\xD1 \xBB\xF3\xC5\xC2 \xC0\xD4\xB4\xCF\xB4\xD9.") ); return; + case GERR_GUILD_IS_IN_WAR : pchInvitee->ChatPacket( CHAT_TYPE_INFO, LC_TEXT("[Guild] Your guild is currently at war.") ); return; + case GERR_INVITE_LIMIT : pchInvitee->ChatPacket( CHAT_TYPE_INFO, LC_TEXT("[Guild] You are currently closed to new signups.") ); return; default: SPDLOG_ERROR("ignore guild join error({})", (int) errcode); return; } diff --git a/src/game/src/input_db.cpp b/src/game/src/input_db.cpp index 372da34..70e4e33 100644 --- a/src/game/src/input_db.cpp +++ b/src/game/src/input_db.cpp @@ -2349,7 +2349,7 @@ void CInputDB::AddMonarchMoney(LPDESC d, const char * data ) if (ch) { if (Random::get(1, 100) > 95) - ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("\xC7\xF6\xC0\xE7 %s \xB1\xB9\xB0\xED\xBF\xA1\xB4\xC2 %u \xC0\xC7 \xB5\xB7\xC0\xCC \xC0\xD6\xBD\xC0\xB4\xCF\xB4\xD9"), EMPIRE_NAME(Empire), CMonarch::instance().GetMoney(Empire)); + ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("There is currently %u Yang in the %s treasury"), EMPIRE_NAME(Empire), CMonarch::instance().GetMoney(Empire)); } } diff --git a/src/game/src/input_login.cpp b/src/game/src/input_login.cpp index 28f3122..f6b9ad3 100644 --- a/src/game/src/input_login.cpp +++ b/src/game/src/input_login.cpp @@ -778,9 +778,9 @@ void CInputLogin::Entergame(LPDESC d, const char * data) { if (FN_is_battle_zone(ch)) { - ch->ChatPacket(CHAT_TYPE_NOTICE, LC_TEXT("\xC0\xCC \xB8\xCA\xBF\xA1\xBC\xB1 \xB0\xAD\xC1\xA6\xC0\xFB\xC0\xCE \xB4\xEB\xC0\xFC\xC0\xCC \xC0\xD6\xC0\xBB\xBC\xF6 \xB5\xB5 \xC0\xD6\xBD\xC0\xB4\xCF\xB4\xD9.")); - ch->ChatPacket(CHAT_TYPE_NOTICE, LC_TEXT("\xC0\xCC \xC1\xB6\xC7\xD7\xBF\xA1 \xB5\xBF\xC0\xC7\xC7\xCF\xC1\xF6 \xBE\xCA\xC0\xBB\xBD\xC3")); - ch->ChatPacket(CHAT_TYPE_NOTICE, LC_TEXT("\xBA\xBB\xC0\xCE\xC0\xC7 \xC1\xD6\xBC\xBA \xB9\xD7 \xBA\xCE\xBC\xBA\xC0\xB8\xB7\xCE \xB5\xB9\xBE\xC6\xB0\xA1\xBD\xC3\xB1\xE2 \xB9\xD9\xB6\xF8\xB4\xCF\xB4\xD9.")); + ch->ChatPacket(CHAT_TYPE_NOTICE, LC_TEXT("There may be forced matches on this map.")); + ch->ChatPacket(CHAT_TYPE_NOTICE, LC_TEXT("If you do not agree to these terms,")); + ch->ChatPacket(CHAT_TYPE_NOTICE, LC_TEXT("please return to your home province.")); } } } diff --git a/src/game/src/input_main.cpp b/src/game/src/input_main.cpp index ebe58a4..62f48bc 100644 --- a/src/game/src/input_main.cpp +++ b/src/game/src/input_main.cpp @@ -1127,7 +1127,7 @@ void CInputMain::Exchange(LPCHARACTER ch, const char * data) /* if (to_ch->IsMonarch() || ch->IsMonarch()) { - ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("\xB1\xBA\xC1\xD6\xBF\xCD\xB4\xC2 \xB0\xC5\xB7\xA1\xB8\xA6 \xC7\xD2\xBC\xF6\xB0\xA1 \xBE\xF8\xBD\xC0\xB4\xCF\xB4\xD9"), g_nPortalLimitTime); + ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("군주와는 거래를 할수가 없습니다"), g_nPortalLimitTime); return; } //END_MONARCH_LIMIT @@ -2052,7 +2052,7 @@ void CInputMain::SafeboxCheckin(LPCHARACTER ch, const char * c_pData) if (pkItem->GetCell() >= INVENTORY_MAX_NUM && IS_SET(pkItem->GetFlag(), ITEM_FLAG_IRREMOVABLE)) { - ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("<\xC3\xA2\xB0\xED> \xC3\xA2\xB0\xED\xB7\xCE \xBF\xC5\xB1\xE6 \xBC\xF6 \xBE\xF8\xB4\xC2 \xBE\xC6\xC0\xCC\xC5\xDB \xC0\xD4\xB4\xCF\xB4\xD9.")); + ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("[Storeroom] The item cannot be stored.")); return; } @@ -2292,7 +2292,7 @@ void CInputMain::PartySetState(LPCHARACTER ch, const char* c_pData) db_clientdesc->DBPacket(HEADER_GD_PARTY_STATE_CHANGE, 0, &pack, sizeof(pack)); } /* else - ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("<\xC6\xC4\xC6\xBC> \xBE\xEE\xC5\xC2\xC4\xBF \xBC\xB3\xC1\xA4\xBF\xA1 \xBD\xC7\xC6\xD0\xC7\xCF\xBF\xB4\xBD\xC0\xB4\xCF\xB4\xD9.")); */ + ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("[Group] Failed to set the role..")); */ break; default: @@ -2610,7 +2610,7 @@ int CInputMain::Guild(LPCHARACTER ch, const char * data, size_t uiBytes) { if (newmember->GetQuestFlag("change_guild_master.be_other_member") > get_global_time()) { - ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("<\xB1\xE6\xB5\xE5> \xBE\xC6\xC1\xF7 \xB0\xA1\xC0\xD4\xC7\xD2 \xBC\xF6 \xBE\xF8\xB4\xC2 \xC4\xB3\xB8\xAF\xC5\xCD\xC0\xD4\xB4\xCF\xB4\xD9")); + ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("[Guild] This character can't join yet")); return SubPacketLen; } } @@ -2623,7 +2623,7 @@ int CInputMain::Guild(LPCHARACTER ch, const char * data, size_t uiBytes) { if (pGuild->UnderAnyWar() != 0) { - ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("<\xB1\xE6\xB5\xE5> \xB1\xE6\xB5\xE5\xC0\xFC \xC1\xDF\xBF\xA1\xB4\xC2 \xB1\xE6\xB5\xE5\xBF\xF8\xC0\xBB \xC5\xBB\xC5\xF0\xBD\xC3\xC5\xB3 \xBC\xF6 \xBE\xF8\xBD\xC0\xB4\xCF\xB4\xD9.")); + ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("[Guild] You cannot remove a guild member during a guild war.")); return SubPacketLen; } @@ -2730,7 +2730,7 @@ int CInputMain::Guild(LPCHARACTER ch, const char * data, size_t uiBytes) if (pGuild->GetLevel() >= GUILD_MAX_LEVEL && LC_IsHongKong() == false) { - ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("<\xB1\xE6\xB5\xE5> \xB1\xE6\xB5\xE5\xB0\xA1 \xC0\xCC\xB9\xCC \xC3\xD6\xB0\xED \xB7\xB9\xBA\xA7\xC0\xD4\xB4\xCF\xB4\xD9.")); + ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("[Guild] Your guild is already the highest level.")); } else { diff --git a/src/game/src/input_teen.cpp b/src/game/src/input_teen.cpp index 91a2760..ea4d8b5 100644 --- a/src/game/src/input_teen.cpp +++ b/src/game/src/input_teen.cpp @@ -95,32 +95,32 @@ static void __proc_teen_notice(char *login, int hour) case 1: case 2: { - ch->ChatPacket(CHAT_TYPE_NOTICE, LC_TEXT("\xB4\xE7\xBD\xC5\xC0\xC7 \xB4\xA9\xC0\xFB \xBF\xC2\xB6\xF3\xC0\xCE \xBD\xC3\xB0\xA3\xC0\xCC \xC0\xCC\xB9\xCC %d\xBD\xC3\xB0\xA3\xC0\xCC \xC1\xF6\xB3\xB5\xBD\xC0\xB4\xCF\xB4\xD9."), hour); + ch->ChatPacket(CHAT_TYPE_NOTICE, LC_TEXT("Your cumulative online time is already %d hours."), hour); SET_OVER_TIME(ch, OT_NONE); } break; case 3: { - ch->ChatPacket(CHAT_TYPE_NOTICE, LC_TEXT("\xB4\xE7\xBD\xC5\xC0\xC7 \xB4\xA9\xC0\xFB \xBF\xC2\xB6\xF3\xC0\xCE \xBD\xC3\xB0\xA3\xC0\xCC \xC0\xCC\xB9\xCC %d\xBD\xC3\xB0\xA3\xC0\xCC \xB5\xC7\xBE\xFA\xBD\xC0\xB4\xCF\xB4\xD9,"), hour); - ch->ChatPacket(CHAT_TYPE_NOTICE, LC_TEXT("\xC1\xB6\xBC\xD3\xC8\xF7 \xC1\xA2\xBC\xD3\xC0\xBB \xC1\xBE\xB7\xE1\xC7\xCF\xBD\xC5 \xC8\xC4 \xB0\xC7\xB0\xAD\xC0\xBB \xC0\xA7\xC7\xD8 \xC8\xDE\xBD\xC4\xC0\xBB \xC3\xEB\xC7\xD8\xC1\xD6\xBD\xC3\xB1\xE2\xB9\xD9\xB6\xF8\xB4\xCF\xB4\xD9.")); + ch->ChatPacket(CHAT_TYPE_NOTICE, LC_TEXT("Your cumulative online time has already reached %d hours,"), hour); + ch->ChatPacket(CHAT_TYPE_NOTICE, LC_TEXT("Please disconnect as soon as possible and get some rest for your health.")); SET_OVER_TIME(ch, OT_3HOUR); } break; case 4: { - ch->ChatPacket(CHAT_TYPE_NOTICE, LC_TEXT("\xB4\xE7\xBD\xC5\xC0\xBA \xC0\xCC\xB9\xCC \xB0\xD4\xC0\xD3 \xC7\xC7\xB7\xCE \xBB\xF3\xC5\xC2\xBF\xA1 \xB5\xE9\xBE\xEE\xBC\xB9\xC0\xB8\xB8\xE7,")); - ch->ChatPacket(CHAT_TYPE_NOTICE, LC_TEXT("\xB0\xD4\xC0\xD3 \xB3\xBB\xC0\xC7 \xBC\xF6\xC0\xCD\xC0\xCC \xC1\xA4\xBB\xF3\xC4\xA1\xC0\xC7 50%\xB7\xCE \xC7\xCF\xC7\xE2\xB5\xCB\xB4\xCF\xB4\xD9.")); - ch->ChatPacket(CHAT_TYPE_NOTICE, LC_TEXT("\xB4\xE7\xBD\xC5\xC0\xC7 \xB0\xC7\xB0\xAD\xC0\xBB \xC0\xA7\xC7\xD8 \xC1\xB6\xBC\xD3\xC8\xF7 \xC1\xA2\xBC\xD3\xC0\xBB \xC1\xBE\xB7\xE1\xC7\xCF\xBD\xC3\xB0\xED")); - ch->ChatPacket(CHAT_TYPE_NOTICE, LC_TEXT("\xC8\xDE\xBD\xC4 \xB9\xD7 \xC7\xD0\xBE\xF7\xBF\xA1 \xBF\xAD\xC1\xDF\xC7\xD8\xC1\xD6\xBD\xCA\xBD\xC3\xBF\xC0.")); + ch->ChatPacket(CHAT_TYPE_NOTICE, LC_TEXT("You have already entered game fatigue,")); + ch->ChatPacket(CHAT_TYPE_NOTICE, LC_TEXT("your in-game earnings are reduced to 50%% of normal.")); + ch->ChatPacket(CHAT_TYPE_NOTICE, LC_TEXT("For your own health, please disconnect as soon as possible")); + ch->ChatPacket(CHAT_TYPE_NOTICE, LC_TEXT("and focus on resting and studying.")); SET_OVER_TIME(ch, OT_3HOUR); } break; default: { - ch->ChatPacket(CHAT_TYPE_NOTICE, LC_TEXT("\xB4\xE7\xBD\xC5\xC0\xBA \xC0\xCC\xB9\xCC \xBF\xC2\xC0\xFC\xC7\xCF\xC1\xF6 \xB8\xF8\xC7\xD1 \xB0\xD4\xC0\xD3 \xBD\xC3\xB0\xA3\xBF\xA1 \xB5\xE9\xBE\xEE\xBC\xB9\xBD\xC0\xB4\xCF\xB4\xD9.")); - ch->ChatPacket(CHAT_TYPE_NOTICE, LC_TEXT("\xB0\xC7\xB0\xAD\xC0\xBB \xC0\xA7\xC7\xD8 \xC1\xB6\xBC\xD3\xC8\xF7 \xC1\xA2\xBC\xD3\xC0\xBB \xC1\xBE\xB7\xE1\xC7\xCF\xBD\xC5 \xC8\xC4 \xC8\xDE\xBD\xC4\xC0\xBB \xC3\xEB\xC7\xD8\xC1\xD6\xBD\xCA\xBD\xC3\xBF\xC0,")); - ch->ChatPacket(CHAT_TYPE_NOTICE, LC_TEXT("\xB1\xD7\xB7\xB8\xC1\xF6 \xBE\xCA\xC0\xB8\xB8\xE9 \xB0\xC7\xB0\xAD \xBB\xF3\xBF\xA1 \xC7\xC7\xC7\xD8\xB8\xA6 \xC0\xD4\xC0\xBB \xBC\xF6 \xC0\xD6\xC0\xB8\xB8\xE7 \xB0\xD4\xC0\xD3 \xB3\xBB\xC0\xC7 \xBC\xF6\xC4\xA1\xB4\xC2 0\xC0\xCC \xB5\xCB\xB4\xCF\xB4\xD9.")); - ch->ChatPacket(CHAT_TYPE_NOTICE, LC_TEXT("\xB4\xA9\xC0\xFB \xBF\xC0\xC7\xC1\xB6\xF3\xC0\xCE \xBD\xC3\xB0\xA3\xC0\xCC 5\xBD\xC3\xB0\xA3\xC0\xCC \xB5\xC7\xB8\xE9 \xC1\xA4\xBB\xF3\xC0\xB8\xB7\xCE \xB5\xB9\xBE\xC6\xBF\xC9\xB4\xCF\xB4\xD9.")); + ch->ChatPacket(CHAT_TYPE_NOTICE, LC_TEXT("You have already entered an unhealthy game time.")); + ch->ChatPacket(CHAT_TYPE_NOTICE, LC_TEXT("For your health, please disconnect and rest as soon as possible,")); + ch->ChatPacket(CHAT_TYPE_NOTICE, LC_TEXT("otherwise you may suffer health damage and your in-game numbers will be zeroed out.")); + ch->ChatPacket(CHAT_TYPE_NOTICE, LC_TEXT("You will return to normal when your cumulative offline time reaches 5 hours.")); SET_OVER_TIME(ch, OT_5HOUR); } break; @@ -133,9 +133,9 @@ static inline void __sec_to_timestring(int sec, char *buf, size_t buflen) int min = (sec/60); if (hour>0) - snprintf(buf, buflen, LC_TEXT("%d\xBD\xC3\xB0\xA3"), hour); + snprintf(buf, buflen, LC_TEXT("%dh"), hour); else - snprintf(buf, buflen, LC_TEXT("%d\xBA\xD0"), min); + snprintf(buf, buflen, LC_TEXT("%dm"), min); } static void __proc_login_notice(char *login, int on_time, int off_time) @@ -156,13 +156,13 @@ static void __proc_login_notice(char *login, int on_time, int off_time) if (0==on_time) { - ch->ChatPacket(CHAT_TYPE_NOTICE, LC_TEXT("\xB4\xE7\xBD\xC5\xC0\xC7 \xB4\xA9\xC0\xFB \xBF\xC0\xC7\xC1\xB6\xF3\xC0\xCE \xBD\xC3\xB0\xA3\xC0\xBA %s\xC0\xD4\xB4\xCF\xB4\xD9."), off_time_string); - ch->ChatPacket(CHAT_TYPE_NOTICE, LC_TEXT("\xB4\xE7\xBD\xC5\xC0\xC7 \xB4\xA9\xC0\xFB \xBF\xC2\xB6\xF3\xC0\xCE \xBD\xC3\xB0\xA3\xC0\xBA 0\xC0\xCC \xB5\xC7\xBE\xFA\xBD\xC0\xB4\xCF\xB4\xD9. 100% \xC8\xBF\xB0\xFA\xB8\xA6 \xBE\xF2\xC0\xB8\xBD\xC7 \xBC\xF6 \xC0\xD6\xBD\xC0\xB4\xCF\xB4\xD9.")); + ch->ChatPacket(CHAT_TYPE_NOTICE, LC_TEXT("Your cumulative offline time is %s."), off_time_string); + ch->ChatPacket(CHAT_TYPE_NOTICE, LC_TEXT("Your cumulative online time is now zero. You are 100%% effective.")); return; } else { - ch->ChatPacket(CHAT_TYPE_NOTICE, LC_TEXT("\xB4\xE7\xBD\xC5\xC0\xC7 \xB4\xA9\xC0\xFB \xBF\xC0\xC7\xC1\xB6\xF3\xC0\xCE \xBD\xC3\xB0\xA3\xC0\xBA %s\xC0\xCC\xB8\xE7, \xB4\xA9\xC0\xFB \xBF\xC2\xB6\xF3\xC0\xCE \xBD\xC3\xB0\xA3\xC0\xBA %s\xC0\xD4\xB4\xCF\xB4\xD9."), + ch->ChatPacket(CHAT_TYPE_NOTICE, LC_TEXT("Your cumulative offline time is %s, and your cumulative online time is %s."), off_time_string, on_time_string); } } diff --git a/src/game/src/item.cpp b/src/game/src/item.cpp index 0fcc07d..b604459 100644 --- a/src/game/src/item.cpp +++ b/src/game/src/item.cpp @@ -1544,7 +1544,7 @@ void CItem::SetAccessorySocketDownGradeTime(DWORD time) SetSocket(2, time); if (test_server && GetOwner()) - GetOwner()->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("%s\xBF\xA1\xBC\xAD \xBC\xD2\xC4\xCF \xBA\xFC\xC1\xFA\xB6\xA7\xB1\xEE\xC1\xF6 \xB3\xB2\xC0\xBA \xBD\xC3\xB0\xA3 %d"), GetName(), time); + GetOwner()->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("%s Time remaining until socket drops from %d"), GetName(), time); } EVENTFUNC(accessory_socket_expire_event) @@ -2061,4 +2061,4 @@ bool CItem::IsSameSpecialGroup(const LPITEM item) const return true; return false; -} \ No newline at end of file +} diff --git a/src/game/src/item_manager.cpp b/src/game/src/item_manager.cpp index 7d635e9..09912a4 100644 --- a/src/game/src/item_manager.cpp +++ b/src/game/src/item_manager.cpp @@ -1474,7 +1474,7 @@ void ITEM_MANAGER::CreateQuestDropItem(LPCHARACTER pkChr, LPCHARACTER pkKiller, //육각보합 if (GetDropPerKillPct(100, g_iUseLocale ? 2000 : 800, iDeltaPercent, "2006_drop") >= Random::get(1, iRandRange)) { - SPDLOG_DEBUG("\xC0\xB0\xB0\xA2\xBA\xB8\xC7\xD5 DROP EVENT "); + SPDLOG_DEBUG("Hexagonal Treasure Chest DROP EVENT "); const static DWORD dwVnum = 50037; @@ -1486,7 +1486,7 @@ void ITEM_MANAGER::CreateQuestDropItem(LPCHARACTER pkChr, LPCHARACTER pkKiller, //육각보합+ if (GetDropPerKillPct(100, g_iUseLocale ? 2000 : 800, iDeltaPercent, "2007_drop") >= Random::get(1, iRandRange)) { - SPDLOG_DEBUG("\xC0\xB0\xB0\xA2\xBA\xB8\xC7\xD5 DROP EVENT "); + SPDLOG_DEBUG("Hexagonal Treasure Chest DROP EVENT "); const static DWORD dwVnum = 50043; diff --git a/src/game/src/item_manager_read_tables.cpp b/src/game/src/item_manager_read_tables.cpp index a059bac..97a4dc7 100644 --- a/src/game/src/item_manager_read_tables.cpp +++ b/src/game/src/item_manager_read_tables.cpp @@ -373,6 +373,7 @@ bool ITEM_MANAGER::ConvSpecialDropItemFile() if (!GetVnumByOriginalName(name.c_str(), dwVnum)) { if ( name == "\xB0\xE6\xC7\xE8\xC4\xA1" || + name == "exp" || name == "mob" || name == "slow" || name == "drain_hp" || diff --git a/src/game/src/messenger_manager.cpp b/src/game/src/messenger_manager.cpp index 8f42d03..1d8641a 100644 --- a/src/game/src/messenger_manager.cpp +++ b/src/game/src/messenger_manager.cpp @@ -118,7 +118,7 @@ void MessengerManager::RequestToAdd(LPCHARACTER ch, LPCHARACTER target) if (quest::CQuestManager::instance().GetPCForce(ch->GetPlayerID())->IsRunning() == true) { - ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("\xBB\xF3\xB4\xEB\xB9\xE6\xC0\xCC \xC4\xA3\xB1\xB8 \xC3\xDF\xB0\xA1\xB8\xA6 \xB9\xDE\xC0\xBB \xBC\xF6 \xBE\xF8\xB4\xC2 \xBB\xF3\xC5\xC2\xC0\xD4\xB4\xCF\xB4\xD9.")); + ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("The other person is unable to accept friend requests.")); return; } diff --git a/src/game/src/monarch.cpp b/src/game/src/monarch.cpp index b29cded..28c2ad8 100644 --- a/src/game/src/monarch.cpp +++ b/src/game/src/monarch.cpp @@ -76,7 +76,7 @@ int CMonarch::HealMyEmpire(LPCHARACTER ch ,DWORD price) if (!IsMoneyOk(price, Empire)) { - ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("\xB1\xB9\xB0\xED\xBF\xA1 \xB5\xB7\xC0\xCC \xBA\xCE\xC1\xB7\xC7\xD5\xB4\xCF\xB4\xD9. \xC7\xF6\xC0\xE7 : %u \xC7\xCA\xBF\xE4\xB1\xDD\xBE\xD7 : %u"), GetMoney(Empire), price); + ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("The Treasury is running out of money. Currently: %u Amount needed: %u"), GetMoney(Empire), price); return 0; } @@ -270,4 +270,4 @@ bool IsMonarchWarpZone (int map_idx) } return (map_idx != 208 && map_idx != 216 && map_idx != 217); -} \ No newline at end of file +} diff --git a/src/game/src/questlua_monarch.cpp b/src/game/src/questlua_monarch.cpp index fae1bf8..10ac588 100644 --- a/src/game/src/questlua_monarch.cpp +++ b/src/game/src/questlua_monarch.cpp @@ -184,7 +184,7 @@ namespace quest if (!CMonarch::instance().IsMoneyOk(money_need, ch->GetEmpire())) { int NationMoney = CMonarch::instance().GetMoney(ch->GetEmpire()); - ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("\xB1\xB9\xB0\xED\xBF\xA1 \xB5\xB7\xC0\xCC \xBA\xCE\xC1\xB7\xC7\xD5\xB4\xCF\xB4\xD9. \xC7\xF6\xC0\xE7 : %u \xC7\xCA\xBF\xE4\xB1\xDD\xBE\xD7 : %u"), NationMoney, money_need); + ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("The Treasury is running out of money. Currently: %u Amount needed: %u"), NationMoney, money_need); return 0; } @@ -241,7 +241,7 @@ namespace quest if (!CMonarch::instance().IsMoneyOk(money_need, ch->GetEmpire())) { int NationMoney = CMonarch::instance().GetMoney(ch->GetEmpire()); - ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("\xB1\xB9\xB0\xED\xBF\xA1 \xB5\xB7\xC0\xCC \xBA\xCE\xC1\xB7\xC7\xD5\xB4\xCF\xB4\xD9. \xC7\xF6\xC0\xE7 : %u \xC7\xCA\xBF\xE4\xB1\xDD\xBE\xD7 : %u"), NationMoney, money_need); + ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("The Treasury is running out of money. Currently: %u Amount needed: %u"), NationMoney, money_need); return 0; } @@ -332,7 +332,7 @@ namespace quest if (!CMonarch::instance().IsMoneyOk(CASTLE_FROG_PRICE, ch->GetEmpire())) { int NationMoney = CMonarch::instance().GetMoney(ch->GetEmpire()); - ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("\xB1\xB9\xB0\xED\xBF\xA1 \xB5\xB7\xC0\xCC \xBA\xCE\xC1\xB7\xC7\xD5\xB4\xCF\xB4\xD9. \xC7\xF6\xC0\xE7 : %u \xC7\xCA\xBF\xE4\xB1\xDD\xBE\xD7 : %u"), NationMoney, CASTLE_FROG_PRICE); + ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("The Treasury is running out of money. Currently: %u Amount needed: %u"), NationMoney, CASTLE_FROG_PRICE); return 0; } @@ -421,7 +421,7 @@ namespace quest if (!CMonarch::instance().IsMoneyOk(money_need, ch->GetEmpire())) { int NationMoney = CMonarch::instance().GetMoney(ch->GetEmpire()); - ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("\xB1\xB9\xB0\xED\xBF\xA1 \xB5\xB7\xC0\xCC \xBA\xCE\xC1\xB7\xC7\xD5\xB4\xCF\xB4\xD9. \xC7\xF6\xC0\xE7 : %u \xC7\xCA\xBF\xE4\xB1\xDD\xBE\xD7 : %u"), NationMoney, money_need); + ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("The Treasury is running out of money. Currently: %u Amount needed: %u"), NationMoney, money_need); return 0; } guard_leader = castle_spawn_guard(ch->GetEmpire(), group_vnum, region_index); @@ -506,7 +506,7 @@ namespace quest if (!CMonarch::instance().IsMoneyOk(WarpPrice, ch->GetEmpire())) { int NationMoney = CMonarch::instance().GetMoney(ch->GetEmpire()); - ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("\xB1\xB9\xB0\xED\xBF\xA1 \xB5\xB7\xC0\xCC \xBA\xCE\xC1\xB7\xC7\xD5\xB4\xCF\xB4\xD9. \xC7\xF6\xC0\xE7 : %u \xC7\xCA\xBF\xE4\xB1\xDD\xBE\xD7 : %u"), NationMoney, WarpPrice); + ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("The Treasury is running out of money. Currently: %u Amount needed: %u"), NationMoney, WarpPrice); return 0; } @@ -533,7 +533,7 @@ namespace quest if (!IsMonarchWarpZone(pkCCI->lMapIndex)) { - ch->ChatPacket (CHAT_TYPE_INFO, LC_TEXT("\xC7\xD8\xB4\xE7 \xC1\xF6\xBF\xAA\xC0\xB8\xB7\xCE \xC0\xCC\xB5\xBF\xC7\xD2 \xBC\xF6 \xBE\xF8\xBD\xC0\xB4\xCF\xB4\xD9.")); + ch->ChatPacket (CHAT_TYPE_INFO, LC_TEXT("Unable to navigate to the region.")); return 0; } @@ -572,7 +572,7 @@ namespace quest if (!IsMonarchWarpZone(tch->GetMapIndex())) { - ch->ChatPacket (CHAT_TYPE_INFO, LC_TEXT("\xC7\xD8\xB4\xE7 \xC1\xF6\xBF\xAA\xC0\xB8\xB7\xCE \xC0\xCC\xB5\xBF\xC7\xD2 \xBC\xF6 \xBE\xF8\xBD\xC0\xB4\xCF\xB4\xD9.")); + ch->ChatPacket (CHAT_TYPE_INFO, LC_TEXT("Unable to navigate to the region.")); return 0; } @@ -660,7 +660,7 @@ namespace quest if (!CMonarch::instance().IsMoneyOk(WarpPrice, ch->GetEmpire())) { int NationMoney = CMonarch::instance().GetMoney(ch->GetEmpire()); - ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("\xB1\xB9\xB0\xED\xBF\xA1 \xB5\xB7\xC0\xCC \xBA\xCE\xC1\xB7\xC7\xD5\xB4\xCF\xB4\xD9. \xC7\xF6\xC0\xE7 : %u \xC7\xCA\xBF\xE4\xB1\xDD\xBE\xD7 : %u"), NationMoney, WarpPrice); + ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("The Treasury is running out of money. Currently: %u Amount needed: %u"), NationMoney, WarpPrice); return 0; } @@ -686,12 +686,12 @@ namespace quest if (!IsMonarchWarpZone(pkCCI->lMapIndex)) { - ch->ChatPacket (CHAT_TYPE_INFO, LC_TEXT("\xC7\xD8\xB4\xE7 \xC1\xF6\xBF\xAA\xC0\xB8\xB7\xCE \xC0\xCC\xB5\xBF\xC7\xD2 \xBC\xF6 \xBE\xF8\xBD\xC0\xB4\xCF\xB4\xD9.")); + ch->ChatPacket (CHAT_TYPE_INFO, LC_TEXT("Unable to navigate to the region.")); return 0; } if (!IsMonarchWarpZone(ch->GetMapIndex())) { - ch->ChatPacket (CHAT_TYPE_INFO, LC_TEXT("\xC7\xD8\xB4\xE7 \xC1\xF6\xBF\xAA\xC0\xB8\xB7\xCE \xBC\xD2\xC8\xAF\xC7\xD2 \xBC\xF6 \xBE\xF8\xBD\xC0\xB4\xCF\xB4\xD9.")); + ch->ChatPacket (CHAT_TYPE_INFO, LC_TEXT("Unable to summon to the region.")); return 0; } @@ -733,12 +733,12 @@ namespace quest if (!IsMonarchWarpZone(tch->GetMapIndex())) { - ch->ChatPacket (CHAT_TYPE_INFO, LC_TEXT("\xC7\xD8\xB4\xE7 \xC1\xF6\xBF\xAA\xC0\xB8\xB7\xCE \xC0\xCC\xB5\xBF\xC7\xD2 \xBC\xF6 \xBE\xF8\xBD\xC0\xB4\xCF\xB4\xD9.")); + ch->ChatPacket (CHAT_TYPE_INFO, LC_TEXT("Unable to navigate to the region.")); return 0; } if (!IsMonarchWarpZone(ch->GetMapIndex())) { - ch->ChatPacket (CHAT_TYPE_INFO, LC_TEXT("\xC7\xD8\xB4\xE7 \xC1\xF6\xBF\xAA\xC0\xB8\xB7\xCE \xBC\xD2\xC8\xAF\xC7\xD2 \xBC\xF6 \xBE\xF8\xBD\xC0\xB4\xCF\xB4\xD9.")); + ch->ChatPacket (CHAT_TYPE_INFO, LC_TEXT("Unable to summon to the region.")); return 0; } tch->WarpSet(ch->GetX(), ch->GetY(), ch->GetMapIndex()); @@ -841,7 +841,7 @@ namespace quest if (CMonarch::instance().IsMoneyOk(ciTransferCost, ch->GetEmpire()) == false) { int NationMoney = CMonarch::instance().GetMoney(ch->GetEmpire()); - ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("\xB1\xB9\xB0\xED\xBF\xA1 \xB5\xB7\xC0\xCC \xBA\xCE\xC1\xB7\xC7\xD5\xB4\xCF\xB4\xD9. \xC7\xF6\xC0\xE7 : %u \xC7\xCA\xBF\xE4\xB1\xDD\xBE\xD7 : %u"), NationMoney, ciTransferCost); + ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("The Treasury is running out of money. Currently: %u Amount needed: %u"), NationMoney, ciTransferCost); return 0; } @@ -863,19 +863,19 @@ namespace quest if (pCCI->bChannel != g_bChannel) { - ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("%s \xB4\xD4\xC0\xBA %d \xC3\xA4\xB3\xCE\xBF\xA1 \xC1\xA2\xBC\xD3\xC1\xDF\xC0\xD4\xB4\xCF\xB4\xD9. (\xC7\xF6\xC0\xE7 \xC3\xA4\xB3\xCE: %d)"), + ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("The player %s is on channel %d at the moment. (Your channel: %d)"), strTargetName.c_str(), pCCI->bChannel, g_bChannel); return 0; } if (!IsMonarchWarpZone(pCCI->lMapIndex)) { - ch->ChatPacket (CHAT_TYPE_INFO, LC_TEXT("\xC7\xD8\xB4\xE7 \xC1\xF6\xBF\xAA\xC0\xB8\xB7\xCE \xC0\xCC\xB5\xBF\xC7\xD2 \xBC\xF6 \xBE\xF8\xBD\xC0\xB4\xCF\xB4\xD9.")); + ch->ChatPacket (CHAT_TYPE_INFO, LC_TEXT("Unable to navigate to the region.")); return 0; } if (!IsMonarchWarpZone(ch->GetMapIndex())) { - ch->ChatPacket (CHAT_TYPE_INFO, LC_TEXT("\xC7\xD8\xB4\xE7 \xC1\xF6\xBF\xAA\xC0\xB8\xB7\xCE \xBC\xD2\xC8\xAF\xC7\xD2 \xBC\xF6 \xBE\xF8\xBD\xC0\xB4\xCF\xB4\xD9.")); + ch->ChatPacket (CHAT_TYPE_INFO, LC_TEXT("Unable to summon to the region.")); return 0; } @@ -886,7 +886,7 @@ namespace quest packet.y = ch->GetY(); P2P_MANAGER::instance().Send(&packet, sizeof(TPacketMonarchGGTransfer)); - ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("\xBC\xD2\xC8\xAF \xBF\xE4\xC3\xBB\xC0\xBB \xBA\xB8\xB3\xC2\xBD\xC0\xB4\xCF\xB4\xD9")); + ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("You sent a summons request")); CMonarch::instance().SendtoDBDecMoney(ciTransferCost, ch->GetEmpire(), ch); ch->SetMC(CHARACTER::MI_TRANSFER); @@ -913,18 +913,18 @@ namespace quest if (DISTANCE_APPROX(pTargetChar->GetX() - ch->GetX(), pTargetChar->GetY() - ch->GetY()) <= 5000) { - ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("%s \xB4\xD4\xC0\xBA \xB1\xD9\xC3\xB3\xBF\xA1 \xC0\xD6\xBD\xC0\xB4\xCF\xB4\xD9"), pTargetChar->GetName()); + ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("%s is too far away."), pTargetChar->GetName()); return 0; } if (!IsMonarchWarpZone(pTargetChar->GetMapIndex())) { - ch->ChatPacket (CHAT_TYPE_INFO, LC_TEXT("\xC7\xD8\xB4\xE7 \xC1\xF6\xBF\xAA\xC0\xB8\xB7\xCE \xC0\xCC\xB5\xBF\xC7\xD2 \xBC\xF6 \xBE\xF8\xBD\xC0\xB4\xCF\xB4\xD9.")); + ch->ChatPacket (CHAT_TYPE_INFO, LC_TEXT("Unable to navigate to the region.")); return 0; } if (!IsMonarchWarpZone(ch->GetMapIndex())) { - ch->ChatPacket (CHAT_TYPE_INFO, LC_TEXT("\xC7\xD8\xB4\xE7 \xC1\xF6\xBF\xAA\xC0\xB8\xB7\xCE \xBC\xD2\xC8\xAF\xC7\xD2 \xBC\xF6 \xBE\xF8\xBD\xC0\xB4\xCF\xB4\xD9.")); + ch->ChatPacket (CHAT_TYPE_INFO, LC_TEXT("Unable to summon to the region.")); return 0; } @@ -937,7 +937,7 @@ namespace quest event_create(monarch_transfer2_event, info, 1); - ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("\xBC\xD2\xC8\xAF \xBF\xE4\xC3\xBB\xC0\xBB \xBA\xB8\xB3\xC2\xBD\xC0\xB4\xCF\xB4\xD9")); + ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("You sent a summons request")); CMonarch::instance().SendtoDBDecMoney(ciTransferCost, ch->GetEmpire(), ch); ch->SetMC(CHARACTER::MI_TRANSFER); diff --git a/src/game/src/questlua_pc.cpp b/src/game/src/questlua_pc.cpp index 25ee11f..205831f 100644 --- a/src/game/src/questlua_pc.cpp +++ b/src/game/src/questlua_pc.cpp @@ -227,7 +227,7 @@ namespace quest int iPulse = thecore_pulse(); if ( pkChr->GetExchange() || pkChr->GetMyShop() || pkChr->GetShopOwner() || pkChr->IsOpenSafebox() ) { - pkChr->ChatPacket( CHAT_TYPE_INFO, LC_TEXT("\xB0\xC5\xB7\xA1\xC3\xA2,\xC3\xA2\xB0\xED \xB5\xEE\xC0\xBB \xBF\xAC \xBB\xF3\xC5\xC2\xBF\xA1\xBC\xAD\xB4\xC2 \xB4\xD9\xB8\xA5\xB0\xF7\xC0\xB8\xB7\xCE \xC0\xCC\xB5\xBF\xC7\xD2\xBC\xF6 \xBE\xF8\xBD\xC0\xB4\xCF\xB4\xD9" )); + pkChr->ChatPacket( CHAT_TYPE_INFO, LC_TEXT("You can't teleport while a trading window, storeroom, etc. is open" )); return; } @@ -235,7 +235,7 @@ namespace quest //교환 후 시간체크 if ( iPulse - pkChr->GetExchangeTime() < PASSES_PER_SEC(60) ) { - pkChr->ChatPacket( CHAT_TYPE_INFO, LC_TEXT("\xB0\xC5\xB7\xA1 \xC8\xC4 1\xBA\xD0 \xC0\xCC\xB3\xBB\xBF\xA1\xB4\xC2 \xB4\xD9\xB8\xA5\xC1\xF6\xBF\xAA\xC0\xB8\xB7\xCE \xC0\xCC\xB5\xBF \xC7\xD2 \xBC\xF6 \xBE\xF8\xBD\xC0\xB4\xCF\xB4\xD9." ) ); + pkChr->ChatPacket( CHAT_TYPE_INFO, LC_TEXT("You cannot go elsewhere for a period of time after the trade." ) ); return; } //END_PREVENT_PORTAL_AFTER_EXCHANGE @@ -243,7 +243,7 @@ namespace quest { if ( iPulse - pkChr->GetMyShopTime() < PASSES_PER_SEC(60) ) { - pkChr->ChatPacket( CHAT_TYPE_INFO, LC_TEXT("\xB0\xC5\xB7\xA1 \xC8\xC4 1\xBA\xD0 \xC0\xCC\xB3\xBB\xBF\xA1\xB4\xC2 \xB4\xD9\xB8\xA5\xC1\xF6\xBF\xAA\xC0\xB8\xB7\xCE \xC0\xCC\xB5\xBF \xC7\xD2 \xBC\xF6 \xBE\xF8\xBD\xC0\xB4\xCF\xB4\xD9." ) ); + pkChr->ChatPacket( CHAT_TYPE_INFO, LC_TEXT("You cannot go elsewhere for a period of time after the trade." ) ); return; } diff --git a/src/game/src/shop_manager.cpp b/src/game/src/shop_manager.cpp index 8018ddf..0cb59ff 100644 --- a/src/game/src/shop_manager.cpp +++ b/src/game/src/shop_manager.cpp @@ -282,7 +282,7 @@ void CShopManager::Sell(LPCHARACTER ch, BYTE bCell, BYTE bCount) if (item->IsEquipped() == true) { - ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("\xC2\xF8\xBF\xEB \xC1\xDF\xC0\xCE \xBE\xC6\xC0\xCC\xC5\xDB\xC0\xBA \xC6\xC7\xB8\xC5\xC7\xD2 \xBC\xF6 \xBE\xF8\xBD\xC0\xB4\xCF\xB4\xD9.")); + ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("You can't sell items that you're wearing.")); return; }