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.
|
[ROZWIĄZANE] Blokada komendy na say dla tt:)
#1
Napisano 06.02.2012 12:10
say /xxx
I ta komenda mu nie działa:)
Ma to być tylko blokada na terroryste!
#2
Napisano 06.02.2012 12:30
register_clcmd("say /xxx", "wywolajFunkcje");
To potem w tej funkcji robisz tak:
public wywolajFunkcje(id){ if(get_user_team(id) == 1) return 1; else { //TUTAJ FUNKCJA SIE WYWOLA DLA CT I SPECT } }
Proste, nie?
#3
Napisano 06.02.2012 12:42
Bo coś nie do końca zrozumiałem:(
Użytkownik krystek1299 edytował ten post 06.02.2012 12:44
#4
Napisano 06.02.2012 14:02
#include <amxmodx> public plugin_init() { register_plugin("Block Say in T", "0.1", "FetaGreen"); set_task(3.0, "registerSay", 0); } public registerSay(){ register_clcmd("say /xxx", "BlockForT"); register_clcmd("say_team /xxx", "BlockForT"); } public BlockForT(id){ if(get_user_team(id) == 1){ client_print(id, 2, "[Block] Komenda niedostepna dla T"); return 1; /* PLUGIN_HANDLED */ } else { return 0; /* PLUGIN_CONTINUE */ } return 0; }
Użytkownik FetaGreen edytował ten post 06.02.2012 14:03
#5
Napisano 06.02.2012 15:43
#6
Napisano 06.02.2012 17:01
Daj plugin przykladowy w ktorym chcesz to zrobić i Ci to pokaże.
#7
Napisano 06.02.2012 18:27
No ale nie ma żadnej rekacji...
Po prostu tt tak jak mógł wpisać x komende tak nadal ją może /tak zrobiłem to w pluginie ,którego komendę ma blokować.
#8
Napisano 06.02.2012 23:31
Sprawdź:
#include <amxmodx> public plugin_init() { register_plugin("Block Say in T", "0.1", "FetaGreen"); set_task(3.0, "registerSay", 0); } public registerSay(){ register_clcmd("say /xxx", "BlockForT"); register_clcmd("say_team /xxx", "BlockForT"); } public BlockForT(id){ if(get_user_team(id) == 1){ client_print(id, 2, "[Block] Komenda niedostepna dla T"); return 1; /* PLUGIN_HANDLED */ } else { return 0; /* PLUGIN_CONTINUE */ } return 0; }
Jakim cudem Return 0; pozwala na powtórzenie? to jest chyba jasne, że false = 0 i PLUGIN_HANDLED = 0
Nie wiem po co też obciążać serwer task'iem? Po co w ogóle tak rejestrować komendy?
#include <amxmodx>
#include <cstrike>
public plugin_init()
{
register_plugin("Block Say in T", "0.1", "FetaGreen");
register_clcmd("say /xxx", "BlockForT");
register_clcmd("say_team /xxx", "BlockForT");
}
public BlockForT(id)
{
if(cs_get_user_team(id) == CS_TEAM_T)
{
client_print(id, print_chat, "[Block] Komenda niedostepna dla T");
return PLUGIN_HANDLED;
}
else if(cs_get_user_team(id) == CS_TEAM_T)
{
//instrukcje;
return PLUGIN_CONTINUE;
}
return PLUGIN_CONTINUE;
}
Użytkownik hardbot edytował ten post 06.02.2012 23:31
#9
Napisano 07.02.2012 12:07
Użytkownik krystek1299 edytował ten post 07.02.2012 12:14
#10
Napisano 07.02.2012 12:12
hardbot taska dalem na przyklad nie na uzywanie. cl_myslenie 1
0 to CONTINUE
1 to HANDLED
Więc w else umieszczasz to co ma zrobić plugin.
Daj przykladowy plugin to Ci pokaże jak to zrobić.
#11
Napisano 07.02.2012 20:50
Ten temat został zamknięty przez moderatora.
Powód: Pomoc udzielona
Jeśli się z tym nie zgadzasz, raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.
Z pozdrowieniami,
Zespół AMXX.PL
Użytkownicy przeglądający ten temat: 0
0 użytkowników, 0 gości, 0 anonimowych