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

◆ CreateFrontLight()

override CarLightBase OnDebugSpawn::CreateFrontLight ( )
protected

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

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