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

◆ CreateRearLight()

override CarRearLightBase OnDebugSpawn::CreateRearLight ( )
protected

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

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