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

◆ CanReachSeatFromSeat()

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

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

766{
770
771 void Hatchback_02()
772 {
773 //m_dmgContactCoef = 0.070;
774
775 m_EngineStartOK = "Hatchback_02_engine_start_SoundSet";
776 m_EngineStartBattery = "Hatchback_02_engine_failed_start_battery_SoundSet";
777 m_EngineStartPlug = "Hatchback_02_engine_failed_start_sparkplugs_SoundSet";
778 m_EngineStartFuel = "Hatchback_02_engine_failed_start_fuel_SoundSet";
779 m_EngineStop = "Hatchback_02_engine_stop_SoundSet";
780 m_EngineStopFuel = "Hatchback_02_engine_stop_fuel_SoundSet";
781
782 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
783 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
784
785 m_CarHornShortSoundName = "Hatchback_02_Horn_Short_SoundSet";
786 m_CarHornLongSoundName = "Hatchback_02_Horn_SoundSet";
787
788 SetEnginePos("0 0.7 1.4");
789 }
790
791 void ~Hatchback_02()
792 {
793 m_UTSource = null;
794 m_UTSSettings = null;
795 m_UTSLEngine = null;
796 }
797
798 override void EEInit()
799 {
800 super.EEInit();
801
802 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
803 {
805 m_UTSSettings.m_ManualUpdate = true;
807 m_UTSSettings.m_TemperatureCap = 0;
808 m_UTSSettings.m_RangeFull = 0.5;
809 m_UTSSettings.m_RangeMax = 2;
810
813 }
814 }
815
816 override void OnEngineStart()
817 {
818 super.OnEngineStart();
819
820 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
821 {
822 if (m_UTSource)
823 m_UTSource.SetDefferedActive(true, 20.0);
824 }
825 }
826
827 override void OnEngineStop()
828 {
829 super.OnEngineStop();
830
831 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
832 {
833 if (m_UTSource)
834 m_UTSource.SetDefferedActive(false, 10.0);
835 }
836 }
837
838 override void EOnPostSimulate(IEntity other, float timeSlice)
839 {
840 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
841 {
842 if (m_UTSource && m_UTSource.IsActive())
843 {
845 }
846 }
847 }
848
849 override int GetAnimInstance()
850 {
851 return VehicleAnimInstances.GOLF;
852 }
853
854 override int GetSeatAnimationType(int posIdx)
855 {
856 switch (posIdx)
857 {
858 case 0:
859 return DayZPlayerConstants.VEHICLESEAT_DRIVER;
860 case 1:
861 return DayZPlayerConstants.VEHICLESEAT_CODRIVER;
862 case 2:
863 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_L;
864 case 3:
865 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_R;
866 }
867
868 return 0;
869 }
870
871 // Override for car-specific light type
873 {
874 return CarRearLightBase.Cast(ScriptedLightBase.CreateLight(Hatchback_02RearLight));
875 }
876
877 // Override for car-specific light type
879 {
880 return CarLightBase.Cast(ScriptedLightBase.CreateLight(Hatchback_02FrontLight));
881 }
882
883 override bool CanReleaseAttachment(EntityAI attachment)
884 {
885 if (!super.CanReleaseAttachment(attachment))
886 {
887 return false;
888 }
889
890 if (EngineIsOn() || GetCarDoorsState("Hatchback_02_Hood") == CarDoorState.DOORS_CLOSED)
891 {
892 string attType = attachment.GetType();
893 if (attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
894 {
895 return false;
896 }
897 }
898
899 return true;
900 }
901
902 override protected bool CanManipulateSpareWheel(string slotSelectionName)
903 {
904 return GetCarDoorsState("Hatchback_02_Trunk") != CarDoorState.DOORS_CLOSED;
905 }
906
907 override bool CanDisplayAttachmentCategory( string category_name )
908 {
909 //super
910 if ( !super.CanDisplayAttachmentCategory( category_name ) )
911 return false;
912 //
913
914 category_name.ToLower();
915 if ( category_name.Contains("engine") )
916 {
917 if ( GetCarDoorsState("Hatchback_02_Hood") == CarDoorState.DOORS_CLOSED )
918 return false;
919 }
920
921 return true;
922 }
923
924 override bool CanDisplayCargo()
925 {
926 if ( !super.CanDisplayCargo() )
927 return false;
928
929 if ( GetCarDoorsState("Hatchback_02_Trunk") == CarDoorState.DOORS_CLOSED )
930 return false;
931
932 return true;
933 }
934
935 override int GetCarDoorsState(string slotType)
936 {
937 CarDoor carDoor;
938
939 Class.CastTo(carDoor, FindAttachmentBySlotName(slotType));
940 if (!carDoor)
941 {
942 return CarDoorState.DOORS_MISSING;
943 }
944
945 switch (slotType)
946 {
947 case "Hatchback_02_Door_1_1":
948 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
949
950 case "Hatchback_02_Door_2_1":
951 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
952
953 case "Hatchback_02_Door_1_2":
954 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
955
956 case "Hatchback_02_Door_2_2":
957 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
958
959 case "Hatchback_02_Hood":
960 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
961
962 case "Hatchback_02_Trunk":
963 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
964 }
965
966 return CarDoorState.DOORS_MISSING;
967 }
968
969
970 override bool CrewCanGetThrough(int posIdx)
971 {
972 switch (posIdx)
973 {
974 case 0:
975 if (GetCarDoorsState("Hatchback_02_Door_1_1") == CarDoorState.DOORS_CLOSED)
976 {
977 return false;
978 }
979
980 return true;
981
982 case 1:
983 if (GetCarDoorsState("Hatchback_02_Door_2_1") == CarDoorState.DOORS_CLOSED)
984 {
985 return false;
986 }
987
988 return true;
989
990 case 2:
991 if (GetCarDoorsState("Hatchback_02_Door_1_2") == CarDoorState.DOORS_CLOSED)
992 {
993 return false;
994 }
995
996 return true;
997
998 case 3:
999 if (GetCarDoorsState("Hatchback_02_Door_2_2") == CarDoorState.DOORS_CLOSED)
1000 {
1001 return false;
1002 }
1003
1004 return true;
1005 }
1006
1007 return false;
1008 }
1009
1010 override string GetDoorSelectionNameFromSeatPos(int posIdx)
1011 {
1012 switch( posIdx )
1013 {
1014 case 0:
1015 return "doors_driver";
1016 break;
1017 case 1:
1018 return "doors_codriver";
1019 break;
1020 case 2:
1021 return "doors_cargo1";
1022 break;
1023 case 3:
1024 return "doors_cargo2";
1025 break;
1026 }
1027
1028 return super.GetDoorSelectionNameFromSeatPos(posIdx);
1029 }
1030
1031 override string GetDoorInvSlotNameFromSeatPos(int posIdx)
1032 {
1033 switch( posIdx )
1034 {
1035 case 0:
1036 return "Hatchback_02_Door_1_1";
1037 break;
1038 case 1:
1039 return "Hatchback_02_Door_2_1";
1040 break;
1041 case 2:
1042 return "Hatchback_02_Door_1_2";
1043 break;
1044 case 3:
1045 return "Hatchback_02_Door_2_2";
1046 break;
1047 }
1048
1049 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
1050 }
1051
1052 override float OnSound(CarSoundCtrl ctrl, float oldValue)
1053 {
1054 switch (ctrl)
1055 {
1056 case CarSoundCtrl.DOORS:
1057 float newValue = 0;
1058 if (GetCarDoorsState("Hatchback_02_Door_1_1") == CarDoorState.DOORS_CLOSED)
1059 {
1060 newValue += 0.25;
1061 }
1062
1063 if (GetCarDoorsState("Hatchback_02_Door_2_1") == CarDoorState.DOORS_CLOSED)
1064 {
1065 newValue += 0.25;
1066 }
1067
1068 if (GetCarDoorsState("Hatchback_02_Door_1_2") == CarDoorState.DOORS_CLOSED)
1069 {
1070 newValue += 0.25;
1071 }
1072
1073 if (GetCarDoorsState("Hatchback_02_Door_2_2") == CarDoorState.DOORS_CLOSED)
1074 {
1075 newValue += 0.25;
1076 }
1077
1078 return Math.Clamp(newValue, 0, 1);
1079 break;
1080 }
1081
1082 return super.OnSound(ctrl, oldValue);
1083 }
1084
1085 override string GetAnimSourceFromSelection( string selection )
1086 {
1087 switch( selection )
1088 {
1089 case "doors_driver":
1090 return "DoorsDriver";
1091 case "doors_codriver":
1092 return "DoorsCoDriver";
1093 case "doors_cargo1":
1094 return "DoorsCargo1";
1095 case "doors_cargo2":
1096 return "DoorsCargo2";
1097 case "doors_hood":
1098 return "DoorsHood";
1099 case "doors_trunk":
1100 return "DoorsTrunk";
1101 }
1102
1103 return "";
1104 }
1105
1106
1107 override bool IsVitalTruckBattery()
1108 {
1109 return false;
1110 }
1111
1112 override bool IsVitalGlowPlug()
1113 {
1114 return false;
1115 }
1116
1117 override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
1118 {
1119 switch (currentSeat)
1120 {
1121 case 0:
1122 return nextSeat == 1;
1123 case 1:
1124 return nextSeat == 0;
1125 case 2:
1126 return nextSeat == 3;
1127 case 3:
1128 return nextSeat == 2;
1129 }
1130
1131 return false;
1132 }
1133
1134 override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
1135 {
1136 switch (pCurrentSeat)
1137 {
1138 case 0:
1139 return pDoorsSelection == "DoorsDriver";
1140 case 1:
1141 return pDoorsSelection == "DoorsCoDriver";
1142 case 2:
1143 return pDoorsSelection == "DoorsCargo1";
1144 case 3:
1145 return pDoorsSelection == "DoorsCargo2";
1146 }
1147
1148 return false;
1149 }
1150
1151 override void OnDebugSpawn()
1152 {
1153 SpawnUniversalParts();
1154 SpawnAdditionalItems();
1155 FillUpCarFluids();
1156
1157 GameInventory inventory = GetInventory();
1158 inventory.CreateInInventory("Hatchback_02_Wheel");
1159 inventory.CreateInInventory("Hatchback_02_Wheel");
1160 inventory.CreateInInventory("Hatchback_02_Wheel");
1161 inventory.CreateInInventory("Hatchback_02_Wheel");
1162
1163 inventory.CreateInInventory("Hatchback_02_Door_1_1");
1164 inventory.CreateInInventory("Hatchback_02_Door_1_2");
1165 inventory.CreateInInventory("Hatchback_02_Door_2_1");
1166 inventory.CreateInInventory("Hatchback_02_Door_2_2");
1167 inventory.CreateInInventory("Hatchback_02_Hood");
1168 inventory.CreateInInventory("Hatchback_02_Trunk");
1169
1170 //-----IN CAR CARGO
1171 inventory.CreateInInventory("Hatchback_02_Wheel");
1172 inventory.CreateInInventory("Hatchback_02_Wheel");
1173 }
1174}
1175
1176class Hatchback_02_Black extends Hatchback_02
1177{
1178 override void OnDebugSpawn()
1179 {
1180 SpawnUniversalParts();
1181 SpawnAdditionalItems();
1182 FillUpCarFluids();
1183
1184 GameInventory inventory = GetInventory();
1185 inventory.CreateInInventory("Hatchback_02_Wheel");
1186 inventory.CreateInInventory("Hatchback_02_Wheel");
1187 inventory.CreateInInventory("Hatchback_02_Wheel");
1188 inventory.CreateInInventory("Hatchback_02_Wheel");
1189
1190 inventory.CreateInInventory("Hatchback_02_Door_1_1_Black");
1191 inventory.CreateInInventory("Hatchback_02_Door_1_2_Black");
1192 inventory.CreateInInventory("Hatchback_02_Door_2_1_Black");
1193 inventory.CreateInInventory("Hatchback_02_Door_2_2_Black");
1194 inventory.CreateInInventory("Hatchback_02_Hood_Black");
1195 inventory.CreateInInventory("Hatchback_02_Trunk_Black");
1196
1197 //-----IN CAR CARGO
1198 inventory.CreateInInventory("Hatchback_02_Wheel");
1199 inventory.CreateInInventory("Hatchback_02_Wheel");
1200 }
1201};
1202
1203class Hatchback_02_Blue extends Hatchback_02
1204{
1205 override void OnDebugSpawn()
1206 {
1207 SpawnUniversalParts();
1208 SpawnAdditionalItems();
1209 FillUpCarFluids();
1210
1211 GameInventory inventory = GetInventory();
1212 inventory.CreateInInventory("Hatchback_02_Wheel");
1213 inventory.CreateInInventory("Hatchback_02_Wheel");
1214 inventory.CreateInInventory("Hatchback_02_Wheel");
1215 inventory.CreateInInventory("Hatchback_02_Wheel");
1216
1217 inventory.CreateInInventory("Hatchback_02_Door_1_1_Blue");
1218 inventory.CreateInInventory("Hatchback_02_Door_1_2_Blue");
1219 inventory.CreateInInventory("Hatchback_02_Door_2_1_Blue");
1220 inventory.CreateInInventory("Hatchback_02_Door_2_2_Blue");
1221 inventory.CreateInInventory("Hatchback_02_Hood_Blue");
1222 inventory.CreateInInventory("Hatchback_02_Trunk_Blue");
1223
1224 //-----IN CAR CARGO
1225 inventory.CreateInInventory("Hatchback_02_Wheel");
1226 inventory.CreateInInventory("Hatchback_02_Wheel");
1227 }
1228}
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:443
DayZGame g_Game
Определения DayZGame.c:3942
ref UniversalTemperatureSourceSettings m_UTSSettings
Определения FireplaceBase.c:221
ref UniversalTemperatureSource m_UTSource
Определения FireplaceBase.c:220
class Hatchback_02_Blue extends Hatchback_02 OnDebugSpawn
Определения Hatchback_02.c:414
void ~Hatchback_02()
Определения Hatchback_02.c:439
override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
Определения Hatchback_02.c:765
override string GetAnimSourceFromSelection(string selection)
Определения Hatchback_02.c:733
override int GetSeatAnimationType(int posIdx)
Определения Hatchback_02.c:502
override float OnSound(CarSoundCtrl ctrl, float oldValue)
Определения Hatchback_02.c:700
void Hatchback_02()
Определения Hatchback_02.c:419
override string GetDoorInvSlotNameFromSeatPos(int posIdx)
Определения Hatchback_02.c:679
override void EOnPostSimulate(IEntity other, float timeSlice)
Определения Hatchback_02.c:486
override void OnEngineStop()
Определения Hatchback_02.c:475
override void EEInit()
Определения Hatchback_02.c:446
override bool CanReleaseAttachment(EntityAI attachment)
Определения Hatchback_02.c:531
override bool CanDisplayCargo()
Определения Hatchback_02.c:572
override void OnEngineStart()
Определения Hatchback_02.c:464
override CarLightBase CreateFrontLight()
Определения Hatchback_02.c:526
override int GetAnimInstance()
Определения Hatchback_02.c:497
override bool CrewCanGetThrough(int posIdx)
Определения Hatchback_02.c:618
override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
Определения Hatchback_02.c:782
bool CanManipulateSpareWheel(string slotSelectionName)
Определения Hatchback_02.c:550
override bool IsVitalGlowPlug()
Определения Hatchback_02.c:760
override CarRearLightBase CreateRearLight()
Определения Hatchback_02.c:520
override bool IsVitalTruckBattery()
Определения Hatchback_02.c:755
override string GetDoorSelectionNameFromSeatPos(int posIdx)
Определения Hatchback_02.c:658
override int GetCarDoorsState(string slotType)
Определения Hatchback_02.c:583
override bool CanDisplayAttachmentCategory(string category_name)
Определения Hatchback_02.c:555
UniversalTemperatureSourceLambdaBaseImpl UniversalTemperatureSourceLambdaBase UniversalTemperatureSourceLambdaEngine()
VehicleAnimInstances
Определения VehicleAnimInstances.c:2
Определения CarRearLightBase.c:2
Super root of all classes in Enforce script.
Определения EnScript.c:11
EntityAI CreateInInventory(string type)
creates entity somewhere in inventory
script counterpart to engine's class Inventory
override void OnDebugSpawn()
Определения Hatchback_02.c:441
Определения Hatchback_02.c:440
Определения EnEntity.c:165
Определения EnMath.c:7
original Timer deletes m_params which is unwanted
Определения UniversalTemperatureSource.c:39
DayZPlayerConstants
defined in C++
Определения dayzplayer.c:602
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/DayZ/constants.c:811
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.