Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void PC::SendQuestInfoPakcet()
- {
- assert(m_iSendToClient);
- assert(m_RunningQuestState);
- packet_quest_info qi;
- qi.header = HEADER_GC_QUEST_INFO;
- qi.size = sizeof(struct packet_quest_info);
- qi.index = m_RunningQuestState->iIndex;
- qi.flag = m_iSendToClient;
- #ifdef ENABLE_QUEST_CATEGORY
- qi.c_index = CQuestManager::instance().ReadQuestCategoryFile(qi.index);
- #endif
- TEMP_BUFFER buf;
- if (m_iSendToClient & QUEST_SEND_ISBEGIN)
- {
- BYTE temp = m_RunningQuestState->bStart?1:0;
- buf.write(&temp,1);
- qi.size+=sizeof(temp);
- sys_log(1, "QUEST BeginFlag %d", (int)temp);
- }
- if (m_iSendToClient & QUEST_SEND_TITLE)
- {
- constexpr auto TitleSize = 30+1;
- m_RunningQuestState->_title.reserve(TitleSize);
- buf.write(m_RunningQuestState->_title.c_str(), TitleSize);
- qi.size+=TitleSize;
- sys_log(1, "QUEST Title %s", m_RunningQuestState->_title.c_str());
- }
- if (m_iSendToClient & QUEST_SEND_CLOCK_NAME)
- {
- constexpr auto ClockSize = 16+1;
- m_RunningQuestState->_clock_name.reserve(ClockSize);
- buf.write(m_RunningQuestState->_clock_name.c_str(), ClockSize);
- qi.size+=ClockSize;
- sys_log(1, "QUEST Clock Name %s", m_RunningQuestState->_clock_name.c_str());
- }
- if (m_iSendToClient & QUEST_SEND_CLOCK_VALUE)
- {
- buf.write(&m_RunningQuestState->_clock_value, sizeof(m_RunningQuestState->_clock_value));
- qi.size+=sizeof(m_RunningQuestState->_clock_value);
- sys_log(1, "QUEST Clock Value %d", m_RunningQuestState->_clock_value);
- }
- if (m_iSendToClient & QUEST_SEND_COUNTER_NAME)
- {
- constexpr auto CounterSize = 16+1;
- m_RunningQuestState->_counter_name.reserve(CounterSize);
- buf.write(m_RunningQuestState->_counter_name.c_str(), CounterSize);
- qi.size+=CounterSize;
- sys_log(1, "QUEST Counter Name %s", m_RunningQuestState->_counter_name.c_str());
- }
- if (m_iSendToClient & QUEST_SEND_COUNTER_VALUE)
- {
- buf.write(&m_RunningQuestState->_counter_value, sizeof(m_RunningQuestState->_counter_value));
- qi.size+=sizeof(m_RunningQuestState->_counter_value);
- sys_log(1, "QUEST Counter Value %d", m_RunningQuestState->_counter_value);
- }
- if (m_iSendToClient & QUEST_SEND_ICON_FILE)
- {
- constexpr auto IconSize = 24+1;
- m_RunningQuestState->_icon_file.reserve(IconSize);
- buf.write(m_RunningQuestState->_icon_file.c_str(), IconSize);
- qi.size+=IconSize;
- sys_log(1, "QUEST Icon File %s", m_RunningQuestState->_icon_file.c_str());
- }
- CQuestManager::instance().GetCurrentCharacterPtr()->GetDesc()->BufferedPacket(&qi, sizeof(qi));
- CQuestManager::instance().GetCurrentCharacterPtr()->GetDesc()->Packet(buf.read_peek(), buf.size());
- m_iSendToClient = 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement