/* Plugin generated by AMXX-Studio */ #include #include #include #define PLUGIN "Test" #define VERSION "1.0" #define AUTHOR "n0pe." public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_clcmd("say /ulecz","leczenie") } public leczenie(id){ set_user_health(id, get_user_health(id)+10); if(get_user_health(id)){ set_hudmessage(0, 255, 0, -1.0, -1.0) show_hudmessage(id, "Zregenerowales Sobie 10 HP"); } if(get_user_flags(id) & ADMIN_MENU){ set_user_health(id, get_user_health(id)+20); set_hudmessage(0, 255, 0, -1.0, -1.0) show_hudmessage(id, "Zregenerowales Sobie 20 HP"); } }W aktualnym "ustawieniu" można regenerować HP co moment. Moje pytanie brzmi, jak mam to zakończyć. Chodzi o to że możesz użyć "x" razy tej komendy, po użyciu "x" razy tej komendy będzie ona po prostu nie dostępna. Mam nadzieję, że otrzymam spodziewaną pomoc od doświadczonych kolegów. Pozdrawiam.
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] Pytanie - "stopowanie" funkcji
Best Answer MAGNET , 01.09.2013 00:43
Po 1. nie ma modułów
Po 2. :
if(get_user_health(id)){
Skąd plugin ma wiedzieć, kiedy pobiera, to jest nie potrzebne
Po 3. składnia jest niepoprawna
Aby zrobić limit dodaję zmienną, którą nazwałem ilosc_uzyc
Następnie w publicu leczenie wkleilem ilosc_uzyc = 5 i przy kazdym wywolaniu komendy odejmuję 1 od tej zmiennej
Kiedy już ilosc_uzyc będzie równa 0 wywołuję PLUGIN_HANDLED i client_printa
I na końcu wywołuję funkcję ResetHUD, żeby w nowej rundzie móc znowu się regenerować
Całość wygląda tak:
/* Plugin generated by AMXX-Studio */#include <amxmodx>#include <amxmisc>#include <fun>#define PLUGIN "Test"#define VERSION "1.0"#define AUTHOR "n0pe."new ilosc_uzyc[33];public plugin_init() {register_plugin(PLUGIN, VERSION, AUTHOR)register_clcmd("say /ulecz","leczenie")register_event("ResetHUD", "ResetHUD", "abe");}public leczenie(id){ilosc_uzyc[id] = 5;if (!ilosc_uzyc[id])client_print(id, print_center, "Wykorzystales juz limit uzdrowien")return PLUGIN_HANDLED;if(get_user_flags(id) & ADMIN_MENU){set_user_health(id, get_user_health(id) + 20)ilosc_uzyc[id]--set_hudmessage(0, 255, 0, -1.0, -1.0)show_hudmessage(id, "Zregenerowales Sobie 20 HP");}else{set_user_health(id, get_user_health(id) + 20)ilosc_uzyc[id]--set_hudmessage(0, 255, 0, -1.0, -1.0)show_hudmessage(id, "Zregenerowales Sobie 10 HP");}return PLUGIN_CONTINUE;}public ResetHUD(id)ilosc_uzyc[id] = 5;Go to the full post
#1
Posted 31.08.2013 20:33
#2
Posted 01.09.2013 00:43 Best Answer
Po 1. nie ma modułów
Po 2. :
if(get_user_health(id)){
Skąd plugin ma wiedzieć, kiedy pobiera, to jest nie potrzebne
Po 3. składnia jest niepoprawna
Aby zrobić limit dodaję zmienną, którą nazwałem ilosc_uzyc
Następnie w publicu leczenie wkleilem ilosc_uzyc = 5 i przy kazdym wywolaniu komendy odejmuję 1 od tej zmiennej
Kiedy już ilosc_uzyc będzie równa 0 wywołuję PLUGIN_HANDLED i client_printa
I na końcu wywołuję funkcję ResetHUD, żeby w nowej rundzie móc znowu się regenerować
Całość wygląda tak:
/* Plugin generated by AMXX-Studio */#include <amxmodx>#include <amxmisc>#include <fun>#define PLUGIN "Test"#define VERSION "1.0"#define AUTHOR "n0pe."new ilosc_uzyc[33];public plugin_init() {register_plugin(PLUGIN, VERSION, AUTHOR)register_clcmd("say /ulecz","leczenie")register_event("ResetHUD", "ResetHUD", "abe");}public leczenie(id){ilosc_uzyc[id] = 5;if (!ilosc_uzyc[id])client_print(id, print_center, "Wykorzystales juz limit uzdrowien")return PLUGIN_HANDLED;if(get_user_flags(id) & ADMIN_MENU){set_user_health(id, get_user_health(id) + 20)ilosc_uzyc[id]--set_hudmessage(0, 255, 0, -1.0, -1.0)show_hudmessage(id, "Zregenerowales Sobie 20 HP");}else{set_user_health(id, get_user_health(id) + 20)ilosc_uzyc[id]--set_hudmessage(0, 255, 0, -1.0, -1.0)show_hudmessage(id, "Zregenerowales Sobie 10 HP");}return PLUGIN_CONTINUE;}public ResetHUD(id)ilosc_uzyc[id] = 5;
Edited by MAGNET, 01.09.2013 00:44.
#3
Posted 01.09.2013 00:49