[Ajuda] Como fazer sistema de login
#1

Queria um aprender a fezer um sistema de login que salva na pasta contas, os dados do player que seriam;
Nome
Senha
Score
Money
Skin

Й isso pessoal se puderem ajudar ae!
FLW!!!!
Reply
#2

Jб sabe o bбsico sobre programar?

Para isto precisa escolher uma include de salvamento de dados INI.

Comece a usar DOF2.
Reply
#3

Existe Muitas fs parara fazer sу procurar no search
Reply
#4

https://sampforum.blast.hk/showthread.php?tid=350855
Reply
#5

Ae gnt eu sei to fazendo o GM mais tem algumas coisas tipo as incluides da DOF2 e talz... que eu nгo compreendo!
Reply
#6

Comecei com SII, й bem fбcil se vocк pegar uma base legal.
Reply
#7

Tire suas duvidas, ninguйm nasce sabendo como se faz.

@edit:
Sem duvidas sem respostas.
Reply
#8

Em gnt olha aqui esse o ERRO
Quote:

C:\Users\mateus\Desktop\Elias\[BFL] Brazil First Life RPG [NO]\filterscripts\LoginVipBFL.pwn(39) : warning 217: loose indentation
C:\Users\mateus\Desktop\Elias\[BFL] Brazil First Life RPG [NO]\filterscripts\LoginVipBFL.pwn(74) : error 029: invalid expression, assumed zero
C:\Users\mateus\Desktop\Elias\[BFL] Brazil First Life RPG [NO]\filterscripts\LoginVipBFL.pwn(74) : error 029: invalid expression, assumed zero
C:\Users\mateus\Desktop\Elias\[BFL] Brazil First Life RPG [NO]\filterscripts\LoginVipBFL.pwn(75) : warning 217: loose indentation
C:\Users\mateus\Desktop\Elias\[BFL] Brazil First Life RPG [NO]\filterscripts\LoginVipBFL.pwn(84) : warning 217: loose indentation
C:\Users\mateus\Desktop\Elias\[BFL] Brazil First Life RPG [NO]\filterscripts\LoginVipBFL.pwn(100) : warning 217: loose indentation
C:\Users\mateus\Desktop\Elias\[BFL] Brazil First Life RPG [NO]\filterscripts\LoginVipBFL.pwn(110) : warning 217: loose indentation
C:\Users\mateus\Desktop\Elias\[BFL] Brazil First Life RPG [NO]\filterscripts\LoginVipBFL.pwn(126) : error 017: undefined symbol "SetPlayerMoney"
C:\Users\mateus\Desktop\Elias\[BFL] Brazil First Life RPG [NO]\filterscripts\LoginVipBFL.pwn(131) : error 029: invalid expression, assumed zero
C:\Users\mateus\Desktop\Elias\[BFL] Brazil First Life RPG [NO]\filterscripts\LoginVipBFL.pwn(146) : warning 225: unreachable code
C:\Users\mateus\Desktop\Elias\[BFL] Brazil First Life RPG [NO]\filterscripts\LoginVipBFL.pwn(146) : warning 217: loose indentation
Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase


4 Errors.

O meu Sistema q eu tinha feito й assim:
Quote:

#include <a_samp>
#include <DOF2>
#define DIALOG_LOGAR 1
#define DIALOG_REGISTRO 2
enum pInfo
{
pSkin,
pSenha,
pScore,
pMoney
};
new PlayerInfo[MAX_PLAYERS][pInfo];
new Erro[MAX_PLAYERS];

public OnFilterScriptInit()
{
DOF2_Exit();
return 1;
}
public OnPlayerConnect(playerid)
{
new name[MAX_PLAYER_NAME];
new arquivo[40];
GetPlayerName(playerid, name, 32);
format(arquivo, 40, "Contas/%s.ini", name);
if(DOF2_FileExists(arquivo))
{
ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "{00FF00}[{00FF00}B{00FF00}B{FFFF00}S{FFFF00}]{FFFFFF} - Login", "Status da conta : Registrada\n digite sua senha para logar!\nSe errar 5 vezes sua conta serб banida!", "Logar", "Cancelar");
}
else
{
ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_INPUT, "{00FF00}[{00FF00}B{00FF00}B{FFFF00}S{FFFF00}]{FFFFFF} - Registro", "Status da conta : Nгo Registrada\n digite uma senha para se registrar!", "Registrar", "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", PlayerInfo[playerid][pSenha]);
DOF2_SetInt(arquivo, "Skin", PlayerInfo[playerid][pSkin]);
DOF2_SetInt(arquivo, "Score", PlayerInfo[playerid][pScore]);
DOF2_SetInt(arquivo, "Money", PlayerInfo[playerid][pMoney]);
DOF2_SaveFile();
}
return 1;
}
public OnPlayerSpawn(playerid)
{
SetPlayerSkin(playerid, PlayerInfo[playerid][pSkin]);
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
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_PASSWORD, "{00FF00}[{00FF00}B{00FF00}B{FFFF00}S{FFFF00}]{FFFFFF} - Registro", "Status da conta : Nгo Registrada\n digite uma senha para se registrar!", "Registrar", "Cancelar");
SendClientMessage(playerid, -1, "[BBS] Erro, Digite apenas nъmeros para se registrar.");
return 1;
}
if(!response)
{
Kick(playerid);
return 1;
}
else
{
PlayerInfo[playerid][pSenha] = strval(inputtext);
DOF2_CreateFile(arquivo);
DOF2_SetInt(arquivo, "Senha", PlayerInfo[playerid][pSenha]);
DOF2_SetInt(arquivo, "Skin", 239);
DOF2_SetInt(arquivo, "Score", 0);
DOF2_SetInt(arquivo, "Money", 1000);
DOF2_SaveFile();
SendClientMessage(playerid, -1, "[BBS] Sua Conta foi Registrada, Agora digite sua senha novamente para logar!");
ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "{00FF00}[{00FF00}B{00FF00}B{FFFF00}S{FFFF00}]{FFFFFF} - Login", "Status da conta : Registrada\n digite sua senha para logar!\nSe errar 5 vezes sua conta serб banida!", "Logar", "Cancelar");
}
}
if(dialogid == DIALOG_LOGAR)
{
if(!strval(inputtext))
{
SendClientMessage(playerid, -1, "[BBS] Erro, Digite apenas nъmeros para se logar.");
ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "{00FF00}[{00FF00}B{00FF00}B{FFFF00}S{FFFF00}]{FFFFFF} - Login", "Status da conta : Registrada\n digite sua senha para logar!\nSe errar 5 vezes sua conta serб banida!", "Logar", "Cancelar");
return 1;
}
if(!response)
{
Kick(playerid);
return 1;
}
else
{
PlayerInfo[playerid][pSenha] = DOF2_GetInt(arquivo, "Senha");
if(strval(inputtext) == PlayerInfo[playerid][pSenha])
{
PlayerInfo[playerid][pSkin] = DOF2_GetInt(arquivo, "Skin");
SetPlayerSkin(playerid, PlayerInfo[playerid][pSkin]);
PlayerInfo[playerid][pMoney] = DOF2_GetInt(arquivo, "Money");
SetPlayerMoney(playerid, PlayerInfo[playerid][pMoney]);
PlayerInfo[playerid][pScore] = DOF2_GetInt(arquivo, "Score");
SetPlayerScore(playerid, PlayerInfo[playerid][pScore]);
SpawnPlayer(playerid);
}
else /
{
ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "{00FF00}[{00FF00}B{00FF00}B{FFFF00}S{FFFF00}]{FFFFFF} - Login", "Status da conta : Registrada\n digite sua senha para logar!\nSe errar 5 vezes sua conta serб banida!", "Logar", "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;
}
return 1;
}stock ReturnPlayer(playerid)
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,MAX_PLAYER_NAME);
return name;
}

Reply
#9

REMOVED
Reply
#10

Em Schocc vlw, resolveu alguns mais faltam esses aqui:
Quote:

C:\Users\mateus\Desktop\Elias\[BFL] Brazil First Life RPG [NO]\filterscripts\LoginVipBFL.pwn(39) : warning 217: loose indentation
C:\Users\mateus\Desktop\Elias\[BFL] Brazil First Life RPG [NO]\filterscripts\LoginVipBFL.pwn(82) : warning 217: loose indentation
C:\Users\mateus\Desktop\Elias\[BFL] Brazil First Life RPG [NO]\filterscripts\LoginVipBFL.pwn(9 : warning 217: loose indentation
C:\Users\mateus\Desktop\Elias\[BFL] Brazil First Life RPG [NO]\filterscripts\LoginVipBFL.pwn(10 : warning 217: loose indentation
C:\Users\mateus\Desktop\Elias\[BFL] Brazil First Life RPG [NO]\filterscripts\LoginVipBFL.pwn(124) : error 017: undefined symbol "SetPlayerMoney"
C:\Users\mateus\Desktop\Elias\[BFL] Brazil First Life RPG [NO]\filterscripts\LoginVipBFL.pwn(129) : error 029: invalid expression, assumed zero
C:\Users\mateus\Desktop\Elias\[BFL] Brazil First Life RPG [NO]\filterscripts\LoginVipBFL.pwn(144) : error 010: invalid function or declaration
Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase


3 Errors.

Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)