61 resultados encontrados para include

sistema de adimistraçao VERSÃO 1.6 - Seg 27 Dez 2021 - 19:04

ola galerinha stremmer  na area dessa vez vim trazer pra vcs sistema de adm  simples mais vai ajudar muito vai de adm 1 ao 5 com sistema de /logaradm



oque tem nesse filterscripts  vamos la
   


Adicionado funções na public OnPlayerClickPlayer:
    Kick
    Ban
Advertir
Particular
Ir
Trazer
Status
Sistema de admin secreto:
Vá até a linha 180 e altere oque está entre aspas para uma senha secreta.
In game use o comando /logar  para ser admin secretamente,
ninguem verá seu nome no /admins porem você terá todos os comandos do FS.
Para ser admin normal use /admnormal
Pequeno sistema de duvida:
    Players usam /duvida  e uma mensagem é enviada para todos os Helpers online
    Eles podem responder usando /responder  
Corrigido pequeno bug do /admins
Comando /kicksecreto
Comando /bansecreto
Comando /ips otimizado
Comando /id (mostra o id de um player atraves do nome digitado)
Comandd /posplayer (mostra a posição de um player)
Comando /criaricone (cria um icone no mapa de todos os players)
Comando /destruiricone (oposto do comando /criaricone)
Comando /versao         (mostra a versão do samp de um player)
Comando /blindar        (coloca o carro de um player em god mode)
Comando /desblindar     (oposto do comando /blindar)
Comando /setarVW        (seta o Virtual World de um player)
Comando /console        (imprime informações no console do server)


VERSÃO 1.6
Resolvido problema de não salvar tags


VERSÃO 1.5
- Nova interface de Registro e Login.
- Novo sistema de gravação de Admin, Helper e VIP. Chega de bugs.
- Função adicionada para não dar conflito com seu GM no sistema de registro.
- Anti-Divulguer.
- Anti-Bot.
- Anti-Weapon Hack.
- Anti-High Ping.
- Agora temos HQ de admin (opcional).
  °Portão movel (/portaoadm)
  °Varios objetos.
  °Carros exclusivos para admin
- OnPlayerDisconnect otimizado.
- Em vez de usar os comandos /jogar e /trabalhar, use apenas /servico. Os comandos
  /jogar e /trabalhar não foram excluidos, eles ainda funcionam normalmente.
- SSCANF adicionado no FS. Chega de conflitos.
- Corrigido bug de morrer e perder admin.
- Sistema de Disfarce:
  °/disfarce faz com que o Admin mude sua skin, seu nome e sua cor para ficar igual a do player
  que está sendo usado.
  °/sairdisfarce para voltar as caracteristicas originais.
- Novo sistema de Logs .
- Novo sistema de prints.
- /Relatorios agora são gravados em log.
- Adicionado Sistema de Helpers:
  °/darhelper
  °/tirarhelper
  °/helpers
  °todos os comandos de helper em /la
- Adicionado Sistema de Vips (opcional):
  °/ajudavip
  °/darvip
  °/tirarvip
  °/v
  °/kitvip
  °/vips
  °/cc
  °/relatorio diferenciado
- Sistema de mensagens randomicas:
  °Adminis level 3+ podem ativa-las com /ativarmsgs ou /desativarmsgs.
- Sistema de Enquetes:
  °Admins level 3+ podem usar /enquete para criar uma enquete.
  °Players usam /sim ou /nao. A enquete se encerra automaticamente em 30 segundos.
- Adicionado comando /particular (todos os niveis de admin ou helper).
- Sistema de musica ao conectar:
  °Admins level 4+ podem usar o comando /musicainicial para escolher uma musica para o player ouvir quando
  se conectar ao servidor.
- Sistema de Foder um Jogador:
  °Admins nivel 4+ poderam usar o comando /foderplayer.
  °O Player fodido irá para o carandiru, ficará congelado, ficará mudo, e será forçado a ouvir uma musica do Restart kkkk.
  °Para desfode-lo vá até o arquivo Fodidos.txt e apague o IP dele da lista.
- Sistema de AFK:
  °/afk
  °/sairafk
  °o /admins e /helpers mostra quem está online e quem está AFK.
- Adicionado comando /mudarsenha (qualquer jogador).
- Adicionado comando /players (todos os niveis de admin ou helper). Mostra a quantidade de players online.
- Adicionado comando /limparchat (admin nivel 1+).                              Limpa o chat para todos os players.
- Adicionado comando /tempo (admin nivel 2+).                                   Seta o tempo para Manha/Tarde/Noite.
- Adicionado comando /dargrana (admin nivel 2+).                                Da grana a algum player.
- Adicionado comando /jetpack (admin nivel 2+).                                 Da um Jetpack para alguem.
- Adicionado comando /trazertodos (admin nivel 2+).                             Traz todos os jogadores até você.
- Adicionado comando /moverplayer (admin nivel 2+).                             Move um player até outro.
- Adicionado comando /resetargrana (admin nivel 3+).                            Reseta a grana de um jogador.
- Adicionado comando /setargrana (admin nivel 3+).                              Seta a grana de um jogador.
- Adicionado comando /resetar (admin nivel 4+).                                 Reseta Absolutamente todos os dados da conta de um player.
- Adicionado comando /versenha (admin nivel 5).                                 Mostra a senha de um jogador para o admin.
- Adicionado comando /setaradmin (admin nivel 5).                               Seta o admin de um player, independente de ele aceitar ou não
- Adicionado comando /trancarserver (admin nivel 5).                            Tranca o server com uma senha.
- Adicionado comando /destrancarserver (admin nivel 5).                         Destranca o server.
- Adicionado comando /seradmin (admin RCON).                                    Vira admin nivel 5.


-       ORDEM DE PRINT      -


Pasta Logs;
Pasta Banidos;
Pasta Banidos/Contas;
Pasta Admins;
Arquivo Fodidos.txt;
Arquivo Admins.adm;
Arquivo Helpers.hel;
Arquivo Vips.vip;
Pasta Contas;


Se seu samp-server abrir e fechar rapido, abra o server_log e veja qual foi a ultima pasta verificada.
a pasta depois dela, seguindo a ordem de cima, é a que está faltando.


*/


/*          INCLUDES        */
#include a_samp
#include zcmd

#include dof2


imagens  do sistemas abaixo 

https://i.servimg.com/u/f83/20/39/49/57/aaa10.png

https://i.servimg.com/u/f83/20/39/49/57/ewer10.png

https://i.servimg.com/u/f83/20/39/49/57/sasas10.png


https://i.servimg.com/u/f83/20/39/49/57/ss10.png



https://i.servimg.com/u/f83/20/39/49/57/rt4trt10.png



https://i.servimg.com/u/f83/20/39/49/57/fbfbfb10.png





link do filterscripts: https://www.mediafire.com/file/swmiigwdb336yf6/ssgamers.zip/file


BY; STREMMER

AS PASTA ESTA JA DENTRO DO ARQUIVO DE DOWNlOAD


FAVOR MATER OS CREDITOS  AMX E PAWNO VAI JUNTO 

Weslley_Script

[Tutorial] »  Como utilizar o zcmd - Qui 26 Ago 2021 - 17:03

Atenção: Este tópico é direcionado ao pessoal iniciante, por favor se quiser que eu implemente mais alguma coisa no mesmo comente.

[size=32]Introdução[/size]

Olá se você veio a este tópico é porque quer aprender a utilizar zCMD, ou porque quer aprimorar seus conhecimentos entre outros... bom vou colocar aqui um breve resumo do que ira ter neste tópico:

[size=24]1: [/size]Baixando o zCMD.
[size=24]2: [/size]Colocando ele na sua IDE pawno.
[size=24]3: [/size]Incluindo o zCMD no pawn.
[size=24]4: [/size]Como utilizar.
[size=24]5: [/size]Como usar if-else.
[size=24]6: [/size]Mini sistema de pegar dinheiro.

[size=32]Mas o que é zCMD ?[/size]

zCMD é uma include muito utilizada ("pelo menos por min", "Existem outras porém na minha opinão essa é a mais fácil!") pelo pessoal que gosta de criar comandos com mais facilidade como por exemplo /jetpack /dinheiro /godcar /voar entre outros... Isso mesmo com o zCMD você pode criar isso e muito mais ! 

[size=32]Baixando o zCMD[/size]

Clique no link abaixo e será redirecionado para baixar o zCMD:

[size=18]Baixar zCMD [/size]


Tópicos com a tag include em SSGamers - 10 Anos online por você. Dvlkm4

[size=32]Colocando ele na sua IDE pawno:[/size]

Após baixar vai vim um arquivo igual este:

Tópicos com a tag include em SSGamers - 10 Anos online por você. Y91KI5

Recorte ele e vá em sua pasta do servidor entre na pasta pawno entre na pasta include cole ele la.

[size=32]Incluindo o zCMD no pawn:[/size]

Bom se você seguiu todos os passos certinho então já está pronto para começar a programar, certo ?! Não ainda não meu caro gafanhoto (kkk). Siga as instruções abaixo:

[size=18]*[/size]Entre na sua IDE pawno.
*Após ter entrado na primeira linha do gamemode/filterscript após #include  
digite: #include  

Se seguiu corretamente ficara assim:

Tópicos com a tag include em SSGamers - 10 Anos online por você. 1ExrDR

[size=32]Como utilizar:[/size]

Bom existem varias maneiras e regras de utiliza-lo mas não se assuste ! Eu vou ensina-lo da maneira mais fácil
então após ter adicionado a include zCMD no seu gamemode arraste até a ultima linha dele e abra mais 2 linhas entendeu ? Bem fácil até aqui néh ! Bom agora vamos começar a tão sonhada parte Tópicos com a tag include em SSGamers - 10 Anos online por você. Biggrin sem mais enrrolação comece com:

Código:

Código:

Código:
CMD:nomedocomando(playerid)
{
     SendClientMessage(playerid, -1, "Olá");
     return 1;
}


Agora vamos a explicação:

(CMD: ) É o que chama o zCMD ou seja faz com que o codigo seja lido como um comando sem ele ira dar erro.

(nomedocomando) É o nome do seu comando pode colocar qualquer nome ai como godcar jetpack etc...

(" () ") É o que usamos para definir a variavel que iremos usar como vemos abaixo. Sem ele da erro...

(playerid) É uma variavel que adicionamos que puxara o player que digitou o comando.

( { ) Usado para definir o local onde o console ira executar o comando, em outras palavras ira executar tudo dentro das chaves.

(SendClientMessage) É uma função usada para exibir uma mensagem no chat do jogador.
(SendClientMessage(playerid)) Verifica qual player digitou o comando para enviar a mensagem apenas a ele.
(SendClientMessage(playerid, -1)) -1 é a cor da mensagem no caso branco.
(SendClientMessage(playerid, -1, "Olá") "Olá" é o texto(string) que ira aparecer no chat do jogador pode ser qualquer coisa!

É importante lembrar que sempre depois de playerid usamos virgula e sempre depois da cor usamos virgula e sempre que formos digita um texto é obrigatorio utilizar "Aqui o texto" e o texto dentro deles.

Agora retornamos o valor como true ou seja (return 1; )

OBS: Sempre no final de funções como SendClientMessage() usar ; no final! como o exemplo:

SendClientMessage(playerid, -1, "Eu uso ; no final do codigo haha");

e terminamos o codigo com } 

[size=32]Como utilizar o if-else.[/size]

Bom chegamos aqui e iremos aprender a usar o famoso (if e else) ou então (se e caso contrario).

Bom aqui temos um exemplo não muito complexo de como utilizar if e else: 

Código:
Código:
new verificarSeJaUsouComando = 0;

CMD:pular(playerid)
{
    
    if(verificarSeJaUsouComando == 0)
    {

        SendClientMessage(playerid, -1, "JUMPPPP!");
        verificarSeJaUsouComando = 1;

            return 1;
    
    }
    else
    {
        SendClientMessage(playerid, -1, "Você já pulou e esta muito cansado!");

                return 1;
    }

}



Mas o que esse codigo faz bartolomeu ? Bom vamos lá:

1: Quando o player digitar /pular ele ira verificar se ele ja usou o comando.
2: Se ele já usou o comando ira mandar a mensagem "Você já pulou e esta muito cansado!"
3: Caso ele não tenha usado o comando ainda ele ira mandar a mensagem "JUMPPPP!" e ira colocar 1 na variavel verificar.

Veja nas fotos:

Caso não tenha usado o comando ainda:

Tópicos com a tag include em SSGamers - 10 Anos online por você. SHTyYK

Caso já tenha usado o comando:

Tópicos com a tag include em SSGamers - 10 Anos online por você. NTWd6X

Agora vamos para a explicação:

(new verificarSeJaUsouComando = 0; ) É uma variavel que criamos.

Variaveis ficam geralmente abaixo das #include ! Como na foto abaixo:

Tópicos com a tag include em SSGamers - 10 Anos online por você. Cm3RnK

Então deixe ele no mesmo lugar em que eu deixei no exemplo. (Em baixo das includes)

OBS: Nem toda variavel é usada assim, mas ai é outro assunto.

Para criarmos uma variavel usamos (new) e em seguida o nome dela e usamos o sinal de = e o valor. como por exemplo:

new CoxinhaFrita = 0; e se lê new CoxinhaFrita recebe zero.

Agora la no final das linhas agente cria o comando lembram ? 


Código:
Código:
CMD:pular(playerid)
{


E vamos verificar se o nosso querido amigo já utilizou o comando.

Código:
Código:
CMD:pular(playerid)
{

      if(verificarSeJaUsouComando == 0)
      {

        SendClientMessage(playerid, -1, "JUMPPPP!");
        verificarSeJaUsouComando = 1;
           
            return 1;
    
      }



O "if" se lê "se" ou seja:

se(verificarSeJaUsouComando == 0) 

o que acontece aqui traduzindo bem para o português agente verifica se a variavel que criamos no inicio do codigo tem o valor 0 ou == 0.

Caso isso for verdadeiro então iremos executar o comando abaixo que é a mensagem.

SendClientMessage(playerid, -1, "JUMPPPP!"); Aqui agente manda a mensagem "Jumppp".
    verificarSeJaUsouComando = 1; E aqui agente troca o valor da variavel para 1.

e retornamos o valor verdadeiro com "return 1; "

Agora caso o valor seja 1 ou maior que 1 iremos fazer o seguinte para verificar:


Código:
Código:
else
    {
        SendClientMessage(playerid, -1, "Você já pulou e esta muito cansado!");
                return 1;

    }



O "else" pode ser lido "caso contrario" ou seja caso verificarSeJaUsouComando não for igual a 0 então o que esta dentro das chaves ira acontecer.

Acho que vocês já entenderam o que vai acontecer caso verificar não seja == 0.

O codigo do comando devera ficar assim:


Código:
Código:
new verificarSeJausouComando = 0;

CMD:pular(playerid)
{
    
    if(verificarSeJaUsouComando == 0)
    {

        SendClientMessage(playerid, -1, "JUMPPPP!");
        verificarSeJaUsouComando = 1;
    
    }
    else(verificarSeJaUsouComando == 1)
    {
        SendClientMessage(playerid, -1, "Você já pulou e esta muito cansado!");
    }

}


O codigo já esta funcionando entre no seu jogo e digite /pular para ver Tópicos com a tag include em SSGamers - 10 Anos online por você. Biggrin 

[size=32]Mini sistema de pegar dinheiro.[/size]

Agora eu irei criar um mini sistema de pegar dinheiro. Mas lembre-se não adianta nada você só olhar o tutorial e não colocar em pratica menino ! Então vai la colocar em pratica e depois volta aqui afinal se você quiser aprender a andar de skate e olhar 100 video aulas de tutorial de skate sem praticar, no final você aprendeu a andar de skate ?

O sistema é este:


Código:
Código:
CMD:pegarDinheiro(playerid)
{
    
    if(verificarSeJaUsouComando == 0)
    {

        SendClientMessage(playerid, -1, "Você pegou o seu dinheiro!");
        GivePlayerMoney(playerid, 10000); //Comando para dar dinheiro ao player.
            verificarSeJaUsouComando = 1;
               
                return 1;
    
    }
    else
    {
        SendClientMessage(playerid, -1, "Você já pegou o seu dinheiro !");
                return 1;
    }

}

Tópicos com a tag include em SSGamers - 10 Anos online por você. Lightbulb Seja o seu melhor !
Tópicos com a tag include em SSGamers - 10 Anos online por você. Exclamation Seja melhor que ontem !
Creditos: Caaet

[Tutorial] »  Programação modular simples (sem y_hooks) - Qui 26 Ago 2021 - 16:05

[size=32]Programação modular simples (sem y_hooks)[/size]

É fundamental que você saiba organizar seu ambiente de trabalho, o seu código não será diferente disto, para organizar algo grande, nada melhor do que dividi-lo em módulos específicos de cada categoria do que você fez, não?

Neste tutorial, irei ensinar um método simples, sem plugins e sem includes adicionais do fórum, para você criar módulos e facilmente gerencia-los.

- O primeiro de tudo é criar uma pasta para tais módulos, pode ser a sua escolha. Eu por exemplo separei sistemas específicos no código que eu trabalho em uma pasta chamada sys/.

Tópicos com a tag include em SSGamers - 10 Anos online por você. Q2kg54r

- Crie o arquivo .pwn ou em alguma extensão que não impeça a leitura dele. Particularmente eu utilizo a extensão .sys para essa pasta especifica que eu criei com meus sistemas.

- Abra o arquivo e comece a escrever os códigos, crie as funções que necessitar para o seu sistema.

- Se caso você precise que essa função esteja em uma public do sa-mp e essa public está declarada no main-code (arquivo principal do GM) você pode criar uma stock ou uma public dentro do modulo e chama-lo na public desejada.

Por exemplo, necessito que uma informação seja realizada quando o jogador entrar, a public que é chamada quando esse evento acontece é o OnPlayerConnect, ela já está declarada nativamente no meu main-code por que existe outros códigos dentro dela, eu irei criar uma stock com as funções que eu desejo nessa public. Irei declarar uma variável como negativa para esse evento como exemplo.
Código:
Código:
stock DrinkBuy_OnPlayerConnect(playerid)
{
    AlgumaVariavel[playerid] = false;
    return 1;
}


* Lembre-se que o tamanho do nome/titulo de qualquer stock, function, public ou variável não pode passar dos 32 caracteres.
* Para fins de organização, sempre tento criar a função com parte do mesmo nome da nativa, diferenciando apenas o nome/abreviação do nome do modulo que estou trabalhando.

Criei a stock no arquivo do modulo, agora irei até o main-code e irei chama-la na public nativa, que é o OnPlayerConnect(playerid) e coloca-lo na posição que eu julgar necessária e relevante.

Código:
Código:
public OnPlayerConnect(playerid)
{
    /*Suas funções e necessidades no OnPlayerConnect nativo do main-code*/
    DrinkBuy_OnPlayerConnect(playerid);
    return 1;
}


Posicionei a minha stock no final da public, ou seja, ela só será executada quando tudo antes dela for executado.

- Em casos de comandos, você pode fazer o mesmo com o OnPlayerText, se for ZCMD ou qualquer outro processador de comandos, você pode cria-lo normalmente no modulo que ele funcionará normalmente.

- Em casos de variáveis que tenham a criação no main-code e você precise de novas no modulo, crie elas diretamente no main-code para chama-las no modulo.

- Para chamar o seu arquivo ao main-code você deve declarar fora de qualquer função uma #include, por exemplo:
Código:
Código:
#include "diretórios/drinkbuy.sys"


  • O que estiver dentro do " " deverá ser o caminho a partir do main-code até o arquivo do modulo, no meu caso o meu modulo está localizado numa pasta chamada sys/ e o nome do arquivo é drinkbuy.sys, logo ficando sys/drinkbuy.sys o caminho até o arquivo.

Creditos: willttoonn

MicaelaMedeiros

[Ajuda] » Alguém teria esse sistema - Sab 16 Jan 2021 - 23:38

@LeleziN.dG escreveu:Bom pessoal, venho em meio desse tópico pedir um ajuda ou no caso quem tiver um sistema desse ou parecido que possa mim passa fico muito agradecido, pois já procurei muito e não obtive respostas.

Sistema de Plantação e Colheita:
https://www.youtube.com/watch?v=tH7ds3oaxIY


Ficaria muito agradecido se alguém pode-se mim passa esse sistema


Aqui está...
Espero ter ajudado.



********************************************************************************
*/


#include a_samp
#include zcmd
#include sscanf2
#include streamer
#include DOF2

#define AVISOPLANTIO 1
#define SLOTMACONHA 2
#define NOCARROMAC 3
#define NUMEROSEMENTES 4

new PlantandoMaconha;

new TemMaconha[MAX_PLAYERS],
QuantiaMaconha[MAX_PLAYERS]
;

new MaconhaQuase[7], // Objetos Mac. Quase pro plantio
MaconhaProntaP[5]  // Objetos Mac. pronto pro plantio
;

new ObjEnt[3];

new Check01,
Check02
;

new EuPlantei[MAX_PLAYERS],
MaconhaColhida[MAX_PLAYERS];

new ObjCar[4];

new MaconhaProntita[MAX_PLAYERS];

new TimerQueimarMac[MAX_PLAYERS];

new Cars[3];

forward CriarMaconha();
forward MaconhaPronta(playerid);
forward QueimarMaconha(playerid);
forward TirarBarris();

enum DP{
Maconha,
SementesMac,
Colheu
}; new DadosP[MAX_PLAYERS][DP];

public OnPlayerConnect(playerid){
    Create3DTextLabel("{87CEFA}Slot de Plantio!\n{FFD700}Semente Permitida: Maconha", 0x008080FF, -1178.6414,-1091.6329,129.2188, 15.0, 0, 0);

    Check01 = CreateDynamicCP(-1178.6414,-1091.6329,129.2188, 0.8, -1, -1, -1, 100.0);

new Var_[128], Plantador[MAX_PLAYER_NAME];

    GetPlayerName(playerid, Plantador, sizeof(Plantador));

format(Var_, sizeof(Var_), "Plantadores/%s.ini", Plantador);

    if(!DOF2_FileExists(Var_)){
        DOF2_CreateFile(Var_);

DOF2_SetString(Var_, "Nome", Plantador);

DOF2_SetInt(Var_, "Maconha", 0);
DOF2_SetInt(Var_, "Sementes Mac", 0);
DOF2_SetInt(Var_, "Colheu", 0);

        DOF2_SaveFile();

        printf("| AUTO-CONTROLE | O(A) jogador(a) %s criou seu registro de plantador!", Plantador);
    } else {
DadosP[playerid][Maconha] = DOF2_GetInt(Var_, "Maconha");
DadosP[playerid][SementesMac] = DOF2_GetInt(Var_, "Sementes Mac");
DadosP[playerid][Colheu] = DOF2_GetInt(Var_, "Colheu");
    }


return 1;
}

CMD:grana(playerid){
GivePlayerMoney(playerid, 999999);
return 1;
}

public OnFilterScriptInit(){

Cars[0] = AddStaticVehicle(478,-1175.2751,-1140.0001,129.2157,354.1185,66,1); // car01carregado
Cars[1] = AddStaticVehicle(478,-1171.0756,-1139.9646,129.2197,358.5255,59,1); // car02carregado
return 1;
}

CMD:plantar(playerid){
ShowPlayerDialog(playerid, AVISOPLANTIO, DIALOG_STYLE_MSGBOX, "{BEBEBE}Slot de Plantio!", "{FA8072}S.A Plantadora\n\n{BEBEBE}Cada Slot destinado á plantio é separado por grupos, certifique-se você está no Slot certo com as sementes corretas!\n\nSó será possível plantar neste Slot com as sementes corretas.\n\n{1E90FF}Deseja Processeguir?", "Sim", "Não");
return 1;
}

public QueimarMaconha(playerid){
    SendClientMessage(playerid, -1, "");
    SendClientMessage(playerid, -1, "{BEBEBE}| SLOT | A Maconha que você plantou foi queimada devido á demora na colheita!");
    SendClientMessage(playerid, -1, "{BEBEBE}| SLOT | Você não será reembolsado por essa ação indevida.");

    PlantandoMaconha = 0;

DestroyObject(MaconhaProntaP[0]);
DestroyObject(MaconhaProntaP[1]);
DestroyObject(MaconhaProntaP[2]);
DestroyObject(MaconhaProntaP[3]);
DestroyObject(MaconhaProntaP[4]);
return 1;
}

public MaconhaPronta(playerid){
    SendClientMessage(playerid, -1, "");
SendClientMessage(playerid, -1, "{BEBEBE}| SLOT | A Maconha que você plantou está pronta para colheita! ");
SendClientMessage(playerid, -1, "{BEBEBE}| SLOT | Você terá 1 Minuto para colhe-la antes que ela será queimada!");

TimerQueimarMac[playerid] = SetTimerEx("QueimarMaconha", 25000, false, "i", playerid);

MaconhaProntita[playerid] = 1;

MaconhaProntaP[0] = CreateObject(823, -1170.09998, -1095, 128.7, 0, 22, 0);
MaconhaProntaP[1] = CreateObject(823, -1175.09998, -1095.59998, 128.7, 0, 21.995, 0);
MaconhaProntaP[2] = CreateObject(823, -1179.09998, -1095.59998, 128.7, 0, 21.995, 0);
MaconhaProntaP[3] = CreateObject(823, -1182.40002, -1095.5, 128.7, 0, 21.995, 0);
MaconhaProntaP[4] = CreateObject(823, -1186.90002, -1095.80005, 128.7, 0, 21.995, 0);

DestroyObject(MaconhaQuase[0]);
DestroyObject(MaconhaQuase[1]);
DestroyObject(MaconhaQuase[2]);
DestroyObject(MaconhaQuase[3]);
DestroyObject(MaconhaQuase[4]);
DestroyObject(MaconhaQuase[5]);
DestroyObject(MaconhaQuase[6]);
return 1;
}

CMD:colher(playerid){
if(PlantandoMaconha == 1){
if(EuPlantei[playerid] == 1){
    if(MaconhaProntita[playerid] == 1){
        if(IsPlayerInRangeOfPoint(playerid, 2.0, -1177.7119,-1093.1257,129.2188)){
    PlantandoMaconha = 0;
    EuPlantei[playerid] = 0;
    MaconhaProntita[playerid] = 0;

    SendClientMessage(playerid, -1, "| INFO | Você colheu a maconha com sucesso, vá vende-la no ponto indicado no seu mini-mapa com o carro carregado!");

        MaconhaColhida[playerid] = 1;

DestroyObject(MaconhaProntaP[0]);
DestroyObject(MaconhaProntaP[1]);
DestroyObject(MaconhaProntaP[2]);
DestroyObject(MaconhaProntaP[3]);
DestroyObject(MaconhaProntaP[4]);

KillTimer(TimerQueimarMac[playerid]);

                ObjCar[0] = CreateObject(1217,0,0,-1000,0,0,0,100);
                ObjCar[1] = CreateObject(1217,0,0,-1000,0,0,0,100);
                ObjCar[2] = CreateObject(1217,0,0,-1000,0,0,0,100);
                ObjCar[3] = CreateObject(1217,0,0,-1000,0,0,0,100);

                Cars[2] = AddStaticVehicle(478,-1166.4277,-1139.5294,129.2089,1.9437,45,1); // car03carregado

AttachObjectToVehicle(ObjCar[0], Cars[2], 0.539999,-2.025000,0.000000,0.000000,0.000000,0.000000);
AttachObjectToVehicle(ObjCar[1], Cars[2], -0.360000,-2.025000,0.000000,0.000000,0.000000,0.000000);
AttachObjectToVehicle(ObjCar[2], Cars[2], -0.360000,-2.025000,0.000000,0.000000,0.000000,0.000000);
AttachObjectToVehicle(ObjCar[3], Cars[2], -0.360000,-0.899999,0.000000,0.000000,0.000000,0.000000);

PutPlayerInVehicle(playerid, Cars[2], 0);

ShowPlayerDialog(playerid, NOCARROMAC, DIALOG_STYLE_MSGBOX, "{BEBEBE}Entregar Maconha", "{FA8072}S.A Plantadora!\n\n{BEBEBE}Os galões na traseira do carro estão carregados com a maconha colhida por você.\n\nEssa medida foi tomada como disfarce para os policiais que rondam essa região de plantio ilegal.\n\n{1E90FF}Siga o Checkpoint no seu mapa para entregar a maconha e receber dinheiro por elas.", "Fechar", "");

                    DestroyDynamicCP(Check01);
                    Check02 = SetPlayerCheckpoint(playerid, -1652.2321,-2541.3550,16.1046, 0.Cool;
                    Create3DTextLabel("{87CEFA}Local de Entrega!\n{FFD700}Digite /entregar", 0x008080FF, -1652.2321,-2541.3550,16.1046, 15.0, 0, 0);

} else return SendClientMessage(playerid, -1, "| SLOT | Você deve estar próximo ao Slot para colher!");
    } else return SendClientMessage(playerid, -1, "| SLOT | A Maconha não está pronta para ser colhida agora!");
} else return SendClientMessage(playerid, -1, "| SLOT | Você não plantou essas sementes, por isso não pode colhe-las!");
} else return SendClientMessage(playerid, -1, "| SLOT | Não há nenhuma semente de maconha plantada no Slot!");
return 1;
}

CMD:comprarsementes(playerid){
ShowPlayerDialog(playerid, NUMEROSEMENTES, DIALOG_STYLE_INPUT, "Comprar Sementes", "S.A Plantadora!\n\nDigite abaixo o número de pacotes que deseja comprar de sementes de maconha.\n\nUm pacote possui 30 sementes, sendo necessário ás 60 sementes para o um plantio!", "Comprar", "Cancelar");
return 1;
}

public TirarBarris(){

DestroyObject(ObjEnt[0]);
DestroyObject(ObjEnt[1]);
DestroyObject(ObjEnt[2]);
return 1;
}

CMD:entregar(playerid){
if(IsPlayerInRangeOfPoint(playerid, 30.0, -1652.2321,-2541.3550,16.1046)){
    if(MaconhaColhida[playerid] == 1){
        SendClientMessage(playerid, -1, "{BEBEBE}| FIM | Você entregou a mercadoria com sucesso! Uma pessoa irá vir pegar os barris carregados.");
        SendClientMessage(playerid, -1, "{BEBEBE}| FIM | Agora saia desde local sem chamar suspeitas");
        MaconhaColhida[playerid] = 0;

        DisablePlayerCheckpoint(Check02);
        Check01 = CreateDynamicCP(-1178.6414,-1091.6329,129.2188, 0.8, -1, -1, -1, 100.0);

ObjEnt[0] = CreateObject(1217, -1649.7056,-2542.2698,15.9823, 0,0,0,100);
ObjEnt[1] = CreateObject(1217, -1649.9158,-2543.3005,15.9432, 0,0,0,100);
ObjEnt[2] = CreateObject(1217, -1650.8456,-2543.3225,15.9723, 0,0,0,100);

            DestroyObject(ObjCar[0]);
DestroyObject(ObjCar[1]);
DestroyObject(ObjCar[2]);
DestroyObject(ObjCar[3]);

SetTimer("TirarBarris", 60000*3, false);

    } else return SendClientMessage(playerid, -1, "| ERRO | Você não colheu nada!");

} else return SendClientMessage(playerid, -1, "| ERRO | Você não está no local da entrega!");
return 1;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]){

new Var_[128], Plantador[MAX_PLAYER_NAME];

    GetPlayerName(playerid, Plantador, sizeof(Plantador));

if(dialogid == NUMEROSEMENTES){
if(!response) return 1;

new _Var[150];

if(strval(inputtext) > GetPlayerMoney(playerid))
return SendClientMessage(playerid, -1, "| INFO | Você não possui dinheiro suficiente para comprar o número de pacotes solicitados!");

GivePlayerMoney(playerid, GetPlayerMoney(playerid) - strval(inputtext));

format(_Var, sizeof(_Var), "{BEBEBE}| INFO | Você comprou %d pacotes, totalizando %d sementes de maconha. Você poderá fazer %d plantações com as semente compradas!", strval(inputtext), strval(inputtext) * 30, strval(inputtext) * 30 / 60);
SendClientMessage(playerid, -1, _Var);

new VarMarota = strval(inputtext) * 30;

DOF2_SetInt(Var_, "Sementes Mac", DadosP[playerid][SementesMac] + VarMarota);
DOF2_SetInt(Var_, "Maconha", 1);
DOF2_SaveFile();

TemMaconha[playerid] = 1;
    QuantiaMaconha[playerid] = 60;

}
if(dialogid == AVISOPLANTIO){
    if(!response) return SendClientMessage(playerid, -1, "| INFO | Plantio neste Slot foi cancelado!");

if(IsPlayerInRangeOfPoint(playerid, 2.0, -1177.7119,-1093.1257,129.2188)){ // SLOT DE MACONHA!
    new _Var[300];
    format(_Var, sizeof(_Var), "{FA8072}S.A Plantadora!\n\n{BEBEBE}Este Slot é de uso único por vez e é válido apenas para sementes de maconha!\n\nSementes plantadas em slots errados seram perdidas e não darão resultados!\n\n{1E90FF}Deseja plantar suas sementes neste Slot?");
ShowPlayerDialog(playerid, SLOTMACONHA, DIALOG_STYLE_MSGBOX, "{BEBEBE}Slot - Maconha", _Var, "Sim", "Não");
} else SendClientMessage(playerid, -1, "| ERRO | Você não está em um Slot de plantio!");
}
if(dialogid == SLOTMACONHA){
    if(!response) return SendClientMessage(playerid, -1, "{BEBEBE}| INFO | Você cancelou o plantio neste slot!");

if(PlantandoMaconha == 0){
    if(TemMaconha[playerid] == 1) {
        if(QuantiaMaconha[playerid] >= 60){

            PlantandoMaconha = 1;
            EuPlantei[playerid] = 1;

            QuantiaMaconha[playerid] = DadosP[playerid][SementesMac] - 60;

            SendClientMessage(playerid, -1, "{BEBEBE}| SLOT | Você plantou suas sementes neste Slot, aguarde até elas estarem pronto para plantio!");
            SendClientMessage(playerid, -1, "{BEBEBE}| SLOT | Após a maconha estiver pronta para plantio, caso não seja colhida elas serão queimadas.");

//Maconha plantada.
MaconhaQuase[0] = CreateObject(811, -1169.40002, -1096.5, 129.39999, 0, 0, 0);
MaconhaQuase[1] = CreateObject(811, -1172.69995, -1096.40002, 129.39999, 0, 0, 0);
MaconhaQuase[2] = CreateObject(811, -1176.19995, -1096.59998, 129.39999, 0, 0, 0);
MaconhaQuase[3] = CreateObject(811, -1179.40002, -1096.19995, 129.39999, 0, 0, 0);
MaconhaQuase[4] = CreateObject(811, -1182.40002, -1096.40002, 129.39999, 0, 0, 0);
MaconhaQuase[5] = CreateObject(811, -1185.59998, -1096.59998, 129.39999, 0, 0, 0);
MaconhaQuase[6] = CreateObject(811, -1188.59998, -1096.80005, 129.39999, 0, 0, 0);

                    SetTimerEx("MaconhaPronta", 5000, false, "i", playerid);

            format(Var_, sizeof(Var_), "Plantadores/%s.ini", Plantador);

DOF2_SetInt(Var_, "Sementes Mac", QuantiaMaconha[playerid]);

DOF2_SaveFile();

} else return SendClientMessage(playerid, -1, "{BEBEBE}| INFO | Você não possui sementes suficientes para plantar neste Slot!");
} else return SendClientMessage(playerid, -1, "{BEBEBE}| INFO | Você não possui sementes para plantar neste Slot!");
} else return SendClientMessage(playerid, -1, "{BEBEBE}| INFO | Já existe sementes plantadas neste Slot, aguarde elas germinarem para plantar as suas.");

}
return 1;
}

MicaelaMedeiros

[Ajuda] » erros de salvamentos - Sab 16 Jan 2021 - 23:20

@Jordani12$ escreveu:bom eu tou tentando criar um sistema de salvamento de dados do player mais ta dando erro nao ta salvando os dados do player   so carregando os dados se ao  quem saber se me ajuda




#include
#include
#include
#if defined FILTERSCRIPT
#endif

enum pInfo
{
  Skin,
  Score,
  Dinheiro,
  WantedLevel
}
new PlayerInfo[MAX_PLAYERS][pInfo];

public OnGameModeInit()
{
AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
return 1;
}

public OnGameModeExit()
{
    DOF2_Exit();
return 1;
}

public OnPlayerRequestClass(playerid, classid)
{
return 1;
}

public OnPlayerConnect(playerid)
{
    carregardados(playerid);
return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
    salvadados(playerid);
return 1;
}
stock carregardados(playerid){
new File[70], sendername[MAX_PLAYER_NAME];
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(File, sizeof(File), "Contas/%s.ini", sendername);
    if(DOF2_FileExists(File))
    {
        PlayerInfo[playerid][Skin] = DOF2_GetInt(File, "Skin");
        PlayerInfo[playerid][Score] = DOF2_GetInt(File, "Score");
        PlayerInfo[playerid][Dinheiro] = DOF2_GetInt(File, "Dinheiro");
        PlayerInfo[playerid][WantedLevel] = DOF2_GetInt(File, "WantedLevel");

    }
    else
    {
        DOF2_CreateFile(File);
        DOF2_SetInt(File, "Skin", 0);
        DOF2_SetInt(File, "Score", 0);
        DOF2_SetInt(File, "Dinheiro", 1000);
        DOF2_SetInt(File, "WantedLevel", 0);
        DOF2_SaveFile();
        OnPlayerConnect(playerid);
    }
return 1;
}
stock salvadados(playerid){

    new File[70], sendername[MAX_PLAYER_NAME];
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(File, sizeof(File), "Contas/%s.ini", sendername);
    DOF2_SetInt(File, "Skin", PlayerInfo[playerid][Skin]);
    DOF2_SetInt(File, "Score", PlayerInfo[playerid][Score]);
    DOF2_SetInt(File, "Dinheiro", PlayerInfo[playerid][Dinheiro]);
    DOF2_SetInt(File, "WantedLevel", PlayerInfo[playerid][WantedLevel]);
    DOF2_SaveFile();
return 1;
}
stock GetPlayerNameEx(playerid){
new Nome[MAX_PLAYER_NAME];
GetPlayerName(playerid, Nome, sizeof(Nome));
return Nome;
}
public OnPlayerSpawn(playerid)
{
    SetPlayerSkin(playerid, PlayerInfo[ playerid ][ Skin ] );
SetPlayerWantedLevel(playerid, PlayerInfo[playerid][WantedLevel] );
SetPlayerScore( playerid, PlayerInfo[ playerid ][ Score ] );
    GivePlayerMoney( playerid, PlayerInfo[ playerid] [ Dinheiro ] );
return 1;
}

tenta ver se tem os include todos. Se der erro vai no discord e fala comigo micaelamedeiros#0283

Jordani12$

[Ajuda] » erros de salvamentos - Sex 1 Jan 2021 - 18:55

bom eu tou tentando criar um sistema de salvamento de dados do player mais ta dando erro nao ta salvando os dados do player   so carregando os dados se ao  quem saber se me ajuda




#include
#include
#include
#if defined FILTERSCRIPT
#endif

enum pInfo
{
  Skin,
  Score,
  Dinheiro,
  WantedLevel
}
new PlayerInfo[MAX_PLAYERS][pInfo];

public OnGameModeInit()
{
AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
return 1;
}

public OnGameModeExit()
{
    DOF2_Exit();
return 1;
}

public OnPlayerRequestClass(playerid, classid)
{
return 1;
}

public OnPlayerConnect(playerid)
{
    carregardados(playerid);
return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
    salvadados(playerid);
return 1;
}
stock carregardados(playerid){
new File[70], sendername[MAX_PLAYER_NAME];
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(File, sizeof(File), "Contas/%s.ini", sendername);
    if(DOF2_FileExists(File))
    {
        PlayerInfo[playerid][Skin] = DOF2_GetInt(File, "Skin");
        PlayerInfo[playerid][Score] = DOF2_GetInt(File, "Score");
        PlayerInfo[playerid][Dinheiro] = DOF2_GetInt(File, "Dinheiro");
        PlayerInfo[playerid][WantedLevel] = DOF2_GetInt(File, "WantedLevel");

    }
    else
    {
        DOF2_CreateFile(File);
        DOF2_SetInt(File, "Skin", 0);
        DOF2_SetInt(File, "Score", 0);
        DOF2_SetInt(File, "Dinheiro", 1000);
        DOF2_SetInt(File, "WantedLevel", 0);
        DOF2_SaveFile();
        OnPlayerConnect(playerid);
    }
return 1;
}
stock salvadados(playerid){

    new File[70], sendername[MAX_PLAYER_NAME];
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(File, sizeof(File), "Contas/%s.ini", sendername);
    DOF2_SetInt(File, "Skin", PlayerInfo[playerid][Skin]);
    DOF2_SetInt(File, "Score", PlayerInfo[playerid][Score]);
    DOF2_SetInt(File, "Dinheiro", PlayerInfo[playerid][Dinheiro]);
    DOF2_SetInt(File, "WantedLevel", PlayerInfo[playerid][WantedLevel]);
    DOF2_SaveFile();
return 1;
}
stock GetPlayerNameEx(playerid){
new Nome[MAX_PLAYER_NAME];
GetPlayerName(playerid, Nome, sizeof(Nome));
return Nome;
}
public OnPlayerSpawn(playerid)
{
    SetPlayerSkin(playerid, PlayerInfo[ playerid ][ Skin ] );
SetPlayerWantedLevel(playerid, PlayerInfo[playerid][WantedLevel] );
SetPlayerScore( playerid, PlayerInfo[ playerid ][ Score ] );
    GivePlayerMoney( playerid, PlayerInfo[ playerid] [ Dinheiro ] );
return 1;
}

LeleziN.Dr

[Ajuda] » AJUDA COM ESSA INCLUDE PFVR - Qui 8 Out 2020 - 17:52

Eai pessoal blz.

Alguém poderia mim ajuda? Pq no meu GameMode esta dando esse Erro

Código:
C:\Users\casa\Videos\MUNDO VIRTUAL\gamemodes\gm.pwn(6) : fatal error 100: cannot read from file: "strlib"

Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


1 Error.


Está dando esse Erro na #include
Ai quando eu retiro ela aparece esse outro erro


Código:
C:\Users\casa\Videos\MUNDO VIRTUAL\gamemodes\gm.pwn(13474) : error 012: invalid function call, not a valid address
C:\Users\casa\Videos\MUNDO VIRTUAL\gamemodes\gm.pwn(13474) : warning 215: expression has no effect
C:\Users\casa\Videos\MUNDO VIRTUAL\gamemodes\gm.pwn(13474) : error 001: expected token: ";", but found ")"
C:\Users\casa\Videos\MUNDO VIRTUAL\gamemodes\gm.pwn(13474) : error 029: invalid expression, assumed zero
C:\Users\casa\Videos\MUNDO VIRTUAL\gamemodes\gm.pwn(13474) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


4 Errors.


Esse é o codigo do Erro


Código:
if(udb_Exists(PlayerName(playerid))) if(Logado[playerid] == 0) SetPlayerSkin(playerid,dUserINT(PlayerName(playerid)).("Skin")), Linguagem[playerid] = (playerid,dUserINT(PlayerName(playerid)).("Linguagem")), ShowRegisterOrLoginDialog(playerid, 1);

Snow

GAMEMODE: gamemode de counter strike Revolution - Ter 8 Set 2020 - 20:48

Ola sou o [CSGO]Snow o Programador/CEO do Counter Strike Revolution essa e uma gm base que eu fiz do 0 sem nenhum sistema de pessoas apenas meu avisando:Gamemode ctz deve ter bug pois e do 0 entao vamos la

COMANDOS:/modobatalha ->> fica em modo batalha
/modobatalha2 ->> fica em modo batalha mas com uma skin de mulher
/ajuda ->> para ver os comandos mas detalhados
/serterrorista ->> voce vira um terrorista
/plantbomba ->> voce planta uma bomba e explode em 3 segundos
/cterrorista ->> voce vira contra terrorista
/creditos ->> voce ve os creditos do servidor obs: se retirar o nome [CSGO]snow de la sera apenas um servidor copia Shocked 
/atualizacao ->> para ver as atualizacao do servidor
/map1 ->> voce vai para o mapa do cs
/level ->> voce ganha 10 score
/snowscripter ->> altere no pawn pois se quiser esse cmd te da a skin do tempanny e uma minigun para ver os bugs do servidor
/dica ->> o /dica ele serv para dar uma dica ex: tem um cmd secreto no servidor que ninguem achou mas hoje sera revelado a voce ao olhar o pawn
/armainv ->> te seta as armas
/cantiu ->> voce bebe do cantiu e ganha + ou - em torno de 10k ou 20k n sei
/creatclan ->> O cmd n esta completo se quiser continuar e postar aq <3 mee kkk

Mapas: Nao cheguei a mappear pois o editor do mapa estava bugado para mim ent infelizmente n consegui

Arrow Arrow Arrow a fds eu sei que vc vai olhar o cmd secreto no pawn ent vou revelar aq o comando secreto e /secretoeokrl

o servidor n tem salvamento da DOF2 pois n tive tempo para colocar
tambem n tem tela de login tambem estava sem tempo

Includes
#include
#include
#include
#include
#include

Cores
#define COL_BOX 0x000000EE
#define COL_RED 0xFF0000FF
#define COR_CINZA_AZUL 0x456EAF67
#define COR_PRETO 0x00000000
#define COR_NAO_SEI 0xFFFFFFFF
#define COR_MAGENTA 0xA587DE0BA354
#define COR_VERDEMEDIO 0x9CDE7180
#define COR_VERMELHOCLARO 0xFF99AADD
#define COR_DARKMAGENTA 0xA7105DEF
#define COR_LARANJAVERMELHO 0xE9370DFC
#define COR_DARKVERDE 0x12900BBF
#define COR_AZULMEDIO 0x63AFF00A
#define COR_DARKROXO 0x800080AA
#define COR_MARROMCLARO 0x99934EFA
#define COR_VIOLETA 0x9955DEEE
#define COR_CIANOCLARO 0xAAFFCC33
#define COR_AZULVERDECLARO 0x0FFDD349
#define COR_OURO 0xDEAD4370
#define COR_AZULCINZA 0x456EAF67
#define COR_AZULVERDE 0x46BBAA00
#define COR_AZULNEUTRO 0xABCDEF01
#define COR_AZUL 0x0000FFAA
#define COR_CINZA 0xAFAFAFAA
#define COR_VERDE 0x33AA33AA
#define COR_VERMELHO2 0xAA3333AA
#define COR_AMARELO 0xFFFF00AA
#define COR_BRANCO 0xFFFFFFAA
#define COR_ROXO 0x9900FFAA
#define COR_MARROM 0x993300AA
#define COR_LARANJA 0xFF9933AA
#define COR_CIANO 0x99FFFFAA
#define COR_AMARELOCLARO 0xFFFFCCAA
#define COR_ROSA 0xFF66FFAA
#define COR_BEJE 0x999900AA
#define COR_LIMA 0x99FF00AA
#define COR_PRETO2 0x000000AA
#define COR_TURCA 0x00A3C0AA
#define COR_AZULCLARO 0x33CCFFAA
#define COR_GRADE1 0xB4B5B7FF
#define COR_GRADE2 0xBFC0C2FF
#define COR_GRADE3 0xCBCCCEFF
#define COR_GRADE4 0xD8D8D8FF
#define COR_GRADE5 0xE3E3E3FF
#define COR_GRADE6 0xF0F0F0FF
#define COR_VERDECLARO 0x9ACD32AA
#define COR_AMARELO2 0xF5DEB3AA
#define COR_FADA1 0xE6E6E6E6
#define COR_FADA2 0xC8C8C8C8
#define COR_FADA3 0xAAAAAAAA
#define COR_FADA4 0x8C8C8C8C
#define COR_FADA5 0x6E6E6E6E
#define COR_DARKAZUL 0x2641FEAA
#define COR_DEPARTE 0xFF8282AA
#define COR_NOVA 0xFFA500AA
#define COR_OPACO 0xE0FFFFAA
#define COR_ADICIONAL 0x63FF60AA
#define COR_SPIAO 0xBFC0C200
#define COR_INVISIVEL 0xAFAFAF00
#define COLOR_REDD 0xFF0000AA
#define BRANCO 0xFFFFFFAA

Obrigado a todos santa

Esqueci o dowload kkkkk:http://www.mediafire.com/file/x2mle5icm530jcs/GM+BPI.rar/file

shandai

Sistema de Gunrack - Sex 5 Jun 2020 - 9:36

Eai Pessoal Aqui Shandai Gawa (Digao) to trazendo o sistema de gunrack !!

Pra quem nao sabe o gunrack é um sistema que poem as armas entre os bancos da frente do carro, 
quando voce da o comando gunrack ira aparecer uma tela  aonde voce pode ta colocando suas armas 

Obs: voce tem que entrar no carro com a arma na mao e da o comando 

Includes Necessárias

#include a_samp


Link: https://mega.nz/file/pdoFCLAa#poHk-I4wzFP3i3l1XZ9cLDmczz_dNWQCJqMkIK0ubd4

Em Breve sistema de porta luvas

shandai

Sistema de Renomear a Placa do Veiculo - Sex 5 Jun 2020 - 9:06

Eai Pessoal aqui o Shandai Gawa (Digao) Hoje vo upar um sistema de renomear  a placa de traz do carro, voce pode colocar números letras  que nem  na vida real 
ou pode simular 


Como Funciona : Após voce dar o comando (placav) voce escrevera  oque voce quer após disso aparecera  uma opção
para colocar a cor que voce deseja  !!

Includes Necessárias
#include


Link: https://mega.nz/file/MVwgSCAL#usrf0XyJuXXxERJvmfrtfkpvZOT_uAysbRab2HFXlak

shandai

Proteção Contra Ataque e Contra Boot - Sex 5 Jun 2020 - 8:51

Eai Pessoal To trazendo  uma proteção contra ataque e contra Boot

Includes  Necessárias


#include a_samp


Link: https://mega.nz/file/pUIgyYLZ#TuEXQIehdz-XE8bZbE3ZtvFkbbTVYH0v1gJDPEMxHfg

shandai

FS Fogos de Artificio - Sex 5 Jun 2020 - 8:43

Ola eu Shandai Gawa (Digao), venho trazer um sistema de fogos legal pra voceis !!

O Sistema de Fogos vem completo  colocar  no chão  e acender 

Obs: se tu manja no texdraw da para por o objeto de rojao  pra ficar mais realista ainda !!

Includes  Necessárias


#include a_samp
#include zcmd
#include sscanf2


Comandos !!
CMD:colocarfogos

CMD:acenderfogos

CMD:tempofogos

Link: https://mega.nz/file/FYJiRQxY#nQjPPTBTrKk2Yzsh_YtopmVYUBcQghyrxgIw4XvtG3M

Pedido de Ajuda Criacao de Gm Profissoes e Orgs - Seg 26 Ago 2019 - 18:05

olá estou tendo dificuldades pra criar profissões não tenho nenhuma experiencia como scripter ou mapper comecei a 6 meses a tentar criar um servidor para as pessoas jogarem um servidor agradável meus planos era misturar um pouco de cada coisa um pouco de rpg com rp pois a intenção era deixar o servidor agradável para ambos os públicos deixo aqui a gm completa que estou a 6 meses tentando criar porem sempre estou tendo erros :obs ja assistir todos os videos de criaçãoes de samp sege ele brasileiro americano ou espanhol porem ainda sim tive muitas dificuldades para aprender minha expiração para criar um servidor não para meu beneficios propios ou algo do tipo mais sim para trazer algo que sege agradável para todos pretendo criar uma gm do inicio por muitos motivos e um deles e eu ter a oportunidade de conhecer minha gm e saber como ela foi feita e como cada comando foi desenvolvido por esse motivo nao uso gm ja criadas. quem poder me ajudar ficarei muito agradecida pois como disse estou a 6 meses me esforçando ao maximo para criar um servidor e bem dizer ainda não tenho nada porem sou uma pessoa persistente nao e nao desisto de correr atrás daquilo que me deixa feliz quem puder me ajudar ficarei grata nao tenho uma boa condi coes financeiras para pagar scripter


#include



public OnFilterScriptInit()
{
print("\n--------------------------------------");
print(" Blank Filterscript by your name here");
print("--------------------------------------\n");
return 1;
}

public OnFilterScriptExit()
{
return 1;
}

#else

main()
{
print("\n----------------------------------");
print(" Blank Gamemode by your name here");
print("----------------------------------\n");
}

#endif

public OnGameModeInit()
{
// Don't use these lines if it's a filterscript
SetGameModeText("Blank Script");
AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
return 1;
}

public OnGameModeExit()
{
return 1;
}

public OnPlayerRequestClass(playerid, classid)
{
SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
return 1;
}

public OnPlayerConnect(playerid)
{
return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
return 1;
}

public OnPlayerSpawn(playerid)
{
return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{
return 1;
}

public OnVehicleSpawn(vehicleid)
{
return 1;
}

public OnVehicleDeath(vehicleid, killerid)
{
return 1;
}

public OnPlayerText(playerid, text[])
{
return 1;
}

public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp("/mycommand", cmdtext, true, 10) == 0)
{
// Do something here
return 1;
}
return 0;
}

public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
return 1;
}

public OnPlayerExitVehicle(playerid, vehicleid)
{
return 1;
}

public OnPlayerStateChange(playerid, newstate, oldstate)
{
return 1;
}

public OnPlayerEnterCheckpoint(playerid)
{
return 1;
}

public OnPlayerLeaveCheckpoint(playerid)
{
return 1;
}

public OnPlayerEnterRaceCheckpoint(playerid)
{
return 1;
}

public OnPlayerLeaveRaceCheckpoint(playerid)
{
return 1;
}

public OnRconCommand(cmd[])
{
return 1;
}

public OnPlayerRequestSpawn(playerid)
{
return 1;
}

public OnObjectMoved(objectid)
{
return 1;
}

public OnPlayerObjectMoved(playerid, objectid)
{
return 1;
}

public OnPlayerPickUpPickup(playerid, pickupid)
{
return 1;
}

public OnVehicleMod(playerid, vehicleid, componentid)
{
return 1;
}

public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
{
return 1;
}

public OnVehicleRespray(playerid, vehicleid, color1, color2)
{
return 1;
}

public OnPlayerSelectedMenuRow(playerid, row)
{
return 1;
}

public OnPlayerExitedMenu(playerid)
{
return 1;
}

public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
{
return 1;
}

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
return 1;
}

public OnRconLoginAttempt(ip[], password[], success)
{
return 1;
}

public OnPlayerUpdate(playerid)
{
return 1;
}

public OnPlayerStreamIn(playerid, forplayerid)
{
return 1;
}

public OnPlayerStreamOut(playerid, forplayerid)
{
return 1;
}

public OnVehicleStreamIn(vehicleid, forplayerid)
{
return 1;
}

public OnVehicleStreamOut(vehicleid, forplayerid)
{
return 1;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
return 1;
}

public OnPlayerClickPlayer(playerid, clickedplayerid, source)
{
return 1;
}

EletricJail

[Ajuda] erro - Qua 14 Ago 2019 - 14:27

eu
so removi as includes que eu coloquei a pouco tempo tipo essa minha gm so veio com duas includes e eu so deixei as duas que sao as 
#include
#include

se eu tirar esse // das outras includes da um erro quando eu ligo o servidor

[Ajuda] warning: 202: number of arguments does not match definition - Sab 10 Ago 2019 - 22:59

eu queira colocar esse sistema detro da minha gm me ajuda pfv e um filterscript eu nao queria colocar ele no serve.cfg queria colocar dentro da gm me ajuda pfv

// [FS] Sistema de rádios criado por Walter Santos.
// Disponibilizado na Releases SAMP por iJockerOficial.
#include a_samp
#include zcmd

#define RADIOS 5324
#define URL 5325
#define Amarelo  0xEBFF00AA


public OnFilterScriptInit()
{
    print(" ======================================");
    print(" Aproveitem ao Maximo ");
    print(" FILTERSCRIPT BY: WalterSantos ");
    print(" Rádios Atualizadas para seu Servidor ");
    print(" ======================================");
    return 1;
}

CMD:radios(playerid){
    ShowPlayerDialog(playerid,RADIOS,DIALOG_STYLE_LIST,"Radios","{00F5FF}Radio Hunter\n{009ACD}Radio Funk\n{FFD700}Radio Sertanejo\n{CD00CD}Radio Hip Hop\n{FF0000}Radio Reggae\n{00688B}Tocar URL\n{EEE0E5}Desligar Radio","Selecionar","Cancelar");
    return 1;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]){
        if(dialogid == RADIOS){
            if(response){
                switch(listitem){
                    case 5:{
                        ShowPlayerDialog(playerid, URL, DIALOG_STYLE_INPUT, "Insira a URL", "Insira sua URL de um arquivo .MP3\nExemplo: {FF0000}http://sv12.onlinevideoconverter.com/download?file=j9a0h7a0d3e4g6e4", "Tocar", "Sair");
                    }
                    case 6:{
                        StopAudioStreamForPlayer(playerid);
                        SendClientMessage(playerid,Amarelo,"[INFO]: {00F5FF}Rádio Desligada!{00F5FF}");
                    }
                }
            }
        }
        if(dialogid == URL)
        {
            if(response){
                SendClientMessage(playerid, Amarelo, "Rádio via URL ligada com sucesso!");
                PlayAudioStreamForPlayer(playerid, inputtext);
            }
            return true;
        }
        return false;
}

shandai

me ajude por favor erro - Sab 22 Jun 2019 - 2:23

Ola, ta faltando  include, e também ta faltando essa include  aqui: #include "../include/gl_common.inc tente instalar  todas  as  includes e na pasta raiz do servidor  se nao tiver  uma pasta  chamada include crie e tenta achar essa include  gl_common.inc e coloca la !!!

Tio_Kakashi

include junp revisao - Sab 25 Maio 2019 - 11:24

#include

#if defined _junp_included
  #endinput
#endif

#define _junp_included

//TOPO DA GM
//Mensagem Formatada
#define SendFormatMessage(%0,%1,%2,%3) format(STRX, sizeof(STRX),%2,%3) && SendClientMessage(%0, %1, STRX)
#define SendFormatMessageToAll(%1,%2,%3) format(STRX, sizeof(STRX),%2,%3) && SendClientMessageToAll(%1, STRX)
/*Ex:
SendFormatMessage(Player, Cor, "Texto", Funções);
SendFormatMessageToAll(Cor, "Texto", Funções);
*/
#define BANS        "/Banidos/%s.ini"
new ban[40];
new stringb[128];

#define GetTime; entrou

#define entrou SendClientMessage(playerid, -1, "");
#define entrou SendClientMessage(playerid, -1, "");
#define entrou SendClientMessage(playerid, -1, "");
#define entrou SendClientMessage(playerid, -1, "");
#define entrou SendClientMessage(playerid, -1, "");
#define entrou SendClientMessage(playerid, -1, "");
#define entrou SendClientMessage(playerid, -1, "");
#define entrou SendClientMessage(playerid, -1, "");
#define entrou SendClientMessage(playerid, -1, "");
#define entrou SendClientMessage(playerid, -1, "");
#define entrou SendClientMessage(playerid, -1, "");
#define entrou SendClientMessage(playerid, -1, "");
#define entrou SendClientMessage(playerid, -1, "");
#define entrou SendClientMessage(playerid, -1, "");
#define entrou SendClientMessage(playerid, -1, "");
#define entrou SendClientMessage(playerid, -1, "");
#define entrou SendClientMessage(playerid, -1, "");
#define entrou SendClientMessage(playerid, -1, "");

