mam taki problem w sailu!
co mam wpisać,aby zakończyć misję po dojściu do danej areii???:oops:
ps: Jak taki temat był już założony to dajcie linka bo szukałem i nie mogłem znaleźć
proszę o szybką odpowiedź
Koniec misji
- Pawel orginal
- Soldier level 1
- Posts: 13
- Joined: Thu Mar 20, 2008 2:29 pm
- Location: Radom
- NNPlaya
- Community Veteran
- Posts: 372
- Joined: Sat Oct 14, 2006 4:52 pm
- Location: Tuszyn, Polska
- Contact:
http://forum.original-war.net/viewtopic.php?t=551
Konkretnie chodzi o ostatni fragment kodu:Przeróbmy go na Twoje potrzeby. Najpierw podsumujmy - potrzebna nam reakcja w postaci zakończenia misji (zakładam, że obejmuje to rówież medale i zapisywanie postaci). Ta reakcja ma mieć miejsce gdy spełniamy warunek - ktoś jest w określonej arei. Teraz przetłumaczmy to na język zrozumiały dla kompilatora SAIL.Objaśnienie sekcji po kolei:
Konkretnie chodzi o ostatni fragment kodu:
Code: Select all
every 0$1 trigger IsInArea(heros,Area02) do
Begin
Case Query("Zapytanie1") of
1 : begin
ComEnterUnit(kolo1,eon);
Wait(0$3);
ComEnterUnit(kolo2,eon);
Wait(0$3);
ComEnterUnit(kolo3,eon);
Wait(0$3);
ComEnterUnit(heros,eon);
AddMedal('med1',1);
AddMedal('med2',1);
AddMedal('med3,-1); //Tutaj też -, czyli nie dostajesz medalu.
GiveMedals('Main');
RewardPeople(heros);
SaveCharacters(heros,'heros');
YouWin;
end;
2: begin
YouLost('tchorz');
end;
end;
end;
Code: Select all
every 0$1 trigger IsInArea(Twoj_identyfikator_postaci,Twoja_area) do //1
Begin
AddMedal('med1',1); //2
AddMedal('med2',1);
AddMedal('med3,-1);
GiveMedals('Main'); //3
RewardPeople(Twoj_identyfikator_postaci); //4
SaveCharacters(Twoj_identyfikator_postaci,'Twoj_identyfikator_postaci_do_zapisu_w_pamięci_gry'); //5
YouWin; //6
end;
- Deklaracja powtarzania co 1 sekundę (0$1 - 1 sekunda) operacji sprawdzania, czy warunek IsInArea(Twoj_identyfikator_postaci,Twoja_area) jest prawdziwy. Warunek to taka funkcja, która przyjmuje pewną liczbę argumentów(wpisuje się je w nawiasy i oddziela przecinkami) i na podstawie ich stanu zwraca wartości typu boolean - true(czyli prawdziwy warunek) bądź false w przypadku gdy warunek nie jest spełniony. Instrukcja every pozwala na reakcję tylko w przypadku spełnienia bądź nie spełnienia warunku, żeby wprowadzić jakąś reakcję gdy nie ma określonego gościa w arei należy utworzyć drugie every.
- W drugiej sekcji w pamięci dodawane są medale. O medalach jest nawet w poradniku dołączonym do patcha, więc sobie daruję opisywanie.
- Trzecia sekcja zawiera komendę wyświetlającą tablicę z medalami (oczywiście wcześniej muszą zostać dodane komendami AddMedal;). Ponownie odsyłam do poradnika załączonego do patcha.
- W sekcji nr 4 masz komendę RewardPeople, która jako argument przyjmuje identyfikator jednego gostka bądź grupy ludzi. Wyświetla tablicę rozdzielania doświadczenia.
- Piąta sekcja to nic innego jak zapisanie postaci do pamięci pod dowolnym identyfikatorem podawanym w drugim argumencie jako ciąg literowy w apostrofach.
- Szósta i ostatnia sekcja to instrukcja YouWin nie wymagająca argumentów; kończy ona misję wygraną.
- Pawel orginal
- Soldier level 1
- Posts: 13
- Joined: Thu Mar 20, 2008 2:29 pm
- Location: Radom
Bo powinno być:
Code: Select all
every 0$1 trigger IsInArea(postac,area) do
begin
SetSide(FilterUnitsInArea(area,[]),nowa_strona);
end;
- Gothuk
- Site Administrator
- Posts: 985
- Joined: Tue Sep 04, 2007 6:10 pm
- Location: Poland, Warsaw
- Contact:
Tam gdzie jest nowa_strona, to wstawiasz numer nacji,
tu masz spis tych numerów:
http://forum.original-war.net/viewtopic.php?t=816
Jeśli chcesz aby jednostki przeszły na strone bohatera bez względu w jakiej się znajduje, to zrób tak:
EDIT
@down, nie mogłem się powstrzymać ^^,
tu masz spis tych numerów:
http://forum.original-war.net/viewtopic.php?t=816
Jeśli chcesz aby jednostki przeszły na strone bohatera bez względu w jakiej się znajduje, to zrób tak:
Code: Select all
every 0$1 trigger IsInArea(postac,area) do
begin
SetSide(FilterUnitsInArea(area,[]),GetSide(bohater));
end;
@down, nie mogłem się powstrzymać ^^,
a co do cudzysłowiów to masz racje, jakoś przypadkowo wstawiły się .Radzio wrote:I kto wam kazał wstawiać wszędzie cudzysłowy
Last edited by Gothuk on Sun Mar 23, 2008 10:38 pm, edited 1 time in total.
- Pawel orginal
- Soldier level 1
- Posts: 13
- Joined: Thu Mar 20, 2008 2:29 pm
- Location: Radom
prrrrrrrrrrrrrrrrrrrrrrrroblemo
mam jeszcze jeden problem!!!
przy tworzeniu misji.
kiedy w sailu i w texts wpisuje to co trzeba żeby wyświetlały się moje cele to sail chodzi i nie widzi erroru.
Lecz kiedy włączam grę to pokazują mi się cele z misji z original war.
kiedy stworzyłem 2 misję i przypisałem do misji amerykanów to miałe cele takie jakie są w grze (skrzynki przenieść na północ)
JAK TO NAPRAWIć
przy tworzeniu misji.
kiedy w sailu i w texts wpisuje to co trzeba żeby wyświetlały się moje cele to sail chodzi i nie widzi erroru.
Lecz kiedy włączam grę to pokazują mi się cele z misji z original war.
kiedy stworzyłem 2 misję i przypisałem do misji amerykanów to miałe cele takie jakie są w grze (skrzynki przenieść na północ)
JAK TO NAPRAWIć
- NNPlaya
- Community Veteran
- Posts: 372
- Joined: Sat Oct 14, 2006 4:52 pm
- Location: Tuszyn, Polska
- Contact:
Mimo kilkakrotnego przeczytania Twojego posta i usilnych chęci nic nie zrozumiałem oprócz tego, że coś celami misji jest nie tak Wklej kod SAILa - najlepiej w całości, to samo z texts.txt.
a i jeszcze coś...
Po kiego grzyba nadal używacie texts.txt? Przecież i tak potem będziecie musieli to kopiować do pliku wri, więc po co dorabiać sobie pracy? Bodajże od patcha 1.07 o ile mnie pamięć nie myli edytor potrafi czytać teksty także z plików wri z folderu Campaigns
a i jeszcze coś...
Po kiego grzyba nadal używacie texts.txt? Przecież i tak potem będziecie musieli to kopiować do pliku wri, więc po co dorabiać sobie pracy? Bodajże od patcha 1.07 o ile mnie pamięć nie myli edytor potrafi czytać teksty także z plików wri z folderu Campaigns
- Pawel orginal
- Soldier level 1
- Posts: 13
- Joined: Thu Mar 20, 2008 2:29 pm
- Location: Radom
Najpierw usun oryginalne moduły z SAIL z misji zapisz mapę i usuń moduły z folderu tej misji którą wyodrębniłes włącz "Go To Mode" i wróć odrazu do edytora zapisz iz wpisz swoj kod i powinno działac ( oczywiscie w nowym module). P
PS: Jak ci wyjdzie Misison restarting czy cos tkaiwego przy kompilownaiu to po prostu zapisz moduły i mape i otwórz ją spowrtoem wtedy kompilacja jest mozliwa
PS: Jak ci wyjdzie Misison restarting czy cos tkaiwego przy kompilownaiu to po prostu zapisz moduły i mape i otwórz ją spowrtoem wtedy kompilacja jest mozliwa
Jeanks zgarnia wszystko ot co xD