Jump to content

Ghost Graphic Designs

European Modding
  • Posts

    888
  • Joined

  • Days Won

    4

Posts posted by Ghost Graphic Designs

  1. Here's my best vid so far:

     

    Urban Pumper 44 responding to a short circuit in the city centre (responding as backup).

     

    This urban pumper is housed in the Special Intervention Company, located in Chelas. It's one of the 3 new trucks bought in 2012. These trucks (apart from all of the regular fire engine equipment) have extrication gear, a powerful water cannon, 3000 liters (792,5 gallons) of capacity and a special pump option for foam. And they're simply badass.  :cool:

     

    The firehouse also has a Rescue-like truck that's on the right (it operates citywide), one of two brand-new Iveco Trakker Ladder trucks, a light MB Vario Pumper, a hazmat truck, a crane, a tow truck, a special fire engine (that operates with the hazmat unit), about 2 reserve engines, 1 large capacity tanker and 2 command/administrative support vehicles.

  2. Sorry. 

     

     

    This is the new one that I tried only for the Light Pumper (cloned) and Fire Engine (default Engine 01 from the limited water supply logic) it works with other units, though:

    const char CMD_SIREN[] = "VcmdSiren";
    const char CMD_AUTOSIREN_OFF[] = "VcmdAutoSirenOff";
    const char CMD_WARNINGLIGHTS_OFF[] = "VcmdWarningLightsOff";
    const char CMD_WARNINGLIGHTS_ON[] = "VcmdWarningLightsOn";
    const char CMD_FLOODLIGHTS_OFF[] = "VcmdFloodLightsOff";
    const char CMD_FLOODLIGHTS_ON[] = "VcmdFloodLightsOn";
    const char CMD_GOHOME[] = "GoHome";
    const char CMD_TOFD[] = "VcmdToVUCI";
    const char CMD_PATROL[] = "VcmdPatrol";
    const char CMD_STANDBY_ON[] = "VcmdStandbyOn";
    const char CMD_STANDBY_OFF[] = "VcmdStandbyOff";
    const char DUMMY_DISABLE[] = "DummyDisableSiren";
    const char DUMMY_HASSIREN[] = "DummyHasSiren";
    const char DUMMY_GOHOME[] = "DummyGoHome";
    const char DUMMY_PATROL[] = "DummyPatrol";
    const char OBJ_HELIPAD[] = "policestation_helipad";
    const char VO_ENTRY[] = "policestation_entry";
    const char VO_ENTRY_HELIPAD[] = "policestation_entry2";
    const char VO_TURNTO[] = "vuci_turn";
    const char VO_VUCI[] = "vuci";
    const char VO_HELI[] = "policestation_heli";
    const char VO_SPAWN[] = "policestation_spawn";
    const char SND_TOSTATION[] = "mod:Audio/FX/radio/1019.wav";
    const char HINT_HELICOPTER[] = "Another helicopter is blocking the helipad! The helicopter will return to base!";
    const char PROTO_VUCI[] = "mod:Prototypes/Vehicles/02 LA Fire Department/fire_engine1.e4p";

    int DummyGroup = 32;

    object VcmdToVUCI : CommandScript
    {
    VcmdToVUCI()
    {
    SetCursor("tofirestation");
    SetIcon("tofirestation");
    SetGroupID(DummyGroup);
    SetGroupLeader(true);
    SetRestrictions(RESTRICT_SELFEXECUTE);
    }

    bool CheckPossible(GameObject *Caller)
    {
    if (!Caller->IsValid())
    return false;

    if (!Game::IsFreeplay() && !Game::IsMultiplayer())
    return false;

    Vehicle v(Caller);
    if (v.IsCollidingWithVirtualObject(VO_HELI))
    return false;

    ActorList l1 = Game::GetActors(VO_VUCI);
    if (l1.GetNumActors() == 0)
    return false;

    return true;
    }

    bool CheckTarget(GameObject *Caller, Actor *Target, int childID)
    {
    if (!Caller->IsValid() || !Target->IsValid() || (Caller->GetID() != Target->GetID()))
    return false;

    Vehicle v(Caller);
    SetPriority(0);
    if (v.GetNumTransported() > 0)
    SetPriority(110);

    return true;
    }

    void PushActions(GameObject *Caller, Actor *Target, int ChildID)
    {
    Vehicle v(Caller);
    bool Donut = false;
    ActorList d = Game::GetActors(VO_VUCI);
    if (StrCompare(v.GetPrototypeFileName(), PROTO_VUCI) == 0 && d.GetNumActors() > 0)
    Donut = true;

    if(ChildID == 0)
    {
    if (v.GetVehicleType() != VT_POLICE_PHC)
    {
    if (v.IsBlueLightEnabled())
    v.EnableBlueLights(false);
    if (v.HasCommand("DummyFollow"))
    v.RemoveCommand("DummyFollow");
    if (v.HasCommand(CMD_STANDBY_OFF))
    {
    v.RemoveCommand(CMD_STANDBY_OFF);
    v.AssignCommand(CMD_STANDBY_ON);
    }
    if (v.HasCommand(CMD_WARNINGLIGHTS_OFF))
    {
    v.EnableBlinker(BLT_NONE);
    v.RemoveCommand(CMD_WARNINGLIGHTS_OFF);
    v.AssignCommand(CMD_WARNINGLIGHTS_ON);
    }
    if (v.HasCommand(CMD_FLOODLIGHTS_OFF))
    {
    v.EnableSpecialLights(false);
    v.RemoveCommand(CMD_FLOODLIGHTS_OFF);
    v.AssignCommand(CMD_FLOODLIGHTS_ON);
    }
    if (v.HasObjectPath(NULL))
    Game::ExecuteCommand(DUMMY_PATROL, &v, &v);
    if (v.HasCommand(DUMMY_HASSIREN) && v.HasCommand(CMD_AUTOSIREN_OFF))
    Game::ExecuteCommand(DUMMY_DISABLE, &v, &v);

    bool ParkinglotFound = false;
    bool ToDonut = false;
    ActorList l1;
    if (!ParkinglotFound)
    {
    GameObjectList l2;
    Game::CollectObstaclesOnVirtualObject(VO_VUCI, l2, ACTOR_VEHICLE);
    if(l2.GetNumObjects() == 0)
    {
    l1 = Game::GetActors(VO_VUCI);
    ParkinglotFound = true;
    }
    }
    if (!ParkinglotFound)
    {
    v.PushActionExecuteCommand(ACTION_NEWLIST, CMD_PATROL, Caller, 0, false);
    return;
    }
    else
    {
    Vector PD = l1.GetActor(0)->GetPosition();
    Vector PD2 = l1.GetActor(0)->GetPosition() + Vector(280,-280,0);

    ActorList l8 = Game::GetActors(VO_TURNTO);
    Vector TurnTo = l8.GetActor(0)->GetPosition();

    Game::FindFreePosition(Caller, PD);
    Audio::PlaySample3D(SND_TOSTATION, v.GetPosition());

    if (!ToDonut)
    {
    v.PushActionMove(ACTION_NEWLIST, PD);
    v.PushActionTurnTo(ACTION_APPEND, TurnTo);
    } else
    {
    v.PushActionMove(ACTION_NEWLIST, PD2);
    v.PushActionTurnTo(ACTION_APPEND, PD + Vector(320,-320,0));
    v.PushActionWait(ACTION_APPEND, 0.5f);
    v.PushActionMove(ACTION_APPEND, PD);
    }
    v.PushActionWait(ACTION_APPEND, 1.5f);
    v.PushActionExecuteCommand(ACTION_APPEND, CMD_TOFD, Caller, 2, false);
    PersonList transports = v.GetTransports();
    if (!ToDonut && transports.GetNumPersons() > 0)
    v.PushActionExecuteCommand(ACTION_APPEND, CMD_TOFD, Caller, 1, false);
    }
    } else
    {
    Audio::PlaySample3D(SND_TOSTATION, v.GetPosition());
    ActorList l1 = Game::GetActors(OBJ_HELIPAD);
    if(l1.GetNumActors() > 0)
    {
    Actor policestation = *l1.GetActor(0);
    Vector Policestation = policestation.GetPosition();
    }
    if (Game::IsSquadInVirtualObject(VO_HELI))
    {
    GameObjectList l2;
    Game::CollectObstaclesOnVirtualObject(VO_HELI, l2, ACTOR_VEHICLE);
    for (int i = 0; i < l2.GetNumObjects(); i++)
    {
    Vehicle m = l2.GetObject(i);
    m.PushActionExecuteCommand(ACTION_NEWLIST, DUMMY_GOHOME, &m, 1, false);
    Mission::PlayHint(HINT_HELICOPTER);
    }
    }
    Game::FindFreePosition(Caller, Policestation);
    GameObject obj(&policestation);
    float landingDirection = v.GetValidLandingAngle(&obj, Hospital);
    v.PushActionFlyTo(ACTION_NEWLIST, Policestation, true, landingDirection);
    PersonList transports = v.GetTransports();
    if (transports.GetNumPersons() > 0)
    v.PushActionExecuteCommand(ACTION_APPEND, CMD_TOFD, Caller, 1, false);
    }
    }
    if(ChildID == 1)
    {
    if (v.GetVehicleType() != VT_POLICE_PHC)
    {
    ActorList l1 = Game::GetActors(VO_SPAWN);
    if (l1.GetNumActors() > 0)
    Vector TargetPos = l1.GetActor(0)->GetPosition();
    PersonList transports = v.GetTransports();
    for(int i = 0; i < transports.GetNumPersons(); i++)
    {
    transports.GetPerson(i)->PushActionLeaveCar(ACTION_NEWLIST, Caller);
    if(transports.GetPerson(i)->GetRole() == ROLE_GANGSTER)
    {
    transports.GetPerson(i)->SetRole(ROLE_CIVILIAN);
    transports.GetPerson(i)->SetBehaviour(BEHAVIOUR_CIVILIAN_NORMAL);
    }
    transports.GetPerson(i)->PushActionWait(ACTION_APPEND, 0.5f);
    transports.GetPerson(i)->PushActionMove(ACTION_APPEND, TargetPos, true);
    transports.GetPerson(i)->PushActionDeleteOwner(ACTION_APPEND);
    }
    } else
    {
    ActorList l1 = Game::GetActors(VO_ENTRY_HELIPAD);
    if (l1.GetNumActors() > 0)
    Vector TargetPos = l1.GetActor(0)->GetPosition();
    PersonList transports = v.GetTransports();
    for(int i = 0; i < transports.GetNumPersons(); i++)
    {
    transports.GetPerson(i)->PushActionLeaveCar(ACTION_NEWLIST, Caller);
    if(transports.GetPerson(i)->GetRole() == ROLE_GANGSTER)
    {
    transports.GetPerson(i)->SetRole(ROLE_CIVILIAN);
    transports.GetPerson(i)->SetBehaviour(BEHAVIOUR_CIVILIAN_NORMAL);
    }
    transports.GetPerson(i)->PushActionWait(ACTION_APPEND, 0.5f);
    transports.GetPerson(i)->PushActionMove(ACTION_APPEND, TargetPos, true);
    transports.GetPerson(i)->PushActionDeleteOwner(ACTION_APPEND);
    }
    }
    }
    if(ChildID == 2)
    {
    Vehicle v(Caller);
    v.EnableBlinker(BLT_NONE);
    bool ToPoliceStation = false;
    if (v.IsCollidingWithVirtualObject(VO_VUCI))
    return;
    else
    ToFD = true;

    if(ToFD)
    v.PushActionExecuteCommand(ACTION_NEWLIST, CMD_TOFD, Caller, 0, false);
    }
    }
    };

     

    And this is the first one that I tried and works with the Water Tanker, Ambulance and two more units that don't have the limited water logic implemented:

    const char CMD_SIREN[] = "VcmdSiren";
    const char CMD_AUTOSIREN_OFF[] = "VcmdAutoSirenOff";
    const char CMD_WARNINGLIGHTS[] = "VcmdWarningLightsOn";
    const char DUMMY_WARNINGLIGHTS[] = "DummyHasWarningLights";
    const char CMD_FLOODLIGHTS_OFF[] = "VcmdFloodLightsOff";
    const char CMD_FLOODLIGHTS_ON[] = "VcmdFloodLightsOn";
    const char CMD_GETTILLER[] = "VcmdGetTiller";
    const char CMD_FLASHINGLIGHTS[] = "VcmdFlashingLights";
    const char CMD_GOHOME[] = "GoHome";
    const char CMD_TOHOSPITAL[] = "VcmdToHospital";
    const char CMD_TOFIRESTATION[] = "RSBToFireStation";
    const char CMD_PATROL[] = "VcmdPatrol";
    const char CMD_STANDBY_ON[] = "VcmdStandbyOn";
    const char CMD_STANDBY_OFF[] = "VcmdStandbyOff";
    const char CMD_GETTILLER[] = "VcmdGetTiller";
    const char DUMMY_TILLERGOHOME[] = "DummyTillerGoHome";
    const char DUMMY_DISABLE[] = "DummyDisableSiren";
    const char DUMMY_HASSIREN[] = "DummyHasSiren";
    const char DUMMY_PATROL[] = "DummyPatrol";
    const char DUMMY_GATES[] = "DummyGates";
    const char DUMMY_FIRESTATION[] = "DummyAtFireStation";
    const char DUMMY_CHECKPARKED[] = "DummyCheckParked";
    const char DUMMY_ISTRAILED[] = "DummyIsTrailed";
    const char DUMMY_VCALLED[] = "DummyVehicleCalled";
    const char DUMMY_HOSESON[] = "DummyHosesAreOn";
    const char DUMMY_TILLER[] = "DummyTiller";
    const char DUMMY_HASLIGHTS[] = "DummyHasLights";
    const char DUMMY_ENABLE[] = "DummyEnableLights";
    const char DUMMY_DISABLE[] = "DummyDisableLights";


    //FIRE THINGS HERE WE GO

    // FIRE VO's and EP4s

    const char OBJ_ENGINE01[] = "mod:Prototypes/Vehicles/02 Fire Department/engine01.e4p";
    const char OBJ_LADDER01[] = "mod:Prototypes/Vehicles/Fire Department/dlk.e4p";

    const char OBJ_ENGINE02[] = "mod:Prototypes/Vehicles/02 Fire Department/vlci.e4p";
    const char OBJ_RESCUE02[] = "mod:Prototypes/Vehicles/02 Fire Department/veci.e4p";

    const char OBJ_ENGINE03[] = "mod:Prototypes/Vehicles/02 Fire Department/water_tanker.e4p";
    const char OBJ_SQUAD03[] = "mod:Prototypes/Vehicles/02 Fire Department/ac.e4p";

    const char OBJ_ENGINE04[] = "mod:Prototypes/Vehicles/Fire Department/rw2.e4p";
    const char OBJ_LADDER04[] = "mod:Prototypes/Vehicles/02 LA Fire Department/ladder4.e4p";

    const char OBJ_ENGINE05[] = "mod:Prototypes/Vehicles/02 LA Fire Department/engine5.e4p";

    const char OBJ_FOAM05[] = "mod:Prototypes/Vehicles/02 LA Fire Department/foam5.e4p";
    const char OBJ_FOAM06[] = "mod:Prototypes/Vehicles/02 LA Fire Department/foam6.e4p";
    const char OBJ_HAZMAT06[] = "mod:Prototypes/Vehicles/02 LA Fire Department/hazmat6.e4p";

    const char OBJ_HAZMAT07[] = "mod:Prototypes/Vehicles/02 LA Fire Department/hazmat7.e4p";
    const char OBJ_FOAM07[] = "mod:Prototypes/Vehicles/02 LA Fire Department/foam7.e4p";
    const char OBJ_FOAM08[] = "mod:Prototypes/Vehicles/02 LA Fire Department/foam8.e4p";

    const char OBJ_BAT01[] = "mod:Prototypes/Vehicles/02 LA Fire Department/battalion_chief_vehicle.e4p";
    const char OBJ_BAT02[] = "mod:Prototypes/Vehicles/01 LA Ambulance/cv_ems.e4p";
    const char OBJ_CRANE[] = "mod:Prototypes/Vehicles/04 LA Tec/crane.e4p";

    const char VO_B1[] = "s_fire_b1_park";
    const char VO_B1PAD[] = "s_fire_b1_pad";
    const char VO_B1TURN[] = "s_fire_b1_turn";

    const char VO_B2[] = "s_fire_b2_park";
    const char VO_B2PAD[] = "s_fire_b2_pad";
    const char VO_B2TURN[] = "s_fire_b2_turn";

    const char VO_C2[] = "s_fire_c2_park";
    const char VO_C2PAD[] = "s_fire_c2_pad";
    const char VO_C2TURN[] = "s_fire_c2_turn";

    const char VO_E1[] = "s_fire_e1_park";
    const char VO_E1PAD[] = "s_fire_e1_pad";
    const char VO_E1TURN[] = "s_fire_e1_turn";
    const char VO_L1[] = "s_fire_l1_park";
    const char VO_L1PAD[] = "s_fire_l1_pad";
    const char VO_L1TURN[] = "s_fire_l1_turn";

    const char VO_E2[] = "s_fire_e2_park";
    const char VO_E2PAD[] = "s_fire_e2_pad";
    const char VO_E2TURN[] = "s_fire_e2_turn";
    const char VO_R2[] = "s_fire_r2_park";
    const char VO_R2PAD[] = "s_fire_r2_pad";
    const char VO_R2TURN[] = "s_fire_r2_turn";

    const char VO_E3[] = "s_fire_e3_park";
    const char VO_E3PAD[] = "s_fire_e3_pad";
    const char VO_E3TURN[] = "s_fire_e3_turn";
    const char VO_S3[] = "s_fire_s3_park";
    const char VO_S3PAD[] = "s_fire_s3_pad";
    const char VO_S3TURN[] = "s_fire_s3_turn";

    const char VO_E4[] = "s_fire_e4_park";
    const char VO_E4PAD[] = "s_fire_e4_pad";
    const char VO_E4TURN[] = "s_fire_e4_turn";
    const char VO_L4[] = "s_fire_l4_park";
    const char VO_L4PAD[] = "s_fire_l4_pad";
    const char VO_L4TURN[] = "s_fire_l4_turn";

    const char VO_E5[] = "s_fire_e5_park";
    const char VO_E5PAD[] = "s_fire_e5_pad";
    const char VO_E5TURN[] = "s_fire_e5_turn";

    const char VO_F5[] = "s_fire_f5_park";
    const char VO_F5PAD[] = "s_fire_f5_pad";
    const char VO_F5TURN[] = "s_fire_f5_turn";
    const char VO_F6[] = "s_fire_f6_park";
    const char VO_F6PAD[] = "s_fire_f6_pad";
    const char VO_F6TURN[] = "s_fire_f6_turn";
    const char VO_H6[] = "s_fire_h6_park";
    const char VO_H6PAD[] = "s_fire_h6_pad";
    const char VO_H6TURN[] = "s_fire_h6_turn";

    const char VO_H7[] = "s_fire_h7_park";
    const char VO_H7PAD[] = "s_fire_h7_pad";
    const char VO_H7TURN[] = "s_fire_h7_turn";
    const char VO_F7[] = "s_fire_f7_park";
    const char VO_F7PAD[] = "s_fire_f7_pad";
    const char VO_F7TURN[] = "s_fire_f7_turn";
    const char VO_F8[] = "s_fire_f8_park";
    const char VO_F8PAD[] = "s_fire_f8_pad";
    const char VO_F8TURN[] = "s_fire_f8_turn";


    // MEDIC VO's and EP4s
    const char OBJ_MEDIC01[] = "mod:Prototypes/Vehicles/Ambulance/rsb_absc31.e4p";
    const char OBJ_MEDIC02[] = "mod:Prototypes/Vehicles/01 LA Ambulance/medic02.e4p";
    const char OBJ_MEDIC03[] = "mod:Prototypes/Vehicles/01 LA Ambulance/medic03.e4p";
    const char OBJ_MEDIC04[] = "mod:Prototypes/Vehicles/01 LA Ambulance/medic04.e4p";
    const char OBJ_MEDIC05[] = "mod:Prototypes/Vehicles/01 LA Ambulance/medic05.e4p";
    const char OBJ_MEDIC06[] = "mod:Prototypes/Vehicles/01 LA Ambulance/medic06.e4p";

    const char VO_MEDIC01[] = "s_medic_1_park";
    const char VO_MEDIC02[] = "s_medic_2_park";
    const char VO_MEDIC03[] = "s_medic_3_park";
    const char VO_MEDIC04[] = "s_medic_4_park";
    const char VO_MEDIC05[] = "s_medic_5_park";
    const char VO_MEDIC06[] = "s_medic_6_park";

    const char VO_MEDICPAD01[] = "s_medic_1_pad";
    const char VO_MEDICPAD02[] = "s_medic_2_pad";
    const char VO_MEDICPAD03[] = "s_medic_3_pad";
    const char VO_MEDICPAD04[] = "s_medic_4_pad";
    const char VO_MEDICPAD05[] = "s_medic_5_pad";
    const char VO_MEDICPAD06[] = "s_medic_6_pad";

    const char VO_TURNTO1[] = "s_medic_1_turn";
    const char VO_TURNTO2[] = "s_medic_2_turn";
    const char VO_TURNTO3[] = "s_medic_3_turn";
    const char VO_TURNTO4[] = "s_medic_4_turn";
    const char VO_TURNTO5[] = "s_medic_5_turn";
    const char VO_TURNTO6[] = "s_medic_6_turn";

    //POLICE STUFF!!! AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH

    const char OBJ_PATROL1[] = "mod:Prototypes/Vehicles/03 LA Police/dodge_charger_lapd.e4p";
    const char OBJ_PATROL2[] = "mod:Prototypes/Vehicles/03 LA Police/cv_lapd_slicktop.e4p";
    const char OBJ_PATROL3[] = "mod:Prototypes/Vehicles/03 LA Police/suv_lapd.e4p";
    const char OBJ_PATROL4[] = "mod:Prototypes/Vehicles/03 LA Police/bpat_dodge_charger.e4p";
    const char OBJ_PATROL5[] = "mod:Prototypes/Vehicles/03 LA Police/cv_lapd.e4p";
    const char OBJ_PATROL6[] = "mod:Prototypes/Vehicles/03 LA Police/lapd_impala.e4p";

    const char VO_P1[] = "p1_park";
    const char VO_P1PAD[] = "p1_pad";
    const char VO_P1TURN[] = "p1_turn";

    const char VO_P2[] = "p2_park";
    const char VO_P2PAD[] = "p2_pad";
    const char VO_P2TURN[] = "p2_turn";

    const char VO_P3[] = "p3_park";
    const char VO_P3PAD[] = "p3_pad";
    const char VO_P3TURN[] = "p3_turn";

    const char VO_P4[] = "p4_park";
    const char VO_P4PAD[] = "p4_pad";
    const char VO_P4TURN[] = "p4_turn";

    const char VO_P5[] = "p5_park";
    const char VO_P5PAD[] = "p5_pad";
    const char VO_P5TURN[] = "p5_turn";

    const char VO_P6[] = "p6_park";
    const char VO_P6PAD[] = "p6_pad";
    const char VO_P6TURN[] = "p6_turn";

    const char SND_TOSTATION[] = "mod:Audio/FX/radio/1019.wav";
    const char HINT_NOTVALID[] = "This vehicle doesn't belong in the fire station!";
    const char HINT_NOSPACE[] = "No space at the fire station, vehicle returns to base!";
    const char HINT_NOSPACE_AMBULANCE[] = "No space at the fire station, vehicle starts a patrol!";
    const char HINT_TRANSPORTS[] = "The ambulance has transports, it will go to the hospital first!";

    int DummyGroup = 32;

    object RSBToFireStation : CommandScript
    {
    RSBToFireStation()
    {
    SetCursor("tofirestation");
    SetIcon("tofirestation");
    SetGroupID(DummyGroup);
    SetGroupLeader(true);
    SetRestrictions(RESTRICT_SELFEXECUTE);
    }

    bool CheckPossible(GameObject *Caller)
    {
    if (!Caller->IsValid())
    return false;

    Vehicle v(Caller);
    if (v.HasCommand(DUMMY_ISTRAILED) && !v.HasCommand(CMD_GETTILLER)) || v.HasCommand(DUMMY_HOSESON) || v.IsInstalled())
    return false;

    if (!v.HasCommand("MoveTo"))
    return false;

    if (v.HasCommand(CMD_FLOODLIGHTS_OFF))
    return false;

    return true;
    }

    bool CheckTarget(GameObject *Caller, Actor *Target, int childID)
    {
    if (!Caller->IsValid() || !Target->IsValid() || (Caller->GetID() != Target->GetID()))
    return false;

    return true;
    }

    void PushActions(GameObject *Caller, Actor *Target, int ChildID)
    {
    Vector Pos = Caller->GetPosition();

    Vehicle v(Caller);
    if (v.GetVehicleType() == VT_AMBULANCE_RTW && v.GetNumTransported() > 0)
    {
    v.PushActionExecuteCommand(ACTION_NEWLIST, CMD_TOHOSPITAL, Caller, 0, false);
    Mission::PlayHint(HINT_TRANSPORTS);
    return;
    }
    if (v.IsBlueLightEnabled())
    Game::ExecuteCommand(CMD_FLASHINGLIGHTS, &v, &v);
    if (v.HasCommand(DUMMY_TILLERGOHOME))
    v.RemoveCommand(DUMMY_TILLERGOHOME);
    if (v.HasCommand(CMD_STANDBY_OFF))
    {
    v.RemoveCommand(CMD_STANDBY_OFF);
    v.AssignCommand(CMD_STANDBY_ON);
    }
    if (v.HasCommand(DUMMY_WARNINGLIGHTS))
    {
    v.EnableBlinker(BLT_NONE);
    v.RemoveCommand(DUMMY_WARNINGLIGHTS);
    v.AssignCommand(CMD_WARNINGLIGHTS);
    }
    if (v.HasCommand(CMD_FLOODLIGHTS_OFF))
    {
    v.EnableSpecialLights(false);
    v.RemoveCommand(CMD_FLOODLIGHTS_OFF);
    v.AssignCommand(CMD_FLOODLIGHTS_ON);
    }
    if (v.HasObjectPath(NULL))
    Game::ExecuteCommand(DUMMY_PATROL, &v, &v);
    if (v.HasCommand(DUMMY_HASSIREN) && v.HasCommand(CMD_AUTOSIREN_OFF))
    Game::ExecuteCommand(DUMMY_DISABLE, &v, &v);
    if(StrCompare(v.GetPrototypeFileName(), OBJ_ENGINE01) == 0)
    {
    GameObjectList l4;
    Game::CollectObstaclesOnVirtualObject(VO_E1, l4, ACTOR_VEHICLE);
    if(l4.GetNumObjects() > 0)
    {
    Mission::PlayHint(HINT_NOSPACE);
    v.PushActionReturnToBase(ACTION_NEWLIST);
    return;
    } else
    {
    {
    ActorList l1 = Game::GetActors(VO_E1PAD);
    ActorList l2 = Game::GetActors(VO_E1TURN);
    ActorList l3 = Game::GetActors(VO_E1);
    }
    }
    }
    else if(StrCompare(v.GetPrototypeFileName(), OBJ_LADDER01) == 0)
    {
    GameObjectList l4;
    Game::CollectObstaclesOnVirtualObject(VO_L1, l4, ACTOR_VEHICLE);
    if(l4.GetNumObjects() > 0)
    {
    Mission::PlayHint(HINT_NOSPACE);
    v.PushActionReturnToBase(ACTION_NEWLIST);
    return;
    } else
    {
    {
    ActorList l1 = Game::GetActors(VO_L1PAD);
    ActorList l2 = Game::GetActors(VO_L1TURN);
    ActorList l3 = Game::GetActors(VO_L1);
    }
    }
    }
    else if(StrCompare(v.GetPrototypeFileName(), OBJ_ENGINE02) == 0)
    {
    GameObjectList l4;
    Game::CollectObstaclesOnVirtualObject(VO_E2, l4, ACTOR_VEHICLE);
    if(l4.GetNumObjects() > 0)
    {
    Mission::PlayHint(HINT_NOSPACE);
    v.PushActionReturnToBase(ACTION_NEWLIST);
    return;
    } else
    {
    {
    ActorList l1 = Game::GetActors(VO_E2PAD);
    ActorList l2 = Game::GetActors(VO_E2TURN);
    ActorList l3 = Game::GetActors(VO_E2);
    }
    }
    }
    else if(StrCompare(v.GetPrototypeFileName(), OBJ_RESCUE02) == 0)
    {
    GameObjectList l4;
    Game::CollectObstaclesOnVirtualObject(VO_R2, l4, ACTOR_VEHICLE);
    if(l4.GetNumObjects() > 0)
    {
    Mission::PlayHint(HINT_NOSPACE);
    v.PushActionReturnToBase(ACTION_NEWLIST);
    return;
    } else
    {
    {
    ActorList l1 = Game::GetActors(VO_R2PAD);
    ActorList l2 = Game::GetActors(VO_R2TURN);
    ActorList l3 = Game::GetActors(VO_R2);
    }
    }
    }
    else if(StrCompare(v.GetPrototypeFileName(), OBJ_ENGINE03) == 0)
    {
    GameObjectList l4;
    Game::CollectObstaclesOnVirtualObject(VO_E3, l4, ACTOR_VEHICLE);
    if(l4.GetNumObjects() > 0)
    {
    Mission::PlayHint(HINT_NOSPACE);
    v.PushActionReturnToBase(ACTION_NEWLIST);
    return;
    } else
    {
    {
    ActorList l1 = Game::GetActors(VO_E3PAD);
    ActorList l2 = Game::GetActors(VO_E3TURN);
    ActorList l3 = Game::GetActors(VO_E3);
    }
    }
    }
    else if(StrCompare(v.GetPrototypeFileName(), OBJ_SQUAD03) == 0)
    {
    GameObjectList l4;
    Game::CollectObstaclesOnVirtualObject(VO_S3, l4, ACTOR_VEHICLE);
    if(l4.GetNumObjects() > 0)
    {
    Mission::PlayHint(HINT_NOSPACE);
    v.PushActionReturnToBase(ACTION_NEWLIST);
    return;
    } else
    {
    {
    ActorList l1 = Game::GetActors(VO_S3PAD);
    ActorList l2 = Game::GetActors(VO_S3TURN);
    ActorList l3 = Game::GetActors(VO_S3);
    }
    }
    }
    else if(StrCompare(v.GetPrototypeFileName(), OBJ_ENGINE04) == 0)
    {
    GameObjectList l4;
    Game::CollectObstaclesOnVirtualObject(VO_E4, l4, ACTOR_VEHICLE);
    if(l4.GetNumObjects() > 0)
    {
    Mission::PlayHint(HINT_NOSPACE);
    v.PushActionReturnToBase(ACTION_NEWLIST);
    return;
    } else
    {
    {
    ActorList l1 = Game::GetActors(VO_E4PAD);
    ActorList l2 = Game::GetActors(VO_E4TURN);
    ActorList l3 = Game::GetActors(VO_E4);
    }
    }
    }
    else if(StrCompare(v.GetPrototypeFileName(), OBJ_LADDER04) == 0)
    {
    GameObjectList l4;
    Game::CollectObstaclesOnVirtualObject(VO_L4, l4, ACTOR_VEHICLE);
    if(l4.GetNumObjects() > 0)
    {
    Mission::PlayHint(HINT_NOSPACE);
    v.PushActionReturnToBase(ACTION_NEWLIST);
    return;
    } else
    {
    {
    ActorList l1 = Game::GetActors(VO_L4PAD);
    ActorList l2 = Game::GetActors(VO_L4TURN);
    ActorList l3 = Game::GetActors(VO_L4);
    }
    }
    }
    else if(StrCompare(v.GetPrototypeFileName(), OBJ_ENGINE05) == 0)
    {
    GameObjectList l4;
    Game::CollectObstaclesOnVirtualObject(VO_E5, l4, ACTOR_VEHICLE);
    if(l4.GetNumObjects() > 0)
    {
    Mission::PlayHint(HINT_NOSPACE);
    v.PushActionReturnToBase(ACTION_NEWLIST);
    return;
    } else
    {
    {
    ActorList l1 = Game::GetActors(VO_E5PAD);
    ActorList l2 = Game::GetActors(VO_E5TURN);
    ActorList l3 = Game::GetActors(VO_E5);
    }
    }
    }
    else if(StrCompare(v.GetPrototypeFileName(), OBJ_FOAM05) == 0)
    {
    GameObjectList l4;
    Game::CollectObstaclesOnVirtualObject(VO_F5, l4, ACTOR_VEHICLE);
    if(l4.GetNumObjects() > 0)
    {
    Mission::PlayHint(HINT_NOSPACE);
    v.PushActionReturnToBase(ACTION_NEWLIST);
    return;
    } else
    {
    {
    ActorList l1 = Game::GetActors(VO_F5PAD);
    ActorList l2 = Game::GetActors(VO_F5TURN);
    ActorList l3 = Game::GetActors(VO_F5);
    }
    }
    }
    else if(StrCompare(v.GetPrototypeFileName(), OBJ_FOAM06) == 0)
    {
    GameObjectList l4;
    Game::CollectObstaclesOnVirtualObject(VO_F6, l4, ACTOR_VEHICLE);
    if(l4.GetNumObjects() > 0)
    {
    Mission::PlayHint(HINT_NOSPACE);
    v.PushActionReturnToBase(ACTION_NEWLIST);
    return;
    } else
    {
    {
    ActorList l1 = Game::GetActors(VO_F6PAD);
    ActorList l2 = Game::GetActors(VO_F6TURN);
    ActorList l3 = Game::GetActors(VO_F6);
    }
    }
    }
    else if(StrCompare(v.GetPrototypeFileName(), OBJ_HAZMAT06) == 0)
    {
    GameObjectList l4;
    Game::CollectObstaclesOnVirtualObject(VO_H6, l4, ACTOR_VEHICLE);
    if(l4.GetNumObjects() > 0)
    {
    Mission::PlayHint(HINT_NOSPACE);
    v.PushActionReturnToBase(ACTION_NEWLIST);
    return;
    } else
    {
    {
    ActorList l1 = Game::GetActors(VO_H6PAD);
    ActorList l2 = Game::GetActors(VO_H6TURN);
    ActorList l3 = Game::GetActors(VO_H6);
    }
    }
    }
    else if(StrCompare(v.GetPrototypeFileName(), OBJ_HAZMAT07) == 0)
    {
    GameObjectList l4;
    Game::CollectObstaclesOnVirtualObject(VO_H7, l4, ACTOR_VEHICLE);
    if(l4.GetNumObjects() > 0)
    {
    Mission::PlayHint(HINT_NOSPACE);
    v.PushActionReturnToBase(ACTION_NEWLIST);
    return;
    } else
    {
    {
    ActorList l1 = Game::GetActors(VO_H7PAD);
    ActorList l2 = Game::GetActors(VO_H7TURN);
    ActorList l3 = Game::GetActors(VO_H7);
    }
    }
    }
    else if(StrCompare(v.GetPrototypeFileName(), OBJ_FOAM07) == 0)
    {
    GameObjectList l4;
    Game::CollectObstaclesOnVirtualObject(VO_F7, l4, ACTOR_VEHICLE);
    if(l4.GetNumObjects() > 0)
    {
    Mission::PlayHint(HINT_NOSPACE);
    v.PushActionReturnToBase(ACTION_NEWLIST);
    return;
    } else
    {
    {
    ActorList l1 = Game::GetActors(VO_F7PAD);
    ActorList l2 = Game::GetActors(VO_F7TURN);
    ActorList l3 = Game::GetActors(VO_F7);
    }
    }
    }
    else if(StrCompare(v.GetPrototypeFileName(), OBJ_FOAM08) == 0)
    {
    GameObjectList l4;
    Game::CollectObstaclesOnVirtualObject(VO_F8, l4, ACTOR_VEHICLE);
    if(l4.GetNumObjects() > 0)
    {
    Mission::PlayHint(HINT_NOSPACE);
    v.PushActionReturnToBase(ACTION_NEWLIST);
    return;
    } else
    {
    {
    ActorList l1 = Game::GetActors(VO_F8PAD);
    ActorList l2 = Game::GetActors(VO_F8TURN);
    ActorList l3 = Game::GetActors(VO_F8);
    }
    }
    }




    // MMMMMMMMMMMMMMEEEEEEEEEDDDDDDDDDIIIIIIIIIICCCCCCCCCSSSSSSSSS




    else if(StrCompare(v.GetPrototypeFileName(), OBJ_MEDIC01) ==0)
    {
    GameObjectList l4;
    Game::CollectObstaclesOnVirtualObject(VO_MEDIC01, l4, ACTOR_VEHICLE);
    if(l4.GetNumObjects() > 0)
    {
    Mission::PlayHint(HINT_NOSPACE);
    v.PushActionReturnToBase(ACTION_NEWLIST);
    return;
    } else
    {
    ActorList l1 = Game::GetActors(VO_MEDICPAD01);
    ActorList l2 = Game::GetActors(VO_TURNTO1);
    ActorList l3 = Game::GetActors(VO_MEDIC01);
    }
    }
    else if(StrCompare(v.GetPrototypeFileName(), OBJ_MEDIC02) ==0)
    {
    GameObjectList l4;
    Game::CollectObstaclesOnVirtualObject(VO_MEDIC02, l4, ACTOR_VEHICLE);
    if(l4.GetNumObjects() > 0)
    {
    Mission::PlayHint(HINT_NOSPACE);
    v.PushActionReturnToBase(ACTION_NEWLIST);
    return;
    } else
    {
    ActorList l1 = Game::GetActors(VO_MEDICPAD02);
    ActorList l2 = Game::GetActors(VO_TURNTO2);
    ActorList l3 = Game::GetActors(VO_MEDIC02);
    }
    }
    else if(StrCompare(v.GetPrototypeFileName(), OBJ_MEDIC03) ==0)
    {
    GameObjectList l4;
    Game::CollectObstaclesOnVirtualObject(VO_MEDIC03, l4, ACTOR_VEHICLE);
    if(l4.GetNumObjects() > 0)
    {
    Mission::PlayHint(HINT_NOSPACE);
    v.PushActionReturnToBase(ACTION_NEWLIST);
    return;
    } else
    {
    ActorList l1 = Game::GetActors(VO_MEDICPAD03);
    ActorList l2 = Game::GetActors(VO_TURNTO3);
    ActorList l3 = Game::GetActors(VO_MEDIC03);
    }
    }
    else if(StrCompare(v.GetPrototypeFileName(), OBJ_MEDIC04) ==0)
    {
    GameObjectList l4;
    Game::CollectObstaclesOnVirtualObject(VO_MEDIC04, l4, ACTOR_VEHICLE);
    if(l4.GetNumObjects() > 0)
    {
    Mission::PlayHint(HINT_NOSPACE);
    v.PushActionReturnToBase(ACTION_NEWLIST);
    return;
    } else
    {
    ActorList l1 = Game::GetActors(VO_MEDICPAD04);
    ActorList l2 = Game::GetActors(VO_TURNTO4);
    ActorList l3 = Game::GetActors(VO_MEDIC04);
    }
    }
    else if(StrCompare(v.GetPrototypeFileName(), OBJ_MEDIC05) ==0)
    {
    GameObjectList l4;
    Game::CollectObstaclesOnVirtualObject(VO_MEDIC05, l4, ACTOR_VEHICLE);
    if(l4.GetNumObjects() > 0)
    {
    Mission::PlayHint(HINT_NOSPACE);
    v.PushActionReturnToBase(ACTION_NEWLIST);
    return;
    } else
    {
    ActorList l1 = Game::GetActors(VO_MEDICPAD05);
    ActorList l2 = Game::GetActors(VO_TURNTO5);
    ActorList l3 = Game::GetActors(VO_MEDIC05);
    }
    }
    else if(StrCompare(v.GetPrototypeFileName(), OBJ_MEDIC06) ==0)
    {
    GameObjectList l4;
    Game::CollectObstaclesOnVirtualObject(VO_MEDIC06, l4, ACTOR_VEHICLE);
    if(l4.GetNumObjects() > 0)
    {
    Mission::PlayHint(HINT_NOSPACE);
    v.PushActionReturnToBase(ACTION_NEWLIST);
    return;
    } else
    {
    ActorList l1 = Game::GetActors(VO_MEDICPAD06);
    ActorList l2 = Game::GetActors(VO_TURNTO6);
    ActorList l3 = Game::GetActors(VO_MEDIC06);
    }
    }
    else if(StrCompare(v.GetPrototypeFileName(), OBJ_PATROL1) == 0)
    {
    GameObjectList l4;
    Game::CollectObstaclesOnVirtualObject(VO_P1, l4, ACTOR_VEHICLE);
    if(l4.GetNumObjects() > 0)
    {
    Mission::PlayHint(HINT_NOSPACE);
    v.PushActionReturnToBase(ACTION_NEWLIST);
    return;
    } else
    {
    {
    ActorList l1 = Game::GetActors(VO_P1PAD);
    ActorList l2 = Game::GetActors(VO_P1TURN);
    ActorList l3 = Game::GetActors(VO_P1);
    }
    }
    }
    else if(StrCompare(v.GetPrototypeFileName(), OBJ_PATROL2) == 0)
    {
    GameObjectList l4;
    Game::CollectObstaclesOnVirtualObject(VO_P2, l4, ACTOR_VEHICLE);
    if(l4.GetNumObjects() > 0)
    {
    Mission::PlayHint(HINT_NOSPACE);
    v.PushActionReturnToBase(ACTION_NEWLIST);
    return;
    } else
    {
    {
    ActorList l1 = Game::GetActors(VO_P2PAD);
    ActorList l2 = Game::GetActors(VO_P2TURN);
    ActorList l3 = Game::GetActors(VO_P2);
    }
    }
    }
    else if(StrCompare(v.GetPrototypeFileName(), OBJ_PATROL3) == 0)
    {
    GameObjectList l4;
    Game::CollectObstaclesOnVirtualObject(VO_P3, l4, ACTOR_VEHICLE);
    if(l4.GetNumObjects() > 0)
    {
    Mission::PlayHint(HINT_NOSPACE);
    v.PushActionReturnToBase(ACTION_NEWLIST);
    return;
    } else
    {
    {
    ActorList l1 = Game::GetActors(VO_P3PAD);
    ActorList l2 = Game::GetActors(VO_P3TURN);
    ActorList l3 = Game::GetActors(VO_P3);
    }
    }
    }
    else if(StrCompare(v.GetPrototypeFileName(), OBJ_PATROL4) == 0)
    {
    GameObjectList l4;
    Game::CollectObstaclesOnVirtualObject(VO_P4, l4, ACTOR_VEHICLE);
    if(l4.GetNumObjects() > 0)
    {
    Mission::PlayHint(HINT_NOSPACE);
    v.PushActionReturnToBase(ACTION_NEWLIST);
    return;
    } else
    {
    {
    ActorList l1 = Game::GetActors(VO_P4PAD);
    ActorList l2 = Game::GetActors(VO_P4TURN);
    ActorList l3 = Game::GetActors(VO_P4);
    }
    }
    }
    else if(StrCompare(v.GetPrototypeFileName(), OBJ_PATROL5) == 0)
    {
    GameObjectList l4;
    Game::CollectObstaclesOnVirtualObject(VO_P5, l4, ACTOR_VEHICLE);
    if(l4.GetNumObjects() > 0)
    {
    Mission::PlayHint(HINT_NOSPACE);
    v.PushActionReturnToBase(ACTION_NEWLIST);
    return;
    } else
    {
    {
    ActorList l1 = Game::GetActors(VO_P5PAD);
    ActorList l2 = Game::GetActors(VO_P5TURN);
    ActorList l3 = Game::GetActors(VO_P5);
    }
    }
    }
    else if(StrCompare(v.GetPrototypeFileName(), OBJ_PATROL6) == 0)
    {
    GameObjectList l4;
    Game::CollectObstaclesOnVirtualObject(VO_P6, l4, ACTOR_VEHICLE);
    if(l4.GetNumObjects() > 0)
    {
    Mission::PlayHint(HINT_NOSPACE);
    v.PushActionReturnToBase(ACTION_NEWLIST);
    return;
    } else
    {
    {
    ActorList l1 = Game::GetActors(VO_P6PAD);
    ActorList l2 = Game::GetActors(VO_P6TURN);
    ActorList l3 = Game::GetActors(VO_P6);
    }
    }
    }
    else if(StrCompare(v.GetPrototypeFileName(), OBJ_BAT01) == 0)
    {
    GameObjectList l4;
    Game::CollectObstaclesOnVirtualObject(VO_B1, l4, ACTOR_VEHICLE);
    if(l4.GetNumObjects() > 0)
    {
    Mission::PlayHint(HINT_NOSPACE);
    v.PushActionReturnToBase(ACTION_NEWLIST);
    return;
    } else
    {
    {
    ActorList l1 = Game::GetActors(VO_B1PAD);
    ActorList l2 = Game::GetActors(VO_B1TURN);
    ActorList l3 = Game::GetActors(VO_B1);
    }
    }
    }
    else if(StrCompare(v.GetPrototypeFileName(), OBJ_BAT02) == 0)
    {
    GameObjectList l4;
    Game::CollectObstaclesOnVirtualObject(VO_B2, l4, ACTOR_VEHICLE);
    if(l4.GetNumObjects() > 0)
    {
    Mission::PlayHint(HINT_NOSPACE);
    v.PushActionReturnToBase(ACTION_NEWLIST);
    return;
    } else
    {
    {
    ActorList l1 = Game::GetActors(VO_B2PAD);
    ActorList l2 = Game::GetActors(VO_B2TURN);
    ActorList l3 = Game::GetActors(VO_B2);
    }
    }
    }
    else if(StrCompare(v.GetPrototypeFileName(), OBJ_CRANE) == 0)
    {
    GameObjectList l4;
    Game::CollectObstaclesOnVirtualObject(VO_C2, l4, ACTOR_VEHICLE);
    if(l4.GetNumObjects() > 0)
    {
    Mission::PlayHint(HINT_NOSPACE);
    v.PushActionReturnToBase(ACTION_NEWLIST);
    return;
    } else
    {
    {
    ActorList l1 = Game::GetActors(VO_C2PAD);
    ActorList l2 = Game::GetActors(VO_C2TURN);
    ActorList l3 = Game::GetActors(VO_C2);
    }
    }
    }
    else
    {
    Mission::PlayHint(HINT_NOTVALID);
    return;
    }

    if(l1.GetNumActors() > 0)
    Vector Pad = l1.GetActor(0)->GetPosition();

    if(l2.GetNumActors() > 0)
    Vector TurnTo = l2.GetActor(0)->GetPosition();

    if(l3.GetNumActors() > 0)
    Vector Park = l3.GetActor(0)->GetPosition();



    Audio::PlaySample3D(SND_TOSTATION, Caller->GetPosition());

    v.PushActionMove(ACTION_NEWLIST, Pad);
    v.PushActionTurnTo(ACTION_APPEND, TurnTo);
    v.PushActionWait(ACTION_APPEND, 1.0f);
    v.PushActionWait(ACTION_APPEND, 1.0f);
    v.PushActionMove(ACTION_APPEND, Park);
    v.PushActionTurnTo(ACTION_APPEND, TurnTo);
    v.PushActionWait(ACTION_APPEND, 1.0f);
    if (v.HasCommand(DUMMY_WARNINGLIGHTS))
    {
    v.EnableBlinker(BLT_NONE);
    v.RemoveCommand(DUMMY_WARNINGLIGHTS);
    v.AssignCommand(CMD_WARNINGLIGHTS);
    } else
    v.EnableBlinker(BLT_NONE);
    }
    };

    object DummyEngine : CommandScript
    {
    DummyEngine()
    {
    SetGroupID(DummyGroup);
    }

    bool CheckTarget(GameObject *Caller, Actor *Target, int ChildID)
    {
    }

    void PushActions(GameObject *Caller, Actor *Target, int ChildID)
    {
    }
    };

     

    The first script is from SG's submod and the second one is from Harbor City mod.

  3. Hi people.

     

    I started a mini-modification by copying all of the limited water mod files into a new folder (my own modification). I'm using the default prototypes that are in the limited water mod (FDNY engines and tanker) and added a new vehicle via-cloning of the Engine 01.

     

    The problem is that when I add the script to make the vehicles return to the station, only the tanker shows it (the icon) in the freeplay and is able to return to the parking spot. The cloned unit and the Engine 01 (original name from the limited water logic) have all of the scripts working correctly (I added 3 new scripts for lights an they work fine) except for the ToVLCI / ToVUCI, which are the scripts for the vehicles to return to the station.

     

    The limited water supply logic works fine on all of the units, but I can't really see what is going on with the parking script, I already changed it twice and it still doesn't show.

     

    Any ideas on what I'm doing wrong here?

  4. I was playing with the mod last night. There was a fire at the hospital and I was treating and removing the victims. All of a sudden, the gameplay froze. I opened up my task manager and an error message appeared. (_ToFD18a320e): Warning: Automatic variable ToFD is allocated. It gave me three options: Abort, Continue, or Retry. I pressed continue and the game went back to normal. What did that error message mean?

    It's related with the Air Force FD vehicles, the 4x4 and the 6x6 trucks. I still gotta take a look into that, no idea what went wrong there.

  5. Hi. 

     

    I'm using this script to turn the headlights (set as Special Light) on and off (just like the flashing lights script, for example). The thing is that I can only turn the lights on and when I click on the script again, the lights stay turned on.

     

    Any idea of what I'm doing wrong here?

     

    Here's the script:


    const char IMG[] = "Headlights";

    const char DUMMY_HASBELICHTING[] = "DUMMYHasBelichting";

    int DummyGroup = 20;

    // 1.0
    object Headlights : CommandScript
    {
    Headlights()
    {
    SetIcon("Headlights");
    SetCursor("Headlights");
    SetRestrictions(RESTRICT_SELFEXECUTE);
    }

    bool CheckPossible(GameObject *Caller)
    {
    if (!Caller->IsValid())
    return false;

    if (Caller->GetType() == ACTOR_VEHICLE)
    {
    return true;
    }

    return false;
    }

    bool CheckTarget(GameObject *Caller, Actor *Target, int childID)
    {
    if (!Caller->IsValid() || !Target->IsValid() || Target->GetID() != Caller->GetID())
    return false;

    if (Caller->GetType() == ACTOR_VEHICLE)
    {
    return true;
    }

    return true;
    }

    void PushActions(GameObject *Caller, Actor *Target, int childID)
    {
    Vehicle v(Caller);

    if (v.HasCommand(DUMMY_HASBELICHTING))
    {
    v.EnableSpecialLights(false);
    v.RemoveCommand(DUMMY_HASBELICHTING);
    } else if (!v.HasCommand(DUMMY_HASBELICHTING))
    {
    v.EnableSpecialLights(true);
    v.AssignCommand(DUMMY_HASBELICHTING);
    }
    }
    };

     
  6. This happened today.

     

    I was in school and I had a test today. As I went up the stairwell, I saw lots of people around one of my friends. I went closer and I noticed that he was sweating a lot and his left leg was hurt. Apparently he made some kind of fracture on the knee as he was getting up to get in class. Me and a friend of mine tried to make everyone give him some space. Meanwhile, some teachers and the school nurse arrived. They started to see what was wrong and they tried almost everything to get him back up.

     

    50 minutes later, I started to hear some boots stepping the ground and a couple beeping sounds. I finished my test and I went out.

     

    As I exit the classroom, I see two Beato FFs with a backboard, securing his leg. I go down the stairwell to get some pictures of the ambulance and this is what I see: about 60 kids around the stretcher making lots of noise and s**t like that. I take a picture of the ambulance and I talk to the security guard. After that, I go back up and I offer my help to take the EMT bag down to the ambulance.

     

    As we get down the staircase (my heart was beating fast because of the excitement, weird, I know), we shout to the kids to back up and give us some room. The FFs put my friend on the stretcher and some teachers and security guards went to help them. We walk to the ambulance (I still have the bag) and I wait outside the vehicle to give the bag to one of the FFs.

     

    They went to the Hospital and I got back to the class. ^^

     

     

    Here's the pic I took.

    1911651_731823780190552_1577402341_n.jpg

×
×
  • Create New...