Venho trazer hoje um script bastante pedido no samp, e que vai ajudar na maioria dos servidor samp! Tá cansado de banir um player pelo IP e o mesmo voltar? Bom tenho uma solução para você que vai corrigir 80% disso.
Esse script que eu trago se chama anti vpn como o título já diz, ele contém 2 verificação, 1 quando o player spawna, outra quando o player conecta,
Quando o player spawna ele vai fazer uma verificação média, se caso o player tiver com vpn e não for detectado pela Api, quando o player spawnar aí ter outra verificação, nessa verificação é mais rígida, e conserteza vai pegar o player que está usando Vpn/Proxy.
Versão Samp (Testada):
Código:
//Anti vpn/proxy
#define FILTERSCRIPT
#include <a_samp>
#include <a_http>
#if defined FILTERSCRIPT
public OnFilterScriptInit()
{
print("\n--------------------------------------");
print(" Anti Vpn por: Cifra Modder ");
print("--------------------------------------\n");
return 1;
}
stock bool:StrContains(const source[], const find[])
{
new source_len = strlen(source);
new find_len = strlen(find);
for (new i = 0; i <= source_len - find_len; i++)
{
new match = true;
for (new j = 0; j < find_len; j++)
{
if (source[i + j] != find[j])
{
match = false;
break;
}
}
if (match)
return true;
}
return false;
}
public MyHttpResponse(playerid, response_code, data[])
{
new name[MAX_PLAYERS],string[256];
new ip[16];
GetPlayerName(playerid, name, sizeof(name));
GetPlayerIp(playerid, ip, sizeof ip);
if(strcmp(ip, "127.0.0.1", true) == 0)
{
format(string, 256, "[LOCALHOST] %s(%d) se conectou no servidor - LocalHost.", name, playerid);
SendClientMessageToAll( 0x09F7DFC8, string);
return 1;
}
if(response_code == 200)
{
if (StrContains(data, "\"proxy\": \"yes\""))
{
format(string, 256, "[ANTI-VPN] %s(%d) foi kickado por suspeita de Vpn/Proxy.", name, playerid);
SendClientMessageToAll( 0xFF0000FF, string); //AQUI VOCE PODE COLOCAR O SISTEMA PRA ENVIAR A MENSAGEM PROS ADMINS ONLINE.
Kick(playerid); //AQUI VOCE VER QUAL PUNIÇÃO VAI DAR PRO PLAYER
}
if (StrContains(data, "\"proxy\": \"no\"")) //VOCÊ PODE REMOVER ISSO SE QUISER
{
format(string, 256, "[ANTI-VPN] %s(%d) nao foi detectado Proxy/Vpn. Jogador conectado!.", name, playerid);
SendClientMessageToAll( 0x09F7DFC8, string );
}
}
return 1;
}
#endif
Versão Open.MP (Não testada):
Código:
// Versao open mp atualizado - 29/8/2024
#include <open.mp>
public OnFilterScriptInit()
{
print("sistema Anti vpn/proxy iniciado");
return 1;
}
public OnFilterScriptExit()
{
return 1;
}
public OnPlayerConnect(playerid)
{
DetectionVpn(playerid)
return 1;
}
stock bool:StrContains(const source[], const find[])
{
new source_len = strlen(source);
new find_len = strlen(find);
for (new i = 0; i <= source_len - find_len; i++)
{
new match = true;
for (new j = 0; j < find_len; j++)
{
if (source[i + j] != find[j])
{
match = false;
break;
}
}
if (match)
return true;
}
return false;
}
forward MyHttpResponse(playerid, response_code, data[]);
public MyHttpResponse(playerid, response_code, data[])
{
if(response_code == 200)
{
if (StrContains(data, "\"proxy\": \"yes\"")) // Foi detectado
{
SendClientMessageToAll(0xFF0000FF, "[ANTI-VPN] %s foi kickado por suspeita de Vpn/Proxy.", GetPlayerName(playerid));
Kick(playerid);
}
if (StrContains(data, "\"proxy\": \"no\"")) // Nao foi detecado
{
SendClientMessageToAll(0x09F7DFC8, "[ANTI-VPN] %s(%d) nao foi detectado Proxy/Vpn. Jogador conectado!.", GetPlayerName(playerid), playerid);
}
}
return 1;
}
As inúmeras desvantagens e desafios a serem enfrentados por aqueles que decidirem se aventurar aos longos caminhos do desenvolvimento SAMP, nós decidimos criar uma solução para todos os problemas e desafios enfrentados arduamente.
Inicialmente, o framework foi criado para um projeto interno do GoSeventh mas percebemos o que estávamos criando e o grande potencial para a comunidade SAMP e decidimos abrir o projeto para o público, tornando-se open-source. Ainda não há uma versão estável do projeto, no entanto você pode acompanhar o desenvolvimento: repositório github
O que é RakStar?
RakStar é um framework open-source para a linguagem de programação Go — Você pode obter mais detalhes aqui — feito para e por aqueles que desejam um ambiente agradável, produtivo e elegante para o desenvolvimento de servidores performáticos e modernos.
Quais problemas são resolvidos? — Utilização do RakStar
Citar:
Desempenho extremo: Com a utilização do projeto o desenvolvimento se tornará mais produtivo e intuitivo, adeus a compilações de software lentas e boas vindas ao mundo moderno! Chega de lentidões para processar comandos: Clássico problema do SAMP, uma lentidão absurda para processar míseras solicitações de comandos por segundo; Com a utilização da linguagem Go, todos os processamentos são efetuados simultaneamente — Isso significa que qualquer ação interna pode ser executada, enquanto algumas outras ações são processadas ao mesmo tempo.
Produtividade incrível: Chega de perder tempo com complicações, criações de códigos complexos e difíceis de entender, manipulações complicadas de memória, péssima organização de código; RakStar surgiu para resolver tudo isso para você, com apenas algumas linhas de código é possível construir sistemas avançados, rápidos e elegantes.
Comporação = Pawn:
Código PHP:
stock valid_text(text[]) { static Reg:text_reg;
if (!text_reg) { text_reg = Regex_New("[A-Z][a-z]+_[A-Z][a-z]+"); }
Sempre que achar o desenvolvimento samp cansativo, estressante, frustante e nem um pouco elegante. O RakStar tem o compromisso de entregar ferramentas poderosas para alta produtividade e desempenho em tempo de execução de forma intuitiva — Não é necessário ler a documentação para começar um projeto, basta conhecer um pouco sobre fundamentos SAMP e Go para começar a por a mão na massa!
Conclusão:
Ainda é cedo para utilizar o framework em linha de produção, ainda há muito pela frente e o desenvolvimento é contínuo e não para.
E aí rapaziada... sou usuario linux e talvez outra pessoa que também seja, como eu, já teve ou tem dificuldade pra compilar gamemodes e filsterscripts no sistema. Vou fazer um brevê tutorial de como tornar todo esse processo simples como é no Windows.
Primeiramente, você vai baixar o server e o compilador. Extraia o servidor linux e na mesma pasta do executavel samp03svr você vai criar uma pasta chamada pawncc (o nome da pasta é de sua preferencia). Depois disso, extraia o compilador e copie tudo da pasta bin/ para o seu pawncc/.
Você vai ver algo semelhante a isso depois de um ls em pawncc/:
Código:
pawncc pawndisasm
[jv@fedora pawncc]$
Aí mesmo faça uma pasta chamada include, onde vai ficar suas includes, obviamente. Você vai extrair elas do ZIP do servidor Windows (não vem includes no servidor GNU Linux) para pasta include. Depois, (caso baixou) extraia o pawn-stdlib e sobreescreva.
Você vai ver algo semelhate a isso depois de um ls em include/:
Esse exemplo é do comando rodando direto da pasta onde fica o executavel pawncc. Agora vamos aos detalhes: primeiro parametro é o código que vamos compilar (especifique o caminho e nome sempre), segundo parametro é a opção -i que aponta o diretorio das includes que vão ser usadas, e por ultimo, a opção -o especifica o cominho e o nome da saida (código compilado).
Cláro que você não é idiota de digitar esse comando enorme toda vez. Então na pasta raiz do server (onde fica o executavel samp03svr) crie um arquivo chamdo compile.sh (nome é de sua preferencia, mas tem que ter a extensão .sh). Nele você vai colar esse shellscript:
Der à ele permissão de executavel (sudo chmod +x compile.sh). Agora para executar é muito simples:
Código:
$ ./compile.sh example
O único parametro é o nome do código, sem extensão (desde que seja .pwn) e caminho da pasta.
É isso aí! Qualquer dúvida pode mandar mensagem privada ou aqui no tópico mesmo.
Visite o repositório dela no gihub lá tem as explicações sobre como usar ela no seu gm.
É um sistema de dano com muitos recursos para as armas no seu servidor, bloqueia o godmode com o lagcomp ativado, qualquer tipo de dano pode ser modificado, as maquinas de bebidas são controladas do lado do servidor, jogadores pausados podem ser mortos com a animação do jogador morrendo sua barra de saúde sempre irá mostrar os valores corretos, sistema anti g destrói os veículos com passageiros sem motorista, você pode personalizar o dano de queda, textdraw e som de indicador de dano na tela dano tomado ou recebido, detecta novos tipos de armas WEAPON_PISTOLWHIP quando você acertar alguém com uma arma, WEAPON_VEHICLE_M4 veículos com arma m4, WEAPON_VEHICLE_MINIGUN veículos com minigun, WEAPON_HELIBLADES quando você mata alguém usando helicóptero, WEAPON_CARPARK quando você atropela um jogador, checagem extensiva da sanidade dos disparos, weapon data modificado pode ser detectado, o vetor de tiro a distância do jogador e muito mais pode ser verificado, uma chamada é iniciada para cada chamada de retorno para que o jogador seja informado: causar dano depois de morto por causa do lag, acertar um jogador muito longe da posição de acerto devido ao lag ou por cheat de draw distance que aumenta o alcance da arma com um campo de visão ilimitado isso é uma configuração no sobeit que se chama disable dl limit isso mas o weapon range no weapon data, sim existe um plugin já datado que modifica os dados das armas do lado do cliente no samp.
hitting / shooting too fast (due to severe lag or cheating) isso se trata do rapid fire na ultima linha do valor das armas no arquivo weapon data tem um parâmetro lá que pode ser alterado no singplayer pra aumentar a velocidade do disparo das armas bater ou atirar muito rápido devido ao lag ou uso de cheat, modifica toda a quantidade de dano da arma, para um único valor, para múltiplos valores dependendo da distância do acerto, com uma lógica customizada em uma chamada de retorno ex: aumenta o dano por tiro na cabeça, aumenta ou diminui o tiro por combos, diminui o dano para c-bug ou rapid fire, corrige a sincronização da faca com a compensação de lag ativada ou não, nova animação de morte e lógica de respawn, customiza o tempo global do respawn para cada morte, animações totalmente personalizáveis, com um bom conjunto de padrões, animação diferente, dependendo da arma ou parte do corpo, tiro cabeça faz aquela animação da katana onde o ped se abaixa e bota mão na cabeça.
Se durante um tiroteio você não for morto por trás se for morto com um tiro de doze faz a animação do ped voando pra trás com o impacto do disparo.
Com essa include da pra reportar os jogadores que não tão tomando dano ou modificando o valor da munição, eu nunca usei essa include mas já tomei ban em servidor que usa ela, sem chance pra quem xita com arma nem minução passa :/
alguem me ajuda tipo quero fazer um sistema para reiniciar o server tipo ele da /reiniciarserver ae fala q vai ser reiniciado em 1 minuto ae quando chegar no 30 segundos vai dar outro aviso ae no 15 vai dar outro aviso tendeu como q faz isso? eu fiz e n deu certo
tipo é o seguinte fiz um sistema de salvamento dini pra salvar profissao e admin quando eu saio do jogo ele salva certinho mas quando eu desligo a host ele não salva tem como alguem me ajudar? tipo aonde que eu tenho que colocar o codigo para salvar quando a host é finalizada? por que nao to conseguindo e já to com raiva se tiver como alguem me ajuda por favor?
Inserido por: zBreno - 13/09/2023 22:04 - Fórum: Includes
- Sem Respostas
Essa include adiciona funções que estendem os recursos que o cliente samp pode oferecer, nunca tinha visto nada relacionado a essa include em canto nenhum acabei encontrando ela no github através de uma copia que um cara fez, essa include possui um plugin pra você colocar no servidor e um plugin asi que o cliente deve colocar na pasta do gta dele se você tem mods cleo ai você já tem um carregador de arquivos asi se não tem baixe aqui https://cleo.li repositório no gitub https://github.com/Hual/SA-MP-Plus
Código Testado o Menu ESC não aparece só dá um barulho. Codigo muito bom para evitar que o jogador saia do servidor algemado mas no samp existe o /q que sai do servidor.
Objetivo dessa Função: Desativar ou Ativar o Menu Pause
6 - IsPlayerInPauseMenu(playerid);
Este Código é usada para Informar se o Jogador está no Menu Pause.
Objetivo dessa Função: Congelar o Jogador.
Obs: Este código é o mesmo ao TogglePlayerControllable no 0, mas a unica diferença é que nesse código o jogador pode mover a câmera.
16 - SetPlayerPedAnims(playerid, Toggle);
Objetivo dessa Função: Setar o Modo de Andar do Jogador.
Obs: Este código é o mesmo ao UsePlayerPedAnims, mas a diferença é que neste código pode ser usado para jogador especifico.
Objetivo dessa Função: Alterar a altura em que o Jetpack de um Jogador pode ir
Obs: Default é 100
22 - GetPlayerJetpackHeight(playerid);
Objetivo dessa Função: Verificar a altura maxima do Jetpack de um Jogador
Agora irei colocar as Callbacks da Include
1- OnPlayerOpenPauseMenu(playerid) >> é chamado quando um jogador abre o Menu de Pause
2- OnPlayerClosePauseMenu(playerid) >> é chamado quando um jogador fecha o Menu de Pause
É Chamado quando o Jogador pula de um Menu para outro
Exemplo: Mapa para Opções. PAUSE_ID_MAP, PAUSE_ID_OPTIONS
4 - OnDriverDriveByShot(playerid) >> é usado quando um Jogador atira pelo Banco do Motorista
5 - OnPlayerStunt(playerid, stunttype, money, details[]) >> é usado quando player faz stunt
é chamado quando um jogador que tem o programa SAMP PLUS instalado, conecta no servidor
3 - OnPlayerSAMPPJoin(playerid, bool:has_plugin)
é usado quando um jogador que tem o programa SAMP PLUS instalado, entra no servidor
na pesquisa eu fiz também acabei encontrando um arquivo chamado samp plus anti cheat isso foi uma copia que o servidor russo samp-rp fez desse plugin e transformou em um anti cheat pra barrar o uso de cleo no servidor deles o nome do blog onde eu peguei as explicações das funções se chama sampextremeoficial
Olá!
Gostaria de saber como faço para salvar cores HEX em uma database MySQL na seguinte forma:
1. Armazenar a cor HEX numa variavel própria;
2. Salvar a cor em uma tabela qualquer;
3. Carregar a cor da tabela em outra variavel;
4. Usar esta variavel em uma string.
Eu estou tentando colocar plugin sampvoice (VOIP) em meu modo de jogo e não carrega, jáh baixei tudo pelo próprio autor do plugin mais não carrega a plugin. Queria muito adaptar o mesmo no meu modo de jogo, se tiver alguém que pode me ajudar estou online do Discord de minha assinatura, pago por isso. Sim, jah atualizei a plugin no site do próprio autor.