[FilterScript] FS- Sistema de Registro/Login
#1

Sistema de Registro/Login.


Descriзгo:

Um simples sistema de login por dialog
Obs: Й preciso uma pasta com o nome "Players" em Scriptfiles e dois arquivos em .ini com nome "Nivel" e "Money", dentro da pasta "Players" para o Script funcionar


ObsІ:A FS salva apenas Nivel, Dinheiro e Senha do player, como eu disse "Um simples sistema de login por dialog " ..
Fotos do Script:


__________________________________________________ _________


Download [* Cуdigo]

pawn Код:
/*********************************************************************                                                                   *
*                                                                    *
*                      SISTEMA DE REGISTRO/LOGIN                     *
*                           hRegister/Login                          *
*                         Criado por o_Hated                         *
*                                                                    *
**********************************************************************/

//==Includes==//
#include <a_samp>
#include <zcmd>
#include <Dini>
//==Defines==//
#define Register 0
#define Logged 1
#pragma tabsize 0
//==News==//
new Text:topblack, Text:bottomblack;
new Text:Textdraw0;
new Login[MAX_PLAYERS];
new contador;
new reply[MAX_PLAYERS];
//==Forwards==//
forward ClearChatbox(playerid, lines);
//==Publics==//
public OnFilterScriptInit()
{
    if(!fexist("/Players/Nivel.ini")) dini_Create("/Players/Nivel.ini");
    if(!fexist("/Players/Money.ini")) dini_Create("/Players/Money.ini");
    topblack = TextDrawCreate(1.000000,-45.000000,"__");
    bottomblack = TextDrawCreate(-2.000000,371.000000,"__");
    TextDrawUseBox(topblack,1);
    TextDrawBoxColor(topblack,0x000000ff);
    TextDrawTextSize(topblack,655.000000,80.000000);
    TextDrawUseBox(bottomblack,1);
    TextDrawBoxColor(bottomblack,0x000000ff);
    TextDrawTextSize(bottomblack,840.000000,240.000000);
    TextDrawAlignment(topblack,0);
    TextDrawAlignment(bottomblack,0);
    TextDrawBackgroundColor(topblack,0x000000ff);
    TextDrawBackgroundColor(bottomblack,0x000000ff);
    TextDrawFont(topblack,3);
    TextDrawLetterSize(topblack,1.000000,14.000000);
    TextDrawFont(bottomblack,3);
    TextDrawLetterSize(bottomblack,1.000000,24.000000);
    TextDrawColor(topblack,0xffffffff);
    TextDrawColor(bottomblack,0xffffffff);
    TextDrawSetOutline(topblack,1);
    TextDrawSetOutline(bottomblack,1);
    TextDrawSetProportional(topblack,1);
    TextDrawSetProportional(bottomblack,1);
    TextDrawSetShadow(topblack,1);
    TextDrawSetShadow(bottomblack,1);
    Textdraw0 = TextDrawCreate(3.000000, 433.000000, "~g~hRegister/Logincoloca uma msg aqui .. sei lб '-'");
    TextDrawBackgroundColor(Textdraw0, 255);
    TextDrawFont(Textdraw0, 1);
    TextDrawLetterSize(Textdraw0, 0.529999, 1.300001);
    TextDrawColor(Textdraw0, -65281);
    TextDrawSetOutline(Textdraw0, 1);
    TextDrawSetProportional(Textdraw0, 1);
    TextDrawUseBox(Textdraw0, 1);
    TextDrawBoxColor(Textdraw0, 255);
    TextDrawTextSize(Textdraw0, 655.000000, -95.000000);
    for(new i; i < MAX_PLAYERS; i ++)
    {
        if(IsPlayerConnected(i))
        {
            TextDrawShowForPlayer(i, Textdraw0);
        }
    }
    return 1;
}
public OnFilterScriptExit()
{
    TextDrawHideForAll(Textdraw0);
    TextDrawDestroy(Textdraw0);
    return 1;
}

