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

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

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

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

> Правила форума

Этот раздел, как вы могли заметить по названию, предназначен для решения вопросов по поводу уже существующих модов и плагинов.
Пожалуйста, если у вас проблема с написанием плагина, не путайте этот раздел с разделом по скриптингу.
Для поиска плагинов и модов существует соответствующий раздел.

Название темы должно соответствовать содержанию. Темы с названием типа "Помогите", "Вопрос", "парни подскажите..." - будут удалены.
Все темы, не относящиеся к "Вопросам по модам и плагинам", будут удалены или перемещены в соответствующий раздел.

Правила оформления темы:
1. Помимо заголовка не забудьте верно сформулировать свой вопрос.
2. Выложите исходник (в тег кода + ) или ссылку на плагин который вызывает у вас вопросы.
3. Выложите лог с ошибками (если имеется) под спойлер

Админ вх

, админское вх
Статус пользователя kostional7
сообщение 17.1.2015, 14:53
Сообщение #1
Стаж: 11 лет

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

Привет , кто может переделать плагин админ вх , там стандартно стоит Флаг (a) как поставить флаг (g) или другой какой-то ?
Код:
#include <amxmodx>
#include <fakemeta>
#include <xs>

#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 ];


new bool: gAdm[33], bool: gSpecFirst[33], gSpecUser[33];
new g_iTeam[33];

public plugin_init()
{

register_plugin(PLUGIN, VERSION, AUTHOR);

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

register_forward( FM_AddToFullPack , "addToFullPack" , 1 );

register_forward( FM_CheckVisibility , "checkVisibility" );

register_event("TeamInfo", "JoinTeam", "a")
register_event("TextMsg","spec_mode","b","2&#Spec_Mode")

register_event("StatusValue","spec_target","bd","1=2")
register_event("SpecHealth2","spec_target","bd")

}

public client_putinserver(id)
{
if(get_user_flags(id) & ADMIN_IMMUNITY)
{
gAdm[id] = true;
espON[ id ] = true; // Auto enable
}
else
gAdm[id] = false; //clear
}

public client_PreThink(id)
{
if (!gAdm[id]) return PLUGIN_CONTINUE;

if (!is_user_connected(id))
return PLUGIN_CONTINUE

new button = pev(id, pev_button) //get_user_button(id);

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

new oldbutton = pev(id, pev_oldbuttons) //get_user_oldbutton(id)

if (gSpecFirst[id] && !is_user_alive(id))
{
if ((button & IN_FORWARD) && !(oldbutton & IN_FORWARD))
{
espON[ id ] = !espON[ id ];
client_print(id, print_chat, "Status %s", espON[ id ] ? "ON" : "OFF")
}
}

return PLUGIN_CONTINUE
}

//For CPU save
public JoinTeam()
{
new id, szTeam[2]

id = read_data(1)
read_data(2, szTeam, 1)

switch(szTeam[0])
{
case 'T': g_iTeam[id] = 1
case 'C': g_iTeam[id] = 2
case 'S': g_iTeam[id] = 3
default: g_iTeam[id] = 0
}

return PLUGIN_CONTINUE

}

public spec_mode(id)
{
if(!gAdm[id]) return PLUGIN_CONTINUE; // we can don't do it, but it's will faster.

new specMode[12]
read_data(2,specMode,11)

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

return PLUGIN_CONTINUE
}

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

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

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 , g_iTeam[gSpecUser[HOST]] == g_iTeam[iOwner] ? spriteFriendIndex : spriteEnemyIndex );
set_es( es_state , ES_Scale , fLenNew / fLenOld );

set_es( es_state, ES_RenderAmt , 255.0 );

return FMRES_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 );
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1049\\ f0\\ fs16 \n\\ par }
*/
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя Bloo
сообщение 17.1.2015, 14:55
Сообщение #2


Стаж: 12 лет

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

kostional7, 52 строка:
Код:
    if(get_user_flags(id) & ADMIN_IMMUNITY)
>>>
if(get_user_flags(id) & ADMIN_CVAR)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя kostional7
сообщение 17.1.2015, 15:00
Сообщение #3
Стаж: 11 лет

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

Цитата(Bloo @ 17.1.2015, 14:55) *
kostional7, 52 строка:
Код:
    if(get_user_flags(id) & ADMIN_IMMUNITY)
>>>
if(get_user_flags(id) & ADMIN_CVAR)

Вместо if(get_user_flags(id) & вписать флаг?)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ThisIsSparta
сообщение 17.1.2015, 15:00
Сообщение #4
Стаж: 11 лет

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

Цитата(kostional7 @ 17.1.2015, 15:53) *


вот тут
Код
if(get_user_flags(id) & ADMIN_IMMUNITY)


ADMIN_IMMUNITY меняй на любой из списка

флаги доступа

ADMIN_ALL //Everyone
ADMIN_IMMUNITY //Flag "a", immunity
ADMIN_RESERVATION //Flag "b", reservation
ADMIN_KICK //Flag "c", kick
ADMIN_BAN //Flag "d", ban
ADMIN_SLAY //Flag "e", slay
ADMIN_MAP //Flag "f", map change
ADMIN_CVAR //Flag "g", cvar change
ADMIN_CFG //Flag "h", config execution
ADMIN_CHAT //Flag "i", chat
ADMIN_VOTE //Flag "j", vote
ADMIN_PASSWORD //Flag "k", sv_password
ADMIN_RCON //Flag "l", rcon access
ADMIN_LEVEL_A //Flag "m", custom
ADMIN_LEVEL_B //Flag "n", custom
ADMIN_LEVEL_C //Flag "o", custom
ADMIN_LEVEL_D //Flag "p", custom
ADMIN_LEVEL_E //Flag "q", custom
ADMIN_LEVEL_F //Flag "r", custom
ADMIN_LEVEL_G //Flag "s", custom
ADMIN_LEVEL_H //Flag "t", custom
ADMIN_MENU //Flag "u", menus
ADMIN_ADMIN //Flag "y", default admin
ADMIN_USER //Flag "z", default user
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: