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

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

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

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

Почти Аналог Admin_ESP

Статус пользователя Wh1zy
сообщение 3.9.2014, 23:14
Сообщение #1


Стаж: 12 лет

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

Плагин почти аналог всем известного Admin ESP. В двух словах плагин выводит ВХ для админа через команду в чате. (Через спрайт) Не советую ставить на сервер тем у кого в администраиции есть школьники, т.к. плагин работает всегда, даже когда живой...

Команда в чат:
/esp

Автор: DarkGL



Код:
#include <amxmodx>
#include <fakemeta>
#include <xs>
#include <cstrike>

#define PLUGIN "sprite ESP"
#define AUTHOR "DarkGL"
#define VERSION "1.0"

const maxPlayers = 32;

const Float: spriteDistance = 10.0;

new const spriteEnemy[] = "sprites/esp_enemy.spr";
new const spriteFriend[] = "sprites/esp_friend.spr";

new spriteEnemyIndex = 0;
new spriteFriendIndex = 0;

new const espClassName[] = "esp_info";

new temporarySprites[ maxPlayers + 1 ];

new bool:espON[ maxPlayers + 1 ];

public plugin_init(){

register_plugin(PLUGIN, VERSION, AUTHOR);

register_clcmd( "say /esp" , "espONOFF" );

for( new iCurrent = 1 ; iCurrent <= maxPlayers ; iCurrent++ ){
temporarySprites[ iCurrent ] = createSprite( iCurrent );
}

register_forward( FM_AddToFullPack , "addToFullPack" , 1 );

register_forward( FM_CheckVisibility , "checkVisibility" );
}

public plugin_precache(){
spriteEnemyIndex = precache_model( spriteEnemy );
spriteFriendIndex = precache_model( spriteFriend );
}

public client_connect( id ){
espON[ id ] = false;
}

public checkVisibility(id,pset){
if( !pev_valid( id ) ){
return FMRES_IGNORED;
}

new szClass[ 64 ];

pev( id , pev_classname , szClass , charsmax( szClass ) );

if( !equal( szClass , espClassName ) ){
return FMRES_IGNORED;
}

forward_return(FMV_CELL,1)
return FMRES_SUPERCEDE
}

public addToFullPack( es_state, e, ENT, HOST, hostflags, player, set){
if( player || !is_user_alive( HOST ) ){
return FMRES_IGNORED;
}

if( !pev_valid( ENT ) ){
return FMRES_IGNORED;
}

new iOwner = pev( ENT , pev_owner );

if( !is_user_alive( iOwner ) || !espON[ HOST ] || temporarySprites[ pev( ENT , pev_owner ) ] != ENT || iOwner == HOST ){
return FMRES_IGNORED;
}

new Float: startPosition[ 3 ],
Float: endPosition[ 3 ],
Float: fEnd[ 3 ],
Float: fVector[ 3 ],
Float: fEndPosition[ 3 ],
Float: endVector[ 3 ],
Float: fLenNew,
Float: fLenOld;

calculateStartPosition( HOST , startPosition );
calculateEndPosition( iOwner , endPosition );
calculateVector( endPosition , startPosition , fVector );

traceLine( startPosition , endPosition , fEnd , HOST );

movePosition( fEnd , fVector , fEndPosition );

calculateEndVector( startPosition , fEndPosition , endVector );

fLenNew = xs_vec_len( endVector );
fLenOld = xs_vec_len( fVector );

set_es( es_state , ES_Origin , fEndPosition );
set_es( es_state , ES_ModelIndex , isFriend( HOST , iOwner ) ? spriteFriendIndex : spriteEnemyIndex );
set_es( es_state , ES_Scale , fLenNew / fLenOld );

set_es( es_state, ES_RenderAmt , 255.0 );

return FMRES_HANDLED;
}

public espONOFF( id ){
if( !( get_user_flags( id ) & ADMIN_BAN ) ){
return PLUGIN_HANDLED;
}

espON[ id ] = !espON[ id ];

return PLUGIN_HANDLED;
}

