31/01/2021 23:55
(31/01/2021 21:57)Hatiro Escreveu: tenta remover o if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER) de quando aperta espaço pra testar
ou faz assim
se pegar você vai ter que mudar o tipo de detecçãoCódigo:public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) {
if(newkeys == KEY_SPRINT && GetPlayerState(playerid) == PLAYER_STATE_DRIVER) { // quando apertar 'H' NO POSTO
if(IsPlayerInRangeOfPoint(playerid, 7, 1939.1224, -1775.5885, 12.9718)) {
TogglePlayerControllable(playerid, 0);
for(new pc; pc != 4; pc++) PlayerTextDrawShow(playerid, PostGas[playerid][pc]);
}
}
else if(newkeys == KEY_HANDBRAKE) { // quando apertar 'ESPAÇO' NO POSTO
TogglePlayerControllable(playerid, 1);
if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER) {
for(new pc; pc != 4; pc++) PlayerTextDrawHide(playerid, PostGas[playerid][pc]);
}
}
return 1;
}
Qual o sentido de usar else if em uma situação onde não está adicionando uma exceção/caminho alternativo? Isso nunca iria funcionar, são teclas distintas, else seria caso o cara quisesse utilizar a mesma tecla para ambas as situações.
Tente o seguinte:
Código:
if(newkeys == KEY_HANDBRAKE) { // quando apertar 'ESPAÇO' NO POSTO
if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER) {
SetTimerEx("Descongelar", 1000, false, "i", playerid);
for(new pc; pc != 4; pc++) PlayerTextDrawHide(playerid, PostGas[playerid][pc]);
Stock para descongelar:
Código:
forward Descongelar(playerid);
public Descongelar(playerid)
{
TogglePlayerControllable(playerid, 1);
return 1;
}
Discente de Sistemas de Informação no Centro Federal de Ensino Tecnológico(CEFET/RJ)
Programador SA-MP desde 2012
Programador SA-MP desde 2012
Não envie dúvidas por inbox, crie um tópico. Sua dúvida pode ser a dúvida de outro alguém, e seu tópico ajudará outras pessoas no futuro.