CSPLague
CT ler için paint plugini - Printable Version

+- CSPLague (https://www.csplague.com)
+-- Forum: CS 1.6 Plugin (Eklenti) Bölümü (https://www.csplague.com/forumdisplay.php?fid=6)
+--- Forum: [İSTEK] Cs 1.6 Plugin İstek Bölümü (https://www.csplague.com/forumdisplay.php?fid=80)
+--- Thread: CT ler için paint plugini (/showthread.php?tid=12432)



CT ler için paint plugini - xLdeJavu - 04-08-15

Merhabalar kolay gelsin pluginci arkadaşlardan bizim bu bildigimiz paint plugini var mouse sag tik ile renkli çizgiler çıkarıyor o plugini sadece ct ler kullanabilecegi sekilde ayarlayıp atmalarını ıstıyebilir miyim?


Cevap: CT ler için paint plugini - xLdeJavu - 11-08-15

guncelll


Cevap: CT ler için paint plugini - pandora158 - 30-08-15

Code:
/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
#include <xs>


#define PLUGIN "Paint"
#define VERSION "3.1"
#define AUTHOR "stupok69"


#define MAX_PLAYERS 32


new Float:origin[MAX_PLAYERS+1][3]
new prethink_counter[MAX_PLAYERS+1]
new bool:is_drawing[MAX_PLAYERS+1]
new bool:is_holding[MAX_PLAYERS+1]


new spriteid


public plugin_init() {
    register_plugin(PLUGIN, VERSION, AUTHOR)
    
    register_clcmd("+paint", "paint_devam")
    register_clcmd("-paint", "paint_devam")
    register_forward(FM_PlayerPreThink, "forward_FM_PlayerPreThink", 0)
}
public plugin_precache()
{
    spriteid = precache_model("sprites/lgtning.spr")
}
public paint_devam(id){
    if (get_user_team(id) == 2)  
    {
        static cmd[2]
        read_argv(0, cmd, 1)
        
        switch(cmd[0])
        {
            case '+': is_drawing = true
                case '-': is_drawing = false
            }
    }
    return PLUGIN_HANDLED
}
public forward_FM_PlayerPreThink(id)
{
    if(prethink_counter++ > 5)
    {
        if(is_drawing && !is_aiming_at_sky(id))
        {
            static Float:cur_origin[3], Float:distance
            
            cur_origin = origin
            
            if(!is_holding)
            {
                fm_get_aim_origin(id, origin)
                move_toward_client(id, origin)
                is_holding = true
                return FMRES_IGNORED
            }
            
            fm_get_aim_origin(id, origin)
            move_toward_client(id, origin)
            
            distance = get_distance_f(origin, cur_origin)
            
            if(distance > 2)
            {
                draw_line(origin, cur_origin)
            }
        }
        else
        {
            is_holding = false
        }
        prethink_counter = 0
    }
    
    return FMRES_IGNORED
}


stock draw_line(Float:origin1[3], Float:origin2[3])
{
    message_begin(MSG_BROADCAST,SVC_TEMPENTITY)
    write_byte(TE_BEAMPOINTS)
    engfunc(EngFunc_WriteCoord, origin1[0])
    engfunc(EngFunc_WriteCoord, origin1[1])
    engfunc(EngFunc_WriteCoord, origin1[2])
    engfunc(EngFunc_WriteCoord, origin2[0])
    engfunc(EngFunc_WriteCoord, origin2[1])
    engfunc(EngFunc_WriteCoord, origin2[2])
    write_short(spriteid)
    write_byte(0)
    write_byte(10)
    write_byte(255)
    write_byte(50)
    write_byte(0)
    write_byte(random(255))
    write_byte(random(255))
    write_byte(random(255))
    write_byte(255)
    write_byte(0)
    message_end()
}


stock fm_get_aim_origin(index, Float:origin[3])
{
    static Float:start[3], Float:view_ofs[3]
    pev(index, pev_origin, start)
    pev(index, pev_view_ofs, view_ofs)
    xs_vec_add(start, view_ofs, start)
    
    static Float:dest[3]
    pev(index, pev_v_angle, dest)
    engfunc(EngFunc_MakeVectors, dest)
    global_get(glb_v_forward, dest)
    xs_vec_mul_scalar(dest, 9999.0, dest)
    xs_vec_add(start, dest, dest)
    
    engfunc(EngFunc_TraceLine, start, dest, 0, index, 0)
    get_tr2(0, TR_vecEndPos, origin)
    
    return 1
}


stock move_toward_client(id, Float:origin[3])
{        
    static Float:player_origin[3]
    
    pev(id, pev_origin, player_origin)
    
    origin[0] += (player_origin[0] > origin[0]) ? 1.0 : -1.0
    origin[1] += (player_origin[1] > origin[1]) ? 1.0 : -1.0
    origin[2] += (player_origin[2] > origin[2]) ? 1.0 : -1.0
}
bool:is_aiming_at_sky(index)
{
new Float:origin[3];
fm_get_aim_origin(index, origin);


return engfunc(EngFunc_PointContents, origin) == CONTENTS_SKY;
}



Cevap: CT ler için paint plugini - crunch98 - 09-01-17

teşekkürler


Cevap: CT ler için paint plugini - exelds78 - 09-12-17

yararlı bi konu teşekkürler