Cуdigos Ъteis #1

Criando actors com animaзгo (nгo sei se jб postei)
PHP код:
// Utilizando nativa
stock CreateActorEx(skinidFloat:xFloat:yFloat:zFloat:rotvirtualworld 0bool:invuneravel trueanimlib[] = ""animname[] = ""Float:fDelta 4.0loop 1lockx 0locky 0freeze 0time 0) {
    static 
actoridactorid CreateActor(skinidxyzrot);
    if(
IsValidActor(actorid)) {
        
SetActorVirtualWorld(actoridvirtualworld);
        
SetActorInvulnerable(actoridinvuneravel);
        
ApplyActorAnimation(actoridanimlibanimnamefDeltalooplockxlockyfreezetime);
    }
    return 
actorid;
}
// Utilizando streamer
stock CreateDynamicActorAnim(skinidFloat:xFloat:yFloat:zFloat:r= -1bool:inv trueanimlib[] = ""animname[] = ""Float:fD 4.0loop 0lx 0ly 0freeze 0time 0Float:100.0) {
    static 
actoridactorid CreateDynamicActor(skinidxyzrinvhw);
    if(
IsValidDynamicActor(actorid)) {
        
ApplyDynamicActorAnimation(actoridanimlibanimnamefDlooplxlyfreezetime);
    }
    return 
actorid;

Exemplos de Uso
PHP код:
// Caso vocк use as nativas
new MeuActor CreateActorEx(2990.00.03.090.0__"PED""SEAT_idle"1.010000);
// Caso use streamer v2.9++
new ActorDyn CreateDynamicActorAnim(31110.05.03.0180.0__"PED""SEAT_idle"1.010000); 
Reply

Macro para criar pseudфnimos(alias) facilmente para zcmd ^^

Exemplos:

Com este macro
PHP код:
CMD:ajuda(playeridparams[]) < helpayuda >
{
   return 
1;

Sem o macro
PHP код:
CMD:help(playeridparams[]) return cmd_ajuda(playeridparams);
CMD:ayuda(playeridparams[]) return cmd_ajuda(playeridparams);
CMD:ajuda(playeridparams[])
{
    return 
1;

Cуdigo:
PHP код:
#if defined command
    #undef command
#endif
#if defined cmd
    #undef cmd
#endif
#if defined CMD
    #undef CMD
#endif
#define command:%0(%1)  cmd_%0(%1); public cmd_%0(%1)
#define alias:%0(%1,%2); command:%0(playerid,params[]) return cmd_%1(%2);
// Remove espaзos
#define cmd_%0\32;%1(  cmd_%1(
#define C@1_%0\32;%1:  C@1_%1:
#define F@0_%0\32;%1(  F@0_%1(
#define forward%9C@1_%0\32;%1:  forward C@1_%1:
// Divide o comando em dois macros c@0:c@1:
#define CMD:%0(%1)      cmd:%0(%1)
#define cmd:%0(%1)      c@0:c@1:%0(%1)
/*
 * c@0 - Detecta se existe algum alias
 * c@1 - Comando sem alias
 */
/*
 * %0 - Nome do comando
 * %1 - Parametros do comando
 * %2 - Aliases
 */
#define c@0:c@1:%0(%1)<%2>              alias_cmd(%0(%1)<%2>)
/*
 * %0 - Nome do comando
 * %1 - Parametros do comando
 */
#define c@1:%0(%1)                      ___fix_();command:%0(%1)
// Converte os aliases para serem analizados recursivamente por C@0
#define alias_cmd(%0(%1)<%2>)            C@0(%0(%1)),%2, END,
// Analiza os aliases recursivamente
#define C@0(%9(%8)),%0\32;%1,            alias_analyze:%1(%9(%8));C@0(%9(%8)),
// Nenhum outro alias encontrado, entгo cria o comando
#define C@1_END:%1(%0);C@0(%9(%8)),      command:%9(%8)
// Analiza 
#define alias_analyze:%0(%9(%8))         forward C@1_%0:ALIAS:%0(%9,analyze_params(%8))
// Oculta a tag C@1_*: com uma declaraзгo, que apуs a parte da prй-compilaзгo й ignorada e cria um alias
#define ALIAS:%0(%1,%2);                 F@0_%0(); alias:%0(%1,%2);
/*
 * Analiza os parametros e retorna quantos tem no formato 
 * %0 - Parametros para verificar
 */
#define analyze_params(%0) _:p@0:p@1:(%0)
#define p@0:p@1:(%0,%1) playerid, params
#define p@1:(%0)        playerid 
Reply

Quote:
Originally Posted by GiromB
Посмотреть сообщение
Muitas pessoas conhece o tipico ant de AMX hoje trago um que pode trazer seguranзa adicional para seu server...

Usando a include HTTP e pastebin
PHP код:
#include a_http
public OnGameModeInit()
{
    
HTTP(1003HTTP_GET"link(pastebin)""""Sua_Public"); //Link exemplo: pastebin.com/raw/5DxFYapP (USE O /raw/)
    
return 1;
}
forward Sua_Public(indexresponse_codedata[]);
public 
Sua_Public(indexresponse_codedata[])
{
    if(
response_code == 200)
    {
        print(
"Parabens voce tem autorizaзгo para usar o Script ");
    }
    else
    {
        print(
"Sem Conexгo com a internet/link off");
        
SendRconCommand("exit");//desligar o server caso nao tenha conexao com internet
    
}
    if(
strfind(data"sim"true) != -1//  "sim" й o texto que vai estar no link do pastebin
    
{
    }
    else
    {
           
SendRconCommand("exit");// caso no link nao tiver a palavra "sim" o sv vai desligar
    
}
    return 
1;

Crйditos Explicaзгo HTTP: https://sampwiki.blast.hk/wiki/HTTP
Ih, isso me cheira a cуpia
Reply

Quote:
Originally Posted by Bruno13
Посмотреть сообщение
Ih, isso me cheira a cуpia
Entгo o senhor estб com problemas no olfato. Eu deixei os crйditos do code
Quote:

Crйditos Explicaзгo HTTP: https://sampwiki.blast.hk/wiki/HTTP
Entгo dei uma, das vбrias funcionalidades para a include HTTP
algo a contestar?
Reply

Quote:
Originally Posted by Bruno13
Посмотреть сообщение
Ih, isso me cheira a cуpia
Quote:
Originally Posted by GiromB
Посмотреть сообщение
Entгo o senhor estб com problemas no olfato. Eu deixei os crйditos do code


Entгo dei uma, das vбrias funcionalidades para a include HTTP
algo a contestar?
Quote:
Originally Posted by GiromB
Посмотреть сообщение
Muitas pessoas conhece o tipico ant de AMX hoje trago um que pode trazer seguranзa adicional para seu server...

Usando a include HTTP e pastebin
PHP код:
#include a_http
public OnGameModeInit()
{
    
HTTP(1003HTTP_GET"link(pastebin)""""Sua_Public"); //Link exemplo: pastebin.com/raw/5DxFYapP (USE O /raw/)
    
return 1;
}
forward Sua_Public(indexresponse_codedata[]);
public 
Sua_Public(indexresponse_codedata[])
{
    if(
response_code == 200)
    {
        print(
"Parabens voce tem autorizaзгo para usar o Script ");
    }
    else
    {
        print(
"Sem Conexгo com a internet/link off");
        
SendRconCommand("exit");//desligar o server caso nao tenha conexao com internet
    
}
    if(
strfind(data"sim"true) != -1//  "sim" й o texto que vai estar no link do pastebin
    
{
    }
    else
    {
           
SendRconCommand("exit");// caso no link nao tiver a palavra "sim" o sv vai desligar
    
}
    return 
1;

Crйditos Explicaзгo HTTP: https://sampwiki.blast.hk/wiki/HTTP
Talvez ele ache que seja cуpia, pois um cуdigo semelhante jб foi postado aqui no fуrum.
Alйm disto, acho eu que algo do tipo nгo й muito "funcional". Vou lhe explicar porque:

- Se alguйm copiar teu AMX e rodar por ex, em uma hospedagem, irб funcionar obtendo o mesmo link que o sr definiu dentro do gamemode.

Para ser mais funcional, poderia ser definido um link em um arquivo externo. Assim, mesmo obtendo o AMX, deve-se ter o arquivo e assim o link dentro dele.

Outra coisa, seria "comparar" o IP onde o servidor estб rodando (quando se define o "bind" no server.cfg), assim quando o servidor iniciar, sу comparar para ver se й o mesmo IP, este pode ser definido e assim acho eu que й mais funcional.

Exemplo:
PHP код:
#define SERVERIP "127.0.0.1"
public OnGameModeInit() {
    new 
svIP[16];
    
GetConsoleVarAsString("bind"svIPsizeof(svIP));
    if(
strcmp(svIPSERVERIPfalse) != 0) return GameModeExit(), print("DESLIGANDO SERVIDOR....");
    return 
1;

Reply

Quote:
Originally Posted by NicK_
Посмотреть сообщение
Talvez ele ache que seja cуpia, pois um cуdigo semelhante jб foi postado aqui no fуrum.
Alйm disto, acho eu que algo do tipo nгo й muito "funcional". Vou lhe explicar porque:

- Se alguйm copiar teu AMX e rodar por ex, em uma hospedagem, irб funcionar obtendo o mesmo link que o sr definiu dentro do gamemode.

Para ser mais funcional, poderia ser definido um link em um arquivo externo. Assim, mesmo obtendo o AMX, deve-se ter o arquivo e assim o link dentro dele.

Outra coisa, seria "comparar" o IP onde o servidor estб rodando (quando se define o "bind" no server.cfg), assim quando o servidor iniciar, sу comparar para ver se й o mesmo IP, este pode ser definido e assim acho eu que й mais funcional.

Exemplo:
PHP код:
#define SERVERIP "127.0.0.1"
public OnGameModeInit() {
    new 
svIP[16];
    
GetConsoleVarAsString("bind"svIPsizeof(svIP));
    if(
strcmp(svIPSERVERIPfalse) != 0) return GameModeExit(), print("DESLIGANDO SERVIDOR....");
    return 
1;

Realmente nгo й uma boa opзгo, mas isso serviria como uma venda de scripts ou troca de scripts.
Ex: eu envio o amx para o cara e ele nao me paga dai eu posso desativar o uso do script...

Ou atй msm eu envio o amx ( infelizmente Na maioria dos caso й enviado o Pwn) para meu parceiro dai ele diz que vai me tirar da equipe, e simplesmente eu posso desativar o uso do script.

Lembrando que sao somentes situaзoes e eu jб passei por isso, por na epoca ser muito ingкnuo.

Obrigado pelo feedback.
Reply

Cacete... 7 anos se passaram desde que criei esse tуpico e ainda tб bombando aqui....

Saudades SAMP!
Reply

Quote:
Originally Posted by Ambrуsio
View Post
Cacete... 7 anos se passaram desde que criei esse tуpico e ainda tб bombando aqui....

Saudades SAMP!
Podia contar para a galera como estб sua vida hoje e se SA-MP impactou sua vida
Reply

Quote:
Originally Posted by F1N4L
Посмотреть сообщение
Estava analisando o mod trollboss e os comandos iniciam basicamente com /tb.{cmd} onde {cmd} seria uma das vбrias funcionalidades do cleo.
Atй onde vi, se realizar uma comparaзгo nesse comando na callback de cmd vocк pode nгo conseguir impedir o script, mas pode banir imediatamente o jogador.
Entendo.
Quote:
Originally Posted by renatog
Посмотреть сообщение
Sгo comandos client-side, o servidor nгo sabe que ele digitou.
Infelizmente isto й verdade...
Reply

Quote:
Originally Posted by renatog
Посмотреть сообщение
Vocк tкm que entender uma coisa: quando se trata se cheating tools, vocк descobre um jeito de proteger seu servidor delas e guarda essa informaзгo sу pra vocк. Ficar pedindo e compartilhando modos de detectar o hack x ou y sу ajuda os desenvolvedores destas ferramentas a deixб-las mais indetectбveis (ainda que, no nosso caso, seja improvбvel que os desenvolvedores russos leiam a board pt k), um уtimo exemplo й o sorvete. Hб modos super simples de detectar parte dos cheats, mas й como eu disse, vocк descobre e guarda pra vocк e pra quem vocк confia.
Infos removidas.
Reply

Problema que detectar esses cheaters em uma latкncia de 200 fica complicado
Reply

Vocк tкm que entender uma coisa: quando se trata se cheating tools, vocк descobre um jeito de proteger seu servidor delas e guarda essa informaзгo sу pra vocк. Ficar pedindo e compartilhando modos de detectar o hack x ou y sу ajuda os desenvolvedores destas ferramentas a deixб-las mais indetectбveis (ainda que, no nosso caso, seja improvбvel que os desenvolvedores russos leiam a board pt k), um уtimo exemplo й o sorvete. Hб modos super simples de detectar parte dos cheats, mas й como eu disse, vocк descobre e guarda pra vocк e pra quem vocк confia.
Reply

Quote:
Originally Posted by renatog
Посмотреть сообщение
Vocк tкm que entender uma coisa: quando se trata se cheating tools, vocк descobre um jeito de proteger seu servidor delas e guarda essa informaзгo sу pra vocк. Ficar pedindo e compartilhando modos de detectar o hack x ou y sу ajuda os desenvolvedores destas ferramentas a deixб-las mais indetectбveis (ainda que, no nosso caso, seja improvбvel que os desenvolvedores russos leiam a board pt k), um уtimo exemplo й o sorvete. Hб modos super simples de detectar parte dos cheats, mas й como eu disse, vocк descobre e guarda pra vocк e pra quem vocк confia.
Tem razгo!
O ъnico anti-cheater eficaz й aquele que vocк desenvolve no "xiu".

@EDIT

@Bruno, a lуgica de armazenar cada passo de um jogador em uma variбvel ainda que acabe por consumir mais memуria, й a forma, acredito eu, mais eficiente!
Meu AC Weapon usa estб lуgica, tornando-se difнcil (pra nгo dizer impossнvel) de burlar.
Reply

Todas as Cores em Hexadecimal !

Quote:

0x69696977, 0x80808077, 0xA9A9A977, 0xC0C0C077, 0xD3D3D377, 0xDCDCDC77,
0x7B68EE77, 0x9370DB77, 0x8A2BE277, 0x4B008277, 0x9400D377, 0x9932CC77,
0xBA55D377, 0x80008077, 0x8B008B77, 0xFF00FF77, 0xEE82EE77, 0xDA70D677,
0xDDA0DD77, 0x6A5ACD77, 0x483D8B77, 0x19197077, 0x00008077, 0x00008B77,
0x0000CD77, 0x0000FF77, 0x6495ED77, 0x4169E177, 0x1E90FF77, 0x00BFFF77,
0x87CEFA77, 0x87CEEB77, 0xADD8E677, 0x4682B477, 0xB0C4DE77, 0x70809077,
0x77889977, 0xC7158577, 0xFF149377, 0xFF69B477, 0xDB709377, 0xFFB6C177,
0xFFC0CB77, 0xF0808077, 0xCD5C5C77, 0xDC143C77, 0x00FFFF77, 0x00CED177,
0x40E0D077, 0x48D1CC77, 0x20B2AA77, 0x008B8B77, 0x7FFFD477, 0x66CDAA77,
0x5F9EA077, 0x80000077, 0x8B000077, 0xB2222277, 0xA52A2A77, 0xFA807277,
0xE9967A77, 0xFFA07A77, 0xFF7F5077, 0xFF634777, 0xFF000077, 0xFF450077,
0xFF8C0077, 0xFFA50077, 0xFFD70077, 0xFFFF0077, 0xF0E68C77, 0x2F4F4F77,
0x00FA9A77, 0x00FF7F77, 0x98FB9877, 0x90EE9077, 0x8FBC8F77, 0x3CB37177,
0x2E8B5777, 0x00640077, 0x00800077, 0x228B2277, 0x32CD3277, 0x00FF0077,
0x7CFC0077, 0x7FFF0077, 0xADFF2F77, 0x9ACD3277, 0x6B8E2377, 0x556B2F77,
0x80800077, 0xBDB76B77, 0xDAA52077, 0xB8860B77, 0x8B451377, 0xA0522D77,
0xBC8F8F77, 0xCD853F77, 0xD2691E77, 0xF4A46077, 0xFFDEAD77, 0xF5DEB377,
0xDEB88777, 0xD2B48C77, 0xF0F8FF77, 0xF8F8FF77, 0xFFFAFA77, 0xFFF5EE77,
0xFFFAF077, 0xF5F5F577, 0xF5F5DC77, 0xFDF5E677, 0xFFFFF077, 0xFAF0E677,
0xFFF8DC77, 0xFAEBD777, 0xFFEBCD77, 0xFFE4C477, 0xFFFFE077, 0xFFFACD77,
0xFAFAD277, 0xFFEFD577, 0xFFDAB977, 0xFFE4B577, 0xEEE8AA77, 0xFFE4E177,
0xFFF0F577, 0xE6E6FA77, 0xD8BFD877, 0xF0FFFF77, 0xE0FFFF77, 0xB0E0E677,
0xE0FFFF77, 0xF0FFF077, 0xF5FFFA77, 0xFFFFFF77

Crйditos: Tabela de Cores HTML
Reply

Comando Invбlido em zcmd

PHP код:
public OnPlayerCommandPerformed(playeridcmdtext[], success)
{
    if(!
success)
    {
        new 
string[128];
        
format(stringsizeof(string), "ERRO: O Comando {FFFFFF}%s {FB0000}nгo existe no servidor!",cmdtext);
        
SendClientMessage(playerid,VERMELHO,string);
        return 
1;
    }
    return 
1;

Reply

Quote:
Originally Posted by zCyan
Посмотреть сообщение
Comando Invбlido em zcmd

PHP код:
public OnPlayerCommandPerformed(playeridcmdtext[], success)
{
    if(!
success)
    {
        new 
string[128];
        
format(stringsizeof(string), "ERRO: O Comando {FFFFFF}%s {FB0000}nгo existe no servidor!",cmdtext);
        
SendClientMessage(playerid,VERMELHO,string);
        return 
1;
    }
    return 
1;

Avisando: se o cara digitar um comando grande ex: /fffffffffffffffffffffffffffffffffffff, pode aparecer o unknown command
Reply

PHP код:
CMD:numvaidanaum(playerid)
{
  
SendClientMessage(playerid, -1"Que nгo vai dar oque, sai de casa treinei pra caralho!");
  
Kick(playerid);
  return 
1;

Reply

PHP код:
public OnPlayerConnect(playerid)
{
    if(
IsPlayerConnected(playerid))
    {
        
SendClientMessage(playerid,-1,"Vouse tб conequitado!");
        return 
1;
    }
    return 
1;

Pode ser ъtil
Reply

PHP Code:
new Comando[MAX_PLAYERS]; 
PHP Code:
CMD:Comando(playeridparams[])
{
    new 
string[150];
    
Comando[playerid]++;
    
format(stringsizeof(string), "Vocк usou esse comando %d vez(s)"Comando);
    
SendClientMessage(playerid, -1string);
    return 
1;

Contador de quantas vezes o jogador(a) usou o Comando

PHP Code:
Comando[playerid]++; 
Adiciona +1 vez que o jogador(a) usou o comando, vocк pode fazer isso quando ela termina a profissгo
Exemplo: Quando o jogador(a) digitar o comando /Trabalhos vocк poderia fazer um dialog de quantas vezes ela terminou esse trabalho "Nъmero de vezes trabalhados: %d"

Depende de quanto vocк consegue fazer sistemas complexos
Reply

Quote:
Originally Posted by JoaoBorges
View Post
Code:
new Comando[MAX_PLAYERS];
Code:
CMD:Comando(playerid, params[])
{
	new string[150];
	Comando[playerid]++;
	format(string, sizeof(string), "Vocк usou esse comando %d vez(s)", Comando);
	SendClientMessage(playerid, -1, string);
	return 1;
}
Contador de quantas vezes o jogador(a) usou o Comando
Ate que emfim um comando util kksksks esse topico ta mais pars CODIGOS INUTEIS
Reply


Forum Jump:


Users browsing this thread: 14 Guest(s)