public OnPlayerConnect(playerid)
{
    new pName[MAX_PLAYER_NAME];
    Login[playerid] = 0;
    new nombre[MAX_PLAYER_NAME], archivo[256];
    GetPlayerName(playerid, nombre, sizeof(nombre));
    GetPlayerName(playerid, pName, MAX_PLAYER_NAME);
    if(dini_Isset("/Players/Nivel.ini",PlayerName(playerid))) SetPlayerScore(playerid,dini_Int("/Players/Nivel.ini",PlayerName(playerid)));
    if(dini_Isset("/Players/Money.ini",PlayerName(playerid))) GivePlayerMoney(playerid,dini_Int("/Players/Money.ini",PlayerName(playerid)));
    format(archivo, sizeof(archivo), "/Players/%s.ini", nombre);
    if (!dini_Exists(archivo))
    {
    ShowPlayerDialog(playerid, Register, DIALOG_STYLE_INPUT, "Registro", "Bem Vindo ao COLOQUE O NOME DO SEU SERVIDOR! \nEscolha uma senha para poder Logar\nNOME DO SEU SERVIDOR", "Registrar", "Cancelar");
    }
    else
    {
    ShowPlayerDialog(playerid, Logged, DIALOG_STYLE_INPUT, "Logar", "Bem Vindo ao COLOQUE O NOME DO SEU SERVIDOR\nFaзa Seu Login e Seja Feliz No Nosso Servidor", "Logar", "Cancelar");
    }
    PlayerPlaySound(playerid,1097, 0.0, 0.0, 0.0);
    TextDrawShowForPlayer(playerid, Textdraw0);
    TextDrawShowForPlayer(playerid, topblack);
    TextDrawShowForPlayer(playerid, bottomblack);
    SendClientMessage(playerid, 0xFFFFFFAA, "~> Essa GameMode tem uma FilterScript feita por o_Hated!! <~");
    contador++;
    new contadorxd[128];
    format(contadorxd, sizeof(contadorxd), "~>  Parabйns! vocк й o player nъmero %d online no servidor <~",contador);
    SendClientMessage(playerid,0xFFFFFFAA, contadorxd);
    new string[48];
    GetPlayerName(playerid, pName, sizeof(pName));
    format(string, sizeof(string), "O player %s acabou de entrar no servidor", pName);
    SendClientMessageToAll(0xAAAAAAAA, string);
    reply[playerid] = 0;
    return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
    new pName[MAX_PLAYER_NAME];
    contador--;
    GetPlayerName(playerid, pName, MAX_PLAYER_NAME);
    dini_IntSet("/Players/Nivel.ini",PlayerName(playerid),GetPlayerScore(playerid));
    dini_IntSet("/Players/Money.ini",PlayerName(playerid),GetPlayerMoney(playerid));
    new string[48];
    GetPlayerName(playerid, pName, sizeof(pName));
    format(string, sizeof(string), "O player %s saio do servidor por vontade propria! ", pName);
    SendClientMessageToAll(0xAAAAAAAA, string);
    return 1;
}

public OnPlayerSpawn(playerid)
{
    PlayerPlaySound(playerid,1098, 0.0, 0.0, 0.0);
    TextDrawHideForPlayer(playerid, topblack);
    TextDrawHideForPlayer(playerid, bottomblack);
    return 1;
}

CMD:creditosfs(playerid, params[])
{
    SendClientMessage( playerid, 0xFFFFFFAA, "••••••••••••••••••••••••••••••••[ Crйditos ]••••••••••••••••••••••••••••••••" );
    SendClientMessage( playerid, 0xFFFFFFAA, "~ Crйditos а Hated , e а todos do Fуrum SAMP ;)  !" );
    return 1;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
      if (dialogid == Register)
      {
      new nombrejugador[MAX_PLAYER_NAME], archivo[256];
      if (!strlen(inputtext)) return ShowPlayerDialog(playerid, Register, DIALOG_STYLE_INPUT, "Registro", "Bem Vindo ao COLOQUE O NOME DO SEU SERVIDOR! \nEscolha Sua Senha Preferia e Divirta-se\nEste GM й Apenas Para Estudos! !", "Registrar", "Cancelar");
      if (!response) return ShowPlayerDialog(playerid, Register, DIALOG_STYLE_INPUT, "Registro", "Bem Vindo ao COLOQUE O NOME DO SEU SERVIDOR! \nEscolha Sua Senha Preferia e Divirta-se\nEste GM й Apenas Para Estudos! !", "Registrar", "Cancelar");
      GetPlayerName(playerid, nombrejugador, sizeof(nombrejugador));
      format(archivo, sizeof(archivo), "/Players/%s.ini", nombrejugador);
      dini_Create(archivo);
      dini_Set(archivo, "User", nombrejugador);
      dini_Set(archivo, "Password", inputtext);
      ShowPlayerDialog(playerid, Logged, DIALOG_STYLE_INPUT, "Logar", "Bem Vindo ao COLOQUE O NOME DO SEU SERVIDOR\nFaзa Seu Login e Seja Feliz No Nosso Servidor", "Logar", "Cancelar");
      }
      if (dialogid == Logged)
      {
      new nombrejugador[MAX_PLAYER_NAME], archivo[256], comprobante[256];
      if (!strlen(inputtext)) return ShowPlayerDialog(playerid, Logged, DIALOG_STYLE_INPUT, "Registro", "Bem Vindo ao COLOQUE O NOME DO SEU SERVIDOR! \nEscolha Sua Senha Preferia e Divirta-se\nEste GM й Apenas Para Estudos! !", "Registrar", "Cancelar");
      if (!response) return ShowPlayerDialog(playerid, Logged, DIALOG_STYLE_INPUT, "Logar", "Bem Vindo ao COLOQUE O NOME DO SEU SERVIDOR\nFaзa Seu Login e Seja Feliz No Nosso Servidor", "Logar", "Cancelar");
      GetPlayerName(playerid, nombrejugador, sizeof(nombrejugador));
      format(archivo, sizeof(archivo), "/Players/%s.ini", nombrejugador);
      format(comprobante, sizeof(comprobante), "%s", dini_Get(archivo, "Password"));
      if (!strcmp (inputtext, comprobante))
      {
        Login[playerid] = 1;
      }
      else
      {
        ShowPlayerDialog(playerid, Logged, DIALOG_STYLE_INPUT, "Logar", "Bem Vindo ao COLOQUE O NOME DO SEU SERVIDOR\nFaзa Seu Login e Seja Feliz No Nosso Servidor", "Logar", "Cancelar");
      }
    }
    return 0;
}

