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
 

rzeznik9871 - zdjęcie

rzeznik9871

Rejestracja: 29.12.2015
Aktualnie: Nieaktywny
Poza forum Ostatnio: 05.01.2026 21:47
-----

Moje tematy

Drugi kanał client_print_center

05.01.2026 01:26

Wszyscy wiemy co spowoduje ten kod

client_print(id,print_center,"WIADOMOSC NA SRODKU EKRANU")

Jeżeli ktoś nie wie to wyświetli nam on wiadomość na środku ekranu w stylu wiadomości "Counter-Terrorist Win" itp... na czas wartości cvara scr_centertime (domyślnie 2)

 

Ciekawostką jest to, że istnieje tak jakby drugi kanał dla print center, możemy wyświetlić dwie takie wiadomości na raz.

Co więcej możemy przy pomocy drugiego kanału używać formatowania i sprawić żeby nasza wiadomość wyświetliła się na środku ale np w górnej części ekranu lub dolnej, wystarczy użyć "^n".

Tym drugim kanałem jest funkcja:

engclient_print(id,engprint_center,"Przykladowy tekst")

Wydawałoby się że jest to to samo co zwykłe "client_print..." ale nie, nie wiem dokładnie dlaczego ona działa inaczej, ale może się to komuś przydać, poniżej przykładowy kod

public test(id)
{
	client_print(id,print_center,"ZWYKLY CLIENT PRINT CENTER")
	engclient_print(id,engprint_center,"^n^n^n^n^n^n^n^n---=== ENGCLIENT PRINT CENTER ===---^n^n^n^n^03 mozna jeszcze nizej :)")
	
	return PLUGIN_HANDLED
}

A poniżej screenshot efektu

de-dust20000.jpg

Miejsce wyświetlania jest mocno uzależnione od rozdzielczości ekranu, na 1440p wygląda to tak na 640x480 napisy z engclient_print będą dużo niżej

Wykrycie wcisnięcia klawisza B (komenda buy)

05.01.2026 00:23

Wymagania:

Rehlds + ReGameDLL_CS + mp_buy_anywhere 1/2/3 lub plugin Buyzone Range

/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>

#define PLUGIN "Client buy open"
#define VERSION "1.0"
#define AUTHOR "fresh"

new msg_buyclose

public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
	
	register_clcmd("client_buy_open","clcmd_client_buy_open")
	msg_buyclose = get_user_msgid("BuyClose")
}

public clcmd_client_buy_open(id)
{
	client_print(id,3,"Wcisnąłem [B] na klawiaturze!")
	send_buyclose(id)
}

public send_buyclose(id)
{
	if(!is_user_connected(id))
		return;
		
	message_begin(MSG_ONE ,msg_buyclose,_,id)
	message_end()
}

Jak to działa?

 

- Buyzone jest dostępny na całej mapie

- Gracz wciska klawisz B, gra otwiera mu VGui buymenu

- Klient gry wysyła do serwera informacje o otwarciu buymenu (komenda "client_buy_open")

- Serwer zamyka buymenu poprzez wysłanie message "BuyClose" - ten sam co podczas wybiegnięcia z buyzone

 

Efekt: Możemy zbindować cokolwiek pod klawisz B

 

Wady: Na serwerze po wciśnięciu B wyskoczy nam standardowe buymenu z csa na czas *ping_gracza* x 2, na lanie buymenu będzie praktycznie niezauważalne