Jump to content


Honorable Member
  • Content Count

  • Joined

  • Last visited

  • Days Won

  • Yangs

    2,913 [ Donate ]
  • Country


xP3NG3Rx last won the day on August 5

xP3NG3Rx had the most liked content!

Community Reputation

2,460 Godlike

About xP3NG3Rx

  • Rank


  • Gender
  • Location


Recent Profile Visitors

16,595 profile views
  1. I wonder who will register known these codes were in your client
  2. Yo' folks! Here is a small gui extension from the official v20.4.0 binary, which is kinda trash, but can be useful for some guis to point out some stuffs. Webzen finally started to use their old codes, this is one of they have never used before. Preview: Animation is not binary sided, it's via python, the testScript.py is attached, the injection is on you, there are many examples how to test a script, there are also many loaders to it. Have fun, Download
  3. BR v20.4.0 whole client. Contents/news: root+meta, locale+protos, useless dumped binary for RE/debug Battle Royale assets. Challenge Minigame assets - Stone, Paper, Scissors game ps.: I just wanted to put the patches only, but the patcher rewrote the attributes of the new files(dates and so on) so I didn't know which files have been updated. edit:
  4. It depends how you want to do it, mixed with items you want to place for sale and some items for showcase only, or all the items are just for showcase. Both ways are possible, but you can wait until 2038 that somebody will code it for you especially for free . The principle of operation can be simple or complex, depends how you code it. Basically the best option is when you set an extra variable for every each item, that it is sellable or not, then block the buy function on those items where that flag has been set. Also you can mark those items on clientside, to let the players see those items are not for sale. For a last word, hire a dev if you can't code this for yourself.
  5. I would recommend to extend the function with a hint as well then when the problem is fixed revert the codes back to the original. By the way this SelectItem sometimes messes up some codes, as you can see in the official codes about the sashes, you need to select an another item(the drained) to query some informations about that, then to not mess up the rest of the codes what comes after the external function call, you need to select the original vnum back after you are done. This is just an example about the weakness of the SelectItem function, highly possible none of you are using this except me . Also might be the problem is not because of these kind of codes, I just wanted to let you know about this. And the hint I started to talk about: #define BULLSEYE PyObject * itemSelectItem(PyObject * poSelf, PyObject * poArgs) { DWORD dwItemIndex; if (!PyTuple_GetUnsignedLong(poArgs, 0, &dwItemIndex)) return Py_BadArgument(); #ifdef BULLSEYE char* szHint; if (2 == PyTuple_Size(poArgs)) { if (!PyTuple_GetString(poArgs, 1, &szHint)) return Py_BadArgument(); } #endif if (!CItemManager::Instance().SelectItemData(dwItemIndex)) { #ifdef BULLSEYE TraceError("Cannot find item by %lu hint: %s", dwItemIndex, szHint); #else TraceError("Cannot find item by %lu", dwItemIndex); #endif CItemManager::Instance().SelectItemData(60001); return Py_BuildValue("i", FALSE); } return Py_BuildValue("i", TRUE); } You might have some syntax errors, my function looks a bit different then the public ones, after I reversed this from the official and built my own pythoncore with fixxed errors about the unsigned long stuffs. But you can see in the macro the hint stuff. PS: Totally unnecesary the PythonChat, it will write to the syserr anyways. After this you just start replacing all of your calls in your python files like: def GetRefineSuccessPercentage(self, scrollSlotIndex, itemSlotIndex): if -1 != scrollSlotIndex: if player.IsRefineGradeScroll(scrollSlotIndex): curGrade = player.GetItemGrade(itemSlotIndex) itemIndex = player.GetItemIndex(itemSlotIndex) item.SelectItem(itemIndex) def GetRefineSuccessPercentage(self, scrollSlotIndex, itemSlotIndex): if -1 != scrollSlotIndex: if player.IsRefineGradeScroll(scrollSlotIndex): curGrade = player.GetItemGrade(itemSlotIndex) itemIndex = player.GetItemIndex(itemSlotIndex) item.SelectItem(itemIndex, "uiRefine.GetRefineSuccessPercentage") Or also you can discover it via this: # utils.py import inspect def getLineInfo(): stack = inspect.stack() return "%s.%s at line %d" % (stack[1][1], stack[1][3], stack[1][2]) This requires the inspect module which also requires the following modules: dis opcode string token tokenize So with this you just need to call the utils.getLineInfo() as the 2nd argument of the item.SelectItem function item.SelectItem(itemVnum, utils.getLineInfo()) and also the utils has to be imported to the file where you use the item modul for selecting an item during the debugging. DID NOT TESTED ON CYTHONIZED CODES, AND NEVER WILL, cython is not for debugging anyways
  6. GF v20.3.4 patch. Contents: root+dump, locales+protos, useless dumped binary for debug/RE only Reworked FindM event implemented Other unknown modifications
  7. On a well managed server this cannot happen. Players are not able to get polymorph item with empty sockets. Anyways, better to make sure about it, thanks for your comment.
  8. I wish I could understand your problem, really.
  9. Anyone who made this, he/she has to stop, and find another hobby.
  10. Can we see the quest-file which cause the problem?

    In the video there is a pseudo code for the invisible time of attack, might be probably for the shaman attackspeed bug, I had that code since years now, I even forgot about it, probably this why I haven't faced this shaman bug before :D

    		if (m_isMain) // #0000794: [M2KR] Ćú¸®¸đÇÁ - ąë·±˝Ě ą®Á¦ ŸŔÎ °ř°Ýżˇ ŔÇÇŃ ą«Ŕű ŸŔÓŔş °í·ÁÇĎÁö ľĘ°í ŔڽŠ°ř°Ýżˇ ŔÇÇѰ͸¸ ĂĽĹ©ÇŃ´Ů
    			rVictim.m_fInvisibleTime = CTimer::Instance().GetCurrentSecond() + fMAX(c_rAttackData.fInvisibleTime, c_rAttackData.fInvisibleTime / __GetAttackSpeed());


    Literally they have been going through some serious changes, with these kind of modifications, regarding to the late implemented scaling and stuff.

  12. fucking hitbox in progress...


  13. GF v20.3.3 patch. Contents: Some re-exported, new mob models. Simple GUI for WorldBoss event, Flower event. Removed FindM event perhaps by mistake. New skill icon for wolfman(?) Probably soon the new skills are coming too. root+dump, locales+protos
  14. Probably he messed up the dump_proto/protoreader.
  • 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.