Skocz do zawartości
Dejw

[Rozwiązane] HUD Z CS 1.6

Rekomendowane odpowiedzi

Witam.

 

Chciałbym prosić o przerobienie kodu z Cod'a od Linuxa tak aby informacje o klasie wyświetlane dotychczas w hintboxie były wyświetlane w hud tak jak w cs 1.6

 

public Action:PokazInformacje(Handle:timer, any:client)
{
	if(!IsValidClient(client))
		return;

	if(IsPlayerAlive(client))
		PrintHintText(client, "<font color='#008000'>[Klasa: <b>%s</b>]\n[Xp: <b>%i</b> | Lv: <b>%i</b>]\n[Item: <b>%s</b> [<b>%i%%</b>]]</font>", nazwy_klas[klasa_gracza[client]], doswiadczenie_gracza[client], poziom_gracza[client], nazwy_itemow[item_gracza[client]], wytrzymalosc_itemu_gracza[client]);
	else
	{
		new spect = GetEntProp(client, Prop_Send, "m_iObserverMode");
		if(spect == 4 || spect == 5) 
		{
			new target = GetEntPropEnt(client, Prop_Send, "m_hObserverTarget");
			if(target != -1 && IsValidClient(target))
				PrintHintText(client, "<font color='#FFFFFF'>[Klasa: <b>%s</b>]\n[Xp: <b>%i</b> | Lv: <b>%i</b>]\n[Item: <b>%s</b> [<b>%i%%</b>]]</font>", nazwy_klas[klasa_gracza[target]], doswiadczenie_gracza[target], poziom_gracza[target], nazwy_itemow[item_gracza[target]], wytrzymalosc_itemu_gracza[target]);
		}
	}

	hud_task[client] = CreateTimer(0.5, PokazInformacje, client, TIMER_FLAG_NO_MAPCHANGE);
}

Mowa o efekcie z załącznika.

Mam nadzieję, że jest to w ogóle wykonalne.

10_screenshots_2011-11-12_00003.jpg

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Do kodu dodaj zmienną globalną

Handle g_hHud;

Następnie do OnPluginStart dodaj

g_hHud = CreateHudSynchronizer();

I to co wstawiłeś zamień na

Spoiler
public Action:PokazInformacje(Handle:timer, any:client)
{
	if(!IsValidClient(client))
		return;

	char sBuffer[512];
	if(IsPlayerAlive(client))
	{
		Format(sBuffer, sizeof(sBuffer), "[Klasa: %s]", nazwy_klas[klasa_gracza[client]]);
		Format(sBuffer, sizeof(sBuffer), "%s\n[Doświadczenie: %d]", sBuffer, doswiadczenie_gracza[client]);
		Format(sBuffer, sizeof(sBuffer), "%s\n[Poziom: %d]", sBuffer, poziom_gracza[client]);
		Format(sBuffer, sizeof(sBuffer), "%s\n[Perk: %s]", sBuffer, nazwy_itemow[item_gracza[client]]);
		Format(sBuffer, sizeof(sBuffer), "%s\n[Wytrzymałość: %d]", sBuffer, wytrzymalosc_itemu_gracza[client]);
	}
	else
	{
		new spect = GetEntProp(client, Prop_Send, "m_iObserverMode");
		if(spect == 4 || spect == 5) 
		{
			new target = GetEntPropEnt(client, Prop_Send, "m_hObserverTarget");
			if(target != -1 && IsValidClient(target))
			{
				Format(sBuffer, sizeof(sBuffer), "[Klasa: %s]", nazwy_klas[klasa_gracza[target]]);
				Format(sBuffer, sizeof(sBuffer), "%s\n[Doświadczenie: %d]", sBuffer, doswiadczenie_gracza[target]);
				Format(sBuffer, sizeof(sBuffer), "%s\n[Poziom: %d]", sBuffer, poziom_gracza[target]);
				Format(sBuffer, sizeof(sBuffer), "%s\n[Perk: %s]", sBuffer, nazwy_itemow[item_gracza[target]]);
				Format(sBuffer, sizeof(sBuffer), "%s\n[Wytrzymałość: %d]", sBuffer, wytrzymalosc_itemu_gracza[target]);
			}
		}
	}
	SetHudTextParams(0.03, 0.60, 1.0, 247, 4, 172, 255, 0, 10.0, 0.0, 0.0);
	ShowSyncHudText(client, g_hHud, sBuffer);

	hud_task[client] = CreateTimer(0.5, PokazInformacje, client, TIMER_FLAG_NO_MAPCHANGE);
}

 

W tej linijce ustawiasz położenie hudu, kolor itd. więcej informacji tutaj >>KLIK<<
Hej! Skorzystałeś z linku lub pobrałeś załącznik? Uhonoruj naszą pracę poprzez rejestrację na forum i rośnij razem z nami! .

SetHudTextParams(0.03, 0.60, 1.0, 247, 4, 172, 255, 0, 10.0, 0.0, 0.0);

 

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Działa. Temat do zamknięcia. Dziękuję!! 😉

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Wiadomość wygenerowana automatycznie

 

Temat został zamknięty. Powodem jest całkowite rozwiązanie problemu zawartego w temacie.

 

Jeśli się z tym nie zgadzasz, zaraportuj ten post z prośbą o ponowne otwarcie i kontynuację dyskusji.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.

×
×
  • Dodaj nową pozycję...