Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

> Правила раздела

Перед созданием новой темы убедитесь, не искал ли кто-нибудь подобный плагин до вас, для этого следует воспользоваться поиском.

Все вновь созданные темы, с названием типа "Помогите найти", "А что это за плагин", "Ищу плагин", "Нужен плагин", "Подскажите пожалуйста название плагина" - будут удалены.
При создании темы постарайтесь максимально понятно сформулировать её заголовок так, чтобы он соответствовал функциям плагина который Вы ищите. В том случае, если Вам не удается сформулировать мысль и правильно расписать всё в теме, воспользуйтесь графическим редактором, к примеру Paint, что бы примерно изобразить функции нужного Вам плагина.

admin spec. esp

, стабильная версия
Статус пользователя umbserver
сообщение 6.5.2014, 17:19
Сообщение #1
Стаж: 12 лет

Сообщений: 244
Благодарностей: 22
Полезность: 0

Подскажите пожалуйста стабильную версию данного amx плагина. И есть ли модули ?
Понимаю ,что есть : admin_esp_box , admin_spec_esp , admin_spec_esp_mini
Кто какую юзает ?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя Bambuc
сообщение 6.5.2014, 17:24
Сообщение #2


Стаж: 13 лет

Сообщений: 1743
Благодарностей: 577
Полезность: 593

Меценат Меценат

admin_spec_esp_mini
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя ozmosis
сообщение 6.5.2014, 17:24
Сообщение #3


Стаж: 12 лет

Сообщений: 234
Благодарностей: 158
Полезность: 437

Цитата(umbserver @ 6.5.2014, 20:19) *
Подскажите пожалуйста стабильную версию данного amx плагина. И есть ли модули ?
Понимаю ,что есть : admin_esp_box , admin_spec_esp , admin_spec_esp_mini
Кто какую юзает ?

Admin ESP 1.5b_mini устраивает полностью.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя strelok93
сообщение 6.5.2014, 17:26
Сообщение #4


Стаж: 12 лет

Сообщений: 905
Благодарностей: 392
Полезность: 576

umbserver,
admin_spec_esp_mini ! и жалоб нет
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя zhen9
сообщение 6.5.2014, 17:28
Сообщение #5


Стаж: 13 лет

Сообщений: 59
Благодарностей: 30
Полезность: 91

admin_spec_esp_mini
Скиньте кто нибудь )
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя ozmosis
сообщение 6.5.2014, 17:34
Сообщение #6


Стаж: 12 лет

Сообщений: 234
Благодарностей: 158
Полезность: 437

Цитата(zhen9 @ 6.5.2014, 20:28) *
admin_spec_esp_mini
Скиньте кто нибудь )

https://c-s.net.ua/forum/index.php?showtopi...mp;hl=Admin+ESP с таким стажем пора и поиском научиться пользоваться ubeysya.gif

Отредактировал: ozmosis, - 6.5.2014, 17:37
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Bloo
сообщение 6.5.2014, 18:05
Сообщение #7


Стаж: 12 лет

Сообщений: 15547
Благодарностей: 6971
Полезность: 1206

Есть еще версия со спрайтами...
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя umbserver
сообщение 7.5.2014, 7:03
Сообщение #8
Стаж: 12 лет

Сообщений: 244
Благодарностей: 22
Полезность: 0

Цитата(ozmosis @ 6.5.2014, 18:34) *
https://c-s.net.ua/forum/index.php?showtopi...mp;hl=Admin+ESP с таким стажем пора и поиском научиться пользоваться ubeysya.gif

Из этой темы взял 1.6 версию , мини как я понял

Ошибки при компиляции,что локально,что на вэб компиляторах

Исходник :
Скрытый текст

Код
#include <amxmodx>
#include <fakemeta>

#define PLUGIN "<span class="searchlite">Admin</span> Spectator <span class="searchlite">ESP</span>"
#define VERSION "1.6"
#define AUTHOR "KoST"

#define OFFSET_TEAM    114

enum {
    ESP_ON = 0,
    ESP_LINE,
    ESP_BOX
}

new bool:admin[33], bool:first_person[33], bool:ducking[33], bool:admin_options[33][10], bool:is_in_menu[33]
new team_colors[4][3]={{0,0,0},{150,0,0},{0,0,150},{0,150,0}}
new esp_colors[5][3]={{0,255,0},{100,60,60},{60,60,100},{255,0,255},{128,128,128}}
new view_target[33], damage_done_to[33], spec[33], pcvar_esp_default_keys, laser, max_players

