06.11.2014, 11:07
I use raven's gamemode and i making anticheat for teleport hack,but i have problem.
When script detect teleport hack script ban players that's ok,but
when player is unbaned and when is connect she will banned again
i think that is a bad detection how to fix that...
Example:
When script detect teleport hack script ban players that's ok,but
when player is unbaned and when is connect she will banned again
i think that is a bad detection how to fix that...
Example:
Код:
if(AntiTeleportHack == 1) { if(stopforsec[i] == 0) { new Float:x3, Float:y3, Float:x2, Float:y2, Float:z2,zone[MAX_ZONE_NAME]; GetPlayerPos(i, x2, y2, z2); if(IsSpecing[i] == 0) { if(IsPlayerInAnyVehicle(i) && (GetPlayerState(i) != PLAYER_STATE_DRIVER)) { PlayerInfo[i][pPos_x] = x2; PlayerInfo[i][pPos_y] = y2; PlayerInfo[i][pPos_z] = z2; } x3 = PlayerInfo[i][pPos_x]; y3 = PlayerInfo[i][pPos_y]; if(!IsAtTransfender(i)) { if((x2 - x3)+(y2 - y3) >= 250 || (x3 - x2)+(y3 - y2) >=250 || (x2 - x3)+(y3 - y2) >= 250 || (x3 - x2)+(y2 - y3) >=250) { GetPlayer2DZone(i, zone, MAX_ZONE_NAME); AddPunishment(i, string); format(string,sizeof(string),"{FF6347}[AntiCheat]: {FFFFFF}%s vjerovatno koristi {FF6347}Teleport Hack{FFFFFF} (%s)",sendername, zone); SendGmMessage(COLOR_WHITE, string); PlayerInfo[i][pPos_x] = x2; PlayerInfo[i][pPos_y] = y2; PlayerInfo[i][pPos_z] = z2; new playersip[64]; new giveplayerid, giveplayer[MAX_PLAYER_NAME],result[64],playerid; GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer)); GetPlayerName(i,sendername,sizeof(sendername)); GetPlayerIp(giveplayerid,playersip,sizeof(playersip)); format(string,sizeof(string), "(%d/%d/%d)[%d:%d:%d] %s je banovan od strane Anticheata zbog: Teleport Hacka",d,m,y,h,mi,s,giveplayer,sendername, (result)); BanLog(string); format(string,sizeof(string), "(%d/%d/%d)[%d:%d:%d] banovan od strane Anticheata - Razlog: Teleport Hacka",d,m,y,h,mi,s,sendername,(result)); AddPunishment(giveplayerid, string); format(string, sizeof(string), "%s (%d), je banovan od strane Anticheata zbog Teleport Hacka", giveplayer, giveplayerid, sendername, (result)); SendClientMessageToAll(COLOR_NICERED, string); format(string, sizeof(string), "[Anticheat]: %s je dodat u ban listu od strane Anticheata", playersip, sendername); SendGmMessage(COLOR_NICERED, string); SCM(i,COLOR_WHITE, "{FF6347}[Anticheat]{FFFFFF}Banovani ste od strane Anti Cheat-a zbog {FF6347}Teleport Hacka{FFFFFF}."); SCM(i,COLOR_WHITE, "{FF6347}[Anticheat]{FFFFFF}Ako mislite da je ovo greska stisnite {FF6347}F8 {FFFFFF}i postavi sliku na {FF6347}forum{FFFFFF}."); SCM(i,COLOR_WHITE, "{FF6347}[Anticheat]{FFFFFF}________________{FF6347}Adresa Foruma: {FFFFFF}www.ultimate-evolution{FF6347}.info{FFFFFF}________________"); format(string,sizeof(string), "{FF6347}[Anticheat]{FFFFFF} Datum: {FF6347}%d.%d.%d. {FFFFFF}Vreme: {FF6347}%d:%d:%d",d,m,y,h,mi,s); SCM(i,COLOR_WHITE, string); format(string,sizeof(string), "(%d/%d/%d)[%d:%d:%d][Anticheat] Banovan od strane Anti Cheat-a zbog Teleport Hacka.",d,m,y,h,mi,s); AddPunishment(i, string); new rand = random(sizeof(gPrisonSpawn)); SafeSetPlayerPos(i, gPrisonSpawn[rand][0], gPrisonSpawn[rand][1], gPrisonSpawn[rand][2]); SetPlayerSkin(i, 252); SafeSetPlayerInterior(i, 1); PlayerInfo[i][pJailed] = 1; PlayerInfo[i][pJailTime] += 240; PlayerInfo[i][pBanned] = 1; ScriptBan(i,i,reason); MaxBans[i] += 1; Kick(i); } else { PlayerInfo[i][pPos_x] = x2; PlayerInfo[i][pPos_y] = y2; PlayerInfo[i][pPos_z] = z2; } } } else { PlayerInfo[i][pPos_x] = x2; PlayerInfo[i][pPos_y] = y2; PlayerInfo[i][pPos_z] = z2; } } } } else { new Float:x2, Float:y2, Float:z2; GetPlayerPos(i, x2, y2, z2); PlayerInfo[i][pPos_x] = x2; PlayerInfo[i][pPos_y] = y2; PlayerInfo[i][pPos_z] = z2; } } } else { new Float:x2, Float:y2, Float:z2; GetPlayerPos(i, x2, y2, z2); PlayerInfo[i][pPos_x] = x2; PlayerInfo[i][pPos_y] = y2; PlayerInfo[i][pPos_z] = z2; } } } } return 1; }