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

◆ GetDoorSelectionNameFromSeatPos()

override string OnDebugSpawn::GetDoorSelectionNameFromSeatPos ( int posIdx)
protected

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

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