Advertisement
Rinepim

CameraScript

Sep 19th, 2015
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 5.38 KB | None | 0 0
  1. using GTA;
  2. using System;
  3. namespace Technology_1
  4. {
  5.     public class Technology_1_Rinepim : Script
  6.     {
  7.         GTA.Timer check_visible,draw_light;
  8.         GTA.Object kamerka;
  9.         GTA.Ped camera_brain;
  10.         Camera camera_player_cam;
  11.         public Technology_1_Rinepim()
  12.         {
  13.  
  14.            
  15.             check_visible = new GTA.Timer(1, false);
  16.             draw_light = new GTA.Timer(1, false);
  17.             GTA.Native.Function.Call("REQUEST_MODEL", Model.FromString("e2_maison_camera"));
  18.             kamerka = World.CreateObject(new Model("e2_maison_camera"), new Vector3(-412.1921F, 1391.7250F, 15.6087F));
  19.             kamerka.Rotation = new Vector3(0,0F,30F);
  20.             kamerka.Collision=false;
  21.             kamerka.FreezePosition = true;
  22.  
  23.  
  24.             this.BindConsoleCommand("camera1", new ConsoleCommandDelegate(Camera1), " - Change camera 1");
  25.             this.BindConsoleCommand("clear", new ConsoleCommandDelegate(Clear_cam), " - Clear camera");
  26.             string anim_play = "abdomen";
  27.             AnimationSet anim_group = new AnimationSet("dam_rec_player");
  28.             GTA.Native.Function.Call("REQUEST_MODEL", Model.FromString("ig_jason"));
  29.             camera_brain = World.CreatePed(Model.FromString("ig_jason"), kamerka.Position-new Vector3(-0.03F,0.09F,1.7F));
  30.             //camera_brain.FreezePosition = true;
  31.             camera_brain.Invincible = true;
  32.             GTA.Native.Function.Call("FREEZE_CHAR_POSITION_AND_DONT_LOAD_COLLISION",camera_brain,true);
  33.             GTA.Native.Function.Call("SET_CHAR_COLLISION", camera_brain, false);
  34.             GTA.Native.Function.Call("SET_CHAR_ROTATION", camera_brain, kamerka.Rotation.X, kamerka.Rotation.Y, kamerka.Rotation.Z);
  35.            
  36.             camera_brain.BlockGestures = true;
  37.             camera_brain.BlockPermanentEvents = true;
  38.             camera_brain.BlockWeaponSwitching = true;
  39.            
  40.             camera_brain.Voice = "test";
  41.             //camera_brain.Visible = false;
  42.             camera_brain.PriorityTargetForEnemies = false;
  43.             camera_brain.Accuracy = 0;
  44.             camera_brain.CancelAmbientSpeech();
  45.             camera_brain.CowerInsteadOfFleeing = false;
  46.             camera_brain.Task.TurnTo(kamerka.Position);
  47.             camera_brain.SenseRange = 20.0F;
  48.             camera_brain.Task.PlayAnimation(anim_group, anim_play, 1F, AnimationFlags.Unknown10 | AnimationFlags.Unknown06 | AnimationFlags.Unknown12 | AnimationFlags.Unknown11 | AnimationFlags.Unknown07 | AnimationFlags.Unknown08 | AnimationFlags.Unknown01);
  49.             Game.Console.Print("X1");
  50.             check_visible.Tick+= new EventHandler(check_visible_tick);
  51.             draw_light.Tick += new EventHandler(draw_light_tick);
  52.             draw_light.Start();
  53.             check_visible.Start();
  54.         }
  55.         public void draw_light_tick(object sender, EventArgs e)
  56.         {
  57.             GTA.Game.Console.Print("time: " + draw_light.ElapsedTime);
  58.             if (draw_light.ElapsedTime > 500)
  59.             {
  60.                 GTA.Native.Function.Call("DRAW_CORONA", kamerka.Position.X + kamerka.Direction.X/5.5F, kamerka.Position.Y + kamerka.Direction.Y/10, kamerka.Position.Z - 0.135F, 10.0F, 255, 255, 55, 0, 0);
  61.                 if (draw_light.ElapsedTime > 1000)
  62.                 {
  63.                     draw_light.Start();
  64.                 }
  65.             }
  66.         }
  67.         public void check_visible_tick(object sender, EventArgs e)
  68.         {
  69.            
  70.             if (GTA.Native.Function.Call<bool>("HAS_CHAR_SPOTTED_CHAR_IN_FRONT", camera_brain, Player.Character))
  71.  
  72.             {
  73. //                Vector3 camera
  74.  
  75.  
  76.                 if (GTA.Native.Function.Call<bool>("IS_CHAR_FACING_CHAR", camera_brain, Player.Character, 20F) && GTA.Native.Function.Call<bool>("IS_CHAR_FACING_CHAR", Player.Character, camera_brain, 120F))
  77.                 {
  78.                     float oblicz = kamerka.Position.Z - Player.Character.GetBonePosition(Bone.Head).Z;
  79.                     float oblicz2 = kamerka.Position.Z - Player.Character.GetBonePosition(Bone.Head).Z;
  80.                     float dystans = kamerka.Position.DistanceTo2D(Player.Character.Position);
  81.                     if(oblicz>(0.40F+dystans/10) && (dystans>oblicz) )
  82.                     Game.DisplayText("Detected");
  83.                 }
  84.                 else
  85.                     Game.DisplayText("Out of range");
  86.  
  87.  
  88.                
  89.                
  90.                 //Game.DisplayText("Visible: "+result_angle+", - "+test1);
  91.                 //Game.DisplayText("Visible: "+result_angle+", - "+test1);
  92.                
  93.             }
  94.             //else
  95.               //  Game.DisplayText("Not Visible");
  96.         }
  97.         public void Camera1(ParameterCollection Parameter)
  98.     {
  99.         camera_player_cam = new Camera();
  100.             camera_player_cam.Position = kamerka.Position;
  101.             camera_player_cam.Rotation = new Vector3(kamerka.Rotation.X-20F,kamerka.Rotation.Y,kamerka.Rotation.Z-3F);
  102.             camera_player_cam.FOV = 27F;
  103.             camera_player_cam.Activate();
  104.     }
  105.         public void Clear_cam(ParameterCollection Parameter)
  106.         {
  107.             if(Game.Exists(camera_player_cam))
  108.             camera_player_cam.Deactivate();
  109.             draw_light.Stop();
  110.             check_visible.Stop();
  111.             kamerka.NoLongerNeeded();
  112.             kamerka.Delete();
  113.             camera_brain.NoLongerNeeded();
  114.             camera_brain.Delete();
  115.         }
  116.     }
  117. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement