PDA

View Full Version : [Tutorial] How to detect joypad.



SergiuOfficial
19-06-17, 11:22
To detect joypad is very simple, it is not complicated as people think.

Code:
new keys, ud, lr;
GetPlayerKeys(playerid, ud, lr);

When you are using a keyboard, you are not using a joystick, when using a keyboard you are either pressing down the key, or you are not. When you are pressing down a key it will return either 128, or -128 (128 = down, -128 = up, 0 = neither, and the same for left and right) however, when you are using a joystick since it is not a "is the key down or not" but rather a stick that can be moved around in a circular motion a range of values (could return anything from -128 to 128 ), could be used.

So, contrary to popular belief, you do not need to do some insane math functions to detect aim and etc etc, this is False. all you need is the following.


Code:
OnPlayerUpdate(playerid) {
new keys, ud, lr;
GetPlayerKeys(playerid, keys, ud, lr);
if((ud != 128 && ud != 0 && ud != -128) || (lr != 128 && lr != 0 && lr != -128))
SendClientMessage(playerid, 0x0FFFFFFA, "JOYPADDER!");
else
SendClientMessage(playerid, 0x0FFFFFFA, "Not a joypadder.");
}