I cant compile Register System plugin

Въпроси и проблеми свързани с AMXModX.
Аватар
lantimilan
Извън линия
Foreigner
Foreigner
Мнения: 424
Регистриран на: 29 Ное 2017, 22:49
Се отблагодари: 31 пъти
Получена благодарност: 3 пъти

I cant compile Register System plugin

Мнение от lantimilan » 26 Окт 2019, 19:42

Hello who can help me i cant compiled one plugin for system register this is :

Код за потвърждение: Избери целия код

#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
#include <fvault>

#define PLUGIN "System Register"
#define VERSION "1.3"
#define AUTHOR  "m0skVia"

new const g_fvault[ ] = "accounts"

new const g_button1[] = "buttons/button9.wav"
new const g_button2[] = "buttons/button2.wav"
new const g_button3[] = "buttons/button3.wav"
new const g_button4[] = "buttons/button10.wav"

enum _:TOTAL_FORWARDS {
	
	FW_USER_REGISTER,
	FW_USER_LOGGED,
	FW_USER_LOGGED_INVITED,
	FW_USER_ACCOUNT_DELETED
}

new g_Forwards[TOTAL_FORWARDS]
new g_ForwardResult

new g_logged[33], g_registered[33], g_invited[33]

new g_password[33], g_password_again[33]

new g_attempts[33], g_unlock[33], g_deleted_account[33]

new cvar_attempts, cvar_bantime, cvar_logintime, cvar_screenfade, cvar_min_characters, cvar_max_characters, cvar_invited, cvar_delete, cvar_sounds

new cvar_hud_normal_r, cvar_hud_normal_g, cvar_hud_normal_b

new cvar_hud_success_r, cvar_hud_success_g, cvar_hud_success_b

new cvar_hud_fail_r, cvar_hud_fail_g, cvar_hud_fail_b

new cvar_hud_effect, cvar_hud_effect_time, cvar_hud_time

new cvar_hud_position_x, cvar_hud_position_y

new cvar_screenfade_r, cvar_screenfade_g, cvar_screenfade_b

new g_screenfade

public plugin_init() {
	
	register_plugin(PLUGIN, VERSION, AUTHOR)
	
	register_cvar("registration_system", VERSION, FCVAR_SPONLY | FCVAR_SERVER)
	
	register_clcmd("chooseteam", "message_team")
	register_clcmd("jointeam", "message_team")
	register_clcmd("joinclass", "message_team")
	
	register_clcmd("ENTER_YOUR_PASSWORD", "cmd_password")
	register_clcmd("ENTER_YOUR_PASSWORD_AGAIN", "cmd_password_again")
	register_clcmd("ENTER_YOUR_PASSWORD_CURRENT", "cmd_password_current")
	
	register_clcmd("say", "commands")
	register_clcmd("say_team", "commands")
	
	register_dictionary("system-register.txt")
	
	register_forward(FM_ClientUserInfoChanged, "ClientUserInfoChanged")
	register_forward(FM_PlayerPreThink, "PlayerPreThink")
	
	cvar_min_characters = register_cvar("reg_min_characters", "5")
	cvar_max_characters = register_cvar("reg_max_characters", "20")
	cvar_attempts = register_cvar("reg_wrong_passowrd_limit", "3")
	cvar_bantime = register_cvar("reg_wrong_passowrd_ban_time", "5")
	
	cvar_logintime = register_cvar("reg_time_to_login", "60")
	
	cvar_screenfade = register_cvar("reg_screenfade", "1")
	cvar_invited = register_cvar("reg_invited", "1")
	cvar_delete = register_cvar("reg_delete", "1")
	cvar_sounds = register_cvar("reg_sounds", "1")
	
	cvar_hud_normal_r = register_cvar("reg_hud_normal_color_r", "0")
	cvar_hud_normal_g = register_cvar("reg_hud_normal_color_g", "255")
	cvar_hud_normal_b = register_cvar("reg_hud_normal_color_b", "0")
	
	cvar_hud_success_r = register_cvar("reg_hud_success_color_r", "0")
	cvar_hud_success_g = register_cvar("reg_hud_success_color_g", "0")
	cvar_hud_success_b = register_cvar("reg_hud_success_color_b", "255")
	
	cvar_hud_fail_r = register_cvar("reg_hud_fail_color_r", "255")
	cvar_hud_fail_g = register_cvar("reg_hud_fail_color_g", "0")
	cvar_hud_fail_b = register_cvar("reg_hud_fail_color_b", "0")
	
	cvar_hud_position_x = register_cvar("reg_hud_position_x", "0.02")
	cvar_hud_position_y = register_cvar("reg_hud_position_y", "0.20")
	
	cvar_hud_effect = register_cvar("reg_hud_effect", "0")
	cvar_hud_effect_time = register_cvar("reg_hud_effect_time", "5.0")
	
	cvar_hud_time = register_cvar("reg_hud_time", "10.0")
	
	cvar_screenfade_r = register_cvar("cvar_screenfade_color_r", "0")
	cvar_screenfade_g = register_cvar("cvar_screenfade_color_g", "0")
	cvar_screenfade_b = register_cvar("cvar_screenfade_color_b", "0")
	
	g_screenfade = get_user_msgid("ScreenFade")
	
	g_Forwards[FW_USER_REGISTER] = CreateMultiForward("reg_user_register", ET_IGNORE, FP_CELL)
	g_Forwards[FW_USER_LOGGED] = CreateMultiForward("reg_user_logged", ET_IGNORE, FP_CELL)
	g_Forwards[FW_USER_LOGGED_INVITED] = CreateMultiForward("reg_user_logged_invited", ET_IGNORE, FP_CELL)
	g_Forwards[FW_USER_ACCOUNT_DELETED] = CreateMultiForward("reg_user_account_deleted", ET_IGNORE, FP_CELL)
	
	new directory[64]
	get_configsdir(directory, charsmax(directory))
	server_cmd("exec %s/sistemi-regjistrimit.cfg", directory)
}

public plugin_natives() {
	
	register_native("reg_is_user_logged", "native_is_user_logged", 1)
	register_native("reg_is_user_registered", "native_is_user_registered", 1)
	register_native("reg_is_user_invited", "native_is_user_invited", 1)
}

public plugin_precache() {
	
	precache_sound(g_button1)
	precache_sound(g_button2)
	precache_sound(g_button3)
	precache_sound(g_button4)
}

