565{
  569 
  571    {
  572        
  573        
  574        m_EngineStartOK         = "CivilianSedan_engine_start_SoundSet";
  575        m_EngineStartBattery    = "CivilianSedan_engine_failed_start_battery_SoundSet";
  576        m_EngineStartPlug       = "CivilianSedan_engine_failed_start_sparkplugs_SoundSet";
  577        m_EngineStartFuel       = "CivilianSedan_engine_failed_start_fuel_SoundSet";
  578        m_EngineStop            = "CivilianSedan_engine_stop_SoundSet";
  579        m_EngineStopFuel        = "CivilianSedan_engine_stop_fuel_SoundSet";
  580 
  581        m_CarDoorOpenSound      = "offroad_door_open_SoundSet";
  582        m_CarDoorCloseSound     = "offroad_door_close_SoundSet";
  583        
  584        m_CarHornShortSoundName = "CivilianSedan_Horn_Short_SoundSet";
  585        m_CarHornLongSoundName  = "CivilianSedan_Horn_SoundSet";
  586        
  587        SetEnginePos("0 0.7 1.6");
  588    }
  589    
  591    {       
  592        super.EEInit();
  593        
  595        {
  602            
  605        }       
  606    }
  607    
  609    {
  610        super.OnEngineStart();
  611 
  613        {
  615        }
  616    }
  617    
  619    {
  620        super.OnEngineStop();
  621 
  623        {
  625        }
  626    }
  627    
  629    {
  631        {
  633            {
  635            }
  636        }
  637    }
  638    
  640    {
  642    }
  643    
  645    {
  646        return 4.5;
  647    }
  648 
  650    {
  651        switch (posIdx)
  652        {
  653        case 0:
  655        case 1:
  657        case 2:
  659        case 3:
  661        }
  662 
  663        return 0;
  664    }
  665    
  666    
  668    {
  670    }
  671    
  672    
  674    {
  676    }
  677    
  679    {
  680        if( !super.CanReleaseAttachment( attachment ) )
  681            return false;
  682        
  683        string attType = attachment.GetType();
  684        
  686        {
  687            if ( attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
  688                return false;
  689        }
  690 
  691        return true;
  692    }
  693 
  695    {
  697    }
  698    
  700    {
  701        
  702        if (!super.CanDisplayAttachmentCategory(category_name))
  703            return false;
  704        
  705    
  707        if (category_name.
Contains(
"engine"))
 
  708        {
  710                return false;
  711        }
  712                
  713        return true;
  714    }
  715    
  717    {
  718        if ( !super.CanDisplayCargo() )
  719            return false;
  720        
  722            return false;
  723        
  724        return true;
  725    }
  726    
  728    {
  730 
  731        Class.
CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
 
  732        if (!carDoor)
  733        {
  735        }
  736    
  737        switch (slotType)
  738        {
  739        case "CivSedanDriverDoors":
  740            return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
  741            break;
  742        
  743        case "CivSedanCoDriverDoors":
  744            return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
  745            break;
  746 
  747        case "CivSedanCargo1Doors":
  748            return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
  749            break;
  750 
  751        case "CivSedanCargo2Doors":
  752            return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
  753            break;
  754        
  755        case "CivSedanTrunk":
  756            return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
  757            break;
  758        
  759        case "CivSedanHood":
  760            return TranslateAnimationPhaseToCarDoorState("DoorsHood");
  761            break;
  762        }
  763 
  765    }
  766    
  767 
  769    {
  770        switch( posIdx )
  771        {
  772            case 0:
  774                    return false;
  775 
  776                return true;
  777            break;
  778            
  779            case 1:
  781                    return false;
  782 
  783                return true;
  784            break;
  785 
  786            case 2:
  788                    return false;
  789 
  790                return true;
  791            break;
  792 
  793            case 3:
  795                    return false;
  796 
  797                return true;
  798            break;
  799        }
  800 
  801        return false;
  802    }
  803 
  805    {
  806        switch( posIdx )
  807        {
  808        case 0:
  809            return "doors_driver";
  810        break;
  811        case 1:
  812            return "doors_codriver";
  813        break;
  814        case 2:
  815            return "doors_cargo1";
  816        break;
  817        case 3:
  818            return "doors_cargo2";
  819        break;
  820        }
  821        
  822        return super.GetDoorSelectionNameFromSeatPos(posIdx);
  823    }
  824 
  826    {
  827        switch( posIdx )
  828        {
  829        case 0:
  830            return "CivSedanDriverDoors";
  831        break;
  832        case 1:
  833            return "CivSedanCoDriverDoors";
  834        break;
  835        case 2:
  836            return "CivSedanCargo1Doors";
  837        break;
  838        case 3:
  839            return "CivSedanCargo2Doors";
  840        break;
  841        }
  842        
  843        return super.GetDoorInvSlotNameFromSeatPos(posIdx);
  844    }
  845 
  846    
  847    
  849    {
  850        switch (ctrl)
  851        {
  853            float newValue = 0;
  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.25;
  872            }
  873        
  875            {
  876                newValue -= 0.6;
  877            }
  878 
  880            {
  881                newValue -= 0.6;
  882            }
  883        
  885        break;
  886        }
  887 
  888        return super.OnSound(ctrl, oldValue);
  889    }
  890 
  892    {
  893        switch (selection)
  894        {
  895            case "doors_driver":
  896                return "DoorsDriver";
  897            case "doors_codriver":
  898                return "DoorsCoDriver";
  899            case "doors_cargo1":
  900                return "DoorsCargo1";
  901            case "doors_cargo2":
  902                return "DoorsCargo2";
  903            case "doors_hood":
  904                return "DoorsHood";
  905            case "doors_trunk":
  906                return "DoorsTrunk";
  907        }
  908 
  909        return "";
  910    }
  911 
  913    {
  914        return false;
  915    }
  916 
  918    {
  919        return false;
  920    }
  921    
  923    {
  924        switch (currentSeat)
  925        {
  926            case 0:
  927                return nextSeat == 1;
  928    
  929            case 1:
  930                return nextSeat == 0;
  931    
  932            case 2:
  933                return nextSeat == 3;
  934    
  935            case 3:
  936                return nextSeat == 2;
  937        }
  938        
  939        return false;
  940    }
  941 
  943    {
  944        switch (pCurrentSeat)
  945        {
  946            case 0:
  947                return pDoorsSelection == "DoorsDriver";
  948    
  949            case 1:
  950                return pDoorsSelection == "DoorsCoDriver";
  951    
  952            case 2:
  953                return pDoorsSelection == "DoorsCargo1";
  954    
  955            case 3:
  956                return pDoorsSelection == "DoorsCargo2";
  957        }
  958        
  959        return false;       
  960    }
  961 
  963    {
  964        SpawnUniversalParts();
  965        SpawnAdditionalItems();
  966        FillUpCarFluids();
  967 
  968        GetInventory().CreateInInventory("CivSedanWheel");
  969        GetInventory().CreateInInventory("CivSedanWheel");
  970        GetInventory().CreateInInventory("CivSedanWheel");
  971        GetInventory().CreateInInventory("CivSedanWheel");
  972 
  973        GetInventory().CreateInInventory("CivSedanDoors_Driver");
  974        GetInventory().CreateInInventory("CivSedanDoors_CoDriver");
  975        GetInventory().CreateInInventory("CivSedanDoors_BackLeft");
  976        GetInventory().CreateInInventory("CivSedanDoors_BackRight");
  977        GetInventory().CreateInInventory("CivSedanHood");
  978        GetInventory().CreateInInventory("CivSedanTrunk");
  979 
  980        
  981        GetInventory().CreateInInventory("CivSedanWheel");
  982        GetInventory().CreateInInventory("CivSedanWheel");
  983    }
  984    
  986    {
  987        return 1.5;
  988    }
  989}
  990 
  992{
  994    {
  995        SpawnUniversalParts();
  996        SpawnAdditionalItems();
  997        FillUpCarFluids();
  998 
  999        GetInventory().CreateInInventory("CivSedanWheel");
 1000        GetInventory().CreateInInventory("CivSedanWheel");
 1001        GetInventory().CreateInInventory("CivSedanWheel");
 1002        GetInventory().CreateInInventory("CivSedanWheel");
 1003 
 1004        GetInventory().CreateInInventory("CivSedanDoors_Driver_Wine");
 1005        GetInventory().CreateInInventory("CivSedanDoors_CoDriver_Wine");
 1006        GetInventory().CreateInInventory("CivSedanDoors_BackLeft_Wine");
 1007        GetInventory().CreateInInventory("CivSedanDoors_BackRight_Wine");
 1008        GetInventory().CreateInInventory("CivSedanHood_Wine");
 1009        GetInventory().CreateInInventory("CivSedanTrunk_Wine");
 1010 
 1011        
 1012        GetInventory().CreateInInventory("CivSedanWheel");
 1013        GetInventory().CreateInInventory("CivSedanWheel");
 1014    }
 1015}
 1016 
 1018{
 1020    {
 1021        SpawnUniversalParts();
 1022        SpawnAdditionalItems();
 1023        FillUpCarFluids();
 1024 
 1025        GetInventory().CreateInInventory("CivSedanWheel");
 1026        GetInventory().CreateInInventory("CivSedanWheel");
 1027        GetInventory().CreateInInventory("CivSedanWheel");
 1028        GetInventory().CreateInInventory("CivSedanWheel");
 1029 
 1030        GetInventory().CreateInInventory("CivSedanDoors_Driver_Black");
 1031        GetInventory().CreateInInventory("CivSedanDoors_CoDriver_Black");
 1032        GetInventory().CreateInInventory("CivSedanDoors_BackLeft_Black");
 1033        GetInventory().CreateInInventory("CivSedanDoors_BackRight_Black");
 1034        GetInventory().CreateInInventory("CivSedanHood_Black");
 1035        GetInventory().CreateInInventory("CivSedanTrunk_Black");
 1036 
 1037        
 1038        GetInventory().CreateInInventory("CivSedanWheel");
 1039        GetInventory().CreateInInventory("CivSedanWheel");
 1040    }
 1041}
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.