Jump to content

paulo ve

Members
  • Posts

    213
  • Joined

  • Last visited

  • Days Won

    8

Posts posted by paulo ve

  1. Thanks Vojtula

    New Scripts

     

    New Vehicles

    http://www.emergency-planet.com/uploads/monthly_2016_05/572d602a982fa_Semttulo.png.285ef5fddd841af7de6629a0ceeb0ee3.png

    http://www.emergency-planet.com/uploads/monthly_2016_05/572d602a982fa_Semttulo.png.285ef5fddd841af7de6629a0ceeb0ee3.png

    Sem título.png

    • Upvote 1

  2. help with script

    how to make the nozzle truck according foam.

    make a foam truck!!


     

    object Cool : CommandScript

    {

    bool useDLKlogic;

     

    Cool()

    {

    SetValidTargets(ACTOR_VEHICLE | ACTOR_OBJECT | ACTOR_HOUSE | ACTOR_OPEN_HOUSE);

    SetRestrictions(RESTRICT_COOLABLE | RESTRICT_NOTBURNING);

    SetKeepAsCurrentCommand(true);

    SetPossibleCallers(ACTOR_PERSON | ACTOR_VEHICLE);

    SetPossibleEquipment(EQUIP_FIRE_EXTINGUISHER | EQUIP_FIREHOSE);

    SetPossibleExists(CPE_COOLABLE_OBJECTS);

    SetNeedsConnectedHose(CFN_NEEDED);

    }

     

    /*bool CheckPossible(GameObject *Caller)

    {

    if(!Caller->IsValid())

    return false;

    if (Caller->GetType() == ACTOR_VEHICLE || Caller->GetEquipment()==EQUIP_FIRE_EXTINGUISHER || (Caller->GetEquipment()== EQUIP_FIREHOSE && Caller->GetFirehoseID() != 0))

    return Game::ExistsCoolableobject();

    return false;

    }*/

     

    bool CheckTarget(GameObject *Caller, Actor *Target, int childID)

    {

    if(!Caller->IsValid() || !Target || !Target->IsValid() || Caller->GetID() == Target->GetID())

    return false;

     

    if(Target->GetType() == ACTOR_PERSON)

    return false;

     

    GameObject o(Target);

    if (!o.IsValid() || o.GetNumActiveFireChilds() == 0)

    return false;

     

    if (o.GetType() == ACTOR_VEHICLE)

    {

    Vehicle v(Target);

    if ((v.GetVehicleType() == VT_POLICE_PHC || v.GetVehicleType() == VT_AMBULANCE_RHC) && !v.IsOnGround())

      return false;

    }

     

    if (Caller->GetType() == ACTOR_PERSON )

    {

    Person p(Caller);

    if (p.GetEquipment() == EQUIP_FIREHOSE && o.GetParentHouseID() > -1)

    return false;

    if (p.CanUseDLKCannon())

    {

    useDLKlogic = true;

    if (o.GetNumActiveFireChilds() == 0)

    return false;

    if (p.GetEnteredCarTargetID() != -1 && p.GetEnteredCarTargetID() != Target->GetID())

    return false;

    if (p.GetEnteredCarID() == Target->GetID())

    return false;

     

    if (!p.CheckDLKExtinguishDistance(Target))

    return false;

     

    if (p.GetEnteredCarTargetID() != -1/* && o.IsBurningInside()*/)

    return false;

    else if (p.GetEnteredCarTargetID() == -1 && o.IsBurningOutside())

    return false;

     

    return true;

    }

    if (p.GetEnteredCarID() != -1)

      return false;

    }

     

    useDLKlogic = false;

     

    if (Caller->GetType() == ACTOR_VEHICLE || Caller->GetEquipment()==EQUIP_FIRE_EXTINGUISHER || Caller->GetEquipment()== EQUIP_FIREHOSE)

    {

    if (Caller->GetEquipment() == EQUIP_FIREHOSE && Caller->GetFirehoseID() == 0)

    return false;

    return true;

    }

    return false;

    }

     

    void PushActions(GameObject *Caller, Actor *Target, int childID)

    {

    if (!Target)

    return;

     

    if (useDLKlogic)

    {

    Person p(Caller);

     

    if (p.GetEnteredCarTargetID() != -1)

    {

    Caller->PushActionCannonExtinguish(ACTION_NEWLIST, Target, 100.f, true);

    }

    else

    {

    Caller->PushActionTurnBase(ACTION_NEWLIST, Target);

    Caller->PushActionCannonExtinguish(ACTION_APPEND, Target, 100.f, true);

    }

    return;

    }

     

    if (Caller->GetType() == ACTOR_VEHICLE)

    {

    GameObject o(Target);

    Vehicle v(Caller);

    if (!v.CheckExtinguishDistance(o))

    {

    if (Target->GetType() == ACTOR_VEHICLE)

    Caller->PushActionMove(ACTION_NEWLIST, Target, TARGET_ENGINE_EXTINGUISH);

    else

    Caller->PushActionMove(ACTION_NEWLIST, Target, TARGET_EXTINGUISH);

    Caller->PushActionCool(ACTION_APPEND, Target);

                                                            o.PushActionExecuteCommand(ACTION_APPEND, "Schaum", Target, 1, false);

    }

    else

        Caller->PushActionCool(ACTION_NEWLIST, Target);

                                                            o.PushActionExecuteCommand(ACTION_APPEND, "Schaum", Target, 2, false);

    }

    else if (Caller->GetType() == ACTOR_PERSON)

    {

    if (Target->GetType()==ACTOR_VEHICLE)

    {

    Caller->PushActionMove(ACTION_NEWLIST, Target, TARGET_ENGINE_EXTINGUISH);

    Vector Pos = Target->GetTargetPoint(Caller, TARGET_ENGINE);

                                                            Caller->PushActionTurnTo(ACTION_APPEND, Pos);

    }

    else

    {

    Caller->PushActionMove(ACTION_NEWLIST, Target, TARGET_EXTINGUISH);

    Caller->PushActionTurnTo(ACTION_APPEND, Target);

    }

    }

    Caller->PushActionCool(ACTION_NEWLIST, Target);

                                Caller->PushActionExecuteCommand(ACTION_APPEND, "Schaum", Target, 1, false);

    }

     

    };

     

    object Schaum : CommandScript

    {

    Schaum()

    {

               SetGroupID(120);

    }

     

    bool CheckTarget(GameObject *Caller, Actor *Target, int childID)

    {

               return true;

    }

     

    void PushActions(GameObject *Caller, Actor *Target, int childID)

                   {

     Vehicle v(Caller);

     if (childID == 0)

     {

      Vector Posi = v.GetPosition();

      GameObject Schaum = Game::CreateObject("mod:Prototypes/Objects/Schaum/Schaum.e4p", "Bauschaum");

           Schaum.SetPosition(Posi);   

           Schaum.PushActionSwitchAnim(ACTION_NEWLIST, "open");

          Schaum.PushActionWait(ACTION_APPEND, 30.0f);

          Schaum.PushActionExecuteCommand(ACTION_APPEND, "Schaum", Target, 3, false);

           v.PushActionExecuteCommand(ACTION_APPEND, "Schaum", Target, 2, false);

     }

     if(childID == 1)

     {

                     Vehicle v(Caller);

                     GameObject o(Target);

     Vector Poso = o.GetPosition();

     GameObject Schaum = Game::CreateObject("mod:Prototypes/Objects/Schaum/Schaum.e4p", "Bauschaum");

          Schaum.SetPosition(Poso);

          Schaum.PushActionSwitchAnim(ACTION_NEWLIST, "open");

          Schaum.PushActionWait(ACTION_APPEND, 30.0f);

          Schaum.PushActionExecuteCommand(ACTION_APPEND, "Schaum", Target, 3, false);

          v.PushActionExecuteCommand(ACTION_APPEND, "Schaum", Target, 2, false);

     }

     if(childID == 2)

     {

      v.PushActionCool(ACTION_APPEND, Target);               

     }

     if(childID == 3)

     {

      Caller->PushActionSwitchAnim(ACTION_NEWLIST, "close");

     }

    }

    };

×
×
  • Create New...