03/07/2023 11:07
(Esta mensagem foi modificada pela última vez a: 03/07/2023 11:08 por White_Blue.)
(03/07/2023 09:01)Usuário Aleatório Escreveu: Gostaria de fazer um sistema em q quando algum player disparar uma arma enquanto está perto do actor,ou simplesmente quando alguém disparar no actor ou mirar nele,a animação do actor mudasse,mas n sei quais funções usar ou como fazer.
Exemplo:
Código PHP:
// Variáveis
new actor, TimerActor[MAX_PLAYERS];
// Criação do actor
public OnGameModeInit() {
actor = CreateActor(skinid, X, Y, Z, R); // Troque as coordenadas X, Y, Z, R pelas coordenadas XYZ e rotação do actor.
return 1;
}
// Função do timer
forward AttRoubo(playerid);
public AttRoubo(playerid) {
new target = GetPlayerTargetActor(playerid);
if(target != actor) return 1;
// Caso o jogador esteja mirando no actor correto, executa a ação aqui.
return 1;
}
// No evento quando o jogador entra no interior, inicia um timer para fazer a verificação
TimerActor[playerid] = SetTimerEx("AttRoubo", 2500, true, "d", playerid);
// No evento quando o jogador sair do interior, para o timer
KillTimer(TimerActor[playerid]);
// Caso ao invés de mirar no actor, o jogador atire perto do ator, para isso usaremos a callback OnPlayerWeaponShot junto com uma verificação de distância usando a função IsPlayerInRangeOfPoint:
public OnPlayerWeaponShot(playerid, weaponid, hittype, hitid, Float:fX, Float:fY, Float:fZ) {
if(IsPlayerInRangeOfPoint(playerid, 10.0, rangeX, rangeY, rangeZ)) /* Troque os parâmetros range pelas coordenadas XYZ do actor */ {
// Caso o jogador que atirou esteja a 10 metros ou menos do actor, executa algo aqui
}
return 1;
}
Documentação dos recursos usados:
https://www.open.mp/docs/scripting/callb...WeaponShot
https://www.open.mp/docs/scripting/funct...ngeOfPoint
https://www.open.mp/docs/scripting/funct...reateActor
https://www.open.mp/docs/scripting/funct...argetActor
https://www.open.mp/docs/scripting/functions/SetTimerEx
Não estou disponível para realizar serviços relacionados ao SA-MP e não costumo responder a mensagens privadas, a menos que estejam relacionadas à moderação do fórum.