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

◆ GetDoorInvSlotNameFromSeatPos()

override string OnDebugSpawn::GetDoorInvSlotNameFromSeatPos ( int posIdx)
protected

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

689{
693
694 void CivilianSedan()
695 {
696 //m_dmgContactCoef = 0.065;
697
698 m_EngineStartOK = "CivilianSedan_engine_start_SoundSet";
699 m_EngineStartBattery = "CivilianSedan_engine_failed_start_battery_SoundSet";
700 m_EngineStartPlug = "CivilianSedan_engine_failed_start_sparkplugs_SoundSet";
701 m_EngineStartFuel = "CivilianSedan_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 = "CivilianSedan_Horn_Short_SoundSet";
708 m_CarHornLongSoundName = "CivilianSedan_Horn_SoundSet";
709
710 SetEnginePos("0 0.7 1.6");
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.SEDAN;
765 }
766
767 override float GetTransportCameraDistance()
768 {
769 return 4.5;
770 }
771
772 override int GetSeatAnimationType(int posIdx)
773 {
774 switch (posIdx)
775 {
776 case 0:
777 return DayZPlayerConstants.VEHICLESEAT_DRIVER;
778 case 1:
779 return DayZPlayerConstants.VEHICLESEAT_CODRIVER;
780 case 2:
781 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_L;
782 case 3:
783 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_R;
784 }
785
786 return 0;
787 }
788
789 // Override for car-specific light type
791 {
792 return CarLightBase.Cast( ScriptedLightBase.CreateLight(CivilianSedanFrontLight) );
793 }
794
795 // Override for car-specific light type
797 {
798 return CarRearLightBase.Cast( ScriptedLightBase.CreateLight(CivilianSedanRearLight) );
799 }
800
801 override bool CanReleaseAttachment( EntityAI attachment )
802 {
803 if( !super.CanReleaseAttachment( attachment ) )
804 return false;
805
806 string attType = attachment.GetType();
807
808 if ( EngineIsOn() || GetCarDoorsState("CivSedanHood") == CarDoorState.DOORS_CLOSED )
809 {
810 if ( attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
811 return false;
812 }
813
814 return true;
815 }
816
817 override protected bool CanManipulateSpareWheel(string slotSelectionName)
818 {
819 return GetCarDoorsState("CivSedanTrunk") != CarDoorState.DOORS_CLOSED;
820 }
821
822 override bool CanDisplayAttachmentCategory(string category_name)
823 {
824 //super
825 if (!super.CanDisplayAttachmentCategory(category_name))
826 return false;
827 //
828
829 category_name.ToLower();
830 if (category_name.Contains("engine"))
831 {
832 if (GetCarDoorsState("CivSedanHood") == CarDoorState.DOORS_CLOSED)
833 return false;
834 }
835
836 return true;
837 }
838
839 override bool CanDisplayCargo()
840 {
841 if ( !super.CanDisplayCargo() )
842 return false;
843
844 if ( GetCarDoorsState("CivSedanTrunk") == CarDoorState.DOORS_CLOSED )
845 return false;
846
847 return true;
848 }
849
850 override int GetCarDoorsState( string slotType )
851 {
852 CarDoor carDoor;
853
854 Class.CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
855 if (!carDoor)
856 {
857 return CarDoorState.DOORS_MISSING;
858 }
859
860 switch (slotType)
861 {
862 case "CivSedanDriverDoors":
863 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
864 break;
865
866 case "CivSedanCoDriverDoors":
867 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
868 break;
869
870 case "CivSedanCargo1Doors":
871 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
872 break;
873
874 case "CivSedanCargo2Doors":
875 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
876 break;
877
878 case "CivSedanTrunk":
879 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
880 break;
881
882 case "CivSedanHood":
883 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
884 break;
885 }
886
887 return CarDoorState.DOORS_MISSING;
888 }
889
890
891 override bool CrewCanGetThrough( int posIdx )
892 {
893 switch( posIdx )
894 {
895 case 0:
896 if ( GetCarDoorsState("CivSedanDriverDoors") == CarDoorState.DOORS_CLOSED )
897 return false;
898
899 return true;
900 break;
901
902 case 1:
903 if ( GetCarDoorsState("CivSedanCoDriverDoors") == CarDoorState.DOORS_CLOSED )
904 return false;
905
906 return true;
907 break;
908
909 case 2:
910 if ( GetCarDoorsState("CivSedanCargo1Doors") == CarDoorState.DOORS_CLOSED )
911 return false;
912
913 return true;
914 break;
915
916 case 3:
917 if ( GetCarDoorsState("CivSedanCargo2Doors") == CarDoorState.DOORS_CLOSED )
918 return false;
919
920 return true;
921 break;
922 }
923
924 return false;
925 }
926
927 override string GetDoorSelectionNameFromSeatPos(int posIdx)
928 {
929 switch( posIdx )
930 {
931 case 0:
932 return "doors_driver";
933 break;
934 case 1:
935 return "doors_codriver";
936 break;
937 case 2:
938 return "doors_cargo1";
939 break;
940 case 3:
941 return "doors_cargo2";
942 break;
943 }
944
945 return super.GetDoorSelectionNameFromSeatPos(posIdx);
946 }
947
948 override string GetDoorInvSlotNameFromSeatPos(int posIdx)
949 {
950 switch( posIdx )
951 {
952 case 0:
953 return "CivSedanDriverDoors";
954 break;
955 case 1:
956 return "CivSedanCoDriverDoors";
957 break;
958 case 2:
959 return "CivSedanCargo1Doors";
960 break;
961 case 3:
962 return "CivSedanCargo2Doors";
963 break;
964 }
965
966 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
967 }
968
969 // 0 full ambient and engine sound
970 // 1 zero ambient and engine sound
971 override float OnSound(CarSoundCtrl ctrl, float oldValue)
972 {
973 switch (ctrl)
974 {
975 case CarSoundCtrl.DOORS:
976 float newValue = 0;
977 if (GetCarDoorsState("CivSedanDriverDoors") == CarDoorState.DOORS_CLOSED)
978 {
979 newValue += 0.25;
980 }
981
982 if (GetCarDoorsState("CivSedanCoDriverDoors") == CarDoorState.DOORS_CLOSED)
983 {
984 newValue += 0.25;
985 }
986
987 if (GetCarDoorsState("CivSedanCargo1Doors") == CarDoorState.DOORS_CLOSED)
988 {
989 newValue += 0.25;
990 }
991
992 if (GetCarDoorsState("CivSedanCargo2Doors") == CarDoorState.DOORS_CLOSED)
993 {
994 newValue += 0.25;
995 }
996
997 if (GetHealthLevel("WindowFront") == GameConstants.STATE_RUINED)
998 {
999 newValue -= 0.6;
1000 }
1001
1002 if (GetHealthLevel("WindowBack") == GameConstants.STATE_RUINED)
1003 {
1004 newValue -= 0.6;
1005 }
1006
1007 return Math.Clamp(newValue, 0, 1);
1008 break;
1009 }
1010
1011 return super.OnSound(ctrl, oldValue);
1012 }
1013
1014 override string GetAnimSourceFromSelection(string selection)
1015 {
1016 switch (selection)
1017 {
1018 case "doors_driver":
1019 return "DoorsDriver";
1020 case "doors_codriver":
1021 return "DoorsCoDriver";
1022 case "doors_cargo1":
1023 return "DoorsCargo1";
1024 case "doors_cargo2":
1025 return "DoorsCargo2";
1026 case "doors_hood":
1027 return "DoorsHood";
1028 case "doors_trunk":
1029 return "DoorsTrunk";
1030 }
1031
1032 return "";
1033 }
1034
1035 override bool IsVitalTruckBattery()
1036 {
1037 return false;
1038 }
1039
1040 override bool IsVitalGlowPlug()
1041 {
1042 return false;
1043 }
1044
1045 override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
1046 {
1047 switch (currentSeat)
1048 {
1049 case 0:
1050 return nextSeat == 1;
1051
1052 case 1:
1053 return nextSeat == 0;
1054
1055 case 2:
1056 return nextSeat == 3;
1057
1058 case 3:
1059 return nextSeat == 2;
1060 }
1061
1062 return false;
1063 }
1064
1065 override bool CanReachDoorsFromSeat( string pDoorsSelection, int pCurrentSeat )
1066 {
1067 switch (pCurrentSeat)
1068 {
1069 case 0:
1070 return pDoorsSelection == "DoorsDriver";
1071
1072 case 1:
1073 return pDoorsSelection == "DoorsCoDriver";
1074
1075 case 2:
1076 return pDoorsSelection == "DoorsCargo1";
1077
1078 case 3:
1079 return pDoorsSelection == "DoorsCargo2";
1080 }
1081
1082 return false;
1083 }
1084
1085 override void OnDebugSpawn()
1086 {
1090
1091 GetInventory().CreateInInventory("CivSedanWheel");
1092 GetInventory().CreateInInventory("CivSedanWheel");
1093 GetInventory().CreateInInventory("CivSedanWheel");
1094 GetInventory().CreateInInventory("CivSedanWheel");
1095
1096 GetInventory().CreateInInventory("CivSedanDoors_Driver");
1097 GetInventory().CreateInInventory("CivSedanDoors_CoDriver");
1098 GetInventory().CreateInInventory("CivSedanDoors_BackLeft");
1099 GetInventory().CreateInInventory("CivSedanDoors_BackRight");
1100 GetInventory().CreateInInventory("CivSedanHood");
1101 GetInventory().CreateInInventory("CivSedanTrunk");
1102
1103 //-----IN CAR CARGO
1104 GetInventory().CreateInInventory("CivSedanWheel");
1105 GetInventory().CreateInInventory("CivSedanWheel");
1106 }
1107
1108 override float GetPushForceCoefficientMultiplier()
1109 {
1110 return 1.5;
1111 }
1112}
1113
1114class CivilianSedan_Wine extends CivilianSedan
1115{
1116 override void OnDebugSpawn()
1117 {
1121
1122 GetInventory().CreateInInventory("CivSedanWheel");
1123 GetInventory().CreateInInventory("CivSedanWheel");
1124 GetInventory().CreateInInventory("CivSedanWheel");
1125 GetInventory().CreateInInventory("CivSedanWheel");
1126
1127 GetInventory().CreateInInventory("CivSedanDoors_Driver_Wine");
1128 GetInventory().CreateInInventory("CivSedanDoors_CoDriver_Wine");
1129 GetInventory().CreateInInventory("CivSedanDoors_BackLeft_Wine");
1130 GetInventory().CreateInInventory("CivSedanDoors_BackRight_Wine");
1131 GetInventory().CreateInInventory("CivSedanHood_Wine");
1132 GetInventory().CreateInInventory("CivSedanTrunk_Wine");
1133
1134 //-----IN CAR CARGO
1135 GetInventory().CreateInInventory("CivSedanWheel");
1136 GetInventory().CreateInInventory("CivSedanWheel");
1137 }
1138}
1139
1140class CivilianSedan_Black extends CivilianSedan
1141{
1142 override void OnDebugSpawn()
1143 {
1147
1148 GetInventory().CreateInInventory("CivSedanWheel");
1149 GetInventory().CreateInInventory("CivSedanWheel");
1150 GetInventory().CreateInInventory("CivSedanWheel");
1151 GetInventory().CreateInInventory("CivSedanWheel");
1152
1153 GetInventory().CreateInInventory("CivSedanDoors_Driver_Black");
1154 GetInventory().CreateInInventory("CivSedanDoors_CoDriver_Black");
1155 GetInventory().CreateInInventory("CivSedanDoors_BackLeft_Black");
1156 GetInventory().CreateInInventory("CivSedanDoors_BackRight_Black");
1157 GetInventory().CreateInInventory("CivSedanHood_Black");
1158 GetInventory().CreateInInventory("CivSedanTrunk_Black");
1159
1160 //-----IN CAR CARGO
1161 GetInventory().CreateInInventory("CivSedanWheel");
1162 GetInventory().CreateInInventory("CivSedanWheel");
1163 }
1164}
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
override float GetPushForceCoefficientMultiplier()
Определения CivilianSedan.c:848
class CivilianSedan extends CarScript OnDebugSpawn()
Определения CivilianSedan.c:429
override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
Определения CivilianSedan.c:785
override string GetAnimSourceFromSelection(string selection)
Определения CivilianSedan.c:754
override int GetSeatAnimationType(int posIdx)
Определения CivilianSedan.c:512
override float OnSound(CarSoundCtrl ctrl, float oldValue)
Определения CivilianSedan.c:711
override string GetDoorInvSlotNameFromSeatPos(int posIdx)
Определения CivilianSedan.c:688
override void EOnPostSimulate(IEntity other, float timeSlice)
Определения CivilianSedan.c:491
override void OnEngineStop()
Определения CivilianSedan.c:481
void CivilianSedan()
Определения CivilianSedan.c:434
ref UniversalTemperatureSourceLambdaEngine m_UTSLEngine
Определения CivilianSedan.c:432
override float GetTransportCameraDistance()
Определения CivilianSedan.c:507
override void EEInit()
Определения CivilianSedan.c:453
override bool CanReleaseAttachment(EntityAI attachment)
Определения CivilianSedan.c:541
override bool CanDisplayCargo()
Определения CivilianSedan.c:579
override void OnEngineStart()
Определения CivilianSedan.c:471
override CarLightBase CreateFrontLight()
Определения CivilianSedan.c:530
override int GetAnimInstance()
Определения CivilianSedan.c:502
override bool CrewCanGetThrough(int posIdx)
Определения CivilianSedan.c:631
override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
Определения CivilianSedan.c:805
bool CanManipulateSpareWheel(string slotSelectionName)
Определения CivilianSedan.c:557
override bool IsVitalGlowPlug()
Определения CivilianSedan.c:780
override CarRearLightBase CreateRearLight()
Определения CivilianSedan.c:536
override bool IsVitalTruckBattery()
Определения CivilianSedan.c:775
override string GetDoorSelectionNameFromSeatPos(int posIdx)
Определения CivilianSedan.c:667
override int GetCarDoorsState(string slotType)
Определения CivilianSedan.c:590
override bool CanDisplayAttachmentCategory(string category_name)
Определения CivilianSedan.c:562
ref UniversalTemperatureSourceSettings m_UTSSettings
Определения FireplaceBase.c:220
ref UniversalTemperatureSource m_UTSource
Определения FireplaceBase.c:219
UniversalTemperatureSourceLambdaBaseImpl UniversalTemperatureSourceLambdaBase UniversalTemperatureSourceLambdaEngine()
VehicleAnimInstances
Определения VehicleAnimInstances.c:2
Определения InventoryItem.c:496
Определения CarRearLightBase.c:2
override void OnDebugSpawn()
Определения CivilianSedan.c:455
Определения CivilianSedan.c:454
Super root of all classes in Enforce script.
Определения EnScript.c:11
Определения Building.c:6
Определения constants.c:659
Определения 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
const int STATE_RUINED
Определения constants.c:846
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.