Proteзхes Bбsicas - 0.3x -
Locky_ - 08.11.2013
Olб, venho hoje mostrando um FS bбsico, nгo tinha nada melhor pra fazer, entгo decidi criar um aqui bбsico com uns cуdigos que eu desenvolvi com o tempo (nгo foram todos, hб os crйditos de quem criou algo no FS), pois fazem sempre uns atacks б meu servidor, e vejo como e onde melhorar.
Proteзхes no
FS:
Anti-Bot;
Anti-Fake Kill;
Anti-Car Spam;
Anti-Crash OnFoot;
Anti-Crash em Veнculos;
Anti-Flooder de pintura de veнculos;
Anti-Floder de Spawn's;
Anti-Armas (Opcional);
Anti-Teleport por Click no Mapa;
Anti-Nicks bugaveis (Caso use Host Windows)
Em cada parte, terб uma pequena explicaзгo por que foi feito o tal cуdigo, caso algum novato queira estudar os cуdigo.
Pequena parte.
Anti-BOT
pawn Код:
new Nomes[][] = {"con", "aux"}; //Vocк pode inserir novos nomes indevнduos aqui
public OnPlayerConnect(playerid) {
if(IsPlayerNPC(playerid)) return 1;
new SAMP[50], Nome[24];
GetPlayerVersion(playerid, SAMP, sizeof(SAMP));
GetPlayerName(playerid, Nome, sizeof(Nome));
for(new i; i < sizeof(Nomes); i++) {
if(!strcmp(Nome, Nomes[i], true))
return BanEx(playerid, "Nick Indevнduo!");
}
if(!strcmp(SAMP, "unknown", false)) return BanEx(playerid, "BOT");
return 1;
}
Anti-Car Spam
pawn Код:
public OnPlayerUpdate(playerid) {
if(GetPlayerVehicleID(playerid) != 0) {
if(GetPlayerVehicleID(playerid) != GetPVarInt(playerid, "Veiculo_Anterior")) {
if(GetPVarInt(playerid, "Troca_Veiculo") > gettime()) return BanEx(playerid, "Car Spam");
SetPVarInt(playerid, "Veiculo_Anterior", GetPlayerVehicleID(playerid));
SetPVarInt(playerid, "Troca_Veiculo", gettime() + 2);
}
}
return 1;
}
Anti-Fake Kill
pawn Код:
//Editado: 06/01/2014
public OnPlayerDeath(playerid, killerid, reason) {
if(killerid == INVALID_PLAYER_ID) return 1;
if(GetPVarInt(playerid, "Morte") > gettime()) return BanEx(playerid, "Fake Kill"); // Caso o valor armazenado seja ainda maior que o gettime() (Tempo Atual)
if(playerid == killerid) return BanEx(playerid, "Fake Kill"); // Isso ocorre quando й usando o 'random' em alguns cheaters
if(GetPlayerTeam(playerid) != NO_TEAM) // Caso vocк use sistema de Equipes
if(GetPlayerTeam(playerid) == GetPlayerTeam(killerid))
return BanEx(playerid, "Fake Kill");
SetPVarInt(playerid, "Morte", gettime() + 2);
return 1;
}
Adicionado 08/11
Anti-Teleport por Click ao Mapa
pawn Код:
public OnPlayerUpdate(playerid) {
if(GetPVarInt(playerid, "ClickMapa") > gettime())
if(!IsPlayerInRangeOfPoint(playerid, 10.0, GetPVarFloat(playerid, "PX"), GetPVarFloat(playerid, "PY"), GetPVarFloat(playerid, "PZ"))) return BanEx(playerid, "Teleport");
new Float:Pos[3]; GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
SetPVarFloat(playerid, "PX", Pos[0]); SetPVarFloat(playerid, "PY", Pos[1]); SetPVarFloat(playerid, "PZ", Pos[2]);
return 1;
}
public OnPlayerClickMap(playerid, Float:fX, Float:fY, Float:fZ)
{
SetPVarInt(playerid, "ClickMapa", gettime() + 15);
return 1;
}
FS Completo:
Вложение 6642
(Compilado com includes do SA-MP 0.3x) Вложение 6645
Change LOG:
Код:
07/11/2013
Lanзamento Inicial
08/11/2013
Adicionado Anti-Armas Opcional
Adicionado Anti-Teleport por click no Mapa.
16/11/2013
Adicionado Anti-Nicks bugaveis (Em Windows), Opcional o uso.
06/01/2014
Anti-Fake Kill Editado.
Caso encontre erros/bugs, por favor, comunique.
protecoes_basicas.pwn
protecoes_basicas.amx
Re: Proteзхes Bбsicas - 0.3x -
BieeelEvolution - 08.11.2013
Parece estar bem otimizado, muito bom trabalho.
Respuesta: Proteзхes Bбsicas - 0.3x -
DanDRT - 08.11.2013
Vou Baixar pra dar uma boa analisada !
Parabens!
static SAMP[50];
nгo й muito aconselhavel usar static para strings, na verdade nгo й muito bom usar static para muitos outros casos, pois aquilo ficarб FIXO, na memoria...
Sу nгo curti muito o AntFakeKill mais o resto vou usar
Re: Proteзхes Bбsicas - 0.3x -
Juniiro3 - 08.11.2013
Muito bom nick!
Re: Proteзхes Bбsicas - 0.3x -
Schocc - 08.11.2013
Legal, gostei parece funcional.
![Tongue](images/smilies/razz.gif)
+rep
Re: Proteзхes Bбsicas - 0.3x -
Smoking_Script - 08.11.2013
Bem Funcional Gostei Parabens
Re: Proteзхes Bбsicas - 0.3x -
Locky_ - 08.11.2013
Quote:
Originally Posted by BieeelEvolution
Parece estar bem otimizado, muito bom trabalho.
|
Quote:
Originally Posted by Juniiro3
Muito bom nick!
|
Quote:
Originally Posted by Schocc
Legal, gostei parece funcional. ![Tongue](images/smilies/razz.gif)
+rep
|
Quote:
Originally Posted by Smoking_Script
Bem Funcional Gostei Parabens ![Smiley](images/smilies/smile.png)
|
Obrigado
Quote:
Originally Posted by DanDRT
Vou Baixar pra dar uma boa analisada !
Parabens!
static SAMP[50];
nгo й muito aconselhavel usar static para strings, na verdade nгo й muito bom usar static para muitos outros casos, pois aquilo ficarб FIXO, na memoria...
Sу nгo curti muito o AntFakeKill mais o resto vou usar ![Smiley](images/smilies/smile.png)
|
Sobre o static, vocк pode alterar para new, funcionarб do mesmo jeito.
Coloquei static, pode ser um pouco mais rбpido. Mas, de qualquer jeito funciona.
O
Anti-Fake Kill, Nгo puiz pra detectar em veнculos no
reason, pois as vezes pode falhar por causa de alguns outros que tem armas.
Re: Proteзхes Bбsicas - 0.3x -
xBaDaSSx - 08.11.2013
Dahуra
Re: Proteзхes Bбsicas - 0.3x -
AndersonAq - 08.11.2013
muito bom
voce tem algum anti-armas proibidas??
Re: Proteзхes Bбsicas - 0.3x -
Locky_ - 08.11.2013
Quote:
Originally Posted by AndersonAq
muito bom
voce tem algum anti-armas proibidas??
|
Isto й fбcil de se criar, quais armas que vocк queria que fossem bloqueadas? (
Armas aqui)
Um bбsico, protegendo 3 armas fatais.
pawn Код:
public OnPlayerUpdate(playerid) {
switch(GetPlayerWeapon(playerid)) {
case 36, 35, 38: return Kick(playerid);
}
return 1;
}
#Edit, vou por no FS