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

◆ CreateFrontLight()

override CarLightBase OnDebugSpawn::CreateFrontLight ( )
protected

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

508{
512
513 void Hatchback_02()
514 {
515 //m_dmgContactCoef = 0.070;
516
517 m_EngineStartOK = "Hatchback_02_engine_start_SoundSet";
518 m_EngineStartBattery = "Hatchback_02_engine_failed_start_battery_SoundSet";
519 m_EngineStartPlug = "Hatchback_02_engine_failed_start_sparkplugs_SoundSet";
520 m_EngineStartFuel = "Hatchback_02_engine_failed_start_fuel_SoundSet";
521 m_EngineStop = "Hatchback_02_engine_stop_SoundSet";
522 m_EngineStopFuel = "Hatchback_02_engine_stop_fuel_SoundSet";
523
524 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
525 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
526
527 m_CarHornShortSoundName = "Hatchback_02_Horn_Short_SoundSet";
528 m_CarHornLongSoundName = "Hatchback_02_Horn_SoundSet";
529
530 SetEnginePos("0 0.7 1.4");
531 }
532
533 override void EEInit()
534 {
535 super.EEInit();
536
537 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
538 {
540 m_UTSSettings.m_ManualUpdate = true;
542 m_UTSSettings.m_TemperatureCap = 0;
543 m_UTSSettings.m_RangeFull = 0.5;
544 m_UTSSettings.m_RangeMax = 2;
545
548 }
549 }
550
551 override void OnEngineStart()
552 {
553 super.OnEngineStart();
554
555 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
556 {
557 m_UTSource.SetDefferedActive(true, 20.0);
558 }
559 }
560
561 override void OnEngineStop()
562 {
563 super.OnEngineStop();
564
565 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
566 {
567 m_UTSource.SetDefferedActive(false, 10.0);
568 }
569 }
570
571 override void EOnPostSimulate(IEntity other, float timeSlice)
572 {
573 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
574 {
575 if (m_UTSource.IsActive())
576 {
578 }
579 }
580 }
581
582 override int GetAnimInstance()
583 {
584 return VehicleAnimInstances.GOLF;
585 }
586
587 override int GetSeatAnimationType(int posIdx)
588 {
589 switch (posIdx)
590 {
591 case 0:
592 return DayZPlayerConstants.VEHICLESEAT_DRIVER;
593 case 1:
594 return DayZPlayerConstants.VEHICLESEAT_CODRIVER;
595 case 2:
596 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_L;
597 case 3:
598 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_R;
599 }
600
601 return 0;
602 }
603
604 // Override for car-specific light type
606 {
607 return CarRearLightBase.Cast(ScriptedLightBase.CreateLight(Hatchback_02RearLight));
608 }
609
610 // Override for car-specific light type
612 {
613 return CarLightBase.Cast(ScriptedLightBase.CreateLight(Hatchback_02FrontLight));
614 }
615
616 override bool CanReleaseAttachment(EntityAI attachment)
617 {
618 if (!super.CanReleaseAttachment(attachment))
619 {
620 return false;
621 }
622
623 if (EngineIsOn() || GetCarDoorsState("Hatchback_02_Hood") == CarDoorState.DOORS_CLOSED)
624 {
625 string attType = attachment.GetType();
626 if (attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
627 {
628 return false;
629 }
630 }
631
632 return true;
633 }
634
635 override protected bool CanManipulateSpareWheel(string slotSelectionName)
636 {
637 return GetCarDoorsState("Hatchback_02_Trunk") != CarDoorState.DOORS_CLOSED;
638 }
639
640 override bool CanDisplayAttachmentCategory( string category_name )
641 {
642 //super
643 if ( !super.CanDisplayAttachmentCategory( category_name ) )
644 return false;
645 //
646
647 category_name.ToLower();
648 if ( category_name.Contains("engine") )
649 {
650 if ( GetCarDoorsState("Hatchback_02_Hood") == CarDoorState.DOORS_CLOSED )
651 return false;
652 }
653
654 return true;
655 }
656
657 override bool CanDisplayCargo()
658 {
659 if ( !super.CanDisplayCargo() )
660 return false;
661
662 if ( GetCarDoorsState("Hatchback_02_Trunk") == CarDoorState.DOORS_CLOSED )
663 return false;
664
665 return true;
666 }
667
668 override int GetCarDoorsState(string slotType)
669 {
670 CarDoor carDoor;
671
672 Class.CastTo(carDoor, FindAttachmentBySlotName(slotType));
673 if (!carDoor)
674 {
675 return CarDoorState.DOORS_MISSING;
676 }
677
678 switch (slotType)
679 {
680 case "Hatchback_02_Door_1_1":
681 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
682
683 case "Hatchback_02_Door_2_1":
684 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
685
686 case "Hatchback_02_Door_1_2":
687 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
688
689 case "Hatchback_02_Door_2_2":
690 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
691
692 case "Hatchback_02_Hood":
693 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
694
695 case "Hatchback_02_Trunk":
696 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
697 }
698
699 return CarDoorState.DOORS_MISSING;
700 }
701
702
703 override bool CrewCanGetThrough(int posIdx)
704 {
705 switch (posIdx)
706 {
707 case 0:
708 if (GetCarDoorsState("Hatchback_02_Door_1_1") == CarDoorState.DOORS_CLOSED)
709 {
710 return false;
711 }
712
713 return true;
714
715 case 1:
716 if (GetCarDoorsState("Hatchback_02_Door_2_1") == CarDoorState.DOORS_CLOSED)
717 {
718 return false;
719 }
720
721 return true;
722
723 case 2:
724 if (GetCarDoorsState("Hatchback_02_Door_1_2") == CarDoorState.DOORS_CLOSED)
725 {
726 return false;
727 }
728
729 return true;
730
731 case 3:
732 if (GetCarDoorsState("Hatchback_02_Door_2_2") == CarDoorState.DOORS_CLOSED)
733 {
734 return false;
735 }
736
737 return true;
738 }
739
740 return false;
741 }
742
743 override string GetDoorSelectionNameFromSeatPos(int posIdx)
744 {
745 switch( posIdx )
746 {
747 case 0:
748 return "doors_driver";
749 break;
750 case 1:
751 return "doors_codriver";
752 break;
753 case 2:
754 return "doors_cargo1";
755 break;
756 case 3:
757 return "doors_cargo2";
758 break;
759 }
760
761 return super.GetDoorSelectionNameFromSeatPos(posIdx);
762 }
763
764 override string GetDoorInvSlotNameFromSeatPos(int posIdx)
765 {
766 switch( posIdx )
767 {
768 case 0:
769 return "Hatchback_02_Door_1_1";
770 break;
771 case 1:
772 return "Hatchback_02_Door_2_1";
773 break;
774 case 2:
775 return "Hatchback_02_Door_1_2";
776 break;
777 case 3:
778 return "Hatchback_02_Door_2_2";
779 break;
780 }
781
782 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
783 }
784
785 override float OnSound(CarSoundCtrl ctrl, float oldValue)
786 {
787 switch (ctrl)
788 {
789 case CarSoundCtrl.DOORS:
790 float newValue = 0;
791 if (GetCarDoorsState("Hatchback_02_Door_1_1") == CarDoorState.DOORS_CLOSED)
792 {
793 newValue += 0.25;
794 }
795
796 if (GetCarDoorsState("Hatchback_02_Door_2_1") == CarDoorState.DOORS_CLOSED)
797 {
798 newValue += 0.25;
799 }
800
801 if (GetCarDoorsState("Hatchback_02_Door_1_2") == CarDoorState.DOORS_CLOSED)
802 {
803 newValue += 0.25;
804 }
805
806 if (GetCarDoorsState("Hatchback_02_Door_2_2") == CarDoorState.DOORS_CLOSED)
807 {
808 newValue += 0.25;
809 }
810
811 return Math.Clamp(newValue, 0, 1);
812 break;
813 }
814
815 return super.OnSound(ctrl, oldValue);
816 }
817
818 override string GetAnimSourceFromSelection( string selection )
819 {
820 switch( selection )
821 {
822 case "doors_driver":
823 return "DoorsDriver";
824 case "doors_codriver":
825 return "DoorsCoDriver";
826 case "doors_cargo1":
827 return "DoorsCargo1";
828 case "doors_cargo2":
829 return "DoorsCargo2";
830 case "doors_hood":
831 return "DoorsHood";
832 case "doors_trunk":
833 return "DoorsTrunk";
834 }
835
836 return "";
837 }
838
839
840 override bool IsVitalTruckBattery()
841 {
842 return false;
843 }
844
845 override bool IsVitalGlowPlug()
846 {
847 return false;
848 }
849
850 override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
851 {
852 switch (currentSeat)
853 {
854 case 0:
855 return nextSeat == 1;
856 case 1:
857 return nextSeat == 0;
858 case 2:
859 return nextSeat == 3;
860 case 3:
861 return nextSeat == 2;
862 }
863
864 return false;
865 }
866
867 override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
868 {
869 switch (pCurrentSeat)
870 {
871 case 0:
872 return pDoorsSelection == "DoorsDriver";
873 case 1:
874 return pDoorsSelection == "DoorsCoDriver";
875 case 2:
876 return pDoorsSelection == "DoorsCargo1";
877 case 3:
878 return pDoorsSelection == "DoorsCargo2";
879 }
880
881 return false;
882 }
883
884 override void OnDebugSpawn()
885 {
886 SpawnUniversalParts();
887 SpawnAdditionalItems();
888 FillUpCarFluids();
889
890 GetInventory().CreateInInventory("Hatchback_02_Wheel");
891 GetInventory().CreateInInventory("Hatchback_02_Wheel");
892 GetInventory().CreateInInventory("Hatchback_02_Wheel");
893 GetInventory().CreateInInventory("Hatchback_02_Wheel");
894
895 GetInventory().CreateInInventory("Hatchback_02_Door_1_1");
896 GetInventory().CreateInInventory("Hatchback_02_Door_1_2");
897 GetInventory().CreateInInventory("Hatchback_02_Door_2_1");
898 GetInventory().CreateInInventory("Hatchback_02_Door_2_2");
899 GetInventory().CreateInInventory("Hatchback_02_Hood");
900 GetInventory().CreateInInventory("Hatchback_02_Trunk");
901
902 //-----IN CAR CARGO
903 GetInventory().CreateInInventory("Hatchback_02_Wheel");
904 GetInventory().CreateInInventory("Hatchback_02_Wheel");
905 }
906}
907
908class Hatchback_02_Black extends Hatchback_02
909{
910 override void OnDebugSpawn()
911 {
912 SpawnUniversalParts();
913 SpawnAdditionalItems();
914 FillUpCarFluids();
915
916 GetInventory().CreateInInventory("Hatchback_02_Wheel");
917 GetInventory().CreateInInventory("Hatchback_02_Wheel");
918 GetInventory().CreateInInventory("Hatchback_02_Wheel");
919 GetInventory().CreateInInventory("Hatchback_02_Wheel");
920
921 GetInventory().CreateInInventory("Hatchback_02_Door_1_1_Black");
922 GetInventory().CreateInInventory("Hatchback_02_Door_1_2_Black");
923 GetInventory().CreateInInventory("Hatchback_02_Door_2_1_Black");
924 GetInventory().CreateInInventory("Hatchback_02_Door_2_2_Black");
925 GetInventory().CreateInInventory("Hatchback_02_Hood_Black");
926 GetInventory().CreateInInventory("Hatchback_02_Trunk_Black");
927
928 //-----IN CAR CARGO
929 GetInventory().CreateInInventory("Hatchback_02_Wheel");
930 GetInventory().CreateInInventory("Hatchback_02_Wheel");
931 }
932};
933
934class Hatchback_02_Blue extends Hatchback_02
935{
936 override void OnDebugSpawn()
937 {
938 SpawnUniversalParts();
939 SpawnAdditionalItems();
940 FillUpCarFluids();
941
942 GetInventory().CreateInInventory("Hatchback_02_Wheel");
943 GetInventory().CreateInInventory("Hatchback_02_Wheel");
944 GetInventory().CreateInInventory("Hatchback_02_Wheel");
945 GetInventory().CreateInInventory("Hatchback_02_Wheel");
946
947 GetInventory().CreateInInventory("Hatchback_02_Door_1_1_Blue");
948 GetInventory().CreateInInventory("Hatchback_02_Door_1_2_Blue");
949 GetInventory().CreateInInventory("Hatchback_02_Door_2_1_Blue");
950 GetInventory().CreateInInventory("Hatchback_02_Door_2_2_Blue");
951 GetInventory().CreateInInventory("Hatchback_02_Hood_Blue");
952 GetInventory().CreateInInventory("Hatchback_02_Trunk_Blue");
953
954 //-----IN CAR CARGO
955 GetInventory().CreateInInventory("Hatchback_02_Wheel");
956 GetInventory().CreateInInventory("Hatchback_02_Wheel");
957 }
958}
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
class Hatchback_02_Blue extends Hatchback_02 OnDebugSpawn
Определения Hatchback_02.c:404
override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
Определения Hatchback_02.c:746
override string GetAnimSourceFromSelection(string selection)
Определения Hatchback_02.c:714
override int GetSeatAnimationType(int posIdx)
Определения Hatchback_02.c:483
override float OnSound(CarSoundCtrl ctrl, float oldValue)
Определения Hatchback_02.c:681
void Hatchback_02()
Определения Hatchback_02.c:409
override string GetDoorInvSlotNameFromSeatPos(int posIdx)
Определения Hatchback_02.c:660
override void EOnPostSimulate(IEntity other, float timeSlice)
Определения Hatchback_02.c:467
override void OnEngineStop()
Определения Hatchback_02.c:457
override void EEInit()
Определения Hatchback_02.c:429
override bool CanReleaseAttachment(EntityAI attachment)
Определения Hatchback_02.c:512
override bool CanDisplayCargo()
Определения Hatchback_02.c:553
override void OnEngineStart()
Определения Hatchback_02.c:447
override CarLightBase CreateFrontLight()
Определения Hatchback_02.c:507
override int GetAnimInstance()
Определения Hatchback_02.c:478
override bool CrewCanGetThrough(int posIdx)
Определения Hatchback_02.c:599
override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
Определения Hatchback_02.c:763
bool CanManipulateSpareWheel(string slotSelectionName)
Определения Hatchback_02.c:531
override bool IsVitalGlowPlug()
Определения Hatchback_02.c:741
override CarRearLightBase CreateRearLight()
Определения Hatchback_02.c:501
override bool IsVitalTruckBattery()
Определения Hatchback_02.c:736
override string GetDoorSelectionNameFromSeatPos(int posIdx)
Определения Hatchback_02.c:639
override int GetCarDoorsState(string slotType)
Определения Hatchback_02.c:564
override bool CanDisplayAttachmentCategory(string category_name)
Определения Hatchback_02.c:536
UniversalTemperatureSourceLambdaBaseImpl UniversalTemperatureSourceLambdaBase UniversalTemperatureSourceLambdaEngine()
VehicleAnimInstances
Определения VehicleAnimInstances.c:2
Определения CarRearLightBase.c:2
Super root of all classes in Enforce script.
Определения EnScript.c:11
override void OnDebugSpawn()
Определения Hatchback_02.c:430
Определения Hatchback_02.c:429
Определения EnEntity.c:165
Определения EnMath.c:7
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.