13.09.2017, 16:16
Ola meu nome e maurilio sou usuario do forum sa-mp a alguns anos , mas tinha em mente para de mecher com isso (Nгo consigo).
Este mes estou de feria do trabalho entгo vou trazer algumas coisas a vocкs que sei fazer , eu so sei o basico da maioria , mas sei procurar.
Mas vamos logo ao assunto , trago pra vocкs um jeito de fazer um /infoadmin para qualquer Gamemode , neste tutorial usaremos o modo de salvamento DOF.
Sim DOF , estou trazendo o que sei fazer nгo o que e o melhor.
Antes que alguem fale que isso e um CTRL C quero avisar que fiz isso hoje cedo.
E so ver o tutorial eo os codigos , bora la.
Primeiramente vamos criar algumas definiзoes que iremos utilizar , a explicaзгo de ambas estarгo ao lado
Agora vamos criar uma enum para uma variavel , para que possa guardar as informaзoes que precisamos .
Agora ha uma necessidade de salvar e guardar as informaзoes compostas nestas variaveis , lembre-se sempre que quizer checar todas as vagas usaras loop.
Vamos criar uma public para verificar se o arquivos estao criados
Caso os arquivos esteja criados carregaremos eles normamente em DOF2
Caso nao esteja criado Vamos setar as variaveis e salvaremos elas , ja que precisa ir para o arquivo para que sejam criado, e a variavel tenha informacoes
pq essa public sera chamada em OnGameModeInit
Bom ja para salvar nao tem segredo e ja foi explicado acima .
Com isso vocк ja tem o seu sistema de info admin pronto .
Vou demonstrar agora como utiliza-lo , por exemplo quando o jogar tomar respawn e tiver com o nome na lista .
Agora por exemplo um /infoadmin
Nгo tem nem o que explicar neste comando , caso vocк tenha lido o tutorial .
Algo util a se dizer que para verificar se tem alguem na vaga deve-se fazer da seguinte maneira .
Estou desenvolvendo um gamemode com algumas maneiras que possam facilitar a vida de quem utiliza-lo e saia alguns tutoriais para vocкs .
Devo postar este gamemode base .
Creditos --- Don_Speed
Comente sua opiniгo
Leia o tutorial antes de cagar no post
Este mes estou de feria do trabalho entгo vou trazer algumas coisas a vocкs que sei fazer , eu so sei o basico da maioria , mas sei procurar.
Mas vamos logo ao assunto , trago pra vocкs um jeito de fazer um /infoadmin para qualquer Gamemode , neste tutorial usaremos o modo de salvamento DOF.
Sim DOF , estou trazendo o que sei fazer nгo o que e o melhor.
Antes que alguem fale que isso e um CTRL C quero avisar que fiz isso hoje cedo.
E so ver o tutorial eo os codigos , bora la.
Primeiramente vamos criar algumas definiзoes que iremos utilizar , a explicaзгo de ambas estarгo ao lado
PHP код:
#define AdminSalva "BrasilRolePlay/Admin/%d.ini" // Local onde sera salvo os arquivos numericos
#define MAX_VAGAS 5 // Quandtidade de admins permitida no servidor
PHP код:
enum pAdm{// Nome da Enum
Name[24], // Ira guardar o nome do admin
Nivel// Ira guardar o nivel do admin
}
new AdminInfo[MAX_VAGAS][pAdm];// Chamaremos todas as fuctions acima com esta variavel.
Vamos criar uma public para verificar se o arquivos estao criados
Caso os arquivos esteja criados carregaremos eles normamente em DOF2
Caso nao esteja criado Vamos setar as variaveis e salvaremos elas , ja que precisa ir para o arquivo para que sejam criado, e a variavel tenha informacoes
pq essa public sera chamada em OnGameModeInit
PHP код:
forward AdmCarrega();
public AdmCarrega()// sera chamada em OnGameModeInit
{
new string2[80];
for(new vagads = 0; vagads < MAX_VAGAS; vagads++) // Loop utilizado para verificar todas as vagas "MAX_VAGAS"
{
format(string2, sizeof(string2), AdminSalva, vagads);// Local onde definimos para ser salvo "AdminSalva"
if(!DOF2_FileExists(string2))// Verifica se existe os arquivos
{
DOF2_CreateFile(string2); // Cria o arquivo
format(AdminInfo[vagads][Name], 24,"Slot"); //Seta a variavel para Slot como se fosse o nome do jogador
AdminInfo[vagads][Nivel] = 0; // seta o nivel a 0
DOF2_SetString(string2,"Nome",AdminInfo[vagads][Name]);// Salva o que esta na variavel para o arquivo
DOF2_SetInt(string2,"Nivel", AdminInfo[vagads][Nivel]);// Salva o que esta na variavel para o arquivo
DOF2_SaveFile();// Salva o arquivo
}
else
{
format(AdminInfo[vagads][Name], 24, DOF2_GetString(string2,"Nome")); // Efetua o carregamento do nome que esta no arquivo passando para a variavel
AdminInfo[vagads][Nivel] = DOF2_GetInt(string2,"Nivel");// Carrega o nivel enviando para a variavel
}
}
return true;
}
PHP код:
forward AdmSalva();
public AdmSalva() // Colocar em GameModeExit
{
new string2[180];
for(new vagads = 0; vagads < MAX_VAGAS; vagads++)
{
format(string2, sizeof(string2), AdminSalva, vagads);
if(DOF2_FileExists(string2))
{
DOF2_SetString(string2,"Nome",AdminInfo[vagads][Name]);
DOF2_SetInt(string2,"Nivel", AdminInfo[vagads][Nivel]);
DOF2_SaveFile();
}
}
return true;
}
Vou demonstrar agora como utiliza-lo , por exemplo quando o jogar tomar respawn e tiver com o nome na lista .
PHP код:
public OnPlayerSpawn(playerid)
{
new name[MAX_PLAYER_NAME];// Variavel string
GetPlayerName(playerid, name, sizeof(name));// Geta nome
for(new vagads = 0; vagads < MAX_VAGAS; vagads++)// loop para verificar todas as variaveis
{
if(!strcmp(AdminInfo[vagads][Name],name,true))// Ira verificar se o q ta guardado na variavel Name e igual a Name
{
// Se estiver aqui colocaras o que deseja
}
}
return true;
}
Nгo tem nem o que explicar neste comando , caso vocк tenha lido o tutorial .
PHP код:
command(admins, playerid, params[])
{
new corda[500], wiki[500];
for(new vagads = 0; vagads < MAX_VAGAS; vagads++)
{
format(wiki, sizeof wiki,"{FFFFFF}(VAGA %d)%s | Nivel : %s(%d) \n", vagads, AdminInfo[vagads][Name], NomeNivel[AdminInfo[vagads][Nivel]], AdminInfo[vagads][Nivel]);
strcat(corda, wiki);
}
ShowPlayerDialog(playerid, 1000, DIALOG_STYLE_LIST, "Administradores do servidor", corda,"Sair", #);
return true;
}
PHP код:
for(new vaga = 0; vaga < MAX_VAGAS; vaga++)// loop para verificar em todas
{
if(!strcmp(AdminInfo[vaga][Name],"Slot",true))// Verifica se Name e igual a Slot | Slot referente a vaga vazia
{
}
}
/*APENAS SLOT 1 POR EXEMPLO*/
if(!strcmp(AdminInfo[1][Name],"Slot",true))// Verifica se Name e igual a Slot | Slot referente a vaga vazia
{
}
Devo postar este gamemode base .
Creditos --- Don_Speed
Comente sua opiniгo
Leia o tutorial antes de cagar no post