533{
  537 
  539    {
  540        
  541        
  542        m_EngineStartOK         = "CivilianSedan_engine_start_SoundSet";
  543        m_EngineStartBattery    = "CivilianSedan_engine_failed_start_battery_SoundSet";
  544        m_EngineStartPlug       = "CivilianSedan_engine_failed_start_sparkplugs_SoundSet";
  545        m_EngineStartFuel       = "CivilianSedan_engine_failed_start_fuel_SoundSet";
  546        m_EngineStop            = "CivilianSedan_engine_stop_SoundSet";
  547        m_EngineStopFuel        = "CivilianSedan_engine_stop_fuel_SoundSet";
  548 
  549        m_CarDoorOpenSound      = "offroad_door_open_SoundSet";
  550        m_CarDoorCloseSound     = "offroad_door_close_SoundSet";
  551        
  552        m_CarHornShortSoundName = "CivilianSedan_Horn_Short_SoundSet";
  553        m_CarHornLongSoundName  = "CivilianSedan_Horn_SoundSet";
  554        
  555        SetEnginePos("0 0.7 1.6");
  556    }
  557    
  559    {       
  560        super.EEInit();
  561        
  563        {
  570            
  573        }       
  574    }
  575    
  577    {
  578        super.OnEngineStart();
  579 
  581        {
  583        }
  584    }
  585    
  587    {
  588        super.OnEngineStop();
  589 
  591        {
  593        }
  594    }
  595    
  597    {
  599        {
  601            {
  603            }
  604        }
  605    }
  606    
  608    {
  610    }
  611    
  613    {
  614        return 4.5;
  615    }
  616 
  618    {
  619        switch (posIdx)
  620        {
  621        case 0:
  623        case 1:
  625        case 2:
  627        case 3:
  629        }
  630 
  631        return 0;
  632    }
  633    
  634    
  636    {
  638    }
  639    
  640    
  642    {
  644    }
  645    
  647    {
  648        if( !super.CanReleaseAttachment( attachment ) )
  649            return false;
  650        
  651        string attType = attachment.GetType();
  652        
  654        {
  655            if ( attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
  656                return false;
  657        }
  658 
  659        return true;
  660    }
  661 
  663    {
  665    }
  666    
  668    {
  669        
  670        if (!super.CanDisplayAttachmentCategory(category_name))
  671            return false;
  672        
  673    
  675        if (category_name.
Contains(
"engine"))
 
  676        {
  678                return false;
  679        }
  680                
  681        return true;
  682    }
  683    
  685    {
  686        if ( !super.CanDisplayCargo() )
  687            return false;
  688        
  690            return false;
  691        
  692        return true;
  693    }
  694    
  696    {
  698 
  699        Class.
CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
 
  700        if (!carDoor)
  701        {
  703        }
  704    
  705        switch (slotType)
  706        {
  707        case "CivSedanDriverDoors":
  708            return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
  709            break;
  710        
  711        case "CivSedanCoDriverDoors":
  712            return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
  713            break;
  714 
  715        case "CivSedanCargo1Doors":
  716            return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
  717            break;
  718 
  719        case "CivSedanCargo2Doors":
  720            return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
  721            break;
  722        
  723        case "CivSedanTrunk":
  724            return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
  725            break;
  726        
  727        case "CivSedanHood":
  728            return TranslateAnimationPhaseToCarDoorState("DoorsHood");
  729            break;
  730        }
  731 
  733    }
  734    
  735 
  737    {
  738        switch( posIdx )
  739        {
  740            case 0:
  742                    return false;
  743 
  744                return true;
  745            break;
  746            
  747            case 1:
  749                    return false;
  750 
  751                return true;
  752            break;
  753 
  754            case 2:
  756                    return false;
  757 
  758                return true;
  759            break;
  760 
  761            case 3:
  763                    return false;
  764 
  765                return true;
  766            break;
  767        }
  768 
  769        return false;
  770    }
  771 
  773    {
  774        switch( posIdx )
  775        {
  776        case 0:
  777            return "doors_driver";
  778        break;
  779        case 1:
  780            return "doors_codriver";
  781        break;
  782        case 2:
  783            return "doors_cargo1";
  784        break;
  785        case 3:
  786            return "doors_cargo2";
  787        break;
  788        }
  789        
  790        return super.GetDoorSelectionNameFromSeatPos(posIdx);
  791    }
  792 
  794    {
  795        switch( posIdx )
  796        {
  797        case 0:
  798            return "CivSedanDriverDoors";
  799        break;
  800        case 1:
  801            return "CivSedanCoDriverDoors";
  802        break;
  803        case 2:
  804            return "CivSedanCargo1Doors";
  805        break;
  806        case 3:
  807            return "CivSedanCargo2Doors";
  808        break;
  809        }
  810        
  811        return super.GetDoorInvSlotNameFromSeatPos(posIdx);
  812    }
  813 
  814    
  815    
  817    {
  818        switch (ctrl)
  819        {
  821            float newValue = 0;
  823            {
  824                newValue += 0.25;
  825            }
  826 
  828            {
  829                newValue += 0.25;
  830            }
  831        
  833            {
  834                newValue += 0.25;
  835            }
  836 
  838            {
  839                newValue += 0.25;
  840            }
  841        
  843            {
  844                newValue -= 0.6;
  845            }
  846 
  848            {
  849                newValue -= 0.6;
  850            }
  851        
  853        break;
  854        }
  855 
  856        return super.OnSound(ctrl, oldValue);
  857    }
  858 
  860    {
  861        switch (selection)
  862        {
  863            case "doors_driver":
  864                return "DoorsDriver";
  865            case "doors_codriver":
  866                return "DoorsCoDriver";
  867            case "doors_cargo1":
  868                return "DoorsCargo1";
  869            case "doors_cargo2":
  870                return "DoorsCargo2";
  871            case "doors_hood":
  872                return "DoorsHood";
  873            case "doors_trunk":
  874                return "DoorsTrunk";
  875        }
  876 
  877        return "";
  878    }
  879 
  881    {
  882        return false;
  883    }
  884 
  886    {
  887        return false;
  888    }
  889    
  891    {
  892        switch (currentSeat)
  893        {
  894            case 0:
  895                return nextSeat == 1;
  896    
  897            case 1:
  898                return nextSeat == 0;
  899    
  900            case 2:
  901                return nextSeat == 3;
  902    
  903            case 3:
  904                return nextSeat == 2;
  905        }
  906        
  907        return false;
  908    }
  909 
  911    {
  912        switch (pCurrentSeat)
  913        {
  914            case 0:
  915                return pDoorsSelection == "DoorsDriver";
  916    
  917            case 1:
  918                return pDoorsSelection == "DoorsCoDriver";
  919    
  920            case 2:
  921                return pDoorsSelection == "DoorsCargo1";
  922    
  923            case 3:
  924                return pDoorsSelection == "DoorsCargo2";
  925        }
  926        
  927        return false;       
  928    }
  929 
  931    {
  932        SpawnUniversalParts();
  933        SpawnAdditionalItems();
  934        FillUpCarFluids();
  935 
  936        GetInventory().CreateInInventory("CivSedanWheel");
  937        GetInventory().CreateInInventory("CivSedanWheel");
  938        GetInventory().CreateInInventory("CivSedanWheel");
  939        GetInventory().CreateInInventory("CivSedanWheel");
  940 
  941        GetInventory().CreateInInventory("CivSedanDoors_Driver");
  942        GetInventory().CreateInInventory("CivSedanDoors_CoDriver");
  943        GetInventory().CreateInInventory("CivSedanDoors_BackLeft");
  944        GetInventory().CreateInInventory("CivSedanDoors_BackRight");
  945        GetInventory().CreateInInventory("CivSedanHood");
  946        GetInventory().CreateInInventory("CivSedanTrunk");
  947 
  948        
  949        GetInventory().CreateInInventory("CivSedanWheel");
  950        GetInventory().CreateInInventory("CivSedanWheel");
  951    }
  952    
  954    {
  955        return 1.5;
  956    }
  957}
  958 
  960{
  962    {
  963        SpawnUniversalParts();
  964        SpawnAdditionalItems();
  965        FillUpCarFluids();
  966 
  967        GetInventory().CreateInInventory("CivSedanWheel");
  968        GetInventory().CreateInInventory("CivSedanWheel");
  969        GetInventory().CreateInInventory("CivSedanWheel");
  970        GetInventory().CreateInInventory("CivSedanWheel");
  971 
  972        GetInventory().CreateInInventory("CivSedanDoors_Driver_Wine");
  973        GetInventory().CreateInInventory("CivSedanDoors_CoDriver_Wine");
  974        GetInventory().CreateInInventory("CivSedanDoors_BackLeft_Wine");
  975        GetInventory().CreateInInventory("CivSedanDoors_BackRight_Wine");
  976        GetInventory().CreateInInventory("CivSedanHood_Wine");
  977        GetInventory().CreateInInventory("CivSedanTrunk_Wine");
  978 
  979        
  980        GetInventory().CreateInInventory("CivSedanWheel");
  981        GetInventory().CreateInInventory("CivSedanWheel");
  982    }
  983}
  984 
  986{
  988    {
  989        SpawnUniversalParts();
  990        SpawnAdditionalItems();
  991        FillUpCarFluids();
  992 
  993        GetInventory().CreateInInventory("CivSedanWheel");
  994        GetInventory().CreateInInventory("CivSedanWheel");
  995        GetInventory().CreateInInventory("CivSedanWheel");
  996        GetInventory().CreateInInventory("CivSedanWheel");
  997 
  998        GetInventory().CreateInInventory("CivSedanDoors_Driver_Black");
  999        GetInventory().CreateInInventory("CivSedanDoors_CoDriver_Black");
 1000        GetInventory().CreateInInventory("CivSedanDoors_BackLeft_Black");
 1001        GetInventory().CreateInInventory("CivSedanDoors_BackRight_Black");
 1002        GetInventory().CreateInInventory("CivSedanHood_Black");
 1003        GetInventory().CreateInInventory("CivSedanTrunk_Black");
 1004 
 1005        
 1006        GetInventory().CreateInInventory("CivSedanWheel");
 1007        GetInventory().CreateInInventory("CivSedanWheel");
 1008    }
 1009}
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.