←  Poradniki oraz Łatki

AMXX.pl: Support AMX Mod X i SourceMod

»

Tutorial
HUD taki jak w Codzie

  • +
  • -
Krejzol - zdjęcie Krejzol 24.10.2010

Szukamy;
public write_hud(id)
{
if (player_lvl[id] == 0)
player_lvl[id] = 1

new tpstring[1024]

new Float:xp_now
new Float:xp_need
new Float:perc

if (last_update_xp[id] == player_xp[id])
{
perc = last_update_perc[id]
}
else
{
//Calculate percentage of xp required to level
if (player_lvl[id] == 1)
{
xp_now = float(player_xp[id])
xp_need = float(LevelXP[player_lvl[id]])
perc = xp_now*100.0/xp_need
}
else
{
xp_now = float(player_xp[id])-float( LevelXP[player_lvl[id]-1])
xp_need = float(LevelXP[player_lvl[id]])-float(LevelXP[player_lvl[id]-1])
perc = xp_now*100.0/xp_need
}
}

last_update_xp[id] = player_xp[id]
last_update_perc[id] = perc

if(player_class[id]!=Paladyn)
format(tpstring,1023,"Klasa: %s Level: %i (%0.0f%s) Item: %s", Race[player_class[id]], player_lvl[id], perc,"%%",player_item_name[id])
else
format(tpstring,1023,"Klasa: %s Level: %i (%0.0f%s) Item: %s Skoki: %i/%i", Race[player_class[id]], player_lvl[id], perc,"%%",player_item_name[id],JumpsLeft[id],JumpsMax[id])

message_begin(MSG_ONE,gmsgStatusText,{0,0,0}, id)
write_byte(0)
write_string(tpstring)
message_end()
}


I zamiast tego;
	if(player_class[id]!=Paladyn)
format(tpstring,1023,"Klasa: %s Level: %i (%0.0f%s) Item: %s", Race[player_class[id]], player_lvl[id], perc,"%%",player_item_name[id])
else
format(tpstring,1023,"Klasa: %s Level: %i (%0.0f%s) Item: %s Skoki: %i/%i", Race[player_class[id]], player_lvl[id], perc,"%%",player_item_name[id],JumpsLeft[id],JumpsMax[id])

message_begin(MSG_ONE,gmsgStatusText,{0,0,0}, id)
write_byte(0)
write_string(tpstring)
message_end()
}


Dajemy to;
if(player_class[id]!=Paladyn)
{
set_hudmessage(255, 255, 255, 0.03, 0.20, 0, 6.0, 1.0)
show_hudmessage(id, "Zycie: %i^nKlasa: %s^nPoziom: %i (%0.0f%s)^nPrzedmiot: %s^nWytrzymalosc: %i",get_user_health(id), Race[player_class[id]], player_lvl[id], perc,"%%", player_item_name[id],item_durability[id])
}
else
{
set_hudmessage(255, 255, 255, 0.03, 0.20, 0, 6.0, 1.0)
show_hudmessage(id, "Zycie: %i^nKlasa: %s^nPoziom: %i^n(%0.0f%s)^nSkoki: %i/%i^nPrzedmiot: %s^nWytrzymalosc: %i",get_user_health(id), Race[player_class[id]], player_lvl[id], perc,"%%",JumpsLeft[id],JumpsMax[id], player_item_name[id], item_durability[id])
}
message_begin(MSG_ONE,gmsgStatusText,{0,0,0}, id)
write_byte(0)
write_string(tpstring)
message_end()
}
Odpowiedz

  • +
  • -
sebul - zdjęcie sebul 24.10.2010

To przypadkiem nie znika po czasie?
Już sobie sam odpowiedziałem... przejrzałem kod no i jednak nie ;]
Użytkownik sebul edytował ten post 24.10.2010 12:49
Odpowiedz

FreZZy - zdjęcie FreZZy 19.11.2010

