DWP Posted February 27, 2013 Report Share Posted February 27, 2013 I'm trying to modify the ABCD firefighters and FF/EMT's so that they can change clothes back and forth. I've got a script that I modified from the pmcdChangeToMask script from the LAChangeClothes file, but when I tell the FF/EMT to change to ABCD or ABCD to change back to FF/EMT, the unit (firefighter) disappears. I'm relatively new to scripting, so I'm at a total loss. I'd like to make it so that they can only change at either the Water Tender or HAZMAT truck.Also, I can't figure out how to make it so the ABCD firefighters can get into the tender. Any help is appreciated!Here's what I've got:object PcmdChangeToFF : CommandScript{PcmdChangeToFF(){SetCursor("clothes");SetIcon("clothes");//SetGroupID(CGROUP_GETEQUIPMENT);SetPossibleCallers(ACTOR_PERSON);SetValidTargets(ACTOR_VEHICLE | ACTOR_OBJECT);SetRestrictions(RESTRICT_NOTDESTROYED | RESTRICT_NOTBURNING | RESTRICT_HASFIREAXE);SetNeedsCarWithFlagSet(OF_HAS_FIREAXE);}/*bool CheckPossible(GameObject *Caller){if(!Caller->IsValid() || Caller->GetType() != ACTOR_PERSON)return false;Person p(Caller);if (p.IsCarryingPerson() || p.IsLinkedWithPerson() || p.GetFirehoseID()!=0 || p.IsPulling())return false;if (p.IsCurrentAction("EActionTreatPerson"))return false;if (!Game::ExistsNormalObjectWithFlagSet(OF_HAS_FIREAXE))return false;return true;}*/bool CheckTarget(GameObject *Caller, Actor *Target, int childID){if(!Caller->IsValid() || !Target->IsValid() || Caller->GetType() != ACTOR_PERSON)return false;Person p(Caller);if(p.IsValid() && (p.IsCarryingPerson() || p.IsInDLKBasket() || p.IsLinkedWithPerson() || p.GetFirehoseID()!=0 || p.IsPulling() || p.GetEnteredCarID() != -1))return false;if (p.IsCurrentAction("EActionTreatPerson"))return false;Vehicle v(Target);if (v.IsValid() && !v.IsDestroyed() && v.GetVehicleType() == VT_FIREFIGHTERS_RW || v.GetVehicleType() == VT_FIREFIGHTERS_GTF || v.GetVehicleType() == VT_FIREFIGHTERS_DLK || v.GetVehicleType() == VT_FIREFIGHTERS_TLF || v.GetVehicleType() == VT_FIREFIGHTERS_LPF || v.GetVehicleType() == VT_AMBULANCE_ITW || v.GetVehicleType() == VT_AMBULANCE_RTW){return true;}return false;}void PushActions(GameObject *Caller, Actor *Target, int childID){Caller->PushActionmove(ACTION_NEWLIST, Target, TARGET_PASSENGERDOOR);Caller->PushActionTurnTo(ACTION_APPEND, Target);Caller->PushActionExecuteCommand(ACTION_APPEND, DUMMY_CHANGE, Target, 1, false);}};object PcmdChangeToABCD : CommandScript{PcmdChangeToABCD(){SetCursor("clothes");SetIcon("clothes");//SetGroupID(CGROUP_GETEQUIPMENT);SetPossibleCallers(ACTOR_PERSON);SetValidTargets(ACTOR_VEHICLE | ACTOR_OBJECT);SetRestrictions(RESTRICT_NOTDESTROYED | RESTRICT_NOTBURNING | RESTRICT_HASFIREAXE);SetNeedsCarWithFlagSet(OF_HAS_FIREAXE);}/*bool CheckPossible(GameObject *Caller){if(!Caller->IsValid() || Caller->GetType() != ACTOR_PERSON)return false;Person p(Caller);if (p.IsCarryingPerson() || p.IsLinkedWithPerson() || p.GetFirehoseID()!=0 || p.IsPulling())return false;if (p.IsCurrentAction("EActionTreatPerson"))return false;if (!Game::ExistsNormalObjectWithFlagSet(OF_HAS_FIREAXE))return false;return true;}*/bool CheckTarget(GameObject *Caller, Actor *Target, int childID){if(!Caller->IsValid() || !Target->IsValid() || Caller->GetType() != ACTOR_PERSON)return false;Person p(Caller);if(p.IsValid() && (p.IsCarryingPerson() || p.IsInDLKBasket() || p.IsLinkedWithPerson() || p.GetFirehoseID()!=0 || p.IsPulling() || p.GetEnteredCarID() != -1))return false;if (p.IsCurrentAction("EActionTreatPerson"))return false;Vehicle v(Target);if (v.IsValid() && !v.IsDestroyed() && v.GetVehicleType() == VT_FIREFIGHTERS_TLF || v.GetVehicleType() == VT_FIREFIGHTERS_DeKon-P){return true;}return false;}void PushActions(GameObject *Caller, Actor *Target, int childID){Caller->PushActionmove(ACTION_NEWLIST, Target, TARGET_PASSENGERDOOR);Caller->PushActionTurnTo(ACTION_APPEND, Target);Caller->PushActionExecuteCommand(ACTION_APPEND, DUMMY_CHANGE, Target, 5, false);}};object PcmdChangeToMask : CommandScript{PcmdChangeToMask(){SetCursor("clothes");SetIcon("clothes");//SetGroupID(CGROUP_GETEQUIPMENT);SetPossibleCallers(ACTOR_PERSON);SetValidTargets(ACTOR_VEHICLE | ACTOR_OBJECT);SetRestrictions(RESTRICT_NOTDESTROYED | RESTRICT_NOTBURNING | RESTRICT_HASFIREAXE);SetNeedsCarWithFlagSet(OF_HAS_FIREAXE);}/*bool CheckPossible(GameObject *Caller){if(!Caller->IsValid() || Caller->GetType() != ACTOR_PERSON)return false;Person p(Caller);if (p.IsCarryingPerson() || p.IsLinkedWithPerson() || p.GetFirehoseID()!=0 || p.IsPulling())return false;if (p.IsCurrentAction("EActionTreatPerson"))return false;if (!Game::ExistsNormalObjectWithFlagSet(OF_HAS_FIREAXE))return false;return true;}*/bool CheckTarget(GameObject *Caller, Actor *Target, int childID){if(!Caller->IsValid() || !Target->IsValid() || Caller->GetType() != ACTOR_PERSON)return false;Person p(Caller);if(p.IsValid() && (p.IsCarryingPerson() || p.IsInDLKBasket() || p.IsLinkedWithPerson() || p.GetFirehoseID()!=0 || p.IsPulling() || p.GetEnteredCarID() != -1))return false;if (p.IsCurrentAction("EActionTreatPerson"))return false;Vehicle v(Target);if (v.IsValid() && !v.IsDestroyed() && v.GetVehicleType() == VT_FIREFIGHTERS_RW || v.GetVehicleType() == VT_FIREFIGHTERS_GTF || v.GetVehicleType() == VT_FIREFIGHTERS_DLK || v.GetVehicleType() == VT_FIREFIGHTERS_TLF || v.GetVehicleType() == VT_FIREFIGHTERS_LPF || v.GetVehicleType() == VT_AMBULANCE_ITW || v.GetVehicleType() == VT_AMBULANCE_RTW){return true;}return false;}void PushActions(GameObject *Caller, Actor *Target, int childID){Caller->PushActionmove(ACTION_NEWLIST, Target, TARGET_PASSENGERDOOR);Caller->PushActionTurnTo(ACTION_APPEND, Target);Caller->PushActionExecuteCommand(ACTION_APPEND, DUMMY_CHANGE, Target, 2, false);}}; Quote Link to comment Share on other sites More sharing options...