28/07/2021 13:08
(24/07/2021 20:27)fear Escreveu:[*](24/07/2021 19:07)xbruno1000x Escreveu:[*]o código da area neutra eu ja fiz.. ta no tópico.. unica coisa que pedi foi pra bloquear matar players no soco dentro da area neutra e matar com explosões.. o código ja tenho feito amigo kkk e pra mim já e bem simples ao meu ver não preciso simplificar mais.(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);
}
}
}
Mano o @xbruno1000x já lhe deu o código pronto agora adapte junto ao seu, pois ele lhe deu a maneira certa