Olá! Eu queria fazer sistemas de malhar, numa praça do spawn, e queria colocar esteiras e pesos para o pj malhar, eu queria saber se há como colocar animação nos objetos, tipo a máquina da roleta do cassino, que gira a roda... ou o pj apertar certa tecla e começar a correr. Há como?
Eu também queria colocar uma animação com áudio, quando o player comprasse um sprunk na máquina, que seria a animação dele colocando dinheiro e dps usaria o setplayerattached
Qual seria o comando, para poder criar carro no mundo virtual.
=====================================================
Rapaziada esse e o codigo.
=====================================================
CMD:carro(playerid)
{
new Float: Pos[3];
GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
SetVehicleVirtualWorld(Modelo[ playerid ], GetPlayerVirtualWorld(playerid));
CreateVehicle(415, Pos[0], Pos[1], Pos[2], 0.0, 3, 3, 100);
return 1;
}
=====================================================
Aqui abaixo e o mundo virtual que eu criei
=====================================================
CMD:dim1(playerid)
{
SetPlayerVirtualWorld(playerid, 1);
SetVehicleVirtualWorld(GetPlayerVehicleID( playerid ), 1);
SendClientMessage(playerid, CIANO, "[ BDF ]:{FFFFFF} Voce foi para a Dimensão fuga 1!");
return 1;
}
======================================================
Bom, meu servidor está caindo as vezes, principalmente após a atualização que fiz, removendo algumas coisas da gm e do banco de dados, de maneira correta. Eu tenho alguns firewalls de mitigação configurados na VPS (uso linux) e um sistema de defesa da gamemode contra ataques como de conexões, e bom, está caindo quando eu quito do servidor. No log não aponta nada, e no log dos plugins também não. Uso o MySQL R4-1, alguém pode saber o motivo?
Crie um sistema de cadeia mais quando o player digita /vertempo o tempo aparece em milisegundos e eu quero que apareça em minutos
EXEMLPO:
Código PHP:
format(Str, 500, "[Cadeia]: Seu tempo de cadeia restante 10:00 minutos", Player[playerid][Tempocadeia]; //Minutos SendClientMessage(playerid, -1, Str);
ENVEIS DE:
Código PHP:
format(Str, 500, "[Cadeia]: Seu tempo de cadeia restante 600000 minutos", Player[playerid][Tempocadeia]; //Milisegundos SendClientMessage(playerid, -1, Str);
### Passo 3: Criar um Novo Bot
Clique em **"New Application"**. Se essa opção não aparecer, certifique-se de que você está logado na sua conta do Discord.
### Passo 4: Configurar o Bot
1. Dê um nome ao seu bot e clique em **"Create"**.
2. Vá até a aba **"Bot"** e clique em **"Add Bot"**.
3. Em seguida, clique em **"Reset Token"** e copie o token gerado. **Lembre-se: nunca compartilhe esse token com ninguém!**
4. Para adicionar o bot ao seu servidor, vá para **"OAuth2"** e clique em **"URL Generator"**. Na seção chamada **"Scopes"**, marque a opção **"bot"**.
5. Uma nova tabela chamada **"Bot Permissions"** aparecerá. Recomendo que você selecione a permissão **"Administrator"**.
6. O link para adicionar o bot ao seu servidor aparecerá ao final. Copie esse link.
### Passo 5: Configurar o Servidor SAMP
Agora que você tem o token do seu bot, copie os arquivos do **samp-discord-connector** para o diretório do seu servidor. Abra o arquivo `server.cfg` do seu servidor/gamemode e adicione a seguinte linha:
**Substitua `<seu_token_aqui>` pelo token que você copiou.** Salve o arquivo.
### Passo 6: Incluir o Discord Connector no seu Gamemode
No arquivo `.pawn` do seu gamemode, adicione a seguinte linha no início do arquivo:
```pawn
#include "discord-connector.inc"
```
É comum colocar essa linha após a inclusão do arquivo do SAMP, mas você pode escolher a posição que preferir.
### Passo 7: Usar Funções do Discord Connector
Você pode encontrar alguns códigos úteis na [Wiki do SAMP Connector](https://github.com/maddinat0r/samp-disco...ector/wiki). Aqui estão alguns exemplos de funções que você pode usar:
#### Enviar Mensagem para um Canal
```pawn
DCC_SendChannelMessage(id_do_canal, mensagem);
```
Essa função envia uma mensagem para o canal desejado.
#### Exemplo de Comando do Bot
```pawn
DISCORD:la(DCC_Channel: channel, DCC_User: author, params[]){
return 1;
}
```
Esta é a estrutura básica para os comandos do seu bot.
#### Código para Mostrar Jogadores Online
Aqui está um código pronto que você pode testar:
```pawn
DISCORD:players(DCC_Channel: channel, DCC_User: author, params[]) {
new string[128], counter = 0;
new maxp = GetMaxPlayers();
for (new i = 0; i < MAX_PLAYERS; i++) {
if (IsPlayerConnected(i))
counter++;
}
format(string, sizeof(string), "%d/%d", counter, maxp); // Mostra a quantidade de jogadores online
DCC_SendChannelMessage(channel, string);
return 1;
}
```
### Considerações Finais
Esse é o fim do tutorial! Espero que tenha sido útil. Lembrando que não fiz nada muito profissional aqui, apenas compartilhei informações sobre o Discord Connector para que você possa fazer suas whitelists ou outras funcionalidades com este plugin.
Qualquer dúvida ou erro, fique à vontade para comentar para que eu possa atualizar o tópico.
**Obs:** Este tópico pode estar desatualizado, pois houve mudanças no portal de desenvolvedores do Discord e no Discord Connector.
Pessoal, como faço pra quando o player andar 200 metros de distancia do ultimo lugar que ele estava enviar um SendClientMessage? tentei fazer com o GetPlayerDistanceFromPoint
porem sem sucesso
case 1: nomecorp = ORGINFO[JOGADOR[playerid][JOGADOR_ORG]][ORG_NOME]; //ORGINFO[1][ORG_NOME]
DUVIDA PORQUE no /RG2 nomecorp não esta sendo recebendo valor de ORGINFO[JOGADOR[playerid][JOGADOR_ORG]][ORG_NOME] CASE 1?
case 1: nomecorp = ORGINFO[JOGADOR[playerid][JOGADOR_ORG]][ORG_NOME];
JA NO /RG TA OK
SÓ QUE SE EU COLOCAR APENAS
format(aString, sizeof(aString), "%s%s",NomeJogador(playerid), ORGINFO[JOGADOR[playerid][JOGADOR_ORG]][ORG_NOME]);
ELE JÀ MOSTRA O VALOR DIRETO POREM SE FOR JOGADOR[playerid][JOGADOR_ORG] == 0 que seria ORGINFO[0][ORG_NOME] NÃO MOSTRA NADA pois não recebe valor
Código:
CMD:rg(playerid){
new aString[1600];
new nomecorp[50];
switch(JOGADOR[playerid][JOGADOR_ORG])
{
case 1: nomecorp = "Polícia Militar";
default: nomecorp = "Nada";
}
format(aString, sizeof(aString), "%s %s %d %s",NomeJogador(playerid),nomecorp,JOGADOR[playerid][JOGADOR_ORG],ORGINFO[JOGADOR[playerid][JOGADOR_ORG]][ORG_NOME]);
return 1;
}
CMD:rg2(playerid){
new aString[1600];
new nomecorp[24];
switch(JOGADOR[playerid][JOGADOR_ORG])
{
case 1: nomecorp = ORGINFO[JOGADOR[playerid][JOGADOR_ORG]][ORG_NOME]; //ORGINFO[1][ORG_NOME]
default: nomecorp = "Nada";
}
format(aString, sizeof(aString), "%s %s %d %s",NomeJogador(playerid),nomecorp,JOGADOR[playerid][JOGADOR_ORG],ORGINFO[JOGADOR[playerid][JOGADOR_ORG]][ORG_NOME]);
SendClientMessage(playerid, 0xF781BEFF, aString);
return 1;
}