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

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

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

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

> Важная информация

Перед тем как создать тему или задать вопрос, ознакомьтесь с данной темой, там собраны наиболее распространенные уязвимости и способы устранения.
Так же не поленитесь воспользоваться поиском, вполне возможно, что ваш вопрос уже поднимался на форуме.
При создании новой темы уделите внимание ее названию, оно должно кратко описывать суть вашего вопроса/проблемы. Все вновь созданные темы с названиями "Помогите", "Объясните", "Подскажите" и т.д. будут удалены, а их авторы наказаны.
460 страниц V  « 345 346 347 ... 458 459 »

Fresh Bans

, как замена amxbans_main
Статус пользователя SonGKRD
сообщение 24.4.2016, 18:32
Сообщение #6901


Стаж: 10 лет

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

Цитата(mazdan @ 24.4.2016, 18:29) *
SonGKRD, esp плагин


А что тогда делать с "подгрузкой" админов и випов? Т.к. прописал себе випку, и тоже самое происходит. Записи из БД не берутся после смены карты, ток после reconnect
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя STrannik
сообщение 24.4.2016, 19:11
Сообщение #6902
Стаж: 13 лет
Город: Уфа

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

SonGKRD, Пробовали как вариант через N секунд делать запрос в базу?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя SonGKRD
сообщение 24.4.2016, 20:49
Сообщение #6903


Стаж: 10 лет

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

Цитата(STrannik @ 24.4.2016, 20:11) *
SonGKRD, Пробовали как вариант через N секунд делать запрос в базу?


Нет, т.к. не нашел данный параметр (ну или просто затупил и пропустил мимо глаз) Подскажите если не трудно, где его искать?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя mazdan
сообщение 25.4.2016, 8:20
Сообщение #6904


Иконка группы

Стаж: 15 лет

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

SonGKRD, дело в плагине ESP
При смене карты FB + AL коннектятся к БД в это время входят игроки. ESP плагин в какой-то момент (например на client_putinserver) проверяет админ или нет, а еще не админ потому что пока бд пока туды-сюды. Я могу посмотреть, конечно, что к чему и ускориться по максимуму, но проблема то не в клозетах. Просто можно сделать в ESP активацию по форварду либо задержку добавить. Вряд ли админу нужно наблюдать сразу в момент putinserver, он тогда обычно только MOTD наблюдает.


Не пишите мне в ЛС. Пишите на почту. В ЛС я пропускаю сообщения.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя pix85
сообщение 25.4.2016, 8:32
Сообщение #6905


Стаж: 12 лет

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

mazdan, А если помимо esp отваливаются и другие плагины,например вип,ты же не будешь все плагины смотреть?Может какое то другое решение возможно?


Одна жизнь-одна команда
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Energy
сообщение 25.4.2016, 8:50
Сообщение #6906
Иконка группы

Стаж: 11 лет

Сообщений: 2839
Благодарности: выкл.

pix85, нормальный ESP плагин поставить и вообще сортировку сделать, OD, FB, DB AD, AC, а потом под самый конец поставить ESP "плагин".
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя mazdan
сообщение 25.4.2016, 10:30
Сообщение #6907


Иконка группы

Стаж: 15 лет

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

pix85, а их так много ломается?


Не пишите мне в ЛС. Пишите на почту. В ЛС я пропускаю сообщения.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя SonGKRD
сообщение 25.4.2016, 12:23
Сообщение #6908


Стаж: 10 лет

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

mazdan,

Будет очень приятно если помог бы с этим вопросом.
ВИП то через раунд загружаются. А вот ESP нет. Я просто думал может задержка какая где выставляется, ну или сортировку плагинов другую сделать или вообще в сторону хоста "мускула" копать.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя mazdan
сообщение 25.4.2016, 12:42
Сообщение #6909


Иконка группы

Стаж: 15 лет

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

SonGKRD, ну исходник давайте, или как я должен сделать?


Не пишите мне в ЛС. Пишите на почту. В ЛС я пропускаю сообщения.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя SonGKRD
сообщение 25.4.2016, 14:40
Сообщение #6910


Стаж: 10 лет

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

Цитата(mazdan @ 25.4.2016, 13:42) *
SonGKRD, ну исходник давайте, или как я должен сделать?


Не спорю) Просто думал может Вам не до этого)
Admin Spectator Esp 1.3
Код:
 /* AMX Mod X - Script
*
* Admin Spectator ESP v1.3
* Copyright © 2006 by KoST
*
* this plugin along with its compiled version can de downloaded here:
* http://www.amxmodx.org/forums/viewtopic.php?t=24787
*
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
* or download here: http://www.gnu.org/licenses/gpl.txt
*
* In addition, as a special exception, the author gives permission to
* link the code of this program with the Half-Life Game Engine ("HL
* Engine") and Modified Game Libraries ("MODs") developed by Valve,
* L.L.C ("Valve"). You must obey the GNU General Public License in all
* respects for all of the code used other than the HL Engine and MODs
* from Valve. If you modify this file, you may extend this exception
* to your version of the file, but you are not obligated to do so. If
* you do not wish to do so, delete this exception statement from your
* version.
*/
//--------------------------------------------------------------------------------------------------

#include <amxmodx>
#include <engine>

// Here you can adjust the required admin level if needed
// there is a list of all levels http://www.amxmodx.org/funcwiki.php?go=mod...d=1#const_admin

#define REQUIRED_ADMIN_LEVEL ADMIN_KICK

//--------------------------------------------------------------------------------------------------

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

enum {
ESP_ON=0,
ESP_LINE,
ESP_BOX,
ESP_NAME,
ESP_HEALTH_ARMOR,
ESP_WEAPON,
ESP_CLIP_AMMO,
ESP_DISTANCE,
ESP_TEAM_MATES,
ESP_AIM_VEC,
}

new bool:admin[33] // is/is not admin
new bool:first_person[33] //is/is not in first person view
new spec[33] // spec[player_id]=the players id if
new laser // precached model
new max_players // if you start hlds with +maxplayers 20 for example this would be 20
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 bool:ducking[33] //is/is not player ducked
new damage_done_to[33] //damage_done_to[p1]=p2 // p1 has hit p2
new view_target[33] // attackers victim
new bool:admin_options[33][10] // individual esp options
new bool:is_in_menu[33] // has esp menu open

// weapon strings
new weapons[30][10]={"None","P228","Scout","HE","XM1014","C4",
"MAC-10","AUG","Smoke","Elite","Fiveseven",
"UMP45","SIG550","Galil","Famas","USP",
"Glock","AWP","MP5","M249","M3","M4A1",
"TMP","G3SG1","Flash","Deagle","SG552",
"AK47","Knife","P90"}

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

public plugin_init(){
register_plugin(PLUGIN,VERSION,AUTHOR)
server_print("^n^t%s v%s, Copyright © 2006 by %s^n",PLUGIN,VERSION,AUTHOR)

// cvars
register_cvar("esp","1")
register_cvar("esp_timer","0.3")
register_cvar("esp_allow_all","0")
register_cvar("esp_disable_default_keys","0")
register_cvar("aesp_version",VERSION,FCVAR_SERVER|FCVAR_UNLOGGED|FCVAR_SPONLY)

// client commands
register_clcmd("esp_menu","cmd_esp_menu",REQUIRED_ADMIN_LEVEL,"Shows ESP Menu")
register_clcmd("esp_toggle","cmd_esp_toggle",REQUIRED_ADMIN_LEVEL,"Toggle ESP on/off")
register_clcmd("say /esp_menu","cmd_esp_menu",REQUIRED_ADMIN_LEVEL,"Shows ESP Menu")
register_clcmd("say /esp_toggle","cmd_esp_toggle",REQUIRED_ADMIN_LEVEL,"Toggle ESP on/off")
register_clcmd("esp_settings","cmd_esp_settings",REQUIRED_ADMIN_LEVEL," ESP adasdsassdasd")


// events
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")


// menu
new keys=MENU_KEY_0|MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5|MENU_KEY_
6|MENU_KEY_7|MENU_KEY_8|MENU_KEY_9
register_menucmd(register_menuid("Admin Specator ESP"),keys,"menu_esp")

max_players=get_maxplayers()

// start esp_timer for the first time
set_task(1.0,"esp_timer")
}

