IHI Habbo Impersonate (Coffee TM)

Page 22 of 28 FirstFirst ... 12141516171819202122232425262728 LastLast
Results 526 to 550 of 697
  1. #526
    Ultra Light Beam Makarov is offline
    MemberRank
    Apr 2010 Join Date
    GothamLocation
    3,622Posts

    Re: Ion H[a]bbo Impersonate (IHI)

    The plugins are very easy to make, I made a Hello World for a future tutorial with Chris a few days ago.

  2. #527
    RaGEZONE VETERAN TomSpit is offline
    MemberRank
    Aug 2007 Join Date
    United KingdomLocation
    1,490Posts

    Re: Ion H[a]bbo Impersonate (IHI)

    Quote Originally Posted by Jontycat View Post
    I think that's exactly what it's meant to be :)
    Ah - I see. So this provides the pathfinder, database connection, etc and then a plugin will provide the habbo protocol depending on the version. That's quite smart and I await to see multi-client-version plugins working in the near future.

    Quote Originally Posted by Tr0ll.™ View Post
    The plugins are very easy to make, I made a Hello World for a future tutorial with Chris a few days ago.
    That's always good to hear!

  3. #528
    Occasional Visitor Cecer is offline
    MemberRank
    Aug 2006 Join Date
    EnglandLocation
    743Posts

    Re: Ion H[a]bbo Impersonate (IHI)

    Quote Originally Posted by Žak™ View Post
    I'm glad you love my figures chris.
    I hate it! The IDs are very wrong. No body. No hair.
    I have had to add to it just to log in.

    Quote Originally Posted by TomSpit View Post
    Ah - I see. So this provides the pathfinder, database connection, etc and then a plugin will provide the habbo protocol depending on the version. That's quite smart and I await to see multi-client-version plugins working in the near future.!
    Not quite

    For starters, plugins provide the pathfinder. The pathfinder is set per user, not per room.

    The main idea of plugins is to keep stuff that changes or is optional apart from what is the same in all clients (more or less).

  4. #529
    RaGEZONE VETERAN TomSpit is offline
    MemberRank
    Aug 2007 Join Date
    United KingdomLocation
    1,490Posts

    Re: Ion H[a]bbo Impersonate (IHI)

    Quote Originally Posted by cecer1 View Post
    Not quite

    For starters, plugins provide the pathfinder. The pathfinder is set per user, not per room.

    The main idea of plugins is to keep stuff that changes or is optional apart from what is the same in all clients (more or less).
    Sounds wacky but I'm really looking forward to seeing it!

  5. #530
    Alpha Member Zak© is offline
    MemberRank
    Oct 2007 Join Date
    2,693Posts

    Re: Ion H[a]bbo Impersonate (IHI)

    Quote Originally Posted by cecer1 View Post
    I hate it! The IDs are very wrong. No body. No hair.
    I have had to add to it just to log in.



    Not quite

    For starters, plugins provide the pathfinder. The pathfinder is set per user, not per room.

    The main idea of plugins is to keep stuff that changes or is optional apart from what is the same in all clients (more or less).
    Keep ya hair on!

    Hair and skin ids wont take long

  6. #531
    :joy: Jonteh is offline
    MemberRank
    Apr 2007 Join Date
    New York, USALocation
    3,372Posts

    Re: Ion H[a]bbo Impersonate (IHI)

    Quote Originally Posted by Žak™ View Post
    Keep ya hair on!

    Hair and skin ids wont take long
    He wants to get his hair back :(

  7. #532
    Proficient Member Boraida is offline
    MemberRank
    May 2011 Join Date
    The NetherlandsLocation
    161Posts

    Re: Ion H[a]bbo Impersonate (IHI)

    Good Luck with this Cecer1

  8. #533
    Occasional Visitor Cecer is offline
    MemberRank
    Aug 2006 Join Date
    EnglandLocation
    743Posts

    Re: Ion H[a]bbo Impersonate (IHI)

    Thanks, it isn't easy when my computer is in the hall with nothing but a power cable and a wireless adapter. (My room is being redecorated.) But it is getting there.

  9. #534
    Account Upgraded | Title Enabled! PR0 is offline
    MemberRank
    Mar 2007 Join Date
    1,206Posts

    Re: Ion H[a]bbo Impersonate (IHI)

    Quote Originally Posted by cecer1 View Post
    Thanks, it isn't easy when my computer is in the hall with nothing but a power cable and a wireless adapter. (My room is being redecorated.) But it is getting there.
    Keep taking your sweet time with it man, in the end it'll be just that much sweeter! Looking forward to its debut, been following its progress since day 1, the last shockwave version is my favourite.

    If you cba, can you upload some screenies of certain things to give us a better idea of what's done?

    Hope your room turned out well.

  10. #535
    Occasional Visitor Cecer is offline
    MemberRank
    Aug 2006 Join Date
    EnglandLocation
    743Posts

    Re: Ion H[a]bbo Impersonate (IHI)

    Plugin Changes
    Many hours of research.
    More problems than I can remember.
    One huge headache.
    I have finally given up with the current plugin system.
    (But it isn't as bad as it sounds)

    Here are the changes to the planned plugin system:

    • Plugins can no longer be stopped.
      • To update/unload a plugin you have to restart IHI.
    • IHI can't automatically tell which plugin called a method.
    • Plugins can't have separate access. They all run as administrator.
      • IHI requires administrator for the WebAdmin.



    In other news
    I now have my room back along with computer and a working mouse.
    I'll start reforming the plugin system tonight and then resume work on the newer, simpler plugin format.

  11. #536
    Enthusiast Cypeh is offline
    MemberRank
    Aug 2011 Join Date
    London, UKLocation
    28Posts

    Re: Ion H[a]bbo Impersonate (IHI)

    Quote Originally Posted by cecer1 View Post
    Plugin Changes
    Many hours of research.
    More problems than I can remember.
    One huge headache.
    I have finally given up with the current plugin system.
    (But it isn't as bad as it sounds)

    Here are the changes to the planned plugin system:

    • Plugins can no longer be stopped.
      • To update/unload a plugin you have to restart IHI.
    • IHI can't automatically tell which plugin called a method.
    • Plugins can't have separate access. They all run as administrator.
      • IHI requires administrator for the WebAdmin.



    In other news
    I now have my room back along with computer and a working mouse.
    I'll start reforming the plugin system tonight and then resume work on the newer, simpler plugin format.
    What was wrong with the old Plugin System?

  12. #537
    Occasional Visitor Cecer is offline
    MemberRank
    Aug 2006 Join Date
    EnglandLocation
    743Posts

    Re: Ion H[a]bbo Impersonate (IHI)

    Quote Originally Posted by Cypeh View Post
    What was wrong with the old Plugin System?
    It made my brain hurt trying to figure it out

  13. #538
    Thanks for the memories! Mithex is offline
    MemberRank
    May 2010 Join Date
    HeavenLocation
    2,014Posts
    Cecer me and you need one of our discovering conversations again where you spend a hour explining to ne how somthing works, and once I understand it I immediatly figure out a solution.

  14. #539
    Occasional Visitor Cecer is offline
    MemberRank
    Aug 2006 Join Date
    EnglandLocation
    743Posts

    config Re: Ion H[a]bbo Impersonate (IHI)

    Random Description
    By default IHI doesn't block much at all.
    Room rights default to enabled (though not shown in the client).
    Room passwords/doorbells are not effective by default.

    The way stuff is blocked is (as ever) with plugins.
    Most events come in two flavours. PreAction and PostAction.
    PreAction events fire before the action is performed (e.g. Moving furni).
    PostAction events fire after the action has been performed.

    Here is an example (not actual source code):
    PHP Code:
    public override void Start()
    {
        
    // Register events
        
    RoomDistributer.OnPreFurniMove += new FurniMoveEventHandler(MoveRightsEnforcer);
        
    RoomDistributer.OnPostFurniMove += new FurniMoveEventHandler(MoveRightsReporter);
    }

    private 
    void MoveRightsEnforcer(object sourceFurniMoveEventArgs e)
    {
        
    Habbo Mover = (e.GetMover() as Habbo);
        if(
    Mover == null)
            return; 
    // Not caused by a Habbo, no right check required.

        // Example method, demonstration purposes only.    
        
    if(!Mover.SomeMethodToCheckRights())
        {
            
    // Mark it as cancelled
            
    e.Cancel();
        }    
    }
    private 
    void MoveRightsReporter(object sourceFurniMoveEventArgs e)
    {
        if(
    e.IsCancelled())
        {
            
    // Furni hasn't moved
        
    }
        else
        {
            
    // Furni has moved.
        
    }


  15. #540
    Developer Quackster is offline
    DeveloperRank
    Dec 2010 Join Date
    AustraliaLocation
    3,483Posts

    Re: Ion H[a]bbo Impersonate (IHI)

    Ah I understand completely Chris. I like the Post and Pre actions.


  16. #541
    Occasional Visitor Cecer is offline
    MemberRank
    Aug 2006 Join Date
    EnglandLocation
    743Posts

    Re: Ion H[a]bbo Impersonate (IHI)

    I'm getting a little bored of IHI today. I have decide to use some of the IHI Server development time to work on IHI Website (commonly refered to as the CMS).

  17. #542
    Thanks for the memories! Mithex is offline
    MemberRank
    May 2010 Join Date
    HeavenLocation
    2,014Posts

    Re: Ion H[a]bbo Impersonate (IHI)

    Can you unblock me from MSN?

  18. #543
    Occasional Visitor Cecer is offline
    MemberRank
    Aug 2006 Join Date
    EnglandLocation
    743Posts

    Re: Ion H[a]bbo Impersonate (IHI)

    Quote Originally Posted by Mithex View Post
    Can you unblock me from MSN?
    I blocked you?

  19. #544
    Occasional Visitor Cecer is offline
    MemberRank
    Aug 2006 Join Date
    EnglandLocation
    743Posts

    Re: Ion H[a]bbo Impersonate (IHI)

    More Plugin Changes
    The other day I improved my installation code which makes it far more useful.
    Plugins can now hook into the installer and get values later on.

    Before:
    Spoiler:

    1. IHI sets the encoding to UTF8 by default then initializes an instance of the StandardOut class.
    2. IHI checks for the config.xml file and runs the installation if missing.
    3. The rest of IHI loads up.
    4. IHI scans the plugin directory of plugins then loads and starts them.



    Now:
    Spoiler:

    1. IHI sets the encoding to UTF8 by default then initializes an instance of the StandardOut class.
    2. IHI scans the plugin directory for plugins then loads them.
    3. IHI checks for any installation tasks and will execute.
    4. The rest of IHI loads up.
    5. The plugins are started.




    What is important here is when the plugins are loaded. All plugins have a class which inherits IHI.Server.Plugin. An instance of this class is created when loading the plugin and therefore executing the constructor.

    The constructor is the only place you should register installation pages. You should save the return values from the constructor when the plugin is started.



    For anyone interested, here is the current installation configuration:
    Spoiler:
    PHP Code:
    Install.Core InstallerCore CoreManager.GetInstallerCore();

    InstallerCore.
        
    AddCategory(
            
    "StandardOut",
            new 
    Install.Category("Standard Out Configuration").
                
    AddStep("Importance",
                    new 
    Install.StringStep(
                        
    "Default Importance",
                        
    "This is the minimum importance level that messages must have to be printed to standard out.",
                        new 
    string[] {
                            
    "DEBUG",
                            
    "NOTICE",
                            
    "IMPORTANT",
                            
    "WARNING",
                            
    "ERROR" },
                        
    "NOTICE"))).
        
    AddCategory(
            
    "Database",
            new 
    Install.Category("Database Configuration").
                
    AddStep("Host",
                    new 
    Install.StringStep(
                        
    "MySQL Host",
                        
    "This is the Hostname or IP Address used to connect to the MySQL server.",
                        new 
    string[] {
                            
    "localhost",
                            
    "127.0.0.1",
                            
    "db.somedomain.com"
                        
    },
                        
    "localhost")).
                
    AddStep("Port",
                    new 
    Install.UShortStep(
                        
    "MySQL Port",
                        
    "This is the Port used to connect to the MySQL server.",
                        new 
    string[] {
                            
    "3306",
                            
    "12345"
                        
    },
                        
    3306)).
                
    AddStep("Username",
                    new 
    Install.StringStep(
                        
    "MySQL Username",
                        
    "This is the Username used to authenticate with the MySQL server.",
                        new 
    string[] {
                            
    "ihi",
                            
    "root",
                            
    "chris"
                        
    },
                        
    "ihi")).
                
    AddStep("Password",
                    new 
    Install.PasswordStep(
                        
    "MySQL Password",
                        
    "This is the Password used to authenticate with the MySQL server.",
                        
    "ChangeMe")).
                
    AddStep("MinimumPoolSide",
                    new 
    Install.IntStep(
                        
    "MySQL Minimum Pool Side",
                        
    "This is the minimum amount of MySQL connections to maintain in the pool.",
                        new 
    string[] {
                            
    "1",
                            
    "5"
                        
    },
                        
    1,
                        
    1)).
                
    AddStep("MaximumPoolSide",
                    new 
    Install.IntStep(
                        
    "MySQL Maximum Pool Side",
                        
    "This is the maximum amount of MySQL connections to maintain in the pool.",
                        new 
    string[] {
                            
    "1",
                            
    "5"
                        
    },
                        
    1,
                        
    1))).
                 
    AddCategory("Network",
                    new 
    Install.Category("Network").
                        
    AddStep(
                            
    "GameHost",
                            new 
    Install.StringStep(
                                
    "Game Host",
                                
    "This is the host (normally an IP) to bind the listener for normal game connections.",
                                new 
    string[]
                                {
                                    
    "127.0.0.1",
                                    
    "192.168.1.12",
                                    
    "5.24.246.133"
                                
    },
                                
    "127.0.0.1")).
                        
    AddStep(
                            
    "GamePort",
                            new 
    Install.UShortStep(
                                
    "Game Port",
                                
    "This is the port to bind the listener for normal game connections.",
                                new 
    string[]
                                {
                                    
    "14478",
                                    
    "30000"
                                
    },
                                
    14478)).
                        
    AddStep(
                            
    "WebAdminPort",
                            new 
    Install.UShortStep(
                                
    "WebAdmin Port",
                                
    "This is the port to bind the WebAdmin listener.",
                                new 
    string[]
                                {
                                    
    "14480",
                                    
    "30002"
                                
    },
                                
    14478))); 
    Last edited by Cecer; 19-09-11 at 01:00 AM.

  20. #545
    Occasional Visitor Cecer is offline
    MemberRank
    Aug 2006 Join Date
    EnglandLocation
    743Posts

    Re: Ion H[a]bbo Impersonate (IHI)

    Okay, college has been getting quite time consuming recently.
    To show that I do still work on IHI when I get some time I made a new (yet random) video.

    IHI - Random Timelapse - YouTube

  21. #546
    Ultra Light Beam Makarov is offline
    MemberRank
    Apr 2010 Join Date
    GothamLocation
    3,622Posts

    Re: Ion H[a]bbo Impersonate (IHI)

    Ah my Shenmue buddy, that video was indeed awesome.
    Last edited by Makarov; 03-10-11 at 09:04 PM.

  22. #547
    The one and only! Hejula is offline
    MemberRank
    Nov 2008 Join Date
    4,128Posts

    Re: Ion H[a]bbo Impersonate (IHI)

    Quote Originally Posted by cecer1 View Post
    Okay, college has been getting quite time consuming recently.
    To show that I do still work on IHI when I get some time I made a new (yet random) video.

    IHI - Random Timelapse - YouTube
    How much drugs did you take to work that fast?! :o

    Haha just joking. Looks awesome :)

  23. #548
    "(still lacks brains)" NoBrain is offline
    MemberRank
    Sep 2011 Join Date
    United KingdomLocation
    2,658Posts

    Re: Ion H[a]bbo Impersonate (IHI)

    Quote Originally Posted by Hejula View Post
    How much drugs did you take to work that fast?! :o

    Haha just joking. Looks awesome :)
    He should put a warning in the Video description.

    WARNING: Alot of speed was involved in the making of this video.

  24. #549
    Developer Quackster is offline
    DeveloperRank
    Dec 2010 Join Date
    AustraliaLocation
    3,483Posts

    Re: Ion H[a]bbo Impersonate (IHI)

    That was certainly fun to watch! It looks great Chris :D

  25. #550
    Alpha Member Zak© is offline
    MemberRank
    Oct 2007 Join Date
    2,693Posts

    Re: Ion H[a]bbo Impersonate (IHI)

    Is it me or did i see a chinese bloke on Chris's screen!?!?

    Anyway nice job good luck



Advertisement