Raised This Month: $32 Target: $400
 8% 

save password?


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
popilas
Senior Member
Join Date: Apr 2017
Location: lituanica
Old 11-20-2020 , 13:17   save password?
Reply With Quote #1

Hello, maybe who can do when you register and just write /savepass the password save. When next time dont need write password again or without writing setinfo "csgopass" "pw"
PHP Code:
#include <amxmodx>




    
playerData[id][FAILS] = 0;

    
rem_bit(iddataLoaded);
    
rem_bit(idautoLogin);

    if (
is_user_bot(id) || is_user_hltv(id)) return;


}

public 
kick_player(id)
{
    
id -= TASK_PASSWORD;

    if (!
is_user_connected(id)) return;

    new 
info[64];

    
formatex(infocharsmax(info), "%L"id"CSGO_ACCOUNTS_TIMEOUT"loginMaxTime);

    
server_cmd("kick #%d ^"%s^""get_user_userid(id), info);
}

public 
block_movement(id)
{
    if (!
blockMovement || !is_user_alive(id) || playerData[id][STATUS] >= LOGGED) return HAM_IGNORED;

    
set_user_maxspeed(id0.1);

    return 
HAM_IGNORED;
}

public 
account_menu(id)
{
    if (!
is_user_connected(id) || !is_user_valid(id)) return PLUGIN_HANDLED;

    if (!
get_bit(iddataLoaded)) {
        
remove_task(id);

        
set_task(1.0"account_menu"id);

        return 
PLUGIN_HANDLED;
    }

    if (
playerData[id][STATUS] <= NOT_LOGGED && !task_exists(id TASK_PASSWORD)) {
        
set_task(float(loginMaxTime), "kick_player"id TASK_PASSWORD);
    }

    new 
menuData[256], title[128];

    switch (
playerData[id][STATUS]) {
        case 
NOT_REGISTEREDformatex(titlecharsmax(title), "%L"id"CSGO_ACCOUNTS_STATUS_NOT_REGISTERED");
        case 
NOT_LOGGEDformatex(titlecharsmax(title), "%L"id"CSGO_ACCOUNTS_STATUS_NOT_LOGGED_IN");
        case 
LOGGEDformatex(titlecharsmax(title), "%L"id"CSGO_ACCOUNTS_STATUS_LOGGED_IN");
        case 
GUESTformatex(titlecharsmax(title), "%L"id"CSGO_ACCOUNTS_STATUS_GUEST");
    }

    
formatex(menuDatacharsmax(menuData), "%L"id"CSGO_ACCOUNTS_MENU_TITLE"playerData[id][NAME], title);

    if ((
playerData[id][STATUS] == NOT_LOGGED || playerData[id][STATUS] == LOGGED) && !get_bit(idautoLogin)) {
        
format(menuDatacharsmax(menuData), "%L"id"CSGO_ACCOUNTS_MENU_INFO"menuDatasetinfo);
    }

    new 
menu menu_create(menuData"account_menu_handle"), callback menu_makecallback("account_menu_callback");

    
formatex(titlecharsmax(title), "%L"id"CSGO_ACCOUNTS_LOGIN");
    
menu_additem(menutitle__callback);

    
formatex(titlecharsmax(title), "%L"id"CSGO_ACCOUNTS_REGISTRATION");
    
menu_additem(menutitle__callback);

    
formatex(titlecharsmax(title), "%L"id"CSGO_ACCOUNTS_PASSWORD_CHANGE");
    
menu_additem(menutitle__callback);

    
formatex(titlecharsmax(title), "%L"id"CSGO_ACCOUNTS_DELETE");
    
menu_additem(menutitle__callback);

    
formatex(titlecharsmax(title), "%L"id"CSGO_ACCOUNTS_LOGIN_GUEST");
    
menu_additem(menutitle__callback);

    if (
playerData[id][STATUS] >= LOGGED) {
        
formatex(titlecharsmax(title), "%L"id"CSGO_MENU_EXIT");

        
menu_setprop(menuMPROP_EXITNAMEtitle);
    } else {
        
menu_setprop(menuMPROP_EXITMEXIT_NEVER);
    }

    
menu_display(idmenu);

    return 
PLUGIN_HANDLED;
}