new HatedhMsgs[1][256] =
{
    "REGISTRO/LOGIN ~> Para ver os creditos pela FS -> /creditosfs <~"
};
forward HatedRANDOMmsgs();
public HatedRANDOMmsgs()
{
        SendClientMessageToAll(0x33CCFFAA, HatedhMsgs[random(sizeof(HatedhMsgs))]);
        return 1;
}
stock PlayerName(playerid)
{
new Name[MAX_PLAYERS];
GetPlayerName(playerid, Name, sizeof(Name));
return Name;
}
public ClearChatbox(playerid, lines)
{
    if (IsPlayerConnected(playerid))
    {
        for(new i=0; i<lines; i++)
        {
            SendClientMessage(playerid, 0x33CCFFAA, " ");
        }
    }
    return 1;
}
stock strrest(const string[], &index)
{
    new length = strlen(string);
    while ((index < length) && (string[index] <= ' '))
    {
        index++;
    }
    new offset = index;
    new result[128];
    while ((index < length) && ((index - offset) < (sizeof(result) - 1)))
    {
        result[index - offset] = string[index];
        index++;
    }
    result[index - offset] = EOS;
    return result;
}
stock GetPlayerID(const Name[])
{
    for(new i; i<MAX_PLAYERS; i++)
    {
        if(IsPlayerConnected(i))
        {
            GetPlayerName(i, pName, sizeof(pName));
            if(strcmp(Name, pName, true)==0)
            {
                return i;
            }
        }
    }
    return -1;
}
* Crйditos :
Criador do FilterScript :
o_Hated
e crйditos tambйm aos criadores das Includes, que sгo desconhecidos por mim ;P
Reply
#2

cara esta include

pawn Код:
#include <DOF2>
n e usanda em nehuma funcao

podia ter colocado a dialog do estilo password
Reply
#3

Sim, e tem a Include Dof2 por que o meu New no Pawno jб vem com a Include <Dof2> e :
pawn Код:
public OnFilterScriptExit()
{
    DOF2_Exit();
    return 1;
}
Esqueci de tirar quando fiz a FS ...

Obrigado, crнticas sгo sempre bem vindas..
Reply
#4

bem

estas sao as includes que vc declarou:

pawn Код:
#include <a_samp>
#include <zcmd>
#include <sscanf>
#include <DOF2>
#include <Dini>
estas sao as includes que o script usa

pawn Код:
#include <a_samp>
#include <Dini>
e para so um comando que vc criou nao precisava ter usado o processador de comandos zcmd, pq so com 1 comando n ganha nada em usar-lo

e poderia ter feito uso da include DOF2 em vez da dini, pq DOF2 e mais eficiente e rapido que dini

# nao leve a mal e apenas pra vc melhorar para a proxima..
Reply
#5

Legal, sу nгo entendi o uso das text draw no login o.O

Mas parabйns, continue evoluindo
Reply
#6

Quote:
Originally Posted by PT
Посмотреть сообщение
bem

estas sao as includes que vc declarou:

pawn Код:
#include <a_samp>
#include <zcmd>
#include <sscanf>
#include <DOF2>
#include <Dini>
estas sao as includes que o script usa

pawn Код:
#include <a_samp>
#include <Dini>
e para so um comando que vc criou nao precisava ter usado o processador de comandos zcmd, pq so com 1 comando n ganha nada em usar-lo

e poderia ter feito uso da include DOF2 em vez da dini, pq DOF2 e mais eficiente e rapido que dini

# nao leve a mal e apenas pra vc melhorar para a proxima..
Ok, vlw pela dica e eu nгo botei umas Incs por que eu quis .. Meu New jб vem com essas Incs ae :
pawn Код:
#include <a_samp>
#include <zcmd> //Adicionando o ZCMD
#include <sscanf> //Adicionando o sscanf
#include <DOF2> //Adicionando o DOF2
Reply
#7

Quote:
Originally Posted by Juniiro3
Посмотреть сообщение
Legal, sу nгo entendi o uso das text draw no login o.O

Mas parabйns, continue evoluindo
Vlw, botei o Text draw por que algumas pessoas nгo sabem fazer .. se tiverem fazendo um servidor e usarem o meu sistema de Registro/Login jб vai ter um Text draw
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)