Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - sebah97

#1

Hola, estoy desarrollando un juego. Al momento de enviar los datos entre cliente y servidor, quiero que sean binarios estos datos, porque imagínense si hay 100 usuarios conectados y todo el tiempo se envían y reciben strings larguisimos... estaría al punto de colapsar el servidor.

Estuve investigando que los websockets soportan enviar arraybuffers. El problema no es este, sino como manejarlos, soy nuevo en esto.

Supongamos que quiero enviar el siguiente paquete al cliente (la estructura sería "MENSAJE" R G B)

'Bienvenido al servidor' (str)
'255' (byte)
'0' (byte)
'255' (byte)

La duda puntual es, como lleno el buffer con los datos?? Y luego como los "separo" una ves que me llega??

Desde ya muchas gracias
#2
Hola gente, estoy tratando de conectar un WebSocket con mi servidor Node js.

Éste es el código del servidor:
Código (javascript) [Seleccionar]

var http = require("http");

function nuevoUser(req, resp)
{
resp.end();
console.log('Nuevo usuario.');
}

http.createServer(nuevoUser).listen(8080);

console.log("Servidor AOnline iniciado");



Éste es el código del cliente:
Código (javascript) [Seleccionar]

<script type="text/javascript">
function C_WebSocket()
{
//var socket = new WebSocket('ws://192.168.2.107:8080/');
var socket = new WebSocket('ws://echo.websocket.org/');

socket.onopen = function () {
    alert('Connected!');
};
socket.onmessage = function (event) {
    alert('Received data: ' + event.data);
    socket.close();
};
socket.onError = function (event) {
    alert('Error: ' + event.data);
};
socket.onclose = function () {
    alert('Lost connection!');
};
socket.send('hello, world!');
}
</script>




