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

◆ GetDoorSelectionNameFromSeatPos()

override string OnDebugSpawn::GetDoorSelectionNameFromSeatPos ( int posIdx)
protected

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

715{
719
720 void OffroadHatchback()
721 {
722 //m_dmgContactCoef = 0.075;
723
724 m_EngineStartOK = "offroad_engine_start_SoundSet";
725 m_EngineStartBattery = "offroad_engine_failed_start_battery_SoundSet";
726 m_EngineStartPlug = "offroad_engine_failed_start_sparkplugs_SoundSet";
727 m_EngineStartFuel = "offroad_engine_failed_start_fuel_SoundSet";
728 m_EngineStop = "offroad_engine_stop_SoundSet";
729 m_EngineStopFuel = "offroad_engine_stop_fuel_SoundSet";
730
731 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
732 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
733 m_CarSeatShiftInSound = "Offroad_SeatShiftIn_SoundSet";
734 m_CarSeatShiftOutSound = "Offroad_SeatShiftOut_SoundSet";
735
736 m_CarHornShortSoundName = "Offroad_Horn_Short_SoundSet";
737 m_CarHornLongSoundName = "Offroad_Horn_SoundSet";
738
739 SetEnginePos("0 0.7 1.2");
740 }
741
742 override void EEInit()
743 {
744 super.EEInit();
745
746 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
747 {
749 m_UTSSettings.m_ManualUpdate = true;
751 m_UTSSettings.m_TemperatureCap = 0;
752 m_UTSSettings.m_RangeFull = 0.5;
753 m_UTSSettings.m_RangeMax = 2;
754
757 }
758 }
759
760 override void OnEngineStart()
761 {
762 super.OnEngineStart();
763
764 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
765 {
766 m_UTSource.SetDefferedActive(true, 20.0);
767 }
768 }
769
770 override void OnEngineStop()
771 {
772 super.OnEngineStop();
773
774 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
775 {
776 m_UTSource.SetDefferedActive(false, 10.0);
777 }
778 }
779
780 override void EOnPostSimulate(IEntity other, float timeSlice)
781 {
782 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
783 {
784 if (m_UTSource.IsActive())
785 {
787 }
788 }
789 }
790
791 override int GetAnimInstance()
792 {
793 return VehicleAnimInstances.HATCHBACK;
794 }
795
796 override float GetTransportCameraDistance()
797 {
798 return 3.5;
799 }
800
801 override int GetSeatAnimationType( int posIdx )
802 {
803 switch (posIdx)
804 {
805 case 0:
806 return DayZPlayerConstants.VEHICLESEAT_DRIVER;
807 case 1:
808 return DayZPlayerConstants.VEHICLESEAT_CODRIVER;
809 case 2:
810 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_L;
811 case 3:
812 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_R;
813 }
814
815 return 0;
816
817 }
818
819
821 {
822 return CarRearLightBase.Cast( ScriptedLightBase.CreateLight(OffroadHatchbackRearLight) );
823 }
824
826 {
827 return CarLightBase.Cast( ScriptedLightBase.CreateLight(OffroadHatchbackFrontLight) );
828 }
829
830 override bool CanReleaseAttachment(EntityAI attachment)
831 {
832 if (!super.CanReleaseAttachment(attachment))
833 {
834 return false;
835 }
836
837 if (EngineIsOn() || GetCarDoorsState("NivaHood") == CarDoorState.DOORS_CLOSED)
838 {
839 string attType = attachment.GetType();
840 if (attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
841 {
842 return false;
843 }
844 }
845
846 return true;
847 }
848
849 override protected bool CanManipulateSpareWheel(string slotSelectionName)
850 {
851 return GetCarDoorsState("NivaHood") != CarDoorState.DOORS_CLOSED;
852 }
853
854 override bool CanDisplayAttachmentCategory( string category_name )
855 {
856 if (!super.CanDisplayAttachmentCategory(category_name))
857 {
858 return false;
859 }
860
861 category_name.ToLower();
862 if (category_name.Contains("engine"))
863 {
864 if (GetCarDoorsState("NivaHood") == CarDoorState.DOORS_CLOSED)
865 {
866 return false;
867 }
868 }
869
870 return true;
871 }
872
873 override bool CanDisplayCargo()
874 {
875 if (!super.CanDisplayCargo())
876 {
877 return false;
878 }
879
880 if (GetCarDoorsState("NivaTrunk") == CarDoorState.DOORS_CLOSED)
881 {
882 return false;
883 }
884
885 return true;
886 }
887
888 override int GetCarDoorsState(string slotType)
889 {
890 CarDoor carDoor;
891
892 Class.CastTo(carDoor, FindAttachmentBySlotName(slotType));
893 if (!carDoor)
894 {
895 return CarDoorState.DOORS_MISSING;
896 }
897
898 switch (slotType)
899 {
900 case "NivaDriverDoors":
901 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
902
903 case "NivaCoDriverDoors":
904 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
905
906 case "NivaHood":
907 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
908
909 case "NivaTrunk":
910 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
911 }
912
913 return CarDoorState.DOORS_MISSING;
914 }
915
916 override bool CrewCanGetThrough(int posIdx)
917 {
918 CarDoor carDoor;
919 switch (posIdx)
920 {
921 case 0:
922 if (GetCarDoorsState("NivaDriverDoors") == CarDoorState.DOORS_CLOSED)
923 return false;
924 else if (GetAnimationPhase("SeatDriver") > 0.5)
925 return false;
926
927 return true;
928
929 case 1:
930 if (GetCarDoorsState("NivaCoDriverDoors") == CarDoorState.DOORS_CLOSED)
931 return false;
932 else if (GetAnimationPhase("SeatCoDriver") > 0.5)
933 return false;
934
935 return true;
936
937 case 2:
938 if (GetCarDoorsState("NivaDriverDoors") == CarDoorState.DOORS_CLOSED)
939 return false;
940 else if (GetAnimationPhase("SeatDriver") <= 0.5)
941 return false;
942
943 return true;
944
945 case 3:
946 if (GetCarDoorsState("NivaCoDriverDoors") == CarDoorState.DOORS_CLOSED)
947 return false;
948 else if (GetAnimationPhase("SeatCoDriver") <= 0.5)
949 return false;
950
951 return true;
952 }
953
954 return false;
955 }
956
957 override string GetDoorSelectionNameFromSeatPos(int posIdx)
958 {
959 switch (posIdx)
960 {
961 case 0:
962 case 2:
963 return "doors_driver";
964 case 1:
965 case 3:
966 return "doors_codriver";
967 }
968
969 return super.GetDoorSelectionNameFromSeatPos(posIdx);
970 }
971
972 override string GetDoorInvSlotNameFromSeatPos(int posIdx)
973 {
974 switch (posIdx)
975 {
976 case 0:
977 case 2:
978 return "NivaDriverDoors";
979 case 1:
980 case 3:
981 return "NivaCoDriverDoors";
982 }
983
984 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
985 }
986
987 // 0 full ambient and engine sound
988 // 1 zero ambient and engine sound
989 override float OnSound(CarSoundCtrl ctrl, float oldValue)
990 {
991 float tempCap = 0.0;
992
993 switch (ctrl)
994 {
995 case CarSoundCtrl.DOORS:
996 float newValue = 0;
997 if (GetCarDoorsState("NivaDriverDoors") == CarDoorState.DOORS_CLOSED)
998 {
999 newValue += 0.5;
1000 }
1001
1002 if (GetCarDoorsState("NivaCoDriverDoors") == CarDoorState.DOORS_CLOSED)
1003 {
1004 newValue += 0.5;
1005 }
1006
1007 if (GetCarDoorsState("NivaTrunk") == CarDoorState.DOORS_CLOSED)
1008 {
1009 newValue += 0.3;
1010 }
1011
1012 if (GetHealthLevel("WindowFront") == GameConstants.STATE_RUINED)
1013 {
1014 newValue -= 0.6;
1015 }
1016
1017 if (GetHealthLevel("WindowLR") == GameConstants.STATE_RUINED)
1018 {
1019 newValue -= 0.2;
1020 }
1021
1022 if (GetHealthLevel("WindowRR") == GameConstants.STATE_RUINED)
1023 {
1024 newValue -= 0.2;
1025 }
1026
1027 return Math.Clamp(newValue, 0, 1);
1028 break;
1029 }
1030
1031 return super.OnSound(ctrl, oldValue);
1032 }
1033
1034 override string GetAnimSourceFromSelection( string selection )
1035 {
1036 switch (selection)
1037 {
1038 case "doors_driver":
1039 return "DoorsDriver";
1040 case "doors_codriver":
1041 return "DoorsCoDriver";
1042 case "doors_hood":
1043 return "DoorsHood";
1044 case "doors_trunk":
1045 return "DoorsTrunk";
1046 case "seatback_driver":
1047 return "SeatDriver";
1048 case "seatback_codriver":
1049 return "SeatCoDriver";
1050 }
1051
1052 return "";
1053 }
1054
1055 override string GetDoorConditionPointFromSelection(string selection)
1056 {
1057 switch (selection)
1058 {
1059 case "seat_driver":
1060 case "seatback_driver":
1061 case "seat_cargo1":
1062 return "seat_con_1_1";
1063 case "seat_codriver":
1064 case "seatback_codriver":
1065 case "seat_cargo2":
1066 return "seat_con_2_1";
1067 }
1068
1069 return "";
1070 }
1071
1072 override int GetCrewIndex(string selection)
1073 {
1074 switch (selection)
1075 {
1076 case "seatback_driver":
1077 return 0;
1078 case "seatback_codriver":
1079 return 1;
1080 }
1081
1082 return -1;
1083 }
1084
1085 override bool IsVitalTruckBattery()
1086 {
1087 return false;
1088 }
1089
1090 override bool IsVitalGlowPlug()
1091 {
1092 return false;
1093 }
1094
1095 override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
1096 {
1097 if (nextSeat == 0 && GetAnimationPhase("SeatDriver") > 0.5)
1098 return false;
1099
1100 if (nextSeat == 1 && GetAnimationPhase("SeatCoDriver") > 0.5)
1101 return false;
1102
1103 switch (currentSeat)
1104 {
1105 case 0:
1106 return nextSeat == 1;
1107
1108 case 1:
1109 return nextSeat == 0;
1110
1111 case 2:
1112 return nextSeat == 3;
1113
1114 case 3:
1115 return nextSeat == 2;
1116 }
1117
1118 return false;
1119 }
1120
1121 override bool CanReachDoorsFromSeat( string pDoorsSelection, int pCurrentSeat )
1122 {
1123 switch (pCurrentSeat)
1124 {
1125 case 0:
1126 return pDoorsSelection == "DoorsDriver";
1127
1128 case 1:
1129 return pDoorsSelection == "DoorsCoDriver";
1130
1131 case 2:
1132 return pDoorsSelection == "DoorsDriver";
1133
1134 case 3:
1135 return pDoorsSelection == "DoorsCoDriver";
1136 }
1137
1138 return false;
1139 }
1140
1141 override int GetSeatIndexFromDoor( string pDoorSelection )
1142 {
1143 switch (pDoorSelection)
1144 {
1145 case "DoorsDriver":
1146 return 0;
1147 case "DoorsCoDriver":
1148 return 1;
1149 }
1150
1151 return -1;
1152 }
1153
1154 override void SetActions()
1155 {
1156 super.SetActions();
1157
1159 }
1160
1161 override void OnDebugSpawn()
1162 {
1163 SpawnUniversalParts();
1164 SpawnAdditionalItems();
1165 FillUpCarFluids();
1166
1167 GetInventory().CreateInInventory("HatchbackWheel");
1168 GetInventory().CreateInInventory("HatchbackWheel");
1169 GetInventory().CreateInInventory("HatchbackWheel" );
1170 GetInventory().CreateInInventory("HatchbackWheel");
1171
1172 GetInventory().CreateInInventory("HatchbackDoors_Driver");
1173 GetInventory().CreateInInventory("HatchbackDoors_CoDriver");
1174 GetInventory().CreateInInventory("HatchbackHood");
1175 GetInventory().CreateInInventory("HatchbackTrunk");
1176
1177 //-----IN CAR CARGO
1178 GetInventory().CreateInInventory("HatchbackWheel");
1179 GetInventory().CreateInInventory("HatchbackWheel");
1180 }
1181}
1182
1183class OffroadHatchback_White extends OffroadHatchback
1184{
1185 override void OnDebugSpawn()
1186 {
1187 SpawnUniversalParts();
1188 SpawnAdditionalItems();
1189 FillUpCarFluids();
1190
1191 GetInventory().CreateInInventory("HatchbackWheel");
1192 GetInventory().CreateInInventory("HatchbackWheel");
1193 GetInventory().CreateInInventory("HatchbackWheel");
1194 GetInventory().CreateInInventory("HatchbackWheel");
1195
1196 GetInventory().CreateInInventory("HatchbackDoors_Driver_White");
1197 GetInventory().CreateInInventory("HatchbackDoors_CoDriver_White");
1198 GetInventory().CreateInInventory("HatchbackHood_White");
1199 GetInventory().CreateInInventory("HatchbackTrunk_White");
1200
1201 //-----IN CAR CARGO
1202 GetInventory().CreateInInventory("HatchbackWheel");
1203 GetInventory().CreateInInventory("HatchbackWheel");
1204 }
1205}
1206
1207class OffroadHatchback_Blue extends OffroadHatchback
1208{
1209 override void OnDebugSpawn()
1210 {
1211 SpawnUniversalParts();
1212 SpawnAdditionalItems();
1213 FillUpCarFluids();
1214
1215 GetInventory().CreateInInventory("HatchbackWheel");
1216 GetInventory().CreateInInventory("HatchbackWheel");
1217 GetInventory().CreateInInventory("HatchbackWheel");
1218 GetInventory().CreateInInventory("HatchbackWheel");
1219
1220 GetInventory().CreateInInventory("HatchbackDoors_Driver_Blue");
1221 GetInventory().CreateInInventory("HatchbackDoors_CoDriver_Blue");
1222 GetInventory().CreateInInventory("HatchbackHood_Blue");
1223 GetInventory().CreateInInventory("HatchbackTrunk_Blue");
1224
1225 //-----IN CAR CARGO
1226 GetInventory().CreateInInventory("HatchbackWheel");
1227 GetInventory().CreateInInventory("HatchbackWheel");
1228 }
1229}
void AddAction(typename actionName)
Определения AdvancedCommunication.c:220
CarSoundCtrl
Car's sound controller list. (native, do not change or extend)
Определения Car.c:4
CarDoorState
Определения CarScript.c:2
ref UniversalTemperatureSourceLambdaEngine m_UTSLEngine
Определения CivilianSedan.c:433
ref UniversalTemperatureSourceSettings m_UTSSettings
Определения FireplaceBase.c:220
ref UniversalTemperatureSource m_UTSource
Определения FireplaceBase.c:219
override void SetActions()
Определения OffroadHatchback.c:911
override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
Определения OffroadHatchback.c:852
override string GetAnimSourceFromSelection(string selection)
Определения OffroadHatchback.c:791
override int GetSeatAnimationType(int posIdx)
Определения OffroadHatchback.c:558
override string GetDoorConditionPointFromSelection(string selection)
Определения OffroadHatchback.c:812
override float OnSound(CarSoundCtrl ctrl, float oldValue)
Определения OffroadHatchback.c:746
override string GetDoorInvSlotNameFromSeatPos(int posIdx)
Определения OffroadHatchback.c:729
override void EOnPostSimulate(IEntity other, float timeSlice)
Определения OffroadHatchback.c:537
override void OnEngineStop()
Определения OffroadHatchback.c:527
override float GetTransportCameraDistance()
Определения OffroadHatchback.c:553
override void EEInit()
Определения OffroadHatchback.c:499
override bool CanReleaseAttachment(EntityAI attachment)
Определения OffroadHatchback.c:587
override bool CanDisplayCargo()
Определения OffroadHatchback.c:630
override void OnEngineStart()
Определения OffroadHatchback.c:517
override CarLightBase CreateFrontLight()
Определения OffroadHatchback.c:582
override int GetAnimInstance()
Определения OffroadHatchback.c:548
override bool CrewCanGetThrough(int posIdx)
Определения OffroadHatchback.c:673
override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
Определения OffroadHatchback.c:878
bool CanManipulateSpareWheel(string slotSelectionName)
Определения OffroadHatchback.c:606
override bool IsVitalGlowPlug()
Определения OffroadHatchback.c:847
override CarRearLightBase CreateRearLight()
Определения OffroadHatchback.c:577
class OffroadHatchback extends CarScript OnDebugSpawn()
Определения OffroadHatchback.c:472
override int GetSeatIndexFromDoor(string pDoorSelection)
Определения OffroadHatchback.c:898
void OffroadHatchback()
Определения OffroadHatchback.c:477
override bool IsVitalTruckBattery()
Определения OffroadHatchback.c:842
override string GetDoorSelectionNameFromSeatPos(int posIdx)
Определения OffroadHatchback.c:714
override int GetCarDoorsState(string slotType)
Определения OffroadHatchback.c:645
override int GetCrewIndex(string selection)
Определения OffroadHatchback.c:829
override bool CanDisplayAttachmentCategory(string category_name)
Определения OffroadHatchback.c:611
UniversalTemperatureSourceLambdaBaseImpl UniversalTemperatureSourceLambdaBase UniversalTemperatureSourceLambdaEngine()
VehicleAnimInstances
Определения VehicleAnimInstances.c:2
Определения CarRearLightBase.c:2
Super root of all classes in Enforce script.
Определения EnScript.c:11
Определения EnEntity.c:165
Определения EnMath.c:7
override void OnDebugSpawn()
Определения OffroadHatchback.c:496
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
Определения 3_Game/constants.c:808
const int STATE_RUINED
Определения 3_Game/constants.c:848
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.