public plugin_init()
{
    register_plugin(PLUGIN, VERSION, AUTHOR)
    
    pcvar_esp_default_keys    = register_cvar("esp_disable_default_keys","0")
    
    register_clcmd("esp_menu", "cmd_esp_menu", ADMIN_KICK, "Shows <span class="searchlite">ESP</span> Menu")
    register_clcmd("esp_toggle", "cmd_esp_toggle", ADMIN_KICK, "Toggle <span class="searchlite">ESP</span> on/off")
    register_clcmd("esp_setting", "cmd_esp_settings", ADMIN_KICK, "<span class="searchlite">ESP</span> adasdsassdasd")
    
    register_event("StatusValue", "spec_target", "bd", "1=2")
    register_event("SpecHealth2", "spec_target", "bd")
    register_event("TextMsg", "spec_mode", "b", "2&#Spec_Mode")
    register_event("Damage", "event_Damage", "b", "2!0", "3=0", "4!0")
    register_event("ResetHUD", "reset_hud_alive", "be")
    
    register_forward(FM_PlayerPreThink, "fwdPlayerPreThink")    
    
    new keys = MENU_KEY_0|MENU_KEY_1|MENU_KEY_2
    register_menucmd(register_menuid("<span class="searchlite">Admin</span> Specator <span class="searchlite">ESP</span>"), keys, "menu_esp")
    
    max_players = get_maxplayers()
    
    set_task(1.0, "esp_timer")
}

public plugin_precache()
    laser=precache_model("sprites/laserbeam.spr")

public client_putinserver(id)
{
    first_person[id]=false
    if (get_user_flags(id) & ADMIN_KICK)
    {
        admin[id]=true
        init_admin_options(id)
    }
    else
        admin[id]=false
}

public client_disconnect(id)
{
    save2vault(id)
    admin[id] = false
    spec[id] = 0
}

public reset_hud_alive(id)
    spec[id] = 0

public cmd_esp_settings(id)
{
    if (admin[id])
    {
        new out[11], len = strlen(out)
        read_argv(1, out, 4)
        for (new i=0;i<len;i++)
        {
            if (out[i]=='1')
                admin_options[id][i]=true
            else
                admin_options[id][i]=false
        }
    }
}

public cmd_esp_menu(id)
{
    if (admin[id])
    {
        show_esp_menu(id)
    }
}

public cmd_esp_toggle(id)
{
    if (admin[id])
    {
        change_esp_status(id, !admin_options[id][0])
    }
}

show_esp_menu(id)
{
    is_in_menu[id] = true
    new menu[501]
    new keys = MENU_KEY_0|MENU_KEY_1|MENU_KEY_2
    new onoff[2][] = {{"\roff\w"},{"\yon\w"}}
    new text[2][] = {{"(use move forward/backward to switch on/off)"},{"(use esp_toggle command to toggle)"}}
    new text_index = get_pcvar_num(pcvar_esp_default_keys)
    if (text_index!=1) text_index=0
    formatex(menu, 500, "<span class="searchlite">Admin</span> Specator ESP^n %s %s^n^n1. Линии %s^n2. Квадраты %s^n^n0. Выход", onoff[admin_options[id][ESP_ON]], text[text_index],
    onoff[admin_options[id][ESP_LINE]],
    onoff[admin_options[id][ESP_BOX]])
    show_menu(id, keys,menu)
    
    return PLUGIN_HANDLED
}

public menu_esp(id, key)
{
    if (key==9)
    {
        is_in_menu[id]=false
        return PLUGIN_HANDLED
    }
    if (admin_options[id][key+1])
        admin_options[id][key+1]=false
    else
        admin_options[id][key+1]=true

    show_esp_menu(id)
    return PLUGIN_HANDLED
}

public event_Damage(id)
{
    if (id>0)
    {
        new attacker=get_user_attacker(id)
        if (attacker>0 && attacker<=max_players)
        {
            if (view_target[attacker]==id)
                damage_done_to[attacker]=id
        }
    }
    return PLUGIN_CONTINUE
}

public spec_mode(id)
{
    new specMode[12]
    read_data(2, specMode, 11)
    
    if(equal(specMode,"#Spec_Mode4"))
        first_person[id]=true
    else
        first_person[id]=false

    return PLUGIN_CONTINUE
}

public spec_target(id)
{
    if (id>0)
    {
        new target=read_data(2)
        if (target!=0)
            spec[id]=target
    }
    return PLUGIN_CONTINUE
}

init_admin_options(id)
{
    for (new i=0;i<4;i++)
    {
        admin_options[id][i] = true
    }
    load_vault_data(id)
}

