03.12.2015, 15:51
Olб pessoal, entгo, eu achei um sistema de Registro e Login (acho que do TiagoPS algo assim, jб deixando os creditos a ele) e eu gostaria de acrescentar algumas coisas no arquivo que cria. No caso na conta do jogador, eu gostaria de adicionar o IP, Arma primбria e a muniзгo dele, porйm isso para ele ver atravйs do /stats. Agora outra coisa tambйm que queria adicionar, й o salvamento da ultima posiзгo e da arma que estava em mгos. Enfim, espero a resposta de alguйm, e desde jб, obrigado.
PHP код:
#define REGISTRO 1
#define LOGIN 2
#define CONTAS "Players/%s.ini"
new Logou[MAX_PLAYERS];
public OnGameModeExit()
{
for(new i=0; i<MAX_PLAYERS; i++)
SalvarPlayer(i);
return 1;
}
public OnPlayerRequestClass(playerid, classid)
{
new String[256];
format(String, sizeof(String), CONTAS, GetName(playerid));
if(!dini_Exists(String))
{
format(String, sizeof(String), "Bem vindo %s ao Chicago Roleplay, vocк nгo possui uma conta registrada\nDigite sua senha logo abaixo para se registrar", GetName(playerid));
ShowPlayerDialog(playerid, REGISTRO, DIALOG_STYLE_INPUT, "Chicago Roleplay", String, "Registrar", "Cancelar");
}
else
{
format(String, sizeof(String), "Bem vindo %s ao Chicago Roleplay, vocк possui uma conta registrada\nDigite sua senha abaixo para logar-se", GetName(playerid));
ShowPlayerDialog(playerid, LOGIN, DIALOG_STYLE_INPUT, "Chicago Roleplay", String, "Logar", "Cancelar");
}
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
SalvarPlayer(playerid);
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == REGISTRO)
{
if(response)
{
if(!strlen(inputtext))
{
new String[256];
format(String, sizeof(String), "Bem vindo %s ao Chicago Roleplay, vocк nгo possui uma conta registrada\nDigite sua senha abaixo para se registrar", GetName(playerid));
ShowPlayerDialog(playerid, REGISTRO, DIALOG_STYLE_INPUT, "Chicago Roleplay", String, "Registrar", "Cancelar");
SendClientMessage(playerid,COLOR_RED,"[Erro]: {FFFFFF]Senha invalida, digite uma senha valida.");
return 1;
}
new String[256];
format(String, sizeof(String), CONTAS, GetName(playerid));
dini_Create(String);
dini_Set(String,"Senha",inputtext);
dini_IntSet(String,"Dinheiro",50000);
dini_IntSet(String,"Vida", 100);
dini_IntSet(String,"Colete", 100);
dini_IntSet(String,"Logou",0);
ShowPlayerDialog(playerid, LOGIN, DIALOG_STYLE_INPUT, "Chicago Roleplay", "Vocк se registrou com sucesso no nosso servidor, por favor, digite sua senha para logar", "Logar", "Cancelar");
return 1;
}
else
{
SendClientMessage(playerid, COLOR_GREEN, "[Informaзгo]: {FFFFFF}Vocк nгo quis registrar-se no servidor, por este motivo serб kickado por motivos de seguranзa.");
Kick(playerid);
return 1;
}
}
if(dialogid == LOGIN)
{
if(response)
{
if(!strlen(inputtext))
{
new String[256];
format(String, sizeof(String), "Bem vindo %s ao Chicago Roleplay, vocк possui uma conta registrada\nDigite sua senha abaixo para logar-se", GetName(playerid));
ShowPlayerDialog(playerid, LOGIN, DIALOG_STYLE_INPUT, "Chicago Roleplay", String, "Logar", "Cancelar");
SendClientMessage(playerid,COLOR_RED,"[Erro]: {FFFFFF]Senha incorreta digite-a novamente.");
return 1;
}
new String[256];
format(String, sizeof(String), CONTAS, GetName(playerid));
if(!strcmp(inputtext,dini_Get(String,"Senha"),false))
{
SetarPlayer(playerid);
Logou[playerid]++;
SendClientMessage(playerid,COLOR_GREEN,"[Informaзгo]: {FFFFFF}Vocк foi logado com sucesso!");
SpawnPlayer(playerid);
return 1;
}
else
{
SendClientMessage(playerid,COLOR_RED,"[Erro]: {FFFFFF}Senha incorreta digite-a novamente.");
format(String, sizeof(String), "Bem vindo %s ao Chicago Roleplay, vocк possui uma conta registrada\nDigite sua senha abaixo para logar-se", GetName(playerid));
ShowPlayerDialog(playerid, LOGIN, DIALOG_STYLE_INPUT, "Chicago Roleplay", String, "Logar", "Cancelar");
}
return 1;
}
else
{
SendClientMessage(playerid, COLOR_GREEN, "[Informaзгo]: {FFFFFF}Vocк nгo quis logar no servidor, por este motivo serб kickado por motivos de seguranзa.");
Kick(playerid);
return 1;
}
}
return 1;
}
// O Comando do /stats
CMD:stats(playerid, params[])
{
Status(playerid);
SendClientMessage(playerid, COLOR_GREEN, "[Informaзгo]: {FFFFFF}Vocк estб visualizando seus stats no servidor.");
return 1;
}
SalvarPlayer(playerid)
{
new Float:Vida;
new Float:Colete;
GetPlayerHealth(playerid, Vida);
GetPlayerArmour(playerid, Colete);
new String[50];
format(String, sizeof(String), CONTAS, GetName(playerid));
dini_IntSet(String,"Dinheiro", GetPlayerMoney(playerid));
dini_FloatSet(String,"Vida", Vida);
dini_FloatSet(String,"Colete", Colete);
dini_IntSet(String,"Logou", Logou[playerid]);
return 1;
}
SetarPlayer(playerid)
{
new String[50];
format(String, sizeof(String), CONTAS, GetName(playerid));
GivePlayerMoney(playerid, dini_Int(String,"Dinheiro"));
SetPlayerHealth(playerid, dini_Int(String,"Vida"));
SetPlayerArmour(playerid, dini_Int(String,"Colete"));
Logou[playerid] = dini_Int(String, "Logou");
return 1;
}
Status(playerid)
{
new String[128];
format(String, sizeof(String),"_______________%s_______________",GetName(playerid));
SendClientMessage(playerid, COLOR_GREEN,String);
format(String, sizeof(String),"Dinheiro: {FFFFFF}%d", GetPlayerMoney(playerid));
SendClientMessage(playerid, COLOR_GREEN,String);
format(String, sizeof(String),"Vocк jб logou %d vezes neste Servidor",Logou[playerid]);
SendClientMessage(playerid, COLOR_GREEN,String);
return 1;
}