Hey guys, this gave me an error about MSG ONE AND RELIABLE Not Finding Target Entity.
PHP Code:
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fakemeta>
new const SETTING_FILE[] = "csaw_player.ini"
const MAX_PLAYER = 100
new csaw_player_name[MAX_PLAYER][32]
new csaw_player_classmodel1[MAX_PLAYER][32]
new csaw_player_classmodel2[MAX_PLAYER][32]
new csaw_player_classmodel3[MAX_PLAYER][32]
new csaw_player_classmodel4[MAX_PLAYER][32]
new csaw_player_classmodel5[MAX_PLAYER][32]
new csaw_player_model1_index[MAX_PLAYER]
new csaw_player_model2_index[MAX_PLAYER]
new csaw_player_model3_index[MAX_PLAYER]
new csaw_player_model4_index[MAX_PLAYER]
new csaw_player_model5_index[MAX_PLAYER]
new csaw_player_sex[MAX_PLAYER]
new csaw_player_team[MAX_PLAYER]
new csaw_player_hp1[MAX_PLAYER]
new csaw_player_hp2[MAX_PLAYER]
new csaw_player_hp3[MAX_PLAYER]
new csaw_player_hp4[MAX_PLAYER]
new csaw_player_hp5[MAX_PLAYER]
new csaw_player_ap1[MAX_PLAYER]
new csaw_player_ap2[MAX_PLAYER]
new csaw_player_ap3[MAX_PLAYER]
new csaw_player_ap4[MAX_PLAYER]
new csaw_player_ap5[MAX_PLAYER]
new csaw_player_spd1[MAX_PLAYER]
new csaw_player_spd2[MAX_PLAYER]
new csaw_player_spd3[MAX_PLAYER]
new csaw_player_spd4[MAX_PLAYER]
new csaw_player_spd5[MAX_PLAYER]
new csaw_set_model_index, csaw_modelindex_default,csaw_player_total,
csaw_sex[33], csaw_idplayer[33],csaw_class[33], csaw_team[33]
new data_name[64], data_model1[64],data_model2[64],data_model3[64],data_model4[64],data_model5[64], data_team, data_sex,
data_hp1, data_hp2, data_hp3, data_hp4, data_hp5, data_ap1, data_ap2, data_ap3, data_ap4, data_ap5,
data_spd1, data_spd2, data_spd3, data_spd4, data_spd5
new csaw_saytextmsg, csaw_freezetime
new csaw_dir_model[64] = "models/player/%s/%s.mdl"
new autoselect[] = "autoselect"
enum (+= 100)
{
TASK_WELCOME = 2000
}
enum
{
FM_CS_TEAM_UNASSIGNED = 0,
FM_CS_TEAM_T,
FM_CS_TEAM_CT,
FM_CS_TEAM_SPECTATOR
}
enum
{
CSAW_CLASS1 = 0,
CSAW_CLASS2,
CSAW_CLASS3,
CSAW_CLASS4,
CSAW_CLASS5
}
new const SOUND_F_BHIT[3][] =
{
"csaw_player/f_bhit_flesh-1.wav",
"csaw_player/f_bhit_flesh-2.wav",
"csaw_player/f_bhit_flesh-3.wav"
}
new const SOUND_F_DIE[3][] =
{
"csaw_player/f_die1.wav",
"csaw_player/f_die2.wav",
"csaw_player/f_die3.wav"
}
new const SOUND_F_HS[3][] =
{
"csaw_player/f_headshot1.wav",
"csaw_player/f_headshot2.wav",
"csaw_player/f_headshot3.wav"
}
new const SOUND_SAFDEATH[1][] =
{
"csaw_player/saf_death.wav"
}
enum
{
SECTION_NAME = 0,
SECTION_CLASSMODEL1,
SECTION_CLASSMODEL2,
SECTION_CLASSMODEL3,
SECTION_CLASSMODEL4,
SECTION_CLASSMODEL5,
SECTION_CLASSHP1,
SECTION_CLASSHP2,
SECTION_CLASSHP3,
SECTION_CLASSHP4,
SECTION_CLASSHP5,
SECTION_CLASSAP1,
SECTION_CLASSAP2,
SECTION_CLASSAP3,
SECTION_CLASSAP4,
SECTION_CLASSAP5,
SECTION_CLASSSPD1,
SECTION_CLASSSPD2,
SECTION_CLASSSPD3,
SECTION_CLASSSPD4,
SECTION_CLASSSPD5,
SECTION_TEAM,
SECTION_SEX
}
const OFFSET_LINUX = 5
const OFFSET_MODELINDEX = 491
public plugin_natives()
{
register_native("csaw_set_user_model", "natives_set_user_model", 1)
register_native("csaw_set_user_model_index", "natives_set_user_model_index", 1)
register_native("csaw_reset_user_model", "natives_reset_user_model", 1)
register_native("csaw_reset_user_model_index", "natives_reset_user_model_index", 1)
register_native("csaw_get_user_sex", "natives_get_user_sex", 1)
register_native("csaw_set_user_sex", "natives_set_user_sex", 1)
register_native("csaw_get_user_team", "natives_get_user_team", 1)
register_native("csaw_create_user_sound_bhit", "natives_create_user_sound_bhit", 1)
}
public plugin_init()
{
register_plugin("[CSAW] Player", "1.0", "NST, jc980")
register_dictionary("csaw_player.txt")
register_event("HLTV", "event_round_start", "a", "1=0", "2=0")
register_logevent("logevent_round_start",2, "1=Round_Start")
register_forward(FM_EmitSound, "fw_EmitSound")
register_forward(FM_PlayerPreThink, "fw_PlayerPreThink")
register_clcmd("csaw_choose_player", "cmd_choose_player")
register_clcmd("csaw_player", "cmd_menu_main")
register_clcmd("csaw_playerclass", "menu_playerclass")
csaw_saytextmsg = get_user_msgid("SayText")
}
public plugin_precache()
{
load_config()
for (new i = 0; i <= 2; i++)
{
engfunc(EngFunc_PrecacheSound, SOUND_F_BHIT[i])
engfunc(EngFunc_PrecacheSound, SOUND_F_DIE[i])
engfunc(EngFunc_PrecacheSound, SOUND_F_HS[i])
}
for (new i = 0; i <= 1; i++)
{
engfunc(EngFunc_PrecacheSound, SOUND_SAFDEATH[i])
}
csaw_modelindex_default = engfunc(EngFunc_PrecacheModel, "models/player/leet/leet.mdl")
}
load_config()
{
new path[64]
get_configsdir(path, charsmax(path))
format(path, charsmax(path), "%s/%s", path, SETTING_FILE)
if (!file_exists(path))
{
new error[100]
formatex(error, charsmax(error), "Cannot Load Customization File %s!", path)
set_fail_state(error)
return
}
new linedata[1024], key[64], value[1024], key2[64], value2[960]
new file = fopen(path, "rt")
new idplayer = 1
while (file && !feof(file))
{
fgets(file, linedata, charsmax(linedata))
replace(linedata, charsmax(linedata), "^n", "")
if (!linedata[0] || linedata[0] == ';')
continue
strtok(linedata, key2, charsmax(key2), value2, charsmax(value2), '=')
trim(key2)
trim(value2)
if (equal(key2, "SET_MODEL_INDEX"))
{
csaw_set_model_index = str_to_num(value2)
continue
}
replace(linedata, charsmax(linedata), ",", "")
replace(linedata, charsmax(linedata), "[name]", ",")
replace(linedata, charsmax(linedata), "[model1]", ",")
replace(linedata, charsmax(linedata), "[model2]", ",")
replace(linedata, charsmax(linedata), "[model3]", ",")
replace(linedata, charsmax(linedata), "[model4]", ",")
replace(linedata, charsmax(linedata), "[model5]", ",")
replace(linedata, charsmax(linedata), "[hp1]", ",")
replace(linedata, charsmax(linedata), "[hp2]", ",")
replace(linedata, charsmax(linedata), "[hp3]", ",")
replace(linedata, charsmax(linedata), "[hp4]", ",")
replace(linedata, charsmax(linedata), "[hp5]", ",")
replace(linedata, charsmax(linedata), "[ap1]", ",")
replace(linedata, charsmax(linedata), "[ap2]", ",")
replace(linedata, charsmax(linedata), "[ap3]", ",")
replace(linedata, charsmax(linedata), "[ap4]", ",")
replace(linedata, charsmax(linedata), "[ap5]", ",")
replace(linedata, charsmax(linedata), "[spd1]", ",")
replace(linedata, charsmax(linedata), "[spd2]", ",")
replace(linedata, charsmax(linedata), "[spd3]", ",")
replace(linedata, charsmax(linedata), "[spd4]", ",")
replace(linedata, charsmax(linedata), "[spd5]", ",")
replace(linedata, charsmax(linedata), "[team]", ",")
replace(linedata, charsmax(linedata), "[sex]", ",")
strtok(linedata, key, charsmax(key), value, charsmax(value), ',')
new i
while (value[0] != 0 && strtok(value, key, charsmax(key), value, charsmax(value), ','))
{
switch (i)
{
case SECTION_NAME: format(data_name, charsmax(data_name), "%s", key)
case SECTION_CLASSMODEL1: format(data_model1, charsmax(data_model1), "%s", key)
case SECTION_CLASSMODEL2: format(data_model2, charsmax(data_model2), "%s", key)
case SECTION_CLASSMODEL3: format(data_model3, charsmax(data_model3), "%s", key)
case SECTION_CLASSMODEL4: format(data_model4, charsmax(data_model4), "%s", key)
case SECTION_CLASSMODEL5: format(data_model5, charsmax(data_model5), "%s", key)
case SECTION_CLASSHP1: data_hp1 = str_to_num(key)
case SECTION_CLASSHP2: data_hp2 = str_to_num(key)
case SECTION_CLASSHP3: data_hp3 = str_to_num(key)
case SECTION_CLASSHP4: data_hp4 = str_to_num(key)
case SECTION_CLASSHP5: data_hp5 = str_to_num(key)
case SECTION_CLASSAP1: data_ap1 = str_to_num(key)
case SECTION_CLASSAP2: data_ap2 = str_to_num(key)
case SECTION_CLASSAP3: data_ap3 = str_to_num(key)
case SECTION_CLASSAP4: data_ap4 = str_to_num(key)
case SECTION_CLASSAP5: data_ap5 = str_to_num(key)
case SECTION_CLASSSPD1: data_spd1 = str_to_num(key)
case SECTION_CLASSSPD2: data_spd2 = str_to_num(key)
case SECTION_CLASSSPD3: data_spd3 = str_to_num(key)
case SECTION_CLASSSPD4: data_spd4 = str_to_num(key)
case SECTION_CLASSSPD5: data_spd5 = str_to_num(key)
case SECTION_TEAM: data_team = str_to_num(key)
case SECTION_SEX: data_sex = str_to_num(key)
}
i++
}
new modelurl1[64], modelurl2[64], modelurl3[64], modelurl4[64], modelurl5[64]
format(csaw_player_name[idplayer], 31, "%s", data_name)
format(csaw_player_classmodel1[idplayer], 31, "%s", data_model1)
format(csaw_player_classmodel2[idplayer], 31, "%s", data_model2)
format(csaw_player_classmodel3[idplayer], 31, "%s", data_model3)
format(csaw_player_classmodel4[idplayer], 31, "%s", data_model4)
format(csaw_player_classmodel5[idplayer], 31, "%s", data_model5)
format(modelurl1, charsmax(modelurl1), csaw_dir_model, data_model1, data_model1)
format(modelurl2, charsmax(modelurl2), csaw_dir_model, data_model2, data_model2)
format(modelurl3, charsmax(modelurl3), csaw_dir_model, data_model3, data_model3)
format(modelurl4, charsmax(modelurl4), csaw_dir_model, data_model4, data_model4)
format(modelurl5, charsmax(modelurl5), csaw_dir_model, data_model5, data_model5)
csaw_player_model1_index[idplayer] = precache_model(modelurl1)
csaw_player_model2_index[idplayer] = precache_model(modelurl2)
csaw_player_model3_index[idplayer] = precache_model(modelurl3)
csaw_player_model4_index[idplayer] = precache_model(modelurl4)
csaw_player_model5_index[idplayer] = precache_model(modelurl5)
csaw_player_hp1[idplayer] = data_hp1
csaw_player_hp2[idplayer] = data_hp2
csaw_player_hp3[idplayer] = data_hp3
csaw_player_hp4[idplayer] = data_hp4
csaw_player_hp5[idplayer] = data_hp5
csaw_player_ap1[idplayer] = data_ap1
csaw_player_ap2[idplayer] = data_ap2
csaw_player_ap3[idplayer] = data_ap3
csaw_player_ap4[idplayer] = data_ap4
csaw_player_ap5[idplayer] = data_ap5
csaw_player_spd1[idplayer] = data_spd1
csaw_player_spd2[idplayer] = data_spd2
csaw_player_spd3[idplayer] = data_spd3
csaw_player_spd4[idplayer] = data_spd4
csaw_player_spd5[idplayer] = data_spd5
csaw_player_team[idplayer] = data_team
csaw_player_sex[idplayer] = data_sex
csaw_player_total = idplayer
idplayer++
}
}
public event_round_start()
{
remove_task(TASK_WELCOME)
set_task(10.0, "welcome", TASK_WELCOME)
set_task(5.0, "class")
csaw_freezetime = 1
set_model_new_round()
}
public logevent_round_start()
{
csaw_freezetime = 0
}
public welcome()
{
new message[64]
format(message, charsmax(message), "^x04[CSAW] ^x03Player^x04:^x01 %L", LANG_PLAYER, "CSAW_HELP_CHOOSE")
color_saytext(0, message)
remove_task(TASK_WELCOME)
set_task(60.0, "welcome", TASK_WELCOME)
}
public class()
{
new message[64]
for (new id = 1; id < 33; id++)
{
menu_playerclass(id)
format(message, charsmax(message), "^x04[CSAW] ^x03Player^x04:^x01 %L", LANG_PLAYER, "CSAW_CLASS_CHOOSE")
color_saytext(id, message)
}
}
public client_putinserver(id)
{
reset_value(id)
}
public fw_ClientDisconnect(id)
{
reset_value(id)
}
public fw_EmitSound(id, channel, const sample[], Float:volume, Float:attn, flags, pitch)
{
if (!is_user_connected(id))
return FMRES_IGNORED
if (csaw_sex[id] != 2)
return FMRES_IGNORED
new sound[101]
for (new i = 0; i <= 2; i++)
{
format(sound, charsmax(sound), "%s", SOUND_F_BHIT[i])
replace(sound, charsmax(sound), "csaw_player/f_", "player/")
if (equal(sample, sound))
{
emit_sound(id, channel, SOUND_F_BHIT[i], volume, attn, flags, pitch)
return FMRES_SUPERCEDE
}
format(sound, charsmax(sound), "%s", SOUND_F_DIE[i])
replace(sound, charsmax(sound), "csaw_player/f_", "player/")
if (equal(sample, sound))
{
emit_sound(id, channel, SOUND_F_DIE[i], volume, attn, flags, pitch)
return FMRES_SUPERCEDE
}
format(sound, charsmax(sound), "%s", SOUND_F_HS[i])
replace(sound, charsmax(sound), "csaw_player/f_", "player/")
if (equal(sample, sound))
{
emit_sound(id, channel, SOUND_F_HS[i], volume, attn, flags, pitch)
if(cs_get_user_team(id) == CS_TEAM_CT)
{
emit_death(id)
}
return FMRES_SUPERCEDE
}
}
for (new i = 0; i <= 1; i++)
{
if(cs_get_user_team(id) == CS_TEAM_CT)
{
format(sound, charsmax(sound), "%s", SOUND_SAFDEATH[i])
replace(sound, charsmax(sound), "csaw_player/", "player/")
if (equal(sample, sound))
{
emit_sound(id, channel, SOUND_SAFDEATH[i], volume, attn, flags, pitch)
return FMRES_SUPERCEDE
}
}
}
return FMRES_IGNORED
}
emit_death(id)
{
new i = random_num(1, charsmax(SOUND_SAFDEATH))
emit_sound(id, CHAN_BODY, SOUND_SAFDEATH[i], 1.0, ATTN_NORM, 0, PITCH_NORM)
return PLUGIN_CONTINUE
}
public fw_PlayerPreThink(id)
{
if (!is_user_alive(id) || csaw_freezetime)
return
new Float: maxspeed
new idplayer = csaw_idplayer[id]
switch(csaw_class[id])
{
case 1: maxspeed = float(csaw_player_spd1[idplayer])
case 2: maxspeed = float(csaw_player_spd2[idplayer])
case 3: maxspeed = float(csaw_player_spd3[idplayer])
case 4: maxspeed = float(csaw_player_spd4[idplayer])
case 5: maxspeed = float(csaw_player_spd5[idplayer])
}
set_pev(id, pev_maxspeed, maxspeed)
}
public cmd_choose_player(id)
{
if (!is_user_connected(id))
return PLUGIN_HANDLED
new name[64]
read_argv(1, name, 63)
for(new i=1; i<= csaw_player_total; i++)
{
if (csaw_player_sex[i]>0)
{
set_player_class(id, i, random_num(1,5))
return PLUGIN_HANDLED
}
}
if (equali(name, autoselect))
{
new idplayer = get_random_class(get_user_team(id))
if (idplayer)
set_player_class(id, idplayer, random_num(1,5))
}
return PLUGIN_HANDLED
}
public cmd_menu_main(id)
{
if (!is_user_alive(id))
return PLUGIN_HANDLED
new menu_title[64], item_1[64], item_2[64]
format(menu_title, charsmax(menu_title), "[CSAW] Player: %L", LANG_PLAYER, "MENUTEAM_TITLE")
format(item_1, charsmax(item_1), "%L", LANG_PLAYER, "MENUTEAM_ITEM_TE")
format(item_2, charsmax(item_2), "%L", LANG_PLAYER, "MENUTEAM_ITEM_CT")
new mHandleID = menu_create(menu_title, "menu_main_handler")
menu_additem(mHandleID, item_1, "1", 0)
menu_additem(mHandleID, item_2, "2", 0)
menu_display(id, mHandleID, 0)
return PLUGIN_HANDLED
}
public menu_main_handler(id, menu, item)
{
if (item == MENU_EXIT)
{
menu_destroy(menu)
return PLUGIN_HANDLED
}
if (item == 0)
menu_class(id, FM_CS_TEAM_T)
else
if (item == 1)
menu_class(id, FM_CS_TEAM_CT)
menu_destroy(menu)
return PLUGIN_HANDLED
}
public menu_class(id, team)
{
new menu_title[64]
format(menu_title, charsmax(menu_title), "[CSAW] Player: %L", LANG_PLAYER, "MENUPLAYER_TITLE")
new mHandleID = menu_create(menu_title, "menu_class_handler")
for (new i=1; i<= csaw_player_total; i++)
{
if (csaw_player_team[i]==team)
{
new idplayer[32], nameplayer[32]
format(nameplayer, charsmax(nameplayer), "%s", csaw_player_name[i])
format(idplayer, charsmax(idplayer), "%i", i)
menu_additem(mHandleID, nameplayer, idplayer, 0)
}
}
menu_display(id, mHandleID, 0)
return PLUGIN_HANDLED
}
public menu_class_handler(id, menu, item)
{
if (item == MENU_EXIT)
{
menu_destroy(menu)
return PLUGIN_HANDLED
}
new idplayer_str[32], nameplayer_str[32], access
menu_item_getinfo(menu, item, access, idplayer_str, 31, nameplayer_str, 31, access)
new idplayer = str_to_num(idplayer_str)
csaw_idplayer[id] = idplayer
menu_playerclass(id)
menu_destroy(menu)
return PLUGIN_HANDLED
}
public menu_playerclass(id)
{
if (!is_user_alive(id) || !is_user_connected(id))
return PLUGIN_HANDLED
new menu_title[64]
format(menu_title, charsmax(menu_title), "[CSAW] Player: %L", LANG_PLAYER, "MENUPLAYERCLASS_TITLE")
new mHandleID = menu_create(menu_title, "menu_playerclass_handler")
new class1[64], class2[64], class3[64], class4[64], class5[64]
format(class1, charsmax(class1), "%L", LANG_PLAYER, "PLAYER_CLASS1")
format(class2, charsmax(class2), "%L", LANG_PLAYER, "PLAYER_CLASS2")
format(class3, charsmax(class3), "%L", LANG_PLAYER, "PLAYER_CLASS3")
format(class4, charsmax(class4), "%L", LANG_PLAYER, "PLAYER_CLASS4")
format(class5, charsmax(class5), "%L", LANG_PLAYER, "PLAYER_CLASS5")
menu_additem(mHandleID, class1, "1", 0)
menu_additem(mHandleID, class2, "2", 0)
menu_additem(mHandleID, class3, "3", 0)
menu_additem(mHandleID, class4, "4", 0)
menu_additem(mHandleID, class5, "5", 0)
menu_display(id, mHandleID, 0)
return PLUGIN_HANDLED
}
public menu_playerclass_handler(id, menu, item)
{
if (item == MENU_EXIT)
{
menu_destroy(menu)
return PLUGIN_HANDLED
}
new playerclass_str[32], player_str[32], access
menu_item_getinfo(menu, item, access, playerclass_str, 31, player_str, 31, access)
new playerclass = str_to_num(playerclass_str)
set_player_class(id, csaw_idplayer[id], playerclass)
menu_destroy(menu)
return PLUGIN_HANDLED
}
set_player_class(id, idplayer, classtype)
{
new team = get_user_team(id)
if (!idplayer)
idplayer = get_random_class(team)
if(!classtype)
classtype = random_num(1,5)
else if (team!=csaw_player_team[idplayer])
{
fm_cs_set_user_team(id, csaw_player_team[idplayer])
if (is_user_alive(id))
user_kill(id)
}
set_player_model(id, idplayer, classtype)
set_class_new_round()
new msg[101], classmsg[64]
switch(classtype)
{
case 1: format(classmsg, charsmax(classmsg),"%L", LANG_PLAYER, "PLAYER_CLASS1")
case 2: format(classmsg, charsmax(classmsg),"%L", LANG_PLAYER, "PLAYER_CLASS2")
case 3: format(classmsg, charsmax(classmsg),"%L", LANG_PLAYER, "PLAYER_CLASS3")
case 4: format(classmsg, charsmax(classmsg),"%L", LANG_PLAYER, "PLAYER_CLASS4")
case 5: format(classmsg, charsmax(classmsg),"%L", LANG_PLAYER, "PLAYER_CLASS5")
}
format(msg, charsmax(msg), "^x04[CSAW]^x03 Player^x04:^x01 %L", LANG_PLAYER, "NOTICE_CHOOSECLASS_COMPLETE", classmsg)
color_saytext(id, msg)
}
set_player_model(id, idplayer, classtype)
{
csaw_idplayer[id] = idplayer
csaw_class[id] = classtype
csaw_sex[id] = csaw_player_sex[idplayer]
csaw_team[id] = csaw_player_team[idplayer]
switch(classtype)
{
case 1: set_user_model(id, csaw_player_classmodel1[idplayer])
case 2: set_user_model(id, csaw_player_classmodel2[idplayer])
case 3: set_user_model(id, csaw_player_classmodel3[idplayer])
case 4: set_user_model(id, csaw_player_classmodel4[idplayer])
case 5: set_user_model(id, csaw_player_classmodel5[idplayer])
}
if (csaw_set_model_index)
{
switch(classtype)
{
case 1: set_user_model_index(id, csaw_player_model1_index[idplayer])
case 2: set_user_model_index(id, csaw_player_model2_index[idplayer])
case 3: set_user_model_index(id, csaw_player_model3_index[idplayer])
case 4: set_user_model_index(id, csaw_player_model4_index[idplayer])
case 5: set_user_model_index(id, csaw_player_model5_index[idplayer])
}
}
else
set_user_model_index(id, csaw_modelindex_default)
}
set_user_model(id, model[])
{
if (!is_user_connected(id))
return
new model_url[64]
format(model_url, charsmax(model_url), csaw_dir_model, model, model)
cs_set_user_model(id, model)
set_pev(id, pev_model, model_url)
}
set_user_model_index(id, model_index)
{
fm_cs_set_user_model_index(id, model_index)
}
reset_user_model(id)
{
if (!is_user_connected(id))
return
if (!csaw_idplayer[id])
csaw_idplayer[id] = get_random_class(get_user_team(id))
set_player_model(id, csaw_idplayer[id], random_num(1,5))
}
set_model_new_round()
{
for (new id = 1; id < 33; id++)
{
if (!is_user_connected(id))
continue
if (is_user_bot(id) || !csaw_idplayer[id])
set_player_class(id, 0, 0)
else
set_player_model(id, csaw_idplayer[id], csaw_class[id])
}
}
set_class_new_round()
{
for (new id = 1; id < 33; id++)
{
if (!is_user_connected(id) || !is_user_alive(id))
return
new idplayer = csaw_idplayer[id]
switch(csaw_class[id])
{
case 1:
{
set_pev(id, pev_health, float(csaw_player_hp1[idplayer]))
set_pev(id, pev_armorvalue, float(csaw_player_ap1[idplayer]))
}
case 2:
{
set_pev(id, pev_health, float(csaw_player_hp2[idplayer]))
set_pev(id, pev_armorvalue, float(csaw_player_ap2[idplayer]))
}
case 3:
{
set_pev(id, pev_health, float(csaw_player_hp3[idplayer]))
set_pev(id, pev_armorvalue, float(csaw_player_ap3[idplayer]))
}
case 4:
{
set_pev(id, pev_health, float(csaw_player_hp4[idplayer]))
set_pev(id, pev_armorvalue, float(csaw_player_ap4[idplayer]))
}
case 5:
{
set_pev(id, pev_health, float(csaw_player_hp5[idplayer]))
set_pev(id, pev_armorvalue, float(csaw_player_ap5[idplayer]))
}
}
}
}
get_random_class(team)
{
new n_player_idplayer[MAX_PLAYER], total, idrandom
for (new i=1; i <= csaw_player_total; i++)
{
if (csaw_player_team[i] == team)
{
n_player_idplayer[total+1] = i
total++
}
}
if (total)
idrandom = n_player_idplayer[random_num(1, total)]
return idrandom
}
color_saytext(player, const message[], any:...)
{
new text[301]
format(text, 300, "%s", message)
new dest
if (player)
dest = MSG_ONE
else
dest = MSG_ALL
message_begin(dest, csaw_saytextmsg, {0,0,0}, player)
write_byte(1)
write_string(check_text(text))
return message_end()
}
check_text(text1[])
{
new text[301]
format(text, 300, "%s", text1)
replace(text, 300, ">x04", "^x04")
replace(text, 300, ">x03", "^x03")
replace(text, 300, ">x01", "^x01")
return text
}
reset_value(id)
{
csaw_idplayer[id] = 0
csaw_class[id] = 0
csaw_sex[id] = 0
csaw_team[id] = 0
}
PlayEmitSound(id, type, const sound[])
{
emit_sound(id, type, sound, 1.0, ATTN_NORM, 0, PITCH_NORM)
}
stock fm_cs_set_user_team(id, team)
{
cs_set_user_team(id, team, 0)
}
stock fm_cs_set_user_model_index(id, value)
{
if (!value)
return
set_pdata_int(id, OFFSET_MODELINDEX, value, OFFSET_LINUX)
}
public natives_get_user_sex(id)
{
return csaw_sex[id]
}
public natives_set_user_sex(id, sex)
{
csaw_sex[id] = sex
return 1
}
public natives_get_user_team(id)
{
return csaw_team[id]
}
public natives_set_user_model(id, model[])
{
param_convert(2)
set_user_model(id, model)
return 1
}
public natives_reset_user_model(id)
{
reset_user_model(id)
return 1
}
public natives_set_user_model_index(id, modelindex)
{
set_user_model_index(id, modelindex)
return 1
}
public natives_reset_user_model_index(id)
{
set_user_model_index(id, csaw_modelindex_default)
return 1
}
public natives_create_user_sound_bhit(id)
{
new sound[64]
if (csaw_sex[id]==2)
format(sound, charsmax(sound), "nst_player/f_bhit_flesh-%i.wav", random_num(1, 3))
else
format(sound, charsmax(sound), "player/bhit_flesh-%i.wav", random_num(1, 3))
PlayEmitSound(id, CHAN_VOICE, sound)
}