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

◆ GetDoorInvSlotNameFromSeatPos()

override string OnDebugSpawn::GetDoorInvSlotNameFromSeatPos ( int posIdx)
protected

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

731{
735
736 void Sedan_02()
737 {
738 m_dmgContactCoef = 0.0790;
739
740 m_EngineStartOK = "Sedan_02_engine_start_SoundSet";
741 m_EngineStartBattery = "Sedan_02_engine_failed_start_battery_SoundSet";
742 m_EngineStartPlug = "Sedan_02_engine_failed_start_sparkplugs_SoundSet";
743 m_EngineStartFuel = "Sedan_02_engine_failed_start_fuel_SoundSet";
744 m_EngineStop = "Sedan_02_engine_stop_SoundSet";
745 m_EngineStopFuel = "Sedan_02_engine_stop_fuel_SoundSet";
746
747 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
748 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
749
750 m_CarHornShortSoundName = "Sedan_02_Horn_Short_SoundSet";
751 m_CarHornLongSoundName = "Sedan_02_Horn_SoundSet";
752
753 SetEnginePos("0 0.7 -1.7");
754 }
755
756 void ~Sedan_02()
757 {
758 m_UTSource = null;
759 m_UTSSettings = null;
760 m_UTSLEngine = null;
761 }
762
763 override void EEInit()
764 {
765 super.EEInit();
766
767 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
768 {
770 m_UTSSettings.m_ManualUpdate = true;
772 m_UTSSettings.m_TemperatureCap = 0;
773 m_UTSSettings.m_RangeFull = 0.5;
774 m_UTSSettings.m_RangeMax = 2;
775
778 }
779 }
780
781 override void OnEngineStart()
782 {
783 super.OnEngineStart();
784
785 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
786 {
787 if (m_UTSource)
788 m_UTSource.SetDefferedActive(true, 20.0);
789 }
790 }
791
792 override void OnEngineStop()
793 {
794 super.OnEngineStop();
795
796 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
797 {
798 if (m_UTSource)
799 m_UTSource.SetDefferedActive(false, 10.0);
800 }
801 }
802
803 override void EOnPostSimulate(IEntity other, float timeSlice)
804 {
805 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
806 {
807 if (m_UTSource && m_UTSource.IsActive())
808 {
810 }
811 }
812 }
813
814 override int GetAnimInstance()
815 {
816 return VehicleAnimInstances.S120;
817 }
818
819 override int GetSeatAnimationType(int posIdx)
820 {
821 switch (posIdx)
822 {
823 case 0:
824 return DayZPlayerConstants.VEHICLESEAT_DRIVER;
825 case 1:
826 return DayZPlayerConstants.VEHICLESEAT_CODRIVER;
827 case 2:
828 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_L;
829 case 3:
830 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_R;
831 }
832
833 return 0;
834 }
835
836 // Override for car-specific light type
838 {
839 return CarLightBase.Cast(ScriptedLightBase.CreateLight(Sedan_02FrontLight));
840 }
841
842 // Override for car-specific light type
844 {
845 return CarRearLightBase.Cast(ScriptedLightBase.CreateLight(Sedan_02RearLight));
846 }
847
848 override bool CanReleaseAttachment( EntityAI attachment )
849 {
850 if (!super.CanReleaseAttachment(attachment))
851 {
852 return false;
853 }
854
855 string attType = attachment.GetType();
856 switch (attType)
857 {
858 case "CarBattery":
859 if (GetCarDoorsState("Sedan_02_Trunk") == CarDoorState.DOORS_CLOSED || EngineIsOn())
860 {
861 return false;
862 }
863 break;
864
865 case "SparkPlug":
866 if (GetCarDoorsState("Sedan_02_Trunk") == CarDoorState.DOORS_CLOSED || EngineIsOn())
867 {
868 return false;
869 }
870 break;
871
872 case "CarRadiator":
873 if (GetCarDoorsState("Sedan_02_Hood") == CarDoorState.DOORS_CLOSED || EngineIsOn())
874 {
875 return false;
876 }
877 break;
878 }
879
880 return true;
881 }
882
883 override protected bool CanManipulateSpareWheel(string slotSelectionName)
884 {
885 return GetCarDoorsState("Sedan_02_Hood") != CarDoorState.DOORS_CLOSED;
886 }
887
888 override bool CanDisplayAttachmentCategory(string category_name)
889 {
890 if ( !super.CanDisplayAttachmentCategory(category_name))
891 {
892 return false;
893 }
894
895 category_name.ToLower();
896 if (category_name.Contains("engine"))
897 {
898 if (GetCarDoorsState("Sedan_02_Trunk") == CarDoorState.DOORS_CLOSED)
899 {
900 return false;
901 }
902 }
903
904 if (category_name.Contains("trunk"))
905 {
906 if (GetCarDoorsState("Sedan_02_Hood") == CarDoorState.DOORS_CLOSED)
907 {
908 return false;
909 }
910 }
911
912 return true;
913 }
914
915 override bool CanDisplayCargo()
916 {
917 if ( !super.CanDisplayCargo() )
918 return false;
919
920 if ( GetCarDoorsState("Sedan_02_Hood") == CarDoorState.DOORS_CLOSED )
921 return false;
922
923 return true;
924 }
925
926 override int GetCarDoorsState(string slotType)
927 {
928 CarDoor carDoor;
929
930 Class.CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
931 if (!carDoor)
932 {
933 return CarDoorState.DOORS_MISSING;
934 }
935
936 switch (slotType)
937 {
938 case "Sedan_02_Door_1_1":
939 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
940
941 case "Sedan_02_Door_2_1":
942 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
943
944 case "Sedan_02_Door_1_2":
945 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
946
947 case "Sedan_02_Door_2_2":
948 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
949
950 case "Sedan_02_Hood":
951 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
952
953 case "Sedan_02_Trunk":
954 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
955 }
956
957 return CarDoorState.DOORS_MISSING;
958 }
959
960
961 override bool CrewCanGetThrough( int posIdx )
962 {
963 switch( posIdx )
964 {
965 case 0:
966 if ( GetCarDoorsState("Sedan_02_Door_1_1") == CarDoorState.DOORS_CLOSED )
967 return false;
968
969 return true;
970 break;
971
972 case 1:
973 if ( GetCarDoorsState("Sedan_02_Door_2_1") == CarDoorState.DOORS_CLOSED )
974 return false;
975
976 return true;
977 break;
978
979 case 2:
980 if ( GetCarDoorsState("Sedan_02_Door_1_2") == CarDoorState.DOORS_CLOSED )
981 return false;
982
983 return true;
984 break;
985
986 case 3:
987 if ( GetCarDoorsState("Sedan_02_Door_2_2") == CarDoorState.DOORS_CLOSED )
988 return false;
989
990 return true;
991 break;
992 }
993
994 return false;
995 }
996
997 override string GetDoorSelectionNameFromSeatPos(int posIdx)
998 {
999 switch( posIdx )
1000 {
1001 case 0:
1002 return "doors_driver";
1003 break;
1004 case 1:
1005 return "doors_codriver";
1006 break;
1007 case 2:
1008 return "doors_cargo1";
1009 break;
1010 case 3:
1011 return "doors_cargo2";
1012 break;
1013 }
1014
1015 return super.GetDoorSelectionNameFromSeatPos(posIdx);
1016 }
1017
1018 override string GetDoorInvSlotNameFromSeatPos(int posIdx)
1019 {
1020 switch( posIdx )
1021 {
1022 case 0:
1023 return "Sedan_02_Door_1_1";
1024 break;
1025 case 1:
1026 return "Sedan_02_Door_2_1";
1027 break;
1028 case 2:
1029 return "Sedan_02_Door_1_2";
1030 break;
1031 case 3:
1032 return "Sedan_02_Door_2_2";
1033 break;
1034 }
1035
1036 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
1037 }
1038
1039 override float OnSound(CarSoundCtrl ctrl, float oldValue)
1040 {
1041 switch ( ctrl )
1042 {
1043 case CarSoundCtrl.DOORS:
1044 float newValue = 0;
1045 if (GetCarDoorsState("Sedan_02_Door_1_1") == CarDoorState.DOORS_CLOSED)
1046 {
1047 newValue += 0.25;
1048 }
1049
1050 if (GetCarDoorsState("Sedan_02_Door_2_1") == CarDoorState.DOORS_CLOSED)
1051 {
1052 newValue += 0.25;
1053 }
1054
1055 if (GetCarDoorsState("Sedan_02_Door_1_2") == CarDoorState.DOORS_CLOSED)
1056 {
1057 newValue += 0.25;
1058 }
1059
1060 if (GetCarDoorsState("Sedan_02_Door_2_2") == CarDoorState.DOORS_CLOSED)
1061 {
1062 newValue += 0.25;
1063 }
1064
1065 return Math.Clamp(newValue, 0, 1);
1066 break;
1067 }
1068
1069 return super.OnSound(ctrl, oldValue);
1070 }
1071
1072 override string GetAnimSourceFromSelection( string selection )
1073 {
1074 switch( selection )
1075 {
1076 case "doors_driver":
1077 return "DoorsDriver";
1078 case "doors_codriver":
1079 return "DoorsCoDriver";
1080 case "doors_cargo1":
1081 return "DoorsCargo1";
1082 case "doors_cargo2":
1083 return "DoorsCargo2";
1084 case "doors_hood":
1085 return "DoorsHood";
1086 case "doors_trunk":
1087 return "DoorsTrunk";
1088 }
1089
1090 return "";
1091 }
1092
1093
1094 override bool IsVitalTruckBattery()
1095 {
1096 return false;
1097 }
1098
1099 override bool IsVitalGlowPlug()
1100 {
1101 return false;
1102 }
1103
1104 override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
1105 {
1106 switch (currentSeat)
1107 {
1108 case 0:
1109 return nextSeat == 1;
1110
1111 case 1:
1112 return nextSeat == 0;
1113
1114 case 2:
1115 return nextSeat == 3;
1116
1117 case 3:
1118 return nextSeat == 2;
1119 }
1120
1121 return false;
1122 }
1123
1124 override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
1125 {
1126 switch (pCurrentSeat)
1127 {
1128 case 0:
1129 return pDoorsSelection == "DoorsDriver";
1130
1131 case 1:
1132 return pDoorsSelection == "DoorsCoDriver";
1133
1134 case 2:
1135 return pDoorsSelection == "DoorsCargo1";
1136
1137 case 3:
1138 return pDoorsSelection == "DoorsCargo2";
1139 }
1140
1141 return false;
1142 }
1143
1144 override void OnDebugSpawn()
1145 {
1146 SpawnUniversalParts();
1147 SpawnAdditionalItems();
1148 FillUpCarFluids();
1149
1150 GameInventory inventory = GetInventory();
1151 inventory.CreateInInventory("Sedan_02_Wheel");
1152 inventory.CreateInInventory("Sedan_02_Wheel");
1153 inventory.CreateInInventory("Sedan_02_Wheel");
1154 inventory.CreateInInventory("Sedan_02_Wheel");
1155 inventory.CreateInInventory("Sedan_02_Wheel");
1156
1157 inventory.CreateInInventory("Sedan_02_Door_1_1");
1158 inventory.CreateInInventory("Sedan_02_Door_1_2");
1159 inventory.CreateInInventory("Sedan_02_Door_2_1");
1160 inventory.CreateInInventory("Sedan_02_Door_2_2");
1161 inventory.CreateInInventory("Sedan_02_Hood");
1162 inventory.CreateInInventory("Sedan_02_Trunk");
1163
1164 //-----IN CAR CARGO
1165 inventory.CreateInInventory("Sedan_02_Wheel");
1166 inventory.CreateInInventory("Sedan_02_Wheel");
1167 }
1168}
1169
1170class Sedan_02_Red extends Sedan_02
1171{
1172 override void OnDebugSpawn()
1173 {
1174 SpawnUniversalParts();
1175 SpawnAdditionalItems();
1176 FillUpCarFluids();
1177
1178 GameInventory inventory = GetInventory();
1179 inventory.CreateInInventory("Sedan_02_Wheel");
1180 inventory.CreateInInventory("Sedan_02_Wheel");
1181 inventory.CreateInInventory("Sedan_02_Wheel");
1182 inventory.CreateInInventory("Sedan_02_Wheel");
1183
1184 inventory.CreateInInventory("Sedan_02_Door_1_1_Red");
1185 inventory.CreateInInventory("Sedan_02_Door_1_2_Red");
1186 inventory.CreateInInventory("Sedan_02_Door_2_1_Red");
1187 inventory.CreateInInventory("Sedan_02_Door_2_2_Red");
1188 inventory.CreateInInventory("Sedan_02_Hood_Red");
1189 inventory.CreateInInventory("Sedan_02_Trunk_Red");
1190
1191 //-----IN CAR CARGO
1192 inventory.CreateInInventory("Sedan_02_Wheel");
1193 inventory.CreateInInventory("Sedan_02_Wheel");
1194 }
1195}
1196
1197class Sedan_02_Grey extends Sedan_02
1198{
1199 override void OnDebugSpawn()
1200 {
1201 SpawnUniversalParts();
1202 SpawnAdditionalItems();
1203 FillUpCarFluids();
1204
1205 GameInventory inventory = GetInventory();
1206 inventory.CreateInInventory("Sedan_02_Wheel");
1207 inventory.CreateInInventory("Sedan_02_Wheel");
1208 inventory.CreateInInventory("Sedan_02_Wheel");
1209 inventory.CreateInInventory("Sedan_02_Wheel");
1210
1211 inventory.CreateInInventory("Sedan_02_Door_1_1_Grey");
1212 inventory.CreateInInventory("Sedan_02_Door_1_2_Grey");
1213 inventory.CreateInInventory("Sedan_02_Door_2_1_Grey");
1214 inventory.CreateInInventory("Sedan_02_Door_2_2_Grey");
1215 inventory.CreateInInventory("Sedan_02_Hood_Grey");
1216 inventory.CreateInInventory("Sedan_02_Trunk_Grey");
1217
1218 //-----IN CAR CARGO
1219 inventory.CreateInInventory("Sedan_02_Wheel");
1220 inventory.CreateInInventory("Sedan_02_Wheel");
1221 }
1222}
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
override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
Определения Sedan_02.c:816
class Sedan_02 extends CarScript OnDebugSpawn()
Определения Sedan_02.c:443
override string GetAnimSourceFromSelection(string selection)
Определения Sedan_02.c:784
override int GetSeatAnimationType(int posIdx)
Определения Sedan_02.c:531
override float OnSound(CarSoundCtrl ctrl, float oldValue)
Определения Sedan_02.c:751
void ~Sedan_02()
Определения Sedan_02.c:468
override string GetDoorInvSlotNameFromSeatPos(int posIdx)
Определения Sedan_02.c:730
override void EOnPostSimulate(IEntity other, float timeSlice)
Определения Sedan_02.c:515
override void OnEngineStop()
Определения Sedan_02.c:504
override void EEInit()
Определения Sedan_02.c:475
override bool CanReleaseAttachment(EntityAI attachment)
Определения Sedan_02.c:560
override bool CanDisplayCargo()
Определения Sedan_02.c:627
override void OnEngineStart()
Определения Sedan_02.c:493
override CarLightBase CreateFrontLight()
Определения Sedan_02.c:549
override int GetAnimInstance()
Определения Sedan_02.c:526
override bool CrewCanGetThrough(int posIdx)
Определения Sedan_02.c:673
override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
Определения Sedan_02.c:836
bool CanManipulateSpareWheel(string slotSelectionName)
Определения Sedan_02.c:595
override bool IsVitalGlowPlug()
Определения Sedan_02.c:811
void Sedan_02()
Определения Sedan_02.c:448
override CarRearLightBase CreateRearLight()
Определения Sedan_02.c:555
override bool IsVitalTruckBattery()
Определения Sedan_02.c:806
override string GetDoorSelectionNameFromSeatPos(int posIdx)
Определения Sedan_02.c:709
override int GetCarDoorsState(string slotType)
Определения Sedan_02.c:638
override bool CanDisplayAttachmentCategory(string category_name)
Определения Sedan_02.c:600
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
Определения EnEntity.c:165
Определения EnMath.c:7
override void OnDebugSpawn()
Определения Sedan_02.c:470
Определения Sedan_02.c:469
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.