Jump to content

b6d4a82c15

Member
  • Posts

    28
  • Joined

  • Last visited

  • Feedback

    0%

Everything posted by b6d4a82c15

  1. If this is supposed to be an actual conference and not a friend circle meetup... it'd need to be streamed lived and archived for later vieweing. Honestly this is a multi-national online community and I think this event should be kept online also since the community is so small (but its ok cause quality over quantity :))
  2. SaaS solutions somewhere in between 25-100 USD monthly. And developing your own isn't worth it if you can't do it yourself most likely
  3. This thread gave me such a nostalgia hit, I think trivia like this is even more interesting than the game itself. Regarding the old client... Im suspecting there should be something like google dorks but in naver? Instead of looking for the binary file itself one could look for other metin specific file names. Although I think it'd have the same success rate as "scanning entire korean ipv4 subnet" lmao. I have a chinese connection active in the metin2 community (and surprisingly there are still like 1-2 small chinese servers that still get active players). But Im afraid he wouldn't know any koreans who happen to have the beta client on their pc. And I think that's the most realistic way of obtaining this client. Either through a YMIR employee or through some 20 year old harddrive from a 40 year old korean guy lmao. It's funny when they say nothing is ever lost on the internet... the biggest lie ever
  4. ChatGPT is obsolete today honestly. I use claude-3-opus LLM daily for commercial programming and it exceeds chatgpt by a mile. When it comes to token size it's like you said, not possible straight away with chatgpt. There's however a way to go around this with some additional layers of complexity like Cursor Editor although be warned its closed source. It's basically a fork of vscode that let's you ask LLMs about your code. Also you can ask it to write anything and it has the context of your entire codebase. I tested it a few months back and it wasn't bad honestly. I told it to explain some shit-code written by ymir that I didn't understand and it did quite well.
  5. Hey guys, Has anyone of you tried feeding metin2 game/server source to some kind of LLM yet? I think best use case would be finding exploits / memory leaks. Gemini 1.5 Pro seems especially interesting because it has a large amount of tokens.
  6. LUA is just a wrapper for C++ and it hardly makes it slower. And like we can see here, some people should stick with what's the most effective and that is LUA which was literally made for video game scripting and that's what official uses for the most part. It's not slow. If it was then official wouldn't run well while having thousands of quests running for thousands of players simultaneously. LUA is on the upper left of this triangle while C++ is high performance and high versatility BUT it carries greater responsibility. This mentioned bit would probably cause core crash That's why you should be humble and not reject the best solution. btw. metin2 scene is already too cluttered with mediocre developers so I'd recommend against paying someone who has questionable skills and makes too many mistakes in his paid work...
  7. Hello community, its time to give back some knowledge After creating your own map with WorldEditor ReMIX, there are a few steps needed to actually place it on the server. Server side 1. Navigate into /share/locale/germany/map 2. Create a folder, for example `metin2_new_map`, and place the following files inside. Only server_attr and settings.txt, town.txt are required - server_attr - copied from your clientside map folder, it holds map attributes like nonpvp zones - Town.txt - simply holds [x,y] respawn coords - **remember to set it or you'll spawn at 0,0** - regen.txt - mob regens - npc.txt - npc regens - boss.txt - mob (boss type) regens - stone.txt - metin stone regens - Setting.txt - should be copied from clientside map folder, except for `BasePosition` value. BasePosition value should be set to a coordinate value of a free chunk map and then it will form a square depending on the map size (for example 6/6 will take up 6 square height and 6 square width starting from the square you picked). This can be easily done via `AtlasInfoViewerJS` tool. 3. Add `metin2_new_map` to `/share/locale/germany/map/index`. Pick unique map index, preferably above 250 to avoid possible issues. 4. Add that map index you just set to channels of your choice to CORE configs (this is often done via sh scripts depending on your sf) 5. Run that gen_settings script 6. Restart the server if it's already running More information about Town.txt: Town.txt is located in the map folder, on the server side. This file governs respawns (restart in the city and so on). It can contain one line w x,y but this will cause players across all kingdoms to respawn in the same place. It can also contain four lines: 1. Jinno (Empire C) x,y 2. Shinsoo (Empire A) x,y 3. Chunjo (Empire B) x,y 4. GM related respawn most likely Client side 1. Edit `atlasinfo.txt` file in `pack/root` and add an entry like this: > metin2_new_map BasePosition_x BasePosition_y WIDTH_MAP LENGTH_MAP 2. Pack your map along with the appropriate model assets into a .epk pack file and add it to `pack/root/index.txt` 3. Generate Minimap .bmp image inside worldeditor, you can do this in WE sidepanel -> utility -> save atlasmap/mini 4. Convert .bmp file to .dds with preferred software. Or this web interface 5. Place this .dds file inside `/pack/etc/ymir work/ui/metin2_new_map.dds` 6. Create a directory `/pack/etc/ymir work/ui/atlas/metin2_new_map` and place atlas.sub file inside, it should look like this: title subImage version 1.0 image "yourmap.dds" left 0 top 0 right 256 bottom 256 You need to edit the dds name and right/bottom (actual size of the image). **Take note!** a maximum dimension of 256x256 is highly recommended. You should resize you .bmp to this resolution if it's bigger. There's also `pack/root/uimapnameshower.py` that's assigning map names to images that are shown upon warp etc. Portals (warps) Warp portals are a special kind of NPCs. Placing a warp portal on the map requires a few steps. 1. Go to the coordinates you want the portal to warp to, in game. 2. Type in `/state` command and look for your coordinates. You should see 3 different types of coordinates (Global/Warp/Local Position), what you need is the Warp Position (red). 3. Create a mob with type 0 and battle_type 3, make sure to structure his name and locale_name like this: `name_shown warp_x warp_y`, for instance: `Yayang_Area 4002 8995`. If you don't want the portal to show any name (it will still work with the said coordinates) put a dot instead of the name_shown, like this: `. 4002 8995` 4. Place this special warp NPC in your map's npc.txt regen `/share/locale/germany/map/metin2_new_map/npc.txt` 5. You will also may want to place a portal frame in worldeditor. Start position (first login) If you are trying to change the starting map, it's worth noting that this can be done by editing `game/start_position.cpp`: g_start_map (map indexes) and g_start_position (coords), configurable by empire. Name shower It's also worth mentioning that `root/uimapnameshower.py` file controls what kind of image will be shown upon entering the map
  8. Very cool, Im gonna test it right now. Winforms is so 2008 though.
  9. Does anyone else also have this issue where changing object Z position (height) doesn't work too well? I can move objects with SCROLL+Q but after saving/loading they're in a totally different place.
  10. Syreldar is friendly, helpful and most importantly competent with lots of experience in LUA development. 10/10
  11. Anyone else has this issue with this system? Im getting it after rewarp/relog. It's caused by RefreshLockedSlot but Im not sure how to fix it 1220 09:59:50193 :: Traceback (most recent call last): 1220 09:59:50193 :: File "networkModule.py", line 285, in SetGamePhase 1220 09:59:50193 :: File "game.py", line 105, in __init__ 1220 09:59:50193 :: File "interfaceModule.py", line 452, in MakeInterface 1220 09:59:50194 :: File "interfaceModule.py", line 245, in __MakeWindows 1220 09:59:50194 :: File "uiInventory.py", line 368, in __init__ 1220 09:59:50194 :: File "uiInventory.py", line 581, in __LoadWindow 1220 09:59:50194 :: File "uiInventory.py", line 679, in SetInventoryPage 1220 09:59:50195 :: File "uiInventory.py", line 1022, in RefreshBagSlotWindow 1220 09:59:50195 :: File "uiInventory.py", line 1022, in <lambda> 1220 09:59:50195 :: File "uiAttr67Add.py", line 474, in RefreshLockedSlot 1220 09:59:50195 :: AttributeError 1220 09:59:50195 :: : 1220 09:59:50196 :: 'int' object has no attribute 'SetCanMouseEventSlot' 1220 09:59:50196 :: 1220 09:59:50196 :: Traceback (most recent call last): 1220 09:59:50196 :: File "game.py", line 773, in RefreshStatus 1220 09:59:50198 :: File "game.py", line 767, in CheckGameButton 1220 09:59:50198 :: File "interfaceModule.py", line 1450, in CheckGameButton
  12. That depends on a lot of factors but generally you're looking at 5000-10.000USD if you're talking about a fully fledged server with custom graphics, nice website, some custom systems and efficient marketing. Maintenance will cost whatever you're paying your developer + ~50-100USD for infrastructure. It's a wild guess because it all depends on the type of your server, your abilities, negotiation skills and overall knowledge
  13. Simple yet not common enough QoL feature that lets miners mine in peace, even around aggressive mobs and bosses +++ b/Srcs/Server/game/src/char_state.cpp @@ -642,6 +642,10 @@ void CHARACTER::__StateIdle_Monster() if (victim && !victim->IsDead()) { +#ifdef MOB_AI_DONT_ATTACK_MINERS + if (victim->m_pkMiningEvent) + return; +#endif if (CanBeginFight()) BeginFight(victim); @@ -906,10 +910,17 @@ void CHARACTER::StateBattle() return; } +#ifdef MOB_AI_DONT_ATTACK_MINERS + if (victim && victim->m_pkMiningEvent) { + SetVictim(NULL); + CowardEscape(); + return; + } +#endif + if (!victim || (victim->IsStun() && IsGuardNPC()) || victim->IsDead()) {
  14. There's an U+FEFF (zero width no-break space) - invisible character near this last return in this function.
  15. Ikarus is helpful, responsive, patient (sometimes mean) but most importantly: his code is top notch quality.
  16. Mark is a skilled artist with many years of experience in the field. I bought from him and I will buy from him again. Sometimes slow to respond but he will eventually.
  17. Works fine, thank you Mali. I had to make some modifications but overall its very polished and I'd recommend it for OX rewards
  18. It works perfectly fine I just installed it
  19. Hello community! If you're someone interested in metin2 and MMOs in general, I invite you to work with me. We will both have an opportunity to design a new upcoming pserver project. I dont require any technical skills as that position is already filled. Im just looking for someone creative that has vast experience with the game, especially on private servers. Tasks: - designing gameplay on paper - inventing quests and mechanics - judging creative decisions - consulting regarding the choice of mobs, dungeons and items Gratification: - money (!) - satisfaction - GM position possibly Feel free to send me a private message telling me something about yourself. Cheers!
  20. Not all Adobe products are written in qt, and surely not all their components. Either way, its cost-effective and easy deployment like you said. Javascript developers are also much cheaper to employ hehe
  21. Nowadays computers are much more powerful and so electron/CEF apps have become the norm. It's also easier to develop and maintain. Slack, MS teams, discord, whats, spotify, battle.net client, Adobe Illustrator and many others are running inside embedded browsers.
  22. Allegedly he's a good coder but unfortunately he doesn't bother to respond to messages for days and days so I guess I won't have a chance to check if that's true
  23. SetOverOutEvent is never triggered causing tooltips to stay on the screen forever. Why does this happen? It seems ok in the code, especially considering SetOverEvent works fine
  24. Im officially open sourcing this (some features need fixing). [Hidden Content] scan not provided because there are no binaries inside
×
×
  • 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.