←  Problemy

AMXX.pl: Support AMX Mod X i SourceMod

»

Pokazywanie HP na HUD ( < 255)

Zablokowany

Gość_deLL_* 18.01.2010

Witam,

Jeżeli ktoś ma więcej HP niż 255 powinno pokazywać w HUD. A nie pokazuje. Zobaczcie i pomóżcie jak możecie :'( :'(

#include <amxmodx>

#define PLUGIN "ShowHP"
#define VERSION "1.0"
#define AUTHOR "deLL"


public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
	set_task(0.5, "pokazHP", _,_, _, "b")
}

public pokazHP(id)
{
	new hp = get_user_health(id)
	if(hp > 255) {
		set_hudmessage(255, 170, 0, 0.01, 0.89, 0, 6.0, 12.0)
		show_hudmessage(id, "Twoje HP: %i", hp)
	}
}
Odpowiedz

  • +
  • -
G[o]Q - zdjęcie G[o]Q 18.01.2010

bo hp powinno byc tablica czyli hp[33] i sprawdzasz if (hp[id]>255){
//code here :D
}
Odpowiedz

  • +
  • -
Vertricus - zdjęcie Vertricus 18.01.2010

@Up LOL :F
set_task(0.5, "pokazHP", _,_, _, "b") >>>> ID TASKA = 0

public pokazHP(id) >>>>> public pokazHP(id=0)

Serwer to no life więc życia nie pobierze o_O
Odpowiedz

  • +
  • -
Portek - zdjęcie Portek 18.01.2010

W ramach uzupełnienia powyższego posta:

public client_putinserver(id){
set_task(0.5, "pokazHP", _,_, _, "b")
}
Odpowiedz

Gość_deLL_* 18.01.2010

Napisze mi ktoś jak powinien wyglądać poprawny kod?
Odpowiedz

  • +
  • -
mgr inż. Pavulon - zdjęcie mgr inż. Pavulon 18.01.2010

To może coś takiego:

#include <amxmodx>

public plugin_init() {
register_plugin("ShowHP", "1.0", "AMXX.PL")
}

public pokazHP(id)
{
new hp = get_user_health(id)

if(hp > 255) {
set_hudmessage(255, 170, 0, 0.01, 0.89, 0, 6.0, 12.0)
show_hudmessage(id, "Twoje HP: %i", hp)
}
set_task(0.5, "pokazHP", id)
}

public client_putinserver(id)
{
set_task(0.5, "pokazHP", id)
}

public client_disconnect(id)
{
if (task_exists(id))
remove_task(id)
}
Odpowiedz

Gość_deLL_* 18.01.2010

Wszystko ładnie pokazuje, ale HP aktualizuje z dużym opóźnieniem.
Odpowiedz

  • +
  • -
mgr inż. Pavulon - zdjęcie mgr inż. Pavulon 18.01.2010

set_task(0.5, "pokazHP", id)

0.5sekundy. tak miałeś więc nie zmieniałem.
Odpowiedz

Gość_deLL_* 18.01.2010

set_task(0.5, "pokazHP", id)

0.5sekundy. tak miałeś więc nie zmieniałem.


No tak, ale dostaje powiedzmy serię z AK to ten HUD znika i nie pokazuje się aż mnie zabiją.
Odpowiedz

  • +
  • -
Owner123 - zdjęcie Owner123 18.01.2010

#include <amxmodx>

public plugin_init() {
	register_plugin("ShowHP", "1.0", "AMXX.PL")
	register_event("ResetHUD", "ResetHUD", "e")
	register_event("Health", "Health", "e")
}

public pokazHP(id)
{
	new hp = get_user_health(id)
	
	if(hp > 255) {
		set_hudmessage(255, 170, 0, 0.01, 0.89, 0, 6.0, 12.0)
		show_hudmessage(id, "Twoje HP: %i", hp)
	}
	set_task(0.5, "pokazHP", id)
}

public ResetHUD(id)
	pokazHP(id)

public Health(id)
	pokazHP(id)


Robiłem na szybko więc może nie działać ...
Zaraz wklepie to do Studio i sprawdze.
Edit.
Ok kompiluje się, więc powinno działać, choć znając mnie pewnie coś zrąbałem ;]
Użytkownik Owner123 edytował ten post 18.01.2010 21:23
Odpowiedz

  • +
  • -
Vertricus - zdjęcie Vertricus 18.01.2010

Jeżeli ktoś ma więcej HP niż 255 powinno pokazywać w HUD.

No tak, ale dostaje powiedzmy serię z AK to ten HUD znika i nie pokazuje się aż mnie zabiją.

jeśli hp>255 pokazuj
jeśli nie nie pokazuj
Więc jak dostanie serie i ma mniej niż 255 HUD znika i nie pojawia się do póki nie będziesz miał hp więcej || dedniesz :F
[określ o co dokładnie chodzi i wtedy można pomóc]
[tj. ma wiadomość na hudzie znikać?]
Odpowiedz

Seba - zdjęcie Seba 19.01.2010

/* Plugin generated by AMXX-Studio */



#include <amxmodx>

#include <amxmisc>



#define PLUGIN "Nowy Plugin"

#define VERSION "1.0"

#define AUTHOR "Sn!ff3r"



new hud



public plugin_init() {

	register_plugin(PLUGIN, VERSION, AUTHOR)

	

	register_event("Health", "Health", "be")

	

	hud = CreateHudSyncObj()

}



public Health(id)

{

	static hp

	hp = read_data(1)

	

	if(hp >= 255)

	{

		remove_task(id)

		

		set_hudmessage(255, 170, 0, 0.01, 0.89, 0, 6.0, 12.0)

		ShowSyncHudMsg(id, hud, "Twoje hp: %d", hp)

		

		set_task(10.0, "show_health", id)

	} else {

		remove_task(id)

	}	

}



public show_health(id)

{

	static hp

	hp = get_user_health(id)

	

	if(hp >= 255)

	{

		set_hudmessage(255, 170, 0, 0.01, 0.89, 0, 6.0, 12.0)

		ShowSyncHudMsg(id, hud, "Twoje hp: %d", hp)

		

		set_task(10.0, "show_health", id)

	}	

}
Odpowiedz
Zablokowany