494{
  498 
  500    {
  501        
  502        
  503        m_EngineStartOK         = "CivilianSedan_engine_start_SoundSet";
  504        m_EngineStartBattery    = "CivilianSedan_engine_failed_start_battery_SoundSet";
  505        m_EngineStartPlug       = "CivilianSedan_engine_failed_start_sparkplugs_SoundSet";
  506        m_EngineStartFuel       = "CivilianSedan_engine_failed_start_fuel_SoundSet";
  507        m_EngineStop            = "CivilianSedan_engine_stop_SoundSet";
  508        m_EngineStopFuel        = "CivilianSedan_engine_stop_fuel_SoundSet";
  509 
  510        m_CarDoorOpenSound      = "offroad_door_open_SoundSet";
  511        m_CarDoorCloseSound     = "offroad_door_close_SoundSet";
  512        
  513        m_CarHornShortSoundName = "CivilianSedan_Horn_Short_SoundSet";
  514        m_CarHornLongSoundName  = "CivilianSedan_Horn_SoundSet";
  515        
  516        SetEnginePos("0 0.7 1.6");
  517    }
  518    
  520    {       
  521        super.EEInit();
  522        
  524        {
  531            
  534        }       
  535    }
  536    
  538    {
  539        super.OnEngineStart();
  540 
  542        {
  544        }
  545    }
  546    
  548    {
  549        super.OnEngineStop();
  550 
  552        {
  554        }
  555    }
  556    
  558    {
  560        {
  562            {
  564            }
  565        }
  566    }
  567    
  569    {
  571    }
  572    
  574    {
  575        return 4.5;
  576    }
  577 
  579    {
  580        switch (posIdx)
  581        {
  582        case 0:
  584        case 1:
  586        case 2:
  588        case 3:
  590        }
  591 
  592        return 0;
  593    }
  594    
  595    
  597    {
  599    }
  600    
  601    
  603    {
  605    }
  606    
  608    {
  609        if( !super.CanReleaseAttachment( attachment ) )
  610            return false;
  611        
  612        string attType = attachment.GetType();
  613        
  615        {
  616            if ( attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
  617                return false;
  618        }
  619 
  620        return true;
  621    }
  622 
  624    {
  626    }
  627    
  629    {
  630        
  631        if (!super.CanDisplayAttachmentCategory(category_name))
  632            return false;
  633        
  634    
  636        if (category_name.
Contains(
"engine"))
 
  637        {
  639                return false;
  640        }
  641                
  642        return true;
  643    }
  644    
  646    {
  647        if ( !super.CanDisplayCargo() )
  648            return false;
  649        
  651            return false;
  652        
  653        return true;
  654    }
  655    
  657    {
  659 
  660        Class.
CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
 
  661        if (!carDoor)
  662        {
  664        }
  665    
  666        switch (slotType)
  667        {
  668        case "CivSedanDriverDoors":
  669            return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
  670            break;
  671        
  672        case "CivSedanCoDriverDoors":
  673            return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
  674            break;
  675 
  676        case "CivSedanCargo1Doors":
  677            return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
  678            break;
  679 
  680        case "CivSedanCargo2Doors":
  681            return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
  682            break;
  683        
  684        case "CivSedanTrunk":
  685            return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
  686            break;
  687        
  688        case "CivSedanHood":
  689            return TranslateAnimationPhaseToCarDoorState("DoorsHood");
  690            break;
  691        }
  692 
  694    }
  695    
  696 
  698    {
  699        switch( posIdx )
  700        {
  701            case 0:
  703                    return false;
  704 
  705                return true;
  706            break;
  707            
  708            case 1:
  710                    return false;
  711 
  712                return true;
  713            break;
  714 
  715            case 2:
  717                    return false;
  718 
  719                return true;
  720            break;
  721 
  722            case 3:
  724                    return false;
  725 
  726                return true;
  727            break;
  728        }
  729 
  730        return false;
  731    }
  732 
  734    {
  735        switch( posIdx )
  736        {
  737        case 0:
  738            return "doors_driver";
  739        break;
  740        case 1:
  741            return "doors_codriver";
  742        break;
  743        case 2:
  744            return "doors_cargo1";
  745        break;
  746        case 3:
  747            return "doors_cargo2";
  748        break;
  749        }
  750        
  751        return super.GetDoorSelectionNameFromSeatPos(posIdx);
  752    }
  753 
  755    {
  756        switch( posIdx )
  757        {
  758        case 0:
  759            return "CivSedanDriverDoors";
  760        break;
  761        case 1:
  762            return "CivSedanCoDriverDoors";
  763        break;
  764        case 2:
  765            return "CivSedanCargo1Doors";
  766        break;
  767        case 3:
  768            return "CivSedanCargo2Doors";
  769        break;
  770        }
  771        
  772        return super.GetDoorInvSlotNameFromSeatPos(posIdx);
  773    }
  774 
  775    
  776    
  778    {
  779        switch (ctrl)
  780        {
  782            float newValue = 0;
  784            {
  785                newValue += 0.25;
  786            }
  787 
  789            {
  790                newValue += 0.25;
  791            }
  792        
  794            {
  795                newValue += 0.25;
  796            }
  797 
  799            {
  800                newValue += 0.25;
  801            }
  802        
  804            {
  805                newValue -= 0.6;
  806            }
  807 
  809            {
  810                newValue -= 0.6;
  811            }
  812        
  814        break;
  815        }
  816 
  817        return super.OnSound(ctrl, oldValue);
  818    }
  819 
  821    {
  822        switch (selection)
  823        {
  824            case "doors_driver":
  825                return "DoorsDriver";
  826            case "doors_codriver":
  827                return "DoorsCoDriver";
  828            case "doors_cargo1":
  829                return "DoorsCargo1";
  830            case "doors_cargo2":
  831                return "DoorsCargo2";
  832            case "doors_hood":
  833                return "DoorsHood";
  834            case "doors_trunk":
  835                return "DoorsTrunk";
  836        }
  837 
  838        return "";
  839    }
  840 
  842    {
  843        return false;
  844    }
  845 
  847    {
  848        return false;
  849    }
  850    
  852    {
  853        switch (currentSeat)
  854        {
  855            case 0:
  856                return nextSeat == 1;
  857    
  858            case 1:
  859                return nextSeat == 0;
  860    
  861            case 2:
  862                return nextSeat == 3;
  863    
  864            case 3:
  865                return nextSeat == 2;
  866        }
  867        
  868        return false;
  869    }
  870 
  872    {
  873        switch (pCurrentSeat)
  874        {
  875            case 0:
  876                return pDoorsSelection == "DoorsDriver";
  877    
  878            case 1:
  879                return pDoorsSelection == "DoorsCoDriver";
  880    
  881            case 2:
  882                return pDoorsSelection == "DoorsCargo1";
  883    
  884            case 3:
  885                return pDoorsSelection == "DoorsCargo2";
  886        }
  887        
  888        return false;       
  889    }
  890 
  892    {
  893        SpawnUniversalParts();
  894        SpawnAdditionalItems();
  895        FillUpCarFluids();
  896 
  897        GetInventory().CreateInInventory("CivSedanWheel");
  898        GetInventory().CreateInInventory("CivSedanWheel");
  899        GetInventory().CreateInInventory("CivSedanWheel");
  900        GetInventory().CreateInInventory("CivSedanWheel");
  901 
  902        GetInventory().CreateInInventory("CivSedanDoors_Driver");
  903        GetInventory().CreateInInventory("CivSedanDoors_CoDriver");
  904        GetInventory().CreateInInventory("CivSedanDoors_BackLeft");
  905        GetInventory().CreateInInventory("CivSedanDoors_BackRight");
  906        GetInventory().CreateInInventory("CivSedanHood");
  907        GetInventory().CreateInInventory("CivSedanTrunk");
  908 
  909        
  910        GetInventory().CreateInInventory("CivSedanWheel");
  911        GetInventory().CreateInInventory("CivSedanWheel");
  912    }
  913    
  915    {
  916        return 1.5;
  917    }
  918}
  919 
  921{
  923    {
  924        SpawnUniversalParts();
  925        SpawnAdditionalItems();
  926        FillUpCarFluids();
  927 
  928        GetInventory().CreateInInventory("CivSedanWheel");
  929        GetInventory().CreateInInventory("CivSedanWheel");
  930        GetInventory().CreateInInventory("CivSedanWheel");
  931        GetInventory().CreateInInventory("CivSedanWheel");
  932 
  933        GetInventory().CreateInInventory("CivSedanDoors_Driver_Wine");
  934        GetInventory().CreateInInventory("CivSedanDoors_CoDriver_Wine");
  935        GetInventory().CreateInInventory("CivSedanDoors_BackLeft_Wine");
  936        GetInventory().CreateInInventory("CivSedanDoors_BackRight_Wine");
  937        GetInventory().CreateInInventory("CivSedanHood_Wine");
  938        GetInventory().CreateInInventory("CivSedanTrunk_Wine");
  939 
  940        
  941        GetInventory().CreateInInventory("CivSedanWheel");
  942        GetInventory().CreateInInventory("CivSedanWheel");
  943    }
  944}
  945 
  947{
  949    {
  950        SpawnUniversalParts();
  951        SpawnAdditionalItems();
  952        FillUpCarFluids();
  953 
  954        GetInventory().CreateInInventory("CivSedanWheel");
  955        GetInventory().CreateInInventory("CivSedanWheel");
  956        GetInventory().CreateInInventory("CivSedanWheel");
  957        GetInventory().CreateInInventory("CivSedanWheel");
  958 
  959        GetInventory().CreateInInventory("CivSedanDoors_Driver_Black");
  960        GetInventory().CreateInInventory("CivSedanDoors_CoDriver_Black");
  961        GetInventory().CreateInInventory("CivSedanDoors_BackLeft_Black");
  962        GetInventory().CreateInInventory("CivSedanDoors_BackRight_Black");
  963        GetInventory().CreateInInventory("CivSedanHood_Black");
  964        GetInventory().CreateInInventory("CivSedanTrunk_Black");
  965 
  966        
  967        GetInventory().CreateInInventory("CivSedanWheel");
  968        GetInventory().CreateInInventory("CivSedanWheel");
  969    }
  970}
CarSoundCtrl
Car's sound controller list. (native, do not change or extend)
override float GetPushForceCoefficientMultiplier()
class CivilianSedan extends CarScript OnDebugSpawn()
override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
override string GetAnimSourceFromSelection(string selection)
override int GetSeatAnimationType(int posIdx)
override float OnSound(CarSoundCtrl ctrl, float oldValue)
override string GetDoorInvSlotNameFromSeatPos(int posIdx)
override void EOnPostSimulate(IEntity other, float timeSlice)
override void OnEngineStop()
ref UniversalTemperatureSourceLambdaEngine m_UTSLEngine
override float GetTransportCameraDistance()
override bool CanReleaseAttachment(EntityAI attachment)
override bool CanDisplayCargo()
override void OnEngineStart()
override CarLightBase CreateFrontLight()
override int GetAnimInstance()
override bool CrewCanGetThrough(int posIdx)
override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
bool CanManipulateSpareWheel(string slotSelectionName)
override bool IsVitalGlowPlug()
override CarRearLightBase CreateRearLight()
override bool IsVitalTruckBattery()
override string GetDoorSelectionNameFromSeatPos(int posIdx)
override int GetCarDoorsState(string slotType)
override bool CanDisplayAttachmentCategory(string category_name)
ref UniversalTemperatureSourceSettings m_UTSSettings
ref UniversalTemperatureSource m_UTSource
UniversalTemperatureSourceLambdaBaseImpl UniversalTemperatureSourceLambdaBase UniversalTemperatureSourceLambdaEngine()
override void OnDebugSpawn()
Super root of all classes in Enforce script.
original Timer deletes m_params which is unwanted
DayZPlayerConstants
defined in C++
proto native CGame GetGame()
static proto bool CastTo(out Class to, Class from)
Try to safely down-cast base class to child class.
static const float ITEM_TEMPERATURE_NEUTRAL_ZONE_MIDDLE
static proto float Clamp(float value, float min, float max)
Clamps 'value' to 'min' if it is lower than 'min', or to 'max' if it is higher than 'max'.
bool Contains(string sample)
Returns true if sample is substring of string.
proto int ToLower()
Changes string to lowercase. Returns length.