Welcome!

Join our community of MMO enthusiasts and game developers! By registering, you'll gain access to discussions on the latest developments in MMO server files and collaborate with like-minded individuals. Join us today and unlock the potential of MMO server development!

Join Today!

[RELEASE] Swift Emulator - Fixes / Edits

Status
Not open for further replies.
Custom Title Activated
Loyal Member
Joined
Jun 5, 2010
Messages
1,582
Reaction score
160
Gifts really doesn't work. If the others aren't working you did setup it wrong

When do u gonna fix the gifts and buy 6 get 1 extra?

Btw: come on Skype please

UPLOADED THE SWF:

(Warning! external_flash_texts.txt is Dutch! Edit the external_variables.txt also!)
 
Last edited:
Skilled Illusionist
Joined
May 7, 2011
Messages
318
Reaction score
57
Buy 6 get 1 extra works fine.. You just get 6 furnis for the price of 5, not 7 furnis.

Should be called "Buy 6, get one free"
 
Custom Title Activated
Loyal Member
Joined
Jun 5, 2010
Messages
1,582
Reaction score
160
Group gate fix:
In InteractorOneWayGate.cs replace the
Code:
internal override void OnTrigger
class with this:
Code:
internal override void OnTrigger(GameClient Session, RoomItem Item, int Request, bool UserHasRights)
{
if (Session != null)
{
if (Item.GetBaseItem().InteractionType == InteractionType.onewaygate)
{
RoomUser roomUserByHabbo = Item.GetRoom().GetRoomUserManager().GetRoomUserByHabbo(Session.GetHabbo().Id);
if (roomUserByHabbo != null)
{
if ((roomUserByHabbo.Coordinate != Item.SquareInFront) && roomUserByHabbo.CanWalk)
{
roomUserByHabbo.MoveTo(Item.SquareInFront);
}
else if (Item.GetRoom().GetGameMap().CanWalk(Item.SquareBehind.X, Item.SquareBehind.Y, roomUserByHabbo.AllowOverride) && (Item.InteractingUser == 0))
{
Item.InteractingUser = roomUserByHabbo.HabboId;
roomUserByHabbo.CanWalk = false;
if (roomUserByHabbo.IsWalking && ((roomUserByHabbo.GoalX != Item.SquareInFront.X) || (roomUserByHabbo.GoalY != Item.SquareInFront.Y)))
{
roomUserByHabbo.ClearMovement(true);
}
roomUserByHabbo.AllowOverride = true;
roomUserByHabbo.MoveTo(Item.Coordinate);
Item.ReqUpdate(4, true);

}
}
}

if (Item.GetBaseItem().InteractionType == InteractionType.gld_gate)
{
if (Session.GetHabbo().ImGuilds.Contains(Convert.ToInt32(Item.Guilds_Data[0])))
{
RoomUser roomUserByHabbo = Item.GetRoom().GetRoomUserManager().GetRoomUserByHabbo(Session.GetHabbo().Id);
if (roomUserByHabbo != null)
{
if (Item.GetRoom().GetGameMap().CanWalk(Item.SquareBehind.X, Item.SquareBehind.Y, roomUserByHabbo.AllowOverride) && roomUserByHabbo.Coordinate == Item.SquareInFront && (Item.InteractingUser == 0))
{
Item.ExtraData = "1";
Item.UpdateState(false, true);
System.Threading.Thread.Sleep(1000);
Item.InteractingUser = roomUserByHabbo.HabboId;
roomUserByHabbo.CanWalk = false;
roomUserByHabbo.AllowOverride = true;
roomUserByHabbo.MoveTo(Item.Coordinate);
Item.ExtraData = "0";
Item.UpdateState(false, true);
roomUserByHabbo.MoveTo(Item.SquareBehind);
roomUserByHabbo.CanWalk = true;
System.Threading.Thread.Sleep(1000);
roomUserByHabbo.AllowOverride = false;
Item.InteractingUser = 0;
}
else if (Item.GetRoom().GetGameMap().CanWalk(Item.SquareInFront.X, Item.SquareInFront.Y, roomUserByHabbo.AllowOverride) && roomUserByHabbo.Coordinate == Item.SquareBehind && (Item.InteractingUser == 0))
{
Item.ExtraData = "1";
Item.UpdateState(false, true);
System.Threading.Thread.Sleep(1000);
Item.InteractingUser = roomUserByHabbo.HabboId;
roomUserByHabbo.CanWalk = false;
roomUserByHabbo.AllowOverride = true;
roomUserByHabbo.MoveTo(Item.Coordinate);
Item.ExtraData = "0";
Item.UpdateState(false, true);
roomUserByHabbo.MoveTo(Item.SquareInFront);
roomUserByHabbo.CanWalk = true;
System.Threading.Thread.Sleep(1000);
roomUserByHabbo.AllowOverride = false;
Item.InteractingUser = 0;
}
}
}
else
{
Session.SendNotif("Only groupmembers can enter this gate.");
}
}

}
}

