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

◆ CreateRearLight()

override CarRearLightBase OnDebugSpawn::CreateRearLight ( )
protected

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

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