529{
533
535 {
536
537
538 m_EngineStartOK = "CivilianSedan_engine_start_SoundSet";
539 m_EngineStartBattery = "CivilianSedan_engine_failed_start_battery_SoundSet";
540 m_EngineStartPlug = "CivilianSedan_engine_failed_start_sparkplugs_SoundSet";
541 m_EngineStartFuel = "CivilianSedan_engine_failed_start_fuel_SoundSet";
542 m_EngineStop = "CivilianSedan_engine_stop_SoundSet";
543 m_EngineStopFuel = "CivilianSedan_engine_stop_fuel_SoundSet";
544
545 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
546 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
547
548 m_CarHornShortSoundName = "CivilianSedan_Horn_Short_SoundSet";
549 m_CarHornLongSoundName = "CivilianSedan_Horn_SoundSet";
550
551 SetEnginePos("0 0.7 1.6");
552 }
553
555 {
559 }
560
562 {
563 super.EEInit();
564
566 {
573
576 }
577 }
578
580 {
581 super.OnEngineStart();
582
584 {
587 }
588 }
589
591 {
592 super.OnEngineStop();
593
595 {
598 }
599 }
600
602 {
604 {
606 {
608 }
609 }
610 }
611
613 {
615 }
616
618 {
619 return 4.5;
620 }
621
623 {
624 switch (posIdx)
625 {
626 case 0:
628 case 1:
630 case 2:
632 case 3:
634 }
635
636 return 0;
637 }
638
639
641 {
643 }
644
645
647 {
649 }
650
652 {
653 if( !super.CanReleaseAttachment( attachment ) )
654 return false;
655
656 string attType = attachment.GetType();
657
659 {
660 if ( attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
661 return false;
662 }
663
664 return true;
665 }
666
668 {
670 }
671
673 {
674
675 if (!super.CanDisplayAttachmentCategory(category_name))
676 return false;
677
678
680 if (category_name.
Contains(
"engine"))
681 {
683 return false;
684 }
685
686 return true;
687 }
688
690 {
691 if ( !super.CanDisplayCargo() )
692 return false;
693
695 return false;
696
697 return true;
698 }
699
701 {
703
704 Class.
CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
705 if (!carDoor)
706 {
708 }
709
710 switch (slotType)
711 {
712 case "CivSedanDriverDoors":
713 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
714 break;
715
716 case "CivSedanCoDriverDoors":
717 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
718 break;
719
720 case "CivSedanCargo1Doors":
721 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
722 break;
723
724 case "CivSedanCargo2Doors":
725 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
726 break;
727
728 case "CivSedanTrunk":
729 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
730 break;
731
732 case "CivSedanHood":
733 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
734 break;
735 }
736
738 }
739
740
742 {
743 switch( posIdx )
744 {
745 case 0:
747 return false;
748
749 return true;
750 break;
751
752 case 1:
754 return false;
755
756 return true;
757 break;
758
759 case 2:
761 return false;
762
763 return true;
764 break;
765
766 case 3:
768 return false;
769
770 return true;
771 break;
772 }
773
774 return false;
775 }
776
778 {
779 switch( posIdx )
780 {
781 case 0:
782 return "doors_driver";
783 break;
784 case 1:
785 return "doors_codriver";
786 break;
787 case 2:
788 return "doors_cargo1";
789 break;
790 case 3:
791 return "doors_cargo2";
792 break;
793 }
794
795 return super.GetDoorSelectionNameFromSeatPos(posIdx);
796 }
797
799 {
800 switch( posIdx )
801 {
802 case 0:
803 return "CivSedanDriverDoors";
804 break;
805 case 1:
806 return "CivSedanCoDriverDoors";
807 break;
808 case 2:
809 return "CivSedanCargo1Doors";
810 break;
811 case 3:
812 return "CivSedanCargo2Doors";
813 break;
814 }
815
816 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
817 }
818
819
820
822 {
823 switch (ctrl)
824 {
826 float newValue = 0;
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.25;
845 }
846
848 {
849 newValue -= 0.6;
850 }
851
853 {
854 newValue -= 0.6;
855 }
856
858 break;
859 }
860
861 return super.OnSound(ctrl, oldValue);
862 }
863
865 {
866 switch (selection)
867 {
868 case "doors_driver":
869 return "DoorsDriver";
870 case "doors_codriver":
871 return "DoorsCoDriver";
872 case "doors_cargo1":
873 return "DoorsCargo1";
874 case "doors_cargo2":
875 return "DoorsCargo2";
876 case "doors_hood":
877 return "DoorsHood";
878 case "doors_trunk":
879 return "DoorsTrunk";
880 }
881
882 return "";
883 }
884
886 {
887 return false;
888 }
889
891 {
892 return false;
893 }
894
896 {
897 switch (currentSeat)
898 {
899 case 0:
900 return nextSeat == 1;
901
902 case 1:
903 return nextSeat == 0;
904
905 case 2:
906 return nextSeat == 3;
907
908 case 3:
909 return nextSeat == 2;
910 }
911
912 return false;
913 }
914
916 {
917 switch (pCurrentSeat)
918 {
919 case 0:
920 return pDoorsSelection == "DoorsDriver";
921
922 case 1:
923 return pDoorsSelection == "DoorsCoDriver";
924
925 case 2:
926 return pDoorsSelection == "DoorsCargo1";
927
928 case 3:
929 return pDoorsSelection == "DoorsCargo2";
930 }
931
932 return false;
933 }
934
936 {
937 SpawnUniversalParts();
938 SpawnAdditionalItems();
939 FillUpCarFluids();
940
946
953
954
957 }
958
960 {
961 return 1.5;
962 }
963}
964
966{
968 {
969 SpawnUniversalParts();
970 SpawnAdditionalItems();
971 FillUpCarFluids();
972
973 GameInventory inventory = GetInventory();
978
985
986
989 }
990}
991
993{
995 {
996 SpawnUniversalParts();
997 SpawnAdditionalItems();
998 FillUpCarFluids();
999
1000 GameInventory inventory = GetInventory();
1005
1012
1013
1016 }
1017}
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.
EntityAI CreateInInventory(string type)
creates entity somewhere in inventory
script counterpart to engine's class Inventory
original Timer deletes m_params which is unwanted
DayZPlayerConstants
defined in C++
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.