30.10.2016, 02:56
Olб, meu sistema de admin ta meio bugado, simplismentequalquer um pode matar o admin com apenas um soco ou o admin pode matar qualquer pessoa com apenas um soco, me ajude plis.
public OnPlayerWeaponShot(playerid, weaponid, hittype, hitid, Float:fX, Float:fY, Float:fZ)
{
new str[ 128 ];
if( hittype == 1 || hittype == 2 ){
if(weaponid != 38)
{
if((gettime() - shotTime[playerid]) < 1)
{
shot[playerid]+=1;
}
else
{
shot[playerid]=0;
}
if(shot[playerid] > 12)
{
Warnning[ playerid ] ++;
shot[ playerid ] = 0;
format( str, sizeof str, "O player %s recebeu um warnning por suspeita de rapid fire ( %d/3 ).",PlayerName( playerid ), Warnning[ playerid ] );
ABroadCast( COLOR_LIGHTRED, str, 1 );
if( Warnning[ playerid ] >= 3 ){
format( str, sizeof str, "[ANT-HACK]: O player %s foi kickado por suspeita de: Rapid Fire", PlayerName( playerid ) );
SendClientMessageToAll( COLOR_LIGHTRED, str );
shot[ playerid ] = 0;
Warnning[ playerid ] = 0;
Kick(playerid);
}
}
shotTime[playerid] = gettime();
}
}
/*------------------- Anti ProAim.cs ----------------------------*/
if(hittype == BULLET_HIT_TYPE_PLAYER)
{
new Float:fOrigin[3], Float:fHitPos[3], Float:dist, Float:dist2;
GetPlayerLastShotVectors(playerid, fOrigin[0], fOrigin[1], fOrigin[2], fHitPos[0], fHitPos[1], fHitPos[2]);
dist = GetPlayerDistanceFromPoint(hitid, fHitPos[0], fHitPos[1], fHitPos[2]);
dist2 = GetPlayerDistanceFromPoint(playerid, fHitPos[0], fHitPos[1], fHitPos[2]);
if(dist2 < 4.0 && dist >= 30.0 && dist < 300.0
&& GetPlayerSurfingVehicleID(playerid) == INVALID_VEHICLE_ID
&& GetPlayerState(hitid) == PLAYER_STATE_ONFOOT)
{
format( str, sizeof str, "{AA3333}[ANT-AIMBOT]{FFFFFF}: O player {AA3333}%s{FFFFFF} й suspeita de aimbot fique de olho !",PlayerName( playerid ));
ABroadCast(COLOR_LIGHTRED,str,1);
SetPVarInt(playerid, "WarnningAimbot", GetPVarInt(playerid, "WarnningAimbot") + 1);
CallLocalFunction("PlayerCheater","id", playerid, 15766);
if(PlayerInfo[playerid][WarningAim] == 0)
{
format( str, sizeof str, "{AA3333}[ANT-AIMBOT]{FFFFFF}: O player {AA3333}%s{FFFFFF} foi kikado por uso de Aimbot.",PlayerName( playerid ));
SendClientMessageToAll(COLOR_LIGHTRED, str);
PlayerInfo[playerid][WarningAim] ++;
Kick(playerid);
}
else
{
PlayerInfo[playerid][WarningAim] ++;
}
////
}
}
//------------------------ Anti Crash -----------------
if( hittype != BULLET_HIT_TYPE_NONE )
{
if( !( -1000.0 <= fX <= 1000.0 ) || !( -1000.0 <= fY <= 1000.0 ) || !( -1000.0 <= fZ <= 1000.0 ) )
{
format(str, sizeof(str), "{AA3333}[ANT-CRASH]{FFFFFF}: O player {AA3333}%s{FFFFFF} foi banido por tenta crashar os players.", PlayerName( playerid ) );
SendClientMessageToAll( COLOR_LIGHTRED, str);
SBan(playerid, "Tentou Crashar Players", "Automбtico");
return 0;
}
return 1;
}
if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT && weaponid == 24){
fAutoC[playerid] ++;
if(gettime() > GetPVarInt(playerid, "UmSegundo")){
SetPVarInt(playerid, "UmSegundo", gettime() + 1);
fAutoC[playerid] = 0;
}else{
if(fAutoC[playerid] > 2){
Warnning[ playerid ] ++;
format( str, sizeof str, "{FFFFFF}O player {AA3333}%s{FFFFFF} recebeu um warnning por suspeita de: {AA3333}Auto Cbug{FFFFFF}( %d/3 ).",PlayerName( playerid ), Warnning[ playerid ] );
ABroadCast( COLOR_LIGHTRED, str, 1 );
fAutoC[playerid] = 0;
if( Warnning[ playerid ] >= 3 ){
format( str, sizeof str, "{AA3333}[ANT-HACK]{FFFFFF}: O player {AA3333}%s{FFFFFF} foi kickado por suspeita de: Auto Cbug", PlayerName( playerid ) );
SendClientMessageToAll( COLOR_LIGHTRED, str );
fAutoC[playerid] = 0;
Warnning[ playerid ] = 0;
Kick(playerid);
}
}
}
}
return 1;
}
|
Primeiramente, se tem que dizer qual o code que vocк quer, ou que vocк ache que seja o problema. '-'
|

OnPlayerWeaponShot(...)
OnPlayerTakeDamage(...)
OnPlayerGiveDamage(...)
OnPlayerShotPlayer(...)
public OnPlayerWeaponShot(playerid, weaponid, hittype, hitid, Float:fX, Float:fY, Float:fZ)
{
new str[ 128 ];
if( hittype == 1 || hittype == 2 ){
if(weaponid != 38)
{
if((gettime() - shotTime[playerid]) < 1)
{
shot[playerid]+=1;
}
else
{
shot[playerid]=0;
}
if(shot[playerid] > 12)
{
Warnning[ playerid ] ++;
shot[ playerid ] = 0;
format( str, sizeof str, "O player %s recebeu um warnning por suspeita de rapid fire ( %d/3 ).",PlayerName( playerid ), Warnning[ playerid ] );
ABroadCast( COLOR_LIGHTRED, str, 1 );
if( Warnning[ playerid ] >= 3 ){
format( str, sizeof str, "[ANT-HACK]: O player %s foi kickado por suspeita de: Rapid Fire", PlayerName( playerid ) );
SendClientMessageToAll( COLOR_LIGHTRED, str );
shot[ playerid ] = 0;
Warnning[ playerid ] = 0;
Kick(playerid);
}
}
shotTime[playerid] = gettime();
}
}
/*------------------- Anti ProAim.cs ----------------------------*/
if(hittype == BULLET_HIT_TYPE_PLAYER)
{
new Float:fOrigin[3], Float:fHitPos[3], Float:dist, Float:dist2;
GetPlayerLastShotVectors(playerid, fOrigin[0], fOrigin[1], fOrigin[2], fHitPos[0], fHitPos[1], fHitPos[2]);
dist = GetPlayerDistanceFromPoint(hitid, fHitPos[0], fHitPos[1], fHitPos[2]);
dist2 = GetPlayerDistanceFromPoint(playerid, fHitPos[0], fHitPos[1], fHitPos[2]);
if(dist2 < 4.0 && dist >= 30.0 && dist < 300.0
&& GetPlayerSurfingVehicleID(playerid) == INVALID_VEHICLE_ID
&& GetPlayerState(hitid) == PLAYER_STATE_ONFOOT)
{
format( str, sizeof str, "{AA3333}[ANT-AIMBOT]{FFFFFF}: O player {AA3333}%s{FFFFFF} й suspeita de aimbot fique de olho !",PlayerName( playerid ));
ABroadCast(COLOR_LIGHTRED,str,1);
SetPVarInt(playerid, "WarnningAimbot", GetPVarInt(playerid, "WarnningAimbot") + 1);
CallLocalFunction("PlayerCheater","id", playerid, 15766);
if(PlayerInfo[playerid][WarningAim] == 0)
{
format( str, sizeof str, "{AA3333}[ANT-AIMBOT]{FFFFFF}: O player {AA3333}%s{FFFFFF} foi kikado por uso de Aimbot.",PlayerName( playerid ));
SendClientMessageToAll(COLOR_LIGHTRED, str);
PlayerInfo[playerid][WarningAim] ++;
Kick(playerid);
}
else
{
PlayerInfo[playerid][WarningAim] ++;
}
////
}
}
//------------------------ Anti Crash -----------------
if( hittype != BULLET_HIT_TYPE_NONE )
{
if( !( -1000.0 <= fX <= 1000.0 ) || !( -1000.0 <= fY <= 1000.0 ) || !( -1000.0 <= fZ <= 1000.0 ) )
{
format(str, sizeof(str), "{AA3333}[ANT-CRASH]{FFFFFF}: O player {AA3333}%s{FFFFFF} foi banido por tenta crashar os players.", PlayerName( playerid ) );
SendClientMessageToAll( COLOR_LIGHTRED, str);
SBan(playerid, "Tentou Crashar Players", "Automбtico");
return 0;
}
return 1;
}
if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT && weaponid == 24){
fAutoC[playerid] ++;
if(gettime() > GetPVarInt(playerid, "UmSegundo")){
SetPVarInt(playerid, "UmSegundo", gettime() + 1);
fAutoC[playerid] = 0;
}else{
if(fAutoC[playerid] > 2){
Warnning[ playerid ] ++;
format( str, sizeof str, "{FFFFFF}O player {AA3333}%s{FFFFFF} recebeu um warnning por suspeita de: {AA3333}Auto Cbug{FFFFFF}( %d/3 ).",PlayerName( playerid ), Warnning[ playerid ] );
ABroadCast( COLOR_LIGHTRED, str, 1 );
fAutoC[playerid] = 0;
if( Warnning[ playerid ] >= 3 ){
format( str, sizeof str, "{AA3333}[ANT-HACK]{FFFFFF}: O player {AA3333}%s{FFFFFF} foi kickado por suspeita de: Auto Cbug", PlayerName( playerid ) );
SendClientMessageToAll( COLOR_LIGHTRED, str );
fAutoC[playerid] = 0;
Warnning[ playerid ] = 0;
Kick(playerid);
}
}
}
}
return 1;
}
public OnPlayerTakeDamage(playerid, issuerid, Float:amount, weaponid, bodypart)
{
new str[ 128 ];
if(issuerid != INVALID_PLAYER_ID)
{
PlayerShotPlayer[issuerid][playerid] = 1;
SetPVarInt(playerid, "ultimoShoot", issuerid);
if( GoChase[ issuerid ] == playerid && tirohitman[ playerid ] ^ issuerid ){
tirohitman[ playerid ] = issuerid;
tirotime[ playerid ] = gettime() + 600;
SendClientMessage( playerid, 0xCD5C5CFF, "Atenзгo vocк esta sendo caзado(a) por um assassino, vocк sу poderб deslogar se conseguir despista-lo." );
SendClientMessage( playerid, 0xCD5C5CFF, "Vocк serб avisado quando conseguir despista-lo. Caso desloque antes do tempo, vocк sera automaticamente punido." );
}
new Float: h,Float:c;
GetPlayerArmour( playerid, c );
GetPlayerHealth( playerid, h );
if( issuerid ^ INVALID_PLAYER_ID ){
if( IsACop( issuerid ) ){
if( weaponid == 23 && Taser[ issuerid ] == true ){
if( ATaser[ playerid ] == false ){
if( IsPlayerInAnyVehicle( playerid ) )
RemovePlayerFromVehicle( playerid );
ApplyAnimation(playerid,"PED","KO_skid_front",4.1,0,1,1,1,0);
ATaser[ playerid ] = true;
SetPlayerHealth( playerid, h );
SetPlayerArmour( playerid, c );
format( str, sizeof str, "O policial %s atingiu vocк com a taser.", PlayerName( issuerid ) );
SendClientMessage( playerid, COLOR_LIGHTRED, str );
format( str, sizeof str, "Vocк atingiu %s com sua taser. O administradores foram alertados.", PlayerName( playerid ) );
SendClientMessage( issuerid, COLOR_LIGHTRED, str );
format( str, sizeof str, "Adm Aviso: O policial %s atingiu o player %s com a taser.", PlayerName( issuerid ), PlayerName( playerid ) );
for( new i; i < MAX_PLAYERS; i++ ){
if( IsPlayerConnected( i ) ){
if( PlayerInfo[ i ][ pAdmin ] > 0 && taserlog[ i ] == true ){
SendClientMessage( i, COLOR_LIGHTRED, str );
}
}
}
SetTimerEx( "DescongelarTaser", 1000, false, "d", playerid );
return true;
}
else{
SetPlayerHealth( playerid, h );
SetPlayerArmour( playerid, c );
}
}
}
}
}
Atirou[playerid] = issuerid;
SetTimerEx("PegarJet", 30000,false,"i",playerid);
return 1;
}
public OnPlayerGiveDamage(playerid, damagedid, Float: amount, weaponid, bodypart)
{
//sino ao tirar vida iHarDz Fez
PlayerPlaySound(playerid, 17802, 0.0, 0.0, 0.0);
//Fim do Sino
new
Float:colete[ MAX_PLAYERS ],
Float:vida[ MAX_PLAYERS ]
;
tomoutiro[ damagedid ] = playerid;
tempotiro[ damagedid ] = gettime() + 10;
armatiro[ damagedid ] = weaponid;
GetPlayerArmour( damagedid, colete[ damagedid ] );
GetPlayerHealth( damagedid, vida[ damagedid ] );
if( ATaser[ damagedid ] ^ true ){
if( colete[ damagedid ] > 0 ){
if( ( colete[ damagedid ] - amount ) < 0 ){
new Float:soma;
soma = amount - colete[ damagedid ];
SetPlayerArmour( damagedid, 0 );
SetPlayerHealth( damagedid, vida[ damagedid ] - soma );
}
else
SetPlayerArmour( damagedid, colete[ damagedid ] - amount );
}
else{
if( ( vida[ damagedid ] ) > 0 ){
SetPlayerHealth( damagedid, vida[ damagedid ] - amount );
}
else
SetPlayerHealth( damagedid, 0 );
}
}
else{
SetPlayerArmour( damagedid, colete[ damagedid ] );
SetPlayerHealth( damagedid, vida[ damagedid ] );
}
return true;
}
public OnPlayerShootPlayer(Shooter,Target,Float:HealthLost,Float:ArmourLost)
{
if(GetPlayerWeapon(Shooter) == 34)
{
new Float:a[2];
GetPlayerArmour(Target,a[0]);
if(a[0] > 0.0) return SetPlayerArmour(Target,0.0);
GetPlayerHealth(Target,a[1]);
if((a[1]) > 0.0) return SetPlayerHealth(Target,0.0);
}
if(GetPlayerWeapon(Shooter) == 31)
{
new Float:a[2];
GetPlayerArmour(Target,a[0]);
if(a[0] > 0.0) return SetPlayerArmour(Target,a[0]+5.0);
GetPlayerHealth(Target,a[1]);
if((a[1]) > 0.0) return SetPlayerHealth(Target,a[1]+5.0);
}
if(GetPlayerWeapon(Shooter) == 24)
{
new Float:a[2];
GetPlayerArmour(Target,a[0]);
if(a[0] > 0.0) return SetPlayerArmour(Target,a[0]+50.0);
GetPlayerHealth(Target,a[1]);
if((a[1]) > 0.0) return SetPlayerHealth(Target,a[1]+50.0);
}
if(GetPlayerWeapon(Shooter) == 25)
{
new Float:a[2];
GetPlayerArmour(Target,a[0]);
if(a[0] > 0.0) return SetPlayerArmour(Target,a[0]+40.0);
GetPlayerHealth(Target,a[1]);
if((a[1]) > 0.0) return SetPlayerHealth(Target,a[1]+40.0);
}
return 1;
}