public reset_hud_alive(id){
spec[id]=0
return PLUGIN_CONTINUE
}

public cmd_esp_settings(id){
if (admin[id]){
new out[11]
read_argv(1,out,10)
new len=strlen(out)
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] && get_cvar_num("esp")==1){
show_esp_menu(id)
}
}

public cmd_esp_toggle(id){
if (admin[id] && get_cvar_num("esp")==1){
change_esp_status(id,!admin_options[id][0])
}
}

public show_esp_menu(id){
is_in_menu[id]=true
new menu[301]
new keys=MENU_KEY_0|MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5|MENU_KEY_
6|MENU_KEY_7|MENU_KEY_8|MENU_KEY_9
new onoff[2][]={{"\roff\w"},{"\yon\w"}} // \r=red \y=yellow \w white
new text[2][]={{"(use move forward/backward to switch on/off)"},{"(use esp_toggle command to toggle)"}} // \r=red \y=yellow \w white
new text_index=get_cvar_num("esp_disable_default_keys")
if (text_index!=1) text_index=0
format(menu, 300, "Admin Specator ESP^nis %s %s^n^n1. Line is %s^n2. Box is %s^n3. Name is %s^n4. Health/Armor is %s^n5. Weapon is %s^n6. Clip/Ammo is %s^n7. Distance is %s^n8. Show TeamMates is %s^n9. Show AimVector is %s^n^n0. Exit",
onoff[admin_options[id][ESP_ON]],
text[text_index],
onoff[admin_options[id][ESP_LINE]],
onoff[admin_options[id][ESP_BOX]],
onoff[admin_options[id][ESP_NAME]],
onoff[admin_options[id][ESP_HEALTH_ARMOR]],
onoff[admin_options[id][ESP_WEAPON]],
onoff[admin_options[id][ESP_CLIP_AMMO]],
onoff[admin_options[id][ESP_DISTANCE]],
onoff[admin_options[id][ESP_TEAM_MATES]],
onoff[admin_options[id][ESP_AIM_VEC]])
show_menu(id,keys,menu)

return PLUGIN_HANDLED
}

public menu_esp(id,key){
if (key==9){ // exit
is_in_menu[id]=false
return PLUGIN_HANDLED
}
// toggle esp options
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){
// discover if in first_person_view
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
}

public client_putinserver(id){
first_person[id]=false
if ((get_user_flags(id) & REQUIRED_ADMIN_LEVEL) || get_cvar_num("esp_allow_all")==1){
admin[id]=true
init_admin_options(id)

}else{
admin[id]=false
}
}

public init_admin_options(id){

for (new i=0;i<10;i++){
admin_options[id][i]=true
}
admin_options[id][ESP_TEAM_MATES]=false
load_vault_data(id)
}

public save2vault(id){
if (admin[id]){
new authid[35]
get_user_authid (id,authid,34)
new tmp[11]

for (new s=0;s<10;s++){

if (admin_options[id][s]){
tmp[s]='1';
}else{
tmp[s]='0';
}
}
tmp[10]=0

//server_print("STEAMID: %s OPTIONS: %s",authid,tmp);
new key[41]
format(key,40,"AESP_%s",authid)

set_vaultdata(key,tmp)
}
}

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

}

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

