Jak stawiać marker dla zniszczonych pojazdów?

Edytor Arma (Arma, Arma2, Arma2OA)

Moderatorzy: kondor, Inkwizytor

ODPOWIEDZ
Awatar użytkownika
Pit
Posty: 698
Rejestracja: 11 grudnia 2006, 13:45
ID Steam:
ID gracza: 0
Lokalizacja: Bydgoszcz
Kontakt:

Jak stawiać marker dla zniszczonych pojazdów?

Post autor: Pit »

W treningowej mapie (tryb MP) wykorzystuję respawn pojazdów używając:

w description.ext:

Kod: Zaznacz cały

respawn = "BASE";
respawnDelay = 5;
respawnVehicleDelay = 5; 
w init pojazdu:

Kod: Zaznacz cały

this respawnVehicle [5.0, 3];
W efekcie zniszczony pojazd respawnuje mi się 3 razy w obszarze (elipsa) markera o nazwie: respawn_vehicle_west
Dotychczas udaje mi się postawić marker tylko za pierwszym razem. Po respawnie pojazdu, nie panuję nad jego nową nazwą.

Problem: Jak stawiać marker np znak "!" za każdym razem w miejscu zniszczenia tego pojazdu?
Czy ktoś ma pomysł jak to zrobić?
8BZ - 8 Brygada Zmechanizowana | 8R - Ósma Rangers
:weteran :8bz :cfog
"Don't forget nothing" - MJR ROBERT ROGERS, 1759
Awatar użytkownika
kondor
Posty: 1526
Rejestracja: 13 marca 2007, 11:50
ID Steam: Przemek_kondor
Kontakt:

Re: Jak stawiać marker dla zniszczonych pojazdów?

Post autor: kondor »

Tzn, że po respawnie pojazdu nie masz dostępu do nowego za używając jego nazwy z edytora?
Może respawn pojazdów jest taki sam jak jednostek i można użyć eventów Respawn lub MPRespawn http://community.bistudio.com/wiki/ArmA ... t_Handlers (nie wiem, czym się różnią) i w handlerze jako parametr podany jest też nowy pojazd.
Ewentualnie można w tle zapuścić taki manager szukający cyklicznie pojazdów danych klas (komenda nearestObject) i przetrzymujący ich obiekty w tablicy (po zniszczeniu usuwałby je z niej i dodawał "!" marker).
Awatar użytkownika
Pit
Posty: 698
Rejestracja: 11 grudnia 2006, 13:45
ID Steam:
ID gracza: 0
Lokalizacja: Bydgoszcz
Kontakt:

Re: Jak stawiać marker dla zniszczonych pojazdów?

Post autor: Pit »

Kondor,
Dzięki za wskazówkę, poszedłem drogą z użyciem EH.

Jednostka odwołuje się w init do skryptu jak niżej (dwie linie kodu - druga linia jest w ciągłości z trzecią, tylko na forum tak źle widać):

Kod: Zaznacz cały

_this respawnVehicle [5.0, 1]; 
_this addEventHandler ["killed", {player sidechat format ['%2 destroyed by %1', _this select 1, _this select 0]; _poz = _this select 0; _this=createMarker [ 'mrk', position _poz]; _mrk setMarkerSize [1,1]; _mrk setMarkerType "warning"; }];
W efekcie po zniszczeniu jest info na czacie i respawn, ale niestety marker się nie pojawia. :(
8BZ - 8 Brygada Zmechanizowana | 8R - Ósma Rangers
:weteran :8bz :cfog
"Don't forget nothing" - MJR ROBERT ROGERS, 1759
Awatar użytkownika
kondor
Posty: 1526
Rejestracja: 13 marca 2007, 11:50
ID Steam: Przemek_kondor
Kontakt:

Re: Jak stawiać marker dla zniszczonych pojazdów?

Post autor: kondor »

a nie powinno być w 2. linijce:

Kod: Zaznacz cały

_mrk=createMarker [ 'mrk', position _poz]; _mrk setMarkerSize [1,1]; ...
zamiast

Kod: Zaznacz cały

_this=createMarker [ 'mrk', position _poz]; _mrk setMarkerSize [1,1]; ...
?
Chyba po prostu zmienna _mrk nie wskazuje na nic.

Włącz sobie opcję uruchamiania -showScriptErrors, wtedy będziesz widzial błędy (przynajmniej składni oraz takich przypadków jak ten).
Awatar użytkownika
Pit
Posty: 698
Rejestracja: 11 grudnia 2006, 13:45
ID Steam:
ID gracza: 0
Lokalizacja: Bydgoszcz
Kontakt:

Re: Jak stawiać marker dla zniszczonych pojazdów?

Post autor: Pit »

kondor pisze: Włącz sobie opcję uruchamiania -showScriptErrors, wtedy będziesz widzial błędy (przynajmniej składni oraz takich przypadków jak ten).
Teraz widzę, że choć działają to ile błędów generują moje ułomne skrypty - :roll:

Podmiana

Kod: Zaznacz cały

_mrk=createMarker
na

Kod: Zaznacz cały

_this=createMarker
jednak nie przyniosła poprawy.
8BZ - 8 Brygada Zmechanizowana | 8R - Ósma Rangers
:weteran :8bz :cfog
"Don't forget nothing" - MJR ROBERT ROGERS, 1759
Awatar użytkownika
kondor
Posty: 1526
Rejestracja: 13 marca 2007, 11:50
ID Steam: Przemek_kondor
Kontakt:

Re: Jak stawiać marker dla zniszczonych pojazdów?

Post autor: kondor »

Pit pisze:Podmiana

Kod: Zaznacz cały

_mrk=createMarker
na

Kod: Zaznacz cały

_this=createMarker
jednak nie przyniosła poprawy.
Powinno być odwrotnie - _mrk=createMarker jest poprawne, bo pozniejszymi komendami operujesz na _mrk, a nie _this.
ODPOWIEDZ

Wróć do „Edycja oraz tworzenie misji, skrypty oraz programowanie”