pytanie o wyzwalacz

Edytor Arma (Arma, Arma2, Arma2OA)

Moderatorzy: kondor, Inkwizytor

ODPOWIEDZ
jawor
Posty: 74
Rejestracja: 01 lipca 2012, 12:26
ID Steam:

pytanie o wyzwalacz

Post autor: jawor »

Kiedy w aktywacji wyzwalacza wpiszę :

"TK_GUE_Soldier_AT_EP1" createUnit [position player, group player] pojawia się takistański żołnierz, ale jest w mojej grupie. Jak zrobić żeby walczył przeciwko mnie- żeby należał do rosjan, ja gram usa?
elgyd
Posty: 113
Rejestracja: 11 sierpnia 2011, 18:27
ID Steam:

Re: pytanie o wyzwalacz

Post autor: elgyd »

Spróbuj wpisać:

_grp = createGroup west;
jawor
Posty: 74
Rejestracja: 01 lipca 2012, 12:26
ID Steam:

Re: pytanie o wyzwalacz

Post autor: jawor »

Nie no ta komenda to chyba trochę do czegoś innego służy.

Ja na chwilę obecną mam tak - w wyzwalaczu mam wpisane:

"TK_GUE_Soldier_AT_EP1" createUnit [position player, group banan];

obok postawiłem LOGIKA GRY o nazwie banan. Teraz tworzy mi się żołnierz TK... ale chciałbym żeby był po przeciwnej stronie konfliktu. Jak nadać mu do jakiej strony ma należeć ( o to mi chodzi)?
Awatar użytkownika
Sejtan
Posty: 112
Rejestracja: 03 kwietnia 2007, 20:54
ID Steam: sejtan24
Numer GG: 6538171
Lokalizacja: Starogard Gdański

Re: pytanie o wyzwalacz

Post autor: Sejtan »

To co napisał elgyt jest jak najbardziej słuszną komendą, która służy do "tworzenia grupy" w tym przypadku west czyli zachód. Ciebie interesuje takistańczyk po stronie wschodniej czyli east.... Także wywal ten element logiczny, bo jest on tu niepotrzebny... Daj wyzwalacz, rozmiar 0x0, warunek true i przy aktywacji _grp = createGroup east;. Następny wyzwalacz jaki tam chcesz z Twoją komendą, czyli "TK_GUE_Soldier_AT_EP1" createUnit [position player, group _grp];.
jawor
Posty: 74
Rejestracja: 01 lipca 2012, 12:26
ID Steam:

Re: pytanie o wyzwalacz

Post autor: jawor »

Zrobiłem tak jak piszesz, ale skopiowałem: "TK_GUE_Soldier_AT_EP1" createUnit [position player, group _grp]; i wyskakuje błąd :LOKALNA ZMIENNA W PRZESTRZENI OGÓLNEJ i nie działa. Dlaczego?

ps. Jak zmienię _grp na player to pojawia się jednostka, ale dołączona do mojej grupy, a tego nie chcę.
Awatar użytkownika
tasior2103
Posty: 83
Rejestracja: 10 kwietnia 2010, 19:45
ID Steam:
ID gracza: 0
Kontakt:

Re: pytanie o wyzwalacz

Post autor: tasior2103 »

Kiedyś zrobiłem misję gdzie wróg się spawnował i właśnie ją odgrzebałem.

w init.sqf misji wpisane było :

Kod: Zaznacz cały

east setFriend [west, 0];
west setFriend [east, 0]; 
_eastHQ = createCenter east; 
- definiuje kto jest wrogiem kogo.
- nie pamiętam dlaczego Ai musi mieć center, ale gdzieś wyczytałem że musi. Po prostu wstaw obiekt logiczny i nazwij go "easthq"

Wyzwalaczem odpalałem skrypt, a nie spawnowałem jednostki. Wiec w wyzwalaczu wpisane było:

Kod: Zaznacz cały

nul=[this] execVM "skrypt\wrog1.sqf"
a oto skrypt o nazwie "wrog1.sqf"

Kod: Zaznacz cały

_grp = createGroup (east);
"TK_Soldier_EP1" createUnit [getMarkerPos "en1", _grp,"wrog1 = this"];
"TK_Soldier_EP1" createUnit [getMarkerPos "en1", _grp,"wrog2 = this"];
"TK_Soldier_Medic_EP1" createUnit [getMarkerPos "en1", _grp,"wrog3 = this"];
"TK_Soldier_EP1" createUnit [getMarkerPos "en1", _grp,"wrog4 = this"];
"TK_Soldier_EP1" createUnit [getMarkerPos "en1", _grp,"wrog5 = this"];
"TK_Soldier_EP1" createUnit [getMarkerPos "en1", _grp,"wrog6 = this"];
"TK_Soldier_AR_EP1" createUnit [getMarkerPos "en1", _grp,"wrog7 = this"];
_wrog1 setskill 0.25;
_wrog2 setskill 0.25;
_wrog3 setskill 0.25;
_wrog4 setskill 0.25;
_wrog5 setskill 0.25;
_wrog6 setskill 0.25;
_wrog7 setskill 0.25;
_grp setFormDir 0;
_grp setBehaviour "COMBAT";

Skrypt określa również kierunek w którym po spawnie zwrócony jest wróg, oraz jego skill i zachowanie.
Wroga grupa pojawia się w miejscu markera "en1", możesz zastąpić to position player.

Proponuję zmienić nazwę tego tematu. Zawarte w nim informację mogą się jeszcze komuś przydać.
http://www.armafans.pl
<ze względu na drastyczne sceny ten link został usunięty>

Obrazek
gremdek
Posty: 261
Rejestracja: 13 grudnia 2006, 16:53
ID Steam:

Re: pytanie o wyzwalacz

Post autor: gremdek »

jawor pisze:Zrobiłem tak jak piszesz, ale skopiowałem: "TK_GUE_Soldier_AT_EP1" createUnit [position player, group _grp]; i wyskakuje błąd :LOKALNA ZMIENNA W PRZESTRZENI OGÓLNEJ i nie działa. Dlaczego?

ps. Jak zmienię _grp na player to pojawia się jednostka, ale dołączona do mojej grupy, a tego nie chcę.
przecież ci napisało że lokalna zmienna w przestrzeni ogólnej.
lokalne zmienne:
_zmienna
globalne zmienne:
zmienna

sprawa druga - przeczytaj sobie co robi komenda group.
sprawa trzecia - poczytaj sobie o funkcjach/komendach/zwracaniu wartości

może tak ci zadziała, ale jest to niebezpieczne przy wielokrotnym wywoływaniu, dlaczego to sobie poczytaj

Kod: Zaznacz cały

"TK_GUE_Soldier_AT_EP1" createUnit [position player, createGroup east];


https://community.bistudio.com/wiki/Cat ... ing_Topics - to czytać
cfog skończył się na kill'em all
Awatar użytkownika
Sejtan
Posty: 112
Rejestracja: 03 kwietnia 2007, 20:54
ID Steam: sejtan24
Numer GG: 6538171
Lokalizacja: Starogard Gdański

Re: pytanie o wyzwalacz

Post autor: Sejtan »

jawor pisze:Zrobiłem tak jak piszesz, ale skopiowałem: "TK_GUE_Soldier_AT_EP1" createUnit [position player, group _grp]; i wyskakuje błąd :LOKALNA ZMIENNA W PRZESTRZENI OGÓLNEJ i nie działa. Dlaczego?

ps. Jak zmienię _grp na player to pojawia się jednostka, ale dołączona do mojej grupy, a tego nie chcę.
Sorry... Mój błąd... Zmień _grp na grp w obu wyzwalaczach i powinno być ok.
jawor
Posty: 74
Rejestracja: 01 lipca 2012, 12:26
ID Steam:

Re: pytanie o wyzwalacz

Post autor: jawor »

gremdek pisze:
jawor pisze:

Kod: Zaznacz cały

"TK_GUE_Soldier_AT_EP1" createUnit [position player, createGroup east];

OK. Poszło. A jak do tego dołączyć skrypt upsmon? : nul=[this,"marker1","random"] execVM "scripts\upsmon.sqf";
ODPOWIEDZ

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