public client_connect(id) {
	
	client_cmd(id, "setinfo ^"_vgui_menus^" ^"1^"")
}

public client_putinserver(id) {
	
	static szName[32], szData[64]
	get_user_name(id, szName, charsmax(szName))
	set_task(get_pcvar_float(cvar_logintime), "login_time", id)
	
	g_unlock[id] = true
	
	if(fvault_get_data(g_fvault, szName, szData, charsmax(szData))) {
		
		g_registered[id] = true
	}
}

public client_disconnect(id) {
	
	remove_task(id)
	g_logged[id] = false
	g_invited[id] = false
	g_unlock[id] = false
}

public message_team(id) {
	
	if(!g_logged[id] && !g_invited[id] && !is_user_bot(id) && !is_user_hltv(id)) {
		
		menu_account(id)
		return PLUGIN_HANDLED
	}
	return PLUGIN_CONTINUE
}

public ClientUserInfoChanged(id) { 
	
	static szOldName[32]
	pev(id, pev_netname, szOldName, charsmax(szOldName))
	
	if(szOldName[0]) {
		
		static const name[] = "name"
		static szNewName[32]
		get_user_info(id, name, szNewName, charsmax(szNewName))
		
		if(!equal(szOldName, szNewName)) {
			
			set_user_info(id, name, szOldName)
			return FMRES_HANDLED
		}
	}
	return FMRES_IGNORED
}

public menu_account(id) {
	
	new szMenu[512], szName[32]
	get_user_name(id, szName, charsmax(szName))
	
	formatex(szMenu, charsmax(szMenu), "\r%L^n^n\r%L\d: \w[\y%s\w]^n\r%L\d: \w[\y%L\w]", LANG_PLAYER, "MENU_ACCOUNT_TITLE", LANG_PLAYER, "MENU_ACCOUNT_NICK", szName, LANG_PLAYER, "MENU_ACCOUNT_STATUS", 
	LANG_PLAYER, g_invited[id] ? "MENU_ACCOUNT_INVITED" : g_logged[id] ? "MENU_ACCOUNT_LOGGED" : g_registered[id] ? "MENU_ACCOUNT_REGISTERED" : "MENU_ACCOUNT_NOT_REGISTERED")
	
	new Menu = menu_create(szMenu, "handler_menu_account")
	
	formatex(szMenu, charsmax(szMenu), "%s%L", g_logged[id] ? "\d" : g_registered[id] ? "\y" : "\d", LANG_PLAYER, "MENU_ACCOUNT_00")
	menu_additem(Menu, szMenu, "1", 0)
	
	formatex(szMenu, charsmax(szMenu), "%s%L^n", g_registered[id] ? "\d":"\r", LANG_PLAYER, "MENU_ACCOUNT_01")
	menu_additem(Menu, szMenu, "2", 0)
	
	formatex(szMenu, charsmax(szMenu), "%s%L", g_logged[id] ? "\w" : "\d", LANG_PLAYER, "MENU_ACCOUNT_02")
	menu_additem(Menu, szMenu, "3", 0)
	
	formatex(szMenu, charsmax(szMenu), "%s%L^n", !get_pcvar_num(cvar_delete) ? "\d" :g_logged[id] ? "\w" :  "\d", LANG_PLAYER, "MENU_ACCOUNT_03")
	menu_additem(Menu, szMenu, "4", 0)
	
	formatex(szMenu, charsmax(szMenu), "%s%L", g_registered[id] ? "\d" : !get_pcvar_num(cvar_invited) ? "\d" : g_invited[id] ? "\d" : "\y", LANG_PLAYER, "MENU_ACCOUNT_04")
	menu_additem(Menu, szMenu, "5", 0)
	
	formatex(szMenu, charsmax(szMenu), "%L", LANG_PLAYER, "MENU_ACCOUNT_EXIT")
	menu_setprop(Menu, MPROP_EXITNAME, szMenu)
	menu_display(id, Menu, 0)
}

public handler_menu_account(id, menu, item) {
	
	if(item == MENU_EXIT) {
		
		menu_destroy(menu)
		return PLUGIN_HANDLED
	}
	switch(item) {
		
		case 0: login(id)
			case 1: register(id)
			case 2: change(id)	
			case 3: delete_account(id) 
			case 4: invited(id)
		}
	return PLUGIN_HANDLED
}

public login(id) {
	
	if(g_logged[id]) {
		
		menu_account(id)
		set_hudmessage(get_pcvar_num(cvar_hud_fail_r), get_pcvar_num(cvar_hud_fail_g), get_pcvar_num(cvar_hud_fail_b), get_pcvar_float(cvar_hud_position_x), get_pcvar_float(cvar_hud_position_y), get_pcvar_num(cvar_hud_effect), get_pcvar_float(cvar_hud_effect_time), get_pcvar_float(cvar_hud_time))
		show_hudmessage(id, "%L", LANG_PLAYER, "MENU_ACCOUNT_CASE_00_A")
		client_print_color(id, "!g%L !t%L", LANG_PLAYER, "REG_PREFIX", LANG_PLAYER, "MENU_ACCOUNT_CASE_00_A")
		PlayEmitSound(id, g_button4)
	}
	else if(!g_registered[id]) {
		
		menu_account(id)
		set_hudmessage(get_pcvar_num(cvar_hud_fail_r), get_pcvar_num(cvar_hud_fail_g), get_pcvar_num(cvar_hud_fail_b), get_pcvar_float(cvar_hud_position_x), get_pcvar_float(cvar_hud_position_y), get_pcvar_num(cvar_hud_effect), get_pcvar_float(cvar_hud_effect_time), get_pcvar_float(cvar_hud_time))
		show_hudmessage(id, "%L", LANG_PLAYER, "MENU_ACCOUNT_CASE_00_B")
		client_print_color(id, "!g%L !t%L", LANG_PLAYER, "REG_PREFIX", LANG_PLAYER, "MENU_ACCOUNT_CASE_00_B")
		PlayEmitSound(id, g_button4)
	}
	else {
		
		client_cmd(id,"messagemode ENTER_YOUR_PASSWORD")
		set_hudmessage(get_pcvar_num(cvar_hud_normal_r), get_pcvar_num(cvar_hud_normal_g), get_pcvar_num(cvar_hud_normal_b), get_pcvar_float(cvar_hud_position_x), get_pcvar_float(cvar_hud_position_y), get_pcvar_num(cvar_hud_effect), get_pcvar_float(cvar_hud_effect_time), get_pcvar_float(cvar_hud_time))
		show_hudmessage(id, "%L", LANG_PLAYER, "MENU_ACCOUNT_CASE_00_C")
		client_print_color(id, "!g%L !t%L", LANG_PLAYER, "REG_PREFIX", LANG_PLAYER, "MENU_ACCOUNT_CASE_00_C")
		PlayEmitSound(id, g_button1)
		g_unlock[id] = false
	}
	return PLUGIN_HANDLED
}

