DayZ 1.27
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено

◆ GetCarDoorsState()

override int OnDebugSpawn::GetCarDoorsState ( string slotType)
protected

См. определение в файле OffroadHatchback.c строка 643

644{
648
649 void OffroadHatchback()
650 {
651 //m_dmgContactCoef = 0.075;
652
653 m_EngineStartOK = "offroad_engine_start_SoundSet";
654 m_EngineStartBattery = "offroad_engine_failed_start_battery_SoundSet";
655 m_EngineStartPlug = "offroad_engine_failed_start_sparkplugs_SoundSet";
656 m_EngineStartFuel = "offroad_engine_failed_start_fuel_SoundSet";
657 m_EngineStopFuel = "offroad_engine_stop_fuel_SoundSet";
658
659 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
660 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
661 m_CarSeatShiftInSound = "Offroad_SeatShiftIn_SoundSet";
662 m_CarSeatShiftOutSound = "Offroad_SeatShiftOut_SoundSet";
663
664 m_CarHornShortSoundName = "Offroad_Horn_Short_SoundSet";
665 m_CarHornLongSoundName = "Offroad_Horn_SoundSet";
666
667 SetEnginePos("0 0.7 1.2");
668 }
669
670 override void EEInit()
671 {
672 super.EEInit();
673
674 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
675 {
677 m_UTSSettings.m_ManualUpdate = true;
679 m_UTSSettings.m_TemperatureCap = 0;
680 m_UTSSettings.m_RangeFull = 0.5;
681 m_UTSSettings.m_RangeMax = 2;
682
685 }
686 }
687
688 override void OnEngineStart()
689 {
690 super.OnEngineStart();
691
692 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
693 {
694 m_UTSource.SetDefferedActive(true, 20.0);
695 }
696 }
697
698 override void OnEngineStop()
699 {
700 super.OnEngineStop();
701
702 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
703 {
704 m_UTSource.SetDefferedActive(false, 10.0);
705 }
706 }
707
708 override void EOnPostSimulate(IEntity other, float timeSlice)
709 {
710 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
711 {
712 if (m_UTSource.IsActive())
713 {
715 }
716 }
717 }
718
719 override int GetAnimInstance()
720 {
721 return VehicleAnimInstances.HATCHBACK;
722 }
723
724 override float GetTransportCameraDistance()
725 {
726 return 3.5;
727 }
728
729 override int GetSeatAnimationType( int posIdx )
730 {
731 switch (posIdx)
732 {
733 case 0:
734 return DayZPlayerConstants.VEHICLESEAT_DRIVER;
735 case 1:
736 return DayZPlayerConstants.VEHICLESEAT_CODRIVER;
737 case 2:
738 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_L;
739 case 3:
740 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_R;
741 }
742
743 return 0;
744
745 }
746
747
749 {
750 return CarRearLightBase.Cast( ScriptedLightBase.CreateLight(OffroadHatchbackRearLight) );
751 }
752
754 {
755 return CarLightBase.Cast( ScriptedLightBase.CreateLight(OffroadHatchbackFrontLight) );
756 }
757
758 override bool CanReleaseAttachment(EntityAI attachment)
759 {
760 if (!super.CanReleaseAttachment(attachment))
761 {
762 return false;
763 }
764
765 if (EngineIsOn() || GetCarDoorsState("NivaHood") == CarDoorState.DOORS_CLOSED)
766 {
767 string attType = attachment.GetType();
768 if (attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
769 {
770 return false;
771 }
772 }
773
774 return true;
775 }
776
777 override protected bool CanManipulateSpareWheel(string slotSelectionName)
778 {
779 return GetCarDoorsState("NivaHood") != CarDoorState.DOORS_CLOSED;
780 }
781
782 override bool CanDisplayAttachmentCategory( string category_name )
783 {
784 if (!super.CanDisplayAttachmentCategory(category_name))
785 {
786 return false;
787 }
788
789 category_name.ToLower();
790 if (category_name.Contains("engine"))
791 {
792 if (GetCarDoorsState("NivaHood") == CarDoorState.DOORS_CLOSED)
793 {
794 return false;
795 }
796 }
797
798 return true;
799 }
800
801 override bool CanDisplayCargo()
802 {
803 if (!super.CanDisplayCargo())
804 {
805 return false;
806 }
807
808 if (GetCarDoorsState("NivaTrunk") == CarDoorState.DOORS_CLOSED)
809 {
810 return false;
811 }
812
813 return true;
814 }
815
816 override int GetCarDoorsState(string slotType)
817 {
818 CarDoor carDoor;
819
820 Class.CastTo(carDoor, FindAttachmentBySlotName(slotType));
821 if (!carDoor)
822 {
823 return CarDoorState.DOORS_MISSING;
824 }
825
826 switch (slotType)
827 {
828 case "NivaDriverDoors":
829 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
830
831 case "NivaCoDriverDoors":
832 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
833
834 case "NivaHood":
835 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
836
837 case "NivaTrunk":
838 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
839 }
840
841 return CarDoorState.DOORS_MISSING;
842 }
843
844 override bool CrewCanGetThrough(int posIdx)
845 {
846 CarDoor carDoor;
847 switch (posIdx)
848 {
849 case 0:
850 if (GetCarDoorsState("NivaDriverDoors") == CarDoorState.DOORS_CLOSED)
851 return false;
852 else if (GetAnimationPhase("SeatDriver") > 0.5)
853 return false;
854
855 return true;
856
857 case 1:
858 if (GetCarDoorsState("NivaCoDriverDoors") == CarDoorState.DOORS_CLOSED)
859 return false;
860 else if (GetAnimationPhase("SeatCoDriver") > 0.5)
861 return false;
862
863 return true;
864
865 case 2:
866 if (GetCarDoorsState("NivaDriverDoors") == CarDoorState.DOORS_CLOSED)
867 return false;
868 else if (GetAnimationPhase("SeatDriver") <= 0.5)
869 return false;
870
871 return true;
872
873 case 3:
874 if (GetCarDoorsState("NivaCoDriverDoors") == CarDoorState.DOORS_CLOSED)
875 return false;
876 else if (GetAnimationPhase("SeatCoDriver") <= 0.5)
877 return false;
878
879 return true;
880 }
881
882 return false;
883 }
884
885 override string GetDoorSelectionNameFromSeatPos(int posIdx)
886 {
887 switch (posIdx)
888 {
889 case 0:
890 case 2:
891 return "doors_driver";
892 case 1:
893 case 3:
894 return "doors_codriver";
895 }
896
897 return super.GetDoorSelectionNameFromSeatPos(posIdx);
898 }
899
900 override string GetDoorInvSlotNameFromSeatPos(int posIdx)
901 {
902 switch (posIdx)
903 {
904 case 0:
905 case 2:
906 return "NivaDriverDoors";
907 case 1:
908 case 3:
909 return "NivaCoDriverDoors";
910 }
911
912 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
913 }
914
915 // 0 full ambient and engine sound
916 // 1 zero ambient and engine sound
917 override float OnSound(CarSoundCtrl ctrl, float oldValue)
918 {
919 float tempCap = 0.0;
920
921 switch (ctrl)
922 {
923 case CarSoundCtrl.DOORS:
924 float newValue = 0;
925 if (GetCarDoorsState("NivaDriverDoors") == CarDoorState.DOORS_CLOSED)
926 {
927 newValue += 0.5;
928 }
929
930 if (GetCarDoorsState("NivaCoDriverDoors") == CarDoorState.DOORS_CLOSED)
931 {
932 newValue += 0.5;
933 }
934
935 if (GetCarDoorsState("NivaTrunk") == CarDoorState.DOORS_CLOSED)
936 {
937 newValue += 0.3;
938 }
939
940 if (GetHealthLevel("WindowFront") == GameConstants.STATE_RUINED)
941 {
942 newValue -= 0.6;
943 }
944
945 if (GetHealthLevel("WindowLR") == GameConstants.STATE_RUINED)
946 {
947 newValue -= 0.2;
948 }
949
950 if (GetHealthLevel("WindowRR") == GameConstants.STATE_RUINED)
951 {
952 newValue -= 0.2;
953 }
954
955 return Math.Clamp(newValue, 0, 1);
956 break;
957 }
958
959 return super.OnSound(ctrl, oldValue);
960 }
961
962 override string GetAnimSourceFromSelection( string selection )
963 {
964 switch (selection)
965 {
966 case "doors_driver":
967 return "DoorsDriver";
968 case "doors_codriver":
969 return "DoorsCoDriver";
970 case "doors_hood":
971 return "DoorsHood";
972 case "doors_trunk":
973 return "DoorsTrunk";
974 case "seatback_driver":
975 return "SeatDriver";
976 case "seatback_codriver":
977 return "SeatCoDriver";
978 }
979
980 return "";
981 }
982
983 override string GetDoorConditionPointFromSelection(string selection)
984 {
985 switch (selection)
986 {
987 case "seat_driver":
988 case "seatback_driver":
989 case "seat_cargo1":
990 return "seat_con_1_1";
991 case "seat_codriver":
992 case "seatback_codriver":
993 case "seat_cargo2":
994 return "seat_con_2_1";
995 }
996
997 return "";
998 }
999
1000 override int GetCrewIndex(string selection)
1001 {
1002 switch (selection)
1003 {
1004 case "seatback_driver":
1005 return 0;
1006 case "seatback_codriver":
1007 return 1;
1008 }
1009
1010 return -1;
1011 }
1012
1013 override bool IsVitalTruckBattery()
1014 {
1015 return false;
1016 }
1017
1018 override bool IsVitalGlowPlug()
1019 {
1020 return false;
1021 }
1022
1023 override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
1024 {
1025 if (nextSeat == 0 && GetAnimationPhase("SeatDriver") > 0.5)
1026 return false;
1027
1028 if (nextSeat == 1 && GetAnimationPhase("SeatCoDriver") > 0.5)
1029 return false;
1030
1031 switch (currentSeat)
1032 {
1033 case 0:
1034 return nextSeat == 1;
1035
1036 case 1:
1037 return nextSeat == 0;
1038
1039 case 2:
1040 return nextSeat == 3;
1041
1042 case 3:
1043 return nextSeat == 2;
1044 }
1045
1046 return false;
1047 }
1048
1049 override bool CanReachDoorsFromSeat( string pDoorsSelection, int pCurrentSeat )
1050 {
1051 switch (pCurrentSeat)
1052 {
1053 case 0:
1054 return pDoorsSelection == "DoorsDriver";
1055
1056 case 1:
1057 return pDoorsSelection == "DoorsCoDriver";
1058
1059 case 2:
1060 return pDoorsSelection == "DoorsDriver";
1061
1062 case 3:
1063 return pDoorsSelection == "DoorsCoDriver";
1064 }
1065
1066 return false;
1067 }
1068
1069 override int GetSeatIndexFromDoor( string pDoorSelection )
1070 {
1071 switch (pDoorSelection)
1072 {
1073 case "DoorsDriver":
1074 return 0;
1075 case "DoorsCoDriver":
1076 return 1;
1077 }
1078
1079 return -1;
1080 }
1081
1082 override void SetActions()
1083 {
1084 super.SetActions();
1085
1087 }
1088
1089 override void OnDebugSpawn()
1090 {
1094
1095 GetInventory().CreateInInventory("HatchbackWheel");
1096 GetInventory().CreateInInventory("HatchbackWheel");
1097 GetInventory().CreateInInventory("HatchbackWheel" );
1098 GetInventory().CreateInInventory("HatchbackWheel");
1099
1100 GetInventory().CreateInInventory("HatchbackDoors_Driver");
1101 GetInventory().CreateInInventory("HatchbackDoors_CoDriver");
1102 GetInventory().CreateInInventory("HatchbackHood");
1103 GetInventory().CreateInInventory("HatchbackTrunk");
1104
1105 //-----IN CAR CARGO
1106 GetInventory().CreateInInventory("HatchbackWheel");
1107 GetInventory().CreateInInventory("HatchbackWheel");
1108 }
1109}
1110
1111class OffroadHatchback_White extends OffroadHatchback
1112{
1113 override void OnDebugSpawn()
1114 {
1118
1119 GetInventory().CreateInInventory("HatchbackWheel");
1120 GetInventory().CreateInInventory("HatchbackWheel");
1121 GetInventory().CreateInInventory("HatchbackWheel");
1122 GetInventory().CreateInInventory("HatchbackWheel");
1123
1124 GetInventory().CreateInInventory("HatchbackDoors_Driver_White");
1125 GetInventory().CreateInInventory("HatchbackDoors_CoDriver_White");
1126 GetInventory().CreateInInventory("HatchbackHood_White");
1127 GetInventory().CreateInInventory("HatchbackTrunk_White");
1128
1129 //-----IN CAR CARGO
1130 GetInventory().CreateInInventory("HatchbackWheel");
1131 GetInventory().CreateInInventory("HatchbackWheel");
1132 }
1133}
1134
1135class OffroadHatchback_Blue extends OffroadHatchback
1136{
1137 override void OnDebugSpawn()
1138 {
1142
1143 GetInventory().CreateInInventory("HatchbackWheel");
1144 GetInventory().CreateInInventory("HatchbackWheel");
1145 GetInventory().CreateInInventory("HatchbackWheel");
1146 GetInventory().CreateInInventory("HatchbackWheel");
1147
1148 GetInventory().CreateInInventory("HatchbackDoors_Driver_Blue");
1149 GetInventory().CreateInInventory("HatchbackDoors_CoDriver_Blue");
1150 GetInventory().CreateInInventory("HatchbackHood_Blue");
1151 GetInventory().CreateInInventory("HatchbackTrunk_Blue");
1152
1153 //-----IN CAR CARGO
1154 GetInventory().CreateInInventory("HatchbackWheel");
1155 GetInventory().CreateInInventory("HatchbackWheel");
1156 }
1157}
void AddAction(typename actionName)
Определения AdvancedCommunication.c:220
CarSoundCtrl
Car's sound controller list. (native, do not change or extend)
Определения Car.c:4
void SpawnUniversalParts()
Определения CarScript.c:2801
string m_CarSeatShiftInSound
Определения CarScript.c:215
CarDoorState TranslateAnimationPhaseToCarDoorState(string animation)
Определения CarScript.c:2513
CarDoorState
Определения CarScript.c:2
void SpawnAdditionalItems()
Определения CarScript.c:2839
string m_EngineStartOK
Sounds.
Определения CarScript.c:207
string m_CarDoorCloseSound
Определения CarScript.c:214
string m_EngineStartBattery
Определения CarScript.c:208
string m_EngineStartPlug
Определения CarScript.c:209
string m_EngineStartFuel
Определения CarScript.c:210
string m_CarHornShortSoundName
Определения CarScript.c:218
void FillUpCarFluids()
Определения CarScript.c:2869
string m_CarHornLongSoundName
Определения CarScript.c:219
string m_EngineStopFuel
Определения CarScript.c:211
string m_CarSeatShiftOutSound
Определения CarScript.c:216
string m_CarDoorOpenSound
Определения CarScript.c:213
ref UniversalTemperatureSourceLambdaEngine m_UTSLEngine
Определения CivilianSedan.c:432
ref UniversalTemperatureSourceSettings m_UTSSettings
Определения FireplaceBase.c:220
ref UniversalTemperatureSource m_UTSource
Определения FireplaceBase.c:219
override void SetActions()
Определения OffroadHatchback.c:909
override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
Определения OffroadHatchback.c:850
override string GetAnimSourceFromSelection(string selection)
Определения OffroadHatchback.c:789
override int GetSeatAnimationType(int posIdx)
Определения OffroadHatchback.c:556
override string GetDoorConditionPointFromSelection(string selection)
Определения OffroadHatchback.c:810
override float OnSound(CarSoundCtrl ctrl, float oldValue)
Определения OffroadHatchback.c:744
override string GetDoorInvSlotNameFromSeatPos(int posIdx)
Определения OffroadHatchback.c:727
override void EOnPostSimulate(IEntity other, float timeSlice)
Определения OffroadHatchback.c:535
override void OnEngineStop()
Определения OffroadHatchback.c:525
override float GetTransportCameraDistance()
Определения OffroadHatchback.c:551
override void EEInit()
Определения OffroadHatchback.c:497
override bool CanReleaseAttachment(EntityAI attachment)
Определения OffroadHatchback.c:585
override bool CanDisplayCargo()
Определения OffroadHatchback.c:628
override void OnEngineStart()
Определения OffroadHatchback.c:515
override CarLightBase CreateFrontLight()
Определения OffroadHatchback.c:580
override int GetAnimInstance()
Определения OffroadHatchback.c:546
override bool CrewCanGetThrough(int posIdx)
Определения OffroadHatchback.c:671
override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
Определения OffroadHatchback.c:876
bool CanManipulateSpareWheel(string slotSelectionName)
Определения OffroadHatchback.c:604
override bool IsVitalGlowPlug()
Определения OffroadHatchback.c:845
override CarRearLightBase CreateRearLight()
Определения OffroadHatchback.c:575
class OffroadHatchback extends CarScript OnDebugSpawn()
Определения OffroadHatchback.c:471
override int GetSeatIndexFromDoor(string pDoorSelection)
Определения OffroadHatchback.c:896
void OffroadHatchback()
Определения OffroadHatchback.c:476
override bool IsVitalTruckBattery()
Определения OffroadHatchback.c:840
override string GetDoorSelectionNameFromSeatPos(int posIdx)
Определения OffroadHatchback.c:712
override int GetCarDoorsState(string slotType)
Определения OffroadHatchback.c:643
override int GetCrewIndex(string selection)
Определения OffroadHatchback.c:827
override bool CanDisplayAttachmentCategory(string category_name)
Определения OffroadHatchback.c:609
UniversalTemperatureSourceLambdaBaseImpl UniversalTemperatureSourceLambdaBase UniversalTemperatureSourceLambdaEngine()
VehicleAnimInstances
Определения VehicleAnimInstances.c:2
Определения InventoryItem.c:496
Определения CarRearLightBase.c:2
Super root of all classes in Enforce script.
Определения EnScript.c:11
Определения Building.c:6
Определения constants.c:659
Определения EnEntity.c:165
Определения EnMath.c:7
override void OnDebugSpawn()
Определения OffroadHatchback.c:495
original Timer deletes m_params which is unwanted
Определения UniversalTemperatureSource.c:38
DayZPlayerConstants
defined in C++
Определения dayzplayer.c:602
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
Определения constants.c:806
const int STATE_RUINED
Определения constants.c:846
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.
Определения EnString.c:286
proto int ToLower()
Changes string to lowercase. Returns length.

Используется в CarScript::CanDisplayAttachmentCategory(), CarScript::CanDisplayCargo(), CarScript::CanManipulateSpareWheel(), CarScript::CanReleaseAttachment(), CarScript::CrewCanGetThrough() и CarScript::OnSound().