494{
498
500 {
501
502
503 m_EngineStartOK = "CivilianSedan_engine_start_SoundSet";
504 m_EngineStartBattery = "CivilianSedan_engine_failed_start_battery_SoundSet";
505 m_EngineStartPlug = "CivilianSedan_engine_failed_start_sparkplugs_SoundSet";
506 m_EngineStartFuel = "CivilianSedan_engine_failed_start_fuel_SoundSet";
507 m_EngineStop = "CivilianSedan_engine_stop_SoundSet";
508 m_EngineStopFuel = "CivilianSedan_engine_stop_fuel_SoundSet";
509
510 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
511 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
512
513 m_CarHornShortSoundName = "CivilianSedan_Horn_Short_SoundSet";
514 m_CarHornLongSoundName = "CivilianSedan_Horn_SoundSet";
515
516 SetEnginePos("0 0.7 1.6");
517 }
518
520 {
521 super.EEInit();
522
524 {
531
534 }
535 }
536
538 {
539 super.OnEngineStart();
540
542 {
544 }
545 }
546
548 {
549 super.OnEngineStop();
550
552 {
554 }
555 }
556
558 {
560 {
562 {
564 }
565 }
566 }
567
569 {
571 }
572
574 {
575 return 4.5;
576 }
577
579 {
580 switch (posIdx)
581 {
582 case 0:
584 case 1:
586 case 2:
588 case 3:
590 }
591
592 return 0;
593 }
594
595
597 {
599 }
600
601
603 {
605 }
606
608 {
609 if( !super.CanReleaseAttachment( attachment ) )
610 return false;
611
612 string attType = attachment.GetType();
613
615 {
616 if ( attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
617 return false;
618 }
619
620 return true;
621 }
622
624 {
626 }
627
629 {
630
631 if (!super.CanDisplayAttachmentCategory(category_name))
632 return false;
633
634
636 if (category_name.
Contains(
"engine"))
637 {
639 return false;
640 }
641
642 return true;
643 }
644
646 {
647 if ( !super.CanDisplayCargo() )
648 return false;
649
651 return false;
652
653 return true;
654 }
655
657 {
659
660 Class.
CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
661 if (!carDoor)
662 {
664 }
665
666 switch (slotType)
667 {
668 case "CivSedanDriverDoors":
669 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
670 break;
671
672 case "CivSedanCoDriverDoors":
673 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
674 break;
675
676 case "CivSedanCargo1Doors":
677 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
678 break;
679
680 case "CivSedanCargo2Doors":
681 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
682 break;
683
684 case "CivSedanTrunk":
685 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
686 break;
687
688 case "CivSedanHood":
689 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
690 break;
691 }
692
694 }
695
696
698 {
699 switch( posIdx )
700 {
701 case 0:
703 return false;
704
705 return true;
706 break;
707
708 case 1:
710 return false;
711
712 return true;
713 break;
714
715 case 2:
717 return false;
718
719 return true;
720 break;
721
722 case 3:
724 return false;
725
726 return true;
727 break;
728 }
729
730 return false;
731 }
732
734 {
735 switch( posIdx )
736 {
737 case 0:
738 return "doors_driver";
739 break;
740 case 1:
741 return "doors_codriver";
742 break;
743 case 2:
744 return "doors_cargo1";
745 break;
746 case 3:
747 return "doors_cargo2";
748 break;
749 }
750
751 return super.GetDoorSelectionNameFromSeatPos(posIdx);
752 }
753
755 {
756 switch( posIdx )
757 {
758 case 0:
759 return "CivSedanDriverDoors";
760 break;
761 case 1:
762 return "CivSedanCoDriverDoors";
763 break;
764 case 2:
765 return "CivSedanCargo1Doors";
766 break;
767 case 3:
768 return "CivSedanCargo2Doors";
769 break;
770 }
771
772 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
773 }
774
775
776
778 {
779 switch (ctrl)
780 {
782 float newValue = 0;
784 {
785 newValue += 0.25;
786 }
787
789 {
790 newValue += 0.25;
791 }
792
794 {
795 newValue += 0.25;
796 }
797
799 {
800 newValue += 0.25;
801 }
802
804 {
805 newValue -= 0.6;
806 }
807
809 {
810 newValue -= 0.6;
811 }
812
814 break;
815 }
816
817 return super.OnSound(ctrl, oldValue);
818 }
819
821 {
822 switch (selection)
823 {
824 case "doors_driver":
825 return "DoorsDriver";
826 case "doors_codriver":
827 return "DoorsCoDriver";
828 case "doors_cargo1":
829 return "DoorsCargo1";
830 case "doors_cargo2":
831 return "DoorsCargo2";
832 case "doors_hood":
833 return "DoorsHood";
834 case "doors_trunk":
835 return "DoorsTrunk";
836 }
837
838 return "";
839 }
840
842 {
843 return false;
844 }
845
847 {
848 return false;
849 }
850
852 {
853 switch (currentSeat)
854 {
855 case 0:
856 return nextSeat == 1;
857
858 case 1:
859 return nextSeat == 0;
860
861 case 2:
862 return nextSeat == 3;
863
864 case 3:
865 return nextSeat == 2;
866 }
867
868 return false;
869 }
870
872 {
873 switch (pCurrentSeat)
874 {
875 case 0:
876 return pDoorsSelection == "DoorsDriver";
877
878 case 1:
879 return pDoorsSelection == "DoorsCoDriver";
880
881 case 2:
882 return pDoorsSelection == "DoorsCargo1";
883
884 case 3:
885 return pDoorsSelection == "DoorsCargo2";
886 }
887
888 return false;
889 }
890
892 {
893 SpawnUniversalParts();
894 SpawnAdditionalItems();
895 FillUpCarFluids();
896
897 GetInventory().CreateInInventory("CivSedanWheel");
898 GetInventory().CreateInInventory("CivSedanWheel");
899 GetInventory().CreateInInventory("CivSedanWheel");
900 GetInventory().CreateInInventory("CivSedanWheel");
901
902 GetInventory().CreateInInventory("CivSedanDoors_Driver");
903 GetInventory().CreateInInventory("CivSedanDoors_CoDriver");
904 GetInventory().CreateInInventory("CivSedanDoors_BackLeft");
905 GetInventory().CreateInInventory("CivSedanDoors_BackRight");
906 GetInventory().CreateInInventory("CivSedanHood");
907 GetInventory().CreateInInventory("CivSedanTrunk");
908
909
910 GetInventory().CreateInInventory("CivSedanWheel");
911 GetInventory().CreateInInventory("CivSedanWheel");
912 }
913
915 {
916 return 1.5;
917 }
918}
919
921{
923 {
924 SpawnUniversalParts();
925 SpawnAdditionalItems();
926 FillUpCarFluids();
927
928 GetInventory().CreateInInventory("CivSedanWheel");
929 GetInventory().CreateInInventory("CivSedanWheel");
930 GetInventory().CreateInInventory("CivSedanWheel");
931 GetInventory().CreateInInventory("CivSedanWheel");
932
933 GetInventory().CreateInInventory("CivSedanDoors_Driver_Wine");
934 GetInventory().CreateInInventory("CivSedanDoors_CoDriver_Wine");
935 GetInventory().CreateInInventory("CivSedanDoors_BackLeft_Wine");
936 GetInventory().CreateInInventory("CivSedanDoors_BackRight_Wine");
937 GetInventory().CreateInInventory("CivSedanHood_Wine");
938 GetInventory().CreateInInventory("CivSedanTrunk_Wine");
939
940
941 GetInventory().CreateInInventory("CivSedanWheel");
942 GetInventory().CreateInInventory("CivSedanWheel");
943 }
944}
945
947{
949 {
950 SpawnUniversalParts();
951 SpawnAdditionalItems();
952 FillUpCarFluids();
953
954 GetInventory().CreateInInventory("CivSedanWheel");
955 GetInventory().CreateInInventory("CivSedanWheel");
956 GetInventory().CreateInInventory("CivSedanWheel");
957 GetInventory().CreateInInventory("CivSedanWheel");
958
959 GetInventory().CreateInInventory("CivSedanDoors_Driver_Black");
960 GetInventory().CreateInInventory("CivSedanDoors_CoDriver_Black");
961 GetInventory().CreateInInventory("CivSedanDoors_BackLeft_Black");
962 GetInventory().CreateInInventory("CivSedanDoors_BackRight_Black");
963 GetInventory().CreateInInventory("CivSedanHood_Black");
964 GetInventory().CreateInInventory("CivSedanTrunk_Black");
965
966
967 GetInventory().CreateInInventory("CivSedanWheel");
968 GetInventory().CreateInInventory("CivSedanWheel");
969 }
970}
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.