There are plenty of custom versions going around, so it’s time I added one into the mix!
I don’t have a creative name for this version yet…Thoughts?
You can download the compiled Client/Server here to try it out!
(Hold down Right Mouse button to Move)
(Up + Left to go up diagonally, or W + A if you have WASD enabled)
(Player Levels toggable in Options)
(Event Item Changes in Event Editor)
How does this version differ from any other?
99% of the custom verions available on the forums are simply users adding in tutorials that other players have created, tweaking it a little and releasing it as their own. With this version, you can expect all the code to come from one, experienced developer.
What can I expect to get out of this version?
The great thing with having one developer, and not a hodgepodge of tutorials, is that standardized structure. You’ll notice the code stays true to the Eclipse format that has been used by the official developers over the years. You can expect well commented code that you can easily learn from.
What features will it include?
8 Directional Movement (Completed)
WASD Movement (Completed)
Mouse Movement (Completed)
Mailboxes (Mail Text, Currency or Items) (Completed)
Guilds (Not yet started)
Quests (Not yet started)
Achievements (Not yet started)
Additional Event System Functionality (In Progress)
Code Improvements (In Progress)
What improvements will it include?
Network Optimization - Cutting out some useless packets that are sent that are not necessary and only increase network traffic.
Engine Optimization - jcsnider has done a great job with his DX8 modifications, so I’m quite comfortable in saying there won’t be a lot changed here, maybe just optimize some of the rendering functions a little and document it a bit easier for someone without experience to understand.
Why is the source code not available yet?
The source code will go available once the ‘developer’ contest has been completed. This in part because I may be tempted to try and run for the VB6 developer position, but also in part that I don’t want anyone running for the official developer position to simply take this code and call it their own. Call it petty if you will
Added WASD or Arrow Key Movement Options (Can be disabled under the Options Menu)
Added Mouse Movement (Right Button Down)
Added 8 Directional Movement
Added Option to show Player Levels next to their name (Can be disabled under the Options Menu)
Converted player files to load from INI storage.
+/- Reduced default number of Switches and Variables for a player, these can be increased if necessary, else it’s just excess data.
Added an Amount variable to the Event Conditions. You can now set an Amount for the Has Item Condition for an Event to be spawned for the user. If the user doesn’t have the amount the event won’t spawn. Leaving this empty of blank will result in only if the player has only 1 of the them.
Added a check to ensure that on the Change Inventory Item section of events, it will make sure the player has the proper amount. If not, it will show a generic page on the frmMain of the client stating the player does not meet item requirements and stop the event.
Removed the blank spaces appended to various player strings. The trim option is still functional within the client/server and can still be called however it will no longer store the extra blank spaces after strings when saving/loading from a player file. You will no longer need to use Trim($Player(index).name)
Since we limit one character per account, I’ve removed the option of having to create a character name when creating a new character. Your name will simply appear as your account name.
Removed the functionality of the charlist.txt. The only time this file was called was when adding an account to see if one already exists. It simply now calls a FileExist statement to see if that file exists or not.
Cannot warp to the next linked map automatically if walking diagonally, must be walking up, down, left, right
To save on server-side processing, some diagonal blocking for movement around world edges is processed client-side.
NPCs will not move diagonally, nor can you attack or toggle events diagonally. This is by design.
- Removed Directional Blocking - This was a design choice to better improve diagonal movement. For the time vs. reward of having to modify the directional blocking to include 4 additional directions for it to function smoothly. I’ll eventually work on this, and add corners to directional blocking.