Jump to content
Bosko

MP5 error

Recommended Posts

Hello guys got a problem. I played Harbor city and do some changes, now if i order SWAT shooter to take MP5 there is an script error saying: LAMP5a01fbb ERROR:Symbol Returnfalse is not defined in current scope... After ignoring, i cant equip any gun from vehicles (but Barriers and cones work) Got the same for M4A1 rifle... Any solutions or something please? Thanks to all, who helps. 

Link to comment
Share on other sites

//******************************************************************************************
// #Version 2.6#
//
// Includes: All MP5 Commands
//
// - PcmdMP5Get
// - PcmdMP5Remove
// - PcmdMP5Shoot
// - PcmdMP5Aim
// - PcmdMP5AimEnd
// - PcmdMP5MoveTo
// - DummyMP5
//
// Script by Hoppah
//
// Usage of this script in other mods is NOT allowed without permission of Hoppah
//
//******************************************************************************************
 
const char CMD_GETMP5[] = "PcmdMP5Get";
const char CMD_REMOVEMP5[] = "PcmdMP5Remove";
const char CMD_SHOOTMP5[] = "PcmdMP5Shoot";
const char CMD_AIMMP5[] = "PcmdMP5Aim";
const char CMD_AIMENDMP5[] = "PcmdMP5AimEnd";
const char CMD_MOVEMP5[] = "PcmdMP5MoveTo";
const char DUMMY_MP5[] = "DummyMP5";
const char CMD_DOORS[] = "OpenCloseDoor";
const char OBJ_MP5_IDLE[] = "01 LA Equipment/mp5_idle.V3O";
const char OBJ_MP5_AIM[] = "01 LA Equipment/mp5_aim.V3O";
const char SND_GETMP5[] = "mod:Audio/FX/Misc/mp5_get.wav";
const char SND_FIREMP5[] = "mod:Audio/FX/Misc/mp5_shoot.wav";
const char SND_UNLOCK[] = "mod:Audio/FX/Misc/unlock_weapon.wav";
const char PARTICLE_FLASH[] = "mod:Prototypes/Objects/05 LA Particles/muzzleflash04.e4p";
const char NAME_FLASH[] = "MuzzleFlash";
 
int DummyGroup = 20;
 
