public void Handle(GameClient session, ClientMessage message) { Room room = session.GetHabbo().GetRoomSession().GetRoom(); if (room != null) { uint petId = message.PopWiredUInt(); RoomPet pet = room.RoomUserManager.GetPetByID(petId); if (pet != null) { ServerMessage message_ = BasicUtilies.GetRevisionServerMessage(Revision.RELEASE63_35255_34886_201108111108); message_.Init(r63aOutgoing.PetInfo); message_.AppendUInt(pet.PetData.ID); message_.AppendString(pet.PetData.Name); message_.AppendInt32(pet.PetData.Level); message_.AppendInt32(pet.PetData.MaxLevel); message_.AppendInt32(pet.PetData.Expirience); message_.AppendInt32(pet.PetData.ExpirienceGoal); message_.AppendInt32(pet.PetData.Energy); message_.AppendInt32(pet.PetData.MaxEnergy); message_.AppendInt32(pet.PetData.Happiness); message_.AppendInt32(pet.PetData.MaxHappiness); message_.AppendString(pet.PetData.Look.ToLower()); message_.AppendInt32(pet.PetData.Respect); message_.AppendUInt(pet.PetData.OwnerID); message_.AppendInt32(pet.PetData.Age); message_.AppendString(Skylight.GetGame().GetGameClientManager().GetUsernameByID(pet.PetData.OwnerID)); session.SendMessage(message_); } } }
public void Handle(GameClient session, ClientMessage message) { Room room = session.GetHabbo().GetRoomSession().GetRoom(); if (room != null) { uint petId = message.PopWiredUInt(); RoomPet pet = room.RoomUserManager.GetPetByID(petId); if (pet != null && pet.PetData != null && session.GetHabbo().GetUserStats().DailyPetRespectPoints > 0) { session.GetHabbo().GetUserStats().DailyPetRespectPoints--; session.GetHabbo().GetUserStats().PetRespectGiven++; pet.OnRespect(); using (DatabaseClient dbClient = Skylight.GetDatabaseManager().GetClient()) { dbClient.AddParamWithValue("userId", session.GetHabbo().ID); dbClient.AddParamWithValue("petRespect", session.GetHabbo().GetUserStats().DailyPetRespectPoints); dbClient.AddParamWithValue("petRespectGiven", session.GetHabbo().GetUserStats().PetRespectGiven); dbClient.ExecuteQuery("UPDATE user_stats SET daily_pet_respect_points = @petRespect, pet_respect_given = @petRespectGiven WHERE user_id = @userId LIMIT 1"); } session.GetHabbo().GetUserAchievements().CheckAchievement("PetRespectGiven"); } } }
public void Handle(GameClient session, ClientMessage message) { Room room = session.GetHabbo().GetRoomSession().GetRoom(); if (room != null) { uint petId = message.PopWiredUInt(); RoomPet pet = room.RoomUserManager.GetPetByID(petId); if (pet != null) { ServerMessage message_ = BasicUtilies.GetRevisionServerMessage(Revision.RELEASE63_35255_34886_201108111108); message_.Init(r63aOutgoing.PetCommands); message_.AppendUInt(petId); message_.AppendInt32(18); //commands count message_.AppendInt32(0); //free message_.AppendInt32(1); //sit message_.AppendInt32(2); //down message_.AppendInt32(3); //here message_.AppendInt32(4); //beg message_.AppendInt32(17); //play football message_.AppendInt32(5); //play dead message_.AppendInt32(6); //stay message_.AppendInt32(7); //follow message_.AppendInt32(8); //stand message_.AppendInt32(9); //jump message_.AppendInt32(10); //speak message_.AppendInt32(11); //play message_.AppendInt32(12); //silent message_.AppendInt32(13); //nest message_.AppendInt32(14); //drink message_.AppendInt32(15); //follow left message_.AppendInt32(16); //follow right message_.AppendInt32(18); //commands avaible message_.AppendInt32(0); //free message_.AppendInt32(1); //sit message_.AppendInt32(2); //down message_.AppendInt32(3); //here message_.AppendInt32(4); //beg message_.AppendInt32(17); //play football message_.AppendInt32(5); //play dead message_.AppendInt32(6); //stay message_.AppendInt32(7); //follow message_.AppendInt32(8); //stand message_.AppendInt32(9); //jump message_.AppendInt32(10); //speak message_.AppendInt32(11); //play message_.AppendInt32(12); //silent message_.AppendInt32(13); //nest message_.AppendInt32(14); //drink message_.AppendInt32(15); //follow left message_.AppendInt32(16); //follow right session.SendMessage(message_); } } }
public override bool OnUse(GameClient session, string[] args) { if (session.GetHabbo().GetRoomSession().GetRoom().HaveOwnerRights(session)) { using (DatabaseClient dbClient = Skylight.GetDatabaseManager().GetClient()) { string query = ""; foreach (BotAI bot in session.GetHabbo().GetRoomSession().GetRoom().RoomUserManager.GetBots()) { try { RoomPet pet = bot as RoomPet; if (pet != null) { session.GetHabbo().GetRoomSession().GetRoom().RoomUserManager.LeaveRoom(pet); GameClient petOwner = Skylight.GetGame().GetGameClientManager().GetGameClientById(pet.PetData.OwnerID); if (petOwner != null) { petOwner.GetHabbo().GetInventoryManager().AddPet(pet.PetData); pet.PetData.NeedUpdate = true; session.GetHabbo().GetInventoryManager().SavePetData(); } else { dbClient.AddParamWithValue("petId" + pet.PetData.ID, pet.PetData.ID); dbClient.AddParamWithValue("expirience" + pet.PetData.ID, pet.PetData.Expirience); dbClient.AddParamWithValue("energy" + pet.PetData.ID, pet.PetData.Energy); dbClient.AddParamWithValue("happiness" + pet.PetData.ID, pet.PetData.Happiness); dbClient.AddParamWithValue("respect" + pet.PetData.ID, pet.PetData.Respect); query += "UPDATE user_pets SET room_id = '0', expirience = @expirience" + pet.PetData.ID + ", energy = @energy" + pet.PetData.ID + ", happiness = @happiness" + pet.PetData.ID + ", respect = @respect" + pet.PetData.ID + ", x = '0', y = '0', z = '0' WHERE id = @petId" + pet.PetData.ID + " LIMIT 1; "; } } } catch { } } if (query.Length > 0) { dbClient.ExecuteQuery(query); } } return(true); } else { return(false); } }
public void Handle(GameClient session, ClientMessage message) { Room room = session.GetHabbo().GetRoomSession().GetRoom(); if (room != null) { uint petId = message.PopWiredUInt(); RoomPet pet = room.RoomUserManager.GetPetByID(petId); if (pet != null && pet.PetData.OwnerID == session.GetHabbo().ID) { room.RoomUserManager.LeaveRoom(pet); session.GetHabbo().GetInventoryManager().AddPet(pet.PetData); pet.PetData.NeedUpdate = true; session.GetHabbo().GetInventoryManager().SavePetData(); } } }
public void AddPet(Pet pet, int x, int y, double z, int rot) { int virtualId = this.GetNextVirtualID(); RoomPet roomPet = new RoomPet(pet, this.Room, virtualId); if (roomPet != null) { roomPet.SetLocation(x, y, z); roomPet.SetRotation(rot, true); this.Room.SendToAll(new MultiRevisionServerMessage(OutgoingPacketsEnum.SetRoomUser, new ValueHolder().AddValue("RoomUser", new List <RoomUnit>() { roomPet }))); this.RoomUsers.Add(roomPet.VirtualID, roomPet.GetType(), roomPet); roomPet.OnSelfEnterRoom(); } }
public void LoadPets() { this.Pets.Clear(); if (this.UserDataFactory.GetPets() != null && this.UserDataFactory.GetPets().Rows.Count > 0) { foreach (DataRow dataRow in this.UserDataFactory.GetPets().Rows) { uint id = (uint)dataRow["id"]; uint roomId = (uint)dataRow["room_id"]; if (roomId > 0) { Room room = Skylight.GetGame().GetRoomManager().TryGetRoom(roomId); if (room != null) { RoomPet pet = room.RoomUserManager.GetPetByID(id); if (pet != null && pet.PetData != null) { this.Pets.Add(id, pet.PetData); } } else { this.Pets.Add(id, new Pet((uint)dataRow["id"], (uint)dataRow["user_id"], (int)dataRow["type"], (string)dataRow["name"], (string)dataRow["race"], (string)dataRow["color"], (int)dataRow["expirience"], (int)dataRow["energy"], (int)dataRow["happiness"], (int)dataRow["respect"], (double)dataRow["create_timestamp"])); } } else { Pet pet = this.InventoryManager.TryGetPet(id); if (pet != null) //why it would be null? { this.Pets.Add(id, pet); } } } } }
public override void OnWalkOn(RoomUnit user) { RoomPet pet = user as RoomPet; if (pet != null && pet.Rider != null) { if (this.IsMiddlePart(pet.X, pet.Y)) { pet.JumpStatus = HorseJumpStatus.JUMPING; pet.LastJump = RandomUtilies.GetRandom(1, 4); this.ExtraData = pet.LastJump.ToString(); this.UpdateState(false, true); this.DoUpdate(2); } else { pet.JumpStatus = HorseJumpStatus.ABOUT_TO_JUMP; this.ExtraData = "5"; this.UpdateState(false, true); } } }
public override bool OnUse(GameClient session, string[] args) { if (args.Length >= 2) { RoomPet pet = session.GetHabbo().GetRoomSession().GetRoom().RoomUserManager.GetPetByName(args[1]); if (pet != null) { if (pet.Rider == null) { if (pet.PetData.Type == 13) { RoomUnitUser me = session.GetHabbo().GetRoomSession().GetRoomUser(); bool doit = true; if ((me.X + 1 != pet.X || me.Y != pet.Y) && (me.X - 1 != pet.X || me.Y != pet.Y) && (me.Y + 1 != pet.Y || me.X != pet.X)) { bool skip = false; if (me.X - 1 == pet.X) { if (me.Y == pet.Y) { skip = true; } } if (!skip) { doit = me.X == pet.X || me.Y == pet.Y; } } if (doit) { pet.Rider = me; me.Riding = pet; me.StopMoving(); me.SetLocation(pet.X, pet.Y, pet.Z + 1); me.ApplyEffect(77); session.SendNotif("If you want get off use command :getoff"); GameClient owner = Skylight.GetGame().GetGameClientManager().GetGameClientById(pet.PetData.OwnerID); if (owner != null) { owner.GetHabbo().GetUserStats().StableOwner++; owner.GetHabbo().GetUserAchievements().CheckAchievement("StableOwner"); } else { using (DatabaseClient dbClient = Skylight.GetDatabaseManager().GetClient()) { dbClient.AddParamWithValue("ownerId", pet.PetData.OwnerID); dbClient.ExecuteQuery("UPDATE user_stats SET stable_owner = stable_owner + 1 WHERE user-id = @ownerId LIMIT 1"); } } me.Session.GetHabbo().GetUserStats().Equestrian = 0; } else { session.SendNotif("Ah.. you try to access the horse from long range"); } } else { session.SendNotif("You blind or something m8? You can clearly see that pet is not a horse!"); } } else { session.SendNotif("I think someone is riding that horse already..."); } return(true); } } return(false); }