Giter VIP home page Giter VIP logo

maplestory-client's Introduction

HeavenClient

HeavenClient is a custom, made-from-scratch game client.

Supported versions

  • The client is currently compatible with version 83 servers
  • The client has only been tested with HeavenMS
  • Switch
  • Linux

Configuration

The build can be configured by editing the MapleStory.h file. The following options are available:

  • USE_ASIO: Use Asio for networking (additional dependency)
  • USE_CRYPTO: Use cryptography when communicating for the server
  • USE_NX: Use NX files instead of WZ files
  • USE_DEBUG: This suppresses the generation of the Settings file

The default settings can be configured by editing the Configuration.h file. These are also generated after a game session in a file called Settings. These can be altered in the same way as Configuration.h, although, these do not persist if you delete the file, unlike Configuration.h.

Building

  1. Open MapleStory.sln in Visual Studio 2019 CE
  2. Make sure to use Windows SDK Version: 8.1 and Platform Toolset: v140 (If you don't have these, download them.)
  3. Press Build > Build Solution or Ctrl + Shift + B
  4. After a successful build, you can now run the program by pressing Debug > Start Debugging or F5.
  5. Make sure all NX files are present in the parent folder. To convert WZ files to NX you can use the NoLifeWzToNx project.
    • Extract the zip
    • Place your WZ files in the files folder
    • Run start.bat
    • See Required Files for a list of required NX files

Required Files

All WZ files from the official client are required to be converted Check NxFiles.h for an updated list of required NX files Check Configuration.h for the latest version of WZ files tested

Dependencies

In-Game Issues

If you experience any kind of in-game glitches, UI rendering issues, or anything else that seems out of the ordinary that other developers are not experiences; Follow these steps in order to hopefully resolve aforementioned issues.

  1. Clean Solution
  2. Close Visual Studio
  3. Delete the following files/folders: .vs, x64, debug.log, MapleStory.aps, Settings
  4. Open Solution
  5. Rebuild Solution

Binaries (08.19.2019)

The latest build (e3e97c2) can be found here: HeavenClient v228.3.zip

Donations

If you feel obligated to donate, to further help and support all parties involved in the development of the HeavenClient project, you can donate using this link.

Please remember this is ONLY for the HeavenClient development and will only be used in the support of helping further develop the client. Also please remember to support Nexon as this is not meant to replace anything Nexon offers

Another important note to remember is that HeavenClient is a free open-sourced client developed for personal use. Do NOT pay for any services requested by anyone in regards to this client. It will always remain open and free of charge. There is no intent to publish this code with any payment in mind. If that ever changes, donations and disclaimers for donations will be removed.

maplestory-client's People

Contributors

lain3d avatar nansonzheng avatar ryantpayton avatar somemushroom avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

maplestory-client's Issues

Glad/glad.h No such file or directory

I used the example to build HMS, but when I run make, I get the following error:

MapleStory-Client-linux/Audio/../Util/../Graphics/Color.h:23:10: fatal error: glad/glad.h: No such file or directory
 #include <glad/glad.h>
          ^~~~~~~~~~~~~
compilation terminated.
make[2]: *** [CMakeFiles/HeavenClient.dir/build.make:63: CMakeFiles/HeavenClient.dir/Audio/Audio.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:73: CMakeFiles/HeavenClient.dir/all] Error 2
make: *** [Makefile:84: all] Error 2

I found that the gald library is now glad2, is that the reason?

Player

  • Pickup is too fast
  • Movement is too slow
  • Crossbow (1462126) does not have an idle animation
  • When wearing no clothes, the character is nude. (9635e0b)

Mob

  • Mobs don't move on map enter
  • Mobs lose their sounds after the first instance of that mob
  • Mobs don't aggro the player after hitting them
  • Mobs don't drop anything unless manually spawn in, possibly same issue with movement?

UIKeyConfig

  • Double-clicking an already bound key should unbind it
  • Click an icon, drop it and rapidly move the mouse, this will pick up the icon immediately.

Cursor

Cursor has general issues when clicking/holding and then dragging onto a button.
The button will take focus

Possible related issues:

Cant get through Channel selection to v83 server

Hi,
I'm going to start my adventure with MapleStory private servers, using Cosmic as the server distribution and wish to use this client as a client to the server, however I encountered an problem.

Basically I converted all basic .wz files from v83 original client to .nx, only using v200+ UI, because I found that its an error "Unknown UI.nx version" when trying to use v83 one, but I tried the standard one and it seems loading it and works decent (except of backgrounds, but screw them for now) and put them into the folder, compiled the client and have working .exe in same folder as the files, everything going smoothly until I process to Channel Selection window - after selecting Channel i stuck at "Connecting" and can't make it process further.

Here is the problem shown in video for better understand:
https://i.imgur.com/U7mEgay.mp4

ScreenRecorderProject2_1.mp4

Any help would be appreciated!
Thanks in advance,
Fresh.

UIEquipInventory

  • Equipping and item for a certain class and then changing jobs does not disable the item
  • Equipped items that should be disabled are still calculated into damage

Sound

  • Mob death sounds rarely plays (might be a race condition)
  • Mob hit sounds do not play
  • Wand swing attack has no sound
  • Menu option to adjust volume needs to be implemented
  • Opening inventory plays weird windows sound, for the first time
  • Login menu has no music (on v92 branch)

UIItemInventory

  • Picking up an item and changing tabs and setting the item back down breaks the program

Chat

  • When chatting, pressing enter to send a message does not exit the chat dialogue
  • Chat window has no option for guild / party / buddy / etc

Movement / Physics

  • Gravity when falling down is not capped, accelerates constantly
  • Janky behaviour when jumping onto and off ropes
  • After climbing up a rope, character pops up instead of stopping at the top of the platform
  • Knockback from mobs when getting hit should be more horizontal knockback, less vertical
  • When dropping items, drops the item off-center from the character (not centered at origin)
  • When hitting a mob, the knockback on them feels janky. It seems like they are still able to move during their knockback / hit animation
  • When jumping down from a platform, the player should jump up vertically a bit more first before starting descent, instead of an immediate drop

Settings

Settings file is generated during a release build.
These settings should be binary or written in memory rather than a text file

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.