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

Pobieranie pozycji bomby


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

#1 csMaster

    Wszechwiedzący

  • Power User

Reputacja: 14
Początkujący

  • Postów:542
  • Lokalizacja:localhost
Offline

Napisano 23.08.2019 13:51

Mam plugin który wyświetla wszystkim tt gdzie jest bomba w postaci sprite laserbeam.

set_task(1.0, "bomb_update_position", .flags="b");

public bomb_update_position()
{
	new ent = find_ent_by_class(-1, "weapon_c4");
	while(ent > 0)
	{
		for(new i = 1; i <= 32; i++)
		{
			if(!is_user_alive(i))
				continue;
			
			if(get_user_team(i) != 1)
				continue;
			
			new Float:my_origin[3], Float:target_origin[3];
			entity_get_vector(i, EV_VEC_origin, my_origin);
			entity_get_vector(ent, EV_VEC_origin, target_origin);
                        //...

Pobierając w ten sposób pozycje bomby, sprite tworzy się w miejscu w którym byłem kiedy te bombę wyrzuciłem.

Jak pobrać pozycje leżącej bomby ? Zrobiłem gdzieś błąd (chociażby w classname) czy może błąd jest w dalszej części kodu ?


  • +
  • -
  • 0

#2 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 555
Godlike

  • Postów:11 986
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Online

Napisano 23.08.2019 14:27

pobierasz tutaj pozycje gracza więc :P skoro masz ent id po co Ci loop przez wszystkich graczy ?
  • +
  • -
  • 0

#3 Rivit

    Godlike

  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 23.08.2019 14:55


Pobierając w ten sposób pozycje bomby, sprite tworzy się w miejscu w którym byłem kiedy te bombę wyrzuciłem.


 

Dokładnie tak jest.

Jeśli chcesz pozycje bomby, która leży musisz poszukać po entity 'weaponbox'.

 


Rivit (23.08.2019 18:38):
teraz to sobie uświadomiłem, a mój świeży plugin też ma tą wade że pobiera miejsce skąd gracz upuścił pake

  • +
  • -
  • 1

#4 csMaster

    Wszechwiedzący

  • Autor tematu
  • Power User

Reputacja: 14
Początkujący

  • Postów:542
  • Lokalizacja:localhost
Offline

Napisano 26.08.2019 14:10

pobierasz tutaj pozycje gracza więc :P skoro masz ent id po co Ci loop przez wszystkich graczy ?

Pozycje bomby wyświetlam przez TE_BEAMPOINTS, więc żeby każdemu wyświetlić sprite w innej części ekranu muszę te pozycje wyskalować przez xs_ dla każdego gracza.

Użyłem 'weaponbox' i modelu plecaka, teraz działa jak powinno.


  • +
  • -
  • 0

#5 Rivit

    Godlike

  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 26.08.2019 14:41


Użyłem 'weaponbox' i modelu plecaka, teraz działa jak powinno.

 

Tylko właśnie, czy da sie bez sprawdzania modelu? Ta metoda zawiedzie przy podmianie modelu paki.

 

Wrzuciłbyś tu ten kawałek kodu odpowiadający za tą pake?


  • +
  • -
  • 0

#6 csMaster

    Wszechwiedzący

  • Autor tematu
  • Power User

Reputacja: 14
Początkujący

  • Postów:542
  • Lokalizacja:localhost
Offline

Napisano 26.08.2019 14:55

new const w_backpack[] = "models/w_backpack.mdl"

public bomb_update_position()
{
	new ent = -1;
	while(ent = find_ent_by_model(ent, "weaponbox", w_backpack))

Zmiana modelu bomby nie wpłynie na ten kod, a jedynie zmiana modelu plecaka.

Wszystkie pluginy które mam na serwerze zostały albo przeze mnie napisane, albo dokładnie przejrzane i edytowane, więc mi nie robi różnicy że po zmianie modelu plecaka kod przestanie działać. Jeśli zechce zmienić ten model to zrobię to najprawdopodobniej w tym samym pluginie i użyje w_backpack[] jak powyżej.


  • +
  • -
  • 0

#7 Rivit

    Godlike

  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 26.08.2019 16:56


Zmiana modelu bomby nie wpłynie na ten kod, a jedynie zmiana modelu plecaka.

 

Tak, to miałem na myśli.

 


Wszystkie pluginy które mam na serwerze zostały albo przeze mnie napisane, albo dokładnie przejrzane i edytowane, więc mi nie robi różnicy że po zmianie modelu plecaka kod przestanie działać. Jeśli zechce zmienić ten model to zrobię to najprawdopodobniej w tym samym pluginie i użyje w_backpack[] jak powyżej.

Ja rozumiem, myślałem, że zrobiłeś jakieś generyczne rozwiązanie.

Ale tak, trzeba dynamicznie pobierać sobie ten model w jakimś SetModel czy coś


  • +
  • -
  • 0




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

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