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
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.
|
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 postuNapisano 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
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.
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 ?
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.
Napisano 05.12.2014 02:55
Przykładowa funkcja z pluginu który spawnuje w losowo wybranych miejscach enty (prezenty)
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ć.
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
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.
Napisano 06.12.2014 22:21
Czyli najlepszym rozwiązaniem jest traceline i odległość od jakiegoś punktu np respa tt ?
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ć.
Napisano 08.12.2014 12:20
Temat do zamknięcia, dzięki.
0 użytkowników, 1 gości, 0 anonimowych