createSprite( iOwner ){
new iEnt = engfunc( EngFunc_CreateNamedEntity , engfunc( EngFunc_AllocString , "info_target" ) );

if( !pev_valid( iEnt ) ){
return 0;
}

set_pev( iEnt , pev_classname , espClassName );

engfunc( EngFunc_SetSize , iEnt , Float:{ -1.0 , -1.0 , -1.0 } , Float:{ 1.0 , 1.0 , 1.0 } );
engfunc( EngFunc_SetOrigin , iEnt , Float:{ 306.0 , 2434.0 , -91.0 } );

engfunc( EngFunc_SetModel , iEnt , spriteEnemy );

set_pev( iEnt, pev_renderfx, kRenderFxNone );
set_pev( iEnt, pev_rendercolor, Float:{ 255.0 , 255.0 , 255.0 } );
set_pev( iEnt, pev_rendermode, kRenderTransAlpha );
set_pev( iEnt, pev_renderamt, 0.0 );

set_pev( iEnt , pev_solid , SOLID_NOT );
set_pev( iEnt , pev_movetype , MOVETYPE_NONE );

set_pev( iEnt, pev_owner , iOwner );

dllfunc(DLLFunc_Spawn, iEnt )

return iEnt;
}

calculateStartPosition( id , Float: startPosition[ 3 ] ){
new Float: fOrigin[ 3 ],
Float: fView[ 3 ];

pev( id , pev_origin , fOrigin );
pev( id , pev_view_ofs , fView );

xs_vec_add( fOrigin , fView , startPosition );
}

calculateEndPosition( id , Float: endPosition[ 3 ] ){
pev( id , pev_origin , endPosition );
}

traceLine( Float:startPosition[ 3 ] , Float:endPosition[ 3 ] , Float:fEnd[ 3 ] , idSkip ){
new pTR = create_tr2();

engfunc( EngFunc_TraceLine , startPosition , endPosition , IGNORE_MONSTERS , idSkip , pTR );

get_tr2( pTR , TR_vecEndPos , fEnd );

free_tr2( pTR );
}

calculateVector( Float:startPosition[ 3 ] , Float:endPosition[ 3 ] , Float:fVector[ 3 ] ){
xs_vec_sub( endPosition , startPosition , fVector );
}

movePosition( Float: fPosition[ 3 ] , Float: fVector[ 3 ] , Float: fEndPosition[ 3 ] ){

new Float: fVectorCopy[ 3 ];

xs_vec_copy( fVector , fVectorCopy );

xs_vec_normalize( fVectorCopy , fVectorCopy );

xs_vec_mul_scalar( fVectorCopy , spriteDistance , fVectorCopy );

xs_vec_add( fPosition , fVectorCopy , fEndPosition );
}

calculateEndVector( Float: startPosition[ 3 ] , Float: fEnd[ 3 ] , Float: fEndVector[ 3 ] ){
xs_vec_sub( fEnd, startPosition , fEndVector );
}

bool: isFriend( idUser , idUser2 ){
return cs_get_user_team( idUser ) == cs_get_user_team( idUser2 );
}


Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя ex3m777
сообщение 3.9.2014, 23:25
Сообщение #2


Стаж: 13 лет
Город: Москва

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

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

Плагин уже выкладывался на форуме. Он явно нуждается в доработке


Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Wh1zy
сообщение 3.9.2014, 23:32
Сообщение #3


Стаж: 12 лет

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

Цитата(ex3m777 @ 4.9.2014, 11:25) *
Плагин уже выкладывался на форуме. Он явно нуждается в доработке


Можна ссылку на тему? И почему в доработке, у меня он недавно стоял, всё работает.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Jenya Psy
сообщение 3.9.2014, 23:38
Сообщение #4


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

Стаж: 14 лет

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

Дак бред плаг, даже самые честные игроки, хоть на минуту подсознательно захотят включить его, будучи живым. Не нужно испытывать соблазн.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 4 раз
   + Цитировать сообщение
Статус пользователя Takashi Murakami
сообщение 3.9.2014, 23:46
Сообщение #5
Стаж: 14 лет

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

Это скорее не плагин для выявления читеров, а чит для главных админов сервера. Плагин вредный но для школьников "гл. адменов" самое то))) чисто для себя щас понаставят..
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя babylkin_band
сообщение 4.9.2014, 6:15
Сообщение #6
Стаж: 15 лет

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

Цитата(Wh1zy @ 3.9.2014, 23:32) *
Можно ссылку на тему?


https://c-s.net.ua/forum/topic52524.html?hl...%E0%EA%E0%E7%FB
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: