INACTIVE Project Alias

Status
Not open for further replies.

Damien

Don't need glasses if you can C#
Feb 26, 2012
434
647
Current Build: PRODUCTION-201707041014-428081343
Developer(s): Damien (Lead),
Supporter(s): @JayCustom (#1 fan)

Features:
  1. SSO Authentication
  2. Load User Data
  3. Enter Hotel View
  4. Retrieve User Data
  5. Hotel Landing
    • Landing Widgets
    • Target Offers
    • Other stuff

  6. Habbo Messenger
    • Load Messenger
    • Load Friend List
    • Load Conversations
    • Talk in Messenger
    • Visit Friends Rooms
    • Accept/Decline F.R
    • Remove Friend
    • See Relationship
    • Add/Remove/Update Relationship
    • Search in Messenger

  7. Habbo Room Navigator
    • Open Navigator
    • Load Navigator Categories
    • Load Private Room Categories
    • Load Public Rooms
    • Load Events Rooms
    • Load Events Categories
    • Load Your Rooms
    • Enter Random Room
    • Search in Navigator
    • Navigator Filters
    • Favorite Searches
    • Navigator Resize

  8. User Data
    • User Subscriptions
    • User Talent Data
    • User Achievements Data
    • User Profile
    • Other User Stuff

  9. Helper Tool
    • Open Tool
    • Enter in Job Status/Exit Job Status
    • Helper Types (Guardian, Helper, Ambassador)
    • Helper Tool Features
    • Handle Requests
    • Close Requests
    • Request Chat
    • Helper<>User Chat
    • Visit User/Invite User
    • Score Helper after Request Close
    • Call Random Helper
    • Helper Achievements

  10. Habbo Achievements
    • Open Achievements
    • Achievements Category
    • Receive Achievements
    • Progress Achievements

  11. Habbo Catalogue
    • Open Catalogue
    • Load Categories
    • Load Sub-Categories
    • Load Page Data
    • Load Page Items
    • Purchase Basic Items
    • Purchase Pets
    • Purchase Wired Items
    • Purchase By Interaction Type
    • Purchase Habbo Club
    • Purchase Gift
    • Purchase Exchange
    • Habbo Groups Things
    • Builders Club
  12. Habbo Club
    • Get Awards
    • Extend Subscription
    • Other Stuff

  13. Habbo Room
    • Load Room Data
    • Enter Room
    • Open Settings
    • Change/Save Settings
    • Floorplan Editor
    • Save/Export/Import Floorplan
    • Load Avatar in Room
    • Talk in Room
    • Speech Bubbles
    • Room Rights
    • Walk in Room
    • User Effects/Animations in Room
    • User Actions in Room

  14. Room Furniture
    • Load Furniture
    • Interact with Furniture
    • Move Furniture
    • Rotate Furniture
    • Place Furniture
    • Remove Furniture
    • Group Member Furniture Things

  15. Habbo Groups
    • Create Group
    • Room Group Data Serialization
    • Enter/Leave Group
    • Edit Group Settings
    • Revoke/Give Admin
    • Reject/Accept Member Invite
    • Remove from Group
    • Member Lists
  16. Habbo Group Forums
    • Post in Forum Thread
    • List Forums
    • List Forum Threads
    • Create Thread
    • Forum Settings
    • Forum Thread Actions
    • Forum Thread Answer Actions

  17. Moderation Tools
    • List User
    • Edit User
    • Edit Room
    • Create Ticket
    • Answer Ticket
    • Handle Ticket
    • Close Ticket
    • Room Chatlog
    • User Chatlog
    • Moderator Actions
  18. Habbo Pets/Habbo Bots
    • Place/Pick Pet/Bot
    • Bot/Pet Walk
    • Conversation Interaction
    • Bot Speeches/Bot Commands
    • Bot Types
    • Pet Commands
    • Pet Interactions (Toy, Food, Bed)
    • Pet Level
    • Other Stuff
  19. Room Events
    • Create Event
    • Edit/Extend Event
    • Other Stuff

  20. Other Stuff will be added here. Tell me if i forgot anything..

Screenshots:







Snipits:
Code:
public class CatalogPagesListComposer : MessageComposer
    {
        Habbo Habbo;
        List<CatalogPage> Pages;
        string MODE;

        public CatalogPagesListComposer(Habbo habbo, string MODE)
        {
            Habbo = habbo;
            this.Pages = CatalogManager.GetCatalogPages(-1, habbo);
            this.MODE = MODE;
        }

        public ServerMessage Compose()
        {
            ServerMessage message = new ServerMessage(Outgoing.CatalogPagesListMessageComposer);
            message.Boolean(true);
            message.Int(0);
            message.Int(-1);
            message.String("root");
            message.String("");
            message.Int(0);

            message.Int(Pages.Count);
            Pages.ForEach(page =>
            {
                Append(message, page);
            });

            message.Boolean(false);
            message.String(this.MODE);
            return message;
        }

        private void Append(ServerMessage message, CatalogPage catalogPage)
        {
            Pages = CatalogManager.GetCatalogPages(catalogPage.Id, Habbo);

            message.Boolean(catalogPage.Visible);
            message.Int(catalogPage.Icon);
            message.Int(catalogPage.Enabled ? catalogPage.Id : -1);
            message.String(catalogPage.Name);
            message.String(catalogPage.Caption + " (" + catalogPage.Id + ")");

            message.Int(catalogPage.OfferIds.Count);
            catalogPage.OfferIds.ForEach(id =>
            {
                message.Int(id);
            });

            message.Int(Pages.Count);
            Pages.ForEach(page =>
            {
                Append(message, page);
            });
        }
    }
 
Last edited:

Damien

Don't need glasses if you can C#
Feb 26, 2012
434
647
Not again a new emulator.. with almost erything the same.
Don't use it then.. this thread was created to motivate me to keep up development. I couldn't give a crap about how many other emulators are being developed at the moment, this is my emulator and if you don't have anything constructive to say, don't bother commenting in future. Thanks <3
 

yoyok

Member
Apr 24, 2013
197
24
Don't use it then.. this thread was created to motivate me to keep up development. I couldn't give a crap about how many other emulators are being developed at the moment, this is my emulator and if you don't have anything constructive to say, don't bother commenting in future. Thanks <3
Good luck with your emulator.
Most public emulators are not being developed anymore. Let's see what your project will bring us.
 

Mikee

Active Member
Jul 8, 2017
162
102
Goodluck, excited to see this. If it'll be like anything else you've done, then it should be nothing short of impressive.
 

Joe

Well-Known Member
Jun 10, 2012
4,172
1,955
Not again a new emulator.. with almost erything the same.
Motivated and active development continued from Plus (my guess) who also worked with Sledmore on the old Plus build, yet negative comments? It's comments like this that don't allow developers to continue their work within projects which just benefit the public completely.

Good luck Damien, from your previous work you've done some great stuff and you seem to know what you're doing. Would definitely use if I could be bothered to build another retro :D:up:
 

Pinkman

Posting Freak
Jul 27, 2016
818
194
Not again a new emulator.. with almost erything the same.
There always has to be someone to comment stupid and you are one of them.

On topic; I have worked aside you Damien and I like the way you.. lets say roll? Keep up the work and if you need anything make sure to Facebook me or give me a shout :) Goodluck in this development.
 

MayoMayn

BestDev
Oct 18, 2016
1,423
683
Good luck with this mate!

But tbh, we don't need another C# written emulator.
Biggest issue is that the language lacks cross platform support, because literally we don't need more shitty retro hotels running IIS on a Windows VPS.
 

Damien

Don't need glasses if you can C#
Feb 26, 2012
434
647
Started working on implementing mutli-currency support (same one I added into Plus r2).
Code:
public class CurrencyDatabase
{
    public static void InitCurrency(Currency currency)
    {
        using (DatabaseClient dbClient = DatabaseClient.Instance())
        {
            dbClient.AddParameter("id", currency.Habbo().Id);
            foreach (DataRow row in dbClient.DataTable("SELECT `type`, `amount` FROM `habbo_currencies` WHERE `user_id` = @id").Rows)
            {
                CurrencyType currencyType = new CurrencyType()
                {
                    Type = (int)row["type"],
                    Amount = (int)row["amount"]
                };
                currency.RequestCurrencies().Add(currencyType);
                row.Delete();
            }
        }
    }
}

Code:
public class UserCurrencyComposer : MessageComposer
{
    private Habbo habbo;

    public UserCurrencyComposer(Habbo habbo)
    {
        this.habbo = habbo;
    }

    public ServerMessage Compose()
    {
        ServerMessage result = new ServerMessage(Outgoing.UserCurrencyMessageComposer);
        result.Int(habbo.Currency().RequestCurrencies().Count);
        habbo.Currency().RequestCurrencies().ForEach(currency =>
        {
            result.Int(currency.Type);
            result.Int(currency.Amount);
        });
        return result;
    }
}

This will allow users to add different currencies without having to edit the source code. I'll also be implementing this into the catalog so different items can be brought with different currencies (same as r2).
 

Mikee

Active Member
Jul 8, 2017
162
102
Idk if your taking requests but for the IQueryAdapter class can you make a type DataColumn that returns a list or array of data. DataRow already exists, but theres no DataColumn in R1 or R2 and It'd help some devs in the future if you ever release Project Alias to the public.
 

XxMurphyxX

New Member
Jul 1, 2016
5
1
Looks very nice, I would really like to help, I used to work with one of your friends Damien, I think his name was "Kai", you have really made good work on plus, I wish you good luck on this project and hmu if you need help someday, I'm interested in new projects :D
 

Damien

Don't need glasses if you can C#
Feb 26, 2012
434
647
Navigator is all working properly now, room categories are working and linked with the navigator. Just the events tab to do now, aswell as room promotions.
R8wNC1evTQKY3lw5sCRF6Q.png


Should I code saved searches???
WkrWM-ywQManKKnALsxcHA.png

 
Idk if your taking requests but for the IQueryAdapter class can you make a type DataColumn that returns a list or array of data. DataRow already exists, but theres no DataColumn in R1 or R2 and It'd help some devs in the future if you ever release Project Alias to the public.
Yes sir!!
 
Small Update:

-User actions, sitting, dancing, signs ext have all been coded.
pK8sx6fPSRqYGRRx4_8Q9w.png


-User settings are finished (sound, old chat ext).
-Navigator changes, now works identical to habbos. Searched inside categories, + text search.

<3
 

Quackster

a devbest user says what
Aug 22, 2010
1,765
1,245
Your composers shouldn't be fetching any new data inside the function where you write the data.

You should be supplying the data through the parameters, otherwise you will confuse yourself by not knowing what data goes into what composer if you just put your Session as a parameter.

S9t00IG.png
 
Last edited:

Damien

Don't need glasses if you can C#
Feb 26, 2012
434
647
Your composers shouldn't be fetching any new data inside the function where you write the data.

You should be supplying the data through the parameters, otherwise you will confuse yourself by not knowing what data goes into what composer if you just put your Session as a parameter.

What, like this?
UlB2k9SETVKowumnuASzDQ.png
 

Quackster

a devbest user says what
Aug 22, 2010
1,765
1,245
What, like this?
UlB2k9SETVKowumnuASzDQ.png

I'm on the phone right now, and I misread your snippet. I thought the two snippets you provided about the currency was one big composer file...

How about instead of moving the goalposts and gettimg defensive, have an actual conversation instead.
 

HarmonicRain

NextGenHabbo.com
Jun 27, 2012
177
163
Here's a little quote from TheGeneral:
'This is just a C# copy of arcturus.'

If you don't believe me;

Exact same structure, including the way he handles composers etc. Including the recursive helper function.

Google the file name; what else comes up: Oh huh, all Arcturus.

And oh look; even his 'genius' idea of making currencies dynamic (Which oh wait, only Arcturus has)
Code:
private void loadCurrencies()
    {
        this.currencies = new TIntIntHashMap();

        try (Connection connection = Emulator.getDatabase().getDataSource().getConnection(); PreparedStatement statement = connection.prepareStatement("SELECT * FROM users_currency WHERE user_id = ?"))
        {
            statement.setInt(1, this.id);
            try (ResultSet set = statement.executeQuery())
            {
                while (set.next())
                {
                    this.currencies.put(set.getInt("type"), set.getInt("amount"));
                }
            }
        }
        catch (SQLException e)
        {
            Emulator.getLogging().logSQLException(e);
        }
    }

And for me to see whenever someone copies Arcturus, I on purposefully added this incorrect way of doing header titles: You know, like how cartographers put mistakes in their maps in order to find copy cats.

And even Quacksters post is valid, I don't think he has any idea what he is doing and just copies Arcturus to make himself look 'cool' or whatever. My assumption is that he has no experience with OO thinking and needed a base to rip from.

- TheGeneral
 

Damien

Don't need glasses if you can C#
Feb 26, 2012
434
647
Here's a little quote from TheGeneral:
'This is just a C# copy of arcturus.'

If you don't believe me;

Exact same structure, including the way he handles composers etc. Including the recursive helper function.

Google the file name; what else comes up: Oh huh, all Arcturus.

And oh look; even his 'genius' idea of making currencies dynamic (Which oh wait, only Arcturus has)
Code:
private void loadCurrencies()
    {
        this.currencies = new TIntIntHashMap();

        try (Connection connection = Emulator.getDatabase().getDataSource().getConnection(); PreparedStatement statement = connection.prepareStatement("SELECT * FROM users_currency WHERE user_id = ?"))
        {
            statement.setInt(1, this.id);
            try (ResultSet set = statement.executeQuery())
            {
                while (set.next())
                {
                    this.currencies.put(set.getInt("type"), set.getInt("amount"));
                }
            }
        }
        catch (SQLException e)
        {
            Emulator.getLogging().logSQLException(e);
        }
    }

And for me to see whenever someone copies Arcturus, I on purposefully added this incorrect way of doing header titles: You know, like how cartographers put mistakes in their maps in order to find copy cats.

And even Quacksters post is valid, I don't think he has any idea what he is doing and just copies Arcturus to make himself look 'cool' or whatever. My assumption is that he has no experience with OO thinking and needed a base to rip from.

- TheGeneral
Lol fuck off, just cause some composers are similarly structured doesn't mean it's a straight up rip. Last i checked the composer structures are almost identicle for every release, theres only so maby ways you can code it. Also the currency system I implanted is straight out my copy of plus, which I coded a long time ago, if the git was still up you'd probably release that.

Also how can you justify an incorrect way of handling headers for the navigator?.. If they're in the external variables and they work, why not use them? Just helps people translating later down the line.

I'll be happy to post more snippets if that's what you're requesting, but you're just a dumbass if you think I'm copying Arcturus. Java and C# are too totally different languages.
 
Is this .NET Core or framework? :) I'd like to see cross platform c# post shuffle emulator. :)
And regarding networking. Is it SAEA or u use any libraries?
@Damien
Skickat från min FRD-L09 via Tapatalk
 
@Damien any updates?
I also ported the source over to .NET Core earlier in the week after k saw your post, just been busy with work.
 
 
Last edited:

NeedForSpreed

Member
May 18, 2014
326
71
Lol fuck off, just cause some composers are similarly structured doesn't mean it's a straight up rip. Last i checked the composer structures are almost identicle for every release, theres only so maby ways you can code it. Also the currency system I implanted is straight out my copy of plus, which I coded a long time ago, if the git was still up you'd probably release that.

Also how can you justify an incorrect way of handling headers for the navigator?.. If they're in the external variables and they work, why not use them? Just helps people translating later down the line.

I'll be happy to post more snippets if that's what you're requesting, but you're just a dumbass if you think I'm copying Arcturus. Java and C# are too totally different languages.
 

I also ported the over to .NET Core earlier in the week, just been busy with work.
 
Ahh aight and for networking, u use SAEA or what? :p

Here's a little quote from TheGeneral:
'This is just a C# copy of arcturus.'

If you don't believe me;

Exact same structure, including the way he handles composers etc. Including the recursive helper function.

Google the file name; what else comes up: Oh huh, all Arcturus.

And oh look; even his 'genius' idea of making currencies dynamic (Which oh wait, only Arcturus has)
Code:
private void loadCurrencies()
    {
        this.currencies = new TIntIntHashMap();

        try (Connection connection = Emulator.getDatabase().getDataSource().getConnection(); PreparedStatement statement = connection.prepareStatement("SELECT * FROM users_currency WHERE user_id = ?"))
        {
            statement.setInt(1, this.id);
            try (ResultSet set = statement.executeQuery())
            {
                while (set.next())
                {
                    this.currencies.put(set.getInt("type"), set.getInt("amount"));
                }
            }
        }
        catch (SQLException e)
        {
            Emulator.getLogging().logSQLException(e);
        }
    }

And for me to see whenever someone copies Arcturus, I on purposefully added this incorrect way of doing header titles: You know, like how cartographers put mistakes in their maps in order to find copy cats.

And even Quacksters post is valid, I don't think he has any idea what he is doing and just copies Arcturus to make himself look 'cool' or whatever. My assumption is that he has no experience with OO thinking and needed a base to rip from.

- TheGeneral

You probably feel really cool for writing out all that! Well done, you came up with absolutely nothing. The General is a naive dude who thinks he's the best. Arcturus is nothing special. If you're going to compare this with arcturus this early then I'll happily say Arcturus is like butterfly.
 
Status
Not open for further replies.

Users who are viewing this thread

Top