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

◆ GetDoorInvSlotNameFromSeatPos()

override string OnDebugSpawn::GetDoorInvSlotNameFromSeatPos ( int posIdx)
protected

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

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