fajnie by było jakbyś dał skrina bo niektórzy nie wiedzą jak wygląda hud w codzie a nie chce im sie sciagac syfu żeby to zobaczyć... ^D^
Odpowiedz

czarasd - zdjęcie czarasd 26.11.2010

dokładnie
Odpowiedz

  • +
  • -
sebul - zdjęcie sebul 26.11.2010

Dołączona grafika
Coś takiego można zrobić z tym hudem ;]
Odpowiedz

FreZZy - zdjęcie FreZZy 26.11.2010

ok fajnie thx

Jakbyś mógł napisać jeszcze jak zrobić:
- wszystko ciutke większe i w jednej linii
- na zielono
Wiem że się da O:)
Odpowiedz

  • +
  • -
sebul - zdjęcie sebul 26.11.2010

- wszystko ciutke większe i w jednej linii

Większe chyba się nie da, a w jednej linii, to niestety, ale ucina. Wiem bo sprawdzałem.

- na zielono

zamieniasz
set_hudmessage(255, 255, 255, 0.03, 0.20, 0, 6.0, 1.0)

na
set_hudmessage(0, 255, 0, 0.03, 0.20, 0, 6.0, 1.0)

pierwsze 3 cyferki, czyli 0, 255 i 0 są odpowiedzialne za kolor.
Użytkownik sebul edytował ten post 26.11.2010 16:20
Odpowiedz

FreZZy - zdjęcie FreZZy 26.11.2010

zamieniasz
set_hudmessage(255, 255, 255, 0.03, 0.20, 0, 6.0, 1.0)

na
set_hudmessage(0, 255, 0, 0.03, 0.20, 0, 6.0, 1.0)

pierwsze 3 cyferki, czyli 0, 255 i 0 są odpowiedzialne za kolor.


ta wiem RGB, tylko nie chciało mi się szukać jak jest zielony ;d

Danke, +++
Odpowiedz

FreZZy - zdjęcie FreZZy 20.12.2010

PS Jeszcze pytanko, chciałbym żeby zamiast dodatkowej linijki "wytrzymałość", wartość wytrzymałości itemu była by tuż obok niego (edited: dałem sobie rade) oraz, żeby pod nazwą itemu wyświetlało HP

Bd +
Użytkownik FreZZy edytował ten post 20.12.2010 10:37
Odpowiedz

  • +
  • -
KariiO - zdjęcie KariiO 20.12.2010

set_hudmessage(255, 255, 255, 0.03, 0.20, 0, 6.0, 1.0)

    show_hudmessage(id, "Klasa: %s^nPoziom: %i (%0.0f%s)^nPrzedmiot: %s^nZycie: %i^nWytrzymalosc: %i", Race[player_class[id]], player_lvl[id], perc,"%%", player_item_name[id],get_user_health(id),item_durability[id])

}

else

{

    set_hudmessage(255, 255, 255, 0.03, 0.20, 0, 6.0, 1.0)

    show_hudmessage(id, "Klasa: %s^nPoziom: %i^n(%0.0f%s)^nSkoki: %i/%i^nPrzedmiot: %s^nZycie: %i^nWytrzymalosc: %i", Race[player_class[id]], player_lvl[id], perc,"%%",JumpsLeft[id],JumpsMax[id], player_item_name[id],get_user_health(id), item_durability[id])

}

Odpowiedz

FreZZy - zdjęcie FreZZy 20.12.2010

o to mi chodziło:

get_user_health(id)


A tak szerzej to o to: :P


set_hudmessage(255, 255, 255, 0.03, 0.20, 0, 6.0, 1.0)
show_hudmessage(id, "Klasa: %s^nPoziom: %i (%0.0f%s)^nPrzedmiot: %s (%i)^nZycie: %i", Race[player_class[id]], player_lvl[id], perc,"%%", player_item_name[id],item_durability[id],get_user_health(id))
}
else
set_hudmessage(255, 255, 255, 0.03, 0.20, 0, 6.0, 1.0)
show_hudmessage(id, "Klasa: %s^nPoziom: %i (%0.0f%s)^nSkoki: %i/%i^nPrzedmiot: %s (%i)^nZycie: %i", Race[player_class[id]], player_lvl[id], perc,"%%",JumpsLeft[id],JumpsMax[id], player_item_name[id],item_durability[id],get_user_health(id))
}

