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

◆ EOnPostSimulate()

override void OnDebugSpawn::EOnPostSimulate ( IEntity other,
float timeSlice )
protected

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

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