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

◆ CreateFrontLight()

override CarLightBase OnDebugSpawn::CreateFrontLight ( )
protected

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

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