stock timec(timestamp, compare = -1) {
    if (compare == -1) {
        compare = gettime();
    }
    new
        n,
        // on the following line, I have removed the need for the diff() function.
        // if you want to use the diff() function in pawn, replace the following with:
        // Float:d = diff(timestamp, compare),
        Float:d = (timestamp > compare) ? timestamp - compare : compare - timestamp,
        returnstr[32];
    if (d < 60) {
        format(returnstr, sizeof(returnstr), "1 Minuto");
        return returnstr;
    } else if (d < 3600) { // 3600 = 1 hour
        n = floatround(floatdiv(d, 60.0), floatround_floor);
        format(returnstr, sizeof(returnstr), "Minuto");
    } else if (d < 86400) { // 86400 = 1 day
        n = floatround(floatdiv(d, 3600.0), floatround_floor);
        format(returnstr, sizeof(returnstr), "Hora");
    } else if (d < 2592000) { // 2592000 = 1 month
        n = floatround(floatdiv(d, 86400.0), floatround_floor);
        format(returnstr, sizeof(returnstr), "Dia");
    } else if (d < 31536000) { // 31536000 = 1 year
        n = floatround(floatdiv(d, 2592000.0), floatround_floor);
        format(returnstr, sizeof(returnstr), "Mes");// O mes n da pa arruma, se for 2 mes fica 2Mess se for 1 fica 1Mes '-'
    } else {
        n = floatround(floatdiv(d, 31536000.0), floatround_floor);
        format(returnstr, sizeof(returnstr), "Anos");
    }
    if (n == 1) {
        format(returnstr, sizeof(returnstr), "1 %s", returnstr);
    } else {
        format(returnstr, sizeof(returnstr), "%d %ss", n+1, returnstr);
    }
    return returnstr;
}

Diogo_Cesar

erro fatal - Sex 24 Maio 2019 - 0:12

esta faltando include na sua gm



#include

#if defined _junp_included
#endinput
#endif

#define _junp_included

//TOPO DA GM
//Mensagem Formatada
#define SendFormatMessage(%0,%1,%2,%3) format(STRX, sizeof(STRX),%2,%3) && SendClientMessage(%0, %1, STRX)
#define SendFormatMessageToAll(%1,%2,%3) format(STRX, sizeof(STRX),%2,%3) && SendClientMessageToAll(%1, STRX)
/*Ex:
SendFormatMessage(Player, Cor, "Texto", Funções);
SendFormatMessageToAll(Cor, "Texto", Funções);
*/
#define BANS "/Banidos/%s.ini"
new ban[40];
new stringb[128];

#define GetTime; entrou

#define entrou SendClientMessage(playerid, -1, "");
#define entrou SendClientMessage(playerid, -1, "");
#define entrou SendClientMessage(playerid, -1, "");
#define entrou SendClientMessage(playerid, -1, "");
#define entrou SendClientMessage(playerid, -1, "");
#define entrou SendClientMessage(playerid, -1, "");
#define entrou SendClientMessage(playerid, -1, "");
#define entrou SendClientMessage(playerid, -1, "");
#define entrou SendClientMessage(playerid, -1, "");
#define entrou SendClientMessage(playerid, -1, "");
#define entrou SendClientMessage(playerid, -1, "");
#define entrou SendClientMessage(playerid, -1, "");
#define entrou SendClientMessage(playerid, -1, "");
#define entrou SendClientMessage(playerid, -1, "");
#define entrou SendClientMessage(playerid, -1, "");
#define entrou SendClientMessage(playerid, -1, "");
#define entrou SendClientMessage(playerid, -1, "");
#define entrou SendClientMessage(playerid, -1, "");

stock timec(timestamp, compare = -1) {
if (compare == -1) {
compare = gettime();
}
new
n,
// on the following line, I have removed the need for the diff() function.
// if you want to use the diff() function in pawn, replace the following with:
// Float:d = diff(timestamp, compare),
Float:d = (timestamp > compare) ? timestamp - compare : compare - timestamp,
returnstr[32];
if (d < 60) {
format(returnstr, sizeof(returnstr), "1 Minuto");
return returnstr;
} else if (d < 3600) { // 3600 = 1 hour
n = floatround(floatdiv(d, 60.0), floatround_floor);
format(returnstr, sizeof(returnstr), "Minuto");
} else if (d < 86400) { // 86400 = 1 day
n = floatround(floatdiv(d, 3600.0), floatround_floor);
format(returnstr, sizeof(returnstr), "Hora");
} else if (d < 2592000) { // 2592000 = 1 month
n = floatround(floatdiv(d, 86400.0), floatround_floor);
format(returnstr, sizeof(returnstr), "Dia");
} else if (d < 31536000) { // 31536000 = 1 year
n = floatround(floatdiv(d, 2592000.0), floatround_floor);
format(returnstr, sizeof(returnstr), "Mes");// O mes n da pa arruma, se for 2 mes fica 2Mess se for 1 fica 1Mes '-'
} else {
n = floatround(floatdiv(d, 31536000.0), floatround_floor);
format(returnstr, sizeof(returnstr), "Anos");
}
if (n == 1) {
format(returnstr, sizeof(returnstr), "1 %s", returnstr);
} else {
format(returnstr, sizeof(returnstr), "%d %ss", n+1, returnstr);
}
return returnstr;
}

Tio_Kakashi

erro fatal - Qui 23 Maio 2019 - 23:53

error fatal: 100: cannot read from file: "jump"

linha do erro : #include  < junp >

Tio_Kakashi

Erro JFS conce - Ter 21 Maio 2019 - 19:16

#include  "../scriptfiles/JFSConcessionaria/DefinicoesJFS.pwn"

Rafa_KiwZ

error 010: invalid function or declaration - Ter 23 Abr 2019 - 18:50

Tenta meter #include < p r o g r e s s> [JUNTA TUDO] no topo do GM, e compila dnv.
Caso não dê desse jeito, mete #include < p r o g r e s s b a r > [Junta tudo, o forum n deixa meter tudo junto]

Apelaum

error 010: invalid function or declaration - Seg 22 Abr 2019 - 22:10

[pawn/]
#include
#include
#include
#include
#include
[/pawn]

Apelaum

error 010: invalid function or declaration - Seg 22 Abr 2019 - 22:09

ola,ssgamers alguem pode me ajudar nesse erro

C:\Users\Martins\Desktop\servidor\pawno\include\progress.inc(1) : error 010: invalid function or declaration

#include //linha do erro
#include
#include
#include
#include

alguem poderia me ajudar estou tentando fazer uma gm mata mata mais deu erro - Dom 21 Abr 2019 - 17:54

ola ssgamers, alguem poderia me ajudar estou tentando fazer uma gm mata mata mais deu erro



C:\Users\Martins\Desktop\SAMP RPG SERVER Utilizar apenas esta pasta para compilar e fazer testes !\pawno\include\dof2.inc(1) : error 010: invalid function or declaration
C:\Users\Martins\Desktop\SAMP RPG SERVER Utilizar apenas esta pasta para compilar e fazer testes !\gamemodes\new.pwn(28) : error 017: undefined symbol "dof2_Exit"
C:\Users\Martins\Desktop\SAMP RPG SERVER Utilizar apenas esta pasta para compilar e fazer testes !\gamemodes\new.pwn(76) : error 017: undefined symbol "DOF2_FileExists"
C:\Users\Martins\Desktop\SAMP RPG SERVER Utilizar apenas esta pasta para compilar e fazer testes !\gamemodes\new.pwn(95) : error 017: undefined symbol "DOF2_FileExists"
C:\Users\Martins\Desktop\SAMP RPG SERVER Utilizar apenas esta pasta para compilar e fazer testes !\gamemodes\new.pwn(97) : error 017: undefined symbol "DOF2_SetInt"
C:\Users\Martins\Desktop\SAMP RPG SERVER Utilizar apenas esta pasta para compilar e fazer testes !\gamemodes\new.pwn(98) : error 017: undefined symbol "DOF2_SetInt"
C:\Users\Martins\Desktop\SAMP RPG SERVER Utilizar apenas esta pasta para compilar e fazer testes !\gamemodes\new.pwn(99) : error 017: undefined symbol "DOF2_SetInt"
C:\Users\Martins\Desktop\SAMP RPG SERVER Utilizar apenas esta pasta para compilar e fazer testes !\gamemodes\new.pwn(100) : error 017: undefined symbol "DOF2_SetInt"
C:\Users\Martins\Desktop\SAMP RPG SERVER Utilizar apenas esta pasta para compilar e fazer testes !\gamemodes\new.pwn(101) : error 017: undefined symbol "DOF2_SaveFile"
C:\Users\Martins\Desktop\SAMP RPG SERVER Utilizar apenas esta pasta para compilar e fazer testes !\gamemodes\new.pwn(204) : error 017: undefined symbol "DOF2_CreateFile"
C:\Users\Martins\Desktop\SAMP RPG SERVER Utilizar apenas esta pasta para compilar e fazer testes !\gamemodes\new.pwn(205) : error 017: undefined symbol "DOF2_SetInt"
C:\Users\Martins\Desktop\SAMP RPG SERVER Utilizar apenas esta pasta para compilar e fazer testes !\gamemodes\new.pwn(206) : error 017: undefined symbol "DOF2_SetInt"
C:\Users\Martins\Desktop\SAMP RPG SERVER Utilizar apenas esta pasta para compilar e fazer testes !\gamemodes\new.pwn(207) : error 017: undefined symbol "DOF2_SetInt"
C:\Users\Martins\Desktop\SAMP RPG SERVER Utilizar apenas esta pasta para compilar e fazer testes !\gamemodes\new.pwn(208) : error 017: undefined symbol "DOF2_SetInt"
C:\Users\Martins\Desktop\SAMP RPG SERVER Utilizar apenas esta pasta para compilar e fazer testes !\gamemodes\new.pwn(209) : error 017: undefined symbol "DOF2_SaveFile"
C:\Users\Martins\Desktop\SAMP RPG SERVER Utilizar apenas esta pasta para compilar e fazer testes !\gamemodes\new.pwn(229) : error 017: undefined symbol "DOF2_GetInt"
C:\Users\Martins\Desktop\SAMP RPG SERVER Utilizar apenas esta pasta para compilar e fazer testes !\gamemodes\new.pwn(232) : error 017: undefined symbol "DOF2_GetInt"
C:\Users\Martins\Desktop\SAMP RPG SERVER Utilizar apenas esta pasta para compilar e fazer testes !\gamemodes\new.pwn(233) : error 017: undefined symbol "DOF2_GetInt"
C:\Users\Martins\Desktop\SAMP RPG SERVER Utilizar apenas esta pasta para compilar e fazer testes !\gamemodes\new.pwn(234) : error 017: undefined symbol "DOF2_GetInt"
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


19 Errors.


a gamemode toda







#include
#include

//define
#define TIMER_INTERVAL 150
#define     DIALOG_REGISTRO         1
#define     DIALOG_LOGAR            2
//news
new
    maxPlayers;

enum pInfo //criando o enum
{
    pSenha,
    pMatou,
    pMorreu,
    pDinheiro,
    pSkin
}
new PlayerInfo[MAX_PLAYERS][pInfo];
new Erro[MAX_PLAYERS];

//forward
forward HeadShot();

public OnGameModeExit()
{
    dof2_Exit();
return 1;
}

public OnPlayerRequestClass(playerid, classid)
{
SetPlayerVirtualWorld(playerid, 12);
SetPlayerPos (playerid, 513.882507,-11.269994,1001.565307);//513.8825,-11.2700,1001.5653
SetPlayerInterior (playerid, 3);
SetPlayerCameraPos(playerid, 516.8571,-11.5696,1001.5653);
SetPlayerCameraLookAt(playerid, 513.882507,-11.269994,1001.565307);

    SetPlayerSpecialAction(playerid,SPECIAL_ACTION_DANCE3);
return 1;
}

public OnPlayerConnect(playerid)
{
    //SetPlayerInterior(playerid, 3);
    //SetPlayerPos(playerid, 513.882507,-11.269994,1001.565307);
    //SetPlayerCameraLookAt(playerid, 513.882507,-11.269994,1001.565307);
    //SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
SendClientMessage(playerid, -1, "Ola, Sejá Bem Vindo!!");
SendClientMessage(playerid, -1, "Voce Entrou No Mata Mata Mundo Dos Mortais");
SendClientMessage(playerid, -1, "");
SendClientMessage(playerid, -1, "");
SendClientMessage(playerid, -1, "");
SendClientMessage(playerid, -1, "");
SendClientMessage(playerid, -1, "");
SendClientMessage(playerid, -1, "");
SendClientMessage(playerid, -1, "");
SendClientMessage(playerid, -1, "");
SendClientMessage(playerid, -1, "");
SendClientMessage(playerid, -1, "");
SendClientMessage(playerid, -1, "");
SendClientMessage(playerid, -1, "");
SendClientMessage(playerid, -1, "");
SendClientMessage(playerid, -1, "");
SendClientMessage(playerid, -1, "========================================================");
SendClientMessage(playerid, -1, "Criador Da Gamemode Yruan e DanielGTA");
SendClientMessage(playerid, -1, "Forum:sendo Desenvolvido!!");
SendClientMessage(playerid, -1, "graças a Deus Estamos conseguindo fazer está gamemode!");
SendClientMessage(playerid, -1, "========================================================");

    new name[MAX_PLAYER_NAME]; // Cria a variavel de nome
    new arquivo[40]; // variavel arquivo
    GetPlayerName(playerid, name, 32);// Serve para pegar o nome do player
    format(arquivo, 40, "Jogadores/%s.ini", name); // formata a string arquivo e cria um arquivo na pasta "Jogadores"
    if(DOF2_FileExists(arquivo)) // se tiver registrado
    {
        ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "BGV- Login", "Status da conta : Registrada\n digite sua senha para logar!\nSe errar 5 vezes sua conta será banida!", "Logar", "Cancelar");
    }
    else // se nao tiver registrado
    {
        ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_INPUT, "BGV- Registro", "Status da conta : Não Registrada\n digite uma senha para se registrar!", "Registrar", "Cancelar");
    }
    RemoveBuildingForPlayer(playerid, 16662, 212.1094, 1823.2969, 6.6094, 0.25);
RemoveBuildingForPlayer(playerid, 16782, 210.3672, 1822.7422, 7.6016, 0.25);
RemoveBuildingForPlayer(playerid, 3279, 161.9063, 1933.0938, 16.8203, 0.25);
return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
    new arquivo[40], name[MAX_PLAYER_NAME]; // cria a variavel name com 40 celulas e a variavel Name
    GetPlayerName(playerid, name, 32); // Pega o nome do player
    format(arquivo, 40, "Jogadores/%s.ini", name); // Formata o arquivo que existe na pasta Jogadores
    if(DOF2_FileExists(arquivo)) // se o arquivo existir
    {
        DOF2_SetInt(arquivo, "Senha", PlayerInfo[playerid][pSenha]); // seta a senha do player para o que ele digitou
        DOF2_SetInt(arquivo, "Matou", PlayerInfo[playerid][pMatou]); //Salva quantos players ele matou
        DOF2_SetInt(arquivo, "Morreu", PlayerInfo[playerid][pMorreu]); //Salva quantas vezes ele morreu
        DOF2_SetInt(arquivo, "Dinheiro", PlayerInfo[playerid][pDinheiro]); //Salva o dinheiro que foi igualado ao GetPlayerMoney logo acima no começo da função
        DOF2_SaveFile(); // finalmente salvando o arquivo
    }
return 1;
}

public OnPlayerSpawn(playerid)
{
SetPlayerInterior(playerid, 0);

    GivePlayerWeapon(playerid, 9, 500); //Dá uma arma aleatória pro player com 500 balas
    
    GivePlayerWeapon(playerid, 24, 500); //Dá uma arma aleatória pro player com 500 balas
    
    GivePlayerWeapon(playerid, 27, 500); //Dá uma arma aleatória pro player com 500 balas                   //32
    
    GivePlayerWeapon(playerid, 32, 500); //Dá uma arma aleatória pro player com 500 balas                 //34
    
    GivePlayerWeapon(playerid, 34, 500); //Dá uma arma aleatória pro player com 500 balas
return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{
SendClientMessage(playerid, -1, "PATO RUIM!!");
    if(GetPVarInt(playerid, "Headshot") == 1)
    {
        SetPVarInt(playerid, "Headshot", 0);
        GameTextForPlayer(playerid, "~r~Headshot", 3000, 3);
        GameTextForPlayer(killerid, "~r~Headshot", 3000, 3);
    }
return 1;
}

public OnVehicleSpawn(vehicleid)
{
return 1;
}

public OnVehicleDeath(vehicleid, killerid)
{
return 1;
}

public OnPlayerText(playerid, text[])
{
return 1;
}
public OnPlayerEnterCheckpoint(playerid)
{
return 1;
}

public OnPlayerLeaveCheckpoint(playerid)
{
return 1;
}

public OnPlayerEnterRaceCheckpoint(playerid)
{
return 1;
}

public OnPlayerLeaveRaceCheckpoint(playerid)
{
return 1;
}

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
return 1;
}

public OnRconLoginAttempt(ip[], password[], success)
{
return 1;
}

