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

◆ CreateFrontLight()

override CarLightBase OnDebugSpawn::CreateFrontLight ( )
protected

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

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