Dobry, zna ktoś może plugin, który podczas dołączenia na serwer wymusza u gracza komende /menu
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.
|

Automatyczna komenda /menu

Najlepsza odpowiedź _McHappy, 08.11.2016 13:43
@Aktualizacja
Potestuj
#include <amxmodx> #define PLUGIN "Automatyczna komenda" #define VERSION "0.0.1" #define AUTHOR "_McHappy" new g_iEvPrzydzial[33]; public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR); register_event( "TeamInfo", "event_druzyna", "a") } public client_connect(id) g_iEvPrzydzial[id] = 0; public event_druzyna() { new id = read_data(1); if(g_iEvPrzydzial[id]<=1) { client_cmd(id,"say /menu") g_iEvPrzydzial[id]++; } }Przejdź do postu

#1
Napisano 05.11.2016 00:23
#2
Napisano 05.11.2016 11:09
Nie wiem czy w ogóle coś takiego jest, więc napisałem go na szybko
#include <amxmodx> #include <amxmisc> #define PLUGIN "Menu" #define VERSION "1.0" #define AUTHOR "KrwioPijca" public plugin_init() register_plugin(PLUGIN, VERSION, AUTHOR) public client_connect(id) set_task(10.0,"komenda",id) public komenda(id) client_cmd(id,"say /menu")
Żegnam wszystkich.
#3
Napisano 05.11.2016 14:02
Nie wiem czy w ogóle coś takiego jest, więc napisałem go na szybko
#include <amxmodx> #include <amxmisc> #define PLUGIN "Menu" #define VERSION "1.0" #define AUTHOR "KrwioPijca" public plugin_init() register_plugin(PLUGIN, VERSION, AUTHOR) public client_connect(id) set_task(10.0,"komenda",id) public komenda(id) client_cmd(id,"say /menu")
a jest możliwość zrobienia tak aby ta komenda była dopiero aktywna po wyborze teamu ?
#4
Napisano 07.11.2016 13:05
ref to samo pytanie co wyżej
jest możliwość zrobienia tak aby ta komenda była dopiero aktywna po wyborze teamu ?
#5
Napisano 07.11.2016 17:18
Chodzi o odblokowanie możliwości użycia danej komendy dopiero po wybraniu drużyny, czy też zwyczajne 'wpisanie za gracza' owej komendy?
Do wykrycia, czy dany gracz wybrał drużynę, można zhookować event 'TeamInfo':
W plugin_init():
register_event( "TeamInfo", "event_wybor_druzyny_post", "a")
i gdzieś niżej:
public event_wybor_druzyny_post() { new id = read_data(1); //... kod }
Efektem ubocznym zastosowania tak czystego i prostego kodu, jest fakt, iż przy każdym wyborze drużyny, owa komenda będzie wywoływana.
Należy zatem dodatkowo sprawdzać, czy przed wyborem drużyny, dany gracz należy do "nieprzydzielonych" (czyli domyślnego teamu o id 0, ustawianego zaraz po dołączeniu do serwera).
Użytkownik _McHappy edytował ten post 07.11.2016 17:31
#6
Napisano 07.11.2016 20:23
chodzi tylko o zwyczajne 'wpisanie za gracza' owej komendy po wyborze przez niego teamu, mógłbyś mi połączyć ten kod z kodem wyżej od /menu ? ponieważ gdy ja chciałem to zrobić to mi 1 błąd przy kompilacji wyskakuje
#7
Napisano 07.11.2016 20:49
Hmm może warunek gdy gracz się odrodzi wykonuje funkcję? (więc analogicznie żywy gracz = musiał wybrać drużynę)
#include <amxmodx> #include <amxmisc> #include <hamsandwich> public plugin_init() { register_plugin("menu","1.0","xxl") RegisterHam(Ham_Spawn, "player", "respawn", 1); } public respawn(id) { if(is_user_connected(id)) { if(is_user_alive(id)) { display_menu(id) } } } public display_menu(id) { client_cmd(id,"say /menu") }
#8
Napisano 07.11.2016 22:02
już jest bliżej, ale to jednak nie to, mi chodzi dokładnie tylko wtedy gdy gracz który wejdzie na serwer i wybierze team do dopiero mu się włącza menu, bo jak wyżej podałeś to np po zgonie też się otwiera /menu a mi tylko potrzebne jest wtedy i tylko wtedy kiedy gracz wybierze team.
#9
Napisano 08.11.2016 11:43
Hmm może warunek gdy gracz się odrodzi wykonuje funkcję? (więc analogicznie żywy gracz = musiał wybrać drużynę)#include <amxmodx>#include <amxmisc>#include <hamsandwich>public plugin_init() { register_plugin("menu","1.0","xxl") RegisterHam(Ham_Spawn, "player", "respawn", 1);}public respawn(id){ if(is_user_connected(id)) { if(is_user_alive(id)) { display_menu(id) } }}public display_menu(id){client_cmd(id,"say /menu")}
A co jeśli gracz dołączy do obserwatorów?

#10
Napisano 08.11.2016 13:43 Najlepsza odpowiedź
@Aktualizacja
Potestuj
#include <amxmodx> #define PLUGIN "Automatyczna komenda" #define VERSION "0.0.1" #define AUTHOR "_McHappy" new g_iEvPrzydzial[33]; public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR); register_event( "TeamInfo", "event_druzyna", "a") } public client_connect(id) g_iEvPrzydzial[id] = 0; public event_druzyna() { new id = read_data(1); if(g_iEvPrzydzial[id]<=1) { client_cmd(id,"say /menu") g_iEvPrzydzial[id]++; } }
#11
Napisano 08.11.2016 13:58
@up wyswietli sie 2 razy
#include <amxmodx> #define PLUGIN "Automatyczna komenda" #define VERSION "0.0.1" #define AUTHOR "_McHappy" new bool:g_iEvPrzydzial[33]; public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR); register_event( "TeamInfo", "event_druzyna", "a") } public client_connect(id) g_iEvPrzydzial[id] = false; public event_druzyna() { new id = read_data(1); if(!g_iEvPrzydzial[id]) { client_cmd(id,"say /menu") g_iEvPrzydzial[id]=true } }
Cześć
#12
Napisano 08.11.2016 14:54

#13
Napisano 08.11.2016 14:57
a czasami ent gracza nie jest wrzucany do UNASSIGNED po jego wyjsciu?
Cześć
Użytkownicy przeglądający ten temat: 0
0 użytkowników, 0 gości, 0 anonimowych