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