(GM) Portugal DRIFT/DM 1.0

Descrição:
O Gamemode é do tipo DRIFT / DM.

Características:
- Sistema de Registro / Login / Save (dini)
- 3 Pistas de Drift (Facil - Medio - Dificil)
- 2 Áreas de DM (Avião - Deserto) 
- O Jogador ganha algumas armas e colete ao entrar nessas areas!
- Sistema de Teleportes (Dialog) - /teleportes
- Sistema de Veiculos (Dialog) - /veiculos
- Sistema de Skin (dialog) - /meuskin
- Comandos Basicos: /comandos, /regras, /reparar, /tunar, /virar, /creditos
- Velocimetro Simples em TextDraw
- Mensagens Randonomicas (5 em 5 minutos)
- Entre outras coisas...

Créditos:
Josma_Cmd
Shadow5A Falcon

(INC) JFS Include v2.0

Funções:
pawn Code:
native RestartServidor(); native Congelar(playerid); native Descongelar(playerid); native Dia(); native Noite(); native TremerTela(playerid); native PararTremerTela(playerid); native SalvarLocal(playerid); native IrLocal(playerid); native PlayersAFK(playerid); native EntrarAFK(playerid); native SairAFK(playerid); native PlayersAFK(playerid); native SetarPos(playerid, Float:x, Float:y, Float:z, Float:ang); native DarArmas(playerid, Arma1, Ballas1, Arma2, Ballas2, Arma3, Ballas3, Arma4, Ballas4); native LimparLinhas(playerid, Linhas); native LimparLinhaAll(); native BanAll(); native KickAll(); native JogadoresOnline(); native MudarNick(playerid, const NickDesejado[]); native DarCrash(playerid); native Jetpack(playerid); native PegarNome(playerid); native EquiparVidaColete(playerid, Float:health, Float:armour); native CarregarMapa(playerid);

Exemplos de Uso:

pawn Code:
if (strcmp("/restartsv", cmdtext, true) == 0) {     RestartServidor();     return true; } if (strcmp("/mecongelar", cmdtext, true) == 0) {     Congelar(playerid);     return true; } if (strcmp("/medescongelar", cmdtext, true) == 0) {     Descongelar(playerid);     return true; } if (strcmp("/dia", cmdtext, true) == 0) {     Dia();     return true; } if (strcmp("/noite", cmdtext, true) == 0) {     Noite();     return true; } if (strcmp("/tremertela", cmdtext, true) == 0) {     TremerTela(playerid);     return true; } if (strcmp("/parartremer", cmdtext, true) == 0) {     PararTremerTela(playerid);     return true; } if (strcmp("/salvarlocal", cmdtext, true) == 0) {     SalvarLocal(playerid);     return true; } if (strcmp("/irlocal", cmdtext, true) == 0) {     IrLocal(playerid);     return true; } if (strcmp("/entrarafk", cmdtext, true) == 0) {     EntrarAFK(playerid);     return true; } if (strcmp("/sairafk", cmdtext, true) == 0) {     SairAFK(playerid);     return true; } if (strcmp("/playersafk", cmdtext, true) == 0) {     PlayersAFK(playerid);     return true; } if (strcmp("/pegararmas", cmdtext, true) == 0) {     DarArmas(playerid, 24, 100, 25, 100, 30, 100, 40, 100);     return true; } if (strcmp("/limparlinha", cmdtext, true) == 0) {     LimparLinhas(playerid, 5);     return true; } if (strcmp("/limparlinhaAll", cmdtext, true) == 0) {     LimparLinhaAll();     return true; } if (strcmp("/playersonline", cmdtext, true) == 0) {     new CelulasE[128];     format(CelulasE, sizeof(CelulasE), "Players Online: (%d/%i)",JogadoresOnline(),  GetMaxPlayers());     SendClientMessage(playerid, -1, CelulasE);     return true; } if (strcmp("/pegarjetpack", cmdtext, true) == 0) {     Jetpack(playerid);     return true; } if (strcmp("/mudarnick", cmdtext, true) == 0) {     MudarNick(playerid, "[JFS]JonathanF");     return true; } if (strcmp("/ganharcrash", cmdtext, true) == 0) {     DarCrash(playerid);     return true; } if (strcmp("/pegarnick", cmdtext, true) == 0) {     new Celulas[128];     format(Celulas, sizeof(Celulas), "Meu Nick é (( %s ))", PegarNome(playerid));     SendClientMessage(playerid, -1, Celulas);     return true; } if (strcmp("/pegarvidacolete", cmdtext, true) == 0) {     EquiparVidaColete(playerid, 100, 100);     return true; } if (strcmp("/entrar", cmdtext, true) == 0) {     CarregarMapa(playerid);     return true; }

