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

◆ OnSound()

override float OnDebugSpawn::OnSound ( CarSoundCtrl ctrl,
float oldValue )
protected

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

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