634{
  638 
  640    {
  641        
  642        
  643        m_EngineStartOK         = "CivilianSedan_engine_start_SoundSet";
  644        m_EngineStartBattery    = "CivilianSedan_engine_failed_start_battery_SoundSet";
  645        m_EngineStartPlug       = "CivilianSedan_engine_failed_start_sparkplugs_SoundSet";
  646        m_EngineStartFuel       = "CivilianSedan_engine_failed_start_fuel_SoundSet";
  647        m_EngineStop            = "CivilianSedan_engine_stop_SoundSet";
  648        m_EngineStopFuel        = "CivilianSedan_engine_stop_fuel_SoundSet";
  649 
  650        m_CarDoorOpenSound      = "offroad_door_open_SoundSet";
  651        m_CarDoorCloseSound     = "offroad_door_close_SoundSet";
  652        
  653        m_CarHornShortSoundName = "CivilianSedan_Horn_Short_SoundSet";
  654        m_CarHornLongSoundName  = "CivilianSedan_Horn_SoundSet";
  655        
  656        SetEnginePos("0 0.7 1.6");
  657    }
  658    
  660    {       
  661        super.EEInit();
  662        
  664        {
  671            
  674        }       
  675    }
  676    
  678    {
  679        super.OnEngineStart();
  680 
  682        {
  684        }
  685    }
  686    
  688    {
  689        super.OnEngineStop();
  690 
  692        {
  694        }
  695    }
  696    
  698    {
  700        {
  702            {
  704            }
  705        }
  706    }
  707    
  709    {
  711    }
  712    
  714    {
  715        return 4.5;
  716    }
  717 
  719    {
  720        switch (posIdx)
  721        {
  722        case 0:
  724        case 1:
  726        case 2:
  728        case 3:
  730        }
  731 
  732        return 0;
  733    }
  734    
  735    
  737    {
  739    }
  740    
  741    
  743    {
  745    }
  746    
  748    {
  749        if( !super.CanReleaseAttachment( attachment ) )
  750            return false;
  751        
  752        string attType = attachment.GetType();
  753        
  755        {
  756            if ( attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
  757                return false;
  758        }
  759 
  760        return true;
  761    }
  762 
  764    {
  766    }
  767    
  769    {
  770        
  771        if (!super.CanDisplayAttachmentCategory(category_name))
  772            return false;
  773        
  774    
  776        if (category_name.
Contains(
"engine"))
 
  777        {
  779                return false;
  780        }
  781                
  782        return true;
  783    }
  784    
  786    {
  787        if ( !super.CanDisplayCargo() )
  788            return false;
  789        
  791            return false;
  792        
  793        return true;
  794    }
  795    
  797    {
  799 
  800        Class.
CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
 
  801        if (!carDoor)
  802        {
  804        }
  805    
  806        switch (slotType)
  807        {
  808        case "CivSedanDriverDoors":
  809            return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
  810            break;
  811        
  812        case "CivSedanCoDriverDoors":
  813            return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
  814            break;
  815 
  816        case "CivSedanCargo1Doors":
  817            return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
  818            break;
  819 
  820        case "CivSedanCargo2Doors":
  821            return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
  822            break;
  823        
  824        case "CivSedanTrunk":
  825            return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
  826            break;
  827        
  828        case "CivSedanHood":
  829            return TranslateAnimationPhaseToCarDoorState("DoorsHood");
  830            break;
  831        }
  832 
  834    }
  835    
  836 
  838    {
  839        switch( posIdx )
  840        {
  841            case 0:
  843                    return false;
  844 
  845                return true;
  846            break;
  847            
  848            case 1:
  850                    return false;
  851 
  852                return true;
  853            break;
  854 
  855            case 2:
  857                    return false;
  858 
  859                return true;
  860            break;
  861 
  862            case 3:
  864                    return false;
  865 
  866                return true;
  867            break;
  868        }
  869 
  870        return false;
  871    }
  872 
  874    {
  875        switch( posIdx )
  876        {
  877        case 0:
  878            return "doors_driver";
  879        break;
  880        case 1:
  881            return "doors_codriver";
  882        break;
  883        case 2:
  884            return "doors_cargo1";
  885        break;
  886        case 3:
  887            return "doors_cargo2";
  888        break;
  889        }
  890        
  891        return super.GetDoorSelectionNameFromSeatPos(posIdx);
  892    }
  893 
  895    {
  896        switch( posIdx )
  897        {
  898        case 0:
  899            return "CivSedanDriverDoors";
  900        break;
  901        case 1:
  902            return "CivSedanCoDriverDoors";
  903        break;
  904        case 2:
  905            return "CivSedanCargo1Doors";
  906        break;
  907        case 3:
  908            return "CivSedanCargo2Doors";
  909        break;
  910        }
  911        
  912        return super.GetDoorInvSlotNameFromSeatPos(posIdx);
  913    }
  914 
  915    
  916    
  918    {
  919        switch (ctrl)
  920        {
  922            float newValue = 0;
  924            {
  925                newValue += 0.25;
  926            }
  927 
  929            {
  930                newValue += 0.25;
  931            }
  932        
  934            {
  935                newValue += 0.25;
  936            }
  937 
  939            {
  940                newValue += 0.25;
  941            }
  942        
  944            {
  945                newValue -= 0.6;
  946            }
  947 
  949            {
  950                newValue -= 0.6;
  951            }
  952        
  954        break;
  955        }
  956 
  957        return super.OnSound(ctrl, oldValue);
  958    }
  959 
  961    {
  962        switch (selection)
  963        {
  964            case "doors_driver":
  965                return "DoorsDriver";
  966            case "doors_codriver":
  967                return "DoorsCoDriver";
  968            case "doors_cargo1":
  969                return "DoorsCargo1";
  970            case "doors_cargo2":
  971                return "DoorsCargo2";
  972            case "doors_hood":
  973                return "DoorsHood";
  974            case "doors_trunk":
  975                return "DoorsTrunk";
  976        }
  977 
  978        return "";
  979    }
  980 
  982    {
  983        return false;
  984    }
  985 
  987    {
  988        return false;
  989    }
  990    
  992    {
  993        switch (currentSeat)
  994        {
  995            case 0:
  996                return nextSeat == 1;
  997    
  998            case 1:
  999                return nextSeat == 0;
 1000    
 1001            case 2:
 1002                return nextSeat == 3;
 1003    
 1004            case 3:
 1005                return nextSeat == 2;
 1006        }
 1007        
 1008        return false;
 1009    }
 1010 
 1012    {
 1013        switch (pCurrentSeat)
 1014        {
 1015            case 0:
 1016                return pDoorsSelection == "DoorsDriver";
 1017    
 1018            case 1:
 1019                return pDoorsSelection == "DoorsCoDriver";
 1020    
 1021            case 2:
 1022                return pDoorsSelection == "DoorsCargo1";
 1023    
 1024            case 3:
 1025                return pDoorsSelection == "DoorsCargo2";
 1026        }
 1027        
 1028        return false;       
 1029    }
 1030 
 1032    {
 1033        SpawnUniversalParts();
 1034        SpawnAdditionalItems();
 1035        FillUpCarFluids();
 1036 
 1037        GetInventory().CreateInInventory("CivSedanWheel");
 1038        GetInventory().CreateInInventory("CivSedanWheel");
 1039        GetInventory().CreateInInventory("CivSedanWheel");
 1040        GetInventory().CreateInInventory("CivSedanWheel");
 1041 
 1042        GetInventory().CreateInInventory("CivSedanDoors_Driver");
 1043        GetInventory().CreateInInventory("CivSedanDoors_CoDriver");
 1044        GetInventory().CreateInInventory("CivSedanDoors_BackLeft");
 1045        GetInventory().CreateInInventory("CivSedanDoors_BackRight");
 1046        GetInventory().CreateInInventory("CivSedanHood");
 1047        GetInventory().CreateInInventory("CivSedanTrunk");
 1048 
 1049        
 1050        GetInventory().CreateInInventory("CivSedanWheel");
 1051        GetInventory().CreateInInventory("CivSedanWheel");
 1052    }
 1053    
 1055    {
 1056        return 1.5;
 1057    }
 1058}
 1059 
 1061{
 1063    {
 1064        SpawnUniversalParts();
 1065        SpawnAdditionalItems();
 1066        FillUpCarFluids();
 1067 
 1068        GetInventory().CreateInInventory("CivSedanWheel");
 1069        GetInventory().CreateInInventory("CivSedanWheel");
 1070        GetInventory().CreateInInventory("CivSedanWheel");
 1071        GetInventory().CreateInInventory("CivSedanWheel");
 1072 
 1073        GetInventory().CreateInInventory("CivSedanDoors_Driver_Wine");
 1074        GetInventory().CreateInInventory("CivSedanDoors_CoDriver_Wine");
 1075        GetInventory().CreateInInventory("CivSedanDoors_BackLeft_Wine");
 1076        GetInventory().CreateInInventory("CivSedanDoors_BackRight_Wine");
 1077        GetInventory().CreateInInventory("CivSedanHood_Wine");
 1078        GetInventory().CreateInInventory("CivSedanTrunk_Wine");
 1079 
 1080        
 1081        GetInventory().CreateInInventory("CivSedanWheel");
 1082        GetInventory().CreateInInventory("CivSedanWheel");
 1083    }
 1084}
 1085 
 1087{
 1089    {
 1090        SpawnUniversalParts();
 1091        SpawnAdditionalItems();
 1092        FillUpCarFluids();
 1093 
 1094        GetInventory().CreateInInventory("CivSedanWheel");
 1095        GetInventory().CreateInInventory("CivSedanWheel");
 1096        GetInventory().CreateInInventory("CivSedanWheel");
 1097        GetInventory().CreateInInventory("CivSedanWheel");
 1098 
 1099        GetInventory().CreateInInventory("CivSedanDoors_Driver_Black");
 1100        GetInventory().CreateInInventory("CivSedanDoors_CoDriver_Black");
 1101        GetInventory().CreateInInventory("CivSedanDoors_BackLeft_Black");
 1102        GetInventory().CreateInInventory("CivSedanDoors_BackRight_Black");
 1103        GetInventory().CreateInInventory("CivSedanHood_Black");
 1104        GetInventory().CreateInInventory("CivSedanTrunk_Black");
 1105 
 1106        
 1107        GetInventory().CreateInInventory("CivSedanWheel");
 1108        GetInventory().CreateInInventory("CivSedanWheel");
 1109    }
 1110}
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.