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

◆ CreateRearLight()

override CarRearLightBase OnDebugSpawn::CreateRearLight ( )
protected

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

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