aktywacja gdy padnie strzał z m107.

Edytor Arma (Arma, Arma2, Arma2OA)

Moderatorzy: kondor, Inkwizytor

kmax1
Posty: 36
Rejestracja: 01 listopada 2009, 19:08
ID Steam:
ID gracza: 0

Re: aktywacja gdy padnie strzał z m107.

Post autor: kmax1 »

No dobrze. Skrypt się uruchomił ale... działa częściowo -tylko wtedy, gdy strzelę zanim śmigłowiec dotrze na miejsce. Inne części skryptu nie działają. Jeśli cel już wyjdzie ze śmigłowca to po oddaniu przeze mnie niecelnego strzalu stoi w miejscu i za cholerę nie ma zamiaru wrócić do śmigłowca i odlecieć.
krzysiek2222
Posty: 77
Rejestracja: 31 grudnia 2009, 14:51
ID Steam:
ID gracza: 0

Re: aktywacja gdy padnie strzał z m107.

Post autor: krzysiek2222 »

Kod: Zaznacz cały

[cel ] join mi8;
cel move getpos mi8; 
cel ordergetin true; 
cel assignascargo mi8; 
waitUntil {cel in mi8};
mi8 move getpos "1";
Może tak zamiast tego co było w moim skrypcie w tym miejscu. (w pierwszym else)
kmax1
Posty: 36
Rejestracja: 01 listopada 2009, 19:08
ID Steam:
ID gracza: 0

Re: aktywacja gdy padnie strzał z m107.

Post autor: kmax1 »

Niestety dalej nie działa. Wydaje mi się jednak, że problem tkwi w samej strukturze gry. Kombinowałem i testowałem różne możliwości m.in. te co napisał krzysiek2222, próbowałem też dać marker przy samym lądowisku dla śmigłowca mi8 i wpisać w skrypcie cel move getmarkerpos "1" i pożniej dopiero join, ordergetin, assignascargo itp. Nic nie działa! Cel owszem po strzale kieruje się do mi 8 ale gdzieś po drodze się gubi i rezygnuje. Zmodyfikowałem też skrypt aby cel po wylądowaniu i strzale poszedł do innego śmigłowca np. mi8a i o dziwo wsiadł (inna sprawa ze smiglowiec nie wystartowal)ale tylko raz na chyba 20 testów. Nie wiem o co chodzi ale opadłem już z sił. Wydawało mi się, że misja będzie banalna do zrobienia. Jeśli nie robiłoby to komuś kłopotu to proszę o zrobienie byle jakiej testowej misji z użyciem tych skryptów. Chcę sprawdzić czy może problem pojawia się tylko u mnie.

A może ktoś trafił gdzieś przypadkiem na podobną misję. Wyeliminowanie jakiegoś Vip-a, który na dźwięk alarmu po strzale ucieka np. do samochodu albo śmigłowca i ucieka.

Pogrzebałem trochę na forach i pomyślałem, że może da się użyć czegoś takiego. Nie znam się jednak na skryptach wiec nie wiem czy dobrze to napiszę. Na zielono zaznaczyłem to co chciałbym zmienić.
_cel = _this select 0;
_group1 = group leader _cel;

if (alive cel) then {
if (cel in mi8) then {
mi8 move getpos "1";
}
else {
_wp1 = [_group1,1] AddWaypoint [GetMarkerPos "helipad", 0];
[_group1,1] SetWaypointType"GETIN";
albo może _wp1 setWaypointStatements ["true", "cel action ["GETIN", mi8]"];
[_group1,1] setCurrentWaypoint [cel, 1];

}
}
else {
mi8 move getpos "1";
sleep 3;
endMission "END1"
}
sleep 15;
if (alive cel and (sniper distance cel > 1000)) then {
endMission "LOSER";
}
else {
if (not alive cel) then {
sleep 3;
endMission "END1";
}
else {
sleep 20
if (not alive cel) then {
sleep 3;
endMission "END1"
}
else {
endMission "LOSER";
}
}
}
Wiem, że pewnie bzdury napisałem- nie znam się- próbowałem coś wykombinować na podstawie innych skryptów.
Ostatnio zmieniony 02 lutego 2010, 02:21 przez kmax1, łącznie zmieniany 3 razy.
Awatar użytkownika
Artek3333
Posty: 578
Rejestracja: 29 czerwca 2007, 20:02
ID Steam:
ID gracza: 0
Lokalizacja: Żywiec

Re: aktywacja gdy padnie strzał z m107.

Post autor: Artek3333 »

To może spróbuj stworzyć punkt nawigacyjny typu (wsiadaj i następnie ruszaj do) po nieudanym strzale.
Punkt wsiadania:

Kod: Zaznacz cały

qq = (group uciekinier) addWaypoint [getpos Śmigłowiec,3]";
[group uciekinier,1]setWaypointType" GETIN ";
Punkt ruszaj do:

Kod: Zaznacz cały

qq = (group uciekinier) addWaypoint [getpos nazwa_obiektu_do _którego_ma_się_udać_uciekinier,10]";
[group uciekinier,2]setWaypointType" MOVE ";
kmax1
Posty: 36
Rejestracja: 01 listopada 2009, 19:08
ID Steam:
ID gracza: 0

Re: aktywacja gdy padnie strzał z m107.

Post autor: kmax1 »

Niestety wszystkie (na pewno prawidłowe) podsunięte przez Was rozwiązania nie działają. Najwyraźniej gra jest skopana. Wszystkie pomysły wyżej wymienione kończą się zazwyczaj tym, że gość podbiega do śmigłowca i albo stoi albo ucieka w przeciwnym kierunku. Poddaję się. próbowałem również: allowfleeing 0; postawiłem też drugi pusty śmigłowiec mi8a- zeby cel po strzale zostal jego jego pilotem (assignasdriver) lub w skrypcie dalem (cel = driver mi8a); Bezsilny dałem w pewnym momencie Trigger z aktywacją cel distance mi8a <25 a w init. boss moveindriver mi8 i ciągle to samo. Jedyny moment, kiedy cel dociera a raczej znajduje się w mi8 (mi8a) to wtedy, gdy w skrypcie po strzale dam moveindriver albo moveincargo(w zaleznosci do czego ma wsiąść mi8 lub mi8a)
I znów kilka godzin mam wyjęte z życiorysu. Jeśli komuś przyjdzie jeszcze coś do głowy, to jestem otwarty na wszelkie sugestie... :-(
kmax1
Posty: 36
Rejestracja: 01 listopada 2009, 19:08
ID Steam:
ID gracza: 0

Re: aktywacja gdy padnie strzał z m107.

Post autor: kmax1 »

Przepraszam za podwójnego posta ale nikt pewnie by nie zobaczył moich dopisanych wypocin.
PROBLEM ROZWIĄZANY! :-)

Minęło trochę czasu. Znalazłem nowe siły do pracy. Kombinowałem, szukałem i rozwiązałem problem dlaczego cel nie chce wsiąść do mi8. Chodziło o drobną zmianę w poleceniu join. Wpisalem w init. mi8 (gr1= group mi8). i zamiast samego join mi8, użyłem joinAs [grupa, miejsce], Dopisałem jeszcze kilka brakujących ";" i wszystko chyba gra.
skrypt wygląda tak:

Kod: Zaznacz cały

if (alive cel) then {
if (cel in mi8) then {
mi8 move getmarkerpos "1";
}
else {
cel joinAs [gr1,6];
[cel] orderGetIn true;
waitUntil {cel in mi8};
mi8 move getmarkerpos "1";
}
}
else {
mi8 move getpos "1";
sleep 3;
endMission "END1"
}
;
sleep 15;
;
if (alive cel and (sniper distance cel > 1000)) then {
endMission "LOSER";
}
else {
if (not alive cel) then {
sleep 3;
endMission "END1";
}
else {
sleep 20;
;
if (not alive cel) then {
sleep 3;
endMission "END1"
}
else {
endMission "LOSER";
}
}
}
;
Dziękuję wszystkim za pomoc. Bez Waszego udziału do niczego bym sam nie doszedł.
Ostatnio zmieniony 19 lutego 2010, 17:11 przez kmax1, łącznie zmieniany 2 razy.
krzysiek2222
Posty: 77
Rejestracja: 31 grudnia 2009, 14:51
ID Steam:
ID gracza: 0

Re: aktywacja gdy padnie strzał z m107.

Post autor: krzysiek2222 »

Raczej chodziło o nawiasy kwadratowe. Czemu w warunku pierwszym jest alive boss, a na końcu alive cel. Bo trochę nie rozumiem kto to jest boss, jak cel to oficer wroga. W ogóle do wsiadania starczyłoby chyba:

Kod: Zaznacz cały

cel assignAsCargo mi8;
[cel] orderGetIn true;
Może w ogóle nie być łączenia w grupę obydwu jednostek.
A i jeszcze jedno w pustej linii nie musi być ";".
Ale w sumie skrypt jest dobry. Ja proponuję na przyszłość bardzo dokładnie czytać dokumentacje na BIS Wiki.

pzdr
kmax1
Posty: 36
Rejestracja: 01 listopada 2009, 19:08
ID Steam:
ID gracza: 0

Re: aktywacja gdy padnie strzał z m107.

Post autor: kmax1 »

oczywiście powinien być cel a nie boss. Już poprawiłem. Robię inną misję - stąd pomyłka. Natomiast jeśli chodzi o

Kod: Zaznacz cały

assignAsCargo mi8; 
[cel] orderGetIn true;
to za cholerę nie chciało to u mnie działać. tak jak napisałem wcześniej - Cel po strzale kieruje się do mi 8 ale gdzieś po drodze się gubi i zatrzymuje kilka metrów od śmigłowca. Już nie pamiętam- strasznie kombinowałem- ale nawiasy też chyba wstawiałem.
Nie wiem o co chodziło ale ważne, że działa. Co do stawiania ";" , to uczę się dopiero na podstawie istniejących już skryptów, napisanych przez innych i sugeruję się tym co sama Arma2 mi podpowiada i wszystko robię za pomocą prób i błędów. :-) dzięki za info -"w pustej linii nie musi być ";". " Dla ciebie to oczywiste a dla mnie nowe i ważne.
Jeszcze raz dzięki za pomoc, a Tobie szczególnie -za cierpliwość.
ODPOWIEDZ

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