save2vault(id)
{
    if (admin[id])
    {
        new authid[35], tmp[11], key[41]
        get_user_authid(id, authid, charsmax(authid))
    
        for (new s=0;s<4;s++)
        {
            if (admin_options[id][s])
                tmp[s]='1'
            else
                tmp[s]='0'
        }
        tmp[4]=0

        formatex(key, charsmax(key), "ESP_%s", authid)
        set_vaultdata(key, tmp)
    }
}

load_vault_data(id)
{
    if (admin[id])
    {
        new data[11], authid[35], key[41]
        get_user_authid (id, authid, charsmax(authid))
        formatex(key, 40, "ESP_%s", authid)
        get_vaultdata(key, data, 4)
        if (strlen(data) > 0)
        {
            for (new s=0;s<4;s++)
            {
                if (data[s]=='1')
                    admin_options[id][s]=true
                else
                    admin_options[id][s]=false
            }
        }
    }
}

change_esp_status(id, bool:on)
{
    if (on)
    {
        admin_options[id][0] = true
        if (!is_in_menu[id]) client_print(id, print_chat, "[%s] ON", PLUGIN)
        if (is_in_menu[id]) show_esp_menu(id)
    }
    else
    {
        admin_options[id][0] = false
        if (!is_in_menu[id]) client_print(id, print_chat, "[%s] OFF", PLUGIN)
        if (is_in_menu[id]) show_esp_menu(id)
    }
}

public fwdPlayerPreThink(id)
{
    if (!is_user_connected(id)) return FMRES_IGNORED
    
    static button, oldbutton
    button=pev(id, pev_button)
    if (button==0) return FMRES_IGNORED

    oldbutton=pev(id, pev_oldbuttons)
    
    if (button & IN_DUCK)
        ducking[id]=true
    else
        ducking[id]=false
    
    if (get_pcvar_num(pcvar_esp_default_keys) !=1)
    {
        if (admin[id])
        {
            if (first_person[id] && !is_user_alive(id))
            {
                if ((button & IN_FORWARD) && !(oldbutton & IN_FORWARD) && !admin_options[id][0])
                {
                    change_esp_status(id, true)
                }
                if ((button & IN_BACK) && !(oldbutton & IN_BACK) && admin_options[id][0])
                {
                    change_esp_status(id, false)
                }
            }
        }
    }
    return FMRES_HANDLED
}

public esp_timer()
{
    static spec_id, Float:my_origin[3], my_team, target_team, Float:target_origin[3], Float:distance, width, Float:v_middle[3],
    Float:v_hitpoint[3], Float:distance_to_hitpoint, Float:scaled_bone_len, Float:scaled_bone_width, Float:v_bone_start[3],
    Float:v_bone_end[3], Float:offset_vector[3], Float:eye_level[3], Float:distance_target_hitpoint, actual_bright, color

    for (new i=1;i<=max_players;i++)
    {
        if (admin_options[i][ESP_ON] && first_person[i] && is_user_connected(i) && admin[i] && (!is_user_alive(i)) && (spec[i]>0) && is_user_alive(spec[i]))
        {
            spec_id=spec[i]
            pev(i, pev_origin, my_origin)
            my_team = get_pdata_int(spec_id, OFFSET_TEAM)
            
            for (new s=1;s<=max_players;s++)
            {
                if (is_user_alive(s))
                {
                    target_team = get_pdata_int(s, OFFSET_TEAM)
                    if (!(target_team ==3))
                    {
                        if (spec_id !=s)
                        {
                            if (((my_team != target_team && (target_team ==1 || target_team ==2))))
                            {
                                pev(s, pev_origin, target_origin)
                                distance=vector_distance(my_origin, target_origin)
                                
                                if (admin_options[i][ESP_LINE])
                                {
                                    if (distance<2040.0)
                                        width=(255-floatround(distance/8.0))/3
                                    else
                                        width=1

                                    make_TE_BEAMENTPOINT(i, target_origin, width,target_team)
                                }

                                subVec(target_origin,my_origin,v_middle)

                                engfunc(EngFunc_TraceLine, my_origin, target_origin, 1, -1, 0)
                                get_tr2(0, TR_vecEndPos, v_hitpoint)

                                distance_to_hitpoint = vector_distance(my_origin, v_hitpoint)

                                if (ducking[spec_id])
                                    scaled_bone_len=distance_to_hitpoint/distance*(50.0-18.0)
                                else
                                    scaled_bone_len=distance_to_hitpoint/distance*50.0

                                scaled_bone_len=distance_to_hitpoint/distance*50.0
                                scaled_bone_width=distance_to_hitpoint/distance*150.0
                                normalize(v_middle,offset_vector,distance_to_hitpoint-10.0)

                                copyVec(my_origin,eye_level)
                                
                                if (ducking[spec_id])
                                    eye_level[2]+=12.3
                                else
                                    eye_level[2]+=17.5

                                addVec(offset_vector,eye_level)

                                copyVec(offset_vector,v_bone_start)
                                copyVec(offset_vector,v_bone_end)
                                v_bone_end[2]-=scaled_bone_len
                                
                                distance_target_hitpoint=distance-distance_to_hitpoint
                                actual_bright=255
                                
                                if (admin_options[i][ESP_BOX])
                                {
                                    if (distance_target_hitpoint<2040.0)
                                        actual_bright=(255-floatround(distance_target_hitpoint/12.0))
                                    else
                                        actual_bright=85

                                    if (distance_to_hitpoint!=distance)
                                        color=0
                                    else
                                        color=target_team

                                    if (damage_done_to[spec_id]==s)
                                    {
                                        color=3
                                        damage_done_to[spec_id]=0
                                    }
                                    make_TE_BEAMPOINTS(i,color,v_bone_start,v_bone_end,floatround(scaled_bone_width)
,actual_bright)
                                }
                            }
                        }
                    }
                }
            }
        }
    }
    set_task(0.3, "esp_timer")
    return PLUGIN_CONTINUE    
}

