elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


  Mostrar Mensajes
Páginas: 1 2 [3] 4
21  Programación / Scripting / Re: [+] MenuCreator en: 29 Mayo 2009, 00:41 am
a mi no me interesa si tenes sueño o cualkier otro motivo
a mi me pones la explicacion bien detallada.. tendiste ?
jajajajja

voy a mirarlo cuando llegue a casa.. y es mas. .te lo voy a robar jajajaja
joda bldo :P

buen codigo.. no me habias contado nada u.u
saludos

lo hice en 10min no es algo pá andar contando  :P
ahi te admi... me conect... ahi te hablo por msn...  ;D
22  Programación / Scripting / Re: [+] MenuCreator en: 29 Mayo 2009, 00:29 am
INteresante codigo.....veo que ha sido de gran utilidad el Keyboard.exe  ;D

si si, es "mas mejor" que el choice  :P

Te faltó:
Código:
setlocal enabledelayedexpansion

Saludos.

sisi tal cual, ahora lo agrego, cuando lo hacia lo tenia arriba de la etiqueta...  :xD
y tambien agrego los parametros del Call, por si alguno no queda claro...  :rolleyes:
23  Programación / Scripting / [+] MenuCreator en: 28 Mayo 2009, 04:19 am
Con MenuCreator pueden crear un menu desde un simple Call...



Parametros:

Código:
Call:Menu
         |_1_ Items separados por Puntos ( ejemplo.de.items. )
         |_2_ Espacio entre borde Isq y menu ( "                  " )
         |_3_ Icono de NO seleccionado ( "[-]" )
         |_4_ Icono de SI seleccionado ( "[+]" )
         |_5_ Variable que contenga una cabezera para el menu, sin %% (Cabezera)
         |_6_  Variable donde se almacenara el item seleccionado

[i]Call:Menu "ejemplo.de.items" "                  " "[-]" "[+]" Cabezera Resultado[/i]

( Lo pongo entre (Code)(/Code) porque sino se deforma... )




Ejemplos:

Codigo:
Código:
:MenuCreator
SetLocal EnableDelayedExpansion
If NOT exist "keyboard.exe" (Call:..kybrd Echo)
Set ..p6=%6
Set ..c=0
set ..p1=%~1
set ..p1=%..p1:.=,%
For  %%_ in (%..p1%) Do (Set /A ..c+=1&Set ..itm!..c!=%%_)
Set ..s=1
:..MnGn
CLS&Echo.&!%5!&Echo.
For /L %%_ in (1,1,!..c!) Do (
If ["%%_"]==["!..s!"] (Echo%~2%~4 !..itm%%_!) Else (Echo%~2%~3 !..itm%%_!)
)
keyboard
If ["%ErrorLevel%"]==["72"] (IF not ["!..s!"]==["1"] (Set /A ..s-=1))
If ["%ErrorLevel%"]==["80"] (IF not ["!..s!"]==["!..c!"] (Set /A ..s+=1))
If ["%ErrorLevel%"]==["13"] (Set %..p6%=!..itm%..s%!&CLS&GOTO:EOF)
GoTo:..MnGn
:..kybrd
(%1 n keyboard.dat
%1 e 0000 4D 5A 2E 00 01 00 00 00 02 00 00 10 FF FF F0 FF
%1 e 0010 FE FF 00 00 00 01 F0 FF 1C 00 00 00 00 00 00 00
%1 e 0020 B4 08 CD 21 3C 00 75 02 CD 21 B4 4C CD 21
%1 rcx&%1 002E&%1 w0&%1 q&%1.)>keyboard.dat
type keyboard.dat|debug>NUL 2>&1
del /f/q/a "keyboard.exe">NUL 2>&1
rename "keyboard.dat" "keyboard.exe"
GoTo:EOF




Código:
Set Cabezera=Echo                            \_/\ [ MenuByPony ] /\_/
Call:Menu "Menu.By.Pony.Magic" "                            " "[-]" " [+]" Cabezera resultado
Echo.
Echo %resultado%
Pause




Código:
Set Cabezera=Echo                     -:01010011.. P0NYM4GIK ..11001010:-
Call:Menu "Menu.By.Pony.Magic" "                         " "o" " o" Cabezera resultado
Echo.
Echo %resultado%
Pause
24  Programación / Scripting / MapGame 2.0 .: By PonyMagic :. en: 31 Marzo 2009, 17:32 pm
    -  Para ver el MapGame 1.0 Click Aqui.

.:] MapGame [:.
Mini-Motor de juegos Batch


- Mejoras de la version anterior:

        |-|  Todas las variables empiezan con "." (Punto) de esta manera no se mezcla con las variables que uno este usado.
        |-|  La forma de generar el mapa, es mas rapida, los objetos solidos, salidas, etc. son nombrados 1 sola vez, lo unico que cambia es la posicion del personaje.
        |-|  El Codigo es mas limpio, no hay variables sin usar o cosas así.




- Como llamarlo? :

        |-|  Solid/ + Coordenadas solidas separadas por "." (Punto).
        |-|  Exist/ + Coordenadas de salidas separadas por "." (Punto).
        |-|  PJ/ + Coordenada del persojane.
        |-|  Map/ + Valor1 + "x" + Valor2


  -  Ejemplo:

             Call:MapGAME Solid/y2x2.y3x2.y4x2 Exit/y6x2.y6x3 PJ/y4x4 Map/8x12
                 


        |-|  CODIGO

Código:
:MapGAME
:: By PonyMagic
SetLocal EnableDelayedExpansion
For /F "Tokens=2 Delims=/" %%f in ("%1") Do (Set .Sld=%%f&Set .Sld=!.Sld:.=,!)
For /F "Tokens=2 Delims=/" %%f in ("%2") Do (Set .Ext=%%f&Set .Ext=!.Ext:.=,!)
For /F "Tokens=2 Delims=y" %%f in ("%3") Do (Set .PJy=%%f)
For /F "Tokens=2 Delims=x" %%f in ("%.PJy%") Do (Set .PJx=%%f)
For /F "Tokens=1 Delims=x" %%f in ("%.PJy%") Do (Set .PJy=%%f)
For /F "Tokens=2 Delims=/" %%f in ("%3") Do (Set .PJ=%%f)
For /F "Tokens=2 Delims=/" %%f in ("%4") Do (Set .Map=%%f)
For /F "Tokens=1 Delims=x" %%f in ("%.Map%") Do (Set .LmY=%%f)
For /F "Tokens=2 Delims=x" %%f in ("%.Map%") Do (Set .LmX=%%f)
For %%e in (%.Sld%) do (set %%e=Û)
For %%e in (%.Ext%) do (set %%e=)
Set %.PJ%=
For /L %%Y in (1,1,%.LmY%) Do (
For /L %%X in (1,1,%.LmX%) Do (
Set ln.%%Y=!ln.%%Y!!y%%Yx%%X!
)
Echo !ln.%%Y!
)
GoTo:Choice_
:MG_
Set %1=
For /L %%Y in (%2) Do (For /L %%X in (%3) Do (Set ln.%%Y=!ln.%%Y!!y%%Yx%%X!))
For /L %%S in (1,1,%.LmY%) Do (Echo !ln.%%S!)
:Choice_
CHOICE.EXE /c ADSW /n >nul
Set NwPs=
If ["%ErrorLevel%"]==["1"] (
Set /a .Nw=%.PJx%-1
For %%e in (%.Sld%) do (If ["%%e"]==["y%.PJy%x%.Nw%"] Set NwPs=y%.PJy%x%.PJx%)
For %%e in (%.Ext%) do (If ["%%e"]==["y%.PJy%x%.Nw%"] GoTo:EoF)
If NOT Defined NwPs (Set NwPs=y%.PJy%x%.Nw%)
Set /a .PJx=%.PJx%-1
Call:MG_ %NwPs% %.PJy% %.PJx%
)
If ["%ErrorLevel%"]==["2"] (
Set /a .Nw=%.PJx%+1
For %%e in (%.Sld%) do (If ["%%e"]==["y%.PJy%x%.Nw%"] Set NwPs=y%.PJy%x%.PJx%)
For %%e in (%.Ext%) do (If ["%%e"]==["y%.PJy%x%.Nw%"] GoTo:EoF)
If NOT Defined NwPs (Set NwPs=y%.PJy%x%.Nw%)
Set /a .PJx=%.PJx%+1
Call:MG_ %NwPs% %.PJy% %.PJx%
)
If ["%ErrorLevel%"]==["3"] (
Set /a .Nw=%.PJy%+1
For %%e in (%.Sld%) do (If ["%%e"]==["y%.Nw%x%.PJx%"] Set NwPs=y%.PJy%x%.PJx%)
For %%e in (%.Ext%) do (If ["%%e"]==["y%.Nw%x%.PJx%"] GoTo:EoF)
If NOT Defined NwPs (Set NwPs=y%.Nw%x%.PJx%)
Set /a .PJy=%.PJy%+1
Call:MG_ %NwPs% %.PJy% %.PJx%
)
If ["%ErrorLevel%"]==["1"] (
Set /a .Nw=%.PJy%-1
For %%e in (%.Sld%) do (If ["%%e"]==["y%.Nw%x%.PJx%"] Set NwPs=y%.PJy%x%.PJx%)
For %%e in (%.Ext%) do (If ["%%e"]==["y%.Nw%x%.PJx%"] GoTo:EoF)
If NOT Defined NwPs (Set NwPs=y%.Nw%x%.PJx%)
Set /a .PJy=%.PJy%-1
Call:MG_ %NwPs% %.PJy% %.PJx%
)
GoTo:EOF


  -  DESCARGAR EJEMPLO + CHOICE.EXE -


  -  PonyMagic

25  Foros Generales / Sugerencias y dudas sobre el Foro / Re: Hola a todos :P en: 27 Marzo 2009, 19:55 pm


26  Programación / Scripting / Re: Ayuda con for y set en: 27 Marzo 2009, 19:04 pm
Código:
SetLocal EnableDelayEdexpansion
For /F "Tokens=*" %%T in (Archivo.txt) Do (
Set /a c+=1
Set Linea_!c!=%%T
)

te queda %Linea_1%, %linea_2%, etc...
27  Programación / Scripting / Re: MapGame - "Motor" de juegos batch. en: 26 Marzo 2009, 18:25 pm
si, si... era setlocal EnableDelayedExpansion.

se me escapo, cuando lo estaba programando lo avia puesto arribla de la etiqueta.  :laugh:

Ahora lo arreglo, grax.
28  Programación / Scripting / MapGame - "Motor" de juegos batch. en: 26 Marzo 2009, 06:56 am
- MapGame 1.0 By PonyMagic
Motor para crear mapas de juegos de diferentes tamaños donde un personaje se mueve, hay salidas, y objetos solidos que el jugador no puede atravezar.   ;-)



Ejemplo:
Call:mapGame solid=y2x1-y2x2-y2x3-y2x4-y2x5 pj=y3x2 map=5x10 exitmap=y3x1-y3x2

Solid=Coordenadas de objetos solidos. ( separados por - )
PJ= Coordenada de inicio del jugador.
Map=Tamaño del mapa ( 5x10, 5 renglones, 10x por renglon )
exitmap=Coordenadas de salida del mapa. ( separados por - )

Código:
:mapGame
CLS
SetLocal EnableDelayEdexpansion
set prm_1=%1&set prm_2=%2
set prm_3=%3&set prm_all=%*
set prm_5=%5&set prm_6=%6
set prm_7=%7&set prm_8=%8
set sld=%2
set sld=%sld:-=,%
set ext=%8
set ext=%ext:-=,%
For /F "Tokens=1 delims=x" %%z in ("%6") Do (set LmtY=%%z)
For /F "Tokens=2 delims=x" %%z in ("%6") Do (set LmtX=%%z)
For /L %%Y in (1,1,%LmtY%) do (Set Lin_%%Y=)
For /L %%Y in (1,1,%LmtY%) do (
For /L %%X in (1,1,%LmtX%) do (
Set y%%Yx%%X=±
For %%S in (%sld%) Do (
set %%S=Û
)
set %4=
For %%P in (%ext%) do (
If ["%4"]==["%%P"] ( GoTo:EOF ) ELSE (Set %%P=)
)
Set Lin_%%Y=!Lin_%%Y!!y%%Yx%%X!
)
Echo !Lin_%%Y!
)
CHOICE.EXE /c ADSW /n >nul
For /F "Tokens=* delims=y" %%F in ("%4") do (
For /F "Tokens=1 delims=x" %%G in ("%%F") do (
set PosY=%%G
)
For /F "Tokens=2 delims=x" %%G in ("%%F") do (
set PosX=%%G
)
)
If %Errorlevel%==1 ( if not !PosX!==1 (
set /a PosX-=1
set NwPJ=y%PosY%x!PosX!
For %%S in (%sld%) Do (
If "%%S"=="!NwPJ!" (
Call:mapGame %prm_all%
)
)

Call:mapGame %prm_1%=%prm_2% %prm_3%=!NwPJ! %prm_5%=%prm_6% %prm_7%=%prm_8%))
If %Errorlevel%==2 ( if not !PosX!==%LmtX% (
set /a PosX+=1
set NwPJ=y%PosY%x!PosX!
For %%S in (%sld%) Do (
If "%%S"=="!NwPJ!" (
Call:mapGame %prm_all%
)
)

Call:mapGame %prm_1%=%prm_2% %prm_3%=!NwPJ! %prm_5%=%prm_6% %prm_7%=%prm_8%))
If %Errorlevel%==3 ( if not !PosY!==%LmtY% (
set /a PosY+=1
set NwPJ=y!PosY!x%PosX%
For %%S in (%sld%) Do (
If "%%S"=="!NwPJ!" (
Call:mapGame %prm_all%
)
)

Call:mapGame %prm_1%=%prm_2% %prm_3%=!NwPJ! %prm_5%=%prm_6% %prm_7%=%prm_8%))
If %Errorlevel%==4 ( if not !PosY!==1 (
set /a PosY-=1
set NwPJ=y!PosY!x%PosX%
For %%S in (%sld%) Do (
If "%%S"=="!NwPJ!" (
Call:mapGame %prm_all%
)
)

Call:mapGame %prm_1%=%prm_2% %prm_3%=!NwPJ! %prm_5%=%prm_6% %prm_7%=%prm_8%))
Goto:EOF


EJEMPLO:


Código:
set Pje=y3x2
:_
Call:mapGame solid=y3x1-y2x1-y2x2-y2x3-y2x4-y2x5-y2x6-y2x7-y2x8-y2x9-y2x10-y4x1-y4x2-y4x3-y4x4-y4x5-y4x6-y4x7-y4x8-y4x9-y4x10 pj=%Pje% map=5x10 exitmap=y3x10
Call:mapGame solid=y2x1-y2x2-y2x3-y2x4-y2x5-y2x6-y2x7-y2x8-y2x9-y2x10-y4x1-y4x2-y4x3-y4x4-y4x5-y4x6-y4x7-y4x8-y4x9-y4x10-y3x10 pj=y3x2 map=5x10 exitmap=y3x1
set Pje=y3x9
GoTo:_



CHOICE.EXE - Click para Descargar

http://rapidshare.com/files/214215002/CHOICE.EXE.html


29  Programación / Scripting / Saber si un proceso esta abierto. en: 31 Diciembre 2008, 03:00 am
Bueno, vi un code que usaba errorlevel para saber si un proceso esta abierto o no.
yo siempre use esto:

Código:
:Task
for /f "Tokens=1" %%p in ('tasklist') do ( if "%%p"=="%1" ( set %2=Si & GoTo:Eof ) else ( set %2=No)) & GoTo:Eof
( Call:Task Proceso.exe variable )
Pero me gustaria saber como es con %errorlevle%, si alguien me lo explica, porque la otra vez no lo entendi.
30  Programación / Scripting / Re: Comportamiento inesperado [FOR+PAUSE] en: 28 Diciembre 2008, 22:15 pm
mmm..., que raro.
tambien
Código:
@echo off
for /L %%a in (1,1,10) do (
echo %%X
)&Msg * Prueba
sale las 10 veces el Msg... parece que no lo cierra bien al For... ni idea  :xD
Páginas: 1 2 [3] 4
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines