Page 1 of 7

Noob robi moda :)

Posted: Fri Jan 26, 2007 10:06 am
by Odyseusz
Po pierwsze witam wszystkich userów forum jako nowy :P
Po drugie: temat ten założyłem jako pomoc dla mnie od zaawansowanych modderów (takich jak np: Radzio, NNplay i inni). Otóż zacząłem się bawić edytorem OW, chciałem zrobić mały mod dodający narazie chociaż banalna pierwszą misję. Chodziło o cos podobnego do pierwszej misji USA, tylko wejście do EONa a potem dalsza część mapy z przejściem do jakiegoś obszaru :wink: Czytałem w jednym z tematów opis zrobienia takiej misji, niestety wzorując się na nim nic mi nie wyszło :( Przy odpalaniu misji, zawsze na końcu wyskakiwał error dotyczący fragmenu skryptu w Seilu, kiedy porpawiłem go lub dany fragmeny usunąłem to pojawiał się następny i tak ciągle. W końcu wywaliłem cał skrpyt a i tak był error :P Próbowałem z modu NNplaya wziąść mapkę z EONem ale coś chyba nie wyszło więc przestałem się nią bawić i zrobiłem prostą mapkę z EONem, kilkoma gostkami których identyfikatory dopisałem do Texts/CharName.wri no i jest jeszcze tam mój nowy bohater 'Kowalski' :)
A więc tak w Sielu zrobiłem coś takiego:

starting
every 0$1 trigger IsInArea(Kowalski,start) do
Begin
CenterNowOnUnits(Kowalski)
Say(Tysoe,'k0');
Say(Kowalski,'k1');
ChangeMissionObjectives('C1');
end;

very 0$1 trigger IsInArea(Kowalski,wejscie) do
Begin
Case Query("Zapytanie1") of
1 : begin
Say(Kowalski,'k2');
ComEnterUnit(Bobby,eon);
Wait(0$3);
ComEnterUnit(Campbell,eon);
Wait(0$3);
ComEnterUnit(Jablonski,eon);
Wait(0$3);
ComEnterUnit(Brown,eon);
Wait(0$3);
ComEnterUnit(Kowalski,eon);
AddMedal('med1',1);
AddMedal('med2',1);
AddMedal('med3,-1);
GiveMedals('Main');
RewardPeople(Kowalski);
SaveCharacters(Kowalski,'Kowalski');
YouWin;
end;
2: begin
YouLost('tchorz');
end;
end;
end;

Chodziło oto żeby na starcie Tysoe mówił jedną kwestię zapisaną w katalogu z misją w texts.txt po nim mówił Kowalski, warunkiem do tego miało być znajdowanie się Kowalskiego w arenie na której stoi na starcie.
Potem pokazuje się cel główny - przejść do EONa, no i gdy do niego podchodzimy (obok EONa była druga arena - wejscie) miało być pytanie czy wejść do EONa (tak lub nie). A jak już się weszło pokazywały się medale 8) Oto wygląd pliku texts.txt:


# C1
Add Main cel1
- Przejdź do EONa.
#


$ k0
- Grupa 6 przygotować się! Brandon, Brown, Jabłoński, Kowalski, Campbell przejść do EONa!

$ k1
- Już czas.

$ k2
- Niech Bóg ma mnie w swojej opiece.

? Zapytanie1
Czy chcesz wejść do EONa?
- Tak
- Nie
?

| tchorz
Stchórzyłeś!

^ MAIN
Target achieved

* med1
+ Nie stchórzyłeś.
*

* med2
+ Nie zapomniałeś karabinu.
*

* med2a
- Zapomniałeś kaszanki.
*

W pliku Campains/AM/mission.dat według tutorialu ustawiłem co trzeba:

CAMPAIGN "American campaign"
MISSION 0
NAME "New Campaign"
NEXT 1
MISSION 1
MAP Am01
NAME "Przybycie"
SUBCAMP 1
PREV 0
FINISH
END_OF_CAMPAIGN

A tu jest jeszcze CharName.wri z dopisanym identyfiaktorami (napisze tylko dopisanych przeze mnie nowych bo ten plik jest baardzo długi, podobnie jak mój post :P ):

Yashin
Marszałek N. M. Jaszin

Kowalski
Dawid Kowalski

Jablonski
Kpr. Robert Jabłoński

Campbell
Roger Campbell

Tysoe
Kpt. Gilbert Tysoe

Brown i Bobby byli na początku tego pliczku więc ich na nowo nie musiałem tu na dole pisać :wink:

