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

◆ GetDoorInvSlotNameFromSeatPos()

override string OnDebugSpawn::GetDoorInvSlotNameFromSeatPos ( int posIdx)
protected

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

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