Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie
DeathRun

Przerobienie Invis by DarkGL

deathrun

  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
6 odpowiedzi w tym temacie

#1 Vakos

    Wszechwidzący

  • Użytkownik

Reputacja: 57
Pomocny

  • Postów:266
  • GG:
  • Steam:steam
  • Imię:Marcin
  • Lokalizacja:Opolskie
Offline

Napisano 10.07.2017 21:37

Czy może ktoś pomóc w zmianie działania pluginu invis?

Aktualnie plugin ukrywa wszystkich graczy na serwerze a chciałbym aby ukrywało tylko graczy ze swojego teamu -> CT nie widzi CT a TT nie widzi TT  - CT widzi TT, TT widzi CT.

 

SMA bądź link do pluginu: http://darkgl.pl/ind...ektywna-metoda/

 

/*
@author Rafal "DarkGL" Wiecek
@site www.darkgl.amxx.pl
*/

#include <amxmodx>
#include <cstrike>
#include <fakemeta>

const maxPlayer = 32;

new bool:g_bPlayerInvisible[ maxPlayer + 1 ],
bool:g_bWaterInvisible[ maxPlayer + 1];

new Array: gWaterEntity;

new bHookVisible = 0;

public plugin_init( )
{
register_plugin( "Invis", "1.0", "DarkGL");

gWaterEntity = ArrayCreate( 1 , 1 );

register_clcmd( "say /invis", "menuInvisDisplay" );
register_clcmd( "say_team /invis" , "menuInvisDisplay" );

register_menucmd( register_menuid( "" ), ( 1<<0 | 1<<1 | 1<<9 ) , "MenuInvis" );

register_forward( FM_AddToFullPack, "fwdAddToFullPack_Pre" );
register_forward( FM_AddToFullPack, "fwdAddToFullPack_Post" , 1 );

register_forward( FM_CheckVisibility,"checkVisibility")
}

public plugin_cfg( )
{
new iEnt = engfunc( EngFunc_FindEntityByString, -1, "classname", "func_water" );

while( iEnt ){

if( !pev_valid( iEnt ) ){
continue;
}

ArrayPushCell( gWaterEntity , iEnt );

iEnt = engfunc( EngFunc_FindEntityByString, iEnt, "classname", "func_water" );
}
}

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

if( !bHookVisible ){
return FMRES_IGNORED;
}

bHookVisible = false;

forward_return( FMV_CELL , 0 );

return FMRES_SUPERCEDE;
}

public fwdAddToFullPack_Pre( es_handle, e, ent, host, hostflags, player, pset ){
if( player ){
if(is_user_alive(host) && g_bPlayerInvisible[host] && host != ent && is_user_alive(ent) ){
bHookVisible = true;
}
}
}

public fwdAddToFullPack_Post( es_handle, e, ent, host, hostflags, player, pset )
{
if( is_user_alive( host ) && g_bWaterInvisible[host] && isEntWater( ent ) ){
set_es( es_handle, ES_Effects, EF_NODRAW );
}
}

public menuInvisDisplay( plr ){

static menu[ 512 ];

new len = 0;


len += format( menu[len], sizeof menu - len, "\r1. \wGracze: \y%s^n", g_bPlayerInvisible[plr] ? "Niewidoczni" : "Widoczni" );
len += format( menu[len], sizeof menu - len, "\r2. \wWoda: \y%s^n^n", ArraySize( gWaterEntity ) ? ( g_bWaterInvisible[plr] ? "Niewidoczna" : "Widoczna" ) : "Brak wody na mapie" );

len += format( menu[len], sizeof menu - len, "\r0. \wWyjscie" );

show_menu( plr, ( 1<<0 | 1<<1 | 1<<9 ), menu, -1 );

return PLUGIN_HANDLED;
}

public MenuInvis( plr, key )
{
switch( key )
{
case 0:
{
g_bPlayerInvisible[plr] = !g_bPlayerInvisible[plr];
menuInvisDisplay( plr );
}
case 1:
{
g_bWaterInvisible[plr] = !g_bWaterInvisible[plr];
menuInvisDisplay( plr );
}
default: show_menu( plr, 0, "" );
}
}

public client_connect( plr )
{
g_bPlayerInvisible[plr] = false;
g_bWaterInvisible[plr] = false;
}

bool: isEntWater( iEnt ){
for( new iCurrent = 0 ; iCurrent < ArraySize( gWaterEntity ) ; iCurrent++ ){

if( ArrayGetCell( gWaterEntity , iCurrent ) == iEnt ){
return true;
}

}

return false;
}


Użytkownik Vakos edytował ten post 10.07.2017 21:38

  • +
  • -
  • 0

#2 dredek

    Wszechobecny

  • Użytkownik

Reputacja: 162
Profesjonalista

  • Postów:476
  • GG:
  • Imię:Dawid
  • Lokalizacja:OLK
Offline

Napisano 10.07.2017 23:09

warunek if(get_user_team(id) == 1) //terro

if(get_user_team(id) == 2) //ct


  • +
  • -
  • 0

#3 Vakos

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 57
Pomocny

  • Postów:266
  • GG:
  • Steam:steam
  • Imię:Marcin
  • Lokalizacja:Opolskie
Offline

Napisano 11.07.2017 09:49

warunek if(get_user_team(id) == 1) //terro

if(get_user_team(id) == 2) //ct

 

W którym public'u dodać warunek?


  • +
  • -
  • 0

#4 dredek

    Wszechobecny

  • Użytkownik

Reputacja: 162
Profesjonalista

  • Postów:476
  • GG:
  • Imię:Dawid
  • Lokalizacja:OLK
Offline

Napisano 11.07.2017 20:50

 

warunek if(get_user_team(id) == 1) //terro

if(get_user_team(id) == 2) //ct

 

W którym public'u dodać warunek?

 

 

W tym, który wywołuje ukrywanie graczy


  • +
  • -
  • 0

#5 Vakos

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 57
Pomocny

  • Postów:266
  • GG:
  • Steam:steam
  • Imię:Marcin
  • Lokalizacja:Opolskie
Offline

Napisano 11.07.2017 21:17

 

 

warunek if(get_user_team(id) == 1) //terro

if(get_user_team(id) == 2) //ct

 

W którym public'u dodać warunek?

 

 

W tym, który wywołuje ukrywanie graczy

 

 

Dodałem, lecz nie działa tak jak chce.

Działa tylko dla CT, lecz nadal jak jesteś w CT to nie widzisz TT.


  • +
  • -
  • 0

#6 dredek

    Wszechobecny

  • Użytkownik

Reputacja: 162
Profesjonalista

  • Postów:476
  • GG:
  • Imię:Dawid
  • Lokalizacja:OLK
Offline

Napisano 11.07.2017 21:57

 

 

 

warunek if(get_user_team(id) == 1) //terro

if(get_user_team(id) == 2) //ct

 

W którym public'u dodać warunek?

 

 

W tym, który wywołuje ukrywanie graczy

 

 

Dodałem, lecz nie działa tak jak chce.

Działa tylko dla CT, lecz nadal jak jesteś w CT to nie widzisz TT.

 

 

Nie widzisz TT jak ukryłeś graczy jako CT czy jak bo nie rozumiem xD


  • +
  • -
  • 0

#7 Vakos

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 57
Pomocny

  • Postów:266
  • GG:
  • Steam:steam
  • Imię:Marcin
  • Lokalizacja:Opolskie
Offline

Napisano 11.07.2017 22:13

Jestem w CT, wpisuje komendę /invis -> klikam ukrycie graczy, jako iż jestem w CT chciałbym widzieć gracza który jest w TT.

Jak na razie ukrywa wszystkich graczy obecnych na serwerze.


  • +
  • -
  • 0





Również z jednym lub większą ilością słów kluczowych: deathrun

Użytkownicy przeglądający ten temat: 2

0 użytkowników, 2 gości, 0 anonimowych