Jump to content

Germais

Inactive Member
  • Posts

    21
  • Joined

  • Last visited

  • Feedback

    0%

Everything posted by Germais

  1. Delete everything from the quest/object folder and rebuild all quests again.
  2. I am trying to block the score count of the guild war if a victim is killed with the same ip as the killer. I tried to add these lines to these two files but it still counts a kill if i kill my character. guild_manager.cpp void CGuildManager::Kill(LPCHARACTER killer, LPCHARACTER victim) { if (killer->GetDesc()->GetHostName() == victim->GetDesc()->GetHostName()) return; war_map.cpp void CWarMap::OnKill(LPCHARACTER killer, LPCHARACTER ch) { if (m_bEnded) return; if (killer->GetDesc()->GetHostName() == ch->GetDesc()->GetHostName()) return; What am i missing?
  3. So this hack is quite a problem and i was wondering how would i prevent it. Does changing the function names in the client source prevent this? I did try to change most of all Attack functions but still no success. What should i do to prevent this hack without having to create a remote thread to find injected dlls?
  4. sure, thats easy but... how would you change the senders name to [SERVER]? net.SendWhisperPacket(self.targetName, text) bool CPythonNetworkStream::SendWhisperPacket(const char * name, const char * c_szChat) { if (strlen(c_szChat) >= 255) return true; int iTextLen = strlen(c_szChat) + 1; TPacketCGWhisper WhisperPacket; WhisperPacket.bHeader = HEADER_CG_WHISPER; WhisperPacket.wSize = sizeof(WhisperPacket) + iTextLen; strncpy(WhisperPacket.szNameTo, name, sizeof(WhisperPacket.szNameTo) - 1); if (!Send(sizeof(WhisperPacket), &WhisperPacket)) return false; if (!Send(iTextLen, c_szChat)) return false; return SendSequence(); }
  5. So, i like to keep myself updated and i was wondering if it is possible to use visual studio 2017 to compile the Metin2 client. Can i use the same external folder for the libraries? What do i have to change in order to make it compilable in vs2017? Just to note, i have tried once to compile the source code in vs2017 but there were errors such as windows 8.1 sdk not found so i installed it to vs2017 but still there were erros and i gave up. Any experts on migrating from vs versions?
  6. Curious, how does one perform an SQL Injection with this function?
  7. Hello comunity, i noticed that some servers, mainly Rubinum, has a system created by Vegas which you recieve a PM from the Server. I really liked this ideia and i would really like to add this feature to my server, My question is if, is it possible to do it from the quest functions? If so, how? game.send_pm(name, buffer)? Hmm maybe modifying the CInputMain::Whisper from input_main.cpp but how would i trigger it from the quests? And the name "SERVER" maybe in packet.h? char szNameFrom[CHARACTER_NAME_MAX_LEN + 1];
  8. This problem that you are facing acually has to do with the speed of your machine. If you say that all the other cores do not show any errors then asuming that the database starts first from the start script, you should use a sleep delay after the core startup, for example, ./db & sleep 2.
  9. char_battle.cpp // °ÔÀÓ³» ±âº» Á¦°øµÇ´Â °æÇèÄ¡ º¸³Ê½º { // ³ëµ¿Àý ¸Þ´Þ if (to->IsEquipUniqueItem(UNIQUE_ITEM_LARBOR_MEDAL)) iExp += iExp * 20 /100; // »ç±ÍŸ¿ö °æÇèÄ¡ º¸³Ê½º if (to->GetMapIndex() >= 660000 && to->GetMapIndex() < 670000) iExp += iExp * 20 / 100; // 1.2¹è (20%) // ¾ÆÀÌÅÛ °æÇèÄ¡ µÎ¹è ¼Ó¼º if (to->GetPoint(POINT_EXP_DOUBLE_BONUS)) if (number(1, 100) <= to->GetPoint(POINT_EXP_DOUBLE_BONUS)) iExp += iExp * 30 / 100; // 1.3¹è (30%) // °æÇèÀÇ ¹ÝÁö (2½Ã°£Â¥¸®) if (to->IsEquipUniqueItem(UNIQUE_ITEM_DOUBLE_EXP)) iExp += iExp * 50 / 100; switch (to->GetMountVnum()) { case 20110: case 20111: case 20112: case 20113: if (to->IsEquipUniqueItem(71115) || to->IsEquipUniqueItem(71117) || to->IsEquipUniqueItem(71119) || to->IsEquipUniqueItem(71121) ) { iExp += iExp * 10 / 100; } break; case 20114: case 20120: case 20121: case 20122: case 20123: case 20124: case 20125: // ¹é»çÀÚ °æÇèÄ¡ º¸³Ê½º iExp += iExp * 30 / 100; break; } } item_manager.cpp iRandRange = 4000000; iRandRange = iRandRange * 100 / (100 + CPrivManager::instance().GetPriv(pkKiller, PRIV_ITEM_DROP) + pkKiller->IsEquipUniqueItem(UNIQUE_ITEM_DOUBLE_ITEM)?100:0); if (distribution_test_server) iRandRange /= 3;
  10. BUTP I also have this problem and tried to reinstall everything again very carefully but still the client crashes on introselect or introcreate. Client syserr is clean and game syserr doesn't show any error related to the problem. Does anyone have a clue where the problem may be comming from? #rip
  11. My question: "When i mount it shows the npc/mount but it dismounts the character right away. Any solutions?" #Edit1 So i have been looking around the code and found out that the costume mount was beeing called 2 times when used, "i guess", so i removed some lines in char_item.cpp Fix: char_item.cpp Search: if (COSTUME_MOUNT == item->GetSubType()) { quest::CQuestManager::instance().UseItem(GetPlayerID(), item, false); } Replace with: /* if (COSTUME_MOUNT == item->GetSubType()) { quest::CQuestManager::instance().UseItem(GetPlayerID(), item, false); } */ Make sure you have this line above: if (UNIQUE_SPECIAL_RIDE == item->GetSubType() && IS_SET(item->GetFlag(), ITEM_FLAG_QUEST_USE)) { quest::CQuestManager::instance().UseItem(GetPlayerID(), item, false); } I'm still testing it out so if there is any problem just reverse it all back. ~edit2 #EDIT2 Everything looks fine! #EDIT3 - Mount time fix for TXT DB rev40250 Fix: ride.quest Search item.get_socket(2)*60 Replace with: item.get_value(0)*60
  12. So official servers got an update which was a the steam_api dll. What's that all about? Metin2 on steam? Does anyone have any clue what the purpose of the dll is for the client? http://patchfast.metin2.de/m2_17.2.2_21369/crclist f55f225e 217376 30588285 44272640 steam_api.dll
  13. Is there a way to reopen the server after the command 'shutdown'? Does my account id need a value in some row? I was curious and added value '1' to 'is_testor' but there was no way to login...
  14. It's been quite a while for now that i can't figure out the cause of this problem, As you can see in the gif below, the added bonuses to the sash stay on top of the base bonuses which is a big problem for the certificate of reversal (sash bonus removal), plus it looks ugly. Now i've been looking around and it looks like it may be comming from the item_proto itself because when I use my older version of the proto it shows up correctly. I do think it's a problem with the dump_proto, maybe the structure is not right, so I went to check and i think everything looks fine for the sash, besides the only thing that need to be on the item read is COSTUME_ACCE and WEAR_COSTUME_ACCE. If anyone askes for it, here is my dump_proto.cpp([Hidden Content]), ItemCSVReader.cpp([Hidden Content]) and here is the structure of my item_proto([Hidden Content]). By the way, I also thought it could be a problem with the uitooltip.py from the client so I went to take a look at everything seems fine... Any guesses on the cause feel free to comment, thanks in advance.
  15. Maybe you forgot to change your settings in dragon_soul_refine_settings.py ? Here is mine, I also included my dragon_soul_table.txt because you will need it in order to make it work. By the way, my table is set to never fail on class refine and it also contains lycan bonus. You may want to check the table and set it with your settings. Here it is, possible_fix.zip
  16. I think this question is more related to FreeBSD but anyway, why do most people install the metin2 serverfiles in the path /usr/home? So I have already done this experience myself, I changed the path to /usr/metin2 and it worked just fine but I still wonder why do everyone or most people put the files at /usr/home? Sorry if this is a dumb question ;S
×
×
  • 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.