Originally Posted by
Max _
Post a Gif?
And show your pickup/drop methods please.
Video of the bug: Dailymotion - Familie Filter
Code:
/**
* Spawns the pet
*
* @param player
* the player
* @param id
* the id
* @return spawns the pet
*/
public static boolean spawn(final Client player, int id, boolean login)
{
/**
* A pet
*/
final Pet pet = Pet.forItem(id);
/**
* Not a pet
*/
if (pet == null)
return false;
/**
* Already spawned
*/
if (player.getPet() > 0 && !login)
{
player.sendMessage("You already have a pet following you!");
return true;
}
player.getItems().deleteItem(id, 1);
player.setPet(pet.getItemId());
final Npc fam = NpcHandler.getNpcHandler().spawnPet(player, pet.getNpcId(), player.absX, player.absY - 1, player.heightLevel, 0, 0, 0, false, 0, 0);
CycleEventHandler.getSingleton().addEvent(player, new CycleEvent()
{
Npc npc = fam;
@Override
public void execute(CycleEventContainer container)
{
if (player.petSlot > 0)
{
if (npc != null)
{
if (!Operations.goodDistance(npc.absX,npc.absY, player.absX, player.absY, 11))
{
NpcHandler.getNpcHandler().killrNpc(player.petSlot);
npc = NpcHandler.getNpcHandler().spawnPet(player, pet.getNpcId(), player.absX, player.absY - 1, player.heightLevel, 0, 0, 0, false, 0, 0);
}
}
}
else
{
container.stop();
}
}
@Override
public void stop() {
}
}, 5);
return true;
}
/**
* Picking up pet
*
* @param player
* the player
* @param id
* the id
* @param npc
* the npc
*/
public static boolean pickup(Client player, int id, Npc npc) {
/**
* A pet
*/
Pet pet = Pet.forId(id);
/**
* Not a pet
*/
if (pet == null) {
return false;
}
/**
* Checks
*/
if (npc.owner != player.playerId) {
player.sendMessage("This isn't your pet! This is "
+ PlayerHandler.players[npc.owner].username + "s' pet.");
return true;
}
/**
* Checks if has pet
*/
if (player.getPet() < 1) {
return false;
}
/**
* Picks up pet
*/
if (player.getItems().addItem(pet.getItemId(), 1)) {
NpcHandler.getNpcHandler().killrNpc(player.npcClickIndex);
player.petSlot = -1;
player.setPet(0);
} else {
player.sendMessage("You need inventory space to dismiss your pet!");
}
return true;
}