Login.btm Script para 4DOS

Iniciado por _carlos_, 9 Diciembre 2008, 01:32 AM

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

_carlos_

Les dejo mi primer script para 4dos.
Lo que hace es simular una autenticación, al presionar las teclas no se muestra, al igual que en las autenticaciones en sistemas unix, unix like. Le limité el rango de teclas presionadas al abecedario, los numeros, y el backspace.

Aquí pueden verlo en acción: http://4dos.net84.net/ (necesitan tener instalado java en su computador), al ingresar la palabra "carlos", se autentifica y se procede a ejecutar el juego del tic tac toe (otro script para 4dos, que no hice yo porque está muy bueno xD). Recomiendo presionar "Type key", para entrar en el foco de la pantalla.

Login.btm


@UNALIAS *
@ECHO OFF
@CLS

:INI
GOSUB LOGIN PASSWORD
IF NOT "carlos"=="%PASSWORD" (
ECHO AUTHENTIFICATION FAILED
GOTO INI
)
ECHO.
TICTACTO.BTM
GOTO :EOF

:LOGIN [VARIABLENAME]
::Login function for 4DOS 7.50
::version:0.1
::author:Carlos.
ECHO.
ECHOS ENTER PASSWORD:
IF DEFINED CHAR UNSET CHAR
IF DEFINED %VARIABLENAME UNSET %VARIABLENAME

DO WHILE NOT DEFINED CHAR
INKEY /P /X /K"0123456789abcdefghijklmnopqrstuvwxyz[Bksp][Enter]" %%CHAR

IFF "%@ASCII[%CHAR]" EQ "8" THEN
   SET %VARIABLENAME=%@INSTR[0,%@EVAL[%@LEN[%[%VARIABLENAME]]-1],%[%VARIABLENAME]]
ELSEIFF ("%CHAR" GE "A" .AND. "%CHAR" LE "Z") .OR. ("%CHAR" GE "0" .AND. "%CHAR" LE "9") THEN
   SET %VARIABLENAME=%@INSERT[%@LEN[%[%VARIABLENAME]],%CHAR,%[%VARIABLENAME]]
ELSE
   LEAVE
ENDIFF
UNSET CHAR
ENDDO
IF NOT DEFINED %VARIABLENAME GOTO LOGIN
RETURN