Teraz jest So 27 kwi, 2024 14:48


Podstawy: moveInCargo nie dokońca rozumiem jak to działa

Archiwum działów sekcji Armed Assault
  • Autor
  • Wiadomość
Offline
Avatar użytkownika

mant3z

Szeregowy

Szeregowy

  • Posty: 45
  • Dołączył(a): Pn 22 maja, 2006 21:26
  • Lokalizacja: Gandza

Podstawy: moveInCargo nie dokońca rozumiem jak to działa

PostCz 08 lut, 2007 21:51

Podglądnąłem to w jakiejś misji:

=1=
pos2 = group this; {_x moveInCargo aT2} forEach units pos2
coś tam = ta grupa {przenieś na pakę aT2} dla każdej jednostki coś tam
http://www.mant3z.boo.pl/arma/question03.jpg

Pytanie:
O co chodzi z tym 'pos2'

Komentarz dla innych zainteresowanych tą opcją:
Fakt że działa i mam swój chłopski sposób na osiągnięcie celu, ale chce wiedzieć więcej.
Efekt jest wam znany, banda jest przesunięta do cargo URAL'a o nazwie aT2, znaczy nikt nie wsiada jako kierowca.

=2=
Proszę o szybką pomoc w takiej kwestii:
Stawiam pustego URAL'a, bandę ludzi i chce ich przenieść do pustego samochodu ale tak że jeden z żołnierzy wsiada jako kierowca.

ps.
Jako iż jestem początkujący i mam dopiero jedną działającą misję za sobą zaznaczyłem w temacie że pytam się wyłącznie w zakresie podstaw, oraz daje Wam do wiadomości że nie wiem jeszcze zbyt wiele o edytorze.
Staram się pisać tak by moje posty pomogły innym początkującym twórcom misji.
Offline

Oscypek

Major

Major

  • Posty: 858
  • Dołączył(a): Pn 01 lis, 2004 12:12
  • Lokalizacja: Maków Podhalański

PostCz 08 lut, 2007 22:22

1. Jako pos2 przypisana jest konkretna grupa. Jest to zmienna globalna.
2. Napisz jednostce, która ma być kierowcą w init: group1=group this - [this];{_x moveincargo aT2} foreach group1; this moveindriver aT2
Offline
Avatar użytkownika

mant3z

Szeregowy

Szeregowy

  • Posty: 45
  • Dołączył(a): Pn 22 maja, 2006 21:26
  • Lokalizacja: Gandza

PostCz 08 lut, 2007 22:27

=1=
Zmienna globalna... hmm, narazie brzmi to dla mnie czarodziejsko.
Jak mam to rozumieć? Albo jak mam to wykorzystać?
=2=
Nie działa, wywala błąd:
-: typ grupa potrzebny Liczbowy, Pole
Offline

Oscypek

Major

Major

  • Posty: 858
  • Dołączył(a): Pn 01 lis, 2004 12:12
  • Lokalizacja: Maków Podhalański

PostPt 09 lut, 2007 16:54

1. To znaczy, że group1 będzie traktowane tak samo we wszystkich skryptach.
2. Tfu, przepraszam, mój błąd:
group1=group this - [this];{_x moveincargo aT2} foreach units group1; this moveindriver aT2
Offline
Avatar użytkownika

mant3z

Szeregowy

Szeregowy

  • Posty: 45
  • Dołączył(a): Pn 22 maja, 2006 21:26
  • Lokalizacja: Gandza

PostPt 09 lut, 2007 17:02

coś nadal jest nie tak, wyraźnie ma problem z tym "-" minusem
terść błędu jest taka sama
Mów mi milordzie łapserdaku!
Offline
Avatar użytkownika

reyhard

Pułkownik

Pułkownik

  • Posty: 1455
  • Dołączył(a): So 12 mar, 2005 09:56
  • Lokalizacja: wielkiego brata

PostPt 09 lut, 2007 17:08

group1=group this - [this];{_x moveincargo aT2} foreach units group1; this moveindriver aT2


Oscypku, komenda group zwraca tylko nazwe grupy (w tym wypadku group1) i nie sposób od jakiś tam przypadkowych literek odjąć jedno osobowego array'a. Dopiero polecenie units zwraca jednostki z grupy w postaci Array'a na którym można manipulować.

Tak więc, to wszystko powinno wyglądać tak:
group1=group this;{_x moveincargo aT2} foreach ((units group1) - [this]); this moveindriver aT2
Po prostu przyjmij do wiadomości, że nadciąga rewolucja proletariacka, lada dzień Chavez z Castro i Bin Ladenem nadjadą na białym traktorze i uwolnią ciemiężony lud polski spod władzy międzynarodowego kapitału.
Offline
Avatar użytkownika

mant3z

Szeregowy

Szeregowy

  • Posty: 45
  • Dołączył(a): Pn 22 maja, 2006 21:26
  • Lokalizacja: Gandza

PostPt 09 lut, 2007 18:53

reyhard działa :spoko:

Ja zrobiłem to tak:

Obrazek

Ze względu na to że rebelia Villasa jest po stronie Zachodu, przekabaciłem ich na stronę wschodu dodając niewidzialnego ruskiego dowódcę.
Na screenie widzimy dwie cięzarówki oraz autobus

=1=
Ciężarówki to cywile w grupie z ruskim niewidzialnym dowódcą, w tym przypadku działa elegancko, cywile śmigają na miejsce, jednostki wyskakują, cywile wracają ciężarówkami do bazy :spoko:
...tylko wiecie, od biedy mogło by być ale to takie jakieś dziwne, żeby terrorystów cywil woził :)

=2=
Jak widzimy stoi tam pusty autobus, poniżej ruski niewidzialny dowódca oraz kierowca Rebeliant Villasa. Kierowca ma wpisane w init: this moveInDriver bus1 (wskakuje na miejsce kierowcy), grupa wskakuje do cargo, kierowca ma waypointy gdzie ma jechać i tak samo jak w przypadku nr1 ma waypoint "razładować transport", no i tego NIE robi :(

Dlaczego? Naprawdę dziwne że w =1= rozładować transport działa a w =2= nie.
Ostatnio edytowano So 10 lut, 2007 10:43 przez mant3z, łącznie edytowano 1 raz
Offline

Oscypek

Major

Major

  • Posty: 858
  • Dołączył(a): Pn 01 lis, 2004 12:12
  • Lokalizacja: Maków Podhalański

PostPt 09 lut, 2007 22:55

Przepraszam, mój błąd. :)

Eee... te ciężarówki nie są chyba puste od startu?

--------

PS mam dowcip :D Ilu forumowiczów trzeba żeby załadować ciężarówkę? Trzech! :D żeśmy się uśmiali. :)
Offline
Avatar użytkownika

mant3z

Szeregowy

Szeregowy

  • Posty: 45
  • Dołączył(a): Pn 22 maja, 2006 21:26
  • Lokalizacja: Gandza

PostPt 09 lut, 2007 23:31

Oscypek napisał(a):Przepraszam, mój błąd. :)

Eee... te ciężarówki nie są chyba puste od startu?



A kto powiedział że są puste? W tym cała sztuczka, przeczytaj uważnie.

mant3z napisał(a):Ciężarówki to cywile w grupie z ruskim niewidzialnym dowódcą,


Tak się zastanawiam, wszystko działa pięknie jak się nie miesza w odwracanie stron, chyba zamiast całą armię terrorystów dopisywać do ruskich niewidzialnych dowódców, zrobię odwrotnie, SF dopisze do ruskiego niewidzialnego dowódcy i będzie git :) najprostsza metoda.

Jak ktoś jednak znajdzie rozwiązanie moich problemów to proszę o podzielenie się tym co wymyślił.
Offline
Avatar użytkownika

Tur!

Szeregowy

Szeregowy

  • Posty: 22
  • Dołączył(a): So 10 lut, 2007 16:17
  • Lokalizacja: Thorn

PostN 11 mar, 2007 10:40

Jeżeli chcesz, by terroryśni nie byli transportowani przez cywili to stwórz dwa puste pojazdy stwórz gdzieś na boku 2-u osobową drużynę, i dowódcy wpisz w inicjacji:
Kod: Zaznacz cały
 this moveindriver nazwaciężarówki1
zaś drugiemu:
Kod: Zaznacz cały
this moveindriver: nazwa ciężarówki2


Pozatym, jeżeli chcesz by twoi terroryści nie musieli ładować się do pojazdu tylko w nim już siedzieli każdemu z nich wpisz w inicjacji:
Kod: Zaznacz cały
this moveincargo nazwapojazduwktórymmasiedzieć


następnie, jeżeli chcesz by w danym miejscu wysiedli to robisz wyzwalacz z jakimś tam warunkiem, bądź punkt trasy u dajesz mu w polu:
Kod: Zaznacz cały
this EXEC "nazwaskryptu.sqs"


otwierasz notatnik i piszesz:
Kod: Zaznacz cały
x action ["EJECT", y] ; jednostka o nazwie 'x' wyjdzie, bądź wyskoczy z ciężarówki o nazwie 'y'

UnassignVehicle x ; to powoduje, że jednostka jest wypisana z grupy pojazdu (dokładniej, że dowódca nie będzie kazał jej wsiadać spowrotem)

~2 ; to jest odstęp czasowy (2sek.) by trochę realistyczniej wyglądało, gdyż jak wszyscy wysiądą w tym samym czasie, to takie trochę głupawe

; i potem anologicznie:

x1 action ["EJECT", y1]; x1 wysiądzie/wyskoczy z y1

unassignVehicle x1 ; dowódca x1 nie będzie kazał mu wsiadać z powrotem do ciężarówki

~2 ; przerwa czasowa

EXIT ; musi być na samym końcu skryptu




I zapisujesz ten plik w ARMA/MISSIOS/NAZWA MISJI/nazwaskryptu.sqs
(ten folder/foldery są w twoim profilu, w dokumentach

Mam nadzieje, że wszystko jasne :)
Pozdro i miłej zabawy z ArmA :)
"Gdy się nie ma co się lubi, się lubi co się ma"

HP Pavilion Dv6520ea:
CPU: C2D 1.86GHZ
RAM: 1024MB 577MHz
GPU: GMA X3100
Offline
Avatar użytkownika

Bartas

Szeregowy

Szeregowy

  • Posty: 22
  • Dołączył(a): N 24 gru, 2006 17:54
  • Lokalizacja: się biorą dzieci?

PostN 11 mar, 2007 20:46

Tak na marginesie, tam gdzie masz ustawienia czasu i daty oraz pogody misji, masz także po której stronie ma być ruch oporu :P

Powrót do Armed Assault

Kto przegląda forum

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

cron