text encoding fixed
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
#include "stdafx.h"
|
||||
#include "stdafx.h"
|
||||
#include <fstream>
|
||||
#include "constants.h"
|
||||
#include "buffer_manager.h"
|
||||
@@ -57,29 +57,29 @@ namespace quest
|
||||
|
||||
m_pSelectedDungeon = NULL;
|
||||
|
||||
m_mapEventName.insert(TEventNameMap::value_type("click", QUEST_CLICK_EVENT)); // NPC를 클릭
|
||||
m_mapEventName.insert(TEventNameMap::value_type("kill", QUEST_KILL_EVENT)); // Mob을 사냥
|
||||
m_mapEventName.insert(TEventNameMap::value_type("timer", QUEST_TIMER_EVENT)); // 미리 지정해둔 시간이 지남
|
||||
m_mapEventName.insert(TEventNameMap::value_type("levelup", QUEST_LEVELUP_EVENT)); // 레벨업을 함
|
||||
m_mapEventName.insert(TEventNameMap::value_type("login", QUEST_LOGIN_EVENT)); // 로그인 시
|
||||
m_mapEventName.insert(TEventNameMap::value_type("logout", QUEST_LOGOUT_EVENT)); // 로그아웃 시
|
||||
m_mapEventName.insert(TEventNameMap::value_type("button", QUEST_BUTTON_EVENT)); // 퀘스트 버튼을 누름
|
||||
m_mapEventName.insert(TEventNameMap::value_type("info", QUEST_INFO_EVENT)); // 퀘스트 정보창을 염
|
||||
m_mapEventName.insert(TEventNameMap::value_type("chat", QUEST_CHAT_EVENT)); // 특정 키워드로 대화를 함
|
||||
m_mapEventName.insert(TEventNameMap::value_type("in", QUEST_ATTR_IN_EVENT)); // 맵의 특정 속성에 들어감
|
||||
m_mapEventName.insert(TEventNameMap::value_type("out", QUEST_ATTR_OUT_EVENT)); // 맵의 특정 속성에서 나옴
|
||||
m_mapEventName.insert(TEventNameMap::value_type("use", QUEST_ITEM_USE_EVENT)); // 퀘스트 아이템을 사용
|
||||
m_mapEventName.insert(TEventNameMap::value_type("server_timer", QUEST_SERVER_TIMER_EVENT)); // 서버 타이머 (아직 테스트 안됐음)
|
||||
m_mapEventName.insert(TEventNameMap::value_type("enter", QUEST_ENTER_STATE_EVENT)); // 현재 스테이트가 됨
|
||||
m_mapEventName.insert(TEventNameMap::value_type("leave", QUEST_LEAVE_STATE_EVENT)); // 현재 스테이트에서 다른 스테이트로 바뀜
|
||||
m_mapEventName.insert(TEventNameMap::value_type("letter", QUEST_LETTER_EVENT)); // 로긴 하거나 스테이트가 바껴 새로 정보를 세팅해줘야함
|
||||
m_mapEventName.insert(TEventNameMap::value_type("take", QUEST_ITEM_TAKE_EVENT)); // 아이템을 받음
|
||||
m_mapEventName.insert(TEventNameMap::value_type("target", QUEST_TARGET_EVENT)); // 타겟
|
||||
m_mapEventName.insert(TEventNameMap::value_type("party_kill", QUEST_PARTY_KILL_EVENT)); // 파티 멤버가 몬스터를 사냥 (리더에게 옴)
|
||||
m_mapEventName.insert(TEventNameMap::value_type("click", QUEST_CLICK_EVENT)); // NPC를 클릭
|
||||
m_mapEventName.insert(TEventNameMap::value_type("kill", QUEST_KILL_EVENT)); // Mob을 사냥
|
||||
m_mapEventName.insert(TEventNameMap::value_type("timer", QUEST_TIMER_EVENT)); // 미리 지정해둔 시간이 지남
|
||||
m_mapEventName.insert(TEventNameMap::value_type("levelup", QUEST_LEVELUP_EVENT)); // 레벨업을 함
|
||||
m_mapEventName.insert(TEventNameMap::value_type("login", QUEST_LOGIN_EVENT)); // 로그인 시
|
||||
m_mapEventName.insert(TEventNameMap::value_type("logout", QUEST_LOGOUT_EVENT)); // 로그아웃 시
|
||||
m_mapEventName.insert(TEventNameMap::value_type("button", QUEST_BUTTON_EVENT)); // 퀘스트 버튼을 누름
|
||||
m_mapEventName.insert(TEventNameMap::value_type("info", QUEST_INFO_EVENT)); // 퀘스트 정보창을 염
|
||||
m_mapEventName.insert(TEventNameMap::value_type("chat", QUEST_CHAT_EVENT)); // 특정 키워드로 대화를 함
|
||||
m_mapEventName.insert(TEventNameMap::value_type("in", QUEST_ATTR_IN_EVENT)); // 맵의 특정 속성에 들어감
|
||||
m_mapEventName.insert(TEventNameMap::value_type("out", QUEST_ATTR_OUT_EVENT)); // 맵의 특정 속성에서 나옴
|
||||
m_mapEventName.insert(TEventNameMap::value_type("use", QUEST_ITEM_USE_EVENT)); // 퀘스트 아이템을 사용
|
||||
m_mapEventName.insert(TEventNameMap::value_type("server_timer", QUEST_SERVER_TIMER_EVENT)); // 서버 타이머 (아직 테스트 안됐음)
|
||||
m_mapEventName.insert(TEventNameMap::value_type("enter", QUEST_ENTER_STATE_EVENT)); // 현재 스테이트가 됨
|
||||
m_mapEventName.insert(TEventNameMap::value_type("leave", QUEST_LEAVE_STATE_EVENT)); // 현재 스테이트에서 다른 스테이트로 바뀜
|
||||
m_mapEventName.insert(TEventNameMap::value_type("letter", QUEST_LETTER_EVENT)); // 로긴 하거나 스테이트가 바껴 새로 정보를 세팅해줘야함
|
||||
m_mapEventName.insert(TEventNameMap::value_type("take", QUEST_ITEM_TAKE_EVENT)); // 아이템을 받음
|
||||
m_mapEventName.insert(TEventNameMap::value_type("target", QUEST_TARGET_EVENT)); // 타겟
|
||||
m_mapEventName.insert(TEventNameMap::value_type("party_kill", QUEST_PARTY_KILL_EVENT)); // 파티 멤버가 몬스터를 사냥 (리더에게 옴)
|
||||
m_mapEventName.insert(TEventNameMap::value_type("unmount", QUEST_UNMOUNT_EVENT));
|
||||
m_mapEventName.insert(TEventNameMap::value_type("pick", QUEST_ITEM_PICK_EVENT)); // 떨어져있는 아이템을 습득함.
|
||||
m_mapEventName.insert(TEventNameMap::value_type("sig_use", QUEST_SIG_USE_EVENT)); // Special item group에 속한 아이템을 사용함.
|
||||
m_mapEventName.insert(TEventNameMap::value_type("item_informer", QUEST_ITEM_INFORMER_EVENT)); // 독일선물기능테스트
|
||||
m_mapEventName.insert(TEventNameMap::value_type("pick", QUEST_ITEM_PICK_EVENT)); // 떨어져있는 아이템을 습득함.
|
||||
m_mapEventName.insert(TEventNameMap::value_type("sig_use", QUEST_SIG_USE_EVENT)); // Special item group에 속한 아이템을 사용함.
|
||||
m_mapEventName.insert(TEventNameMap::value_type("item_informer", QUEST_ITEM_INFORMER_EVENT)); // 독일선물기능테스트
|
||||
|
||||
m_bNoSend = false;
|
||||
|
||||
@@ -255,9 +255,9 @@ namespace quest
|
||||
|
||||
if (!pPC->GetRunningQuestState()->chat_scripts.empty())
|
||||
{
|
||||
// 채팅 이벤트인 경우
|
||||
// 현재 퀘스트는 어느 퀘스트를 실행할 것인가를 고르는 퀘스트 이므로
|
||||
// 끝내고 선택된 퀘스트를 실행한다.
|
||||
// 채팅 이벤트인 경우
|
||||
// 현재 퀘스트는 어느 퀘스트를 실행할 것인가를 고르는 퀘스트 이므로
|
||||
// 끝내고 선택된 퀘스트를 실행한다.
|
||||
QuestState& old_qs = *pPC->GetRunningQuestState();
|
||||
CloseState(old_qs);
|
||||
|
||||
@@ -370,7 +370,7 @@ namespace quest
|
||||
pPC->CancelRunning();
|
||||
}
|
||||
|
||||
// 지우기 전에 로그아웃 한다.
|
||||
// 지우기 전에 로그아웃 한다.
|
||||
Logout(ch->GetPlayerID());
|
||||
|
||||
if (ch == m_pCurrentCharacter)
|
||||
@@ -382,7 +382,7 @@ namespace quest
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Quest Event 관련
|
||||
// Quest Event 관련
|
||||
//
|
||||
///////////////////////////////////////////////////////////////////////////////////////////
|
||||
void CQuestManager::Login(unsigned int pc, const char * c_pszQuest)
|
||||
@@ -429,9 +429,9 @@ namespace quest
|
||||
if (!CheckQuestLoaded(pPC))
|
||||
return;
|
||||
|
||||
/* [hyo] 몹 kill시 중복 카운팅 이슈 관련한 수정사항
|
||||
quest script에 when 171.kill begin ... 등의 코드로 인하여 스크립트가 처리되었더라도
|
||||
바로 return하지 않고 다른 검사도 수행하도록 변경함. (2011/07/21)
|
||||
/* [hyo] 몹 kill시 중복 카운팅 이슈 관련한 수정사항
|
||||
quest script에 when 171.kill begin ... 등의 코드로 인하여 스크립트가 처리되었더라도
|
||||
바로 return하지 않고 다른 검사도 수행하도록 변경함. (2011/07/21)
|
||||
*/
|
||||
// call script
|
||||
|
||||
@@ -585,7 +585,7 @@ namespace quest
|
||||
LPCHARACTER ch = CHARACTER_MANAGER::instance().FindByPID(pc);
|
||||
|
||||
if (ch)
|
||||
ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("퀘스트를 로드하는 중입니다. 잠시만 기다려 주십시오."));
|
||||
ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("퀘스트를 로드하는 중입니다. 잠시만 기다려 주십시오."));
|
||||
|
||||
return;
|
||||
}
|
||||
@@ -610,7 +610,7 @@ namespace quest
|
||||
LPCHARACTER ch = CHARACTER_MANAGER::instance().FindByPID(pc);
|
||||
if (ch)
|
||||
{
|
||||
ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("퀘스트를 로드하는 중입니다. 잠시만 기다려 주십시오."));
|
||||
ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("퀘스트를 로드하는 중입니다. 잠시만 기다려 주십시오."));
|
||||
}
|
||||
return;
|
||||
}
|
||||
@@ -635,7 +635,7 @@ namespace quest
|
||||
LPCHARACTER ch = CHARACTER_MANAGER::instance().FindByPID(pc);
|
||||
if (ch)
|
||||
{
|
||||
ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("퀘스트를 로드하는 중입니다. 잠시만 기다려 주십시오."));
|
||||
ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("퀘스트를 로드하는 중입니다. 잠시만 기다려 주십시오."));
|
||||
}
|
||||
return false;
|
||||
}
|
||||
@@ -663,7 +663,7 @@ namespace quest
|
||||
LPCHARACTER ch = CHARACTER_MANAGER::instance().FindByPID(pc);
|
||||
if (ch)
|
||||
{
|
||||
ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("퀘스트를 로드하는 중입니다. 잠시만 기다려 주십시오."));
|
||||
ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("퀘스트를 로드하는 중입니다. 잠시만 기다려 주십시오."));
|
||||
}
|
||||
return false;
|
||||
}
|
||||
@@ -694,7 +694,7 @@ namespace quest
|
||||
}
|
||||
}
|
||||
|
||||
// Speical Item Group에 정의된 Group Use
|
||||
// Speical Item Group에 정의된 Group Use
|
||||
bool CQuestManager::SIGUse(unsigned int pc, DWORD sig_vnum, LPITEM item, bool bReceiveAll)
|
||||
{
|
||||
if (test_server)
|
||||
@@ -707,7 +707,7 @@ namespace quest
|
||||
LPCHARACTER ch = CHARACTER_MANAGER::instance().FindByPID(pc);
|
||||
if (ch)
|
||||
{
|
||||
ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("퀘스트를 로드하는 중입니다. 잠시만 기다려 주십시오."));
|
||||
ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("퀘스트를 로드하는 중입니다. 잠시만 기다려 주십시오."));
|
||||
}
|
||||
return false;
|
||||
}
|
||||
@@ -761,7 +761,7 @@ namespace quest
|
||||
LPCHARACTER ch = CHARACTER_MANAGER::instance().FindByPID(pc);
|
||||
|
||||
if (ch)
|
||||
ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("퀘스트를 로드하는 중입니다. 잠시만 기다려 주십시오."));
|
||||
ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("퀘스트를 로드하는 중입니다. 잠시만 기다려 주십시오."));
|
||||
|
||||
return false;
|
||||
}
|
||||
@@ -842,7 +842,7 @@ namespace quest
|
||||
else
|
||||
sys_err("QUEST no such pc id : %d", pc);
|
||||
}
|
||||
//독일 선물 기능 테스트
|
||||
//독일 선물 기능 테스트
|
||||
void CQuestManager::ItemInformer(unsigned int pc,unsigned int vnum)
|
||||
{
|
||||
|
||||
@@ -852,7 +852,7 @@ namespace quest
|
||||
m_mapNPC[QUEST_NO_NPC].OnItemInformer(*pPC,vnum);
|
||||
}
|
||||
///////////////////////////////////////////////////////////////////////////////////////////
|
||||
// END OF 퀘스트 이벤트 처리
|
||||
// END OF 퀘스트 이벤트 처리
|
||||
///////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////
|
||||
@@ -1277,19 +1277,19 @@ namespace quest
|
||||
continue;
|
||||
if (value)
|
||||
{
|
||||
// 밤
|
||||
// 밤
|
||||
ch->ChatPacket(CHAT_TYPE_COMMAND, "DayMode dark");
|
||||
}
|
||||
else
|
||||
{
|
||||
// 낮
|
||||
// 낮
|
||||
ch->ChatPacket(CHAT_TYPE_COMMAND, "DayMode light");
|
||||
}
|
||||
}
|
||||
|
||||
if (value && !prev_value)
|
||||
{
|
||||
// 없으면 만들어준다
|
||||
// 없으면 만들어준다
|
||||
struct SNPCSellFireworkPosition
|
||||
{
|
||||
long lMapIndex;
|
||||
@@ -1325,7 +1325,7 @@ namespace quest
|
||||
}
|
||||
else if (!value && prev_value)
|
||||
{
|
||||
// 있으면 지워준다
|
||||
// 있으면 지워준다
|
||||
CharacterVectorInteractor i;
|
||||
|
||||
if (CHARACTER_MANAGER::instance().GetCharactersByRaceNum(xmas::MOB_XMAS_FIRWORK_SELLER_VNUM, i))
|
||||
@@ -1414,7 +1414,7 @@ namespace quest
|
||||
}
|
||||
else if (name == "new_xmas_event")
|
||||
{
|
||||
// 20126 new산타.
|
||||
// 20126 new산타.
|
||||
static DWORD new_santa = 20126;
|
||||
if (value != 0)
|
||||
{
|
||||
@@ -1553,12 +1553,12 @@ namespace quest
|
||||
|
||||
bool CQuestManager::ExecuteQuestScript(PC& pc, const string& quest_name, const int state, const char* code, const int code_size, vector<AArgScript*>* pChatScripts, bool bUseCache)
|
||||
{
|
||||
// 실행공간을 생성
|
||||
// 실행공간을 생성
|
||||
QuestState qs = CQuestManager::instance().OpenState(quest_name, state);
|
||||
if (pChatScripts)
|
||||
qs.chat_scripts.swap(*pChatScripts);
|
||||
|
||||
// 코드를 읽어들임
|
||||
// 코드를 읽어들임
|
||||
if (bUseCache)
|
||||
{
|
||||
lua_getglobal(qs.co, "__codecache");
|
||||
@@ -1597,10 +1597,10 @@ namespace quest
|
||||
else
|
||||
luaL_loadbuffer(qs.co, code, code_size, quest_name.c_str());
|
||||
|
||||
// 플레이어와 연결
|
||||
// 플레이어와 연결
|
||||
pc.SetQuest(quest_name, qs);
|
||||
|
||||
// 실행
|
||||
// 실행
|
||||
QuestState& rqs = *pc.GetRunningQuestState();
|
||||
if (!CQuestManager::instance().RunState(rqs))
|
||||
{
|
||||
@@ -1789,7 +1789,7 @@ namespace quest
|
||||
LPCHARACTER ch = CHARACTER_MANAGER::instance().FindByPID(pc);
|
||||
if (ch)
|
||||
{
|
||||
ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("퀘스트를 로드하는 중입니다. 잠시만 기다려 주십시오."));
|
||||
ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("퀘스트를 로드하는 중입니다. 잠시만 기다려 주십시오."));
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user