HLMOD.HU Forrás Megtekintés
	- www.hlmod.hu#include <amxmodx>
#include <engine>
#include <cstrike>
#include <fakemeta>
#include <hamsandwich>
 
new const SilahBilgi[27][3] = {
	{0,0,0},
	{12,1,4},
	{9,52,1},
	{5,32,5},
	{14,1,6},
	{6,100,7},
	{4,90,8},
	{13,1,9},
	{10,120,10},
	{7,100,11},
	{6,100,12},
	{4,90,14},
	{4,90,15},
	{6,100,16},
	{10,120,17},
	{10,120,19},
	{3,200,20},
	{5,32,21},
	{4,90,22},
	{10,120,23},
	{11,2,25},
	{8,35,26},
	{4,90,27},
	{2,90,28},
	{7,100,30},
	{0,0,29},
	{0,0,0}
}
new scope[33];
new const sprites[6][4][64] = {
    {"Alap Célkereszt","Txt Yolu","Sprite Yolu","Txt Adi"},
    {"CS:GO Célkereszt","sprites/tinta1.txt","sprites/tinta1.spr","tinta1"},
    {"Fixa Célkereszt","sprites/tinta2.txt","sprites/tinta2.spr","tinta2"},
    {"Flusha Célkereszt","sprites/tinta3.txt","sprites/tinta3.spr","tinta3"},
    {"TaZ Célkereszt","sprites/tinta4.txt","sprites/tinta4.spr","tinta4"},
    {"Trainer Célkereszt","sprites/tinta5.txt","sprites/tinta5.spr","tinta5"}
}
 
new weapon_weapon[][] =
{
	"weapon_aug",
	"weapon_sg552"
}
 
new cross[33];
public plugin_init()
{
    register_plugin("CS:GO Crosshair","1.1","KriTo");
    register_event("CurWeapon","Event_CurWeapon","be","1=1");
    register_clcmd("buyammo1","guncelle1");
    register_clcmd("buyammo2","guncelle1");
    register_clcmd("tinta1","FakeSwitch");
    register_clcmd("say /ch","crossmenu");
    register_clcmd("say .ch","crossmenu");
 
    for(new i = 0; i < sizeof weapon_weapon; i++)
		RegisterHam(Ham_Weapon_Reload, weapon_weapon[i], "fw_Weapon_Reload_Post", 1)
}
 
public fw_Weapon_Reload_Post(ent)
{
	static id;
	id = pev(ent, pev_owner);
 
	if(get_user_weapon(id) == CSW_AUG || get_user_weapon(id) == CSW_SG552)
		if(scope[id]==1)
			scope[id]=0;
 
	return HAM_HANDLED
}
 
/*public client_disconnected(id){
    cross[id] = 1;
}*/
public client_putinserver(id){
    client_cmd(id, "crosshair 1")
    cross[id] = 5;
}
public client_PreThink(id)
{
    new button = pev(id, pev_oldbuttons);
    new oldbutton = pev(id, pev_button);
    if(oldbutton & IN_ATTACK2)
    {
        if(button & IN_ATTACK2)
            return PLUGIN_CONTINUE;
 
        new weapon = get_user_weapon(id);
        if(weapon == CSW_AUG || weapon == CSW_SG552)
        {
            if(scope[id]==0)
                scope[id]=1;
            else
                scope[id]=0;
            Guncelle(id);
        } else if(weapon != CSW_AUG || weapon != CSW_SG552)
        {
            scope[id]=0;
        }
    }
 
    return PLUGIN_CONTINUE;
}
public crossmenu(id)
{
    new Menu = menu_create("\yCélkereszt beállítások ~ \w[\Menü\w]^n\wOpciók:","crossdevam");
    menu_additem(Menu,"Alap Célkereszt","1");
    for(new i=1;i<sizeof(sprites);i++)
    {
        new Item[128],text[12];
        formatex(Item,127,"%s",sprites[i][0]);
        num_to_str(i+1,text,11);
        menu_additem(Menu,Item,text);
    }
    menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);
    menu_display(id,Menu,0);
}
public crossdevam(id, menu, item)
{
 
    if( item == MENU_EXIT )
    {
        menu_destroy(menu);
        return PLUGIN_HANDLED;
    }
 
    new data[6], iName[64];
    new access, callback;
    menu_item_getinfo(menu, item, access, data,5, iName, 63, callback);
    new key = str_to_num(data);
    cross[id] = key-1;
    if(cross[id] == 0)
    {
        message_begin(MSG_ONE, get_user_msgid("HideWeapon"),  .player=id);
        write_byte(1<<7);
        message_end();
    }
    Guncelle(id);
    client_cmd(id, "lastinv;wait;wait;wait;wait;wait;wait;lastinv")
 
    return PLUGIN_HANDLED;
}
public guncelle1(id)
{
    set_task(0.1,"Guncelle",id);
    return PLUGIN_CONTINUE;
}
public Guncelle(id)
{
    if(!is_user_alive(id) || cross[id] == 0)
        return PLUGIN_HANDLED;
    new weapon = get_user_weapon(id);
    if( weapon == CSW_AWP || weapon == CSW_SCOUT || weapon == CSW_SG550 || weapon == CSW_G3SG1 || weapon == CSW_KNIFE)
        return PLUGIN_CONTINUE
 
    if(weapon != CSW_SG552 && weapon != CSW_AUG)
        scope[id]=0
 
    new i;
    for(i=0;i<sizeof(SilahBilgi);i++)
    {
        new yeniweap = SilahBilgi[i][2];
        if(weapon == yeniweap)
        {
            break;
        } else if(i==sizeof(SilahBilgi)-1)
        {
            return PLUGIN_CONTINUE;
        }
    }
    message_begin(MSG_ONE, get_user_msgid("HideWeapon"),  .player=id);
    write_byte(1<<6);
    message_end();
 
    message_begin(MSG_ONE,get_user_msgid("WeaponList"),   .player=id);
    write_string(sprites[cross[id]][3]);
    write_byte(SilahBilgi[i-1][0]);
    write_byte(SilahBilgi[i-1][1]);
    write_byte(-1);
    write_byte(-1);
    write_byte(6);
    write_byte(0);
    write_byte(2);
    write_byte(0);
    message_end();
 
    message_begin(MSG_ONE,get_user_msgid("SetFOV"),        .player=id);
    if(scope[id] == 1)
        write_byte(55);
    else
        write_byte(89);
    message_end();
 
    new ammo,bpammo;
    get_user_ammo(id,weapon,ammo,bpammo);
 
    message_begin(MSG_ONE,get_user_msgid("CurWeapon"),    .player=id);
    write_byte(1);
    write_byte(2);
    write_byte(ammo);
    message_end();
    if(weapon != CSW_KNIFE) {
        message_begin(MSG_ONE,get_user_msgid("AmmoX"),      .player=id);
        write_byte(SilahBilgi[i-1][0]);
        write_byte(bpammo);
        message_end();
    }
    if(scope[id] == 0) {
        message_begin(MSG_ONE,get_user_msgid("SetFOV"),        .player=id);
        write_byte(90);
        message_end();
    }
 
    return PLUGIN_HANDLED;
}
public FakeSwitch(const client)engclient_cmd(client,"weapon_shield");
public plugin_precache()
{
    for(new i=1;i<sizeof(sprites);i++)
    {
        precache_generic(sprites[i][1]);
        precache_generic(sprites[i][2]);
    }
}
 
public Event_CurWeapon(id)
{
    if(!is_user_alive(id) || cross[id] == 0)
        return PLUGIN_HANDLED;
    new weapon = read_data(2);
    if( weapon == CSW_AWP || weapon == CSW_SCOUT || weapon == CSW_SG550 || weapon == CSW_G3SG1)
        return PLUGIN_CONTINUE
    new i;
    for(i=0;i<sizeof(SilahBilgi);i++)
    {
        new yeniweap = SilahBilgi[i][2];
        if(weapon == yeniweap)
        {
            break;
        }
    }
 
    if(weapon == CSW_KNIFE)
    {
        message_begin(MSG_ONE,get_user_msgid("WeaponList"),   .player=id);
        write_string(sprites[cross[id]][3]);
        write_byte(-1);
        write_byte(-1);
        write_byte(-1);
        write_byte(-1);
        write_byte(0);
        write_byte(11);
        write_byte(2);
        write_byte(0);
        message_end();
 
        message_begin(MSG_ONE,get_user_msgid("SetFOV"),        .player=id);
        write_byte(89);
        message_end();
 
        message_begin(MSG_ONE,get_user_msgid("CurWeapon"),    .player=id);
        write_byte(1);
        write_byte(2);
        write_byte(-1);
        message_end();
 
        message_begin(MSG_ONE,get_user_msgid("SetFOV"),        .player=id);
        write_byte(90);
        message_end();
 
        return PLUGIN_CONTINUE
    }
 
    message_begin(MSG_ONE, get_user_msgid("HideWeapon"),  .player=id);
    write_byte(1<<6);
    message_end();
 
    message_begin(MSG_ONE,get_user_msgid("WeaponList"),   .player=id);
    write_string(sprites[cross[id]][3]);
    write_byte(SilahBilgi[i-1][0]);
    write_byte(SilahBilgi[i-1][1]);
    write_byte(-1);
    write_byte(-1);
    write_byte(6);
    write_byte(0);
    write_byte(2);
    write_byte(0);
    message_end();
 
    if(weapon != CSW_SG552 && weapon != CSW_AUG)
        scope[id]=0
 
    message_begin(MSG_ONE,get_user_msgid("SetFOV"),        .player=id);
    if(scope[id] == 1)
        write_byte(55);
    else
        write_byte(89);
    message_end();
 
    new ammo,bpammo;
    get_user_ammo(id,weapon,ammo,bpammo);
 
    message_begin(MSG_ONE,get_user_msgid("CurWeapon"),    .player=id);
    write_byte(1);
    write_byte(2);
    write_byte(ammo);
    message_end();
 
    if(weapon != CSW_KNIFE) {
        message_begin(MSG_ONE,get_user_msgid("AmmoX"),      .player=id);
        write_byte(SilahBilgi[i-1][0]);
        write_byte(bpammo);
        message_end();
    }
    if(scope[id] == 0) {
        message_begin(MSG_ONE,get_user_msgid("SetFOV"),        .player=id);
        write_byte(90);
        message_end();
    }
 
 
    return PLUGIN_HANDLED;
}