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

◆ CreateFrontLight()

override CarLightBase OnDebugSpawn::CreateFrontLight ( )
protected

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

581{
585
586 void OffroadHatchback()
587 {
588 //m_dmgContactCoef = 0.075;
589
590 m_EngineStartOK = "offroad_engine_start_SoundSet";
591 m_EngineStartBattery = "offroad_engine_failed_start_battery_SoundSet";
592 m_EngineStartPlug = "offroad_engine_failed_start_sparkplugs_SoundSet";
593 m_EngineStartFuel = "offroad_engine_failed_start_fuel_SoundSet";
594 m_EngineStopFuel = "offroad_engine_stop_fuel_SoundSet";
595
596 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
597 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
598 m_CarSeatShiftInSound = "Offroad_SeatShiftIn_SoundSet";
599 m_CarSeatShiftOutSound = "Offroad_SeatShiftOut_SoundSet";
600
601 m_CarHornShortSoundName = "Offroad_Horn_Short_SoundSet";
602 m_CarHornLongSoundName = "Offroad_Horn_SoundSet";
603
604 SetEnginePos("0 0.7 1.2");
605 }
606
607 override void EEInit()
608 {
609 super.EEInit();
610
611 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
612 {
614 m_UTSSettings.m_ManualUpdate = true;
616 m_UTSSettings.m_TemperatureCap = 0;
617 m_UTSSettings.m_RangeFull = 0.5;
618 m_UTSSettings.m_RangeMax = 2;
619
622 }
623 }
624
625 override void OnEngineStart()
626 {
627 super.OnEngineStart();
628
629 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
630 {
631 m_UTSource.SetDefferedActive(true, 20.0);
632 }
633 }
634
635 override void OnEngineStop()
636 {
637 super.OnEngineStop();
638
639 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
640 {
641 m_UTSource.SetDefferedActive(false, 10.0);
642 }
643 }
644
645 override void EOnPostSimulate(IEntity other, float timeSlice)
646 {
647 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
648 {
649 if (m_UTSource.IsActive())
650 {
652 }
653 }
654 }
655
656 override int GetAnimInstance()
657 {
658 return VehicleAnimInstances.HATCHBACK;
659 }
660
661 override float GetTransportCameraDistance()
662 {
663 return 3.5;
664 }
665
666 override int GetSeatAnimationType( int posIdx )
667 {
668 switch (posIdx)
669 {
670 case 0:
671 return DayZPlayerConstants.VEHICLESEAT_DRIVER;
672 case 1:
673 return DayZPlayerConstants.VEHICLESEAT_CODRIVER;
674 case 2:
675 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_L;
676 case 3:
677 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_R;
678 }
679
680 return 0;
681
682 }
683
684
686 {
687 return CarRearLightBase.Cast( ScriptedLightBase.CreateLight(OffroadHatchbackRearLight) );
688 }
689
691 {
692 return CarLightBase.Cast( ScriptedLightBase.CreateLight(OffroadHatchbackFrontLight) );
693 }
694
695 override bool CanReleaseAttachment(EntityAI attachment)
696 {
697 if (!super.CanReleaseAttachment(attachment))
698 {
699 return false;
700 }
701
702 if (EngineIsOn() || GetCarDoorsState("NivaHood") == CarDoorState.DOORS_CLOSED)
703 {
704 string attType = attachment.GetType();
705 if (attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
706 {
707 return false;
708 }
709 }
710
711 return true;
712 }
713
714 override protected bool CanManipulateSpareWheel(string slotSelectionName)
715 {
716 return GetCarDoorsState("NivaHood") != CarDoorState.DOORS_CLOSED;
717 }
718
719 override bool CanDisplayAttachmentCategory( string category_name )
720 {
721 if (!super.CanDisplayAttachmentCategory(category_name))
722 {
723 return false;
724 }
725
726 category_name.ToLower();
727 if (category_name.Contains("engine"))
728 {
729 if (GetCarDoorsState("NivaHood") == CarDoorState.DOORS_CLOSED)
730 {
731 return false;
732 }
733 }
734
735 return true;
736 }
737
738 override bool CanDisplayCargo()
739 {
740 if (!super.CanDisplayCargo())
741 {
742 return false;
743 }
744
745 if (GetCarDoorsState("NivaTrunk") == CarDoorState.DOORS_CLOSED)
746 {
747 return false;
748 }
749
750 return true;
751 }
752
753 override int GetCarDoorsState(string slotType)
754 {
755 CarDoor carDoor;
756
757 Class.CastTo(carDoor, FindAttachmentBySlotName(slotType));
758 if (!carDoor)
759 {
760 return CarDoorState.DOORS_MISSING;
761 }
762
763 switch (slotType)
764 {
765 case "NivaDriverDoors":
766 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
767
768 case "NivaCoDriverDoors":
769 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
770
771 case "NivaHood":
772 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
773
774 case "NivaTrunk":
775 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
776 }
777
778 return CarDoorState.DOORS_MISSING;
779 }
780
781 override bool CrewCanGetThrough(int posIdx)
782 {
783 CarDoor carDoor;
784 switch (posIdx)
785 {
786 case 0:
787 if (GetCarDoorsState("NivaDriverDoors") == CarDoorState.DOORS_CLOSED)
788 return false;
789 else if (GetAnimationPhase("SeatDriver") > 0.5)
790 return false;
791
792 return true;
793
794 case 1:
795 if (GetCarDoorsState("NivaCoDriverDoors") == CarDoorState.DOORS_CLOSED)
796 return false;
797 else if (GetAnimationPhase("SeatCoDriver") > 0.5)
798 return false;
799
800 return true;
801
802 case 2:
803 if (GetCarDoorsState("NivaDriverDoors") == CarDoorState.DOORS_CLOSED)
804 return false;
805 else if (GetAnimationPhase("SeatDriver") <= 0.5)
806 return false;
807
808 return true;
809
810 case 3:
811 if (GetCarDoorsState("NivaCoDriverDoors") == CarDoorState.DOORS_CLOSED)
812 return false;
813 else if (GetAnimationPhase("SeatCoDriver") <= 0.5)
814 return false;
815
816 return true;
817 }
818
819 return false;
820 }
821
822 override string GetDoorSelectionNameFromSeatPos(int posIdx)
823 {
824 switch (posIdx)
825 {
826 case 0:
827 case 2:
828 return "doors_driver";
829 case 1:
830 case 3:
831 return "doors_codriver";
832 }
833
834 return super.GetDoorSelectionNameFromSeatPos(posIdx);
835 }
836
837 override string GetDoorInvSlotNameFromSeatPos(int posIdx)
838 {
839 switch (posIdx)
840 {
841 case 0:
842 case 2:
843 return "NivaDriverDoors";
844 case 1:
845 case 3:
846 return "NivaCoDriverDoors";
847 }
848
849 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
850 }
851
852 // 0 full ambient and engine sound
853 // 1 zero ambient and engine sound
854 override float OnSound(CarSoundCtrl ctrl, float oldValue)
855 {
856 float tempCap = 0.0;
857
858 switch (ctrl)
859 {
860 case CarSoundCtrl.DOORS:
861 float newValue = 0;
862 if (GetCarDoorsState("NivaDriverDoors") == CarDoorState.DOORS_CLOSED)
863 {
864 newValue += 0.5;
865 }
866
867 if (GetCarDoorsState("NivaCoDriverDoors") == CarDoorState.DOORS_CLOSED)
868 {
869 newValue += 0.5;
870 }
871
872 if (GetCarDoorsState("NivaTrunk") == CarDoorState.DOORS_CLOSED)
873 {
874 newValue += 0.3;
875 }
876
877 if (GetHealthLevel("WindowFront") == GameConstants.STATE_RUINED)
878 {
879 newValue -= 0.6;
880 }
881
882 if (GetHealthLevel("WindowLR") == GameConstants.STATE_RUINED)
883 {
884 newValue -= 0.2;
885 }
886
887 if (GetHealthLevel("WindowRR") == GameConstants.STATE_RUINED)
888 {
889 newValue -= 0.2;
890 }
891
892 return Math.Clamp(newValue, 0, 1);
893 break;
894 }
895
896 return super.OnSound(ctrl, oldValue);
897 }
898
899 override string GetAnimSourceFromSelection( string selection )
900 {
901 switch (selection)
902 {
903 case "doors_driver":
904 return "DoorsDriver";
905 case "doors_codriver":
906 return "DoorsCoDriver";
907 case "doors_hood":
908 return "DoorsHood";
909 case "doors_trunk":
910 return "DoorsTrunk";
911 case "seatback_driver":
912 return "SeatDriver";
913 case "seatback_codriver":
914 return "SeatCoDriver";
915 }
916
917 return "";
918 }
919
920 override string GetDoorConditionPointFromSelection(string selection)
921 {
922 switch (selection)
923 {
924 case "seat_driver":
925 case "seatback_driver":
926 case "seat_cargo1":
927 return "seat_con_1_1";
928 case "seat_codriver":
929 case "seatback_codriver":
930 case "seat_cargo2":
931 return "seat_con_2_1";
932 }
933
934 return "";
935 }
936
937 override int GetCrewIndex(string selection)
938 {
939 switch (selection)
940 {
941 case "seatback_driver":
942 return 0;
943 case "seatback_codriver":
944 return 1;
945 }
946
947 return -1;
948 }
949
950 override bool IsVitalTruckBattery()
951 {
952 return false;
953 }
954
955 override bool IsVitalGlowPlug()
956 {
957 return false;
958 }
959
960 override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
961 {
962 if (nextSeat == 0 && GetAnimationPhase("SeatDriver") > 0.5)
963 return false;
964
965 if (nextSeat == 1 && GetAnimationPhase("SeatCoDriver") > 0.5)
966 return false;
967
968 switch (currentSeat)
969 {
970 case 0:
971 return nextSeat == 1;
972
973 case 1:
974 return nextSeat == 0;
975
976 case 2:
977 return nextSeat == 3;
978
979 case 3:
980 return nextSeat == 2;
981 }
982
983 return false;
984 }
985
986 override bool CanReachDoorsFromSeat( string pDoorsSelection, int pCurrentSeat )
987 {
988 switch (pCurrentSeat)
989 {
990 case 0:
991 return pDoorsSelection == "DoorsDriver";
992
993 case 1:
994 return pDoorsSelection == "DoorsCoDriver";
995
996 case 2:
997 return pDoorsSelection == "DoorsDriver";
998
999 case 3:
1000 return pDoorsSelection == "DoorsCoDriver";
1001 }
1002
1003 return false;
1004 }
1005
1006 override int GetSeatIndexFromDoor( string pDoorSelection )
1007 {
1008 switch (pDoorSelection)
1009 {
1010 case "DoorsDriver":
1011 return 0;
1012 case "DoorsCoDriver":
1013 return 1;
1014 }
1015
1016 return -1;
1017 }
1018
1019 override void SetActions()
1020 {
1021 super.SetActions();
1022
1024 }
1025
1026 override void OnDebugSpawn()
1027 {
1031
1032 GetInventory().CreateInInventory("HatchbackWheel");
1033 GetInventory().CreateInInventory("HatchbackWheel");
1034 GetInventory().CreateInInventory("HatchbackWheel" );
1035 GetInventory().CreateInInventory("HatchbackWheel");
1036
1037 GetInventory().CreateInInventory("HatchbackDoors_Driver");
1038 GetInventory().CreateInInventory("HatchbackDoors_CoDriver");
1039 GetInventory().CreateInInventory("HatchbackHood");
1040 GetInventory().CreateInInventory("HatchbackTrunk");
1041
1042 //-----IN CAR CARGO
1043 GetInventory().CreateInInventory("HatchbackWheel");
1044 GetInventory().CreateInInventory("HatchbackWheel");
1045 }
1046}
1047
1048class OffroadHatchback_White extends OffroadHatchback
1049{
1050 override void OnDebugSpawn()
1051 {
1055
1056 GetInventory().CreateInInventory("HatchbackWheel");
1057 GetInventory().CreateInInventory("HatchbackWheel");
1058 GetInventory().CreateInInventory("HatchbackWheel");
1059 GetInventory().CreateInInventory("HatchbackWheel");
1060
1061 GetInventory().CreateInInventory("HatchbackDoors_Driver_White");
1062 GetInventory().CreateInInventory("HatchbackDoors_CoDriver_White");
1063 GetInventory().CreateInInventory("HatchbackHood_White");
1064 GetInventory().CreateInInventory("HatchbackTrunk_White");
1065
1066 //-----IN CAR CARGO
1067 GetInventory().CreateInInventory("HatchbackWheel");
1068 GetInventory().CreateInInventory("HatchbackWheel");
1069 }
1070}
1071
1072class OffroadHatchback_Blue extends OffroadHatchback
1073{
1074 override void OnDebugSpawn()
1075 {
1079
1080 GetInventory().CreateInInventory("HatchbackWheel");
1081 GetInventory().CreateInInventory("HatchbackWheel");
1082 GetInventory().CreateInInventory("HatchbackWheel");
1083 GetInventory().CreateInInventory("HatchbackWheel");
1084
1085 GetInventory().CreateInInventory("HatchbackDoors_Driver_Blue");
1086 GetInventory().CreateInInventory("HatchbackDoors_CoDriver_Blue");
1087 GetInventory().CreateInInventory("HatchbackHood_Blue");
1088 GetInventory().CreateInInventory("HatchbackTrunk_Blue");
1089
1090 //-----IN CAR CARGO
1091 GetInventory().CreateInInventory("HatchbackWheel");
1092 GetInventory().CreateInInventory("HatchbackWheel");
1093 }
1094}
void AddAction(typename actionName)
Определения AdvancedCommunication.c:220
CarSoundCtrl
Car's sound controller list. (native, do not change or extend)
Определения Car.c:4
void SpawnUniversalParts()
Определения CarScript.c:2801
string m_CarSeatShiftInSound
Определения CarScript.c:215
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_CarSeatShiftOutSound
Определения CarScript.c:216
string m_CarDoorOpenSound
Определения CarScript.c:213
ref UniversalTemperatureSourceLambdaEngine m_UTSLEngine
Определения CivilianSedan.c:432
ref UniversalTemperatureSourceSettings m_UTSSettings
Определения FireplaceBase.c:220
ref UniversalTemperatureSource m_UTSource
Определения FireplaceBase.c:219
override void SetActions()
Определения OffroadHatchback.c:909
override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
Определения OffroadHatchback.c:850
override string GetAnimSourceFromSelection(string selection)
Определения OffroadHatchback.c:789
override int GetSeatAnimationType(int posIdx)
Определения OffroadHatchback.c:556
override string GetDoorConditionPointFromSelection(string selection)
Определения OffroadHatchback.c:810
override float OnSound(CarSoundCtrl ctrl, float oldValue)
Определения OffroadHatchback.c:744
override string GetDoorInvSlotNameFromSeatPos(int posIdx)
Определения OffroadHatchback.c:727
override void EOnPostSimulate(IEntity other, float timeSlice)
Определения OffroadHatchback.c:535
override void OnEngineStop()
Определения OffroadHatchback.c:525
override float GetTransportCameraDistance()
Определения OffroadHatchback.c:551
override void EEInit()
Определения OffroadHatchback.c:497
override bool CanReleaseAttachment(EntityAI attachment)
Определения OffroadHatchback.c:585
override bool CanDisplayCargo()
Определения OffroadHatchback.c:628
override void OnEngineStart()
Определения OffroadHatchback.c:515
override CarLightBase CreateFrontLight()
Определения OffroadHatchback.c:580
override int GetAnimInstance()
Определения OffroadHatchback.c:546
override bool CrewCanGetThrough(int posIdx)
Определения OffroadHatchback.c:671
override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
Определения OffroadHatchback.c:876
bool CanManipulateSpareWheel(string slotSelectionName)
Определения OffroadHatchback.c:604
override bool IsVitalGlowPlug()
Определения OffroadHatchback.c:845
override CarRearLightBase CreateRearLight()
Определения OffroadHatchback.c:575
class OffroadHatchback extends CarScript OnDebugSpawn()
Определения OffroadHatchback.c:471
override int GetSeatIndexFromDoor(string pDoorSelection)
Определения OffroadHatchback.c:896
void OffroadHatchback()
Определения OffroadHatchback.c:476
override bool IsVitalTruckBattery()
Определения OffroadHatchback.c:840
override string GetDoorSelectionNameFromSeatPos(int posIdx)
Определения OffroadHatchback.c:712
override int GetCarDoorsState(string slotType)
Определения OffroadHatchback.c:643
override int GetCrewIndex(string selection)
Определения OffroadHatchback.c:827
override bool CanDisplayAttachmentCategory(string category_name)
Определения OffroadHatchback.c:609
UniversalTemperatureSourceLambdaBaseImpl UniversalTemperatureSourceLambdaBase UniversalTemperatureSourceLambdaEngine()
VehicleAnimInstances
Определения VehicleAnimInstances.c:2
Определения InventoryItem.c:496
Определения CarRearLightBase.c:2
Super root of all classes in Enforce script.
Определения EnScript.c:11
Определения Building.c:6
Определения constants.c:659
Определения EnEntity.c:165
Определения EnMath.c:7
override void OnDebugSpawn()
Определения OffroadHatchback.c:495
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.