Przy wczytywaniu mapy wszystko było dobrze, była nawet pokazana pozycja, nazwa mapy i opis, ale był ten nieszczęsny error na końcu :(

Pomoże ktoś?

Posted: Fri Jan 26, 2007 10:22 am
by Radzio
wprowadz taki kod:

Code: Select all

starting
begin
CenterNowOnUnits(Kowalski);
Say(Tysoe,'k0');
Say(Kowalski,'k1');
ChangeMissionObjectives('C1');
end;

every 0$1 trigger IsInArea(Kowalski,wejscie) do
begin
Case Query('Zapytanie1') of
1: begin
InGameOn;
Say(Kowalski,'k2');
ComEnterUnit(Bobby,eon);
Wait(0$3);
ComEnterUnit(Campbell,eon);
Wait(0$3);
ComEnterUnit(Jablonski,eon);
Wait(0$3);
ComEnterUnit(Brown,eon);
Wait(0$3);
ComEnterUnit(Kowalski,eon);
wait(0$5);
InGameOff;
AddMedal('med1',1);
AddMedal('med2',1);
AddMedal('med3,-1);
GiveMedals('Main');
RewardPeople(Kowalski);
SaveCharacters(Kowalski,'Kowalski');
YouWin;
end;
2: begin
YouLost('tchorz');
end;
end;
end;
i to przekompiluj (commands--> compile; commands-->run)
w texts.txt wszystko wygląda w porządku

Posted: Fri Jan 26, 2007 12:15 pm
by Odyseusz
Kiedy biorę Compile znajduje błąd w kodzie:

Compiling error at New1 line 29: ')'or','expected but 'Main' found!

O co w tym chodzi :?:

I jeszcze jedno: przy moich poprzednich próbach uruchomienia mapki w modzie i po errorze nie mogłem juz ich modyfikować edytorem. Dlaczego?

Posted: Fri Jan 26, 2007 12:34 pm
by Radzio
jeden pojedynczy cudzyslow zgubiony... sniff.. musze sie zrelaksowac (gleboki oddech)
oto poprawny kod:

Code: Select all

starting
begin
CenterNowOnUnits(Kowalski);
Say(Tysoe,'k0');
Say(Kowalski,'k1');
ChangeMissionObjectives('C1');
end;

every 0$1 trigger IsInArea(Kowalski,wejscie) do
begin
Case Query('Zapytanie1') of
1: begin
InGameOn;
Say(Kowalski,'k2');
ComEnterUnit(Bobby,eon);
Wait(0$3);
ComEnterUnit(Campbell,eon);
Wait(0$3);
ComEnterUnit(Jablonski,eon);
Wait(0$3);
ComEnterUnit(Brown,eon);
Wait(0$3);
ComEnterUnit(Kowalski,eon);
wait(0$5);
InGameOff;
AddMedal('med1',1);
AddMedal('med2',1);
AddMedal('med3',-1);
GiveMedals('Main');
RewardPeople(Kowalski);
SaveCharacters(Kowalski,'Kowalski');
YouWin;
end;
2: begin
YouLost('tchorz');
end;
end;
end;
przekompiluj tak jak ci pokazalem i sprobuj jeszcze raz,
to normalne ze nie mogles edytowac, tak juz jest zaprogramowany (edytor) ze zatrzymuje sie po tzw. powaznym bledzie czy czyms w tym stylu...

Posted: Fri Jan 26, 2007 12:37 pm
by Odyseusz
Znowu czegos sie czepia :P Tym razem chodzi o idnetyfikator Kowalskiego chyba:

Linking error at New1 line 3: undefined idnetifiter 'Kowalski'!

W CharName jest wszystko chyba dobrze, nie wiem tylko czy gdzieś jeszcze identyfikatora nowych postaci wpisywać nie trzeba.

Posted: Fri Jan 26, 2007 12:45 pm
by Radzio
ta postac na mapie musi miec taki identyfikator! kazda postac na mapie ktora uzyles w sailu musi miec ustawiony swoj odpowiedni identyfikator, jak to zrobisz to zapisz mape i znowu przekompiluj

Posted: Fri Jan 26, 2007 1:33 pm
by Odyseusz
Nadal to samo... :x

Posted: Fri Jan 26, 2007 2:02 pm
by Radzio
wyslij mi tego moda mailem to zobacze ocb

temat

Posted: Fri Jan 26, 2007 3:17 pm
by NaDoL
Bo masz pewnie wstawiony ID tylko w jednym oknie w tym co ma wyswietlac w grze, a musi być tam obok (po lewej) jest jeszcze jedno okno gdzie nalezy wpisac ID, jest na tym forum tyle tematów gdzie to wszystko pisze...

Posted: Fri Jan 26, 2007 3:19 pm
by Radzio
ale pewnie opcja "Szukaj" jest niewidoczna dla pewnych userow

Posted: Fri Jan 26, 2007 5:24 pm
by Odyseusz
Dla mnie opcja 'szukaj' nie jest nowością, ale skąd miałem wiedzieć o tym ID, mody dopiero się uczę robić od 2 dni :?

----------
Radzio --> wysłałem.

----------
PS. Wpisałem w tym polu identyfikator, uruchomiły się dialogi :P Tylko w trakcie testu przez edytor nie uruchamiało sie zapytanie. Zaraz sprawdzę czy jest ok wszystko w grze :wink:

A jednak, w grze nie uruchamiają się ani dialogi, ani zadanie, ani zapytanie... :?

Posted: Fri Jan 26, 2007 5:58 pm
by Radzio
wyslalem ci wszystko jak nalezy dziala (tez poprawilem bo nie wstawiles identyfikatorow) oprocz tego pozbylem sie texts.txt a jego zawartosc dalem do Campaigns\Am\01.wri i jego polskiej wersji w #POL, poprawilem troche dzialanie twojego kodu w SAILu, popatrz go sobie teraz

Posted: Fri Jan 26, 2007 6:00 pm
by Odyseusz
Zaraz sprawdzę twoją poprawioną wersję, przed chwilą troche poszperałem w plikach moda i działało. W czasie gry uruchamiały się dialogi (dodałem efekt filmu), pojawia się cel misji, ale nie było zapytania :? Może w twojej wersji będzie ok wszystko :wink:

Posted: Fri Jan 26, 2007 6:01 pm
by Radzio
zapewniam cie, ze tak bedzie :wink:

Posted: Fri Jan 26, 2007 6:06 pm
by Odyseusz
Super! Wszystko działa! Piekne dzięki Radzio :wink: Teraz będę zaczynał próbować robić dalszy ciąg misji, jeśli będę miał z czyms problem będę tu pisał :)
A jak właściwie udało ci się dać zapytanie? Dzięki dodaniu sekwencji filmowej :?: