Teraz jest N 22 cze, 2025 15:52


Respawn grupy żołnierzy

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

kondor

Major

Major

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

PostN 16 mar, 2008 15:27

Kod: Zaznacz cały
_grupa = _this select 0
_tab_zoldakow = units _grupa
_pozycja = _this select 1
_liczba = count _tab_zoldakow
hint format["liczba zodakow = %1 z %2", _liczba, _grupa]
~2
_nr = 0
_typy = []
#petla1
  ~1.2
  hint format["zapisywanie zolnierza nr %1",_nr]
  _zoldak = _tab_zoldakow select _nr
  _typy = _typy + [typeOf _zoldak]
  _nr = _nr + 1
?(_nr < _liczba):goto "petla1"

~1.2
hint "czekam"
;czekaj az wszyscy zgina:
@( ("alive _x" count(units _grupa)) == 0 )
~3
hint "zgineli"

;tworzenie jednostek
_nr = 0
#petla2
  ~1.2
  hint format["tworzenie zolnierza nr %1",_nr]
  _typ = _typy select _nr
  _typ createVehicle _pozycja
  _nr = _nr + 1
?(_nr < _liczba):goto "petla2"


mam
chyba ofp jakoś liczylo tez trupy jako czlonkow grupy. w powyzszej wersji sprawdzam ilosc czlonkow zyjacych w tej grupie
Offline

Zielarz

Chorąży

Chorąży

  • Posty: 106
  • Dołączył(a): Cz 08 cze, 2006 10:42
  • Lokalizacja: Bydgoszcz

PostN 16 mar, 2008 16:35

Teraz cały proces trwa o wiele krócej ale nadal sie nie pojawiają nowi żołnierze...
Może to ja coś źle robie...
W wyzwalaczu wpisuje tak:

[group zol1, getMarkerPos "gora"] exec "initt.sqs"

potem robie na Desert Island na górce element logiczny i nazywam go "gora" a dowódce ruskich zol1. Jakiś błąd zrobiłem?? Bo skrypt nie pokazuje w grze błędów ale żołnierze sie nie respawnują.
Offline
Avatar użytkownika

101st Paratroop

Major

Major

  • Posty: 691
  • Dołączył(a): Cz 11 sie, 2005 12:51

PostN 16 mar, 2008 16:49

Nie nazywaj dowódcy ruskich zol1 tylko nazwij jego grupę.
Wpisz dowódcy grupy w aktywacji:
Kod: Zaznacz cały
zol1 = group this
Offline

Zielarz

Chorąży

Chorąży

  • Posty: 106
  • Dołączył(a): Cz 08 cze, 2006 10:42
  • Lokalizacja: Bydgoszcz

PostN 16 mar, 2008 16:57

Jak wpisałem dowódcy w aktywacji zol1 = group this na początku misji pojawia sie błąd.
I skrypt sie nie ładuje.
Dowódca musi mieć nazwę a jego grupa jest już ujęta w skrypcie bo podczas działania odlicza ile zostało w grupie ale nie pojawia sie nowa grupa.
Offline
Avatar użytkownika

kondor

Major

Major

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

PostN 16 mar, 2008 17:55

Para, nie pisz herezji. Dobrze wszystko jest.
@Zielarz: jak uzywasz elementu logicznego to powinno byc:
Kod: Zaznacz cały
[group zol1, getPos gora] exec "initt.sqs"


komenda getMarkerPos odnosi się do tylko markerów
Offline

Zielarz

Chorąży

Chorąży

  • Posty: 106
  • Dołączył(a): Cz 08 cze, 2006 10:42
  • Lokalizacja: Bydgoszcz

PostN 16 mar, 2008 18:01

Jest już iskierka nadziei!!!! Żołnierz zostali stworzeni!!! Ale... :cry:

Stoją w miejscu i nawet sie nie bronią... Poza tym jak zrobić aby szli do tego samego punktu trasy co poprzednicy??
I jeszcze jedno gdzie ustalić ile razy będą sie odradzać??
Offline
Avatar użytkownika

kondor

Major

Major

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

PostN 16 mar, 2008 18:17

też to zauważyłem, że straszne kołki z nich są
musisz się chyba pobawić komendami:
doMove/move setBehaviour i poszukać na tym forum jak sterować zachowaniem się AI
odpowiednie komendy wpisz na końcu owego skryptu
zeby grupa odradzala się zawsze, na koncu tego skryptu wpisz linijkę:
Kod: Zaznacz cały
[_grupa, _pozycja] exec "nazwa_tego_skryptu.sqs"

zeby odradzala się konkretną ilość razy trzeba zakobninować np ze zmienną globalną lub z 3. parametrem skryptu
Offline

Zielarz

Chorąży

Chorąży

  • Posty: 106
  • Dołączył(a): Cz 08 cze, 2006 10:42
  • Lokalizacja: Bydgoszcz

PostN 16 mar, 2008 18:26

kondor napisał(a):zeby odradzala się konkretną ilość razy trzeba zakobninować np ze zmienną globalną lub z 3. parametrem skryptu


W tworzeniu skryptów nie jestem zbyt dobry... :oops: Zawsze tylko przerabiałem na własne potrzeby i potrzeby misji...

Przypomniało mi sie że w BOH była taka misja z respawnem żołnierzy i bardzo dobrze działał ten skrypt ale on był połączony z innymi nie nie umiałem go rozdzielić... Można by sie wzorować na nim... (oczywiście bez łamania praw autorskich tylko na własne potrzeby)
Jak masz ten mod i mógł byś looknąć na misje Battle over Everon to byś zobaczył czy cos da sie z tym zrobic bo mi sie nie udało... :cry:
Offline
Avatar użytkownika

kondor

Major

Major

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

PostN 16 mar, 2008 18:39

jesli chodzi Ci o respawn konkretną ilość razy, to mozesz np w pliku init.sqs wpisać linijkę:
Kod: Zaznacz cały
ilosc_resp = 5

a w skrypcie tym na koncu wpisać:
Kod: Zaznacz cały
?(ilosc_resp > 0): [_grupa, _pozycja] exec "nazwa.sqs"
ilosc_resp = ilosc_resp - 1

zamiast
Kod: Zaznacz cały
[_grupa, _pozycja] exec "nazwa.sqs"


odnosnie zachowania tej grupy/biegnięcia w konkretne miejsce poszukaj na tym forum
Offline

Zielarz

Chorąży

Chorąży

  • Posty: 106
  • Dołączył(a): Cz 08 cze, 2006 10:42
  • Lokalizacja: Bydgoszcz

PostN 16 mar, 2008 18:47

po tym jak zabije nową grupe to nastepna sie nie pojawia tylko cały czas jest hint: czekam.

Kiedys juz poruszałem ten temat i ktos mi podał taki skrypt ale on nie działał ale moze coś Ci podpowei odnoścnie poruszania sie jednostek:

Kod: Zaznacz cały

;CloneGroup.sqs
; Uruchomienie:
; [grupa, pozcyja1, pozycja2] exec "CloneGroup.sqs"
; gdzie:
;     grupa - nazwa grupy którą chcemy "klonować"
;    pozcyja1 - pozycja gdzie jednostki sie respawnuja
;    pozycja2 - pozycja dokad maja sie przemiescic

_Group     = _this select 0
_createPos = _this select 1
_movePos   = _this select 2

_listunits = units _Group

_A = 0
_B = count _listunits
#NEXT

typeOf (_listunits select _A) createUnit [_createPos, _Group]

_listunits2 = units _Group
_soldier = ( _listunits2 select( (count _listunits2) -1)  )
[_soldier] Join GrpNull
_soldier Move _movePos

_A=_A+1
?_B >_A:goto "NEXT"


i do uruchomienia takie coś: [off1, base1,getpos battlefield] exec "CloneGroup.sqs"

tylko nie działało ale może ktos sie w czyms pomylił...
Offline
Avatar użytkownika

kondor

Major

Major

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

PostN 16 mar, 2008 19:02

a jakie parametry podales do uruchomienia tego skryptu? i czym one są w Twojej misji?
Offline

Zielarz

Chorąży

Chorąży

  • Posty: 106
  • Dołączył(a): Cz 08 cze, 2006 10:42
  • Lokalizacja: Bydgoszcz

PostN 16 mar, 2008 19:07

off1 to był oficer base 1 to miejsce gdzie miał byc respawn, a getpos to miejsce gdzei piechota miała iść po respie...
i miejsca to nie pamietam czy to były elementy logiczne czy markery..
wiele ludzi z tego forum udzielało rad w tym temacie ale nikt nie mial racji.. Jak bys mogł sprawdzic na swoim ofp było by szybciej i łatwiej bo tak po jednym zdaniu na 1h to mozemy przez 1misiąc sie wymieniac skryptami itp... :idea:
Offline
Avatar użytkownika

kondor

Major

Major

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

PostN 16 mar, 2008 19:34

Kod: Zaznacz cały
[off1, base1,getpos battlefield] exec "CloneGroup.sqs"

przy takim wywolaniu i tym co mowisz, robisz to źle
zobacz na zawartosc skryptu:
Kod: Zaznacz cały
_Group     = _this select 0
_createPos = _this select 1
_movePos   = _this select 2

czyli:
-pierwszym paramterem musi byc grupa, a Ty podales zolnierza - powinienes zamiast off1 dać group off1
-argument base musi byc pozycją, nie mogą to być elementy logiczne, czy markery - pozycja to wektor, czyli np [123,423]. Czyli jesli u Ciebie base1 to el. logiczny to musisz zamiast base1 wpisać getPos base1
-trzeci argument tez jest pozycją, więc masz to akurat dobrze o ile battlefield jest el. loginczym lub inną jednostką. jesli battlefield jest markerem to musisz uzyc komendy getMarkerPos "battlefield"

na koniec: niestety nie przeskoczysz znajomosci skryptow. edytowanie juz istniejących moze się udać tylko w naprawdę rzadkich sytuacjach, ale zazwyczaj popełnisz gdzies błąd i nie będziesz nawet o tym wiedział.
Offline

Zielarz

Chorąży

Chorąży

  • Posty: 106
  • Dołączył(a): Cz 08 cze, 2006 10:42
  • Lokalizacja: Bydgoszcz

PostN 16 mar, 2008 19:50

Teraz skrypt sie uruchamia ale na poczatku wyskakuje błąd : ilosc resp = 5... a gdy grupa jest zniszczona oficer sie respi tylko...

PS. Przez edycje mozna sie wiele nauczyc... Oczywiście nie na tyle aby samemu tworzyć skrypty ale jakieś podstawy to juz coś...
Online

xersius

Pułkownik

Pułkownik

  • Posty: 99987
  • Dołączył(a): Pn 29 lip, 2024 15:01

Re: Respawn grupy żołnierzy

PostSo 14 gru, 2024 00:55

инфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфо
инфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфо
инфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфо
инфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинйоинфоинфоинфоинфоинфо
инфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфо
инфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфо
инфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфо
инфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфо
инфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфо
инфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоинфоtuchkasинфоинфо
Poprzednia stronaNastępna strona

Powrót do Operation Flashpoint

Kto przegląda forum

Użytkownicy przeglądający ten dział: xersius i 1 gość

cron