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

◆ CanReachSeatFromSeat()

override bool OnDebugSpawn::CanReachSeatFromSeat ( int currentSeat,
int nextSeat )
protected

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

745{
749
750 void Hatchback_02()
751 {
752 //m_dmgContactCoef = 0.070;
753
754 m_EngineStartOK = "Hatchback_02_engine_start_SoundSet";
755 m_EngineStartBattery = "Hatchback_02_engine_failed_start_battery_SoundSet";
756 m_EngineStartPlug = "Hatchback_02_engine_failed_start_sparkplugs_SoundSet";
757 m_EngineStartFuel = "Hatchback_02_engine_failed_start_fuel_SoundSet";
758 m_EngineStopFuel = "offroad_engine_stop_fuel_SoundSet";
759
760 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
761 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
762
763 m_CarHornShortSoundName = "Hatchback_02_Horn_Short_SoundSet";
764 m_CarHornLongSoundName = "Hatchback_02_Horn_SoundSet";
765
766 SetEnginePos("0 0.7 1.4");
767 }
768
769 override void EEInit()
770 {
771 super.EEInit();
772
773 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
774 {
776 m_UTSSettings.m_ManualUpdate = true;
778 m_UTSSettings.m_TemperatureCap = 0;
779 m_UTSSettings.m_RangeFull = 0.5;
780 m_UTSSettings.m_RangeMax = 2;
781
784 }
785 }
786
787 override void OnEngineStart()
788 {
789 super.OnEngineStart();
790
791 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
792 {
793 m_UTSource.SetDefferedActive(true, 20.0);
794 }
795 }
796
797 override void OnEngineStop()
798 {
799 super.OnEngineStop();
800
801 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
802 {
803 m_UTSource.SetDefferedActive(false, 10.0);
804 }
805 }
806
807 override void EOnPostSimulate(IEntity other, float timeSlice)
808 {
809 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
810 {
811 if (m_UTSource.IsActive())
812 {
814 }
815 }
816 }
817
818 override int GetAnimInstance()
819 {
820 return VehicleAnimInstances.GOLF;
821 }
822
823 override int GetSeatAnimationType(int posIdx)
824 {
825 switch (posIdx)
826 {
827 case 0:
828 return DayZPlayerConstants.VEHICLESEAT_DRIVER;
829 case 1:
830 return DayZPlayerConstants.VEHICLESEAT_CODRIVER;
831 case 2:
832 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_L;
833 case 3:
834 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_R;
835 }
836
837 return 0;
838 }
839
840 // Override for car-specific light type
842 {
843 return CarRearLightBase.Cast(ScriptedLightBase.CreateLight(Hatchback_02RearLight));
844 }
845
846 // Override for car-specific light type
848 {
849 return CarLightBase.Cast(ScriptedLightBase.CreateLight(Hatchback_02FrontLight));
850 }
851
852 override bool CanReleaseAttachment(EntityAI attachment)
853 {
854 if (!super.CanReleaseAttachment(attachment))
855 {
856 return false;
857 }
858
859 if (EngineIsOn() || GetCarDoorsState("Hatchback_02_Hood") == CarDoorState.DOORS_CLOSED)
860 {
861 string attType = attachment.GetType();
862 if (attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
863 {
864 return false;
865 }
866 }
867
868 return true;
869 }
870
871 override protected bool CanManipulateSpareWheel(string slotSelectionName)
872 {
873 return GetCarDoorsState("Hatchback_02_Trunk") != CarDoorState.DOORS_CLOSED;
874 }
875
876 override bool CanDisplayAttachmentCategory( string category_name )
877 {
878 //super
879 if ( !super.CanDisplayAttachmentCategory( category_name ) )
880 return false;
881 //
882
883 category_name.ToLower();
884 if ( category_name.Contains("engine") )
885 {
886 if ( GetCarDoorsState("Hatchback_02_Hood") == CarDoorState.DOORS_CLOSED )
887 return false;
888 }
889
890 return true;
891 }
892
893 override bool CanDisplayCargo()
894 {
895 if ( !super.CanDisplayCargo() )
896 return false;
897
898 if ( GetCarDoorsState("Hatchback_02_Trunk") == CarDoorState.DOORS_CLOSED )
899 return false;
900
901 return true;
902 }
903
904 override int GetCarDoorsState(string slotType)
905 {
906 CarDoor carDoor;
907
908 Class.CastTo(carDoor, FindAttachmentBySlotName(slotType));
909 if (!carDoor)
910 {
911 return CarDoorState.DOORS_MISSING;
912 }
913
914 switch (slotType)
915 {
916 case "Hatchback_02_Door_1_1":
917 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
918
919 case "Hatchback_02_Door_2_1":
920 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
921
922 case "Hatchback_02_Door_1_2":
923 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
924
925 case "Hatchback_02_Door_2_2":
926 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
927
928 case "Hatchback_02_Hood":
929 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
930
931 case "Hatchback_02_Trunk":
932 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
933 }
934
935 return CarDoorState.DOORS_MISSING;
936 }
937
938
939 override bool CrewCanGetThrough(int posIdx)
940 {
941 switch (posIdx)
942 {
943 case 0:
944 if (GetCarDoorsState("Hatchback_02_Door_1_1") == CarDoorState.DOORS_CLOSED)
945 {
946 return false;
947 }
948
949 return true;
950
951 case 1:
952 if (GetCarDoorsState("Hatchback_02_Door_2_1") == CarDoorState.DOORS_CLOSED)
953 {
954 return false;
955 }
956
957 return true;
958
959 case 2:
960 if (GetCarDoorsState("Hatchback_02_Door_1_2") == CarDoorState.DOORS_CLOSED)
961 {
962 return false;
963 }
964
965 return true;
966
967 case 3:
968 if (GetCarDoorsState("Hatchback_02_Door_2_2") == CarDoorState.DOORS_CLOSED)
969 {
970 return false;
971 }
972
973 return true;
974 }
975
976 return false;
977 }
978
979 override string GetDoorSelectionNameFromSeatPos(int posIdx)
980 {
981 switch( posIdx )
982 {
983 case 0:
984 return "doors_driver";
985 break;
986 case 1:
987 return "doors_codriver";
988 break;
989 case 2:
990 return "doors_cargo1";
991 break;
992 case 3:
993 return "doors_cargo2";
994 break;
995 }
996
997 return super.GetDoorSelectionNameFromSeatPos(posIdx);
998 }
999
1000 override string GetDoorInvSlotNameFromSeatPos(int posIdx)
1001 {
1002 switch( posIdx )
1003 {
1004 case 0:
1005 return "Hatchback_02_Door_1_1";
1006 break;
1007 case 1:
1008 return "Hatchback_02_Door_2_1";
1009 break;
1010 case 2:
1011 return "Hatchback_02_Door_1_2";
1012 break;
1013 case 3:
1014 return "Hatchback_02_Door_2_2";
1015 break;
1016 }
1017
1018 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
1019 }
1020
1021 override float OnSound(CarSoundCtrl ctrl, float oldValue)
1022 {
1023 switch (ctrl)
1024 {
1025 case CarSoundCtrl.DOORS:
1026 float newValue = 0;
1027 if (GetCarDoorsState("Hatchback_02_Door_1_1") == CarDoorState.DOORS_CLOSED)
1028 {
1029 newValue += 0.25;
1030 }
1031
1032 if (GetCarDoorsState("Hatchback_02_Door_2_1") == CarDoorState.DOORS_CLOSED)
1033 {
1034 newValue += 0.25;
1035 }
1036
1037 if (GetCarDoorsState("Hatchback_02_Door_1_2") == CarDoorState.DOORS_CLOSED)
1038 {
1039 newValue += 0.25;
1040 }
1041
1042 if (GetCarDoorsState("Hatchback_02_Door_2_2") == CarDoorState.DOORS_CLOSED)
1043 {
1044 newValue += 0.25;
1045 }
1046
1047 return Math.Clamp(newValue, 0, 1);
1048 break;
1049 }
1050
1051 return super.OnSound(ctrl, oldValue);
1052 }
1053
1054 override string GetAnimSourceFromSelection( string selection )
1055 {
1056 switch( selection )
1057 {
1058 case "doors_driver":
1059 return "DoorsDriver";
1060 case "doors_codriver":
1061 return "DoorsCoDriver";
1062 case "doors_cargo1":
1063 return "DoorsCargo1";
1064 case "doors_cargo2":
1065 return "DoorsCargo2";
1066 case "doors_hood":
1067 return "DoorsHood";
1068 case "doors_trunk":
1069 return "DoorsTrunk";
1070 }
1071
1072 return "";
1073 }
1074
1075
1076 override bool IsVitalTruckBattery()
1077 {
1078 return false;
1079 }
1080
1081 override bool IsVitalGlowPlug()
1082 {
1083 return false;
1084 }
1085
1086 override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
1087 {
1088 switch (currentSeat)
1089 {
1090 case 0:
1091 return nextSeat == 1;
1092 case 1:
1093 return nextSeat == 0;
1094 case 2:
1095 return nextSeat == 3;
1096 case 3:
1097 return nextSeat == 2;
1098 }
1099
1100 return false;
1101 }
1102
1103 override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
1104 {
1105 switch (pCurrentSeat)
1106 {
1107 case 0:
1108 return pDoorsSelection == "DoorsDriver";
1109 case 1:
1110 return pDoorsSelection == "DoorsCoDriver";
1111 case 2:
1112 return pDoorsSelection == "DoorsCargo1";
1113 case 3:
1114 return pDoorsSelection == "DoorsCargo2";
1115 }
1116
1117 return false;
1118 }
1119
1120 override void OnDebugSpawn()
1121 {
1125
1126 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1127 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1128 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1129 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1130
1131 GetInventory().CreateInInventory("Hatchback_02_Door_1_1");
1132 GetInventory().CreateInInventory("Hatchback_02_Door_1_2");
1133 GetInventory().CreateInInventory("Hatchback_02_Door_2_1");
1134 GetInventory().CreateInInventory("Hatchback_02_Door_2_2");
1135 GetInventory().CreateInInventory("Hatchback_02_Hood");
1136 GetInventory().CreateInInventory("Hatchback_02_Trunk");
1137
1138 //-----IN CAR CARGO
1139 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1140 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1141 }
1142}
1143
1144class Hatchback_02_Black extends Hatchback_02
1145{
1146 override void OnDebugSpawn()
1147 {
1151
1152 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1153 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1154 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1155 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1156
1157 GetInventory().CreateInInventory("Hatchback_02_Door_1_1_Black");
1158 GetInventory().CreateInInventory("Hatchback_02_Door_1_2_Black");
1159 GetInventory().CreateInInventory("Hatchback_02_Door_2_1_Black");
1160 GetInventory().CreateInInventory("Hatchback_02_Door_2_2_Black");
1161 GetInventory().CreateInInventory("Hatchback_02_Hood_Black");
1162 GetInventory().CreateInInventory("Hatchback_02_Trunk_Black");
1163
1164 //-----IN CAR CARGO
1165 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1166 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1167 }
1168};
1169
1170class Hatchback_02_Blue extends Hatchback_02
1171{
1172 override void OnDebugSpawn()
1173 {
1177
1178 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1179 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1180 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1181 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1182
1183 GetInventory().CreateInInventory("Hatchback_02_Door_1_1_Blue");
1184 GetInventory().CreateInInventory("Hatchback_02_Door_1_2_Blue");
1185 GetInventory().CreateInInventory("Hatchback_02_Door_2_1_Blue");
1186 GetInventory().CreateInInventory("Hatchback_02_Door_2_2_Blue");
1187 GetInventory().CreateInInventory("Hatchback_02_Hood_Blue");
1188 GetInventory().CreateInInventory("Hatchback_02_Trunk_Blue");
1189
1190 //-----IN CAR CARGO
1191 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1192 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1193 }
1194}
CarSoundCtrl
Car's sound controller list. (native, do not change or extend)
Определения Car.c:4
void SpawnUniversalParts()
Определения CarScript.c:2801
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_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
class Hatchback_02_Blue extends Hatchback_02 OnDebugSpawn
Определения Hatchback_02.c:403
override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
Определения Hatchback_02.c:744
override string GetAnimSourceFromSelection(string selection)
Определения Hatchback_02.c:712
override int GetSeatAnimationType(int posIdx)
Определения Hatchback_02.c:481
override float OnSound(CarSoundCtrl ctrl, float oldValue)
Определения Hatchback_02.c:679
void Hatchback_02()
Определения Hatchback_02.c:408
override string GetDoorInvSlotNameFromSeatPos(int posIdx)
Определения Hatchback_02.c:658
override void EOnPostSimulate(IEntity other, float timeSlice)
Определения Hatchback_02.c:465
override void OnEngineStop()
Определения Hatchback_02.c:455
override void EEInit()
Определения Hatchback_02.c:427
override bool CanReleaseAttachment(EntityAI attachment)
Определения Hatchback_02.c:510
override bool CanDisplayCargo()
Определения Hatchback_02.c:551
override void OnEngineStart()
Определения Hatchback_02.c:445
override CarLightBase CreateFrontLight()
Определения Hatchback_02.c:505
override int GetAnimInstance()
Определения Hatchback_02.c:476
override bool CrewCanGetThrough(int posIdx)
Определения Hatchback_02.c:597
override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
Определения Hatchback_02.c:761
bool CanManipulateSpareWheel(string slotSelectionName)
Определения Hatchback_02.c:529
override bool IsVitalGlowPlug()
Определения Hatchback_02.c:739
override CarRearLightBase CreateRearLight()
Определения Hatchback_02.c:499
override bool IsVitalTruckBattery()
Определения Hatchback_02.c:734
override string GetDoorSelectionNameFromSeatPos(int posIdx)
Определения Hatchback_02.c:637
override int GetCarDoorsState(string slotType)
Определения Hatchback_02.c:562
override bool CanDisplayAttachmentCategory(string category_name)
Определения Hatchback_02.c:534
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
override void OnDebugSpawn()
Определения Hatchback_02.c:429
Определения Hatchback_02.c:428
Определения EnEntity.c:165
Определения EnMath.c:7
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
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.