Hola cristopher2545! Le podés aplicar álgebra booleana.
Lo que querés hacer es lo que haría la puerta lógica "AND". En álgebra booleana esto se expresa de esta forma:
Con dos valores:
A * B = B * A
O con tres valores
(A * B) *C = A * (B * C) = A * B * C
Aplicándolo a lo que querés hacer vos quedaría así:
[gml]//Las teclas las definís vos según tu necesidad
var tecla_a = keyboard_check(tecla);
var tecla_b = keyboard_check(tecla);
var tecla_c = keyboard_check(tecla);
//Primer caso (TECLA A + TECLA B = salto)
if (tecla_a * tecla_b){
//Ejecutar un script de salto
salto();
}
//Segundo caso (TECLA A + TECLA B + TECLA C = sprintar)
if (tecla_a * tecla_b * tecla_c){
//Ejecutar un script de sprint
sprint();
}
[/gml]
Lo que sucede es que, al presionar las teclas, las variables se actualizan a 1. Y al soltar, a 0.
Suponé que estás presionando las teclas "a" y "b":
[gml]if (tecla_a * tecla_b *tecla_c) {...}
//Es igual que:
if (1 * 1 * 0) {...} //1 * 1 * 0 = 0, que es false
[/gml]
Se tiene que presionar las 3 teclas al mismo tiempo para que ese evento se ejecute.
Te recomiendo que leas información sobre álgebra booleana. Este tema aplicado a la programación es muy útil.
Lo que querés hacer es lo que haría la puerta lógica "AND". En álgebra booleana esto se expresa de esta forma:
Con dos valores:
A * B = B * A
O con tres valores
(A * B) *C = A * (B * C) = A * B * C
Aplicándolo a lo que querés hacer vos quedaría así:
[gml]//Las teclas las definís vos según tu necesidad
var tecla_a = keyboard_check(tecla);
var tecla_b = keyboard_check(tecla);
var tecla_c = keyboard_check(tecla);
//Primer caso (TECLA A + TECLA B = salto)
if (tecla_a * tecla_b){
//Ejecutar un script de salto
salto();
}
//Segundo caso (TECLA A + TECLA B + TECLA C = sprintar)
if (tecla_a * tecla_b * tecla_c){
//Ejecutar un script de sprint
sprint();
}
[/gml]
Lo que sucede es que, al presionar las teclas, las variables se actualizan a 1. Y al soltar, a 0.
Suponé que estás presionando las teclas "a" y "b":
[gml]if (tecla_a * tecla_b *tecla_c) {...}
//Es igual que:
if (1 * 1 * 0) {...} //1 * 1 * 0 = 0, que es false
[/gml]
Se tiene que presionar las 3 teclas al mismo tiempo para que ese evento se ejecute.
Te recomiendo que leas información sobre álgebra booleana. Este tema aplicado a la programación es muy útil.