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

◆ GetAnimSourceFromSelection()

override string OnDebugSpawn::GetAnimSourceFromSelection ( string selection)
protected

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

713{
717
718 void Hatchback_02()
719 {
720 //m_dmgContactCoef = 0.070;
721
722 m_EngineStartOK = "Hatchback_02_engine_start_SoundSet";
723 m_EngineStartBattery = "Hatchback_02_engine_failed_start_battery_SoundSet";
724 m_EngineStartPlug = "Hatchback_02_engine_failed_start_sparkplugs_SoundSet";
725 m_EngineStartFuel = "Hatchback_02_engine_failed_start_fuel_SoundSet";
726 m_EngineStopFuel = "offroad_engine_stop_fuel_SoundSet";
727
728 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
729 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
730
731 m_CarHornShortSoundName = "Hatchback_02_Horn_Short_SoundSet";
732 m_CarHornLongSoundName = "Hatchback_02_Horn_SoundSet";
733
734 SetEnginePos("0 0.7 1.4");
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.GOLF;
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 CarRearLightBase.Cast(ScriptedLightBase.CreateLight(Hatchback_02RearLight));
812 }
813
814 // Override for car-specific light type
816 {
817 return CarLightBase.Cast(ScriptedLightBase.CreateLight(Hatchback_02FrontLight));
818 }
819
820 override bool CanReleaseAttachment(EntityAI attachment)
821 {
822 if (!super.CanReleaseAttachment(attachment))
823 {
824 return false;
825 }
826
827 if (EngineIsOn() || GetCarDoorsState("Hatchback_02_Hood") == CarDoorState.DOORS_CLOSED)
828 {
829 string attType = attachment.GetType();
830 if (attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
831 {
832 return false;
833 }
834 }
835
836 return true;
837 }
838
839 override protected bool CanManipulateSpareWheel(string slotSelectionName)
840 {
841 return GetCarDoorsState("Hatchback_02_Trunk") != CarDoorState.DOORS_CLOSED;
842 }
843
844 override bool CanDisplayAttachmentCategory( string category_name )
845 {
846 //super
847 if ( !super.CanDisplayAttachmentCategory( category_name ) )
848 return false;
849 //
850
851 category_name.ToLower();
852 if ( category_name.Contains("engine") )
853 {
854 if ( GetCarDoorsState("Hatchback_02_Hood") == CarDoorState.DOORS_CLOSED )
855 return false;
856 }
857
858 return true;
859 }
860
861 override bool CanDisplayCargo()
862 {
863 if ( !super.CanDisplayCargo() )
864 return false;
865
866 if ( GetCarDoorsState("Hatchback_02_Trunk") == CarDoorState.DOORS_CLOSED )
867 return false;
868
869 return true;
870 }
871
872 override int GetCarDoorsState(string slotType)
873 {
874 CarDoor carDoor;
875
876 Class.CastTo(carDoor, FindAttachmentBySlotName(slotType));
877 if (!carDoor)
878 {
879 return CarDoorState.DOORS_MISSING;
880 }
881
882 switch (slotType)
883 {
884 case "Hatchback_02_Door_1_1":
885 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
886
887 case "Hatchback_02_Door_2_1":
888 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
889
890 case "Hatchback_02_Door_1_2":
891 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
892
893 case "Hatchback_02_Door_2_2":
894 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
895
896 case "Hatchback_02_Hood":
897 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
898
899 case "Hatchback_02_Trunk":
900 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
901 }
902
903 return CarDoorState.DOORS_MISSING;
904 }
905
906
907 override bool CrewCanGetThrough(int posIdx)
908 {
909 switch (posIdx)
910 {
911 case 0:
912 if (GetCarDoorsState("Hatchback_02_Door_1_1") == CarDoorState.DOORS_CLOSED)
913 {
914 return false;
915 }
916
917 return true;
918
919 case 1:
920 if (GetCarDoorsState("Hatchback_02_Door_2_1") == CarDoorState.DOORS_CLOSED)
921 {
922 return false;
923 }
924
925 return true;
926
927 case 2:
928 if (GetCarDoorsState("Hatchback_02_Door_1_2") == CarDoorState.DOORS_CLOSED)
929 {
930 return false;
931 }
932
933 return true;
934
935 case 3:
936 if (GetCarDoorsState("Hatchback_02_Door_2_2") == CarDoorState.DOORS_CLOSED)
937 {
938 return false;
939 }
940
941 return true;
942 }
943
944 return false;
945 }
946
947 override string GetDoorSelectionNameFromSeatPos(int posIdx)
948 {
949 switch( posIdx )
950 {
951 case 0:
952 return "doors_driver";
953 break;
954 case 1:
955 return "doors_codriver";
956 break;
957 case 2:
958 return "doors_cargo1";
959 break;
960 case 3:
961 return "doors_cargo2";
962 break;
963 }
964
965 return super.GetDoorSelectionNameFromSeatPos(posIdx);
966 }
967
968 override string GetDoorInvSlotNameFromSeatPos(int posIdx)
969 {
970 switch( posIdx )
971 {
972 case 0:
973 return "Hatchback_02_Door_1_1";
974 break;
975 case 1:
976 return "Hatchback_02_Door_2_1";
977 break;
978 case 2:
979 return "Hatchback_02_Door_1_2";
980 break;
981 case 3:
982 return "Hatchback_02_Door_2_2";
983 break;
984 }
985
986 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
987 }
988
989 override float OnSound(CarSoundCtrl ctrl, float oldValue)
990 {
991 switch (ctrl)
992 {
993 case CarSoundCtrl.DOORS:
994 float newValue = 0;
995 if (GetCarDoorsState("Hatchback_02_Door_1_1") == CarDoorState.DOORS_CLOSED)
996 {
997 newValue += 0.25;
998 }
999
1000 if (GetCarDoorsState("Hatchback_02_Door_2_1") == CarDoorState.DOORS_CLOSED)
1001 {
1002 newValue += 0.25;
1003 }
1004
1005 if (GetCarDoorsState("Hatchback_02_Door_1_2") == CarDoorState.DOORS_CLOSED)
1006 {
1007 newValue += 0.25;
1008 }
1009
1010 if (GetCarDoorsState("Hatchback_02_Door_2_2") == CarDoorState.DOORS_CLOSED)
1011 {
1012 newValue += 0.25;
1013 }
1014
1015 return Math.Clamp(newValue, 0, 1);
1016 break;
1017 }
1018
1019 return super.OnSound(ctrl, oldValue);
1020 }
1021
1022 override string GetAnimSourceFromSelection( string selection )
1023 {
1024 switch( selection )
1025 {
1026 case "doors_driver":
1027 return "DoorsDriver";
1028 case "doors_codriver":
1029 return "DoorsCoDriver";
1030 case "doors_cargo1":
1031 return "DoorsCargo1";
1032 case "doors_cargo2":
1033 return "DoorsCargo2";
1034 case "doors_hood":
1035 return "DoorsHood";
1036 case "doors_trunk":
1037 return "DoorsTrunk";
1038 }
1039
1040 return "";
1041 }
1042
1043
1044 override bool IsVitalTruckBattery()
1045 {
1046 return false;
1047 }
1048
1049 override bool IsVitalGlowPlug()
1050 {
1051 return false;
1052 }
1053
1054 override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
1055 {
1056 switch (currentSeat)
1057 {
1058 case 0:
1059 return nextSeat == 1;
1060 case 1:
1061 return nextSeat == 0;
1062 case 2:
1063 return nextSeat == 3;
1064 case 3:
1065 return nextSeat == 2;
1066 }
1067
1068 return false;
1069 }
1070
1071 override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
1072 {
1073 switch (pCurrentSeat)
1074 {
1075 case 0:
1076 return pDoorsSelection == "DoorsDriver";
1077 case 1:
1078 return pDoorsSelection == "DoorsCoDriver";
1079 case 2:
1080 return pDoorsSelection == "DoorsCargo1";
1081 case 3:
1082 return pDoorsSelection == "DoorsCargo2";
1083 }
1084
1085 return false;
1086 }
1087
1088 override void OnDebugSpawn()
1089 {
1093
1094 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1095 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1096 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1097 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1098
1099 GetInventory().CreateInInventory("Hatchback_02_Door_1_1");
1100 GetInventory().CreateInInventory("Hatchback_02_Door_1_2");
1101 GetInventory().CreateInInventory("Hatchback_02_Door_2_1");
1102 GetInventory().CreateInInventory("Hatchback_02_Door_2_2");
1103 GetInventory().CreateInInventory("Hatchback_02_Hood");
1104 GetInventory().CreateInInventory("Hatchback_02_Trunk");
1105
1106 //-----IN CAR CARGO
1107 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1108 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1109 }
1110}
1111
1112class Hatchback_02_Black extends Hatchback_02
1113{
1114 override void OnDebugSpawn()
1115 {
1119
1120 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1121 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1122 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1123 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1124
1125 GetInventory().CreateInInventory("Hatchback_02_Door_1_1_Black");
1126 GetInventory().CreateInInventory("Hatchback_02_Door_1_2_Black");
1127 GetInventory().CreateInInventory("Hatchback_02_Door_2_1_Black");
1128 GetInventory().CreateInInventory("Hatchback_02_Door_2_2_Black");
1129 GetInventory().CreateInInventory("Hatchback_02_Hood_Black");
1130 GetInventory().CreateInInventory("Hatchback_02_Trunk_Black");
1131
1132 //-----IN CAR CARGO
1133 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1134 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1135 }
1136};
1137
1138class Hatchback_02_Blue extends Hatchback_02
1139{
1140 override void OnDebugSpawn()
1141 {
1145
1146 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1147 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1148 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1149 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1150
1151 GetInventory().CreateInInventory("Hatchback_02_Door_1_1_Blue");
1152 GetInventory().CreateInInventory("Hatchback_02_Door_1_2_Blue");
1153 GetInventory().CreateInInventory("Hatchback_02_Door_2_1_Blue");
1154 GetInventory().CreateInInventory("Hatchback_02_Door_2_2_Blue");
1155 GetInventory().CreateInInventory("Hatchback_02_Hood_Blue");
1156 GetInventory().CreateInInventory("Hatchback_02_Trunk_Blue");
1157
1158 //-----IN CAR CARGO
1159 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1160 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1161 }
1162}
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
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
class Hatchback_02_Blue extends Hatchback_02 OnDebugSpawn
Определения Hatchback_02.c:403
override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
Определения Hatchback_02.c:744
override string GetAnimSourceFromSelection(string selection)
Определения Hatchback_02.c:712
override int GetSeatAnimationType(int posIdx)
Определения Hatchback_02.c:481
override float OnSound(CarSoundCtrl ctrl, float oldValue)
Определения Hatchback_02.c:679
void Hatchback_02()
Определения Hatchback_02.c:408
override string GetDoorInvSlotNameFromSeatPos(int posIdx)
Определения Hatchback_02.c:658
override void EOnPostSimulate(IEntity other, float timeSlice)
Определения Hatchback_02.c:465
override void OnEngineStop()
Определения Hatchback_02.c:455
override void EEInit()
Определения Hatchback_02.c:427
override bool CanReleaseAttachment(EntityAI attachment)
Определения Hatchback_02.c:510
override bool CanDisplayCargo()
Определения Hatchback_02.c:551
override void OnEngineStart()
Определения Hatchback_02.c:445
override CarLightBase CreateFrontLight()
Определения Hatchback_02.c:505
override int GetAnimInstance()
Определения Hatchback_02.c:476
override bool CrewCanGetThrough(int posIdx)
Определения Hatchback_02.c:597
override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
Определения Hatchback_02.c:761
bool CanManipulateSpareWheel(string slotSelectionName)
Определения Hatchback_02.c:529
override bool IsVitalGlowPlug()
Определения Hatchback_02.c:739
override CarRearLightBase CreateRearLight()
Определения Hatchback_02.c:499
override bool IsVitalTruckBattery()
Определения Hatchback_02.c:734
override string GetDoorSelectionNameFromSeatPos(int posIdx)
Определения Hatchback_02.c:637
override int GetCarDoorsState(string slotType)
Определения Hatchback_02.c:562
override bool CanDisplayAttachmentCategory(string category_name)
Определения Hatchback_02.c:534
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
override void OnDebugSpawn()
Определения Hatchback_02.c:429
Определения Hatchback_02.c:428
Определения EnEntity.c:165
Определения EnMath.c:7
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.