#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#define PLUGIN "Massage HUD"
#define VERSION "1.0"
#define AUTHOR "Niquit"
new SyncHudObj
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
set_task(0.1, "Message_Hud", 0, "", 0, "b")
}
public Message_Hud(id)
{
new iHealth = get_user_health(id);
new iMoney = cs_get_user_money(id);
set_hudmessage(0, 255, 0, 0.0, 0.15, 0, 6.0, 12.0);
ShowSyncHudMsg(id, SyncHudObj, "Health: %s^nMoney: %s", iHealth,iMoney);
}
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.
|
Info w HUD(Życie i Kasa)
#1
Napisano 08.05.2012 10:15
#2
Napisano 08.05.2012 10:37
#include <amxmodx> #include <amxmisc> #include <cstrike> #define PLUGIN "Massage HUD" #define VERSION "1.0" #define AUTHOR "Niquit" #define ZADANIE_HUD 98211 new SyncHudObj public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) SyncHudObj = CreateHudSyncObj(); } public client_authorized(id) { set_task(6.0,"Message_Hud",id + ZADANIE_HUD) } public Message_Hud(id) { id-= ZADANIE_HUD; new iHealth = get_user_health(id); new iMoney = cs_get_user_money(id); set_hudmessage(0, 255, 0, 0.0, 0.15, 0, 6.0, 12.0); ShowSyncHudMsg(id, SyncHudObj, "Health: %s^nMoney: %s", iHealth,iMoney); set_task(0.1,"Message_Hud",id + ZADANIE_HUD) }
plugin_init nie zwraca ID do Message_Hud trzeba znaleść taki forward który zwróci
i SyncHudObj musisz zadeklarować jako obiekt HUDa.
Jak nie będzie działać - napisz.
#3
Napisano 08.05.2012 10:42
Spr zamienić :
set_hudmessage(0, 255, 0, 0.0, 0.15, 0, 6.0, 12.0);
ShowSyncHudMsg(id, SyncHudObj, "Health: %s^nMoney: %s", iHealth,iMoney);
na to:
set_hudmessage(0, 255, 0, 0.0, 0.15, 0, 6.0, 12.0, 3);
show_hudmessage(id,"Health: %s^nMoney: %s", iHealth,iMoney);
A.. mnie znów CheQ wyprzedził, jednakże z inną metodą ; d
ps: na taska z id nawet nie zwróciłem uwagi, przyznam.
Użytkownik ogieR- edytował ten post 08.05.2012 10:44
Irytuje mnie nieczytelny kod, jeśli oczekujesz ode mnie pomocy - zmień to !
#4
Napisano 08.05.2012 11:06
Oba sposoby próbowałem.
Użytkownik Niquit edytował ten post 08.05.2012 11:07
#5
Napisano 08.05.2012 11:10
#include <amxmodx> #include <amxmisc> #include <cstrike> #define PLUGIN "Massage HUD" #define VERSION "1.0" #define AUTHOR "Niquit" #define ZADANIE_HUD 98211 new SyncHudObj public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) SyncHudObj = CreateHudSyncObj(); } public client_authorized(id) { set_task(6.0,"Message_Hud",id + ZADANIE_HUD) } public Message_Hud(id) { id-= ZADANIE_HUD; new iHealth = get_user_health(id); new iMoney = cs_get_user_money(id); set_hudmessage(0, 255, 0, 0.0, 0.15, 0, 6.0, 12.0); ShowSyncHudMsg(id, SyncHudObj, "Health: %i^nMoney: %i", iHealth,iMoney); set_task(0.1,"Message_Hud",id + ZADANIE_HUD) }
hp i kasa to są cyfry potrzebują %i a nie %s (jak do tekstu) Spróbój to z góry.
#6
Napisano 08.05.2012 11:14
#7
Napisano 08.05.2012 12:23
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#define PLUGIN "Massage HUD"
#define VERSION "1.0"
#define AUTHOR "Niquit"
#define ZADANIE_HUD 98211
new g_HudSyncObj
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
g_HudSyncObj = CreateHudSyncObj();
}
public client_authorized(id)
{
set_task(6.0,"Message_Hud",id + ZADANIE_HUD)
}
public Message_Hud(id)
{
id-= ZADANIE_HUD;
new iHealth = get_user_health(id);
new iMoney = cs_get_user_money(id);
set_hudmessage(0, 255, 0, 0.0, 0.15, 0, 6.0, 12.0);
ShowSyncHudMsg(id, g_HudSyncObj, "Health: %d^nMoney: %d", iHealth,iMoney);
set_task(0.1,"Message_Hud",id + ZADANIE_HUD)
}
Działający kod.
Teraz mogę dodać do niego więcej bajerów.
Użytkownik Niquit edytował ten post 08.05.2012 12:25
#8
Napisano 08.05.2012 12:29
id -= ZADANIE_HUD set_hudmessage(0, 255, 255, 0.07, 0.40, 0, 0.0, 0.3, 0.0, 0.0); ShowSyncHudMsg(id,HUDa,"HP: %i ^nKasa: %i",get_user_health(id),cs_get_user_money(id)) set_task(0.1,"PokazHud",id+ZADANIE_HUD)
#10
Napisano 01.08.2012 16:45
Dośw
dodaj ^n i przechodzi do nowej lini
#11
Napisano 02.08.2012 07:08
btw - Message_hud mozesz skrócić bez przypisywania wartości. o tak
id -= ZADANIE_HUD set_hudmessage(0, 255, 255, 0.07, 0.40, 0, 0.0, 0.3, 0.0, 0.0); ShowSyncHudMsg(id,HUDa,"HP: %i ^nKasa: %i",get_user_health(id),cs_get_user_money(id)) set_task(0.1,"PokazHud",id+ZADANIE_HUD)
Nieoptymalne. Lepiej zrobić static health; health = get_user_health(id)
Użytkownik Nenczoks edytował ten post 02.08.2012 07:08
#13
Napisano 02.08.2012 09:02
ShowSyncHudMsg(id,HUDa,"HP: %i ^nKasa: %i",get_user_health(id),cs_get_user_money(id))
Dodaj kilka razy ^n aby przejść do kolejnej lini. I sprawdzaj sobie w grze czy już jest ok ustawione
przykład z dwoma ^n
ShowSyncHudMsg(id,HUDa,"^n^nHP: %i ^nKasa: %i",get_user_health(id),cs_get_user_money(id))
Użytkownik glut1997 edytował ten post 02.08.2012 09:02
#14
Napisano 02.08.2012 10:28
btw - Message_hud mozesz skrócić bez przypisywania wartości. o tak
id -= ZADANIE_HUD set_hudmessage(0, 255, 255, 0.07, 0.40, 0, 0.0, 0.3, 0.0, 0.0); ShowSyncHudMsg(id,HUDa,"HP: %i ^nKasa: %i",get_user_health(id),cs_get_user_money(id)) set_task(0.1,"PokazHud",id+ZADANIE_HUD)
Nieoptymalne. Lepiej zrobić static health; health = get_user_health(id)
Czemu? skoro i tak i tak zadziała a mój kod jest krótszy?
#16
Napisano 02.08.2012 10:36
ShowSyncHudMsg(id,HUDa,"^n^nHP: %i",get_user_health(id))
#17
Napisano 02.08.2012 10:45
Trzeba tylko dopisać to w odpowiednim miejscu:
^n[HP: %i] ^n[Kasa: %i]
a na końcu te dwie rzeczy:
get_user_health(id),cs_get_user_money(id)
Użytkownik Damiano1x edytował ten post 02.08.2012 10:47
#18
Napisano 02.08.2012 10:47
Głupoty gadasz ...btw - Message_hud mozesz skrócić bez przypisywania wartości. o tak
id -= ZADANIE_HUD set_hudmessage(0, 255, 255, 0.07, 0.40, 0, 0.0, 0.3, 0.0, 0.0); ShowSyncHudMsg(id,HUDa,"HP: %i ^nKasa: %i",get_user_health(id),cs_get_user_money(id)) set_task(0.1,"PokazHud",id+ZADANIE_HUD)
Nieoptymalne. Lepiej zrobić static health; health = get_user_health(id)
Co do tematu troche za dużo kombinujecie, nie lepiej po prostu gdy gracz wbija ( authorized ) stworzyć taska z flagą "b" co sekundę i pokazywać ile ma on hp ? A gdy wychodzi usunąć tego taska ?
Do pokazywania ile gracz ma hp spokojnie możecie użyć %d
If you can dream it, you can do it.
#19
Napisano 09.08.2012 01:10
btw - Message_hud mozesz skrócić bez przypisywania wartości. o tak
id -= ZADANIE_HUD set_hudmessage(0, 255, 255, 0.07, 0.40, 0, 0.0, 0.3, 0.0, 0.0); ShowSyncHudMsg(id,HUDa,"HP: %i ^nKasa: %i",get_user_health(id),cs_get_user_money(id)) set_task(0.1,"PokazHud",id+ZADANIE_HUD)
Nieoptymalne. Lepiej zrobić static health; health = get_user_health(id)
Czemu? skoro i tak i tak zadziała a mój kod jest krótszy?
A co Ty za bzdury gadasz. Nie ma znaczenia czy krótszy czy dłuższy.
Lepiej jest:
new zycie = get_user_health;
set_user_health(id, zycie + xx) lub [...] HP: %d [...], zycie, aniżeli HP: %d, get_user_health(id). Poczytaj sobie na wiki odnośnie optymalizacji pluginów.
Głupoty gadasz ...Nieoptymalne. Lepiej zrobić static health; health = get_user_health(id)
Może i nie static, ale new i wtedy nie będą głupoty!
+ to samo co wyżej.
Użytkownik Nenczoks edytował ten post 09.08.2012 01:12
Użytkownicy przeglądający ten temat: 1
0 użytkowników, 1 gości, 0 anonimowych