JR_Anti-Fly Hack
Bom galera, depois de procurar muito na internet e não achar nada parecido se quer, nenhuma base pra dar uma ajuda, nem nada, eu resolvi correr atrás com meus próprios conhecimentos e usando lógicas, assim lhes apresento e compartilho com todos um Script que talvez seja procurado por muitos que querem abrir um servidor sério e que lutam contra os S0rveteiros de Plantão.
O código é muito simples, provavelmente alguém já deve ter criado ou pelo menos sabe como faz, porém não compartilhou!
Informações:
Bom galera, depois de procurar muito na internet e não achar nada parecido se quer, nenhuma base pra dar uma ajuda, nem nada, eu resolvi correr atrás com meus próprios conhecimentos e usando lógicas, assim lhes apresento e compartilho com todos um Script que talvez seja procurado por muitos que querem abrir um servidor sério e que lutam contra os S0rveteiros de Plantão.
O código é muito simples, provavelmente alguém já deve ter criado ou pelo menos sabe como faz, porém não compartilhou!
Informações:
Quem já usou o famoso "S0rvete" sabe como funciona mo modo Fly Hack, onde você sai voando como se estivesse nadando, muito bem feito e divertido.
Usando lógicas e códigos bem simples consegui desenvolver um Script profissional contra esse Modo Fly.
Usando lógicas e códigos bem simples consegui desenvolver um Script profissional contra esse Modo Fly.
O Script:
Você pode usar tanto em um Filter Script como em seu próprio Game Mode, sem problemas:
Você pode usar tanto em um Filter Script como em seu próprio Game Mode, sem problemas:
pawn Código:
//==========================================================// // // // JR_Anti-Fly Hack // // Profissional // // Autor: JR_Junior // // // //==========================================================// #include <a_samp> public OnGameModeInit()// Caso for usar em seu GM, do contrário será em OnGameFilterScritpInit() { SetTimer("ChecarFlyHackers",1000,1);// Timer repetitivo(1000 = A cada 1 segundo) que irá verificar se há Fly Hackers em ação... } //Identifica se o player está realizando movimentos de natação, assim como o Fly Hack usa... stock IsPlayerNadando(playerid) { if(!IsPlayerInAnyVehicle(playerid) && GetPlayerState(playerid) == PLAYER_STATE_ONFOOT) { new animlib[32], animname[32]; GetAnimationName(GetPlayerAnimationIndex(playerid),animlib,32,animname,32); if(!strcmp(animlib, "SWIM", true) && !strcmp(animname, "SWIM_GLIDE", true)) return 1; else if(!strcmp(animlib, "SWIM", true) && !strcmp(animname, "SWIM_BREAST", true)) return 1; else if(!strcmp(animlib, "SWIM", true) && !strcmp(animname, "SWIM_CRAWL", true)) return 1; else if(!strcmp(animlib, "SWIM", true) && !strcmp(animname, "SWIM_DIVE_UNDER", true)) return 1; else if(!strcmp(animlib, "SWIM", true) && !strcmp(animname, "SWIM_DIVE_GLIDE", true)) return 1; else if(!strcmp(animlib, "SWIM", true) && !strcmp(animname, "SWIM_UNDER", true)) return 1; else if(!strcmp(animlib, "SWIM", true) && !strcmp(animname, "SWIM_TREAD", true)) return 1; } return 0; } //A parte principal e a que deu mais trabalho! Esses são absolutamente todos os locais fora do mar que possuem água e que se podem nadar... stock IsPlayerInAguaForaDoMar(playerid) { new Float:x,Float:y,Float:z; GetPlayerPos(playerid, x, y, z); if((x >= -1408.0629 && y >= 2021.0587 && x <= -460.9319 && y <= 2861.4893) ||//Represa do deserto de Las Venturas (x >= 1269.5886 && y >= -810.4507 && x <= 1288.8916 && y <= -800.5959) ||//Piscina de uma casa em VineWood (Mad Dog's Mansion) (x >= 1086.6010 && y >= -683.6998 && x <= 1103.0225 && y <= -662.1832) ||//Piscina de uma casa em VineWood (Perto Mad Dog's Mansion) (x >= 169.6879 && y >= -1392.6630 && x <= 281.5444 && y <= -1168.9749) ||// 2 Piscinas em VineWood (x >= -828.3018 && y >= -2107.1487 && x <= -443.5032 && y <= -1855.6273) ||//Lago da árvore caída, ou Lago Morto (x >= 1198.9982 && y >= -2407.0581 && x <= 1275.7397 && y <= -2341.6262) ||//Lago perto do aeroporto Los Santos (x >= 2293.1467 && y >= -1432.5869 && x <= 2331.7388 && y <= -1397.6476) ||//Lago perto da Igreja Los Santos (x >= 1915.3196 && y >= -1236.2382 && x <= 2016.6565 && y <= -1167.9290) ||//Park Glen Los Santos (x >= -2747.1692 && y >= -510.1152 && x <= -2663.2468 && y <= -411.4905) ||//Lago em San Fierro (x >= 1838.8041 && y >= 1463.2024 && x <= 2035.4167 && y <= 1703.0480) ||//Cascata do Login em Las Venturas (x >= 2049.6646 && y >= 1843.3029 && x <= 2119.9021 && y <= 1983.5464) ||//Navio Pirata em Las Venturas (x >= 2094.9255 && y >= 1085.2852 && x <= 2179.1790 && y <= 1183.0610) ||//Frente de um Cascino em Las Venturas (x >= 2545.3718 && y >= 2347.7112 && x <= 2593.6794 && y <= 2403.8040))//Piscina de um prédio em Las Venturas { return 1; } return 0; } forward ChecarFlyHackers();//CallBack chamada a cada 1 segundo para verificação do Cheat... public ChecarFlyHackers() { for(new i; i < MAX_PLAYERS; i++) { if(IsPlayerConnected(i)) { if(IsPlayerNadando(i))// Primeiro detecta se o player está em movimentos de natação! { new Float:XPos,Float:YPos,Float:ZPos; GetPlayerPos(i,XPos,YPos,ZPos); if(ZPos > 1.0)// Acima de 1.0 não está em águas do mar! { if(!IsPlayerInAguaForaDoMar(i))//Se não está no mar e nem em águas fora dele está com Cheats(Voando)! { if(PlayerInfo[i][pAdmin] <= 5)// Você pode colocar exceções, tipo, não ter afeito contra admins, etc... { Kick(i);// Você pode aplicar um Kick, ou Ban, ou o que você desejar ao trapaceiro... return 1; } } } } } } }
1 - Detecção: Em menos de 3 segundos, depois que iniciou o vôo.
2 - Compatibilidade: Compatível com absolutamente todos os tipos de servidores e Game modes.
3 - Bugs ou Conflitos: Não trás nenhum conflito com nenhum outro Script e é totalmente editável.
4 - Lógica do Script: Quando se está nadando no mar a posição Z (Altitude) de todo player fica em 1.0 sempre!
Assim, se a posição Z for acima de 1.0 só temos duas 4 opções:
1ª - Está em uma piscina.
2ª - Está em algum lago ou chafariz.
3ª - Está nadando na represa do deserto de Las Venturas.
4ª - Está usando Cheats.
2 - Compatibilidade: Compatível com absolutamente todos os tipos de servidores e Game modes.
3 - Bugs ou Conflitos: Não trás nenhum conflito com nenhum outro Script e é totalmente editável.
4 - Lógica do Script: Quando se está nadando no mar a posição Z (Altitude) de todo player fica em 1.0 sempre!
Assim, se a posição Z for acima de 1.0 só temos duas 4 opções:
1ª - Está em uma piscina.
2ª - Está em algum lago ou chafariz.
3ª - Está nadando na represa do deserto de Las Venturas.
4ª - Está usando Cheats.
Como você pode ver analisando o Script acima, o sistema vai verificar se o player está em movimentos de natação, se a posição está acima da posição do mar e se realmente está dentro das 3 primeiras opções acima citadas. Do contrário está usando Cheats sem sombra de dúvidas.
Creditos: [DkS]JR_Junior
Creditos: [DkS]JR_Junior
0 comentários:
Postar um comentário