#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
#include <hamsandwich>
#include <cstrike>
#include <fun>
#include <ava_weapon>
#define PLUGIN "AVA character"
#define AUTHOR "Bui Duc Duy"
#define VERSION "1.0"
#define g_option_foder "addons/ava_mod/user"
enum
{
line_info,
line_rifles1,
line_rifles2,
line_rifles3,
line_rifles4,
line_sniper1,
line_sniper2,
line_sniper3,
line_sniper4,
line_point1,
line_point2,
line_point3,
line_point4
}
enum
{
ID_NONE,
ID_RIFLES_MAN_EU,
ID_SNIPER_MAN_EU,
ID_POINT_MAN_EU,
ID_RIFLES_MAN_NRF,
ID_SNIPER_MAN_NRF,
ID_POINT_MAN_NRF
}
new const g_model[][] = {"","Rifles_Man_EU","Sniper_Man_EU","Point_Man_EU","Rifles_Man_NRF","Sniper_Man_NRF","Point_Man_NRF"}
new bool:g_hamczbots, cvar_botquota
new bool:g_is_get_data_wpn[33]
new g_user_rifles_man[33][5][128], g_user_sniper_man[33][5][128], g_user_point_man[33][5][128]
new g_user_classid[33]
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
RegisterHam(Ham_Respawn, "player", "Ham_respawm_post", 1)
cvar_botquota = get_cvar_pointer("bot_quota")
}
/* MAIN FUNCTIOn -------------------------------------------------------------------------------------
*
*
* -------------------------------------------------------------------------------------------------------*/
public Ham_respawm_post(id)
{
if (!is_user_connected(id))
return;
client_print(id, print_chat, "It is RUN") // --> No message
strip_user_weapons(id) // No strip Weapon
give_item(id, "weapon_knife")
func_set_player_model(id) // Chỉ chạy với BOT mới nhục !!!!
if (task_exists(id+2000)) remove_task(id+2000)
set_task(1.0, "task_give_weapon", id+2000)
}
public task_give_weapon(taskid)
{
new id = taskid - 2000
if (!g_is_get_data_wpn[id]) func_read_data_wpn(id)
new classid = g_user_classid[id]
if (classid == ID_RIFLES_MAN_EU || classid == ID_RIFLES_MAN_NRF)
{
for (new i = 1; i <= 4; i ++)
{
if (!equal(g_user_rifles_man[id][i], "")) ava_give_weapon(id, g_user_rifles_man[id][i])
}
}
else if (classid == ID_SNIPER_MAN_EU || classid == ID_SNIPER_MAN_NRF)
{
for (new i = 1; i <= 4; i ++)
{
if (!equal(g_user_sniper_man[id][i], "")) ava_give_weapon(id, g_user_sniper_man[id][i])
}
}
else if (classid == ID_POINT_MAN_EU || classid == ID_POINT_MAN_NRF)
{
for (new i = 1; i <= 4; i ++)
{
if (!equal(g_user_point_man[id][i], "")) ava_give_weapon(id, g_user_point_man[id][i])
}
}
}
/* Function Useful -------------------------------------------------------------------------------------
*
*
* -------------------------------------------------------------------------------------------------------*/
func_set_player_model(id)
{
if (!g_user_classid[id])
{
if (cs_get_user_team(id) == CS_TEAM_CT) g_user_classid[id] = random_num(ID_RIFLES_MAN_NRF, ID_POINT_MAN_NRF)
else if (cs_get_user_team(id) == CS_TEAM_T) g_user_classid[id] = random_num(ID_RIFLES_MAN_EU, ID_POINT_MAN_EU)
}
new classid = g_user_classid[id]
cs_set_user_model(id, g_model[classid])
}
func_read_data_wpn(id)
{
new file[128], name[64], len
get_user_name(id, name, 63)
format(file, 127, "%s/%s.txt", g_option_foder, name)
if (!file_exists(file))
{
g_is_get_data_wpn[id] = true
return;
}
read_file(file, line_rifles1, g_user_rifles_man[id][1], 127, len)
replace(g_user_rifles_man[id][1], 127, "rifles_man1=", "")
read_file(file, line_rifles2, g_user_rifles_man[id][2], 127, len)
replace(g_user_rifles_man[id][2], 127, "rifles_man2=", "")
read_file(file, line_rifles3, g_user_rifles_man[id][3], 127, len)
replace(g_user_rifles_man[id][3], 127, "rifles_man3=", "")
read_file(file, line_rifles4, g_user_rifles_man[id][4], 127, len)
replace(g_user_rifles_man[id][4], 127, "rifles_man4=", "")
read_file(file, line_sniper1, g_user_sniper_man[id][1], 127, len)
replace(g_user_sniper_man[id][1], 127, "sniper_man1=", "")
read_file(file, line_sniper2, g_user_sniper_man[id][2], 127, len)
replace(g_user_sniper_man[id][2], 127, "sniper_man2=", "")
read_file(file, line_sniper3, g_user_sniper_man[id][3], 127, len)
replace(g_user_sniper_man[id][3], 127, "sniper_man3=", "")
read_file(file, line_sniper4, g_user_sniper_man[id][4], 127, len)
replace(g_user_sniper_man[id][4], 127, "sniper_man4=", "")
read_file(file, line_point1, g_user_point_man[id][1], 127, len)
replace(g_user_point_man[id][1], 127, "point_man1=", "")
read_file(file, line_point2, g_user_point_man[id][2], 127, len)
replace(g_user_point_man[id][2], 127, "point_man2=", "")
read_file(file, line_point3, g_user_point_man[id][3], 127, len)
replace(g_user_point_man[id][3], 127, "point_man3=", "")
read_file(file, line_point4, g_user_point_man[id][4], 127, len)
replace(g_user_point_man[id][4], 127, "point_man4=", "")
g_is_get_data_wpn[id] = true
}
/* Precache Model -------------------------------------------------------------------------------------
*
*
* -------------------------------------------------------------------------------------------------------*/
public client_putinserver(id)
{
if (is_user_bot(id) && !g_hamczbots && cvar_botquota)
{
set_task(0.1, "register_ham_czbots", id)
}
}
public register_ham_czbots(id)
{
if (g_hamczbots || !is_user_connected(id) || !get_pcvar_num(cvar_botquota)) return;
RegisterHamFromEntity(Ham_Spawn, id, "Ham_respawm_post", 1)
g_hamczbots = true
if (is_user_alive(id)) Ham_respawm_post(id)
}