Użytkownik FreZZy edytował ten post 20.12.2010 12:48
Odpowiedz

  • +
  • -
Monsulito - zdjęcie Monsulito 15.01.2011

sebul mógłbyś podać kod takiego huda?
Odpowiedz

  • +
  • -
sebul - zdjęcie sebul 15.01.2011

(...)
}

last_update_xp[id] = player_xp[id]
last_update_perc[id] = perc

new hapek = get_user_health(id);
if(player_class[id]!=Paladyn) {
set_hudmessage(255, 255, 255, 0.01, 0.90, 0, 6.0, 0.9, 0.0, 0.3);
show_hudmessage(id, "HP: %i Klasa: %s Lvl: %i (%0.0f%s)^nItem: %s Wytrzymalosc: %i", hapek, Race[player_class[id]], player_lvl[id], perc, "%", player_item_name[id], item_durability[id]);
}
else {
set_hudmessage(255, 255, 255, 0.01, 0.90, 0, 6.0, 0.9, 0.0, 0.3);
show_hudmessage(id, "HP: %i Klasa: %s Lvl: %i (%0.0f%s) Skoki: %i/%i^nItem: %s Wytrzymalosc: %i", hapek, Race[player_class[id]], player_lvl[id], perc, "%", JumpsLeft[id], JumpsMax[id], player_item_name[id], item_durability[id]);
}
message_begin(MSG_ONE,gmsgStatusText,{0,0,0}, id)
write_byte(0)
message_end()
}

Chyba wiesz gdzie to wkleić ;]
Odpowiedz

  • +
  • -
Monsulito - zdjęcie Monsulito 15.01.2011

Tak wiem dzięki ;]
Odpowiedz

cesik - zdjęcie cesik 20.02.2011

a ja niewiem mozesz powiedziec :]

ic zy to bedzie wyswietlalo cale hp? nawet jesli mamy wiecej niz 255?
Użytkownik cesik edytował ten post 20.02.2011 04:10
Odpowiedz

  • +
  • -
sebul - zdjęcie sebul 20.02.2011

Szukaj przy
last_update_xp[id] = player_xp[id]


A co do hp, to tak.
Odpowiedz

cesik - zdjęcie cesik 20.02.2011

dzięki

czyli ze dodam to w odpowiednie miejsce i juz bedzie dzialac wszystko? bez innych kombinacji

4 error
Dołączona grafika
Użytkownik cesik edytował ten post 20.02.2011 08:43
Odpowiedz

  • +
  • -
ParadisO - zdjęcie ParadisO 18.03.2011

mam problem usunąłem stare frakcje i teraz jak wchodzę na serwer to ten hud mi po chwili znika, a jak zmienie broń to się spowrotem pojawia :/
co zrobić ?
Odpowiedz

  • +
  • -
Szymon035 - zdjęcie Szymon035 19.03.2011

Bo widocznie musiałeś zrobić coś źle.
Wiem że króraś z tych liczb set_hudmessage(255, 255, 255, 0.01, 0.90, 0, 6.0, 0.9, 0.0, 0.3);
odpowiada za to że ma to być na stałe tylko nie wiem która
Odpowiedz

  • +
  • -
ParadisO - zdjęcie ParadisO 20.03.2011

testowałem sobie ustawienia takie jak tutaj mają koledzy ale na końcu wróciłem do pierwotnego ustawienia

Dodano 22 marzec 2011 - 19:59:

Wiem że króraś z tych liczb set_hudmessage(255, 255, 255, 0.01, 0.90, 0, 6.0, 0.9, 0.0, 0.3);
odpowiada za to że ma to być na stałe tylko nie wiem która

A może mi ktoś powiedzieć, która ??

Odpowiedz