Quantcast
Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
    1. Welcome to GTAForums!

    1. Red Dead Redemption 2

      1. PC
      2. Gameplay
      3. Missions
      4. Help & Support
    2. Red Dead Online

      1. Gameplay
      2. Find Lobbies & Outlaws
      3. Help & Support
      4. Frontier Pursuits
    1. Crews & Posses

      1. Recruitment
    2. Events

    1. GTA Online

      1. Diamond Casino & Resort
      2. DLC
      3. Find Lobbies & Players
      4. Guides & Strategies
      5. Vehicles
      6. Content Creator
      7. Help & Support
    2. Grand Theft Auto Series

    3. GTA 6

    4. GTA V

      1. PC
      2. Guides & Strategies
      3. Help & Support
    5. GTA IV

      1. Episodes from Liberty City
      2. Multiplayer
      3. Guides & Strategies
      4. Help & Support
      5. GTA IV Mods
    6. GTA Chinatown Wars

    7. GTA Vice City Stories

    8. GTA Liberty City Stories

    9. GTA San Andreas

      1. Guides & Strategies
      2. Help & Support
      3. GTA SA Mods
    10. GTA Vice City

      1. Guides & Strategies
      2. Help & Support
      3. GTA VC Mods
    11. GTA III

      1. Guides & Strategies
      2. Help & Support
      3. GTA III Mods
    12. Top Down Games

      1. GTA Advance
      2. GTA 2
      3. GTA
    13. Wiki

      1. Merchandising
    1. GTA Modding

      1. GTA V
      2. GTA IV
      3. GTA III, VC & SA
      4. Tutorials
    2. Mod Showroom

      1. Scripts & Plugins
      2. Maps
      3. Total Conversions
      4. Vehicles
      5. Textures
      6. Characters
      7. Tools
      8. Other
      9. Workshop
    3. Featured Mods

      1. DYOM
      2. OpenIV
      3. GTA: Underground
      4. GTA: Liberty City
      5. GTA: State of Liberty
    1. Red Dead Redemption

    2. Rockstar Games

    1. Off-Topic

      1. General Chat
      2. Gaming
      3. Technology
      4. Programming
      5. Movies & TV
      6. Music
      7. Sports
      8. Vehicles
    2. Expression

      1. Graphics / Visual Arts
      2. GFX Requests & Tutorials
      3. Writers' Discussion
      4. Debates & Discussion
    1. News

    2. Forum Support

    3. Site Suggestions

santtuz112

Draw text inside world?

Recommended Posts

InfamousSabre

aha very cool usage! maybe even.... thermal vision? ;)

9933384-drawing-the-human-body-seen-with

 

thermography.jpg

 

507944-robocop-windows-screenshot-use-th

Edited by InfamousSabre

Share this post


Link to post
Share on other sites
Michael Wojtanis

JULIONIB... i made first Batman vision! :<

Share this post


Link to post
Share on other sites
julionib

JULIONIB... i made first Batman vision! :<

 

lol, rlx man, i dont will release anything similar to what i show in my video and also i didnt knew about your mod when i made the code or the video yesterday :)

Share this post


Link to post
Share on other sites
Michael Wojtanis

Yeah i know, becasue this is easy to code script.

 

You can release Your version because my is same but with batman visions :) Mini missions etc. :)

 

I will release today i think.

 

I just little sad because You have active community ... :(

Share this post


Link to post
Share on other sites
julionib

yeh, i have some followers hehe, but this was result of hard work and a lot of support, i answer questions on facebook/blogger/youtube and help people install mods almost everyday, this helps me get more attention from more people.

if you want i can share your release video on my facebook and at featured video on my blog:

http://www.facebook.com/GtaIVScripting
http://gtaxscripting.blogspot.com

at this moment i dont have plans to use this skeleton idea, now im creating a buzzard script and using this beautiful method to draw the crosshair, i will use this forever haha:

Share this post


Link to post
Share on other sites
Michael Wojtanis

You can if You want.

BTw. Add me on Skype.

 

GTA IV: Los Santos wait for You... ;<

Share this post


Link to post
Share on other sites
InfamousSabre

Looks good man. I left you a comment on YT with some constructive crits. :)

