513{
517
519 {
520
521
522 m_EngineStartOK = "CivilianSedan_engine_start_SoundSet";
523 m_EngineStartBattery = "CivilianSedan_engine_failed_start_battery_SoundSet";
524 m_EngineStartPlug = "CivilianSedan_engine_failed_start_sparkplugs_SoundSet";
525 m_EngineStartFuel = "CivilianSedan_engine_failed_start_fuel_SoundSet";
526 m_EngineStop = "CivilianSedan_engine_stop_SoundSet";
527 m_EngineStopFuel = "CivilianSedan_engine_stop_fuel_SoundSet";
528
529 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
530 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
531
532 m_CarHornShortSoundName = "CivilianSedan_Horn_Short_SoundSet";
533 m_CarHornLongSoundName = "CivilianSedan_Horn_SoundSet";
534
535 SetEnginePos("0 0.7 1.6");
536 }
537
539 {
543 }
544
546 {
547 super.EEInit();
548
550 {
557
560 }
561 }
562
564 {
565 super.OnEngineStart();
566
568 {
571 }
572 }
573
575 {
576 super.OnEngineStop();
577
579 {
582 }
583 }
584
586 {
588 {
590 {
592 }
593 }
594 }
595
597 {
599 }
600
602 {
603 return 4.5;
604 }
605
607 {
608 switch (posIdx)
609 {
610 case 0:
612 case 1:
614 case 2:
616 case 3:
618 }
619
620 return 0;
621 }
622
623
625 {
627 }
628
629
631 {
633 }
634
636 {
637 if( !super.CanReleaseAttachment( attachment ) )
638 return false;
639
640 string attType = attachment.GetType();
641
643 {
644 if ( attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
645 return false;
646 }
647
648 return true;
649 }
650
652 {
654 }
655
657 {
658
659 if (!super.CanDisplayAttachmentCategory(category_name))
660 return false;
661
662
664 if (category_name.
Contains(
"engine"))
665 {
667 return false;
668 }
669
670 return true;
671 }
672
674 {
675 if ( !super.CanDisplayCargo() )
676 return false;
677
679 return false;
680
681 return true;
682 }
683
685 {
687
688 Class.
CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
689 if (!carDoor)
690 {
692 }
693
694 switch (slotType)
695 {
696 case "CivSedanDriverDoors":
697 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
698 break;
699
700 case "CivSedanCoDriverDoors":
701 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
702 break;
703
704 case "CivSedanCargo1Doors":
705 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
706 break;
707
708 case "CivSedanCargo2Doors":
709 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
710 break;
711
712 case "CivSedanTrunk":
713 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
714 break;
715
716 case "CivSedanHood":
717 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
718 break;
719 }
720
722 }
723
724
726 {
727 switch( posIdx )
728 {
729 case 0:
731 return false;
732
733 return true;
734 break;
735
736 case 1:
738 return false;
739
740 return true;
741 break;
742
743 case 2:
745 return false;
746
747 return true;
748 break;
749
750 case 3:
752 return false;
753
754 return true;
755 break;
756 }
757
758 return false;
759 }
760
762 {
763 switch( posIdx )
764 {
765 case 0:
766 return "doors_driver";
767 break;
768 case 1:
769 return "doors_codriver";
770 break;
771 case 2:
772 return "doors_cargo1";
773 break;
774 case 3:
775 return "doors_cargo2";
776 break;
777 }
778
779 return super.GetDoorSelectionNameFromSeatPos(posIdx);
780 }
781
783 {
784 switch( posIdx )
785 {
786 case 0:
787 return "CivSedanDriverDoors";
788 break;
789 case 1:
790 return "CivSedanCoDriverDoors";
791 break;
792 case 2:
793 return "CivSedanCargo1Doors";
794 break;
795 case 3:
796 return "CivSedanCargo2Doors";
797 break;
798 }
799
800 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
801 }
802
803
804
806 {
807 switch (ctrl)
808 {
810 float newValue = 0;
812 {
813 newValue += 0.25;
814 }
815
817 {
818 newValue += 0.25;
819 }
820
822 {
823 newValue += 0.25;
824 }
825
827 {
828 newValue += 0.25;
829 }
830
832 {
833 newValue -= 0.6;
834 }
835
837 {
838 newValue -= 0.6;
839 }
840
842 break;
843 }
844
845 return super.OnSound(ctrl, oldValue);
846 }
847
849 {
850 switch (selection)
851 {
852 case "doors_driver":
853 return "DoorsDriver";
854 case "doors_codriver":
855 return "DoorsCoDriver";
856 case "doors_cargo1":
857 return "DoorsCargo1";
858 case "doors_cargo2":
859 return "DoorsCargo2";
860 case "doors_hood":
861 return "DoorsHood";
862 case "doors_trunk":
863 return "DoorsTrunk";
864 }
865
866 return "";
867 }
868
870 {
871 return false;
872 }
873
875 {
876 return false;
877 }
878
880 {
881 switch (currentSeat)
882 {
883 case 0:
884 return nextSeat == 1;
885
886 case 1:
887 return nextSeat == 0;
888
889 case 2:
890 return nextSeat == 3;
891
892 case 3:
893 return nextSeat == 2;
894 }
895
896 return false;
897 }
898
900 {
901 switch (pCurrentSeat)
902 {
903 case 0:
904 return pDoorsSelection == "DoorsDriver";
905
906 case 1:
907 return pDoorsSelection == "DoorsCoDriver";
908
909 case 2:
910 return pDoorsSelection == "DoorsCargo1";
911
912 case 3:
913 return pDoorsSelection == "DoorsCargo2";
914 }
915
916 return false;
917 }
918
920 {
921 SpawnUniversalParts();
922 SpawnAdditionalItems();
923 FillUpCarFluids();
924
930
937
938
941 }
942
944 {
945 return 1.5;
946 }
947}
948
950{
952 {
953 SpawnUniversalParts();
954 SpawnAdditionalItems();
955 FillUpCarFluids();
956
957 GameInventory inventory = GetInventory();
962
969
970
973 }
974}
975
977{
979 {
980 SpawnUniversalParts();
981 SpawnAdditionalItems();
982 FillUpCarFluids();
983
984 GameInventory inventory = GetInventory();
989
996
997
1000 }
1001}
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.