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

◆ EOnPostSimulate()

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

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

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