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

◆ OnEngineStop()

override void OnDebugSpawn::OnEngineStop ( )
protected

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

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