Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using GTA;
- using System;
- namespace Technology_1
- {
- public class Technology_1_Rinepim : Script
- {
- GTA.Timer check_visible,draw_light;
- GTA.Object kamerka;
- GTA.Ped camera_brain;
- Camera camera_player_cam;
- public Technology_1_Rinepim()
- {
- check_visible = new GTA.Timer(1, false);
- draw_light = new GTA.Timer(1, false);
- GTA.Native.Function.Call("REQUEST_MODEL", Model.FromString("e2_maison_camera"));
- kamerka = World.CreateObject(new Model("e2_maison_camera"), new Vector3(-412.1921F, 1391.7250F, 15.6087F));
- kamerka.Rotation = new Vector3(0,0F,30F);
- kamerka.Collision=false;
- kamerka.FreezePosition = true;
- this.BindConsoleCommand("camera1", new ConsoleCommandDelegate(Camera1), " - Change camera 1");
- this.BindConsoleCommand("clear", new ConsoleCommandDelegate(Clear_cam), " - Clear camera");
- string anim_play = "abdomen";
- AnimationSet anim_group = new AnimationSet("dam_rec_player");
- GTA.Native.Function.Call("REQUEST_MODEL", Model.FromString("ig_jason"));
- camera_brain = World.CreatePed(Model.FromString("ig_jason"), kamerka.Position-new Vector3(-0.03F,0.09F,1.7F));
- //camera_brain.FreezePosition = true;
- camera_brain.Invincible = true;
- GTA.Native.Function.Call("FREEZE_CHAR_POSITION_AND_DONT_LOAD_COLLISION",camera_brain,true);
- GTA.Native.Function.Call("SET_CHAR_COLLISION", camera_brain, false);
- GTA.Native.Function.Call("SET_CHAR_ROTATION", camera_brain, kamerka.Rotation.X, kamerka.Rotation.Y, kamerka.Rotation.Z);
- camera_brain.BlockGestures = true;
- camera_brain.BlockPermanentEvents = true;
- camera_brain.BlockWeaponSwitching = true;
- camera_brain.Voice = "test";
- //camera_brain.Visible = false;
- camera_brain.PriorityTargetForEnemies = false;
- camera_brain.Accuracy = 0;
- camera_brain.CancelAmbientSpeech();
- camera_brain.CowerInsteadOfFleeing = false;
- camera_brain.Task.TurnTo(kamerka.Position);
- camera_brain.SenseRange = 20.0F;
- camera_brain.Task.PlayAnimation(anim_group, anim_play, 1F, AnimationFlags.Unknown10 | AnimationFlags.Unknown06 | AnimationFlags.Unknown12 | AnimationFlags.Unknown11 | AnimationFlags.Unknown07 | AnimationFlags.Unknown08 | AnimationFlags.Unknown01);
- Game.Console.Print("X1");
- check_visible.Tick+= new EventHandler(check_visible_tick);
- draw_light.Tick += new EventHandler(draw_light_tick);
- draw_light.Start();
- check_visible.Start();
- }
- public void draw_light_tick(object sender, EventArgs e)
- {
- GTA.Game.Console.Print("time: " + draw_light.ElapsedTime);
- if (draw_light.ElapsedTime > 500)
- {
- 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);
- if (draw_light.ElapsedTime > 1000)
- {
- draw_light.Start();
- }
- }
- }
- public void check_visible_tick(object sender, EventArgs e)
- {
- if (GTA.Native.Function.Call<bool>("HAS_CHAR_SPOTTED_CHAR_IN_FRONT", camera_brain, Player.Character))
- {
- // Vector3 camera
- 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))
- {
- float oblicz = kamerka.Position.Z - Player.Character.GetBonePosition(Bone.Head).Z;
- float oblicz2 = kamerka.Position.Z - Player.Character.GetBonePosition(Bone.Head).Z;
- float dystans = kamerka.Position.DistanceTo2D(Player.Character.Position);
- if(oblicz>(0.40F+dystans/10) && (dystans>oblicz) )
- Game.DisplayText("Detected");
- }
- else
- Game.DisplayText("Out of range");
- //Game.DisplayText("Visible: "+result_angle+", - "+test1);
- //Game.DisplayText("Visible: "+result_angle+", - "+test1);
- }
- //else
- // Game.DisplayText("Not Visible");
- }
- public void Camera1(ParameterCollection Parameter)
- {
- camera_player_cam = new Camera();
- camera_player_cam.Position = kamerka.Position;
- camera_player_cam.Rotation = new Vector3(kamerka.Rotation.X-20F,kamerka.Rotation.Y,kamerka.Rotation.Z-3F);
- camera_player_cam.FOV = 27F;
- camera_player_cam.Activate();
- }
- public void Clear_cam(ParameterCollection Parameter)
- {
- if(Game.Exists(camera_player_cam))
- camera_player_cam.Deactivate();
- draw_light.Stop();
- check_visible.Stop();
- kamerka.NoLongerNeeded();
- kamerka.Delete();
- camera_brain.NoLongerNeeded();
- camera_brain.Delete();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement