CS1.BG | DUST2 NOSHTA GARMI [RANKED PLAY] #1
45.144.155.113:27015
de_dust2
Играчи: 30/32
de_dust2
Cs-PlovdiV.com - Aim Attack 93.123.16.4:27022 aim_aztec Играчи: 0/16
★ [ALFA-GAME.NET] # WAR3FT [16]RACES [25]LVL [4]SHOPMENUS [GOLD menu] UNIQUE MODE SAVEXP CSDM★ 45.144.155.168:27017 cs_italy Играчи: 20/28

adding lines to existing invis plugin

В този раздел можете да подавате всякакви заявки за намиране, изработка или преработка на плъгини/модове.
Аватар
inferno
Извън линия
Потребител
Потребител
Мнения: 2
Регистриран на: 20 Фев 2024, 22:37

adding lines to existing invis plugin

Мнение от inferno » 22 Фев 2024, 19:08

So i need to add 3 more options to this code

Players
Water
Knife
Pistol
Hud


replace the existing option visible and invisible with [ON] (with green text AND [OFF] with red text
for knife and pistol make them invisible just like players and water
When you make players invisible make only your team invisible not the opponent team
Hud is to turn on and off hud_draw 1 and hud_draw 0

#include <amxmodx> #include <engine> #include <fakemeta> #include <hamsandwich> #define MAX_ENTITYS 900+15*32 // (900+15*SERVER_SLOTS) is the calculation cs uses but it can be bypassed by the "-num_edicts <x>"-parameter new bool:g_bPlayerInvisible[33]; new bool:g_bWaterInvisible[33]; new bool:g_bWaterEntity[MAX_ENTITYS]; new bool:g_bWaterFound; new g_iSpectatedId[33]; public plugin_init( ) { register_plugin( "Invis", "2.0", "SchlumPF" ); register_clcmd( "say /invis", "menuInvisDisplay" ); register_menucmd( register_menuid( "\rInvisibility - SchlumPF^n^n" ), 1023, "menuInvisAction" ); register_forward( FM_AddToFullPack, "fwdAddToFullPack_Post", 1 ); RegisterHam( Ham_Spawn, "player", "hamSpawnPlayer_Post", 1 ); register_event( "SpecHealth2", "eventSpecHealth2", "bd" ); } public plugin_cfg( ) { new ent = -1; while( ( ent = find_ent_by_class( ent, "func_water" ) ) != 0 ) { // pev( ent, pev_skin ) == CONTENTS_WATER is also true on func_water entities if( !g_bWaterFound ) { g_bWaterFound = true; } g_bWaterEntity[ent] = true; } // thanks to connor for finding the following two detections ent = -1; while( ( ent = find_ent_by_class( ent, "func_illusionary" ) ) != 0 ) { if( pev( ent, pev_skin ) == CONTENTS_WATER ) { if( !g_bWaterFound ) { g_bWaterFound = true; } g_bWaterEntity[ent] = true; } } ent = -1; while( ( ent = find_ent_by_class( ent, "func_conveyor" ) ) != 0 ) { if( pev( ent, pev_spawnflags ) == 3 ) { if( !g_bWaterFound ) { g_bWaterFound = true; } g_bWaterEntity[ent] = true; } } } public fwdAddToFullPack_Post( es_handle, e, ent, host, hostflags, player, pset ) { if( player && g_bPlayerInvisible[host] && host != ent && ent != g_iSpectatedId[host] ) { static const Float:corner[8][3] = { { -4096.0, -4096.0, -4096.0 }, { -4096.0, -4096.0, 4096.0 }, { -4096.0, 4096.0, -4096.0 }, { -4096.0, 4096.0, 4096.0 }, { 4096.0, -4096.0, -4096.0 }, { 4096.0, -4096.0, 4096.0 }, { 4096.0, 4096.0, -4096.0 }, { 4096.0, 4096.0, 4096.0 } }; // rounded; distance from the map's center to the corners; sqrt( 4096^2 + 4096^2 + 4096^2 ) static const Float:map_distance = 7094.480108; static Float:origin[3]; get_es( es_handle, ES_Origin, origin ); static i; while( get_distance_f( origin, corner ) > map_distance ) { if( ++i >= sizeof( corner ) ) { // better to nullify the varibale now then doing it each time before the loop i = 0; } } set_es( es_handle, ES_Origin, corner ); set_es( es_handle, ES_Effects, get_es( es_handle, ES_Effects ) | EF_NODRAW ); } else if( g_bWaterInvisible[host] && g_bWaterEntity[ent]) { set_es( es_handle, ES_Effects, get_es( es_handle, ES_Effects ) | EF_NODRAW ); } } public hamSpawnPlayer_Post( id ) { g_iSpectatedId[id] = 0; } // thanks to xPaw who told me about this event public eventSpecHealth2( id ) { g_iSpectatedId[id] = read_data( 2 ); } public menuInvisDisplay( id ) { static menu[256]; new len = formatex( menu, 255, "\rInvisibility - SchlumPF^n^n" ); len += formatex( menu[len], 255 - len, "\r1. \wPlayers: %s^n", g_bPlayerInvisible[id] ? "invisible" : "visible" ); if( g_bWaterFound ) { len += formatex( menu[len], 255 - len, "\r2. \wWater: %s^n", g_bWaterInvisible[id] ? "invisible" : "visible" ); } //else //{ // len += formatex( menu[len], 255 - len, "\r2. \wWater: There is no water on this map!^n" ); //} len += formatex( menu[len], 255 - len, "^n\r0. \wExit" ); show_menu( id, ( 1<<0 | 1<<1 | 1<<9 ), menu, -1 ); return PLUGIN_HANDLED; } public menuInvisAction( id, key ) { switch( key ) { case 0: { g_bPlayerInvisible[id] = !g_bPlayerInvisible[id]; menuInvisDisplay( id ); } case 1: { if( g_bWaterFound ) { g_bWaterInvisible[id] = !g_bWaterInvisible[id]; } menuInvisDisplay( id ); } case 9: show_menu( id, 0, "" ); } } public client_connect( id ) { g_bPlayerInvisible[id] = false; g_bWaterInvisible[id] = false; g_iSpectatedId[id] = 0; }

  • Подобни теми
    Отговори
    Преглеждания
     Последно мнение

Обратно към “Заявки за плъгини”

Кой е на линия

Потребители разглеждащи този форум: Semrush [Bot] и 1 гост