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

◆ GetDoorSelectionNameFromSeatPos()

override string OnDebugSpawn::GetDoorSelectionNameFromSeatPos ( int posIdx)
protected

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

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