Teraz jest Pt 29 mar, 2024 09:01


kndr_markers

Dział poświęcony edytorowi ArmA II i Operation Arrowhead, czyli tworzeniu misji.
  • Autor
  • Wiadomość
Offline
Avatar użytkownika

kondor

Major

Major

  • Posty: 880
  • Dołączył(a): Pt 11 lut, 2005 04:00
  • Lokalizacja: Berlin (wschodni)

kndr_markers

PostSo 29 sie, 2009 16:54

Witam,

Do własnych potrzeb stworzyłem zestaw funkcji, które pozwalają na przypięcie markerów do poruszających się jednostek. Ale prawdopodobnie będą użyteczne dla wielu innych scenariuszy.
Umieszczam go w załączniku.

Dostępne funkcje:

kndr_showMarkers - włącza system - należy ją wywołać przed pozostałymi funkcjami

kndr_assignMarker - tworzy ruchomy marker dla danego obiektu
argumenty:
obiekt - obiekt, którego pozycję marker ma pokazywać
klasa markera - wygląd markera - http://www.armatechsquad.com/ArmA2Class ... fgMarkers/
kolor markera - wiadomo - dostępne kolory w arma2: http://www.armatechsquad.com/ArmA2Class ... kerColors/
szerokość markera - domyślnie 1 (2 razy mniejszy to 0.5 itd)
wysokość markera - analogicznie jak szerokość
tekst - tekst, który ma być przy markerze

przykład:
Kod: Zaznacz cały
[soldier1, "Dot", "ColorBlue", 1, 1, ""] call kndr_assignMarker


kndr_setMarkerUpdateDelay - ustawia częstotliwość uaktualnień pozycji markerów
argumenty:
liczba - czas w sekundach, po którym markery powinny zostać uaktualnione
przykład:
Kod: Zaznacz cały
[3] call kndr_setMarkerUpdateDelay


kndr_getMarkerUpdateDelay - podaje częstotliwość z jaką markery sa uaktualniane
przykład:
Kod: Zaznacz cały
hint format["markery sa auktualniane co %1 sekund", [] call kndr_getMarkerUpdateDelay];


kndr_disableShow - wyłącza uaktualnianie markerów

kndr_setMarkerText - pozwala zmienić tekst markera
argumenty
obiekt - obiekt, którego tekst markera ma byc zmieniony
tekst - nowy tekst

przykład:
Kod: Zaznacz cały
[auto2, "trabant"] call kndr_setMarkerText


Przykład całościowy (np w init.sqf):
Kod: Zaznacz cały
// nalezy najpierw zalaczyc skrypt
call compile preprocessFile "kndr_markers.sqf";

// wlaczenie systemu pokazywania - nalezy to zrobic w osobnym watku,
// bo skrypt ma chodzic w tle, dlatego spawn zamiast call
[] spawn kndr_showMarkers;

// dodanie markerow dla wszystkich czlonkow grupy:
{
  [_x, "Dot", "ColorGreen", 1, 1, name _x] call kndr_assignMarker;
}forEach (units (group player));


Uwagi:
-domyślnie marker dla danego obiektu/jednostki wyłącza się jeśli ten/ta ulegnie zniszczeniu/umrze, dlatego np w misjach z respawnem należy po śmierci i respawnie jeszcze raz przypisać marker do jednostki (funkcja kndr_assignMarker)
-markery są lokalne
Nie masz wystarczających uprawnień, aby zobaczyć pliki załączone do tego postu.

Powrót do [ArmA II] Edytor

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 10 gości

cron