Can somebody usually test it? Here it works btw. Otherwise i can release a Revision 4.1
 
Last edited:
Joined
Oct 11, 2012
Messages
544
Reaction score
143
Group gate fix:
In InteractorOneWayGate.cs replace the
Code:
internal override void OnTrigger
class with this:
Code:
internal override void OnTrigger(GameClient Session, RoomItem Item, int Request, bool UserHasRights)
{
if (Session != null)
{
if (Item.GetBaseItem().InteractionType == InteractionType.onewaygate)
{
RoomUser roomUserByHabbo = Item.GetRoom().GetRoomUserManager().GetRoomUserByHabbo(Session.GetHabbo().Id);
if (roomUserByHabbo != null)
{
if ((roomUserByHabbo.Coordinate != Item.SquareInFront) && roomUserByHabbo.CanWalk)
{
roomUserByHabbo.MoveTo(Item.SquareInFront);
}
else if (Item.GetRoom().GetGameMap().CanWalk(Item.SquareBehind.X, Item.SquareBehind.Y, roomUserByHabbo.AllowOverride) && (Item.InteractingUser == 0))
{
Item.InteractingUser = roomUserByHabbo.HabboId;
roomUserByHabbo.CanWalk = false;
if (roomUserByHabbo.IsWalking && ((roomUserByHabbo.GoalX != Item.SquareInFront.X) || (roomUserByHabbo.GoalY != Item.SquareInFront.Y)))
{
roomUserByHabbo.ClearMovement(true);
}
roomUserByHabbo.AllowOverride = true;
roomUserByHabbo.MoveTo(Item.Coordinate);
Item.ReqUpdate(4, true);

}
}
}

if (Item.GetBaseItem().InteractionType == InteractionType.gld_gate)
{
if (Session.GetHabbo().ImGuilds.Contains(Convert.ToInt32(Item.Guilds_Data[0])))
{
RoomUser roomUserByHabbo = Item.GetRoom().GetRoomUserManager().GetRoomUserByHabbo(Session.GetHabbo().Id);
if (roomUserByHabbo != null)
{
if (Item.GetRoom().GetGameMap().CanWalk(Item.SquareBehind.X, Item.SquareBehind.Y, roomUserByHabbo.AllowOverride) && roomUserByHabbo.Coordinate == Item.SquareInFront && (Item.InteractingUser == 0))
{
Item.ExtraData = "1";
Item.UpdateState(false, true);
System.Threading.Thread.Sleep(1000);
Item.InteractingUser = roomUserByHabbo.HabboId;
roomUserByHabbo.CanWalk = false;
roomUserByHabbo.AllowOverride = true;
roomUserByHabbo.MoveTo(Item.Coordinate);
Item.ExtraData = "0";
Item.UpdateState(false, true);
roomUserByHabbo.MoveTo(Item.SquareBehind);
roomUserByHabbo.CanWalk = true;
System.Threading.Thread.Sleep(1000);
roomUserByHabbo.AllowOverride = false;
Item.InteractingUser = 0;
}
else if (Item.GetRoom().GetGameMap().CanWalk(Item.SquareInFront.X, Item.SquareInFront.Y, roomUserByHabbo.AllowOverride) && roomUserByHabbo.Coordinate == Item.SquareBehind && (Item.InteractingUser == 0))
{
Item.ExtraData = "1";
Item.UpdateState(false, true);
System.Threading.Thread.Sleep(1000);
Item.InteractingUser = roomUserByHabbo.HabboId;
roomUserByHabbo.CanWalk = false;
roomUserByHabbo.AllowOverride = true;
roomUserByHabbo.MoveTo(Item.Coordinate);
Item.ExtraData = "0";
Item.UpdateState(false, true);
roomUserByHabbo.MoveTo(Item.SquareInFront);
roomUserByHabbo.CanWalk = true;
System.Threading.Thread.Sleep(1000);
roomUserByHabbo.AllowOverride = false;
Item.InteractingUser = 0;
}
}
}
else
{
Session.SendNotif("Only groupmembers can enter this gate.");
}
}

}
}

Can somebody usually test it? Here it works btw.

I'm uploading your swfs now to my wwwroot,
i'll test it.
 
Newbie Spellweaver
Joined
Jun 6, 2013
Messages
11
Reaction score
2
Hello, when I enter in a gate of freeze, I was disconnected, any solution?
 
Newbie Spellweaver
Joined
Apr 27, 2009
Messages
54
Reaction score
2
2 small fixes:

HabboHotel => Users => Messenger => HabboMessenger change line 178 to:
Code:
buddy = new MessengerBuddy(friendID, (string)row["username"], (string)row["look"], (string)row["motto"], (string)row["last_online"], ButterflyEnvironment.GetGame().GetClientManager().GetClientByUserID(this.UserId).GetHabbo().GetRelationshipComposer().RelationshipStatusWith(friendID));

HabboHotel => Users => Inventory => InventoryComponent change everything between the following if-statment:
Code:
if (pet.DBState == DatabaseUpdateState.NeedsUpdate)
to:
Code:
adapter.setQuery(string.Concat(new object[] { 
                                    "UPDATE user_pets SET room_id = ", pet.RoomId, ", name = @name, race = @race, color = @color, type = ", pet.Type, ", expirience = ", pet.Expirience, ", energy = ", pet.Energy, ", nutrition = ", pet.Nutrition, 
                                    ", respect = ", pet.Respect, ", createstamp = '", pet.CreationStamp, "', x = ", pet.X, ", Y = ", pet.Y, ", Z = ", pet.Z, " WHERE id = ", pet.PetId
                                 }));
adapter.addParameter("name", pet.Name);
adapter.addParameter("race", pet.Race);
adapter.addParameter("color", pet.Color);
adapter.runQuery();
 
Joined
Oct 4, 2008
Messages
1,050
Reaction score
308
2 small fixes:

HabboHotel => Users => Messenger => HabboMessenger change line 178 to:
Code:
buddy = new MessengerBuddy(friendID, (string)row["username"], (string)row["look"], (string)row["motto"], (string)row["last_online"], ButterflyEnvironment.GetGame().GetClientManager().GetClientByUserID(this.UserId).GetHabbo().GetRelationshipComposer().RelationshipStatusWith(friendID));

HabboHotel => Users => Inventory => InventoryComponent change everything between the following if-statment:
Code:
if (pet.DBState == DatabaseUpdateState.NeedsUpdate)
to:
Code:
adapter.setQuery(string.Concat(new object[] { 
                                    "UPDATE user_pets SET room_id = ", pet.RoomId, ", name = @name, race = @race, color = @color, type = ", pet.Type, ", expirience = ", pet.Expirience, ", energy = ", pet.Energy, ", nutrition = ", pet.Nutrition, 
                                    ", respect = ", pet.Respect, ", createstamp = '", pet.CreationStamp, "', x = ", pet.X, ", Y = ", pet.Y, ", Z = ", pet.Z, " WHERE id = ", pet.PetId
                                 }));
adapter.addParameter("name", pet.Name);
adapter.addParameter("race", pet.Race);
adapter.addParameter("color", pet.Color);
adapter.runQuery();
Thank you very much for this, very useful!
 
ส็็็็็็็
Loyal Member
Joined
Sep 21, 2009
Messages
2,005
Reaction score
594
I added wouter01000's fix and cleaned up the files abit.



@AKIIX if you have any problem with me merging revisions as you release them just say and I will take this down.
 
Last edited:
Newbie Spellweaver
Joined
Apr 27, 2009
Messages
54
Reaction score
2
Thank you very much for this, very useful!

np, oh, and, if you can't kick and ban a player from a room, change the BanUserOfRoom packet to 2442.

I added wouter01000's fix and cleaned up the files abit.



@AKIIX if you have any problem with me merging revisions as you release them just say and I will take this down.

Already offline? :p
 
Newbie Spellweaver
Joined
Apr 27, 2009
Messages
54
Reaction score
2
Fixed that freaky 8day bug in the chat.
Search for the function "DeliverInstantMessage" and change it with:
Code:
 internal void DeliverInstantMessage(string message, uint convoID)
        {
            ServerMessage message2 = new ServerMessage(Outgoing.InstantChat);
            message2.AppendInt32(convoID);
            message2.AppendString(message);
            message2.AppendInt32(0);
            this.GetClient().SendMessage(message2);
        }
Habbo don't need a Unix Timestamp. :thumbup:

#And yes, I just started with developing in C#, so I'm fixing all small bugs. Somebody need to do it haha :D
 
Last edited:
Status
Not open for further replies.
Back
Top