Portal SAMP
[Ajuda] Não matar dentro da area neutra. - Versão de Impressão

+- Portal SAMP (https://portalsamp.com)
+-- Fórum: SA-MP (https://portalsamp.com/forumdisplay.php?fid=5)
+--- Fórum: Área de suporte (https://portalsamp.com/forumdisplay.php?fid=6)
+--- Tópico: [Ajuda] Não matar dentro da area neutra. (/showthread.php?tid=1441)

Páginas: 1 2


RE: Não matar dentro da area neutra. - xbruno1000x - 23/07/2021

Código:
VARIAVEL = CreateDynamicRectangle(Float:minx, Float:miny, Float:maxx, Float:maxy, worldid = -1, interiorid = -1, playerid = -1);
[*]Crie um dynamic rectangle na OnGameModeInit


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á.


RE: Não matar dentro da area neutra. - fear - 24/07/2021

(23/07/2021 17:27)Lightz/Conta nova Escreveu:
(23/07/2021 17:24)fear Escreveu:
(23/07/2021 17:13)Lightz/Conta nova Escreveu:
(23/07/2021 17:07)fear Escreveu:
(23/07/2021 16:08)Lightz/Conta nova Escreveu: Acho que agora vai.

Apague esse e no mesmo local (OnPlayerUpdate) coloque esse


Código:
if(IsPlayerInArea(-362.0141, 1529.802, -291.9469) || IsPlayerInArea(2425.363, -1733.182, 2470.997))
    {
        SetPlayerHealth(playerid, 99999*99999);
        SetPlayerArmedWeapon(playerid, 0);
      }
      else
       {
           SetPlayerHealth(playerid, 100);
    }

Funcionou porém. explosão e soco ainda da pra matar dentro da area neutra. tem alguma solução pra isso?

Talvez tenha mas eu não sei, nem o ResetPlayerWeapons(playerid); não resolve?

Você não entendeu.. se eu tiver com bazuca ou hydra de fora da area neutra eu consigo matar o player que está dentro da area neutra explodindo ele.. e quando estou dentro consigo matar ele no soco tb. de resto ta funcional so esses que ainda mata.

Ok entendi, eu acho que nesse caso é só bloqueando a bazuca ou hydra mesmo, vou ver se acho mais coisas.

(23/07/2021 15:36)fear Escreveu: boa tarde.

fiz duas areas neutras e como faço pra ngm conseguir se matar dentro da area neutra?? eu consegui pra ngm spawnar carros e nem pegar arma.. porém geral mata os players que estão dentro da area neutra.

codigo:

Código PHP:
forward AreaNeutra();

public 
AreaNeutra()
{
    for(new 
0GetPlayerPoolSize(); <= j++)
    {
    
       if(IsPlayerInArea(i, -362.01411529.802, -291.94691564.835) || IsPlayerInArea(i2425.363, -1733.1822470.997, -1685.81))
    
    {
    
        if(IsPlayerInAnyVehicle(i))
            {
            
    DestroyVehicle(GetPlayerVehicleID(i));
            
    
                Msg
(iVermelho"<!> {FFFFFF}Não é permitido o uso de Veículo na Área Neutra!");
            }
            if(
GetPlayerWeapon(i) != 0)
            {
                ResetPlayerWeapons(i);
                
                Msg
(iVermelho"<!> {FFFFFF}Não é permitido uso de armas na Área Neutra!");
            }
    
    }
    }

Você poderia mandar a foto pra mim da localização que você quer que seja a área neutra? Mande pelo mapa do menu  do jogo, irei bloquear carros militares e armas...
a localização já esta no código acima kkk mas rlx que eu bloquiei as armas que causa explosões.. os carros qualquer carro que tu entre na area ele deleta... já está no código tb, o unico que falta e bloquear é matar no soco. esse ainda falta....


RE: Não matar dentro da area neutra. - Lightz/Conta nova - 24/07/2021

(24/07/2021 12:12)fear Escreveu:
(23/07/2021 17:27)Lightz/Conta nova Escreveu:
(23/07/2021 17:24)fear Escreveu:
(23/07/2021 17:13)Lightz/Conta nova Escreveu:
(23/07/2021 17:07)fear Escreveu: Funcionou porém. explosão e soco ainda da pra matar dentro da area neutra. tem alguma solução pra isso?

Talvez tenha mas eu não sei, nem o ResetPlayerWeapons(playerid); não resolve?

Você não entendeu.. se eu tiver com bazuca ou hydra de fora da area neutra eu consigo matar o player que está dentro da area neutra explodindo ele.. e quando estou dentro consigo matar ele no soco tb. de resto ta funcional so esses que ainda mata.

Ok entendi, eu acho que nesse caso é só bloqueando a bazuca ou hydra mesmo, vou ver se acho mais coisas.

(23/07/2021 15:36)fear Escreveu: boa tarde.

fiz duas areas neutras e como faço pra ngm conseguir se matar dentro da area neutra?? eu consegui pra ngm spawnar carros e nem pegar arma.. porém geral mata os players que estão dentro da area neutra.

codigo:

Código PHP:
forward AreaNeutra();

public 
AreaNeutra()
{
    for(new 
0GetPlayerPoolSize(); <= j++)
    {
    
       if(IsPlayerInArea(i, -362.01411529.802, -291.94691564.835) || IsPlayerInArea(i2425.363, -1733.1822470.997, -1685.81))
    
    {
    
        if(IsPlayerInAnyVehicle(i))
            {
            
    DestroyVehicle(GetPlayerVehicleID(i));
            
    
                Msg
(iVermelho"<!> {FFFFFF}Não é permitido o uso de Veículo na Área Neutra!");
            }
            if(
GetPlayerWeapon(i) != 0)
            {
                ResetPlayerWeapons(i);
                
                Msg
(iVermelho"<!> {FFFFFF}Não é permitido uso de armas na Área Neutra!");
            }
    
    }
    }

Você poderia mandar a foto pra mim da localização que você quer que seja a área neutra? Mande pelo mapa do menu  do jogo, irei bloquear carros militares e armas...
a localização já esta no código acima kkk mas rlx que eu bloquiei as armas que causa explosões.. os carros qualquer carro que tu entre na area ele deleta... já está no código tb, o unico que falta e bloquear é matar no soco. esse ainda falta....

Tente isso: 

Código PHP:
public OnPlayerTakeDamage(playeridissueridFloat:amountweaponidbodypart)
{
    new UsandoArma GetPlayerWeapon(playerid);
    switch(UsandoArma)
    {
    
    case 0:
    
    {
            if(IsPlayerInArea(-362.01411529.802, -291.9469) || IsPlayerInArea(2425.363, -1733.1822470.997))
            SetPlayerHealth(playerid99999*99999);
        }
    }
    return 
1;




RE: Não matar dentro da area neutra. - fear - 24/07/2021

(24/07/2021 14:22)Lightz/Conta nova Escreveu:
(24/07/2021 12:12)fear Escreveu:
(23/07/2021 17:27)Lightz/Conta nova Escreveu:
(23/07/2021 17:24)fear Escreveu:
(23/07/2021 17:13)Lightz/Conta nova Escreveu: Talvez tenha mas eu não sei, nem o ResetPlayerWeapons(playerid); não resolve?

Você não entendeu.. se eu tiver com bazuca ou hydra de fora da area neutra eu consigo matar o player que está dentro da area neutra explodindo ele.. e quando estou dentro consigo matar ele no soco tb. de resto ta funcional so esses que ainda mata.

Ok entendi, eu acho que nesse caso é só bloqueando a bazuca ou hydra mesmo, vou ver se acho mais coisas.

(23/07/2021 15:36)fear Escreveu: boa tarde.

fiz duas areas neutras e como faço pra ngm conseguir se matar dentro da area neutra?? eu consegui pra ngm spawnar carros e nem pegar arma.. porém geral mata os players que estão dentro da area neutra.

codigo:

Código PHP:
forward AreaNeutra();

public 
AreaNeutra()
{
    for(new 
0GetPlayerPoolSize(); <= j++)
    {
    
       if(IsPlayerInArea(i, -362.01411529.802, -291.94691564.835) || IsPlayerInArea(i2425.363, -1733.1822470.997, -1685.81))
    
    {
    
        if(IsPlayerInAnyVehicle(i))
            {
            
    DestroyVehicle(GetPlayerVehicleID(i));
            
    
                Msg
(iVermelho"<!> {FFFFFF}Não é permitido o uso de Veículo na Área Neutra!");
            }
            if(
GetPlayerWeapon(i) != 0)
            {
                ResetPlayerWeapons(i);
                
                Msg
(iVermelho"<!> {FFFFFF}Não é permitido uso de armas na Área Neutra!");
            }
    
    }
    }

Você poderia mandar a foto pra mim da localização que você quer que seja a área neutra? Mande pelo mapa do menu  do jogo, irei bloquear carros militares e armas...
a localização já esta no código acima kkk mas rlx que eu bloquiei as armas que causa explosões.. os carros qualquer carro que tu entre na area ele deleta... já está no código tb, o unico que falta e bloquear é matar no soco. esse ainda falta....

Tente isso: 

Código PHP:
public OnPlayerTakeDamage(playeridissueridFloat:amountweaponidbodypart)
{
    new UsandoArma GetPlayerWeapon(playerid);
    switch(UsandoArma)
    {
    
    case 0:
    
    {
            if(IsPlayerInArea(-362.01411529.802, -291.9469) || IsPlayerInArea(2425.363, -1733.1822470.997))
            SetPlayerHealth(playerid99999*99999);
        }
    }
    return 
1;


mano.. arma não é problema e sim matar no soco dentro da area neutra.... kkkkkk

(23/07/2021 23:24)xbruno1000x Escreveu:
Código:
VARIAVEL = CreateDynamicRectangle(Float:minx, Float:miny, Float:maxx, Float:maxy, worldid = -1, interiorid = -1, playerid = -1);
[*]Crie um dynamic rectangle na OnGameModeInit


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??


RE: Não matar dentro da area neutra. - xbruno1000x - 24/07/2021

(24/07/2021 18:18)fear Escreveu:
(23/07/2021 23:24)xbruno1000x Escreveu:
Código:
VARIAVEL = CreateDynamicRectangle(Float:minx, Float:miny, Float:maxx, Float:maxy, worldid = -1, interiorid = -1, playerid = -1);
[*]Crie um dynamic rectangle na OnGameModeInit


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??
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:

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);
        }
    }
}



RE: Não matar dentro da area neutra. - fear - 24/07/2021

(24/07/2021 19:07)xbruno1000x Escreveu:
(24/07/2021 18:18)fear Escreveu:
(23/07/2021 23:24)xbruno1000x Escreveu:
Código:
VARIAVEL = CreateDynamicRectangle(Float:minx, Float:miny, Float:maxx, Float:maxy, worldid = -1, interiorid = -1, playerid = -1);
[*]Crie um dynamic rectangle na OnGameModeInit


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??
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:

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);
        }
    }
}
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.


RE: Não matar dentro da area neutra. - LeleziiN - 28/07/2021

(24/07/2021 20:27)fear Escreveu:
(24/07/2021 19:07)xbruno1000x Escreveu:
(24/07/2021 18:18)fear Escreveu:
(23/07/2021 23:24)xbruno1000x Escreveu:
Código:
VARIAVEL = CreateDynamicRectangle(Float:minx, Float:miny, Float:maxx, Float:maxy, worldid = -1, interiorid = -1, playerid = -1);
[*]Crie um dynamic rectangle na OnGameModeInit


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??
[*]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:

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);
        }
    }
}
[*]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.
[*]
Mano o @xbruno1000x já lhe deu o código pronto agora adapte junto ao seu, pois ele lhe deu a maneira certa