Po pierwsze witam wszystkich userów forum jako nowy
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 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 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 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 ):
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ć
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ś?
Noob robi moda :)
wprowadz taki kod:
i to przekompiluj (commands--> compile; commands-->run)
w texts.txt wszystko wygląda w porządku
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;
w texts.txt wszystko wygląda w porządku
jeden pojedynczy cudzyslow zgubiony... sniff.. musze sie zrelaksowac (gleboki oddech)
oto poprawny kod:
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...
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;
to normalne ze nie mogles edytowac, tak juz jest zaprogramowany (edytor) ze zatrzymuje sie po tzw. powaznym bledzie czy czyms w tym stylu...
temat
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...
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 Tylko w trakcie testu przez edytor nie uruchamiało sie zapytanie. Zaraz sprawdzę czy jest ok wszystko w grze
A jednak, w grze nie uruchamiają się ani dialogi, ani zadanie, ani zapytanie...
----------
Radzio --> wysłałem.
----------
PS. Wpisałem w tym polu identyfikator, uruchomiły się dialogi Tylko w trakcie testu przez edytor nie uruchamiało sie zapytanie. Zaraz sprawdzę czy jest ok wszystko w grze
A jednak, w grze nie uruchamiają się ani dialogi, ani zadanie, ani zapytanie...