public 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 client_PreThink(id){
if (!is_user_connected(id)) return PLUGIN_CONTINUE

new button=get_user_button(id)
if (button==0) return PLUGIN_CONTINUE // saves a lot of cpu

new oldbutton=get_user_oldbutton(id)

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

if ((get_cvar_num("esp")==1) && (get_cvar_num("esp_disable_default_keys")!=1)){
if (admin[id]){
if (first_person[id] && !is_user_alive(id)){
if ((button & IN_RELOAD) && !(oldbutton & IN_RELOAD)){
show_esp_menu(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 PLUGIN_CONTINUE
}

public draw_aim_vector(i,s,len){
new Float:endpoint[3]
new tmp[3]
new Float:vec1[3]
get_user_origin(s, tmp, 1)
IVecFVec(tmp,vec1)
vec1[2]-=6.0
VelocityByAim(s,len,endpoint) // get aim vector
addVec(endpoint,vec1) // add origin to get absolute coordinates
make_TE_BEAMPOINTS(i,4,vec1,endpoint,10,0,255)
return PLUGIN_CONTINUE
}

public esp_timer(){

if (get_cvar_num("esp")!=1) { // if esp is not 1, it is off
set_task(1.0,"esp_timer") // check for reactivation in 1 sec intervals
return PLUGIN_CONTINUE
}

for (new i=1;i<=max_players;i++){ // loop through players

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])){ // :)

new spec_id=spec[i]
new Float:my_origin[3]
entity_get_vector(i,EV_VEC_origin,my_origin) // get origin of spectating admin
new my_team
my_team=get_team(spec_id) // get team of spectated :)

new Float:smallest_angle=180.0
new smallest_id=0
new Float:xp=2.0,Float:yp=2.0 // x,y of hudmessage
new Float:dist

for (new s=1;s<=max_players;s++){ // loop through the targets
if (is_user_alive(s)){ // target must be alive
new target_team=get_team(s) // get team of target
if (!(target_team==3)){ //if not spectator
if (spec_id!=s){ // do not target myself
// if the target is in the other team and not spectator

if (((my_team!=target_team && (target_team==1 || target_team==2)) || admin_options[i][ESP_TEAM_MATES])){

new Float:target_origin[3]
// get origin of target
entity_get_vector(s,EV_VEC_origin,target_origin)


// get distance from me to target
new Float:distance=vector_distance(my_origin,target_origin)

if (admin_options[i][ESP_LINE]){

new width
if (distance<2040.0){
// calculate width according to distance
width=(255-floatround(distance/8.0))/3
}else{
width=1
}
// create temp_ent
make_TE_BEAMENTPOINT(i,target_origin,width,target_team)
}


// get vector from me to target
new Float:v_middle[3]
subVec(target_origin,my_origin,v_middle)

// trace from me to target, getting hitpoint
new Float:v_hitpoint[3]
trace_line (-1,my_origin,target_origin,v_hitpoint)

// get distance from me to hitpoint (nearest wall)
new Float:distance_to_hitpoint=vector_distance(my_origin,v_hitpoint)

// scale
new Float:scaled_bone_len
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

new Float:scaled_bone_width=distance_to_hitpoint/distance*150.0

new Float:v_bone_start[3],Float:v_bone_end[3]
new Float:offset_vector[3]
// get the point 10.0 units away from wall
normalize(v_middle,offset_vector,distance_to_hitpoint-10.0) // offset from wall

// set to eye level
new Float:eye_level[3]
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)

// start and end of green box
copyVec(offset_vector,v_bone_start)
copyVec(offset_vector,v_bone_end)
v_bone_end[2]-=scaled_bone_len

new Float:distance_target_hitpoint=distance-distance_to_hitpoint

new actual_bright=255

if (admin_options[i][ESP_BOX]){
// this is to make green box darker if distance is larger
if (distance_target_hitpoint<2040.0){
actual_bright=(255-floatround(distance_target_hitpoint/12.0))

}else{
actual_bright=85
}
new color
if (distance_to_hitpoint!=distance){ // if no line of sight
color=0
}else{ // if line of sight
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)
,target_team,actual_bright)
}


if (admin_options[i][ESP_AIM_VEC] || admin_options[i][ESP_NAME] || admin_options[i][ESP_HEALTH_ARMOR] || admin_options[i][ESP_WEAPON] || admin_options[i][ESP_CLIP_AMMO] || admin_options[i][ESP_DISTANCE]){


new Float:ret[2]
new Float:x_angle=get_screen_pos(spec_id,v_middle,ret)

// find target with the smallest distance to crosshair (on x-axis)
if (smallest_angle>floatabs(x_angle)){
if (floatabs(x_angle)!=0.0){
smallest_angle=floatabs(x_angle)
view_target[spec_id]=s
smallest_id=s // store nearest target id..
xp=ret[0] // and x,y coordinates of hudmessage
yp=ret[1]
dist=distance
}
}
}
}
}
}
}
} // inner player loop end
if (!is_user_alive(smallest_id)) {
smallest_id=0
xp=-1.0
}
if (smallest_id>0 && admin_options[i][ESP_AIM_VEC]){
draw_aim_vector(i,smallest_id,2000)
}
if (xp>0.0 && xp<=1.0 && yp>0.0 && yp<=1.0){ // if in visible range
// show the player info
set_hudmessage(255, 255, 0, floatabs(xp), floatabs(yp), 0, 0.0, get_cvar_float("esp_timer"), 0.0, 0.0, 2)

new name[37]=""
new tmp[33]
get_user_name(smallest_id,tmp,32)
if (admin_options[i][ESP_NAME]){
format(name,36,"[%s]^n",tmp)
}


new health[25]=""
if (admin_options[i][ESP_HEALTH_ARMOR]){
new hp=get_user_health(smallest_id)
new armor=get_user_armor(smallest_id)
format(health,24,"health: %d armor: %d^n",hp,armor)
}


new clip_ammo[22]=""
new clip,ammo
new weapon_id=get_user_weapon(smallest_id,clip,ammo)
if (admin_options[i][ESP_CLIP_AMMO]){
format(clip_ammo,21,"clip: %d ammo: %d^n",clip,ammo)
}

new weapon_name[21]=""
if (admin_options[i][ESP_WEAPON]){
if ((weapon_id-1)<0 || (weapon_id-1)>29) weapon_id=1
format(weapon_name,20,"weapon: %s^n",weapons[weapon_id-1])
//copy(weapon_name,9,weapons[weapon_id-1])
}

new str_dist[19]
if (admin_options[i][ESP_DISTANCE]){
format(str_dist,18,"distance: %d^n",floatround(dist))
}

show_hudmessage(i, "%s%s%s%s%s",name,health,weapon_name,clip_ammo,str_dist)
}
}
}
set_task(get_cvar_float("esp_timer"),"esp_timer") // keep it going
return PLUGIN_CONTINUE
}

