Всем привет. Вот есть плагин у меня граб. Проблема такая, что граб я прописал флаг для граба ADMIN_LEVEL_H, у меня есть вип игрок и у него этого флага нету, а граб почему то работает. Что сделать? Флаги вип игрока: nri. И как видно что флаг граба другой. Вот исходник граба:
поменять флаг , на тот, которые стоят у випа... вот флаги доступа для скриптеров тема, читай тут >>> http://forum.csserv.ru/topic/266-flagi-dostupa-dlia-skriptyorov/?hl=%2B%D1%84%D0%BB%D0%B0%D0%B3%D0%B8+%2B%D0%B4%D0%BE%D1%81%D1%82%D1%83%D0%BF%D0%B0
Ты что дурак?Ну так если знаешь, зачем тему создавал? ADMIN_LEVEL_H - это флаг "t" А ты написал что прописуеш VIP`ку с флагами "nri" Чтобы был граб, добавь флаг "t"
надо было поменять ADMIN_LEVEL_H на ADMIN_LEVEL_F Код: #include < amxmodx > #include < amxmisc > #include < fakemeta > #include < hamsandwich > #define PLUGIN "[All mod] Grab" #define VERSION "2.1" #define AUTHOR "Ian Cammarata / Opo4uMapy" // Options #define ADMIN ADMIN_LEVEL_F //Флаг админа R #define RESON_KICK "Не делай так!" //Причина кика #define GRAB_MENU //Открывать меню граба или нет. Если нет сделайте так //#define GRAB_MENU (Стандартно открыто) enum //Цвет граба { r = 0.0, //Red g = 0.0, //Green b = 255.0, //Blue a = 200.0 //Alpha }; // new const Menu[][] = { "", "MENU_1", "MENU_2", "MENU_3", "MENU_4", "MENU_5", "MENU_6", "MENU_7" }; #define TSK_CHKE 50 #define SF_FADEOUT 0 new client_data[33][4] #define GRABBED 0 #define GRABBER 1 #define GRAB_LEN 2 #define FLAGS 3 #define CDF_IN_PUSH (1 mindist ) { len -= get_pcvar_num( p_speed ) if( len < mindist ) len = mindist client_data[id][GRAB_LEN] = len } else if( get_pcvar_num( p_auto_choke ) ) do_choke( id ) } public do_choke( id ) { new target = client_data[id][GRABBED] if( client_data[id][FLAGS] & CDF_NO_CHOKE || id == target || target > MAXPLAYERS) return new dmg = get_pcvar_num( p_choke_dmg ) new vec[3] FVecIVec( get_target_origin_f( target ), vec ) message_begin( MSG_ONE, SVC_SCREENSHAKE, _, target ) write_short( 999999 ) //amount write_short( 9999 ) //duration write_short( 999 ) //frequency message_end( ) message_begin( MSG_ONE, SVC_SCREENFADE, _, target ) write_short( 9999 ) //duration write_short( 100 ) //hold write_short( SF_FADE_MODULATE ) //flags write_byte( 200 ) //r write_byte( 0 ) //g write_byte( 0 ) //b write_byte( 200 ) //a message_end( ) message_begin( MSG_ONE, WTF_DAMAGE, _, target ) write_byte( 0 ) //damage armor write_byte( dmg ) //damage health write_long( DMG_CRUSH ) //damage type write_coord( vec[0] ) //origin[x] write_coord( vec[1] ) //origin[y] write_coord( vec[2] ) //origin[z] message_end( ) message_begin( MSG_BROADCAST, SVC_TEMPENTITY ) write_byte( TE_BLOODSTREAM ) write_coord( vec[0] ) //pos.x write_coord( vec[1] ) //pos.y write_coord( vec[2] + 15 ) //pos.z write_coord( random_num( 0, 255 ) ) //vec.x write_coord( random_num( 0, 255 ) ) //vec.y write_coord( random_num( 0, 255 ) ) //vec.z write_byte( 70 ) //col index write_byte( random_num( 50, 250 ) ) //speed message_end( ) new health = pev( target, pev_health ) - dmg set_pev( target, pev_health, float( health ) ) if( health < 1 ) dllfunc( DLLFunc_ClientKill, target ) emit_sound( target, CHAN_BODY, "player/PL_PAIN2.WAV", VOL_NORM, ATTN_NORM, 0, PITCH_NORM ) client_data[id][FLAGS] ^= CDF_NO_CHOKE set_task( get_pcvar_float( p_choke_time ), "clear_no_choke", TSK_CHKE + id ) } public clear_no_choke( tskid ) { new id = tskid - TSK_CHKE client_data[id][FLAGS] ^= CDF_NO_CHOKE } //Grabs the client and teleports them to the admin public force_grab(id, level, cid) { if( !cmd_access( id, level, cid, 1 ) || !get_pcvar_num( p_enabled ) ) return PLUGIN_HANDLED new arg[33] read_argv( 1, arg, 32 ) new targetid = cmd_target( id, arg, 1 ) if( is_grabbed( targetid, id ) ) return PLUGIN_HANDLED if( !is_user_alive( targetid ) ) { return PLUGIN_HANDLED } //Safe to tp target to aim spot? new Float:tmpvec[3], Float:orig[3], Float:torig[3], Float:trace_ret[3] new bool:safe = false, i get_view_pos( id, orig ) tmpvec = vel_by_aim( id, get_pcvar_num( p_min_dist ) ) for( new j = 1; j < 11 && !safe; j++ ) { torig[0] = orig[0] + tmpvec[i] * j torig[1] = orig[1] + tmpvec[i] * j torig[2] = orig[2] + tmpvec[i] * j traceline( tmpvec, torig, id, trace_ret ) if( get_distance_f( trace_ret, torig ) ) break engfunc( EngFunc_TraceHull, torig, torig, 0, HULL_HUMAN, 0, 0 ) if ( !get_tr2( 0, TR_StartSolid ) && !get_tr2( 0, TR_AllSolid ) && get_tr2( 0, TR_InOpen ) ) safe = true } //Still not safe? Then find another safe spot somewhere around the grabber pev( id, pev_origin, orig ) new try[3] orig[2] += 2 while( try[2] < 3 && !safe ) { for( i = 0; i < 3; i++ ) switch( try[i] ) { case 0 : torig[i] = orig[i] + ( i == 2 ? 80 : 40 ) case 1 : torig[i] = orig[i] case 2 : torig[i] = orig[i] - ( i == 2 ? 80 : 40 ) } traceline( tmpvec, torig, id, trace_ret ) engfunc( EngFunc_TraceHull, torig, torig, 0, HULL_HUMAN, 0, 0 ) if ( !get_tr2( 0, TR_StartSolid ) && !get_tr2( 0, TR_AllSolid ) && get_tr2( 0, TR_InOpen ) && !get_distance_f( trace_ret, torig ) ) safe = true try[0]++ if( try[0] == 3 ) { try[0] = 0 try[1]++ if( try[1] == 3 ) { try[1] = 0 try[2]++ } } } if( safe ) { set_pev( targetid, pev_origin, torig ) set_grabbed( id, targetid ) } return PLUGIN_HANDLED } public is_grabbed( target, grabber ) { for( new i = 1; i
во 1 дурак ты ! читай внимательно что он пишет! ДЛЯ ТЕБЯ ПОЯСНЯЮ, У ЕГО ИГРОКА С ФЛАГАМИ "nri" КАКИМ-ТО ОБРАЗОМ У ДАННОГО ИГРОКА ЕСТЬ "ГРАБ" НО В ГРАБЕ СТОИТ ФЛАГ "t" ЧТО ТУТ НЕ ПОНЯТНОГО ? во 2 мне твои хамские комментарии надоели! ты глупый, неадекватный!!! в 3 я уже тебе говорил не ЗНАЕШЬ НЕ ПИШИ, ЗАЧЕМ НАБИВАЕШЬ СЕБЕ СООБЩЕНИЯ СВОИМ ГЛУПЫМИ СЛОВАМИ ? ЧТО ЗА ИНТЕРЕСЫ У ТЕБЯ ? "ТЫ ДУРАК" ? ппц уже слов нету. ======================================================================================== Я посмотрю исходник, мне кажется ты все таки где то флаг выставил ему ты через ПУ админки прописываешь ? или user.ini? на сколько я вижу в исходнику по дефолу стоит флаг "r" а это значит ты не поменял флаг, или не заменил ахм файл ))) у меня все нормально работает) флаг "t" убираю граба нету, ставлю есть! вот переделанные амх и исходник Посмотреть вложение 850 Посмотреть вложение 851 Извиняюсь что здесь написал не много не по теме ( просто сил уже нету)