If you set another PC as a "friend" of one of your pack animals,
the "befriended" PC can command the animal, place ore in the animals pack, and do everything just fine.
But, unfortunatly for our would-be smith, the Llama refuses to allow him to take his hard earned ore out of the pack!!! it says, "you can not pick that up"
Only when the real owner shows up and removes the ore can it be used.
Is there any way to allow a befriended PC to take items out of the pack that he/she may have placed inside?
UOx3 v. 3.7
Thanks everyone!
[FIXED] Befriended Pack Animal Bug
-
Maarc
- Developer
- Posts: 576
- Joined: Sat Mar 27, 2004 6:22 am
- Location: Fleet, UK
- Has thanked: 0
- Been thanked: 0
- Contact:
I might have a bead on this in the code, had a quick look. Not at a stage I can test yet. For those that can compile:
cPlayerAction.cpp, CPIGetItem::Handle, change this:
to this
Give it a whirl ... it compiles, so that must be a good thing 
cPlayerAction.cpp, CPIGetItem::Handle, change this:
Code: Select all
if( iOwner != ourChar && ( ( !ourChar->IsGM() && iOwner->GetOwnerObj() != ourChar ) ) || !objInRange( ourChar, iOwner, DIST_NEARBY ) )
Code: Select all
bool otherPackCheck = (iOwner != ourChar);
if( otherPackCheck ) // okay, not our owner!
{
otherPackCheck = !ourChar->IsGM();
if( otherPackCheck ) // not a GM either
{
if( iOwner->GetOwnerObj() == ourChar )
otherPackCheck = false;
else if( Npcs->checkPetFriend( ourChar, static_cast<CChar>(iOwner) ) )
otherPackCheck = false;
}
}
// if( iOwner != ourChar && ( ( !ourChar->IsGM() && iOwner->GetOwnerObj() != ourChar ) ) || !objInRange( ourChar, iOwner, DIST_NEARBY ) )
if( otherPackCheck || !objInRange( ourChar, iOwner, DIST_NEARBY ) )