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

◆ CreateRearLight()

override CarRearLightBase OnDebugSpawn::CreateRearLight ( )
protected

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

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