502{
506
508 {
509
510
511 m_EngineStartOK = "CivilianSedan_engine_start_SoundSet";
512 m_EngineStartBattery = "CivilianSedan_engine_failed_start_battery_SoundSet";
513 m_EngineStartPlug = "CivilianSedan_engine_failed_start_sparkplugs_SoundSet";
514 m_EngineStartFuel = "CivilianSedan_engine_failed_start_fuel_SoundSet";
515 m_EngineStop = "CivilianSedan_engine_stop_SoundSet";
516 m_EngineStopFuel = "CivilianSedan_engine_stop_fuel_SoundSet";
517
518 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
519 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
520
521 m_CarHornShortSoundName = "CivilianSedan_Horn_Short_SoundSet";
522 m_CarHornLongSoundName = "CivilianSedan_Horn_SoundSet";
523
524 SetEnginePos("0 0.7 1.6");
525 }
526
528 {
532 }
533
535 {
536 super.EEInit();
537
539 {
546
549 }
550 }
551
553 {
554 super.OnEngineStart();
555
557 {
560 }
561 }
562
564 {
565 super.OnEngineStop();
566
568 {
571 }
572 }
573
575 {
577 {
579 {
581 }
582 }
583 }
584
586 {
588 }
589
591 {
592 return 4.5;
593 }
594
596 {
597 switch (posIdx)
598 {
599 case 0:
601 case 1:
603 case 2:
605 case 3:
607 }
608
609 return 0;
610 }
611
612
614 {
616 }
617
618
620 {
622 }
623
625 {
626 if( !super.CanReleaseAttachment( attachment ) )
627 return false;
628
629 string attType = attachment.GetType();
630
632 {
633 if ( attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
634 return false;
635 }
636
637 return true;
638 }
639
641 {
643 }
644
646 {
647
648 if (!super.CanDisplayAttachmentCategory(category_name))
649 return false;
650
651
653 if (category_name.
Contains(
"engine"))
654 {
656 return false;
657 }
658
659 return true;
660 }
661
663 {
664 if ( !super.CanDisplayCargo() )
665 return false;
666
668 return false;
669
670 return true;
671 }
672
674 {
676
677 Class.
CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
678 if (!carDoor)
679 {
681 }
682
683 switch (slotType)
684 {
685 case "CivSedanDriverDoors":
686 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
687 break;
688
689 case "CivSedanCoDriverDoors":
690 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
691 break;
692
693 case "CivSedanCargo1Doors":
694 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
695 break;
696
697 case "CivSedanCargo2Doors":
698 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
699 break;
700
701 case "CivSedanTrunk":
702 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
703 break;
704
705 case "CivSedanHood":
706 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
707 break;
708 }
709
711 }
712
713
715 {
716 switch( posIdx )
717 {
718 case 0:
720 return false;
721
722 return true;
723 break;
724
725 case 1:
727 return false;
728
729 return true;
730 break;
731
732 case 2:
734 return false;
735
736 return true;
737 break;
738
739 case 3:
741 return false;
742
743 return true;
744 break;
745 }
746
747 return false;
748 }
749
751 {
752 switch( posIdx )
753 {
754 case 0:
755 return "doors_driver";
756 break;
757 case 1:
758 return "doors_codriver";
759 break;
760 case 2:
761 return "doors_cargo1";
762 break;
763 case 3:
764 return "doors_cargo2";
765 break;
766 }
767
768 return super.GetDoorSelectionNameFromSeatPos(posIdx);
769 }
770
772 {
773 switch( posIdx )
774 {
775 case 0:
776 return "CivSedanDriverDoors";
777 break;
778 case 1:
779 return "CivSedanCoDriverDoors";
780 break;
781 case 2:
782 return "CivSedanCargo1Doors";
783 break;
784 case 3:
785 return "CivSedanCargo2Doors";
786 break;
787 }
788
789 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
790 }
791
792
793
795 {
796 switch (ctrl)
797 {
799 float newValue = 0;
801 {
802 newValue += 0.25;
803 }
804
806 {
807 newValue += 0.25;
808 }
809
811 {
812 newValue += 0.25;
813 }
814
816 {
817 newValue += 0.25;
818 }
819
821 {
822 newValue -= 0.6;
823 }
824
826 {
827 newValue -= 0.6;
828 }
829
831 break;
832 }
833
834 return super.OnSound(ctrl, oldValue);
835 }
836
838 {
839 switch (selection)
840 {
841 case "doors_driver":
842 return "DoorsDriver";
843 case "doors_codriver":
844 return "DoorsCoDriver";
845 case "doors_cargo1":
846 return "DoorsCargo1";
847 case "doors_cargo2":
848 return "DoorsCargo2";
849 case "doors_hood":
850 return "DoorsHood";
851 case "doors_trunk":
852 return "DoorsTrunk";
853 }
854
855 return "";
856 }
857
859 {
860 return false;
861 }
862
864 {
865 return false;
866 }
867
869 {
870 switch (currentSeat)
871 {
872 case 0:
873 return nextSeat == 1;
874
875 case 1:
876 return nextSeat == 0;
877
878 case 2:
879 return nextSeat == 3;
880
881 case 3:
882 return nextSeat == 2;
883 }
884
885 return false;
886 }
887
889 {
890 switch (pCurrentSeat)
891 {
892 case 0:
893 return pDoorsSelection == "DoorsDriver";
894
895 case 1:
896 return pDoorsSelection == "DoorsCoDriver";
897
898 case 2:
899 return pDoorsSelection == "DoorsCargo1";
900
901 case 3:
902 return pDoorsSelection == "DoorsCargo2";
903 }
904
905 return false;
906 }
907
909 {
910 SpawnUniversalParts();
911 SpawnAdditionalItems();
912 FillUpCarFluids();
913
919
926
927
930 }
931
933 {
934 return 1.5;
935 }
936}
937
939{
941 {
942 SpawnUniversalParts();
943 SpawnAdditionalItems();
944 FillUpCarFluids();
945
946 GameInventory inventory = GetInventory();
951
958
959
962 }
963}
964
966{
968 {
969 SpawnUniversalParts();
970 SpawnAdditionalItems();
971 FillUpCarFluids();
972
973 GameInventory inventory = GetInventory();
978
985
986
989 }
990}
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.