Jump to content

MARCO

Members
  • Posts

    330
  • Joined

  • Last visited

  • Days Won

    1

Posts posted by MARCO

  1. Sorry for "re dig: thread, but I have the same problem (_LASirena21): Limitation statement too long. I try add submod 1_90 v1.8 to La mod 2.1 with additional vehicles 1.3

    here is the whole script


    //******************************************************************************************
    // #Version 2.7#
    //
    // Includes: All Sirens Commands
    //
    // - VcmdSiren
    // - DummyUpdatePos
    // - DummyDisableSiren
    // - DummyFindPath
    // - DummyHasSiren
    //
    // Script by Bass-Ti
    // Modified by Hoppah
    //
    //******************************************************************************************
    const char CMD_AUTOSIREN_OFF[] = "VcmdAutoSirenOff";
    const char EACTION_FINDPATH[] = "EActionFindPath";
    const char EACTION_EXTINGUISH[] = "EActionExtinguish";
    const char DUMMY_HASSIREN[] = "DummyHasSiren";
    const char DUMMY_UPDATEPOS[] = "DummyUpdatePos";
    const char DUMMY_FINDPATH[] = "DummyFindPath";
    const char DUMMY_HOSESON[] = "DummyHosesAreOn";
    const char NAME_DUMMYOBJECT[] = "HelpingObjekt_Hoppah";
    const char DUMMY_GETTIL[] = "DummyGetTiller";
    const char PROTO_LAPD_IMPALA[] = "mod:Prototypes/Vehicles/03 LA Police/lapd_impala.e4p";
    const char PROTO_CAMARO_CHP[] = "mod:Prototypes/Vehicles/03 LA Police/camaro_chp.e4p";
    const char PROTO_LEV[] = "mod:Prototypes/Vehicles/02 LA Fire Department/light_equipment_truck.e4p";
    const char PROTO_LRA[] = "mod:Prototypes/Vehicles/01 LA Ambulance/large_rescue_ambulance.e4p";
    const char PROTO_BPAT_DC[] = "mod:Prototypes/Vehicles/03 LA Police/bpat_dodge_charger.e4p";
    const char PROTO_BPAT_TAHOE[] = "mod:Prototypes/Vehicles/03 LA Police/bpat_tahoe.e4p";
    const char PROTO_ATF_CV[] = "mod:Prototypes/Vehicles/03 LA Police/ATF_cv.e4p";
    const char PROTO_ATF_NRU[] = "mod:Prototypes/Vehicles/03 LA Police/atf_nru.e4p";
    const char PROTO_ATF_MCP[] = "mod:Prototypes/Vehicles/03 LA Police/atf_mcp.e4p";
    const char PROTO_SWAT_SUV[] = "mod:Prototypes/Vehicles/03 LA Police/swat_suv.e4p";
    const char PROTO_ENGINE01[] = "mod:Prototypes/Vehicles/02 LA Fire Department/fire_engine1.e4p";
    const char PROTO_ENGINE02[] = "mod:Prototypes/Vehicles/02 LA Fire Department/fire_engine2.e4p";
    const char PROTO_ENGINE03[] = "mod:Prototypes/Vehicles/02 LA Fire Department/fire_engine3.e4p";
    const char PROTO_ENGINE04[] = "mod:Prototypes/Vehicles/02 LA Fire Department/fire_engine4.e4p";
    const char PROTO_WATERTENDER[] = "mod:Prototypes/Vehicles/02 LA Fire Department/water_tender.e4p";
    const char PROTO_LADDER[] = "mod:Prototypes/Vehicles/02 LA Fire Department/aerial_ladder.e4p";
    const char PROTO_TILLER[] = "mod:Prototypes/Vehicles/02 LA Fire Department/tiller_cabin.e4p";
    const char PROTO_HAZMAT[] = "mod:Prototypes/Vehicles/02 LA Fire Department/hazmat_squad.e4p";
    const char PROTO_MOTORBOAT[] = "mod:Prototypes/Vehicles/02 LA Fire Department/swr_truck.e4p";
    const char PROTO_CRASHTENDER[] = "mod:Prototypes/Vehicles/02 LA Fire Department/crashtender.e4p";
    const char PROTO_USAR[] = "mod:Prototypes/Vehicles/02 LA Fire Department/usar_squad.e4p";
    const char PROTO_MCU01[] = "mod:Prototypes/Vehicles/01 LA Ambulance/mass_casualty_unit.e4p";
    const char PROTO_BCV[] = "mod:Prototypes/Vehicles/02 LA Fire Department/battalion_chief_vehicle.e4p";
    const char PROTO_BCV01[] = "mod:Prototypes/Vehicles/02 LA Fire Department/battalion_chief_vehicle2.e4p";
    const char PROTO_HES[] = "mod:Prototypes/Vehicles/02 LA Fire Department/heavy_equipment_squad.e4p";
    const char PROTO_BRUSH[] = "mod:Prototypes/Vehicles/02 LA Fire Department/brush_truck.e4p";
    const char PROTO_BRUSH01[] = "mod:Prototypes/Vehicles/02 LA Fire Department/brush_truck2.e4p";
    const char PROTO_USFS01[] = "mod:Prototypes/Vehicles/02 LA Fire Department/usfs_utility.e4p";
    const char PROTO_USFS02[] = "mod:Prototypes/Vehicles/02 LA Fire Department/usfs_engine.e4p";
    const char PROTO_EMS[] = "mod:Prototypes/Vehicles/01 LA Ambulance/cv_ems.e4p";
    const char PROTO_AMBULANCE01[] = "mod:Prototypes/Vehicles/01 LA Ambulance/ambulance01.e4p";
    const char PROTO_AMBULANCE02[] = "mod:Prototypes/Vehicles/01 LA Ambulance/ambulance02.e4p";
    const char PROTO_AMBULANCE03[] = "mod:Prototypes/Vehicles/01 LA Ambulance/ambulance03.e4p";
    const char PROTO_AMBULANCE04[] = "mod:Prototypes/Vehicles/01 LA Ambulance/ambulance04.e4p";
    const char PROTO_AMBULANCE05[] = "mod:Prototypes/Vehicles/01 LA Ambulance/ambulance05.e4p";
    const char PROTO_DOGTRUCK[] = "mod:Prototypes/Vehicles/01 LA Ambulance/suv_rescue_dog.e4p";
    const char PROTO_MOTORCYCLE[] = "mod:Prototypes/Vehicles/03 LA Police/motorcycle_lapd.e4p";
    const char PROTO_CV_LAPD[] = "mod:Prototypes/Vehicles/03 LA Police/cv_lapd.e4p";
    const char PROTO_CV_LAPD1[] = "mod:Prototypes/Vehicles/03 LA Police/chevrolet_caprice_police89.e4p";
    const char PROTO_CV_LAPD2[] = "mod:Prototypes/Vehicles/03 LA Police/chevrolet_caprice_police94.e4p";
    const char PROTO_CV_LAPD3[] = "mod:Prototypes/Vehicles/03 LA Police/ford_crown_victoria89.e4p";
    const char PROTO_CV_LAPD4[] = "mod:Prototypes/Vehicles/03 LA Police/dodge_diplomat_chp84.e4p";
    const char PROTO_CV_LAPD6[] = "mod:Prototypes/Vehicles/03 LA Police/chevrolet_s_10_90.e4p";
    const char PROTO_CV_LAPD7[] = "mod:Prototypes/Vehicles/03 LA Police/chevrolet_van91.e4p";
    const char PROTO_CV_LAPD8[] = "mod:Prototypes/Vehicles/03 LA Police/dodge_diplomat_chp_2_84.e4p";
    const char PROTO_CV_LAPD9[] = "mod:Prototypes/Vehicles/03 LA Police/ford_crown_victoria_94_civil.e4p";
    const char PROTO_CV_LAPD10[] = "mod:Prototypes/Vehicles/03 LA Police/ford_crown_victoria_94_patrol.e4p";
    const char PROTO_CV_LAPD11[] = "mod:Prototypes/Vehicles/03 LA Police/ford_crown_victoria89_chp.e4p";
    const char PROTO_CV_LAPD12[] = "mod:Prototypes/Vehicles/03 LA Police/chevrolet_caprice_police89_unmarked.e4p";
    const char PROTO_CV_LAPD_K9[] = "mod:Prototypes/Vehicles/03 LA Police/cv_lapdk9.e4p";
    const char PROTO_CV_LAPD_ST[] = "mod:Prototypes/Vehicles/03 LA Police/cv_lapd_slicktop.e4p";
    const char PROTO_CV_LAAP[] = "mod:Prototypes/Vehicles/03 LA Police/cv_laap.e4p";
    const char PROTO_CV_LAPP[] = "mod:Prototypes/Vehicles/03 LA Police/cv_lapp.e4p";
    const char PROTO_CV_UMPC[] = "mod:Prototypes/Vehicles/03 LA Police/cv_umpc.e4p";
    const char PROTO_CV_CHP[] = "mod:Prototypes/Vehicles/03 LA Police/cv_chp.e4p";
    const char PROTO_CV_LASD[] = "mod:Prototypes/Vehicles/03 LA Police/cv_lasd.e4p";
    const char PROTO_LASD_VAN[] = "mod:Prototypes/Vehicles/03 LA Police/lasd_van.e4p";
    const char PROTO_CHARGER_CHP[] = "mod:Prototypes/Vehicles/03 LA Police/dodge_charger_chp.e4p";
    const char PROTO_CHARGER_LAPD[] = "mod:Prototypes/Vehicles/03 LA Police/dodge_charger_lapd.e4p";
    const char PROTO_SUV_LAPD[] = "mod:Prototypes/Vehicles/03 LA Police/suv_lapd.e4p";
    const char PROTO_RESCUE01[] = "mod:Prototypes/Vehicles/03 LA Police/rescue_truck01_lapd.e4p";
    const char PROTO_RESCUE02[] = "mod:Prototypes/Vehicles/03 LA Police/rescue_truck02_lapd.e4p";
    const char PROTO_SWAT_TRUCK[] = "mod:Prototypes/Vehicles/03 LA Police/swat_truck.e4p";
    const char PROTO_WATERCANNON[] = "mod:Prototypes/Vehicles/03 LA Police/swat_armoured_vehicle.e4p";
    const char PROTO_HUMMERH2_LASD[] = "mod:Prototypes/Vehicles/03 LA Police/hummerh2_lasd.e4p";
    const char PROTO_BOMB_SQUAD[] = "mod:Prototypes/Vehicles/03 LA Police/suv_bomb_squad.e4p";
    const char PROTO_FBI_SUV[] = "mod:Prototypes/Vehicles/09 Government/fbi_suv.e4p";
    const char PROTO_FBI_COMMAND[] = "mod:Prototypes/Vehicles/09 Government/fbi_command.e4p";
    const char PROTO_HEAVY_RESCUE[] = "mod:Prototypes/Vehicles/02 LA Fire Department/heavy_rescue_crane.e4p";
    int DummyGroup = 23;
    object VcmdSiren : CommandScript
    {
    VcmdSiren()
    {
    SetIcon("sirenson");
    SetCursor("sirens");
    SetRestrictions(RESTRICT_SELFEXECUTE);
    SetPossibleCallers(ACTOR_VEHICLE);
    SetGroupID(DummyGroup);
    SetGroupLeader(true);
    }
    bool CheckPossible(GameObject *Caller)
    {
    if (!Caller->IsValid())
    return false;
    if (Caller->HasCommand(DUMMY_HASSIREN))
    SetIcon("sirensoff");
    else
    SetIcon("sirenson");
    if(Caller->HasCommand(DUMMY_HOSESON))
    return false;
    return true;
    }
    bool CheckTarget(GameObject *Caller, Actor *Target, int childID)
    {
    if (!Target->IsValid() || Target->GetID() != Caller->GetID())
    return false;
    return true;
    }
    void PushActions(GameObject *Caller, Actor *Target, int childID)
    {
    Vehicle v(Caller);
    if (!v.HasCommand(DUMMY_HASSIREN))
    {
    if (!v.IsBlueLightEnabled())
    {
    v.EnableBlueLights(true);
    }
    int soundID;
    Vector CarPos = v.GetPosition();
    if (StrCompare(v.GetPrototypeFileName(), PROTO_ENGINE01) == 0 ||
    StrCompare(v.GetPrototypeFileName(), PROTO_ENGINE02) == 0 ||
    StrCompare(v.GetPrototypeFileName(), PROTO_ENGINE03) == 0 ||
    StrCompare(v.GetPrototypeFileName(), PROTO_ENGINE04) == 0 ||
    StrCompare(v.GetPrototypeFileName(), PROTO_WATERTENDER) == 0 ||
    StrCompare(v.GetPrototypeFileName(), PROTO_LADDER) == 0 ||
    StrCompare(v.GetPrototypeFileName(), PROTO_TILLER) == 0 ||
    StrCompare(v.GetPrototypeFileName(), PROTO_HAZMAT) == 0 ||
    StrCompare(v.GetPrototypeFileName(), PROTO_MOTORBOAT) == 0 ||
    StrCompare(v.GetPrototypeFileName(), PROTO_CRASHTENDER) == 0 ||
    StrCompare(v.GetPrototypeFileName(), PROTO_USAR) == 0 ||
    StrCompare(v.GetPrototypeFileName(), PROTO_MCU01) == 0 ||
    StrCompare(v.GetPrototypeFileName(), PROTO_USFS02) == 0 ||
    StrCompare(v.GetPrototypeFileName(), PROTO_SWAT_TRUCK) == 0 ||
    StrCompare(v.GetPrototypeFileName(), PROTO_HEAVY_RESCUE) == 0 ||
    StrCompare(v.GetPrototypeFileName(), PROTO_FBI_COMMAND) == 0)
    {
    int random = Math::rand()%2;
    if (random == 0)
    {
    soundID = Audio::PlaySample3D("mod:Audio/FX/Sirens/Siren01.wav", CarPos, true);
    } else
    {
    soundID = Audio::PlaySample3D("mod:Audio/FX/Sirens/Siren02.wav", CarPos, true);
    }
    }
    else if (StrCompare(v.GetPrototypeFileName(), PROTO_BCV) == 0 ||
    StrCompare(v.GetPrototypeFileName(), PROTO_BCV01) == 0 ||
    StrCompare(v.GetPrototypeFileName(), PROTO_HES) == 0 ||
    StrCompare(v.GetPrototypeFileName(), PROTO_BRUSH) == 0 ||
    StrCompare(v.GetPrototypeFileName(), PROTO_BRUSH01) == 0 ||
    StrCompare(v.GetPrototypeFileName(), PROTO_USFS01) == 0 ||
    StrCompare(v.GetPrototypeFileName(), PROTO_EMS) == 0 ||
    StrCompare(v.GetPrototypeFileName(), PROTO_AMBULANCE01) == 0 ||
    StrCompare(v.GetPrototypeFileName(), PROTO_AMBULANCE02) == 0 ||
    StrCompare(v.GetPrototypeFileName(), PROTO_AMBULANCE03) == 0 ||
    StrCompare(v.GetPrototypeFileName(), PROTO_AMBULANCE04) == 0 ||
    StrCompare(v.GetPrototypeFileName(), PROTO_LRA) == 0 ||
    StrCompare(v.GetPrototypeFileName(), PROTO_LEV) == 0 ||
    StrCompare(v.GetPrototypeFileName(), PROTO_DOGTRUCK) == 0)
    {
    int random = Math::rand()%2;
    if (random == 0)
    {
    soundID = Audio::PlaySample3D("mod:Audio/FX/Sirens/Siren03.wav", CarPos, true);
    } else
    {
    soundID = Audio::PlaySample3D("mod:Audio/FX/Sirens/Siren04.wav", CarPos, true);
    }
    }
    else if (StrCompare(v.GetPrototypeFileName(), PROTO_ATF_NRU) == 0 || StrCompare(v.GetPrototypeFileName(), PROTO_ATF_MCP) == 0)
    {
    int random = Math::rand()%2;
    if (random == 0)
    {
    soundID = Audio::PlaySample3D("mod:Audio/FX/Sirens/Siren03.wav", CarPos, true);
    } else
    {
    soundID = Audio::PlaySample3D("mod:Audio/FX/Sirens/Siren04.wav", CarPos, true);
    }
    }
    else if (StrCompare(v.GetPrototypeFileName(), PROTO_MOTORCYCLE) == 0 ||
    StrCompare(v.GetPrototypeFileName(), PROTO_CV_LAPD) == 0 ||
    StrCompare(v.GetPrototypeFileName(), PROTO_CV_LAPD1) == 0 ||
    StrCompare(v.GetPrototypeFileName(), PROTO_CV_LAPD2) == 0 ||
    StrCompare(v.GetPrototypeFileName(), PROTO_CV_LAPD3) == 0 ||
    StrCompare(v.GetPrototypeFileName(), PROTO_CV_LAPD4) == 0 ||
    StrCompare(v.GetPrototypeFileName(), PROTO_CV_LAPD6) == 0 ||
    StrCompare(v.GetPrototypeFileName(), PROTO_CV_LAPD_ST) == 0 ||
    StrCompare(v.GetPrototypeFileName(), PROTO_CV_LAPD_K9) == 0 ||
    StrCompare(v.GetPrototypeFileName(), PROTO_CV_LAAP) == 0 ||
    StrCompare(v.GetPrototypeFileName(), PROTO_CV_LAPP) == 0 ||
    StrCompare(v.GetPrototypeFileName(), PROTO_CV_UMPC) == 0 ||
    StrCompare(v.GetPrototypeFileName(), PROTO_CV_CHP) == 0 ||
    StrCompare(v.GetPrototypeFileName(), PROTO_CV_LASD) == 0 ||
    StrCompare(v.GetPrototypeFileName(), PROTO_CHARGER_LAPD) == 0 ||
    StrCompare(v.GetPrototypeFileName(), PROTO_CHARGER_CHP) == 0 ||
    StrCompare(v.GetPrototypeFileName(), PROTO_CAMARO_CHP) == 0 ||
    StrCompare(v.GetPrototypeFileName(), PROTO_BPAT_DC) == 0 ||
    StrCompare(v.GetPrototypeFileName(), PROTO_BPAT_TAHOE) == 0 ||
    StrCompare(v.GetPrototypeFileName(), PROTO_ATF_CV) == 0)
    {
    int random = Math::rand()%2;
    if (random == 0)
    {
    soundID = Audio::PlaySample3D("mod:Audio/FX/Sirens/Siren05.wav", CarPos, true);
    } else
    {
    soundID = Audio::PlaySample3D("mod:Audio/FX/Sirens/Siren06.wav", CarPos, true);
    }
    }
    else if (StrCompare(v.GetPrototypeFileName(), PROTO_SUV_LAPD) == 0 ||
    StrCompare(v.GetPrototypeFileName(), PROTO_LAPD_IMPALA) == 0 ||
    StrCompare(v.GetPrototypeFileName(), PROTO_RESCUE01) == 0 ||
    StrCompare(v.GetPrototypeFileName(), PROTO_RESCUE02) == 0 ||
    StrCompare(v.GetPrototypeFileName(), PROTO_SWAT_SUV) == 0 ||
    StrCompare(v.GetPrototypeFileName(), PROTO_WATERCANNON) == 0 ||
    StrCompare(v.GetPrototypeFileName(), PROTO_HUMMERH2_LASD) == 0 ||
    StrCompare(v.GetPrototypeFileName(), PROTO_BOMB_SQUAD) == 0 ||
    StrCompare(v.GetPrototypeFileName(), PROTO_CV_LAPD7) == 0 ||
    StrCompare(v.GetPrototypeFileName(), PROTO_CV_LAPD8) == 0 ||
    StrCompare(v.GetPrototypeFileName(), PROTO_CV_LAPD9) == 0 ||
    StrCompare(v.GetPrototypeFileName(), PROTO_CV_LAPD10) == 0 ||
    StrCompare(v.GetPrototypeFileName(), PROTO_CV_LAPD11) == 0 ||
    StrCompare(v.GetPrototypeFileName(), PROTO_CV_LAPD12) == 0 ||
    StrCompare(v.GetPrototypeFileName(), PROTO_LASD_VAN) == 0 ||
    StrCompare(v.GetPrototypeFileName(), PROTO_FBI_SUV) == 0)
    {
    int random = Math::rand()%2;
    if (random == 0)
    {
    soundID = Audio::PlaySample3D("mod:Audio/FX/Sirens/Siren05.wav", CarPos, true);
    } else
    {
    soundID = Audio::PlaySample3D("mod:Audio/FX/Sirens/Siren06.wav", CarPos, true);
    }
    }
    int CarID = v.GetID();
    GameObject mDummy = Game::CreateObject("mod:Prototypes/Objects/Misc/empty.e4p", NAME_DUMMYOBJECT);
    v.AssignCommand(DUMMY_HASSIREN);
    v.SetUserData(soundID);
    mDummy.Hide();
    //mDummy.SetUserData(v.GetID());
    mDummy.SetUserData(soundID);
    mDummy.AttachSound(soundID);
    mDummy.PushActionExecuteCommand(ACTION_NEWLIST, DUMMY_UPDATEPOS, &v, 0, false);
    return;
    }
    if (v.HasCommand(DUMMY_HASSIREN))
    {
    System::Log("Stop sample via VcmdSiren");
    if (childID == 1)
    {
    v.EnableBlueLights(false);
    }
    int CarID = v.GetUserData();
    int ref = v.GetUserData();
    v.UnattachSound(ref);
    Audio::StopSample(ref);
    int mSirTest;
    GameObjectList list = Game::GetGameObjects(NAME_DUMMYOBJECT);
    for(int i=0; i<list.GetNumObjects(); i++)
    {
    GameObject *obj = list.GetObject(i);
    if (obj->GetUserData() == CarID)
    {
    mSirTest = i;
    }
    }
    GameObject *obj = list.GetObject(mSirTest);
    obj->PushActionDeleteOwner(ACTION_NEWLIST);
    if (v.HasCommand(DUMMY_HASSIREN))
    v.RemoveCommand(DUMMY_HASSIREN);
    return;
    }
    }
    };
    object DummyUpdatePos : CommandScript
    {
    DummyUpdatePos()
    {
    SetGroupID(DummyGroup);
    }
    bool CheckTarget(GameObject *Caller, Actor *Target, int childID)
    {
    }
    void PushActions(GameObject *Caller, Actor *Target, int childID)
    {
    Vehicle v(Target);
    GameObject mDummy(Caller);
    if (v.IsDestroyed() || !v.IsValid())
    {
    int ref = mDummy.GetUserData();
    mDummy.UnattachSound(ref);
    Audio::StopSample(ref);
    if (v.HasCommand(DUMMY_HASSIREN))
    v.RemoveCommand(DUMMY_HASSIREN);
    mDummy.PushActionDeleteOwner(ACTION_NEWLIST);
    } else
    {
    if (v.IsCurrentAction(EACTION_FINDPATH))
    {
    if (!v.HasCommand(DUMMY_FINDPATH))
    {
    v.AssignCommand(DUMMY_FINDPATH);
    }
    }
    Vector vPos = v.GetPosition();
    mDummy.SetPosition(vPos);
    mDummy.PushActionExecuteCommand(ACTION_NEWLIST, DUMMY_UPDATEPOS, Target, childID, false);
    }
    if (v.HasCommand(DUMMY_FINDPATH))
    {
    if (!v.IsCurrentAction(EACTION_FINDPATH) && v.HasCommand(CMD_AUTOSIREN_OFF) && (v.GetNumActions() == 0 || v.IsCurrentAction(EACTION_EXTINGUISH)))
    {
    if (v.HasCommand(DUMMY_HASSIREN))
    v.RemoveCommand(DUMMY_HASSIREN);
    if (v.HasCommand(DUMMY_FINDPATH))
    v.RemoveCommand(DUMMY_FINDPATH);
    int CarID = v.GetUserData();
    int ref = v.GetUserData();
    v.UnattachSound(ref);
    Audio::StopSample(ref);
    GameObjectList list = Game::GetGameObjects(NAME_DUMMYOBJECT);
    for(int i = 0; i < list.GetNumObjects(); i++)
    {
    int mSirTest;
    GameObject *obj = list.GetObject(i);
    if (obj->GetUserData() == CarID)
    {
    mSirTest = i;
    GameObject *obj = list.GetObject(mSirTest);
    obj->PushActionDeleteOwner(ACTION_NEWLIST);
    if (v.HasCommand(DUMMY_HASSIREN))
    v.RemoveCommand(DUMMY_HASSIREN);
    if (v.HasCommand(DUMMY_FINDPATH))
    v.RemoveCommand(DUMMY_FINDPATH);
    }
    }
    }
    }
    }
    };
    object DummyDisableSiren : CommandScript
    {
    DummyDisableSiren()
    {
    SetGroupID(DummyGroup);
    }
    bool CheckTarget(GameObject *Caller, Actor *Target, int childID)
    {
    }
    void PushActions(GameObject *Caller, Actor *Target, int childID)
    {
    Vehicle v(Caller);
    if (childID == 1)
    {
    v.EnableBlueLights(false);
    }
    //int CarID = v.GetID();
    int CarID = v.GetUserData();
    int ref = v.GetUserData();
    v.UnattachSound(ref);
    Audio::StopSample(ref);
    GameObjectList list = Game::GetGameObjects(NAME_DUMMYOBJECT);
    for(int i = 0; i < list.GetNumObjects(); i++)
    {
    GameObject *obj = list.GetObject(i);
    if (obj->GetUserData() == CarID)
    {
    int mSirTest = i;
    GameObject *obj = list.GetObject(mSirTest);
    obj->PushActionDeleteOwner(ACTION_NEWLIST);
    if (v.HasCommand(DUMMY_HASSIREN))
    v.RemoveCommand(DUMMY_HASSIREN);
    if (v.HasCommand(DUMMY_FINDPATH))
    v.RemoveCommand(DUMMY_FINDPATH);
    if (v.HasCommand(DUMMY_GETTIL))
    v.SetUserData(v.GetID());
    }
    }
    }
    };
    object DummyFindPath : CommandScript
    {
    DummyFindPath()
    {
    SetGroupID(DummyGroup);
    }
    bool CheckTarget(GameObject *Caller, Actor *Target, int childID)
    {
    return false;
    }
    void PushActions(GameObject *Caller, Actor *Target, int childID)
    {
    }
    };
    object DummyHasSiren : CommandScript
    {
    DummyHasSiren()
    {
    SetGroupID(DummyGroup);
    }
    bool CheckTarget(GameObject *Caller, Actor *Target, int childID)
    {
    return false;
    }
    void PushActions(GameObject *Caller, Actor *Target, int childID)
    {
    }
    };

  2. Hi, I try replace freeplaymap on multiplayer map, everything is ok but I can't send my 4 axle (8 wheels) truck, when I send it, shows 1/10 sended but I can't see it, I have the same problem when i replace to campaign map please help :( hope you understand me.

  3. ok, i have gotten this far:

    Full FireStation start, Tiller spawn at FireStation start, Heavy Rescue Crane at FS1 in place of USAR and USAR at FS2 in place of Hazmat.

    all scripting for vehicles done in the propper scripts except the Battalion Chief scripts and the FF's stay in trucks upon returning to FireStation.

    i couldnt find the scripts for that cause i dont use them and i didnt find them in my search in the forum yet so this is all i have in this little time.

    i dont know how to add files here so if you pm me your email i will send it to you that way with instructions.

    the only thing you need to do is go in the editor and add the VCMD to firestation for the Heavy Rescue Crane. if you need directions i can email them to you with the other files.

    - Jon

    script when is possible repleace vehicles is in LAStationStart.

  4. My mouse sometimes click double so sorry.

    I can't install each one because they have the same name, so when I replace file with full station, than i repleace file with tiller ladder the full station script stop work.

  5. Could somebody make a script with: full fire station, tiller ladder instead ladder, fire fighters don't go out from vehicles when back to fire station, Heavy rescue crane instead usar, and usar instead hazmat. I use search option and found sepereate scripts on full station, tiller ladder and don't go out from vehicles after back to firre station.

  6. Hoppah I have problem with this script. I try combine Full Fire Station and tiller ladder. When I start the game I have only tractor without trailer.

    your file

    }
    ActorList l9 = Game::GetActors(VO_LADDER);
    for(int i=0; i < l9.GetNumActors(); i++)
    {
    Vector Ladder = l9.GetActor(0)->GetPosition();
    Vehicle m = Game::CreateVehicle(OBJ_TILLER, UNNAMED);
    if (m.HasCommand("DummyTillerCheck"))
    {
    m.PushActionExecuteCommand(ACTION_NEWLIST, "DummyTillerCheck", &m, 0, false);
    }
    m.EnableBlueLights(false);
    m.SetPosition(Ladder);
    m.UpdatePlacement();
    m.SetMaxPassengers(6);
    m.SetSpeed(9.0f);
    m.PushActionWait(ACTION_APPEND, 1.4f);
    m.PushActionExecuteCommand(ACTION_APPEND, DUMMY_CALLCREW, Caller, 3, false);
    m.PushActionWait(ACTION_APPEND, 0.5f);
    m.PushActionExecuteCommand(ACTION_APPEND, DUMMY_CALLCREW, Caller, 3, false)

    My file

    }
    ActorList l9 = Game::GetActors(VO_LADDER);
    for(int i=0; i < l9.GetNumActors(); i++)
    {
    Vector Ladder = l9.GetActor(0)->GetPosition();
    Vehicle m = Game::CreateVehicle(OBJ_TILLER, UNNAMED);
    if (m.HasCommand("DummyTillerCheck"))
    {
    m.PushActionExecuteCommand(ACTION_NEWLIST, "DummyTillerCheck", &m, 0, false);
    }
    m.EnableBlueLights(false);
    m.SetPosition(Ladder);
    m.UpdatePlacement();
    m.SetMaxPassengers(6);
    m.SetSpeed(9.0f);
    m.PushActionWait(ACTION_NEWLIST, 1.4f);
    m.PushActionExecuteCommand(ACTION_APPEND, DUMMY_CALLCREW, Caller, 3, false);
    m.PushActionWait(ACTION_APPEND, 0.5f);
    m.PushActionExecuteCommand(ACTION_APPEND, DUMMY_CALLCREW, Caller, 3, false);
    }

    what is wrong ?

×
×
  • Create New...