←  Problemy

AMXX.pl: Support AMX Mod X i SourceMod

»

Info w HUD(Życie i Kasa)

  • +
  • -
Niquit's Photo Niquit 08.05.2012

Nie będę się rozpisywał, nie działa plugin.

#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);
}
Quote

  • +
  • -
dasiek's Photo dasiek 08.05.2012

#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.
Quote

  • +
  • -
ogieR8's Photo ogieR8 08.05.2012

A nie koliduję Ci z innym pluginem co wywołuje HUD ? Bo jeśli tak to wystarczy zmienić kanał w set_hudmessage, a jeśli nie wiesz to sprawdź czy Ci coś nie wyskakuje podczas gry :)

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.
Edited by ogieR-, 08.05.2012 10:44.
Quote

  • +
  • -
Niquit's Photo Niquit 08.05.2012

Niby wyświetla, tylko zamiast ilości HP i Kasy pokazuje "@", "d" "Ld". Takie coś. :o
Oba sposoby próbowałem.
Edited by Niquit, 08.05.2012 11:07.
Quote

  • +
  • -
dasiek's Photo dasiek 08.05.2012

#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.
Quote

  • +
  • -
Niquit's Photo Niquit 08.05.2012

Nadal źle.
Quote

  • +
  • -
Niquit's Photo Niquit 08.05.2012

#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. :)
Edited by Niquit, 08.05.2012 12:25.
Quote

  • +
  • -
dasiek's Photo dasiek 08.05.2012

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)
Quote

shoote's Photo shoote 01.08.2012

a jak zrobic zeby jak jest po lewej "Klasa, Poziom, Perk, Dośw" zeby nizej pisalo "Zycie : "
Quote

  • +
  • -
glut's Photo glut 01.08.2012

Po

Dośw

dodaj ^n i przechodzi do nowej lini :D
Quote

Nenczoks's Photo Nenczoks 02.08.2012

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) ;>
sebul (02.08.2012 10:48):
Static jest tu nie potrzebny, lepiej opóźnić wykonywanie się taska, na 1 sekundę.

Edited by Nenczoks, 02.08.2012 07:08.
Quote

shoote's Photo shoote 02.08.2012

Po

Dośw

dodaj ^n i przechodzi do nowej lini :D


Ale jak dokladnie mam to zrobic, aby pisalo "zycie : " po dosw

Po

Dośw

dodaj ^n i przechodzi do nowej lini :D


Ale jak dokladnie mam to zrobic, aby pisalo "zycie : " po dosw
Quote

  • +
  • -
glut's Photo glut 02.08.2012

Jak masz te linijke

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))

Edited by glut1997, 02.08.2012 09:02.
Quote

  • +
  • -
dasiek's Photo dasiek 02.08.2012

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? O.o
Quote

shoote's Photo shoote 02.08.2012

glut, ale ja chce same "Zycie" pod na samym koncu jak jest klasa itd
Quote

  • +
  • -
glut's Photo glut 02.08.2012

to

ShowSyncHudMsg(id,HUDa,"^n^nHP: %i",get_user_health(id))
Quote

  • +
  • -
Damiano1x's Photo Damiano1x 02.08.2012

A nie łatwiej edytować to w silniku coda?

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)

Edited by Damiano1x, 02.08.2012 10:47.
Quote

  • +
  • -
speedkill's Photo speedkill 02.08.2012

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) ;>

Głupoty gadasz ...

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 ;)
Quote

Nenczoks's Photo Nenczoks 09.08.2012

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? :blink:


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.

Nieoptymalne. Lepiej zrobić static health; health = get_user_health(id) ;>

Głupoty gadasz ...


Może i nie static, ale new i wtedy nie będą głupoty!
+ to samo co wyżej.
Edited by Nenczoks, 09.08.2012 01:12.
Quote