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

◆ CanDisplayCargo()

override bool OnDebugSpawn::CanDisplayCargo ( )
protected

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

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