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

◆ GetDoorSelectionNameFromSeatPos()

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