public 
account_menu_callback(idmenuitem)
{
    switch (
item) {
        case 
0: return playerData[id][STATUS] == NOT_LOGGED ITEM_ENABLED ITEM_DISABLED;
        case 
1: return (playerData[id][STATUS] == NOT_REGISTERED || playerData[id][STATUS] == GUEST) ? ITEM_ENABLED ITEM_DISABLED;
        case 
23: return playerData[id][STATUS] == LOGGED ITEM_ENABLED ITEM_DISABLED;
        case 
4: return playerData[id][STATUS] == NOT_REGISTERED ITEM_ENABLED ITEM_DISABLED;
    }

    return 
ITEM_ENABLED;
}

public 
account_menu_handle(idmenuitem)
{
    if (!
is_user_connected(id)) return PLUGIN_HANDLED;

    if (
item == MENU_EXIT) {
        
menu_destroy(menu);

        return 
PLUGIN_HANDLED;
    }

    switch (
item) {
        case 
0: {
            
client_print_color(idid"^4[CS:GO]^1 %L"id"CSGO_ACCOUNTS_LOGIN_PASSWORD");

            
set_hudmessage(25512800.240.0700.03.50.00.0);
            
show_hudmessage(id"%L"id"CSGO_ACCOUNTS_HUD_LOGIN_PASSWORD");

            
client_cmd(id"messagemode ENTER_YOUR_PASSWORD");
        } case 
1: {
            
client_print_color(idid"^4[CS:GO]^1 %L"id"CSGO_ACCOUNTS_SELECT_PASSWORD");

            
set_hudmessage(25512800.240.0700.03.50.00.0);
            
show_hudmessage(id"%L"id"CSGO_ACCOUNTS_HUD_LOGIN_PASSWORD");

            
client_cmd(id"messagemode ENTER_SELECTED_PASSWORD");

            
remove_task(id TASK_PASSWORD);
        } case 
2: {
            
client_print_color(idid"^4[CS:GO]^1 %L"id"CSGO_ACCOUNTS_ENTER_CURRENT_PASSWORD");

            
set_hudmessage(25512800.220.0700.03.50.00.0);
            
show_hudmessage(id"%L"id"CSGO_ACCOUNTS_HUD_ENTER_CURRENT_PASSWORD");

            
client_cmd(id"messagemode ENTER_CURRENT_PASSWORD");
        } case 
3: {
            
client_print_color(idid"^4[CS:GO]^1 %L"id"CSGO_ACCOUNTS_ENTER_CURRENT_PASSWORD");

            
set_hudmessage(25512800.220.0700.03.50.00.0);
            
show_hudmessage(id"%L"id"CSGO_ACCOUNTS_HUD_ENTER_CURRENT_PASSWORD");

            
client_cmd(id"messagemode ENTER_YOUR_CURRENT_PASSWORD");
        } case 
4: {
            
client_print_color(idid"^4[CS:GO]^1 %L"id"CSGO_ACCOUNTS_REGISTER_TO");

            
set_hudmessage(02550, -1.00.900.03.50.00.0);
            
show_hudmessage(id"%L"id"CSGO_ACCOUNTS_HUD_REGISTER_TO");

            
remove_task(id TASK_PASSWORD);

            
playerData[id][STATUS] = GUEST;

            if (
is_user_alive(id)) {
                
ExecuteHamB(Ham_CS_Player_ResetMaxSpeedid);
            }

            new 
ret;

            
ExecuteForward(loginForwardretid);
        }
    }

    
menu_destroy(menu);

    return 
PLUGIN_HANDLED;
}

public 
login_account(id)
{
    if (
playerData[id][STATUS] != NOT_LOGGED || !get_bit(iddataLoaded)) return PLUGIN_HANDLED;

    new 
password[32];

    
read_args(passwordcharsmax(password));

    
remove_quotes(password);

    if (!
equal(playerData[id][PASSWORD], password)) {
        if (++
playerData[id][FAILS] >= passwordMaxFails) {
            new 
info[64];

            
formatex(infocharsmax(info), "%L"id"CSGO_ACCOUNTS_INVALID_PASSWORD");

            
server_cmd("kick #%d ^"%s^""info);

            return 
PLUGIN_HANDLED;
        }

        
client_print_color(idid"^4[CS:GO]^1 %L"id"CSGO_ACCOUNTS_WRONG_PASSWORD"playerData[id][FAILS], passwordMaxFails);

        
set_hudmessage(255000.240.0700.03.50.00.0);

        
show_hudmessage(id"%L"id"CSGO_ACCOUNTS_HUD_WRONG_PASSWORD");

        
account_menu(id);

        return 
PLUGIN_HANDLED;
    }

    
playerData[id][STATUS] = LOGGED;
    
playerData[id][FAILS] = 0;

    
remove_task(id TASK_PASSWORD);

    if (
is_user_alive(id)) {
        
ExecuteHamB(Ham_CS_Player_ResetMaxSpeedid);
    }

    new 
ret;

    
ExecuteForward(loginForwardretid);

    
client_print_color(idid"^4[CS:GO]^1 %L"id"CSGO_ACCOUNTS_LOGIN_SUCCESS");

    
set_hudmessage(025500.240.0700.03.50.00.0);
    
show_hudmessage(id"%L"id"CSGO_ACCOUNTS_HUD_LOGIN_SUCCESS");

    return 
PLUGIN_HANDLED;
}

public 
register_step_one(id)
{
    if ((
playerData[id][STATUS] != NOT_REGISTERED && playerData[id][STATUS] != GUEST) || !get_bit(iddataLoaded)) return PLUGIN_HANDLED;

    new 
password[32];

    
read_args(passwordcharsmax(password));
    
remove_quotes(password);

    if (
strlen(password) < passwordMinLength) {
        
client_print_color(idid"^4[CS:GO]^1 %L"id"CSGO_ACCOUNTS_MIN_LENGTH"passwordMinLength);

        
set_hudmessage(255000.240.0700.03.50.00.0);
        
show_hudmessage(id"%L"id"CSGO_ACCOUNTS_HUD_MIN_LENGTH"passwordMinLength);

        
account_menu(id);

        return 
PLUGIN_HANDLED;
    }

    
copy(playerData[id][TEMP_PASSWORD], charsmax(playerData[][TEMP_PASSWORD]), password);

    
client_print_color(idid"^4[CS:GO]^1 %L"id"CSGO_ACCOUNTS_REPEAT_PASSWORD");

    
set_hudmessage(25512800.240.0700.03.50.00.0);
    
show_hudmessage(id"%L"id"CSGO_ACCOUNTS_HUD_REPEAT_PASSWORD");

    
client_cmd(id"messagemode REPEAT_SELECTED_PASSWORD");

    return 
PLUGIN_HANDLED;
}

public 
register_step_two(id)
{
    if ((
playerData[id][STATUS] != NOT_REGISTERED && playerData[id][STATUS] != GUEST) || !get_bit(iddataLoaded)) return PLUGIN_HANDLED;

    new 
password[32];

    
read_args(passwordcharsmax(password));
    
remove_quotes(password);

    if (!
equal(passwordplayerData[id][TEMP_PASSWORD])) {
        
client_print_color(idid"^4[CS:GO]^1 %L"id"CSGO_ACCOUNTS_PASSWORD_DIFFER");

        
set_hudmessage(255000.240.0700.03.50.00.0);
        
show_hudmessage(id"%L"id"CSGO_ACCOUNTS_HUD_PASSWORD_DIFFER");

        
account_menu(id);

        return 
PLUGIN_HANDLED;
    }

    new 
menuData[192], title[64];

    
formatex(menuDatacharsmax(menuData), "%L"id"CSGO_ACCOUNTS_REGISTER_CONFIRM_TITLE"playerData[id][NAME], playerData[id][TEMP_PASSWORD]);

    new 
menu menu_create(menuData"register_confirmation_handle");

    
formatex(titlecharsmax(title), "%L"id"CSGO_ACCOUNTS_REGISTER_CONFIRM");
    
menu_additem(menutitle);

    
formatex(titlecharsmax(title), "%L"id"CSGO_ACCOUNTS_REGISTER_CHANGE_PASSWORD");
    
menu_additem(menutitle);

    
formatex(titlecharsmax(title), "%L"id"CSGO_ACCOUNTS_REGISTER_CANCEL");
    
menu_additem(menutitle);

    
menu_setprop(menuMPROP_EXITMEXIT_NEVER);

    
menu_display(idmenu);

    return 
PLUGIN_HANDLED;
}

public 
register_confirmation_handle(idmenuitem)
{
    if (!
is_user_connected(id)) return PLUGIN_HANDLED;

    if (
item == MENU_EXIT) {
        
menu_destroy(menu);

        return 
PLUGIN_HANDLED;
    }

    
menu_destroy(menu);

    switch (
item) {
        case 
0: {
            
playerData[id][STATUS] = LOGGED;

            
copy(playerData[id][PASSWORD], charsmax(playerData[][PASSWORD]), playerData[id][TEMP_PASSWORD]);

            
account_query(idINSERT);

            if (
is_user_alive(id)) {
                
ExecuteHamB(Ham_CS_Player_ResetMaxSpeedid);
            }

            new 
ret;

            
ExecuteForward(loginForwardretid);

            
set_hudmessage(02550, -1.00.900.03.50.00.0);
            
show_hudmessage(id"%L"id"CSGO_ACCOUNTS_HUD_REGISTER_SUCCESS");

            
client_print_color(idid"^4[CS:GO]^1 %L"id"CSGO_ACCOUNTS_REGISTER_SUCCESS");
            
client_print_color(idid"^4[CS:GO]^1 %L"id"CSGO_ACCOUNTS_SETINFO_HELP"setinfoplayerData[id][PASSWORD]);

            
cmd_execute(id"setinfo _%s %s"setinfoplayerData[id][PASSWORD]);
            
cmd_execute(id"writecfg %s"setinfo);
        } case 
1: {
            
client_print_color(idid"^4[CS:GO]^1 %L"id"CSGO_ACCOUNTS_REGISTER_STARTED");

            
set_hudmessage(25512800.240.0700.03.50.00.0);
            
show_hudmessage(id"%L"id"CSGO_ACCOUNTS_HUD_REGISTER_STARTED");

            
client_cmd(id"messagemode ENTER_SELECTED_PASSWORD");
        } case 
2: {
            
account_menu(id);
        }
    }

    return 
PLUGIN_HANDLED;
}

public 
change_step_one(id)
{
    if (
playerData[id][STATUS] != LOGGED || !get_bit(iddataLoaded)) return PLUGIN_HANDLED;

    new 
password[32];

    
read_args(passwordcharsmax(password));
    
remove_quotes(password);

    if (!
equal(playerData[id][PASSWORD], password)) {
        if (++
playerData[id][FAILS] >= passwordMaxFails) {
            new 
info[64];

            
formatex(infocharsmax(info), "%L"id"CSGO_ACCOUNTS_INVALID_PASSWORD");

            
server_cmd("kick #%d ^"%s^""info);

            return 
PLUGIN_HANDLED;
        }

        
client_print_color(idid"^4[CS:GO]^1 %L"id"CSGO_ACCOUNTS_WRONG_PASSWORD"playerData[id][FAILS], passwordMaxFails);

        
set_hudmessage(255000.240.0700.03.50.00.0);
        
show_hudmessage(id"%L"id"CSGO_ACCOUNTS_HUD_WRONG_PASSWORD");

        
account_menu(id);

        return 
PLUGIN_HANDLED;
    }

    
client_print_color(idid"^4[CS:GO]^1 %L"id"CSGO_ACCOUNTS_ENTER_NEW_PASSWORD");

    
set_hudmessage(25512800.240.0700.03.50.00.0);
    
show_hudmessage(id"%L"id"CSGO_ACCOUNTS_HUD_ENTER_NEW_PASSWORD");

    
client_cmd(id"messagemode ENTER_NEW_PASSWORD");

    return 
PLUGIN_HANDLED;
}

public 
change_step_two(id)
{
    if (
playerData[id][STATUS] != LOGGED || !get_bit(iddataLoaded)) return PLUGIN_HANDLED;

    new 
password[32];

    
read_args(passwordcharsmax(password));
    
remove_quotes(password);

    if (
equal(playerData[id][PASSWORD], password)) {
        
client_print_color(idid"^4[CS:GO]^1 %L"id"CSGO_ACCOUNTS_NEW_MATCHES_OLD");

        
set_hudmessage(255000.240.0700.03.50.00.0);
        
show_hudmessage(id"%L"id"CSGO_ACCOUNTS_HUD_NEW_MATCHES_OLD");

        
account_menu(id);

        return 
PLUGIN_HANDLED;
    }

    if (
strlen(password) < passwordMinLength) {
        
client_print_color(idid"^4[CS:GO]^1 %L"id"CSGO_ACCOUNTS_NEW_MIN_LENGTH"passwordMinLength);

        
set_hudmessage(255000.240.0700.03.50.00.0);
        
show_hudmessage(id"%L"id"CSGO_ACCOUNTS_HUD_NEW_MIN_LENGTH"passwordMinLength);

        
account_menu(id);

        return 
PLUGIN_HANDLED;
    }

    
copy(playerData[id][TEMP_PASSWORD], charsmax(playerData[][TEMP_PASSWORD]), password);

    
client_print_color(idid"^4[CS:GO]^1 %L"id"CSGO_ACCOUNTS_REPEAT_NEW_PASSWORD");

    
set_hudmessage(25512800.240.0700.03.50.00.0);
    
show_hudmessage(id"%L"id"CSGO_ACCOUNTS_HUD_REPEAT_NEW_PASSWORD");

    
client_cmd(id"messagemode REPEAT_NEW_PASSWORD");

    return 
PLUGIN_HANDLED;
}

public 
change_step_three(id)
{
    if (
playerData[id][STATUS] != LOGGED || !get_bit(iddataLoaded)) return PLUGIN_HANDLED;

    new 
password[32];

    
read_args(passwordcharsmax(password));
    
remove_quotes(password);

    if (!
equal(passwordplayerData[id][TEMP_PASSWORD])) {
        
client_print_color(idid"^4[CS:GO]^1 %L"id"CSGO_ACCOUNTS_PASSWORD_DIFFER");

        
set_hudmessage(255000.240.0700.03.50.00.0);
        
show_hudmessage(id"%L"id"CSGO_ACCOUNTS_HUD_PASSWORD_DIFFER");

        
account_menu(id);

        return 
PLUGIN_HANDLED;
    }

    
copy(playerData[id][PASSWORD], charsmax(playerData[][PASSWORD]), password);

    
account_query(idUPDATE);

    
set_hudmessage(025500.240.0700.03.50.00.0);
    
show_hudmessage(id"%L"id"CSGO_ACCOUNTS_HUD_PASSWORD_CHANGE_SUCCESS");

    
client_print_color(idid"^4[CS:GO]^1 %L"id"CSGO_ACCOUNTS_PASSWORD_CHANGE_SUCCESS");
    
client_print_color(idid"^4[CS:GO]^1 %L"id"CSGO_ACCOUNTS_SETINFO_HELP"setinfoplayerData[id][PASSWORD]);

    
cmd_execute(id"setinfo _%s %s"setinfoplayerData[id][PASSWORD]);
    
cmd_execute(id"writecfg %s"setinfo);

    return 
PLUGIN_HANDLED;
}

public 
delete_account(id)
{
    if (
playerData[id][STATUS] != LOGGED || !get_bit(iddataLoaded)) return PLUGIN_HANDLED;

    new 
password[32];

    
read_args(passwordcharsmax(password));
    
remove_quotes(password);

    if (!
equal(playerData[id][PASSWORD], password)) {
        if (++
playerData[id][FAILS] >= passwordMaxFails) {
            new 
info[64];

            
formatex(infocharsmax(info), "%L"id"CSGO_ACCOUNTS_INVALID_PASSWORD");

            
server_cmd("kick #%d ^"%s^""info);

            return 
PLUGIN_HANDLED;
        }

        
client_print_color(idid"^4[CS:GO]^1 %L"id"CSGO_ACCOUNTS_WRONG_PASSWORD"playerData[id][FAILS], passwordMaxFails);

        
set_hudmessage(255000.240.0700.03.50.00.0);
        
show_hudmessage(id"%L"id"CSGO_ACCOUNTS_HUD_WRONG_PASSWORD");

        
account_menu(id);

        return 
PLUGIN_HANDLED;
    }

    new 
menuData[128], title[32];

    
formatex(menuDatacharsmax(menuData), "%L"id"CSGO_ACCOUNTS_DELETE");

    new 
menu menu_create(menuData"delete_account_handle");

    
formatex(titlecharsmax(title), "\r%L"id"CSGO_MENU_YES");
    
menu_additem(menutitle);

    
formatex(titlecharsmax(title), "\w%L"id"CSGO_MENU_NO");
    
menu_additem(menutitle);

    
formatex(titlecharsmax(title), "%L"id"CSGO_MENU_EXIT");
    
menu_setprop(menuMPROP_EXITNAMEtitle);

    
menu_display(idmenu);

    return 
PLUGIN_HANDLED;
}

