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

◆ CreateFrontLight()

override CarLightBase OnDebugSpawn::CreateFrontLight ( )
protected

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

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