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

◆ CreateFrontLight()

override CarLightBase OnDebugSpawn::CreateFrontLight ( )
protected

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

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