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

◆ CreateFrontLight()

override CarLightBase OnDebugSpawn::CreateFrontLight ( )
protected

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

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