From VbGORE Visual Basic Online RPG Engine
All downloads contain the same files, just using different compression methods.
Non-EXE users must download the Libraries Files at the bottom!
*.EXE - Self-installing file (10.69 MB)
*.ZIP - Compressed with WinZip (11.36 MB)
*.RAR - Compressed with WinRAR (9.25 MB)
*.7z - Compressed with 7Zip (9.33 MB)
Released on January 6, 2007
v0.2.3 contains the most changes that any version has had for quite a while. Combined with that, it is probably also one of the quicker releases, too. Lots of bug fixes were made, including hopefully the login bugs (GORESOCK was removed and SOX was added back in unfortunately since some people seemed to have problems when using GORESOCK). The biggest changes are the addition of variable movement speeds, multiple item drops per tile and NPC item drops.
Change - Updater Nagling: Turned Nagling on on the update server and client, which makes things go a bit slower, but uses less bandwidth. Not sure why I had it off in the first place...
Fix - User description saving: User description saving has been removed from when the description is changed in the /desc command (Data_User_Desc) - it was useless saving it when the description is already saved with the user.
Fix - User saving speed-up: Changed the user saving routine to a more appropriate usage of the database. Instead of creating a new record for every save, a new record is only saved when a new char is made and from there on it is just updated. The amount of speed gained is variable, but can be over 10x faster if no data has changed. Saving the name has also been removed.
Fix - Demo map display graphic error: Fixed a slight error on the demo map that caused one frame in one of the water animations to have a black line in it.
Fix - User mod stat updating: Fixed the user modstat force updating so that when a base stat updates, it will first check if the base stat has a mod stat that is used, then if so, it will update.
Change - Server compile options: I have unchecked the server's compiling options by default which will slow things down a bit, but make the EXE run just like when run in the IDE. This will make it easier to find errors. For public releases, this can easily just be ticked again.
Change - Grh1.Raw name: Grh1.raw has been renamed to GrhRaw.txt so people don't get confused on what to open the file with.
Add - NPC mod stats: NPC mod stats now are properly working - they are not just a copy of the base stats anymore. All spells will work on NPCs and affect their stats appropriately.
Add - User mod stat (warcurse): Users can now take on warcurse effect.
Fix - User mod stats (spells): Fixed the mod stats on users affected by spells, so spells on the user will be affective.
Fix - User saving: Fixed a bug that didn't save users when they logged out.
Fix - Texture displaying: Did a small change in the textures on their display sizes that should remove the "cuts" at the end of a texture that some people get. Thanks Onez0r for the help on this one!
Change - Position updating: Position updating was moved back to sending to the whole map at once. Updating in the PC area worked fine except for when walking to a NPC or PC that hasn't moved because their position wont update for a while. I tried to fix this by adding an update border, which worked, but the character remained at their last recorded position until the new position was reached.
Add - Packet encryption (again): Re-added packet encryption, but this time it only supports RC4 and XOR since that should be all you will need to use.
Fix - Ground object lighting: Objects on the ground have been fixed to use the correct tile lighting.
Change - Optimizing database at runtime: The optimizing database routine at runtime has been turned off by default, but can be turned on through a constant in the declares section.
Add - NPC item drops: NPCs can drop a predefined amount of items by a certain index when killed at a predefined chance. All items will have a chance to drop, so anywhere from none to all items can drop at once.
Fix - NPC clearing: Added in a quick zeromemory call to NPCs being loaded just to be sure no variables are passed over from the old NPC that occupied that slot (if any).
Add - Nearest free object spot: Added a routine that with a given X, Y and Map value, will return the nearest free object tile and slot for a valid tile.
Add - Random item offsets: Added a random X and Y offset value to items when dropped on the ground, which allows them to not stack up so pretty and organized and look more like they were just thrown or fell on the ground.
Change - Socket: Removed GORESOCK and added back in vbgoresocketbinary and vbgoresocketstring since too many people were having problems with GORESOCK, even though it worked fine for myself.
Change - Weapon gfx: Changed the weapon graphic to a much better one made by Zurri and edited by Hexic.
Change - Empty inventory slot: Changed the empty inventory slot code to automatically assume the slot is empty by if the ObjIndex = 0, which saves us some data when clearing a slot.
Fix - Grh indexes as longs: Fixed a few references of the Grh indexes being used as integers - they're all supposed to be used as long as of version 0.2.2 I believe.
Add - Multiple drops per tile: Added a system where you can drop multiple items per tile. How many objects can fit on a tile is changed through a simple constant. Object arrays are automatically resized, sorted and erased (when empty) for you, so you can have 1000 objects per tile as the limit without feeling any pain in your RAM (though not recommended).
Fix - Server.User_GiveObj: Fixed this routine from deleting objects off the ground when using it (even though it doesn't have anything to do with getting objects off the ground specifically) from an old way it used to function.
Fix - Warcry message: The warcry message has been fixed to display the correct information. Thanks Toaster!
Fix - Learn spell on quest start: You can now use the learn skill reward on quest starting. Works exactly like when the quest ends, but at the start when it is accepted.
Change - Known skill sending method: The known skill sending was changed from a long to a series of bytes. The number of bytes are figured out by the NumSkills value at runtime, which will be the same between the server and client. 8 "known" statuses are packed into each byte, so 5 bytes would hold 40 skills. This will adjust automatically to fit any number of skills/spells. Talk about a hell of a headache with binary!
Fix - Learn spell on quest finish: The learning a new skill/spell when finishing a quest now actually gives the user the new skill/spell instead of just displaying the message that they received it, and updates it client-side so they can start using it right away.
Remove - Curse spell: Removed the Curse spell, which wasn't really even finished being implimented. Just removed all references to it. No idea why it was even there.
Fix - Stats updating on equipting: Fixed the bug that didn't update stats client-side when you equipted / unequipted armors and weapons. Turns out it was worse then I thought, and wasn't being updated even on the server-side, so using items was, basically, worthless.
Change - Text buffer size: Changed the text buffer size to hold a bit more text for the default size.
Add - Packet flooding prevention: Added a routine that will only allow a certain amount of commands (default 100) to be sent to the server in a second. This is counted by commands, not packets, so that way someone can't flood the server by sending just a few packets with hundreds of commands in it.
Add - Server priority: Made the server force itself to a high priority so if there are other applications running on the server, the server's thread and process will get the highest priority to allow for best performance.
Fix - NPC quest status: Fixed the NPC name display to show the correct NPC name when killing a NPC part of a quest. Also fixed the "4 of 3 NPCs have been killed" message.
Fix - Thrall: Fixed Thrall and Dethrall - some little snip of code was left out making them not work.
Fix - Project information links: Fixed the commented project information section's links, the old /en/ tag was left in.
Add - Delay timers: Added some delay timers (with more to come as I find more things that can be exploited on a time basis) for chat and mail sending.
Change - Desc in database: Changed "desc" for a character's description to "descr" to prevent confusion with the DESC flag for descending.
Fix - GM in database: GMs in the database has been changed set 0 by default.
Change - Password encryption: Password encryption in the database has been changed to using a MD5 hash instead of RC4 encryption since MD5 is useable with PHP. Makes it possible to access accounts through PHP easier.
Add - Key phrase characters: By default, entering the character | between a phrase will make it a different color (red by default). This allows for making emphesis on words. Can be used for anything text-wise, from item descriptions to PC and NPC chat.
Remove - Password from user type: Passwords have been removed from the User type on the server since it isn't needed to be kept in memory. The password is saved only when a new char is made, and from there on, is stored in the database as a MD5 hash only used for a comparison on the entered password (check if the MD5 hashes equal).
Add - Speed: Added a Speed stat to the game, which does just as it says - increases the user's speed. Note this only increases the walking speed, not attacking or magic casting speed, as most games do that on a per-weapon basis. Works for both PCs and NPCs. This may seem like a small update, but trust me, its huge.