So, I've compared a couple PickUp scripts I've got, and I think I might have found your possible problem. If I may direct your attention to this segment:
bool CheckPossible(GameObject *Caller)
{
if (!Caller->IsValid())
return false;
if (Caller->GetType() == ACTOR_VEHICLE)
{
Vehicle v(Caller);
if (v.GetVehicleType() == VT_FIREFIGHTERS_FMB)
{
return v.GetFreeTransports() > 0 && (Game::ExistsNormalObjectWithFlagSet(OF_FLOTSAM) || Game::ExistsDrowningPerson());
}
else if (v.GetVehicleType() == VT_THW_FGRR_RL)
{
return !v.IsCarryingAnything() && Game::ExistsNormalObjectWithFlagSet(OF_CARRYABLE_BY_BULLDOZER);
}
}
if (Caller->GetType() == ACTOR_PERSON)
{
Person p(Caller);
if (p.GetArrestedID() != -1)
return false;
}
if (Caller->HasCommand("Dummy1Cone") || Caller->HasCommand("Dummy2Cones"))
return true;
else if (Caller->HasCommand("Dummy1Flare") || Caller->HasCommand("Dummy2Flares"))
return true;
else if (Caller->IsCarryingAnything())
return false;
else if (Caller->HasCommand("PcmdTrafficConeGet") || Caller->HasCommand("PcmdFlareGet"))
return true;
else if (Caller->HasCommand("PcmdWye") || Caller->HasCommand("PcmdExtendhose"))
return true;
else if (Caller->HasCommand("DriveAwayPerson"))
return Game::ExistsInstalledJumppad() || Game::ExistsPickableAnimal();
return false;
}
Make sure that you have the last tidbit in there (the two lines above "return false;"), and ensure that all of the peds that you have which you want to collect the jumppad have the command "DriveAwayPerson". Without this, the script cannot initialize unless you fulfill one of the other variables. Hope this helps!