Jump to content

All Activity

This stream auto-updates

  1. Past hour
  2. Original Rain client? I remember everyone using custom clients back in the day (modified Gameforge ones, metin35, abesgaara etc.). I didn't know Rain also released a client. Would you mind sharing?
  3. Today
  4. Up back in 2024... That's a very very interesting story! And apparently i still OWN the first and only original rain client + server which they are a piece of legacy..
  5. Hi! I'm using TMP4 serverfiles, I've done only few adjustments on client side such as belt slot on inventory and dragon soul. I have changed the ports both client side and server side (DB,AUTH,GAME99,CH) - since then the client does not show the channel on (it shows ...) BUT the channel works. Which port i may have made a mistake? The port number were randomly generated Few days ago i tested the game and looks like every time i close a quest or a npc talk or even if i open a shop, apparently my click activates ALL the tabs of the game such as (inventory,guild,friends,stats even group arrow show up!) Any idea where i should start looking? I checked into interfacemodule.py but everything seems to be perfectly fine there. Where the command of clicking/opening comes? Below i'm attaching a short video [Hidden Content] Even paid support if i can get and solve this matter asap. Thank you!
  6. Hi community, i have the following problem. When i warp, this button is not hidden. As you can see from the image: Its the arrow next to inventory. Here is my uiinventory.py: [Hidden Content] Can anyone help me ?
  7. Yesterday
  8. Hello, I am trying to implement this system: But I have a problem that I can't click on the icons. At the same time, when I first open the inventory and click on "inventory" the sidebar moves. import item import app TEXT_VEGAS_1 = "Description button 1" TEXT_VEGAS_2 = "Description button 2" TEXT_VEGAS_3 = "Description button 3" TEXT_VEGAS_4 = "Description button 4" TEXT_VEGAS_5 = "Description button 5" TEXT_VEGAS_6 = "Description button 6" ######################################## GET_IMAGE_BUTTON = "d:/ymir work/item/quest/" ######################################## position_button_1_x = 10 position_button_1_y = 10 position_button_2_x = 10 position_button_2_y = 42 position_button_3_x = 10 position_button_3_y = 72 position_button_4_x = 10 position_button_4_y = 102 position_button_5_x = 10 position_button_5_y = 134 position_button_6_x = 10 position_button_6_y = 166 EQUIPMENT_START_INDEX = False if app.ENABLE_ADDITIONAL_EQUIPMENT_PAGE: BOARD_HEIGHT = 375 window = { "name" : "InventoryWindow", ## 600 - (width + żŔ¸ĄÂĘŔ¸·Î şÎĹÍ ¶çżě±â 24 px) "x" : SCREEN_WIDTH - 176, "y" : SCREEN_HEIGHT - 37 - BOARD_HEIGHT, "style" : ("movable", "float",), "width" : 176, "height" : BOARD_HEIGHT, "children" : [ { "name" : "vegas_board", "type" : "board", "style" : ("attach",), "x" : -45, "y" : +15, "vertical_align":"center", "width" : 40, "height" : 210, "children" : ( { "name" : "Button_Function_1", "type" : "button", "x" : position_button_1_x, "y" : position_button_1_y, "tooltip_text" : TEXT_VEGAS_1, "default_image" : "d:/ymir work/ui/dragonsoul/DragonSoul_Button_01.tga", "over_image" : "d:/ymir work/ui/dragonsoul/DragonSoul_Button_02.tga", "down_image" : "d:/ymir work/ui/dragonsoul/DragonSoul_Button_03.tga", }, { "name" : "Button_Function_2", "type" : "button", "x" : position_button_2_x, "y" : position_button_2_y, "tooltip_text" : TEXT_VEGAS_2, "default_image" : "d:/ymir work/ui/dragonsoul/DragonSoul_Button_01.tga", "over_image" : "d:/ymir work/ui/dragonsoul/DragonSoul_Button_02.tga", "down_image" : "d:/ymir work/ui/dragonsoul/DragonSoul_Button_03.tga", }, { "name" : "Button_Function_3", "type" : "button", "x" : position_button_3_x, "y" : position_button_3_y, "tooltip_text" : TEXT_VEGAS_3, "default_image" : "d:/ymir work/ui/dragonsoul/DragonSoul_Button_01.tga", "over_image" : "d:/ymir work/ui/dragonsoul/DragonSoul_Button_02.tga", "down_image" : "d:/ymir work/ui/dragonsoul/DragonSoul_Button_03.tga", }, { "name" : "Button_Function_4", "type" : "button", "x" : position_button_4_x, "y" : position_button_4_y, "tooltip_text" : TEXT_VEGAS_4, "default_image" : "d:/ymir work/ui/dragonsoul/DragonSoul_Button_01.tga", "over_image" : "d:/ymir work/ui/dragonsoul/DragonSoul_Button_02.tga", "down_image" : "d:/ymir work/ui/dragonsoul/DragonSoul_Button_03.tga", }, { "name" : "Button_Function_5", "type" : "button", "x" : position_button_5_x, "y" : position_button_5_y, "tooltip_text" : TEXT_VEGAS_5, "default_image" : "d:/ymir work/ui/dragonsoul/DragonSoul_Button_01.tga", "over_image" : "d:/ymir work/ui/dragonsoul/DragonSoul_Button_02.tga", "down_image" : "d:/ymir work/ui/dragonsoul/DragonSoul_Button_03.tga", }, { "name" : "Button_Function_6", "type" : "button", "x" : position_button_6_x, "y" : position_button_6_y, "tooltip_text" : TEXT_VEGAS_6, "default_image" : "d:/ymir work/ui/dragonsoul/DragonSoul_Button_01.tga", "over_image" : "d:/ymir work/ui/dragonsoul/DragonSoul_Button_02.tga", "down_image" : "d:/ymir work/ui/dragonsoul/DragonSoul_Button_03.tga", }, ), }, ## Inventory, Equipment Slots { "name" : "board", "type" : "board", "style" : ("attach",), "x" : 0, "y" : 0, "width" : 176, "height" : BOARD_HEIGHT, "children" : [ ## Title { "name" : "TitleBar", "type" : "titlebar", "style" : ("attach",), "x" : 8, "y" : 7, "width" : 161, "color" : "yellow", "children" : ( { "name":"TitleName", "type":"text", "x":77, "y":3, "text":uiScriptLocale.INVENTORY_TITLE, "text_horizontal_align":"center" }, ), }, { "name" : "Inventory_Tab_01", "type" : "radio_button", "x" : 10, "y" : 33, "default_image" : "d:/ymir work/ui/game/windows/tab_button_large_half_01.sub", "over_image" : "d:/ymir work/ui/game/windows/tab_button_large_half_02.sub", "down_image" : "d:/ymir work/ui/game/windows/tab_button_large_half_03.sub", "tooltip_text" : uiScriptLocale.INVENTORY_PAGE_BUTTON_TOOLTIP_1, "children" : ( { "name" : "Inventory_Tab_01_Print", "type" : "text", "x" : 0, "y" : 0, "all_align" : "center", "text" : "I", }, ), }, { "name" : "Inventory_Tab_02", "type" : "radio_button", #"x" : 10 + 78, "x" : 10 + 39, "y" : 33, "default_image" : "d:/ymir work/ui/game/windows/tab_button_large_half_01.sub", "over_image" : "d:/ymir work/ui/game/windows/tab_button_large_half_02.sub", "down_image" : "d:/ymir work/ui/game/windows/tab_button_large_half_03.sub", "tooltip_text" : uiScriptLocale.INVENTORY_PAGE_BUTTON_TOOLTIP_2, "children" : ( { "name" : "Inventory_Tab_02_Print", "type" : "text", "x" : 0, "y" : 0, "all_align" : "center", "text" : "II", }, ), }, { "name" : "Inventory_Tab_03", "type" : "radio_button", "x" : 10 + 39 + 39, "y" : 33, "default_image" : "d:/ymir work/ui/game/windows/tab_button_large_half_01.sub", "over_image" : "d:/ymir work/ui/game/windows/tab_button_large_half_02.sub", "down_image" : "d:/ymir work/ui/game/windows/tab_button_large_half_03.sub", "tooltip_text" : uiScriptLocale.INVENTORY_PAGE_BUTTON_TOOLTIP_3, "children" : ( { "name" : "Inventory_Tab_03_Print", "type" : "text", "x" : 0, "y" : 0, "all_align" : "center", "text" : "III", }, ), }, { "name" : "Inventory_Tab_04", "type" : "radio_button", "x" : 10 + 39 + 39 + 39, "y" : 33, "default_image" : "d:/ymir work/ui/game/windows/tab_button_large_half_01.sub", "over_image" : "d:/ymir work/ui/game/windows/tab_button_large_half_02.sub", "down_image" : "d:/ymir work/ui/game/windows/tab_button_large_half_03.sub", "tooltip_text" : uiScriptLocale.INVENTORY_PAGE_BUTTON_TOOLTIP_4, "children" : ( { "name" : "Inventory_Tab_04_Print", "type" : "text", "x" : 0, "y" : 0, "all_align" : "center", "text" : "IV", }, ), }, ## Item Slot { "name" : "ItemSlot", "type" : "grid_table", "x" : 8, "y" : 55, "start_index" : 0, "x_count" : 5, "y_count" : 9, "x_step" : 32, "y_step" : 32, "image" : "d:/ymir work/ui/public/Slot_Base.sub" }, ## Print { "name":"Money_Icon", "type":"image", "vertical_align":"bottom", "x":57, "y":26, "image":"d:/ymir work/ui/game/windows/money_icon.sub", }, { "name":"Money_Slot", "type":"button", "x":75, "y":28, #"horizontal_align":"center", "vertical_align":"bottom", "default_image" : "d:/ymir work/ui/public/gold_slot.sub", "over_image" : "d:/ymir work/ui/public/gold_slot.sub", "down_image" : "d:/ymir work/ui/public/gold_slot.sub", "children" : ( { "name" : "Money", "type" : "text", "x" : 3, "y" : 3, "horizontal_align" : "right", "text_horizontal_align" : "right", "text" : "123456789", }, ), }, Could someone please advise me?
  9. Can someone tell me what I did wrong here ?
  10. Yeah i got the same problem... prolly coz files are old
  11. As this comment suggests: LINK Wouldn't be easier to compile the source into windows(visual code) and debug it from there? Maybe it would be easier?
  12. Multiple light shadows are supported, but I don't expect this to be used.
  13. Hopefully I will manage.. not many threads about this issue anywhere Thanks for the direction I'm finally going somewhere(nowhere) ==15740==ERROR: AddressSanitizer: heap-use-after-free on address 0x2b90a7b1 at pc 0x290c1671 bp 0xffbf8668 sp 0xffbf8240 READ of size 1 at 0x2b90a7b1 thread T0 #0 0x290c1670 (/usr/local/lib/gcc11/libasan.so.6+0x48670) #1 0x290c1e7c (/usr/local/lib/gcc11/libasan.so.6+0x48e7c) #2 0x8b022c9 (/usr/home/src/Srcs/Server/game/game_r41226+0x8b022c9) #3 0x83a326b (/usr/home/src/Srcs/Server/game/game_r41226+0x83a326b) #4 0x83a7dfb (/usr/home/src/Srcs/Server/game/game_r41226+0x83a7dfb) #5 0x892ffa1 (/usr/home/src/Srcs/Server/game/game_r41226+0x892ffa1) #6 0x8930c44 (/usr/home/src/Srcs/Server/game/game_r41226+0x8930c44) #7 0x89332ee (/usr/home/src/Srcs/Server/game/game_r41226+0x89332ee) #8 0x80a43dc (/usr/home/src/Srcs/Server/game/game_r41226+0x80a43dc) 0x2b90a7b1 is located 1 bytes inside of 65-byte region [0x2b90a7b0,0x2b90a7f1) freed by thread T0 here: #0 0x290f6d5b (/usr/local/lib/gcc11/libasan.so.6+0x7dd5b) #1 0x83a3253 (/usr/home/src/Srcs/Server/game/game_r41226+0x83a3253) #2 0x83a7dfb (/usr/home/src/Srcs/Server/game/game_r41226+0x83a7dfb) #3 0x892ffa1 (/usr/home/src/Srcs/Server/game/game_r41226+0x892ffa1) #4 0x8930c44 (/usr/home/src/Srcs/Server/game/game_r41226+0x8930c44) #5 0x89332ee (/usr/home/src/Srcs/Server/game/game_r41226+0x89332ee) #6 0x80a43dc (/usr/home/src/Srcs/Server/game/game_r41226+0x80a43dc) #7 0x80a453f (/usr/home/src/Srcs/Server/game/game_r41226+0x80a453f) previously allocated by thread T0 here: #0 0x290f5f63 (/usr/local/lib/gcc11/libasan.so.6+0x7cf63) #1 0x8488486 (/usr/home/src/Srcs/Server/game/game_r41226+0x8488486) #2 0x848894b (/usr/home/src/Srcs/Server/game/game_r41226+0x848894b) #3 0x847f14f (/usr/home/src/Srcs/Server/game/game_r41226+0x847f14f) #4 0x83afeef (/usr/home/src/Srcs/Server/game/game_r41226+0x83afeef) #5 0x892f14b (/usr/home/src/Srcs/Server/game/game_r41226+0x892f14b) #6 0x8930d6b (/usr/home/src/Srcs/Server/game/game_r41226+0x8930d6b) #7 0x89332ee (/usr/home/src/Srcs/Server/game/game_r41226+0x89332ee) #8 0x80a43dc (/usr/home/src/Srcs/Server/game/game_r41226+0x80a43dc) #9 0x80a453f (/usr/home/src/Srcs/Server/game/game_r41226+0x80a453f) SUMMARY: AddressSanitizer: heap-use-after-free (/usr/local/lib/gcc11/libasan.so.6+0x48670) Shadow bytes around the buggy address: 0x457214a0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x457214b0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x457214c0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x457214d0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x457214e0: fa fa fa fa fa fa fa fa 00 00 00 00 00 00 00 00 =>0x457214f0: 00 fa fa fa fa fa[fd]fd fd fd fd fd fd fd fd fa 0x45721500: fa fa fa fa 00 00 00 00 00 00 00 00 00 fa fa fa 0x45721510: fa fa 00 00 00 00 00 00 00 00 00 fa fa fa fa fa 0x45721520: 00 00 00 00 00 00 00 00 00 fa fa fa fa fa 00 00 0x45721530: 00 00 00 00 00 00 00 fa fa fa fa fa 00 00 00 00 0x45721540: 00 00 00 00 00 fa fa fa fa fa 00 00 00 00 00 00 Shadow byte legend (one shadow byte represents 8 application bytes): Addressable: 00 Partially addressable: 01 02 03 04 05 06 07 Heap left redzone: fa Freed heap region: fd Stack left redzone: f1 Stack mid redzone: f2 Stack right redzone: f3 Stack after return: f5 Stack use after scope: f8 Global redzone: f9 Global init order: f6 Poisoned by user: f7 Container overflow: fc Array cookie: ac Intra object redzone: bb ASan internal: fe Left alloca redzone: ca Right alloca redzone: cb Shadow gap: cc ==15740==ABORTING
  14. Valrgrind wont help you too much in finding memory leaks, leaks in m2 are much more deeper for valgrind to find.. You better use address sanitizer
  15. Link Is this what you need ?
  16. Hello, to begin with, I'm a beginner when it comes to optimization/debugging. I was looking for possible ways to find server side memory allocation, what is taking up the most/not getting cleaned(memory leak) etc. Because currently my 4 core, ch99 core + db are taking 3,5Gb of RAM. Does anyone here have experience with jemalloc, Heaptrack, possibly Valgrind? Which one is best to use in my position? Honestly I've also tried but I'm not too wise with the OUTPUT. I'd be grateful for any advice and thank you in advance!
  17. I have this issue too. The "minutes played" value is random. Anyone solved it?
  18. As you probably know, abesgaara was one of the first private server modded clients. It was one of the most used clients of all time in the 2008-2013 era. I found them in my old drive and I want to share them with you, both versions v3.5 (The Evolution CATACLYSM) and v3.7 (Fall of the Cataclysm) Abesgaara v3.5: [Hidden Content] Abesgaara v3.7: [Hidden Content]
  19. Love me some of that sweet old nostalgia post. I often dig up stuff like this on the internet, mostly to no avail. It is crazy how things we saw everywhere and everyday became vaporware in the span of just a few years or a cataclysmic digital event (Megaupload). I still remember how I was going crazy with my VirtualPC in the sweet year 2009 on my Vista desktop trying to make it handle the hamachi server. Good times
  20. I guess it's only a matter of time... I've seen proof of a more recent leak, from after the official source tree switched to DirectX 9. But don't get your hopes up, it's been a while since the leak and it's probably kept really secret. The Rain files are also posted on this forum; I probably have some others as well, maybe I'll post them if there's enough interest.
  21. Hi! I've only now started learning about Metin2 dev. I'm using TMP4's project as base. My questions are about code iteration workflow: 1. I assume you modify server code from Windows -- using VS22, for example --, then copy it to the machine running FreeBSD, compile it with Make and start the server. If the server is only compiled with the Makefile, why is there a 2008 Visual Studio solution there? Do you use it? VS22 isn't able to open it. 2. Regarding the client code, it seems simpler. We can just modify the code and compile within VS22, right? 3. Finally, how do you iterate on the DB schema? I think it's possible to modify it directly from a Database Management System like Navicat/DBeaver. Is that what you do? Thank you in advance Have a great day!
  1. Load more activity
×
×
  • 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.