Menu
Forums
All threads
Latest threads
New posts
Trending threads
New posts
Search forums
Trending
What's new
New posts
New profile posts
Latest activity
Members
Current visitors
New profile posts
Search profile posts
Upgrades
Log in
Register
What's new
Search
Search
Search titles only
By:
All threads
Latest threads
New posts
Trending threads
New posts
Search forums
Menu
Log in
Register
Navigation
Install the app
Install
More options
Contact us
Close Menu
Forums
Server Development
Habbo Retros
Habbo Development
Sadie: A clean code Habbo emulator
JavaScript is disabled. For a better experience, please enable JavaScript in your browser before proceeding.
You are using an out of date browser. It may not display this or other websites correctly.
You should upgrade or use an
alternative browser
.
Reply to thread
Message
<blockquote data-quote="habtard" data-source="post: 481664" data-attributes="member: 90778"><p><strong>April 20th</strong></p><ul> <li data-xf-list-type="ul">Finished player periodic currency reward system</li> </ul><p></p><p><strong>You can now define periodic rewards of any type using the database.</strong></p><p></p><p>[ATTACH=full]15784[/ATTACH]</p><p></p><p>Code Snippet</p><p></p><p>[ATTACH=full]15785[/ATTACH]</p><p></p><p>[ATTACH=full]15786[/ATTACH]</p><p></p><p>Any rewards given are also logged in the periodic_currency_reward_logs table.</p><p></p><p>You can also toggle between two settings with this option in server_settings</p><p>[ATTACH=full]15787[/ATTACH]</p><p></p><p>Enabled (Fair): Rewards will go off a players online time</p><p>Disabled (Unfair): Rewards fire on a fixed interval regardless of player online time.</p><p></p><p><strong>Few other bits</strong></p><ul> <li data-xf-list-type="ul">Avatar data (motto and figure code) now saved live on change for instant website updates</li> <li data-xf-list-type="ul">Fixed an issue with dbContext in multi threaded scenarios,</li> </ul><p></p><p>Catch us at the <a href="https://discord.gg/397sCP2p?event=1227651479599579206" target="_blank">Open Beta</a>!</p><p>[automerge]1713699732[/automerge]</p><p><strong>April 21st</strong></p><ul> <li data-xf-list-type="ul">Tons of refactoring, rewrote all of tile mapping</li> <li data-xf-list-type="ul">Added a few new unit tests ( related to tile mapping )</li> <li data-xf-list-type="ul">Refactored commands to list their required permissions</li> </ul><p><strong>Commands</strong></p><p>We've added a few basic commands (14 to be exact). Our plan with this is based on <a href="https://en.wikipedia.org/wiki/KISS_principle" target="_blank">KISS</a>. Further customization / ability can be done via plugins.</p><p></p><p>[ATTACH=full]15795[/ATTACH]</p><p></p><p>Few code snippets</p><p></p><p>[ATTACH=full]15792[/ATTACH]</p><p>[ATTACH=full]15793[/ATTACH]</p><p>[automerge]1713770437[/automerge]</p><p><strong>April 22nd</strong></p><ul> <li data-xf-list-type="ul">Refactored commands with further utility methods and options</li> <li data-xf-list-type="ul">Working on user walking collisions and over lapping</li> <li data-xf-list-type="ul">Added a server error writer for when the client sends an unknown header</li> <li data-xf-list-type="ul">Refactored room creation and loading</li> </ul><p></p><p>See here</p><p></p><p>[ATTACH=full]15797[/ATTACH]</p><p></p><p><strong>[ATTACH=full]15796[/ATTACH]</strong></p><p>[automerge]1713865112[/automerge]</p><p><strong>April 23rd</strong></p><ul> <li data-xf-list-type="ul">Added placement validation to furniture placements</li> <li data-xf-list-type="ul">Worked a lot on tile mapping and updating status re-actively</li> <li data-xf-list-type="ul">Optimized EF usage to be more optimal on record updates</li> <li data-xf-list-type="ul">Players now load their rooms on login to avoid re trips to the DB</li> </ul><p></p><p>[ATTACH=full]15798[/ATTACH]</p><p>[automerge]1714200893[/automerge]</p><p><strong>April 24th</strong></p><p>- Working on <a href="https://github.com/project-sadie/database" target="_blank">https://github.com/project-sadie/database</a></p><p></p><p>[ATTACH=full]15816[/ATTACH]</p><p></p><p><strong>April 25th</strong></p><ul> <li data-xf-list-type="ul">Added accounts settings page to SadieCMS</li> <li data-xf-list-type="ul">Added staff page to SadieCMS</li> <li data-xf-list-type="ul">Added player profiles (/profile/[username]) to SadieCMS</li> </ul><p></p><p><strong>April 26th</strong></p><ul> <li data-xf-list-type="ul">Working on the schema converter, about 80%</li> <li data-xf-list-type="ul">Packet writers are now serialized from their properties</li> </ul><p></p><p>[ATTACH=full]15815[/ATTACH]</p><p>[automerge]1716280300[/automerge]</p><p>Not really updating here anymore due to lack of interest but daily commits are still happening.</p><p>Checking discord for live updates.</p><p></p><p>Few highlights</p><ul> <li data-xf-list-type="ul">Tons of refactoring</li> <li data-xf-list-type="ul">Furniture interaction updates</li> <li data-xf-list-type="ul">Event and packet serialization</li> </ul><p>[automerge]1718004257[/automerge]</p><p><strong>Plugin Support</strong></p><p></p><p>Sadie now supports plugins for commands and furniture interactions.</p><p>Just make a class that inherits from the matching interface and you're done.</p><p></p><p>Test example</p><p>[ATTACH=full]15919[/ATTACH]</p><p></p><p>[ATTACH=full]15920[/ATTACH]</p><p></p><p>In the coming weeks I'll be improving this and providing a better API design, possibly opening it up to extra events but its a start.</p><p>[automerge]1718116049[/automerge]</p><p>Ton of refactoring done, whole solutions now cleaner.</p><p></p><p><strong>Room Bots</strong></p><p>You can now view them in inventory</p><p></p><p>[ATTACH=full]15922[/ATTACH]</p><p></p><p>I've also done a lot of refactoring to how room users work, a lot of logic is now shared but not mixed (critical difference). Previous emulators like Arcturus and Plus have merged these responsibilities incorrectly which opens the opportunity for further over engineering to create a "distinction".</p><p></p><p>Sadie decouples the shared logic and extends it through deriving from the shared 'movement' class, a bot is a bot and a user is a user, design choices are open for discussion at this point.</p><p></p><p>Here is an example:</p><p></p><p>[ATTACH=full]15923[/ATTACH]</p><p>[automerge]1718198759[/automerge]</p><p><strong>Furniture Interactions</strong></p><p>Can now purchase and use teleports (see discord for videos)</p><p></p><p>Also mood lights have been done</p><p></p><p>[ATTACH=full]15924[/ATTACH]</p><p></p><p>Probably more but I don't update here much anymore.</p><p></p><p>See discord for live updates.</p><p>[automerge]1718269271[/automerge]</p><p>OneWayGates (quality is shit cuz ffmpeg, I record in mkv).</p><p></p><p>[ATTACH=full]15928[/ATTACH]</p><p>[automerge]1718275940[/automerge]</p><p>Extended the interaction API a lot, you can now write interactors for OnMove, OnWalkOn and OnWalkOff.</p><p></p><p>[ATTACH=full]15929[/ATTACH]</p></blockquote><p></p>
[QUOTE="habtard, post: 481664, member: 90778"] [B]April 20th[/B] [LIST] [*]Finished player periodic currency reward system [/LIST] [B]You can now define periodic rewards of any type using the database.[/B] [ATTACH type="full" alt="1713595726310.png"]15784[/ATTACH] Code Snippet [ATTACH type="full" alt="1713595771728.png"]15785[/ATTACH] [ATTACH type="full" alt="1713595803897.png"]15786[/ATTACH] Any rewards given are also logged in the periodic_currency_reward_logs table. You can also toggle between two settings with this option in server_settings [ATTACH type="full" alt="1713595990374.png"]15787[/ATTACH] Enabled (Fair): Rewards will go off a players online time Disabled (Unfair): Rewards fire on a fixed interval regardless of player online time. [B]Few other bits[/B] [LIST] [*]Avatar data (motto and figure code) now saved live on change for instant website updates [*]Fixed an issue with dbContext in multi threaded scenarios, [/LIST] Catch us at the [URL='https://discord.gg/397sCP2p?event=1227651479599579206']Open Beta[/URL]! [automerge]1713699732[/automerge] [B]April 21st[/B] [LIST] [*]Tons of refactoring, rewrote all of tile mapping [*]Added a few new unit tests ( related to tile mapping ) [*]Refactored commands to list their required permissions [/LIST] [B]Commands[/B] We've added a few basic commands (14 to be exact). Our plan with this is based on [URL='https://en.wikipedia.org/wiki/KISS_principle']KISS[/URL]. Further customization / ability can be done via plugins. [ATTACH type="full" alt="1713699684457.png"]15795[/ATTACH] Few code snippets [ATTACH type="full" alt="1713685719308.png"]15792[/ATTACH] [ATTACH type="full" alt="1713686711823.png"]15793[/ATTACH] [automerge]1713770437[/automerge] [B]April 22nd[/B] [LIST] [*]Refactored commands with further utility methods and options [*]Working on user walking collisions and over lapping [*]Added a server error writer for when the client sends an unknown header [*]Refactored room creation and loading [/LIST] See here [ATTACH type="full" alt="1713770241377.png"]15797[/ATTACH] [B][ATTACH type="full" alt="1713770096780.png"]15796[/ATTACH][/B] [automerge]1713865112[/automerge] [B]April 23rd[/B] [LIST] [*]Added placement validation to furniture placements [*]Worked a lot on tile mapping and updating status re-actively [*]Optimized EF usage to be more optimal on record updates [*]Players now load their rooms on login to avoid re trips to the DB [/LIST] [ATTACH type="full" alt="ezgif-2-fb28c500d9.gif"]15798[/ATTACH] [automerge]1714200893[/automerge] [B]April 24th[/B] - Working on [URL]https://github.com/project-sadie/database[/URL] [ATTACH type="full" alt="1714200884603.png"]15816[/ATTACH] [B]April 25th[/B] [LIST] [*]Added accounts settings page to SadieCMS [*]Added staff page to SadieCMS [*]Added player profiles (/profile/[username]) to SadieCMS [/LIST] [B]April 26th[/B] [LIST] [*]Working on the schema converter, about 80% [*]Packet writers are now serialized from their properties [/LIST] [ATTACH type="full" alt="1714200851198.png"]15815[/ATTACH] [automerge]1716280300[/automerge] Not really updating here anymore due to lack of interest but daily commits are still happening. Checking discord for live updates. Few highlights [LIST] [*]Tons of refactoring [*]Furniture interaction updates [*]Event and packet serialization [/LIST] [automerge]1718004257[/automerge] [B]Plugin Support[/B] Sadie now supports plugins for commands and furniture interactions. Just make a class that inherits from the matching interface and you're done. Test example [ATTACH type="full" alt="1718004163554.png"]15919[/ATTACH] [ATTACH type="full" alt="1718004188252.png"]15920[/ATTACH] In the coming weeks I'll be improving this and providing a better API design, possibly opening it up to extra events but its a start. [automerge]1718116049[/automerge] Ton of refactoring done, whole solutions now cleaner. [B]Room Bots[/B] You can now view them in inventory [ATTACH type="full" alt="1718115971182.png"]15922[/ATTACH] I've also done a lot of refactoring to how room users work, a lot of logic is now shared but not mixed (critical difference). Previous emulators like Arcturus and Plus have merged these responsibilities incorrectly which opens the opportunity for further over engineering to create a "distinction". Sadie decouples the shared logic and extends it through deriving from the shared 'movement' class, a bot is a bot and a user is a user, design choices are open for discussion at this point. Here is an example: [ATTACH type="full" alt="1718116218057.png"]15923[/ATTACH] [automerge]1718198759[/automerge] [B]Furniture Interactions[/B] Can now purchase and use teleports (see discord for videos) Also mood lights have been done [ATTACH type="full" alt="1718198736406.png"]15924[/ATTACH] Probably more but I don't update here much anymore. See discord for live updates. [automerge]1718269271[/automerge] OneWayGates (quality is shit cuz ffmpeg, I record in mkv). [ATTACH type="full"]15928[/ATTACH] [automerge]1718275940[/automerge] Extended the interaction API a lot, you can now write interactors for OnMove, OnWalkOn and OnWalkOff. [ATTACH type="full"]15929[/ATTACH] [/QUOTE]
Insert quotes…
Verification
Post reply
Forums
Server Development
Habbo Retros
Habbo Development
Sadie: A clean code Habbo emulator
Top