manual translation of non-localized strings

This commit is contained in:
Tr0n 2024-04-06 17:28:22 +02:00
parent dfb3d08998
commit 8fede9a1df
No known key found for this signature in database
19 changed files with 185 additions and 183 deletions

View File

@ -91,7 +91,7 @@ EVENTFUNC( DragonLair_Collapse_Event )
if (0 == pInfo->step) if (0 == pInfo->step)
{ {
char buf[512]; 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); SendNoticeMap(buf, pInfo->InstanceMapIndex, true);
pInfo->step++; pInfo->step++;
@ -146,7 +146,7 @@ DWORD CDragonLair::GetEstimatedTime() const
void CDragonLair::OnDragonDead(LPCHARACTER pDragon) 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() ); LogManager::instance().DragonSlayLog( GuildID_, pDragon->GetMobTable().dwVnum, StartTime_, get_global_time() );
} }

View File

@ -554,7 +554,7 @@ void CHARACTER::OpenMyShop(const char * c_pszSign, TShopItemTable * pTable, BYTE
{ {
if (GetPart(PART_MAIN) > 2) 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; return;
} }
@ -586,7 +586,7 @@ void CHARACTER::OpenMyShop(const char * c_pszSign, TShopItemTable * pTable, BYTE
if (GOLD_MAX <= nTotalMoney) if (GOLD_MAX <= nTotalMoney)
{ {
SPDLOG_ERROR("[OVERFLOW_GOLD] Overflow (GOLD_MAX) id {} name {}", GetPlayerID(), GetName()); 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; 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())) 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; 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))) 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; return;
} }
if (pkItem->IsEquipped() == true) 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; return;
} }
if (true == pkItem->isLocked()) 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; return;
} }
@ -1092,14 +1092,14 @@ void CHARACTER::SetPosition(int pos)
{ {
case POS_FIGHTING: case POS_FIGHTING:
if (!IsState(m_stateBattle)) 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); GotoState(m_stateBattle);
break; break;
default: default:
if (!IsState(m_stateIdle)) 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); GotoState(m_stateIdle);
break; break;
@ -2636,7 +2636,7 @@ bool CHARACTER::Sync(int x, int y)
void CHARACTER::Stop() void CHARACTER::Stop()
{ {
if (!IsState(m_stateIdle)) if (!IsState(m_stateIdle))
MonsterLog("[IDLE] \xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD"); MonsterLog("[IDLE] stop");
GotoState(m_stateIdle); GotoState(m_stateIdle);
@ -2671,7 +2671,7 @@ bool CHARACTER::Goto(int x, int y)
if (!IsState(m_stateMove)) 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()) if (GetVictim())
{ {
@ -3889,7 +3889,7 @@ void CHARACTER::mining_cancel()
{ {
SPDLOG_DEBUG("XXX MINING CANCEL"); SPDLOG_DEBUG("XXX MINING CANCEL");
event_cancel(&m_pkMiningEvent); 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) 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; return;
} }
@ -3950,7 +3950,7 @@ void CHARACTER::fishing()
if (IS_SET(dwAttr, ATTR_BLOCK)) 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; return;
} }
} }
@ -3960,13 +3960,13 @@ void CHARACTER::fishing()
// 낚시대 장착 // 낚시대 장착
if (!rod || rod->GetType() != ITEM_ROD) 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; return;
} }
if (0 == rod->GetSocket(2)) 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; return;
} }
@ -3992,7 +3992,7 @@ void CHARACTER::fishing_take()
} }
else 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); event_cancel(&m_pkFishingEvent);
@ -4032,7 +4032,7 @@ void CHARACTER::SetNextStatePulse(int iNextPulse)
m_dwNextStatePulse = iNextPulse; m_dwNextStatePulse = iNextPulse;
if (iNextPulse < 10) 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) 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; return false;
} }
@ -4290,38 +4290,38 @@ bool CHARACTER::RequestToParty(LPCHARACTER leader)
break; break;
case PERR_SERVER: 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; return false;
case PERR_DIFFEMPIRE: 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; return false;
case PERR_DUNGEON: 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; return false;
case PERR_OBSERVER: 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; return false;
case PERR_LVBOUNDARY: 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; return false;
case PERR_LOWLEVEL: 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; return false;
case PERR_HILEVEL: 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; return false;
case PERR_ALREADYJOIN: case PERR_ALREADYJOIN:
return false; return false;
case PERR_PARTYISFULL: 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; return false;
default: default:
@ -4337,7 +4337,7 @@ bool CHARACTER::RequestToParty(LPCHARACTER leader)
SetPartyRequestEvent(event_create(party_request_event, info, PASSES_PER_SEC(10))); SetPartyRequestEvent(event_create(party_request_event, info, PASSES_PER_SEC(10)));
leader->ChatPacket(CHAT_TYPE_COMMAND, "PartyRequest %u", (DWORD) GetVID()); 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; return true;
} }
@ -4391,7 +4391,7 @@ void CHARACTER::AcceptToParty(LPCHARACTER member)
event_cancel(&member->m_pkPartyRequestEvent); event_cancel(&member->m_pkPartyRequestEvent);
if (!GetParty()) 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 else
{ {
if (GetPlayerID() != GetParty()->GetLeaderPID()) if (GetPlayerID() != GetParty()->GetLeaderPID())
@ -4401,16 +4401,16 @@ void CHARACTER::AcceptToParty(LPCHARACTER member)
switch (errcode) switch (errcode)
{ {
case PERR_NONE: member->PartyJoin(this); return; 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_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("<\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_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("<\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_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("<\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_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("<\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_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("<\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_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_ALREADYJOIN: break;
case PERR_PARTYISFULL: { 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."));
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.")); member->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("[Group] You cannot join this group because it is already full."));
break; break;
} }
default: SPDLOG_ERROR("Do not process party join error({})", (int) errcode); 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()) 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; return;
} }
else if (pchInvitee->IsBlockMode(BLOCK_PARTY_INVITE)) 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; return;
} }
@ -4466,39 +4466,39 @@ void CHARACTER::PartyInvite(LPCHARACTER pchInvitee)
break; break;
case PERR_SERVER: 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; return;
case PERR_DIFFEMPIRE: 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; return;
case PERR_DUNGEON: 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; return;
case PERR_OBSERVER: 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; return;
case PERR_LVBOUNDARY: 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; return;
case PERR_LOWLEVEL: 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; return;
case PERR_HILEVEL: 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; return;
case PERR_ALREADYJOIN: 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; return;
case PERR_PARTYISFULL: 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; return;
default: default:
@ -4544,7 +4544,7 @@ void CHARACTER::PartyInviteAccept(LPCHARACTER pchInvitee)
if (GetParty() && GetParty()->GetLeaderPID() != GetPlayerID()) 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; return;
} }
@ -4556,36 +4556,36 @@ void CHARACTER::PartyInviteAccept(LPCHARACTER pchInvitee)
break; break;
case PERR_SERVER: 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; return;
case PERR_DUNGEON: 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; return;
case PERR_OBSERVER: 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; return;
case PERR_LVBOUNDARY: 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; return;
case PERR_LOWLEVEL: 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; return;
case PERR_HILEVEL: 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; return;
case PERR_ALREADYJOIN: 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; return;
case PERR_PARTYISFULL: 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."));
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.")); pchInvitee->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("[Group] You cannot join this group because it is already full."));
return; return;
default: default:
@ -4624,13 +4624,13 @@ void CHARACTER::PartyInviteDeny(DWORD dwPID)
LPCHARACTER pchInvitee = CHARACTER_MANAGER::instance().FindByPID(dwPID); LPCHARACTER pchInvitee = CHARACTER_MANAGER::instance().FindByPID(dwPID);
if (pchInvitee) 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) 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()); pLeader->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("[Group] %s has joined your group."), 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()); ChatPacket(CHAT_TYPE_INFO, LC_TEXT("[Group] %s has joined your Group."), pLeader->GetName());
pLeader->GetParty()->Join(GetPlayerID()); pLeader->GetParty()->Join(GetPlayerID());
pLeader->GetParty()->Link(this); pLeader->GetParty()->Link(this);
@ -4841,7 +4841,7 @@ void CHARACTER::OnClick(LPCHARACTER pkChrCauser)
{ {
if ((GetExchange() || IsOpenSafebox() || GetShopOwner()) || IsCubeOpen()) 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; return;
} }
} }
@ -4850,7 +4850,7 @@ void CHARACTER::OnClick(LPCHARACTER pkChrCauser)
// 클릭한 사람이 교환/창고/개인상점/상점이용중이라면 불가 // 클릭한 사람이 교환/창고/개인상점/상점이용중이라면 불가
if ((pkChrCauser->GetExchange() || pkChrCauser->IsOpenSafebox() || pkChrCauser->GetMyShop() || pkChrCauser->GetShopOwner()) || pkChrCauser->IsCubeOpen() ) 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; return;
} }
@ -4858,7 +4858,7 @@ void CHARACTER::OnClick(LPCHARACTER pkChrCauser)
//if ((GetExchange() || IsOpenSafebox() || GetShopOwner())) //if ((GetExchange() || IsOpenSafebox() || GetShopOwner()))
if ((GetExchange() || IsOpenSafebox() || IsCubeOpen())) 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; return;
} }
} }
@ -5303,7 +5303,7 @@ bool CHARACTER::Return()
SendMovePacket(FUNC_WAIT, 0, 0, 0, 0); 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()) if (GetParty())
GetParty()->SendMessage(this, PM_RETURN, x, y); 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); 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; return true;
} }
@ -5479,12 +5479,12 @@ void CHARACTER::ReqSafeboxLoad(const char* pszPassword)
{ {
if (!*pszPassword || strlen(pszPassword) > SAFEBOX_PASSWORD_MAX_LEN) 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; return;
} }
else if (m_pkSafebox) 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; return;
} }
@ -5492,12 +5492,12 @@ void CHARACTER::ReqSafeboxLoad(const char* pszPassword)
if (iPulse - GetSafeboxLoadTime() < PASSES_PER_SEC(10)) 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; return;
} }
else if (GetDistanceFromSafeboxOpen() > 1000) 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; return;
} }
else if (m_bOpeningSafebox) else if (m_bOpeningSafebox)
@ -5768,9 +5768,9 @@ void CHARACTER::SetNowWalking(bool bWalkFlag)
if (IsNPC()) if (IsNPC())
{ {
if (m_bNowWalking) if (m_bNowWalking)
MonsterLog("\xEF\xBF\xBD\xC8\xB4\xC2\xB4\xEF\xBF\xBD"); MonsterLog("Walk");
else else
MonsterLog("\xEF\xBF\xBD\xDA\xB4\xEF\xBF\xBD"); MonsterLog("Run");
} }
} }
} }
@ -6474,13 +6474,13 @@ bool CHARACTER::WarpToPID(DWORD dwPID)
} }
else 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; return false;
} }
} }
else 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; return false;
} }
} }
@ -6494,25 +6494,25 @@ bool CHARACTER::WarpToPID(DWORD dwPID)
if (!pcci) 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; return false;
} }
if (pcci->bChannel != g_bChannel) 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; return false;
} }
else if (false == IS_SUMMONABLE_ZONE(pcci->lMapIndex)) 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; return false;
} }
else else
{ {
if (!CAN_ENTER_ZONE(this, pcci->lMapIndex)) 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; return false;
} }
@ -6594,7 +6594,7 @@ bool CHARACTER::IsHack(bool bSendMsg, bool bCheckShopOwner, int limittime)
if (iPulse - GetSafeboxLoadTime() < PASSES_PER_SEC(limittime)) if (iPulse - GetSafeboxLoadTime() < PASSES_PER_SEC(limittime))
{ {
if (bSendMsg) 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) if (test_server)
ChatPacket(CHAT_TYPE_INFO, "[TestOnly]Pulse %d LoadTime %d PASS %d", iPulse, GetSafeboxLoadTime(), PASSES_PER_SEC(limittime)); 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 (GetExchange() || GetMyShop() || GetShopOwner() || IsOpenSafebox() || IsCubeOpen())
{ {
if (bSendMsg) 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; return true;
} }
@ -6617,7 +6617,7 @@ bool CHARACTER::IsHack(bool bSendMsg, bool bCheckShopOwner, int limittime)
if (GetExchange() || GetMyShop() || IsOpenSafebox() || IsCubeOpen()) if (GetExchange() || GetMyShop() || IsOpenSafebox() || IsCubeOpen())
{ {
if (bSendMsg) 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; return true;
} }
@ -6628,7 +6628,7 @@ bool CHARACTER::IsHack(bool bSendMsg, bool bCheckShopOwner, int limittime)
if (iPulse - GetExchangeTime() < PASSES_PER_SEC(limittime)) if (iPulse - GetExchangeTime() < PASSES_PER_SEC(limittime))
{ {
if (bSendMsg) 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; return true;
} }
//END_PREVENT_PORTAL_AFTER_EXCHANGE //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 (iPulse - GetMyShopTime() < PASSES_PER_SEC(limittime))
{ {
if (bSendMsg) 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; return true;
} }
if (iPulse - GetRefineTime() < PASSES_PER_SEC(limittime)) if (iPulse - GetRefineTime() < PASSES_PER_SEC(limittime))
{ {
if (bSendMsg) 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; return true;
} }
//END_PREVENT_ITEM_COPY //END_PREVENT_ITEM_COPY

View File

@ -391,6 +391,7 @@ struct command_info cmd_info[] =
{ "delqf", do_delqf, 0, POS_DEAD, GM_LOW_WIZARD }, { "delqf", do_delqf, 0, POS_DEAD, GM_LOW_WIZARD },
{ "set_state", do_set_state, 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 }, { "\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 }, { "\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; break;
/* /*
case POS_FIGHTING: 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; break;
*/ */
default: default:

View File

@ -415,7 +415,7 @@ ACMD(do_mount)
if (distance > 600.0f) 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; return;
} }
@ -432,7 +432,7 @@ ACMD(do_mount)
if (!tch->IsNPC() || !tch->IsMountable()) 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; return;
} }
@ -440,7 +440,7 @@ ACMD(do_mount)
if (distance > 600.0f) 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; return;
} }
@ -912,7 +912,7 @@ ACMD(do_safebox_change_password)
if (isalpha(arg2[i]) == false) 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; return;
} }
} }
@ -1317,7 +1317,7 @@ ACMD(do_unmount)
} }
else 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) 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; return;
} }
ch->PointChange(POINT_SP, -iSPCost); ch->PointChange(POINT_SP, -iSPCost);
@ -1466,7 +1466,7 @@ ACMD(do_monarch_warpto)
if (!CMonarch::instance().IsMoneyOk(WarpPrice, ch->GetEmpire())) if (!CMonarch::instance().IsMoneyOk(WarpPrice, ch->GetEmpire()))
{ {
int NationMoney = CMonarch::instance().GetMoney(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; return;
} }
@ -1502,7 +1502,7 @@ ACMD(do_monarch_warpto)
} }
if (!IsMonarchWarpZone(pkCCI->lMapIndex)) 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; return;
} }
@ -1539,7 +1539,7 @@ ACMD(do_monarch_warpto)
} }
if (!IsMonarchWarpZone(tch->GetMapIndex())) 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; return;
} }
x = tch->GetX(); x = tch->GetX();
@ -1591,7 +1591,7 @@ ACMD(do_monarch_transfer)
if (!CMonarch::instance().IsMoneyOk(WarpPrice, ch->GetEmpire())) if (!CMonarch::instance().IsMoneyOk(WarpPrice, ch->GetEmpire()))
{ {
int NationMoney = CMonarch::instance().GetMoney(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; return;
} }
@ -1616,12 +1616,12 @@ ACMD(do_monarch_transfer)
} }
if (!IsMonarchWarpZone(pkCCI->lMapIndex)) 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; return;
} }
if (!IsMonarchWarpZone(ch->GetMapIndex())) 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; return;
} }
@ -1662,12 +1662,12 @@ ACMD(do_monarch_transfer)
} }
if (!IsMonarchWarpZone(tch->GetMapIndex())) 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; return;
} }
if (!IsMonarchWarpZone(ch->GetMapIndex())) 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; return;
} }
@ -1788,10 +1788,10 @@ ACMD(do_monarch_tax)
// 공지 // 공지
char szMsg[1024]; 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); 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); BroadcastNotice(szMsg);
// 쿨타임 초기화 // 쿨타임 초기화
@ -1849,7 +1849,7 @@ ACMD(do_monarch_mob)
{ {
if (mapEmpire != pcEmpire && mapEmpire != 0) 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; return;
} }
} }
@ -1868,7 +1868,7 @@ ACMD(do_monarch_mob)
if (!CMonarch::instance().IsMoneyOk(SummonPrice, ch->GetEmpire())) if (!CMonarch::instance().IsMoneyOk(SummonPrice, ch->GetEmpire()))
{ {
int NationMoney = CMonarch::instance().GetMoney(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; 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_STUN_PCT: return LC_TEXT("Star +%d");
case POINT_SLOW_PCT: return LC_TEXT("Speed Reduction +%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_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_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_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_ANIMAL: return LC_TEXT("Horse's Attack Power against Monsters +%d%%");
case POINT_ATTBONUS_ORC: return LC_TEXT("Attack Boost against Wonggui + %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_ELEC: return LC_TEXT("Lightning Resistance %d%%");
case POINT_RESIST_MAGIC: return LC_TEXT("Magic 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_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_ICE: return LC_TEXT("Ice Resistance %d%%");
case POINT_RESIST_EARTH: return LC_TEXT("\xB4\xEB\xC1\xF6 \xC0\xFA\xC7\xD7 %d%%"); case POINT_RESIST_EARTH: return LC_TEXT("Earth Resistance %d%%");
case POINT_RESIST_DARK: return LC_TEXT("\xBE\xEE\xB5\xD2 \xC0\xFA\xC7\xD7 %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_MELEE: return LC_TEXT("Reflect Direct Hit: %d%%");
case POINT_REFLECT_CURSE: return LC_TEXT("Reflect Curse: %d%%"); case POINT_REFLECT_CURSE: return LC_TEXT("Reflect Curse: %d%%");
case POINT_POISON_REDUCE: return LC_TEXT("Poison Resistance %d%%"); case POINT_POISON_REDUCE: return LC_TEXT("Poison Resistance %d%%");
@ -2377,9 +2377,9 @@ ACMD(do_dice)
int n = Random::get(start, end); int n = Random::get(start, end);
if (ch->GetParty()) 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 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) ACMD(do_click_mall)

View File

@ -2667,8 +2667,8 @@ ACMD(do_block_chat)
{ {
if (ch) 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, "The time is incorrectly formatted. Please specify it with an h, m, or s.");
ch->ChatPacket(CHAT_TYPE_INFO, "\xBF\xB9) 10s, 10m, 1m 30s"); ch->ChatPacket(CHAT_TYPE_INFO, "Example) 10s, 10m, 1m 30s");
} }
return; return;
} }
@ -2848,7 +2848,7 @@ ACMD(do_build)
/* /*
if (x_rot != 0.0f || y_rot != 0.0f || z_rot != 0.0f) 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; return;
} }
*/ */
@ -3577,7 +3577,7 @@ ACMD(do_check_monarch_money)
str_to_number(empire, arg1); str_to_number(empire, arg1);
int NationMoney = CMonarch::instance().GetMoney(empire); 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) ACMD(do_reset_subskill)
@ -4261,7 +4261,7 @@ ACMD (do_use_item)
} }
else 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.");
} }
} }

