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

◆ GetDoorSelectionNameFromSeatPos()

override string OnDebugSpawn::GetDoorSelectionNameFromSeatPos ( int posIdx)
protected

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

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