Skocz do zawartości

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.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie

Dana ramka sprites


  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
10 odpowiedzi w tym temacie

#1 zasepa

    Pomocny

  • Użytkownik

Reputacja: 0
Nowy

  • Postów:73
  • Lokalizacja:polska
Offline

Napisano 07.06.2016 21:48

Witam

Mam pewien problem. Aktualnie wyświetlam sprite'sa .spr nad głową gracza. Wszystko działa dobrze.

Pytanie brzmi jak wyświetlić daną ramkę sprite nad głową gracza?

Ważne aby ten sprites był widoczny tylko dla gracza(id)

Aktualnie używam:

Proszę o pomoc

stock Create_Spr_head_Ranga(id, ent, vOffset, iSprite, life)
{
	message_begin(MSG_ONE_UNRELIABLE, SVC_TEMPENTITY, _, id);
	write_byte(TE_PLAYERATTACHMENT);
	write_byte(ent);	   	
	write_coord(vOffset);	
	write_short(iSprite);		
	write_short(life);		  
	message_end();
}

  • +
  • -
  • 0

#2 Robiin

    Godlike

  • Support Team

Reputacja: 1 103
Super Hero

  • Postów:2 043
  • Imię:Robert
  • Lokalizacja:Wrocław
Offline

Napisano 07.06.2016 23:53

https://amxx.pl/topi...nad-głową-enta/

 

id to id, nie rozumiem w czym problem. Jak ustawisz na 0 to powinni wszyscy mieć, jeżeli o to Ci chodzi.


  • +
  • -
  • 0

Nie dołączam do żadnej sieci, nie pomagam z tworzeniem paczek, nie napisze pluginów za zero.


#3 zasepa

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:73
  • Lokalizacja:polska
Offline

Napisano 08.06.2016 08:06

Chodzi o to że chcę zrobić spritera z kilkoma ramkami.

Podobnie jak posiada ten plugin: https://amxx.pl/topi...4-sprite-timer/

Zawiera w 1 spriterze 10 ramek. W każdej kolejna cyfra. Do odliczania czasu

Byłby on dobry ALE ALE tego spritera będą widzieć wszyscy!

A ja chcę aby tylko osoba(id) widziała tego spritera na graczu(ent) oraz abym mógł ustawić którą ramkę ma zobaczyć.

Mam nadzieje ze teraz dobrze wyjaśniłem :)

Proszę o pomoc

 

 


  • +
  • -
  • 0

#4 Linux'

    Pan Pomocny

  • Power User

Reputacja: 549
Wszechwiedzący

  • Postów:1 501
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:AmxMod i SourceMod
Offline

Napisano 10.06.2016 15:43

Przed wyswietleniem spritesa, dodajesz sprawdzanie czy gracz posiada okreslony warunek.


  • +
  • -
  • 1

b35020692_qesnxqa.png


#5 zasepa

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:73
  • Lokalizacja:polska
Offline

Napisano 10.06.2016 20:25

Przed wyswietleniem spritesa, dodajesz sprawdzanie czy gracz posiada okreslony warunek.

 

...Mi chodzi jak wyświetlić dana ramkę spritesa. Bo sprites może zawierać animacje a więc kilka ramek w sobie. I czy właśnie da się wyświetlić dana ramkę i w jaki sposób?

Bo po co mam tworzyć 10 osobnych spritesów, skoro mogę utworzyć 1 sprites z 10 ramkami.

Jest taka możliwość?

Pozdrawiam


  • +
  • -
  • 0

#6 Linux'

    Pan Pomocny

  • Power User

Reputacja: 549
Wszechwiedzący

  • Postów:1 501
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:AmxMod i SourceMod
Offline

Napisano 13.06.2016 11:37

Chyba już rozumiem. Wydaje mi sie, że jako tako metody takiej nie znajdziesz chociaż glowy sobie uciąć nie dam. Natomiast mozesz ustawic render modelu u wszystkich graczy którzy nie posiadają określonego warunku na 0 co sprawi, że nie będą widzieć bytu.


  • +
  • -
  • 1

b35020692_qesnxqa.png


#7 zasepa

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:73
  • Lokalizacja:polska
Offline

Napisano 14.06.2016 08:04


Natomiast mozesz ustawic render modelu u wszystkich graczy którzy nie posiadają określonego warunku na 0 co sprawi, że nie będą widzieć bytu.

 

To mi odpowiada. Lecz nie bardzo wiem jak to zrobić. Za pewne to będzie pętla przelatujaca przez graczy i ustawiajaca im ten model na 0 hmm ale w jaki sposób?

Pozdrawiam


  • +
  • -
  • 0

#8 Linux'

    Pan Pomocny

  • Power User

Reputacja: 549
Wszechwiedzący

  • Postów:1 501
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:AmxMod i SourceMod
Offline

Napisano 14.06.2016 10:36

Po stworzeniu bytu, ustawiasz mu render na 0 a wiec:

set_rendering(ent, kRenderFxNone, 0, 0, 0, kRenderTransTexture, 0);

Nastepnie rejestrujesz

register_forward(FM_AddToFullPack, "AddToFullPack", 1);

i dodajesz

public AddToFullPack(es_handle, e, ent, host, hostflags, player, pSet)
{
	if(!is_user_connected(host) || !pev_valid(ent))
		return FMRES_IGNORED;

	if(warunek_spelniony)
		set_es(es_handle, ES_RenderAmt, 255.0); // 255 pelna widocznosc

	return FMRES_IGNORED;
}

Podejrzewam tylko, ze takie dzialanie moze miec i swoje bledy. Widziec bedziesz wszystkie stworzone byty w pelnej widocznosci ale i to mozna naprawic. Po stworzeniu enta dodajesz jego id do zmiennej globalnej a nastepnie w AddToFullPack sprawdzasz czy ent to id stworzonej zmiennej.


  • +
  • -
  • 1

b35020692_qesnxqa.png


#9 zasepa

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:73
  • Lokalizacja:polska
Offline

Napisano 14.06.2016 22:47

:o niezły pomysł z tym. Nie wiedziałem że tak można :D

Hmm rozumiem że 

set_es(es_handle, ES_RenderAmt, 255.0); // 255 pelna widocznosc 

ustawi widoczność tego enta graczowi "host"??

 

Oraz czy wykonanie tego:

public AddToFullPack(es_handle, e, ent, host, hostflags, player, pSet)
{
    if(!is_user_connected(host) || !pev_valid(ent))
        return FMRES_IGNORED;

    if(warunek_spelniony)
        set_es(es_handle, ES_RenderAmt, 255.0); // 255 pelna widocznosc

    return FMRES_IGNORED;
}

będzie wtedy gdy byt zostanie utworzony?

Czy jak?

Bo byty będą tworzone podczas gry.

 

Bardzo dziękuje za pomoc :D


Użytkownik zasepa edytował ten post 14.06.2016 22:59

  • +
  • -
  • 0

#10 Linux'

    Pan Pomocny

  • Power User

Reputacja: 549
Wszechwiedzący

  • Postów:1 501
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:AmxMod i SourceMod
Offline

Napisano 15.06.2016 07:33

Tak, "host" to id osoby obserwujacej byt. AddToFullPack wykonywany jest za kazdym razem (cos jak FM_Think). Mozesz poczytac o nim wiecej np na alliedmod.


  • +
  • -
  • 1

b35020692_qesnxqa.png


#11 zasepa

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:73
  • Lokalizacja:polska
Offline

Napisano 15.06.2016 13:12

Bardzo dziękuje za pomoc.

Jeszcze nie testowałem, ale w najbliższych dniach po testuje i dam znać czy działa.


  • +
  • -
  • 0




Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych