Comet is a high performance game server written in Java.
leonhartley / comet-java Goto Github PK
View Code? Open in Web Editor NEWHabbo emulator written in Java.
License: Other
Habbo emulator written in Java.
License: Other
Is possible to configure, but doesn't work
If you buy a item from the catalogue which you searched (a furniture with a offer_id):
http://prntscr.com/dlvb4v
And you gift it to anyone, they can't open it.
It's because the emulator can't get the catalogue page from furniture with an offer_id.
This is the data of the gift that can't get open:
GIFT::##{"pageId":-12345678,"itemId":486735381,"senderId":3,"receiver":"M","message":"","spriteId":3372,"wrappingPaper":0,"decorationType":0,"showUsername":true,"extraData":""}
It will work again when the pageId is correct settled in the data.
Some players don't receive some messages from friends that are send via friendlist messenger.
You won't be able to go in a teleporter anymore when many people used it.
Everytime you click to get in, it won't do anything.
in habblet Users enter the hotel with 80 fakes
If you configure 'wf_act_match_to_sshot' and 'wf_act_toggle_state' on a timer, and it reaches 00:00 and you try the action again, it sets the timer on a random time.
Example:
https://gyazo.com/8eec071db471ec52a3a034d3a4ead4a5
The staple was configured to reset the timer on 00:30
Timer used = 'bb_counter'
If you configure a stacktile on 100, it goes to 40 automatic but you can't stack on it. Works again when you click on the button: http://prntscr.com/djv05x
It should direct work without clicking again on the button
(Still not fixed after some changed in it)
When a normal player hides his thread/message in a forum, it gets state 20.
When a staff hides a thread/message, it should set the state of the thread/message on 20
When a player hides a thread/message, it should set the state of the thread/message on 10
State 20 is the default state at the moment for every thread/message that's hided which cause the message: 'Hidden by Hotel staff'
Example:
http://prntscr.com/dkra58
Add a check to see if the Room Category a room is set is actually a valid category because when upgrading or converting a database a room category id may no longer be valid causes null error in RoomWriter class at
"msg.writeInt(room.getData().getCategory().canTrade() ? 2 : 0);"
.getCategory() is null
The in-correct way at the moment:
:reload catalog does open the catalogue by every player online.
The correct way:
If i do :reload catalog, and someone got the catalogue open. It needs get open again by the players who already got the catalogue open and let it show a message: 'There has been worked on the catalogue' or something like that.
The catalogue should not get opened or re-opened by the players who didn't even got the catalogue open.
Furniture on rollers doesn't roll if there's furniture under the roller
======================================== Minigames ============================================
Slot machines
User would double click a slot machine furniture but before double clicking they can execute a command such as ;gamble (amount) this makes it so that user can bet what he/she wants and the more they bet the more they win if they get lucky that is.
Color Wars (If possible if not then scrap this) - This is basically kickwars
So basically two teams either on the blue side or green side, they fight each other in a specific room, they would have to go through a gate such as the barzaini gate or whatever its called and once they go through the gate they would either be dressed as blue or green and then once the minimum requirement which would be 5 players a side has been reached then they would begin so they can fight each other by typing some command like ;hit (username). Each user would have 100 health, so once that users health go's to 0 then they would reload the room meaning they have lost and must wait until the game has finished. Whoever is last is the winner, so if the last player was green then all the team members that was in the green team would receive some reward from events staff.
=============================== Basic Roleplay commands ==========================
;wire (amount) (currency) (username)
This would be useful so users wouldn't have to take a while to send credits, diamonds or duckets to each other especially if they won 1million credits. So a user would execute the command and a confirm notification would popup to the user that executed the command to make sure they want to send currency to that user, the user that is trying to send the currency would have to type a command such as ;confirm or ;decline, if that user has decided to type ;confirm then the currency would be sent to the user. The user that receives the currency would also get a message that pops up saying "Username, has sent you (Amount) (currency_name)!"
;rape (username)
Simple enough, user would execute this command on a user to rape him/her and they would have messages popping up that would symbol that they are being raped. Haha
;dropkick (username)
User would execute this command on a user and a message would popup saying "Username, has drop kicked you" and the user that has been drop kicked would lay down on the floor.
;kiss (username)
User would execute the command on a user and would both get a message saying something like "You've been kissed be (username) and an effect would happen such as the love heart effect.
=============================== Sell and Buy Rooms System ==========================
The room owner could sell that room by executing a command such as ;sellroom (amount) this makes it so users can buy users rooms with all the furniture in so once a user executes this command they would not be able to pickup furniture unless they cancel it by typing a command such as ;cancelroom or something. The user that wants to purchase the room would type a command such as ;buyroom and then a notification would popup saying are you sure and user would then type ;confirm or ;decline, if the user types ;confirm then credits would be deducted from them and they would be the new room owner alongside with the furniture.
NOTE: Make sure all the commands have a cooldown so users don't constantly execute the commands.
When you're walking on a banzai teleporter, and there's furniture on the other banzai teleporter where you need to teleport to, you won't be able to walk anymore.
This bug is only with the first option of 'wf_act_match_to_sshot' selected!
//////
Step 1: https://gyazo.com/a9a5f053ee298fbf08b867888f85bf7b
If you configure
wired action: player steps on gate
wired reaction: player teleports
wired reaction (wf_act_match_to_sshot): to close the door (the first option only)
//////
//////
Step 2: https://gyazo.com/44cb02971d2d3570137e89891243d683
and you walk on the roller behind the gate with open gates
the gates get closed
//////
//////
Step 3: https://gyazo.com/d0be9126f889436bc524c3d22a178287
then you go again on the roller, and there is the bug. You go through the gate.
//////
When you open the gate and close it, you can't roll in it when it's closed anymore, because it refreshes the furni state then.
And when you click all 3 options in the 'wf_act_match_to_sshot' wired, it will work as it needs to.
There are some stuff that are not the same as in Habbo. Here is the way how Habbo works and the way how Comet should work with these things that are noted here:
Pickall command
Room owner: Only gets his OWN furniture (rest of the furniture stays)
Somebody with rights: Nothing (everything stays the same)
Ejectall command
Room owner: Only the people with rights get their furniture back (own furniture stays)
Somebody with rights: Gets his OWN furniture (furniture of the room owner and other people with rights stays)
If you got furniture in a room, and you don't got rights anymore, you need to be able to click on 'Pick up' and do :ejectall
When you configure the repeat wired action (wf_trg_periodically) with an effect, the staple runs 2 times.
The wired 'wf_trg_game_ends' is not working properly
It goes straight ahead (https://gyazo.com/71b8fdee8694cf7350fc016784d98c4e), but you're supposed to be able to go oblique when you click on it.
Many maze games uses this.
I need to fix the teleports which aren't full solid boxes, namely the ones that you can walk on.
java.lang.NullPointerException
at com.cometproject.server.game.rooms.types.components.EntityComponent.addEntity(EntityComponent.java:120)
at com.cometproject.server.game.rooms.entities.types.PlayerEntity.joinRoom(PlayerEntity.java:103)
at com.cometproject.server.game.players.types.Player.loadRoom(Player.java:141)
at com.cometproject.server.network.messages.incoming.room.engine.InitalizeRoomMessageEvent.handle(InitalizeRoomMessageEvent.java:24)
at com.cometproject.server.network.messages.MessageHandler.handle(MessageHandler.java:279)
at com.cometproject.server.network.clients.ClientHandler.channelRead0(ClientHandler.java:28)
at com.cometproject.server.network.clients.ClientHandler.channelRead0(ClientHandler.java:18)
at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:103)
at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:341)
at io.netty.channel.DefaultChannelHandlerContext.access$700(DefaultChannelHandlerContext.java:30)
at io.netty.channel.DefaultChannelHandlerContext$8.run(DefaultChannelHandlerContext.java:332)
at io.netty.util.concurrent.DefaultEventExecutor.run(DefaultEventExecutor.java:36)
at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:116)
at java.lang.Thread.run(Thread.java:745)
java.lang.NullPointerException
at com.cometproject.server.game.rooms.types.components.EntityComponent.addEntity(EntityComponent.java:120)
at com.cometproject.server.game.rooms.entities.types.PlayerEntity.joinRoom(PlayerEntity.java:103)
at com.cometproject.server.game.players.types.Player.loadRoom(Player.java:141)
at com.cometproject.server.network.messages.incoming.room.engine.InitalizeRoomMessageEvent.handle(InitalizeRoomMessageEvent.java:24)
at com.cometproject.server.network.messages.MessageHandler.handle(MessageHandler.java:279)
at com.cometproject.server.network.clients.ClientHandler.channelRead0(ClientHandler.java:28)
at com.cometproject.server.network.clients.ClientHandler.channelRead0(ClientHandler.java:18)
at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:103)
at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:341)
at io.netty.channel.DefaultChannelHandlerContext.access$700(DefaultChannelHandlerContext.java:30)
at io.netty.channel.DefaultChannelHandlerContext$8.run(DefaultChannelHandlerContext.java:332)
at io.netty.util.concurrent.DefaultEventExecutor.run(DefaultEventExecutor.java:36)
at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:116)
at java.lang.Thread.run(Thread.java:745)
need to check this out asap
Selected 2x2 furniture with the wired: 'wf_act_move_rotate' is able to move out of the map.
When you're setting the time with the wired 'wf_act_match_to_sshot' and use the wired 'wf_act_toggle_state' to let it count, it doesn't do anything.
Example: https://gyazo.com/444e16e6ea10344398939754ef3a608a
But if you're setting the time manually without wired, and use 'wf_act_toggle_state' to let it count, it works like supposed to.
Example: https://gyazo.com/46c1454bdd843fc0219a0229a683434a
So the wired 'wf_act_toggle_state' need to be able to let the timer count when it's configured via the wired 'wf_act_match_to_sshot'
If you buy a room promotion and select a room in the catalogue, it doesn't create the room promotion for the selected room, instead of it creates the room promotion for the room which you are in on that moment.
If you try to buy 2 promotions after each other, it tell's that you don't got any rooms left without a room promotion. This is resolved if you rejoin the/a room.
With the wired 'wf_act_move_rotate' some selected furniture won't move.
As example:
https://gyazo.com/bedc7a20e84a681a09897aadbb886f12
This furniture is used as example:
country_trctr
If an Item Definition doesn't exist it will return null which can cause problems with catalog purchasing, trading etc.. because it doesn't check if the Item Definition actually exists, we need either some kind of validation or check, or to return a dummy Item Definition
If you configure multiple conditions on each other, the staple just applies one, not all of them.
As example this staple:
http://prntscr.com/djvn0c
If condition #1 & #2 is configured on a location
and condition #1 selected furniture and #2 furniture selected furniture on the selected place, it works
but even if you change condition #2 selected furniture, it still works because condition #1 selected furniture is on the same place.
So #2 doesn't matter if it's correct or isn't.
Sometimes if you click on a person, you walk random somewhere else in the room.
User 1 got a group room, user 2 got admin rights.
User 2 can't kick, ban or mute someone else in the room: http://prntscr.com/djvxeg
Should be working
If you're walking on rollers for a time, you'll roll off it all of a sudden.
When you create a group and select a group room where you're not in, it doesn't make the group room in the selected room.
You need to stand in the room that you select before it sets it as an group room.
At the moment if you place some data in a wired, and you pick it up and place it again in a room, it sets the extra_data on {}. But sometimes is this buggy and then is the previous furniture still selected till you pick it up and place it again.
Maybe is it a better idea to set the extra_data immediately on {} when you pick the wired up?
When you stand on an adjustable_height furniture and you click on it, it doesn't update your avatar height to the correct heights: https://gyazo.com/f83897f9d0b397dbc36d49b35e0a84d4
When you place an adjustable_height furniture and you rotate it, it get's in the air: https://gyazo.com/eadf4448c17e881357763568fd65eb29
When you stand on the rotated adjustable_height, your avatar goes through it: https://gyazo.com/d48d91633e73992cda617c3548653fe7
The wired delays are incorrect at the moment.
As example: 1.5 second = 0.5 second in real time
This happens when you configure the wired 'wf_act_match_to_sshot' on a timer with the time on 00:00 as example.
Example: https://gyazo.com/02aeb42d86c7bafcd86c2421557b39eb
The example uses this staple: http://prntscr.com/dnjdpf
It should set the timer on 00:00 like configured and stop the timer with counting.
2 examples of the same problem:
Example #1
The wired doesn't set the selected furniture on the selected place.
On the example it needs to get on the repeat wired just like you see on the example, and after that it needs to set it back on the place where the wired stood as first, but it does go another way under another furniture:
Example:
https://gyazo.com/b2f457ade98948100d443b26e7056a06
Example #2
If you configure this one, the selected furniture doesn't always go to the configured place.
3 wireds selected to move them (what happened):
https://gyazo.com/3b64762410107731caa8676078f6c5b5
But the 3 wireds was configured to move like this:
http://prntscr.com/di65jj
Wired doesn't start/stop immediately when the wired staple isn't running anymore.
This is because of the delay on the effect wired (http://prntscr.com/dmnkvo)
Idea to reload every player in the room when you change the floor model via flood plan editor????
Nvm!
Selected furniture is able to get out of the map and overrides other furniture with 1 tile while the furniture can_stack is on 0
Probably because it does recognize 2x2 furniture as 1x1 furniture
You can roll in every group gate with a roller, you don't even need to be a member of the group.
Not fixed.
We would win a public with banzai fix, I would like it to be fix the banzai and achievement score.
When you enter the hotel, and enter a room, you'll get a black screen.
It only happens with the first time entering a room since you enter the client.
Example:
https://gyazo.com/cb9ce2d28cf79d7513dfea328e0e73df
Is since (1.8.5-ALPHA1 and further updates)
The wired 'wf_trg_collision' is sometimes not detecting the collision.
I guess that the problem is at the 'wf_act_chase' wired that doesn't work when you place it next to you.
Ensure football has the same functionality as Habbo.com
When user 1 deletes his room with stuff from user 2, the stuff from user 2 dissapears to the inventory of user 1.
So user 1 & 2 needs to get their own furniture back.
Rollers need to be synchronised
:teleport for VIP player (done by Ryan)
:warp x for staff
:freeze x for staff (done by Leones)
:roomfreeze for staff
:speed fast walk (done by Leones)
:setz for vip (its like magic stack tool for item)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.