View File

@ -565,7 +565,7 @@ bool Cube_make (LPCHARACTER ch)
else 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"); ch->ChatPacket(CHAT_TYPE_COMMAND, "cube fail");
LogManager::instance().CubeLog(ch->GetPlayerID(), ch->GetX(), ch->GetY(), LogManager::instance().CubeLog(ch->GetPlayerID(), ch->GetX(), ch->GetY(),
reward_value->vnum, 0, 0, 0); reward_value->vnum, 0, 0, 0);

View File

@ -1310,7 +1310,7 @@ void CGuild::UseSkill(DWORD dwVnum, LPCHARACTER ch, DWORD pid)
//GuildPointChange(POINT_SP, -iNeededSP); //GuildPointChange(POINT_SP, -iNeededSP);
if (test_server) 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) switch (dwVnum)
{ {
@ -1358,7 +1358,7 @@ void CGuild::UseSkill(DWORD dwVnum, LPCHARACTER ch, DWORD pid)
{ {
/*if (ch->GetPlayerID() != GetMasterPID()) /*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; return;
}*/ }*/
@ -1731,7 +1731,7 @@ bool CGuild::ChargeSP(LPCHARACTER ch, int iSP)
SendDBSkillUpdate(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; return true;
} }
@ -1939,7 +1939,7 @@ void CGuild::Invite( LPCHARACTER pchInviter, LPCHARACTER pchInvitee )
{ {
if (quest::CQuestManager::instance().GetPCForce(pchInviter->GetPlayerID())->IsRunning() == true) 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; return;
} }
@ -1979,8 +1979,8 @@ void CGuild::Invite( LPCHARACTER pchInviter, LPCHARACTER pchInvitee )
return; return;
case GERR_ALREADYJOIN: pchInviter->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("[Guild] This person is already a member of another Guild.")); 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_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_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("<\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_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; default: SPDLOG_ERROR("ignore guild join error({})", (int) errcode ); return;
} }
@ -2044,8 +2044,8 @@ void CGuild::InviteAccept( LPCHARACTER pchInvitee )
return; return;
case GERR_ALREADYJOIN: pchInvitee->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("[Guild] This person is already a member of another Guild.")); 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_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_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("<\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_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; default: SPDLOG_ERROR("ignore guild join error({})", (int) errcode); return;
} }

View File

@ -2349,7 +2349,7 @@ void CInputDB::AddMonarchMoney(LPDESC d, const char * data )
if (ch) if (ch)
{ {
if (Random::get(1, 100) > 95) 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));
} }
} }

View File

@ -778,9 +778,9 @@ void CInputLogin::Entergame(LPDESC d, const char * data)
{ {
if (FN_is_battle_zone(ch)) 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("There may be forced matches on this map."));
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("If you do not agree to these terms,"));
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("please return to your home province."));
} }
} }
} }

View File

@ -1127,7 +1127,7 @@ void CInputMain::Exchange(LPCHARACTER ch, const char * data)
/* /*
if (to_ch->IsMonarch() || ch->IsMonarch()) 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; return;
} }
//END_MONARCH_LIMIT //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)) 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; 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)); db_clientdesc->DBPacket(HEADER_GD_PARTY_STATE_CHANGE, 0, &pack, sizeof(pack));
} }
/* else /* 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; break;
default: 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()) 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; return SubPacketLen;
} }
} }
@ -2623,7 +2623,7 @@ int CInputMain::Guild(LPCHARACTER ch, const char * data, size_t uiBytes)
{ {
if (pGuild->UnderAnyWar() != 0) 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; 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) 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 else
{ {

View File

@ -95,32 +95,32 @@ static void __proc_teen_notice(char *login, int hour)
case 1: case 1:
case 2: 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); SET_OVER_TIME(ch, OT_NONE);
} }
break; break;
case 3: 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("Your cumulative online time has already reached %d hours,"), 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("Please disconnect as soon as possible and get some rest for your health."));
SET_OVER_TIME(ch, OT_3HOUR); SET_OVER_TIME(ch, OT_3HOUR);
} }
break; break;
case 4: 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("You have already entered game fatigue,"));
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("your in-game earnings are reduced to 50%% of normal."));
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("For your own health, please disconnect as soon as possible"));
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("and focus on resting and studying."));
SET_OVER_TIME(ch, OT_3HOUR); SET_OVER_TIME(ch, OT_3HOUR);
} }
break; break;
default: 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("You have already entered an unhealthy game time."));
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("For your health, please disconnect and rest as soon as possible,"));
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("otherwise you may suffer health damage and your in-game numbers will be zeroed out."));
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 will return to normal when your cumulative offline time reaches 5 hours."));
SET_OVER_TIME(ch, OT_5HOUR); SET_OVER_TIME(ch, OT_5HOUR);
} }
break; break;
@ -133,9 +133,9 @@ static inline void __sec_to_timestring(int sec, char *buf, size_t buflen)
int min = (sec/60); int min = (sec/60);
if (hour>0) if (hour>0)
snprintf(buf, buflen, LC_TEXT("%d\xBD\xC3\xB0\xA3"), hour); snprintf(buf, buflen, LC_TEXT("%dh"), hour);
else 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) 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) 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("Your cumulative offline time is %s."), 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 online time is now zero. You are 100%% effective."));
return; return;
} }
else 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); off_time_string, on_time_string);
} }
} }

View File

@ -1544,7 +1544,7 @@ void CItem::SetAccessorySocketDownGradeTime(DWORD time)
SetSocket(2, time); SetSocket(2, time);
if (test_server && GetOwner()) 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) EVENTFUNC(accessory_socket_expire_event)
@ -2061,4 +2061,4 @@ bool CItem::IsSameSpecialGroup(const LPITEM item) const
return true; return true;
return false; return false;
} }

View File

@ -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)) 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; 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)) 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; const static DWORD dwVnum = 50043;

View File

@ -373,6 +373,7 @@ bool ITEM_MANAGER::ConvSpecialDropItemFile()
if (!GetVnumByOriginalName(name.c_str(), dwVnum)) if (!GetVnumByOriginalName(name.c_str(), dwVnum))
{ {
if ( name == "\xB0\xE6\xC7\xE8\xC4\xA1" || if ( name == "\xB0\xE6\xC7\xE8\xC4\xA1" ||
name == "exp" ||
name == "mob" || name == "mob" ||
name == "slow" || name == "slow" ||
name == "drain_hp" || name == "drain_hp" ||

View File

@ -118,7 +118,7 @@ void MessengerManager::RequestToAdd(LPCHARACTER ch, LPCHARACTER target)
if (quest::CQuestManager::instance().GetPCForce(ch->GetPlayerID())->IsRunning() == true) 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; return;
} }

View File

@ -76,7 +76,7 @@ int CMonarch::HealMyEmpire(LPCHARACTER ch ,DWORD price)
if (!IsMoneyOk(price, Empire)) 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; return 0;
} }
@ -270,4 +270,4 @@ bool IsMonarchWarpZone (int map_idx)
} }
return (map_idx != 208 && map_idx != 216 && map_idx != 217); return (map_idx != 208 && map_idx != 216 && map_idx != 217);
} }

View File

@ -184,7 +184,7 @@ namespace quest
if (!CMonarch::instance().IsMoneyOk(money_need, ch->GetEmpire())) if (!CMonarch::instance().IsMoneyOk(money_need, ch->GetEmpire()))
{ {
int NationMoney = CMonarch::instance().GetMoney(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; return 0;
} }
@ -241,7 +241,7 @@ namespace quest
if (!CMonarch::instance().IsMoneyOk(money_need, ch->GetEmpire())) if (!CMonarch::instance().IsMoneyOk(money_need, ch->GetEmpire()))
{ {
int NationMoney = CMonarch::instance().GetMoney(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; return 0;
} }
@ -332,7 +332,7 @@ namespace quest
if (!CMonarch::instance().IsMoneyOk(CASTLE_FROG_PRICE, ch->GetEmpire())) if (!CMonarch::instance().IsMoneyOk(CASTLE_FROG_PRICE, ch->GetEmpire()))
{ {
int NationMoney = CMonarch::instance().GetMoney(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; return 0;
} }
@ -421,7 +421,7 @@ namespace quest
if (!CMonarch::instance().IsMoneyOk(money_need, ch->GetEmpire())) if (!CMonarch::instance().IsMoneyOk(money_need, ch->GetEmpire()))
{ {
int NationMoney = CMonarch::instance().GetMoney(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; return 0;
} }
guard_leader = castle_spawn_guard(ch->GetEmpire(), group_vnum, region_index); guard_leader = castle_spawn_guard(ch->GetEmpire(), group_vnum, region_index);
@ -506,7 +506,7 @@ namespace quest
if (!CMonarch::instance().IsMoneyOk(WarpPrice, ch->GetEmpire())) if (!CMonarch::instance().IsMoneyOk(WarpPrice, ch->GetEmpire()))
{ {
int NationMoney = CMonarch::instance().GetMoney(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; return 0;
} }
@ -533,7 +533,7 @@ namespace quest
if (!IsMonarchWarpZone(pkCCI->lMapIndex)) 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; return 0;
} }
@ -572,7 +572,7 @@ namespace quest
if (!IsMonarchWarpZone(tch->GetMapIndex())) 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; return 0;
} }
@ -660,7 +660,7 @@ namespace quest
if (!CMonarch::instance().IsMoneyOk(WarpPrice, ch->GetEmpire())) if (!CMonarch::instance().IsMoneyOk(WarpPrice, ch->GetEmpire()))
{ {
int NationMoney = CMonarch::instance().GetMoney(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; return 0;
} }
@ -686,12 +686,12 @@ namespace quest
if (!IsMonarchWarpZone(pkCCI->lMapIndex)) 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; return 0;
} }
if (!IsMonarchWarpZone(ch->GetMapIndex())) 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; return 0;
} }
@ -733,12 +733,12 @@ namespace quest
if (!IsMonarchWarpZone(tch->GetMapIndex())) 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; return 0;
} }
if (!IsMonarchWarpZone(ch->GetMapIndex())) 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; return 0;
} }
tch->WarpSet(ch->GetX(), ch->GetY(), ch->GetMapIndex()); tch->WarpSet(ch->GetX(), ch->GetY(), ch->GetMapIndex());
@ -841,7 +841,7 @@ namespace quest
if (CMonarch::instance().IsMoneyOk(ciTransferCost, ch->GetEmpire()) == false) if (CMonarch::instance().IsMoneyOk(ciTransferCost, ch->GetEmpire()) == false)
{ {
int NationMoney = CMonarch::instance().GetMoney(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, ciTransferCost); ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("The Treasury is running out of money. Currently: %u Amount needed: %u"), NationMoney, ciTransferCost);
return 0; return 0;
} }
@ -863,19 +863,19 @@ namespace quest
if (pCCI->bChannel != g_bChannel) 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); strTargetName.c_str(), pCCI->bChannel, g_bChannel);
return 0; return 0;
} }
if (!IsMonarchWarpZone(pCCI->lMapIndex)) 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; return 0;
} }
if (!IsMonarchWarpZone(ch->GetMapIndex())) 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; return 0;
} }
@ -886,7 +886,7 @@ namespace quest
packet.y = ch->GetY(); packet.y = ch->GetY();
P2P_MANAGER::instance().Send(&packet, sizeof(TPacketMonarchGGTransfer)); 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); CMonarch::instance().SendtoDBDecMoney(ciTransferCost, ch->GetEmpire(), ch);
ch->SetMC(CHARACTER::MI_TRANSFER); ch->SetMC(CHARACTER::MI_TRANSFER);
@ -913,18 +913,18 @@ namespace quest
if (DISTANCE_APPROX(pTargetChar->GetX() - ch->GetX(), pTargetChar->GetY() - ch->GetY()) <= 5000) 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; return 0;
} }
if (!IsMonarchWarpZone(pTargetChar->GetMapIndex())) 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; return 0;
} }
if (!IsMonarchWarpZone(ch->GetMapIndex())) 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; return 0;
} }
@ -937,7 +937,7 @@ namespace quest
event_create(monarch_transfer2_event, info, 1); 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); CMonarch::instance().SendtoDBDecMoney(ciTransferCost, ch->GetEmpire(), ch);
ch->SetMC(CHARACTER::MI_TRANSFER); ch->SetMC(CHARACTER::MI_TRANSFER);

View File

@ -227,7 +227,7 @@ namespace quest
int iPulse = thecore_pulse(); int iPulse = thecore_pulse();
if ( pkChr->GetExchange() || pkChr->GetMyShop() || pkChr->GetShopOwner() || pkChr->IsOpenSafebox() ) 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; return;
} }
@ -235,7 +235,7 @@ namespace quest
//교환 후 시간체크 //교환 후 시간체크
if ( iPulse - pkChr->GetExchangeTime() < PASSES_PER_SEC(60) ) 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; return;
} }
//END_PREVENT_PORTAL_AFTER_EXCHANGE //END_PREVENT_PORTAL_AFTER_EXCHANGE
@ -243,7 +243,7 @@ namespace quest
{ {
if ( iPulse - pkChr->GetMyShopTime() < PASSES_PER_SEC(60) ) 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; return;
} }

View File

@ -282,7 +282,7 @@ void CShopManager::Sell(LPCHARACTER ch, BYTE bCell, BYTE bCount)
if (item->IsEquipped() == true) 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; return;
} }