enum Informacoes
{
Senha,
Matou,
Morreu,
Dinheiro,
pOrg,
pAdmin,
pCargo,
pProc,
pOrgCVD,
pSexo,
pPlogin,
pSkin,
pScore,
}
new Player[MAX_PLAYERS][Informacoes];
public OnPlayerConnect(playerid)
{
new arquivo[40], name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, 32);
format(arquivo, 40, "Contas/%s.ini", name);
if(DOF2_FileExists(arquivo))
{
ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "Logar", "Vocк й Registrado, digite sua senha para logar!\nSe errar 5 vezes sua conta serб banida!", "Confirma", "Cancelar");
}
else
{
ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_INPUT, "Registro", "Vocк ainda nгo й Registrado, digite uma senha para se registrar!", "Confirma", "Cancelar");
}
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
new arquivo[40], name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, 32);
format(arquivo, 40, "Contas/%s.ini", name);
if(DOF2_FileExists(arquivo))
{
DOF2_SetInt(arquivo, "Senha", Player[playerid][Senha]);
DOF2_SetInt(arquivo, "Matou", Player[playerid][Matou]);
DOF2_SetInt(arquivo, "Morreu", Player[playerid][Morreu]);
DOF2_SetInt(arquivo, "Dinheiro", GetPlayerMoney(playerid));
DOF2_SetInt(arquivo, "pOrg", Player[playerid][pOrg]);
DOF2_SetInt(arquivo, "pAdmin", Player[playerid][pAdmin]);
DOF2_SetInt(arquivo, "pCargo", Player[playerid][pCargo]);
DOF2_SetInt(arquivo, "pProc", Player[playerid][pProc]);
DOF2_SetInt(arquivo, "pOrgCVD", Player[playerid][pOrgCVD]);
DOF2_SetInt(arquivo, "pSexo", Player[playerid][pSexo]);
DOF2_SetInt(arquivo, "pPlogin", Player[playerid][pPlogin]);
DOF2_SetInt(arquivo, "pSkin", GetPlayerSkin(playerid));
DOF2_SetInt(arquivo, "pScore", GetPlayerScore(playerid));
DOF2_SaveFile();
}
Player[playerid][pOrgCVD] = 0;
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
new arquivo[40], name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, 32);
format(arquivo, 40, "Contas/%s.ini", name);
if(dialogid == DIALOG_REGISTRO)
{
if(!strval(inputtext))
{
ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_INPUT, "Registro", "Digite apenas nъmeros!\nDigite sua senha novamente para se registrar!", "Confirma", "Cancelar");
return 1;
}
if(!response)
{
Kick(playerid);
return 1;
}
else
{
Player[playerid][Senha] = strval(inputtext);
DOF2_CreateFile(arquivo);
DOF2_SetInt(arquivo, "Senha", Player[playerid][Senha]);
DOF2_SetInt(arquivo, "Matou", Player[playerid][Matou]);
DOF2_SetInt(arquivo, "Morreu", Player[playerid][Morreu]);
DOF2_SetInt(arquivo, "Dinheiro", Player[playerid][Dinheiro]);
DOF2_SetInt(arquivo, "pOrg", Player[playerid][pOrg]);
DOF2_SetInt(arquivo, "pAdmin", Player[playerid][pAdmin]);
DOF2_SetInt(arquivo, "pCargo", Player[playerid][pCargo]);
DOF2_SetInt(arquivo, "pProc", Player[playerid][pProc]);
DOF2_SetInt(arquivo, "pOrgCVD", Player[playerid][pOrgCVD]);
DOF2_SetInt(arquivo, "pSexo", Player[playerid][pSexo]);
DOF2_SetInt(arquivo, "pPlogin", Player[playerid][pPlogin]);
DOF2_SetInt(arquivo, "pSkin", Player[playerid][pSkin]);
DOF2_SetInt(arquivo, "pScore", Player[playerid][pScore]);
DOF2_SaveFile();
ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "Logar", "Vocк se cadastrou, agora й sу logar com sua senha registrada!", "Confirma", "Cancelar");
}
}
if(dialogid == DIALOG_LOGAR)
{
if(!strval(inputtext))
{
ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "Logar", "Digite apenas nъmeros!\nDigite sua senha cadastrada para logar!\nSe errar 5 vezes sua conta serб banida!", "Confirma", "Cancelar");
return 1;
}
if(!response)
{
Kick(playerid);
return 1;
}
else
{
Player[playerid][Senha] = DOF2_GetInt(arquivo, "Senha");
if(strval(inputtext) == Player[playerid][Senha])
{
Player[playerid][Matou] = DOF2_GetInt(arquivo, "Matou");
Player[playerid][Morreu] = DOF2_GetInt(arquivo, "Morreu");
Player[playerid][Dinheiro] = DOF2_GetInt(arquivo, "Dinheiro");
Player[playerid][pOrg] = DOF2_GetInt(arquivo, "pOrg");
Player[playerid][pAdmin] = DOF2_GetInt(arquivo, "pAdmin");
Player[playerid][pCargo] = DOF2_GetInt(arquivo, "pCargo");
Player[playerid][pProc] = DOF2_GetInt(arquivo, "pProc");
Player[playerid][pOrgCVD] = DOF2_GetInt(arquivo, "pOrgCVD");
Player[playerid][pSexo] = DOF2_GetInt(arquivo, "pSexo");
Player[playerid][pPlogin] = DOF2_GetInt(arquivo, "pPlogin");
Player[playerid][pSkin] = DOF2_GetInt(arquivo, "pSkin");
Player[playerid][pScore] = DOF2_GetInt(arquivo, "pScore");
GivePlayerMoney(playerid, Player[playerid][Dinheiro]);
SpawnPlayer(playerid);
}
else
{
ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "Logar", "Vocк digitou sua senha errado, digite-a novamente para logar!\nSe errar 5 vezes sua conta serб banida!", "Confirma", "Cancelar");
Erro[playerid]++;
if(Erro[playerid] == 5)
{
SendClientMessage(playerid, -1, "Sua conta estб banida por errar 5 vezes a sua senha, contacte o Admin para retirar seu Ban!");
Ban(playerid);
return 1;
}
}
}
}
return 1;
}
Utilizar dof2 em 2019,
Senha somente numeros, Banimento apуs 5 tentativas, Spawn sem coordenadas, sem proteзгo contra dados falsos (skin, score, dinheiro). melhor voltar a pesquisar antes de desenvolver um servidor pйssimo, a comunidade jб й saturada deles. @TOPIC: nгo posso ajudar quem nгo consegue, ao menos explicar o problema direito. |
- O tutorial do EditPawn jб estб obsoleto, utilize esse: https://sampforum.blast.hk/showthread.php?tid=346534
|