-
Posts
839 -
Joined
-
Days Won
393 -
Feedback
100%
Content Type
Forums
Store
Third Party - Providers Directory
Feature Plan
Release Notes
Docs
Events
Posts posted by xP3NG3Rx
-
-
Of course every each clients contain the python files under the gameforge. Globally patchserver, same files, excluded the locale files.
But you know, if you are making a new patch you have to check everything before you put it on the servers to make it available for everyone. If you are taking only one look on the root pack, you must see something is not correct there... In this case the size of the packed root file. This is totally incomprehensible to me right now, I'm just laughing on them -
No, they don't.
Actually the Brazilian servers are running by ongame and not by gameforge O.o.
-
-
Probably you can extend this for the FindVictim as well. I mean if an aggressive monster looks for a potential victim, it will skip the safe zone.
Trigger.cpp --> FuncFindMobVictim
SpoilerActually I am using this in the CHARACTER::Follow and works pretty well:
Spoiler- 4
-
The blinking method has been called when the whisper dialog is closed or minimized, I think you have to implement a new function like a kind of "seen" stuff, when a message arrives it starts to blinking and when you click on the dialog it stops. It sucks when you already "in" the board, because if a message arrives it would start to blink and you have to click out and click in again to stop it. Btw there is the "OnTop" function for to begin.
I know it isn't impossible but these things are too little to take it too serious
-
Spoiler
I know, I know. I do not know why the temperatures going up to the skies. I have under my laptop a Klim Cyclone and on the side a Klim Tornado.
If the fanboost is on max level and every cooler is on the avg. temps is 45°C on CPU and GPU also. (During game it's 85-90)
And this shit is just 1 year old. -
-
You can communicate with the warehouse from the inventory through the interface.
-
Don't you see the problem?
- 1
-
-
And also in debug.
Build in Distribute.
- 1
-
-
Hello.
I was looking inside the official python files and I found a little fix for this:
Let me explain a bit the problem. If you leave open the inventory/dragon soul inventory/expanded taskbar or the affected objects and then you are using quest for teleportation, the windows what you left open will be closed because of the quest and when the quest executed those windows what you left open before would be opened again, but the warp is killing this procedure and that happens what you can see in the video, the windows are there but you cannot see them. Btw you can close them with escape key.
The fix is coming from webzen:
Simple, just execute a .Hide() function before the Destroy function has been called on that object what is stuck on the main window after teleport and that's it.For example:
interfaceModule.py -> Interface class -> Close function:
if self.wndInventory: self.wndInventory.Hide()#fix self.wndInventory.Destroy()
if self.wndDragonSoul: self.wndDragonSoul.Hide()#fix self.wndDragonSoul.Destroy()
- 1
- 23
-
Probably. I think the GUI has fix slots, so if you are trying to open a box which contain more items it will cry.
But the idea isn't bad.
-
Such a good idea
- 1
-
On 2018. 02. 02. at 1:36 PM, LucaC said:
There are two really easy ways to accomplish this.
Oh, than I'm really stupid, because I don't know any way from those .
-
-
2018 and still python22 gg&wp.
btw for the errorlog there is the error_lookup.py
- 2
-
Every patchservers are containing it. They cythonized tho, just packed with wrong script :rofl:
-
Waow, thanks a lot.
Which client? -
15 hours ago, Baumi said:
If not you still should be able to do some stuff because well you have the correct function signatures and some more stuff.
No, I've tried 100 times to find a couple of functions what have never been changed and the patternfinder doesn't give back any valuable result. This is the reason why I stuck. And the offset of the functions always changed after every start so I can't tell to my tool that this function is on this offset hook it, because at the second start the function is on another offset already. Oh yeah, and I've tried the searching on the .BR binary as well and every single try was successful. So the lueco shell is sucks.
Btw should be enough to modify only one byte in the memory and you'll be able to unpack via python.
int __cdecl sub_5161660(int a1, int a2) { int v3; // ST14_4 char v4; // [esp+Ch] [ebp-164h] int v5; // [esp+15Ch] [ebp-14h] int v6; // [esp+160h] [ebp-10h] int v7; // [esp+16Ch] [ebp-4h] if ( !PyTuple_GetString(a2, 0, &v6) ) return Py_BuildException(0); if ( packExists(v6) ) { sub_53DA140(&v4); v7 = 0; v5 = 0; if ( sub_5441430(0, (int)&v4, v6, (int)&v5) ) { sub_53DA3D0(&v4); v3 = python27_Py_BuildValue("s#"); v7 = -1; sub_53DA580(&v4); return v3; } v7 = -1; sub_53DA580(&v4); } return Py_BuildException(0); }
int __cdecl sub_5161660(int a1, int a2) { int result; // eax int v3; // ST14_4 char v4; // [esp+Ch] [ebp-164h] int v5; // [esp+15Ch] [ebp-14h] int v6; // [esp+160h] [ebp-10h] int v7; // [esp+16Ch] [ebp-4h] if ( !PyTuple_GetString(a2, 0, &v6) ) return Py_BuildException(0); sub_53DA140(&v4); v7 = 0; v5 = 0; if ( sub_5441430(0, (int)&v4, v6, (int)&v5) ) { sub_53DA3D0(&v4); v3 = python27_Py_BuildValue("s#"); v7 = -1; sub_53DA580(&v4); result = v3; } else { v7 = -1; sub_53DA580(&v4); result = Py_BuildException(0); } return result; }
metin2client.exe:051616A0 test edx, edx metin2client.exe:051616A2 jnz short loc_51616CA metin2client.exe:051616A4 push 0 metin2client.exe:051616A6 call Py_BuildException metin2client.exe:051616AB add esp, 4 metin2client.exe:051616AE jmp loc_516176A metin2client.exe:051616B3 ; --------------------------------------------------------------------------- metin2client.exe:051616B3 mov eax, [ebp+var_10] metin2client.exe:051616B6 push eax metin2client.exe:051616B7 call packExists metin2client.exe:051616BC add esp, 4
FROM:
85 D2 75 0F 6A 00 E8 45 58 28 00 83 C4 04 E9 B7 00 00 00 8B 45 F0 50 E8 D4 FE FF FF 83 C4 04
TO:
85 D2 75 26 6A 00 E8 45 58 28 00 83 C4 04 E9 B7 00 00 00 8B 45 F0 50 E8 D4 FE FF FF 83 C4 04"75 0F" is a short jump at 0x51616A2
Sig:
(85 D2 75 0F 6A 00 E8 ?? ?? ?? ?? 83 C4 04 E9 ?? ?? ?? ?? 8B 45 F0 50 E8 ?? ?? ?? ?? 83 C4 04) + 3The 26 instead of 0F will skip the dot and the extension check if-statement. So after the patch the packGet would looks like this:
PyObject * packGet(PyObject * poSelf, PyObject * poArgs) { char * strFileName; if (!PyTuple_GetString(poArgs, 0, &strFileName)) return Py_BuildException(); CMappedFile file; const void * pData = NULL; if (CEterPackManager::Instance().Get(file, strFileName, &pData)) return Py_BuildValue("s#", pData, file.Size()); return Py_BuildException(); }
- 1
-
The source of the foxpack isn't usefull?
-
Since the source is public, also everyone can write an unpacker tool.
- 2
- 5
-
Eine kebab mit alles und scharf.
Request TGA Fade in fade out effect
in Community Support - Questions & Answers
Posted · Edited by Metin2 Dev
Core X - External 2 Internal
You can play with ui.ImageBox().SetAlpha([0.0 .. 1.0])