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

[ROZWIĄZANE] Blokada komendy na say dla tt:)


  • Zamknięty Temat jest zamknięty
10 odpowiedzi w tym temacie

#1 krystek1299

    Zaawansowany

  • Zbanowany

Reputacja: 3
Nowy

  • Postów:117
  • Lokalizacja:Polska
Offline

Napisano 06.02.2012 12:10

Szukam pluginu ,który blokowałby komendę dla tt na deathrun przyklad:

say /xxx

I ta komenda mu nie działa:)
Ma to być tylko blokada na terroryste!

#2 FetaGreen

    Profesjonalista

  • Użytkownik

Reputacja: 40
Pomocny

  • Postów:178
  • Imię:Łukasz
  • Lokalizacja:Nysa
Offline

Napisano 06.02.2012 12:30

No to jeżeli masz
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?
  • +
  • -
  • 0

#3 krystek1299

    Zaawansowany

  • Autor tematu
  • Zbanowany

Reputacja: 3
Nowy

  • Postów:117
  • Lokalizacja:Polska
Offline

Napisano 06.02.2012 12:42

A mógłbyś mi dać gotowy /osobny plugin ,który by wprowdzał blokade dla tt /mógłby pokazywać jakiś tekst ,że funkcja niedostępna dla tt.
Bo coś nie do końca zrozumiałem:(

Użytkownik krystek1299 edytował ten post 06.02.2012 12:44


#4 FetaGreen

    Profesjonalista

  • Użytkownik

Reputacja: 40
Pomocny

  • Postów:178
  • Imię:Łukasz
  • Lokalizacja:Nysa
Offline

Napisano 06.02.2012 14:02

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;
}

Użytkownik FetaGreen edytował ten post 06.02.2012 14:03

  • +
  • -
  • 0

#5 krystek1299

    Zaawansowany

  • Autor tematu
  • Zbanowany

Reputacja: 3
Nowy

  • Postów:117
  • Lokalizacja:Polska
Offline

Napisano 06.02.2012 15:43

Zmieniłem dane na swoje ale nie działa.

#6 FetaGreen

    Profesjonalista

  • Użytkownik

Reputacja: 40
Pomocny

  • Postów:178
  • Imię:Łukasz
  • Lokalizacja:Nysa
Offline

Napisano 06.02.2012 17:01

Bo musisz dodać te dane do jakiegoś pluginu.
Daj plugin przykladowy w ktorym chcesz to zrobić i Ci to pokaże.
  • +
  • -
  • 0

#7 krystek1299

    Zaawansowany

  • Autor tematu
  • Zbanowany

Reputacja: 3
Nowy

  • Postów:117
  • Lokalizacja:Polska
Offline

Napisano 06.02.2012 18:27

No zrobiłem to:)
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 hardbot

    Banned

  • Zbanowany

Reputacja: 0
Nowy

  • Postów:3 049
Offline

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;
}


Goliath (07.02.2012 20:49):
"to jest chyba jasne, że false = 0 i PLUGIN_HANDLED = 0" - To zajrzyj sobie do pliku nagłówkowego amxconst.inc, "mistrzu".

Użytkownik hardbot edytował ten post 06.02.2012 23:31


#9 krystek1299

    Zaawansowany

  • Autor tematu
  • Zbanowany

Reputacja: 3
Nowy

  • Postów:117
  • Lokalizacja:Polska
Offline

Napisano 07.02.2012 12:07

Ok.Działa:)

Użytkownik krystek1299 edytował ten post 07.02.2012 12:14


#10 FetaGreen

    Profesjonalista

  • Użytkownik

Reputacja: 40
Pomocny

  • Postów:178
  • Imię:Łukasz
  • Lokalizacja:Nysa
Offline

Napisano 07.02.2012 12:12

To musi być w pluginie ktorym chcesz to zrobić.
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ć.
  • +
  • -
  • 0

#11 Goliath

    Godlike

  • Przyjaciel

Reputacja: 1 237
Godlike

  • Postów:2 334
  • GG:
  • Steam:steam
  • Imię:Maciej
  • Lokalizacja:Mońki
Offline

Napisano 07.02.2012 20:50

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Pomoc udzielona

Jeśli się z tym nie zgadzasz, Dołączona grafika raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.


Z pozdrowieniami,
Zespół AMXX.PL
  • +
  • -
  • 0




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

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