object PcmdMP5Get : CommandScript
{
 
PcmdMP5Get()
{
    SetIcon("mp5");
    SetCursor("mp5");
SetPriority(190);
SetValidTargets(ACTOR_VEHICLE | ACTOR_OBJECT);
SetGroupID(CGROUP_GETEQUIPMENT);
SetRestrictions(RESTRICT_NOTDESTROYED | RESTRICT_NOTBURNING | RESTRICT_HASFLASHGRENADE);
SetPossibleCallers(ACTOR_PERSON);
SetNeedsCarWithFlagSet(OF_HAS_FLASHGRENADE);
}
 
bool CheckTarget(GameObject *Caller, Actor *Target, int childID)
{
if(!Caller->IsValid() || !Target || !Target->IsValid() || Target->GetType()!=ACTOR_VEHICLE)
return false;
 
if(Caller->GetObjectType()==TYPE_PERSON)
{
Person p(Caller);
                        Vehicle v(Target);
 
if (v.IsDestroyed())
return false;
 
if(p.IsValid() && (p.IsLinkedWithPerson() || p.IsCarryingPerson() || p.IsEquipped() || p.IsPulling() || p.GetFirehoseID()!=0 || p.GetEnteredCarID() != -1)) 
return false;
 
Vehicle v(Target);
if ((v.HasCommand("FlyTo") || v.HasCommand("VcmdDeInstallRope")) && !v.IsOnGround())
return false;
 
if (v.IsValid() && !v.IsDestroyed() && StrCompare(v.GetPrototypeFileName(), "mod:Prototypes/Vehicles/03 LA Police/rescue_truck01_lapd.e4p") == 0 ||
StrCompare(v.GetPrototypeFileName(), "mod:Prototypes/Vehicles/03 LA Police/rescue_truck02_lapd.e4p") == 0 ||
StrCompare(v.GetPrototypeFileName(), "mod:Prototypes/Vehicles/03 LA Police/swat_armoured_vehicle.e4p") == 0 ||
StrCompare(v.GetPrototypeFileName(), "mod:Prototypes/Vehicles/03 LA Police/swat_truck.e4p") == 0 ||
StrCompare(v.GetPrototypeFileName(), "mod:Prototypes/Vehicles/09 Government/fbi_suv.e4p") == 0 ||
StrCompare(v.GetPrototypeFileName(), "mod:Prototypes/Vehicles/03 LA Police/swat_suv.e4p") == 0 ||
StrCompare(v.GetPrototypeFileName(), "mod:Prototypes/Vehicles/09 Government/fbi_command.e4p") == 0)
                        StrCompare(v.GetPrototypeFileName(), "mod:Prototypes/Vehicles/03 LA Police/suv_lapd.e4p") == 0 ||
                        StrCompare(v.GetPrototypeFileName(), "mod:Prototypes/Vehicles/03 LA Police/dodge_charger_lapd.e4p") == 0 ||
                        StrCompare(v.GetPrototypeFileName(), "mod:Prototypes/Vehicles/03 LA Police/cv_lapd_slicktop.e4p") == 0 ||
                        StrCompare(v.GetPrototypeFileName(), "mod:Prototypes/Vehicles/03 LA Police/cv_umpc.e4p") == 0 ||
                        StrCompare(v.GetPrototypeFileName(), "mod:Prototypes/Vehicles/03 LA Police/bpat_dodge_charger.e4p") == 0 ||
                        StrCompare(v.GetPrototypeFileName(), "mod:Prototypes/Vehicles/03 LA Police/cv_lapd.e4p") == 0 ||
                        StrCompare(v.GetPrototypeFileName(), "mod:Prototypes/Vehicles/03 LA Police/lapd_impala.e4p") == 0 ||
{
return true;
else if(v.IsValid() && !v.IsDestroyed() && StrCompare(v.GetPrototypeFileName(), "mod:Prototypes/Vehicles/03 LA Police/ATF_cv.e4p") == 0 ||
StrCompare(v.GetPrototypeFileName(), "mod:Prototypes/Vehicles/03 LA Police/atf_mcp.e4p") == 0 ||
StrCompare(v.GetPrototypeFileName(), "mod:Prototypes/Vehicles/03 LA Police/as350_lapd.e4p") == 0)
{
return true;
}
 
return false;
}
}
 
void PushActions(GameObject *Caller, Actor *Target, int childID)
{
Vector TargetPos = Target->GetTargetPoint(Caller, TARGET_EQUIPMENTDOOR);
Caller->PushActionMove(ACTION_NEWLIST, TargetPos);
Caller->PushActionTurnTo(ACTION_APPEND, Target);
Caller->PushActionGetEquipment(ACTION_APPEND, Target, EQUIP_NONE);
Caller->PushActionExecuteCommand(ACTION_APPEND, DUMMY_MP5, Target, 1, false);
}
};
 
object PcmdMP5Remove : CommandScript
{
 
PcmdMP5Remove()
{
    SetIcon("mp5remove");
    SetCursor("mp5remove");
SetValidTargets(ACTOR_VEHICLE | ACTOR_OBJECT);
SetRestrictions(RESTRICT_NOTDESTROYED | RESTRICT_NOTBURNING | RESTRICT_HASFLASHGRENADE);
SetPossibleCallers(ACTOR_PERSON);
SetNeedsCarWithFlagSet(OF_HAS_FLASHGRENADE);
}
 
bool CheckTarget(GameObject *Caller, Actor *Target, int childID)
{
if(!Caller->IsValid() || !Target || !Target->IsValid() || Target->GetType()!=ACTOR_VEHICLE)
return false;
 
if(Caller->GetObjectType()==TYPE_PERSON)
{
Person p(Caller);
Vehicle v(Target);
 
if (v.IsDestroyed())
return false;
 
if(p.IsValid() && (p.IsLinkedWithPerson() || p.IsCarryingPerson() || p.IsEquipped() || p.IsPulling() || p.GetFirehoseID()!=0 || p.GetEnteredCarID() != -1)) 
return false;
 
Vehicle v(Target);
if ((v.HasCommand("FlyTo") || v.HasCommand("VcmdDeInstallRope")) && !v.IsOnGround())
return false;
 
if (v.IsValid() && !v.IsDestroyed() && StrCompare(v.GetPrototypeFileName(), "mod:Prototypes/Vehicles/03 LA Police/rescue_truck01_lapd.e4p") == 0 ||
StrCompare(v.GetPrototypeFileName(), "mod:Prototypes/Vehicles/03 LA Police/rescue_truck02_lapd.e4p") == 0 ||
StrCompare(v.GetPrototypeFileName(), "mod:Prototypes/Vehicles/03 LA Police/swat_armoured_vehicle.e4p") == 0 ||
StrCompare(v.GetPrototypeFileName(), "mod:Prototypes/Vehicles/03 LA Police/swat_truck.e4p") == 0 ||
StrCompare(v.GetPrototypeFileName(), "mod:Prototypes/Vehicles/09 Government/fbi_suv.e4p") == 0 ||
StrCompare(v.GetPrototypeFileName(), "mod:Prototypes/Vehicles/03 LA Police/swat_suv.e4p") == 0 ||
StrCompare(v.GetPrototypeFileName(), "mod:Prototypes/Vehicles/09 Government/fbi_command.e4p") == 0)
                        StrCompare(v.GetPrototypeFileName(), "mod:Prototypes/Vehicles/03 LA Police/suv_lapd.e4p") == 0 ||
                        StrCompare(v.GetPrototypeFileName(), "mod:Prototypes/Vehicles/03 LA Police/dodge_charger_lapd.e4p") == 0 ||
                        StrCompare(v.GetPrototypeFileName(), "mod:Prototypes/Vehicles/03 LA Police/cv_lapd_slicktop.e4p") == 0 ||
                        StrCompare(v.GetPrototypeFileName(), "mod:Prototypes/Vehicles/03 LA Police/cv_umpc.e4p") == 0 ||
                        StrCompare(v.GetPrototypeFileName(), "mod:Prototypes/Vehicles/03 LA Police/bpat_dodge_charger.e4p") == 0 ||
                        StrCompare(v.GetPrototypeFileName(), "mod:Prototypes/Vehicles/03 LA Police/cv_lapd.e4p") == 0 ||
                        StrCompare(v.GetPrototypeFileName(), "mod:Prototypes/Vehicles/03 LA Police/lapd_impala.e4p") == 0 ||
{
return true;
else if(v.IsValid() && !v.IsDestroyed() && StrCompare(v.GetPrototypeFileName(), "mod:Prototypes/Vehicles/03 LA Police/ATF_cv.e4p") == 0 ||
StrCompare(v.GetPrototypeFileName(), "mod:Prototypes/Vehicles/03 LA Police/atf_mcp.e4p") == 0 ||
StrCompare(v.GetPrototypeFileName(), "mod:Prototypes/Vehicles/03 LA Police/as350_lapd.e4p") == 0)
{
return true;
}
 
return false;
}
}
 
void PushActions(GameObject *Caller, Actor *Target, int childID)
{
Vector TargetPos = Target->GetTargetPoint(Caller, TARGET_EQUIPMENTDOOR);
Caller->PushActionMove(ACTION_NEWLIST, TargetPos);
Caller->PushActionTurnTo(ACTION_APPEND, Target);
Caller->PushActionGetEquipment(ACTION_APPEND, Target, EQUIP_NONE);
Caller->PushActionExecuteCommand(ACTION_APPEND, DUMMY_MP5, Target, 2, false);
}
};
 
object PcmdMP5Shoot : CommandScript
{
float Range;
 
PcmdMP5Shoot()
{
    SetIcon("shoot");
    SetCursor("aim");
SetValidTargets(ACTOR_PERSON | ACTOR_VEHICLE);
SetRestrictions(RESTRICT_SHOOTABLE | RESTRICT_NOTINJURED);
//SetActivationByLeftClick(true);
SetDeselectCaller(false);
SetKeepAsCurrentCommand(true);
SetPossibleCallers(ACTOR_PERSON);
Range = 900.f;
}
 
bool CheckPossible(GameObject *Caller)
{
/*if(!Caller->IsValid() || Caller->GetType() != ACTOR_PERSON)
return false;*/
Person p(Caller);
if (!p.IsValid())
return false;
return true;
}
 
bool CheckTarget(GameObject *Caller, Actor *Target, int childID)
{
if(!Caller->IsValid() || !Target->IsValid() || Target->GetID() == Caller->GetID())
return false;
 
Person p(Caller);
if(p.GetBoundingRadiusDistXYToObject(Target) > Range)
return false;
 
if(Target->GetType()==ACTOR_PERSON)
{
Person t(Target);
if (t.IsValid() && t.GetEnteredHouseID() == p.GetEnteredHouseID())
{
if(p.IsAiming())
{
Game::ActivateSceneLens(true);
}
return true;
}
}
 
if(Target->GetType()==ACTOR_VEHICLE)
{
Vehicle v(Target);
if (!v.IsCivilCar())
SetPriority(-700);
 
if (v.IsValid() && !v.IsDestroyed() && v.IsFlagSet(OF_SHOOTABLE) && p.GetEnteredHouseID() == -1)
{
if ((v.GetVehicleType() == VT_POLICE_PHC || v.GetVehicleType() == VT_AMBULANCE_RHC || v.GetVehicleType() == VT_THW_FGRT_BH) && !v.IsOnGround())
return false;
if(p.IsAiming())
{
Game::ActivateSceneLens(true);
}
return true;
}
}
 
return false;
}
 
void PushActions(GameObject *Caller, Actor *Target, int childID)
{
Person p(Caller);
if(!p.IsAiming())
{
Vector Pos = p.GetPosition();
Audio::PlaySample3D(SND_UNLOCK, Pos);
p.PlaceObjectInRightHand(OBJ_MP5_AIM);
p.PushActionPrepareAim(ACTION_NEWLIST);
p.AssignCommand(CMD_AIMENDMP5);
    p.AssignCommand(CMD_MOVEMP5);
p.RemoveCommand(CMD_REMOVEMP5);
p.RemoveCommand(CMD_AIMMP5);
else
{
Vector Pos = p.GetPosition();
Audio::PlaySample3D(SND_FIREMP5, Pos);
 
float r[9];
p.GetRotation(r[0], r[1], r[2], r[3], r[4], r[5], r[6], r[7], r[8]);
                GameObject f = Game::CreateObject(PARTICLE_FLASH, NAME_FLASH);
f.SetRotation(r[0], r[1], r[2], r[3], r[4], r[5], r[6], r[7], r[8]);
f.SetPosition(Pos);
f.PushActionWait(ACTION_NEWLIST, 0.5f);
f.PushActionDeleteOwner(ACTION_APPEND);
 
if (Target->GetType() == ACTOR_PERSON)
{
Person t(Target);
if (t.IsValid() && !t.IsDead())
{
if (p.GetBoundingRadiusDistXYToObject(&t) < 50.f)
{
t.Kill(INJUREREASON_SHOT);
}
else if (p.GetBoundingRadiusDistXYToObject(&t) < 100.f)
{
t.Injure(INJUREREASON_SHOT);
}
else if(p.GetBoundingRadiusDistXYToObject(&t) < 200.f)
{
t.Hurt(INJUREREASON_SHOT, 600.f);
}
else if(p.GetBoundingRadiusDistXYToObject(&t) < 300.f)
{
t.Hurt(INJUREREASON_SHOT, 500.f);
}
else if(p.GetBoundingRadiusDistXYToObject(&t) < 400.f)
{
t.Hurt(INJUREREASON_SHOT, 400.f);
}
else if(p.GetBoundingRadiusDistXYToObject(&t) < 500.f)
{
t.Hurt(INJUREREASON_SHOT, 300.f);
}
else if(p.GetBoundingRadiusDistXYToObject(&t) < 600.f)
{
t.Hurt(INJUREREASON_SHOT, 200.f);
}
else if(p.GetBoundingRadiusDistXYToObject(&t) < 1000.f)
{
t.Hurt(INJUREREASON_SHOT, 100.f);
}
}
}
 
if (Target->GetType() == ACTOR_VEHICLE)
{
Vehicle v(Target);
if (v.IsValid() && !v.IsDestroyed())
{
if(p.GetBoundingRadiusDistXYToObject(&v) < 300.f)
{
v.Damage(330.f);
}
else if(p.GetBoundingRadiusDistXYToObject(&v) < 500.f)
{
v.Damage(230.f);
}
else if(p.GetBoundingRadiusDistXYToObject(&v) < 700.f)
{
v.Damage(140.f);
else if(p.GetBoundingRadiusDistXYToObject(&v) < 1000.f)
{
v.Damage(100.f);
}
}
}
}  
}
};
 
object PcmdMP5Aim : CommandScript
{
float Range;
 
PcmdMP5Aim()
{
    SetIcon("aim");
      SetCursor("aim");
SetValidTargets(ACTOR_PERSON);
SetPriority(220);
SetDoubleClickable(true);
}
 
bool CheckTarget(GameObject *Caller, Actor *Target, int childID)
{
if(!Caller->IsValid() || Caller->IsAiming() || !Target->IsValid() || Caller->GetID() != Target->GetID())
return false;
 
return true;
}
 
void PushActions(GameObject *Caller, Actor *Target, int childID)
{
Person p(Caller);
Vector Pos = p.GetPosition();
Audio::PlaySample3D(SND_UNLOCK, Pos);
p.PlaceObjectInRightHand(OBJ_MP5_AIM);
p.PushActionPrepareAim(ACTION_NEWLIST);
p.AssignCommand(CMD_AIMENDMP5);
    p.AssignCommand(CMD_MOVEMP5);
p.RemoveCommand(CMD_REMOVEMP5);   
p.RemoveCommand(CMD_AIMMP5);  
}
};
 
object PcmdMP5AimEnd : CommandScript
{
 
PcmdMP5AimEnd()
{
    SetIcon("aimend");
      SetCursor("aimed");
SetValidTargets(ACTOR_PERSON);
SetDoubleClickable(true);
SetRestrictions(RESTRICT_SELFEXECUTE);
SetPossibleCallers(ACTOR_PERSON);
SetPriority(600);
}
 
bool CheckPossible(GameObject *Caller)
{
/*if(!Caller->IsValid() || Caller->GetType() != ACTOR_PERSON)
return false;*/
return Caller->IsAiming();
}
 
bool CheckTarget(GameObject *Caller, Actor *Target, int childID)
{
if(!Caller->IsValid() || (Caller->GetID() != Target->GetID()) || !Caller->IsAiming())
return false;
 
return true;
}
 
void PushActions(GameObject *Caller, Actor *Target, int childID)
{
Person p(Caller);
p.PlaceObjectInRightHand(OBJ_MP5_IDLE);
p.PushActionAimEnd(ACTION_NEWLIST);
p.RemoveCommand(CMD_AIMENDMP5);
    p.RemoveCommand(CMD_MOVEMP5);
p.AssignCommand(CMD_AIMMP5);
p.AssignCommand(CMD_REMOVEMP5);
p.PushActionSwitchAnim(ACTION_APPEND, "idleequipped2");
}
};
 
object PcmdMP5MoveTo : CommandScript
{
MoveResult mr;
 
PcmdMP5MoveTo()
{
    SetIcon("moveto");
    SetCursor("moveto");
SetValidTargets(ACTOR_FLOOR | ACTOR_OBJECT | ACTOR_VIRTUAL | ACTOR_HOUSE | ACTOR_OPEN_HOUSE);
SetHighlightingEnabled(false);
SetDeselectCaller(false);
//SetActivationByLeftClick(true);
}
 
bool CheckTarget(GameObject *Caller, Actor *Target, int childID)
{
mr = Commands::CheckMoveConditions(Caller, Target, childID);
if(mr.Mode == MOVE_ABORT)
return false;
 
return true;
}
 
void PushActions(GameObject *Caller, Actor *Target, int childID)
{
Person p(Caller);
if(p.IsAiming() || p.IsCurrentAnimation("shootrifle"))
{
p.PlaceObjectInRightHand(OBJ_MP5_IDLE);
p.PushActionAimEnd(ACTION_NEWLIST);
p.PushActionWait(ACTION_APPEND, 1.5f);
p.PushActionExecuteCommand(ACTION_APPEND, DUMMY_MP5, Caller, 3, false);
p.PushActionMove(ACTION_APPEND, mr.Target);
p.RemoveCommand(CMD_AIMENDMP5);
p.RemoveCommand(CMD_MOVEMP5);
p.AssignCommand(CMD_AIMMP5);
p.AssignCommand(CMD_REMOVEMP5);
}
}
};
 
object DummyMP5 : CommandScript
{
DummyMP5()
{
  SetGroupID(DummyGroup);
}
 
  bool CheckGroupVisibility(GameObject *Caller)
  {
  return false;
  }
 
  bool CheckPossible(GameObject *Caller)
  {
  return false;
 
 
  bool CheckTarget(GameObject *Caller, Actor *Target, int childID)
  {
  return false;
  }
 
void PushActions(GameObject *Caller, Actor *Target, int childID)
{
if(childID == 1)
{
Person p(Caller);
p.PlaceObjectInRightHand(OBJ_MP5_IDLE);
p.PushActionSwitchAnim(ACTION_APPEND, "idleequipped2");
p.AssignCommand(CMD_AIMMP5);
p.AssignCommand(CMD_SHOOTMP5);
p.AssignCommand(CMD_REMOVEMP5);
p.RemoveCommand(CMD_GETMP5);
p.RemoveCommand("Arrest");
p.RemoveCommand("ReleaseArrested");
p.RemoveCommand("DrawWeapon");
p.RemoveCommand("PutInCar");
p.RemoveCommand("AskPerson");
p.RemoveCommand("Halt");
p.RemoveCommand("HaltVehicle");
p.RemoveCommand("Redirect");
p.RemoveCommand("GetFlashgrenade");
p.RemoveCommand("PickUp");
p.RemoveCommand("Lift");
p.RemoveCommand("UnloadPerson");
if(StrCompare(p.GetPrototypeFileName(), "mod:Prototypes/Persons/03 LA Police/lapd_swat.e4p") == 0 || StrCompare(p.GetPrototypeFileName(), "mod:Prototypes/Persons/03 LA Police/atf_swat.e4p") == 0)
{
p.RemoveCommand("GetExtinguisher");
p.RemoveCommand("PcmdBallisticShieldGet");
p.RemoveCommand("PcmdBarricadeGet");
p.RemoveCommand("PcmdTrafficConeGet");
p.RemoveCommand("PcmdFlareGet");
p.RemoveCommand("GetRoadBlock");
p.RemoveCommand("PcmdCallPatrolCar");
p.RemoveCommand("PcmdCallAmbulance");
p.RemoveCommand("PcmdCallPoliceHelicopter"); 
}
if(StrCompare(p.GetPrototypeFileName(), "mod:Prototypes/Persons/09 Government/fbi_agent_tac.e4p") == 0)
{
p.RemoveCommand("CheckVictim");
p.RemoveCommand("Negotiate");
p.RemoveCommand("PcmdRemoveTacVest");
p.RemoveCommand("PcmdPSGGet");
}
 
Vector Pos = p.GetPosition();
Audio::PlaySample3D(SND_GETMP5, Pos);
 
Vehicle v(Target);
v.PushActionExecuteCommand(ACTION_APPEND, CMD_DOORS, Caller, 1, false);
}
if(childID == 2)
{
Person p(Caller);
p.RemoveObjectInRightHand();
p.PushActionSwitchAnim(ACTION_APPEND, "idle");
p.RemoveCommand(CMD_SHOOTMP5);
p.RemoveCommand(CMD_REMOVEMP5);
p.RemoveCommand(CMD_AIMMP5);
p.AssignCommand(CMD_GETMP5);
p.AssignCommand("Arrest");
p.AssignCommand("ReleaseArrested");
p.AssignCommand("DrawWeapon");
p.AssignCommand("PutInCar");
p.AssignCommand("AskPerson");
p.AssignCommand("Halt");
p.AssignCommand("HaltVehicle");
p.AssignCommand("Redirect");
p.AssignCommand("GetFlashgrenade");
p.AssignCommand("PickUp");
p.AssignCommand("Lift");
p.AssignCommand("UnloadPerson");
if(StrCompare(p.GetPrototypeFileName(), "mod:Prototypes/Persons/03 LA Police/lapd_swat.e4p") == 0 || StrCompare(p.GetPrototypeFileName(), "mod:Prototypes/Persons/03 LA Police/atf_swat.e4p") == 0)
{
p.AssignCommand("PcmdCallPatrolCar");
p.AssignCommand("PcmdCallAmbulance");
p.AssignCommand("PcmdCallPoliceHelicopter"); 
p.AssignCommand("GetExtinguisher");
p.AssignCommand("PcmdBallisticShieldGet");
p.AssignCommand("PcmdBarricadeGet");
p.AssignCommand("PcmdTrafficConeGet");
p.AssignCommand("PcmdFlareGet");
p.AssignCommand("GetRoadBlock");
}
if(StrCompare(p.GetPrototypeFileName(), "mod:Prototypes/Persons/09 Government/fbi_agent_tac.e4p") == 0)
{
p.AssignCommand("CheckVictim");
p.AssignCommand("Negotiate");
p.AssignCommand("PcmdRemoveTacVest");
p.AssignCommand("PcmdPSGGet");
}
 
Vehicle v(Target);
v.PushActionExecuteCommand(ACTION_APPEND, CMD_DOORS, Caller, 1, false);
}
if(childID == 3)
{
Person p(Caller);
p.PlaceObjectInRightHand(OBJ_MP5_IDLE);
}
  }
};

Especially be aware at the begginging, i changed things in vehicles, so there might be a problem ;) 

Link to comment
Share on other sites

Looks like you've added the new vehicles improperly. Your parenthesis for the if statement is placed prematurely, thus causing the condition to end. You also have no parenthesis in the last condition (the LAPD Impala). By itself, your list is too long for the game to process so you'd have to cut it into two.

 

Here's how I'd write the code:

if (v.IsValid() && !v.IsDestroyed()){	if(StrCompare(v.GetPrototypeFileName(), "mod:Prototypes/Vehicles/03 LA Police/rescue_truck01_lapd.e4p") == 0 ||	StrCompare(v.GetPrototypeFileName(), "mod:Prototypes/Vehicles/03 LA Police/rescue_truck02_lapd.e4p") == 0 ||	StrCompare(v.GetPrototypeFileName(), "mod:Prototypes/Vehicles/03 LA Police/swat_armoured_vehicle.e4p") == 0 ||	StrCompare(v.GetPrototypeFileName(), "mod:Prototypes/Vehicles/03 LA Police/swat_truck.e4p") == 0 ||	StrCompare(v.GetPrototypeFileName(), "mod:Prototypes/Vehicles/09 Government/fbi_suv.e4p") == 0 ||	StrCompare(v.GetPrototypeFileName(), "mod:Prototypes/Vehicles/03 LA Police/swat_suv.e4p") == 0 ||	StrCompare(v.GetPrototypeFileName(), "mod:Prototypes/Vehicles/09 Government/fbi_command.e4p") == 0)		return true;	else if(StrCompare(v.GetPrototypeFileName(), "mod:Prototypes/Vehicles/03 LA Police/suv_lapd.e4p") == 0 ||	StrCompare(v.GetPrototypeFileName(), "mod:Prototypes/Vehicles/03 LA Police/dodge_charger_lapd.e4p") == 0 ||	StrCompare(v.GetPrototypeFileName(), "mod:Prototypes/Vehicles/03 LA Police/cv_lapd_slicktop.e4p") == 0 ||	StrCompare(v.GetPrototypeFileName(), "mod:Prototypes/Vehicles/03 LA Police/cv_umpc.e4p") == 0 ||	StrCompare(v.GetPrototypeFileName(), "mod:Prototypes/Vehicles/03 LA Police/bpat_dodge_charger.e4p") == 0 ||	StrCompare(v.GetPrototypeFileName(), "mod:Prototypes/Vehicles/03 LA Police/cv_lapd.e4p") == 0 ||	StrCompare(v.GetPrototypeFileName(), "mod:Prototypes/Vehicles/03 LA Police/lapd_impala.e4p") == 0)		return true;}

This is to be placed at the CheckTarget portion of MP5Get and Remove. This is intended to replace the prototypes listed in the mentioned section.

Link to comment
Share on other sites

Nice.. But last thing please.. (be patient) upper part of vehicles (from rescue truck 1 to FBI command) works properly, but cars lower part of cars dont work. I mean no MP5 in that cars. Have i there some mistake? 

 

if (v.IsValid() && !v.IsDestroyed())

                        {

                 if(StrCompare(v.GetPrototypeFileName(), "mod:Prototypes/Vehicles/03 LA Police/rescue_truck01_lapd.e4p") == 0 ||

                 StrCompare(v.GetPrototypeFileName(), "mod:Prototypes/Vehicles/03 LA Police/rescue_truck02_lapd.e4p") == 0 ||

                 StrCompare(v.GetPrototypeFileName(), "mod:Prototypes/Vehicles/03 LA Police/swat_armoured_vehicle.e4p") == 0 ||

                 StrCompare(v.GetPrototypeFileName(), "mod:Prototypes/Vehicles/03 LA Police/swat_truck.e4p") == 0 ||

                 StrCompare(v.GetPrototypeFileName(), "mod:Prototypes/Vehicles/09 Government/fbi_suv.e4p") == 0 ||

                 StrCompare(v.GetPrototypeFileName(), "mod:Prototypes/Vehicles/03 LA Police/swat_suv.e4p") == 0 ||

                 StrCompare(v.GetPrototypeFileName(), "mod:Prototypes/Vehicles/09 Government/fbi_command.e4p") == 0)

                  return true;

                 else if(StrCompare(v.GetPrototypeFileName(), "mod:Prototypes/Vehicles/03 LA Police/suv_lapd.e4p") == 0 ||

                 StrCompare(v.GetPrototypeFileName(), "mod:Prototypes/Vehicles/03 LA Police/dodge_charger_lapd.e4p") == 0 ||

                 StrCompare(v.GetPrototypeFileName(), "mod:Prototypes/Vehicles/03 LA Police/cv_lapd_slicktop.e4p") == 0 ||

                 StrCompare(v.GetPrototypeFileName(), "mod:Prototypes/Vehicles/03 LA Police/cv_umpc.e4p") == 0 ||

                 StrCompare(v.GetPrototypeFileName(), "mod:Prototypes/Vehicles/03 LA Police/bpat_dodge_charger.e4p") == 0 ||

                 StrCompare(v.GetPrototypeFileName(), "mod:Prototypes/Vehicles/03 LA Police/cv_lapd.e4p") == 0 ||

                 StrCompare(v.GetPrototypeFileName(), "mod:Prototypes/Vehicles/03 LA Police/lapd_impala.e4p") == 0)

                  return true;

                        }

 

   return false;

  }

}

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...