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 maksymalnych wymiarów map/y

funkcja mapa pobieranie

Najlepsza odpowiedź psilocybe, 06.12.2014 22:36

Wyciągnij sobie z tego *.sma co potrzebujesz, a raczej usuń czego nie potrzebujesz.

 

Po co pisać coś co zostało już napisane i prawdopodobnie nie da się tego lepiej zrobić.

Przejdź do postu


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

#1 NoLiFeR

    Wszechobecny

  • Użytkownik

Reputacja: 103
Zaawansowany

  • Postów:483
  • GG:
  • Imię:Adrian
  • Lokalizacja:Sosnowiec
Offline

Napisano 04.12.2014 15:03

Czy istnieje funkcja/da się pobrać maksymalne wymiary mapy takiej jak np de_dust2 ?

 

Jeżeli mapa ma sztywnie ustaloną wielkość, i na każdej mapie jest taka sama, proszę o podanie wymiarów, aczkolwiek nie znalazłem na ten temat informacji :(


  • +
  • -
  • 0

#2 grankee

    Godlike

  • Support Team

Reputacja: 517
Wszechwiedzący

  • Postów:1 500
  • Lokalizacja:Radom
Offline

Napisano 04.12.2014 16:41

każda mapa ma teoretycznie wymiar -9999 do 9999 w trzech kierunkach(albo -5000 do 5000, ale raczej 9999), ale tylko mniejszy jej fragment to mapa, którą widzisz. Mapa na której znajduje się gracz to zamknięty fragment złożony ze szczelnie zamkniętej bryły mapy (ent o id 0) oraz entów i tu jej rozmiar jest zawsze znacznie mniejszy od możliwego. Czytałem gdzieś, że skompilowanie mapy teoretycznie o największych rozmiarach jest niewykonalne dla silnika.

 

Jakie dokładnie wymiary Ci potrzebne i do czego? Może być inny sposób pozyskania tych danych, ale musisz ładnie wytłumaczyć jakie niecne pomysły chodzą Ci po głowie.


  • +
  • -
  • 0

#3 NoLiFeR

    Wszechobecny

  • Autor tematu
  • Użytkownik

Reputacja: 103
Zaawansowany

  • Postów:483
  • GG:
  • Imię:Adrian
  • Lokalizacja:Sosnowiec
Offline

Napisano 04.12.2014 21:12

Moje niecne pomysły dot. spawnowania randomowo bytów na mapie z org1 = random_num(wymiarmn,wymiarpl)

 

Potrzebuje pobierania do tego tych koordynatów, tak, bytu oteksturowanego "SKY"

 

Aby byty spawnowane były wew pomieszczenia "sky", mam już funkcje dzięki Twojemu "0" (dziękuje :)) usuwającą byt gdy spadnie na "sky" ale nie wiem jak sprawdzić czy byt ten jest poza, czy w środku "sky" (Tak wiem powtarzam się :) )

 

Czyżby origin z _Pev ?


  • +
  • -
  • 0

#4 grankee

    Godlike

  • Support Team

Reputacja: 517
Wszechwiedzący

  • Postów:1 500
  • Lokalizacja:Radom
Offline

Napisano 05.12.2014 01:46

mozesz z jakiegos bytu standardowego np info_player_start (miejsce spawnu) puscic traceline w gore to uzyskasz "spód" nieba.

Ja bym pewnie zrobił to tak:

menu do tworzenia "przestrzeni", ograniczone beampointami (tak jak tworzy sie strefy raszu)

zapis do pliku

spawny bytów w okreslonych przestrzeniach

 

To jest skuteczne rozwiązanie, ale nie dynamiczne, musisz ręcznie robic strefy dla kazdej mapy. Brak zrobionych stref=brak bytów.


  • +
  • -
  • 0

#5 psilocybe

    Toasty!

  • Power User

Reputacja: 252
Wszechwidzący

  • Postów:524
  • Steam:steam
  • Imię:Filip
  • Lokalizacja:PL
