Jump to content
metin2dev

Ken

Developer
  • Content count

    805
  • Joined

  • Last visited

Ken last won the day on July 7

Ken had the most liked content!

Community Reputation

902 Unstoppable

About Ken

  • Rank
    RE
  • Birthday July 10

Profile Information

  • Gender
    Not Telling
  • Location
    /home

Recent Profile Visitors

34,783 profile views
  1. open Help fopen

    std::string GetFirstLineFromFile(std::string stFileName) { std::ifstream file(stFileName.c_str(), std::ios::in); if (!file.is_open()) return "Can not open the file"; std::string stLine = ""; if (!getline(file, stLine)) return "Can not get the first line!"; return stLine; } It will get the first line of the file. You can use this anywhere you want. (Don't forget to include fstream and string libraries) Best Regards Ken
  2. Hi, everyone. Most people know when you are trying to connect the server with a lot of people, the server can not respond to you or something might go wrong. This example is same for warp too. Webzen did something about this too and I'd like to share it with you. What are exactly are we doing? If the client can not connect to the server, the client will wait one second to connect the server again. Open NetStream.cpp. Find Connect function and replace with this bool CNetworkStream::Connect(const CNetworkAddress& c_rkNetAddr, int limitSec) { Clear(); m_addr = c_rkNetAddr; m_sock = socket(AF_INET, SOCK_STREAM, 0); if (m_sock == INVALID_SOCKET) { Clear(); OnConnectFailure(); return false; } DWORD arg = 1; ioctlsocket(m_sock, FIONBIO, &arg); // Non-blocking mode if (connect(m_sock, reinterpret_cast<PSOCKADDR>(&m_addr), m_addr.GetSize()) == SOCKET_ERROR) { int error = WSAGetLastError(); // If something went wrong, the client will wait one second to connect the server again. // Of course, it will clear and setting up everything again. if (error != WSAEWOULDBLOCK) { Sleep(1000); Clear(); m_sock = socket(AF_INET, SOCK_STREAM, 0); if (m_sock == INVALID_SOCKET) { Clear(); OnConnectFailure(); return false; } ioctlsocket(m_sock, FIONBIO, &arg); if (connect(m_sock, reinterpret_cast<PSOCKADDR>(&m_addr), m_addr.GetSize()) == SOCKET_ERROR) { Tracen("error != WSAEWOULDBLOCK"); Clear(); OnConnectFailure(); return false; } } } m_connectLimitTime = time(NULL) + limitSec; return true; } Best Regards Ken
  3. Ken sorry to disturb you,
    your message store is full right now,
    can you tell me your skype id please,
    i wont take to much of your time,
    And i dont have any stupid [help request] or time losing questions.

    i will take just few seconds of your time,
    and i can also pay.

    1. Ken

      Ken

      You can leave your skype address here if you want.

    2. bibibi2

      bibibi2

      MaxVenture@Italy

      thanks so much

  4. hey Ken, send me a private message with your skype adress please:o

    1. Ken

      Ken

      Sure but why do you want? 

    2. NycuRO

      NycuRO

      I have a problem and I was thinking if you could help me...

       

      0702 18:15:03607 :: CPythonSkill::RegisterSkillDesc(dwSkillIndex=137) - Strange Skill Need Weapon(CLAW) 0702 18:15:03608 :: CPythonSkill::RegisterSkillDesc(dwSkillIndex=139) - Strange Skill Need Weapon(CLAW) 0702 18:15:07572 :: Traceback (most recent call last): 0702 18:15:07572 :: File "introSelect.py", line 551, in OnUpdate 0702 18:15:07572 :: AttributeError 0702 18:15:07572 :: : 0702 18:15:07572 :: 'module' object has no attribute 'LastAccount' 0702 18:15:07573 :: 0702 18:15:09272 :: introLoading.py(line:76) Open ui.py(line:6128) GetChild LodingWindow.Open - LoadScriptFile Error - <type 'exceptions.KeyError'>:'ErrorMessage' 0702 18:15:09272 :: ============================================================================================================ 0702 18:15:09272 :: Abort!!!!

    3. Ken

      Ken

      You are trying to call a non-exist variable in LoadingWindow.py. You can add that non-exist variable in LoadingWindow.py or can delete it.

  5. open [Request]Locking items on map

    The quest must know what's there in the item shop. You can create an array for this in questlib.lua or the quest. You can use a query to fetch what's there in the item shop. (I do not recommend this method because it might be a lag in the game.) You must cache it even If you want. Then you can check it with pc.get_wear() You can create an array for this in the quest or questlib.lua (I gave an example) The last thing is to combine all of them quest xxx begin state start begin when login with pc.get_map_index() == xx begin -- You can use a query to fetch the item vnums from the table. (I still do not recommend this method if you are not using cache method) local blockedItems = { 11209, 11409, 11609, 11809 } -- Wear positions, is exist in common/length.h if you want to check it out. local wearPositions = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 19, 20, 21, 22 } -- Make a loop and check every wear position and check is equal to the blocked items in array or not. for i = 1, table.getn(blockedItems), 1 do for j = 1, table.getn(wearPositions), 1 do if (pc.get_wear(wearPositions[j]) == blockedItems[i]) then chat("You can't..") return end end end end end end Best Regards Ken
  6. [C++] [PARTY & DUNGEON] FIX CORE

    You're playing a multiplayer game. The member might lose his connection sometimes because of the internet provider or unknown packets. You can't pay this to the party members. If you do, most people are going to insult you in the game. Anyway, thanks for sharing with us. Best Regards Ken
  7. Hey, @Horinna thanks for feeding back. About the last bug, the system is not doing the same things for the companion. To fix this; Find this line in messenger_manager.cpp m_Relation[account].erase(companion); m_InverseRelation[companion].erase(account); And add this code blog m_Relation[companion].erase(account); m_InverseRelation[account].erase(companion); Best Regards Ken
  8. A small fix about a query of messenger system. When you remove any person on your list, the companion will continue to see your name on his list (when the companion relog in the game again). This query will remove both of them's contact in the database. Best Regards Ken
  9. I've updated the codes again. Good luck
  10. Hi, I'd like to share a small fix about the messenger system. what exactly are we fixing? The main problem is when you remove any person from your list, the companion's messenger list is not refreshing until relog in. Webzen has fixed this situation with a small packet. That packet will provide to remove the name from the list. There is no part of Python because it's already done by Ymir. For serverside For client side Best Regards Ken
  11. hey Ken, send me a private message with your skype adress :o

    1. Ken

      Ken

      Sure, I'll send

  12. open Access to the brazilian servers?

    @Johnny69 I have looked at the binary file. The only way that you must need to have a Brazil IP Address. I have thought they're blocking it with block country feature of metin2 but when I look at a bit deeper, I saw it wasn't. They're blocking the whole IP addresses on their firewall. About Xigncode - Most people are saying that it's just joke. Also, I'm thinking about why Xigncode is forcing binary to close itself. (Could be incompatible because when I watch the process on Process Hacker 2, the operating system is only running WerFault.exe) When logininfo.py (I'm not talking about loginInfo.xml) is running, it's reading locale.cfg to change something inside. (Including IP Addresses)
  13. open Access to the brazilian servers?

    I tried to ping the ip addresses but it looks like it's dead. (Including many countries). I think, there is no way to login the server without brazil ip address. Did you try to login the server with a brazil ip address?
  14. open Access to the brazilian servers?

    After @Johnny69's file, the client is working fine. The only problem is why the server is not respond to client about '..' Did you figure out or still same?
  15. open Access to the brazilian servers?

    I have the same problem at the moment. Xigncode is forcing binary to close for one reason. I have thought that they have blocked the ip addresses. However, it looks like xigncode is blocking us If I find any way, I'll let you know about it. PS1: It looks like Xigncode is incompatible with Windows 10. (That's the reason why you can't open it - I guess) The operating system is trying to stop it (Werfault.exe) when you try to open metin2client.bin. I will test the server on the other operating system.
×