Teraz jest Cz 28 mar, 2024 18:18


[Pomoc]Aresztowanie poprzez dołączenie do grupy

Dział poświęcony edytorowi misji w ArmA III.
  • Autor
  • Wiadomość
Offline

Majster

Kapral

Kapral

  • Posty: 73
  • Dołączył(a): Cz 02 sty, 2014 22:47

[Pomoc]Aresztowanie poprzez dołączenie do grupy

PostN 07 wrz, 2014 16:05

Mam problem z dołączeniem zakładnika(cel) do grupy, która się do niego zbliży. W połowie wiem jak to zrobić ale nie do końca.
Na stracie są dwie drużyny. Drużyna nr 1 jest grupa Alpha_1 a nr dwa grupa Alpha_2.
Chcę żeby zakładnik dołączył do grupy, która się do niego zbliży. Ale gdy już podejdzie grupa nr 2 to żeby zakładnik do niej nie przeskoczył (to jest mój dotychczasowy problem). Dokładnie chcę żeby zakładnik raz dołączył do grupy, która jako pierwsza się do niego zbliży.

Stawiam wyzwalacz:
WARUNEK:
Kod: Zaznacz cały
cel distance soldier_1 <5 OR cel distance soldier_2 <5 OR cel distance soldier_3 <5 OR cel distance soldier_4 <5 OR cel distance soldier_5 <5 OR cel distance soldier_6 <5

AKTYWACJA:
Kod: Zaznacz cały
[cel] joinSilent Alpha_1;

i stawiam drugi taki sam wyzwalacz ale z wartościami odpowiadającymi drużynie numer 2.

Jeśli ktoś zna lepszy i dobry sposób przetransportowania zakładnika do bazy to jestem otwarty na sugestię.

Jednostki od soldier_1 do soldier_6 to jest Alpha_1 a jednostki od soldier_7 do soldier_12 to jest Alpha_2
Nazwa w grze: Majster
Offline

Exe

Major

Major

  • Posty: 762
  • Dołączył(a): Pn 28 cze, 2010 18:35
  • Lokalizacja: Rzeszów

Re: [Pomoc]Aresztowanie poprzez dołączenie do grupy

PostN 07 wrz, 2014 17:12

1. W inicie misji dopisz np.: aresztowany=true;
2. W aktywacji dodaj wpis aresztowany=false;
3. Do warunku wpisz na początku "aresztowany AND " i lecisz z resztą warunków.

Robiłem coś podobnego kiedyś, ale w A2 i wyglądało to chyba tak jak napisałem.
Widocznie bug tak chciał.
Offline
Avatar użytkownika

RomanPL79

Chorąży

Chorąży

  • Posty: 175
  • Dołączył(a): Pt 25 lis, 2011 16:20
  • Lokalizacja: Pyskowice

Re: [Pomoc]Aresztowanie poprzez dołączenie do grupy

PostN 07 wrz, 2014 17:15

Nie łatwiej jest to załatwić poprzez akcje dodaną na zakładniku (osoba, która chce go pojmać podbiega, używa akcji pod rolką i dodaje przez to zakładnika do swojego oddziału)?

W inicjacji zakładnika:
Kod: Zaznacz cały
this addaction ["Pojmij","pojmij.sqf"];


Skrypt:
Kod: Zaznacz cały
_unit = _this select 0;
_caller = _this select 1;
_id = _this select 2;

[_unit] join (group _caller);
exit;
Offline
Avatar użytkownika

Blackburn

Pułkownik

Pułkownik

  • Posty: 1437
  • Dołączył(a): Cz 15 lip, 2010 11:36
  • Lokalizacja: Raz tu, raz tam...

Re: [Pomoc]Aresztowanie poprzez dołączenie do grupy

PostPn 08 wrz, 2014 09:45

Addaction tworzyło problemy z wykonywaniem skryptu lokalnie. Jakoś to można obejść i nie jestem przekonany czy sposób podany przez Romana załatwia sprawę. Był taki temat na forum bisu też odnośnie odbijania zakładnika.
Offline
Avatar użytkownika

RomanPL79

Chorąży

Chorąży

  • Posty: 175
  • Dołączył(a): Pt 25 lis, 2011 16:20
  • Lokalizacja: Pyskowice

Re: [Pomoc]Aresztowanie poprzez dołączenie do grupy

PostPn 08 wrz, 2014 14:10

Skrypt jest wykonywalny lokalnie, lecz nadal działa tak jak powinien (a przynajmniej działał w A2 na multi - w A3 jeszcze nie miałem okazji sprawdzić na dedyku) i powinien powodować mniej problemów niż przy rozwiązaniu z wyzwalaczami (wiem z doświadczenia). Jedynym tak na prawdę problemem będzie to, że akcja będzie ciągle widoczna, po jej wykonaniu, dla innych graczy.

A obejść to szło bodaj za pomocą "call RE" ale nie jestem pewien czy w A3 nadal jest ta funkcja.
Offline
Avatar użytkownika

Mustang185

Pułkownik

Pułkownik

  • Posty: 1032
  • Dołączył(a): N 04 kwi, 2010 00:30
  • Lokalizacja: Jasło

Re: [Pomoc]Aresztowanie poprzez dołączenie do grupy

PostPn 08 wrz, 2014 16:27

Black ma rację - addAction jest lokalne. Ale na szczęście już efekty join są globalne i zostaną rozesłane po wszystkich klientach, więc zadziała.

A akcję dla innych można usunąć po chamsku - na końcu kodu dodaj linijkę zabiającą jakiegoś biedaka, stojącego w drugim końcu mapy. To + trigger usuwający akcję, gdy ta jednostka !alive i gotowe.
Offline
Avatar użytkownika

Blackburn

Pułkownik

Pułkownik

  • Posty: 1437
  • Dołączył(a): Cz 15 lip, 2010 11:36
  • Lokalizacja: Raz tu, raz tam...

Re: [Pomoc]Aresztowanie poprzez dołączenie do grupy

Offline

Ghost

Porucznik

Porucznik

  • Posty: 387
  • Dołączył(a): So 03 paź, 2009 17:15

Re: [Pomoc]Aresztowanie poprzez dołączenie do grupy

PostPn 08 wrz, 2014 18:39

Spróbuj tak

warunek:
Kod: Zaznacz cały
(cel distance soldier_1 <5 OR cel distance soldier_2 <5 OR cel distance soldier_3 <5 OR cel distance soldier_4 <5 OR cel distance soldier_5 <5 OR cel distance soldier_6 <5) AND celcapture = false


aktywacja:
Kod: Zaznacz cały
[cel] joinSilent Alpha_1; celcapture = true
Offline

Majster

Kapral

Kapral

  • Posty: 73
  • Dołączył(a): Cz 02 sty, 2014 22:47

Re: [Pomoc]Aresztowanie poprzez dołączenie do grupy

PostWt 09 wrz, 2014 09:16

Problem rozwiązany. Użyłem skryptu addaction. Jak będę przy komputerze to podeślę cały skrypt.
Dzięki za udzielanie się w temacie.

EDIT: Dla potomnych :D :
Do Init.sqf
Kod: Zaznacz cały
_join = unitOne addAction ["Dołącz", {[unitOne] join (group player)}];

UnitOne to jednostka (zakładnik), która ma mieć opcję Dołącz i dołączy do grupy gracza.
Nazwa w grze: Majster

Powrót do [ArmA III] Edytor

Kto przegląda forum

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

cron