560{
  564 
  566    {
  567        
  568        
  569        m_EngineStartOK         = "CivilianSedan_engine_start_SoundSet";
  570        m_EngineStartBattery    = "CivilianSedan_engine_failed_start_battery_SoundSet";
  571        m_EngineStartPlug       = "CivilianSedan_engine_failed_start_sparkplugs_SoundSet";
  572        m_EngineStartFuel       = "CivilianSedan_engine_failed_start_fuel_SoundSet";
  573        m_EngineStop            = "CivilianSedan_engine_stop_SoundSet";
  574        m_EngineStopFuel        = "CivilianSedan_engine_stop_fuel_SoundSet";
  575 
  576        m_CarDoorOpenSound      = "offroad_door_open_SoundSet";
  577        m_CarDoorCloseSound     = "offroad_door_close_SoundSet";
  578        
  579        m_CarHornShortSoundName = "CivilianSedan_Horn_Short_SoundSet";
  580        m_CarHornLongSoundName  = "CivilianSedan_Horn_SoundSet";
  581        
  582        SetEnginePos("0 0.7 1.6");
  583    }
  584    
  586    {       
  587        super.EEInit();
  588        
  590        {
  597            
  600        }       
  601    }
  602    
  604    {
  605        super.OnEngineStart();
  606 
  608        {
  610        }
  611    }
  612    
  614    {
  615        super.OnEngineStop();
  616 
  618        {
  620        }
  621    }
  622    
  624    {
  626        {
  628            {
  630            }
  631        }
  632    }
  633    
  635    {
  637    }
  638    
  640    {
  641        return 4.5;
  642    }
  643 
  645    {
  646        switch (posIdx)
  647        {
  648        case 0:
  650        case 1:
  652        case 2:
  654        case 3:
  656        }
  657 
  658        return 0;
  659    }
  660    
  661    
  663    {
  665    }
  666    
  667    
  669    {
  671    }
  672    
  674    {
  675        if( !super.CanReleaseAttachment( attachment ) )
  676            return false;
  677        
  678        string attType = attachment.GetType();
  679        
  681        {
  682            if ( attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
  683                return false;
  684        }
  685 
  686        return true;
  687    }
  688 
  690    {
  692    }
  693    
  695    {
  696        
  697        if (!super.CanDisplayAttachmentCategory(category_name))
  698            return false;
  699        
  700    
  702        if (category_name.
Contains(
"engine"))
 
  703        {
  705                return false;
  706        }
  707                
  708        return true;
  709    }
  710    
  712    {
  713        if ( !super.CanDisplayCargo() )
  714            return false;
  715        
  717            return false;
  718        
  719        return true;
  720    }
  721    
  723    {
  725 
  726        Class.
CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
 
  727        if (!carDoor)
  728        {
  730        }
  731    
  732        switch (slotType)
  733        {
  734        case "CivSedanDriverDoors":
  735            return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
  736            break;
  737        
  738        case "CivSedanCoDriverDoors":
  739            return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
  740            break;
  741 
  742        case "CivSedanCargo1Doors":
  743            return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
  744            break;
  745 
  746        case "CivSedanCargo2Doors":
  747            return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
  748            break;
  749        
  750        case "CivSedanTrunk":
  751            return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
  752            break;
  753        
  754        case "CivSedanHood":
  755            return TranslateAnimationPhaseToCarDoorState("DoorsHood");
  756            break;
  757        }
  758 
  760    }
  761    
  762 
  764    {
  765        switch( posIdx )
  766        {
  767            case 0:
  769                    return false;
  770 
  771                return true;
  772            break;
  773            
  774            case 1:
  776                    return false;
  777 
  778                return true;
  779            break;
  780 
  781            case 2:
  783                    return false;
  784 
  785                return true;
  786            break;
  787 
  788            case 3:
  790                    return false;
  791 
  792                return true;
  793            break;
  794        }
  795 
  796        return false;
  797    }
  798 
  800    {
  801        switch( posIdx )
  802        {
  803        case 0:
  804            return "doors_driver";
  805        break;
  806        case 1:
  807            return "doors_codriver";
  808        break;
  809        case 2:
  810            return "doors_cargo1";
  811        break;
  812        case 3:
  813            return "doors_cargo2";
  814        break;
  815        }
  816        
  817        return super.GetDoorSelectionNameFromSeatPos(posIdx);
  818    }
  819 
  821    {
  822        switch( posIdx )
  823        {
  824        case 0:
  825            return "CivSedanDriverDoors";
  826        break;
  827        case 1:
  828            return "CivSedanCoDriverDoors";
  829        break;
  830        case 2:
  831            return "CivSedanCargo1Doors";
  832        break;
  833        case 3:
  834            return "CivSedanCargo2Doors";
  835        break;
  836        }
  837        
  838        return super.GetDoorInvSlotNameFromSeatPos(posIdx);
  839    }
  840 
  841    
  842    
  844    {
  845        switch (ctrl)
  846        {
  848            float newValue = 0;
  850            {
  851                newValue += 0.25;
  852            }
  853 
  855            {
  856                newValue += 0.25;
  857            }
  858        
  860            {
  861                newValue += 0.25;
  862            }
  863 
  865            {
  866                newValue += 0.25;
  867            }
  868        
  870            {
  871                newValue -= 0.6;
  872            }
  873 
  875            {
  876                newValue -= 0.6;
  877            }
  878        
  880        break;
  881        }
  882 
  883        return super.OnSound(ctrl, oldValue);
  884    }
  885 
  887    {
  888        switch (selection)
  889        {
  890            case "doors_driver":
  891                return "DoorsDriver";
  892            case "doors_codriver":
  893                return "DoorsCoDriver";
  894            case "doors_cargo1":
  895                return "DoorsCargo1";
  896            case "doors_cargo2":
  897                return "DoorsCargo2";
  898            case "doors_hood":
  899                return "DoorsHood";
  900            case "doors_trunk":
  901                return "DoorsTrunk";
  902        }
  903 
  904        return "";
  905    }
  906 
  908    {
  909        return false;
  910    }
  911 
  913    {
  914        return false;
  915    }
  916    
  918    {
  919        switch (currentSeat)
  920        {
  921            case 0:
  922                return nextSeat == 1;
  923    
  924            case 1:
  925                return nextSeat == 0;
  926    
  927            case 2:
  928                return nextSeat == 3;
  929    
  930            case 3:
  931                return nextSeat == 2;
  932        }
  933        
  934        return false;
  935    }
  936 
  938    {
  939        switch (pCurrentSeat)
  940        {
  941            case 0:
  942                return pDoorsSelection == "DoorsDriver";
  943    
  944            case 1:
  945                return pDoorsSelection == "DoorsCoDriver";
  946    
  947            case 2:
  948                return pDoorsSelection == "DoorsCargo1";
  949    
  950            case 3:
  951                return pDoorsSelection == "DoorsCargo2";
  952        }
  953        
  954        return false;       
  955    }
  956 
  958    {
  959        SpawnUniversalParts();
  960        SpawnAdditionalItems();
  961        FillUpCarFluids();
  962 
  963        GetInventory().CreateInInventory("CivSedanWheel");
  964        GetInventory().CreateInInventory("CivSedanWheel");
  965        GetInventory().CreateInInventory("CivSedanWheel");
  966        GetInventory().CreateInInventory("CivSedanWheel");
  967 
  968        GetInventory().CreateInInventory("CivSedanDoors_Driver");
  969        GetInventory().CreateInInventory("CivSedanDoors_CoDriver");
  970        GetInventory().CreateInInventory("CivSedanDoors_BackLeft");
  971        GetInventory().CreateInInventory("CivSedanDoors_BackRight");
  972        GetInventory().CreateInInventory("CivSedanHood");
  973        GetInventory().CreateInInventory("CivSedanTrunk");
  974 
  975        
  976        GetInventory().CreateInInventory("CivSedanWheel");
  977        GetInventory().CreateInInventory("CivSedanWheel");
  978    }
  979    
  981    {
  982        return 1.5;
  983    }
  984}
  985 
  987{
  989    {
  990        SpawnUniversalParts();
  991        SpawnAdditionalItems();
  992        FillUpCarFluids();
  993 
  994        GetInventory().CreateInInventory("CivSedanWheel");
  995        GetInventory().CreateInInventory("CivSedanWheel");
  996        GetInventory().CreateInInventory("CivSedanWheel");
  997        GetInventory().CreateInInventory("CivSedanWheel");
  998 
  999        GetInventory().CreateInInventory("CivSedanDoors_Driver_Wine");
 1000        GetInventory().CreateInInventory("CivSedanDoors_CoDriver_Wine");
 1001        GetInventory().CreateInInventory("CivSedanDoors_BackLeft_Wine");
 1002        GetInventory().CreateInInventory("CivSedanDoors_BackRight_Wine");
 1003        GetInventory().CreateInInventory("CivSedanHood_Wine");
 1004        GetInventory().CreateInInventory("CivSedanTrunk_Wine");
 1005 
 1006        
 1007        GetInventory().CreateInInventory("CivSedanWheel");
 1008        GetInventory().CreateInInventory("CivSedanWheel");
 1009    }
 1010}
 1011 
 1013{
 1015    {
 1016        SpawnUniversalParts();
 1017        SpawnAdditionalItems();
 1018        FillUpCarFluids();
 1019 
 1020        GetInventory().CreateInInventory("CivSedanWheel");
 1021        GetInventory().CreateInInventory("CivSedanWheel");
 1022        GetInventory().CreateInInventory("CivSedanWheel");
 1023        GetInventory().CreateInInventory("CivSedanWheel");
 1024 
 1025        GetInventory().CreateInInventory("CivSedanDoors_Driver_Black");
 1026        GetInventory().CreateInInventory("CivSedanDoors_CoDriver_Black");
 1027        GetInventory().CreateInInventory("CivSedanDoors_BackLeft_Black");
 1028        GetInventory().CreateInInventory("CivSedanDoors_BackRight_Black");
 1029        GetInventory().CreateInInventory("CivSedanHood_Black");
 1030        GetInventory().CreateInInventory("CivSedanTrunk_Black");
 1031 
 1032        
 1033        GetInventory().CreateInInventory("CivSedanWheel");
 1034        GetInventory().CreateInInventory("CivSedanWheel");
 1035    }
 1036}
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.