Tạo Trò Chơi - [Tut ]Hệ thống đăng nhập, đăng ký by North Studio

Tạo Trò Chơi

Phiên bản đầy đủ: [Tut ]Hệ thống đăng nhập, đăng ký by North Studio
Bạn đang xem phiên bản rút gọn. Xem phiên bản đầy đủ với định dạng thích hợp.
Đây là bài đăng thứ 2 của mình trên forum mong các bạn ủng hộ Smile
Mình đã bỏ ra 30 phút để viết xong cái tut này, xin đừng gạch Big Grin
Account Engine V1 by North STUDIO


Phiên bản GM: GMS 1.4
Có thể áp dụng: GMS, GM8, GM 8.1
Link tải: Bấm vào đây
Hướng dẫn sử dụng:
Trong file trên gồm 4 function:
****************************************************
collision_mouse(Không liên quan tut):
Code:
return(collision_point(mouse_x,mouse_y,id,1,0))
****************************************************
login(đăng nhập):
Code:
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
Code:
///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ý):
Code:
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
Code:
///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):
Code:
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 )
Code:
///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):
Code:
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 )
Code:
///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()
Không ai quan tâm lắm nhỉ Sad
Mọi người thường là làm game offline, nên hệ thống đăng nhập và đăng ký có vẻ ít ai có thể sử dụng lắm Tongue
ủng hộ bác Big Grin
Tuyệt Big Grin lâu lâu có mấy Tut chất ghê
Code hoàn chỉnh chưa ? mình đọc không hiểu lắm, những hàm như "ini_section_exists" hay "ini_write_string" là gms có sẵn cho hay sau đó mình phải viết thêm hàm như vậy ?
Không làm game online nhưng cũng ủng hộ bác
(19-02-2016, 01:01 PM)Black Face Đã viết: [ -> ]Code hoàn chỉnh chưa ? mình đọc không hiểu lắm, những hàm như "ini_section_exists" hay "ini_write_string" là gms có sẵn cho hay sau đó mình phải viết thêm hàm như vậy ?
nó có sẵn bạn à. Ở trên mình cũng upload 1 example rồi đó bạn!
(19-02-2016, 10:30 AM)Quang Trần Đã viết: [ -> ]Tuyệt Big Grin lâu lâu có mấy Tut chất ghê
Cảm ơn bạn! Big Grin Ủng hộ để mình có thêm nhiều tut Smile