544{
  548 
  550    {
  551        
  552        
  553        m_EngineStartOK         = "CivilianSedan_engine_start_SoundSet";
  554        m_EngineStartBattery    = "CivilianSedan_engine_failed_start_battery_SoundSet";
  555        m_EngineStartPlug       = "CivilianSedan_engine_failed_start_sparkplugs_SoundSet";
  556        m_EngineStartFuel       = "CivilianSedan_engine_failed_start_fuel_SoundSet";
  557        m_EngineStop            = "CivilianSedan_engine_stop_SoundSet";
  558        m_EngineStopFuel        = "CivilianSedan_engine_stop_fuel_SoundSet";
  559 
  560        m_CarDoorOpenSound      = "offroad_door_open_SoundSet";
  561        m_CarDoorCloseSound     = "offroad_door_close_SoundSet";
  562        
  563        m_CarHornShortSoundName = "CivilianSedan_Horn_Short_SoundSet";
  564        m_CarHornLongSoundName  = "CivilianSedan_Horn_SoundSet";
  565        
  566        SetEnginePos("0 0.7 1.6");
  567    }
  568    
  570    {       
  571        super.EEInit();
  572        
  574        {
  581            
  584        }       
  585    }
  586    
  588    {
  589        super.OnEngineStart();
  590 
  592        {
  594        }
  595    }
  596    
  598    {
  599        super.OnEngineStop();
  600 
  602        {
  604        }
  605    }
  606    
  608    {
  610        {
  612            {
  614            }
  615        }
  616    }
  617    
  619    {
  621    }
  622    
  624    {
  625        return 4.5;
  626    }
  627 
  629    {
  630        switch (posIdx)
  631        {
  632        case 0:
  634        case 1:
  636        case 2:
  638        case 3:
  640        }
  641 
  642        return 0;
  643    }
  644    
  645    
  647    {
  649    }
  650    
  651    
  653    {
  655    }
  656    
  658    {
  659        if( !super.CanReleaseAttachment( attachment ) )
  660            return false;
  661        
  662        string attType = attachment.GetType();
  663        
  665        {
  666            if ( attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
  667                return false;
  668        }
  669 
  670        return true;
  671    }
  672 
  674    {
  676    }
  677    
  679    {
  680        
  681        if (!super.CanDisplayAttachmentCategory(category_name))
  682            return false;
  683        
  684    
  686        if (category_name.
Contains(
"engine"))
 
  687        {
  689                return false;
  690        }
  691                
  692        return true;
  693    }
  694    
  696    {
  697        if ( !super.CanDisplayCargo() )
  698            return false;
  699        
  701            return false;
  702        
  703        return true;
  704    }
  705    
  707    {
  709 
  710        Class.
CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
 
  711        if (!carDoor)
  712        {
  714        }
  715    
  716        switch (slotType)
  717        {
  718        case "CivSedanDriverDoors":
  719            return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
  720            break;
  721        
  722        case "CivSedanCoDriverDoors":
  723            return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
  724            break;
  725 
  726        case "CivSedanCargo1Doors":
  727            return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
  728            break;
  729 
  730        case "CivSedanCargo2Doors":
  731            return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
  732            break;
  733        
  734        case "CivSedanTrunk":
  735            return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
  736            break;
  737        
  738        case "CivSedanHood":
  739            return TranslateAnimationPhaseToCarDoorState("DoorsHood");
  740            break;
  741        }
  742 
  744    }
  745    
  746 
  748    {
  749        switch( posIdx )
  750        {
  751            case 0:
  753                    return false;
  754 
  755                return true;
  756            break;
  757            
  758            case 1:
  760                    return false;
  761 
  762                return true;
  763            break;
  764 
  765            case 2:
  767                    return false;
  768 
  769                return true;
  770            break;
  771 
  772            case 3:
  774                    return false;
  775 
  776                return true;
  777            break;
  778        }
  779 
  780        return false;
  781    }
  782 
  784    {
  785        switch( posIdx )
  786        {
  787        case 0:
  788            return "doors_driver";
  789        break;
  790        case 1:
  791            return "doors_codriver";
  792        break;
  793        case 2:
  794            return "doors_cargo1";
  795        break;
  796        case 3:
  797            return "doors_cargo2";
  798        break;
  799        }
  800        
  801        return super.GetDoorSelectionNameFromSeatPos(posIdx);
  802    }
  803 
  805    {
  806        switch( posIdx )
  807        {
  808        case 0:
  809            return "CivSedanDriverDoors";
  810        break;
  811        case 1:
  812            return "CivSedanCoDriverDoors";
  813        break;
  814        case 2:
  815            return "CivSedanCargo1Doors";
  816        break;
  817        case 3:
  818            return "CivSedanCargo2Doors";
  819        break;
  820        }
  821        
  822        return super.GetDoorInvSlotNameFromSeatPos(posIdx);
  823    }
  824 
  825    
  826    
  828    {
  829        switch (ctrl)
  830        {
  832            float newValue = 0;
  834            {
  835                newValue += 0.25;
  836            }
  837 
  839            {
  840                newValue += 0.25;
  841            }
  842        
  844            {
  845                newValue += 0.25;
  846            }
  847 
  849            {
  850                newValue += 0.25;
  851            }
  852        
  854            {
  855                newValue -= 0.6;
  856            }
  857 
  859            {
  860                newValue -= 0.6;
  861            }
  862        
  864        break;
  865        }
  866 
  867        return super.OnSound(ctrl, oldValue);
  868    }
  869 
  871    {
  872        switch (selection)
  873        {
  874            case "doors_driver":
  875                return "DoorsDriver";
  876            case "doors_codriver":
  877                return "DoorsCoDriver";
  878            case "doors_cargo1":
  879                return "DoorsCargo1";
  880            case "doors_cargo2":
  881                return "DoorsCargo2";
  882            case "doors_hood":
  883                return "DoorsHood";
  884            case "doors_trunk":
  885                return "DoorsTrunk";
  886        }
  887 
  888        return "";
  889    }
  890 
  892    {
  893        return false;
  894    }
  895 
  897    {
  898        return false;
  899    }
  900    
  902    {
  903        switch (currentSeat)
  904        {
  905            case 0:
  906                return nextSeat == 1;
  907    
  908            case 1:
  909                return nextSeat == 0;
  910    
  911            case 2:
  912                return nextSeat == 3;
  913    
  914            case 3:
  915                return nextSeat == 2;
  916        }
  917        
  918        return false;
  919    }
  920 
  922    {
  923        switch (pCurrentSeat)
  924        {
  925            case 0:
  926                return pDoorsSelection == "DoorsDriver";
  927    
  928            case 1:
  929                return pDoorsSelection == "DoorsCoDriver";
  930    
  931            case 2:
  932                return pDoorsSelection == "DoorsCargo1";
  933    
  934            case 3:
  935                return pDoorsSelection == "DoorsCargo2";
  936        }
  937        
  938        return false;       
  939    }
  940 
  942    {
  943        SpawnUniversalParts();
  944        SpawnAdditionalItems();
  945        FillUpCarFluids();
  946 
  947        GetInventory().CreateInInventory("CivSedanWheel");
  948        GetInventory().CreateInInventory("CivSedanWheel");
  949        GetInventory().CreateInInventory("CivSedanWheel");
  950        GetInventory().CreateInInventory("CivSedanWheel");
  951 
  952        GetInventory().CreateInInventory("CivSedanDoors_Driver");
  953        GetInventory().CreateInInventory("CivSedanDoors_CoDriver");
  954        GetInventory().CreateInInventory("CivSedanDoors_BackLeft");
  955        GetInventory().CreateInInventory("CivSedanDoors_BackRight");
  956        GetInventory().CreateInInventory("CivSedanHood");
  957        GetInventory().CreateInInventory("CivSedanTrunk");
  958 
  959        
  960        GetInventory().CreateInInventory("CivSedanWheel");
  961        GetInventory().CreateInInventory("CivSedanWheel");
  962    }
  963    
  965    {
  966        return 1.5;
  967    }
  968}
  969 
  971{
  973    {
  974        SpawnUniversalParts();
  975        SpawnAdditionalItems();
  976        FillUpCarFluids();
  977 
  978        GetInventory().CreateInInventory("CivSedanWheel");
  979        GetInventory().CreateInInventory("CivSedanWheel");
  980        GetInventory().CreateInInventory("CivSedanWheel");
  981        GetInventory().CreateInInventory("CivSedanWheel");
  982 
  983        GetInventory().CreateInInventory("CivSedanDoors_Driver_Wine");
  984        GetInventory().CreateInInventory("CivSedanDoors_CoDriver_Wine");
  985        GetInventory().CreateInInventory("CivSedanDoors_BackLeft_Wine");
  986        GetInventory().CreateInInventory("CivSedanDoors_BackRight_Wine");
  987        GetInventory().CreateInInventory("CivSedanHood_Wine");
  988        GetInventory().CreateInInventory("CivSedanTrunk_Wine");
  989 
  990        
  991        GetInventory().CreateInInventory("CivSedanWheel");
  992        GetInventory().CreateInInventory("CivSedanWheel");
  993    }
  994}
  995 
  997{
  999    {
 1000        SpawnUniversalParts();
 1001        SpawnAdditionalItems();
 1002        FillUpCarFluids();
 1003 
 1004        GetInventory().CreateInInventory("CivSedanWheel");
 1005        GetInventory().CreateInInventory("CivSedanWheel");
 1006        GetInventory().CreateInInventory("CivSedanWheel");
 1007        GetInventory().CreateInInventory("CivSedanWheel");
 1008 
 1009        GetInventory().CreateInInventory("CivSedanDoors_Driver_Black");
 1010        GetInventory().CreateInInventory("CivSedanDoors_CoDriver_Black");
 1011        GetInventory().CreateInInventory("CivSedanDoors_BackLeft_Black");
 1012        GetInventory().CreateInInventory("CivSedanDoors_BackRight_Black");
 1013        GetInventory().CreateInInventory("CivSedanHood_Black");
 1014        GetInventory().CreateInInventory("CivSedanTrunk_Black");
 1015 
 1016        
 1017        GetInventory().CreateInInventory("CivSedanWheel");
 1018        GetInventory().CreateInInventory("CivSedanWheel");
 1019    }
 1020}
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.