public OnPlayerUpdate(playerid)
{
return 1;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    new arquivo[40], name[MAX_PLAYER_NAME]; // criando a string arquivo com 40 celulas e criando a variavel name
    GetPlayerName(playerid, name, 32); // pegando o nome do player
    format(arquivo, 40, "Jogadores/%s.ini", name); // formatando o arquivo para a pasta Jogadores
    if(dialogid == DIALOG_REGISTRO) // Dialog registro
    {
        if(!strval(inputtext)) // se ele nao digitar numeros da erro e volta no dialog de registro
        {
        ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_PASSWORD, "BGV - Registro", "Status da conta : Não Registrada\n digite uma senha para se registrar!", "Registrar", "Cancelar");
        SendClientMessage(playerid, -1, "[BGV] Erro, Digite apenas números para se registrar.");
        return 1;
        }
        if(!response) //se ele apertar o botao Cancelar, kicka ele !
        {
            Kick(playerid);
            return 1;
        }
        else // se ele colocar a senha certa cria os arquivos
        {
            PlayerInfo[playerid][pSenha] = strval(inputtext); // pega a senha que ele digitou no campo do dialog
            DOF2_CreateFile(arquivo); // cria o arquivo na pasta Jogadores
            DOF2_SetInt(arquivo, "Senha", PlayerInfo[playerid][pSenha]); // seta a senha para a que ele digitou no dialog
            DOF2_SetInt(arquivo, "Matou", PlayerInfo[playerid][pMatou]); //Vai salvar quantas vezes ele matou
            DOF2_SetInt(arquivo, "Morreu", PlayerInfo[playerid][pMorreu]); //Vai salvar quantas vezes ele morreu
            DOF2_SetInt(arquivo, "Dinheiro", PlayerInfo[playerid][pDinheiro]); //Vai salvar o dinheiro dele
            DOF2_SaveFile(); // salva o arquivo
        SendClientMessage(playerid, -1, "[BGV] Sua Conta foi Registrada, Agora digite sua senha novamente para logar!");
        ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "BGV - Login", "Status da conta : Registrada\n digite sua senha para logar!\nSe errar 5 vezes sua conta será banida!", "Logar", "Cancelar");
        }
    }
    if(dialogid == DIALOG_LOGAR)
    {
        if(!strval(inputtext)) // se ele nao digitar apenas numeros volta o dialog de login
        {
        SendClientMessage(playerid, -1, "[BGV] Erro, Digite apenas números para se logar.");
        ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "BGV - Login", "Status da conta : Registrada\n digite sua senha para logar!\nSe errar 5 vezes sua conta será banida!", "Logar", "Cancelar");
        return 1;
        }
        if(!response) // se ele clickar em Cancelar kicka ele !
        {
            Kick(playerid);
            return 1;
        }
        else // Se ele colocar a senha certa
        {
            PlayerInfo[playerid][pSenha] = DOF2_GetInt(arquivo, "Senha"); // pega a senha salva dele
            if(strval(inputtext) == PlayerInfo[playerid][pSenha]) // pega a senha que ele digitou
            {
                PlayerInfo[playerid][pMatou] = DOF2_GetInt(arquivo, "Matou"); //Pega quantos ele matou no arquivo
                PlayerInfo[playerid][pMorreu] = DOF2_GetInt(arquivo, "Morreu"); //Pega quantos ele morreu no arquivo
                PlayerInfo[playerid][pDinheiro] = DOF2_GetInt(arquivo, "Dinheiro"); //Pega o dinheiro e iguala ao Player[playerid][Dinheiro]
                GivePlayerMoney(playerid, PlayerInfo[playerid][pDinheiro]); //Da o dinheiro carregado acima
                SpawnPlayer(playerid); // em seguida, spawna o player
            }
            else // se ele errar a senha mostra o dialog denovo
            {
                ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "BGV - Login", "Status da conta : Registrada\n digite sua senha para logar!\nSe errar 5 vezes sua conta será banida!", "Logar", "Cancelar");
                Erro[playerid]++; // e adiciona 1 erro
                if(Erro[playerid] == 5) // se ele errar 5 vezes ele será banido !
                {
                    SendClientMessage(playerid, -1, "Sua conta está banida por errar 5 vezes a sua senha, contacte o Admin para retirar seu Ban!");
                    Ban(playerid);
                    return 1;
                }
            }
        }
    }
    return 1;
}
stock ReturnPlayer(playerid)
{
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,MAX_PLAYER_NAME);
    return name;
}
public OnPlayerClickPlayer(playerid, clickedplayerid, source)
{
return 1;
}
public OnGameModeInit()
{
    maxPlayers = GetMaxPlayers();
    SetTimer("HeadShot", TIMER_INTERVAL, 1);
SetGameModeText("MM");
UsePlayerPedAnims();
AddPlayerClass(1, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);//inicio das skins
AddPlayerClass(2, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
AddPlayerClass(3, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
AddPlayerClass(4, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
AddPlayerClass(5, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
AddPlayerClass(6, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
AddPlayerClass(7, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
AddPlayerClass(8, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
AddPlayerClass(9, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
AddPlayerClass(10, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
AddPlayerClass(11, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
AddPlayerClass(12, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
AddPlayerClass(13, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
AddPlayerClass(14, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
AddPlayerClass(15, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
AddPlayerClass(16, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
AddPlayerClass(17, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
AddPlayerClass(18, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
AddPlayerClass(19, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
AddPlayerClass(20, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
AddPlayerClass(21, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
    AddPlayerClass(22, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
    AddPlayerClass(23, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
AddPlayerClass(24, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
AddPlayerClass(25, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
AddPlayerClass(26, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
AddPlayerClass(27, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
AddPlayerClass(28, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
AddPlayerClass(29, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
AddPlayerClass(30, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
AddPlayerClass(31, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
AddPlayerClass(32, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
AddPlayerClass(33, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
AddPlayerClass(34, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
AddPlayerClass(35, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
AddPlayerClass(36, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
AddPlayerClass(37, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
AddPlayerClass(38, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
AddPlayerClass(39, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
AddPlayerClass(41, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
AddPlayerClass(42, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
AddPlayerClass(43, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
AddPlayerClass(44, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
    AddPlayerClass(45, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
    AddPlayerClass(46, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
AddPlayerClass(47, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
AddPlayerClass(48, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
AddPlayerClass(49, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
AddPlayerClass(50, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
AddPlayerClass(51, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
AddPlayerClass(52, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
AddPlayerClass(53, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
AddPlayerClass(54, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
AddPlayerClass(55, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
AddPlayerClass(56, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
AddPlayerClass(57, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
AddPlayerClass(58, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
AddPlayerClass(59, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
AddPlayerClass(60, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
AddPlayerClass(61, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
AddPlayerClass(62, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
AddPlayerClass(63, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
AddPlayerClass(64, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
AddPlayerClass(65, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
AddPlayerClass(66, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
    AddPlayerClass(67, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
    AddPlayerClass(68, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
AddPlayerClass(69, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
AddPlayerClass(70, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
AddPlayerClass(71, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
AddPlayerClass(72, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
AddPlayerClass(73, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
AddPlayerClass(74, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
AddPlayerClass(75, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
AddPlayerClass(76, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
AddPlayerClass(77, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
AddPlayerClass(78, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
AddPlayerClass(79, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
AddPlayerClass(81, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
AddPlayerClass(82, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
AddPlayerClass(83, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
AddPlayerClass(84, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
AddPlayerClass(85, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
AddPlayerClass(86, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
AddPlayerClass(87, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
AddPlayerClass(88, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
AddPlayerClass(89, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
    AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);//fim das skins

CreateObject(16271, 165.75197, 1933.03882, 30.74250,   -2.00000, 0.00000, -88.00000);//area 51 base protegida
CreateObject(6928, 191.49460, 1813.70105, 30.92810,   0.00000, 0.00000, 0.00000);
CreateObject(6928, 163.94099, 1816.58740, 30.92810,   0.00000, 0.00000, 0.00000);
CreateObject(16613, 80.30198, 1854.92078, 22.18736,   0.00000, 0.00000, 0.00000);
CreateObject(19313, 344.64310, 1797.88818, 17.64600,   0.00000, 0.00000, 34.00000);
CreateObject(19313, 226.65770, 1858.64197, 12.09330,   0.00000, 0.00000, 88.00000);
CreateObject(18609, 215.25648, 1822.27417, 6.54740,   0.00000, 0.00000, 0.00000);
CreateObject(18609, 217.38126, 1822.31421, 6.54740,   0.00000, 0.00000, 0.00000);
CreateObject(18609, 216.31192, 1822.34424, 6.54740,   0.00000, 0.00000, 0.00000);
CreateObject(18609, 218.34254, 1822.27356, 6.54740,   0.00000, 0.00000, 0.00000);
CreateObject(18609, 218.06487, 1822.15820, 6.54740,   0.00000, 0.00000, 0.00000);
CreateObject(19632, 223.31522, 1821.85486, 5.42730,   0.00000, 0.00000, 0.00000);
CreateObject(19632, 216.97775, 1818.89453, 5.42730,   0.00000, 0.00000, 0.00000);
CreateObject(19791, 269.19281, 1883.66870, 10.45990,   0.00000, 0.00000, 0.00000);
CreateObject(708, 214.14198, 1866.88599, 17.57338,   0.00000, 0.00000, 0.00000);
CreateObject(708, 181.49844, 1885.00598, 18.77230,   0.00000, 0.00000, 0.00000);
CreateObject(708, 175.89250, 1871.42517, 19.71375,   0.00000, 0.00000, 0.00000);
CreateObject(708, 189.42050, 1873.74341, 16.60152,   0.00000, 0.00000, 0.00000);
CreateObject(708, 199.21826, 1867.77344, 16.93844,   0.00000, 0.00000, 0.00000);
CreateObject(708, 194.31447, 1890.63770, 16.60628,   0.00000, 0.00000, 0.00000);
CreateObject(708, 170.78050, 1894.63489, 18.08620,   0.00000, 0.00000, 0.00000);
CreateObject(708, 184.24763, 1904.23950, 16.71502,   0.00000, 0.00000, 0.00000);
CreateObject(708, 265.95547, 1843.71106, 16.59308,   0.00000, 0.00000, 0.00000);
CreateObject(708, 271.93573, 1866.88513, 16.60197,   0.00000, 0.00000, 0.00000);
CreateObject(708, 266.52811, 1906.61096, 16.59038,   0.00000, 0.00000, 0.00000);
CreateObject(708, 241.02602, 1911.97717, 17.30747,   0.00000, 0.00000, 0.00000);
CreateObject(708, 228.52710, 1862.23547, 19.35101,   0.00000, 0.00000, 0.00000);
CreateObject(708, 63.64258, 1919.47949, 16.54059,   0.00000, 0.00000, 0.00000);
CreateObject(708, 90.42133, 1953.53418, 16.95409,   0.00000, 0.00000, 0.00000);
CreateObject(708, 145.11533, 1957.93445, 18.39122,   0.00000, 0.00000, 0.00000);
CreateObject(708, 105.91238, 1985.90417, 17.65837,   0.00000, 0.00000, 0.00000);
CreateObject(708, 165.34431, 1964.08228, 17.63851,   0.00000, 0.00000, 0.00000);
CreateObject(708, 150.00826, 1997.88306, 18.23489,   0.00000, 0.00000, 0.00000);
CreateObject(708, 26.78661, 1874.95483, 16.53818,   0.00000, 0.00000, 0.00000);
CreateObject(708, 211.15695, 1963.64673, 16.56216,   0.00000, 0.00000, 0.00000);
CreateObject(708, 339.02057, 1874.96265, 16.61356,   0.00000, 0.00000, 0.00000);
CreateObject(708, 253.54378, 1766.02625, 16.52577,   0.00000, 0.00000, 0.00000);
CreateObject(708, 232.47154, 1782.75610, 16.53449,   0.00000, 0.00000, 0.00000);
CreateObject(708, 188.95311, 1733.09937, 16.50277,   0.00000, 0.00000, 0.00000);
CreateObject(708, 119.60240, 1772.08801, 16.52504,   0.00000, 0.00000, 0.00000);
CreateObject(708, 171.63560, 1747.10046, 16.51849,   0.00000, 0.00000, 0.00000);
CreateObject(708, 5.87701, 1913.41394, 16.53034,   0.00000, 0.00000, 0.00000);
CreateObject(708, -44.39141, 1855.92163, 16.52127,   0.00000, 0.00000, 0.00000);
CreateObject(708, 110.62241, 2025.77502, 17.44193,   0.00000, 0.00000, 0.00000);
CreateObject(708, 173.36520, 2011.15979, 17.13314,   0.00000, 0.00000, 0.00000);
CreateObject(708, 118.64162, 2090.45654, 16.54192,   0.00000, 0.00000, 0.00000);
CreateObject(708, 153.92583, 2054.83228, 16.68034,   0.00000, 0.00000, 0.00000);
CreateObject(708, 42.57742, 2022.25146, 16.52842,   0.00000, 0.00000, 0.00000);
CreateObject(708, 17.24904, 1957.09473, 16.53989,   0.00000, 0.00000, 0.00000);
CreateObject(708, -66.28464, 1985.80115, 17.96507,   0.00000, 0.00000, 0.00000);
CreateObject(708, 15.00619, 2113.64087, 16.57686,   0.00000, 0.00000, 0.00000);
CreateObject(708, 50.75262, 2088.51807, 16.65851,   0.00000, 0.00000, 0.00000);
CreateObject(708, -62.96083, 2088.80298, 16.91003,   0.00000, 0.00000, 0.00000);
CreateObject(708, 59.47892, 1993.51233, 16.52911,   0.00000, 0.00000, 0.00000);
CreateObject(11427, 109.93150, 1889.35120, 25.31660,   0.00000, 0.00000, 182.00000);
CreateObject(19817, 221.60020, 1865.41211, 12.13040,   0.00000, 0.00000, -93.00000);
CreateObject(19817, 221.24200, 1860.39478, 12.13040,   0.00000, 0.00000, -93.00000);
CreateObject(19815, 226.14331, 1862.38684, 14.64780,   0.00000, 0.00000, -91.00000);
CreateObject(18657, 262.03171, 1807.99512, 31.86270,   89.00000, -62.00000, 0.00000);
CreateObject(19791, 102.23499, 1927.75684, 17.29852,   0.00000, 0.00000, 0.00000);
CreateObject(19791, 101.72424, 1912.18127, 17.29852,   0.00000, 0.00000, 0.00000);
CreateObject(19791, 102.36441, 1927.75366, 27.07850,   0.00000, 0.00000, 0.00000);
CreateObject(19791, 102.23164, 1922.16907, 27.07850,   0.00000, 0.00000, 0.00000);
CreateObject(19791, 101.99672, 1912.08447, 27.07850,   0.00000, 0.00000, 0.00000);
CreateObject(19791, 92.19310, 1912.16992, 17.29852,   0.00000, 0.00000, 0.00000);
CreateObject(19791, 92.78967, 1927.55542, 17.29852,   0.00000, 0.00000, 0.00000);
CreateObject(19791, 92.71236, 1919.50293, 27.07850,   0.00000, 0.00000, 0.00000);
CreateObject(19313, 96.93221, 1923.04187, 26.34130,   0.00000, 0.00000, 90.00000);
CreateObject(19632, 127.03420, 1848.56445, 16.72680,   0.00000, 0.00000, 0.00000);


return 1;
}
//public criada or forward
public HeadShot()
{
    new
        index;
    for(new playerid; playerid < maxPlayers; playerid++)
    {
        if(IsPlayerConnected(playerid))
        {
            index = GetPlayerAnimationIndex(playerid);
            if(index == 1173 || index == 1175 || index == 1177 || index == 1178)
            {
                SetPVarInt(playerid, "Headshot", 1);
                SetPlayerHealth(playerid, 0);
            }
        }
    }
    return 1;
}

como deixar comando sethome /home para player vip GM Scavenge And Survive - Sex 19 Abr 2019 - 20:25

@Game_Junior escreveu:qual seria sua variavel vip ?

#include

static
PlayerVip[MAX_PLAYERS];


#define VIP_COLOR 0xFFAA0000

hook OnPlayerConnect(playerid){
    new namep[24];
GetPlayerName(playerid, namep, 24);
    PlayerVip[playerid] = dini_Int("VIPS.ini",namep);
}

hook OnPlayerSpawnChar(playerid){
if(IsPlayerVip(playerid)){
    SetPlayerColor(playerid, VIP_COLOR);
}

}

hook OnPlayerSpawnNewChar(playerid){
    if(IsPlayerVip(playerid)){
    SetPlayerColor(playerid, VIP_COLOR);
}
}

CMD:skin(playerid, params[]){
new skinid;
    if(PlayerVip[playerid] == 0) return ChatMsg(playerid, RED, " > Esse comando é apenas para jogadores VIP.");
    if(sscanf(params, "d", skinid)) return ChatMsg(playerid, RED, " > Use: /Skin [id]");
if(skinid > 311 || skinid < 1) return ChatMsg(playerid, RED, " > ID de skin inválido.");
if(skinid == 211 || skinid == 217) return ChatMsg(playerid, RED, " > ID de skin inválido.");
SetPlayerSkin(playerid, skinid);
return 1;
}

como deixar comando sethome /home para player vip GM Scavenge And Survive - Sex 12 Abr 2019 - 22:03

bom queria saber como ponho /sethome /home somente para players vip des de ja obrigado peço mil desculpas por ficar pedindo ajuda toda hora a comunidade 



#include

static
Float:h_pos[MAX_PLAYERS][3],
LastHome[MAX_PLAYERS],
LastSetHome[MAX_PLAYERS];

hook OnPlayerConnect(playerid){
    h_pos[playerid][0] =
h_pos[playerid][1] =
h_pos[playerid][2] = 0.0;
LastHome[playerid] =
LastSetHome[playerid] = 0;
new name[24];
GetPlayerName(playerid, name, 24);
h_pos[playerid][0] = dini_Float("HomeX.ini",name);
h_pos[playerid][1] = dini_Float("HomeY.ini",name);
h_pos[playerid][2] = dini_Float("HomeZ.ini",name);
}

hook OnPlayerDisconnect(playerid){
    new name[24];
GetPlayerName(playerid, name, 24);

dini_FloatSet("HomeX.ini",name,h_pos[playerid][0]);
dini_FloatSet("HomeY.ini",name,h_pos[playerid][1]);
dini_FloatSet("HomeZ.ini",name,h_pos[playerid][2]);
}

CMD:sethome(playerid, params[]){
    if(!IsPlayerSpawned(playerid)) return ChatMsg(playerid, RED, " > Você não spawnou.");
if(IsPlayerDead(playerid)) return ChatMsg(playerid, RED, " > Você está morto.");
if((gettime() - LastSetHome[playerid]) < 1800) return ChatMsg(playerid, RED, " > Você só pode usar este comando a cada 30 minutos.");
//if(GetPlayerPED(playerid) != 0) return ChatMsg(playerid, RED, " > O PED deve estar 0 para você usar esse comando.");
new Float:vida;
GetPlayerHealth(playerid, vida);
if(vida < 99) return ChatMsg(playerid, RED, " > Você deve estar com mais de 99 de vida.");
if(IsPlayerKnockedOut(playerid)) return ChatMsg(playerid, RED, " > Você não pode usar esse comando agora.");

new
    lastattacker,
lastweapon;

if(IsPlayerCombatLogging(playerid, lastattacker, lastweapon))
{
    ChatMsg(playerid, RED, " >  Você está em Combat Log.");
return 1;
}

new Float:x, Float:y, Float:z;
GetPlayerPos(playerid, x, y, z);

new EmSpawn = 0;
if( !IsPlayerInRangeOfPoint(playerid, 40.0, -2923.4396, -70.4305, 0.7973)) EmSpawn ++;
if( !IsPlayerInRangeOfPoint(playerid, 40.0, -2914.9213, -902.9458, 0.5190 )) EmSpawn ++;
if( !IsPlayerInRangeOfPoint(playerid, 40.0, -2804.5021, -2296.2153, 0.7071 )) EmSpawn ++;
    if( !IsPlayerInRangeOfPoint(playerid, 40.0, -228.7865, -1719.8090, 1.1083 )) EmSpawn ++;
    if( !IsPlayerInRangeOfPoint(playerid, 40.0, 13.9133, -1112.0993, 1.2848 )) EmSpawn ++;
    if( !IsPlayerInRangeOfPoint(playerid, 40.0, -325.7897, -467.2996, 1.9922 )) EmSpawn ++;
    if( !IsPlayerInRangeOfPoint(playerid, 40.0, -71.3649, -577.1849, 1.3816 )) EmSpawn ++;
    if( !IsPlayerInRangeOfPoint(playerid, 40.0, 161.5016, 157.5428, 1.1178 )) EmSpawn ++;
    if( !IsPlayerInRangeOfPoint(playerid, 40.0, 2012.8952, -38.5986, 1.2391 )) EmSpawn ++;
    if( !IsPlayerInRangeOfPoint(playerid, 40.0, 2117.7065, 183.7778, 1.0822 )) EmSpawn ++;
    if( !IsPlayerInRangeOfPoint(playerid, 40.0, -1886.1279, 2160.1945, 1.4039 )) EmSpawn ++;
    if( !IsPlayerInRangeOfPoint(playerid, 40.0, -764.4365, 654.4160, 1.7907 )) EmSpawn ++;
    if( !IsPlayerInRangeOfPoint(playerid, 40.0, -434.6048, 867.6434, 1.4236 )) EmSpawn ++;
    if( !IsPlayerInRangeOfPoint(playerid, 40.0, -638.7510, 1286.1458, 1.4520 )) EmSpawn ++;

if(EmSpawn != 14) return ChatMsg(playerid, RED, " > Você não pode setar home próximo de um spawn.");

GetPlayerPos(playerid, h_pos[playerid][0], h_pos[playerid][1], h_pos[playerid][2]);
LastSetHome[playerid] = gettime();
ChatMsg(playerid, GREEN, " > Home setada com Sucesso. Use "C_YELLOW"/home"C_GREEN" para teleportar-se aqui quando quiser.", h_pos[playerid][0], h_pos[playerid][1], h_pos[playerid][2]);
return 1;
}

CMD:home(playerid){
ChatMsg(playerid, GREEN, " > Aguarde...");
defer HomePlayer(playerid);
return 1;
}

timer HomePlayer[3000](playerid){
    if(!IsPlayerSpawned(playerid)) return ChatMsg(playerid, RED, " > Você não spawnou.");
if(IsPlayerDead(playerid)) return ChatMsg(playerid, RED, " > Você está morto.");
if((gettime() - LastHome[playerid]) < 1800) return ChatMsg(playerid, RED, " > Você só pode usar este comando a cada 30 minutos.");
if(GetPlayerPED(playerid) != 0) return ChatMsg(playerid, RED, " > O PED deve estar 0 para você usar esse comando.");
new Float:vida;
GetPlayerHealth(playerid, vida);
if(vida < 99) return ChatMsg(playerid, RED, " > Você deve estar com mais de 99 de vida.");
if(IsPlayerKnockedOut(playerid)) return ChatMsg(playerid, RED, " > Você não pode usar esse comando agora.");

new
    lastattacker,
lastweapon;

if(IsPlayerCombatLogging(playerid, lastattacker, lastweapon))
{
    ChatMsg(playerid, RED, " >  Você está em Combat Log.");
return 1;
}
new Float:x, Float:y, Float:z;

foreach(new i : Player){
    GetPlayerPos(i, x, y, z);
    if(Distance(x, y, z, h_pos[playerid][0], h_pos[playerid][1], h_pos[playerid][2]) < 100.0 && i != playerid){
        ChatMsg(i, GREEN, " > O jogador %P usou /Home e foi teletransportado próximo de você.", playerid);
    }
}

new owner[24], name[24], defences;
GetPlayerName(playerid, name, 24);

foreach(new i : itm_Index){
    GetItemPos(i, x, y, z);
    if(Distance(x, y, z, h_pos[playerid][0], h_pos[playerid][1], h_pos[playerid][2]) < 10.0){
    if(GetDefenceType(i) != -1){
if(GetDefenceActive(i)){
    GetDefenceOwner(i, owner);
        if(!strcmp(owner, name)){
                        defences ++;
        }
}
}
}
}

if(defences < 1) return ChatMsg(playerid, RED, " > É necessário uma defesa proximo em seu nome no local do home.");
SetPlayerPos(playerid, h_pos[playerid][0], h_pos[playerid][1], h_pos[playerid][2]);
LastHome[playerid] = gettime();
return 1;
}

ajuda a tirar a whitelist da gamemode ScavengeSurvive - Sab 23 Fev 2019 - 12:27

ola ssgamers estou precisando de ajuda para tirar a whitelist da gamemode ScavengeSurvive 

print ao tentar logar
https://i.servimg.com/u/f51/19/94/24/49/sa-mp-22.png

a gamemode toda
/*==============================================================================


Southclaw's Scavenge and Survive

Big thanks to Onfire559/Adam for the initial concept and developing
the idea a lot long ago with some very productive discussions!
Recently influenced by Minecraft and DayZ, credits to the creators of
those games and their fundamental mechanics and concepts.


==============================================================================*/


#include

/*==============================================================================

Library Predefinitions

==============================================================================*/

#undef MAX_PLAYERS
#define MAX_PLAYERS (60)

native IsValidVehicle(vehicleid);
native gpci(playerid, serial[], len);

#define _DEBUG 0 // YSI
#define DB_DEBUG false // SQLitei
#define DB_MAX_STATEMENTS (128) // SQLitei
#define DB_DEBUG_BACKTRACE_NOTICE (true) // SQLitei
#define DB_DEBUG_BACKTRACE_WARNING (true) // SQLitei
#define DB_DEBUG_BACKTRACE_ERROR (true) // SQLitei
#define STRLIB_RETURN_SIZE (256) // strlib
#define MODIO_DEBUG (0) // modio
#define MODIO_FILE_STRUCTURE_VERSION (20) // modio
#define MODIO_SCRIPT_EXIT_FIX (1) // modio
#define MAX_MODIO_SESSION (2048) // modio
#define BTN_TELEPORT_FREEZE_TIME (3000) // SIF/Button
#define INV_MAX_SLOTS (7) // SIF/Inventory
#define ITM_ARR_ARRAY_SIZE_PROTECT (false) // SIF/extensions/ItemArrayData
#define ITM_MAX_NAME (20) // SIF/Item
#define ITM_MAX_TEXT (64) // SIF/Item
#define ITM_DROP_ON_DEATH (false) // SIF/Item
#define SIF_USE_DEBUG_LABELS (true) // SIF/extensions/DebugLabels
// #define DEBUG_LABELS_BUTTON (true) // SIF/Button
// #define DEBUG_LABELS_ITEM (true) // SIF/Item
#define BTN_MAX (32768) // SIF/Button
#define ITM_MAX (32768) // SIF/Item
#define CNT_MAX_SLOTS (100)

/*==============================================================================

Guaranteed first call

OnGameModeInit_Setup is called before ANYTHING else, the purpose of this is
to prepare various internal and external systems that may need to be ready
for other modules to use their functionality. This function isn't hooked.

OnScriptInit (from YSI) is then called through modules which is used to
prepare dependencies such as databases, folders and register debuggers.

OnGameModeInit is then finally called throughout modules and starts inside
the "Server/Init.pwn" module (very important) so itemtypes and other object
types can be defined. This callback is used throughout other scripts as a
means for declaring entities with relevant data.

==============================================================================*/




public OnGameModeInit()
{
print("\n[OnGameModeInit] Initialising 'Main'...");
OnGameModeInit_Setup();

#if defined main_OnGameModeInit
return main_OnGameModeInit();
#else
return 1;
#endif
}
#if defined _ALS_OnGameModeInit
#undef OnGameModeInit
#else
#define _ALS_OnGameModeInit
#endif

#define OnGameModeInit main_OnGameModeInit
#if defined main_OnGameModeInit
forward main_OnGameModeInit();
#endif



/*==============================================================================

Libraries and respective links to their release pages

==============================================================================*/

#include // By Y_Less: https://github.com/Southclaw/sscanf2
#include // By Y_Less, 3.1: https://github.com/Southclaw/YSI-3.1
#include
#include
#include
#include
#include
#include

#include "SS\Core\Server\Hooks.pwn" // Internal library for hooking functions before they are used in external libraries.

#include // By Zeex http://forum.sa-mp.com/showthread.php?t=262796
#include // By Incognito, 2.7: http://forum.sa-mp.com/showthread.php?t=102865
#include // By Incognito, 1.4.5: http://forum.sa-mp.com/showthread.php?t=98803
#include // By Incognito, 2.4: http://forum.sa-mp.com/showthread.php?t=75605
#include // By BlueG, v0.2b: http://forum.sa-mp.com/showthread.php?t=333934
#include // By Slice, v0.9.7: http://forum.sa-mp.com/showthread.php?t=303682
#include // By Slice: http://forum.sa-mp.com/showthread.php?t=313488
#include // By Slice: http://forum.sa-mp.com/showthread.php?t=362764
#include // By Slice: http://forum.sa-mp.com/showthread.php?t=343172
#include // By Whitetiger: https://github.com/Whitetigerswt/SAMP-geoip

#define time ctime_time
#include // By RyDeR: http://forum.sa-mp.com/showthread.php?t=294054
#undef time

#include // By Toribio/Southclaw: https://github.com/Southclaw/PlayerProgressBar
#include // By JaTochNietDan, 1.5: http://forum.sa-mp.com/showthread.php?t=92246

#include // By Southclaw: https://github.com/Southclaw/SimpleINI
#include // By Southclaw: https://github.com/Southclaw/modio
#include // By Southclaw, HEAD: https://github.com/Southclaw/SIF
#include
#include
#include
#include
#include
#include
#include
#include // By Southclaw: https://github.com/Southclaw/AdvancedWeaponData
#include // By Southclaw: https://github.com/Southclaw/Line
#include // By Southclaw: https://github.com/Southclaw/Zipline
#include // By Southclaw: https://github.com/Southclaw/Ladder
#include // a INLUDE DO VIP
#include // include sistema de score
native WP_Hash(buffer[], len, const str[]);
// By Y_Less: http://forum.sa-mp.com/showthread.php?t=65290


//--------[> Cores <]--------
#define Vermelho 0xD30000FF
#define CorVip 0xA061FFFF
#define CorAdmin 0xFF4141FF
#define Verde 0x006D00FF

// Sistema de VIP
#define DIALOG_COR_VIP 5001


#define SendClientFormat(%0,%1,%2,%3); \
format(Str, sizeof(Str), %2, %3); SendClientMessage(%0, %1, Str);

#define SendClientFormatToAll(%0,%1,%2); \
format(Str, sizeof(Str), %1, %2); SendClientMessageToAll(%0, Str);

#define @_CallBack:%0(%1) \
forward%0(%1); public%0(%1)


new Str[128];
// FIM DO SISTEMA VIP






/*==============================================================================

Definitions

==============================================================================*/


// Limits
#define MAX_MOTD_LEN (128)
#define MAX_WEBSITE_NAME (64)
#define MAX_RULE (24)
#define MAX_RULE_LEN (128)
#define MAX_STAFF (24)
#define MAX_STAFF_LEN (24)
#define MAX_PLAYER_FILE (MAX_PLAYER_NAME+16)
#define MAX_ADMIN (48)
#define MAX_PASSWORD_LEN (129)
#define MAX_GPCI_LEN (41)
#define MAX_HOST_LEN (256)


// Directories
#define DIRECTORY_SCRIPTFILES "./scriptfiles/"
#define DIRECTORY_MAIN "SSS/"


// Files
#define ACCOUNT_DATABASE DIRECTORY_MAIN"accounts.db"
#define WORLD_DATABASE DIRECTORY_MAIN"world.db"
#define SETTINGS_FILE DIRECTORY_MAIN"settings.ini"


// Macros
#define t:%1<%2> ((%1)|=(%2))
#define f:%1<%2> ((%1)&=~(%2))

#define SetSpawn(%0,%1,%2,%3,%4) SetSpawnInfo(%0, NO_TEAM, 0, %1, %2, %3, %4, 0,0,0,0,0,0)

#define CMD:%1(%2) forward cmd_%1(%2);\
public cmd_%1(%2)

#define ACMD:%1[%2](%3) forward acmd_%1_%2(%3);\
public acmd_%1_%2(%3)

#define SCMD:%1(%2) forward scmd_%1(%2);\
public scmd_%1(%2)

#define HOLDING(%0) ((newkeys & (%0)) == (%0))
#define RELEASED(%0) (((newkeys & (%0)) != (%0)) && ((oldkeys & (%0)) == (%0)))
#define PRESSED(%0) (((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))

#define IsValidPlayerID(%0) (0<=%0

// Colours
#define YELLOW 0xFFFF00FF

#define RED 0xFF0000FF
#define GREEN 0x33AA33FF
#define BLUE 0x33CCFFFF

#define ORANGE 0xFFAA00FF
#define GREY 0xAFAFAFFF
#define PINK 0xFFC0CBFF
#define NAVY 0x000080FF
#define GOLD 0xB8860BFF
#define LGREEN 0x00FD4DFF
#define TEAL 0x008080FF
#define BROWN 0xA52A2AFF
#define AQUA 0xF0F8FFFF
#define ROSA                        0xFF84DBFF
#define CorLevel                    0x2BFF00FF
#define AYE                         0xFF4C4CFF

#define BLACK 0x000000FF
#define WHITE 0xFFFFFFFF
#define CHAT_LOCAL 0xADABD1FF
#define CHAT_RADIO 0xCFD1ABFF


// Embedding Colours
#define C_YELLOW "{FFFF00}"

#define C_RED "{E85454}"
#define C_GREEN "{33AA33}"
#define C_BLUE "{33CCFF}"

#define C_ORANGE "{FFAA00}"
#define C_GREY "{AFAFAF}"
#define C_PINK "{FFC0CB}"
#define C_NAVY "{000080}"
#define C_GOLD "{B8860B}"
#define C_LGREEN "{00FD4D}"
#define C_TEAL "{008080}"
#define C_BROWN "{A52A2A}"
#define C_AQUA "{F0F8FF}"

#define C_BLACK "{000000}"
#define C_WHITE "{FFFFFF}"

#define C_SPECIAL "{0025AA}"


// Body parts
#define BODY_PART_TORSO (3)
#define BODY_PART_GROIN (4)
#define BODY_PART_LEFT_ARM (5)
#define BODY_PART_RIGHT_ARM (6)
#define BODY_PART_LEFT_LEG (7)
#define BODY_PART_RIGHT_LEG (Cool
#define BODY_PART_HEAD (9)

// Sistema de Mensagens Randomicas/Aleatorias
forward mMensagens();

new RandomColors [] =
{
0xFF5A00FF,
0xDB0000FF,
0x6ED0FFFF,
0x4D8700FF,
0xFF0091FF,
0xFFFF00FF,
0xADADADFF,
0x1F91FCFF
};

new Mensagens[][] =
{
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
""
};

// Report types
#define REPORT_TYPE_PLAYER_ID "PLY ID"
#define REPORT_TYPE_PLAYER_NAME "PLY NAME"
#define REPORT_TYPE_PLAYER_CLOSE "PLY CLOSE"
#define REPORT_TYPE_PLAYER_KILLER "PLY KILL"
#define REPORT_TYPE_TELEPORT "TELE"
#define REPORT_TYPE_SWIMFLY "FLY"
#define REPORT_TYPE_VHEALTH "VHP"
#define REPORT_TYPE_CAMDIST "CAM"
#define REPORT_TYPE_CARNITRO "NOS"
#define REPORT_TYPE_CARHYDRO "HYDRO"
#define REPORT_TYPE_CARTELE "VTP"
#define REPORT_TYPE_HACKTRAP "TRAP"
#define REPORT_TYPE_LOCKEDCAR "LCAR"
#define REPORT_TYPE_AMMO "AMMO"
#define REPORT_TYPE_SHOTANIM "ANIM"
#define REPORT_TYPE_BADHITOFFSET "BHIT"
#define REPORT_TYPE_BAD_SHOT_WEAP "BSHT"


// Genders
#define GENDER_MALE (0)
#define GENDER_FEMALE (1)


// Key text
#define KEYTEXT_INTERACT "~k~~VEHICLE_ENTER_EXIT~"
#define KEYTEXT_RELOAD "~k~~PED_ANSWER_PHONE~"
#define KEYTEXT_PUT_AWAY "~k~~CONVERSATION_YES~"
#define KEYTEXT_DROP_ITEM "~k~~CONVERSATION_NO~"
#define KEYTEXT_INVENTORY "~k~~GROUP_CONTROL_BWD~"
#define KEYTEXT_ENGINE "~k~~CONVERSATION_YES~"
#define KEYTEXT_LIGHTS "~k~~CONVERSATION_NO~"
#define KEYTEXT_DOORS "~k~~TOGGLE_SUBMISSIONS~"
#define KEYTEXT_RADIO "R"

// Attachment slots
enum
{
ATTACHSLOT_ITEM, // 0 - Same as SIF/Item
ATTACHSLOT_BAG, // 1 - Bag on back
ATTACHSLOT_HOLSTER, // 2 - Item holstering
ATTACHSLOT_HAT, // 3 - Head-wear slot
ATTACHSLOT_FACE, // 4 - Face-wear slot
ATTACHSLOT_BLOOD, // 5 - Bleeding particle effect
ATTACHSLOT_ARMOUR // 6 - Armour model slot
}


/*==============================================================================

Global values

==============================================================================*/


new
bool: gServerInitialising = true,
gServerInitialiseTick,
bool: gServerRestarting = false,
gServerMaxUptime,
gServerUptime,
gGlobalDebugLevel;

// DATABASES
new
DB: gAccounts;

// GLOBAL SERVER SETTINGS (Todo: modularise)
new
// player
gMessageOfTheDay[MAX_MOTD_LEN],
gWebsiteURL[MAX_WEBSITE_NAME],
gRuleList[MAX_RULE][MAX_RULE_LEN],
gStaffList[MAX_STAFF][MAX_STAFF_LEN],

// server
bool: gPauseMap,
bool: gInteriorEntry,
bool: gPlayerAnimations,
bool: gVehicleSurfing,
Float: gNameTagDistance,
gCombatLogWindow,
gLoginFreezeTime,
gMaxTaboutTime,
gPingLimit;

// INTERNAL
new
gBigString[MAX_PLAYERS][4096],
gTotalRules,
gTotalStaff;

new stock
GLOBAL_DEBUG = -1;


/*==============================================================================

Gamemode Scripts

==============================================================================*/


// API Pre
#tryinclude "ss/extensions/ext_pre.pwn"

// UTILITIES
#include "SS/utils/math.pwn"
#include "SS/utils/misc.pwn"
#include "SS/utils/time.pwn"
#include "SS/utils/camera.pwn"
#include "SS/utils/message.pwn"
#include "SS/utils/vehicle.pwn"
#include "SS/utils/vehicledata.pwn"
#include "SS/utils/vehicleparts.pwn"
#include "SS/utils/zones.pwn"
#include "SS/utils/player.pwn"
#include "SS/utils/object.pwn"
#include "SS/utils/tickcountfix.pwn"
#include "SS/utils/string.pwn"
#include "SS/utils/debug.pwn"
#include "SS/utils/dialog-pages.pwn"

// SERVER CORE
#include "SS/Core/Server/Settings.pwn"
#include "SS/Core/Server/TextTags.pwn"
#include "SS/Core/Server/Weather.pwn"
#include "SS/Core/Server/SaveBlock.pwn"
#include "SS/Core/Server/ActivityLog.pwn"
#include "SS/Core/Server/FileCheck.pwn"
#include "SS/Core/Server/Sockets.pwn"
#include "SS/Core/Server/InfoMessage.pwn"

/*
PARENT SYSTEMS
Modules that declare setup functions and constants used throughout.
*/
#include "SS/Core/Vehicle/VehicleType.pwn"
#include "SS/Core/Vehicle/Core.pwn"
#include "SS/Core/Player/Core.pwn"
#include "SS/Core/Player/SaveLoad.pwn"
#include "SS/Core/Admin/Core.pwn"
#include "SS/Core/Char/Holster.pwn"
#include "SS/Core/Weapon/ammunition.pwn"
#include "SS/Core/Weapon/damage.core.pwn"
#include "SS/Core/UI/HoldAction.pwn"

/*
MODULE INITIALISATION CALLS
Calls module constructors to set up entity types.
*/
#include "SS/Core/Server/Init.pwn"

/*
CHILD SYSTEMS
Modules that do not declare anything globally accessible besides interfaces.
*/
// VEHICLE
#include "SS/Core/Vehicle/PlayerVehicle.pwn"
#include "SS/Core/Vehicle/LootVehicle.pwn"
#include "SS/Core/Vehicle/Spawn.pwn"
#include "SS/Core/Vehicle/Interact.pwn"
#include "SS/Core/Vehicle/Trunk.pwn"
#include "SS/Core/Vehicle/Repair.pwn"
#include "SS/Core/Vehicle/LockBreak.pwn"
#include "SS/Core/Vehicle/Locksmith.pwn"
#include "SS/Core/Vehicle/Carmour.pwn"
#include "SS/Core/Vehicle/Lock.pwn"
#include "SS/Core/Vehicle/AntiNinja.pwn"
#include "SS/Core/Vehicle/BikeCollision.pwn"
#include "SS/Core/Vehicle/Trailer.pwn"

// PLAYER INTERNAL SCRIPTS
#include "SS/Core/Player/Accounts.pwn"
#include "SS/Core/Player/Aliases.pwn"
#include "SS/Core/Player/ipv4-log.pwn"
#include "SS/Core/Player/gpci-log.pwn"
#include "SS/Core/Player/gpci-whitelist.pwn"
#include "SS/Core/Player/Brightness.pwn"
#include "SS/Core/Player/Spawn.pwn"
#include "SS/Core/Player/Damage.pwn"
#include "SS/Core/Player/Death.pwn"
#include "SS/Core/Player/Tutorial.pwn"
#include "SS/Core/Player/WelcomeMessage.pwn"
#include "SS/Core/Player/Chat.pwn"
#include "SS/Core/Player/CmdProcess.pwn"
#include "SS/Core/Player/Commands.pwn"
#include "SS/Core/Player/AfkCheck.pwn"
#include "SS/Core/Player/AltTabCheck.pwn"
#include "SS/Core/Player/DisallowActions.pwn"
#include "SS/Core/Player/ToolTips.pwn"
#include "SS/Core/Player/Whitelist.pwn"
#include "SS/Core/Player/IRC.pwn"
#include "SS/Core/Player/Country.pwn"

// CHARACTER SCRIPTS
#include "SS/Core/Char/Food.pwn"
#include "SS/Core/Char/Drugs.pwn"
#include "SS/Core/Char/Clothes.pwn"
#include "SS/Core/Char/Hats.pwn"
#include "SS/Core/Char/Inventory.pwn"
#include "SS/Core/Char/Animations.pwn"
#include "SS/Core/Char/MeleeItems.pwn"
#include "SS/Core/Char/KnockOut.pwn"
#include "SS/Core/Char/Disarm.pwn"
#include "SS/Core/Char/Overheat.pwn"
#include "SS/Core/Char/Infection.pwn"
#include "SS/Core/Char/Backpack.pwn"
#include "SS/Core/Char/HandCuffs.pwn"
#include "SS/Core/Char/Medical.pwn"
#include "SS/Core/Char/AimShout.pwn"
#include "SS/Core/Char/Masks.pwn"
#include "SS/Core/Char/Bleed.pwn"

// WEAPON
#include "SS/Core/Weapon/core.pwn"
#include "SS/Core/Weapon/interact.pwn"
#include "SS/Core/Weapon/damage.firearm.pwn"
#include "SS/Core/Weapon/damage.melee.pwn"
#include "SS/Core/Weapon/damage.vehicle.pwn"
#include "SS/Core/Weapon/damage.explosive.pwn"
#include "SS/Core/Weapon/damage.world.pwn"
#include "SS/Core/Weapon/animset.pwn"
#include "SS/Core/Weapon/misc.pwn"
#include "SS/Core/Weapon/AntiCombatLog.pwn"
#include "SS/Core/Weapon/tracer.pwn"

// UI
#include "SS/Core/UI/Radio.pwn"
#include "SS/Core/UI/TipText.pwn"
#include "SS/Core/UI/KeyActions.pwn"
#include "SS/Core/UI/Watch.pwn"
#include "SS/Core/UI/Keypad.pwn"
#include "SS/Core/UI/BodyPreview.pwn"

// WORLD ENTITIES
#include "SS/Core/World/Fuel.pwn"
#include "SS/Core/World/Barbecue.pwn"
#include "SS/Core/World/Defences.pwn"
#include "SS/Core/World/GraveStone.pwn"
#include "SS/Core/World/SafeBox.pwn"
#include "SS/Core/World/Tent.pwn"
#include "SS/Core/World/Campfire.pwn"
#include "SS/Core/World/Workbench.pwn"
#include "SS/Core/World/Emp.pwn"
#include "SS/Core/World/Explosive.pwn"
#include "SS/Core/World/Sign.pwn"
#include "SS/Core/World/SupplyCrate.pwn"
#include "SS/Core/World/WeaponsCache.pwn"
#include "SS/Core/World/Loot.pwn"

// ADMINISTRATION TOOLS
#include "SS/Core/Admin/Report.pwn"
#include "SS/Core/Admin/Report_cmds.pwn"
#include "SS/Core/Admin/HackDetect.pwn"
#include "SS/Core/Admin/HackTrap.pwn"
#include "SS/Core/Admin/Ban.pwn"
#include "SS/Core/Admin/BanCommand.pwn"
#include "SS/Core/Admin/BanList.pwn"
#include "SS/Core/Admin/Spectate.pwn"
#include "SS/Core/Admin/Level1.pwn"
#include "SS/Core/Admin/Level2.pwn"
#include "SS/Core/Admin/Level3.pwn"
#include "SS/Core/Admin/Level4.pwn"
#include "SS/Core/Admin/Level5.pwn"
#include "SS/Core/Admin/BugReport.pwn"
#include "SS/Core/Admin/detfield.pwn"
#include "SS/Core/Admin/detfield_cmds.pwn"
#include "SS/Core/Admin/detfield_draw.pwn"
#include "SS/Core/Admin/Mute.pwn"
#include "SS/Core/Admin/Rcon.pwn"
#include "SS/Core/Admin/Freeze.pwn"
#include "SS/Core/Admin/NameTags.pwn"
#include "SS/Core/Admin/FreeCam.pwn"
#include "SS/Core/Admin/PlayerList.pwn"

// ITEMS
#include "SS/Core/Item/Food.pwn"
#include "SS/Core/Item/firework.pwn"
#include "SS/Core/Item/bottle.pwn"
#include "SS/Core/Item/TntTimeBomb.pwn"
#include "SS/Core/Item/Sign.pwn"
#include "SS/Core/Item/shield.pwn"
#include "SS/Core/Item/HandCuffs.pwn"
#include "SS/Core/Item/wheel.pwn"
#include "SS/Core/Item/gascan.pwn"
#include "SS/Core/Item/armyhelm.pwn"
#include "SS/Core/Item/zorromask.pwn"
#include "SS/Core/Item/headlight.pwn"
#include "SS/Core/Item/pills.pwn"
#include "SS/Core/Item/dice.pwn"
#include "SS/Core/Item/armour.pwn"
#include "SS/Core/Item/injector.pwn"
#include "SS/Core/Item/TntPhoneBomb.pwn"
#include "SS/Core/Item/TntTripMine.pwn"
#include "SS/Core/Item/parachute.pwn"
#include "SS/Core/Item/molotov.pwn"
#include "SS/Core/Item/screwdriver.pwn"
#include "SS/Core/Item/torso.pwn"
#include "SS/Core/Item/ammotin.pwn"
#include "SS/Core/Item/tentpack.pwn"
#include "SS/Core/Item/campfire.pwn"
#include "SS/Core/Item/cowboyhat.pwn"
#include "SS/Core/Item/truckcap.pwn"
#include "SS/Core/Item/boaterhat.pwn"
#include "SS/Core/Item/bowlerhat.pwn"
#include "SS/Core/Item/policecap.pwn"
#include "SS/Core/Item/tophat.pwn"
#include "SS/Core/Item/herpderp.pwn"
#include "SS/Core/Item/TntProxMine.pwn"
#include "SS/Core/Item/IedTimebomb.pwn"
#include "SS/Core/Item/IedTripMine.pwn"
#include "SS/Core/Item/IedProxMine.pwn"
#include "SS/Core/Item/IedPhoneBomb.pwn"
#include "SS/Core/Item/EmpTimebomb.pwn"
#include "SS/Core/Item/EmpTripMine.pwn"
#include "SS/Core/Item/EmpProxMine.pwn"
#include "SS/Core/Item/EmpPhoneBomb.pwn"
#include "SS/Core/Item/GasMask.pwn"
#include "SS/Core/Item/HockeyMask.pwn"
#include "SS/Core/Item/XmasHat.pwn"
#include "SS/Core/Item/StunGun.pwn"
#include "SS/Core/Item/note.pwn"
#include "SS/Core/Item/SeedBag.pwn"
#include "SS/Core/Item/PlantPot.pwn"
#include "SS/Core/Item/HeartShapedBox.pwn"

// GAME DATA LOADING
#include "SS/Data/Loot.pwn"
#include "SS/Data/Vehicle.pwn"
//#include "SS/Data/Weapon.pwn"


// POST-CODE

#include "SS/Core/Server/Autosave.pwn"
#tryinclude "ss/extensions/ext_post.pwn"

// WORLD

#include "SS/World/World.pwn"

#if !defined GetMapName
#error World script MUST have a "GetMapName" function!
#endif

#if !defined GenerateSpawnPoint
#error World script MUST have a "GenerateSpawnPoint" function!
#endif


static
Text:RestartCount = Text:INVALID_TEXT_DRAW;

main()
{
print("\n\n/*==============================================================================\n\n");
print("    Southclaw's Scavengeand Survive");
print("\n\n==============================================================================*/\n\n");

gServerInitialising = false;
gServerInitialiseTick = GetTickCount();
}

/*
This is called absolutely first before any other call.
*/
OnGameModeInit_Setup()
{
print("\n[OnGameModeInit_Setup] Setting up...");

Streamer_ToggleErrorCallback(true);
if(!dir_exists(DIRECTORY_SCRIPTFILES))
{
print("ERROR: Directory '"DIRECTORY_SCRIPTFILES"' not found. Creating directory.");
dir_create(DIRECTORY_SCRIPTFILES);
}

if(!dir_exists(DIRECTORY_SCRIPTFILES DIRECTORY_MAIN))
{
print("ERROR: Directory '"DIRECTORY_SCRIPTFILES DIRECTORY_MAIN"' not found. Creating directory.");
dir_create(DIRECTORY_SCRIPTFILES DIRECTORY_MAIN);
}

gAccounts = db_open_persistent(ACCOUNT_DATABASE);

LoadSettings();

SendRconCommand(sprintf("mapname %s", GetMapName()));

GetSettingInt("server/global-debug-level", 0, gGlobalDebugLevel);
GLOBAL_DEBUG = debug_register_handler("GLOBAL", gGlobalDebugLevel);

RestartCount =TextDrawCreate(430.000000, 10.000000, "Server Restart In:~n~00:00");
TextDrawAlignment (RestartCount, 2);
TextDrawBackgroundColor (RestartCount, 255);
TextDrawFont (RestartCount, 1);
TextDrawLetterSize (RestartCount, 0.400000, 2.000000);
TextDrawColor (RestartCount, -1);
TextDrawSetOutline (RestartCount, 1);
TextDrawSetProportional (RestartCount, 1);
}

public OnGameModeExit()
{
print("\n[OnGameModeExit] Shutting down...");
new File:f = fopen("nonexistentfile", io_read), _s[1];
if(f){
fread(f, _s);
fclose(f);
}
for(new i=0; i DOF2_Exit();
return 1;
}

public OnScriptExit()
{
print("\n[OnScriptExit] Shutting down...");
}

forward SetRestart(seconds);
public SetRestart(seconds)
{
printf("Restarting server in: %ds", seconds);
gServerUptime = gServerMaxUptime - seconds;
}

RestartGamemode()
{
log("[RestartGamemode] Initialising gamemode restart...");
gServerRestarting = true;

foreach(new i : Player)
{
SavePlayerData(i);
ResetVariables(i);
}

SendRconCommand("gmx");

MsgAll(BLUE, " ");
MsgAll(BLUE, " ");
MsgAll(BLUE, " ");
MsgAll(BLUE, " ");
MsgAll(BLUE, " ");
MsgAll(BLUE, " ");
MsgAll(BLUE, " ");
MsgAll(BLUE, " ");
MsgAll(BLUE, "----------------------------------------------------------------------------------------------------------");
MsgAll(YELLOW, "O servidor está reiniciando, por favor aguarde...");
MsgAll(BLUE, "----------------------------------------------------------------------------------------------------------");
}

task RestartUpdate[1000]()
{
if(gServerMaxUptime > 0)
{
if(gServerUptime >= gServerMaxUptime)
{
RestartGamemode();
}

if(gServerUptime >= gServerMaxUptime - 3600)
{
new str[36];
format(str, 36, "Reiniciando servidor em:~n~%02d:%02d", (gServerMaxUptime - gServerUptime) / 60, (gServerMaxUptime - gServerUptime) % 60);
TextDrawSetString(RestartCount, str);

foreach(new i : Player)
{
if(GetPlayerBitFlag(i, ShowHUD))
TextDrawShowForPlayer(i, RestartCount);

else
TextDrawHideForPlayer(i, RestartCount);
}
}

gServerUptime++;
}
}

DirectoryCheck(directory[])
{
if(!dir_exists(directory))
{
printf("ERROR: Directory '%s' not found. Creating directory.", directory);
dir_create(directory);
}
}

DatabaseTableCheck(DB:database, tablename[], expectedcolumns)
{
new
query[96],
DBResult:result,
dbcolumns;

format(query, sizeof(query), "pragma table_info(%s)", tablename);
result = db_query(database, query);

dbcolumns = db_num_rows(result);

if(dbcolumns != expectedcolumns)
{
printf("ERROR: Table '%s' has %d columns, expected %d:", tablename, dbcolumns, expectedcolumns);
print("Please verify table structure against column list in script.");

// Put the server into a loop to stop it so the user can read the message.
// It won't function correctly with bad databases anyway.
for(;Wink{}
}
}

public Streamer_OnPluginError()
{
PrintAmxBacktrace();
}


// Sistema de Mensagens Randomicas/Aleatorias
public mMensagens()
{
new random2 = random(sizeof(RandomColors));
new randMSG = random(sizeof(Mensagens));
SendClientMessageToAll(RandomColors[random2], Mensagens[randMSG]);
}

// Sistema de Vip
@_CallBack: ChatVIP(COLOR, TextoVIP[], playerid)
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(IsPlayerVIP(i))
{
SendClientMessage(i, COLOR, TextoVIP);
}
}
}
return 1;
}

stock SetarV(playerid, dias)
{
format(Str, sizeof(Str), "/VIPs/%s.ini", PlayerName(playerid) );

if( !IsPlayerVIP(playerid) ) {

DOF2_CreateFile(Str);
DOF2_SetInt(Str, "Vencimento", ( gettime() + (dias * 86400) ) );
DOF2_SetInt(Str, "CorVIP", 1);
DOF2_SaveFile();
}
else {

DOF2_SetInt(Str, "Vencimento", ( DOF2_GetInt(Str, "Vencimento") + (dias * 86400) ) );
DOF2_SaveFile();
}
return 1;
}

stock RemoverV(playerid)
{
format(Str, sizeof(Str), "/VIPs/%s.ini", PlayerName(playerid) );
DOF2_RemoveFile(Str);
DOF2_SaveFile();
return 1;
}

stock IsPlayerVIP(playerid)
{
format(Str, sizeof(Str), "/VIPs/%s.ini", PlayerName(playerid) );

if(DOF2_FileExists(Str))
return 1;

return 0;
}


stock PlayerName(playerid)
{
new Nomee[MAX_PLAYERS];
GetPlayerName(playerid, Nomee, MAX_PLAYERS);
return Nomee;
}

Jonathan_Santos

Por favor alguem me ajuda - Sab 19 Jan 2019 - 22:06

eu coloquei as includes essas includes 

#include //Adicionando o ZCMD
#include //Adicionando o sscanf
#include //Adicionando o DOF2

mais ta dando 29 avisos oque eu fasso

Jonathan_Santos

Por favor alguem me ajuda - Sab 19 Jan 2019 - 21:38

primeiro as difines que apareceram aqui e 

#define Civil 0
#define PoliciaM 1
#define BOPE 2
#define Exercito 3
#define SAMU 4
#define Ballas 5
#define Groove 6
#define FARC 7
#define Globo 8
#define Hamas 9
#define Alqaeda 10

as difines de cores 

#define C_Civil 0xFFFFFFAA
#define C_PoliciaM 0x9999FFF6
#define C_BOPE 0x666699F6
#define C_Exercito 0x00660CF6
#define C_SAMU 0xCC6666F6
#define C_Ballas 0x005FFFFF
#define C_Groove 0x109FFFAA
#define C_FARC 0x009999F6
#define C_Globo 0xA9A9A9F6
#define C_Hamas 0xFF9900AA
#define C_Alqaeda 0x660066F6

#define COR_ERRO 0xAD0000AA
#define COR_SUCESSO 0x00AB00AA
#define COR_AV_ADM 0x007CF6AA
#define COR_AZUL_CLARO 0x00F6F6AA
#define COR_RAD 0x4876FFAA

as news

enum PlayerDados
{
    Organizacao,
    Cargo
}
new pDados[MAX_PLAYERS][PlayerDados]; //Criamos a varíavel que amarzenará os Dados do player

agora as includes

#include //Adicionando o ZCMD
#include //Adicionando o sscanf
#include //Adicionando o DOF2

apareceu aqui para colocar na gamemod exit

 DOF2_Exit();

agora na onplayerrequest

 SpawnPlayer(playerid); //Ao aparecer aqueles setinhas (<<< >>> SPAWN), o jgador irá levar Spawn

agora na onplayerconect

new arquivo[34], playername[MAX_PLAYER_NAME]; //Criamos as váriaveos que irão armazenar o arquivo e o nome do jogador
    GetPlayerName(playerid, playername, sizeof(playername)); //Getamos o nome do player
    format(arquivo, sizeof(arquivo), "Gangs/%s", playername); //Formatamos o arquivo de acordo com o nome do player (Contas/NOME)
    pDados[playerid][Organizacao] = DOF2_GetInt(arquivo, "Organização");
    pDados[playerid][Cargo] = DOF2_GetInt(arquivo, "Cargo");
    SpawnPlayer(playerid); //Dá SPAWN no player

na onplayerdisconect

 new arquivo[34], playername[MAX_PLAYER_NAME]; //Criamos as váriaveos que irão armazenar o arquivo e o nome do jogador
    GetPlayerName(playerid, playername, sizeof(playername)); //Getamos o nome do player
    format(arquivo, sizeof(arquivo), "Gangs/%s", playername); //Formatamos o arquivo de acordo com o nome do player (Contas/NOME)
    if(DOF2_FileExists(arquivo)) //Se a Conta existir
    {
        DOF2_SetInt(arquivo, "Organização", pDados[playerid][Organizacao]); //Setamos o valor de "pDados[playerid][Organizacao]" no "arquivo", com a TAG "Organização"
        DOF2_SetInt(arquivo, "Cargo", pDados[playerid][Cargo]); //Setamos o valor de "pDados[playerid][Cargo]" no "arquivo", com a TAG "Cargo"
    }
    else //Se a conta não esxitir
    {
        DOF2_CreateFile(arquivo); //Cria o arquivo com os Dados do player
        DOF2_SetInt(arquivo, "Organização", pDados[playerid][Organizacao]); //Setamos o valor de "pDados[playerid][Organizacao]" no "arquivo", com a TAG "Organização"
        DOF2_SetInt(arquivo, "Cargo", pDados[playerid][Cargo]); //Setamos o valor de "pDados[playerid][Cargo]" no "arquivo", com a TAG "Cargo"
    }

na onplayerupatd

  new arquivo[34], playername[MAX_PLAYER_NAME]; //Criamos as váriaveos que irão armazenar o arquivo e o nome do jogador
    GetPlayerName(playerid, playername, sizeof(playername)); //Getamos o nome do player
    format(arquivo, sizeof(arquivo), "Gangs/%s", playername); //Formatamos o arquivo de acordo com o nome do player (Contas/NOME)
    if(DOF2_FileExists(arquivo)) //Se a Conta existir
    {
        DOF2_SetInt(arquivo, "Organização", pDados[playerid][Organizacao]); //Setamos o valor de "pDados[playerid][Organizacao]" no "arquivo", com a TAG "Organização"
        DOF2_SetInt(arquivo, "Cargo", pDados[playerid][Cargo]); //Setamos o valor de "pDados[playerid][Cargo]" no "arquivo", com a TAG "Cargo"
    }
    else //Se a conta não esxitir
    {
        DOF2_CreateFile(arquivo); //Cria o arquivo com os Dados do player
        DOF2_SetInt(arquivo, "Organização", pDados[playerid][Organizacao]); //Setamos o valor de "pDados[playerid][Organizacao]" no "arquivo", com a TAG "Organização"
        DOF2_SetInt(arquivo, "Cargo", pDados[playerid][Cargo]); //Setamos o valor de "pDados[playerid][Cargo]" no "arquivo", com a TAG "Cargo"
    }

e paar colocar isso onde

como eu fasso para ser adm na gm Brasil play facil - Sex 23 Nov 2018 - 10:25

e a linha 4 que da o erro

// Censurado OWNA PORRAAAAAAAAAAAAAAAAAAAAAAAAAAAA
// GAME-MODE CODADA POR: Krypt_Crazzy & ElSir_Divu
#include                   
#include                   
#include                 "../BPS_Includes/config.cfg"
#define sSenhaMestra "34813794"
#define Pasta_Contas         "Contas/%s.ini"
#define Pasta_CharAttach     "CharAttach/%s.ini"
#define Pasta_Inventario     "Inventario/%s.ini"
#define Pasta_Atividades     "Atividade/%s.ini"
#define Pasta_Casas           "Props/Casas/Casa_%d.ini"
#define Pasta_Carros         "Props/Carros/Carro_%d.ini"
#define Pasta_Empresas       "Props/Empresas/Empresa_%d.ini"
#define Pasta_SEmpresas       "Props/MiniEmpresas/MiniEmpresa_%d.ini"

VictorMn

Erro ao tentar compilar - Sex 16 Nov 2018 - 14:16

bem estou sofrendo esse erro ao compilar meu arquivo,.

C:\Users\Viih.Francisco-PC\Downloads\Leonardo Bradoks - Pawn Infernus\voar.pwn(1) : error fatal: 100: cannot read from file: "a_samp" erro

linha do erro
#include

Obs ja possou esse inclued

Weslley_Script

Reparar Carros S&S - Ter 11 Set 2018 - 18:50

Cara eu fiz

no meu rpg, mas ve se te ajuda>>

Código:

 if(strcmp(cmd, "/consertar", true) == 0) {
 if(Profissao[playerid] == GM ||Profissao[playerid] == MECANICO ||IsPlayerAdmin(playerid)) {
 if(IsPlayerInAnyVehicle(playerid)){
 new veiculo;
 veiculo = GetPlayerVehicleID(playerid);
 SetVehicleHealth(veiculo,1000); //Nao conserta <<< OBS> Corrigido1>
 RepairVehicle(veiculo); //Acrescentado e corringido lataria bonita xD^^Kin
 SendClientMessage(playerid,COLOR_GRAY,"Carro consertado.");
 return 1;
 }
 }
 }

Nao esquece de por o include #include

JoaoSoares

Sistema de mochila ativar/desativar. - Ter 31 Jul 2018 - 17:24

Oi galera ;-; 

tava sem nd para fazer e decidi partilhar um codigo interresante!


Codigo

Código:
CMD:ativarmochila(playerid)
{
   SetPlayerAttachedObject(playerid, 1, 3026, 1, -0.16, -0.08, 0.0, 0.5, 0.5, 0.0);
   SendClientMessage(playerid, 0x058AFFFF, " Você colocou sua mochila nas costas.");
    return 1;
}

CMD:desativarmochila(playerid)
{
   RemovePlayerAttachedObject(playerid, 1);
   SendClientMessage(playerid, 0xFFFFFFFF, " Sua mochila foi guardada ");
   return 1;
}



Include > ZCMD.


Download da include ZCMD > https://www.sendspace.com/file/0rze5j


Para instalar a include, abra sua gm e coloque #Include zcmd

Não sabe onde colocar o zcmd?

PastaGamemode/pawno/include é so jogar la dentro.

Espero ter ajudado ! abraços

Whesley_

erro na minha gm de scavenge, add tudo e n vai - Sab 10 Mar 2018 - 23:23

#include // By Y_Less, 3.1: https://github.com/Southclaw/YSI-3.1

Rowan

[TUTURIAL]como fazer um servidor em dois idiomas - Seg 8 Jan 2018 - 9:23

Bom galera venho trazer aqui meu primeiro tutorial, bem simples porém pode ser de grande utilidade a muitos.
Antes de tudo já aviso que a forma que irei fazer é a forma que aprendi e que acho mais simples.

Explicação

O sistema funcionará da seguinte forma , quando o jogador entrar no servidor irá aparecer um Dialog para que ele escolha a linguagem, a escolha do jogador será armazenada em uma variável global, essa variável não será adicionada na conta do jogador como o score,dinheiro , ou seja, suponhamos que Jogador1 entrou no servidor fez o login e spawnou, nesse momento o Jogador1 escolhe a linguagem que deseja e as configurações serão ajustadas de acordo com sua escolha até que ele deslogue. Quando o Jogador1 entrar no servidor novamente ele escolherá a linguagem que deseja novamente e as configurações que você deseja irão ser atribuídas para ele novamente.

Downloads

Caso queira seguir o tutorial todo e conseguir fazer tudo o que será feito aqui em baixo, baixe a include ZCMD.
Após fazer o download vá na pasta do seu servidor, abra a pasta Pawno e coloque o arquivo dentro da pasta Includes.

Iniciando

* Primeiro Passo : No topo do seu GM(Game-Mode) inclua as includes.
Code:
#include
#include
* Segundo Passo : Após incluir as includes devemos criar a variável Global que armazenará a Linguagem escolhida por cada jogador.
No topo do GM declare :
Code:
new pLinguagem[MAX_PLAYERS] = 0; //Criamos uma váriavel Global com o nome "pLinguagem" para armazenar a linguagem escolhida pelo jogador.
Explicação :
Code:
[MAX_PLAYERS] //Com essa função a variável será criada para cada player que conectar-se ao servidor.
Code:
= 0; //Definimos a variável de início para 0 onde para nós 0 significará NULA
0 = NULA (Sem Linguagem Selecionada)
1 = Inglês (Linguagem EN Selecionada)
2 = Português (Linguagem PT Selecionada)


* Terceiro Passo : Agora iremos definir a Dialog que será usada e a cor que será usada em um comando.
Ainda no topo do GM:
Code:
#define     DIALOG_LINGUAGEM        1
Code:
#define amarelo 0xFFFF00FF
Organize seu GM, não deixe tudo junto coloque cores juntas e separadas de Dialogs sempre adicionando comentários em seu GM se possível.

* Quarto Passo : Agora iremos criar a Dialog onde ao spawnar o player irá escolher a linguagem desejada.

Apertando (CTR + F) com o pawno aberto busque pela Public OnPlayerRequestSpawn(playerid) e coloque o código abaixo.
Code:
public OnPlayerRequestSpawn(playerid)
{
  ShowPlayerDialog(playerid, DIALOG_LINGUAGEM, DIALOG_STYLE_MSGBOX, "Language/Linguagem",
  "Just choose Your Language !\n\
  Apenas Escolha sua Linguagem !",
  "English", "Português");
  return 1;
}
Fiz a Dialog de maneira bem simples, caso queira pode sim implementar cores nas frases, mudar, adicionar ou remover-las.

Explicação :
Code:
public OnPlayerRequestSpawn(playerid) = Dentro dessa Public são colocadas funções para acontecerem assim que o jogador Spawnar.
ShowPlayerDialog = Função para mostrar a Dialog para o Player.
playerid = A Dialog será mostrada para um certo playerid.
DIALOG_LINGUAGEM = O nome da Dialog que será chamada (Definimos ela no topo do GM).
DIALOG_STYLE_MSGBOX = O estilo da Dialog que irá aparecer.
"Language/Linguagem" = Coloque dentro das Aspas o que você deseja como título da Dialog.
"Just choose Your Language !
Apenas Escolha sua Linguagem !" = Coloque dentro das Aspas oque você quer como descrição dentro da Dialog.
\n\ = Use quando quiser passar para a linha de baixo (Quebra de linha).
"English", "Português" = Dentro das primeiras Aspas coloque o nome do Botão1 ena segunda o Botão2.
* Quinto Passo : Agora iremos dar função para os dois botões da Dialog.
Novamente Apertando (CTR + F) busque pela Public public OnDialogResponse e coloque o código abaixo.

Code:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
  if(dialogid == DIALOG_LINGUAGEM)
  {
    if(response)
    {
       linguagem[playerid] = 1;
SendClientMessage(playerid, -1,"{BD0D0D}Try /help , and have a Good Game !");
     }else
       {
           linguagem[playerid] = 2;
           SendClientMessage(playerid, -1,"{BD0D0D}Digite /ajuda , e tenha um bom jogo !");
       }
   }
   return 1;
}
Explicação :

Code:
public OnDialogResponse = Nessa public definimos as respostas de cada botão na Dialog.
if(dialogid == DIALOG_LINGUAGEM) = Estrutura condicional para caso for chamada a DIALOG_LINGUAGEM.
if(response) = Estrutura condicional para caso o jogador clicar no primeiro botão (English)
linguagem[playerid] = 1; = Definimos a variável do jogador para 1 (English)
else = Caso não seja no primeiro botão, ou seja, no segundo (Português).
linguagem[playerid] = 2; = Definimos a variável do jogador para 2 (Português)
* Sexto Passo : Aqui será apenas um complemento para iniciantes caso queiram criar o comando /ajuda e /help.

Comando /ajuda :
Code:

CMD:ajuda(playerid)
{
 SendClientMessage(playerid, amarelo, "Para ver todos os comandos digite /cmds ou /comandos.");
 SendClientMessage(playerid, amarelo, "Para ver as regras do servidor digite /regras.");
 SendClientMessage(playerid, amarelo, "Para ver os creditos do servidor digite /creditos.");
 return 1;
}
Comando /help:
Code:

CMD:help(playerid)
{
 SendClientMessage(playerid, amarelo, "You can see all the commands using /cmds ou /commands.");
 SendClientMessage(playerid, amarelo, "You can see the rules writing /rules.");
 SendClientMessage(playerid, amarelo, "For see the credits of this server use /credits.");
 return 1;
}
Explicação Final

Você pode implementar muito mais esse sistema, eu apenas lhe dei a base mas você pode usar a variável como restrição de alguns comandos, exemplo (Pessoas que escolheram PT não podem usar comandos da área EN) isso é você quem decide ! Espero que façam bom proveito disso. Como foi meu primeiro tutorial e ainda estou estudando MUITO pawn, vejo que tenho muita coisa a aprender pela frente, portanto quaisquer críticas são Bem-Vindas desde que sejam para crescimento. Qualquer dúvida poste e eu tentarei ajudar.

Créditos
- Tutorial feito por mim ZackT.
- Retirei a ideia do SA-MP DayZ pois foi o primeiro servidor que vi com esse sistema.
- Ao Jonathan Feitosa, pois comentei o tutorial dele aqui.

Reajustes serão sempre feitos.

Dallas

Erro Na Gamemode Do BPF - Sex 17 Nov 2017 - 18:42

// ~~ Pastas e Includes do Servidor ~~
#include                   
#include                   
#include                "../BPS_Includes/config.cfg"
#define sSenhaMestra "290827"
#define Pasta_Contas          "Contas/%s.ini"
#define Pasta_CharAttach      "CharAttach/%s.ini"
#define Pasta_Inventario      "Inventario/%s.ini"
#define Pasta_Atividades      "Atividade/%s.ini"
#define Pasta_Casas          "Props/Casas/Casa_%d.ini"
#define Pasta_Carros          "Props/Carros/Carro_%d.ini"
#define Pasta_Empresas      "Props/Empresas/Empresa_%d.ini"
#define Pasta_SEmpresas      "Props/MiniEmpresas/MiniEmpresa_%d.ini"
#define Pasta_FEmpresas      "Props/Fazendas/Fazenda_%d.ini"
#define Pasta_Admins      "Props/Admins/%s.ini"
#define Pasta_AdminsTemp    "Props/AdminsTemp/%s.ini"
#define Pasta_AdminsList    "Props/AdminsList.cfg"
#define Pasta_AdminsListTemp "Props/AdminsListTemp.cfg"
#define Pasta_HelpersList  "Props/HelpersList.cfg"
#define Pasta_Helpers      "Props/Helpers/%s.ini"
#define Pasta_Banidos      "Banidos/%s.ini"
#define Pasta_IPsBanidos      "IPsBanidos/%s.ini"
#define Pasta_BanidosTemp  "BanidosTemp/%s.ini"
#define Pasta_IPsBanidosTemp "IPsBanidosTemp/%s.ini"
#define Pasta_CofreOrg      "Cofre Org/Org%d.cfg"
#define Pasta_Candidatos      "Candidatos/Org%d.cfg"
#define Pasta_MembrosOrg      "OrgMembros/Org%d.cfg"
#define Pasta_PatrociniosOrg    "Patrocinios/Org%d.cfg"
#define Pasta_Tfamilia    "TitulosFamilia/Org%d.cfg"
#define Pasta_BUGS      "BUGS.pwn"
#define Pasta_SUG        "Sugestoes.pwn"
#define Pasta_Araras      "Araras.txt"
#define Pasta_SenhaSeguranca    "SenhaSeguranca.ini"
#define Pasta_Logados    "Logados.ini"
#define Pasta_Logs              "Logs/%s.txt"
#define Pasta_Corridas          "Corrida_%d.cfg"
#define Pasta_Deletadas         "ContasDeletadas/%s.ini"
#define Pasta_Emails            "Emails/%s.ini"
#define Pasta_Olds              "Olds/%s.ini"
#define Pasta_Ranks             "rank/rank_%s.ini"
#define VEH_SAVE_FILE    "/SeifVehicle/%s.cfg"
#define OBJECT_FILE    "/Inventario/%s.cfg"
#define MAX_CON_PERM            3
#define MAX_TITULOS             13
#define EMAIL_SERVIDOR  ("servidor@brasilplayfacil.com.br")

OBS: As duas primeiras includes estão na .pwn mas nao ta aparecendo aqui n sei pq

Dallas

Erro Na Gamemode Do BPF - Sex 17 Nov 2017 - 16:17

//-------------- Configurações do servidor BPS ------------

#define MAILER_URL "bphregister.esy.es/Recuperar.php"
#include                "  ../BPS_Includes/a_samp.inc  "//SA-MP Team
#include                "  ../BPS_Includes/a_actor.inc  "//SA-MP Team
#include                "  ../BPS_Includes/core.inc  "//SA-MP Team
#include                "  ../BPS_Includes/a_players.inc  "//SA-MP Team
#include                "  ../BPS_Includes/a_objects.inc  "//SA-MP Team
#include                "  ../BPS_Includes/a_vehicles.inc  "//SA-MP Team
#include                        "  ../BPS_Includes/a_sampdb.inc  "//SA-MP Team
#include                "  ../BPS_Includes/float.inc  "//SA-MP Team
#include                "  ../BPS_Includes/string.inc  "//SA-MP Team
#include                "  ../BPS_Includes/time.inc  "//SA-MP Team
#include                "  ../BPS_Includes/datagram.inc  "//SA-MP Team
#include                "  ../BPS_Includes/file.inc  "//SA-MP Team
#include                "  ../BPS_Includes/a_npc.inc  "//SA-MP Team
#include                "  ..\BPS_Includes\for.inc  "//Y_Less
#include                "  ../BPS_Includes/DOF2.inc  "//Double-O-Seven
#include                "  ../BPS_Includes/zcmd.inc  "//ZeeX
#include                "  ../BPS_Includes/sscanf2.inc  "//Y_Less
#include                "  ../BPS_Includes/progressbar.inc  "//Flávio Tolibio
#include                "  ../BPS_Includes/#ds_ac#2.0.inc  "//dimmy_scarface (Anti Cheater)
#include                "  ../BPS_Includes/Streamer.inc  "//
#include                "  ../BPS_Includes/KveH.inc  "//rjjj
#include                "  ../BPS_Includes/fire.inc  "//
#include                "  ../include/Intro.inc  "//
#include                "  ../BPS_Includes/ranks.inc  "//dimmy_scarface
#include                "  ../BPS_Includes/mSelection.inc  "//
#include                "  ../BPS_Includes/mapandreas.inc  "//SampTeam
#include                "  ../BPS_Includes/mailer.inc        "//Mailer
//#include                "  ../BPS_Includes/dns.inc        "//Dns Anti Proxy
#include                "  ../BPS_Includes/crashdetect.inc  "//Crash Detect

#if defined MAX_PLAYERS
    #undef MAX_PLAYERS
    #define MAX_PLAYERS (501)
#endif

#if defined MAX_VEHICLES
    #undef MAX_VEHICLES
    #define MAX_VEHICLES (1500)
#endif

#define MPNOME "mapname Brasil RPG" //MapName
#define SVVERSAO "BPF RPG: Brasil" //modename
#define NOMESERVER "hostname Brasil Connect Games [RPG v0.4]" //Nome do Server
#define NOMESITE "weburl Sem site " //Site do Server
#define RCONPASS "rcon_password 123" //Rcon Passworld do server
#define MAX_CONNECTIONS_FROM_IP 50 //Quantidade de conexão do mesmo IP
#define PING_RUIM        500 //Ping maximo do server
#define MAX_SPIKESTRIPS 200 //Max pregos do server
#define MAX_ORGS                36 // NUNCA MECHA
#define MAX_CAIXAS      21 //Maximo de caixas eletronicos
#define MAX_MACONHA      (500) // Maximo de maconhas plantadas2
#define Max_Crescida            35 //Limite de crescimento da maconha
#define Max_AGR          15 //Sistema de agricultura
#define MAX_CARROS_FREE        150 //Maximo de carros FREE
#define MAX_SLOTS_WEAPONS      12 //Quantidade de /guardararma
#define GasMax              100
#define Language Brasil RPG PT/BR //Maximo de gasolina

//--


aqui está

PRETIN

include nLibrary - Sex 3 Nov 2017 - 10:18

gente a minha gm ta dando esse erro   fatal error 100: cannot read from file: "nLibrary" linha do erro #include lembrando gente que eu nao sou script entao nao sei que erro e esse ja troquei a include mais nao deu certo se pode me ajuda agradeço

axtlon

Vercombate pronto ajuda - Sex 3 Nov 2017 - 0:40

Esse codigo e de /vercombates Alguem pode corrigir ele ta dando erro na minha GM versão beta play Facil...

//###################################################################################//
//##################################[Ver Combates]###################################//
//###################################################################################//

#include
#include
#include
#include
#include
#pragma disablerecursion

//############################################################################################//
//#######################################[Vars/Defines]#######################################//
//############################################################################################//

#define TEMPO_RESETAR 120
#define MAX_COMBATES 50

new UltimoCombate[MAX_PLAYERS][MAX_PLAYERS],
varGlobal[2048],
combates;

//############################################################################################//
//#########################################[CallBacks]########################################//
//############################################################################################//

public OnFilterScriptInit()
{
for(new i; i < MAX_PLAYERS; i ++) 
{
UltimoCombate[i][i] = -1;
}
varGlobal[0] = EOS;
return true;
}

public OnFilterScriptExit()
{
return true;
}

public OnPlayerConnect(playerid)
{
for(new i; i < MAX_PLAYERS; i ++) 
{
UltimoCombate[playerid][i] = -1;
UltimoCombate[i][playerid] = -1;
}
return true;
}

public OnPlayerTakeDamage(playerid, issuerid, Float:amount, weaponid, bodypart)
{
if(issuerid != INVALID_PLAYER_ID)
{
if(UltimoCombate[playerid][issuerid]-gettime() <= 0)
{
new Hora, Minuto, Segundo;
GetTimeFix(Hora, Minuto, Segundo);
UltimoCombate[playerid][issuerid] = gettime()+TEMPO_RESETAR;
if(combates >= MAX_COMBATES)
varGlobal[0] = EOS;

strcat(varGlobal, fmat_return("[%02d:%02d:%02d] %s iniciou um combate contra %s\n", Hora, Minuto, Segundo, PlayerName(playerid), PlayerName(issuerid)));
}
}
return true;
}

public OnPlayerDeath(playerid, killerid, reason)
{
for(new i; i < MAX_PLAYERS; i ++) 
{
UltimoCombate[playerid][i] = -1;
UltimoCombate[i][playerid] = -1;
}
return true;
}

public OnPlayerDisconnect(playerid, reason)
{
for(new i; i < MAX_PLAYERS; i ++) 
{
UltimoCombate[playerid][i] = -1;
UltimoCombate[i][playerid] = -1;
}
return true;
}

//############################################################################################//
//##########################################[Comandos]########################################//
//############################################################################################//

CMD:vercombates(playerid)
{
ShowPlayerDialog(playerid, 0, DIALOG_STYLE_MSGBOX, "Combates Rescentes", varGlobal, "Fechar", "");
return true;
}

stock fmat_return(const fmat[], va_args<>)
{
    new str[300];
    va_format(str, sizeof(str), fmat, va_start<1>);
    return str;
}

stock PlayerName(playerid)
{
    static nome[MAX_PLAYER_NAME];
    GetPlayerName(playerid, nome, sizeof(nome));
    return nome;
}

new timeFixer = 0;
stock GetTimeFix(&h, &m, &s)
{
    gettime(h, m, s);

    h += timeFixer;
    if(h > 23)
        h -= 24;
    if(h < 0)
        h += 24;
    return 1;
}

Weslley_Script

Barra de progresso 1.3.1 - Qua 1 Mar 2017 - 10:21

Introdução

Bem, eu vi muitos aborrecedores saúde veículo textdraws, então, eu fiz isso, com o mesmo visual como a barra de saúde GTA original. Com isso inclua, você pode criar barras de progresso com a posição, tamanho e cor desejada. É muito simples de usar, vou mostrar aqui. 

Funções


  • CreateProgressBar (x, y, largura, altura, cor, máximo)

    Cria uma barra de progresso (quase o mesmo que TextDrawCreate).


    • x e y valores são a posição da barra na tela;
    • Largura e altura são o tamanho da barra (eles têm valores padrão, basta colocar _ como parâmetro);
    • A cor é a cor da barra, obviamente;
    • Max é a porcentagem máxima que a barra pode alcançar (padrão 100).



    Retorna: a barra criada.



  • DestroyProgressBar (barid)

    Destrói uma barra criada.




  • ShowProgressBarForPlayer (playerid, barid)

    Mostra simplesmente a barra de progresso dada para um jogador.




  • HideProgressBarForPlayer (playerid, barid)

    Oculta a barra de progresso de um jogador.




  • ShowProgressBarForAll (barid)

    Mostra a barra de progresso fornecida para todos os jogadores conectados.




  • HideProgressBarForAll (barid)

    Oculta a barra de progresso de todos os jogadores conectados.




  • SetProgressBarValue (barid, value)

    Altera a porcentagem atual da determinada barra de progresso (é ponto float). Lembre-se de que o valor máximo é o valor que você deu a ele em CreateProgressBar.




  • GetProgressBarValue (barid)

    Obtém o valor atual de uma barra de progresso . 
    Nota: retornará INVALID_BAR_VALUE se a barra não existir ou se algo der errado.




  • SetProgressBarMaxValue (barid, max)

    O valor máximo é dinâmico, você pode alterá-lo sempre que quiser e atualizará por si mesmo (o valor da barra de progresso atual permanecerá igual, a diferença que você vê na barra).




  • SetProgressBarColor (barra, cor)

    Define a cor da barra para o que você quiser. A inclusão agora suporta cores transparentes , portanto, tenha cuidado ao usar AA ou 00 como Alpha. Se você deseja que a cor seja totalmente colorida, use FF no final da cor (ou seja, 0x00FF00 FF ). 
    Toda vez que você usar esta função, você precisará usar a função "UpdateProgressBar", veja acima.




  • UpdateProgressBar (barid, playerid = INVALID_PLAYER_ID)

    Toda vez que você altera um valor ou cor de barra de progresso, é necessário atualizá-lo. Eu não incluí esta função diretamente em SetProgressBarValue / SetProgressBarColor, porque não é eficiente desta maneira. 
    Você pode simplesmente não usar o parâmetro playerid ea barra de progresso será atualizada para todos.




Use a

criação simples da barra de progresso:

[size=11]Código:
Novo Barra: health = CreateProgressBar (50,0, 300,0, _, _, 0xFF0000FF, 100,0);
SetProgressBarValue (saúde, 50,0);
ShowProgressBarForAll (saúde);[/size]

E se eu quero destruí-lo:



E se eu quero destruí-lo:




Código:
DestroyProgressBar (saúde);


Neste caso eu criei uma barra de progresso verde para mostrar a saúde real do veículo. 
Nesta barra estou usando o tamanho da barra de progresso padrão (55.5, 3.2). 
A cor de fundo (verde escuro neste caso), você não precisa declará-lo, o próprio incluir calcula a cor de fundo usando operações de RGBA hexadecimal. 

Este script de exemplo:



Código:



[size=13]#include <a_samp>
#include <progress>

Novo Bar: vhealth [MAX_PLAYERS] = {INVALID_BAR_ID, ...};
Forward ProgressBar ();

Public OnFilterScriptInit ()
{
   SetTimer ("ProgressBar", 500, 1);
   Return 1;
}

Public ProgressBar () // Eu prefiro não usar OnPlayerUpdate com textdraws
{
   Para (novo playerid; playerid <MAX_PLAYERS; playerid ++) // Eu recomendo foreach (Player, playerid)
   {
      Veículo novo;
      If ((vehicleid = GetPlayerVehicleID (playerid)) && vhealth [playerid]! = INVALID_BAR_ID)
      {
         Novo Flutuador: saúde;
         GetVehicleHealth (veículo, saúde);
         SetProgressBarValue (vhealth [playerid], saúde);
         UpdateProgressBar (vhealth [playerid], playerid);
      }
   }
}

Public OnPlayerStateChange (playerid, newstate, oldstate)
{
   If (oldstate == PLAYER_STATE_DRIVER)
   {
      DestroyProgressBar (vhealth [playerid]);
      Vhealth [playerid] = INVALID_BAR_ID;
   }
   If (newstate == PLAYER_STATE_DRIVER)
   {
      Vhealth [playerid] = CreateProgressBar (548,5, 36,0, _, _, 0x00FF00FF, 1000,0);
      ShowProgressBarForPlayer (playerid, vhealth [playerid]);
   }
   Return 1;
}[/size]


Erros

Não há nenhum erro ainda. Informe aqui se encontrou um. 

Futuras modificações

  • Use setproperty e getproperty para habilitar a comunicação entre uma barra de progresso gamemode e uma de filtroscript. Assim, você será capaz de destruir uma barra de progresso criada em um gamemode, pelo seu filterscript e etc

  • Adicione suporte a cores transparentes.

  • Faça um editor de barra prrogess, para obter coordenadas.



Download

Pastebin v1.3.1OLD VERSION
NOVA VERSÃO LINK (PASTEBIN)

http://pastebin.com/ZuLPd1K6
Graças a [HLF] Southclaw para as mudanças. Tenha em atenção que as funções foram alteradas nesta versão, por isso consulte o ficheiro de inclusão para ver os novos nomes e parâmetros das funções. 

Coloque este script em um arquivo chamado "progress.inc", e coloque esse arquivo em sua pasta de inclusão. Em seguida, use "#include " no seu gamemode / filterscript para usá-lo. 

New Progress Bar Creator
http://pastebin.com/P6iPFp9F

Vídeo:




-

Nex-AC Sistema Anticheat - Ter 20 Dez 2016 - 20:01

Nex Anticheat (Nex-AC) - é uma proteção abrangente que combina poderoso anti-cheat e proteção contra vários ataques (inundação, DoS). 
Anti-cheat detecta fraudes populares punir instantaneamente cheaters. 
Anti-DoS combina customizáveis anti-inundação, anti-DoS no nível de rede e um monte de ferramentas de proteção contra hackers, crashers etc.

Lista de anti-fraudes básicas:

* Anti-AirBreak (Onfoot / no veículo)
* Anti-teletransporte corte (Onfoot / no / na / entre veículos)
* pickups Anti-teletransporte
* Anti-FlyHack (Onfoot / no veículo)
* Anti-Speedhack (Onfoot / no veículo)
* cortar Anti-Saúde (Onfoot / no veículo) e armaduras cortar
* corte anti-Arma e (adicionar / infinito) munição cortar
* acções anti-especiais cortar (incluindo jetpack)
* anti-GodMode de balas (Onfoot / no veículo)
* corte anti-Invisible
* anti-Money cortar
* anti-ajuste corte
* anti-lagcomp-paródia
* anti-Parkour mod
* sua vez anti-Quick
* fogo anti-Rapid
* anti-FakeSpawn
* anti-FakeKill
* anti-Pro Aim
* anti-CJ run
* anti-CarShot
* anti-carjack
* anti-descongelar
* Anti-AFK Santo
* Anti-Reconnect
* Anti-ping alto
* Anti-falsificação NPC
* corte Anti-Dialog
* proteção da caixa de proteção
* proteção contra a versão inválida
* assento de mudança anti-inundações
* protecção contra as inundações se conecta a um slot
* Anti- rcon corte (bruta / brute-forse)
* funções anti-inundações de retorno de chamada (lista completa abaixo) 
* anti-crashers (lista completa abaixo) 
* do anti-NOP (lista completa abaixo) 
* anti-Dos

Recursos adicionais:

 Definir anti-cheat a partir do arquivo
as configurações está localizado em um arquivo separado (scriptfiles \ nex-ac_settings.cfg)
 Ver estatísticas
Capacidade de visualizar estatísticas do anti-cheat enquanto o servidor trabalhando desde o seu lançamento
exibido automaticamente quando o servidor desligar. Armazenados em um log do servidor (server_log.txt)
 Log das ações mais importantes
Opcionalmente, você pode habilitar-modo de depuração para log todas as ações
 Multilingual
Capacidade para definir qualquer um dos idiomas disponíveis. 
Também simplifica a tradução de anti-fraude para outros idiomas

Lista de públicos, que são protegidos por anti-inundação:

* OnDialogResponse
* OnEnterExitModShop
* OnPlayerClickMap
* OnPlayerClickPlayer
* OnPlayerClickTextDraw
* OnPlayerCommandText
* OnPlayerEnterVehicle
* OnPlayerExitVehicle
* OnPlayerPickUpPickup
* OnPlayerRequestClass
* OnPlayerSelectedMenuRow
* OnPlayerStateChange
* OnVehicleMod
* OnVehiclePaintjob
* OnVehicleRespray
* OnVehicleDeath
* OnPlayerText
* OnPlayerEnterCheckpoint
* OnPlayerLeaveCheckpoint
* OnPlayerRequestSpawn
* OnPlayerExitedMenu
* OnPlayerEnterRaceCheckpoint
* OnPlayerLeaveRaceCheckpoint
* OnPlayerClickPlayerTextDraw
* OnVehicleDamageStatusUpdate
* OnPlayerSelectObject

Anti-NOP de:

* SpawnPlayer
* SetPlayerPos
* SetVehiclePos
* SetPlayerAmmo
* SetPlayerHealth
* SetPlayerArmour
* SetVehicleHealth
* GivePlayerWeapon
* SetPlayerInterior
* PutPlayerInVehicle
* ResetPlayerWeapons
* SetPlayerArmedWeapon
* SetPlayerSpecialAction
* TogglePlayerSpectating
* RemovePlayerFromVehicle

Anti-Crashers:

* ajuste inválido
* assentos de veículos inválido
* caracteres ilegais nos diálogos (apagar)
* objetos anexados inválidos
* Arma Estrondo

Funções:
Código:
pública OnCheatDetected (playerid, ip_address [], o tipo de código)
 Chamado quando o tropeçou um dos anti-fraudes
 playerid - ID do trapaceiro
 ip_address [] - IP-endereço do trapaceiro
 Tipo - Tipo de batota (quando 0 retorna o ID, quando 1 - IP)
 Código - Código (ID) do anti-cheat

EnableAntiCheat (ácido, ativar)
 Use para ativar / desativar um dos anti-fraudes
 acid - ID do anti-cheat
 permitir - 1 para ativar / 0 para desativar

EnableAntiCheatForPlayer (playerid, ácido, ativar)
 Use para ativar / desativar um dos anti-fraudes para um jogador em particular
 playerid - ID do jogador que precisa para ativar / desativar o anti-cheat
 acid - ID do anti-cheat
 permitir - 1 para ativar / 0 para desativar


Adicionado no v1.3:

IsAntiCheatEnabled (ácido)
 Use para verificar se activar / desactivar um dos anti-fraudes
 acid - ID do anti-cheat
 Retornar 1 (true) se habilitado ou 0 (falso) se desativado

IsAntiCheatEnabledForPlayer (playerid, ácido)
 Use para verificar se activar / desactivar um dos anti-fraudes para um jogador em particular
 playerid - ID do jogador que precisa de seleção para ativar / desativar o anti-cheat
 acid - ID do anti-cheat
 Retornar 1 (true) se habilitado ou 0 (falso) se desativado


Adicionado em v1.8.8:

AntiCheatGetHealth (playerid, & Float: saúde)
 Usar para obter a quantidade de saúde do jogador
 playerid - A ID do jogador
 & Float: saúde - Variável para a saúde armazenamento, passados ​​por referência

AntiCheatGetArmour (playerid, & Float: armadura)
 Usar para obter a quantidade de armadura do jogador
 playerid - A ID do jogador
 & Float: armadura - variável para armadura de armazenamento, passados ​​por referência

AntiCheatGetVehicleHealth (vehicleid, & Float: saúde)
 Usar para obter o montante da saúde veículo
 vehicleid - A identificação do veículo
 & Float: saúde - Variável para a saúde armazenamento, passados ​​por referência

AntiCheatGetWeaponData (playerid, slot, e armas, e munições)
 Usar para obter armas e munição em um determinado intervalo de tempo do jogador
 playerid - A ID do jogador
 Slot - O slot em que precisa obter as armas e munição
 & Armas - Variável de ID arma armazenamento, passados ​​por referência
 & Munição - Variável para a quantidade de armazenamento de munição, passados ​​por referência

AntiCheatGetSpawnWeapon (playerid, & weapon1, & weapon1_ammo, & weapon2, & weapon2_ammo, & weapon3, & weapon3_ammo)
 Usar para obter armas de desova e munição do jogador
 playerid - A ID do jogador
 & Weapon1 - Variável para o armazenamento a arma 1, passados ​​por referência
 & Weapon1_ammo - A variável para o armazenamento a quantidade de munição para a arma 1, passados ​​por referência
 & Weapon2 - Variável para o armazenamento a arma 2, passados ​​por referência
 & Weapon2_ammo - A variável para o armazenamento a quantidade de munição para a arma 2, passados ​​por referência
 & Weapon3 - Variável para o armazenamento da arma 3, passados ​​por referência
 & Weapon3_ammo - A variável para o armazenamento a quantidade de munição para a arma 3, passados ​​por referência

AntiCheatGetPos (playerid, e float: x, e float: y, & float: z)
 Usar para obter a posição do jogador
 playerid - A ID do jogador
 & Float: x - A variável para o armazenamento a coordenada x, passados ​​por referência
 & Float: y - A variável para o armazenamento a coordenada y, passados ​​por referência
 & Float: z - A variável para o armazenamento a coordenada z, passados ​​por referência

AntiCheatGetSpeed ​​(playerid, & Float: velocidade)
 Usar para obter a velocidade do jogador
 playerid - A ID do jogador
 & Float: Velocidade - Variável para o armazenamento a velocidade, passados ​​por referência

AntiCheatGetVehicleVelocity (vehicleid, & Float: x, & Float: y, & Float: z)
 Usar para obter a velocidade do veículo
 vehicleid - A identificação do veículo
 & Float: x - A variável para o armazenamento a velocidade x, passados ​​por referência
 & Float: y - A variável para o armazenamento a velocidade y, passados ​​por referência
 & Float: z - A variável para o armazenamento a velocidade z, passados ​​por referência

AntiCheatGetAnimationIndex (playerid)
 Use para obter o índice (ID) da animação atual do jogador
 playerid - A ID do jogador
 Retorna o ID da animação ou 0 se o leitor não está ligado

AntiCheatGetDialog (playerid)
 Usar para obter o ID do diálogo aberta do leitor
 playerid - A ID do jogador
 Retorna o ID da caixa de diálogo ou 0 se o leitor não está ligado

AntiCheatGetMoney (playerid)
 Usar para obter a quantidade de dinheiro do jogador
 playerid - A ID do jogador
 Retorna a quantidade de dinheiro ou 0 se o leitor não está ligado

AntiCheatGetClass (playerid)
 Usar para obter ID da classe do jogador
 playerid - A ID do jogador
 Retorna o ID de classe ou 0 se o leitor não está ligado

AntiCheatGetEnterVehicle (playerid)
 Usar para obter o ID do veículo, o jogador que tentar entrar
 playerid - A ID do jogador
 Retorna a identificação do veículo ou 0 se o leitor não está ligado

AntiCheatGetVehicleID (playerid)
 Usar para obter o ID do veículo, no qual o jogador se senta
 playerid - A ID do jogador
 Retorna a identificação do veículo ou 0 se o leitor não está ligado

AntiCheatGetWeapon (playerid)
 Usar para obter atual ID arma do jogador
 playerid - A ID do jogador
 Retorna o ID da arma ou 0 se o leitor não está ligado

AntiCheatGetVehicleSeat (playerid)
 Usar para obter o assento no veículo, em que o jogador se senta
 playerid - A ID do jogador
 Retorna o número do assento ou 0 se o leitor não está ligado

AntiCheatGetSpecialAction (playerid)
 Usar para obter o ID da acção especial do leitor
 playerid - A ID do jogador
 Retorna a identificação da acção especial ou 0 se o leitor não está ligado

AntiCheatGetLastSpecialAction (playerid)
 Usar para obter o ID da ação especial anterior do jogador
 playerid - A ID do jogador
 Retorna a identificação da acção especial anterior ou 0 se o leitor não está ligado

AntiCheatGetLastShotWeapon (playerid)
 Usar para obter o ID da última arma a partir do qual o jogador tiro
 playerid - A ID do jogador
 Retorna o ID da última arma ou 0 se o leitor não está ligado

AntiCheatGetLastPickup (playerid)
 Usar para obter o ID da última captação, qual jogador escolher
 playerid - A ID do jogador
 Retorna o ID da última captação pegou ou 0 se o leitor não está ligado

AntiCheatGetLastUpdateTime (playerid)
 Usar para obter última timestamp atualização do jogador
 playerid - A ID do jogador
 Retorna a data da última atualização ou 0 se o leitor não está ligado

AntiCheatGetLastReloadTime (playerid)
 Utilizar para obter passado (arma) de recarga timestamp do jogador
 playerid - A ID do jogador
 Retorna a data da última recarga ou 0 se o leitor não está ligado

AntiCheatGetLastEnteredVehTime (playerid)
 Usar para obter última entrada tentativa veículo timestamp do jogador
 playerid - A ID do jogador
 Retorna timestamp da última tentativa de entrada ou 0 se o leitor não está ligado

AntiCheatGetLastShotTime (playerid)
 Usar para obter última timestamp tiro do jogador
 playerid - A ID do jogador
 Retorna a data do último tiro ou 0 se o leitor não está ligado

AntiCheatGetLastSpawnTime (playerid)
 Usar para obter última timestamp desova do jogador
 playerid - A ID do jogador
 Retorna timestamp da última desova ou 0 se o leitor não está ligado

AntiCheatIntEnterExitsIsEnabled (playerid)
 Use para verificar se ativar / desativar entrar / marcadores de saída em interiores para o jogador
 playerid - A ID do jogador
 Retorna 1 (VERDADEIRO) se habilitado ou 0 (falso) se desativado

AntiCheatStuntBonusIsEnabled (playerid)
 Use para verificar se habilitar bônus conluio / desativar para o jogador
 playerid - A ID do jogador
 Retorna 1 (VERDADEIRO) se habilitado ou 0 (falso) se desativado

AntiCheatIsInModShop (playerid)
 Use a verificar: se o jogador está em ModShop ou não
 playerid - A ID do jogador
 Retorna 1 (true) se é ou 0 (falso), se não for

AntiCheatIsFrozen (playerid)
 Use a verificar: se o jogador é congelada ou não
 playerid - A ID do jogador
 Retorna 1 (VERDADEIRO) se congelados ou 0 (falso), se não congelados

AntiCheatIsDead (playerid)
 Use a verificar: se o jogador está morto ou não
 playerid - A ID do jogador
 Retorna 1 (VERDADEIRO) se morto ou 0 (falso) se não está morto

AntiCheatIsConnected (playerid)
 Use a verificar: se o jogador estiver em um servidor ou não
 playerid - A ID do jogador
 Retorna 1 (true) se é ou 0 (falso), se não for


Download:



1. Baixe a versão do anticheat que compatível com a versão do seu servidor
2. Baixe o arquivo de idioma(.lang)em seu idioma preferido
3. Copie ambos os arquivos para a pasta"/ pawno / include"que está localizado na pasta com o servidor
4. no modo de jogo e todos os filterscripts depois"#include "escrever o seguinte:"#include "

Aviso! Se você estiver usando um Plugin Streamer por Incognito, foreach ou y_hooks, incluí-lo antes NEX-ac ! 
Também tenha em mente que filterscript deve ter " # define filterscript " antes de incluir anticheat


5. Compilar os scripts modificados


[size=24]Changelog:
[/size]

Código:
v1.0
* Lançamento inicial

v1.1
mudanças:
* Compatível com Streamer Plugin
* Compatível com y_hooks
* Otimização Minor

Conserta:
* Aumento de certos valores e o ping distância considerando
* Corrigido um bug com uma pick up armas semelhantes sobre os captadores
Corrigido um erro com um pontapé quando desovar e, em seguida, instalar a posição do jogador / interior
Corrigido um erro com um pontapé quando desovar e, em seguida, instalar as armas de jogador (se usado AddPlayerClass / Ex)
* Corrigida a falha ao chamar ShowPlayerDialog em CallRemoteFunction

v1.2
mudanças:
* Compatível com y_dialog
* Compatibilidade adicional com foreach

Conserta:
* Corrigido vários erros no modo anti-Deus
Corrigido um erro com um chute durante a prolongada fotografar um minigun
* O visor fixo de estatísticas e relatórios sobre pontapé
* Localização bielorrusso Tweaked

Agora ele está disponível no GitHub! (Pela demanda popular)

v1.3
mudanças:
* Adicionado "USE_QUERY #define" (true por padrão)
** Se o servidor está sob ataque de força bruta - para melhor valor proteção USE_QUERY pode ser alterado para falso
** Atenção! Se false, o servidor não irá exibir as informações no browser do servidor, portanto, use em casos extremos!
* Adicionado apresenta IsAntiCheatEnabled e IsAntiCheatEnabledForPlayer

Conserta:
* Corrigido configuração anticheat carga de config-file
* Aumento alguns valores em favor de jogadores com ping alto
* Protecção Rcon (contra Brute-force) agora também habilitado dinamicamente / desativado por função EnableAntiCheat
* Corrigido pequenos bugs no processo anti-fraudes em munição corte, RapidFire, Speedhack no veículo, Anti-GodMode a pé e em veículos

v1.4
mudanças:
* Compatível com soquete Plugin
* Removido alguns anti-crashers (que são fixados na nova versão r2)
* Melhor corte anti-tuning: agora detecta ajuste livre em ModShops
* Melhor anti-carshot

Conserta:
* Tweaked alguns valores na anti-inundação
* Corrigido vários erros no corte anti-arma
* Corrigido um bug onde todos os carros poderia ter uma sirene
Corrigido um erro na anti-teletransporte cortar com um chute na entrada ModShop
Corrigido um erro na anti-GodMode Onfoot com um pontapé se as balas eram desync

v1.5
mudanças:
* Melhor interação com anticheat por OnCheatDetected
* Melhor Anti-PROAIM: agora detecta Silent-Aim
* Erro Removido durante a compilação, se você não tiver incluído a localização
* Otimização Minor

Conserta:
* Compatibilidade fixo com Streamer Plugin
* Compatibilidade fixo com um foreach da YSI última
* Melhor Onfoot Anti-GodMode e Anti-GodMode no veículo
* Corrigido um bug no Anti-FlyHack com um pontapé ao saltar em uma bicicleta
* Corrigido alguns bugs no corte Anti-Invisible

v1.6
mudanças:
* Melhor compatibilidade com y_hooks na última YSI
* Melhor fogo Anti-Rapid: agora detecta recarga rápida
* Por razões de segurança, acrescentou alguns penetras Anti-AIM
* Adicionado verificar quando compilando para compatibilidade com a versão do servidor
* OnCheatDetected agora é chamado, mesmo para aqueles detecta, que são não chutar por padrão
* Corte Anti-descongelar agora está desativado por padrão

Conserta:
* Corrigido um bug no Anti-Teleport no veículo com enter veículo fechado
* Protecção fixa contra Rcon cortar (em jogo)
* Corrigido EnableAntiCheat função

v1.7
mudanças:
* Atualizado crasher Anti-ajuste
* Compatibilidade adicional com sscanf
* Melhor compatibilidade com outros scripts

Conserta:
* Compatibilidade fixo com Streamer Plugin
* Corrigido Anti-Speedhack, Anti-Flood e corte Anti-Invisible
* Corrigido um bug no Anti-Ammo cortar com a função ResetPlayerWeapons

v1.8
mudanças:
* Melhor Anti-RapidFire: agora detecta Auto + C
* Otimização Minor

Conserta:
* Corrigido alguns anticheats que não funcionou corretamente
* Aumento da velocidade máxima permitida Onfoot
* Corrigido um erro na crasher assento Anti-inválido
* Corrigido Anti-Armas e Munição corte

v1.8.1
mudanças:
* Reescrita da crasher Anti-Dialog (%)

Conserta:
* Corrigido um bug no Anti-Ammo cortar com um pontapé para um detonador
* Modo de depuração fixo

v1.8.2
Conserta:
* A função EnableAntiCheatForPlayer fixo
* Corrigido bugs com "#define AC_USE _ <...>"

v1.8.3
Conserta:
* Corrigido mensagens do visor sobre pontapé em algumas localizações

v1.8.4
mudanças:
* Otimização Minor

Conserta:
* Aumento alguns valores (considerando ping)
* Corrigido um bug no Anti-RapidFire com um pontapé para a tomada do assento do passageiro
* Corrigido um bug no Anti-Ammo cortar com um pontapé para as filmagens de assento do motorista

v1.8.5
Conserta:
* Corrigido algumas verificações para o modelo de veículo inválido

v1.8.6
mudanças:
* Obtivemos alguns anti-crashers (que são "fixas" na versão r2)

v1.8.7
Conserta:
* Corrigido um bug no Anti-FlyHack (Onfoot) com um pontapé para um salto para a água

v1.8.8
mudanças:
* Melhoria da legibilidade do código
* Pequenas correções de bugs e melhorias
* funções de depuração Adicionado

Conserta:
* Compatibilidade fixo com as últimas versões do Streamer Plugin e YSI

v1.8.9
Conserta:
* Tweaked algumas definições
* Fixed funções GivePlayerWeapon e SetPlayerAmmo (proteção NOP)
* A função SetVehicleHealth fixo
* A função SetPlayerInterior fixo

v1.9
mudanças:
* Pequenas melhorias
* Adicionado uma função de gancho LinkVehicleToInterior
* Melhor corte anti-munição para Sawnoff Shotgun, 9mm, Uzi e Tec-9
* filterscripts adicionou suporte para proteção contra spoofing diálogos
* Reescrita da Anti-AFK Santo

Conserta:
* A função RepairVehicle fixo
* Corrigido um bug no Anti-GodMode (no veículo) com "matriz fora dos limites"
* Corrigido um bug no Anti-Godmode (no veículo) com um pontapé ao disparar sobre rodas
* Corrigido um bug com SetPlayerArmedWeapon em OnPlayerTakeDamage
* Corrigido um bug no Anti-Ammo corte quando tiro a partir do assento do motorista
* Corrigido um problema com o cálculo do assento max para o modelo do veículo 483
* Corrigido um bug no Anti-Godmode (Onfoot) com um pontapé ao entrar no carro
* Erros fixo com "STREAMER_ENABLE_TAGS"
* Corrigido vários bugs no anti-cheat em recolhida

v1.9.1
mudanças:
* Adicionada compatibilidade com Update Checker da Nexius

v1.9.2
mudanças:
* Pequenas melhorias
* Mudou alguns valores em anti-inundação

Conserta:
Corrigido um erro com um pontapé o jogador para o colocando-o interior em que ele já está

v1.9.3
mudanças:
* Removido o cheque para a distância ao sair do veículo com o hack anti-teletransporte (devido a falsos detecta)

v1.9.4
mudanças:
* Mudou a punição para veículos desocupados teleporte

Conserta:
* Corrigido um erro na corte anti-teleporte
Corrigido um erro na protecção a NOP RemovePlayerFromVehicle
* Corrigido corte anti-dinheiro

v1.9.5
Conserta:
Corrigido um erro na anti-teletransporte cortar com a configuração do interior antes de desova
* Gancho fixo OnPlayerClickPlayerTextDraw

v1.9.6
mudanças:
* Mudou alguns valores no anti-inundação

Conserta:
Corrigido um erro na anti-invisibilidade cortar com desova durante o espectador
Corrigido um erro na anti-speedhack com a função SetVehicleToRespawn
* Compatibilidade fixo com pontos de verificação flâmula
* pequenos bugs fixos

v1.9.7
mudanças:
* Mudou alguns valores em anti-inundação
* Funções EnableAntiCheat (ForPlayer) e IsAntiCheatEnabled (ForPlayer) pode ser chamado de filterscript
* Proteção adicional contra desvio de inscrição (uma ideia por f0Re3t)
* Reescrita a proteção contra a alta de ping

Conserta:
* Corrigido um bug no Anti-Speedhack com um pontapé para um passeio rápido no trem
* Totalmente fixado um bug com um pontapé para uma mudança de interior

v1.9.8
mudanças:
* AntiCheatGet * funções são agora pode ser chamado de filterscripts
* Chamada Faster viciado funções de GameMode
* Reescrita corte anti-dinheiro

Conserta:
* Corrigido um desvio no corte anti-munição para armas de alta taxa
* Corrigido um bypass no anti-teletransporte com a habilidade de se teletransportar após a mudança interior de servidor
Corrigido um erro na anti-arma cortar com um chute na compra de armas na Ammu-Nation para o preço errado
Corrigido um erro na proteção contra NOPs com um pontapé para levar armas semelhantes
* Corrigido erros de compilação quando incluídos em filterscript

v1.9.9
Conserta:
* Corrigido vários bugs nas ações anti-especiais cortar
Corrigido um erro na corte anti-arma com um pontapé quando ResetPlayerWeapons usado em OnPlayerDeath
* Tweaked alguns valores

v1.9.10
mudanças:
* função kick removido quando o jogador limite de tempo / crashes
* Atualizado uma série de componentes de ajuste válidos para cada veículo (tomada de correções)
* Adicionado a controlos internos para os argumentos em GivePlayerWeapon, funções SetPlayerArmedWeapon
* Modo de depuração significativamente melhorada
* Pequenas melhorias

Conserta:
Corrigido um erro na proteção contra NOPs com um pontapé para a tentativa de entrar no assento do veículo já ocupada
* Corrigido anti-speedhack no veículo (verificar a velocidade máxima)
* Melhor fogo anti-rápido para a espingarda

Devido aos inúmeros casos de problemas de conexão com anti-cheat, adicionou-se uma versão que seja compatível com a versão servidor 0.3.7 R1

v1.9.11
Conserta:
* A função SetPlayerArmedWeapon fixo
* A função PutPlayerInVehicle fixo
* Pequenas correções

[Tutorial] Como criar comandos /ir e /trazer usando SSCANF e zCMD - Seg 7 Nov 2016 - 23:52

Introdução

Para fazermos os comandos iremos precisar de duas includes, Sscanf2 e zCMD.


Estarei usando o Sscanf2



Downloads:







Após baixar, abra a pasta do Pawno, vá em includes e cole lá os dois arquivos


__________________________________________________ _______________________________________

[size=24]Iniciando[/size]

Antes de tudo, certifique-se de que você adicionou ao começo do seu projeto
[size=11]Quote:
[/size]
#include sscanf2


[size=11]Quote:
[/size]
#include zcmd


Após se certificar, abra seu arquivo no pawno e escolha um lugar para digitar o comando(Eu uso depois da última public).

Digite:
[size=11]Quote:
[/size]
CMD:ir(playerid, params[]) {

// Explicação:

CMD: // Indica como é o comando no caso /ir.

ir: // O comando.

playerid: // Quem digita o comando.

params[]: // Significa que vamos usar parâmetros, esses parâmetro serão utilizados em TODOS o comandos que precisarem de um complemento exemplo " /ir [id do jogador] " /ir = comando, [id do jogador] = complemento do comando, parâmetro.


Continuando..

...Após ter definido o CMD, vamos então criar o que vai ser usado nesse cmd logo abaixo digite:

[size=11]Quote:
[/size]
new aName[MAX_PLAYER_NAME]; // Nome de quem usou o comando, no caso o Admin, etc..
new pName[MAX_PLAYER_NAME]; // Nome do player para quem o Admin se teleportou.
new id; // Id do player que vai ser usado no /ir
new str[128]; // Criamos uma string que vai mandar as mensagens ao player
GetPlayerName(playerid, aName, sizeof(aName)); // Vai pegar o nome do Player que usou o comando.
GetPlayerName(playerid, pName, sizeof(pName)); // Vai pegar o nome de quem foi usado o comando.


Depois de ter feito isso digite logo abaixo:
[size=11]Quote:
[/size]

if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, 0xFF230AFF, "|ERRO| Você não possui acesso para utilizar esse comando!");

// Irá checar se o player está logado Rcon, caso não esteja, irá retornar a mensagem de erro.

if(sscanf(params, "d", id)) return SendClientMessage(playerid, 0xFF230AFF, "|ERRO| Use /ir .");

// Irá checar se ele escreveu o comando todo, caso tenha escrito apenas /ir, irá retornar a mensagem de erro.

if(!IsPlayerConnected(id)) return SendClientMessage(playerid, 0xFF230AFF, "|ERRO| O ID digitado não está no servidor.");

// Irá checar se ele digitou um ID válido, caso o ID digitado não esteja no server, irá retornar a mensagem de erro.

new Float: x, Float: y, Float: z;
GetPlayerPos(id, x, y, z);
SetPlayerPos(playerid, x, y, z);

// GetPlayerPos, irá pegar a posição do ID. SetPlayerPos, vai setar quem digitou o comando na posição do ID.

format(str, sizeof(str), "|INFO| Você foi ao jogador: %s", pName);
SendClientMessage(playerid, 0x1CD622FF, str);

// Vai enviar á quem digitou o comando a mensagem de que ele foi ao jogador ID, o %s será substituído pelo nome do ID dentro do jogo.

format(str, sizeof(str), "|INFO| O Administrador: %s, foi até você", aName);
SendClientMessage(id, 0x1CD622FF, str);

// Vai enviar á quem o admin se teleportou a mensagem de que o admin foi até ele, os %s será substituído pelo nome do admin dentro do jogo.


Por fim.. digite: 
[size=11]Quote:
[/size]
return 1;
} // Fecha o Comando, significando que acabou, nunca se esqueça de fecha-lo, caso contrário o pawno não irá entender que o comando acabou.


Pronto, você finalizou o comando /ir . Agora, para o /trazer, basta você copiar e colar abaixo todo o código que acabamos de criar (Sim, copie e cole abaixo todo o comando /ir.)
Após isso vá até a primeira linha do comando copiado e modifique:

De:
[size=11]Quote:
[/size]
CMD:ir(playerid, params[]) {


Para: 
Quote:
CMD:trazer(playerid, params[]) {



Depois..
[size=11]Quote:
[/size]
// Procure por estas linhas:
new Float: x, Float: y, Float: z;
GetPlayerPos(id, x, y, z); // Troque "id" por "playerid"
SetPlayerPos(playerid, x, y, z); // Troque "playerid" por "id"

// Para o /trazer basta trocar o "id" no GetPlayerPos por "playerid" e o SetPlayerPos "playerid" por "id".


Após isso, basta modificar as mensagens!

[size=24]Fim[/size]

Aceito Dicas e Críticas Tópicos com a tag include em SSGamers - 10 Anos online por você. Biggrin
Qualquer dúvida é só me dizer, irei responder logo. ( Obs: Compilei aqui, e foi tudo certo! )

Espero ter ajudado alguém, até mais.

Lincoln_Br

[TUTORIAL] SScanf Em ZCMD - Qui 22 Set 2016 - 13:37

¤Usando sscanf em zcmd¤




Bem comecei a usar zcmd a pouco tempo, mas tenho visto que é muito diferente de strcmp, alem de tudo é mais fácil de se aprender, neste tutorial vou ensinar como usar sscanf em zcmd, irei ensinar o que aprendi claro, não estarei dizendo coisas que não sei, por tanto vamos começar...


Bem para usar sscanf em zcmd terá que criar o comando zcmd logico, então vamos lá.


No topo do GM/Fs adicione
Code:
#include sscanf2


Então agora vamos criar um comando de mp


Não se esqueça de adicionar as arrays como logico, claro que pode mudar o nome, não é preciso chamar-se new Texto, pode ser new frase, o que quiser, só tem que saber colocar...
Code:
//=====[ARRAYS]======
new texto;
new nome[MAX_PLAYER_NAME];
new Str[128];
new id;


Code:
CMD:mp(playerid, params[])
{
    if(sscanf(params, "us",id,texto))
    {
        SendClientMessage(playerid,-1,"Use: /mp [id] [texto]");
    }
    else
    {
        if(IsPlayerConnected(id)) return SendClientMessage(playerid, -1, "Este jogador não está conectado");
        GetPlayerName(playerid,nome,sizeof(nome));
        format(Str, sizeof(Str), "Mesangem Privada de %s: %s",nome,texto);
        SendClientMessage(id,-1,Str);
    }
    return true;
}


Bem vamos falar agora um pouco sobre o comando.


Code:
if(sscanf(params, "us",id,texto))


if - Primeiramente. Pra quê if? Simples. sscanf, quando consegue cumprir sua função, retorna 0 (O que é um costume desconhecido em pawn). Ou seja, quando ele separa a string corretamente e todas as variávels são preenchidas, retorna 0, caso contrário 1, o que mostraria a ajuda do comando. (Créditos Luís Miki)




params - Como você já sabe, no zcmd, params é o que vem depois do /comando. Ou seja, seu objetivo é quebrar a string 'params' para poder pegar a hora para setar o servidor. (Créditos Luís Miki)


us - Bem essa parte é o que torna sscanf facil de usar em zcmd, vc sabe sabe quando usa mensagem que tenha que pegar o nome do player? ou o id, que usa %s, %d aqui é mesma coisa só que sem %, então vamos ver alguns dos que eu sei...


Code:
d ou i - usado quando você usa números, exemplo numero do seu celular...
s - é o string usado quando você usa letras, exemplo "Meu nome é BlueX"
u - usado para aquele famoso [Id do Player]...
f - usado para coordenadas...
Existem mais, mas eu ainda não todos....
depois para acabar basta adicionar as arrays, tipo, para o u você pode criar uma array chamada id, para o s você pode criar uma chamada Texto, por ai a diante...


Code:
SendClientMessage(playerid,-1,"Use: /mp [id] [texto]");
↑ isso é aquela mensagem quando você só digita o comando, /mp dai aparece essa mensagem...


Code:
else
↑ irá retornar caso você adicione o id e o texto exemplo /mp 1 eae.


Por fim usamos ↓
Code:
format(Str, sizeof(Str), "Mesangem Privada de%s: %s",nome,texto);
Ah mlk mais vc não tem que adicionar o id?
Não pois você irá mandar para o player não será necessário, mas caso você queira que mostre o id basta colocar assim:
Code:
format(Str, sizeof(Str), "Mesangem Privada de %s [ID%d]: %s",nome,playerid,texto);


Bom eu expliquei este comando todo, acho que por agora aprenderam, então, vou exemplificar mais outros comandos


/av para admin:
Code:
CMD:av(playerid, params[])
{
    if(IsPlayerAdmin(playerid))
    {
        if(sscanf(params, "s",texto))
        {
            SendClientMessage(playerid,-1,"Use: /av [texto]");
        }
        else
        {
            GetPlayerName(playerid,nome,sizeof(nome));
            format(Str, sizeof(Str),"Admin %s [ID:%d]: %s",nome,playerid,texto);
            SendClientMessageToAll(-1,Str);
        }
    }
    else SendClientMessage(playerid,-1,"Você não esta logado na rcon");
    return true;
}


/a (chat de admins)
Code:
CMD:a(playerid, params[])
{
    for( new i; i < MAX_PLAYERS; i++ )
    {
        if(IsPlayerAdmin(playerid))
        {
            if(sscanf(params, "s",texto))
            {
                SendClientMessage(playerid,-1,"Use: /a [texto]");
            }
            else
            {
                GetPlayerName(playerid,nome,sizeof(nome));
                format(Str, sizeof(Str),"%s: %s",nome,texto);
                SendClientMessage(i,-1,Str);
            }
        }
        else SendClientMessage(playerid,-1,"Você não é adminRcon");
    }
    return true;
}


Bem agora basta usar imaginação e pronts, você consegue fazer coisas mais rapidas com zcmd e sscanf.
Usando imaginação você chega lá. Espero que goste

$$$Sistema AFK$$$BY:GustavoAlves - Qua 20 Jul 2016 - 8:47

Comandos
/afk > fica AFK
/voltar > volta
/ausentes > mostra quem está AFK

Código
[size=11]Code:
/*
Sistema AFK com Auto-Kick

Feito por [XPG]MarlonCS
Skype: marloncs_22
*/

//includes
#include
#include

// defines
#define cinza 0xBEBEBEFF
#define laranja 0xFFA500FF
#define verde_claro 0x00FF00FF
#define vermelho 0xFF0000FF

// forwards
forward ChecarAfk(playerid);
forward AtualizarAfk(playerid);
forward ChecarPosicao(playerid,Float:afkX,Float:afkY,Float:afkZ);

// news
new
bool:AFKCMD[MAX_PLAYERS],
AfkCount[MAX_PLAYERS],
Text:afk[MAX_PLAYERS],
timeafk[MAX_PLAYERS],
Float:Position[3],
AFK[MAX_PLAYERS],
string[256]
;

public OnFilterScriptInit()
{
SetTimer("ChecarPosicao", 600000, true); // Se o player ficar parado por 10 minutos, ele é tido como AFK
SetTimer("ChecarAfk", 1000, true); // De um em um segundo chega o tempo do player AFK, caso ele esteja 10 minutos, ele é kickado
print("\nSisteminha AFK carregado *.* -------");
print("----------------------by [XPG]MarlonCS\n");
return 1;
}

public OnFilterScriptExit()
{
return 1;
}

public OnPlayerConnect(playerid)
{
CriarTextDraw(playerid);
return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
if(AFKCMD[playerid]==true) // Se o player sair enquanto tiver AFK antes de usar /voltar
{
AFK[playerid]=0;
AFKCMD[playerid]=false;
}
return 1;
}

CMD:afk(playerid, params[])
{
if(AFKCMD[playerid] == true) { SendClientMessage(playerid, cinza, "[SERVER] Você já está ausente!"); }
AFK[playerid]=1;
AFKCMD[playerid]=true;
TogglePlayerControllable(playerid,0);
TextDrawShowForPlayer(playerid,afk[playerid]);
timeafk[playerid] = SetTimer("AtualizarAfk", 60000, true);
format(string, sizeof(string), "[SERVER] %s está ausente. ( /afk )", pnome(playerid));
SendClientMessageToAll(laranja, string);
return 1;
}

CMD:voltar(playerid, params[])
{
if(AFKCMD[playerid] == false) { SendClientMessage(playerid, cinza, "[SERVER] Você não está ausente!"); }
AFK[playerid]=0;
AFKCMD[playerid]=false;
TogglePlayerControllable(playerid,1);
TextDrawHideForPlayer(playerid,afk[playerid]);
KillTimer(timeafk[playerid]);
format(string, sizeof(string), "[SERVER] %s voltou ao jogo. ( /voltar )", pnome(playerid));
SendClientMessageToAll(laranja, string);
return 1;
}

CMD:ausentes(playerid, params[])
{
new arm[500];
new str[500];
new Nome[24];
new count;
for(new i=0;i if(IsPlayerConnected(i)) {
if(AFK[i] > 0) {
count++;
GetPlayerName(i, Nome, sizeof(Nome));
format(str, sizeof(str),"{FFFFFF}Nome: {FFA500}%s {FFFFFF}[%i]\n", Nome, i);
strcat(arm, str);
}
}
}
if(count<=0)return ShowPlayerDialog(playerid, 10, DIALOG_STYLE_MSGBOX, "===== {FFA500}Ausentes{FFFFFF} ======", "{00FF00}Nenhum player ausente", "OK", "");
if(count>0)ShowPlayerDialog(playerid, 10, DIALOG_STYLE_MSGBOX, "===== {FFA500}Ausentes{FFFFFF} ======", arm, "OK", "");
return 1;
}

public OnPlayerUpdate(playerid)
{
GetPlayerPos(playerid, Position[0], Position[1], Position[2]); // Getar posição
if(AFK[playerid] == 1 && AfkCount[playerid] > 0 && AFKCMD[playerid]==false) // Se o player se mover
{
AfkCount[playerid] = 0;
AFK[playerid]=0;
KillTimer(timeafk[playerid]);
}
return 1;
}

stock CriarTextDraw(playerid)
{
afk[playerid] = TextDrawCreate(260.000000,222.000000,"~r~AFK ~w~( sair: ~g~/voltar~w~ )");
TextDrawSetOutline(afk[playerid], 1);
TextDrawFont(afk[playerid], 2);
TextDrawSetProportional(afk[playerid], true);
TextDrawAlignment(afk[playerid], 1);
TextDrawLetterSize(afk[playerid], 0.4, 3.0);
TextDrawSetShadow(afk[playerid], 1);
return 1;
}
public AtualizarAfk(playerid)
{
AfkCount[playerid]++; // De um em um minuto soma mais 1
return 1;
}
public ChecarPosicao(playerid,Float:afkX,Float:afkY,Float:afkZ) // Checar se o player está parado
{
GetPlayerPos(playerid,afkX,afkY,afkZ);
if (Position[0] == afkX && Position[1] == afkY && Position[2] == afkZ)
{
AFK[playerid]=1;
timeafk[playerid] = SetTimer("AtualizarAfk", 60000, true);
}
return 1;
}
public ChecarAfk(playerid)
{
if(AFK[playerid]==1 && AfkCount[playerid] > 10) { // Verifica se o player está afk por 10 minutos
SendClientMessage(playerid, vermelho, "[SERVER] Você foi kickado por estar AFK por muito tempo!");
Kick(playerid);
format(string, sizeof string, "[SERVER] %s foi kickado por estar AFK por 10 minutos.", pnome(playerid));
SendClientMessageToAll(vermelho, string);
}
return 1;
}
stock pnome(playerid)
{
new nome[32];
GetPlayerName(playerid, nome, sizeof(nome));
return nome;
}

OPS:SE DE ALGUM ERRO AO COMPILAR FALO NO MEU SKYPE:Retirado[/size]

$$$TELA DE LOGIN$$$BY:GustavoAlves - Ter 19 Jul 2016 - 17:17

[list=text]
[*][list=text]
[*]
[*]*/
[*]
[*]#include  
[*]new Text:Helder0;

[*]new Text:Helder1;

[*]new Text:Helder2;

[*]new Text:Helder3;

[*]new Text:Helder4;

[*]new Text:Helder5;

[*]new Text:Helder6;

[*]new Text:Helder7;
 

[*]#if  defined FILTERSCRIPT
 

[*]public OnFilterScriptInit()

[*]{

[*]    print("\n-=-=-=-=-=-=-=-=-=-=-=-=-=");

[*] print("=-=-=-=-=--=-=--=-=--=-=-=-=");

[*] print("=-=-=-Especial SSGAMERS=-=-=");

[*] print(" Sistema De Texdraw Na Tela ");

[*] print("=-=-=-=-=-Login=-=-=-=--=-=-");

[*] print("=-=-=-=-=--==--==--=-=-=-=\n");

[*] return 1;

[*]}
 

[*]public OnFilterScriptExit()

[*]{

[*] return 1;

[*]}
 

[*]#else
 

[*]main()

[*]{

[*] print("\n-=-=-=-=-=-=-=-=-=-=-=-=-=");

[*] print("=-=-=-=-=--==--==--=-=-=-=\n");

[*] print("=-=-Especial SSGAMERS===-=\n");

[*] print(" Sistema De Texdraw Na Tela ");

[*] print("=-=-=-=-=-Login=-=-=-=--=-\n");

[*] print("=-=-=-=-=--==--==--=-=-=-=\n");

[*]}
 

[*]#endif
 

[*]public OnGameModeInit()

[*]{

[*] Helder0 = TextDrawCreate(2.000000, 1.000000, "_");

[*]    TextDrawBackgroundColor(Helder0, 0xFFFFFFFF);

[*]    TextDrawFont(Helder0, 1);

[*]    TextDrawLetterSize(Helder0, 0.500000, 10.099998);

[*]    TextDrawColor(Helder0, -1);

[*]    TextDrawSetOutline(Helder0, 0);

[*]    TextDrawSetProportional(Helder0, 1);

[*]    TextDrawSetShadow(Helder0, 1);

[*]    TextDrawUseBox(Helder0, 1);

[*]    TextDrawBoxColor(Helder0, 0x00000051);

[*]    TextDrawTextSize(Helder0, 639.000000, 10.000000);
 

[*]    Helder1 = TextDrawCreate(2.000000, 355.000000, "_");

[*]    TextDrawBackgroundColor(Helder1, 0xFFFFFFFF);

[*]    TextDrawFont(Helder1, 1);

[*]    TextDrawLetterSize(Helder1, 0.500000, 10.099998);

[*]    TextDrawColor(Helder1, -1);

[*]    TextDrawSetOutline(Helder1, 0);

[*]    TextDrawSetProportional(Helder1, 1);

[*]    TextDrawSetShadow(Helder1, 1);

[*]    TextDrawUseBox(Helder1, 1);

[*]    TextDrawBoxColor(Helder1, 0x00000051);

[*]    TextDrawTextSize(Helder1, 639.000000, 10.000000);
 

[*]    Helder2 = TextDrawCreate(-1.000000, 95.000000, "_");

[*]    TextDrawBackgroundColor(Helder2, 0xFFFFFFFF);

[*]    TextDrawFont(Helder2, 1);

[*]    TextDrawLetterSize(Helder2, 0.500000, -0.200000);

[*]    TextDrawColor(Helder2, -1);

[*]    TextDrawSetOutline(Helder2, 0);

[*]    TextDrawSetProportional(Helder2, 1);

[*]    TextDrawSetShadow(Helder2, 1);

[*]    TextDrawUseBox(Helder2, 1);

[*]    TextDrawBoxColor(Helder2, 0x00000051);

[*]    TextDrawTextSize(Helder2, 642.000000, 0.000000);
 

[*]    Helder3 = TextDrawCreate(-1.000000, 353.000000, "_");

[*]    TextDrawBackgroundColor(Helder3, 0xFFFFFFFF);

[*]    TextDrawFont(Helder3, 1);

[*]    TextDrawLetterSize(Helder3, 0.500000, -0.200000);

[*]    TextDrawColor(Helder3, -1);

[*]    TextDrawSetOutline(Helder3, 0);

[*]    TextDrawSetProportional(Helder3, 1);

[*]    TextDrawSetShadow(Helder3, 1);

[*]    TextDrawUseBox(Helder3, 1);

[*]    TextDrawBoxColor(Helder3, 0x00000051);

[*]    TextDrawTextSize(Helder3, 642.000000, 0.000000);
 

[*]    Helder4 = TextDrawCreate(264.000000, 9.000000, "Seu Sv Aki");

[*]    TextDrawBackgroundColor(Helder4, 0xC5FFC2F6);

[*]    TextDrawFont(Helder4, 0);

[*]    TextDrawLetterSize(Helder4, 0.680000, 2.800000);

[*]    TextDrawColor(Helder4, 65535);

[*]    TextDrawSetOutline(Helder4, 0);

[*]    TextDrawSetProportional(Helder4, 1);

[*]    TextDrawSetShadow(Helder4, 0);
 

[*]    Helder5 = TextDrawCreate(258.000000, 30.000000, "Logotipo Do Seu Servidor");

[*]    TextDrawBackgroundColor(Helder5, -16776961);

[*]    TextDrawFont(Helder5, 2);

[*]    TextDrawLetterSize(Helder5, 0.170000, 1.000000);

[*]    TextDrawColor(Helder5, -16776961);

[*]    TextDrawSetOutline(Helder5, 0);

[*]    TextDrawSetProportional(Helder5, 1);

[*]    TextDrawSetShadow(Helder5, 0);
 

[*]    Helder6 = TextDrawCreate(287.000000, 51.000000, "");

[*]    TextDrawBackgroundColor(Helder6, 0xFFFFFFFF);

[*]    TextDrawFont(Helder6, 2);

[*]    TextDrawLetterSize(Helder6, 0.190000, 1.100000);

[*]    TextDrawColor(Helder6, -65281);

[*]    TextDrawSetOutline(Helder6, 0);

[*]    TextDrawSetProportional(Helder6, 1);

[*]    TextDrawSetShadow(Helder6, 0);
 

[*]    Helder7 = TextDrawCreate(266.000000, 74.000000, "");

[*]    TextDrawBackgroundColor(Helder7,0xFFFFFFFF);

[*]    TextDrawFont(Helder7, 0);

[*]    TextDrawLetterSize(Helder7, 0.380000, 1.200000);

[*]    TextDrawColor(Helder7, -1);

[*]    TextDrawSetOutline(Helder7, 0);

[*]    TextDrawSetProportional(Helder7, 1);

[*]    TextDrawSetShadow(Helder7, 0);

[*] return 1;

[*]}
 

[*]public OnGameModeExit()

[*]{

[*] return 1;

[*]}
 

[*]public OnPlayerRequestClass(playerid, classid)

[*]{
 

[*] return 1;

[*]}
 

[*]public OnPlayerConnect(playerid)

[*]{

[*] TextDrawShowForPlayer(playerid, Helder0);

[*]    TextDrawShowForPlayer(playerid, Helder1);

[*]    TextDrawShowForPlayer(playerid, Helder2);

[*]    TextDrawShowForPlayer(playerid, Helder3);

[*]    TextDrawShowForPlayer(playerid, Helder4);

[*]    TextDrawShowForPlayer(playerid, Helder5);

[*]    TextDrawShowForPlayer(playerid, Helder6);

[*]    TextDrawShowForPlayer(playerid, Helder7);

[*] return 1;

[*]}
 

[*]public OnPlayerDisconnect(playerid, reason)

[*]{

[*] return 1;

[*]}
 

[*]public OnPlayerSpawn(playerid)

[*]{

[*]        TextDrawHideForPlayer(playerid, Helder0);

[*]        TextDrawHideForPlayer(playerid, Helder1);

[*]        TextDrawHideForPlayer(playerid, Helder2);

[*]        TextDrawHideForPlayer(playerid, Helder3);

[*]        TextDrawHideForPlayer(playerid, Helder4);

[*]        TextDrawHideForPlayer(playerid, Helder5);

[*]        TextDrawHideForPlayer(playerid, Helder6);

[*]        TextDrawHideForPlayer(playerid, Helder7);

[*]// return 1;

[*]}

OPS SE NAO FUCIONAR FALE NO MEU SKYPE:Retirado

Smokiie_Gamer

[TUT]Criando CMD para criar veiculos ( ZCMD ) - Qua 8 Jun 2016 - 10:20

OIOI GENTI
( MT kefera agr kk )


Entao, Venho ensina como que cria 1 comando para criar veiculos, ex: /sultan /infernus  etc...


Comecando....




Você coloca a include zcmd.




 Ja que nao pode criar comando no " OnPlayerCommandText "

Vamos para o fim da GM 


Entao so fora disso, eu prefiro no fim da gm...




O Comando é este aqui...

Código:
CMD:CARRO(playerid)// COMANDO
{// ABRE CMD
 if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, vermelho,"| ERRO |  Você não é um(a) administrador(a)");// CASO NAO SER ADM RCON, VAI DAR ESSE ERRO
 new Float:Pos[3];// POSICAO
 GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);// POSICAO
 CreateVehicle(ID CARRO, Pos[0], Pos[1], Pos[2], 0.0, 3, 3, VIDA CARRO);// CRIACAO DO VEICULO // ID VEICULO // POS // COR // VIDA VEICULO
 return 1;// RETURN
}// FECHA CMD



Por agora é tudo....
Tuto ta meio merdinha
Mas acho que vcs entende  cheers

Ent, no proximo tuto vo ensinar como q faz

/CV [id-veiculo] [cor1] [cor2]

Pra desocupar menos linha....

Media_Roox

[TUTORIAL]Comandos Básicos ~ Players[ZCMD] - Sex 25 Mar 2016 - 23:57

Fala Ai Galera Bom
Hoje Vou Ensinar
a Alguns Novatos No SA:MP
Como Criar Comandos Basicos em "ZCMD"
Intão Vamos la!
//COMEÇANDO
Iremos Usar ZCMD
Adicione NO TOPO DA GAMEMODE
#include
Primeiros Comandos
///////////////////////////////////////////////////////////////////////////
NO FINAL DA GAMEMODE
CMD:ajuda(playerid) //(PLAYERID) Serve Para a Função De Uma Mensagem Em Texto
{
SendClientMessage(playerid, COR, "Mensagem Que Você Deseja");
return 1; //SEMPRE RETORNANDO A 1 NÃO SE ESQUEÇA
} //FECHANDO A CHAVE CRIADA!
Neste Comando /ajuda Definimos a Mensagem Como Podem Ver Message(playerid
Como o CMD:ajuda(playerid) Adicionamos Playerid !CORRETO
///////////////////////////////////////////////////////////////////////////
SEGUNDO COMANDO

CMD:regras(playerid) //AQUI VAI DEFINIR DENOVO A SENDCLIENTMESSAGE(PLAYERID)
{ //ABRINDO A CHAVE DO FUNCIONAMENTO OBS:APAGUE ISSO
SendClientMessage(playerid, COR, "REGRAS DO SEU SERVIDOR AQUI"); //DEFINIDO
return 1; //SEMPRE RETORNANDO A 1 COM O ; NO FINAL NÃO SE ESQUEÇA
} //FECHANDO A CHAVE CRIADA OBS APAGUE ISSO
//EXPLICAÇÃO BOM EM SENDCLIENTMESSAGE(playerid Esta Definindo a Mensagem Que
Ira aparecer ao Player Como no Comando CMD:regras(playerid)
///////////////////////////////////////////////////////////////////////////
PROXIMO COMANDO
CMD:creditos(playerid)
{ //ABRINDO A CHAVE
SendClientMessage(playerid, COR, "Creditos a SSGAMERS OBS PODE EDITAR ISSO");
return 1; //SEMPRE RETORNANDO A 1 NÃO SE ESQUEÇA DO ; NO FINAL
} //FECHANDO A CHAVE CRIADA
///////EXPLICAÇÃO
EM SENDCLIENTMESSAGE(PLAYERID, COR, EM "COR" VOCÊ COLOQUE A COR QUE DESEJA
EXEMPLO
SENDCLIENTMESSAGE(PLAYERID, 0x03D687FF, "DEFINIMOS A COR AQUI E A MENSAGEM"
COMO FOI DEFINIDO EM CMD:creditos(playerid) //PLAYERID !!!
//////////////////////////////////////////////////////////////////////////////


ESPERO TER AJUDADO(BREVE MINHA APOSTILA)

DUVIDAS ? COMENTE AI!!

Coyote_Script

Undefined Symbol 017 - [ERRO] - Seg 1 Fev 2016 - 15:15

tenta colocar ' #include dini ' no topo do gm.

Iniciando em Programação - Linguagem C - Qua 14 Out 2015 - 11:10

Bom, antes de começarmos a aula de hoje jovens, vou me apresentar, Prazer eu sou o Thiago estarei aqui na SSGamers trazendo Tutoriais sobre a linguagem C entre outras. E para começarmos, primeiro você deve saber pelo menos informática básica, ao longo do curso tarei disponibilizando fontes de estudos e até mesmo aulas interativas de programação com vídeo aulas.

    1- Iniciando em Programação:


  •       Você que esta querendo aprender sobre programação de computadores e deve se perguntar por onde começar. Bom, primeiramente irei mostrar como programar na Linguagem C, que pode ser chamada de "Mãe das Linguagens" que utilizamos hoje ( Ela pode ser chamada, mais não é a Mãe, existem muitas anterior a essa), A primeira versão de C foi criada por Dennis Ritchie em 1972 nos laboratórios Bell para ser incluído como um dos softwares a serem distribuídos juntamente com o sistema operacional Unix do computador PDP-11, na equipe certificada por Ken Thompson.
  • Ao ponto de vista técnico, o surgimento do C iniciou com a linguagem ALGOL 60, definida em 1960. ALGOL era uma linguagem de alto nível, que permitia ao programador trabalhar "longe da máquina", sem se preocupar com os aspectos de como cada comando ou dado era armazenado ou processado. Foi criado para substituir o FORTRAN. ALGOL não teve sucesso, talvez por tentar ser de muito alto nível em uma época em que a maioria dos sistemas operacionais exigiam do usuário um grande conhecimento de hardware.
  • Em 1967 surgiu CPL (Combined Programming Language) nas universidades de Londres e Cambridge com o objetivo, segundo a equipe do projeto, de "trazer ALGOL à terra", ou "manter contato com a realidade de um computador real". Da mesma forma de ALGOL, CPL não foi bem aceita, em especial pelos projetistas de sistemas operacionais que a consideravam difícil de implementar.
  • Ainda em 1967, em Cambridge, Martin Richards criou o BCPL (Basic CPL), uma simplificação do CPL, tentando manter apenas as "boas coisas do CPL".
  • Em 1970, Ken Thompson, chefe da equipe que projetou o UNIX para o PDP11 do Bell Labs, implementou um compilador para uma versão mais reduzida do CPL. Batizou a linguagem de B.
  • Tanto BCPL quanto B mostravam-se muito limitadas, prestando-se apenas para certas classes de problemas. Isto se fez sentir especialmente na primeira versão do PDP11, lançado no mercado em 1971. Um dos fatores que levou à isto foi a intenção do grupo responsável pelo UNIX de reescrevê-lo todo em uma linguagem de alto nível, e para isto B era considerado lenta.
  • Estes problemas levaram a que o projetista Dennis Ritchie, do Bell Labs, fosse encarregado de projetar uma nova linguagem, sucessora do B, que viria então, a ser chamada de C.
  • A linguagem C buscou manter o "contato com o computador real" e ainda sim dar ao programador novas condições para o desenvolvimento de programas em áreas diversas, como comercial, científica e de engenharia.
  • Por muitos anos (aproximadamente 10) a sintaxe (formato) tida como padrão da linguagem C  foi aquela fornecida com o UNIX versão 5.0 do Bell Labs.   A principal documentação deste padrão encontra-se na publicação "The C Programming Language", de Brian Kernighan e Dennis Ritchie (K&R), tida como a "bíblia da linguagem C".
  • O mais interessante desta versão de C era que os programas-fonte criados para rodar em um tipo de computador podiam ser transportados e recompilados em outros sem grandes problemas. A esta característica dá-se o nome de portabilidade. Com ela, uma empresa que desenvolve um programa pode fazê-lo rodar em diferentes computadores sem ter um elevado custo a cada vez que isto for feito.
  • Em 1985, ANSI (American National Standards Institute) estabeleceu um padrão oficial de C o chamado "C ANSI". 


     1.1 Exemplo de programa em C:
        
        #include "stdio.h"
        Main(){
           printf("Ola, Mundo");
        }
 
     Como você pode perceber, a linguagem C tem uma estrutura como as outras linguagens ela se inicia declarando a Biblioteca que você irá utilizar. #include "stdio.h" ou .
     Logo depois você começa o corpo do programa ou seja você declara a função Main onde vai ficar todo o programa feito. Percebe-se que eu Abri e fechei parenteses porque dentro dela não teremos nenhum argumento.
     Assim por diante, eu utilizei o comando printf, ele será responsavel por emitir na Tela do usuário tudo aquele que eu digitei dentro das Aspas.e observer que abrimos os parenteses                    Digitamos seu argumento e logo depois fechamos e colocamos ; para que quando compilarmos o programa o Compilador identifique que ali esta sendo executado um comando ou função.

 1.2 Compiladores:
   Eu Poderia citar vários compiladores aqui nessa aula, mais irei apenas dizer 1, que é conhecido por sua facilidade de manuseio, alem disso, ele ajuda muito os novatos.
      O Programa se Chama: DEV-C++, um compilador de Alto nível e facil aprendizado para iniciantes.Estarei deixando o Link no fim da Aula.

 1.3 Avaliação Final:
  Bom, vo deixando aqui um teste para quem ler o tutorial. Deixe nos comentários um Programa compilado que irá imprimir "SSGames, 4 anos online, construindo servidores por voce"

      Bom, a nossa primeira aula vai ficando por aqui. espero que vocês estejam gostando, esse é meu primeiro tutorial aqui na SSGamers a pedido do Wesley. E trarei muitos outros se o feedback for positivo.Qualquer Dúvida me contate via, EMAIl ou Wathsapp.

EMAIL: tornadozerolive@hotmail.com ( Coloque Assunto e se Identifique).
Wathsapp: 017-991545517

 Link do Compilador para Download: http://www.baixaki.com.br/download/dev-c-.htm


Flw até a proxima aula. Nela Veremos Como Criar variaveis, e a função SCANF.

Black_Snake

[Tutorial] Scripting para iniciantes - Seg 21 Set 2015 - 12:03

Olá galera, voltei aqui Novamente, com mais uma quentinha pra vocês !

Este é um tutorial básico feito para iniciantes em SA: MP Scripting. Lembre-se, Este não é um feito profissionalmente tutorial. Há uma série de outros bons tutoriais você pode encontrar. Eu apenas decidi fazer um para ajudar vocês. Então, vamos começar.

O que é o SA: MP?
San Andreas Multiplayer (SA: MP) é uma modificação para Grand Theft Auto: San Andreas que o transforma em um jogo multiplayer. Você pode jogar através da internet com outras pessoas. Você precisa do Grand Theft Auto original: San Andreas jogo PC para jogar San Andreas Multiplayer.

O que é PENHOR?
Pawn é uma linguagem de programação que está incorporado em outros programas, no nosso caso, SA-MP.

Recomendação.
Para todos os novatos eu recomendo a leitura completamente SA-MP Wiki - noções básicas de scripts. Quando scripting sempre tem essas páginas abertas no seu navegador de internet. Clique aqui.


Começando.

Configurar o seu servidor - Ir para sa-mp.com, ir para download e clique em SA-MP 0.3d R2 Windows Server. Após o download for concluído, salve o arquivo em seu computador. Neste arquivo você iria encontrar, filterscripts, gamemodes incluem npcmodes, PAWNO, plugins, scriptfiles, annouce, samp-licença, samp-APN, samp-servidor, servidor e servidor-leia-me, arquivos.

Vamos começar por definir as configurações de servidor. Vamos abrir o arquivo 'servidor'.


Você vai ver isso:

Citação:
echo Execução de Configuração do servidor ...
lanmode 0
changeme rcon_password
maxplayers 32
port 7777
hostname SA-MP 0.3 Servidor
gamemode0 grandlarc 1
filterscripts baseaf gl_actions gl_property gl_realtime gl_mapicon ls_elevator
anunciar 0
consulta 1
weburl www.sa-mp.com
onfoot_rate 40
incar_rate 40
weapon_rate 40
stream_distance 300,0
stream_rate 1000
maxnpc 0
logtimeformat [% H:% M:% S]
Agora, nós estamos indo para alterar essas configurações padrão ao seu gosto.

Hostname - Isto é o que o nome do servidor será quando hospedado em SA: MP cliente.
Rcon_password - Esta é a senha para acessar o servidor.
Maxplayers - Esta é a alterar a quantidade de jogadores para permitir que no servidor.
gamemode - Esta é script em execução do servidor.

Então, vamos alterar as configurações para os nossos gostos.

Citação:
echo Execução de Configuração do servidor ...
lanmode 0
Servidor rcon_password
maxplayers 50
port 7777
hostname SA-MP 0.3 servidor
gamemode0 Gamemode
filterscripts
anunciar 0
consulta 1
weburl www.sa-mp.com
onfoot_rate 40
incar_rate 40
weapon_rate 40
stream_distance 300,0
stream_rate 1000
maxnpc 0
logtimeformat [% H:% M:% S]
Após estes são alteradas salvar o arquivo.

Passo 1 - Scripting.

Agora, vamos começar por entrar em> PAWNO> pawno.exe.
Abra o arquivo, ele ficará em branco. Criar um novo arquivo, vá em> File> New, no canto superior direito.

Isto irá aparecer:

Código:
// Este é um comentário
// Descomente a linha abaixo se você quer escrever uma filterscript
// # definir filterscript

#include

#if defined filterscript

OnFilterScriptInit pública ()
{
print ("\ n --------------------------------------");
print ("filterscript vazio por seu nome aqui");
print ("-------------------------------------- \ n");
retornar 1;
}

OnFilterScriptExit pública ()
{
retornar 1;
}

#outro

a Principal()
{
print ("\ n ----------------------------------");
print ("Gamemode vazio por seu nome aqui");
print ("---------------------------------- \ n");
}

#Acabar se

OnGameModeInit pública ()
{
// Não utilizar estas linhas se é um filterscript
SetGameModeText ("Script em branco");
AddPlayerClass (0, 1958,3783, 1343,1572, 15,3746, 269,1425, 0, 0, 0, 0, 0, 0);
retornar 1;
}

OnGameModeExit pública ()
{
retornar 1;
}

OnPlayerRequestClass pública (playerid, classid)
{
SetPlayerPos (playerid, 1958,3783, 1343,1572, 15,3746);
SetPlayerCameraPos (playerid, 1958,3783, 1343,1572, 15,3746);
SetPlayerCameraLookAt (playerid, 1958,3783, 1343,1572, 15,3746);
retornar 1;
}

OnPlayerConnect pública (playerid)
{
retornar 1;
}

OnPlayerDisconnect pública (playerid, razão)
{
retornar 1;
}

OnPlayerSpawn pública (playerid)
{
retornar 1;
}

OnPlayerDeath pública (playerid, killerid, razão)
{
retornar 1;
}

público OnVehicleSpawn (vehicleid)
{
retornar 1;
}

OnVehicleDeath público (vehicleid, killerid)
{
retornar 1;
}

OnPlayerText pública (playerid, texto [])
{
retornar 1;
}

OnPlayerCommandText pública (playerid, cmdtext [])
{
if (strcmp ("/ mycommand", cmdtext, é verdade, 10) == 0)
{
// Faz alguma coisa aqui
retornar 1;
}
retornar 0;
}

OnPlayerEnterVehicle pública (playerid, vehicleid, ispassenger)
{
retornar 1;
}

OnPlayerExitVehicle pública (playerid, vehicleid)
{
retornar 1;
}

OnPlayerStateChange pública (playerid, NewState, oldstate)
{
retornar 1;
}

OnPlayerEnterCheckpoint pública (playerid)
{
retornar 1;
}

OnPlayerLeaveCheckpoint pública (playerid)
{
retornar 1;
}

OnPlayerEnterRaceCheckpoint pública (playerid)
{
retornar 1;
}

OnPlayerLeaveRaceCheckpoint pública (playerid)
{
retornar 1;
}

OnRconCommand público (cmd [])
{
retornar 1;
}

OnPlayerRequestSpawn pública (playerid)
{
retornar 1;
}

público OnObjectMoved (objectid)
{
retornar 1;
}

OnPlayerObjectMoved pública (playerid, objectid)
{
retornar 1;
}

OnPlayerPickUpPickup pública (playerid, pickupid)
{
retornar 1;
}

OnVehicleMod pública (playerid, vehicleid, ComponentID)
{
retornar 1;
}

OnVehiclePaintjob pública (playerid, vehicleid, paintjobid)
{
retornar 1;
}

OnVehicleRespray pública (playerid, vehicleid, color1, color2)
{
retornar 1;
}

OnPlayerSelectedMenuRow pública (playerid, linha)
{
retornar 1;
}

OnPlayerExitedMenu pública (playerid)
{
retornar 1;
}

OnPlayerInteriorChange pública (playerid, newinteriorid, oldinteriorid)
{
retornar 1;
}

OnPlayerKeyStateChange pública (playerid, newkeys, oldkeys)
{
retornar 1;
}

público OnRconLoginAttempt (ip [], password [], o sucesso)
{
retornar 1;
}

OnPlayerUpdate pública (playerid)
{
retornar 1;
}

OnPlayerStreamIn pública (playerid, forplayerid)
{
retornar 1;
}

OnPlayerStreamOut pública (playerid, forplayerid)
{
retornar 1;
}

OnVehicleStreamIn público (vehicleid, forplayerid)
{
retornar 1;
}

público OnVehicleStreamOut (vehicleid, forplayerid)
{
retornar 1;
}

OnDialogResponse pública (playerid, DialogID, resposta, listitem, inputText [])
{
retornar 1;
}

OnPlayerClickPlayer pública (playerid, clickedplayerid, fonte)
{
retornar 1;
}


Este é um script em branco. Agora clique F5 para compilar, esta irá notificá-lo se há algum erro.
Se você está compilando seu script pela primeira vez você vai ter que salvá-lo também. Salve-o como o nome que você tem para suas configurações gamemode0 no arquivo de configurações de servidor para que o servidor pode executar o script. Para mim, eu tenho 'Gamemode' então eu vou guardá-lo como 'Gamemode'.


Agora clique samp-servidor para iniciar o servidor. Adicionar: 7777 para sua lista de favoritos em seu SA: MP cliente e seu servidor será exibida.


Passo 2 - Scripting

Então, vamos começar por remover as 3 primeiras linhas.
Agora, o que nós estamos indo para escrever alguns comentários. Exemplo, créditos, versão, desenvolvedor etc.

Então vamos fazer isso:

Código:
/ ************************************************* ******************************
* SERVER NAME: Gamemode
* Server versão: Modo v1.0
* Server Developer: Nicholas
*
* INFORMAÇÃO:
*
************************************************** ***************************** /

Eu recomendaria a compilação antes de continuar com o seu script.

Agora vamos trabalhar na nossa função "main ()"

Então você terá o seguinte:

Código:
a Principal()
{
    print ("\ n ----------------------------------");
    print ("Gamemode vazio por seu nome aqui");
    print ("---------------------------------- \ n");
}

O que é isto? Isto é o que é impresso em seu console (SAMP-server)
Então, isso vai mostrar o que basicamente roteiro o servidor está executando.

Então vamos fazer isso:

Código:
a Principal()
{
print ("SERVER: Gamemoder");
print ("VERSÃO: Modo v1.0");
print ("Revelador: Nicholas");
}

Então, vamos agora trabalhar em OnGameModeInit () function.

Temos este:

Código:
OnGameModeInit pública ()
{
// Não utilizar estas linhas se é um filterscript
SetGameModeText ("Script em branco");
AddPlayerClass (0, 1958,3783, 1343,1572, 15,3746, 269,1425, 0, 0, 0, 0, 0, 0);
retornar 1;
}

Agora, estamos gongo para definir o 'SetGameModeText'. Isto irá mostrar o modo do servidor, exemplo da versão.

Então vamos fazer isso:

Código:
OnGameModeInit pública ()
{
// Não utilizar estas linhas se é um filterscript
SetGameModeText ("v2.0.0 Party");
AddPlayerClass (0, 1958,3783, 1343,1572, 15,3746, 269,1425, 0, 0, 0, 0, 0, 0);
retornar 1;
}

Agora, nós estamos indo para o trabalho em nossa seleção de classe, AddPlayerClass. Leia mais.
Por padrão, as coordenadas são definidas para o casino High Roller em Las Venturas.

Agora vamos remover as coordenadas padrão e adicionar nossas próprias coordenadas. Para obter coordenadas que você tem que usar este comando no servidor, / salvar, este comando guarda a sua posição Onfoot. Agora as coordenadas são salvos no arquivo do usuário GTA San Andreas> SAMP> Savepositions.

Estas são as coordenadas que recolhi.

Código:
AddPlayerClass (23,2038.5416,1342.3601,10.6719,270.0824,0,0,0,0,0,0);
AddPlayerClass (46,1831.0970, -1682.6102,13.5469,88.3051,0,0,0,0,0,0);
AddPlayerClass (45,1481.3297, -1748.6530,15.4453,359.7071,0,0,0,0,0,0);
AddPlayerClass (83,723.3815, -1494.9203,1.9343,359.2792,0,0,0,0,0,0);
AddPlayerClass (92,1126.6831, -1425.8101,15.7969,357.7497,0,0,0,0,0,0);

Agora adicione suas coordenadas para o seu script.

Agora, temos o seguinte:

Código:
OnGameModeInit pública ()
{
SetGameModeText ("v2.0.0 Party");
// ------------------------ [PLAYER classe de seleção] ------------------- -------
AddPlayerClass (23,2038.5416,1342.3601,10.6719,270.0824,0,0,0,0,0,0);
    AddPlayerClass (46,1831.0970, -1682.6102,13.5469,88.3051,0,0,0,0,0,0);
    AddPlayerClass (45,1481.3297, -1748.6530,15.4453,359.7071,0,0,0,0,0,0);
    AddPlayerClass (83,723.3815, -1494.9203,1.9343,359.2792,0,0,0,0,0,0);
    AddPlayerClass (92,1126.6831, -1425.8101,15.7969,357.7497,0,0,0,0,0,0);
    retornar 1;
}

Vamos adicionar um veículo para o script / servidor. Leia mais.
Nós vamos usar AddStaticVehicle. Nós vamos adicionar isso sob a OnGameModeInit.
Nós estamos indo para usar o / salvar comando para obter nossas coordenadas para que o veículo irá desovar.

Aqui estão as minhas coordenadas
Código:
(0,1478.9257, -1737.8595,13.2929,270.0982,0,0);
O primeiro 0 na coordenadas será a identificação do veículo, então vamos mudar isso para 402.

Portanto, temos o seguinte:

Código:
OnGameModeInit pública ()
{
SetGameModeText ("v2.0.0 Party");
// ------------------------ [PLAYER classe de seleção] ------------------- -------
AddPlayerClass (23,2038.5416,1342.3601,10.6719,270.0824,0,0,0,0,0,0);
    AddPlayerClass (46,1831.0970, -1682.6102,13.5469,88.3051,0,0,0,0,0,0);
    AddPlayerClass (45,1481.3297, -1748.6530,15.4453,359.7071,0,0,0,0,0,0);
    AddPlayerClass (83,723.3815, -1494.9203,1.9343,359.2792,0,0,0,0,0,0);
    AddPlayerClass (92,1126.6831, -1425.8101,15.7969,357.7497,0,0,0,0,0,0);
    // --------------------------- [Servidor VEÍCULOS] ----------------- -------------
    AddStaticVehicle (402,1478.9257, -1737.8595,13.2929,270.0982,0,0);
retornar 1;
}

Então, sim, como eu disse este é o tutorial básico. Há mais tutoriais adiantamentos sobre SA: MP fóruns. Então eu vou terminar o meu tutorial, fazendo um simples comando / help.

Isto é o que temos:

Código:
OnPlayerCommandText pública (playerid, cmdtext [])
{
if (strcmp ("/ mycommand", cmdtext, é verdade, 10) == 0)
{
// Faz alguma coisa aqui
retornar 1;
}
retornar 0;
}

Portanto, vamos trabalhar nesse ....
Vamos fazer isso:

Código:
{
if (strcmp ("/ help", cmdtext, verdadeiro, 4) == 0)

Agora vamos adicionar o nosso SendClientMessage.
Vamos fazer isso:

Código:
SendClientMessage (playerid, 0xFFFFFF, "Este é um Script Deathmatch.");

Portanto, temos o seguinte:

Código:
OnPlayerCommandText pública (playerid, cmdtext [])
{
if (strcmp ("/ help", cmdtext, verdadeiro, 5) == 0)
{
SendClientMessage (playerid, 0xFFFFFF, "Este é um Script Deathmatch.");
        }
 retornar 0;
}

Lembrando, este é um tutorial para iniciantes, qualquer dúvida me chame nas Mensagens Privadas ou aqui mesmo !
Não manjo muito de Script, mas isso aí é o que eu sei, espero ter ajudado Wink 

Att. [SSGAMES LÍDER DOS SCRIPTERS]Black_Snake


Ir para o topo

Data/hora atual: Sab 29 Jan 2022 - 4:16