←  Problemy

AMXX.pl: Support AMX Mod X i SourceMod

»

Podszywanie się :(

Locked

radek_b11's Photo radek_b11 02.10.2008

Witam

Zwracam się do was z prośbą i pytaniem a mianowicie czy istnieje taki plugin który nie zezwoli korzystania z nicka.

Np:

Jestem headadminem serwerów Mordownia.
Co jakiś czas jakieś dziecko wchodzi na mój nick: Raduss tyle że da sobie np po nicku pare spacji.
Chcialbym aby można było to zablokować i tylko osoba np z jakas flaga lub imunitetem moze jej użyć.
Jest to uciążliwe nie tylko dla mnie ale i dla całej reszty adminów pod ktorych się podszywają dzieci..

Proszę o podanie takiego pluginu jeśli istnieje lub taki który chociaż w połowie zapobiegnie podszywaniu.No chyba że macie jakieś naturalne pomysły.




Pozdrawiam
Quote

  • +
  • -
MafiaDL's Photo MafiaDL 02.10.2008

lol .... mozna tylko zablokowac takie nicki jakie sam zablokujesz.. np w users ini "a'

niech sie podszywa nic nie zrobi bez admina chyba niektorzy maja mozg i nie dadzą sie nabrać.... może któryś mod ci takie coś napisze.....MOŻE ;>
Quote

  • +
  • -
mgr inż. Pavulon's Photo mgr inż. Pavulon 02.10.2008

Daj np nicka jako tag na hasło tj masz nicka radek_b11 to daj
"radek" "haslo" "z" "ab"
i jeżeli nie będzie miał ustawionego hasła to dostanie kick'a, tylko ustaw to poniżej swojego admina.
Quote

  • +
  • -
wizu's Photo wizu 02.10.2008

Skompiluj:
#include <amxmodx>
#include <amxmisc>

#define PLUGIN "zlaz z mojego nicka"
#define VERSION "1.2"
#define AUTHOR "wizu"


public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
	
	// Add your code here...
}

public client_authorized(id)
{ 
if (get_user_flags(id) & ADMIN_LEVEL_<img src='https://amxx.pl/public/style_emoticons/<#EMO_DIR#>/cool.gif' class='bbc_emoticon' alt='B)' />
{
client_print ( id, print_console, "Witam admina")	
} else
{
new nick[18]
get_user_name(id, nick, 17) 
new userID = get_user_userid(id) 
if (contain(nick, "Radus")!=-1) server_cmd("kick #%d ^"zlaz z mojego nicku!!!^"", userID)
}
return PLUGIN_CONTINUE
}

public client_infochanged(id)
{
if (get_user_flags(id) & ADMIN_LEVEL_<img src='https://amxx.pl/public/style_emoticons/<#EMO_DIR#>/cool.gif' class='bbc_emoticon' alt='B)' />
{
client_print ( id, print_console, "Witam admina")   
} else
{ 
    new nowynick[32]
    get_user_info(id, "name", nowynick,31)
    new userID = get_user_userid(id) 
    if(!is_user_connected(id) || is_user_bot(id)) return PLUGIN_CONTINUE;
    if (contain(nowynick, "Radus")!=-1) server_cmd("kick #%d ^"zlaz z mojego nicku!!!^"", userID)
}
return PLUGIN_CONTINUE;
}  
Zamiast Radus wpisz sobie kilka początkowych liter Twojego nicku, albo zostaw tak jak jest. Powinno działać. Nie testowałem :P Będzie kickować każdego, kogo nick będzie zawierał ten ciąg znaków (w tym momencie jest to Radus).

@EDIT
Nowa wersja :P Sprawdza także po zmianie nicka w czasie gry, czy nie zmienił na nick, który zawiera dany wyraz.
Jeszcze jeden edit, tym razem dodane sprawdzanie, czy w czasie gry to nie admina czasami zmienił sobie nick. Jeśli to on ,to go puszcza :P
Quote

radek_b11's Photo radek_b11 02.10.2008

Dzięki wielkie działa bardzo dobrze.
Bym prosił jeszcze abyś mi pokazał jak zrobić na 2 nicki co miałbym edytować..

Daje pomógł.
Quote

  • +
  • -
MafiaDL's Photo MafiaDL 03.10.2008

wizu, good :D a jednak mozna :P

Daj to w plugin tzn opublikuj :D
Quote

  • +
  • -
wizu's Photo wizu 03.10.2008

Na dwa nicki będzie to najprościej tak:

#include <amxmodx>
#include <amxmisc>

#define PLUGIN "zlaz z mojego nicka"
#define VERSION "1.2"
#define AUTHOR "wizu"


public plugin_init() {
    register_plugin(PLUGIN, VERSION, AUTHOR)
   
    // Add your code here...
}

public client_authorized(id)
{
if (get_user_flags(id) & ADMIN_LEVEL_<img src='https://amxx.pl/public/style_emoticons/<#EMO_DIR#>/cool.gif' class='bbc_emoticon' alt='B)' />
{
client_print ( id, print_console, "Witam admina")   
} else
{
new nick[18]
get_user_name(id, nick, 17)
new userID = get_user_userid(id)
if (contain(nick, "Radus")!=-1) server_cmd("kick #%d ^"zlaz z mojego nicku!!!^"", userID)
if (contain(nick, "jakisinnynick")!=-1) server_cmd("kick #%d ^"zlaz z mojego nicku!!!^"", userID)
}
return PLUGIN_CONTINUE
}

public client_infochanged(id)
{
if (get_user_flags(id) & ADMIN_LEVEL_<img src='https://amxx.pl/public/style_emoticons/<#EMO_DIR#>/cool.gif' class='bbc_emoticon' alt='B)' />
{
client_print ( id, print_console, "Witam admina")   
} else
{
    new nowynick[32]
    get_user_info(id, "name", nowynick,31)
    new userID = get_user_userid(id)
    if(!is_user_connected(id) || is_user_bot(id)) return PLUGIN_CONTINUE;
    if (contain(nowynick, "Radus")!=-1) server_cmd("kick #%d ^"zlaz z mojego nicku!!!^"", userID)
    if (contain(nick, "jakisinnynick")!=-1) server_cmd("kick #%d ^"zlaz z mojego nicku!!!^"", userID)
}
return PLUGIN_CONTINUE;
}

Potem zrobię na cvary :P
Quote

radek_b11's Photo radek_b11 03.10.2008

Witam

Przykro mi..
Trochę się znam na sma (przeróbkach)
Zrobiłem wcześniej przed tym jak to napisales na 2 nicki lecz serwer nie wpusi wtedy nikogo :(
Quote

  • +
  • -
wizu's Photo wizu 03.10.2008

Próbój tego:
#include <amxmodx>
#include <amxmisc>

#define PLUGIN "zlaz z mojego nicka"
#define VERSION "1.2"
#define AUTHOR "wizu"


public plugin_init() {
    register_plugin(PLUGIN, VERSION, AUTHOR)
   
    // Add your code here...
}

public client_authorized(id)
{
if (get_user_flags(id) & ADMIN_LEVEL_<img src='https://amxx.pl/public/style_emoticons/<#EMO_DIR#>/cool.gif' class='bbc_emoticon' alt='B)' />
{
client_print ( id, print_console, "Witam admina")   
} else
{
new nick[18]
get_user_name(id, nick, 17)
new userID = get_user_userid(id)
    if (contain(nowynick, "Radus")!=-1 || contain(nick, "jakisinnynick")!=-1) server_cmd("kick #%d ^"zlaz z mojego nicku!!!^"", userID)
}
return PLUGIN_CONTINUE
}

public client_infochanged(id)
{
if (get_user_flags(id) & ADMIN_LEVEL_<img src='https://amxx.pl/public/style_emoticons/<#EMO_DIR#>/cool.gif' class='bbc_emoticon' alt='B)' />
{
client_print ( id, print_console, "Witam admina")   
} else
{
    new nowynick[32]
    get_user_info(id, "name", nowynick,31)
    new userID = get_user_userid(id)
    if(!is_user_connected(id) || is_user_bot(id)) return PLUGIN_CONTINUE;
    if (contain(nowynick, "Radus")!=-1 || contain(nick, "jakisinnynick")!=-1) server_cmd("kick #%d ^"zlaz z mojego nicku!!!^"", userID)
}
return PLUGIN_CONTINUE;
}
Quote

Seba's Photo Seba 03.10.2008

/* Plugin generated by AMXX-Studio */



#include <amxmodx>

#include <amxmisc>



#define PLUGIN "Nowy Plugin"

#define VERSION "1.0"

#define AUTHOR "Sn!ff3r"



#define ACCESS ADMIN_KICK



new reason[] = "Nick zarezerwowany"



new names[][] = {

	"nick1",

	"nick2",

	"jakis tam nick",

	"ablblala"	

}



public plugin_init() {

	register_plugin(PLUGIN, VERSION, AUTHOR)

}



public checkname(id)

{

	if(get_user_flags(id) & ACCESS)

		return

	

	new name[33]

	get_user_name(id,name,32)

	

	for(new i = 0; i < sizeof names; i++)

	{

		if(equal(names[i],name))

		{

			server_cmd("kick #%d %s",get_user_userid(id),reason)

			return

		}	

	}	

}



public client_infochanged(id)

{

	checkname(id)	

}



public client_authorized(id)

{

	checkname(id)	

}
myślę że dorabianie obsługi plików nie jest potrzebne.
Quote

  • +
  • -
wizu's Photo wizu 03.10.2008

Ale przecież jemu nie chodziło o rezerwację nicków... W twoim wypadku jeżeli ktoś doda sobie np jakiś znak po nicku, to już nie zadziała. Jeżeli już to trzeba by było zmienić na takie coś:
/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>

#define PLUGIN "Nowy Plugin"
#define VERSION "1.0"
#define AUTHOR "Sn!ff3r"

#define ACCESS ADMIN_KICK

new reason[] = "Nick zarezerwowany"

new names[][] = {
    "nick1",
    "nick2",
    "jakis tam nick",
    "ablblala"   
}

public plugin_init() {
    register_plugin(PLUGIN, VERSION, AUTHOR)
}

public checkname(id)
{
    if(get_user_flags(id) & ACCESS)
        return
   
    new name[33]
    get_user_name(id,name,32)
   
    for(new i = 0; i < sizeof names; i++)
    {
        if(contain(names[i], name)!=-1)
        {
            server_cmd("kick #%d %s",get_user_userid(id),reason)
            return
        }   
    }   
}

public client_infochanged(id)
{
    checkname(id)   
}

public client_authorized(id)
{
    checkname(id)   
}
Quote
Locked