Search This Blog

Como muchos otros ya hicieron, por favor dejen comentarios o críticas, se aprecian!

Sunday, February 26, 2012

Ver teclas presionadas en una demo (Source Engine)

Es posible, al mirar una demo, ver que teclas se presionaron en cada momento, y que acción producieron (es decir, a que estaban "bindeadas"). Esto podría ser útil si se quiere entender mejor como algún jugador logro hacer algo complejo, o quizas para atrapar a alguien usando un triggerbot (si es que este no envía la señal de "presionar mouse1" para disparar, lo cual delataría al cheater en caso de que sus tiros se esten disparando sin presionar nada).
Edit: Efectivamente, en ciertos casos puede usarse para descubrir cheaters. He aquí un ejemplo de un scout australiano, considerado por varios durante un largo tiempo como el mejor, siendo descubierto con este método

De cualquier forma, no deja de ser una curiosidad interesante, aquí la tienen. Es necesario ingresar 4 comandos en consola:

developer 1

Con este comando podrán ver el "output" (salida) de la consola en la cima izquierda de la pantalla mientras estan dentro del juego.

demo_debug 1

Este se encarga de hacer un output de todo lo que pasa en la demo, entre ello, los comandos ejecutados por el usuario.

con_filter_enable 1

Con este 3er comando, se activa el filtro de consola, para "limpiar" la salida y no ver información de más que no nos interesa (ya sea sobre errores, texturas, sonidos, frags, o lo que fuere).

con_filter_text "dem_consolecmd"

Finalmente, con este último comando filtramos todo lo que no incluya la frase dem_consolecmd, por lo que solo veremos los comandos ejecutados por el jugador en la demo.


Como verán, el formato de salida es: tick dem_consolecmd [acción tecla].
Si desean controlar cuanto tiempo se muestran los mensajes de la consola, pueden estipular el tiempo en segundos usando con_notifytime X (obviamente reemplazando "X" por el número en segundos, el valor predeterminado es 8).
Los códigos de las teclas (número que las representan, o "keycodes") son los del "Source Keymap". Dejo aquí una lista con ellos:


(0, KEY_NONE)
(1, KEY_0)
(2, KEY_1)
(3, KEY_2)
(4, KEY_3)
(5, KEY_4)
(6, KEY_5)
(7, KEY_6)
(8, KEY_7)
(9, KEY_8)
(10, KEY_9)
(11, KEY_A)
(12, KEY_B)
(13, KEY_C)
(14, KEY_D)
(15, KEY_E)
(16, KEY_F)
(17, KEY_G)
(18, KEY_H)
(19, KEY_I)
(20, KEY_J)
(21, KEY_K)
(22, KEY_L)
(23, KEY_M)
(24, KEY_N)
(25, KEY_O)
(26, KEY_P)
(27, KEY_Q)
(28, KEY_R)
(29, KEY_S)
(30, KEY_T)
(31, KEY_U)
(32, KEY_V)
(33, KEY_W)
(34, KEY_X)
(35, KEY_Y)
(36, KEY_Z)
(37, KEY_PAD_0)
(38, KEY_PAD_1)
(39, KEY_PAD_2)
(40, KEY_PAD_3)
(41, KEY_PAD_4)
(42, KEY_PAD_5)
(43, KEY_PAD_6)
(44, KEY_PAD_7)
(45, KEY_PAD_8)
(46, KEY_PAD_9)
(47, KEY_PAD_DIVIDE)
(48, KEY_PAD_MULTIPLY)
(49, KEY_PAD_MINUS)
(50, KEY_PAD_PLUS)
(51, KEY_PAD_ENTER)
(52, KEY_PAD_DECIMAL)
(53, KEY_LBRACKET)
(54, KEY_RBRACKET)
(55, KEY_SEMICOLON)
(56, KEY_APOSTROPHE)
(57, KEY_BACKQUOTE)
(58, KEY_COMMA)
(59, KEY_PERIOD)
(60, KEY_SLASH)
(61, KEY_BACKSLASH)
(62, KEY_MINUS)
(63, KEY_EQUAL)
(64, KEY_ENTER)
(65, KEY_SPACE)
(66, KEY_BACKSPACE)
(67, KEY_TAB)
(68, KEY_CAPSLOCK)
(69, KEY_NUMLOCK)
(70, KEY_ESCAPE)
(71, KEY_SCROLLLOCK)
(72, KEY_INSERT)
(73, KEY_DELETE)
(74, KEY_HOME)
(75, KEY_END)
(76, KEY_PAGEUP)
(77, KEY_PAGEDOWN)
(78, KEY_BREAK)
(79, KEY_LSHIFT)
(80, KEY_RSHIFT)
(81, KEY_LALT)
(82, KEY_RALT)
(83, KEY_LCONTROL)
(84, KEY_RCONTROL)
(85, KEY_LWIN)
(86, KEY_RWIN)
(87, KEY_APP)
(88, KEY_UP)
(89, KEY_LEFT)
(90, KEY_DOWN)
(91, KEY_RIGHT)
(92, KEY_F1)
(93, KEY_F2)
(94, KEY_F3)
(95, KEY_F4)
(96, KEY_F5)
(97, KEY_F6)
(98, KEY_F7)
(99, KEY_F8)
(100, KEY_F9)
(101, KEY_F10)
(102, KEY_F11)
(103, KEY_F12)
(104, KEY_CAPSLOCKTOGGLE)
(105, KEY_NUMLOCKTOGGLE)
(106, KEY_SCROLLLOCKTOGGLE)
(107, MOUSE_LEFT)
(108, MOUSE_RIGHT)
(109, MOUSE_MIDDLE)
(110, MOUSE_4)
(111, MOUSE_5)
(112, MOUSE_WHEEL_UP)
(113, MOUSE_WHEEL_DOWN)
(114, KEY_XBUTTON_A)
(115, KEY_XBUTTON_B)
(116, KEY_XBUTTON_X)
(117, KEY_XBUTTON_Y)
(118, KEY_XBUTTON_LEFT_SHOULDER)
(119, KEY_XBUTTON_RIGHT_SHOULDER)
(120, KEY_XBUTTON_BACK)
(121, KEY_XBUTTON_START)
(122, KEY_XBUTTON_STICK1)
(123, KEY_XBUTTON_STICK2)

(146, KEY_XBUTTON_UP)
(147, KEY_XBUTTON_RIGHT)
(148, KEY_XBUTTON_DOWN)
(149, KEY_XBUTTON_LEFT)
(150, KEY_XSTICK1_RIGHT)
(151, KEY_XSTICK1_LEFT)
(152, KEY_XSTICK1_DOWN)
(153, KEY_XSTICK1_UP)
(154, KEY_XBUTTON_LTRIGGER)
(155, KEY_XBUTTON_RTRIGGER)
(156, KEY_XSTICK2_RIGHT)
(157, KEY_XSTICK2_LEFT)
(158, KEY_XSTICK2_DOWN)
(159, KEY_XSTICK2_UP)


Referencias:
Thread de "atmo" en natf2.com


2 comments: