Jump to content

Shang

Member
  • Posts

    276
  • Joined

  • Last visited

  • Days Won

    7
  • Feedback

    0%

Everything posted by Shang

  1. I imagine you installed this version instead of the one from the first post, am I right? If the bug of the taskbar is still present you can take the code from the character skills' window, it uses almost the same syntax, you will be able to adapt it.
  2. Read again the first post and u will find the solution.
  3. Try to move the declarations of the new gm affects below the default gm affect, just before the invisible one (be aware of the affects enum in skill_proto). As I see the affects are checked in order so the invisible affect is checked before the new gm affects are changed so no gm affect is present yet.
  4. If you use the style 'attach' all the events that can trigger the object will trigger the parent not the object itself, so if you put a button in a board with 'attach' you won't be able to click the button because the click will be triggered by the board.
  5. When you declare the struct of a dynamic packet you should follow the primary struct which is this one: typedef struct packet_header_dynamic_size { BYTE header; WORD size; } TDynamicSizePacketHeader; The point is that you are declaring this: typedef struct SPacketGCEventManager { BYTE header; BYTE subheader; WORD size; } TPacketGCEventManager; and the correct one should be this: typedef struct SPacketGCEventManager { BYTE header; WORD size; BYTE subheader; } TPacketGCEventManager; You can corroborate this information in this function: bool CPythonNetworkStream::CheckPacket(TPacketHeader * pRetHeader) from UserInterface/PythonNetworkStream.cpp.
  6. After the definition of TItemPos I just wrote it.
  7. Just take the definition from the server and copy it to the client. It's not that hard. Just do a research instead of making a post and u won't get mad if nobody answers. const TItemPos NPOS (RESERVED_WINDOW, WORD_MAX); Put that after the definition of the struct TItemPos.
  8. The version represents the path where the image is located. 2.0 - The image must be located in the same path as the .sub 1.0 - The image must be located in d:/ymir work/ui
  9. I've edited the first post by changing the line 'del mouseModule.mouseController' from under 'app.Loop()' to under 'mainStream.Destroy()' from prototype.py.
  10. I don't know what you are talking about. self.cursorDict = { app.NORMAL : CursorImage("D:/Ymir Work/UI/Cursor/cursor.sub"), app.ATTACK : CursorImage("D:/Ymir Work/UI/Cursor/cursor_attack.sub"), app.TARGET : CursorImage("D:/Ymir Work/UI/Cursor/cursor_attack.sub"), app.TALK : CursorImage("D:/Ymir Work/UI/Cursor/cursor_talk.sub"), app.CANT_GO : CursorImage("D:/Ymir Work/UI/Cursor/cursor_no.sub"), app.PICK : CursorImage("D:/Ymir Work/UI/Cursor/cursor_pick.sub"), app.DOOR : CursorImage("D:/Ymir Work/UI/Cursor/cursor_door.sub"), app.CHAIR : CursorImage("D:/Ymir Work/UI/Cursor/cursor_chair.sub"), app.MAGIC : CursorImage("D:/Ymir Work/UI/Cursor/cursor_chair.sub"), app.BUY : CursorImage("D:/Ymir Work/UI/Cursor/cursor_buy.sub"), app.SELL : CursorImage("D:/Ymir Work/UI/Cursor/cursor_sell.sub"), app.CAMERA_ROTATE : CursorImage("D:/Ymir Work/UI/Cursor/cursor_camera_rotate.sub"), app.HSIZE : CursorImage("D:/Ymir Work/UI/Cursor/cursor_hsize.sub"), app.VSIZE : CursorImage("D:/Ymir Work/UI/Cursor/cursor_vsize.sub"), app.HVSIZE : CursorImage("D:/Ymir Work/UI/Cursor/cursor_hvsize.sub"), } Every cursor exists inside the client (at least on mine).
  11. Hello, you probably have seen this "warning" in your syserr and probably ignored it: Exception TypeError: "'NoneType' object is not callable" in <bound method CursorImage.__del__ of <mouseModule.CursorImage object at 0x09204630>> ignored Exception TypeError: "'NoneType' object is not callable" in <bound method CursorImage.__del__ of <mouseModule.CursorImage object at 0x09204650>> ignored Exception TypeError: "'NoneType' object is not callable" in <bound method CursorImage.__del__ of <mouseModule.CursorImage object at 0x09204610>> ignored Exception TypeError: "'NoneType' object is not callable" in <bound method CursorImage.__del__ of <mouseModule.CursorImage object at 0x09210B30>> ignored Exception TypeError: "'NoneType' object is not callable" in <bound method CursorImage.__del__ of <mouseModule.CursorImage object at 0x092109D0>> ignored Exception TypeError: "'NoneType' object is not callable" in <bound method CursorImage.__del__ of <mouseModule.CursorImage object at 0x092109F0>> ignored Exception TypeError: "'NoneType' object is not callable" in <bound method CursorImage.__del__ of <mouseModule.CursorImage object at 0x09210A10>> ignored Exception TypeError: "'NoneType' object is not callable" in <bound method CursorImage.__del__ of <mouseModule.CursorImage object at 0x09210A30>> ignored Exception TypeError: "'NoneType' object is not callable" in <bound method CursorImage.__del__ of <mouseModule.CursorImage object at 0x09210A50>> ignored Exception TypeError: "'NoneType' object is not callable" in <bound method CursorImage.__del__ of <mouseModule.CursorImage object at 0x09210A70>> ignored Exception TypeError: "'NoneType' object is not callable" in <bound method CursorImage.__del__ of <mouseModule.CursorImage object at 0x092104B0>> ignored Exception TypeError: "'NoneType' object is not callable" in <bound method CursorImage.__del__ of <mouseModule.CursorImage object at 0x09210550>> ignored Exception TypeError: "'NoneType' object is not callable" in <bound method CursorImage.__del__ of <mouseModule.CursorImage object at 0x09210590>> ignored Exception TypeError: "'NoneType' object is not callable" in <bound method CursorImage.__del__ of <mouseModule.CursorImage object at 0x092106B0>> ignored Exception AttributeError: "'NoneType' object has no attribute '__del__'" in <bound method NumberLine.__del__ of <ui.NumberLine object at 0x092106F0>> ignored Exception TypeError: "'NoneType' object is not callable" in <bound method CursorImage.__del__ of <mouseModule.CursorImage object at 0x092045D0>> ignored This is caused by not deleting the CMouseController instance properly. To fix this we just need to delete the CMouseController instance when closing the client. Let's start: Open root/mouseModule.py and search for the constructor of CMouseController (CMouseController.__init__) and add this under 'self.callbackDict = {}': self.cursorDict = {} Now navigate towards the deconstructor of the same class (CMouseController.__del__) and add this under the 'self.callbackDict = {}': for k, v in self.cursorDict.items(): v.DeleteImage() And the final step is just to delete the instance of the CMouseController from de mouseModule; open prototype.py and add this under 'mainStream.Destroy()': del mouseModule.mouseController And that's all. If you have any problem related to the post just comment it. Note: I've started to see this when I compiled the python library as static.
  12. #include "../UserInterface/PythonSkill.h" In EterPythonLib/PythonSlotWindow.cpp Indeed.
  13. Just change the type of the object from board to window.
  14. It isn't. You should be able to do this: [Hidden Content] That's what this fix offers.
  15. Here's the fix, just check the latest message from me, it was recently updated.
  16. This bug is not related to my fix since I didn't touch the uiTaskbar.py. But you can try this to fix the activate animation to be resetted all the time: EterPythonLib/PythonSlotWindow.cpp: On void CSlotWindow::ActivateSlot(DWORD dwIndex) method add this under return: if (pSlot->bActive) return; And to fix the ActivateSlot to be propagating to the slot you put the icon on the taskbar you can try this fix: On void CSlotWindow::ClearSlot(TSlot * pSlot) method find the ActiveEffect array hiding and just replace it with __DestroySlotEnableEffect(); or however your function is called. Long time but finally here, I bring to you the second version of this fix. I think I fixed every bug I saw on this post. New download link: [Hidden Content] If missed something or just new bugs are found write on the post. Please do not create new threads trying to get help from something related to this post, just write here. I modified every file you find on the .zip so if you already installed the first version check everything again. PS: If any Moderator sees this, update the first post please.
  17. If you're using Directx9 you can take a look at this post [Hidden Content]. It was useful for me when I did this 'Render'.
  18. Unpacking clients outside the official one.
  19. Does it happens with all the quests or just this one? If it's just this one, can u share the code, please?
×
×
  • 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.