16.06.2012, 01:58
Ola pessoal eu criei um sistema de registro em sii, mais agora o sistema de level esta bugando por exemplo:
Eu coloco pra quando ele se registrar receber level 2 mais seta level 97 vo postar meu sistema de registro abaixo
Eu coloco pra quando ele se registrar receber level 2 mais seta level 97 vo postar meu sistema de registro abaixo
pawn Код:
enum pInfo
{
pSenha,
pLevel,
pAdmin,
pDinheiro,
pMember,
pLider,
rRespeito
}
new PlayerInfo[MAX_PLAYERS][pInfo];
public OnPlayerConnect(playerid)
{
//----------------Sistema de registro-------------------------------------
GetPlayerName(playerid, gPlayerName[playerid], MAX_PLAYER_NAME);
if (fexist(ObterINI(playerid)))
{
ShowPlayerDialog(playerid, dialogo_logar, DIALOG_STYLE_INPUT,""BRANCO"Login",""BRANCO"Digite sua senha abaixo para efetuar login.","logar","Sair");
}
else
{
ShowPlayerDialog(playerid, dialogo_registro, DIALOG_STYLE_INPUT,""BRANCO"Registrando",""BRANCO"Digite sua senha abaixo para registrar uma nova conta.","Registrar","Sair");
}
//=============================================================
public OnPlayerDisconnect(playerid, reason)
{
if(INI_Open(ObterINI(playerid))) {
INI_WriteInt("Level",PlayerInfo[playerid][pLevel]);
INI_WriteInt("Dinheiro",GetPlayerMoney(playerid));
INI_WriteInt("Admin",PlayerInfo[playerid][pAdmin]);
INI_WriteInt("Member",PlayerInfo[playerid][pMember]);
INI_WriteInt("Lider",PlayerInfo[playerid][pLider]);
INI_WriteInt("Respeito",PlayerInfo[playerid][rRespeito]);
INI_Save();
INI_Close();
}
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
switch( dialogid )
{
case dialogo_registro:
{
if (!response) return Kick(playerid);
if (response)
{
if(!strlen(inputtext)) {
ShowPlayerDialog(playerid, dialogo_registro, DIALOG_STYLE_INPUT, ""BRANCO"Registrando...",""VERMELHO"Vocк digitou uma senha invбlida.\n"BRANCO"Digite sua senha abaixo para registrar uma nova conta.","Registro","Sair");
}
if(INI_Open(ObterINI(playerid))) {
INI_WriteString("Senha",inputtext);
INI_WriteInt("SetPlayerScore",2);
INI_WriteInt("Dinheiro",1200);
INI_WriteInt("Admin",0);
INI_WriteInt("Member",0);
INI_WriteInt("Lider",0);
INI_WriteInt("Respeito",0);
INI_Save();
INI_Close();
ShowPlayerDialog(playerid, dialogo_logar, DIALOG_STYLE_INPUT,""BRANCO"Logar",""BRANCO"Digite sua senha abaixo para efetuar login.","Logar","Sair");
}
}
}
case dialogo_logar:
{
if ( !response ) return Kick ( playerid );
if( response )
{
if(!strlen(inputtext)) {
ShowPlayerDialog(playerid, dialogo_logar, DIALOG_STYLE_INPUT, ""BRANCO"Logar",""VERMELHO"Vocк digitou uma senha invбlida.\n"BRANCO"Digite sua senha abaixo para efetuar login.","Logar","Sair");
}
if(INI_Open(ObterINI(playerid))) {
INI_ReadString(PlayerInfo[playerid][pSenha],"Senha",20);
if(strcmp(inputtext,PlayerInfo[playerid][pSenha],false)) {
ShowPlayerDialog(playerid, dialogo_logar, DIALOG_STYLE_INPUT, ""BRANCO"Logar",""VERMELHO"Vocк digitou uma senha incorreta.\n"BRANCO"Digite sua senha abaixo para acessar.","Logar","Sair");
}
SetPlayerScore( playerid, INI_ReadInt("Level" ) );
ResetPlayerMoney( playerid );
GivePlayerMoney( playerid, INI_ReadInt( "Dinheiro" ) );
PlayerInfo[playerid][pAdmin] = INI_ReadInt("Admin");
PlayerInfo[playerid][pMember] = INI_ReadInt("Member");
PlayerInfo[playerid][pLider] = INI_ReadInt("Lider");
PlayerInfo[playerid][rRespeito] = INI_ReadInt("Respeito");
INI_Close();
}
}
}
}
return 1;
}
stock ObterINI(playerid)
{
new conta[64];
format(conta,30,"Contas/%s.ini",gPlayerName[playerid]);
return conta;
}