public 
delete_account_handle(idmenuitem)
{
    if (!
is_user_connected(id)) return PLUGIN_HANDLED;

    if (
item == MENU_EXIT || item) {
        
menu_destroy(menu);

        return 
PLUGIN_HANDLED;
    }

    
menu_destroy(menu);

    
account_query(idDELETE);

    new 
info[128];

    
console_print(id"==================================");
    
console_print(id"==========%L=========="id"CSGO_ACCOUNTS_CONSOLE_TITLE");
    
console_print(id"              %L"id"CSGO_ACCOUNTS_CONSOLE_INFO"playerData[id][NAME]);
    
console_print(id"==================================");

    
formatex(infocharsmax(info), "%L"id"CSGO_ACCOUNTS_DELETED");

    
server_cmd("kick #%d ^"%s^""get_user_userid(id), info);

    return 
PLUGIN_CONTINUE;
}

public 
sql_init()
{
    new 
host[64], user[64], pass[64], db[64], queryData[128], error[128], errorNum;

    
get_cvar_string("csgo_sql_host"hostcharsmax(host));
    
get_cvar_string("csgo_sql_user"usercharsmax(user));
    
get_cvar_string("csgo_sql_pass"passcharsmax(pass));
    
get_cvar_string("csgo_sql_db"dbcharsmax(db));

    
sql SQL_MakeDbTuple(hostuserpassdb);

    new 
Handle:connectHandle SQL_Connect(sqlerrorNumerrorcharsmax(error));

    if (
errorNum) {
        
log_to_file("csgo-error.log""[CS:GO Accounts] Init SQL Error: %s (%i)"errorerrorNum);

        return;
    }

    
formatex(queryDatacharsmax(queryData), "CREATE TABLE IF NOT EXISTS `csgo_accounts` (`name` VARCHAR(64), `pass` VARCHAR(32), PRIMARY KEY(`name`));");

    new 
Handle:query SQL_PrepareQuery(connectHandlequeryData);

    
SQL_Execute(query);

    
SQL_FreeHandle(query);
    
SQL_FreeHandle(connectHandle);

    
sqlConnected true;
}

public 
load_account(id)
{
    
id -= TASK_LOAD;

    if (!
sqlConnected) {
        
set_task(1.0"load_account"id TASK_LOAD);

        return;
    }

    new 
queryData[128], tempId[1];

    
tempId[0] = id;

    
formatex(queryDatacharsmax(queryData), "SELECT * FROM `csgo_accounts` WHERE name = ^"%s^""playerData[id][SAFE_NAME]);

    
SQL_ThreadQuery(sql"load_account_handle"queryDatatempIdsizeof(tempId));
}

public 
load_account_handle(failStateHandle:queryerror[], errorNumtempId[], dataSize)
{
    new 
id tempId[0];

    if (
failState) {
        
log_to_file("csgo-error.log""[CS:GO Accounts] SQL Error: %s (%d)"errorerrorNum);

        return;
    }

    if (
SQL_MoreResults(query)) {
        
SQL_ReadResult(querySQL_FieldNameToNum(query"pass"), playerData[id][PASSWORD], charsmax(playerData[][PASSWORD]));

        if (
playerData[id][PASSWORD][0]) {
            new 
password[32], info[32];

            
formatex(infocharsmax(info), "_%s"setinfo);

            
cmd_execute(id"exec %s.cfg"setinfo);

            
get_user_info(idinfopasswordcharsmax(password));

            if (
equal(playerData[id][PASSWORD], password)) {
                
playerData[id][STATUS] = LOGGED;

                
set_bit(idautoLogin);

                new 
ret;

                
ExecuteForward(loginForwardretid);
            } else {
                
playerData[id][STATUS] = NOT_LOGGED;
            }

            
cmd_execute(id"exec config.cfg");
        }
    }

    
set_bit(iddataLoaded);
}

public 
account_query(idtype)
{
    if (!
is_user_connected(id)) return;

    new 
queryData[128], password[32];

    
mysql_escape_string(playerData[id][PASSWORD], passwordcharsmax(password));

    switch (
type) {
        case 
INSERTformatex(queryDatacharsmax(queryData), "INSERT INTO `csgo_accounts` VALUES (^"%s^", '%s')"playerData[id][SAFE_NAME], password);
        case 
UPDATEformatex(queryDatacharsmax(queryData), "UPDATE `csgo_accounts` SET pass = '%s' WHERE name = ^"%s^""passwordplayerData[id][SAFE_NAME]);
        case 
DELETEformatex(queryDatacharsmax(queryData), "DELETE FROM `csgo_accounts` WHERE name = ^"%s^""playerData[id][SAFE_NAME]);
    }

    
SQL_ThreadQuery(sql"ignore_handle"queryData);
}

public 
ignore_handle(failStateHandle:queryerror[], errorNumdata[], dataSize)
{
    if (
failState) {
        if (
failState == TQUERY_CONNECT_FAILEDlog_to_file("csgo-error.log""[CS:GO Accounts] Could not connect to SQL database. [%d] %s"errorNumerror);
        else if (
failState == TQUERY_QUERY_FAILEDlog_to_file("csgo-error.log""[CS:GO Accounts] Query failed. [%d] %s"errorNumerror);
    }

    return 
PLUGIN_CONTINUE;
}

public 
_csgo_check_account(id)
{
    if (
sql == Empty_Handle) {
        
client_print_color(idid"^4[CS:GO]^1 %L"id"CSGO_ACCOUNTS_DATABASE_ERROR");

        return 
false;
    } else if (
playerData[id][STATUS] < LOGGED) {
        
client_print_color(idid"^4[CS:GO]^1 %L"id"CSGO_ACCOUNTS_LOGIN_FIRST");

        
account_menu(id);

        return 
false;
    }

    return 
true;

maybe

register_clcmd("say /savepass", "SavePassword");
public SavePassword(id)
{
if(!Loged[id])
{
if(!gRegistered[id])
{
client_print_color(id, print_team_default, "%L", LANG_PLAYER, "NEED_REGISTER_1", Prefix);
client_print_color(id, print_team_default, "%L", LANG_PLAYER, "NEED_REGISTER_2", Prefix);
} else {
client_print_color(id, print_team_default, "%L", LANG_PLAYER, "LOGIN_FIRST", Prefix);
}
return PLUGIN_HANDLED;
}

or best. thanks.

Last edited by popilas; 11-21-2020 at 05:07.
popilas is offline
fysiks
Veteran Member
Join Date: Sep 2007
Location: Flatland, USA
Old 11-20-2020 , 21:07   Re: save password?
Reply With Quote #2

The only way to do something like this (identify a player without a password) is to use the player's SteamID. In the forward client_authorized(), you read their SteamID with get_user_authid() and then check to see if they are registered. If they are, call whatever functions required to set the proper values for your plugin's functionality.
__________________
fysiks is offline
popilas
Senior Member
Join Date: Apr 2017
Location: lituanica
Old 11-21-2020 , 05:07   Re: save password?
Reply With Quote #3

Quote:
Originally Posted by fysiks View Post
The only way to do something like this (identify a player without a password) is to use the player's SteamID. In the forward client_authorized(), you read their SteamID with get_user_authid() and then check to see if they are registered. If they are, call whatever functions required to set the proper values for your plugin's functionality.
hmm i think steam id its be better thanks.
popilas is offline
Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 23:15.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode