Jump to content

meneleos

Bronze
  • Posts

    48
  • Joined

  • Last visited

  • Days Won

    1
  • Feedback

    0%

Everything posted by meneleos

  1. A necessary function for some systems that were added later.
  2. There is a problem with clearimages function. void CAniImageBox::ClearImages() { while (!m_ImageFileNames.empty()) m_ImageFileNames.pop(); for_each(m_ImageVector.begin(), m_ImageVector.end(), CGraphicExpandedImageInstance::DeleteExpandedImageInstance); m_ImageVector.clear(); } fixed.
  3. in game.py find this: netFieldMusicFileName = m2netm2g.GetFieldMusicFileName() if netFieldMusicFileName: snd.FadeInMusic("BGM/" + netFieldMusicFileName) elif musicInfo.fieldMusic != "": snd.FadeInMusic("BGM/" + musicInfo.fieldMusic) change: if (musicInfo.fieldMusic != "xmas.mp3"): netFieldMusicFileName = m2netm2g.GetFieldMusicFileName() if netFieldMusicFileName: snd.FadeInMusic("BGM/" + netFieldMusicFileName) elif musicInfo.fieldMusic != "": snd.FadeInMusic("BGM/" + musicInfo.fieldMusic) finally; [Hidden Content]
  4. [Hidden Content] Instancebase.cpp/ ChangeArmor: add these two lines: [Hidden Content]
  5. Download Metin2 Download I cleaned official patcher source code, upgrade libraries and made it compilable with vs2013. You can upgrade to a higher version(15-17-19) if you wish. [Hidden Content]
  6. sorry find this line p.size = sizeof(p) + sizeof(DWORD) + GUILD_NAME_MAX_LEN + 1; and change p.size = sizeof(p) + sizeof(DWORD) + GUILD_NAME_MAX_LEN + 1 + CHARACTER_NAME_MAX_LEN + 1; client change case GUILD_SUBHEADER_GC_GUILD_INVITE case GUILD_SUBHEADER_GC_GUILD_INVITE: { DWORD dwGuildID; if (!Recv(sizeof(dwGuildID), &dwGuildID)) return false; char szGuildName[GUILD_NAME_MAX_LEN+1]; if (!Recv(sizeof(szGuildName), &szGuildName)) return false; char szInviterName[CHARACTER_NAME_MAX_LEN+1]; if (!Recv(sizeof(szInviterName), &szInviterName)) return false; szGuildName[GUILD_NAME_MAX_LEN] = 0; szInviterName[CHARACTER_NAME_MAX_LEN] = 0; PyCallClassMemberFunc(m_apoPhaseWnd[PHASE_WINDOW_GAME], "RecvGuildInviteQuestion", Py_BuildValue("(iss)", dwGuildID, szGuildName, szInviterName)); Tracef(" <Guild Invite> %d, %s, %s\n", dwGuildID, szGuildName, szInviterName); break; }
  7. Server/Game/guild.cpp DWORD gid = GetID(); TPacketGCGuild p; p.header = HEADER_GC_GUILD; p.size = sizeof(p) + sizeof(DWORD) + GUILD_NAME_MAX_LEN + 1 + CHARACTER_NAME_MAX_LEN + 1; p.subheader = GUILD_SUBHEADER_GC_GUILD_INVITE; TEMP_BUFFER buf; buf.write( &p, sizeof(p) ); buf.write( &gid, sizeof(DWORD) ); buf.write( GetName(), GUILD_NAME_MAX_LEN + 1 ); buf.write( pchInviter->GetName(), CHARACTER_NAME_MAX_LEN + 1 ); // send inviter name pchInvitee->GetDesc()->Packet( buf.read_peek(), buf.size() ); Client/UserInterface/PythonNetworkStreamPhaseGame.cpp case GUILD_SUBHEADER_GC_GUILD_INVITE: { DWORD dwGuildID; if (!Recv(sizeof(dwGuildID), &dwGuildID)) return false; char szGuildName[GUILD_NAME_MAX_LEN+1]; if (!Recv(sizeof(szGuildName), &szGuildName)) return false; char szInviterName[CHARACTER_NAME_MAX_LEN+1]; if (!Recv(sizeof(szInviterName), &szInviterName)) return false; szGuildName[GUILD_NAME_MAX_LEN] = 0; szInviterName[CHARACTER_NAME_MAX_LEN] = 0; PyCallClassMemberFunc(m_apoPhaseWnd[PHASE_WINDOW_GAME], "RecvGuildInviteQuestion", Py_BuildValue("(iss)", dwGuildID, szGuildName, szInviterName)); Tracef(" <Guild Invite> %d, %s, %s\n", dwGuildID, szGuildName, szInviterName); break; } root/game.py ## Guild def RecvGuildInviteQuestion(self, guildID, guildName, inviterName): guildInviteQuestionDialog = uicommon.QuestionDialog() guildInviteQuestionDialog.SetText(localeInfo.GUILD_DO_YOU_JOIN_NEW % (inviterName, guildName)) guildInviteQuestionDialog.SetAcceptEvent(lambda arg=True: self.AnswerGuildInvite(arg)) guildInviteQuestionDialog.SetCancelEvent(lambda arg=False: self.AnswerGuildInvite(arg)) guildInviteQuestionDialog.Open() guildInviteQuestionDialog.guildID = guildID self.guildInviteQuestionDialog = guildInviteQuestionDialog locale_game.txt GUILD_DO_YOU_JOIN_NEW %s has invited you to %s. Do you want to join?
  8. prt->material_count = 0; for (int i = 0; i < REFINE_MATERIAL_MAX_NUM; i++) { str_to_number(prt->materials[i].vnum, data[col++]); str_to_number(prt->materials[i].count, data[col++]); if (prt->materials[i].vnum != 0) prt->material_count++; }
  9. arg1 & arg2 not int. try: ch->ChatPacket(CHAT_TYPE_INFO, "1. %s 2.%s", arg1, arg2 ); or : ch->ChatPacket(CHAT_TYPE_INFO, "1. %s 2.%s", atoi(arg1), atoi(arg2) );
  10. hi. i searching official functions; wndMgr.LeftRightReverseImageBox, wndMgr.LeftRightReverse is there that can help?
  11. thank you. I tried again 4194x101 and no crashed. Problem is just NPC mobs. I have no idea about the cause ?
  12. i try 101 x 780 and crash. i looking for the cause of this error
  13. The error was not in command, the command was to show only 600 pieces monster. You called 900 monsters, try calling 1300 monsters. try 65 * / m 30000 20 = 900 The problem is caused by the viewinsert or EncodeInsertPacket functions. my command: ACMD(do_shop_dc_test) { int iCount = 300; while (iCount--) { CHARACTER_MANAGER::instance().SpawnMobRange(30000, ch->GetMapIndex(), ch->GetX() - number(200, 750), ch->GetY() - number(200, 750), ch->GetX() + number(200, 750), ch->GetY() + number(200, 750), true, false); } }
  14. Greetings, If the number of monsters, NPCs or characters is over 600-700 when I enter the game, the game throws me back into the login screen. This problem is also available in mainline / novaline source files in kraizy.tgz. Unregistered mainline source throws in the login screen when there are 1200-1300 characters / monsters. I'm looking for help in resolving the problem. People who say that I can fix the problem in a paid way can post the price together with the evidence video. Video of the problem I'm experiencing
  15. Hi, one of my game's core crashed. This is core debug bt and bt full. Do you have any idea what is the problem? I can pay. bt: bt full: entity.cpp: char.cpp:3811
×
×
  • 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.