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

◆ EOnPostSimulate()

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

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

487{
491
492 void Hatchback_02()
493 {
494 //m_dmgContactCoef = 0.070;
495
496 m_EngineStartOK = "Hatchback_02_engine_start_SoundSet";
497 m_EngineStartBattery = "Hatchback_02_engine_failed_start_battery_SoundSet";
498 m_EngineStartPlug = "Hatchback_02_engine_failed_start_sparkplugs_SoundSet";
499 m_EngineStartFuel = "Hatchback_02_engine_failed_start_fuel_SoundSet";
500 m_EngineStop = "Hatchback_02_engine_stop_SoundSet";
501 m_EngineStopFuel = "Hatchback_02_engine_stop_fuel_SoundSet";
502
503 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
504 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
505
506 m_CarHornShortSoundName = "Hatchback_02_Horn_Short_SoundSet";
507 m_CarHornLongSoundName = "Hatchback_02_Horn_SoundSet";
508
509 SetEnginePos("0 0.7 1.4");
510 }
511
512 void ~Hatchback_02()
513 {
514 m_UTSource = null;
515 m_UTSSettings = null;
516 m_UTSLEngine = null;
517 }
518
519 override void EEInit()
520 {
521 super.EEInit();
522
523 if (g_Game.IsServer() || !g_Game.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 (g_Game.IsServer() || !g_Game.IsMultiplayer())
542 {
543 if (m_UTSource)
544 m_UTSource.SetDefferedActive(true, 20.0);
545 }
546 }
547
548 override void OnEngineStop()
549 {
550 super.OnEngineStop();
551
552 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
553 {
554 if (m_UTSource)
555 m_UTSource.SetDefferedActive(false, 10.0);
556 }
557 }
558
559 override void EOnPostSimulate(IEntity other, float timeSlice)
560 {
561 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
562 {
563 if (m_UTSource && m_UTSource.IsActive())
564 {
566 }
567 }
568 }
569
570 override int GetAnimInstance()
571 {
572 return VehicleAnimInstances.GOLF;
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 CarRearLightBase.Cast(ScriptedLightBase.CreateLight(Hatchback_02RearLight));
596 }
597
598 // Override for car-specific light type
600 {
601 return CarLightBase.Cast(ScriptedLightBase.CreateLight(Hatchback_02FrontLight));
602 }
603
604 override bool CanReleaseAttachment(EntityAI attachment)
605 {
606 if (!super.CanReleaseAttachment(attachment))
607 {
608 return false;
609 }
610
611 if (EngineIsOn() || GetCarDoorsState("Hatchback_02_Hood") == CarDoorState.DOORS_CLOSED)
612 {
613 string attType = attachment.GetType();
614 if (attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
615 {
616 return false;
617 }
618 }
619
620 return true;
621 }
622
623 override protected bool CanManipulateSpareWheel(string slotSelectionName)
624 {
625 return GetCarDoorsState("Hatchback_02_Trunk") != CarDoorState.DOORS_CLOSED;
626 }
627
628 override bool CanDisplayAttachmentCategory( string category_name )
629 {
630 //super
631 if ( !super.CanDisplayAttachmentCategory( category_name ) )
632 return false;
633 //
634
635 category_name.ToLower();
636 if ( category_name.Contains("engine") )
637 {
638 if ( GetCarDoorsState("Hatchback_02_Hood") == CarDoorState.DOORS_CLOSED )
639 return false;
640 }
641
642 return true;
643 }
644
645 override bool CanDisplayCargo()
646 {
647 if ( !super.CanDisplayCargo() )
648 return false;
649
650 if ( GetCarDoorsState("Hatchback_02_Trunk") == CarDoorState.DOORS_CLOSED )
651 return false;
652
653 return true;
654 }
655
656 override int GetCarDoorsState(string slotType)
657 {
658 CarDoor carDoor;
659
660 Class.CastTo(carDoor, FindAttachmentBySlotName(slotType));
661 if (!carDoor)
662 {
663 return CarDoorState.DOORS_MISSING;
664 }
665
666 switch (slotType)
667 {
668 case "Hatchback_02_Door_1_1":
669 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
670
671 case "Hatchback_02_Door_2_1":
672 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
673
674 case "Hatchback_02_Door_1_2":
675 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
676
677 case "Hatchback_02_Door_2_2":
678 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
679
680 case "Hatchback_02_Hood":
681 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
682
683 case "Hatchback_02_Trunk":
684 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
685 }
686
687 return CarDoorState.DOORS_MISSING;
688 }
689
690
691 override bool CrewCanGetThrough(int posIdx)
692 {
693 switch (posIdx)
694 {
695 case 0:
696 if (GetCarDoorsState("Hatchback_02_Door_1_1") == CarDoorState.DOORS_CLOSED)
697 {
698 return false;
699 }
700
701 return true;
702
703 case 1:
704 if (GetCarDoorsState("Hatchback_02_Door_2_1") == CarDoorState.DOORS_CLOSED)
705 {
706 return false;
707 }
708
709 return true;
710
711 case 2:
712 if (GetCarDoorsState("Hatchback_02_Door_1_2") == CarDoorState.DOORS_CLOSED)
713 {
714 return false;
715 }
716
717 return true;
718
719 case 3:
720 if (GetCarDoorsState("Hatchback_02_Door_2_2") == CarDoorState.DOORS_CLOSED)
721 {
722 return false;
723 }
724
725 return true;
726 }
727
728 return false;
729 }
730
731 override string GetDoorSelectionNameFromSeatPos(int posIdx)
732 {
733 switch( posIdx )
734 {
735 case 0:
736 return "doors_driver";
737 break;
738 case 1:
739 return "doors_codriver";
740 break;
741 case 2:
742 return "doors_cargo1";
743 break;
744 case 3:
745 return "doors_cargo2";
746 break;
747 }
748
749 return super.GetDoorSelectionNameFromSeatPos(posIdx);
750 }
751
752 override string GetDoorInvSlotNameFromSeatPos(int posIdx)
753 {
754 switch( posIdx )
755 {
756 case 0:
757 return "Hatchback_02_Door_1_1";
758 break;
759 case 1:
760 return "Hatchback_02_Door_2_1";
761 break;
762 case 2:
763 return "Hatchback_02_Door_1_2";
764 break;
765 case 3:
766 return "Hatchback_02_Door_2_2";
767 break;
768 }
769
770 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
771 }
772
773 override float OnSound(CarSoundCtrl ctrl, float oldValue)
774 {
775 switch (ctrl)
776 {
777 case CarSoundCtrl.DOORS:
778 float newValue = 0;
779 if (GetCarDoorsState("Hatchback_02_Door_1_1") == CarDoorState.DOORS_CLOSED)
780 {
781 newValue += 0.25;
782 }
783
784 if (GetCarDoorsState("Hatchback_02_Door_2_1") == CarDoorState.DOORS_CLOSED)
785 {
786 newValue += 0.25;
787 }
788
789 if (GetCarDoorsState("Hatchback_02_Door_1_2") == CarDoorState.DOORS_CLOSED)
790 {
791 newValue += 0.25;
792 }
793
794 if (GetCarDoorsState("Hatchback_02_Door_2_2") == CarDoorState.DOORS_CLOSED)
795 {
796 newValue += 0.25;
797 }
798
799 return Math.Clamp(newValue, 0, 1);
800 break;
801 }
802
803 return super.OnSound(ctrl, oldValue);
804 }
805
806 override string GetAnimSourceFromSelection( string selection )
807 {
808 switch( selection )
809 {
810 case "doors_driver":
811 return "DoorsDriver";
812 case "doors_codriver":
813 return "DoorsCoDriver";
814 case "doors_cargo1":
815 return "DoorsCargo1";
816 case "doors_cargo2":
817 return "DoorsCargo2";
818 case "doors_hood":
819 return "DoorsHood";
820 case "doors_trunk":
821 return "DoorsTrunk";
822 }
823
824 return "";
825 }
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 case 1:
845 return nextSeat == 0;
846 case 2:
847 return nextSeat == 3;
848 case 3:
849 return nextSeat == 2;
850 }
851
852 return false;
853 }
854
855 override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
856 {
857 switch (pCurrentSeat)
858 {
859 case 0:
860 return pDoorsSelection == "DoorsDriver";
861 case 1:
862 return pDoorsSelection == "DoorsCoDriver";
863 case 2:
864 return pDoorsSelection == "DoorsCargo1";
865 case 3:
866 return pDoorsSelection == "DoorsCargo2";
867 }
868
869 return false;
870 }
871
872 override void OnDebugSpawn()
873 {
874 SpawnUniversalParts();
875 SpawnAdditionalItems();
876 FillUpCarFluids();
877
878 GameInventory inventory = GetInventory();
879 inventory.CreateInInventory("Hatchback_02_Wheel");
880 inventory.CreateInInventory("Hatchback_02_Wheel");
881 inventory.CreateInInventory("Hatchback_02_Wheel");
882 inventory.CreateInInventory("Hatchback_02_Wheel");
883
884 inventory.CreateInInventory("Hatchback_02_Door_1_1");
885 inventory.CreateInInventory("Hatchback_02_Door_1_2");
886 inventory.CreateInInventory("Hatchback_02_Door_2_1");
887 inventory.CreateInInventory("Hatchback_02_Door_2_2");
888 inventory.CreateInInventory("Hatchback_02_Hood");
889 inventory.CreateInInventory("Hatchback_02_Trunk");
890
891 //-----IN CAR CARGO
892 inventory.CreateInInventory("Hatchback_02_Wheel");
893 inventory.CreateInInventory("Hatchback_02_Wheel");
894 }
895}
896
897class Hatchback_02_Black extends Hatchback_02
898{
899 override void OnDebugSpawn()
900 {
901 SpawnUniversalParts();
902 SpawnAdditionalItems();
903 FillUpCarFluids();
904
905 GameInventory inventory = GetInventory();
906 inventory.CreateInInventory("Hatchback_02_Wheel");
907 inventory.CreateInInventory("Hatchback_02_Wheel");
908 inventory.CreateInInventory("Hatchback_02_Wheel");
909 inventory.CreateInInventory("Hatchback_02_Wheel");
910
911 inventory.CreateInInventory("Hatchback_02_Door_1_1_Black");
912 inventory.CreateInInventory("Hatchback_02_Door_1_2_Black");
913 inventory.CreateInInventory("Hatchback_02_Door_2_1_Black");
914 inventory.CreateInInventory("Hatchback_02_Door_2_2_Black");
915 inventory.CreateInInventory("Hatchback_02_Hood_Black");
916 inventory.CreateInInventory("Hatchback_02_Trunk_Black");
917
918 //-----IN CAR CARGO
919 inventory.CreateInInventory("Hatchback_02_Wheel");
920 inventory.CreateInInventory("Hatchback_02_Wheel");
921 }
922};
923
924class Hatchback_02_Blue extends Hatchback_02
925{
926 override void OnDebugSpawn()
927 {
928 SpawnUniversalParts();
929 SpawnAdditionalItems();
930 FillUpCarFluids();
931
932 GameInventory inventory = GetInventory();
933 inventory.CreateInInventory("Hatchback_02_Wheel");
934 inventory.CreateInInventory("Hatchback_02_Wheel");
935 inventory.CreateInInventory("Hatchback_02_Wheel");
936 inventory.CreateInInventory("Hatchback_02_Wheel");
937
938 inventory.CreateInInventory("Hatchback_02_Door_1_1_Blue");
939 inventory.CreateInInventory("Hatchback_02_Door_1_2_Blue");
940 inventory.CreateInInventory("Hatchback_02_Door_2_1_Blue");
941 inventory.CreateInInventory("Hatchback_02_Door_2_2_Blue");
942 inventory.CreateInInventory("Hatchback_02_Hood_Blue");
943 inventory.CreateInInventory("Hatchback_02_Trunk_Blue");
944
945 //-----IN CAR CARGO
946 inventory.CreateInInventory("Hatchback_02_Wheel");
947 inventory.CreateInInventory("Hatchback_02_Wheel");
948 }
949}
CarSoundCtrl
Car's sound controller list. (native, do not change or extend)
Определения Car.c:4
CarDoorState
Определения CarScript.c:2
ref UniversalTemperatureSourceLambdaEngine m_UTSLEngine
Определения CivilianSedan.c:443
DayZGame g_Game
Определения DayZGame.c:3942
ref UniversalTemperatureSourceSettings m_UTSSettings
Определения FireplaceBase.c:221
ref UniversalTemperatureSource m_UTSource
Определения FireplaceBase.c:220
class Hatchback_02_Blue extends Hatchback_02 OnDebugSpawn
Определения Hatchback_02.c:414
void ~Hatchback_02()
Определения Hatchback_02.c:439
override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
Определения Hatchback_02.c:765
override string GetAnimSourceFromSelection(string selection)
Определения Hatchback_02.c:733
override int GetSeatAnimationType(int posIdx)
Определения Hatchback_02.c:502
override float OnSound(CarSoundCtrl ctrl, float oldValue)
Определения Hatchback_02.c:700
void Hatchback_02()
Определения Hatchback_02.c:419
override string GetDoorInvSlotNameFromSeatPos(int posIdx)
Определения Hatchback_02.c:679
override void EOnPostSimulate(IEntity other, float timeSlice)
Определения Hatchback_02.c:486
override void OnEngineStop()
Определения Hatchback_02.c:475
override void EEInit()
Определения Hatchback_02.c:446
override bool CanReleaseAttachment(EntityAI attachment)
Определения Hatchback_02.c:531
override bool CanDisplayCargo()
Определения Hatchback_02.c:572
override void OnEngineStart()
Определения Hatchback_02.c:464
override CarLightBase CreateFrontLight()
Определения Hatchback_02.c:526
override int GetAnimInstance()
Определения Hatchback_02.c:497
override bool CrewCanGetThrough(int posIdx)
Определения Hatchback_02.c:618
override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
Определения Hatchback_02.c:782
bool CanManipulateSpareWheel(string slotSelectionName)
Определения Hatchback_02.c:550
override bool IsVitalGlowPlug()
Определения Hatchback_02.c:760
override CarRearLightBase CreateRearLight()
Определения Hatchback_02.c:520
override bool IsVitalTruckBattery()
Определения Hatchback_02.c:755
override string GetDoorSelectionNameFromSeatPos(int posIdx)
Определения Hatchback_02.c:658
override int GetCarDoorsState(string slotType)
Определения Hatchback_02.c:583
override bool CanDisplayAttachmentCategory(string category_name)
Определения Hatchback_02.c:555
UniversalTemperatureSourceLambdaBaseImpl UniversalTemperatureSourceLambdaBase UniversalTemperatureSourceLambdaEngine()
VehicleAnimInstances
Определения VehicleAnimInstances.c:2
Определения CarRearLightBase.c:2
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
override void OnDebugSpawn()
Определения Hatchback_02.c:441
Определения Hatchback_02.c:440
Определения 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
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.