Jump to content

CM Punk

Inactive Member
  • Posts

    35
  • Joined

  • Last visited

  • Feedback

    0%

Everything posted by CM Punk

  1. my error Cube_request_result_list: [CubeInfo] Too long cube result list text. (NPC: 20076, length: 7) cube.txt section npc 20076 item 27992 3 reward 27994 1 gold 200000 percent 100 end image
  2. my input_main.cpp and your fix [Hidden Content]
  3. I have does not work if (g_bEmpireWhisper) if (!ch->IsEquipUniqueGroup(UNIQUE_GROUP_RING_OF_LANGUAGE)) if (!(pkChr && pkChr->IsEquipUniqueGroup(UNIQUE_GROUP_RING_OF_LANGUAGE))) if (bOpponentEmpire != ch->GetEmpire() && ch->GetEmpire() && bOpponentEmpire // Ľ­·Î Á¦±ąŔĚ ´Ů¸Ł¸éĽ­ && ch->GetGMLevel() == GM_PLAYER && gm_get_level(pinfo->szNameTo) == GM_PLAYER) // µŃ´Ů ŔĎąÝ ÇĂ·ąŔĚľîŔ̸é // Ŕ̸§ ąŰżˇ ¸đ¸Ł´Ď gm_get_level ÇÔĽö¸¦ »çżë { if (!pkChr) { // ´Ů¸Ą Ľ­ąöżˇ ŔÖŔ¸´Ď Á¦±ą ÇĄ˝Ă¸¸ ÇŃ´Ů. bTypeŔÇ »óŔ§ 4şńĆ®¸¦ EmpireąřČŁ·Î »çżëÇŃ´Ů. bType = ch->GetEmpire() << 4; } else { //ConvertEmpireText(ch->GetEmpire(), buf, buflen, 10 + 2 * pkChr->GetSkillPower(SKILL_LANGUAGE1 + ch->GetEmpire() - 1)/*şŻČŻČ®·ü*/); } }
  4. int CInputMain::Chat(LPCHARACTER ch, const char * data, size_t uiBytes) { const TPacketCGChat* pinfo = reinterpret_cast<const TPacketCGChat*>(data); if (uiBytes < pinfo->size) return -1; const int iExtraLen = pinfo->size - sizeof(TPacketCGChat); if (iExtraLen < 0) { sys_err("invalid packet length (len %d size %u buffer %u)", iExtraLen, pinfo->size, uiBytes); ch->GetDesc()->SetPhase(PHASE_CLOSE); return -1; } char buf[CHAT_MAX_LEN - (CHARACTER_NAME_MAX_LEN + 3) + 1]; strlcpy(buf, data + sizeof(TPacketCGChat), MIN(iExtraLen + 1, sizeof(buf))); const size_t buflen = strlen(buf); if (buflen > 1 && *buf == '/') { interpret_command(ch, buf + 1, buflen - 1); return iExtraLen; } if (ch->IncreaseChatCounter() >= 10) { if (ch->GetChatCounter() == 10) { sys_log(0, "CHAT_HACK: %s", ch->GetName()); ch->GetDesc()->DelayedDisconnect(5); } return iExtraLen; } // äĆĂ ±ÝÁö Affect Ăł¸® const CAffect* pAffect = ch->FindAffect(AFFECT_BLOCK_CHAT); if (pAffect != NULL) { SendBlockChatInfo(ch, pAffect->lDuration); return iExtraLen; } if (true == SpamBlockCheck(ch, buf, buflen)) { return iExtraLen; } char chatbuf[CHAT_MAX_LEN + 1]; int len = snprintf(chatbuf, sizeof(chatbuf), "%s : %s", ch->GetName(), buf); if (CHAT_TYPE_SHOUT == pinfo->type) { LogManager::instance().ShoutLog(g_bChannel, ch->GetEmpire(), chatbuf); } if (LC_IsCanada() == false) { CBanwordManager::instance().ConvertString(buf, buflen); } if (len < 0 || len >= (int) sizeof(chatbuf)) len = sizeof(chatbuf) - 1; int processReturn = ProcessTextTag(ch, chatbuf, len); if (0!=processReturn) { const TItemTable* pTable = ITEM_MANAGER::instance().GetTable(ITEM_PRISM); if (NULL != pTable) { if (3==processReturn) //±łČŻÁß ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("´Ů¸Ą °Ĺ·ˇÁß(â°í,±łČŻ,»óÁˇ)żˇ´Â °łŔλóÁˇŔ» »çżëÇŇ Ľö ľř˝Ŕ´Ď´Ů."), pTable->szLocaleName); else ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("%sŔĚ ÇĘżäÇŐ´Ď´Ů."), pTable->szLocaleName); } return iExtraLen; } if (pinfo->type == CHAT_TYPE_SHOUT) { const int SHOUT_LIMIT_LEVEL = 15; if (ch->GetLevel() < SHOUT_LIMIT_LEVEL) { ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("żÜġ±â´Â ·ąş§ %d ŔĚ»ó¸¸ »çżë °ˇ´É ÇŐ´Ď´Ů."), SHOUT_LIMIT_LEVEL); return (iExtraLen); } if (thecore_heart->pulse - (int) ch->GetLastShoutPulse() < passes_per_sec * 15) return (iExtraLen); ch->SetLastShoutPulse(thecore_heart->pulse); const char* kingdoms[3] = {"|cFFff0000|H|h[Shinsoo]|cFFA7FFD4|H|h","|cFFFFFF00|H|h[Chunjo]|cFFA7FFD4|H|h","|cFF0080FF|H|h[Jinno]|cFFA7FFD4|H|h"}; char chatbuf_global[CHAT_MAX_LEN + 1]; int len_global = snprintf(chatbuf_global, sizeof(chatbuf_global), "%s %s",kingdoms[ch->GetEmpire()-1], chatbuf); TPacketGGShout p; p.bHeader = HEADER_GG_SHOUT; p.bEmpire = ch->GetEmpire(); strlcpy(p.szText, chatbuf_global, sizeof(p.szText)); P2P_MANAGER::instance().Send(&p, sizeof(TPacketGGShout)); SendShout(chatbuf_global, ch->GetEmpire()); return (iExtraLen); } TPacketGCChat pack_chat; pack_chat.header = HEADER_GC_CHAT; pack_chat.size = sizeof(TPacketGCChat) + len; pack_chat.type = pinfo->type; pack_chat.id = ch->GetVID(); switch (pinfo->type) { case CHAT_TYPE_TALKING: { const DESC_MANAGER::DESC_SET & c_ref_set = DESC_MANAGER::instance().GetClientSet(); if (false) { std::for_each(c_ref_set.begin(), c_ref_set.end(), FYmirChatPacket(pack_chat, buf, strlen(buf), ch->GetName(), strlen(ch->GetName()), ch->GetMapIndex(), ch->GetEmpire(), ch->IsEquipUniqueGroup(UNIQUE_GROUP_RING_OF_LANGUAGE))); } else { std::for_each(c_ref_set.begin(), c_ref_set.end(), FEmpireChatPacket(pack_chat, chatbuf, len, (ch->GetGMLevel() > GM_PLAYER || ch->IsEquipUniqueGroup(UNIQUE_GROUP_RING_OF_LANGUAGE)) ? 0 : ch->GetEmpire(), ch->GetMapIndex(), strlen(ch->GetName()))); } } break; case CHAT_TYPE_PARTY: { if (!ch->GetParty()) ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("ĆÄĆĽ ÁßŔĚ ľĆ´Ő´Ď´Ů.")); else { TEMP_BUFFER tbuf; tbuf.write(&pack_chat, sizeof(pack_chat)); tbuf.write(chatbuf, len); RawPacketToCharacterFunc f(tbuf.read_peek(), tbuf.size()); ch->GetParty()->ForEachOnlineMember(f); } } break; case CHAT_TYPE_GUILD: { if (!ch->GetGuild()) ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("±ćµĺżˇ °ˇŔÔÇĎÁö ľĘľŇ˝Ŕ´Ď´Ů.")); else ch->GetGuild()->Chat(chatbuf); } break; default: sys_err("Unknown chat type %d", pinfo->type); break; } return (iExtraLen); }
  5. players from other empire they do not see writes on normal chat GM sees normal source mainline_sg -> as this repair language's M1 GLOBAL CHAT NORMAL CHAT
  6. Where in the client source and source db/game are applytypes? I want to add applytype3 to have a four bonus from mysql.
  7. when attain limit yang value change on 0. as this repair? e.g. 1999999999Yang + 12Yang = 0 Yang
×
×
  • Create New...

Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.