const skills = [
{
keys: ['ArrowUp', 'ArrowUp', 'ArrowDown', 'ArrowDown', 'ArrowLeft', 'ArrowRight', 'ArrowLeft', 'ArrowRight', 'b', 'a'],
cd: 10,
skillsCheckProgress: 0,
skillsLastFire: 0,
}
]
window.onkeydown = (key) => {
for (let i = 0; i < skills.length; i++) {
let skill = skills[i];
if (key.key === skill.keys[skill.skillsCheckProgress]) {
skill.skillsCheckProgress++;
} else {
skill.skillsCheckProgress = 0;
}
let now = new Date().getTime();
if (skill.skillsCheckProgress === skill.keys.length
&& (now - skill.skillsLastFire) > (skill.cd * 1000)) {
skills.skillsCheckProgress = 0;
skills.skillsLastFire = now;
console.log('fire');
}
}
}
Most helpful comment