I have sprite on hud plugin but this plugin works for all clients.
Code:
#include <amxmodx>
#include <cstrike>
#include <hamsandwich>
#define CSW_KNIFE 29
#define CSW_SHIELD 2
#define DEFAULT_FOV 90
new bool:g_bSomeBool;
enum _:MESSAGES {
g_iMsg_WeaponList,
g_iMsg_CurWeapon,
g_iMsg_ForceCam,
g_iMsg_SetFOV
}
new uid;
new g_Messages_Name[MESSAGES][] = {
"WeaponList",
"CurWeapon",
"ForceCam",
"SetFOV"
}
new g_Messages[MESSAGES];
new g_Sprites[][] = {
"sprites/combo1.txt",
"sprites/combo2.txt",
"sprites/combo3.txt",
"sprites/combo4.txt",
"sprites/combo5.txt",
"sprites/combo6.txt",
"sprites/combo7.txt",
"sprites/combo8.txt",
"sprites/combo9.txt",
"sprites/combosuper.txt",
"sprites/640hud11.spr",
"sprites/640hud10.spr",
"sprites/640hud7.spr",
"sprites/combo1.spr",
"sprites/combo2.spr",
"sprites/combo3.spr",
"sprites/combo4.spr",
"sprites/combo5.spr",
"sprites/combo6.spr",
"sprites/combo7.spr",
"sprites/combo8.spr",
"sprites/combo9.spr",
"sprites/combosuper.spr"
}
new Trie:g_tReplaceInfoMsg;
new const CMD[10][] = {
"combo1",
"combo2",
"combo3",
"combo4",
"combo5",
"combo6",
"combo7",
"combo8",
"combo9",
"combosuper"
}
new combosayi[33]
public plugin_precache(){
for(new i; i < sizeof(g_Sprites); i++)
precache_generic(g_Sprites[i]);
}
public plugin_init(){
register_plugin("Combo Eklentisi", "1.0", "MoeRu Army");
for(new i;i<sizeof(CMD);i++)
register_clcmd(CMD[i],"FakeSwitch");
register_clcmd("say spr","spr");
register_event("HLTV", "Event_NewRound","a","1=0","2=0");
register_event("DeathMsg","olunce","a")
g_tReplaceInfoMsg = TrieCreate();Fill_trie();
register_message(get_user_msgid("TextMsg"), "MessageTextMsg");
for(new i; i < sizeof(g_Messages); i++){
g_Messages[i] = get_user_msgid(g_Messages_Name[i]);
register_message(g_Messages[i], "block");
}
}
public kapat(id)
{
g_bSomeBool = false;
Msg_WeaponList(id,"weapon_knife",-1,-1,-1,-1,2,1,CSW_KNIFE,0);
Msg_CurWeapon(id,0,0,0);
}
public Event_NewRound(){
for(new i;i<33;i++)
{
if(is_user_connected(i)) {
combosayi[i]=0
Msg_WeaponList(i,"weapon_knife",-1,-1,-1,-1,2,1,CSW_KNIFE,0);
Msg_CurWeapon(i,0,0,0);
} else {
break
}
}
g_bSomeBool = false;
#if defined HIDE_CROSSHAIR
Msg_HideWeapon(0);
#endif
}
// forum.csduragi.com
public block(){
if(g_bSomeBool)
return PLUGIN_HANDLED;
return PLUGIN_CONTINUE;
}
public FakeSwitch(const client)engclient_cmd(client,"weapon_shield");
public spr(id)
{
Msg_WeaponList(id,CMD[combosayi[id]],-1,-1,-1,-1,0,11,CSW_SHIELD,0);
#if defined HIDE_CROSSHAIR
Msg_HideWeapon(64);
#endif
client_cmd(id,CMD[combosayi[id]]);
Msg_SetFOV(DEFAULT_FOV,id);
g_bSomeBool = false;
Msg_CurWeapon(id,1,2,-1);
g_bSomeBool = true;
Msg_SetFOV(id,DEFAULT_FOV);
set_task(1.5,"kapat",id);
}
public olunce(){
new olduren = read_data(1)
if(task_exists(olduren)) {
remove_task(olduren);
kapat(olduren);
}
Msg_WeaponList(olduren,CMD[combosayi[olduren]],-1,-1,-1,-1,0,11,CSW_SHIELD,0);
if(combosayi[olduren] < 9)
combosayi[olduren]++;
#if defined HIDE_CROSSHAIR
Msg_HideWeapon(64);
#endif
Msg_SetFOV(DEFAULT_FOV,olduren);
g_bSomeBool = false;
Msg_CurWeapon(olduren,1,2,-1);
g_bSomeBool = true;
Msg_SetFOV(olduren,DEFAULT_FOV);
set_task(1.5,"kapat",olduren);
}
stock Msg_WeaponList(id,const WeaponName[],PrimaryAmmoID,PrimaryAmmoMaxAmount,SecondaryAmmoID,SecondaryAmmoMaxAmount,
SlotID,NumberInSlot,WeaponID,Flags){
message_begin(MSG_ALL,g_Messages[g_iMsg_WeaponList],_, id);
{
write_string(WeaponName);
write_byte(PrimaryAmmoID);
write_byte(PrimaryAmmoMaxAmount);
write_byte(SecondaryAmmoID);
write_byte(SecondaryAmmoMaxAmount);
write_byte(SlotID);
write_byte(NumberInSlot);
write_byte(WeaponID);
write_byte(Flags);
}
message_end();
}
stock Msg_CurWeapon(id,IsActive,WeaponID,ClipAmmo)
{
message_begin(MSG_ALL,g_Messages[g_iMsg_CurWeapon],_,id);
{
write_byte(IsActive);
write_byte(WeaponID);
write_byte(ClipAmmo);
}
message_end();
}
stock Msg_SetFOV(id,Degrees){
if(!is_user_connected(id))
return PLUGIN_HANDLED;
message_begin(MSG_ALL,g_Messages[g_iMsg_SetFOV], _,id);
{
write_byte(Degrees);
}
message_end();
}
#if defined HIDE_CROSSHAIR
stock Msg_HideWeapon(Flags){
message_begin(MSG_ALL,g_Messages[g_iMsg_HideWeapon], .player = 0);
{
write_byte(Flags);
}
message_end();
}
#endif
public Fill_trie(){
TrieSetString(g_tReplaceInfoMsg, "#CTs_Win","some shit");
TrieSetString(g_tReplaceInfoMsg, "#Terrorists_Win","some shit");
TrieSetString(g_tReplaceInfoMsg, "#Target_Bombed","some shit");
TrieSetString(g_tReplaceInfoMsg, "#Target_Saved","some shit");
TrieSetString(g_tReplaceInfoMsg, "#Hostages_Not_Rescued","some shit");
TrieSetString(g_tReplaceInfoMsg, "#Bomb_Planted","some shit");
}
public MessageTextMsg() {
new szMsg[192];
get_msg_arg_string(2, szMsg, charsmax(szMsg));
if(TrieGetString(g_tReplaceInfoMsg, szMsg, szMsg, charsmax(szMsg)))return 1;
return PLUGIN_CONTINUE;
}
public plugin_end()TrieDestroy(g_tReplaceInfoMsg);