public Float:get_screen_pos(id,Float:v_me_to_target[3],Float:Ret[2]){
new Float:v_aim[3]
VelocityByAim(id,1,v_aim) // get aim vector
new Float:aim[3]
copyVec(v_aim,aim) // make backup copy of v_aim
v_aim[2]=0.0 // project aim vector vertically to x,y plane
new Float:v_target[3]
copyVec(v_me_to_target,v_target)
v_target[2]=0.0 // project target vector vertically to x,y plane
// both v_aim and v_target are in the x,y plane, so angle can be calculated..
new Float:x_angle
new Float:x_pos=get_screen_pos_x(v_target,v_aim,x_angle) // get the x coordinate of hudmessage..
new Float:y_pos=get_screen_pos_y(v_me_to_target,aim) // get the y coordinate of hudmessage..
Ret[0]=x_pos
Ret[1]=y_pos
return x_angle
}

public Float:get_screen_pos_x(Float:target[3],Float:aim[3],&Float:xangle){
new Float:x_angle=floatacos(vectorProduct(aim,target)/(getVecLen(aim)*getVecLen(target)),1) // get angle between vectors
new Float:x_pos
//this part is a bit tricky..
//the problem is that the 'angle between vectors' formula returns always positive values
//how can be determined if the target vector is on the left or right side of the aim vector? with only positive angles?
//the solution:
//the scalar triple product returns the volume of the parallelepiped that is created by three input vectors
//
//i used the aim and target vectors as the first two input parameters
//and the third one is a vector pointing straight upwards [0,0,1]
//if now the target is on the left side of spectator origin the created parallelepipeds volume is negative
//and on the right side positive
//now we can turn x_angle into a signed value..
if (scalar_triple_product(aim,target)<0.0) x_angle*=-1 // make signed
if (x_angle>=-45.0 && x_angle<=45.0){ // if in fov of 90
x_pos=1.0-(floattan(x_angle,degrees)+1.0)/2.0 // calulate y_pos of hudmessage
xangle=x_angle
return x_pos
}
xangle=0.0
return -2.0
}

