text encoding fixed
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
#include "stdafx.h"
|
||||
#include "stdafx.h"
|
||||
#include "constants.h"
|
||||
#include "config.h"
|
||||
#include "utils.h"
|
||||
@@ -149,7 +149,7 @@ void CInputDB::LoginSuccess(DWORD dwHandle, const char *data)
|
||||
return;
|
||||
}
|
||||
|
||||
if (strcmp(pTab->status, "OK")) // OK가 아니면
|
||||
if (strcmp(pTab->status, "OK")) // OK가 아니면
|
||||
{
|
||||
sys_log(0, "CInputDB::LoginSuccess - status[%s] is not OK [%s]", pTab->status, pTab->login);
|
||||
|
||||
@@ -172,7 +172,7 @@ void CInputDB::LoginSuccess(DWORD dwHandle, const char *data)
|
||||
|
||||
d->BindAccountTable(pTab);
|
||||
|
||||
if (!bFound) // 캐릭터가 없으면 랜덤한 제국으로 보낸다.. -_-
|
||||
if (!bFound) // 캐릭터가 없으면 랜덤한 제국으로 보낸다.. -_-
|
||||
{
|
||||
TPacketGCEmpire pe;
|
||||
pe.bHeader = HEADER_GC_EMPIRE;
|
||||
@@ -250,7 +250,7 @@ void CInputDB::PlayerCreateSuccess(LPDESC d, const char * data)
|
||||
|
||||
d->Packet(&pack, sizeof(TPacketGCPlayerCreateSuccess));
|
||||
|
||||
// 기본 무기와 귀환부를 지급
|
||||
// 기본 무기와 귀환부를 지급
|
||||
TPlayerItem t;
|
||||
memset(&t, 0, sizeof(t));
|
||||
|
||||
@@ -260,10 +260,10 @@ void CInputDB::PlayerCreateSuccess(LPDESC d, const char * data)
|
||||
t.count = 1;
|
||||
t.owner = r_Tab.players[pPacketDB->bAccountCharacterIndex].dwID;
|
||||
|
||||
//무사: 자인갑+3,철편투구+3,금편신발+3,남만도+3,백금목걸이+3, 흑단귀걸이+3, 소산부+3, 오각패+3, 흑단팔찌+3
|
||||
//자객:영린+3,연환두건+3,금편신발+3,마안도+3,화안궁+3,옥목걸이+3, 옥귀걸이+3, 오각패+3, 흑단팔찌+3
|
||||
//수라:음양갑+3,애희투구+3,금편신발+3,남만도+3,진주목걸이+3, 백금귀걸이+3, 오각패+3, 흑단팔찌+3
|
||||
//무당:서천의+3,태을모+3,금편신발+3,자린선+3,매화령+3,진주목걸이+3, 백금귀걸이+3, 오각패+3, 흑단팔찌+3
|
||||
//무사: 자인갑+3,철편투구+3,금편신발+3,남만도+3,백금목걸이+3, 흑단귀걸이+3, 소산부+3, 오각패+3, 흑단팔찌+3
|
||||
//자객:영린+3,연환두건+3,금편신발+3,마안도+3,화안궁+3,옥목걸이+3, 옥귀걸이+3, 오각패+3, 흑단팔찌+3
|
||||
//수라:음양갑+3,애희투구+3,금편신발+3,남만도+3,진주목걸이+3, 백금귀걸이+3, 오각패+3, 흑단팔찌+3
|
||||
//무당:서천의+3,태을모+3,금편신발+3,자린선+3,매화령+3,진주목걸이+3, 백금귀걸이+3, 오각패+3, 흑단팔찌+3
|
||||
|
||||
struct SInitialItem
|
||||
{
|
||||
@@ -366,7 +366,7 @@ void CInputDB::PlayerLoad(LPDESC d, const char * data)
|
||||
{
|
||||
lMapIndex = SECTREE_MANAGER::instance().GetMapIndex(pTab->x, pTab->y);
|
||||
|
||||
if (lMapIndex == 0) // 좌표를 찾을 수 없다.
|
||||
if (lMapIndex == 0) // 좌표를 찾을 수 없다.
|
||||
{
|
||||
lMapIndex = EMPIRE_START_MAP(d->GetAccountTable().bEmpire);
|
||||
pos.x = EMPIRE_START_X(d->GetAccountTable().bEmpire);
|
||||
@@ -380,11 +380,11 @@ void CInputDB::PlayerLoad(LPDESC d, const char * data)
|
||||
}
|
||||
pTab->lMapIndex = lMapIndex;
|
||||
|
||||
// Private 맵에 있었는데, Private 맵이 사라진 상태라면 출구로 돌아가야 한다.
|
||||
// Private 맵에 있었는데, Private 맵이 사라진 상태라면 출구로 돌아가야 한다.
|
||||
// ----
|
||||
// 근데 출구로 돌아가야 한다면서... 왜 출구가 아니라 private map 상에 대응되는 pulic map의 위치를 찾냐고...
|
||||
// 역사를 모르니... 또 하드코딩 한다.
|
||||
// 아귀동굴이면, 출구로...
|
||||
// 근데 출구로 돌아가야 한다면서... 왜 출구가 아니라 private map 상에 대응되는 pulic map의 위치를 찾냐고...
|
||||
// 역사를 모르니... 또 하드코딩 한다.
|
||||
// 아귀동굴이면, 출구로...
|
||||
// by rtsummit
|
||||
if (!SECTREE_MANAGER::instance().GetValidLocation(pTab->lMapIndex, pTab->x, pTab->y, lMapIndex, pos, d->GetEmpire()))
|
||||
{
|
||||
@@ -511,11 +511,11 @@ void CInputDB::Boot(const char* data)
|
||||
{
|
||||
signal_timer_disable();
|
||||
|
||||
// 패킷 사이즈 체크
|
||||
// 패킷 사이즈 체크
|
||||
DWORD dwPacketSize = decode_4bytes(data);
|
||||
data += 4;
|
||||
|
||||
// 패킷 버전 체크
|
||||
// 패킷 버전 체크
|
||||
BYTE bVersion = decode_byte(data);
|
||||
data += 1;
|
||||
|
||||
@@ -834,7 +834,7 @@ void CInputDB::Boot(const char* data)
|
||||
data += size * sizeof(TItemIDRangeTable);
|
||||
|
||||
//ADMIN_MANAGER
|
||||
//관리자 등록
|
||||
//관리자 등록
|
||||
int ChunkSize = decode_2bytes(data );
|
||||
data += 2;
|
||||
int HostSize = decode_2bytes(data );
|
||||
@@ -1190,7 +1190,7 @@ void CInputDB::SafeboxLoad(LPDESC d, const char * c_pData)
|
||||
//PREVENT_TRADE_WINDOW
|
||||
if (ch->GetShopOwner() || ch->GetExchange() || ch->GetMyShop() || ch->IsCubeOpen() )
|
||||
{
|
||||
d->GetCharacter()->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("다른거래창이 열린상태에서는 창고를 열수가 없습니다." ) );
|
||||
d->GetCharacter()->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("다른거래창이 열린상태에서는 창고를 열수가 없습니다." ) );
|
||||
d->GetCharacter()->CancelSafeboxLoad();
|
||||
return;
|
||||
}
|
||||
@@ -1203,7 +1203,7 @@ void CInputDB::SafeboxLoad(LPDESC d, const char * c_pData)
|
||||
// END_OF_ADD_PREMIUM
|
||||
|
||||
//if (d->GetCharacter()->IsEquipUniqueItem(UNIQUE_ITEM_SAFEBOX_EXPAND))
|
||||
//bSize = 3; // 창고확장권
|
||||
//bSize = 3; // 창고확장권
|
||||
|
||||
//d->GetCharacter()->LoadSafebox(p->bSize * SAFEBOX_PAGE_SIZE, p->dwGold, p->wItemCount, (TPlayerItem *) (c_pData + sizeof(TSafeboxTable)));
|
||||
d->GetCharacter()->LoadSafebox(bSize * SAFEBOX_PAGE_SIZE, p->dwGold, p->wItemCount, (TPlayerItem *) (c_pData + sizeof(TSafeboxTable)));
|
||||
@@ -1223,7 +1223,7 @@ void CInputDB::SafeboxChangeSize(LPDESC d, const char * c_pData)
|
||||
}
|
||||
|
||||
//
|
||||
// @version 05/06/20 Bang2ni - ReqSafeboxLoad 의 취소
|
||||
// @version 05/06/20 Bang2ni - ReqSafeboxLoad 의 취소
|
||||
//
|
||||
void CInputDB::SafeboxWrongPassword(LPDESC d)
|
||||
{
|
||||
@@ -1251,11 +1251,11 @@ void CInputDB::SafeboxChangePasswordAnswer(LPDESC d, const char* c_pData)
|
||||
TSafeboxChangePasswordPacketAnswer* p = (TSafeboxChangePasswordPacketAnswer*) c_pData;
|
||||
if (p->flag)
|
||||
{
|
||||
d->GetCharacter()->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("<창고> 창고 비밀번호가 변경되었습니다."));
|
||||
d->GetCharacter()->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("<창고> 창고 비밀번호가 변경되었습니다."));
|
||||
}
|
||||
else
|
||||
{
|
||||
d->GetCharacter()->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("<창고> 기존 비밀번호가 틀렸습니다."));
|
||||
d->GetCharacter()->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("<창고> 기존 비밀번호가 틀렸습니다."));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1283,7 +1283,7 @@ void CInputDB::LoginAlready(LPDESC d, const char * c_pData)
|
||||
if (!d)
|
||||
return;
|
||||
|
||||
// INTERNATIONAL_VERSION 이미 접속중이면 접속 끊음
|
||||
// INTERNATIONAL_VERSION 이미 접속중이면 접속 끊음
|
||||
{
|
||||
TPacketDGLoginAlready * p = (TPacketDGLoginAlready *) c_pData;
|
||||
|
||||
@@ -1762,11 +1762,11 @@ void CInputDB::AuthLogin(LPDESC d, const char * c_pData)
|
||||
|
||||
if (bResult)
|
||||
{
|
||||
// Panama 암호화 팩에 필요한 키 보내기
|
||||
// Panama 암호화 팩에 필요한 키 보내기
|
||||
SendPanamaList(d);
|
||||
ptoc.dwLoginKey = d->GetLoginKey();
|
||||
|
||||
//NOTE: AuthSucess보다 먼저 보내야지 안그러면 PHASE Close가 되서 보내지지 않는다.-_-
|
||||
//NOTE: AuthSucess보다 먼저 보내야지 안그러면 PHASE Close가 되서 보내지지 않는다.-_-
|
||||
//Send Client Package CryptKey
|
||||
{
|
||||
DESC_MANAGER::instance().SendClientPackageCryptKey(d);
|
||||
@@ -1796,11 +1796,11 @@ void CInputDB::AuthLoginOpenID(LPDESC d, const char * c_pData)
|
||||
|
||||
if (bResult)
|
||||
{
|
||||
// Panama 암호화 팩에 필요한 키 보내기
|
||||
// Panama 암호화 팩에 필요한 키 보내기
|
||||
SendPanamaList(d);
|
||||
ptoc.dwLoginKey = d->GetLoginKey();
|
||||
|
||||
//NOTE: AuthSucess보다 먼저 보내야지 안그러면 PHASE Close가 되서 보내지지 않는다.-_-
|
||||
//NOTE: AuthSucess보다 먼저 보내야지 안그러면 PHASE Close가 되서 보내지지 않는다.-_-
|
||||
//Send Client Package CryptKey
|
||||
{
|
||||
DESC_MANAGER::instance().SendClientPackageCryptKey(d);
|
||||
@@ -1830,7 +1830,7 @@ void CInputDB::ChangeEmpirePriv(const char* c_pData)
|
||||
}
|
||||
|
||||
/**
|
||||
* @version 05/06/08 Bang2ni - 지속시간 추가
|
||||
* @version 05/06/08 Bang2ni - 지속시간 추가
|
||||
*/
|
||||
void CInputDB::ChangeGuildPriv(const char* c_pData)
|
||||
{
|
||||
@@ -1952,7 +1952,7 @@ void CInputDB::BillingExpire(const char * c_pData)
|
||||
d->SetBillingExpireSecond(p->dwRemainSeconds);
|
||||
|
||||
if (ch)
|
||||
ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("결재기간이 %d분 후 만료 됩니다."), (p->dwRemainSeconds / 60));
|
||||
ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("결재기간이 %d분 후 만료 됩니다."), (p->dwRemainSeconds / 60));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2169,7 +2169,7 @@ void CInputDB::ReloadAdmin(const char * c_pData )
|
||||
|
||||
////////////////////////////////////////////////////////////////////
|
||||
// Analyze
|
||||
// @version 05/06/10 Bang2ni - 아이템 가격정보 리스트 패킷(HEADER_DG_MYSHOP_PRICELIST_RES) 처리루틴 추가.
|
||||
// @version 05/06/10 Bang2ni - 아이템 가격정보 리스트 패킷(HEADER_DG_MYSHOP_PRICELIST_RES) 처리루틴 추가.
|
||||
////////////////////////////////////////////////////////////////////
|
||||
int CInputDB::Analyze(LPDESC d, BYTE bHeader, const char * c_pData)
|
||||
{
|
||||
@@ -2523,7 +2523,7 @@ int CInputDB::Analyze(LPDESC d, BYTE bHeader, const char * c_pData)
|
||||
case HEADER_DG_NEED_LOGIN_LOG:
|
||||
DetailLog( (TPacketNeedLoginLogInfo*) c_pData );
|
||||
break;
|
||||
// 독일 선물 기능 테스트
|
||||
// 독일 선물 기능 테스트
|
||||
case HEADER_DG_ITEMAWARD_INFORMER:
|
||||
ItemAwardInformer((TPacketItemAwardInfromer*) c_pData);
|
||||
break;
|
||||
@@ -2603,7 +2603,7 @@ void CInputDB::AddMonarchMoney(LPDESC d, const char * data )
|
||||
if (ch)
|
||||
{
|
||||
if (number(1, 100) > 95)
|
||||
ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("현재 %s 국고에는 %u 의 돈이 있습니다"), EMPIRE_NAME(Empire), CMonarch::instance().GetMoney(Empire));
|
||||
ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("현재 %s 국고에는 %u 의 돈이 있습니다"), EMPIRE_NAME(Empire), CMonarch::instance().GetMoney(Empire));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2623,7 +2623,7 @@ void CInputDB::DecMonarchMoney(LPDESC d, const char * data)
|
||||
|
||||
if (ch)
|
||||
{
|
||||
ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("현재 %s 국고에는 %d 의 돈이 있습니다"), EMPIRE_NAME(Empire), CMonarch::instance().GetMoney(Empire));
|
||||
ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("현재 %s 국고에는 %d 의 돈이 있습니다"), EMPIRE_NAME(Empire), CMonarch::instance().GetMoney(Empire));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2644,14 +2644,14 @@ void CInputDB::TakeMonarchMoney(LPDESC d, const char * data)
|
||||
return;
|
||||
|
||||
LPCHARACTER ch = d->GetCharacter();
|
||||
ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("국고에 돈이 부족하거나 돈을 가져올수 없는 상황입니다"));
|
||||
ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("국고에 돈이 부족하거나 돈을 가져올수 없는 상황입니다"));
|
||||
}
|
||||
}
|
||||
|
||||
void CInputDB::ChangeMonarchLord(TPacketChangeMonarchLordACK* info)
|
||||
{
|
||||
char notice[256];
|
||||
snprintf(notice, sizeof(notice), LC_TEXT("%s의 군주가 %s 님으로 교체되었습니다."), EMPIRE_NAME(info->bEmpire), info->szName);
|
||||
snprintf(notice, sizeof(notice), LC_TEXT("%s의 군주가 %s 님으로 교체되었습니다."), EMPIRE_NAME(info->bEmpire), info->szName);
|
||||
SendNotice(notice);
|
||||
}
|
||||
|
||||
@@ -2696,7 +2696,7 @@ void CInputDB::DetailLog(const TPacketNeedLoginLogInfo* info)
|
||||
|
||||
void CInputDB::ItemAwardInformer(TPacketItemAwardInfromer *data)
|
||||
{
|
||||
LPDESC d = DESC_MANAGER::instance().FindByLoginName(data->login); //login정보
|
||||
LPDESC d = DESC_MANAGER::instance().FindByLoginName(data->login); //login정보
|
||||
|
||||
if(d == NULL)
|
||||
return;
|
||||
@@ -2705,12 +2705,12 @@ void CInputDB::ItemAwardInformer(TPacketItemAwardInfromer *data)
|
||||
if (d->GetCharacter())
|
||||
{
|
||||
LPCHARACTER ch = d->GetCharacter();
|
||||
ch->SetItemAward_vnum(data->vnum); // ch 에 임시 저장해놨다가 QuestLoad 함수에서 처리
|
||||
ch->SetItemAward_vnum(data->vnum); // ch 에 임시 저장해놨다가 QuestLoad 함수에서 처리
|
||||
ch->SetItemAward_cmd(data->command);
|
||||
|
||||
if(d->IsPhase(PHASE_GAME)) //게임페이즈일때
|
||||
if(d->IsPhase(PHASE_GAME)) //게임페이즈일때
|
||||
{
|
||||
quest::CQuestManager::instance().ItemInformer(ch->GetPlayerID(),ch->GetItemAward_vnum()); //questmanager 호출
|
||||
quest::CQuestManager::instance().ItemInformer(ch->GetPlayerID(),ch->GetItemAward_vnum()); //questmanager 호출
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user