Float:getVecLen(Float:Vec[3])
{
    new Float:VecNull[3]={0.0,0.0,0.0}
    new Float:len=vector_distance(Vec,VecNull)
    return len
}

normalize(Float:Vec[3],Float:Ret[3],Float:multiplier)
{
    new Float:len=getVecLen(Vec)
    copyVec(Vec,Ret)
    Ret[0]/=len
    Ret[1]/=len
    Ret[2]/=len
    Ret[0]*=multiplier
    Ret[1]*=multiplier
    Ret[2]*=multiplier
}

copyVec(Float:Vec[3],Float:Ret[3])
{
    Ret[0]=Vec[0]
    Ret[1]=Vec[1]
    Ret[2]=Vec[2]
}

subVec(Float:Vec1[3],Float:Vec2[3],Float:Ret[3])
{
    Ret[0]=Vec1[0]-Vec2[0]
    Ret[1]=Vec1[1]-Vec2[1]
    Ret[2]=Vec1[2]-Vec2[2]
}

addVec(Float:Vec1[3],Float:Vec2[3])
{
    Vec1[0]+=Vec2[0]
    Vec1[1]+=Vec2[1]
    Vec1[2]+=Vec2[2]
}

make_TE_BEAMPOINTS(id,color,Float:Vec1[3],Float:Vec2[3],width,brightness)
{
    message_begin(MSG_ONE_UNRELIABLE ,SVC_TEMPENTITY,{0,0,0},id)
    write_byte(0)
    write_coord(floatround(Vec1[0]))
    write_coord(floatround(Vec1[1]))
    write_coord(floatround(Vec1[2]))
    write_coord(floatround(Vec2[0]))
    write_coord(floatround(Vec2[1]))
    write_coord(floatround(Vec2[2]))
    write_short(laser)
    write_byte(3)
    write_byte(0)
    write_byte(3)
    write_byte(width)
    write_byte(0)
    write_byte(esp_colors[color][0])
    write_byte(esp_colors[color][1])
    write_byte(esp_colors[color][2])
    write_byte(brightness)
    write_byte(0)
    message_end()
}

make_TE_BEAMENTPOINT(id,Float:target_origin[3],width,target_team)
{
    message_begin(MSG_ONE_UNRELIABLE,SVC_TEMPENTITY,{0,0,0},id)
    write_byte(1)
    write_short(id)
    write_coord(floatround(target_origin[0]))
    write_coord(floatround(target_origin[1]))
    write_coord(floatround(target_origin[2]))
    write_short(laser)
    write_byte(1)        
    write_byte(1)
    write_byte(3)
    write_byte(width)
    write_byte(0)
    write_byte(team_colors[target_team][0])
    write_byte(team_colors[target_team][1])
    write_byte(team_colors[target_team][2])
    write_byte(255)
    write_byte(0)
    message_end()
}



Ошибки :
Скрытый текст


Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Bloo
сообщение 7.5.2014, 9:39
Сообщение #9


Стаж: 12 лет

Сообщений: 15547
Благодарностей: 6971
Полезность: 1206

umbserver, Там непонятно зачем HTML теги понатыканы, вот без них:
Код:
#include <amxmodx>
#include <fakemeta>

#define PLUGIN "Admin Spectator ESP"
#define VERSION "1.6"
#define AUTHOR "KoST"

#define OFFSET_TEAM 114

enum {
ESP_ON = 0,
ESP_LINE,
ESP_BOX
}

