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

◆ GetDoorSelectionNameFromSeatPos()

override string OnDebugSpawn::GetDoorSelectionNameFromSeatPos ( int posIdx)
protected

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

668{
672
673 void CivilianSedan()
674 {
675 //m_dmgContactCoef = 0.065;
676
677 m_EngineStartOK = "CivilianSedan_engine_start_SoundSet";
678 m_EngineStartBattery = "CivilianSedan_engine_failed_start_battery_SoundSet";
679 m_EngineStartPlug = "CivilianSedan_engine_failed_start_sparkplugs_SoundSet";
680 m_EngineStartFuel = "CivilianSedan_engine_failed_start_fuel_SoundSet";
681 m_EngineStopFuel = "offroad_engine_stop_fuel_SoundSet";
682
683 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
684 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
685
686 m_CarHornShortSoundName = "CivilianSedan_Horn_Short_SoundSet";
687 m_CarHornLongSoundName = "CivilianSedan_Horn_SoundSet";
688
689 SetEnginePos("0 0.7 1.6");
690 }
691
692 override void EEInit()
693 {
694 super.EEInit();
695
696 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
697 {
699 m_UTSSettings.m_ManualUpdate = true;
701 m_UTSSettings.m_TemperatureCap = 0;
702 m_UTSSettings.m_RangeFull = 0.5;
703 m_UTSSettings.m_RangeMax = 2;
704
707 }
708 }
709
710 override void OnEngineStart()
711 {
712 super.OnEngineStart();
713
714 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
715 {
716 m_UTSource.SetDefferedActive(true, 20.0);
717 }
718 }
719
720 override void OnEngineStop()
721 {
722 super.OnEngineStop();
723
724 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
725 {
726 m_UTSource.SetDefferedActive(false, 10.0);
727 }
728 }
729
730 override void EOnPostSimulate(IEntity other, float timeSlice)
731 {
732 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
733 {
734 if (m_UTSource.IsActive())
735 {
737 }
738 }
739 }
740
741 override int GetAnimInstance()
742 {
743 return VehicleAnimInstances.SEDAN;
744 }
745
746 override float GetTransportCameraDistance()
747 {
748 return 4.5;
749 }
750
751 override int GetSeatAnimationType(int posIdx)
752 {
753 switch (posIdx)
754 {
755 case 0:
756 return DayZPlayerConstants.VEHICLESEAT_DRIVER;
757 case 1:
758 return DayZPlayerConstants.VEHICLESEAT_CODRIVER;
759 case 2:
760 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_L;
761 case 3:
762 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_R;
763 }
764
765 return 0;
766 }
767
768 // Override for car-specific light type
770 {
771 return CarLightBase.Cast( ScriptedLightBase.CreateLight(CivilianSedanFrontLight) );
772 }
773
774 // Override for car-specific light type
776 {
777 return CarRearLightBase.Cast( ScriptedLightBase.CreateLight(CivilianSedanRearLight) );
778 }
779
780 override bool CanReleaseAttachment( EntityAI attachment )
781 {
782 if( !super.CanReleaseAttachment( attachment ) )
783 return false;
784
785 string attType = attachment.GetType();
786
787 if ( EngineIsOn() || GetCarDoorsState("CivSedanHood") == CarDoorState.DOORS_CLOSED )
788 {
789 if ( attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
790 return false;
791 }
792
793 return true;
794 }
795
796 override protected bool CanManipulateSpareWheel(string slotSelectionName)
797 {
798 return GetCarDoorsState("CivSedanTrunk") != CarDoorState.DOORS_CLOSED;
799 }
800
801 override bool CanDisplayAttachmentCategory(string category_name)
802 {
803 //super
804 if (!super.CanDisplayAttachmentCategory(category_name))
805 return false;
806 //
807
808 category_name.ToLower();
809 if (category_name.Contains("engine"))
810 {
811 if (GetCarDoorsState("CivSedanHood") == CarDoorState.DOORS_CLOSED)
812 return false;
813 }
814
815 return true;
816 }
817
818 override bool CanDisplayCargo()
819 {
820 if ( !super.CanDisplayCargo() )
821 return false;
822
823 if ( GetCarDoorsState("CivSedanTrunk") == CarDoorState.DOORS_CLOSED )
824 return false;
825
826 return true;
827 }
828
829 override int GetCarDoorsState( string slotType )
830 {
831 CarDoor carDoor;
832
833 Class.CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
834 if (!carDoor)
835 {
836 return CarDoorState.DOORS_MISSING;
837 }
838
839 switch (slotType)
840 {
841 case "CivSedanDriverDoors":
842 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
843 break;
844
845 case "CivSedanCoDriverDoors":
846 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
847 break;
848
849 case "CivSedanCargo1Doors":
850 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
851 break;
852
853 case "CivSedanCargo2Doors":
854 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
855 break;
856
857 case "CivSedanTrunk":
858 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
859 break;
860
861 case "CivSedanHood":
862 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
863 break;
864 }
865
866 return CarDoorState.DOORS_MISSING;
867 }
868
869
870 override bool CrewCanGetThrough( int posIdx )
871 {
872 switch( posIdx )
873 {
874 case 0:
875 if ( GetCarDoorsState("CivSedanDriverDoors") == CarDoorState.DOORS_CLOSED )
876 return false;
877
878 return true;
879 break;
880
881 case 1:
882 if ( GetCarDoorsState("CivSedanCoDriverDoors") == CarDoorState.DOORS_CLOSED )
883 return false;
884
885 return true;
886 break;
887
888 case 2:
889 if ( GetCarDoorsState("CivSedanCargo1Doors") == CarDoorState.DOORS_CLOSED )
890 return false;
891
892 return true;
893 break;
894
895 case 3:
896 if ( GetCarDoorsState("CivSedanCargo2Doors") == CarDoorState.DOORS_CLOSED )
897 return false;
898
899 return true;
900 break;
901 }
902
903 return false;
904 }
905
906 override string GetDoorSelectionNameFromSeatPos(int posIdx)
907 {
908 switch( posIdx )
909 {
910 case 0:
911 return "doors_driver";
912 break;
913 case 1:
914 return "doors_codriver";
915 break;
916 case 2:
917 return "doors_cargo1";
918 break;
919 case 3:
920 return "doors_cargo2";
921 break;
922 }
923
924 return super.GetDoorSelectionNameFromSeatPos(posIdx);
925 }
926
927 override string GetDoorInvSlotNameFromSeatPos(int posIdx)
928 {
929 switch( posIdx )
930 {
931 case 0:
932 return "CivSedanDriverDoors";
933 break;
934 case 1:
935 return "CivSedanCoDriverDoors";
936 break;
937 case 2:
938 return "CivSedanCargo1Doors";
939 break;
940 case 3:
941 return "CivSedanCargo2Doors";
942 break;
943 }
944
945 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
946 }
947
948 // 0 full ambient and engine sound
949 // 1 zero ambient and engine sound
950 override float OnSound(CarSoundCtrl ctrl, float oldValue)
951 {
952 switch (ctrl)
953 {
954 case CarSoundCtrl.DOORS:
955 float newValue = 0;
956 if (GetCarDoorsState("CivSedanDriverDoors") == CarDoorState.DOORS_CLOSED)
957 {
958 newValue += 0.25;
959 }
960
961 if (GetCarDoorsState("CivSedanCoDriverDoors") == CarDoorState.DOORS_CLOSED)
962 {
963 newValue += 0.25;
964 }
965
966 if (GetCarDoorsState("CivSedanCargo1Doors") == CarDoorState.DOORS_CLOSED)
967 {
968 newValue += 0.25;
969 }
970
971 if (GetCarDoorsState("CivSedanCargo2Doors") == CarDoorState.DOORS_CLOSED)
972 {
973 newValue += 0.25;
974 }
975
976 if (GetHealthLevel("WindowFront") == GameConstants.STATE_RUINED)
977 {
978 newValue -= 0.6;
979 }
980
981 if (GetHealthLevel("WindowBack") == GameConstants.STATE_RUINED)
982 {
983 newValue -= 0.6;
984 }
985
986 return Math.Clamp(newValue, 0, 1);
987 break;
988 }
989
990 return super.OnSound(ctrl, oldValue);
991 }
992
993 override string GetAnimSourceFromSelection(string selection)
994 {
995 switch (selection)
996 {
997 case "doors_driver":
998 return "DoorsDriver";
999 case "doors_codriver":
1000 return "DoorsCoDriver";
1001 case "doors_cargo1":
1002 return "DoorsCargo1";
1003 case "doors_cargo2":
1004 return "DoorsCargo2";
1005 case "doors_hood":
1006 return "DoorsHood";
1007 case "doors_trunk":
1008 return "DoorsTrunk";
1009 }
1010
1011 return "";
1012 }
1013
1014 override bool IsVitalTruckBattery()
1015 {
1016 return false;
1017 }
1018
1019 override bool IsVitalGlowPlug()
1020 {
1021 return false;
1022 }
1023
1024 override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
1025 {
1026 switch (currentSeat)
1027 {
1028 case 0:
1029 return nextSeat == 1;
1030
1031 case 1:
1032 return nextSeat == 0;
1033
1034 case 2:
1035 return nextSeat == 3;
1036
1037 case 3:
1038 return nextSeat == 2;
1039 }
1040
1041 return false;
1042 }
1043
1044 override bool CanReachDoorsFromSeat( string pDoorsSelection, int pCurrentSeat )
1045 {
1046 switch (pCurrentSeat)
1047 {
1048 case 0:
1049 return pDoorsSelection == "DoorsDriver";
1050
1051 case 1:
1052 return pDoorsSelection == "DoorsCoDriver";
1053
1054 case 2:
1055 return pDoorsSelection == "DoorsCargo1";
1056
1057 case 3:
1058 return pDoorsSelection == "DoorsCargo2";
1059 }
1060
1061 return false;
1062 }
1063
1064 override void OnDebugSpawn()
1065 {
1069
1070 GetInventory().CreateInInventory("CivSedanWheel");
1071 GetInventory().CreateInInventory("CivSedanWheel");
1072 GetInventory().CreateInInventory("CivSedanWheel");
1073 GetInventory().CreateInInventory("CivSedanWheel");
1074
1075 GetInventory().CreateInInventory("CivSedanDoors_Driver");
1076 GetInventory().CreateInInventory("CivSedanDoors_CoDriver");
1077 GetInventory().CreateInInventory("CivSedanDoors_BackLeft");
1078 GetInventory().CreateInInventory("CivSedanDoors_BackRight");
1079 GetInventory().CreateInInventory("CivSedanHood");
1080 GetInventory().CreateInInventory("CivSedanTrunk");
1081
1082 //-----IN CAR CARGO
1083 GetInventory().CreateInInventory("CivSedanWheel");
1084 GetInventory().CreateInInventory("CivSedanWheel");
1085 }
1086
1087 override float GetPushForceCoefficientMultiplier()
1088 {
1089 return 1.5;
1090 }
1091}
1092
1093class CivilianSedan_Wine extends CivilianSedan
1094{
1095 override void OnDebugSpawn()
1096 {
1100
1101 GetInventory().CreateInInventory("CivSedanWheel");
1102 GetInventory().CreateInInventory("CivSedanWheel");
1103 GetInventory().CreateInInventory("CivSedanWheel");
1104 GetInventory().CreateInInventory("CivSedanWheel");
1105
1106 GetInventory().CreateInInventory("CivSedanDoors_Driver_Wine");
1107 GetInventory().CreateInInventory("CivSedanDoors_CoDriver_Wine");
1108 GetInventory().CreateInInventory("CivSedanDoors_BackLeft_Wine");
1109 GetInventory().CreateInInventory("CivSedanDoors_BackRight_Wine");
1110 GetInventory().CreateInInventory("CivSedanHood_Wine");
1111 GetInventory().CreateInInventory("CivSedanTrunk_Wine");
1112
1113 //-----IN CAR CARGO
1114 GetInventory().CreateInInventory("CivSedanWheel");
1115 GetInventory().CreateInInventory("CivSedanWheel");
1116 }
1117}
1118
1119class CivilianSedan_Black extends CivilianSedan
1120{
1121 override void OnDebugSpawn()
1122 {
1126
1127 GetInventory().CreateInInventory("CivSedanWheel");
1128 GetInventory().CreateInInventory("CivSedanWheel");
1129 GetInventory().CreateInInventory("CivSedanWheel");
1130 GetInventory().CreateInInventory("CivSedanWheel");
1131
1132 GetInventory().CreateInInventory("CivSedanDoors_Driver_Black");
1133 GetInventory().CreateInInventory("CivSedanDoors_CoDriver_Black");
1134 GetInventory().CreateInInventory("CivSedanDoors_BackLeft_Black");
1135 GetInventory().CreateInInventory("CivSedanDoors_BackRight_Black");
1136 GetInventory().CreateInInventory("CivSedanHood_Black");
1137 GetInventory().CreateInInventory("CivSedanTrunk_Black");
1138
1139 //-----IN CAR CARGO
1140 GetInventory().CreateInInventory("CivSedanWheel");
1141 GetInventory().CreateInInventory("CivSedanWheel");
1142 }
1143}
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.