[Código] Mini Graficador... quizá sirva de algo a alguien...

Iniciado por yovaninu, 8 Mayo 2007, 05:21 AM

0 Miembros y 1 Visitante están viendo este tema.

yovaninu

Este codigo que les dejo en este post lo hize cuando vanamente crei hacer una especie de regla de juego para el GunBound, en donde los tiros se median con ditancias y todo eso... No es un aimbot ni nada parecido... crei que haciendo esto ya no tendria que poner mi regla de papel para medir los angulos y disparar...

Se trata de un programa que:

  • al presionar Ctrl+Alt+Shift+F1 (izquierdo(quiza varias veces hasta que salga)) sale una ventana en la que se puede especificar la distancia en pixeles con la que se graficaran las barras.
  • Grafica barras a distancias especificadas y enumeradas sobre la pantalla estando activa cualquier otra, lo hace si presionamos Ctrl+Alt+Z


el code:

en un módulo:

Dim EBR As Byte
Dim RETORNO As Long
Public SStep As Integer
Dim Position As POINTAPI
Public Type POINTAPI
x As Long
y As Long
End Type

Dim i As Byte

Declare Function GetWindowDC Lib "user32" (ByVal hwnd As Long) As Long


Declare Function Ellipse Lib "gdi32" (ByVal hdc As Long, ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long


Public Declare Function LineTo Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long) As Long
Public Declare Function TextOut Lib "gdi32" Alias "TextOutA" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal lpString As String, ByVal nCount As Long) As Long


Public Declare Function GetTextColor Lib "gdi32" (ByVal hdc As Long) As Long
Public Declare Function SetTextColor Lib "gdi32" (ByVal hdc As Long, ByVal crColor As Long) As Long
Public Declare Function Rectangle Lib "gdi32" (ByVal hdc As Long, ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long



Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
Declare Function GetKeyboardState Lib "user32" (ByVal StateOfKey As Byte) As Long
 
Private Const VALPRESS = -32767
Private Const SHIFTI As Integer = 160
Private Const ALTI As Integer = 164
Private Const CTRLI As Integer = 162


   
Function GetPressedKey() As String

   If GetAsyncKeyState(CTRLI) < 0 Then
    If GetAsyncKeyState(ALTI) < 0 Then
     If GetAsyncKeyState(SHIFTI) < 0 Then
      If GetAsyncKeyState(112) < 0 Then 'f1
       Form1.Visible = True
      End If
     End If
    End If
   End If
   
   If GetAsyncKeyState(CTRLI) < 0 Then
    If GetAsyncKeyState(ALTI) < 0 Then
      RETORNO = GetAsyncKeyState(90)
      If RETORNO = VALPRESS Then
      EBR = 0
      For j = 0 To 1200 Step SStep
         Rectangle GetWindowDC(0), j, 600, j + 3, 200
         TextOut GetWindowDC(0), j - 7, 180, Str(EBR), Len(Str(EBR))
         EBR = EBR + 1
      Next j
   
      End If
    End If
   End If
   
End Function



en un formulario con visible=false, crear un text1, un command1 y un timer1 de nombre mitimer a 125 de interval

y éste es el código:

Private Sub Command1_Click()
SStep = Val(Text1)
Form1.Visible = False
End Sub

Private Sub Form_Load()
SStep = 50
EBR = 1
End Sub

Private Sub miTimer_Timer()
    ret = GetPressedKey
End Sub



naturalmente en el cuadro de texto se especifica, la distancia de las barras cuando éstas se grafican...

En fin... lo posteo por que hace muchisimo tiempo hize esta pregunta en este foro y nadie me dio una solucion... busque un poco mas y bueno ahi esta... como dice el titulo del post, quiza pueda servir de algo a alguien... a las finales a mi y para mi proposito nunca me sirvio, pues el "nProtect Game Guard" del Gunbound al parecer bloquea las Apis que hacen esto y no se puede graficar directamente en el juego, hubiese sido un gran invento creo yo... no se como lo haran con los aimbots...

Quiza les interese como el programita detecta las teclas Ctrl o Alt o Shift, para los que no sabian como hacerlo... bueno para lo que quieran...

Un Saludo!


MANULOMM

no esta mal...

Atentamente,

Juan Manuel Lombana
Medellín - Colombia


yovaninu

te sirvió? wow, ya crei que era un code de otro planeta...
nadie decia nada  ;D ;D ;D ;D