Furious é um projeto de servidor dedicado a proporcionar a melhor experiência de 'roleplay' para todos os jogadores. Nosso objetivo é criar um ambiente imersivo, dinâmico e envolvente,
onde cada jogador pode viver suas histórias de maneira autêntica.
Denovo eu aqui não consigo selecionar a textdraw ela não fica nem vermelho
Código:
if (newkeys == 1024)
{
for (new i = 0; i < 44; i ++) PlayerTextDrawShow(playerid, menuinteracao[playerid][i]);
SelectTextDraw(playerid, 0xf4786dAA);
}
Código:
/////////////
if (playertextid == menuinteracao[playerid][7])
{
CancelSelectTextDraw(playerid);
for (new i = 0; i < sizeof(menuinteracao); i++) PlayerTextDrawHide(playerid, menuinteracao[playerid][i]);
}
Olá. Eu estou com uma ideia, mas não tenho ideia de como usar a função OnPlayerEnterVehicle, por isso gostaria da ajuda dos senhores.
Minha ideia é fazer com que o SetPlayerCheckpoint inicie em OnPlayerEnterVehicle. Porque se continuar do jeito que está,
basta que o player pegue quaquer outro veiculo e vá ate o destino para completar a rota e ganhar o dinheiro.
Como eu faço para que o jogador só consiga iniciar o trabalho estando montado no veiculo da profissão?
Atualmente o jogador precisa escolher a rota estando fora do veiculo ( Escolha minha )
Código PHP:
if(dialogid == Dialog_RotasT) { if(response) { if(listitem == 0) { if(Trabalhando[playerid] == false) return SendClientMessage(playerid, -1, "{CFCFCF}||{FF0000}ERRO{CFCFCF}|| Voce nao bateu ponto (Cartao), portanto nao podera iniciar nenhuma rota, nem solicitar a saida de nenyum veiculo."); if(CCarregado[playerid] == true) return SendClientMessage(playerid, -1, "{CFCFCF}||{FF0000}ERRO{CFCFCF}|| Voce ja solicitou uma viagem. Conclua a atual para solicitar mais uma."); if(CaminhaoTransportador[playerid] == 0) return SendClientMessage(playerid, -1, "{CFCFCF}||{FF0000}ERRO{CFCFCF}|| Voce ainda nao solicitou um veiculo."); CCarregado[playerid] = true; SendClientMessage(playerid, -1, "{CFCFCF}||{00FF00}K{CFCFCF}|| Rota (Medicamentos HPC - LS > SF) iniciada."); SendClientMessage(playerid, -1, "{CFCFCF}||{00FF00}K{CFCFCF}|| Suba em seu caminhao e va ate o destino."); SetPlayerCheckpoint(playerid, -2645.0540, 559.7567, 14.4609, 3.0); } } }
eu ja bati minha cabeça eu queria que quando uma box de notificação aparecer se o player fazer outra box aparecer, que ela apareça embaixo da outra alguem me ajuda??????
Este Filterscript apresenta um sistema de TextDraw com o objetivo de exibir o FPS do jogador.
Como funciona?
Assim que o jogador se conecta ao servidor, o textdraw é exibido no canto superior esquerdo da tela, mas com o valor 0. Dessa forma, quando o jogador spawnar no servidor, o FPS começará a ser exibido.
Note: Pode ocorrer que alguns APKs ou Launchers não funcionem.
Meu objetivo é mostrar no RG o nome do emprego e não o número ao qual ele corresponde.
Eu dei uma estudada rápida e consegui fazer dessa forma e também de uma outra que vou mostrar depois,
mas o problema é que quando utilizo /RG no game, só consigo ver o título, qual foi definido antes
na dialog.
Eu não entendo bem para que serve essa função str[cat,len,cpy,ncpy, etc...]
Se alguém puder me ajuda.
Código PHP:
// Desta foram, o compilador acusa strcpy como inesistente. strcpy(JobName, "Transportador", 0, sizeof(JobName));
// Assim funcionou, mas as informações não são mostradas. strmid(JobName, "Transportador", 0, sizeof(JobName));
Tenho o sistema já praticamente pronto só falta o botão de comprar o veiculo que não está programado para certas funções posso dizer que tem duas setas para escolha do veiculo e no meio tem uma PreviewModel que é da imagem do veiculo que o player está visualizando, só falta o botão de comprar que não está pegando!! o código abaixo está pegando somente as setas para escolha do veiculo.
Olá. Desde já deixo avisado que não entendo muito e não tenho muito conhecimento sobre a função SetTimerEx, então por favor, me socorram
Código PHP:
public OnPlayerConnect(playerid) { new String[50]; // Whitelist format(String, 49, "WhiteList/%s.ini", pName(playerid)); if(!DOF2_FileExists(String)) { ShowPlayerDialog(playerid, Dialog_Whitelist, DIALOG_STYLE_MSGBOX, "WhiteList", "Sua conta nao foi encontrada na whitelist (lista de permissao para jogar)!\nVa ate o nosso discord para realizar gratuitamente o registro.", "Entendido", ""); SetTimerEx("DelayKick", 3000, false, "d", playerid); return 1; } // Verificar se o SetTimerEx ta funcionando. SetTimerEx("TestTimer", 2000, false, "d", playerid); printf("Timer de teste configurado para o jogador %d", playerid); return 1; }
forward TestTimer(playerid); public TestTimer(playerid) { printf("TestTimer chamado para o jogador %d", playerid); return 1; }
forward DelayKick(playerid); public DelayKick(playerid) { Kick(playerid); return 1; }
O testtimer funciona normalmente, mas o kick da whitelist não funciona. Eu estava mexendo e vi que funcionou 1 ou 2 vezes, mas não consegui deixar funcionando. Tem a possibilidade de eu estar usando alguma coisa desatualizada, não sei.
Sobre mim:
Para quem não me conhece, meu nome é Eduardo e trabalho com SA:MP há mais de 10 anos.
Durante esse período venho criando e moldando ferramentas que possam otimizar o tempo do programador e tornar a experiência de desenvolvimento mais atrativa e profissional.
Apesar de disponibilizar algumas ferramentas de forma gratuita, eu não as mantenho mais, portanto não possuem mais suporte.
Depois de muitos estudos em cima delas e pedidos sobre estes e novos lançamentos, resolvi fazer um pacote que até então está parcialmente pronto.
Sobre a ferramenta:
Há atualmente 10 ferramentas:
FolderFix
Tabulador
PawnDoc
Easy Pawn Completion
Pos Finder
Sound Browser
NTD Project Creator
NexTDE Project Creator
Memory String
Data Converter
1. FolderFix:
Procura no diretório selecionado o primeiro gamemode encontrado e vasculha nele e em módulos (não submódulos) por cadeias de caracteres que coincidam com diretórios.
Será criado uma pasta em 'scriptfiles' com o nome "_FOLDERS_FIX_". Nela vai ter tudo que a ferramenta identificou como um possível diretório e sugere para que seja usado na pasta raiz de 'scriptfiles' para evitar possíveis crash por falta de pastas.
2. Tabulador:
Este sem dúvidas é o mais conhecido. Com ele você consegue organizar e tabular seu código sem perder a estrutura inicial do mesmo.
Facilmente identifique os 26 erros, caso o problema seja alguma chave.
Além de mais eficiente, você possui opções como:
Ignorar comentários em linhas
Ignorar comentários em blocos
Ignorar textos
Remover linhas em branco
Escolher qual caractere deve tabular
Codificação do script
3. PawnDoc:
A parte crucial de um script está na documentação.
Um script necessita de uma documentação adequada quando concedido a terceiros, pois é a forma mais fácil das pessoas entenderem o conceito e o objetivo por trás de determinado código.
Com esta ferramenta você consegue criar seu próprio layout de documentação com alguns recursos como:
Escolher que palavras-chave a ferramenta deve identificar para gerar a documentação
Descrição
Parâmetros (se houver)
Retorno
Codificação do script
4. Easy Pawn Completion
Este sem dúvida é uma das ferramentas mais completas para qualquer programador de SA:MP, pois com ela é possível criar dicionários e snippets para auto complementos de IDE.
Desta forma otimiza muito o tempo e ainda mostra para o programador quais funções existem com base no que ele digitou, bem como a complementação dos parâmetros.
Além da tamanha utilidade, também é possível configurar de forma avançada o que deve e o que não deve ser capturado para gerar o arquivo de auto-complete.
Atualmente é possível gerar para Sublime Text, Visual Studio Code e EmEditor.
5. Pos Finder:
Basicamente serve para identificar objetos, atores, veículos... Tudo o que foi criado server-side que você não faz ideia de como achar dentro do script.
Com essa ferramenta, basta informar as posições X, Y, Z e a área de busca que você quer procurar.
Ao finalizar, caso identifique o que se encaixa dentro do critério da coordenada e área de busca, será informado a linha inteira do código.
6. Sound Browser
Um dos sound previews mais completos com mais de 200 sons do GTA San Andreas.
Ouça e gere o código do som automaticamente ao selecionar o item.
7. NTD Project Creator:
Lê arquivos brutos e busca por quaisquer informações de textdraws e suas propriedades, gerando arquivos de projetos baseados no editor de textdraws criado por Nickk888SAMP.
Contém também o recurso de salvar o arquivo de projeto gerado diretamente no diretório da pasta do editor, bem como incluí-lo na lista de projetos automaticamente.
8. NexTD Project Creator:
Lê arquivos brutos e busca por quaisquer informações de textdraws e suas propriedades, gerando arquivos de projetos baseados no editor de textdraws criado por nexquery.
Contém também o recurso de salvar o arquivo de projeto gerado diretamente no diretório da pasta do editor, bem como incluí-lo na lista de projetos automaticamente.
9. Memory String:
Esta ferramenta efetua uma análise criteriosa pelo script procurando por cadeias de caracteres que contenham mais ou menos
caracteres que o necessário.
Basicamente, quando você discrimina uma quantia de caracteres para uma variável, você não define o valor necessário exato que vai precisar
e isso, por consequência, vai aumentar a memória do servidor gradativamente caso não seja seguido uma prática correta de alocação
de memória.
Assim como memória em excesso isso pode afetar da forma contrária. Quando se usa uma quantidade inferior de caracteres, acaba gerando
uma string incompleta para o jogador final.
Apesar da análise ser profunda e minuciosa, esses problemas são identificados dentro de segundos com essa ferramenta.
Você terá acesso a um log detalhado sobre as funções de formatação "format" e "mysql_format" e verificar a alocação da memória, conforme
exemplo abaixo.
Entre colchetes está o número da linha.
"Tamanho (superior)" informa que a quantidade de caracteres informada supera a recomendação
"Tamanho (inferior)" informa que a quantidade de caracteres informada é inferior a recomendação
"Tamanho recomendado:" informa a quantidade de caracteres necessários para aquela mensagem
Código:
[46311] format(tempString, sizeof tempString, "[INFO]:{FFFFFF} %s(%d) Uma mensagem de exemplo: %s!", GetPlayerNameEx(playerid), playerid, text);
Tamanho (superior): 150
Tamanho recomendado: 53
Este é um exemplo de exceção, onde não é possível identificar os valores dos especificadores, no entanto, há muitas outras que não
necessitam de tudo isso e você será notificado para fazer o ajuste, como este abaixo:
Código:
[27737] format(Stringdx, sizeof(Stringdx), "{A9A9A9}Voce possui {00FF00}R$%d{A9A9A9} na mochila\n\n-> Deseja colocar mais ou retirar?", pDinheiroNaMochila[playerid]);
Tamanho (superior): 220
Tamanho recomendado: 89
E o resultado da análise irá gerar estas informações:
Código:
Caracteres desperdiçados: 548643
Caracteres que faltam: 2
Tempo de execução: 14 segundos
10. Data converter:
Com essa ferramenta você importa e exporta informações de salvamento de forma rápida.
Salvamento em texto compatível como qualquer include.
OBS.: Não realiza adaptações de forma automática no script, apenas manipula os dados.
Métodos:
Texto para SQLite ou MySQL
MySQL para SQLite ou Texto
SQLite para MySQL ou Texto
Como adquirir:
Atualmente é possível adquiri-la com pagamentos mensais seja por boleto, pix ou cartão de crédito.
Sou o único com permissão de comercializar o programa.
O programa está pronto e 100% operante. Porém ainda não recebe atualizações automáticas, mas de momento será com redirecionamento para nuvem para fazer o download da versão mais atual.
Para maiores informações gentileza entrar em contato.
Suporte:
Dou suporte 24/7 para dúvidas ou problemas.