Jump to content

Johnny69

Inactive Member
  • Posts

    83
  • Joined

  • Last visited

  • Days Won

    5
  • Feedback

    0%

Everything posted by Johnny69

  1. Some people write code just for money, others write code from passion. If you know to make the difference you will never be fooled again.
  2. Hi, M2dev. I search someone who can make a trailer, a good trailer(video) for a new private server. Requirements: Trailer need to look good. Payment : Paypal. Contact : Send me message on private. Thanks in advance.
  3. Just change PichFont from DEFAULT_PITCH to VARIABLE_PITCH: DEFAULT_PITCH: The default pitch, which is implementation-dependent. FIXED_PITCH: A fixed pitch, which means that all the characters in the font occupy the same width when output in a string. VARIABLE_PITCH: A variable pitch, which means that the characters in the font occupy widths that are proportional to the actual widths of the glyphs when output in a string. For example, the "i" and space characters usually have much smaller widths than a "W" or "O" character. [Hidden Content]
  4. Let me understand. I'm stupid because I tried to help you and you are not because didn't know to include a file ?
  5. Thanks @xP3NG3Rx. I did not make those changes because in official server GACHA box is not stackable.
  6. I found this in my recycle bin (code is shit and is from a public source). [Hidden Content]
  7. M2 Download Center Download Here ( Internal ) New class used in official servers for minigameokey (move cards). Code can be improved, who have a better code please make a new topic. No one is forced to use my code. [Hidden Content] Screen (Shang) :
  8. //Replace: p.bHPPercent = MINMAX(0, (GetHP() * 100) / GetMaxHP(), 100); //With: p.bHPPercent = GetMaxHP() <= 0 ? 0 : MINMAX(0, (GetHP() * 100) / GetMaxHP(), 100);
  9. Anyone who has problems make a topic here and give me link in PM or just send me PM with problem and I help you. Don't make spam with problems here.
  10. Sorry , I hurried and forgot. I have other types between BELT and this type and I don't use define in ProtoReader.cpp / ItemCSVReader.cpp. I edited.
  11. This item type is the new type from official servers used for battle boxes and recently for boss chest and fish event boxes. You can open boxes few times (set in item_proto). 1. You can use macro ENABLE_BATTLE_FIELD because was added with battle zone. 2. Number of openings is in item_proto -> LimitValue1 (Like official) Let's start: Server Source Part: #db\src\ProtoReader.cpp (same steps in ItemCSVReader.cpp) //Search: "ITEM_BELT", //Add after: "ITEM_GACHA" //Search: in array string* arSubType 0, //34 //Add after: 0, //37 //Search: in array int arNumberOfSubtype 0, //34 //Add after: 0, //37 #common\item_length.h //Search: ITEM_BELT, //Add after: ITEM_GACHA, #game\src\item_manager.cpp //Search: if (id == 0) //Add before: (be careful , before) if(item->GetType() == ITEM_GACHA) item->SetSocket(0, item->GetLimitValue(1)); #game\src\char_item.cpp //Search: (CHARACTER::UseItemEx) case ITEM_EXTRACT: ... break; //Add after: case ITEM_GACHA: { DWORD dwBoxVnum = item->GetVnum(); std::vector <DWORD> dwVnums; std::vector <DWORD> dwCounts; std::vector <LPITEM> item_gets(0); int count = 0; if (GiveItemFromSpecialItemGroup(dwBoxVnum, dwVnums, dwCounts, item_gets, count)) { if(item->GetSocket(0) > 1) item->SetSocket(0, item->GetSocket(0) - 1); else ITEM_MANAGER::instance().RemoveItem(item, "REMOVE (ITEM_GACHA)"); } } break; Client Source Part: #GameLib\ItemData.h //Search: ITEM_TYPE_BELT, //Add after: ITEM_TYPE_GACHA, #UserInterface\PythonItemModule.cpp //Search: PyModule_AddIntConstant(poModule, "ITEM_TYPE_BELT", CItemData::ITEM_TYPE_BELT); //Add after: PyModule_AddIntConstant(poModule, "ITEM_TYPE_GACHA", CItemData::ITEM_TYPE_GACHA); Client root part: #root\uitooltip.py #Search: elif item.ITEM_TYPE_FISH == itemType: if 0 != metinSlot: self.__AppendFishInfo(metinSlot[0]) #Add after: ### Gacha = Battle Shop Chest ### elif item.ITEM_TYPE_GACHA == itemType: if 0 != metinSlot: if self.isShopItem: restUsableCount = int(item.GetLimit(1)[1]) else: restUsableCount = int(metinSlot[0]) self.AppendSpace(5) self.AppendTextLine(localeInfo.TOOLTIP_REST_USABLE_COUNT % (restUsableCount), grp.GenerateColor(0.5, 1.0, 0.3, 1.0)) Client locale part: #locale_game.txt #Add: TOOLTIP_REST_USABLE_COUNT Left: %d Server Item_proto example: 25111 fish 보상상자 ITEM_GACHA 0 1 NONE NONE NONE NONE 0 0 0 0 0 LIMIT_NONE 0 LIMIT_NONE 1 APPLY_NONE 0 APPLY_NONE 0 APPLY_NONE 0 0 0 0 0 0 0 0 0 0 12 25112 fish 보상상자 ITEM_GACHA 0 1 NONE NONE NONE NONE 0 0 0 0 0 LIMIT_NONE 0 LIMIT_NONE 2 APPLY_NONE 0 APPLY_NONE 0 APPLY_NONE 0 0 0 0 0 0 0 0 0 0 12 25113 fish 보상상자 ITEM_GACHA 0 1 NONE NONE NONE NONE 0 0 0 0 0 LIMIT_NONE 0 LIMIT_NONE 3 APPLY_NONE 0 APPLY_NONE 0 APPLY_NONE 0 0 0 0 0 0 0 0 0 0 12
  12. I think you are using marty source.(there i saw this problem) So let's explain: Active slot effect is set when skill affect is set. PythonPlayerSkill.cpp -> SetAffect In SetAffect function is called AffectIndexToSkillIndex to get skill index by affect type. (passing by reference) AffectIndexToSkillIndex search values in a vector and skill 174 (red possession) is not in that vector. Fix: Go in PythonPlayer.cpp , search: m_kMap_dwAffectIndexToSkillIndex.insert(make_pair(int(CInstanceBase::AFFECT_HEUKSIN), 79)); Add after: #ifdef ENABLE_WOLFMAN_CHARACTER m_kMap_dwAffectIndexToSkillIndex.insert(make_pair(int(CInstanceBase::AFFECT_RED_POSSESSION), 174)); #endif
  13. That "bug" is because the quest window is not destroyed properly. In interfaceModule.py search: eachQuestWindow.CloseSelf() Replace with: eachQuestWindow.OnPressEscapeKey() How to test that "bug". Press logout button and in those 3 seconds open a quest, when you login again you can't click in quest area but quest is not there.
  14. You change windows configuration from 32bits to 64bits and that dll not work on 64bits. Here you have a version which work on 64 bits: [Hidden Content]
  15. A few tips from me: (after i saw your code) 1. Before you start coding a "system" try to find out how this system work. 2. Try to use english in variable name. 3. Learn how to use a loop (for, while, do while) PS: No hate, just try to take these tips into account.
  16. #include inside if ? Wtf man ... #include need to be before function start.
  17. import socket s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.connect((ip, port)) for i in xrange(1000): s.send("\x40ACCOUNT_REGISTER,test%d,password,[email protected],1234567\n", i) print s.recv(1024) s.close() What happen if i make that ?
  18. @Ken You can connect to those servers only with ip from Brazil. They have an intern VPN blocker (in binary source). If you know reverse you can check this. @xP3NG3Rx Xigncode check your file history from last 48h and e.g you use an unpacker for another client he see that and kill your process. Xigncode and Xtrap = same shit. Scan for file history from last 48h is not even the haviest scan , he scan log all files and paths that you modified in the last 48 hours and all executables with prefetch files into their logs.
  19. After patcher is done replace /xigncode/x3.xem with this , and delete Xtrap folder. After replace you can press start button.
  20. Source with this system : [Hidden Content]
×
×
  • 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.