Cуdigo nгo funciona -
bruxo00 - 29.06.2015
PHP код:
new ArmasProibidas[26][3] =
{
1,2,3,8,9,10,11,12,13,16,17,18,26,27,28,30,31,32,33,34,35,36,37,38,39,42
};
new ArmasPermitidas[17][3] =
{
0,4,5,6,7,14,15,19,20,21,22,23,24,25,29,40,41
};
PHP код:
public WeaponAntiCheat()
{
new string[128];
for(new i=0; i<MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(PlayerInfo[i][pAdmin] >= 1 || PlayerInfo[i][pGM] >= 1) { continue; }
new weap = GetPlayerWeapon(i);
for(new w = 0; w < sizeof(ArmasProibidas); w++)
{
if(weap == ArmasProibidas[w][2])
{
format(string, sizeof(string), "Weapon Cheat (ID da arma: %d)", weap);
KickAutomatico(i, "Servidor", string);
}
}
for(new w = 0; w < sizeof(ArmasPermitidas); w++)
{
if(GetPlayerScore(i) >= 3) continue;
if(weap == ArmasPermitidas[w][2])
{
format(string, sizeof(string), "[ANTI-CHEAT] {FFFFFF}O jogador %s (ID:%d) pode estar a utilizar Weapon Cheat (ID da arma: %d)", GetPlayerNameEx(i), i, weap);
for(new p=0; p<MAX_PLAYERS; p++)
{
if(!IsPlayerConnected(p)) continue;
if(PlayerInfo[p][pAdmin] != 0 || PlayerInfo[p][pGM] != 0)
{
SendClientMessage(p, COLOR_EFEITO, string);
}
}
}
}
}
}
return 1;
}
Eu levo sempre kick mesmo que nгo tenha arma nenhuma na mгo. O cуdigo era para kickar quem tivesse na mгo uma arma proibida e para mandar uma mensagem aos admins a alertar se um jogador com menos de 3 de score tem uma arma qualquer na mгo. O que estб errado?
Re: Cуdigo nгo funciona -
z0r - 29.06.2015
Use
GetPlayerWeapon
Espero ter ajudado
Re: Cуdigo nгo funciona -
MultiKill - 29.06.2015
PHP код:
new ArmasProibidas[] =
{
1,2,3,8,9,10,11,12,13,16,17,18,26,27,28,30,31,32,33,34,35,36,37,38,39,42
};
new ArmasPermitidas[] =
{
0,4,5,6,7,14,15,19,20,21,22,23,24,25,29,40,41
};
//================================
if(weap == ArmasProibidas[w][2])
//para
if(weap == ArmasProibidas[w])
//================================
if(weap == ArmasPermitidas[w][2])
//para
if(weap == ArmasPermitidas[w])
Re: Cуdigo nгo funciona -
bruxo00 - 29.06.2015
Era mesmo isso! Obrigado.
Re: Cуdigo nгo funciona -
Pablo098 - 29.06.2015
Mudei para um cуdigo mais curto e retirei pequenos erros na public.
PHP код:
public WeaponAntiCheat(){
new string[128];
for (new i = 0; i < MAX_PLAYERS; i++) {
if (IsPlayerConnected(i)) {
if (PlayerInfo[i][pAdmin] >= 1 || PlayerInfo[i][pGM] >= 1) continue;
for (new w = 0; w < sizeof(ArmasProibidas); w++) {
if (GetPlayerWeapon(i) == ArmasProibidas[w][2]) format(string, sizeof(string), "Weapon Cheat (ID da arma: %d)", GetPlayerWeapon(i)), KickAutomatico(i, "Servidor", string);
}
for (new w = 0; w < sizeof(ArmasPermitidas); w++) {
if (GetPlayerScore(i) >= 3) continue;
if (GetPlayerWeapon(i) == ArmasPermitidas[w][2]) {
format(string, sizeof(string), "[ANTI-CHEAT] {FFFFFF}O jogador %s (ID:%d) pode estar a utilizar Weapon Cheat (ID da arma: %d)", GetPlayerNameEx(i), i, GetPlayerWeapon(i));
if (!IsPlayerConnected(p)) continue;
if (PlayerInfo[i][pAdmin] != 0 || PlayerInfo[i][pGM] != 0) SendClientMessage(i, COLOR_EFEITO, string);
}
}
}
}
return 1;
}