new bool:admin[33], bool:first_person[33], bool:ducking[33], bool:admin_options[33][10], bool:is_in_menu[33]
new team_colors[4][3]={{0,0,0},{150,0,0},{0,0,150},{0,150,0}}
new esp_colors[5][3]={{0,255,0},{100,60,60},{60,60,100},{255,0,255},{128,128,128}}
new view_target[33], damage_done_to[33], spec[33], pcvar_esp_default_keys, laser, max_players

public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)

pcvar_esp_default_keys = register_cvar("esp_disable_default_keys","0")

register_clcmd("esp_menu", "cmd_esp_menu", ADMIN_KICK, "Shows ESP Menu")
register_clcmd("esp_toggle", "cmd_esp_toggle", ADMIN_KICK, "Toggle ESP on/off")
register_clcmd("esp_setting", "cmd_esp_settings", ADMIN_KICK, "ESP adasdsassdasd")

register_event("StatusValue", "spec_target", "bd", "1=2")
register_event("SpecHealth2", "spec_target", "bd")
register_event("TextMsg", "spec_mode", "b", "2&#Spec_Mode")
register_event("Damage", "event_Damage", "b", "2!0", "3=0", "4!0")
register_event("ResetHUD", "reset_hud_alive", "be")

register_forward(FM_PlayerPreThink, "fwdPlayerPreThink")

new keys = MENU_KEY_0|MENU_KEY_1|MENU_KEY_2
register_menucmd(register_menuid("Admin Specator ESP"), keys, "menu_esp")

max_players = get_maxplayers()

set_task(1.0, "esp_timer")
}

public plugin_precache()
laser=precache_model("sprites/laserbeam.spr")

public client_putinserver(id)
{
first_person[id]=false
if (get_user_flags(id) & ADMIN_KICK)
{
admin[id]=true
init_admin_options(id)
}
else
admin[id]=false
}

public client_disconnect(id)
{
save2vault(id)
admin[id] = false
spec[id] = 0
}

public reset_hud_alive(id)
spec[id] = 0

public cmd_esp_settings(id)
{
if (admin[id])
{
new out[11], len = strlen(out)
read_argv(1, out, 4)
for (new i=0;i<len;i++)
{
if (out[i]=='1')
admin_options[id][i]=true
else
admin_options[id][i]=false
}
}
}

public cmd_esp_menu(id)
{
if (admin[id])
{
show_esp_menu(id)
}
}

public cmd_esp_toggle(id)
{
if (admin[id])
{
change_esp_status(id, !admin_options[id][0])
}
}

show_esp_menu(id)
{
is_in_menu[id] = true
new menu[501]
new keys = MENU_KEY_0|MENU_KEY_1|MENU_KEY_2
new onoff[2][] = {{"\roff\w"},{"\yon\w"}}
new text[2][] = {{"(use move forward/backward to switch on/off)"},{"(use esp_toggle command to toggle)"}}
new text_index = get_pcvar_num(pcvar_esp_default_keys)
if (text_index!=1) text_index=0
formatex(menu, 500, "Admin Specator ESP^n %s %s^n^n1. Линии %s^n2. Квадраты %s^n^n0. Выход", onoff[admin_options[id][ESP_ON]], text[text_index],
onoff[admin_options[id][ESP_LINE]],
onoff[admin_options[id][ESP_BOX]])
show_menu(id, keys,menu)

return PLUGIN_HANDLED
}

public menu_esp(id, key)
{
if (key==9)
{
is_in_menu[id]=false
return PLUGIN_HANDLED
}
if (admin_options[id][key+1])
admin_options[id][key+1]=false
else
admin_options[id][key+1]=true

show_esp_menu(id)
return PLUGIN_HANDLED
}

public event_Damage(id)
{
if (id>0)
{
new attacker=get_user_attacker(id)
if (attacker>0 && attacker<=max_players)
{
if (view_target[attacker]==id)
damage_done_to[attacker]=id
}
}
return PLUGIN_CONTINUE
}

public spec_mode(id)
{
new specMode[12]
read_data(2, specMode, 11)

if(equal(specMode,"#Spec_Mode4"))
first_person[id]=true
else
first_person[id]=false

return PLUGIN_CONTINUE
}

public spec_target(id)
{
if (id>0)
{
new target=read_data(2)
if (target!=0)
spec[id]=target
}
return PLUGIN_CONTINUE
}

init_admin_options(id)
{
for (new i=0;i<4;i++)
{
admin_options[id][i] = true
}
load_vault_data(id)
}

save2vault(id)
{
if (admin[id])
{
new authid[35], tmp[11], key[41]
get_user_authid(id, authid, charsmax(authid))

for (new s=0;s<4;s++)
{
if (admin_options[id][s])
tmp[s]='1'
else
tmp[s]='0'
}
tmp[4]=0

formatex(key, charsmax(key), "ESP_%s", authid)
set_vaultdata(key, tmp)
}
}

load_vault_data(id)
{
if (admin[id])
{
new data[11], authid[35], key[41]
get_user_authid (id, authid, charsmax(authid))
formatex(key, 40, "ESP_%s", authid)
get_vaultdata(key, data, 4)
if (strlen(data) > 0)
{
for (new s=0;s<4;s++)
{
if (data[s]=='1')
admin_options[id][s]=true
else
admin_options[id][s]=false
}
}
}
}

change_esp_status(id, bool:on)
{
if (on)
{
admin_options[id][0] = true
if (!is_in_menu[id]) client_print(id, print_chat, "[%s] ON", PLUGIN)
if (is_in_menu[id]) show_esp_menu(id)
}
else
{
admin_options[id][0] = false
if (!is_in_menu[id]) client_print(id, print_chat, "[%s] OFF", PLUGIN)
if (is_in_menu[id]) show_esp_menu(id)
}
}

public fwdPlayerPreThink(id)
{
if (!is_user_connected(id)) return FMRES_IGNORED

static button, oldbutton
button=pev(id, pev_button)
if (button==0) return FMRES_IGNORED

oldbutton=pev(id, pev_oldbuttons)

if (button & IN_DUCK)
ducking[id]=true
else
ducking[id]=false

if (get_pcvar_num(pcvar_esp_default_keys) !=1)
{
if (admin[id])
{
if (first_person[id] && !is_user_alive(id))
{
if ((button & IN_FORWARD) && !(oldbutton & IN_FORWARD) && !admin_options[id][0])
{
change_esp_status(id, true)
}
if ((button & IN_BACK) && !(oldbutton & IN_BACK) && admin_options[id][0])
{
change_esp_status(id, false)
}
}
}
}
return FMRES_HANDLED
}

public esp_timer()
{
static spec_id, Float:my_origin[3], my_team, target_team, Float:target_origin[3], Float:distance, width, Float:v_middle[3],
Float:v_hitpoint[3], Float:distance_to_hitpoint, Float:scaled_bone_len, Float:scaled_bone_width, Float:v_bone_start[3],
Float:v_bone_end[3], Float:offset_vector[3], Float:eye_level[3], Float:distance_target_hitpoint, actual_bright, color

for (new i=1;i<=max_players;i++)
{
if (admin_options[i][ESP_ON] && first_person[i] && is_user_connected(i) && admin[i] && (!is_user_alive(i)) && (spec[i]>0) && is_user_alive(spec[i]))
{
spec_id=spec[i]
pev(i, pev_origin, my_origin)
my_team = get_pdata_int(spec_id, OFFSET_TEAM)

for (new s=1;s<=max_players;s++)
{
if (is_user_alive(s))
{
target_team = get_pdata_int(s, OFFSET_TEAM)
if (!(target_team ==3))
{
if (spec_id !=s)
{
if (((my_team != target_team && (target_team ==1 || target_team ==2))))
{
pev(s, pev_origin, target_origin)
distance=vector_distance(my_origin, target_origin)

if (admin_options[i][ESP_LINE])
{
if (distance<2040.0)
width=(255-floatround(distance/8.0))/3
else
width=1

make_TE_BEAMENTPOINT(i, target_origin, width,target_team)
}

subVec(target_origin,my_origin,v_middle)

engfunc(EngFunc_TraceLine, my_origin, target_origin, 1, -1, 0)
get_tr2(0, TR_vecEndPos, v_hitpoint)

distance_to_hitpoint = vector_distance(my_origin, v_hitpoint)

if (ducking[spec_id])
scaled_bone_len=distance_to_hitpoint/distance*(50.0-18.0)
else
scaled_bone_len=distance_to_hitpoint/distance*50.0

scaled_bone_len=distance_to_hitpoint/distance*50.0
scaled_bone_width=distance_to_hitpoint/distance*150.0
normalize(v_middle,offset_vector,distance_to_hitpoint-10.0)

copyVec(my_origin,eye_level)

if (ducking[spec_id])
eye_level[2]+=12.3
else
eye_level[2]+=17.5

addVec(offset_vector,eye_level)

copyVec(offset_vector,v_bone_start)
copyVec(offset_vector,v_bone_end)
v_bone_end[2]-=scaled_bone_len

distance_target_hitpoint=distance-distance_to_hitpoint
actual_bright=255

if (admin_options[i][ESP_BOX])
{
if (distance_target_hitpoint<2040.0)
actual_bright=(255-floatround(distance_target_hitpoint/12.0))
else
actual_bright=85

if (distance_to_hitpoint!=distance)
color=0
else
color=target_team

if (damage_done_to[spec_id]==s)
{
color=3
damage_done_to[spec_id]=0
}
make_TE_BEAMPOINTS(i,color,v_bone_start,v_bone_end,floatround(scaled_bone_width)
,actual_bright)
}
}
}
}
}
}
}
}
set_task(0.4, "esp_timer")
return PLUGIN_CONTINUE
}

Float:getVecLen(Float:Vec[3])
{
new Float:VecNull[3]={0.0,0.0,0.0}
new Float:len=vector_distance(Vec,VecNull)
return len
}

normalize(Float:Vec[3],Float:Ret[3],Float:multiplier)
{
new Float:len=getVecLen(Vec)
copyVec(Vec,Ret)
Ret[0]/=len
Ret[1]/=len
Ret[2]/=len
Ret[0]*=multiplier
Ret[1]*=multiplier
Ret[2]*=multiplier
}

copyVec(Float:Vec[3],Float:Ret[3])
{
Ret[0]=Vec[0]
Ret[1]=Vec[1]
Ret[2]=Vec[2]
}

subVec(Float:Vec1[3],Float:Vec2[3],Float:Ret[3])
{
Ret[0]=Vec1[0]-Vec2[0]
Ret[1]=Vec1[1]-Vec2[1]
Ret[2]=Vec1[2]-Vec2[2]
}

addVec(Float:Vec1[3],Float:Vec2[3])
{
Vec1[0]+=Vec2[0]
Vec1[1]+=Vec2[1]
Vec1[2]+=Vec2[2]
}

make_TE_BEAMPOINTS(id,color,Float:Vec1[3],Float:Vec2[3],width,brightness)
{
message_begin(MSG_ONE_UNRELIABLE ,SVC_TEMPENTITY,{0,0,0},id)
write_byte(0)
write_coord(floatround(Vec1[0]))
write_coord(floatround(Vec1[1]))
write_coord(floatround(Vec1[2]))
write_coord(floatround(Vec2[0]))
write_coord(floatround(Vec2[1]))
write_coord(floatround(Vec2[2]))
write_short(laser)
write_byte(3)
write_byte(0)
write_byte(3)
write_byte(width)
write_byte(0)
write_byte(esp_colors[color][0])
write_byte(esp_colors[color][1])
write_byte(esp_colors[color][2])
write_byte(brightness)
write_byte(0)
message_end()
}

make_TE_BEAMENTPOINT(id,Float:target_origin[3],width,target_team)
{
message_begin(MSG_ONE_UNRELIABLE,SVC_TEMPENTITY,{0,0,0},id)
write_byte(1)
write_short(id)
write_coord(floatround(target_origin[0]))
write_coord(floatround(target_origin[1]))
write_coord(floatround(target_origin[2]))
write_short(laser)
write_byte(1)
write_byte(1)
write_byte(3)
write_byte(width)
write_byte(0)
write_byte(team_colors[target_team][0])
write_byte(team_colors[target_team][1])
write_byte(team_colors[target_team][2])
write_byte(255)
write_byte(0)
message_end()
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
XyLiGaN
сообщение 7.5.2014, 9:42
Сообщение #10
Стаж: 13 лет
Город: Югорск

Сообщений: 11668
Благодарностей: 6450
Полезность: 1052

Меценат Меценат

Цитата(Bloo @ 6.5.2014, 22:05) *
Есть еще версия со спрайтами...

А что лучше?)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Bloo
сообщение 7.5.2014, 9:45
Сообщение #11


Стаж: 12 лет

Сообщений: 15547
Благодарностей: 6971
Полезность: 1206

XyLiGaN, мне версия со спрайтами не понравилась, как то привычней глазу старый добрый ESP, но поговаривают, что он менее нагрузочный и менее глючный. Хотя и за esp_mini я не видел ни нагрузки, ни глюков.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
XyLiGaN
сообщение 7.5.2014, 9:52
Сообщение #12
Стаж: 13 лет
Город: Югорск

Сообщений: 11668
Благодарностей: 6450
Полезность: 1052

Меценат Меценат

Цитата(Bloo @ 7.5.2014, 13:45) *
XyLiGaN, мне версия со спрайтами не понравилась, как то привычней глазу старый добрый ESP, но поговаривают, что он менее нагрузочный и менее глючный. Хотя и за esp_mini я не видел ни нагрузки, ни глюков.

Ну у меня esp_mini переделанный, нагрузки особо не вижу.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя umbserver
сообщение 12.5.2014, 18:42
Сообщение #13
Стаж: 12 лет

Сообщений: 244
Благодарностей: 22
Полезность: 0

Цитата(Bloo @ 7.5.2014, 10:39) *
umbserver, Там непонятно зачем HTML теги понатыканы, вот без них:

Сорри за наглость , а там сложно убрать линии и оставить только кубики ? ( очень просят люди
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Bloo
сообщение 12.5.2014, 18:44
Сообщение #14


Стаж: 12 лет

Сообщений: 15547
Благодарностей: 6971
Полезность: 1206

umbserver, в режиме наблюдателя нажимаете USE (E), и убираете то что не нужно. Это настраивается для каждого админа. Так же в конфигах можно прописать стандартную настройку для всех. Правда квар не помню..
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя umbserver
сообщение 12.5.2014, 18:45
Сообщение #15
Стаж: 12 лет

Сообщений: 244
Благодарностей: 22
Полезность: 0

Цитата(Bloo @ 12.5.2014, 19:44) *
umbserver, в режиме наблюдателя нажимаете USE (E), и убираете то что не нужно. Это настраивается для каждого админа. Так же в конфигах можно прописать стандартную настройку для всех. Правда квар не помню..

В версии ,что кинули вы - жму в спеках Е - ниче не происходит (((
Бинд USE - стоит на Е
R - так же ничего

Отредактировал: umbserver, - 12.5.2014, 18:47
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
urpok
сообщение 12.5.2014, 18:47
Сообщение #16
Стаж: 13 лет

Сообщений: 890
Благодарностей: 164
Полезность: 0

Нажимаешь "R" = вылазит меню, и выставляешь всё, что тебе нужно. (если версия с меню)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя umbserver
сообщение 12.5.2014, 18:48
Сообщение #17
Стаж: 12 лет

Сообщений: 244
Благодарностей: 22
Полезность: 0

Цитата(urpok @ 12.5.2014, 19:47) *
Нажимаешь "R" = вылазит меню, и выставляешь всё, что тебе нужно. (если версия с меню)

Версия
Код
#define PLUGIN "Admin Spectator ESP"
#define VERSION "1.6"

из поста №9

Нету меню в R и E - я пробовал, в старом плагине так было , в этом нет(

Отредактировал: umbserver, - 12.5.2014, 18:48
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
urpok
сообщение 12.5.2014, 19:00
Сообщение #18
Стаж: 13 лет

Сообщений: 890
Благодарностей: 164
Полезность: 0

Короче, вот тебе плаг, только скомпиль его. Я пользуюсь, всё работает. Нареканий нет.
И не забудь в amxx.cfg прописать квары. В самом плагине, я их подписал. Думаю разберёшься.
Квары в amxx.cfg
esp "1" // Плагин вкл/выкл (0 = выкл)(1 = вкл)
esp_timer "0.3" // Время обновления линий/квадратов (0.3 - 0.5 = оптимально)
esp_allow_all "1" // WH доступно: (0 = для админов)(1 = для всех игроков)
esp_disable_default_keys "0" // Управление кнопками R ; W ; S (0 = кнопки вкл.) (1 = кнопки выкл.)

Прикрепленный файл  Admin_Spectator_Esp.sma ( 20,27 килобайт ) Кол-во скачиваний: 23
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя umbserver
сообщение 12.5.2014, 20:15
Сообщение #19
Стаж: 12 лет

Сообщений: 244
Благодарностей: 22
Полезность: 0

Цитата(urpok @ 12.5.2014, 20:00) *
Короче, вот тебе плаг, только скомпиль его. Я пользуюсь, всё работает. Нареканий нет.
И не забудь в amxx.cfg прописать квары. В самом плагине, я их подписал. Думаю разберёшься.
Квары в amxx.cfg
esp "1" // Плагин вкл/выкл (0 = выкл)(1 = вкл)
esp_timer "0.3" // Время обновления линий/квадратов (0.3 - 0.5 = оптимально)
esp_allow_all "1" // WH доступно: (0 = для админов)(1 = для всех игроков)
esp_disable_default_keys "0" // Управление кнопками R ; W ; S (0 = кнопки вкл.) (1 = кнопки выкл.)

Прикрепленный файл  Admin_Spectator_Esp.sma ( 20,27 килобайт ) Кол-во скачиваний: 23

Спасибо большое , но хотелось бы минимальную версию , только с квадратиками и возможность отключения esp
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя DiCkoHi
сообщение 12.5.2014, 21:04
Сообщение #20
Стаж: 11 лет

Сообщений: 1
Благодарностей: 1
Полезность: 0

ddd

Поставил себе на серв этот плагин)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: