Teraz jest Cz 28 mar, 2024 14:56


Skrypt spawnujacy i usuwający jednostki.

Dział poświęcony edytorowi ArmA II i Operation Arrowhead, czyli tworzeniu misji.
  • Autor
  • Wiadomość
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...

Skrypt spawnujacy i usuwający jednostki.

PostN 18 wrz, 2011 21:36

Czy ma ktoś dostęp do skryptu, który spawnował by pojedyńcze jednostki (cywilne) po wjechaniu w obszar wyzwalacza i usuwał je po wyjechaniu z boszaru wyzwalacza. Chodzi mi głównie o jednostki nie będące w grupie jezeli jest taka mozliwość. Próbowałem szukać coś na forum, ale nic z tego co znalazłem nie umiałem przerobić na swoje potrzeby z prostego powodu- jestem w tym zielony. Dodam, że skrypt musiałby działać w misjach multi na mapach, które nie posiadają modułu ambient civilians.
Offline
Avatar użytkownika

kondor

Major

Major

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

PostN 18 wrz, 2011 21:47

Radziłbym użyć tego: http://community.bistudio.com/wiki/BIS_fnc_spawnGroup tylko musiałbyś gdzieś najpewniej w zmiennej globalnej trzymać grupę po utworzeniu, by później móc ją usunąć.
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...

PostPn 19 wrz, 2011 14:32

[getMarkerPos "spawn", Civilian, 5] call BIS_fnc_spawnGroup wpisałem to w pole uruchamiania wyzwalacza i zero efektów. Wg opisu ze strony powinienem mieć 5 randomowych jednostek z frakcji Cywile w obszarze markera o nazwie spawn.
Offline
Avatar użytkownika

JaFranek

Major

Major

  • Posty: 581
  • Dołączył(a): Wt 16 lis, 2004 14:46
  • Lokalizacja: Tbg

PostPn 19 wrz, 2011 16:27

zamiast markera użyj obiektu logicznego. Pewniejszy jest.
Nie pytaj, co OF może zrobić dla ciebie, ale co Ty możesz zrobić dla OF
Offline
Avatar użytkownika

gremdek

Porucznik

Porucznik

  • Posty: 428
  • Dołączył(a): Pn 27 lut, 2006 15:02

PostPn 19 wrz, 2011 17:20

Blackburn napisał(a):[getMarkerPos "spawn", Civilian, 5] call BIS_fnc_spawnGroup wpisałem to w pole uruchamiania wyzwalacza i zero efektów. Wg opisu ze strony powinienem mieć 5 randomowych jednostek z frakcji Cywile w obszarze markera o nazwie spawn.


http://community.bistudio.com/wiki/Functions_Library - pewnie inicjalizacji nie zrobiłeś
:(
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...

PostPn 19 wrz, 2011 21:34

Raczej nic mi ten link nie podpowiedział, a wręcz dodał więcej wątpliwości.
Krótka piłka- czy jest taki skrypt, albo sposób i czy ktoś w jasny sposób potrafi go zapodać?
Offline
Avatar użytkownika

gremdek

Porucznik

Porucznik

  • Posty: 428
  • Dołączył(a): Pn 27 lut, 2006 15:02

PostWt 20 wrz, 2011 00:36

podstaw sobie na mapie:
Modules (F7) > Function Library

stwórz plik init.sqf w katalogu z misją.
w nim
Kod: Zaznacz cały
waituntil {!isnil "bis_fnc_init"};
[getMarkerPos "spawn", Civilian, 5] call BIS_fnc_spawnGroup


oczywiście musisz gdzieś mieć na mapie marker o nazwie "spawn". i postaw obojętnie jakiego cywila gdzieś i daj mu zerowe prawdopodobieństwo.
:(
Offline
Avatar użytkownika

kondor

Major

Major

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

PostWt 20 wrz, 2011 07:41

Postawienie cywila jest potrzebne? Funkcja byłaby imo naiwna gdyby sama nie zadbała o to (createCenter czy jak to tam się nazywa).
Offline
Avatar użytkownika

gremdek

Porucznik

Porucznik

  • Posty: 428
  • Dołączył(a): Pn 27 lut, 2006 15:02

PostWt 20 wrz, 2011 10:51

w 90% przypadków na tym forum w dziale edytor piszę ludziom to co jest napisane na http://community.bistudio.com/wiki, zwłaszcza jeśli chodzi o arme2 w której edytorze się nie bawiłem

w tym przypadku:
Description:
Function which handles the spawning of a dynamic group of characters. The composition of the group can be passed to the function. Alternatively a number can be passed and the function will spawn that amount of characters with a random type.

A side's Center must have been created before a group may be spawned. Either by using createCenter or an editor placed (0% Probability of Presence is fine) unit of the appropriate side.
:(
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...

PostWt 20 wrz, 2011 14:08

Też nie działa. Może przejdźmy do drugiego (ważniejszego) problemu jakim jest kasowanie jednostek po wjechaniu w odpowiedni wyzwalacz. Deletevechicle nie działa, a obiło mi się o uszy, że powinien załapać.
Offline
Avatar użytkownika

gremdek

Porucznik

Porucznik

  • Posty: 428
  • Dołączył(a): Pn 27 lut, 2006 15:02

PostWt 20 wrz, 2011 15:52

Kod: Zaznacz cały
// usun_jednostki.sqf
//_units - tutaj mają być twoje jednostki do usunięcia, jakoś je tutaj przypisz!!
// np. :
// _units = this;
{
  _x addeventhandler ["killed", {deletevehicle _this}];
  _x setdamage 1;
} forEach _units;



odpal sobie taki skrypcik w aktywacji/deaktywacji. tego triggera
np. tak: [zenon, heniek, janusz, mariusz, domino] execVM "usun_jednostki.sqf";
zabijać chyba nie trzeba przed deletevehicle, ale dla pewności dałem.
:(
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...

PostSo 24 wrz, 2011 13:38

Juz widzę ten facepalm gremdeka..... No niestety i ten skrypt mi nie działa. W script error pokazuje mi, że w każdej linijce skryptu jest błąd. Poradziłem sobie z usuwaniem jednostek za pomocą deletevehicle, wczesniej wpisywałem w formacie deletevehicle_jednostka co oczywiście było błędne (powinno być deletevehicle jednostka). Cd spawnowania, to wychodzi mi tylko spawnowanie grupy.

Powiedzmy, że mój problem został rozwiązany.

Powrót do [ArmA II] Edytor

Kto przegląda forum

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

cron