public register(id) {
	
	if(g_registered[id]) {
		
		menu_account(id)
		set_hudmessage(get_pcvar_num(cvar_hud_fail_r), get_pcvar_num(cvar_hud_fail_g), get_pcvar_num(cvar_hud_fail_b), get_pcvar_float(cvar_hud_position_x), get_pcvar_float(cvar_hud_position_y), get_pcvar_num(cvar_hud_effect), get_pcvar_float(cvar_hud_effect_time), get_pcvar_float(cvar_hud_time))
		show_hudmessage(id, "%L", LANG_PLAYER, "MENU_ACCOUNT_CASE_01_A")
		client_print_color(id, "!g%L !t%L", LANG_PLAYER, "REG_PREFIX", LANG_PLAYER, "MENU_ACCOUNT_CASE_01_A")
		PlayEmitSound(id, g_button4)
	}
	else {
		
		client_cmd(id,"messagemode ENTER_YOUR_PASSWORD")
		set_hudmessage(get_pcvar_num(cvar_hud_normal_r), get_pcvar_num(cvar_hud_normal_g), get_pcvar_num(cvar_hud_normal_b), get_pcvar_float(cvar_hud_position_x), get_pcvar_float(cvar_hud_position_y), get_pcvar_num(cvar_hud_effect), get_pcvar_float(cvar_hud_effect_time), get_pcvar_float(cvar_hud_time))
		show_hudmessage(id, "%L", LANG_PLAYER, "MENU_ACCOUNT_CASE_01_B")
		client_print_color(id, "!g%L !t%L", LANG_PLAYER, "REG_PREFIX", LANG_PLAYER, "MENU_ACCOUNT_CASE_01_B")
		PlayEmitSound(id, g_button1)
		g_unlock[id] = false
	}
	return PLUGIN_HANDLED
}

public change(id) {
	
	if(!g_logged[id]) {
		
		menu_account(id)
		set_hudmessage(get_pcvar_num(cvar_hud_fail_r), get_pcvar_num(cvar_hud_fail_g), get_pcvar_num(cvar_hud_fail_b), get_pcvar_float(cvar_hud_position_x), get_pcvar_float(cvar_hud_position_y), get_pcvar_num(cvar_hud_effect), get_pcvar_float(cvar_hud_effect_time), get_pcvar_float(cvar_hud_time))
		show_hudmessage(id, "%L", LANG_PLAYER, "MENU_ACCOUNT_CASE_02_A")
		client_print_color(id, "!g%L !t%L", LANG_PLAYER, "REG_PREFIX", LANG_PLAYER, "MENU_ACCOUNT_CASE_02_A")
		PlayEmitSound(id, g_button4)
	}
	else {
		
		client_cmd(id,"messagemode ENTER_YOUR_PASSWORD_CURRENT")
		set_hudmessage(get_pcvar_num(cvar_hud_normal_r), get_pcvar_num(cvar_hud_normal_g), get_pcvar_num(cvar_hud_normal_b), get_pcvar_float(cvar_hud_position_x), get_pcvar_float(cvar_hud_position_y), get_pcvar_num(cvar_hud_effect), get_pcvar_float(cvar_hud_effect_time), get_pcvar_float(cvar_hud_time))
		show_hudmessage(id, "%L", LANG_PLAYER, "MENU_ACCOUNT_CASE_02_B")
		client_print_color(id, "!g%L !t%L", LANG_PLAYER, "REG_PREFIX", LANG_PLAYER, "MENU_ACCOUNT_CASE_02_B")
		PlayEmitSound(id, g_button1)
		g_unlock[id] = false
	}
	return PLUGIN_HANDLED
}

public delete_account(id) {
	
	if(!g_logged[id]) {
		
		menu_account(id)
		set_hudmessage(get_pcvar_num(cvar_hud_fail_r), get_pcvar_num(cvar_hud_fail_g), get_pcvar_num(cvar_hud_fail_b), get_pcvar_float(cvar_hud_position_x), get_pcvar_float(cvar_hud_position_y), get_pcvar_num(cvar_hud_effect), get_pcvar_float(cvar_hud_effect_time), get_pcvar_float(cvar_hud_time))
		show_hudmessage(id, "%L", LANG_PLAYER, "MENU_ACCOUNT_CASE_03_A")
		client_print_color(id, "!g%L !t%L", LANG_PLAYER, "REG_PREFIX", LANG_PLAYER, "MENU_ACCOUNT_CASE_03_A")
		PlayEmitSound(id, g_button4)
	}
	else if(!get_pcvar_num(cvar_delete)) {
		
		menu_account(id)
		set_hudmessage(get_pcvar_num(cvar_hud_fail_r), get_pcvar_num(cvar_hud_fail_g), get_pcvar_num(cvar_hud_fail_b), get_pcvar_float(cvar_hud_position_x), get_pcvar_float(cvar_hud_position_y), get_pcvar_num(cvar_hud_effect), get_pcvar_float(cvar_hud_effect_time), get_pcvar_float(cvar_hud_time))
		show_hudmessage(id, "%L", LANG_PLAYER, "MENU_ACCOUNT_CASE_03_C")
		client_print_color(id, "!g%L !t%L", LANG_PLAYER, "REG_PREFIX", LANG_PLAYER, "MENU_ACCOUNT_CASE_03_C")
		PlayEmitSound(id, g_button4)
	}
	else {
		
		client_cmd(id,"messagemode ENTER_YOUR_PASSWORD_CURRENT")
		set_hudmessage(get_pcvar_num(cvar_hud_normal_r), get_pcvar_num(cvar_hud_normal_g), get_pcvar_num(cvar_hud_normal_b), get_pcvar_float(cvar_hud_position_x), get_pcvar_float(cvar_hud_position_y), get_pcvar_num(cvar_hud_effect), get_pcvar_float(cvar_hud_effect_time), get_pcvar_float(cvar_hud_time))
		show_hudmessage(id, "%L", LANG_PLAYER, "MENU_ACCOUNT_CASE_03_B")
		client_print_color(id, "!g%L !t%L", LANG_PLAYER, "REG_PREFIX", LANG_PLAYER, "MENU_ACCOUNT_CASE_03_B")
		PlayEmitSound(id, g_button1)
		g_unlock[id] = false
		g_deleted_account[id] = true
	}
	return PLUGIN_HANDLED
}

public invited(id) {
	
	new szName[32]
	get_user_name(id, szName, charsmax(szName))
	
	if(!get_pcvar_num(cvar_invited)) {
		
		menu_account(id)
		set_hudmessage(get_pcvar_num(cvar_hud_fail_r), get_pcvar_num(cvar_hud_fail_g), get_pcvar_num(cvar_hud_fail_b), get_pcvar_float(cvar_hud_position_x), get_pcvar_float(cvar_hud_position_y), get_pcvar_num(cvar_hud_effect), get_pcvar_float(cvar_hud_effect_time), get_pcvar_float(cvar_hud_time))
		show_hudmessage(id, "%L", LANG_PLAYER, "MENU_ACCOUNT_CASE_04_D")
		client_print_color(id, "!g%L !t%L", LANG_PLAYER, "REG_PREFIX", LANG_PLAYER, "MENU_ACCOUNT_CASE_04_D")
		PlayEmitSound(id, g_button4)
	}	
	if(g_registered[id]) {
		
		menu_account(id)
		set_hudmessage(get_pcvar_num(cvar_hud_fail_r), get_pcvar_num(cvar_hud_fail_g), get_pcvar_num(cvar_hud_fail_b), get_pcvar_float(cvar_hud_position_x), get_pcvar_float(cvar_hud_position_y), get_pcvar_num(cvar_hud_effect), get_pcvar_float(cvar_hud_effect_time), get_pcvar_float(cvar_hud_time))
		show_hudmessage(id, "%L", LANG_PLAYER, "MENU_ACCOUNT_CASE_04_A")
		client_print_color(id, "!g%L !t%L", LANG_PLAYER, "REG_PREFIX", LANG_PLAYER, "MENU_ACCOUNT_CASE_04_A")
		PlayEmitSound(id, g_button4)
	}
	else if(g_invited[id]) {
		
		menu_account(id)
		set_hudmessage(get_pcvar_num(cvar_hud_fail_r), get_pcvar_num(cvar_hud_fail_g), get_pcvar_num(cvar_hud_fail_b), get_pcvar_float(cvar_hud_position_x), get_pcvar_float(cvar_hud_position_y), get_pcvar_num(cvar_hud_effect), get_pcvar_float(cvar_hud_effect_time), get_pcvar_float(cvar_hud_time))
		show_hudmessage(id, "%L", LANG_PLAYER, "MENU_ACCOUNT_CASE_04_B")
		client_print_color(id, "!g%L !t%L", LANG_PLAYER, "REG_PREFIX", LANG_PLAYER, "MENU_ACCOUNT_CASE_04_B")
		PlayEmitSound(id, g_button4)
	}
	else {
		
		client_cmd(id, "jointeam")
		set_hudmessage(get_pcvar_num(cvar_hud_success_r), get_pcvar_num(cvar_hud_success_g), get_pcvar_num(cvar_hud_success_b), get_pcvar_float(cvar_hud_position_x), get_pcvar_float(cvar_hud_position_y), get_pcvar_num(cvar_hud_effect), get_pcvar_float(cvar_hud_effect_time), get_pcvar_float(cvar_hud_time))
		show_hudmessage(id, "%L", LANG_PLAYER, "MENU_ACCOUNT_CASE_04_C")
		client_print_color(id, "!g%L !t%L", LANG_PLAYER, "REG_PREFIX", LANG_PLAYER, "MENU_ACCOUNT_CASE_04_C")
		ExecuteForward(g_Forwards[FW_USER_LOGGED_INVITED], g_ForwardResult, id)
		PlayEmitSound(id, g_button1)
		g_invited[id] = true
	}
	return PLUGIN_HANDLED
}

public cmd_password(id) {
	
	if(g_unlock[id]) return PLUGIN_HANDLED
	
	new szName[32], szData[64]
	get_user_name(id, szName, charsmax(szName))
	fvault_get_data(g_fvault, szName, szData, charsmax(szData))		
	
	read_args(g_password[id], 50)
	remove_quotes(g_password[id])
	trim(g_password[id])
	
	g_unlock[id] = true
	
	if(!characters(g_password[id], strlen(g_password[id]))) {
		
		menu_account(id)		
		set_hudmessage(get_pcvar_num(cvar_hud_fail_r), get_pcvar_num(cvar_hud_fail_g), get_pcvar_num(cvar_hud_fail_b), get_pcvar_float(cvar_hud_position_x), get_pcvar_float(cvar_hud_position_y), get_pcvar_num(cvar_hud_effect), get_pcvar_float(cvar_hud_effect_time), get_pcvar_float(cvar_hud_time))
		show_hudmessage(id, "%L", LANG_PLAYER, "CMD_PASSWORD_00")
		client_print_color(id, "!g%L !t%L", LANG_PLAYER, "REG_PREFIX", LANG_PLAYER, "CMD_PASSWORD_00")
		PlayEmitSound(id, g_button2)
	}
	else if(strlen(g_password[id]) < get_pcvar_num(cvar_min_characters)) {
		
		menu_account(id)
		set_hudmessage(get_pcvar_num(cvar_hud_fail_r), get_pcvar_num(cvar_hud_fail_g), get_pcvar_num(cvar_hud_fail_b), get_pcvar_float(cvar_hud_position_x), get_pcvar_float(cvar_hud_position_y), get_pcvar_num(cvar_hud_effect), get_pcvar_float(cvar_hud_effect_time), get_pcvar_float(cvar_hud_time))
		show_hudmessage(id, "%L", LANG_PLAYER, "CMD_PASSWORD_01", get_pcvar_num(cvar_min_characters))
		client_print_color(id, "!g%L !t%L", LANG_PLAYER, "REG_PREFIX", LANG_PLAYER, "CMD_PASSWORD_01", get_pcvar_num(cvar_min_characters))
		PlayEmitSound(id, g_button2)
	}
	else if(strlen(g_password[id]) > get_pcvar_num(cvar_max_characters)) {
		
		menu_account(id)
		set_hudmessage(get_pcvar_num(cvar_hud_fail_r), get_pcvar_num(cvar_hud_fail_g), get_pcvar_num(cvar_hud_fail_b), get_pcvar_float(cvar_hud_position_x), get_pcvar_float(cvar_hud_position_y), get_pcvar_num(cvar_hud_effect), get_pcvar_float(cvar_hud_effect_time), get_pcvar_float(cvar_hud_time))
		show_hudmessage(id, "%L", LANG_PLAYER, "CMD_PASSWORD_02", get_pcvar_num(cvar_max_characters))
		client_print_color(id, "!g%L !t%L", LANG_PLAYER, "REG_PREFIX", LANG_PLAYER, "CMD_PASSWORD_02", get_pcvar_num(cvar_max_characters))
		PlayEmitSound(id, g_button2)
	}
	else if(equal(g_password[id], szName[id])) {
		
		menu_account(id)
		set_hudmessage(get_pcvar_num(cvar_hud_fail_r), get_pcvar_num(cvar_hud_fail_g), get_pcvar_num(cvar_hud_fail_b), get_pcvar_float(cvar_hud_position_x), get_pcvar_float(cvar_hud_position_y), get_pcvar_num(cvar_hud_effect), get_pcvar_float(cvar_hud_effect_time), get_pcvar_float(cvar_hud_time))
		show_hudmessage(id, "%L", LANG_PLAYER, "CMD_PASSWORD_03")
		client_print_color(id, "!g%L !t%L", LANG_PLAYER, "REG_PREFIX", LANG_PLAYER, "CMD_PASSWORD_03")
		PlayEmitSound(id, g_button2)
	}
	else if(g_logged[id]) {
		
		if(!equal(szData, g_password[id])) {
			
			client_cmd(id,"messagemode ENTER_YOUR_PASSWORD_AGAIN")
			set_hudmessage(get_pcvar_num(cvar_hud_normal_r), get_pcvar_num(cvar_hud_normal_g), get_pcvar_num(cvar_hud_normal_b), get_pcvar_float(cvar_hud_position_x), get_pcvar_float(cvar_hud_position_y), get_pcvar_num(cvar_hud_effect), get_pcvar_float(cvar_hud_effect_time), get_pcvar_float(cvar_hud_time))
			show_hudmessage(id, "%L", LANG_PLAYER, "CMD_PASSWORD_04")
			client_print_color(id, "!g%L !t%L", LANG_PLAYER, "REG_PREFIX", LANG_PLAYER, "CMD_PASSWORD_04")
			PlayEmitSound(id, g_button3)
			g_unlock[id] = false
		}
		else {
			
			menu_account(id)
			set_hudmessage(get_pcvar_num(cvar_hud_fail_r), get_pcvar_num(cvar_hud_fail_g), get_pcvar_num(cvar_hud_fail_b), get_pcvar_float(cvar_hud_position_x), get_pcvar_float(cvar_hud_position_y), get_pcvar_num(cvar_hud_effect), get_pcvar_float(cvar_hud_effect_time), get_pcvar_float(cvar_hud_time))
			show_hudmessage(id, "%L", LANG_PLAYER, "CMD_PASSWORD_05")
			client_print_color(id, "!g%L !t%L", LANG_PLAYER, "REG_PREFIX", LANG_PLAYER, "CMD_PASSWORD_05")
			PlayEmitSound(id, g_button2)
		}
	}
	else if(!g_registered[id]) {
		
		client_cmd(id,"messagemode ENTER_YOUR_PASSWORD_AGAIN")
		set_hudmessage(get_pcvar_num(cvar_hud_normal_r), get_pcvar_num(cvar_hud_normal_g), get_pcvar_num(cvar_hud_normal_b), get_pcvar_float(cvar_hud_position_x), get_pcvar_float(cvar_hud_position_y), get_pcvar_num(cvar_hud_effect), get_pcvar_float(cvar_hud_effect_time), get_pcvar_float(cvar_hud_time))
		show_hudmessage(id, "%L", LANG_PLAYER, "CMD_PASSWORD_06")
		client_print_color(id, "!g%L !t%L", LANG_PLAYER, "REG_PREFIX", LANG_PLAYER, "CMD_PASSWORD_06")
		PlayEmitSound(id, g_button3)
		g_unlock[id] = false
	}
	else {
		
		if(equal(szData, g_password[id])) {
			
			remove_task(id)
			client_cmd(id, "jointeam")
			set_hudmessage(get_pcvar_num(cvar_hud_success_r), get_pcvar_num(cvar_hud_success_g), get_pcvar_num(cvar_hud_success_b), get_pcvar_float(cvar_hud_position_x), get_pcvar_float(cvar_hud_position_y), get_pcvar_num(cvar_hud_effect), get_pcvar_float(cvar_hud_effect_time), get_pcvar_float(cvar_hud_time))
			show_hudmessage(id, "%L", LANG_PLAYER, "CMD_PASSWORD_07")
			client_print_color(id, "!g%L !t%L", LANG_PLAYER, "REG_PREFIX", LANG_PLAYER, "CMD_PASSWORD_07")			
			ExecuteForward(g_Forwards[FW_USER_LOGGED], g_ForwardResult, id)
			PlayEmitSound(id, g_button3)
			g_logged[id] = true
			g_attempts[id] = 0
		}
		else {
			
			wrong_password(id)
		}
	}
	return PLUGIN_HANDLED
}

