←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

[ROZWIĄZANE] Pytanie - "stopowanie...


Najlepsza odpowiedź MAGNET 01.09.2013 00:43

Po 1. nie ma modułów xD

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;
Przejdź do postu
Zablokowany

  • +
  • -
Koxownik - zdjęcie Koxownik 31.08.2013

Witam, Jako iż jestem zielony i uczę się kodowania w języku PAWN piszę "mini" plug-inki aby sprawdzić jak działają co po niektóre funkcje. Pytanie na dziś.
/* 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.
Odpowiedz

  • +
  • -
Najlepsza odpowiedź MAGNET - zdjęcie MAGNET 01.09.2013

Po 1. nie ma modułów xD

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;

Użytkownik MAGNET edytował ten post 01.09.2013 00:44
Odpowiedz

  • +
  • -
Koxownik - zdjęcie Koxownik 01.09.2013

Moduły zjadło. :D A co do reszty, posłużę się tym. Uczę się i każdy taki komentarz bardzo mi pomaga ;) Dzięki za informację
Odpowiedz
Udostępnij Udostępnij
Zablokowany