24/07/2021 19:07
(Esta mensagem foi modificada pela última vez a: 24/07/2021 19:08 por xbruno1000x.)
(24/07/2021 18:18)fear Escreveu:Acontece que com isso você está criando a área neutra de forma simples e sem todo esse código que foi feito... Isso se chama lógica de programação. Você pode fazer esse código gigante para uma coisa simples? Sim! Ele vai funcionar? Sim! Porém você pode fazer isso tudo com apenas isso:(23/07/2021 23:24)xbruno1000x Escreveu:[*][*]Crie um dynamic rectangle na OnGameModeInitCódigo:VARIAVEL = CreateDynamicRectangle(Float:minx, Float:miny, Float:maxx, Float:maxy, worldid = -1, interiorid = -1, playerid = -1);
Use essas public's para definir o que acontece quando o player entra e sai da área, respectivamente.
OnPlayerEnterDynamicArea(playerid, areaid)
OnPlayerLeaveDynamicArea(playerid, areaid)
Vale ressaltar que a public OnPlayerUpdate só deve ser utilizada em casos muito essenciais, pois ela é chamada 30 vezes por segundo e pode gerar muito lag no seu servidor. Portanto, não recomendo que utilize essa public tendo uma possibilidade de dribla-lá.
entendi nada.. oque isso vai mudar matar no soco dentro da area neutra??
Código:
new Safezone;
public OnGameModeInit()
{
Safezone = CreateDynamicRectangle(Float:minx, Float:miny, Float:maxx, Float:maxy, -1, -1, -1);
}
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if(newkeys == KEY_FIRE)
{
if(IsPlayerInDynamicArea(playerid, Safezone))
{
ClearAnimations(playerid);
}
}
}
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.