public cmd_password_again(id) {
	
	if(g_unlock[id]) return PLUGIN_HANDLED
	
	read_args(g_password_again[id], 50)
	remove_quotes(g_password_again[id])
	trim(g_password_again[id])
	
	g_unlock[id] = true
	
	if(!equal(g_password[id], g_password_again[id])) {
		
		menu_account(id)
		set_hudmessage(get_pcvar_num(cvar_hud_fail_r), get_pcvar_num(cvar_hud_fail_g), get_pcvar_num(cvar_hud_fail_b), get_pcvar_float(cvar_hud_position_x), get_pcvar_float(cvar_hud_position_y), get_pcvar_num(cvar_hud_effect), get_pcvar_float(cvar_hud_effect_time), get_pcvar_float(cvar_hud_time))
		show_hudmessage(id, "%L", LANG_PLAYER, "CMD_PASSOWORD_AGAIN_00")
		client_print_color(id, "!g%L !t%L", LANG_PLAYER, "REG_PREFIX", LANG_PLAYER, "CMD_PASSOWORD_AGAIN_00")
		PlayEmitSound(id, g_button2)
	}
	else if(!g_registered[id]) {
		
		menu_end_register(id)
		set_hudmessage(get_pcvar_num(cvar_hud_normal_r), get_pcvar_num(cvar_hud_normal_g), get_pcvar_num(cvar_hud_normal_b), get_pcvar_float(cvar_hud_position_x), get_pcvar_float(cvar_hud_position_y), get_pcvar_num(cvar_hud_effect), get_pcvar_float(cvar_hud_effect_time), get_pcvar_float(cvar_hud_time))
		show_hudmessage(id, "%L", LANG_PLAYER, "CMD_PASSOWORD_AGAIN_01")
		client_print_color(id, "!g%L !t%L", LANG_PLAYER, "REG_PREFIX", LANG_PLAYER, "CMD_PASSOWORD_AGAIN_01")
		PlayEmitSound(id, g_button3)
	}
	else {
		
		menu_change_password(id)
		set_hudmessage(get_pcvar_num(cvar_hud_normal_r), get_pcvar_num(cvar_hud_normal_g), get_pcvar_num(cvar_hud_normal_b), get_pcvar_float(cvar_hud_position_x), get_pcvar_float(cvar_hud_position_y), get_pcvar_num(cvar_hud_effect), get_pcvar_float(cvar_hud_effect_time), get_pcvar_float(cvar_hud_time))
		show_hudmessage(id, "%L", LANG_PLAYER, "CMD_PASSOWORD_AGAIN_02")
		client_print_color(id, "!g%L !t%L", LANG_PLAYER, "REG_PREFIX", LANG_PLAYER, "CMD_PASSOWORD_AGAIN_02")	
		PlayEmitSound(id, g_button3)
	}
	return PLUGIN_HANDLED
}

public cmd_password_current(id) {
	
	if(g_unlock[id]) return PLUGIN_HANDLED
	
	new szName[32], szData[64]
	get_user_name(id, szName, charsmax(szName))
	fvault_get_data(g_fvault, szName, szData, charsmax(szData))		
	
	read_args(g_password[id], 50)
	remove_quotes(g_password[id])
	trim(g_password[id])
	
	g_unlock[id] = true
	
	if(equal(szData, g_password[id])) {
		
		if(g_deleted_account[id]) {
			
			menu_delete_account(id)
			PlayEmitSound(id, g_button3)
			g_unlock[id] = false
			g_deleted_account[id] = false
		}
		else {
			
			client_cmd(id,"messagemode ENTER_YOUR_PASSWORD")
			set_hudmessage(get_pcvar_num(cvar_hud_normal_r), get_pcvar_num(cvar_hud_normal_g), get_pcvar_num(cvar_hud_normal_b), get_pcvar_float(cvar_hud_position_x), get_pcvar_float(cvar_hud_position_y), get_pcvar_num(cvar_hud_effect), get_pcvar_float(cvar_hud_effect_time), get_pcvar_float(cvar_hud_time))
			show_hudmessage(id, "%L", LANG_PLAYER, "CMD_PASSWORD_CURRENT_00")
			client_print_color(id, "!g%L !t%L", LANG_PLAYER, "REG_PREFIX", LANG_PLAYER, "CMD_PASSWORD_CURRENT_00")	
			PlayEmitSound(id, g_button3)
			g_unlock[id] = false
		}
	}
	else {
		
		wrong_password(id)
	}
	return PLUGIN_HANDLED
}

public menu_end_register(id) {
	
	new szMenu[512], szName[32]
	get_user_name(id, szName, charsmax(szName))
	
	formatex(szMenu, charsmax(szMenu), "\r%L^n^n\y%L: \r[\d%s\r]^n\y%L: \r[\d%s\r]", LANG_PLAYER, "MENU_END_REGISTER_TITLE", LANG_PLAYER, "MENU_END_REGISTER_NICK", szName, LANG_PLAYER, "MENU_END_REGISTER_PASSWORD", g_password_again[id])
	
	new Menu = menu_create(szMenu, "handler_menu_end_register")
	
	formatex(szMenu, charsmax(szMenu), "%L", LANG_PLAYER, "MENU_END_REGISTER_00")
	menu_additem(Menu, szMenu, "1", 0)
	
	formatex(szMenu, charsmax(szMenu), "%L^n", LANG_PLAYER, "MENU_END_REGISTER_01")
	menu_additem(Menu, szMenu, "2", 0)
	
	formatex(szMenu, charsmax(szMenu), "%L", LANG_PLAYER, "MENU_END_REGISTER_02")
	menu_additem(Menu, szMenu, "3", 0)
	
	menu_setprop(Menu, MPROP_EXIT, MEXIT_NEVER)
	menu_display(id, Menu, 0)
}

public handler_menu_end_register(id, menu, item) {
	
	if(item == MENU_EXIT) {
		
		menu_destroy(menu)
		return PLUGIN_HANDLED
	}
	switch(item) {
		
		case 0: end_register(id)
			case 1: register(id)
			case 2: {
			
			menu_account(id)
			PlayEmitSound(id, g_button1)
		}
	}
	return PLUGIN_HANDLED
}

public end_register(id) {
	
	new szName[32]
	get_user_name(id, szName, charsmax(szName))
	
	fvault_set_data(g_fvault, szName, g_password_again[id])
	
	set_hudmessage(get_pcvar_num(cvar_hud_success_r), get_pcvar_num(cvar_hud_success_g), get_pcvar_num(cvar_hud_success_b), get_pcvar_float(cvar_hud_position_x), get_pcvar_float(cvar_hud_position_y), get_pcvar_num(cvar_hud_effect), get_pcvar_float(cvar_hud_effect_time), get_pcvar_float(cvar_hud_time))
	show_hudmessage(id, "%L", LANG_PLAYER, "MENU_END_REGISTER_CASE_00_A")
	client_print_color(id, "!g%L !t%L", LANG_PLAYER, "REG_PREFIX", LANG_PLAYER, "MENU_END_REGISTER_CASE_00_A")	
	client_print_color(id, "!g%L !t%L: !y[!g %s !y] !t%L: !y[!g %s !y]", LANG_PLAYER, "REG_PREFIX", LANG_PLAYER, "MENU_END_REGISTER_CASE_00_B_NICK", szName, LANG_PLAYER, "MENU_END_REGISTER_CASE_00_B_PASSOWORD", g_password_again[id])
	remove_task(id)
	PlayEmitSound(id, g_button1)
	ExecuteForward(g_Forwards[FW_USER_REGISTER], g_ForwardResult, id)
	g_registered[id] = true
	
	if(g_invited[id]) {
		
		g_invited[id] = false; g_logged[id] = true
		ExecuteForward(g_Forwards[FW_USER_LOGGED], g_ForwardResult, id)
	}
	menu_account(id)
}

public menu_change_password(id) {
	
	new szMenu[512], szName[32]
	get_user_name(id, szName, charsmax(szName))
	
	formatex(szMenu, 127, "\r%L^n^n\r%L: \d[\y%s\d]^n\r%L: \d[\y%s\d]", LANG_PLAYER, "MENU_CHANGE_PASSWORD_TITLE", LANG_PLAYER, "MENU_CHANGE_PASSWORD_NICK", szName, LANG_PLAYER, "MENU_CHANGE_PASSWORD_PASSWORD", g_password_again[id])
	
	new Menu = menu_create(szMenu,"handler_menu_change_password")
	
	formatex(szMenu, charsmax(szMenu), "%L", LANG_PLAYER, "MENU_CHANGE_PASSWORD_00")
	menu_additem(Menu, szMenu, "1", 0)
	
	formatex(szMenu, charsmax(szMenu), "%L^n", LANG_PLAYER, "MENU_CHANGE_PASSWORD_01")
	menu_additem(Menu, szMenu, "2", 0)
	
	formatex(szMenu, charsmax(szMenu), "%L", LANG_PLAYER, "MENU_CHANGE_PASSWORD_02")
	menu_additem(Menu, szMenu, "3", 0)
	
	menu_setprop(Menu, MPROP_EXIT, MEXIT_NEVER)
	menu_display(id, Menu, 0)
}

public handler_menu_change_password(id, menu, item) {
	
	if(item == MENU_EXIT) {
		
		menu_destroy(menu)
		return PLUGIN_HANDLED
	}
	switch(item) {
		
		case 0: replaced_password(id)
			case 1: change(id)
			case 2: {
			
			menu_account(id)
			PlayEmitSound(id, g_button1)
		}
	}
	return PLUGIN_HANDLED
}

public replaced_password(id) {
	
	new szName[32]
	get_user_name(id, szName, charsmax(szName))
	fvault_set_data(g_fvault, szName, g_password_again[id])
	
	set_hudmessage(get_pcvar_num(cvar_hud_success_r), get_pcvar_num(cvar_hud_success_g), get_pcvar_num(cvar_hud_success_b), get_pcvar_float(cvar_hud_position_x), get_pcvar_float(cvar_hud_position_y), get_pcvar_num(cvar_hud_effect), get_pcvar_float(cvar_hud_effect_time), get_pcvar_float(cvar_hud_time))
	show_hudmessage(id, "%L", LANG_PLAYER, "MENU_CHANGE_PASSWORD_CASE_00_A")
	client_print_color(id, "!g%L !t%L", LANG_PLAYER, "REG_PREFIX", LANG_PLAYER, "MENU_CHANGE_PASSWORD_CASE_00_A")	
	client_print_color(id, "!g%L !t%L: !y[!g %s !y]", LANG_PLAYER, "REG_PREFIX", LANG_PLAYER, "MENU_CHANGE_PASSWORD_CASE_00_B_PASSWORD", g_password_again[id])
	PlayEmitSound(id, g_button1)
	g_attempts[id] = 0
}

public menu_delete_account(id) {
	
	new szMenu[512]
	
	formatex(szMenu, 127, "\r%L", LANG_PLAYER, "MENU_DELETED_ACCOUNT_TITLE")
	
	new Menu = menu_create(szMenu,"handler_menu_delete_account")
	
	formatex(szMenu, charsmax(szMenu), "%L", LANG_PLAYER, "MENU_DELETED_ACCOUNT_00")
	menu_additem(Menu, szMenu, "1", 0)
	
	formatex(szMenu, charsmax(szMenu), "\y%L", LANG_PLAYER, "MENU_DELETED_ACCOUNT_01")
	menu_additem(Menu, szMenu, "2",0)
	
	menu_setprop(Menu, MPROP_EXIT, MEXIT_NEVER)
	menu_display(id, Menu, 0)
}

public handler_menu_delete_account(id, menu, item) {
	
	if(item == MENU_EXIT) {
		
		menu_destroy(menu)
		return PLUGIN_HANDLED
	}
	switch(item) {
		
		case 0: account_deleted(id)
			case 1: {
			
			menu_account(id)
			PlayEmitSound(id, g_button1)
		}
	}
	return PLUGIN_HANDLED
}

public account_deleted(id) {
	
	new szName[32]
	get_user_name(id, szName, charsmax(szName))
	
	fvault_remove_key(g_fvault, szName)
	
	ExecuteForward(g_Forwards[FW_USER_ACCOUNT_DELETED], g_ForwardResult, id)
	
	client_print(id, print_console, "----------------------------------------")
	client_print(id, print_console, "----- %L -------", LANG_PLAYER, "MENU_DELETED_ACCOUNT_CASE_00")
	client_print(id, print_console, "----------------------------------------")	
	client_cmd(id, "disconnect")
	client_cmd(id, "toggleconsole")	
}

public wrong_password(id) {
	
	g_attempts[id]++
	if(g_attempts[id] >= get_pcvar_num(cvar_attempts)) {
		
		server_cmd("amx_banip #%i %i ^"%L^"", get_user_userid(id), get_pcvar_num(cvar_bantime), LANG_PLAYER, "WRONG_PASSWORD_00", get_pcvar_num(cvar_bantime))
		remove_task(id)
		g_attempts[id] = 0
	}
	else {
		
		menu_account(id)
		set_hudmessage(get_pcvar_num(cvar_hud_fail_r), get_pcvar_num(cvar_hud_fail_g), get_pcvar_num(cvar_hud_fail_b), get_pcvar_float(cvar_hud_position_x), get_pcvar_float(cvar_hud_position_y), get_pcvar_num(cvar_hud_effect), get_pcvar_float(cvar_hud_effect_time), get_pcvar_float(cvar_hud_time))
		show_hudmessage(id,"%L [ %d / %d ]", LANG_PLAYER, "WRONG_PASSWORD_01", g_attempts[id], get_pcvar_num(cvar_attempts))
		client_print_color(id, "!g%L !t%L !y[!g %d !y/!g %d !y]", LANG_PLAYER, "REG_PREFIX", LANG_PLAYER, "WRONG_PASSWORD_01", g_attempts[id], get_pcvar_num(cvar_attempts))
		PlayEmitSound(id, g_button2)
	}
}

public login_time(id) {
	
	new szName[32]
	get_user_name(id, szName, charsmax(szName))
	
	if(!g_logged[id] && !g_invited[id] && !is_user_hltv(id) && !is_user_bot(id)) {
		
		client_print(id, print_console, "----------------------------------------")
		client_print(id, print_console, "%L",LANG_PLAYER, "LOGIN_TIME_00", szName)
		client_print(id, print_console, "%L", LANG_PLAYER, "LOGIN_TIME_01")
		client_print(id, print_console, "%L", LANG_PLAYER, "LOGIN_TIME_02")
		client_print(id, print_console, "%L", LANG_PLAYER, "LOGIN_TIME_04", get_pcvar_num(cvar_logintime))
		client_print(id, print_console, "----------------------------------------")
		client_print_color(0, "!g%L !y%s !t%L !t", LANG_PLAYER, "REG_PREFIX", szName, LANG_PLAYER, "LOGIN_TIME_04")
		client_cmd(id, "disconnect")
		client_cmd(id, "toggleconsole")
	}
}

public PlayerPreThink(id) {
	
	if(!g_logged[id] && !g_invited[id] && !is_user_bot(id) && !is_user_hltv(id) && get_pcvar_num(cvar_screenfade)) {
		
		message_begin(MSG_ONE_UNRELIABLE, g_screenfade, {0,0,0}, id)
		write_short(1<<12)
		write_short(1<<12)
		write_short(0x0000)
		write_byte(get_pcvar_num(cvar_screenfade_r))
		write_byte(get_pcvar_num(cvar_screenfade_g))
		write_byte(get_pcvar_num(cvar_screenfade_b))
		write_byte(255)
		message_end()		
	}
}

public commands(id) {
	
	new text[70], arg1[32], arg2[32], arg3[6]
	read_args(text, sizeof(text) - 1)
	remove_quotes(text)
	arg1[0] = '^0'; arg2[0] = '^0'; arg3[0] = '^0'
	parse(text, arg1, sizeof(arg1) - 1, arg2, sizeof(arg2) - 1, arg3, sizeof(arg3) - 1)
	
	if(equali(arg1, "/", 1) || equali(arg1, ".", 1)) format(arg1, 31, arg1[1])
	
	if(arg3[0]) return PLUGIN_CONTINUE
	
	if(equali(arg1, "registro") || equali(arg1, "register") || equali(arg1, "conta") || equali(arg1, "account")) {
		
		menu_account(id)
	}
	return PLUGIN_CONTINUE
}

public native_is_user_logged(id) {
	
	if(!is_user_connected(id))
		return 0
	
	return g_logged[id]
}

public native_is_user_registered(id) {
	
	if(!is_user_connected(id))
		return 0
	
	return g_registered[id]
}

public native_is_user_invited(id) {
	
	if(!is_user_connected(id))
		return 0
	
	return g_invited[id]
}

PlayEmitSound(id, const sound[]) {
	
	if(get_pcvar_num(cvar_sounds)) {
		
		client_cmd(id, "spk %s", sound)
	}
}

bool:characters(const symbol[], len) {
	
	new const valid_chars[][] = {
		
		"0", "1", "2", "3", "4","5", "6", "7", "8", "9",
		"a", "b", "c", "d", "e", "f", "g", "h", "i", "j",
		"k", "l", "m", "n", "o", "p", "q", "r", "s", "t",
		"u", "v", "w", "x", "y", "z"
	}
	static i, a, valids;
	valids = 0
	
	for(i = 0; i < len; i++) {
		
		for(a = 0; a < sizeof(valid_chars); a++) {
			
			if(symbol[i] == valid_chars[a][0]) {
				
				valids++
				break
			}
		}
	}
	if(valids != len)
		return false
	return true
}

stock client_print_color(const id, const input[], any:...) {
	
	new count = 1, players[32]
	static msg[191]
	vformat(msg, 190, input, 3)
	
	replace_all(msg, 190, "!g", "^4")
	replace_all(msg, 190, "!y", "^1")
	replace_all(msg, 190, "!t", "^3")
	replace_all(msg, 190, "!team2", "^0")
	
	if (id)
		players[0] = id
	else
		get_players(players, count, "ch")
	
	for (new i = 0; i < count; i++) {
		
		if (is_user_connected(players[i])) {
			
			message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i])
			write_byte(players[i])
			write_string(msg)
			message_end()
		}
	}
}
Последно промяна от OciXCrom на 26 Окт 2019, 21:03, променено общо 2 пъти.
Причина: Moved to help section and fixed title.

Аватар
OciXCrom
Извън линия
Администратор
Администратор
Мнения: 7206
Регистриран на: 06 Окт 2016, 19:20
Местоположение: /resetscore
Се отблагодари: 117 пъти
Получена благодарност: 1295 пъти
Обратна връзка:

I cant compile Register System plugin

Мнение от OciXCrom » 26 Окт 2019, 21:06

Add this:

Код за потвърждение: Избери целия код

#define client_print_color client_print_color2

Аватар
lantimilan
Извън линия
Foreigner
Foreigner
Мнения: 424
Регистриран на: 29 Ное 2017, 22:49
Се отблагодари: 31 пъти
Получена благодарност: 3 пъти

I cant compile Register System plugin

Мнение от lantimilan » 26 Окт 2019, 23:28

Thank you very much OciXCrom, you can closed topic

Заключено
  • Подобни теми
    Отговори
    Преглеждания
     Последно мнение

Обратно към “Поддръжка / Помощ”

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 18 госта