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

◆ EOnPostSimulate()

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

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

495{
499
500 void Sedan_02()
501 {
502 m_dmgContactCoef = 0.0790;
503
504 m_EngineStartOK = "Sedan_02_engine_start_SoundSet";
505 m_EngineStartBattery = "Sedan_02_engine_failed_start_battery_SoundSet";
506 m_EngineStartPlug = "Sedan_02_engine_failed_start_sparkplugs_SoundSet";
507 m_EngineStartFuel = "Sedan_02_engine_failed_start_fuel_SoundSet";
508 m_EngineStopFuel = "offroad_engine_stop_fuel_SoundSet";
509
510 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
511 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
512
513 m_CarHornShortSoundName = "Sedan_02_Horn_Short_SoundSet";
514 m_CarHornLongSoundName = "Sedan_02_Horn_SoundSet";
515
516 SetEnginePos("0 0.7 -1.7");
517 }
518
519 override void EEInit()
520 {
521 super.EEInit();
522
523 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
524 {
526 m_UTSSettings.m_ManualUpdate = true;
528 m_UTSSettings.m_TemperatureCap = 0;
529 m_UTSSettings.m_RangeFull = 0.5;
530 m_UTSSettings.m_RangeMax = 2;
531
534 }
535 }
536
537 override void OnEngineStart()
538 {
539 super.OnEngineStart();
540
541 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
542 {
543 m_UTSource.SetDefferedActive(true, 20.0);
544 }
545 }
546
547 override void OnEngineStop()
548 {
549 super.OnEngineStop();
550
551 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
552 {
553 m_UTSource.SetDefferedActive(false, 10.0);
554 }
555 }
556
557 override void EOnPostSimulate(IEntity other, float timeSlice)
558 {
559 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
560 {
561 if (m_UTSource.IsActive())
562 {
564 }
565 }
566 }
567
568 override int GetAnimInstance()
569 {
570 return VehicleAnimInstances.S120;
571 }
572
573 override int GetSeatAnimationType(int posIdx)
574 {
575 switch (posIdx)
576 {
577 case 0:
578 return DayZPlayerConstants.VEHICLESEAT_DRIVER;
579 case 1:
580 return DayZPlayerConstants.VEHICLESEAT_CODRIVER;
581 case 2:
582 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_L;
583 case 3:
584 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_R;
585 }
586
587 return 0;
588 }
589
590 // Override for car-specific light type
592 {
593 return CarLightBase.Cast(ScriptedLightBase.CreateLight(Sedan_02FrontLight));
594 }
595
596 // Override for car-specific light type
598 {
599 return CarRearLightBase.Cast(ScriptedLightBase.CreateLight(Sedan_02RearLight));
600 }
601
602 override bool CanReleaseAttachment( EntityAI attachment )
603 {
604 if (!super.CanReleaseAttachment(attachment))
605 {
606 return false;
607 }
608
609 string attType = attachment.GetType();
610 switch (attType)
611 {
612 case "CarBattery":
613 if (GetCarDoorsState("Sedan_02_Trunk") == CarDoorState.DOORS_CLOSED || EngineIsOn())
614 {
615 return false;
616 }
617 break;
618
619 case "SparkPlug":
620 if (GetCarDoorsState("Sedan_02_Trunk") == CarDoorState.DOORS_CLOSED || EngineIsOn())
621 {
622 return false;
623 }
624 break;
625
626 case "CarRadiator":
627 if (GetCarDoorsState("Sedan_02_Hood") == CarDoorState.DOORS_CLOSED || EngineIsOn())
628 {
629 return false;
630 }
631 break;
632 }
633
634 return true;
635 }
636
637 override protected bool CanManipulateSpareWheel(string slotSelectionName)
638 {
639 return GetCarDoorsState("Sedan_02_Hood") != CarDoorState.DOORS_CLOSED;
640 }
641
642 override bool CanDisplayAttachmentCategory(string category_name)
643 {
644 if ( !super.CanDisplayAttachmentCategory(category_name))
645 {
646 return false;
647 }
648
649 category_name.ToLower();
650 if (category_name.Contains("engine"))
651 {
652 if (GetCarDoorsState("Sedan_02_Trunk") == CarDoorState.DOORS_CLOSED)
653 {
654 return false;
655 }
656 }
657
658 if (category_name.Contains("trunk"))
659 {
660 if (GetCarDoorsState("Sedan_02_Hood") == CarDoorState.DOORS_CLOSED)
661 {
662 return false;
663 }
664 }
665
666 return true;
667 }
668
669 override bool CanDisplayCargo()
670 {
671 if ( !super.CanDisplayCargo() )
672 return false;
673
674 if ( GetCarDoorsState("Sedan_02_Hood") == CarDoorState.DOORS_CLOSED )
675 return false;
676
677 return true;
678 }
679
680 override int GetCarDoorsState(string slotType)
681 {
682 CarDoor carDoor;
683
684 Class.CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
685 if (!carDoor)
686 {
687 return CarDoorState.DOORS_MISSING;
688 }
689
690 switch (slotType)
691 {
692 case "Sedan_02_Door_1_1":
693 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
694
695 case "Sedan_02_Door_2_1":
696 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
697
698 case "Sedan_02_Door_1_2":
699 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
700
701 case "Sedan_02_Door_2_2":
702 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
703
704 case "Sedan_02_Hood":
705 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
706
707 case "Sedan_02_Trunk":
708 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
709 }
710
711 return CarDoorState.DOORS_MISSING;
712 }
713
714
715 override bool CrewCanGetThrough( int posIdx )
716 {
717 switch( posIdx )
718 {
719 case 0:
720 if ( GetCarDoorsState("Sedan_02_Door_1_1") == CarDoorState.DOORS_CLOSED )
721 return false;
722
723 return true;
724 break;
725
726 case 1:
727 if ( GetCarDoorsState("Sedan_02_Door_2_1") == CarDoorState.DOORS_CLOSED )
728 return false;
729
730 return true;
731 break;
732
733 case 2:
734 if ( GetCarDoorsState("Sedan_02_Door_1_2") == CarDoorState.DOORS_CLOSED )
735 return false;
736
737 return true;
738 break;
739
740 case 3:
741 if ( GetCarDoorsState("Sedan_02_Door_2_2") == CarDoorState.DOORS_CLOSED )
742 return false;
743
744 return true;
745 break;
746 }
747
748 return false;
749 }
750
751 override string GetDoorSelectionNameFromSeatPos(int posIdx)
752 {
753 switch( posIdx )
754 {
755 case 0:
756 return "doors_driver";
757 break;
758 case 1:
759 return "doors_codriver";
760 break;
761 case 2:
762 return "doors_cargo1";
763 break;
764 case 3:
765 return "doors_cargo2";
766 break;
767 }
768
769 return super.GetDoorSelectionNameFromSeatPos(posIdx);
770 }
771
772 override string GetDoorInvSlotNameFromSeatPos(int posIdx)
773 {
774 switch( posIdx )
775 {
776 case 0:
777 return "Sedan_02_Door_1_1";
778 break;
779 case 1:
780 return "Sedan_02_Door_2_1";
781 break;
782 case 2:
783 return "Sedan_02_Door_1_2";
784 break;
785 case 3:
786 return "Sedan_02_Door_2_2";
787 break;
788 }
789
790 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
791 }
792
793 override float OnSound(CarSoundCtrl ctrl, float oldValue)
794 {
795 switch ( ctrl )
796 {
797 case CarSoundCtrl.DOORS:
798 float newValue = 0;
799 if (GetCarDoorsState("Sedan_02_Door_1_1") == CarDoorState.DOORS_CLOSED)
800 {
801 newValue += 0.25;
802 }
803
804 if (GetCarDoorsState("Sedan_02_Door_2_1") == CarDoorState.DOORS_CLOSED)
805 {
806 newValue += 0.25;
807 }
808
809 if (GetCarDoorsState("Sedan_02_Door_1_2") == CarDoorState.DOORS_CLOSED)
810 {
811 newValue += 0.25;
812 }
813
814 if (GetCarDoorsState("Sedan_02_Door_2_2") == CarDoorState.DOORS_CLOSED)
815 {
816 newValue += 0.25;
817 }
818
819 return Math.Clamp(newValue, 0, 1);
820 break;
821 }
822
823 return super.OnSound(ctrl, oldValue);
824 }
825
826 override string GetAnimSourceFromSelection( string selection )
827 {
828 switch( selection )
829 {
830 case "doors_driver":
831 return "DoorsDriver";
832 case "doors_codriver":
833 return "DoorsCoDriver";
834 case "doors_cargo1":
835 return "DoorsCargo1";
836 case "doors_cargo2":
837 return "DoorsCargo2";
838 case "doors_hood":
839 return "DoorsHood";
840 case "doors_trunk":
841 return "DoorsTrunk";
842 }
843
844 return "";
845 }
846
847
848 override bool IsVitalTruckBattery()
849 {
850 return false;
851 }
852
853 override bool IsVitalGlowPlug()
854 {
855 return false;
856 }
857
858 override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
859 {
860 switch (currentSeat)
861 {
862 case 0:
863 return nextSeat == 1;
864
865 case 1:
866 return nextSeat == 0;
867
868 case 2:
869 return nextSeat == 3;
870
871 case 3:
872 return nextSeat == 2;
873 }
874
875 return false;
876 }
877
878 override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
879 {
880 switch (pCurrentSeat)
881 {
882 case 0:
883 return pDoorsSelection == "DoorsDriver";
884
885 case 1:
886 return pDoorsSelection == "DoorsCoDriver";
887
888 case 2:
889 return pDoorsSelection == "DoorsCargo1";
890
891 case 3:
892 return pDoorsSelection == "DoorsCargo2";
893 }
894
895 return false;
896 }
897
898 override void OnDebugSpawn()
899 {
903
904 GetInventory().CreateInInventory("Sedan_02_Wheel");
905 GetInventory().CreateInInventory("Sedan_02_Wheel");
906 GetInventory().CreateInInventory("Sedan_02_Wheel");
907 GetInventory().CreateInInventory("Sedan_02_Wheel");
908 GetInventory().CreateInInventory("Sedan_02_Wheel");
909
910 GetInventory().CreateInInventory("Sedan_02_Door_1_1");
911 GetInventory().CreateInInventory("Sedan_02_Door_1_2");
912 GetInventory().CreateInInventory("Sedan_02_Door_2_1");
913 GetInventory().CreateInInventory("Sedan_02_Door_2_2");
914 GetInventory().CreateInInventory("Sedan_02_Hood");
915 GetInventory().CreateInInventory("Sedan_02_Trunk");
916
917 //-----IN CAR CARGO
918 GetInventory().CreateInInventory("Sedan_02_Wheel");
919 GetInventory().CreateInInventory("Sedan_02_Wheel");
920 }
921}
922
923class Sedan_02_Red extends Sedan_02
924{
925 override void OnDebugSpawn()
926 {
930
931 GetInventory().CreateInInventory("Sedan_02_Wheel");
932 GetInventory().CreateInInventory("Sedan_02_Wheel");
933 GetInventory().CreateInInventory("Sedan_02_Wheel");
934 GetInventory().CreateInInventory("Sedan_02_Wheel");
935
936 GetInventory().CreateInInventory("Sedan_02_Door_1_1_Red");
937 GetInventory().CreateInInventory("Sedan_02_Door_1_2_Red");
938 GetInventory().CreateInInventory("Sedan_02_Door_2_1_Red");
939 GetInventory().CreateInInventory("Sedan_02_Door_2_2_Red");
940 GetInventory().CreateInInventory("Sedan_02_Hood_Red");
941 GetInventory().CreateInInventory("Sedan_02_Trunk_Red");
942
943 //-----IN CAR CARGO
944 GetInventory().CreateInInventory("Sedan_02_Wheel");
945 GetInventory().CreateInInventory("Sedan_02_Wheel");
946 }
947}
948
949class Sedan_02_Grey extends Sedan_02
950{
951 override void OnDebugSpawn()
952 {
956
957 GetInventory().CreateInInventory("Sedan_02_Wheel");
958 GetInventory().CreateInInventory("Sedan_02_Wheel");
959 GetInventory().CreateInInventory("Sedan_02_Wheel");
960 GetInventory().CreateInInventory("Sedan_02_Wheel");
961
962 GetInventory().CreateInInventory("Sedan_02_Door_1_1_Grey");
963 GetInventory().CreateInInventory("Sedan_02_Door_1_2_Grey");
964 GetInventory().CreateInInventory("Sedan_02_Door_2_1_Grey");
965 GetInventory().CreateInInventory("Sedan_02_Door_2_2_Grey");
966 GetInventory().CreateInInventory("Sedan_02_Hood_Grey");
967 GetInventory().CreateInInventory("Sedan_02_Trunk_Grey");
968
969 //-----IN CAR CARGO
970 GetInventory().CreateInInventory("Sedan_02_Wheel");
971 GetInventory().CreateInInventory("Sedan_02_Wheel");
972 }
973}
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
float m_dmgContactCoef
Определения CarScript.c:161
string m_CarDoorOpenSound
Определения CarScript.c:213
ref UniversalTemperatureSourceLambdaEngine m_UTSLEngine
Определения CivilianSedan.c:432
ref UniversalTemperatureSourceSettings m_UTSSettings
Определения FireplaceBase.c:220
ref UniversalTemperatureSource m_UTSource
Определения FireplaceBase.c:219
override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
Определения Sedan_02.c:795
class Sedan_02 extends CarScript OnDebugSpawn()
Определения Sedan_02.c:432
override string GetAnimSourceFromSelection(string selection)
Определения Sedan_02.c:763
override int GetSeatAnimationType(int posIdx)
Определения Sedan_02.c:510
override float OnSound(CarSoundCtrl ctrl, float oldValue)
Определения Sedan_02.c:730
override string GetDoorInvSlotNameFromSeatPos(int posIdx)
Определения Sedan_02.c:709
override void EOnPostSimulate(IEntity other, float timeSlice)
Определения Sedan_02.c:494
override void OnEngineStop()
Определения Sedan_02.c:484
override void EEInit()
Определения Sedan_02.c:456
override bool CanReleaseAttachment(EntityAI attachment)
Определения Sedan_02.c:539
override bool CanDisplayCargo()
Определения Sedan_02.c:606
override void OnEngineStart()
Определения Sedan_02.c:474
override CarLightBase CreateFrontLight()
Определения Sedan_02.c:528
override int GetAnimInstance()
Определения Sedan_02.c:505
override bool CrewCanGetThrough(int posIdx)
Определения Sedan_02.c:652
override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
Определения Sedan_02.c:815
bool CanManipulateSpareWheel(string slotSelectionName)
Определения Sedan_02.c:574
override bool IsVitalGlowPlug()
Определения Sedan_02.c:790
void Sedan_02()
Определения Sedan_02.c:437
override CarRearLightBase CreateRearLight()
Определения Sedan_02.c:534
override bool IsVitalTruckBattery()
Определения Sedan_02.c:785
override string GetDoorSelectionNameFromSeatPos(int posIdx)
Определения Sedan_02.c:688
override int GetCarDoorsState(string slotType)
Определения Sedan_02.c:617
override bool CanDisplayAttachmentCategory(string category_name)
Определения Sedan_02.c:579
UniversalTemperatureSourceLambdaBaseImpl UniversalTemperatureSourceLambdaBase UniversalTemperatureSourceLambdaEngine()
VehicleAnimInstances
Определения VehicleAnimInstances.c:2
Определения InventoryItem.c:496
Определения CarRearLightBase.c:2
Super root of all classes in Enforce script.
Определения EnScript.c:11
Определения Building.c:6
Определения constants.c:659
Определения EnEntity.c:165
Определения EnMath.c:7
override void OnDebugSpawn()
Определения Sedan_02.c:458
Определения Sedan_02.c:457
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
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.