Créditos:
- Jonathan Feitosa
- Ricop
- Lipe_Stronda.

(INC) Sistema de Detetive/Procurar - Sem Checkpoint (GPS)

Funções:
#define PLAYER_PROCURANDO 0
- Retorna se o player está procurando alguém ou não

#define PLAYER_PROCURANDO_ID 1
- Retorna a ID que o player tá procurando

#define PLAYER_SENDO_PROCURADO 2
- Retorna se o player está sendo procurado

#define PLAYER_SENDO_PROCURADO_POR_ID 3
- Retorna a ID do cara que tá te procurando
forward ProcurarPlayer(playerid, procurarid, cor);
- playerid : O player pra quem vai aparecer a marker, procurarid, o cara que vai ser procurado e a cor vai mudar a cor do procurado para a que você escolher, lembrando que só muda pro playerid. forward ProcurarInfo(playerid, procurado, info);
- Ele retorna informações as #defines vão na info. Você precisa, necessariamente colocar ou o playerid ou o procurado (:  forward PararProcurarPlayer(playerid, procuradoid);
- Ele para de procurar alguém, lembrando que você tem que colocar o playerid e o procurado.


Créditos:
- [iPs] Miki
- SA-MP Dev Team.

(TUT) Como criar x1 de duas pessoas.

Primeiramente no TOPO Digite:
pawn Código:
new bool:TaNoX1[MAX_PLAYERS]; // Cria uma array com técnica de borleana.
new Quantos; // Para contar quantos players tem em tal lugar.


Okay, depois de ter criado isto,

vamos em OnPlayerCommandText

pawn Código:
if(!strcmp("/X1", cmdtext, true))
{
    if(Quantos == 2) return SendClientMessage(playerid, Vermelho," X1 está cheio, tente mais tarde.");
    SendClientMessageToAll(Branco,"[INFO] Alguém foi para x1 de duas pessoas, vai duelar também! ( / X1 ) ");
    SetPlayerPos(playerid,1494.0419, -1136.7343, 135.8281);
    Quantos += 1;
    TaNoX1[playerid] = true;
    return 1;
}



Explicação: 



if(Quantos == 2) < verifica Quandos players digitaram o comando. e se for igual a 2 ele manda a mensagem.

SendClientMessageToAll < Manda mensagem para todos que alguem foi para x1.
SetPlayerPos < Seta a posição do player.
Quantos += 1; < Adiciona Numero a variavel.
TaNoX1[playerid] = true; < Declara que ele está no x1 e seta para true (sim).




Agora vamos ao OnPlayerDeath

Adicione a na public.


pawn Código:
if(TaNoX1[playerid] == true)
{
    OnPlayerSpawn(playerid);
    OnPlayerSpawn(killerid)
    new string[50+MAX_PLAYER_NAME];
    new Nome[40][MAX_PLAYERS];
    new Nomi[40][MAX_PLAYERS];
    TaNoX1[playerid] = false;
    TaNoX1[killerid] = false;
    GetPlayerName(killerid, Nomi[killerid], 40);
    GetPlayerName(playerid, Nome[playerid], 40);
    format(string, sizeof(string),"[INFO] Mr.%s Ganhou no x1 contra %s.",Nomi[killerid], Nome[killerid]);
    SendClientMessageToAll(Branco, string);
    Quantos = 0;
}


if(TaNoX1[playerid] == true) < verifica se está no x1.

OnPlayerSpawn(playerid); < manda nascer quem morreu
OnPlayerSpawn(killerid); < Manda Nascer Quem matou
TaNoX1[playerid] = false; < Declara Que Não está no X1 ( Quem morreu )
TaNoX1[killerid] = false; < Declara Que Não está no X1 ( Quem Matou )
GetPlayerName(killerid, Nomi[killerid], 40); < Pega o Nome de quem Matou
GetPlayerName(playerid, Nome[playerid], 40); < Pega o Nome de quem morreu
format(string, sizeof(string),"[INFO] Mr.%s Ganhou no x1 contra %s.",Nomi[killerid], Nome[killerid]); < Formata a string
SendClientMessageToAll(Branco, string); < manda a mensagem.



Créditos 

- > [FeK]Garfield



Testadores & ajudantes 

- > Cobertosinho 
- > JVSell

Código pronto para os preguiçosos 
pawn Código:
#include <a_samp> #define Branco     \              0xFAFAFAFF #define Vermelho   \              0xFF0023FF new     bool:TaNoX1[MAX_PLAYERS],     Quantos ; public      OnPlayerCommandText(playerid, cmdtext[]) {     if(!strcmp("/X1", cmdtext, true, 4))     {         if(Quantos == 2) return SendClientMessage(playerid, Vermelho," X1 está cheio, tente mais tarde.");         SendClientMessageToAll(Branco,"[INFO] Alguém foi para x1 de duas pessoas, vai duelar também! ( / X1 ) ");         SetPlayerPos(playerid,1494.0419, -1136.7343, 135.8281);         Quantos += 1;         TaNoX1[playerid] = true;         return true;     }     return false; } public      OnPlayerDeath(playerid, killerid, reason) {     if(TaNoX1[playerid] == true)     {        new               string[50+MAX_PLAYER_NAME],               Nome[40][MAX_PLAYERS],               Nomi[40][MAX_PLAYERS]        ;        TaNoX1[playerid] = false;        TaNoX1[killerid] = false;        GetPlayerName(killerid, Nomi[killerid], 40);        GetPlayerName(playerid, Nome[playerid], 40);        format(string, sizeof(string),"[INFO] Mr.%s Ganhou no x1 contra %s.",Nomi[killerid], Nome[killerid]);        SendClientMessageToAll(Branco, string);        Quantos = 0;     }     return true; }

(TUT) CreateVehiclePlayer | Code