Offline

Napisano 05.12.2014 02:55

Przykładowa funkcja z pluginu który spawnuje w losowo wybranych miejscach enty (prezenty) :D

CheckPoints( Float:origin[ 3 ] )
{
	new Float:data[ 3 ], tr, point;

	data[ 0 ] = origin[ 0 ];
	data[ 1 ] = origin[ 1 ];
	data[ 2 ] = 99999.9;

	engfunc( EngFunc_TraceLine, origin, data, DONT_IGNORE_MONSTERS, -1, tr );
	get_tr2( tr, TR_vecEndPos, data );
	point = engfunc( EngFunc_PointContents, data );

	if ( point == CONTENTS_SKY && get_distance_f( origin, data ) < 250.0 )
		return false;

	data[ 2 ] = -99999.9;

	engfunc( EngFunc_TraceLine, origin, data, DONT_IGNORE_MONSTERS, -1, tr );
	get_tr2( tr, TR_vecEndPos, data );
	point = engfunc( EngFunc_PointContents, data );

	if ( point < CONTENTS_SOLID )
		return false;
	
	return true;
}

W tym pluginie są jeszcze funkcje typu "SetFloor", "CheckDistance", "CheckVisibility" i kilka innych. Plugin mam z hiszpańskimi komentami ale idzie się połapać.


  • +
  • -
  • 0

Dołączona grafika

Dołączona grafika


#6 NoLiFeR

    Wszechobecny

  • Autor tematu
  • Użytkownik

Reputacja: 103
Zaawansowany

  • Postów:483
  • GG:
  • Imię:Adrian
  • Lokalizacja:Sosnowiec
Offline

Napisano 05.12.2014 13:25

//Działa w takim sensie, iż oznacza dany org jako zdatny lub też nie do użytku. ?

 

Aby nie otwierać nowego tematu, dało by się pobrać xmax i xmin z _pev z bytu "0" i ich uzyć ?

 

 


Użytkownik NoLiFeR edytował ten post 05.12.2014 13:30

  • +
  • -
  • 0

#7 grankee

    Godlike

  • Support Team

Reputacja: 517
Wszechwiedzący

  • Postów:1 500
  • Lokalizacja:Radom
Offline

Napisano 06.12.2014 05:36

Pobranie pev z bytu 0 w najlepszym przypadku zwroci 0/-1 lub jakąś głupią wartość, w najgorszym dojdzie do crasha serwera.


  • +
  • -
  • 0

#8 NoLiFeR

    Wszechobecny

  • Autor tematu
  • Użytkownik

Reputacja: 103
Zaawansowany

  • Postów:483
  • GG:
  • Imię:Adrian
  • Lokalizacja:Sosnowiec
Offline

Napisano 06.12.2014 22:21

Czyli najlepszym rozwiązaniem jest traceline i odległość od jakiegoś punktu np respa tt ?


  • +
  • -
  • 0

#9 psilocybe

    Toasty!

  • Power User

Reputacja: 252
Wszechwidzący

  • Postów:524
  • Steam:steam
  • Imię:Filip
  • Lokalizacja:PL
Offline

Napisano 06.12.2014 22:36   Najlepsza odpowiedź

Wyciągnij sobie z tego *.sma co potrzebujesz, a raczej usuń czego nie potrzebujesz.

 

Po co pisać coś co zostało już napisane i prawdopodobnie nie da się tego lepiej zrobić.

Załączone pliki


  • +
  • -
  • 1

Dołączona grafika

Dołączona grafika


#10 NoLiFeR

    Wszechobecny

  • Autor tematu
  • Użytkownik

Reputacja: 103
Zaawansowany

  • Postów:483
  • GG:
  • Imię:Adrian
  • Lokalizacja:Sosnowiec
Offline

Napisano 08.12.2014 12:20

Temat do zamknięcia, dzięki.


  • +
  • -
  • 0





Również z jednym lub większą ilością słów kluczowych: funkcja, mapa, pobieranie

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

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