Um programa que automatiza o processo de documentação de forma personalizada e prática.
Por que usar?
A documentação é um processo necessário para melhor compreensão dos códigos e muitas vezes essa importância passa despercebida,
pois a programação pode se tornar maçante naquele momento e na tentativa de finalizar o script a documentação é deixada de lado.
Daí nasce a ideia de automatizar o processo de leitura do script e escrita da documentação para otimizar o tempo do programador.
Ideal para quem trabalha com venda de sistemas e quer entregar um script com explicações para o cliente.
Recursos:
Documentação personalizada
- Você pode criar seu próprio formato de documentação
- Use '\n' para quebra de linhas e '\t' para tabulação- A chave {param} deve ser usada para discriminar o(s) parâmetro(s) da função e serve apenas para o campo de parâmetros
Keywords peronalizadas
- Utilize as palavras-chave que quiser, separando
-as por vírgula, para que o programa busque somente as funções desejadas- Funções sem keywords não serão identificadas
Rápida leitura
Salva a documentação em uma cópia do arquivo (nunca reescreve o original)
Use TAB dentro da caixa de texto para pular para o próximo campo de documentação
Para remover funções específicas da documentação basta apagá-las da caixa de texto antes de salvar
Primeiramente: quero dizer que esse tutorial é para ajudar quem não sabe!
Pessoal que esta com esse problema no console: Legacy key `hostname` supplied, using `name`
é muito simples resolver:
procure pela sua GM ou filterscript, talvez ate alguma include sua! procuro por algo como o exemplo:
Código PHP:
new NomeServer[][] = { "Exemplo", "Exemplo 2" }; forward RandomServerNames(playerid); public RandomServerNames() { new string[128]; new random1 = random(sizeof(NomeServer)); format(string, sizeof(string), "hostname %s", NomeServer[random1] ); SendRconCommand(string); return 1; }
acima dou um exemplo, a linha onde tem "hostname %s" esta errada no Open MP!, para resolver o problema voce apenas deve tocar Hostname por "name",igual o config.json
ficará assim:
Código PHP:
new NomeServer[][] = { "Exemplo", "Exemplo2" }; forward RandomServerNames(); public RandomServerNames() { new string[500]; new random1 = random(sizeof(NomeServer); format(string, sizeof(string), "name %s", NomeServer[random1] ); SendRconCommand(string); return 1; }
MAS PORQUE ACONTECE ISSO?
A mensagem “Legacy key hostname supplied, using name” normalmente aparece quando um software ou script é atualizado e a versão mais recente usa um nome de chave ou parâmetro diferente. Neste caso, a chave hostname foi substituída por name.
Isso é comum no desenvolvimento de software, onde certas chaves ou parâmetros são renomeados ou descontinuados para melhorar a legibilidade, estrutura ou funcionalidade do código.
Se não resolver: verifique outros locais no script que tenha a mesma "função" que os assuntos acima!
Você que está procurando um servidor roleplay. Quero te convidar a jogar no servidor Two Life RP, nesse servidor vamos simular o maximo possível, nele trazemos sistemas inovados como de trabalho de Servente em construção e eletricista da Enel, dentre outros... Iremos atuar com 22°BPM/M juntamente com a 1°Delegacia de Polícia Civil e teremos o e Samu atuando na cidade.
Também temos facções criminosas com suas responsabilidades de produção de armas e drogas e facção responsável por desmanches ilegais de veículos.
Sistemas:
Sistema de Oficina; Sistema de Drogas (PRODUÇÃO DE COCAINA,CRACK,MACONHA,ARMAS);
Sistema de Desmanche;
Rotas de tráfico e contra bandos;
Sistemas interativos para melhorar o roleplay (Estilo Five M / MTA ) Sistema de presídio com trabalhos interno para redução de Pena (TEMPO) Sistema de RG. CNH e carteira trabalho em textdraw;
Com categorias de CNH;
Sistema de Imposto/IPVA;
Sistema de tablet para policias;
Sistema fome/sede/sono;
Casas únicas mapeadas;
Pontos de Vantagens;
Sistema de armazenamento de armas/drogas nas casas; Roubos de bancos, empresas, caixas eletrônicos; Sistema de JBL funcional com salvamento de playlist; Empregos inovadores; Dentre outros... IP: 198.50.186.219:7777
vehicle++; } } if(!vehicle) SendClientMessage(playerid, COLOR_GREY, "Você não possui veículos em sua residência."); else ShowPlayerDialog(playerid, DIALOG_INVENTORY3, DIALOG_STYLE_LIST, "Veículos na residência", string, "Fechar", ""); }
Todos os veículos que tiver com player_car_house[playerid][slot] definido com numero da casa tem que aparece na lista, mais do jeito que esta mostra apenas o primeiro, o que devo fazer?
Coloquei no timer de 30 segundos o codigo abaixo, apos 30 segundos se o jogador tiver dentro da casa e for o dono senta a chave dele pra o numero da casa assim entregando a chave da casa:
Citar: for(new h = 0; h < MAX_HOUSES; ++h)
{
if(PlayerToPoint(30.0, i, HouseInfo[h][hExitx], HouseInfo[h][hExity], HouseInfo[h][hExitz]) && HouseEntrance[i] == h)
{
if(!strcmp(Name(i), HouseInfo[h][hOwner], false)) PlayerInfo[i][pPhousekey] = h;
}
}
ALS HOOK's
Bom, até onde consegui pesquisar o ALS (Advanced Library System) basicamente determina que uma função já foi registrado/fisgado. Essa técnica até onde tenho conhecimento aproveita do pre-processamento do compilador através de suas diretivas que fazem que o processamento ocorra de forma especial gerando uma outra linha de processamento.
COMO FUNCIONA
O gancho é feito fazendo com que uma função chame outra função aparentemente com o mesmo nome, "encadeando" todas essas funções idênticas, de modo que chamar uma chama todas elas. Ao conectar funções, isso é fácil porque a cadeia chama a função anterior com o mesmo nome; no entanto, conectar retornos de chamada é complicado pelo fato de que a cadeia chama a próxima função com o mesmo nome - uma função que ainda não foi definida e pode nem existir.
MACROS
Um macro é uma sequência de instruções que é atribuída a um nome. Os macros são usados para automatizar tarefas repetitivas.
DIRETIVAS
As diretivas são comandos especiais que são processados pelo compilador antes de compilar o código-fonte.
LISTA DE DIRETIVAS:
#define: Define uma constante no código.
#if, #else, #endif: São usados para condicionalmente compilar parte do código, dependendo de se uma condição é verdadeira ou falsa.
#undef: Ela desfaz a definição de uma constante de uma #define.
OBSERVAÇÕES
1. Achei pouco conteúdo sobre na internet, se houver algum erro me corrija.
2. Ao declarar um ALS é extremamente necessário que ele esteja sendo chamado caso contrário ele pode, dar conflito e assim ele não carregará os outros módulo
3. Infelizmente o compilador não possui suporte para um limite de 31 caracteres em definições de variáveis e funções, caso aconteça esse aviso na hora de compilar utilize o código abaixo:
Código PHP:
#pragma warning disable 230
COMO UTILIZAR O ALS
Tendo em mente as observações citadas acima, vamos aplicar o ALS em prática, o código a seguir representa o uso do ALS com Callbacks:
1. Crie uma pasta chamada: "modules" e dentro dessa pasta adicione um arquivo chamado: "ALS.inc", após isso coloque o código abaixo dentro desse arquivo.
Código PHP:
public OnPlayerConnect(playerid) { print("ALS in Callbacks, teste"); #if defined HOOK_OnPlayerConnect return HOOK_OnPlayerConnect(players); #else return 1; #endif }
#if defined _ALS_OnPlayerConnect #undef OnPlayerConnect #else #define _ALS_OnPlayerConnect #endif #define OnPlayerConnect HOOK_OnPlayerConnect #if defined HOOK_OnPlayerConnect forward HOOK_OnPlayerConnect(playerid); #endif
2. Após isso, dentro do arquivo principal que se encontra em: "gamemodes/main.pwn". Adicione o código abaixo para incluir o arquivo que possui o método de ALS, assim ele será executado quando compilado o arquivo principal.
Boa tarde. Estou criando um sistema de casas e gostaria de adicionar alguns comandos e texdraw dentro dos interiores, como por exemplo um comando /geladeira (Ou algo parecido). Um outro exemplo é as lojas 24/7, onde individualmente criei um TextDraw em cada virtual world das lojas, o porém é que não são muitas, já as casas que estou criando serão centenas de Virtual world, e eu gostaria de saber de algum sistema que reproduza o mesmo comando (TextDraw também) em vários virtual world com poucas linhas...
Olá pessoal, sou novato na area estou aprendendo ainda, queria saber como faço pra deixar os carros das profissões só pra quem trabalha na profissão, e aparecer a mensgem exemplo: