Ola pessoal eu Shandai Gawa (Digão) to trazendo uma outra gm da minha coleção ela foi feita através da base da Solth Central ela ta toda trabalhada entre sistemas e mapas legais, ela é via banco de dados (phpmyadmin) facil de instalar qualquer duvida como ligar vo ta deixando video !!
Sistemas !!
Banco
Caixa Eletrônico
Fome e Sede
Faccoes Governamentais e Faccoes Criminosas
Presidio
Mdc da policia
Empresas
Concessionaria pode colocar o carro e o preço que quiser
criar bomba de combustível aonde voce quer posição editável
9 niveis de adm
academia
assalto a banco
criar interiores
criar casa
criar entrada
empregos
dano realista
sistemas de logs
painel admin (só o dono do server tem acesso)
plantar e colher drogas
bebidas
inventario
presidio
prender na delegacia
cadeia admin
anti money xiter
speed hack
weapon hack
criar entrada e destruir tambem
e muito mais kkk
Na Filterscript eu deixei o anti login rcon e um outro que quando voce é atingindo por bala mostra aonde voce foi atingindo criado po um amigo meu vo deixar o pwn para caso queiram modificar só nao retirem os créditos !!
Segue Ai: https://www.facebook.com/ShandaiGawa
Obs: Os plugins ta atualizados caso de alguma coisa sobre versao da streamer voceis baixa o pacote da microsoft visual c++ 2010 até microsoft visual c++ 2015 que ira pegar normal e mesma coisa se voceis for por em vps !!
CMD:setorg(playerid, params[]) { new ID; if(sscanf(params, "d", ID)) return SendClientMessage(playerid, 0xFF230AFF, "Use /setorg [ID] ."); if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, 0xFF230AFF, "O ID digitado não está no servidor.");
Organizacoes[ID][PoliciaMilitar] = 1; return 1; }
Sei que esta horrivel, se possivel me ensine a melhorar isso!
Estou com um problema, meu dialog DIALOG_CREDITOS está retornando errado, ao clicar no botão 1(Ok), ele saí normalmente, porém, ao pressionar ESC, ele está retornando outro dialog, o DIALOG_MCOMANDOS, help.
Código:
if (dialogid == DIALOG_MCOMANDOS) // DIALOG 4
{
if(response)
{
switch(listitem)
{
case 0:
{
ShowPlayerDialog(playerid, DIALOG_CMDGERAIS, DIALOG_STYLE_TABLIST, "# Comandos gerais do servidor:",
"/creditos\t \tMostra os créditos do servidor\n\
/hud\t \tManejo das textdraws do servidor\n\
/clima\t \tAltera o clima próprio do servidor",
"Cancelar", "Voltar");
}
case 1:
{
ShowPlayerDialog(playerid, DIALOG_CMDPROF, DIALOG_STYLE_TABLIST, "# Comandos da profissão:",
"/trabalhar\t \tInicia um trabalho\n\
/comboio\t \tInicia um comboio\n\
/resgate\t \tRetorna à base da profissão",
"Cancelar", "Voltar");
}
case 2:
{
ShowPlayerDialog(playerid, DIALOG_CMDVIP, DIALOG_STYLE_TABLIST, "# Comandos VIPS:",
"/reparar\t \tRepara um veículo\n\
/nos\t \tAdiciona nitro em um veículo\n\
/savepos\t \tSalva sua posição em um local",
"Cancelar", "Voltar");
}
}
}
return 0;
}
if (dialogid == DIALOG_CMDGERAIS || DIALOG_CMDPROF || DIALOG_CMDVIP) // RESPONSE DIALOGS 5, 6 E 7
{
if(!response)
{
ShowPlayerDialog(playerid, DIALOG_MCOMANDOS, DIALOG_STYLE_LIST, "Comandos do servidor:", "Comandos gerais\nComandos da profissão\nComandos VIPS", "Ok", "Cancelar");
}
else
return 0;
}
return 0;
}
Separo os dialogs por um enum, não há interferência entre eles.
Crie uma pasta chamada "Usuários" em sua scriptfiles!
Código PHP:
/ scriptfiles / Usuários
Etapa 2
No início do seu script, inclua a include DOF2 em sua GM!
Código PHP:
#include <DOF2>
Certifique-se de criar alguns IDs de diálogo também no topo.
Código PHP:
#define DIALOG_REGISTER 1 #define DIALOG_LOGIN 2
Etapa 3
Agora, no topo do script em algum lugar após as includes, temos que salvar algumas variáveis, então criamos um enum. Enums, também conhecidos como Enumerações, são úteis para representar grandes grupos de dados e modificar constantes rapidamente.
Portanto, vamos armazenar nossos Kills, Deaths, Money e Admin Level.
Código PHP:
enum pInfo { pKills, pDeaths, pMoney, pAdmin } new PlayerInfo[MAX_PLAYERS][pInfo];
Etapa 4
Adicionar 'DOF2_Exit ();' na 'OnGameModeInit()'.
Código PHP:
public OnGameModeInit() { DOF2_Exit(); return 1; }
Role para baixo até a public chamada de 'OnPlayerConnect'.
Código PHP:
public OnPlayerConnect (playerid) { new arquivo [64]; // Declaramos o tamanho do arquivo GetPlayerName (playerid, arquivo, sizeof (arquivo)); // Pegamos o nome do arquivo format (file, sizeof (file), DOF2_File (file)); // Aqui obtemos o caminho de DOF2_File (/ Users) if (DOF2_FileExists (file)) // Verificamos se o jogador está registrado { ShowPlayerDialog (playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT, "Welcome.Please log-in", "{FFFFFF} Digite sua {00FF22} senha {FFFFFF} aqui para log-in", "Log-in", "Quit"); // A caixa de diálogo de login aparecerá } else // Se não for registrado { ShowPlayerDialog (playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, "Por favor, registre-se!", "{FFFFFF} Digite sua {00FF22} senha {FFFFFF} aqui para se registrar.", "Registrar", "Sair"); // A caixa de diálogo de registro aparecerá } return 1; }
Então verificamos se o jogador está cadastrado, se estiver terá que se logar, caso contrário terá que se cadastrar.
Etapa 5
Agora, vamos rolar para baixo até a public chamada de 'OnDialogResponse'.
Código PHP:
public OnDialogResponse (playerid, dialogid, response, listitem, inputtext []) { switch (dialogid) // Nós trocamos nossos ids de diálogo { case DIALOG_REGISTER: // Se o dialog_register aparecer (id 1111) { if (! resposta) Kick (playerid); // Se ele clicar em Sair, ele será chutado if (! strlen (inputtext)) return ShowPlayerDialog (playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, "Registre-se!", "{FFFFFF} Digite sua {00FF22} senha {FFFFFF} aqui para se registrar.", "Registrar", "Sair") ; // Se ele não digitar nada, a caixa de diálogo será exibida novamente. if (resposta) // Se ele clicar em Registrar { new arquivo [64]; // Declaramos o tamanho do arquivo GetPlayerName (playerid, arquivo, sizeof (arquivo)); // Pegamos o nome do arquivo formato (arquivo, sizeof (arquivo), DOF2_File (arquivo)); // Pegamos o nome do caminho de DOF2_File, que significa da pasta Usuários. DOF2_CreateFile (arquivo, texto de entrada); // Cria o arquivo e a senha. DOF2_SetInt (arquivo, "Kills", 0); // Quando o jogador registrar suas mortes será definido como 0, você pode alterar DOF2_SetInt (arquivo, "Mortes", 0); // Suas mortes serão definidas como 0, você pode mudar DOF2_SetInt (arquivo, "Money", 1000); // Seu dinheiro será definido para 1000, você pode alterar DOF2_SetInt (arquivo, "AdminLevel", 0); // Seu nível de administrador será definido como 0, você pode alterar DOF2_SaveFile (); // Salva o arquivo. SetSpawnInfo (playerid, 0, 0, 1722,5123, -1912,7931, 13,5647, 269,15, 0, 0, 0, 0, 0, 0); // Define onde o jogador irá desovar, estas coordenadas são da Estação Unity em Los Santos SpawnPlayer (playerid); // Depois de se registrar, o jogador irá aparecer. } } case DIALOG_LOGIN: // Se dialog_login (id 2222) aparecer { if (! resposta) Kick (playerid); // Se ele clicar em Sair, ele será chutado. if (resposta) // Se ele clicar em Log-in { new arquivo [64]; // Declaramos o tamanho do arquivo GetPlayerName (playerid, arquivo, sizeof (arquivo)); // Pegamos o nome do arquivo formato (arquivo, sizeof (arquivo), DOF2_File (arquivo)); // Pegamos o caminho do usuário em DOF2_File (pasta Usuários) if (DOF2_FileExists (file)) // Se ele está registrado { if (DOF2_CheckLogin (file, inputtext)) // Verificamos se a senha corresponde { PlayerInfo [playerid] [pKills] = DOF2_GetInt (arquivo, "Kills"); // Carregamos nossas configurações PlayerInfo [playerid] [pDeaths] = DOF2_GetInt (arquivo, "Deaths"); PlayerInfo [playerid] [pMoney] = DOF2_GetInt (arquivo, "Money"); PlayerInfo [playerid] [pAdmin] = DOF2_GetInt (arquivo, "AdminLevel"); SetSpawnInfo (playerid, 0, 0, 1722,5123, -1912,7931, 13,5647, 269,15, 0, 0, 0, 0, 0, 0); // Definimos o spawn (Estação Unity) SpawnPlayer (playerid); // O jogador surge após o login GivePlayerMoney (playerid, PlayerInfo [playerid] [pMoney]); // Damos ao jogador seu dinheiro return 1; } else // Se a senha não corresponder, eles obterão um erro { ShowPlayerDialog (playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT, "Senha errada!", "{F81414} Você digitou uma senha errada \ n {FFFFFF} Digite sua senha aqui para fazer login!", "Entrar", "Sair") ; return 1; } } } } } return 1; }
Etapa 6
Agora, temos que rolar para baixo até a public chamada de 'OnPlayerDisconnect' para que, quando o jogador se desconectar do servidor, suas estatísticas sejam salvas.
Código PHP:
public OnPlayerDisconnect (playerid, reason) { new arquivo [64]; // Declaramos o tamanho do arquivo GetPlayerName (playerid, arquivo, sizeof (arquivo)); // Pegamos o nome do arquivo format (file, sizeof (file), DOF2_File (file)); // Pegamos o caminho do usuário em DOF2_File (pasta Usuários) DOF2_SetInt (arquivo, "Kills", PlayerInfo [playerid] [pKills]); // Definimos / atualizamos as configurações dos jogadores. DOF2_SetInt (arquivo, "Mortes", PlayerInfo [playerid] [pDeaths]); DOF2_SetInt (arquivo, "Money", PlayerInfo [playerid] [pMoney]); DOF2_SetInt (arquivo, "AdminLevel", PlayerInfo [playerid] [pAdmin]); return 1; }
Etapa 7
Também precisamos adicionar valores em Kills and Deaths, então vamos a public OnPlayerDeath.
Código PHP:
public OnPlayerDeath (playerid, killerid, reason) { PlayerInfo [killerid] [pKills] ++; // Aumentará as mortes de assassinos PlayerInfo [playerid] [pDeaths] ++; // Aumentará o playerid (aquele que morreu) as mortes. return 1; }
Bom não foi eu que fiz o tutorial, apenas traduzi, vi que estava faltando algo do tipo por aqui!
Criador -> Jafet_Macario
Tradutor -> MatheuzPatoo
[ Viu algum erro de traduçao? Me corrija! quero deixar esse tutorial o mais certo possivel! ]
Olá pessoal,
retornei pouco tempo pro samp depois de 5 anos parado...
Minha dúvida. No GM precisa contem algum código específico para mobile? o player spawna e toma kick...
Já removi as proteções de ping e ant-cheats para tentar identificar e mesmo assim continua!
Fiz um pequeno sistema para convidar o player para org (sei que esta horrivel mas consegui assim) mas dps parei para pensar em como chamar 1 player em especifico para org, sei que é usado sscanf, mas n sei usar, alguem poderia pfv me ensinar?