Aller au contenu
  • Veuillez ne pas poster de message pour but d'insulter, incitation à la haine, propos sexuels et tout autre qui ne respecte pas nos conditions générales !

MoveAvatarEvent Fixed


Akushi

Messages recommandés

Hello tout le monde,

 

Petit partage qui pour certains sera extrêmement utile peut de monde l'ont sauf ceux sous Comet bien sûr.

 

Pour avoir accès à ce lien, merci de vous connecter.

 

Remplacer votre MoveAvatarEvent.cs par :

[hide]

using Plus.HabboHotel.Items;
using Plus.HabboHotel.Rooms;
using System.Collections.Generic;
using System.Drawing;
using System.Linq;

namespace Plus.Communication.Packets.Incoming.Rooms.Engine
{
    internal class MoveAvatarEvent : IPacketEvent
    {
        public void Parse(HabboHotel.GameClients.GameClient Session, ClientPacket Packet)
        {
            if (Session == null || Session.GetHabbo() == null)
            {
                return;
            }

            if (!Session.GetHabbo().InRoom)
            {
                return;
            }

            Room Room = Session.GetHabbo().CurrentRoom;
            if (Room == null)
            {
                return;
            }

            RoomUser User = Room.GetRoomUserManager().GetRoomUserByHabbo(Session.GetHabbo().Id);

            if (User == null || !User.CanWalk)
            {
                return;
            }

            int MoveX = Packet.PopInt();
            int MoveY = Packet.PopInt();

            if (User.RidingHorse)
            {
                RoomUser Horse = Room.GetRoomUserManager().GetRoomUserByVirtualId(User.HorseID);
                if (Horse != null)
                {
                    Horse.MoveTo(MoveX, MoveY);
                }
            }

            if (User.isLying)
            {
                User.Z += 0.35;
                User.RemoveStatus("lay");
                User.isLying = false;
                User.UpdateNeeded = true;
            }

            if (User.isSitting)
            {
                User.Z += 0.35;
                User.RemoveStatus("sit");
                User.isSitting = false;
                User.UpdateNeeded = true;
            }

            User.MoveTo(MoveX, MoveY);
        }
    }
}

[/hide]

 

Ensuite aller dans RoomUser.cs et rechercher public void MoveTo(int pX, int pY, bool pOverride)

Remplacer la fonction par ceci :

 

[hide]

public void MoveTo(int pX, int pY, bool pOverride)
        {
            if (TeleportEnabled)
            {
                UnIdle();
                GetRoom().SendPacket(GetRoom().GetRoomItemHandler().UpdateUserOnRoller(this, new Point(pX, pY), 0, GetRoom().GetGameMap().SqAbsoluteHeight(GoalX, GoalY)));
                if (Status.ContainsKey("sit"))
                {
                    Z -= 0.35;
                }

                UpdateNeeded = true;
                return;
            }

            if ((!GetRoom().GetGameMap().IsValidMovement(pX, pY) && !AllowOverride) || Frozen)
            {
                return;
            }

            UnIdle();
            IsWalking = true;
            GoalX = pX;
            GoalY = pY;
            PathRecalcNeeded = true;
            FreezeInteracting = false;
        }

[/hide]

 

Rendez vous dans GameMap.cs et remplacer: public bool SquareHasUsers(int X, int Y)

 

[hide]

public bool SquareHasUsers(int X, int Y)
        {
            return _userMap.ContainsKey(new Point(X, Y));
        }

[/hide]

 

Voilà il permet de faire les aller retour avec sont personnage comme sur HabboCity ou encore Habbo.

Fixed by me.

 

Cordialement,

Modifié par Akushi
Vrai fixe.
  • J'aime 3
  • J'adore 1
Lien à poster
Partager sur d’autres sites

  • Réponses 61
  • Créé
  • Dernière réponse

Meilleures réponse dans ce sujet

Postes populaires

Hello tout le monde,   Petit partage qui pour certains sera extrêmement utile peut de monde l'ont sauf ceux sous Comet bien sûr.  

Pour avoir accès à ce lien, merci de vous connecter.

  Rem

  • 3 semaines plus tard...

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant

×
×
  • Créer...