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

◆ CreateRearLight()

override CarRearLightBase OnDebugSpawn::CreateRearLight ( )
protected

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

535{
539
540 void Sedan_02()
541 {
542 m_dmgContactCoef = 0.0790;
543
544 m_EngineStartOK = "Sedan_02_engine_start_SoundSet";
545 m_EngineStartBattery = "Sedan_02_engine_failed_start_battery_SoundSet";
546 m_EngineStartPlug = "Sedan_02_engine_failed_start_sparkplugs_SoundSet";
547 m_EngineStartFuel = "Sedan_02_engine_failed_start_fuel_SoundSet";
548 m_EngineStopFuel = "offroad_engine_stop_fuel_SoundSet";
549
550 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
551 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
552
553 m_CarHornShortSoundName = "Sedan_02_Horn_Short_SoundSet";
554 m_CarHornLongSoundName = "Sedan_02_Horn_SoundSet";
555
556 SetEnginePos("0 0.7 -1.7");
557 }
558
559 override void EEInit()
560 {
561 super.EEInit();
562
563 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
564 {
566 m_UTSSettings.m_ManualUpdate = true;
568 m_UTSSettings.m_TemperatureCap = 0;
569 m_UTSSettings.m_RangeFull = 0.5;
570 m_UTSSettings.m_RangeMax = 2;
571
574 }
575 }
576
577 override void OnEngineStart()
578 {
579 super.OnEngineStart();
580
581 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
582 {
583 m_UTSource.SetDefferedActive(true, 20.0);
584 }
585 }
586
587 override void OnEngineStop()
588 {
589 super.OnEngineStop();
590
591 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
592 {
593 m_UTSource.SetDefferedActive(false, 10.0);
594 }
595 }
596
597 override void EOnPostSimulate(IEntity other, float timeSlice)
598 {
599 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
600 {
601 if (m_UTSource.IsActive())
602 {
604 }
605 }
606 }
607
608 override int GetAnimInstance()
609 {
610 return VehicleAnimInstances.S120;
611 }
612
613 override int GetSeatAnimationType(int posIdx)
614 {
615 switch (posIdx)
616 {
617 case 0:
618 return DayZPlayerConstants.VEHICLESEAT_DRIVER;
619 case 1:
620 return DayZPlayerConstants.VEHICLESEAT_CODRIVER;
621 case 2:
622 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_L;
623 case 3:
624 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_R;
625 }
626
627 return 0;
628 }
629
630 // Override for car-specific light type
632 {
633 return CarLightBase.Cast(ScriptedLightBase.CreateLight(Sedan_02FrontLight));
634 }
635
636 // Override for car-specific light type
638 {
639 return CarRearLightBase.Cast(ScriptedLightBase.CreateLight(Sedan_02RearLight));
640 }
641
642 override bool CanReleaseAttachment( EntityAI attachment )
643 {
644 if (!super.CanReleaseAttachment(attachment))
645 {
646 return false;
647 }
648
649 string attType = attachment.GetType();
650 switch (attType)
651 {
652 case "CarBattery":
653 if (GetCarDoorsState("Sedan_02_Trunk") == CarDoorState.DOORS_CLOSED || EngineIsOn())
654 {
655 return false;
656 }
657 break;
658
659 case "SparkPlug":
660 if (GetCarDoorsState("Sedan_02_Trunk") == CarDoorState.DOORS_CLOSED || EngineIsOn())
661 {
662 return false;
663 }
664 break;
665
666 case "CarRadiator":
667 if (GetCarDoorsState("Sedan_02_Hood") == CarDoorState.DOORS_CLOSED || EngineIsOn())
668 {
669 return false;
670 }
671 break;
672 }
673
674 return true;
675 }
676
677 override protected bool CanManipulateSpareWheel(string slotSelectionName)
678 {
679 return GetCarDoorsState("Sedan_02_Hood") != CarDoorState.DOORS_CLOSED;
680 }
681
682 override bool CanDisplayAttachmentCategory(string category_name)
683 {
684 if ( !super.CanDisplayAttachmentCategory(category_name))
685 {
686 return false;
687 }
688
689 category_name.ToLower();
690 if (category_name.Contains("engine"))
691 {
692 if (GetCarDoorsState("Sedan_02_Trunk") == CarDoorState.DOORS_CLOSED)
693 {
694 return false;
695 }
696 }
697
698 if (category_name.Contains("trunk"))
699 {
700 if (GetCarDoorsState("Sedan_02_Hood") == CarDoorState.DOORS_CLOSED)
701 {
702 return false;
703 }
704 }
705
706 return true;
707 }
708
709 override bool CanDisplayCargo()
710 {
711 if ( !super.CanDisplayCargo() )
712 return false;
713
714 if ( GetCarDoorsState("Sedan_02_Hood") == CarDoorState.DOORS_CLOSED )
715 return false;
716
717 return true;
718 }
719
720 override int GetCarDoorsState(string slotType)
721 {
722 CarDoor carDoor;
723
724 Class.CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
725 if (!carDoor)
726 {
727 return CarDoorState.DOORS_MISSING;
728 }
729
730 switch (slotType)
731 {
732 case "Sedan_02_Door_1_1":
733 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
734
735 case "Sedan_02_Door_2_1":
736 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
737
738 case "Sedan_02_Door_1_2":
739 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
740
741 case "Sedan_02_Door_2_2":
742 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
743
744 case "Sedan_02_Hood":
745 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
746
747 case "Sedan_02_Trunk":
748 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
749 }
750
751 return CarDoorState.DOORS_MISSING;
752 }
753
754
755 override bool CrewCanGetThrough( int posIdx )
756 {
757 switch( posIdx )
758 {
759 case 0:
760 if ( GetCarDoorsState("Sedan_02_Door_1_1") == CarDoorState.DOORS_CLOSED )
761 return false;
762
763 return true;
764 break;
765
766 case 1:
767 if ( GetCarDoorsState("Sedan_02_Door_2_1") == CarDoorState.DOORS_CLOSED )
768 return false;
769
770 return true;
771 break;
772
773 case 2:
774 if ( GetCarDoorsState("Sedan_02_Door_1_2") == CarDoorState.DOORS_CLOSED )
775 return false;
776
777 return true;
778 break;
779
780 case 3:
781 if ( GetCarDoorsState("Sedan_02_Door_2_2") == CarDoorState.DOORS_CLOSED )
782 return false;
783
784 return true;
785 break;
786 }
787
788 return false;
789 }
790
791 override string GetDoorSelectionNameFromSeatPos(int posIdx)
792 {
793 switch( posIdx )
794 {
795 case 0:
796 return "doors_driver";
797 break;
798 case 1:
799 return "doors_codriver";
800 break;
801 case 2:
802 return "doors_cargo1";
803 break;
804 case 3:
805 return "doors_cargo2";
806 break;
807 }
808
809 return super.GetDoorSelectionNameFromSeatPos(posIdx);
810 }
811
812 override string GetDoorInvSlotNameFromSeatPos(int posIdx)
813 {
814 switch( posIdx )
815 {
816 case 0:
817 return "Sedan_02_Door_1_1";
818 break;
819 case 1:
820 return "Sedan_02_Door_2_1";
821 break;
822 case 2:
823 return "Sedan_02_Door_1_2";
824 break;
825 case 3:
826 return "Sedan_02_Door_2_2";
827 break;
828 }
829
830 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
831 }
832
833 override float OnSound(CarSoundCtrl ctrl, float oldValue)
834 {
835 switch ( ctrl )
836 {
837 case CarSoundCtrl.DOORS:
838 float newValue = 0;
839 if (GetCarDoorsState("Sedan_02_Door_1_1") == CarDoorState.DOORS_CLOSED)
840 {
841 newValue += 0.25;
842 }
843
844 if (GetCarDoorsState("Sedan_02_Door_2_1") == CarDoorState.DOORS_CLOSED)
845 {
846 newValue += 0.25;
847 }
848
849 if (GetCarDoorsState("Sedan_02_Door_1_2") == CarDoorState.DOORS_CLOSED)
850 {
851 newValue += 0.25;
852 }
853
854 if (GetCarDoorsState("Sedan_02_Door_2_2") == CarDoorState.DOORS_CLOSED)
855 {
856 newValue += 0.25;
857 }
858
859 return Math.Clamp(newValue, 0, 1);
860 break;
861 }
862
863 return super.OnSound(ctrl, oldValue);
864 }
865
866 override string GetAnimSourceFromSelection( string selection )
867 {
868 switch( selection )
869 {
870 case "doors_driver":
871 return "DoorsDriver";
872 case "doors_codriver":
873 return "DoorsCoDriver";
874 case "doors_cargo1":
875 return "DoorsCargo1";
876 case "doors_cargo2":
877 return "DoorsCargo2";
878 case "doors_hood":
879 return "DoorsHood";
880 case "doors_trunk":
881 return "DoorsTrunk";
882 }
883
884 return "";
885 }
886
887
888 override bool IsVitalTruckBattery()
889 {
890 return false;
891 }
892
893 override bool IsVitalGlowPlug()
894 {
895 return false;
896 }
897
898 override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
899 {
900 switch (currentSeat)
901 {
902 case 0:
903 return nextSeat == 1;
904
905 case 1:
906 return nextSeat == 0;
907
908 case 2:
909 return nextSeat == 3;
910
911 case 3:
912 return nextSeat == 2;
913 }
914
915 return false;
916 }
917
918 override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
919 {
920 switch (pCurrentSeat)
921 {
922 case 0:
923 return pDoorsSelection == "DoorsDriver";
924
925 case 1:
926 return pDoorsSelection == "DoorsCoDriver";
927
928 case 2:
929 return pDoorsSelection == "DoorsCargo1";
930
931 case 3:
932 return pDoorsSelection == "DoorsCargo2";
933 }
934
935 return false;
936 }
937
938 override void OnDebugSpawn()
939 {
943
944 GetInventory().CreateInInventory("Sedan_02_Wheel");
945 GetInventory().CreateInInventory("Sedan_02_Wheel");
946 GetInventory().CreateInInventory("Sedan_02_Wheel");
947 GetInventory().CreateInInventory("Sedan_02_Wheel");
948 GetInventory().CreateInInventory("Sedan_02_Wheel");
949
950 GetInventory().CreateInInventory("Sedan_02_Door_1_1");
951 GetInventory().CreateInInventory("Sedan_02_Door_1_2");
952 GetInventory().CreateInInventory("Sedan_02_Door_2_1");
953 GetInventory().CreateInInventory("Sedan_02_Door_2_2");
954 GetInventory().CreateInInventory("Sedan_02_Hood");
955 GetInventory().CreateInInventory("Sedan_02_Trunk");
956
957 //-----IN CAR CARGO
958 GetInventory().CreateInInventory("Sedan_02_Wheel");
959 GetInventory().CreateInInventory("Sedan_02_Wheel");
960 }
961}
962
963class Sedan_02_Red extends Sedan_02
964{
965 override void OnDebugSpawn()
966 {
970
971 GetInventory().CreateInInventory("Sedan_02_Wheel");
972 GetInventory().CreateInInventory("Sedan_02_Wheel");
973 GetInventory().CreateInInventory("Sedan_02_Wheel");
974 GetInventory().CreateInInventory("Sedan_02_Wheel");
975
976 GetInventory().CreateInInventory("Sedan_02_Door_1_1_Red");
977 GetInventory().CreateInInventory("Sedan_02_Door_1_2_Red");
978 GetInventory().CreateInInventory("Sedan_02_Door_2_1_Red");
979 GetInventory().CreateInInventory("Sedan_02_Door_2_2_Red");
980 GetInventory().CreateInInventory("Sedan_02_Hood_Red");
981 GetInventory().CreateInInventory("Sedan_02_Trunk_Red");
982
983 //-----IN CAR CARGO
984 GetInventory().CreateInInventory("Sedan_02_Wheel");
985 GetInventory().CreateInInventory("Sedan_02_Wheel");
986 }
987}
988
989class Sedan_02_Grey extends Sedan_02
990{
991 override void OnDebugSpawn()
992 {
996
997 GetInventory().CreateInInventory("Sedan_02_Wheel");
998 GetInventory().CreateInInventory("Sedan_02_Wheel");
999 GetInventory().CreateInInventory("Sedan_02_Wheel");
1000 GetInventory().CreateInInventory("Sedan_02_Wheel");
1001
1002 GetInventory().CreateInInventory("Sedan_02_Door_1_1_Grey");
1003 GetInventory().CreateInInventory("Sedan_02_Door_1_2_Grey");
1004 GetInventory().CreateInInventory("Sedan_02_Door_2_1_Grey");
1005 GetInventory().CreateInInventory("Sedan_02_Door_2_2_Grey");
1006 GetInventory().CreateInInventory("Sedan_02_Hood_Grey");
1007 GetInventory().CreateInInventory("Sedan_02_Trunk_Grey");
1008
1009 //-----IN CAR CARGO
1010 GetInventory().CreateInInventory("Sedan_02_Wheel");
1011 GetInventory().CreateInInventory("Sedan_02_Wheel");
1012 }
1013}
CarSoundCtrl
Car's sound controller list. (native, do not change or extend)
Определения Car.c:4
void SpawnUniversalParts()
Определения CarScript.c:2801
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
float m_dmgContactCoef
Определения CarScript.c:161
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 bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
Определения Sedan_02.c:795
class Sedan_02 extends CarScript OnDebugSpawn()
Определения Sedan_02.c:432
override string GetAnimSourceFromSelection(string selection)
Определения Sedan_02.c:763
override int GetSeatAnimationType(int posIdx)
Определения Sedan_02.c:510
override float OnSound(CarSoundCtrl ctrl, float oldValue)
Определения Sedan_02.c:730
override string GetDoorInvSlotNameFromSeatPos(int posIdx)
Определения Sedan_02.c:709
override void EOnPostSimulate(IEntity other, float timeSlice)
Определения Sedan_02.c:494
override void OnEngineStop()
Определения Sedan_02.c:484
override void EEInit()
Определения Sedan_02.c:456
override bool CanReleaseAttachment(EntityAI attachment)
Определения Sedan_02.c:539
override bool CanDisplayCargo()
Определения Sedan_02.c:606
override void OnEngineStart()
Определения Sedan_02.c:474
override CarLightBase CreateFrontLight()
Определения Sedan_02.c:528
override int GetAnimInstance()
Определения Sedan_02.c:505
override bool CrewCanGetThrough(int posIdx)
Определения Sedan_02.c:652
override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
Определения Sedan_02.c:815
bool CanManipulateSpareWheel(string slotSelectionName)
Определения Sedan_02.c:574
override bool IsVitalGlowPlug()
Определения Sedan_02.c:790
void Sedan_02()
Определения Sedan_02.c:437
override CarRearLightBase CreateRearLight()
Определения Sedan_02.c:534
override bool IsVitalTruckBattery()
Определения Sedan_02.c:785
override string GetDoorSelectionNameFromSeatPos(int posIdx)
Определения Sedan_02.c:688
override int GetCarDoorsState(string slotType)
Определения Sedan_02.c:617
override bool CanDisplayAttachmentCategory(string category_name)
Определения Sedan_02.c:579
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()
Определения Sedan_02.c:458
Определения Sedan_02.c:457
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
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.