Como evitar Weapon Hacker em servidores RPG ( minha lуgica ). -
Ley - 02.01.2014
Olб caro usuбrios, hoje irei compartilhar com vocкs uma pequena lуgica que montei, e que poderб ser muito ъtil na diminuiзгo de
Weapon Hacker.
Pois bem, todos sabemos que o sorvets incomodam bastante, porйm, com um pouco de esforзo conseguimos evitar esses filhos de Lъcifer.
Para iniciar, iremos criar uma espйcie de verificaзгo que vocк pode decidir o que vai ser, no meu caso, como й um servidor RPG irei utilizar um
Porte de Armas.
Irei utilizar os cуdigos com salvamento em DOF2.
Vamos aos cуdigos:
Digamos que um jogador compre o tal Porte de Armas, com isso setarб а
1 no arquivo do mesmo.
PHP код:
DOF2_SetInt(diretorio(playerid), "PorteArmas", 1), DOF2_SaveFile();
Mas isso nгo й o suficiente, vamos precisar de rigor se quisermos evitar o mal. Portanto quando o jogador tentar comprar o porte de armas, colocaremos uma verificaзгo.
PHP код:
if(GetPlayerScore(playerid) < 5) return SendClientMessage(playerid, -1,"Vocк precisa de nнvel acima de 5 para obter esse pertence.");
Ou seja, se o jogador nгo tiver score acima de 5, ele nгo conseguirб obter um Porte de Armas, todos sabemos que um Hacker nгo tem paciкncia, eles sу querem entrar para zoar o game, entгo a estratйgia й Paciкncia x Hacker.
Baseado no Porte de Armas, nos iremos criar uma segunda verificaзгo, definiremos que TODAS as armas sу poderгo ser utilizadas por jogadores com nнvel acima de 5 e que para utiliza-las precise um Porte de Armas.
Farei um comando simples em ZCMD para demostraзгo:
PHP код:
CMD:arma(playerid)
{
if(GetPlayerScore(playerid) < 5) return SendClientMessage(playerid, -1,"Vocк sу poderб obter armamento com nнvel superior a 5."); // Verificaзгo do score do jogador.
else if(DOF2_GetInt(diretorio(playerid), "PorteArmas") != 1) return SendClientMessage(playerid, -1,"Vocк precisa de um porte de armas para obter um armamento."); // Verificaзгo se o jogador tem ou nгo um Porte de Armas.
GivePlayerWeapon(playerid, 24, 20);
return 1;
}
Pronto, agora que jб fizemos isso, poderemos ir para a parte onde irб acontecer a "mбgica", criaremos uma terceira verificaзгo e com isso, uma puniзгo na verificaзгo de DANO a um jogador secundбrio:
PHP код:
public OnPlayerGiveDamage(playerid, damagedid, Float: amount, weaponid)
{
if(GetPlayerScore(playerid) < 5) && DOF2_GetInt(diretorio(playerid), "PorteArmas") != 1) && weaponid != 0)
{
// Puniзгo que serб aplicada ao jogador.
ResetPlayerWeapons(playerid);
}
return 1;
}
O que fizemos ali й simples, verificamos as duas verificaзхes que utilizamos. Se o jogador tiver o score abaixo de 5 e nгo houver um porte de armas, ele serб punido caso ele cause dano ao jogador secundбrio com armamento diferente do ID 0 (soco).
E pronto, nosso pequeno Anti Hacker Weapons estб pronto. Aceito crнticas construtivas para melhoria, podem criticar se for realmente necessбrio
.
Infelizmente a quantidade de hackers nos servidores vem aumentando, e precisamos "combater" esses jogadores que nгo querem nada alйm do mal para nуs.
Feliz ano novo para todos.
Re: Como evitar Weapon Hacker em servidores RPG ( minha lуgica ). -
PT - 02.01.2014
faz um hook na funcao original de dar a arma, e faz para detetar se a arma foi dada pela funcao original.
caso tenha sido, kick ou ban, caso tenha sido a sua funcao, ta de boa rs.
acho que esta logica podera funcionar.
Re: Como evitar Weapon Hacker em servidores RPG ( minha lуgica ). -
caoraivoso3 - 02.01.2014
a minha logica e a seguinte.
new bool:armas[MAX_PLAYERS][47];
o player ao comprar seta a variavel para verdadeiro, acaba a muniзao da arma fica falso.
simples eficaz e voces fazem uma tempestade por isso.
Re: Como evitar Weapon Hacker em servidores RPG ( minha lуgica ). -
Schocc - 02.01.2014
hum..., Uma lуgica simples й conferir os valores armazenados em
variбveis e conferir os dados do Jogador se sгo realmente iguais aos dados que foram atribuнdos por meio das variбveis.