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

◆ GetDoorSelectionNameFromSeatPos()

override string OnDebugSpawn::GetDoorSelectionNameFromSeatPos ( int posIdx)
protected

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

710{
714
715 void Sedan_02()
716 {
717 m_dmgContactCoef = 0.0790;
718
719 m_EngineStartOK = "Sedan_02_engine_start_SoundSet";
720 m_EngineStartBattery = "Sedan_02_engine_failed_start_battery_SoundSet";
721 m_EngineStartPlug = "Sedan_02_engine_failed_start_sparkplugs_SoundSet";
722 m_EngineStartFuel = "Sedan_02_engine_failed_start_fuel_SoundSet";
723 m_EngineStop = "Sedan_02_engine_stop_SoundSet";
724 m_EngineStopFuel = "Sedan_02_engine_stop_fuel_SoundSet";
725
726 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
727 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
728
729 m_CarHornShortSoundName = "Sedan_02_Horn_Short_SoundSet";
730 m_CarHornLongSoundName = "Sedan_02_Horn_SoundSet";
731
732 SetEnginePos("0 0.7 -1.7");
733 }
734
735 void ~Sedan_02()
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.S120;
796 }
797
798 override int GetSeatAnimationType(int posIdx)
799 {
800 switch (posIdx)
801 {
802 case 0:
803 return DayZPlayerConstants.VEHICLESEAT_DRIVER;
804 case 1:
805 return DayZPlayerConstants.VEHICLESEAT_CODRIVER;
806 case 2:
807 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_L;
808 case 3:
809 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_R;
810 }
811
812 return 0;
813 }
814
815 // Override for car-specific light type
817 {
818 return CarLightBase.Cast(ScriptedLightBase.CreateLight(Sedan_02FrontLight));
819 }
820
821 // Override for car-specific light type
823 {
824 return CarRearLightBase.Cast(ScriptedLightBase.CreateLight(Sedan_02RearLight));
825 }
826
827 override bool CanReleaseAttachment( EntityAI attachment )
828 {
829 if (!super.CanReleaseAttachment(attachment))
830 {
831 return false;
832 }
833
834 string attType = attachment.GetType();
835 switch (attType)
836 {
837 case "CarBattery":
838 if (GetCarDoorsState("Sedan_02_Trunk") == CarDoorState.DOORS_CLOSED || EngineIsOn())
839 {
840 return false;
841 }
842 break;
843
844 case "SparkPlug":
845 if (GetCarDoorsState("Sedan_02_Trunk") == CarDoorState.DOORS_CLOSED || EngineIsOn())
846 {
847 return false;
848 }
849 break;
850
851 case "CarRadiator":
852 if (GetCarDoorsState("Sedan_02_Hood") == CarDoorState.DOORS_CLOSED || EngineIsOn())
853 {
854 return false;
855 }
856 break;
857 }
858
859 return true;
860 }
861
862 override protected bool CanManipulateSpareWheel(string slotSelectionName)
863 {
864 return GetCarDoorsState("Sedan_02_Hood") != CarDoorState.DOORS_CLOSED;
865 }
866
867 override bool CanDisplayAttachmentCategory(string category_name)
868 {
869 if ( !super.CanDisplayAttachmentCategory(category_name))
870 {
871 return false;
872 }
873
874 category_name.ToLower();
875 if (category_name.Contains("engine"))
876 {
877 if (GetCarDoorsState("Sedan_02_Trunk") == CarDoorState.DOORS_CLOSED)
878 {
879 return false;
880 }
881 }
882
883 if (category_name.Contains("trunk"))
884 {
885 if (GetCarDoorsState("Sedan_02_Hood") == CarDoorState.DOORS_CLOSED)
886 {
887 return false;
888 }
889 }
890
891 return true;
892 }
893
894 override bool CanDisplayCargo()
895 {
896 if ( !super.CanDisplayCargo() )
897 return false;
898
899 if ( GetCarDoorsState("Sedan_02_Hood") == CarDoorState.DOORS_CLOSED )
900 return false;
901
902 return true;
903 }
904
905 override int GetCarDoorsState(string slotType)
906 {
907 CarDoor carDoor;
908
909 Class.CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
910 if (!carDoor)
911 {
912 return CarDoorState.DOORS_MISSING;
913 }
914
915 switch (slotType)
916 {
917 case "Sedan_02_Door_1_1":
918 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
919
920 case "Sedan_02_Door_2_1":
921 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
922
923 case "Sedan_02_Door_1_2":
924 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
925
926 case "Sedan_02_Door_2_2":
927 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
928
929 case "Sedan_02_Hood":
930 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
931
932 case "Sedan_02_Trunk":
933 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
934 }
935
936 return CarDoorState.DOORS_MISSING;
937 }
938
939
940 override bool CrewCanGetThrough( int posIdx )
941 {
942 switch( posIdx )
943 {
944 case 0:
945 if ( GetCarDoorsState("Sedan_02_Door_1_1") == CarDoorState.DOORS_CLOSED )
946 return false;
947
948 return true;
949 break;
950
951 case 1:
952 if ( GetCarDoorsState("Sedan_02_Door_2_1") == CarDoorState.DOORS_CLOSED )
953 return false;
954
955 return true;
956 break;
957
958 case 2:
959 if ( GetCarDoorsState("Sedan_02_Door_1_2") == CarDoorState.DOORS_CLOSED )
960 return false;
961
962 return true;
963 break;
964
965 case 3:
966 if ( GetCarDoorsState("Sedan_02_Door_2_2") == CarDoorState.DOORS_CLOSED )
967 return false;
968
969 return true;
970 break;
971 }
972
973 return false;
974 }
975
976 override string GetDoorSelectionNameFromSeatPos(int posIdx)
977 {
978 switch( posIdx )
979 {
980 case 0:
981 return "doors_driver";
982 break;
983 case 1:
984 return "doors_codriver";
985 break;
986 case 2:
987 return "doors_cargo1";
988 break;
989 case 3:
990 return "doors_cargo2";
991 break;
992 }
993
994 return super.GetDoorSelectionNameFromSeatPos(posIdx);
995 }
996
997 override string GetDoorInvSlotNameFromSeatPos(int posIdx)
998 {
999 switch( posIdx )
1000 {
1001 case 0:
1002 return "Sedan_02_Door_1_1";
1003 break;
1004 case 1:
1005 return "Sedan_02_Door_2_1";
1006 break;
1007 case 2:
1008 return "Sedan_02_Door_1_2";
1009 break;
1010 case 3:
1011 return "Sedan_02_Door_2_2";
1012 break;
1013 }
1014
1015 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
1016 }
1017
1018 override float OnSound(CarSoundCtrl ctrl, float oldValue)
1019 {
1020 switch ( ctrl )
1021 {
1022 case CarSoundCtrl.DOORS:
1023 float newValue = 0;
1024 if (GetCarDoorsState("Sedan_02_Door_1_1") == CarDoorState.DOORS_CLOSED)
1025 {
1026 newValue += 0.25;
1027 }
1028
1029 if (GetCarDoorsState("Sedan_02_Door_2_1") == CarDoorState.DOORS_CLOSED)
1030 {
1031 newValue += 0.25;
1032 }
1033
1034 if (GetCarDoorsState("Sedan_02_Door_1_2") == CarDoorState.DOORS_CLOSED)
1035 {
1036 newValue += 0.25;
1037 }
1038
1039 if (GetCarDoorsState("Sedan_02_Door_2_2") == CarDoorState.DOORS_CLOSED)
1040 {
1041 newValue += 0.25;
1042 }
1043
1044 return Math.Clamp(newValue, 0, 1);
1045 break;
1046 }
1047
1048 return super.OnSound(ctrl, oldValue);
1049 }
1050
1051 override string GetAnimSourceFromSelection( string selection )
1052 {
1053 switch( selection )
1054 {
1055 case "doors_driver":
1056 return "DoorsDriver";
1057 case "doors_codriver":
1058 return "DoorsCoDriver";
1059 case "doors_cargo1":
1060 return "DoorsCargo1";
1061 case "doors_cargo2":
1062 return "DoorsCargo2";
1063 case "doors_hood":
1064 return "DoorsHood";
1065 case "doors_trunk":
1066 return "DoorsTrunk";
1067 }
1068
1069 return "";
1070 }
1071
1072
1073 override bool IsVitalTruckBattery()
1074 {
1075 return false;
1076 }
1077
1078 override bool IsVitalGlowPlug()
1079 {
1080 return false;
1081 }
1082
1083 override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
1084 {
1085 switch (currentSeat)
1086 {
1087 case 0:
1088 return nextSeat == 1;
1089
1090 case 1:
1091 return nextSeat == 0;
1092
1093 case 2:
1094 return nextSeat == 3;
1095
1096 case 3:
1097 return nextSeat == 2;
1098 }
1099
1100 return false;
1101 }
1102
1103 override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
1104 {
1105 switch (pCurrentSeat)
1106 {
1107 case 0:
1108 return pDoorsSelection == "DoorsDriver";
1109
1110 case 1:
1111 return pDoorsSelection == "DoorsCoDriver";
1112
1113 case 2:
1114 return pDoorsSelection == "DoorsCargo1";
1115
1116 case 3:
1117 return pDoorsSelection == "DoorsCargo2";
1118 }
1119
1120 return false;
1121 }
1122
1123 override void OnDebugSpawn()
1124 {
1125 SpawnUniversalParts();
1126 SpawnAdditionalItems();
1127 FillUpCarFluids();
1128
1129 GameInventory inventory = GetInventory();
1130 inventory.CreateInInventory("Sedan_02_Wheel");
1131 inventory.CreateInInventory("Sedan_02_Wheel");
1132 inventory.CreateInInventory("Sedan_02_Wheel");
1133 inventory.CreateInInventory("Sedan_02_Wheel");
1134 inventory.CreateInInventory("Sedan_02_Wheel");
1135
1136 inventory.CreateInInventory("Sedan_02_Door_1_1");
1137 inventory.CreateInInventory("Sedan_02_Door_1_2");
1138 inventory.CreateInInventory("Sedan_02_Door_2_1");
1139 inventory.CreateInInventory("Sedan_02_Door_2_2");
1140 inventory.CreateInInventory("Sedan_02_Hood");
1141 inventory.CreateInInventory("Sedan_02_Trunk");
1142
1143 //-----IN CAR CARGO
1144 inventory.CreateInInventory("Sedan_02_Wheel");
1145 inventory.CreateInInventory("Sedan_02_Wheel");
1146 }
1147}
1148
1149class Sedan_02_Red extends Sedan_02
1150{
1151 override void OnDebugSpawn()
1152 {
1153 SpawnUniversalParts();
1154 SpawnAdditionalItems();
1155 FillUpCarFluids();
1156
1157 GameInventory inventory = GetInventory();
1158 inventory.CreateInInventory("Sedan_02_Wheel");
1159 inventory.CreateInInventory("Sedan_02_Wheel");
1160 inventory.CreateInInventory("Sedan_02_Wheel");
1161 inventory.CreateInInventory("Sedan_02_Wheel");
1162
1163 inventory.CreateInInventory("Sedan_02_Door_1_1_Red");
1164 inventory.CreateInInventory("Sedan_02_Door_1_2_Red");
1165 inventory.CreateInInventory("Sedan_02_Door_2_1_Red");
1166 inventory.CreateInInventory("Sedan_02_Door_2_2_Red");
1167 inventory.CreateInInventory("Sedan_02_Hood_Red");
1168 inventory.CreateInInventory("Sedan_02_Trunk_Red");
1169
1170 //-----IN CAR CARGO
1171 inventory.CreateInInventory("Sedan_02_Wheel");
1172 inventory.CreateInInventory("Sedan_02_Wheel");
1173 }
1174}
1175
1176class Sedan_02_Grey extends Sedan_02
1177{
1178 override void OnDebugSpawn()
1179 {
1180 SpawnUniversalParts();
1181 SpawnAdditionalItems();
1182 FillUpCarFluids();
1183
1184 GameInventory inventory = GetInventory();
1185 inventory.CreateInInventory("Sedan_02_Wheel");
1186 inventory.CreateInInventory("Sedan_02_Wheel");
1187 inventory.CreateInInventory("Sedan_02_Wheel");
1188 inventory.CreateInInventory("Sedan_02_Wheel");
1189
1190 inventory.CreateInInventory("Sedan_02_Door_1_1_Grey");
1191 inventory.CreateInInventory("Sedan_02_Door_1_2_Grey");
1192 inventory.CreateInInventory("Sedan_02_Door_2_1_Grey");
1193 inventory.CreateInInventory("Sedan_02_Door_2_2_Grey");
1194 inventory.CreateInInventory("Sedan_02_Hood_Grey");
1195 inventory.CreateInInventory("Sedan_02_Trunk_Grey");
1196
1197 //-----IN CAR CARGO
1198 inventory.CreateInInventory("Sedan_02_Wheel");
1199 inventory.CreateInInventory("Sedan_02_Wheel");
1200 }
1201}
CarSoundCtrl
Car's sound controller list. (native, do not change or extend)
Определения Car.c:4
CarDoorState
Определения CarScript.c:2
ref UniversalTemperatureSourceLambdaEngine m_UTSLEngine
Определения CivilianSedan.c:443
DayZGame g_Game
Определения DayZGame.c:3942
ref UniversalTemperatureSourceSettings m_UTSSettings
Определения FireplaceBase.c:221
ref UniversalTemperatureSource m_UTSource
Определения FireplaceBase.c:220
override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
Определения Sedan_02.c:816
class Sedan_02 extends CarScript OnDebugSpawn()
Определения Sedan_02.c:443
override string GetAnimSourceFromSelection(string selection)
Определения Sedan_02.c:784
override int GetSeatAnimationType(int posIdx)
Определения Sedan_02.c:531
override float OnSound(CarSoundCtrl ctrl, float oldValue)
Определения Sedan_02.c:751
void ~Sedan_02()
Определения Sedan_02.c:468
override string GetDoorInvSlotNameFromSeatPos(int posIdx)
Определения Sedan_02.c:730
override void EOnPostSimulate(IEntity other, float timeSlice)
Определения Sedan_02.c:515
override void OnEngineStop()
Определения Sedan_02.c:504
override void EEInit()
Определения Sedan_02.c:475
override bool CanReleaseAttachment(EntityAI attachment)
Определения Sedan_02.c:560
override bool CanDisplayCargo()
Определения Sedan_02.c:627
override void OnEngineStart()
Определения Sedan_02.c:493
override CarLightBase CreateFrontLight()
Определения Sedan_02.c:549
override int GetAnimInstance()
Определения Sedan_02.c:526
override bool CrewCanGetThrough(int posIdx)
Определения Sedan_02.c:673
override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
Определения Sedan_02.c:836
bool CanManipulateSpareWheel(string slotSelectionName)
Определения Sedan_02.c:595
override bool IsVitalGlowPlug()
Определения Sedan_02.c:811
void Sedan_02()
Определения Sedan_02.c:448
override CarRearLightBase CreateRearLight()
Определения Sedan_02.c:555
override bool IsVitalTruckBattery()
Определения Sedan_02.c:806
override string GetDoorSelectionNameFromSeatPos(int posIdx)
Определения Sedan_02.c:709
override int GetCarDoorsState(string slotType)
Определения Sedan_02.c:638
override bool CanDisplayAttachmentCategory(string category_name)
Определения Sedan_02.c:600
UniversalTemperatureSourceLambdaBaseImpl UniversalTemperatureSourceLambdaBase UniversalTemperatureSourceLambdaEngine()
VehicleAnimInstances
Определения VehicleAnimInstances.c:2
Определения CarRearLightBase.c:2
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
override void OnDebugSpawn()
Определения Sedan_02.c:470
Определения Sedan_02.c:469
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
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.