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

◆ OnEngineStop()

override void OnDebugSpawn::OnEngineStop ( )
protected

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

456{
460
461 void Hatchback_02()
462 {
463 //m_dmgContactCoef = 0.070;
464
465 m_EngineStartOK = "Hatchback_02_engine_start_SoundSet";
466 m_EngineStartBattery = "Hatchback_02_engine_failed_start_battery_SoundSet";
467 m_EngineStartPlug = "Hatchback_02_engine_failed_start_sparkplugs_SoundSet";
468 m_EngineStartFuel = "Hatchback_02_engine_failed_start_fuel_SoundSet";
469 m_EngineStopFuel = "offroad_engine_stop_fuel_SoundSet";
470
471 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
472 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
473
474 m_CarHornShortSoundName = "Hatchback_02_Horn_Short_SoundSet";
475 m_CarHornLongSoundName = "Hatchback_02_Horn_SoundSet";
476
477 SetEnginePos("0 0.7 1.4");
478 }
479
480 override void EEInit()
481 {
482 super.EEInit();
483
484 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
485 {
487 m_UTSSettings.m_ManualUpdate = true;
489 m_UTSSettings.m_TemperatureCap = 0;
490 m_UTSSettings.m_RangeFull = 0.5;
491 m_UTSSettings.m_RangeMax = 2;
492
495 }
496 }
497
498 override void OnEngineStart()
499 {
500 super.OnEngineStart();
501
502 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
503 {
504 m_UTSource.SetDefferedActive(true, 20.0);
505 }
506 }
507
508 override void OnEngineStop()
509 {
510 super.OnEngineStop();
511
512 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
513 {
514 m_UTSource.SetDefferedActive(false, 10.0);
515 }
516 }
517
518 override void EOnPostSimulate(IEntity other, float timeSlice)
519 {
520 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
521 {
522 if (m_UTSource.IsActive())
523 {
525 }
526 }
527 }
528
529 override int GetAnimInstance()
530 {
531 return VehicleAnimInstances.GOLF;
532 }
533
534 override int GetSeatAnimationType(int posIdx)
535 {
536 switch (posIdx)
537 {
538 case 0:
539 return DayZPlayerConstants.VEHICLESEAT_DRIVER;
540 case 1:
541 return DayZPlayerConstants.VEHICLESEAT_CODRIVER;
542 case 2:
543 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_L;
544 case 3:
545 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_R;
546 }
547
548 return 0;
549 }
550
551 // Override for car-specific light type
553 {
554 return CarRearLightBase.Cast(ScriptedLightBase.CreateLight(Hatchback_02RearLight));
555 }
556
557 // Override for car-specific light type
559 {
560 return CarLightBase.Cast(ScriptedLightBase.CreateLight(Hatchback_02FrontLight));
561 }
562
563 override bool CanReleaseAttachment(EntityAI attachment)
564 {
565 if (!super.CanReleaseAttachment(attachment))
566 {
567 return false;
568 }
569
570 if (EngineIsOn() || GetCarDoorsState("Hatchback_02_Hood") == CarDoorState.DOORS_CLOSED)
571 {
572 string attType = attachment.GetType();
573 if (attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
574 {
575 return false;
576 }
577 }
578
579 return true;
580 }
581
582 override protected bool CanManipulateSpareWheel(string slotSelectionName)
583 {
584 return GetCarDoorsState("Hatchback_02_Trunk") != CarDoorState.DOORS_CLOSED;
585 }
586
587 override bool CanDisplayAttachmentCategory( string category_name )
588 {
589 //super
590 if ( !super.CanDisplayAttachmentCategory( category_name ) )
591 return false;
592 //
593
594 category_name.ToLower();
595 if ( category_name.Contains("engine") )
596 {
597 if ( GetCarDoorsState("Hatchback_02_Hood") == CarDoorState.DOORS_CLOSED )
598 return false;
599 }
600
601 return true;
602 }
603
604 override bool CanDisplayCargo()
605 {
606 if ( !super.CanDisplayCargo() )
607 return false;
608
609 if ( GetCarDoorsState("Hatchback_02_Trunk") == CarDoorState.DOORS_CLOSED )
610 return false;
611
612 return true;
613 }
614
615 override int GetCarDoorsState(string slotType)
616 {
617 CarDoor carDoor;
618
619 Class.CastTo(carDoor, FindAttachmentBySlotName(slotType));
620 if (!carDoor)
621 {
622 return CarDoorState.DOORS_MISSING;
623 }
624
625 switch (slotType)
626 {
627 case "Hatchback_02_Door_1_1":
628 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
629
630 case "Hatchback_02_Door_2_1":
631 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
632
633 case "Hatchback_02_Door_1_2":
634 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
635
636 case "Hatchback_02_Door_2_2":
637 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
638
639 case "Hatchback_02_Hood":
640 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
641
642 case "Hatchback_02_Trunk":
643 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
644 }
645
646 return CarDoorState.DOORS_MISSING;
647 }
648
649
650 override bool CrewCanGetThrough(int posIdx)
651 {
652 switch (posIdx)
653 {
654 case 0:
655 if (GetCarDoorsState("Hatchback_02_Door_1_1") == CarDoorState.DOORS_CLOSED)
656 {
657 return false;
658 }
659
660 return true;
661
662 case 1:
663 if (GetCarDoorsState("Hatchback_02_Door_2_1") == CarDoorState.DOORS_CLOSED)
664 {
665 return false;
666 }
667
668 return true;
669
670 case 2:
671 if (GetCarDoorsState("Hatchback_02_Door_1_2") == CarDoorState.DOORS_CLOSED)
672 {
673 return false;
674 }
675
676 return true;
677
678 case 3:
679 if (GetCarDoorsState("Hatchback_02_Door_2_2") == CarDoorState.DOORS_CLOSED)
680 {
681 return false;
682 }
683
684 return true;
685 }
686
687 return false;
688 }
689
690 override string GetDoorSelectionNameFromSeatPos(int posIdx)
691 {
692 switch( posIdx )
693 {
694 case 0:
695 return "doors_driver";
696 break;
697 case 1:
698 return "doors_codriver";
699 break;
700 case 2:
701 return "doors_cargo1";
702 break;
703 case 3:
704 return "doors_cargo2";
705 break;
706 }
707
708 return super.GetDoorSelectionNameFromSeatPos(posIdx);
709 }
710
711 override string GetDoorInvSlotNameFromSeatPos(int posIdx)
712 {
713 switch( posIdx )
714 {
715 case 0:
716 return "Hatchback_02_Door_1_1";
717 break;
718 case 1:
719 return "Hatchback_02_Door_2_1";
720 break;
721 case 2:
722 return "Hatchback_02_Door_1_2";
723 break;
724 case 3:
725 return "Hatchback_02_Door_2_2";
726 break;
727 }
728
729 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
730 }
731
732 override float OnSound(CarSoundCtrl ctrl, float oldValue)
733 {
734 switch (ctrl)
735 {
736 case CarSoundCtrl.DOORS:
737 float newValue = 0;
738 if (GetCarDoorsState("Hatchback_02_Door_1_1") == CarDoorState.DOORS_CLOSED)
739 {
740 newValue += 0.25;
741 }
742
743 if (GetCarDoorsState("Hatchback_02_Door_2_1") == CarDoorState.DOORS_CLOSED)
744 {
745 newValue += 0.25;
746 }
747
748 if (GetCarDoorsState("Hatchback_02_Door_1_2") == CarDoorState.DOORS_CLOSED)
749 {
750 newValue += 0.25;
751 }
752
753 if (GetCarDoorsState("Hatchback_02_Door_2_2") == CarDoorState.DOORS_CLOSED)
754 {
755 newValue += 0.25;
756 }
757
758 return Math.Clamp(newValue, 0, 1);
759 break;
760 }
761
762 return super.OnSound(ctrl, oldValue);
763 }
764
765 override string GetAnimSourceFromSelection( string selection )
766 {
767 switch( selection )
768 {
769 case "doors_driver":
770 return "DoorsDriver";
771 case "doors_codriver":
772 return "DoorsCoDriver";
773 case "doors_cargo1":
774 return "DoorsCargo1";
775 case "doors_cargo2":
776 return "DoorsCargo2";
777 case "doors_hood":
778 return "DoorsHood";
779 case "doors_trunk":
780 return "DoorsTrunk";
781 }
782
783 return "";
784 }
785
786
787 override bool IsVitalTruckBattery()
788 {
789 return false;
790 }
791
792 override bool IsVitalGlowPlug()
793 {
794 return false;
795 }
796
797 override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
798 {
799 switch (currentSeat)
800 {
801 case 0:
802 return nextSeat == 1;
803 case 1:
804 return nextSeat == 0;
805 case 2:
806 return nextSeat == 3;
807 case 3:
808 return nextSeat == 2;
809 }
810
811 return false;
812 }
813
814 override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
815 {
816 switch (pCurrentSeat)
817 {
818 case 0:
819 return pDoorsSelection == "DoorsDriver";
820 case 1:
821 return pDoorsSelection == "DoorsCoDriver";
822 case 2:
823 return pDoorsSelection == "DoorsCargo1";
824 case 3:
825 return pDoorsSelection == "DoorsCargo2";
826 }
827
828 return false;
829 }
830
831 override void OnDebugSpawn()
832 {
836
837 GetInventory().CreateInInventory("Hatchback_02_Wheel");
838 GetInventory().CreateInInventory("Hatchback_02_Wheel");
839 GetInventory().CreateInInventory("Hatchback_02_Wheel");
840 GetInventory().CreateInInventory("Hatchback_02_Wheel");
841
842 GetInventory().CreateInInventory("Hatchback_02_Door_1_1");
843 GetInventory().CreateInInventory("Hatchback_02_Door_1_2");
844 GetInventory().CreateInInventory("Hatchback_02_Door_2_1");
845 GetInventory().CreateInInventory("Hatchback_02_Door_2_2");
846 GetInventory().CreateInInventory("Hatchback_02_Hood");
847 GetInventory().CreateInInventory("Hatchback_02_Trunk");
848
849 //-----IN CAR CARGO
850 GetInventory().CreateInInventory("Hatchback_02_Wheel");
851 GetInventory().CreateInInventory("Hatchback_02_Wheel");
852 }
853}
854
855class Hatchback_02_Black extends Hatchback_02
856{
857 override void OnDebugSpawn()
858 {
862
863 GetInventory().CreateInInventory("Hatchback_02_Wheel");
864 GetInventory().CreateInInventory("Hatchback_02_Wheel");
865 GetInventory().CreateInInventory("Hatchback_02_Wheel");
866 GetInventory().CreateInInventory("Hatchback_02_Wheel");
867
868 GetInventory().CreateInInventory("Hatchback_02_Door_1_1_Black");
869 GetInventory().CreateInInventory("Hatchback_02_Door_1_2_Black");
870 GetInventory().CreateInInventory("Hatchback_02_Door_2_1_Black");
871 GetInventory().CreateInInventory("Hatchback_02_Door_2_2_Black");
872 GetInventory().CreateInInventory("Hatchback_02_Hood_Black");
873 GetInventory().CreateInInventory("Hatchback_02_Trunk_Black");
874
875 //-----IN CAR CARGO
876 GetInventory().CreateInInventory("Hatchback_02_Wheel");
877 GetInventory().CreateInInventory("Hatchback_02_Wheel");
878 }
879};
880
881class Hatchback_02_Blue extends Hatchback_02
882{
883 override void OnDebugSpawn()
884 {
888
889 GetInventory().CreateInInventory("Hatchback_02_Wheel");
890 GetInventory().CreateInInventory("Hatchback_02_Wheel");
891 GetInventory().CreateInInventory("Hatchback_02_Wheel");
892 GetInventory().CreateInInventory("Hatchback_02_Wheel");
893
894 GetInventory().CreateInInventory("Hatchback_02_Door_1_1_Blue");
895 GetInventory().CreateInInventory("Hatchback_02_Door_1_2_Blue");
896 GetInventory().CreateInInventory("Hatchback_02_Door_2_1_Blue");
897 GetInventory().CreateInInventory("Hatchback_02_Door_2_2_Blue");
898 GetInventory().CreateInInventory("Hatchback_02_Hood_Blue");
899 GetInventory().CreateInInventory("Hatchback_02_Trunk_Blue");
900
901 //-----IN CAR CARGO
902 GetInventory().CreateInInventory("Hatchback_02_Wheel");
903 GetInventory().CreateInInventory("Hatchback_02_Wheel");
904 }
905}
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
ref UniversalTemperatureSourceLambdaEngine m_UTSLEngine
Определения CivilianSedan.c:432
ref UniversalTemperatureSourceSettings m_UTSSettings
Определения FireplaceBase.c:220
ref UniversalTemperatureSource m_UTSource
Определения FireplaceBase.c:219
class Hatchback_02_Blue extends Hatchback_02 OnDebugSpawn
Определения Hatchback_02.c:403
override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
Определения Hatchback_02.c:744
override string GetAnimSourceFromSelection(string selection)
Определения Hatchback_02.c:712
override int GetSeatAnimationType(int posIdx)
Определения Hatchback_02.c:481
override float OnSound(CarSoundCtrl ctrl, float oldValue)
Определения Hatchback_02.c:679
void Hatchback_02()
Определения Hatchback_02.c:408
override string GetDoorInvSlotNameFromSeatPos(int posIdx)
Определения Hatchback_02.c:658
override void EOnPostSimulate(IEntity other, float timeSlice)
Определения Hatchback_02.c:465
override void OnEngineStop()
Определения Hatchback_02.c:455
override void EEInit()
Определения Hatchback_02.c:427
override bool CanReleaseAttachment(EntityAI attachment)
Определения Hatchback_02.c:510
override bool CanDisplayCargo()
Определения Hatchback_02.c:551
override void OnEngineStart()
Определения Hatchback_02.c:445
override CarLightBase CreateFrontLight()
Определения Hatchback_02.c:505
override int GetAnimInstance()
Определения Hatchback_02.c:476
override bool CrewCanGetThrough(int posIdx)
Определения Hatchback_02.c:597
override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
Определения Hatchback_02.c:761
bool CanManipulateSpareWheel(string slotSelectionName)
Определения Hatchback_02.c:529
override bool IsVitalGlowPlug()
Определения Hatchback_02.c:739
override CarRearLightBase CreateRearLight()
Определения Hatchback_02.c:499
override bool IsVitalTruckBattery()
Определения Hatchback_02.c:734
override string GetDoorSelectionNameFromSeatPos(int posIdx)
Определения Hatchback_02.c:637
override int GetCarDoorsState(string slotType)
Определения Hatchback_02.c:562
override bool CanDisplayAttachmentCategory(string category_name)
Определения Hatchback_02.c:534
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
override void OnDebugSpawn()
Определения Hatchback_02.c:429
Определения Hatchback_02.c:428
Определения 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
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.