public Float:get_screen_pos_y(Float:v_target[3],Float:aim[3]){
new Float:target[3]

// rotate vector about z-axis directly over the direction vector (to get height angle)
rotateVectorZ(v_target,aim,target)

// get angle between aim vector and target vector
new Float:y_angle=floatacos(vectorProduct(aim,target)/(getVecLen(aim)*getVecLen(target)),1) // get angle between vectors

new Float:y_pos
new Float:norm_target[3],Float:norm_aim[3]

// get normalized target and aim vectors
normalize(v_target,norm_target,1.0)
normalize(aim,norm_aim,1.0)

//since the 'angle between vectors' formula returns always positive values
if (norm_target[2]<norm_aim[2]) y_angle*=-1 //make signed

if (y_angle>=-45.0 && y_angle<=45.0){ // if in fov of 90
y_pos=1.0-(floattan(y_angle,degrees)+1.0)/2.0 // calulate y_pos of hudmessage
if (y_pos>=0.0 && y_pos<=1.0) return y_pos
}
return -2.0
}

public get_team(id){
new team[2]
get_user_team(id,team,1)
switch(team[0]){
case 'T':{
return 1
}
case 'C':{
return 2
}
case 'S':{
return 3
}
default:{}
}
return 0
}

// Vector Operations -------------------------------------------------------------------------------

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

public Float:scalar_triple_product(Float:a[3],Float:b[3]){
new Float:up[3]={0.0,0.0,1.0}
new Float:Ret[3]
Ret[0]=a[1]*b[2]-a[2]*b[1]
Ret[1]=a[2]*b[0]-a[0]*b[2]
Ret[2]=a[0]*b[1]-a[1]*b[0]
return vectorProduct(Ret,up)
}

public 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
}

public rotateVectorZ(Float:Vec[3],Float:direction[3],Float:Ret[3]){
// rotates vector about z-axis
new Float:tmp[3]
copyVec(Vec,tmp)
tmp[2]=0.0
new Float:dest_len=getVecLen(tmp)
copyVec(direction,tmp)
tmp[2]=0.0
new Float:tmp2[3]
normalize(tmp,tmp2,dest_len)
tmp2[2]=Vec[2]
copyVec(tmp2,Ret)
}

public Float:vectorProduct(Float:Vec1[3],Float:Vec2[3]){
return Vec1[0]*Vec2[0]+Vec1[1]*Vec2[1]+Vec1[2]*Vec2[2]
}

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

public 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]
}

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

// Temporary Entities ------------------------------------------------------------------------------
// there is a list of much more temp entities at: http://djeyl.net/forum/index.php?act=Attac...t&id=290870
// all messages are sent with MSG_ONE_UNRELIABLE flag to avoid overflow in case of very low esp_timer setting and much targets

public make_TE_BEAMPOINTS(id,color,Float:Vec1[3],Float:Vec2[3],width,target_team,bright
ness){
message_begin(MSG_ONE_UNRELIABLE ,SVC_TEMPENTITY,{0,0,0},id) //message begin
write_byte(0)
write_coord(floatround(Vec1[0])) // start position
write_coord(floatround(Vec1[1]))
write_coord(floatround(Vec1[2]))
write_coord(floatround(Vec2[0])) // end position
write_coord(floatround(Vec2[1]))
write_coord(floatround(Vec2[2]))
write_short(laser) // sprite index
write_byte(3) // starting frame
write_byte(0) // frame rate in 0.1's
write_byte(floatround(get_cvar_float("esp_timer")*10)) // life in 0.1's
write_byte(width) // line width in 0.1's
write_byte(0) // noise amplitude in 0.01's
write_byte(esp_colors[color][0])
write_byte(esp_colors[color][1])
write_byte(esp_colors[color][2])
write_byte(brightness) // brightness)
write_byte(0) // scroll speed in 0.1's
message_end()
}

public 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(floatround(get_cvar_float("esp_timer")*10))
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()
}

Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя mazdan
сообщение 25.4.2016, 15:25
Сообщение #6911


Иконка группы

Стаж: 15 лет

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

SonGKRD, добавьте кусочек кода внизу

Цитата
forward amxx_admin_access(id, flags, expired)
public amxx_admin_access(id, flags, expired)
{

if (flags & REQUIRED_ADMIN_LEVEL) || get_cvar_num("esp_allow_all")==1){
admin[id]=true
init_admin_options(id)

}else{
admin[id]=false
}
}


Не пишите мне в ЛС. Пишите на почту. В ЛС я пропускаю сообщения.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя pix85
сообщение 25.4.2016, 15:27
Сообщение #6912


Стаж: 12 лет

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

mazdan, Да нет не много,но отлетает и вся админка бывает,в предыдущей версии этой проблемы не было


Одна жизнь-одна команда
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя SonGKRD
сообщение 25.4.2016, 15:37
Сообщение #6913


Стаж: 10 лет

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

mazdan,
Точно вниз ?)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя mazdan
сообщение 25.4.2016, 16:45
Сообщение #6914


Иконка группы

Стаж: 15 лет

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

SonGKRD, точно вниз.
скобку потерял
Код:
forward amxx_admin_access(id, flags, expired)
public amxx_admin_access(id, flags, expired)
{

if ( (flags & REQUIRED_ADMIN_LEVEL) || get_cvar_num("esp_allow_all")==1){
admin[id]=true
init_admin_options(id)

}else{
admin[id]=false
}
}


Не пишите мне в ЛС. Пишите на почту. В ЛС я пропускаю сообщения.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Fluffy
сообщение 25.4.2016, 18:06
Сообщение #6915


Стаж: 11 лет

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

Добрый вечер. После 1.1.9 уже 1.2 вышла, что ли? Получается 1.2 последняя.
С 1.1.9 чего-то странное, карта не совпадает в cs.bans и в консоль выводимая игроку при бане. Интересно чегой-то так, я долго думал, что меня накрывает просто и мне кажется, но потом понял, что правда странное чего-то))).

А нашёл, Хулиган пост 2014 года обновил просто :D смутило.

Отредактировал: Fluffy, - 25.4.2016, 18:12
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
loran
сообщение 26.4.2016, 2:45
Сообщение #6916
Стаж: 10 лет

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

Всем привет! Подскажите кто нибудь, почему у меня недоступен бан навсегда? Значение в time.cfg прописано fb_add_time 0 "Навсегда".

Отредактировал: loran, - 26.4.2016, 2:47
Прикрепленные файлы:
Прикрепленное изображение
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя georgeml
сообщение 26.4.2016, 3:56
Сообщение #6917
Стаж: 12 лет

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

Цитата(loran @ 26.4.2016, 10:45) *
Всем привет! Подскажите кто нибудь, почему у меня недоступен бан навсегда? Значение в time.cfg прописано fb_add_time 0 "Навсегда".
Лимит времени в main.cfg
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя mazdan
сообщение 26.4.2016, 8:48
Сообщение #6918


Иконка группы

Стаж: 15 лет

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

Fluffy, должно совпадать (карта) я там не менял ничего давно уже.


Не пишите мне в ЛС. Пишите на почту. В ЛС я пропускаю сообщения.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя awp
сообщение 26.4.2016, 9:14
Сообщение #6919
Стаж: 12 лет
Город: Киев

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

Цитата(loran @ 26.4.2016, 3:45) *
Всем привет! Подскажите кто нибудь, почему у меня недоступен бан навсегда? Значение в time.cfg прописано fb_add_time 0 "Навсегда".

возможно флаг L (rcon) не прописан


Cкрытый текст
by GooD Luck :D *

Игра для Души © [Украинский Замес #1]
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Hnt
сообщение 26.4.2016, 21:51
Сообщение #6920


Стаж: 18 лет

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

mazdan, Может быть немного не в ту степь ,вопрос как заставить выстрелить Forward с Rechecker'ом ? Напрямую через меню баним со скринами ,через Чекер
- скрины без вод.знаков, где копать? -_-
в чекере имеем вид к примеру

"../aimbot.dll" UNKNOWN "fb_ban 32000 [userid] 'Aim Hack'" BREAK


Отредактировал: Hnt, - 26.4.2016, 22:19
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
460 страниц V  « 345 346 347 ... 458 459 »
 
Ответить в данную темуНачать новую тему
 
0 пользователей и 12 гостей читают эту тему: