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

◆ GetDoorInvSlotNameFromSeatPos()

override string OnDebugSpawn::GetDoorInvSlotNameFromSeatPos ( int posIdx)
protected

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

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