//-------------------------------------------------------//
CMD:gmx(playerid) {
if(PlayerInfo[playerid][pAdmin] < 7) return false; // Caso o usuario nгo for administrador nivel 7, a fuсзгo nгo ira ser executada.
for(new i = 0; i < MAX_PLAYERS; i++) { SalvarDados(i); } // Fazemos um Loop, onde ira pegar todos os jogadores conectados no servidor, nisso iremos salvar os dados de todos.
SendClientMessageToAll(-1, "AVISO DA ADMINISTRAЗГO |\n(ATENЗГO) O servidor ira ser reiniciado em alguns segundos."); // Enviaremos uma mensagem global avisando o procedimento do GMX.
SetTimer("IniciarGMX", 7000, false); // Aqui ira ser realizado o GMX em 7 segundos, "7000" milisegundos.
return true;
}
//-------------------------------------------------------//
forward IniciarGMX(playerid);
public IniciarGMX(playerid) { SendRconCommand("gmx"); return true; } // Publica criada para realizar a funзгo GMX.
//-------------------------------------------------------//
PHP Code:
Deixa seu Rep+, caso tenha resolvido seu problema. |
public OnPlayerConnect2(playerid)
{
SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
format(File, sizeof(File), "pAdmin/Banidos/Contas/%s.ini", pNomeOriginal[playerid]);
if(DOF2_FileExists(File))
{
if(gettime() > DOF2_GetInt(File, "DDesban"))
{
DOF2_RemoveFile(File);
SendClientMessage(playerid, Amarelo, "Seu banimento temporбrio jб terminou.");
format(File, sizeof(File), "pAdmin/Contas/%s.ini", pNomeOriginal[playerid]);
if(DOF2_FileExists(File))
{
format(Str, sizeof(Str), "{BEBEBE}Seja bem-vindo novamente %s.\nPara validar o seu Login digite sua senha abaixo.", pNomeOriginal[playerid]);
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "{E9967A}Nуs jб te vimos por aqui...", Str, "Validar", "Cancelar");
return 0;
}
else
{
format(Str, 256, "{BEBEBE}Seja bem-vindo %s.\nPara efetuar seu cadastro, insira uma senha abaixo.\n*Sua senha deve conter entre 4 e 20 caracteres.", pNomeOriginal[playerid]);
ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_INPUT, "{E9967A}Vocк й novo por aqui...", Str, "Registrar", "Cancelar");
return 0;
}
}
else
{
for(new i; i < 100; i++)
{
SendClientMessage(playerid, CinzaEscuro, " ");
}
new StrM[450];
strcat(StrM, "\t\t{BEBEBE}-x-x-x-x-x- {CD5C5C}BANIDO{BEBEBE} -x-x-x-x-x-\n\nEsta conta estб banida deste servidor !\n\n{FFA500}Conta:{BEBEBE} ");
strcat(StrM, pNomeOriginal[playerid]);
strcat(StrM, "\n{FFA500}Administrador:{BEBEBE} ");
strcat(StrM, DOF2_GetString(File, "Administrador"));
strcat(StrM, "\n{FFA500}Motivo:{BEBEBE} ");
strcat(StrM, DOF2_GetString(File, "Motivo"));
strcat(StrM, "\n{FFA500}Data do Ban:{BEBEBE} ");
strcat(StrM, DOF2_GetString(File, "Data"));
strcat(StrM, "\n{FFA500}Data do Desban:{BEBEBE} ");
strcat(StrM, DOF2_GetString(File, "Desban"));
strcat(StrM, "\n\nCaso vocк pense que isto й um engano vistite nosso fуrum:\n{CD5C5C}\t\t*******{BEBEBE}");
strcat(StrM, SERVERFORUM);
strcat(StrM, "{CD5C5C}*******");
ShowPlayerDialog(playerid, DIALOG_BANIDO, DIALOG_STYLE_MSGBOX, "BANIDO:", StrM, "FECHAR", "");
Kick(playerid);
return 0;
}
}
format(File, sizeof(File), "pAdmin/Banidos/IPs/%s.ini", GetPlayerIpEx(playerid));
if(DOF2_FileExists(File))
{
new StrM[450];
strcat(StrM, "\t\t{BEBEBE}-x-x-x-x-x- {CD5C5C}BANIDO{BEBEBE} -x-x-x-x-x-\n\nEste IP estб banida deste servidor !\n\n{FFA500}IP:{BEBEBE} ");
strcat(StrM, GetPlayerIpEx(playerid));
strcat(StrM, "\n{FFA500}Administrador:{BEBEBE} ");
strcat(StrM, DOF2_GetString(File, "Administrador"));
strcat(StrM, "\n{FFA500}Motivo:{BEBEBE} ");
strcat(StrM, DOF2_GetString(File, "Motivo"));
strcat(StrM, "\n{FFA500}Data do Ban:{BEBEBE} ");
strcat(StrM, DOF2_GetString(File, "Data"));
strcat(StrM, "\n\nCaso vocк pense que isto й um engano vistite nosso fуrum:\n{CD5C5C}\t\t*******{BEBEBE}");
strcat(StrM, SERVERFORUM);
strcat(StrM, "{CD5C5C}*******");
ShowPlayerDialog(playerid, DIALOG_BANIDO, DIALOG_STYLE_MSGBOX, "BANIDO:", StrM, "FECHAR", "");
Kick(playerid);
return 0;
}
format(File, sizeof(File), "pAdmin/Contas/%s.ini", pNomeOriginal[playerid]);
if(DOF2_FileExists(File))
{
FirstLogin[playerid] = false;
format(Str, sizeof(Str), "{BEBEBE}Seja bem-vindo novamente %s.\nPara validar o seu Login digite sua senha abaixo.", pNomeOriginal[playerid]);
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "{E9967A}Nуs jб te vimos por aqui...", Str, "Validar", "Cancelar");
return 0;
}
else
{
FirstLogin[playerid] = true;
format(Str, 256, "{BEBEBE}Seja bem-vindo %s.\nPara efetuar seu cadastro, insira uma senha abaixo.\n*Sua senha deve conter entre 4 e 20 caracteres.", pNomeOriginal[playerid]);
ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_INPUT, "{E9967A}Vocк й novo por aqui...", Str, "Registrar", "Cancelar");
return 0;
}
}
public OnPlayerConnect(playerid)
{
SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
format(File, sizeof(File), "pAdmin/Banidos/Contas/%s.ini", pNomeOriginal[playerid]);
if(DOF2_FileExists(File))
{
if(gettime() > DOF2_GetInt(File, "DDesban"))
{
DOF2_RemoveFile(File);
SendClientMessage(playerid, Amarelo, "Seu banimento temporбrio jб terminou.");
format(File, sizeof(File), "pAdmin/Contas/%s.ini", pNomeOriginal[playerid]);
if(DOF2_FileExists(File))
{
format(Str, sizeof(Str), "{BEBEBE}Seja bem-vindo novamente %s.\nPara validar o seu Login digite sua senha abaixo.", pNomeOriginal[playerid]);
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "{E9967A}Nуs jб te vimos por aqui...", Str, "Validar", "Cancelar");
return 0;
}
else
{
format(Str, 256, "{BEBEBE}Seja bem-vindo %s.\nPara efetuar seu cadastro, insira uma senha abaixo.\n*Sua senha deve conter entre 4 e 20 caracteres.", pNomeOriginal[playerid]);
ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_INPUT, "{E9967A}Vocк й novo por aqui...", Str, "Registrar", "Cancelar");
return 0;
}
}
else
{
for(new i; i < 100; i++)
{
SendClientMessage(playerid, CinzaEscuro, " ");
}
new StrM[450];
strcat(StrM, "\t\t{BEBEBE}-x-x-x-x-x- {CD5C5C}BANIDO{BEBEBE} -x-x-x-x-x-\n\nEsta conta estб banida deste servidor !\n\n{FFA500}Conta:{BEBEBE} ");
strcat(StrM, pNomeOriginal[playerid]);
strcat(StrM, "\n{FFA500}Administrador:{BEBEBE} ");
strcat(StrM, DOF2_GetString(File, "Administrador"));
strcat(StrM, "\n{FFA500}Motivo:{BEBEBE} ");
strcat(StrM, DOF2_GetString(File, "Motivo"));
strcat(StrM, "\n{FFA500}Data do Ban:{BEBEBE} ");
strcat(StrM, DOF2_GetString(File, "Data"));
strcat(StrM, "\n{FFA500}Data do Desban:{BEBEBE} ");
strcat(StrM, DOF2_GetString(File, "Desban"));
strcat(StrM, "\n\nCaso vocк pense que isto й um engano vistite nosso fуrum:\n{CD5C5C}\t\t*******{BEBEBE}");
strcat(StrM, SERVERFORUM);
strcat(StrM, "{CD5C5C}*******");
ShowPlayerDialog(playerid, DIALOG_BANIDO, DIALOG_STYLE_MSGBOX, "BANIDO:", StrM, "FECHAR", "");
Kick(playerid);
return 0;
}
}
format(File, sizeof(File), "pAdmin/Banidos/IPs/%s.ini", GetPlayerIpEx(playerid));
if(DOF2_FileExists(File))
{
new StrM[450];
strcat(StrM, "\t\t{BEBEBE}-x-x-x-x-x- {CD5C5C}BANIDO{BEBEBE} -x-x-x-x-x-\n\nEste IP estб banida deste servidor !\n\n{FFA500}IP:{BEBEBE} ");
strcat(StrM, GetPlayerIpEx(playerid));
strcat(StrM, "\n{FFA500}Administrador:{BEBEBE} ");
strcat(StrM, DOF2_GetString(File, "Administrador"));
strcat(StrM, "\n{FFA500}Motivo:{BEBEBE} ");
strcat(StrM, DOF2_GetString(File, "Motivo"));
strcat(StrM, "\n{FFA500}Data do Ban:{BEBEBE} ");
strcat(StrM, DOF2_GetString(File, "Data"));
strcat(StrM, "\n\nCaso vocк pense que isto й um engano vistite nosso fуrum:\n{CD5C5C}\t\t*******{BEBEBE}");
strcat(StrM, SERVERFORUM);
strcat(StrM, "{CD5C5C}*******");
ShowPlayerDialog(playerid, DIALOG_BANIDO, DIALOG_STYLE_MSGBOX, "BANIDO:", StrM, "FECHAR", "");
Kick(playerid);
return 0;
}
format(File, sizeof(File), "pAdmin/Contas/%s.ini", pNomeOriginal[playerid]);
if(DOF2_FileExists(File))
{
FirstLogin[playerid] = false;
format(Str, sizeof(Str), "{BEBEBE}Seja bem-vindo novamente %s.\nPara validar o seu Login digite sua senha abaixo.", pNomeOriginal[playerid]);
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "{E9967A}Nуs jб te vimos por aqui...", Str, "Validar", "Cancelar");
return 0;
}
else
{
FirstLogin[playerid] = true;
format(Str, 256, "{BEBEBE}Seja bem-vindo %s.\nPara efetuar seu cadastro, insira uma senha abaixo.\n*Sua senha deve conter entre 4 e 20 caracteres.", pNomeOriginal[playerid]);
ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_INPUT, "{E9967A}Vocк й novo por aqui...", Str, "Registrar", "Cancelar");
return 0;
}
}
PHP Code:
OnPlayerConnect = Quando o jogador conectar Certo: PHP Code:
|
Uma pergunta, caso nгo vocк nгo utilizar o comando GMX, as contas sгo carregadas normalmente ?, por que o " GMX ", nada mais faz que reiniciar o servidor , nгo era para dar esses conflitos , provavelmente deve conter um erro de salvamento/carregamento, ou nгo estгo localizados em locais especнficos , ou nгo estгo sendo puxados caso o jogador logar.
|
Bom, comigo nгo acontece isso, uso DOF2 e eu do gmx pelo comando mesmo /rcon gmx, Isso deve ser erro na parte de Login ou de Salvamento.
Eu tenho um comando /GMX no meu GM tbm, mais nгo uso pq eu do gmx direto no samp-server / comando. |
/* Parte do Login */
if(dialogid == LOGIN)
{
/*
[...]
*/
GivePlayerMoney(playerid, DOF2::GetInt(File, "Dinheiro"));
SetPlayerScore(playerid, DOF2::GetInt(File, "Level"));
Player[playerid][uPos][0] = DOF2::GetFloat(File, "X");
Player[playerid][uPos][1] = DOF2::GetFloat(File, "Y");
Player[playerid][uPos][2] = DOF2::GetFloat(File, "Z");
Player[playerid][uPos][3] = DOF2::GetFloat(File, "A");
/*
[...]
*/
}
/* Salvamento - Colocar no OnPlayerDisconnected */
SalvarDados(playerid);
/* Salvando */
SalvarDados(playerid)
{
/* Pegar os dados com Gets.. */
GetPlayerPos(playerid, Player[playerid][uPos][0], Player[playerid][uPos][1], Player[playerid][uPos][2]);
GetPlayerFacingAngle(playerid, Player[playerid][uPos][3]);
/* Verificar se a conta Existe / Conectado */
if(DOF2::FileExists(File) && IsPlayerConnected(playerid))
{
DOF2::SetInt(File, "Dinheiro", GetPlayerMoney(playerid));
DOF2::SetInt(File, "Level", GetPlayerScore(playerid));
DOF2::SetFloat(File, "X", Player[playerid][uPos][0]);
DOF2::SetFloat(File, "Y", Player[playerid][uPos][1]);
DOF2::SetFloat(File, "Z", Player[playerid][uPos][2]);
DOF2::SetFloat(File, "A", Player[playerid][uPos][3]);
DOF2::SaveFile();
/* Resetando ao disconectar */
Player[playerid][uPos][0] = 0.0;
Player[playerid][uPos][1] = 0.0;
Player[playerid][uPos][2] = 0.0;
Player[playerid][uPos][3] = 0.0;
}
return 1;
}
/* Pegando local das contas */
Conta(playerid)
{
new Pasta[35];
format(Pasta, sizeof(Pasta), "Contas/%s.ini", Nome(playerid));
return Pasta;
}
/* Pegando o Nome */
Nome(playerid)
{
new Name[24];
GetPlayerName(playerid, Name, 24);
return Name;
}
/* Setando */
GivePlayerMoney(playerid, DOF2::GetInt(Conta(playerid), "Dinheiro"));
/* Salvando */
DOF2::SetInt(Conta(playerid), "Dinheiro", GetPlayerMoney(playerid));