I fixed the code to be working fine (if you stand on a platform you'll sit at that height, you can't stand on chairs, adapted sit height), I only get credits for the small modifications. Tutorial and bfly compability go to leenster and base goes to jacob.
Remove all of his code and do the following:
First open system/commands.ini
At the bottom add:
PHP Code:
[sit]
sit.minrank=1
sit.description=Makes your avatar sit
sit.prefix=
sit.input=sit
sit.clubs=
Now open system/commands_register.ini
At the bottom add:
Open ChatCommandRegister.cs and find:
PHP Code:
case 68:
{
commandHandler.Fly();
break;
}
Below that add:
PHP Code:
case 69:
{
commandHandler.sit();
break;
}
Open ChatCommandHandler.cs and find:
PHP Code:
#region Commands
Below that add:
PHP Code:
internal void sit()
{
InitTimer();
Room TargetRoom = Session.GetHabbo().CurrentRoom;
RoomUser TargetRoomUser = null;
int tries = 0;
TargetRoom = ButterflyEnvironment.GetGame().GetRoomManager().GetRoom(Session.GetHabbo().CurrentRoomId);
TargetRoomUser = TargetRoom.GetRoomUserManager().GetRoomUserByHabbo(Session.GetHabbo().Id);
if (!TargetRoomUser.Statusses.ContainsKey("sit"))
{
if ((TargetRoomUser.RotBody % 2) == 0)
{
if (TargetRoomUser == null)
{
return;
}
try
{
TargetRoomUser.Statusses.Add("sit", "1.0");
TargetRoomUser.Z -= 0.35;
TargetRoomUser.isSitting = true;
TargetRoomUser.UpdateNeeded = true;
}
catch { }
return;
}
else
{
if (tries <= 1)
{
TargetRoomUser.RotBody--;
tries++;
sit();
}
else
{
Session.SendNotif("You cannot sit diagonally, try it again please");
tries = 0;
}
}
}
else if (TargetRoomUser.isSitting == true)
{
TargetRoomUser.Z += 0.35;
TargetRoomUser.Statusses.Remove("sit");
TargetRoomUser.Statusses.Remove("1.0");
TargetRoomUser.isSitting = false;
TargetRoomUser.UpdateNeeded = true;
}
}
private Timer timer1;
public void InitTimer()
{
timer1 = new Timer();
timer1.Tick += new EventHandler(timer1_Tick);
timer1.Interval = 1000; // in miliseconds
timer1.Start();
}
private void timer1_Tick(object sender, EventArgs e)
{
isSitting();
}
internal void isSitting()
{
Room TargetRoom = Session.GetHabbo().CurrentRoom;
RoomUser TargetRoomUser = null;
TargetRoom = ButterflyEnvironment.GetGame().GetRoomManager().GetRoom(Session.GetHabbo().CurrentRoomId);
TargetRoomUser = TargetRoom.GetRoomUserManager().GetRoomUserByHabbo(Session.GetHabbo().Id);
if (TargetRoomUser.isSitting == true && !TargetRoomUser.Statusses.ContainsKey("sit"))
{
TargetRoomUser.isSitting = false;
}
}
Open RoomUser.cs and find:
PHP Code:
internal bool isFlying = false;
Below that add:
PHP Code:
internal bool isSitting = false;
Now open RoomUserManagaer.cs and find:
PHP Code:
double nextZ = room.GetGameMap().SqAbsoluteHeight(nextX, nextY);
Below that add:
PHP Code:
if (User.isSitting == true)
{
User.Statusses.Remove("sit");
User.Z += 0.35;
User.isSitting = false;
User.UpdateNeeded = true;
}