[FeKCreateVehiclePlayer

------------------------------
Descrição
------------------------------

Nessa explicação (não chega a ser um tutorial) você utilizará um código para criar veículos direto para o jogador, bom para criar veículos em servidores Stunt.


------------------------------
Código & Utilização
------------------------------

Primeiramente, no topo do Game Mode, cria uma nova variável:
new mPlayerVehicle[MAX_PLAYERS];

Depois adicione na primeira linha de public OnPlayerConnect(playerid)
mPlayerVehicle[playerid] = -1;

Logo após, você deve criar duas novas stocks, é recomendável que coloque-as no final do Game Mode na mesma órdem que estão no tópico.

pawn Código:
stock CreateVehiclePlayer(playerid, modelo, cor1, cor2, trancado) {       new Float:X, Float:Y, Float:Z, Float:A; // Criar Variáveis (coordenadas e ângulo)       if (mPlayerVehicle[playerid] != -1) DestroyVehiclePlayer(playerid); // Já existe? Excluir veículo       GetPlayerPos(playerid, X, Y, Z); // Pegar Coordenadas       GetPlayerFacingAngle(playerid, A); // Pegar Ângulo       mPlayerVehicle[playerid] = CreateVehicle(modelo, X, Y, Z, A, cor1, cor2, 60000); // Criar Veículo       PutPlayerInVehicle(playerid, mPlayerVehicle[playerid], 0); // Colocar no Veículo       if (trancado == 0) return SendClientMessage(playerid, 0xFFFFFFAA, "* Você foi colocado em um veículo."); // Mensagem       for(new i = -1; i < MAX_PLAYERS; i++)       {         if (IsPlayerConnected(i) && i != playerid) SetVehicleParamsForPlayer(mPlayerVehicle[playerid], i, 0, 1); // Trancar       }       return SendClientMessage(playerid, 0xFFFFFFAA, "* Você foi colocado em um veículo."); // Mensagem } stock DestroyVehiclePlayer(playerid) {       if (mPlayerVehicle[playerid] == -1) return 1; // Para o processo se não existir veículo       if (GetPlayerVehicleID(playerid) == mPlayerVehicle[playerid]) RemovePlayerFromVehicle(playerid); // Está no veículo? Remove o jogador       DestroyVehicle(mPlayerVehicle[playerid]); // Deleta o veículo       mPlayerVehicle[playerid] = -1; // Nula o valor       return 1; }

Para criar:
CreateVehiclePlayer(playerid, modelocor1cor2trancado);
Modelo: http://wiki.sa-mp.com/wiki/Vehicles:All
Cores: http://wiki.sa-mp.com/wiki/Color_ID
Trancado: 1 = Sim / 0 = Não

(FS) Sistema Vip (Básico)

Descrição:
É um Sistema de VIP básico para iniciantes estudarem, e vizualizarem algumas coisas.

Características:
Para dar VIP a um ID escolhido é necessario estar logado na Rcon.
Sendo 'VIP' você ganha alguns 'Premios', para saber mais desses comandos apenas digite /ajudavip.
Este FilterScript contem um sistema de salvamento em Dini.
Para poder compilar o FilterScript é necessario ter a Include Dini e Zcmd.

Creditos:
- [FeK]Knife
- DracoBlue
- Zeex
- [FeK]Squad

(TUT) Criando um anti flood Simples

Primeiramente você introduza no topo:

Criaremos um enumarador com seguintes parâmetros:

pawn Código:
enum {     bool:Floodo,     Flooding } new Flooder[MAX_PLAYERS][fInfo];
pawn Código:
public OnPlayerText(playerid, text[]) {     Flood[playerid][Flooding]++;     if(Flood[playerid][Flooding] == MAX_FLOOD_LIMIT)     {         if(Adminstracao[playerid][pNivel] < 1)         {             if(Flood[playerid][Floodo] == true)             {                 static string[128], Nome_Play[MAX_PLAYER_NAME];                 Flood[playerid][Floodo] = false;                 GetPlayerName(GivePlayerid, Nome_Play, sizeof(Nome_Play));                 format(string, sizeof(string),"[INFO]: %s[ID:%i] Foi Kickado do servidor pelo adminstrador: Both:%s, Motivo: Flood Exessivo de mensagens.", Nome_Play,playerid, NomeBoth);                 SendClientMessageToAll(Amarelo, string);                 Kick(playerid);             }             SendClientMessage(playerid, Vermelho,"[INFO]: Sistema Ant - Flood, Aguarde alguns segundos, ou será kickado!.");             Flood[playerid][Floodo] = true;             Flood[playerid][Flooding] = 0;             SetTimerEx("Liberar",5000,false,"d",playerid);             return false;         }     }     return true; }

pawn Código:
public Liberar(playerid) {     Flood[playerid][Floodo]     = false;     Flood[playerid][Flooding]   = 0;     return false; }

Explicação
Flood[playerid][Flooding]++;  Fica Adicionando no anumerador Sempre +1 ( Flood[playerid][Flooding]+1 )
if(Flood[playerid][Flooding] == 3)  Quanto o Enumerador [Flooding] for igual a 3 ele começa a executar o comando.
Adminstracao[playerid][pNivel] < 1)  Se não for admin ele continua....
static string[128], Nome_Play[MAX_PLAYER_NAME];  Cria as variáveis
Flood[playerid][Floodo] == true)  Checa se o player Floodou antes.
Flood[playerid][Floodo] = false  Seta para FALSE, que é NÃO
format(....);  Formata a string
SendClientMessageToAll(Amarelo, string);  Manda Para todos.
Kick(playerid);  Kicka o player.

---

SendClientMessage(playerid, Vermelho,"[L.A.S]: Sistema Ant - Flood, Aguarde alguns segundos, ou será kickado!.");  Manda Mensagen para aguardar.
Flood[playerid][Floodo] = true;  seta que já flodou antes.
Flood[playerid][Flooding] = 0;  Seta para 0 a acontagem
SetTimerEx("Liberar",5000,false,"d",playerid);  Lansa um timer para uma public.
Flood[playerid][Floodo] = false;  Seta para FALSE quando acaba o tempo
Flood[playerid][Flooding] = 0;  Seta o Flooding para 0.

Créditos:
 [FeK]Garfield
 [FeK]Squad
 < a Flechinha também.