Plus Emu r2.1 [RP] [Project Butter C#]

Status
Not open for further replies.

Crup

weeeeee
Jul 25, 2010
545
310
Greetings, I present Project Butter, a r63b habbo emulator based of silverware (Plus Emu r2.1) with habbo's latest user interface and unique RP features. I chose this emulator because, Reality is overused and so far, the emulator seems stable and capable of holding hundreds of users. I intend to make this emulator unique and going back to the good ol' days. Most of Project Butter's features will reflect from v26 RPs like, Color Wars, Police Bots, Mafia Wars, Gang Turfs, Corporations etc. This emulator won't be cluttered with useless commands like most other rp developments but rather with basic rp features. I started this project about a few days ago and I've made a lot of progress. Most of the features will be cached (less queries). The Emulator will be released in full source.

Features:
  • Basic RP Features (hitting, arrest, etc.)
  • Police Bot (Fast and responsive A.I System)
  • Games (Color Wars, Mafia Wars, Brawl)
  • Corporations (NYPD, Hospital Banks and some new ones)
  • Gang System & Turfs (All 4 turfs)
  • Day System (Day and Night using moodlight)
  • A.I Pet (Users will be able to interact with pets, purchasing them for a farm or even killing them for food.)
and much more..

Thank you and here are my current Progress:

sDxhD7U.png

r0VgwB6.png

User's progress will now be shown when logged into the hotel. 7/14/2014
New users are redirected to the main room. 7/14/2014
User's room visits are now cached and will respawn to the room they left before. 7/15/2014
User's coordinate are now cached and will respawn to the spot they left before. 7/15/2014

RP Stats are now cached 7/16/2014
Stats command coded. 7/16/2014
Users are no longer able to change their motto. 7/16/2014
Emulator core re-edit. 7/16/2014
Created a loop to handle rp timers 7/16/2014
hunger and energy will play a big part in user's activity. If you're active (ex: walking around, fighting, etc.) you'll start to lose energy. If you starve your self, your hunger will rise. 7/17/2014
hit command coded 7/17/2014
police bot are now responsive and will arrest if they witness a crime 7/17/2014

Code:
 DataTable dTable;
                dbClient.setQuery("SELECT health,hunger,energy,strength,deaths,dead,jailed,hits,xp,xpdue,job,arrests,kills,noob FROM users WHERE id = '" + Id + "' LIMIT 1");
                dTable = dbClient.getTable();
                foreach (DataRow dRow in dTable.Rows)
                {

                    Health = (int)dRow[0];
                    Energy = Convert.ToInt32(dRow[2]);
                    Hunger = Convert.ToInt32(dRow[1]);
                    Kills = Convert.ToInt32(dRow[12]);
                    XP = Convert.ToInt32(dRow[8]);
                    XPdue = Convert.ToInt32(dRow[9]);
                    Strength = Convert.ToInt32(dRow[3]);
                    Deaths = Convert.ToInt32(dRow[4]);
                    Jailed = Convert.ToInt32(dRow[6]);
                    Dead = Convert.ToInt32(dRow[5]);
                    Job = Convert.ToInt32(dRow[10]);
                    Punches = Convert.ToInt32(dRow[7]);
                    Arrests = Convert.ToInt32(dRow[11]);
                    Noob = Convert.ToInt32(dRow[13]);

p.s: This development will be slow as I have a life.
 
Last edited:

Jeffrey

Devbest Indian Tech Support
FindRetros Moderator
Feb 5, 2013
1,180
412
Looking good. This is one of a few projects im interested ;) Good luck.
(OFT: inb4 @Sledmore gives you advice cause hes a pro at habbo stuff )
 

Crup

weeeeee
Jul 25, 2010
545
310

Update:
Police Bots now respond to 911 calls and will chase criminals thru rooms.
If your health is low, your body will blink in red to help notify that you need medical aid.
If users are killed, they are knocked down to the ground and will have to wait for paramedic bots to revive them.
Started working on Jobs.
Dead System is completed.
You are now notified when you receive XP. thru a packet.
Uses can no longer change their outfit.
Users can no longer room jump, or follow their friends thru messenger.
Fixed a bug that prevents users from entering the room.
Started working on auto logout.
Edited the cache system.
Users will now go AFK if they are idle for more than 3 minutes.
User's health loss are notified when attacked.
uCBKGAx.png
 
Last edited:

Crup

weeeeee
Jul 25, 2010
545
310
User's rotation are now cached.
Jail timer are now cached.
Jail system completed.
Users will no longer need to use commands to start work or check their stats.
Started working on Jobs.
Police Bots will now recognize you when it chase you thru rooms.
o14w8Jc.png
 

Mexicano

El Patrón
Aug 14, 2013
363
175
User's rotation are now cached.
Jail timer are now cached.
Jail system completed.
Users will no longer need to use commands to start work or check their stats.
Started working on Jobs.
Police Bots will now recognize you when it chase you thru rooms.
o14w8Jc.png
woah thats nice man, i hope this project actually finishes. Most of developements die. Good luck! :D
 

Sledmore

Chaturbate Livestreamer
Staff member
FindRetros Moderator
Jul 24, 2010
5,194
3,901
Looks cool, please post a few more snippets to give hope of a release.
 

Crup

weeeeee
Jul 25, 2010
545
310
Looks cool, please post a few more snippets to give hope of a release.

Sure
Code:
 public void Startwork()
        {

            Room Roomm = CurrentRoom;
            RoomUser roomUser = Roomm.GetRoomUserManager().GetRoomUserByHabbo(Id);
            if (Jailed > 0 || Dead > 0 || roomUser.Stunned || subCooldown > 0)
                Responds();
            else if (Job == 0)
                GetClient().SendWhisper("This action can not be performed, you do not have a job!");
            else if (Working == true)
                GetClient().SendWhisper("This action can not be performed, you're already working!");
            else
            {
                    if (JobRoom == CurrentRoomId || Job == 1)
                    {
                      
                            ServerMessage RoomUpdate = new ServerMessage(Outgoing.UpdateUserInformation);
                            string uniform = Figure(Look) + Joboutfit;
                            Motto = "" + JobMotto + " [Working]";
                            Working = true;
                            this.Look = uniform;
                            Roomm.SendMessage(new ChatComposer(roomUser.VirtualId, "*begins to start work*", 0, roomUser.LastBubble));
                            RoomUpdate.AppendString(Motto);
                            subCooldown = 15;
                        }
                    else
                    GetClient().SendWhisper("You need to be in your workplace to begin working");
                }
        }

public void DeadSetup(int time, bool SentHosp)
        {
            this.Dead = time;
            if (SentHosp == false)
                HospitalBotDelay = SilverwaveEnvironment.GetRandomNumber(10, 60);
            else if (SentHosp == true)
            {
                ServerMessage RoomUpdate = new ServerMessage(Outgoing.UpdateUserInformation);
                GetClient().SendMessage(new RoomForwardComposer(false, 2));
                previousMotto = Motto;
                Motto = Motto + " [Dead]";
                this.Health = MaxHealth;
                this.DeadTimer = 100;
                RoomUpdate.AppendString(Motto);
            }
        }
 
Last edited:

Crup

weeeeee
Jul 25, 2010
545
310
Created a separate table for user's stats.
Police Bots are now limited to 2 per room.
Fixed a couple of bugs
Edit the dead system
Dead timer now caches..
Video of a user dying and paramedic bots responding:
 

BenHands

Member
Oct 10, 2011
200
38
Looks good Crup, any more recent updates?

It'd be good to see something else than Reality for a change,

I can't believe myself I still use Reality till this day lol.
 

ArchoCrime

Member
Aug 13, 2014
98
1
The shooting command was a already invented, you just changed what it says... Other than that, great job!
 

Threading

New Member
Aug 13, 2014
10
4
Looks nice. In regards to your paramedic bots is there a timer / tick by which to check if a user requires one in the main game loop?
 

Crup

weeeeee
Jul 25, 2010
545
310
Will you release also swfs and cms?
maybe.

Update:
Automatic Logout coded
Gang Bots coded
Gang Bots will only attack if your gang is not neutral or if you're claiming their turf
XP now caches
Taxi now delays depending on your rank/job
Bots can now arrest other bots or even fight other bots
Bots/Pets can now follow their master through rooms
Bots/Pets will defend their master if they are attacked by users or a bot
Gates now automatically open when you're in front of them
Gang bots can now walk through arrows/teleporter
FEJbuyB.png
credits goes to sledmore, got the idea from v26 rps.
Code:
        public void Taxi(int RoomId)
        {
            RoomUser roomUser = CurrentRoom.GetRoomUserManager().GetRoomUserByHabbo(Id);
            if (Jailed > 0 || Dead > 0 || roomUser.Stunned || dubCooldown > 0)
                Responds();
            else
            {
                if (TaxiDest > 0 && TaxiTime > 0)
                    return;
                using (IQueryAdapter dbClient = SilverwaveEnvironment.GetDatabaseManager().getQueryreactor())
                {
                    dbClient.setQuery("SELECT * FROM rooms WHERE id = " + RoomId + "");
                    DataTable dbTable = dbClient.getTable();
                    foreach (DataRow Row in dbTable.Rows)
                    {
                        if (Convert.ToInt32(Row[0]) > 0)
                        {
                            dubCooldown = 7;
                            CurrentRoom.SendMessage(new ShoutComposer(roomUser.VirtualId, "*calls for a taxi to " + Convert.ToString(Row[2]) + " [" + Convert.ToInt32(Row[0]) + "]*", 0, roomUser.LastBubble));
                            TaxiDest = Convert.ToInt32(Row[0]);
                            if (Rank == 1)
                                TaxiTime = SilverwaveEnvironment.GetRandomNumber(40, 80);
                            else if (Rank > 1 || Job == 1 && Working)
                                TaxiTime = SilverwaveEnvironment.GetRandomNumber(20, 30);
                        }
                    }
                }
            }
        }
 
Status
Not open for further replies.

Users who are viewing this thread

Top