Portal SAMP
[Ajuda] Anti Weapon Hack - 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] Anti Weapon Hack (/showthread.php?tid=2553)



Anti Weapon Hack - GUI_DA_Z5 - 07/07/2022

Olá queria saber como posso fazer esse anti-cheat, pra ele poder só pegar as armas que o servidor deu pra ele se ele puxa alguma arma sem o servidor ter dado pra ele será punido Agradeço desde já.


RE: Anti Weapon Hack - White_Blue - 07/07/2022

Pra isso você pode usar o script do brunoo16.


RE: Anti Weapon Hack - GUI_DA_Z5 - 10/07/2022

(07/07/2022 20:01)White_Blue Escreveu: Pra isso você pode usar o script do brunoo16.

não consegui utilizar esse script, não tem como eu fazer tipo a sim ?
Código PHP:
new weapon GivePlayerWeapon(playerid30800);

stock CheckArma(playerid)
{
   if(GetPlayerWeapon(playerid) > && GetPlayerWeapon(playerid) != Weapon) return Ban(playerid);




RE: Anti Weapon Hack - Dionzito - 14/07/2022

Caso você esteja fazendo uma gamemode do zero, você pode armazenar todas as formas de se conseguir arma no servidor, e caso um player consiga arma e não seja por nenhuma das maneiras que o servidor fornece manda um aviso para os administradores online, e caso não tenha administradores online o jogador é kickado.
Pelo menos foi assim que fiz no meu servidor, não quis colocar banimento automatico nos meus anticheaters pois nunca se sabe quando pode acabar dando alguma falha e um player inocente ser banido.


RE: Anti Weapon Hack - White_Blue - 14/07/2022

(10/07/2022 23:05)GUI_DA_Z5 Escreveu:
(07/07/2022 20:01)White_Blue Escreveu: Pra isso você pode usar o script do brunoo16.

não consegui utilizar esse script, não tem como eu fazer tipo a sim ?
Código PHP:
new weapon GivePlayerWeapon(playerid30800);

stock CheckArma(playerid)
{
   if(GetPlayerWeapon(playerid) > && GetPlayerWeapon(playerid) != Weapon) return Ban(playerid);

Há como fazer assim, na public OnPlayerUpdate você pode fazer uma "whitelist" das armas permitidas como no exemplo abaixo.


Código PHP:
public OnPlayerUpdate(playerid) {
 if(
GetPlayerWeapon(playerid) == 35 || GetPlayerWeapon(playerid) == 36 || GetPlayerWeapon(playerid) == 37 || GetPlayerWeapon(playerid) == 38) return ResetPlayerWeapons(playerid), Kick(playerid); // Verifica se o player estiver com rpg, minigun, lança chamas. Caso o player esteja com alguma das armas citadas na mão o mesmo é kickado automaticamente.
 
return 1;




RE: Anti Weapon Hack - GUI_DA_Z5 - 25/07/2022

(14/07/2022 04:39)White_Blue Escreveu:
(10/07/2022 23:05)GUI_DA_Z5 Escreveu:
(07/07/2022 20:01)White_Blue Escreveu: Pra isso você pode usar o script do brunoo16.

não consegui utilizar esse script, não tem como eu fazer tipo a sim ?
Código PHP:
new weapon GivePlayerWeapon(playerid30800);

stock CheckArma(playerid)
{
   if(GetPlayerWeapon(playerid) > && GetPlayerWeapon(playerid) != Weapon) return Ban(playerid);

Há como fazer assim, na public OnPlayerUpdate você pode fazer uma "whitelist" das armas permitidas como no exemplo abaixo.


Código PHP:
public OnPlayerUpdate(playerid) {
 if(
GetPlayerWeapon(playerid) == 35 || GetPlayerWeapon(playerid) == 36 || GetPlayerWeapon(playerid) == 37 || GetPlayerWeapon(playerid) == 38) return ResetPlayerWeapons(playerid), Kick(playerid); // Verifica se o player estiver com rpg, minigun, lança chamas. Caso o player esteja com alguma das armas citadas na mão o mesmo é kickado automaticamente.
 
return 1;


Sim eu fiz isso só que se ele puxar uma arma "permitida" nao acontece nada isso que eu queria resolver o code que fiz ele bane mesmo que foi o propio servido r que deu a arma para ele


RE: Anti Weapon Hack - Dejay_ - 24/07/2024

Olá

Código:
new bool:ServidorDeuArma[MAX_PLAYERS] = false;//topo da gm abaixo da include a_samp
Código:
//Dê um CTRL+H e Renomeie todas Tag "GivePlayerWeapon" para "GivePlayerWeaponEx".
Código:
//Adicione ao "OnPlayerConnect" e também em "OnPlayerDisconnect". --> "ServidorDeuArma[playerid] = false;"
Código:
//Crie a Stock e adicione la no final da gm.
GivePlayerWeaponEx(playerid, ArmaID, Municao)
{
    GivePlayerWeapon(playerid, ArmaID, Municao);//este é para entregar a arma normalmente.
    ServidorDeuArma[playerid] = true;//Adicione isso pra entender que o servidor te entregou a arma.
}

//em seguida..
Código:
//adicione na public "OnPlayerWeaponShot".
if(ServidorDeuArma[playerid] == false)//nossa tag a todo vapor se um player atirar sem ter a nossa arma ele é kickado.
{
    SendClientMessageToAll(-1, "Um Player dos nossos foi kickado por suspeita de cheater de armas. F!);
    Kick(playerid);
}
eu acho que funciona fiz aqui agora..