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

◆ CreateRearLight()

override CarRearLightBase OnDebugSpawn::CreateRearLight ( )
protected

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

539{
543
544 void CivilianSedan()
545 {
546 //m_dmgContactCoef = 0.065;
547
548 m_EngineStartOK = "CivilianSedan_engine_start_SoundSet";
549 m_EngineStartBattery = "CivilianSedan_engine_failed_start_battery_SoundSet";
550 m_EngineStartPlug = "CivilianSedan_engine_failed_start_sparkplugs_SoundSet";
551 m_EngineStartFuel = "CivilianSedan_engine_failed_start_fuel_SoundSet";
552 m_EngineStop = "CivilianSedan_engine_stop_SoundSet";
553 m_EngineStopFuel = "CivilianSedan_engine_stop_fuel_SoundSet";
554
555 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
556 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
557
558 m_CarHornShortSoundName = "CivilianSedan_Horn_Short_SoundSet";
559 m_CarHornLongSoundName = "CivilianSedan_Horn_SoundSet";
560
561 SetEnginePos("0 0.7 1.6");
562 }
563
564 override void EEInit()
565 {
566 super.EEInit();
567
568 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
569 {
571 m_UTSSettings.m_ManualUpdate = true;
573 m_UTSSettings.m_TemperatureCap = 0;
574 m_UTSSettings.m_RangeFull = 0.5;
575 m_UTSSettings.m_RangeMax = 2;
576
579 }
580 }
581
582 override void OnEngineStart()
583 {
584 super.OnEngineStart();
585
586 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
587 {
588 m_UTSource.SetDefferedActive(true, 20.0);
589 }
590 }
591
592 override void OnEngineStop()
593 {
594 super.OnEngineStop();
595
596 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
597 {
598 m_UTSource.SetDefferedActive(false, 10.0);
599 }
600 }
601
602 override void EOnPostSimulate(IEntity other, float timeSlice)
603 {
604 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
605 {
606 if (m_UTSource.IsActive())
607 {
609 }
610 }
611 }
612
613 override int GetAnimInstance()
614 {
615 return VehicleAnimInstances.SEDAN;
616 }
617
618 override float GetTransportCameraDistance()
619 {
620 return 4.5;
621 }
622
623 override int GetSeatAnimationType(int posIdx)
624 {
625 switch (posIdx)
626 {
627 case 0:
628 return DayZPlayerConstants.VEHICLESEAT_DRIVER;
629 case 1:
630 return DayZPlayerConstants.VEHICLESEAT_CODRIVER;
631 case 2:
632 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_L;
633 case 3:
634 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_R;
635 }
636
637 return 0;
638 }
639
640 // Override for car-specific light type
642 {
643 return CarLightBase.Cast( ScriptedLightBase.CreateLight(CivilianSedanFrontLight) );
644 }
645
646 // Override for car-specific light type
648 {
649 return CarRearLightBase.Cast( ScriptedLightBase.CreateLight(CivilianSedanRearLight) );
650 }
651
652 override bool CanReleaseAttachment( EntityAI attachment )
653 {
654 if( !super.CanReleaseAttachment( attachment ) )
655 return false;
656
657 string attType = attachment.GetType();
658
659 if ( EngineIsOn() || GetCarDoorsState("CivSedanHood") == CarDoorState.DOORS_CLOSED )
660 {
661 if ( attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
662 return false;
663 }
664
665 return true;
666 }
667
668 override protected bool CanManipulateSpareWheel(string slotSelectionName)
669 {
670 return GetCarDoorsState("CivSedanTrunk") != CarDoorState.DOORS_CLOSED;
671 }
672
673 override bool CanDisplayAttachmentCategory(string category_name)
674 {
675 //super
676 if (!super.CanDisplayAttachmentCategory(category_name))
677 return false;
678 //
679
680 category_name.ToLower();
681 if (category_name.Contains("engine"))
682 {
683 if (GetCarDoorsState("CivSedanHood") == CarDoorState.DOORS_CLOSED)
684 return false;
685 }
686
687 return true;
688 }
689
690 override bool CanDisplayCargo()
691 {
692 if ( !super.CanDisplayCargo() )
693 return false;
694
695 if ( GetCarDoorsState("CivSedanTrunk") == CarDoorState.DOORS_CLOSED )
696 return false;
697
698 return true;
699 }
700
701 override int GetCarDoorsState( string slotType )
702 {
703 CarDoor carDoor;
704
705 Class.CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
706 if (!carDoor)
707 {
708 return CarDoorState.DOORS_MISSING;
709 }
710
711 switch (slotType)
712 {
713 case "CivSedanDriverDoors":
714 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
715 break;
716
717 case "CivSedanCoDriverDoors":
718 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
719 break;
720
721 case "CivSedanCargo1Doors":
722 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
723 break;
724
725 case "CivSedanCargo2Doors":
726 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
727 break;
728
729 case "CivSedanTrunk":
730 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
731 break;
732
733 case "CivSedanHood":
734 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
735 break;
736 }
737
738 return CarDoorState.DOORS_MISSING;
739 }
740
741
742 override bool CrewCanGetThrough( int posIdx )
743 {
744 switch( posIdx )
745 {
746 case 0:
747 if ( GetCarDoorsState("CivSedanDriverDoors") == CarDoorState.DOORS_CLOSED )
748 return false;
749
750 return true;
751 break;
752
753 case 1:
754 if ( GetCarDoorsState("CivSedanCoDriverDoors") == CarDoorState.DOORS_CLOSED )
755 return false;
756
757 return true;
758 break;
759
760 case 2:
761 if ( GetCarDoorsState("CivSedanCargo1Doors") == CarDoorState.DOORS_CLOSED )
762 return false;
763
764 return true;
765 break;
766
767 case 3:
768 if ( GetCarDoorsState("CivSedanCargo2Doors") == CarDoorState.DOORS_CLOSED )
769 return false;
770
771 return true;
772 break;
773 }
774
775 return false;
776 }
777
778 override string GetDoorSelectionNameFromSeatPos(int posIdx)
779 {
780 switch( posIdx )
781 {
782 case 0:
783 return "doors_driver";
784 break;
785 case 1:
786 return "doors_codriver";
787 break;
788 case 2:
789 return "doors_cargo1";
790 break;
791 case 3:
792 return "doors_cargo2";
793 break;
794 }
795
796 return super.GetDoorSelectionNameFromSeatPos(posIdx);
797 }
798
799 override string GetDoorInvSlotNameFromSeatPos(int posIdx)
800 {
801 switch( posIdx )
802 {
803 case 0:
804 return "CivSedanDriverDoors";
805 break;
806 case 1:
807 return "CivSedanCoDriverDoors";
808 break;
809 case 2:
810 return "CivSedanCargo1Doors";
811 break;
812 case 3:
813 return "CivSedanCargo2Doors";
814 break;
815 }
816
817 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
818 }
819
820 // 0 full ambient and engine sound
821 // 1 zero ambient and engine sound
822 override float OnSound(CarSoundCtrl ctrl, float oldValue)
823 {
824 switch (ctrl)
825 {
826 case CarSoundCtrl.DOORS:
827 float newValue = 0;
828 if (GetCarDoorsState("CivSedanDriverDoors") == CarDoorState.DOORS_CLOSED)
829 {
830 newValue += 0.25;
831 }
832
833 if (GetCarDoorsState("CivSedanCoDriverDoors") == CarDoorState.DOORS_CLOSED)
834 {
835 newValue += 0.25;
836 }
837
838 if (GetCarDoorsState("CivSedanCargo1Doors") == CarDoorState.DOORS_CLOSED)
839 {
840 newValue += 0.25;
841 }
842
843 if (GetCarDoorsState("CivSedanCargo2Doors") == CarDoorState.DOORS_CLOSED)
844 {
845 newValue += 0.25;
846 }
847
848 if (GetHealthLevel("WindowFront") == GameConstants.STATE_RUINED)
849 {
850 newValue -= 0.6;
851 }
852
853 if (GetHealthLevel("WindowBack") == GameConstants.STATE_RUINED)
854 {
855 newValue -= 0.6;
856 }
857
858 return Math.Clamp(newValue, 0, 1);
859 break;
860 }
861
862 return super.OnSound(ctrl, oldValue);
863 }
864
865 override string GetAnimSourceFromSelection(string selection)
866 {
867 switch (selection)
868 {
869 case "doors_driver":
870 return "DoorsDriver";
871 case "doors_codriver":
872 return "DoorsCoDriver";
873 case "doors_cargo1":
874 return "DoorsCargo1";
875 case "doors_cargo2":
876 return "DoorsCargo2";
877 case "doors_hood":
878 return "DoorsHood";
879 case "doors_trunk":
880 return "DoorsTrunk";
881 }
882
883 return "";
884 }
885
886 override bool IsVitalTruckBattery()
887 {
888 return false;
889 }
890
891 override bool IsVitalGlowPlug()
892 {
893 return false;
894 }
895
896 override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
897 {
898 switch (currentSeat)
899 {
900 case 0:
901 return nextSeat == 1;
902
903 case 1:
904 return nextSeat == 0;
905
906 case 2:
907 return nextSeat == 3;
908
909 case 3:
910 return nextSeat == 2;
911 }
912
913 return false;
914 }
915
916 override bool CanReachDoorsFromSeat( string pDoorsSelection, int pCurrentSeat )
917 {
918 switch (pCurrentSeat)
919 {
920 case 0:
921 return pDoorsSelection == "DoorsDriver";
922
923 case 1:
924 return pDoorsSelection == "DoorsCoDriver";
925
926 case 2:
927 return pDoorsSelection == "DoorsCargo1";
928
929 case 3:
930 return pDoorsSelection == "DoorsCargo2";
931 }
932
933 return false;
934 }
935
936 override void OnDebugSpawn()
937 {
938 SpawnUniversalParts();
939 SpawnAdditionalItems();
940 FillUpCarFluids();
941
942 GetInventory().CreateInInventory("CivSedanWheel");
943 GetInventory().CreateInInventory("CivSedanWheel");
944 GetInventory().CreateInInventory("CivSedanWheel");
945 GetInventory().CreateInInventory("CivSedanWheel");
946
947 GetInventory().CreateInInventory("CivSedanDoors_Driver");
948 GetInventory().CreateInInventory("CivSedanDoors_CoDriver");
949 GetInventory().CreateInInventory("CivSedanDoors_BackLeft");
950 GetInventory().CreateInInventory("CivSedanDoors_BackRight");
951 GetInventory().CreateInInventory("CivSedanHood");
952 GetInventory().CreateInInventory("CivSedanTrunk");
953
954 //-----IN CAR CARGO
955 GetInventory().CreateInInventory("CivSedanWheel");
956 GetInventory().CreateInInventory("CivSedanWheel");
957 }
958
959 override float GetPushForceCoefficientMultiplier()
960 {
961 return 1.5;
962 }
963}
964
965class CivilianSedan_Wine extends CivilianSedan
966{
967 override void OnDebugSpawn()
968 {
969 SpawnUniversalParts();
970 SpawnAdditionalItems();
971 FillUpCarFluids();
972
973 GetInventory().CreateInInventory("CivSedanWheel");
974 GetInventory().CreateInInventory("CivSedanWheel");
975 GetInventory().CreateInInventory("CivSedanWheel");
976 GetInventory().CreateInInventory("CivSedanWheel");
977
978 GetInventory().CreateInInventory("CivSedanDoors_Driver_Wine");
979 GetInventory().CreateInInventory("CivSedanDoors_CoDriver_Wine");
980 GetInventory().CreateInInventory("CivSedanDoors_BackLeft_Wine");
981 GetInventory().CreateInInventory("CivSedanDoors_BackRight_Wine");
982 GetInventory().CreateInInventory("CivSedanHood_Wine");
983 GetInventory().CreateInInventory("CivSedanTrunk_Wine");
984
985 //-----IN CAR CARGO
986 GetInventory().CreateInInventory("CivSedanWheel");
987 GetInventory().CreateInInventory("CivSedanWheel");
988 }
989}
990
991class CivilianSedan_Black extends CivilianSedan
992{
993 override void OnDebugSpawn()
994 {
995 SpawnUniversalParts();
996 SpawnAdditionalItems();
997 FillUpCarFluids();
998
999 GetInventory().CreateInInventory("CivSedanWheel");
1000 GetInventory().CreateInInventory("CivSedanWheel");
1001 GetInventory().CreateInInventory("CivSedanWheel");
1002 GetInventory().CreateInInventory("CivSedanWheel");
1003
1004 GetInventory().CreateInInventory("CivSedanDoors_Driver_Black");
1005 GetInventory().CreateInInventory("CivSedanDoors_CoDriver_Black");
1006 GetInventory().CreateInInventory("CivSedanDoors_BackLeft_Black");
1007 GetInventory().CreateInInventory("CivSedanDoors_BackRight_Black");
1008 GetInventory().CreateInInventory("CivSedanHood_Black");
1009 GetInventory().CreateInInventory("CivSedanTrunk_Black");
1010
1011 //-----IN CAR CARGO
1012 GetInventory().CreateInInventory("CivSedanWheel");
1013 GetInventory().CreateInInventory("CivSedanWheel");
1014 }
1015}
CarSoundCtrl
Car's sound controller list. (native, do not change or extend)
Определения Car.c:4
CarDoorState
Определения CarScript.c:2
override float GetPushForceCoefficientMultiplier()
Определения CivilianSedan.c:850
class CivilianSedan extends CarScript OnDebugSpawn()
Определения CivilianSedan.c:430
override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
Определения CivilianSedan.c:787
override string GetAnimSourceFromSelection(string selection)
Определения CivilianSedan.c:756
override int GetSeatAnimationType(int posIdx)
Определения CivilianSedan.c:514
override float OnSound(CarSoundCtrl ctrl, float oldValue)
Определения CivilianSedan.c:713
override string GetDoorInvSlotNameFromSeatPos(int posIdx)
Определения CivilianSedan.c:690
override void EOnPostSimulate(IEntity other, float timeSlice)
Определения CivilianSedan.c:493
override void OnEngineStop()
Определения CivilianSedan.c:483
void CivilianSedan()
Определения CivilianSedan.c:435
ref UniversalTemperatureSourceLambdaEngine m_UTSLEngine
Определения CivilianSedan.c:433
override float GetTransportCameraDistance()
Определения CivilianSedan.c:509
override void EEInit()
Определения CivilianSedan.c:455
override bool CanReleaseAttachment(EntityAI attachment)
Определения CivilianSedan.c:543
override bool CanDisplayCargo()
Определения CivilianSedan.c:581
override void OnEngineStart()
Определения CivilianSedan.c:473
override CarLightBase CreateFrontLight()
Определения CivilianSedan.c:532
override int GetAnimInstance()
Определения CivilianSedan.c:504
override bool CrewCanGetThrough(int posIdx)
Определения CivilianSedan.c:633
override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
Определения CivilianSedan.c:807
bool CanManipulateSpareWheel(string slotSelectionName)
Определения CivilianSedan.c:559
override bool IsVitalGlowPlug()
Определения CivilianSedan.c:782
override CarRearLightBase CreateRearLight()
Определения CivilianSedan.c:538
override bool IsVitalTruckBattery()
Определения CivilianSedan.c:777
override string GetDoorSelectionNameFromSeatPos(int posIdx)
Определения CivilianSedan.c:669
override int GetCarDoorsState(string slotType)
Определения CivilianSedan.c:592
override bool CanDisplayAttachmentCategory(string category_name)
Определения CivilianSedan.c:564
ref UniversalTemperatureSourceSettings m_UTSSettings
Определения FireplaceBase.c:220
ref UniversalTemperatureSource m_UTSource
Определения FireplaceBase.c:219
UniversalTemperatureSourceLambdaBaseImpl UniversalTemperatureSourceLambdaBase UniversalTemperatureSourceLambdaEngine()
VehicleAnimInstances
Определения VehicleAnimInstances.c:2
Определения CarRearLightBase.c:2
override void OnDebugSpawn()
Определения CivilianSedan.c:456
Определения CivilianSedan.c:455
Super root of all classes in Enforce script.
Определения EnScript.c:11
Определения 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
const int STATE_RUINED
Определения 3_Game/constants.c:848
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.