Share this post


Link to post
Share on other sites
julionib

the method CAM_IS_SPHERE_VISIBLE seems to stop working after you use Load game feature (at least on patch 1.0.7.0), anyone knows a solution or cause?

Share this post


Link to post
Share on other sites
Michael Wojtanis
float direction_to_that_ped =  Vector3.Subtract(Vector3.Normalize(Vector3.Subtract(myPed, Game.CurrentCamera.Position)),Game.CurrentCamera.Direction).Length();if (direction_to_that_ped >0.6F){Game.Console.Print("NOT VISIBLE");continue;}

Simple works:

current camera direction - direction to that object [in example - ped] and result in float.

If distance from center [camera direction] is bigger than 0.6 then not visible.

 

Rember - there is 3 values! I just make it simple to working in sphere detection.

If You want more precise just delete lenght and work on X and Y detections of screen.

 

Have fun ;)

Share this post


Link to post
Share on other sites
julionib

i made something similar to fix this issue, i calc the distance from the camera center clsoer to the target object, if less than distance to camera its considered visible, unfortunately both methods dont will consider buildings/ground

Share this post


Link to post
Share on other sites
LordOfTheBongs

i made something similar to fix this issue, i calc the distance from the camera center clsoer to the target object, if less than distance to camera its considered visible, unfortunately both methods dont will consider buildings/ground

 

try to add a check for on screen, maybe it will fix issues with buildings...

GTA.Native.Function.Call<bool>("IS_OBJECT_ON_SCREEN", obj);

if that doesnt work u can always try metadata xD

Edited by LordOfTheBongs

Share this post


Link to post
Share on other sites
julionib

metadata? i remember you hehe

Share this post


Link to post
Share on other sites
Michael Wojtanis

Julio check this:

(CELL_CAM_ACTIVATE,true, false);extern boolean CELL_CAM_IS_CHAR_VISIBLE(Ped ped);extern boolean CELL_CAM_IS_CHAR_VISIBLE_NO_FACE_CHECK(Ped ped);

For me working fine for PEDs.

 

If You want detect if car is visible or object we just need find other way [attach ped to car, make invisible + without reactions + without collision?].

Share this post


Link to post
Share on other sites
julionib

but this will activate the cellphone cam right?

Share this post


Link to post
Share on other sites
Michael Wojtanis

No, that is why i called "true,false". I just found and tested 20 sec, mayby this do not need activation? :)

Try :)

Share this post


Link to post
Share on other sites
Jitnaught

today i made a test with this native call, its just perfect:

 

 

 

its possible create some cool effects like "x ray vision" or something like that

 

Can I ask what your coefficient (or whatever you want to call it) was for this? I can make things that are close to what I want, but in your video it's perfect.

Share this post


Link to post
Share on other sites
julionib

i used this code in that video, but it need some improvement:

Imports SystemImports System.DrawingImports System.Windows.FormsImports GTAImports System.IOImports System.TextPublic Class SkeletonDraw    Inherits Script    Private bModOK As Boolean = False    Shared TRandom As Random = New Random(Now.Millisecond)    Public Sub New()        Me.Interval = 10        Wait(500)        bModOK = Not Native.Function.Call(Of Boolean)("IS_NETWORK_SESSION") OrElse Native.Function.Call(Of Boolean)("IS_PARTY_MODE")        If Not bModOK Then            msg("You can't use this script in this kind of MP mode, only in party mode.", 3000)            Game.Console.Print("You can't use this script in multiplayer because this is considered cheating.")            Exit Sub        End If    End Sub    Public Function CoordToScreen(posOn3D As Vector3) As Vector2        Try            Dim Screen As Int32 = 0            Dim x As Native.Pointer = New GTA.Native.Pointer(GetType(Single))            Dim y As Native.Pointer = New GTA.Native.Pointer(GetType(Single))            Dim xPos As Vector3 = posOn3D            Dim ViewportId As Native.Pointer = New GTA.Native.Pointer(GetType(Int32))            GTA.Native.Function.Call("GET_GAME_VIEWPORT_ID", ViewportId)            Screen = ViewportId            GTA.Native.Function.Call("GET_VIEWPORT_POSITION_OF_COORD", xPos.X, xPos.Y, xPos.Z, Screen, x, y)            Return New Vector2(x, y)        Catch        End Try        Return New Vector2(0, 0)    End Function    Public Function isCoordVisible(WorldCoord As Vector3, Optional AreaSize As Double = 1.0F) As Boolean        Try            If Game.Exists(Game.CurrentCamera) Then                Return Native.Function.Call(Of Boolean)("CAM_IS_SPHERE_VISIBLE", Game.CurrentCamera, WorldCoord.X, WorldCoord.Y, WorldCoord.Z, AreaSize)            Else                Return False            End If        Catch        End Try        Return False    End Function    Shared Sub msg(ByVal smsg As String, ByVal time As Int32)        Native.Function.Call("PRINT_STRING_WITH_LITERAL_STRING_NOW", "STRING", smsg, time, 1)    End Sub    Private Sub keyDown(ByVal sender As Object, ByVal e As GTA.KeyEventArgs) Handles MyBase.KeyDown        If Not bModOK Then            Exit Sub        End If        If e.Key = Keys.B Then            bVisible = Not bVisible            msg("Peds visible: " & bVisible, 5000)        End If    End Sub    Private Sub keyUp(ByVal sender As Object, ByVal e As GTA.KeyEventArgs) Handles MyBase.KeyUp        If Not bModOK Then            Exit Sub        End If    End Sub    Private Class TSkeleton        Public p As Ped = Nothing        Public bonePos2D As New List(Of Vector2)        Public sizeMulti As Double = 1        Public Sub New(tped As Ped)            p = tped            sizeMulti = 33 / p.Position.DistanceTo(Game.CurrentCamera.Position)            skeletonList.Add(Me)        End Sub    End Class    Shared skeletonList As New List(Of TSkeleton)    Private tmpSkeleton As TSkeleton    Private bVisible As Boolean = True    Private bDrawSkeleton As Boolean = False    Private bchangeRot As Boolean = False     Private bReset As Boolean = True    Private Sub general_tick(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Tick        If Not bModOK Then            Exit Sub        End If        If bDrawSkeleton Then            skeletonList.Clear()            For Each p As Ped In World.GetPeds(Player.Character.Position, 20)                If Exists(p) Then                    p.Visible = bVisible                    tmpSkeleton = New TSkeleton(p)                End If            Next            For Each s As TSkeleton In skeletonList                s.bonePos2D.Clear()                If Not s.p.isOnScreen Then Continue For                s.bonePos2D.Add(CoordToScreen(s.p.GetBonePosition(Bone.Head)))                s.bonePos2D.Add(CoordToScreen(s.p.GetBonePosition(Bone.Neck)))                s.bonePos2D.Add(CoordToScreen(s.p.GetBonePosition(Bone.LeftArmRoll)))                s.bonePos2D.Add(CoordToScreen(s.p.GetBonePosition(Bone.RightArmRoll)))                s.bonePos2D.Add(CoordToScreen(s.p.GetBonePosition(Bone.LeftForearmTwist)))                s.bonePos2D.Add(CoordToScreen(s.p.GetBonePosition(Bone.RightForearmTwist)))                s.bonePos2D.Add(CoordToScreen(s.p.GetBonePosition(Bone.LeftHand)))                s.bonePos2D.Add(CoordToScreen(s.p.GetBonePosition(Bone.RightHand)))                s.bonePos2D.Add(CoordToScreen(s.p.GetBonePosition(Bone.LeftFinger1)))                s.bonePos2D.Add(CoordToScreen(s.p.GetBonePosition(Bone.RightFinger1)))                s.bonePos2D.Add(CoordToScreen(s.p.GetBonePosition(Bone.Spine)))                s.bonePos2D.Add(CoordToScreen(s.p.GetBonePosition(Bone.LeftThigh)))                s.bonePos2D.Add(CoordToScreen(s.p.GetBonePosition(Bone.RightThigh)))                s.bonePos2D.Add(CoordToScreen(s.p.GetBonePosition(Bone.LeftCalfRoll)))                s.bonePos2D.Add(CoordToScreen(s.p.GetBonePosition(Bone.RightCalfRoll)))                s.bonePos2D.Add(CoordToScreen(s.p.GetBonePosition(Bone.LeftFoot)))                s.bonePos2D.Add(CoordToScreen(s.p.GetBonePosition(Bone.RightFoot)))                s.bonePos2D.Add(CoordToScreen(s.p.GetBonePosition(Bone.LeftToe)))                s.bonePos2D.Add(CoordToScreen(s.p.GetBonePosition(Bone.RightToe)))                s.bonePos2D.Add(CoordToScreen(s.p.GetBonePosition(Bone.Head) + Vector3.WorldUp * 0.15))            Next        End If    End Sub    Private Sub console_CMD(ByVal sender As Object, ByVal e As ConsoleEventArgs) Handles MyBase.ConsoleCommand        If Not bModOK Then            Exit Sub        End If        If e.Command = "skeleton" Then            bDrawSkeleton = Not bDrawSkeleton        End If    End Sub    Shared Sub waitEx(time As Int16)        Dim timeIni As DateTime = Now        Dim timeSpan As TimeSpan = Now.Subtract(timeIni)        While timeSpan.TotalMilliseconds < time            Game.WaitInCurrentScript(10)            timeSpan = Now.Subtract(timeIni)        End While    End Sub    Private Sub GraphicsEventHandler(ByVal sender As Object, ByVal e As GTA.GraphicsEventArgs) Handles MyBase.PerFrameDrawing        If bDrawSkeleton Then            For Each s As TSkeleton In skeletonList                If s.bonePos2D.Count > 0 Then                    e.Graphics.DrawLine(s.bonePos2D.Item(1).X, s.bonePos2D.Item(1).Y, s.bonePos2D.Item(2).X, s.bonePos2D.Item(2).Y, s.sizeMulti, Color.Red)                    e.Graphics.DrawLine(s.bonePos2D.Item(1).X, s.bonePos2D.Item(1).Y, s.bonePos2D.Item(3).X, s.bonePos2D.Item(3).Y, s.sizeMulti, Color.Red)                    e.Graphics.DrawLine(s.bonePos2D.Item(2).X, s.bonePos2D.Item(2).Y, s.bonePos2D.Item(4).X, s.bonePos2D.Item(4).Y, s.sizeMulti, Color.Blue)                    e.Graphics.DrawLine(s.bonePos2D.Item(3).X, s.bonePos2D.Item(3).Y, s.bonePos2D.Item(5).X, s.bonePos2D.Item(5).Y, s.sizeMulti, Color.Blue)                    e.Graphics.DrawLine(s.bonePos2D.Item(4).X, s.bonePos2D.Item(4).Y, s.bonePos2D.Item(6).X, s.bonePos2D.Item(6).Y, s.sizeMulti, Color.Yellow)                    e.Graphics.DrawLine(s.bonePos2D.Item(5).X, s.bonePos2D.Item(5).Y, s.bonePos2D.Item(7).X, s.bonePos2D.Item(7).Y, s.sizeMulti, Color.Yellow)                    e.Graphics.DrawLine(s.bonePos2D.Item(6).X, s.bonePos2D.Item(6).Y, s.bonePos2D.Item(8).X, s.bonePos2D.Item(8).Y, s.sizeMulti, Color.Orange)                    e.Graphics.DrawLine(s.bonePos2D.Item(7).X, s.bonePos2D.Item(7).Y, s.bonePos2D.Item(9).X, s.bonePos2D.Item(9).Y, s.sizeMulti, Color.Orange)                    e.Graphics.DrawLine(s.bonePos2D.Item(1).X, s.bonePos2D.Item(1).Y, s.bonePos2D.Item(10).X, s.bonePos2D.Item(10).Y, s.sizeMulti, Color.Aqua)                    e.Graphics.DrawLine(s.bonePos2D.Item(10).X, s.bonePos2D.Item(10).Y, s.bonePos2D.Item(11).X, s.bonePos2D.Item(11).Y, s.sizeMulti, Color.Aquamarine)                    e.Graphics.DrawLine(s.bonePos2D.Item(10).X, s.bonePos2D.Item(10).Y, s.bonePos2D.Item(12).X, s.bonePos2D.Item(12).Y, s.sizeMulti, Color.Aquamarine)                    e.Graphics.DrawLine(s.bonePos2D.Item(11).X, s.bonePos2D.Item(11).Y, s.bonePos2D.Item(13).X, s.bonePos2D.Item(13).Y, s.sizeMulti, Color.BlueViolet)                    e.Graphics.DrawLine(s.bonePos2D.Item(12).X, s.bonePos2D.Item(12).Y, s.bonePos2D.Item(14).X, s.bonePos2D.Item(14).Y, s.sizeMulti, Color.BlueViolet)                    e.Graphics.DrawLine(s.bonePos2D.Item(13).X, s.bonePos2D.Item(13).Y, s.bonePos2D.Item(15).X, s.bonePos2D.Item(15).Y, s.sizeMulti, Color.CadetBlue)                    e.Graphics.DrawLine(s.bonePos2D.Item(14).X, s.bonePos2D.Item(14).Y, s.bonePos2D.Item(16).X, s.bonePos2D.Item(16).Y, s.sizeMulti, Color.CadetBlue)                    e.Graphics.DrawLine(s.bonePos2D.Item(15).X, s.bonePos2D.Item(15).Y, s.bonePos2D.Item(17).X, s.bonePos2D.Item(17).Y, s.sizeMulti, Color.GreenYellow)                    e.Graphics.DrawLine(s.bonePos2D.Item(16).X, s.bonePos2D.Item(16).Y, s.bonePos2D.Item(18).X, s.bonePos2D.Item(18).Y, s.sizeMulti, Color.GreenYellow)                    For c As Int16 = 0 To 19                        e.Graphics.DrawRectangle(s.bonePos2D.Item©.X, s.bonePos2D.Item©.Y, s.sizeMulti * 2, s.sizeMulti * 2, Color.White)                    Next                    e.Graphics.DrawLine(s.bonePos2D.Item(0).X, s.bonePos2D.Item(0).Y, s.bonePos2D.Item(19).X, s.bonePos2D.Item(19).Y, s.sizeMulti * 4, Color.Red)                End If            Next        End If    End SubEnd Class
Edited by julionib

Share this post


Link to post
Share on other sites
Jitnaught

 

i used this code in that video, but it need some improvement:

Imports SystemImports System.DrawingImports System.Windows.FormsImports GTAImports System.IOImports System.TextPublic Class SkeletonDraw    Inherits Script    Private bModOK As Boolean = False    Shared TRandom As Random = New Random(Now.Millisecond)    Public Sub New()        Me.Interval = 10        Wait(500)        bModOK = Not Native.Function.Call(Of Boolean)("IS_NETWORK_SESSION") OrElse Native.Function.Call(Of Boolean)("IS_PARTY_MODE")        If Not bModOK Then            msg("You can't use this script in this kind of MP mode, only in party mode.", 3000)            Game.Console.Print("You can't use this script in multiplayer because this is considered cheating.")            Exit Sub        End If    End Sub    Public Function CoordToScreen(posOn3D As Vector3) As Vector2        Try            Dim Screen As Int32 = 0            Dim x As Native.Pointer = New GTA.Native.Pointer(GetType(Single))            Dim y As Native.Pointer = New GTA.Native.Pointer(GetType(Single))            Dim xPos As Vector3 = posOn3D            Dim ViewportId As Native.Pointer = New GTA.Native.Pointer(GetType(Int32))            GTA.Native.Function.Call("GET_GAME_VIEWPORT_ID", ViewportId)            Screen = ViewportId            GTA.Native.Function.Call("GET_VIEWPORT_POSITION_OF_COORD", xPos.X, xPos.Y, xPos.Z, Screen, x, y)            Return New Vector2(x, y)        Catch        End Try        Return New Vector2(0, 0)    End Function    Public Function isCoordVisible(WorldCoord As Vector3, Optional AreaSize As Double = 1.0F) As Boolean        Try            If Game.Exists(Game.CurrentCamera) Then                Return Native.Function.Call(Of Boolean)("CAM_IS_SPHERE_VISIBLE", Game.CurrentCamera, WorldCoord.X, WorldCoord.Y, WorldCoord.Z, AreaSize)            Else                Return False            End If        Catch        End Try        Return False    End Function    Shared Sub msg(ByVal smsg As String, ByVal time As Int32)        Native.Function.Call("PRINT_STRING_WITH_LITERAL_STRING_NOW", "STRING", smsg, time, 1)    End Sub    Private Sub keyDown(ByVal sender As Object, ByVal e As GTA.KeyEventArgs) Handles MyBase.KeyDown        If Not bModOK Then            Exit Sub        End If        If e.Key = Keys.B Then            bVisible = Not bVisible            msg("Peds visible: " & bVisible, 5000)        End If    End Sub    Private Sub keyUp(ByVal sender As Object, ByVal e As GTA.KeyEventArgs) Handles MyBase.KeyUp        If Not bModOK Then            Exit Sub        End If    End Sub    Private Class TSkeleton        Public p As Ped = Nothing        Public bonePos2D As New List(Of Vector2)        Public sizeMulti As Double = 1        Public Sub New(tped As Ped)            p = tped            sizeMulti = 33 / p.Position.DistanceTo(Game.CurrentCamera.Position)            skeletonList.Add(Me)        End Sub    End Class    Shared skeletonList As New List(Of TSkeleton)    Private tmpSkeleton As TSkeleton    Private bVisible As Boolean = True    Private bDrawSkeleton As Boolean = False    Private bchangeRot As Boolean = False     Private bReset As Boolean = True    Private Sub general_tick(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Tick        If Not bModOK Then            Exit Sub        End If        If bDrawSkeleton Then            skeletonList.Clear()            For Each p As Ped In World.GetPeds(Player.Character.Position, 20)                If Exists(p) Then                    p.Visible = bVisible                    tmpSkeleton = New TSkeleton(p)                End If            Next            For Each s As TSkeleton In skeletonList                s.bonePos2D.Clear()                If Not s.p.isOnScreen Then Continue For                s.bonePos2D.Add(CoordToScreen(s.p.GetBonePosition(Bone.Head)))                s.bonePos2D.Add(CoordToScreen(s.p.GetBonePosition(Bone.Neck)))                s.bonePos2D.Add(CoordToScreen(s.p.GetBonePosition(Bone.LeftArmRoll)))                s.bonePos2D.Add(CoordToScreen(s.p.GetBonePosition(Bone.RightArmRoll)))                s.bonePos2D.Add(CoordToScreen(s.p.GetBonePosition(Bone.LeftForearmTwist)))                s.bonePos2D.Add(CoordToScreen(s.p.GetBonePosition(Bone.RightForearmTwist)))                s.bonePos2D.Add(CoordToScreen(s.p.GetBonePosition(Bone.LeftHand)))                s.bonePos2D.Add(CoordToScreen(s.p.GetBonePosition(Bone.RightHand)))                s.bonePos2D.Add(CoordToScreen(s.p.GetBonePosition(Bone.LeftFinger1)))                s.bonePos2D.Add(CoordToScreen(s.p.GetBonePosition(Bone.RightFinger1)))                s.bonePos2D.Add(CoordToScreen(s.p.GetBonePosition(Bone.Spine)))                s.bonePos2D.Add(CoordToScreen(s.p.GetBonePosition(Bone.LeftThigh)))                s.bonePos2D.Add(CoordToScreen(s.p.GetBonePosition(Bone.RightThigh)))                s.bonePos2D.Add(CoordToScreen(s.p.GetBonePosition(Bone.LeftCalfRoll)))                s.bonePos2D.Add(CoordToScreen(s.p.GetBonePosition(Bone.RightCalfRoll)))                s.bonePos2D.Add(CoordToScreen(s.p.GetBonePosition(Bone.LeftFoot)))                s.bonePos2D.Add(CoordToScreen(s.p.GetBonePosition(Bone.RightFoot)))                s.bonePos2D.Add(CoordToScreen(s.p.GetBonePosition(Bone.LeftToe)))                s.bonePos2D.Add(CoordToScreen(s.p.GetBonePosition(Bone.RightToe)))                s.bonePos2D.Add(CoordToScreen(s.p.GetBonePosition(Bone.Head) + Vector3.WorldUp * 0.15))            Next        End If    End Sub    Private Sub console_CMD(ByVal sender As Object, ByVal e As ConsoleEventArgs) Handles MyBase.ConsoleCommand        If Not bModOK Then            Exit Sub        End If        If e.Command = "skeleton" Then            bDrawSkeleton = Not bDrawSkeleton        End If    End Sub    Shared Sub waitEx(time As Int16)        Dim timeIni As DateTime = Now        Dim timeSpan As TimeSpan = Now.Subtract(timeIni)        While timeSpan.TotalMilliseconds < time            Game.WaitInCurrentScript(10)            timeSpan = Now.Subtract(timeIni)        End While    End Sub    Private Sub GraphicsEventHandler(ByVal sender As Object, ByVal e As GTA.GraphicsEventArgs) Handles MyBase.PerFrameDrawing        If bDrawSkeleton Then            For Each s As TSkeleton In skeletonList                If s.bonePos2D.Count > 0 Then                    e.Graphics.DrawLine(s.bonePos2D.Item(1).X, s.bonePos2D.Item(1).Y, s.bonePos2D.Item(2).X, s.bonePos2D.Item(2).Y, s.sizeMulti, Color.Red)                    e.Graphics.DrawLine(s.bonePos2D.Item(1).X, s.bonePos2D.Item(1).Y, s.bonePos2D.Item(3).X, s.bonePos2D.Item(3).Y, s.sizeMulti, Color.Red)                    e.Graphics.DrawLine(s.bonePos2D.Item(2).X, s.bonePos2D.Item(2).Y, s.bonePos2D.Item(4).X, s.bonePos2D.Item(4).Y, s.sizeMulti, Color.Blue)                    e.Graphics.DrawLine(s.bonePos2D.Item(3).X, s.bonePos2D.Item(3).Y, s.bonePos2D.Item(5).X, s.bonePos2D.Item(5).Y, s.sizeMulti, Color.Blue)                    e.Graphics.DrawLine(s.bonePos2D.Item(4).X, s.bonePos2D.Item(4).Y, s.bonePos2D.Item(6).X, s.bonePos2D.Item(6).Y, s.sizeMulti, Color.Yellow)                    e.Graphics.DrawLine(s.bonePos2D.Item(5).X, s.bonePos2D.Item(5).Y, s.bonePos2D.Item(7).X, s.bonePos2D.Item(7).Y, s.sizeMulti, Color.Yellow)                    e.Graphics.DrawLine(s.bonePos2D.Item(6).X, s.bonePos2D.Item(6).Y, s.bonePos2D.Item(8).X, s.bonePos2D.Item(8).Y, s.sizeMulti, Color.Orange)                    e.Graphics.DrawLine(s.bonePos2D.Item(7).X, s.bonePos2D.Item(7).Y, s.bonePos2D.Item(9).X, s.bonePos2D.Item(9).Y, s.sizeMulti, Color.Orange)                    e.Graphics.DrawLine(s.bonePos2D.Item(1).X, s.bonePos2D.Item(1).Y, s.bonePos2D.Item(10).X, s.bonePos2D.Item(10).Y, s.sizeMulti, Color.Aqua)                    e.Graphics.DrawLine(s.bonePos2D.Item(10).X, s.bonePos2D.Item(10).Y, s.bonePos2D.Item(11).X, s.bonePos2D.Item(11).Y, s.sizeMulti, Color.Aquamarine)                    e.Graphics.DrawLine(s.bonePos2D.Item(10).X, s.bonePos2D.Item(10).Y, s.bonePos2D.Item(12).X, s.bonePos2D.Item(12).Y, s.sizeMulti, Color.Aquamarine)                    e.Graphics.DrawLine(s.bonePos2D.Item(11).X, s.bonePos2D.Item(11).Y, s.bonePos2D.Item(13).X, s.bonePos2D.Item(13).Y, s.sizeMulti, Color.BlueViolet)                    e.Graphics.DrawLine(s.bonePos2D.Item(12).X, s.bonePos2D.Item(12).Y, s.bonePos2D.Item(14).X, s.bonePos2D.Item(14).Y, s.sizeMulti, Color.BlueViolet)                    e.Graphics.DrawLine(s.bonePos2D.Item(13).X, s.bonePos2D.Item(13).Y, s.bonePos2D.Item(15).X, s.bonePos2D.Item(15).Y, s.sizeMulti, Color.CadetBlue)                    e.Graphics.DrawLine(s.bonePos2D.Item(14).X, s.bonePos2D.Item(14).Y, s.bonePos2D.Item(16).X, s.bonePos2D.Item(16).Y, s.sizeMulti, Color.CadetBlue)                    e.Graphics.DrawLine(s.bonePos2D.Item(15).X, s.bonePos2D.Item(15).Y, s.bonePos2D.Item(17).X, s.bonePos2D.Item(17).Y, s.sizeMulti, Color.GreenYellow)                    e.Graphics.DrawLine(s.bonePos2D.Item(16).X, s.bonePos2D.Item(16).Y, s.bonePos2D.Item(18).X, s.bonePos2D.Item(18).Y, s.sizeMulti, Color.GreenYellow)                    For c As Int16 = 0 To 19                        e.Graphics.DrawRectangle(s.bonePos2D.Item©.X, s.bonePos2D.Item©.Y, s.sizeMulti * 2, s.sizeMulti * 2, Color.White)                    Next                    e.Graphics.DrawLine(s.bonePos2D.Item(0).X, s.bonePos2D.Item(0).Y, s.bonePos2D.Item(19).X, s.bonePos2D.Item(19).Y, s.sizeMulti * 4, Color.Red)                End If            Next        End If    End SubEnd Class

 

Thanks! :D

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • 1 User Currently Viewing
    0 members, 0 Anonymous, 1 Guest

×
×
  • Create New...

Important Information

By using GTAForums.com, you agree to our Terms of Use and Privacy Policy.