Al momento de conectarlo a (ws://echo.websocket.org/) funciona bien, me tira el mensaje "Connected!". El problema surge cuando quiero conectarlo a mi servidor node (ws://192.168.2.107:8080/). Me tira el mensaje "Lost connection!" sin ningún tipo de error.
¿Alguno sabe que puede ser? Desde ya muchas gracias.
#3
CitarHola como dice el título quisiera saber si existe una posibilidad de poder conectar un cliente en javascript con un servidor programado en VB6 para poder hacer un juego multiplayer en HTML5. Si no existe tal posibilidad, que me recomiendan para hacer algo multiplayer?

Desde ya muchas gracias.

Como dije anteriormente, estoy programando un juego en javascript y HTML5.

La forma que uso para cargar las imágenes es la siguiente.

Código (javascript) [Seleccionar]
var GrhList = new Array();

GrhList[0] = new Image();
GrhList[0].src = '';

GrhList[1] = new Image();
GrhList[1].src = '';

GrhList[2] = new Image();
GrhList[2].src = 'imagenes/2.jpg';

GrhList[3] = new Image();
GrhList[3].src = 'imagenes/3.jpg';

GrhList[4] = new Image();
GrhList[4].src = 'imagenes/4.jpg';

GrhList[5] = new Image();
GrhList[5].src = 'imagenes/5.jpg';

GrhList[6] = new Image();
GrhList[6].src = 'imagenes/6.jpg';


La duda sería si hay alguna manera de cargar las imágenes directamente de la carpeta, es decir con una especie de for o algo por el estilo, ya que no creo que ésta sea la forma más óptima dado que voy a necesitar más de 200 imágenes.

Desde ya muchas gracias
#4
Desarrollo Web / No seleccionar con 2ble click
21 Abril 2013, 02:12 AM
Hola, hay algún código para "deshabilitar" la selección molesta que se produce al hacer 2ble click sobre la página??.

Desde ya muchas gracias.
#5
Desarrollo Web / javascript - Socket Cliente
13 Abril 2013, 21:00 PM
Hola gente, me encontraba creando un juego en HTML5 y javascript, mi idea es hacerlo online y para eso necesito lograr una conexión Cliente-Servidor. El servidor lo tengo hecho en VB6 y me preguntaba si era posible poder conectar un socket en js al servidor.

Desde ya muchas gracias.
#6
Programación C/C++ / AYUDA Hookear Función
6 Abril 2013, 08:29 AM
La función (enrealidad es un sub de un juego en vb6) a hookear es la siguiente.

Código (vb) [Seleccionar]
Sub SendData(sdData As String)
Dim retcode
Dim AuxCmd As String

If Pausa Then Exit Sub

If CONGELADO And UCase$(sdData) <> "/DESCONGELAR" Then Exit Sub
If Not frmMain.Socket1.Connected Then Exit Sub

AuxCmd = UCase$(Left$(sdData, 5))

Debug.Print ">> " & sdData

If Left$(sdData, 1) = "/" And Len(sdData) = 2 Then Exit Sub

sdData = ReplaceData(sdData)

If sdData = "NOPUDO" Then Exit Sub

bO = bO + 1
If bO > 10000 Then bO = 100

If Len(sdData) = 0 Then Exit Sub

If AuxCmd = "DEMSG" And Len(sdData) > 8000 Then Exit Sub
If AuxCmd = "GM" And Len(sdData) > 2200 Then
    NoMandoElMsg = 1
    Exit Sub
End If

If Len(sdData) > 300 And AuxCmd <> "DEMSG" And AuxCmd <> "GM" Then Exit Sub

NoMandoElMsg = 0

bK = 0

sdData = sdData & "~" & bK & ENDC

retcode = frmMain.Socket1.Write(sdData, Len(sdData))

End Sub


El problema que se me presenta es encontrar la dirección de la función con OllyDbg. Y una vez encontrada, qué es lo que tengo que hacer?

Me fijé en el  Código de Luchoz95 pero hasta el momento no logré compilar la Dll :S
#7
Hola gente, soy bastante nuevo en ésto de C/C++ y quería que me den algún tutorial/pasos a seguir para poder hookear un SOCKET de un juego hecho en VB6. Busqué por el foro, pero nada de lo que encuentro me sirve. Desde ya muchas gracias.

PD: Por si interesa, uso el compilador Dev-C++
#8
Desarrollo Web / Leer TXT y mostrarlo
1 Marzo 2013, 21:30 PM
Hola, hago este tema para pedirles ayuda en algo para mi web...

Resulta que mi web tiene un diseño así xd

------------------------------
-          BANNER             -
------------------------------

------------------------------
- MENU DE NAVEGACION-
------------------------------

------------------------------
-                                   -
-       SECTOR                -
-           DE                    -
-        NOTICIAS            -
-                                   -
-                                   -
------------------------------

(si no entendieron pueden visitar mi web www.moron-ao.com.ar)

Bien una  ves que ya saben esto, me gustaría saber como puedo hacer para leer un archivo txt (ya tengo el código y funciona corréctamente) y mostrarlo en el "sector noticias".

Por si les sirve de ayuda, les dejo el código de mi página..

<html>
<head>
<title>Moron AO - Noticias</title>
</head>

<BODY BGCOLOR="white">

<TABLE Align="center" WIDTH=760 HEIGHT=200>
<TD BACKGROUND="imagenes/banner.jpg"></TD>
</TABLE>&nbsp;

<TABLE Align="center" WIDTH=760 HEIGHT=64>
<TD BACKGROUND="imagenes/menu.jpg"> </TD>
</TABLE>&nbsp;


<?php
$archivo 
file_get_contents("noticias.txt");
$archivo ucfirst($archivo); 
$archivo nl2br($archivo); 
echo 
$archivo;
?>


<TABLE Align="center" WIDTH=760 HEIGHT=600>
<TD BACKGROUND="imagenes/medio.jpg"> </TD>
</TABLE>



</body>

</html>



Bueno desde ya muchas gracias y tenganme paciencia, recién empiezo en esto de diseñar webs.
#9
Hola gente, quería hacer este tema para pedirles ayuda para obtener una tabla de una página web. La página en cuestión es ésta http://www.buscadorcablevision.com.ar/, y como verán abajo de todo se encuentra una tabla en la cual está la programación del día. Una manera de obtenerla es descargar el código de la página web y con funciones tales como Mid,Left, etc se pueden ir obteniendo los datos, pero es una manera demasiado lenta y costosa. Es por esto que les quería preguntar si conocen algún método para "descargar" la tabla o base de datos (no creo que se pueda hacer ésta última).

Desde ya muchas gracias.
#10
Hola, necesito obtener un valor de un X juego. Bien, me puse a investigar y encontré el TSearch, éste programa lo que hace es modificar valores de la memoria.
Lo que yo quiero hacer es SOLO obtener un valor, y según lo que entiendo (corrijanme si no es así) para obtener un valor necesitás el Address. Con el TSearch pude encontrarlo... por ejemplo éste 34ABB8.

Ahora mi pregunta ... Con la funcion ReadProcessMemory, en donde hay que poner el  Address pongo 34ABB8, pero tira error... Alguien me dice como puedo convertir ese valor en uno válido ???

Desde ya muchas gracias.
#11
Hola, quería saber si se podía leer una variable de la memoria a partir del Adress.

Por ejemplo, en una aplicación llamada 'Pepito' hay una variable llamada 'Posición'. Bien, supongamos que el Address de 'Posición' es '674110', entonces... ¿Hay forma de obtener el valor de la variable 'Posición' partiendo desde el Address?

Desde ya Muchas Gracias.
#12
Hola, resulta que quiero enviar un sms al 27777 pero me descuenta como $7 de mi celular (Argentinos). Investigué y hay páginas web para enviar mensajes de texto gratuitamente, pero ninguna de las que probé funcionó para enviar al 27777. ¿Conocen alguna manera para enviar sms a números cortos gratuitamente?

Desde ya, Muchas Gracias

- Sebah97
#13
Bien... el problema es el siguiente, Determinado programa, usa GetKeyState (Lo comprobe bajandome el codigo fuente)... ¿Hay alguna manera de interrumpir el GetKeyState SOLO para Una aplicación que yo le pase como parámetro ? (Como Títutlo, hwnd, eso no importa)

Gracias de Antemano
#14
Hola,

Hice este Tema para preguntar si es posible lo siguiente...

Una función, un sub o lo que sea que busque un píxel ... ¿Cómo?

A la función , o sub o lo que sea XD, le paso un determinado color y si existe, me devuelve las coordenadas de ese píxel (X,Y).

En el caso que sea posible... ¿Me darían una pista de cómo hacerlo?

Espero que me puedan ayudar.

Gracias
#15
Hola, mi pregunta es ¿Cómo Puedo descifrar MD5string? Yo ya tengo la Función para cifrar, pero quisiera saber como descifrar una cadena ya cifrada, ¿Alguna Ayuda?

Acá les dejo la función para cifrar.

Código (vb) [Seleccionar]
Private Declare Sub MDFile Lib "aamd532.dll" (ByVal f As String, ByVal R As String)
Private Declare Sub MDStringFix Lib "aamd532.dll" (ByVal f As String, ByVal T As Long, ByVal R As String)

Private Function MD5String(P As String) As String

    Dim R As String * 32, T As Long
    R = Space(32)
    T = Len(P)
    MDStringFix P, T, R
    MD5String = R

End Function



Gracias de Antemano.
#16
Hola Gente, me encontraba haciendo una aplicación que obtiene el link del juego de Minijuegos.

Con La referencia Microsoft HTML Object library, logré conseguir otros datos, como el link de la imagen por ejemplo.

Pero no puedo obtener el Link del Juego (El Swf)

Les dejo el código de la página aver si me pueden ayudar.

Código (javascript) [Seleccionar]

<script type="text/javascript">
   var cms_id ='10877';
   var cms_titulo ='Cricket Invasion';
   var swf_url_juego ='http://www.minijuegosgratis.com/flash1234/no_hotlink/cricketinvasion.swf';
   var swf_url_ancho =640;
   var swf_url_alto =480;
   var have_prev_ad = false;
   var final_bkg_body ='';
   var final_bkg_color ='';
</script>


Como verán lo que quiero obtener es 'swf_url_juego' pero la verdad que nose como y tampoco se nada de html ni javascript, asi que nose que significa 'Var'.

Ojalá me puedan ayudar o darme otra forma de hacerlo, porque no puedo hacerlo andar con la Referencia!!!

Gracias de Antemano.
#17
hola bueno, queria preguntarles como hacer para obtener el text de un richtextbox.



como pueden ver en la imagen, en la consola (RichTextBox) de arriba una linea en blanco dice ' Debes tipear el comando /CENTINELA tdsf

bien si no lo escribo, el servidor automaticamente me baneara.

mi duda es como obtener la ultima linea del richtextbox, asi yo, cada X tiempo compruebo cual fue la ultima linea y si es Debes tipear el comando /CENTINELA xxx, con un sendkeys lo puedo hacer, bueno gracias de antemano

#18
Programación Visual Basic / Bug en "MI" jueguito
6 Noviembre 2010, 23:33 PM
Bueno antes que nada pongo "MI" jueguito porque en realidad yo solo toke una parte xd.

bueno, vamos al grano:

miren, ya no recuerdo de donde, baje el codigo de un laberinto, y como me gusto mucho la idea,lo modifique:

Miren el original:

Código (vb) [Seleccionar]
Option Explicit

' The maze information.
Private NumRows As Integer
Private NumCols As Integer
Private LegalMove() As Boolean

' The size of a square.
Private Const SQUARE_WID = 20
Private Const SQUARE_HGT = 20

' The player's position.
Private PlayerR As Integer
Private PlayerC As Integer

' The end position.
Private RFinish As Integer
Private CFinish As Integer

Private StartTime As Single

' Look for movement keys.
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
Dim r As Integer
Dim c As Integer

    r = PlayerR
    c = PlayerC
    Select Case KeyCode
        Case vbKeyLeft
            c = PlayerC - 1
        Case vbKeyRight
            c = PlayerC + 1
        Case vbKeyDown
            r = PlayerR + 1
        Case vbKeyUp
            r = PlayerR - 1
        Case Else
            Exit Sub
    End Select

    If LegalMove(r, c) Then PositionPlayer r, c
End Sub

' Initialize the maze and player.
Private Sub Form_Load()
    ScaleMode = vbPixels
    AutoRedraw = True
    picPlayer.Visible = False
   
    ' Initialize the maze.
    LoadMaze
End Sub

' Draw the maze.
Private Sub DrawMaze()
Dim r As Integer
Dim c As Integer
Dim clr As Long

    ' Start from scratch.
    Cls
   
    For r = 1 To NumRows
        For c = 1 To NumCols
            If LegalMove(r, c) Then
                If r = RFinish And c = CFinish Then
                    clr = vbYellow
                Else
                    clr = vbWhite
                End If
            Else
                clr = RGB(128, 128, 128)
            End If
            Line (c * SQUARE_WID, r * SQUARE_HGT)-Step(-SQUARE_WID, -SQUARE_HGT), clr, BF
        Next c
    Next r
End Sub


' Initialize the maze.
Private Sub LoadMaze()
Dim fnum As Integer
Dim r As Integer
Dim c As Integer
Dim ch As String
Dim row_info As String

    ' Open the maze file.
    fnum = FreeFile
    Open App.Path & "\maze.dat" For Input As #fnum

    ' Read the number of rows and columns.
    Input #fnum, NumRows, NumCols
    ReDim LegalMove(1 To NumRows, 1 To NumCols)
   
    ' Read the data.
    For r = 1 To NumRows
        Line Input #fnum, row_info
        For c = 1 To NumCols
            ch = Mid$(row_info, c, 1)
            LegalMove(r, c) = (ch <> "#")
            If LCase$(ch) = "s" Then
                ' It's the start.
                PlayerR = r
                PlayerC = c
            ElseIf LCase$(ch) = "f" Then
                ' It's the finish.
                RFinish = r
                CFinish = c
            End If
        Next c
    Next r

    ' Close the file.
    Close #fnum

    ' Size the form.
    Width = ScaleX(SQUARE_WID * NumCols, ScaleMode, vbTwips) + _
        Width - ScaleX(ScaleWidth, ScaleMode, vbTwips)
    Height = ScaleY(SQUARE_HGT * NumRows, ScaleMode, vbTwips) + _
        Height - ScaleY(ScaleHeight, ScaleMode, vbTwips)

    ' Draw the maze.
    DrawMaze

    ' Position the player.
    PositionPlayer PlayerR, PlayerC

    ' Save the start time.
    StartTime = Timer
End Sub

' Draw the player.
Private Sub PositionPlayer(r As Integer, c As Integer)
Dim x As Single
Dim y As Single

    ' Erase the player's old position.
    If PlayerR > 0 Then
        x = (PlayerC - 1) * SQUARE_WID + (SQUARE_WID - picPlayer.Width) / 2
        y = (PlayerR - 1) * SQUARE_HGT + (SQUARE_HGT - picPlayer.Height) / 2
        Line (x - 1, y - 1)-Step(picPlayer.Width, picPlayer.Height), vbWhite, BF
    End If

    ' Move the player.
    PlayerR = r
    PlayerC = c

    ' Draw the player.
    x = (c - 1) * SQUARE_WID + (SQUARE_WID - picPlayer.Width) / 2
    y = (r - 1) * SQUARE_HGT + (SQUARE_HGT - picPlayer.Height) / 2
    PaintPicture picPlayer.Picture, x, y

    ' See if the player reached the finish.
    If r = RFinish And c = CFinish Then
        If MsgBox("You finished in " & _
            Int(Timer - StartTime) & " seconds." & _
            vbCrLf & "Play again?", vbYesNo, _
            "Congratulations") = vbYes _
        Then
            Form_Load
        Else
            Unload Me
        End If
    End If
End Sub



Version sebah97

Código (vb) [Seleccionar]
Option Explicit

' The maze information.
Private NumRows As Integer
Private NumCols As Integer
Private LegalMove() As Boolean

' The size of a square.
Private Const SQUARE_WID = 20
Private Const SQUARE_HGT = 20

' The player's position.
Private PlayerR As Integer
Private PlayerC As Integer

' The end position.
Private RFinish As Integer
Private CFinish As Integer

Private StartTime As Single
Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)
Dim r As Integer
Dim c As Integer

    r = PlayerR
    c = PlayerC
    Select Case KeyCode
        Case vbKeyLeft
            c = PlayerC - 1
        Case vbKeyRight
            c = PlayerC + 1
        Case vbKeyDown
            r = PlayerR + 1
        Case vbKeyUp
            r = PlayerR - 1
        Case Else
            Exit Sub
    End Select

    If LegalMove(r, c) Then PositionPlayer r, c
End Sub

' Initialize the maze and player.
Private Sub Form_Load()
    ScaleMode = vbPixels
    AutoRedraw = True
    picPlayer.Visible = False
   
    ' Initialize the maze.
    LoadMaze
End Sub

' Draw the maze.
Private Sub DrawMaze()
Dim r As Integer
Dim c As Integer
Dim Tile As String

    ' Start from scratch.
    Cls
   
    For r = 1 To NumRows
        For c = 1 To NumCols
            If LegalMove(r, c) Then
                If r = RFinish And c = CFinish Then
                    EsLlegada c * SQUARE_HGT, r * SQUARE_WID
                Else
                     EsCamino c * SQUARE_HGT, r * SQUARE_WID
                End If
            Else
                 EsPared c * SQUARE_HGT, r * SQUARE_WID
            End If

        Next c
    Next r
End Sub


' Initialize the maze.
Private Sub LoadMaze()
Dim fnum As Integer
Dim r As Integer
Dim c As Integer
Dim ch As String
Dim row_info As String

    ' Open the maze file.
    fnum = FreeFile
    Open App.Path & "\maze.dat" For Input As #fnum

    ' Read the number of rows and columns.
    Input #fnum, NumRows, NumCols
    ReDim LegalMove(1 To NumRows, 1 To NumCols)
   
    ' Read the data.
    For r = 1 To NumRows
        Line Input #fnum, row_info
        For c = 1 To NumCols
            ch = Mid$(row_info, c, 1)
            LegalMove(r, c) = (ch <> "#")
            If LCase$(ch) = "s" Then
                ' It's the start.
                PlayerR = r
                PlayerC = c
            ElseIf LCase$(ch) = "f" Then
                ' It's the finish.
                RFinish = r
                CFinish = c
            End If
        Next c
    Next r

    ' Close the file.
    Close #fnum

    ' Size the form.
    Width = ScaleX(SQUARE_WID * NumCols, ScaleMode, vbTwips) + _
        Width - ScaleX(ScaleWidth, ScaleMode, vbTwips)
    Height = ScaleY(SQUARE_HGT * NumRows, ScaleMode, vbTwips) + _
        Height - ScaleY(ScaleHeight, ScaleMode, vbTwips)

    ' Draw the maze.
    DrawMaze

    ' Position the player.
    PositionPlayer PlayerR, PlayerC

    ' Save the start time.
    StartTime = Timer
End Sub

' Draw the player.
Private Sub PositionPlayer(r As Integer, c As Integer)
Dim x As Single
Dim y As Single

    ' Erase the player's old position.
    If PlayerR > 0 Then
        x = (PlayerC - 1) * SQUARE_WID + (SQUARE_WID - picPlayer.Width) / 2
        y = (PlayerR - 1) * SQUARE_HGT + (SQUARE_HGT - picPlayer.Height) / 2
        Actualizar
    End If

    ' Move the player.
    PlayerR = r
    PlayerC = c

    ' Draw the player.
    x = (c - 1) * SQUARE_WID + (SQUARE_WID - picPlayer.Width) / 2
    y = (r - 1) * SQUARE_HGT + (SQUARE_HGT - picPlayer.Height) / 2
    PaintPicture picPlayer.Picture, x, y

    ' See if the player reached the finish.
    If r = RFinish And c = CFinish Then
        If MsgBox("You finished in " & _
            Int(Timer - StartTime) & " seconds." & _
            vbCrLf & "Play again?", vbYesNo, _
            "Congratulations") = vbYes _
        Then
            Form_Load
        Else
            Unload Me
        End If
    End If
End Sub

Sub EsCamino(x, y)
Me.PaintPicture Picture1, x, y, 20, 20
End Sub
Sub EsLlegada(x, y)
   Me.PaintPicture Picture3, x, y, 20, 20
End Sub
Sub EsPared(x, y)
   Me.PaintPicture Picture2, x, y, 20, 20
End Sub

Sub Actualizar()
Form1.Cls
DrawMaze
End Sub



Si se dan cuenta, cambié, que en vez de que el camino sea un cuadradito blanco, y la pared sea un cuadrado gris, cambie para que con PaintPicture, dibuje texturas, bien eso funciona a la perfección.

pero el problema está en que están "corridas" las texturas.Por ejemplo, en la fila 2 hay camino y en la fila 1 hay pared,pero al momento de jugar el personaje se ve caminando sobre la fila 1, pero enrealidad esta caminando en la fila 2....


ojala que me puedan entender y ayudar...

Saludos y Gracias de Antemano
#19
Hola, bueno como dice el título.. Algien me podria ayudar??

Lo que quiero hacer es crear una mira para el Counter Strike (Seguramente lo Conocen),y al dibujar el punto que no moleste en NADA, osea como si fuera una manchita en el monitor (a lo que me refiero es que puedas cliquear x la zona donde está el punto).

Espero que me puedan ayudar.... Gracias de antemano

sebah97
#20
Como dice el título, eh buscado, pero solamente dice para mostrar en el MSN lo que estoy haciendo yo, osea un ej:

Si Tengo el form1 habierto que en el msn diga "FOrmulario 1 Abierto" o algo asi xD.

Pero lo que quiero yo es en MI formulario mostrar lo que se está escuchando, x ejemplo con el Ares, winamp, etc
#21
Hola, eh intentado crear un tilemap y lo eh conseguido (Dejo el Código)

Código (vb) [Seleccionar]
Private Declare Function BitBlt Lib "gdi32" (ByVal hDestDC As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRop As Long) As Long
Private Const SRCCOPY = &HCC0020
Private Const SRCERASE = &H440328
Private Const SRCINVERT = &H660046
Private Const SRCPAINT = &HEE0086
Private Const SRCAND = &H8800C6
Private Const CLR_WATER = &HFF
Private Const CLR_GRASS = &HFF00
Private Const CLR_DIRT = &HC0C000
Private Declare Function GetPixel Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long) As Long
Private Declare Function SetPixel Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal crColor As Long) As Long


Public Sub DibujarMapa()




For y = 0 To 15
For x = 0 To 15

z = GetPixel(Form1.Picture2.hdc, x, y)
Debug.Print z

Select Case z


    Case RGB(0, 0, 255)
   
        EsAgua x * 32, y * 32
       

    Case RGB(128, 128, 128)
   
        EsCamino x * 32, y * 32
       
   
    Case RGB(0, 255, 0)
   
        EsLlegada x * 32, y * 32

End Select

Next x
Next y

End Sub
Sub EsAgua(x, y)


BitBlt Form1.Render.hdc, x, y, 32, 32, Form1.pic(0).hdc, 0, 0, SRCCOPY



End Sub
Sub EsLlegada(x, y)


BitBlt Form1.Render.hdc, x, y, 32, 32, Form1.pic(1).hdc, 0, 0, SRCCOPY

End Sub
Sub EsCamino(x, y)



BitBlt Form1.Render.hdc, x, y, 32, 32, Form1.pic(2).hdc, 0, 0, SRCCOPY

End Sub


Y Funciona muy Bien (Les dejo una Foto)



(Si se dan Cuenta, lo que hace es Leer Pixel x Pixel la imagen del picture 2, y depende a que pixel sea, Carga una textura.)

Bien, pero Ahora mi Duda:

¿Como Hago para hacer una especie de Parallax Scrolling? Porque de esta manera solo estaria limitando al mapa a ese tamaño que ustedes ven ):?

Bien, espero que me puedan ayudar, y gracias de AnteMano :)
#22
Hola Gente, Algien tiene el juego del laberinto de MCKSys Argentina  o el mismo MCKSys Argentina  si visita el thread xD.

Necesito el codigo que se me ocurrio una idea y justo en ese juegito estaba.!!

Bueno. desde ya gracias ;D
#23
Hola! Como andan?

Bueno, mi problema es que quiero rellenar los campos de esta pagina:

http://www.radiosabalera.com.ar/sms/

Eh Intentado con este Codigo:

En el Evento Click del Command 1:
Código (vb) [Seleccionar]
Me.WebBrowser1.Document.Forms(0).numtel.Value = Text1
Me.WebBrowser1.Document.Forms(0).mensaje.Value = Text2
Me.WebBrowser1.Document.Forms(0).remitente.Value = Text3
Me.WebBrowser1.Document.Forms(0).submit


En el Evento Load_Form:
Código (vb) [Seleccionar]
WebBrowser1.Navigate "http://www.radiosabalera.com.ar/sms/"

Pero no tira error, pero tampoco pasa nada :S Una Idea como para que andE?
#24
Hola, quisiera crear un archivo excel de solo lectura, pero los datos serian los que estan en un listbox, nada de bases de datos y eso ...  :xD
#25
Hola, yo tengo un Txt asi miren;

00000
00010
10000
00100
00000


Cada numerito representaria un tile

Bueno, el 0 Representaria que el Personaje puede caminar, y el 1 significa que esta bloqueado, osea que no puede caminar.

Bien, ahora, el problema, soy bastante principiante en esto, y tengo entendido que se podria hacer con una matriz bidimencional, pero nose ni por donde empezar ;S

lo que querria hacer es leer el .txt y si dice 1, el personaje no puede avanzar.

El personaje ya lo programe, lo que quisiera es que lea linea x linea y si dice 1 que el personaje no pueda avanzar, lo que nose como seria para bloquear.

Desde ya muchas Gracias
#26
Hola, Alguien se le ocurre una manera de Silenciar un Webbrowser?

Puse este Codigo pero no anda  :huh:

Código (vb) [Seleccionar]
Private Sub Command1_Click()
WebBrowser1.Silent = True
End Sub

Private Sub Command2_Click()
WebBrowser1.Silent = False
End Sub


Desde ya muchas gracias
#27
Programación Visual Basic / Ayuda, SendKeys
10 Febrero 2010, 11:23 AM


Como Verán, lo que quiero hacer es que si en txtlog(label) el caption dice "Arriba" x ejemplo se presione VbKeyUp

Me dan Alguna idea o corregirme este código? (Se me Ocurrio a mi de esa Manera, pero no anda :S)

Código:

Código (vb) [Seleccionar]
Const KEYEVENTF_KEYUP = &H2
Const KEYEVENTF_EXTENDEDKEY = &H1
 

 
Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, _
    ByVal bScan As Byte, _
    ByVal dwFlags As Long, _
    ByVal dwExtraInfo As Long)
   
Sub Pulsar_Tecla(Tecla As Long)
 
    Call keybd_event(Tecla, 0, 0, 0)
 
    Call keybd_event(Tecla, 0, KEYEVENTF_KEYUP, 0)
 
End Sub

Private Sub AbajoT_Timer()
Call Pulsar_Tecla(vbKeyDown)
End Sub

Private Sub ArribaT_Timer()
Call Pulsar_Tecla(vbKeyUp)
End Sub

Private Sub bntListen_Click()
On Error GoTo errorSub

    With Winsock1
        .Close
        .LocalPort = txtPort
        .Listen
    End With

Exit Sub
errorSub:
MsgBox "Error : " & Err.Description, vbCritical
End Sub

Private Sub bntSend_Click()
On Error GoTo errorSub

    Winsock1.SendData txtSend
   
    txtlog = txtlog & "Servidor : " & txtSend & vbCrLf
    txtSend = ""

Exit Sub
errorSub:
MsgBox "Error : " & Err.Description

Winsock1_Close
End Sub


Private Sub DerechaT_Timer()
Call Pulsar_Tecla(vbKeyRight)
End Sub

Private Sub Form_Load()

Call bntListen_Click

AbajoT.Enabled = False
ArribaT.Enabled = False
DerechaT.Enabled = False
IzquierdaT.Enabled = False

If txtlog.Caption = "Abajo" Then
AbajoT.Enabled = True
ArribaT.Enabled = False
DerechaT.Enabled = False
IzquierdaT.Enabled = False
End If

If txtlog.Caption = "Arriba" Then
AbajoT.Enabled = False
ArribaT.Enabled = True
DerechaT.Enabled = False
IzquierdaT.Enabled = False
End If

If txtlog.Caption = "Derecha" Then
AbajoT.Enabled = False
ArribaT.Enabled = False
DerechaT.Enabled = True
IzquierdaT.Enabled = False
End If

If txtlog.Caption = "Izquierda" Then
AbajoT.Enabled = False
ArribaT.Enabled = False
DerechaT.Enabled = False
IzquierdaT.Enabled = True
End If

End Sub

Private Sub IzquierdaT_Timer()
Call Pulsar_Tecla(vbKeyLeft)
End Sub

Private Sub Winsock1_Close()
    ' Finaliza la conexión
    Winsock1.Close

    txtlog = txtlog & "*** Desconectado" & vbCrLf

End Sub

Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long)
   
    If Winsock1.State <> sckClosed Then
        Winsock1.Close ' close
    End If

    Winsock1.Accept requestID
   
    txtlog = "Cliente conectado. IP : " & _
              Winsock1.RemoteHostIP & vbCrLf
             


End Sub

Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim dat As String

    Winsock1.GetData dat, vbString
    txtlog = dat & vbCrLf




End Sub

' cuando se produce un error lo envía
''''''''''''''''''''''''''''''''''''''''''''''''''''''
Private Sub Winsock1_Error(ByVal Number As Integer, _
                           Description As String, _
                           ByVal Scode As Long, _
                           ByVal Source As String, _
                           ByVal HelpFile As String, _
                           ByVal HelpContext As Long, _
                           CancelDisplay As Boolean)

    txtlog = txtlog & "*** Error : " & Description & vbCrLf

    Winsock1_Close

End Sub


Gracias de Antemano :)
#28
Programación Visual Basic / Ayuda con Winsock
4 Febrero 2010, 21:11 PM
Tengo un problema, yo estaba haciendo un programita que le envie a mi NOTBUK que teclas estoy apretando (Arriba,Abajo,Derecha,Izquierda) probé poniendo la IP de mi notbuk y no funciona. Después puse la ip de mi pc fija y tampoco anda y más tarde puse 127.0.0.1 y tampoco :S.

Les dejo los Codigos del cliente y Servidor:

CLIENTE:
Código (vb) [Seleccionar]
Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vbkey As Long) As Integer

Private Sub Form_Load()
With Winsock1
        .Close
        .RemoteHost = "127.0.0.1" ' También probe poniendo "localhost"
        .RemotePort = "1660"
        .Connect
    End With
   
    Winsock1.SendData Label1
   
End Sub

Private Sub Timer1_timer()



Dim i As Integer
'
For i = 8 To 222

x = GetAsyncKeyState(i)

If x = -32767 Then

Select Case i
Case vbKeyLeft: Label1.Caption = "Izquierda"
Case vbKeyUp: Label1.Caption = "Arriba "
Case vbKeyDown: Label1.Caption = "Abajo"
Case vbKeyRight: Label1.Caption = "Derecha"
End Select

End If
Next
End Sub


SERVIDOR:
Código (vb) [Seleccionar]
Private Sub Form_Load()
With Winsock1
        .Close
        .LocalPort = "1660"
        .Listen
    End With
End Sub
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim dat As String

    Winsock1.GetData dat, vbString
    Label1 = dat & vbCrLf

End Sub


Espero que me puedan ayudar.
#29
Hola, como dice el titulo quisiera que me expliquen como puedo hacer Drag & Drop, pero no cualquiera,quisiera que lo haga de un Picturebox hasta una cuadricula dibujada con lineas (Ver Imagen)



Como ven, quisiera que el picture que tiene cargada una Imagen verde copie esa Imagen al cuadrado que dibujé(Está Señalado con una Flecha, igual es un ejemplo, quisiera hacerlo con todos los cuadrados que quiera  :xD).

Si precisan el codigo de como dibujé los cuadrados se los paso:
Código (vb) [Seleccionar]
Sub Dibujar_cuadricula( _
    Objeto As Object, _
    CountX As Single, _
    CountY As Single, _
    Optional x_Color As Long = vbBlack, _
    Optional y_Color As Long = vbBlack)
   
    Dim i As Integer
    Dim mx As Long
    Dim my As Long
   
    ' limpiar objeto
    Objeto.Cls
   
    mx = CLng(Objeto.ScaleWidth / CountX)
    my = CLng(Objeto.ScaleHeight / CountY)
   
   
    Objeto.ForeColor = x_Color
   
   
    For i = 0 To CountX
        Objeto.Line (i * mx, 0)-(i * mx, Objeto.ScaleHeight)
    Next i
   
    Objeto.ForeColor = y_Color
   
   
    For i = 0 To CountY
        Objeto.Line (0, i * my)-(Objeto.ScaleWidth, i * my)
    Next i
   
End Sub


Private Sub Form_Load()
   
With Picture1
.BackColor = vbWhite
.ForeColor = vbBlue
.FontSize = 12
.AutoRedraw = True
End With
' la cuadricula (osea los cuadraditos las dibuja en un picture grande (picture1 xd)
Call Dibujar_cuadricula(Picture1, 15, 15, vbRed, vbRed)
     
End Sub



PD: Para mi abria que hacer como algo para que cada cuadrado simule un CONTROL  :xD (igual ni idea yo :S)
#30
Hola, como dice el titulo alguien conoce un manual de esta dll que te permite crear juegos 2d?

O expliquenmen poniendo codigos  de ejemplo nose, la verdad que investigue sobre la dll y me intereso mucho, pero no encontre ni un manual.

GRacias de antemano
#31
Programación Visual Basic / Una Ayudita :$
28 Enero 2010, 22:08 PM
Hola, antes que nada me presento en el foro, me llamo Sebastian, me dicen Seba,soi de ARGENTINA  y tengo 12 años, y me encanta programar en VB6

Bien bamos al tema, yo quiero hacer algo asi como un MMORPG, enrealidad ya tengo todo echo (ya conecta sv y cliente, podes crear personajes, ETC).

Puse para ver como queda creando objetos en tiempo de ejecucion pero no queda bien, porque se puede RECONTRA optimizar, x eso quisiera saber como dibujar

Lo unico que me falta es saber como hacer para dibujar en un picture lo que yo le indique.

Osea le pongo para que abra X imagen, pero que no sea la propiedad picture porque sino boy a tener que crear 1203981 objetos en tiempo de ejecucion y  como que no DA XDD. Ojala allan entendido y me puedan ayudar

Saludos SEBA

PD: Si no entienden diganme q les explico mejor   ;)