Skocz do zawartości

Rekomendowane odpowiedzi

W celu manipulacji kolorem i przeźroczystością obiektów (nie tylko graczy, lecz wszystkiego, co jest postrzegane jako entity) powinniśmy skorzystać z tego kawałka kodu:

 

SetEntityRenderMode(client, RENDER_TRANSCOLOR);
SetEntityRenderColor(client, R, G, B, A);

Interesują nas argumenty R, G, B, A. Wszystkie przyjmują wartości w zakresie od 0 do 255.

R - kanał czerwony. Mówi, w jakim stopniu czerwony ma być obiekt

G - kanał zielony. Mówi, w jakim stopniu zielony ma być obiekt

B - kanał niebieski. Mówi, w jakim stopniu niebieski ma być obiekt

A - kanał alfa. Manipuluje od przeźroczystością. 0 - niewidzialny, 255 - pełna widoczność

 

Jeżeli nie bawiliście się wcześniej RGB, polecam pokombinować sobie z suwaczkami tutaj: https://www.rapidtables.com/web/color/RGB_Color.html

 

Przykładowo, fioletowy kolor obiektu można uzyskać, stosując takie wartości kanałów RGB:

Screenshot_1.png

 

A więc kod wyglądałby wtedy tak:

SetEntityRenderMode(client, RENDER_TRANSCOLOR);
SetEntityRenderColor(client, 98, 47, 201, 255);

 

Uzyskanie zwykłego, podstawowego koloru obiektu:

SetEntityRenderMode(client, RENDER_TRANSCOLOR);
SetEntityRenderColor(client, 255, 255, 255, 255);

 

Całkowita niewidka:

SetEntityRenderMode(client, RENDER_TRANSCOLOR);
SetEntityRenderColor(client, 0, 0, 0, 0);

 

Częściowa niewidzialność:

SetEntityRenderMode(client, RENDER_TRANSCOLOR);
SetEntityRenderColor(client, 255, 255, 255, 100);

 

 

mam nadzieję, że pomogłem 🙂

Sygnatura użytkownika

Użytkowniku! Pamiętaj, że nic tak nie motywuje jak porządna łapka w górę!

Nie mówię tylko o sobie - honoruj każdego, kto na to zasługuje 🙂

YouTube | SteamGitHub | MailboxGO | AchievementsGO | MuteGO

  • Lubię to!
Odnośnik do odpowiedzi
Udostępnij na innych stronach
  • 6 miesięcy temu...

Warto dodać, że w przypadku zmiany renderu gracza nie usuwa, ani nie zmienia się na domyślny po śmierci czy odrodzeniu.

Render ma też wpływ na efekty różnych entów, poniżej jest kod, który zmienia flagi wybuchu, gdy ent jest i nie jest przezroczysty.

 

	if ( m_nRenderMode == kRenderTransAlpha )
	{
		nFlags |= TE_EXPLFLAG_DRAWALPHA;
	}
	else if ( m_nRenderMode != kRenderTransAdd )
	{
		nFlags |= TE_EXPLFLAG_NOADDITIVE;
	}

tak samo jest na gib'ach (odłamki, kości po zniszczeniu gracza lub obiektu)

ale tutaj jest zmieniana intensywność koloru na maksymalną i tryb render na kRenderTransTexture.

		SetRenderColorA( 255 );
		m_nRenderMode = kRenderTransTexture;

 

jest tego więcej

Sygnatura użytkownika

Tworzę aplikacje i wtyczki pod Invision Community. Jeśli jest ktoś chętny to zapraszam do kontaktu poprzez PW.

Moje płatne i darmowe dodatki do IPS można znaleźć tutaj: Kliknij tutaj

  • Kocham to
  • Dobry pomysł!
Odnośnik do odpowiedzi
Udostępnij na innych stronach

Ostatnio przeglądający ten temat (5 użytkowników)

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

×
×
  • Dodaj nową pozycję...