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

◆ CreateFrontLight()

override CarLightBase OnDebugSpawn::CreateFrontLight ( )
protected

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

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