[Hướng Dẫn] Hệ thống đăng nhập, đăng ký by North Studio

namlunthklnamlunthkl Posts: 66Registered
edited August 2019 in Game Maker: Studio
Đây là bài đăng thứ 2 của mình trên forum mong các bạn ủng hộ
Mình đã bỏ ra 30 phút để viết xong cái tut này, xin đừng gạch :D
Account Engine V1 by North STUDIO

Phiên bản GM: GMS 1.4
Có thể áp dụng: GMS, GM8, GM 8.1
Hướng dẫn sử dụng:
Trong file trên gồm 4 function:
****************************************************
collision_mouse(Không liên quan tut):
return(collision_point(mouse_x,mouse_y,id,1,0))
****************************************************
login(đăng nhập):
Số Argument: 5
Argument0 : Tên file Data
Argument1 : Tên đăng nhập
Argument2 : Mật khẩu
Argument3 : Độ dài ngắn nhất của tên đăng nhập
Argument4 : Độ dài ngắn nhất của mật khẩu

///login(datafile,username,password,min_username_length,min_password_length)
/*
** Author:    Nguyen Anh Nhan
** Company:   North Studio
** Date:      2/18/2016 (MM/DD/YYYY)
*/
_f=argument0
_u=argument1
_p=argument2
_u=string_replace(string_lower(_u)," ","") // Bien chu hoa thanh chu thuong va loai bo khoang trong
_p=string_replace(string_lower(_p)," ","")// Bien chu hoa thanh chu thuong va loai bo khoang trong
ini_open(_f)
if (_u != "") && (_p != "")
{
    if (string_length(_u) < argument3) or (string_length(_p) < argument4)
    {
        return(0)
    }
    else
    {
        _u=md5_string_unicode(_u)
        _p=md5_string_unicode(_p)
        if ini_section_exists(_u)
        {
            if ini_read_string(_u,'pw','') = _p
            {
                return (1) // successful login
            }
            else
            {
                return (2) // wrong password
            }
        }
        else
        {
            return (3) // account desn't exists
        }
    }
}
else
{
    return(-1)
}
ini_close()
register(đăng ký):
Số Argument: 5
Argument0 : Tên file Data
Argument1 : Tên đăng nhập
Argument2 : Mật khẩu
Argument3 : Độ dài ngắn nhất của tên đăng nhập
Argument4 : Độ dài ngắn nhất của mật khẩu
///register(datafile,username,password,min_username_length,min_password_length)
/*
** Author:    Nguyen Anh Nhan
** Company:   North Studio
** Date:      2/18/2016 (MM/DD/YYYY)
*/
_f=argument0
_u=argument1
_p=argument2
_u=string_replace(string_lower(_u)," ","") // Bien chu hoa thanh chu thuong va loai bo khoang trong
_p=string_replace(string_lower(_p)," ","")// Bien chu hoa thanh chu thuong va loai bo khoang trong
if (_u != "") && (_p != "")
{
    if (string_width(_u) < argument3) or (string_width(_p) < argument4)
    {
        return(0)
    }
    else
    {
        _u=md5_string_unicode(_u)
        _p=md5_string_unicode(_p)
        ini_open(_f)
        if ini_section_exists(_u)
        {
            return(1) // account exists (error!)
        }
        else
        {
            ini_write_string(_u,"pw",_p)
            return(2) // successfully registered
        }
    }
}
else
{
    return(-1)
}
ini_close()
set_user_data(đặt giá trị cá nhân cho tài khoản):
Số Argument: 5
Argument0: Tên file Data
Argument1: Tên đăng nhập
Argument2: Tên biến để lưu vào
Argument3: Giá trị
Argument4: Nếu giá trị là chuỗi thì nhập 1 là số thì nhập 0 (True/False cũng được :D )
///set_user_data(datafile,username,var_name,data,is_string)
/*
** Author:    Nguyen Anh Nhan
** Company:   North Studio
** Date:      2/18/2016 (MM/DD/YYYY)
*/
_f=argument0
_u=argument1
_u=string_replace(string_lower(_u)," ","") // Bien chu hoa thanh chu thuong va loai bo khoang trong
ini_open(_f)
if (_u != "")
{
    if argument4 = true
    {
        ini_write_string(argument2,"value",argument3)
    }
    else
    {
        ini_write_string(argument2,"value",argument3)
    }
    return(1)
}
else
{
    return(-1)
}
ini_close()
get_user_data(lấy giá trị cá nhân cho tài khoản):
Số Argument: 4
Argument0: Tên file Data
Argument1: Tên đăng nhập
Argument2: Tên biến để lấy giá trị
Argument3: Nếu giá trị là chuỗi thì nhập 1 là số thì nhập 0 (True/False cũng được :D )
///get_user_data(datafile,username,var_name,is_string)
/*
** Author:    Nguyen Anh Nhan
** Company:   North Studio
** Date:      2/18/2016 (MM/DD/YYYY)
*/
_f=argument0
_u=argument1
_u=string_replace(string_lower(_u)," ","") // Bien chu hoa thanh chu thuong va loai bo khoang trong
ini_open(_f)
if (_u != "")
{
    if argument3 = true
    {
        return(ini_read_string(argument2,"value",1))
    }
    else
    {
        return(ini_read_real(argument2,"value",0))
    }
}
else
{
    return(-1)
}
ini_close()

Comments

Sign In or Register to comment.