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

◆ GetDoorSelectionNameFromSeatPos()

override string OnDebugSpawn::GetDoorSelectionNameFromSeatPos ( int posIdx)
protected

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

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