Mój pierwszy mod

Tematy zbędne, ale zbyt dobre by je usunąć znajdują się tutaj.
User avatar
NNPlaya
Community Veteran
Community Veteran
Posts: 372
Joined: Sat Oct 14, 2006 4:52 pm
Location: Tuszyn, Polska
Contact:

Post by NNPlaya »

No to zrób tak jak napisałem powyżej i po komendzie ChangeMissionObjectives (teraz na pewno działa, źle wpisałeś je w texts.txt, tam też je poprawiłem, w 01.wri zostawiłem bez zmian) wpisz po prostu SetAreaMapShow(areajakaśtam, 1);. No a potem to może jeszcze CenterNowOnXY(x,y), żeby wycentrować widok na arei (zamiast x i y wpisz współrzędne pośrodku arei). Czyli w rezultacie:

Code: Select all

every 0$1 trigger GetDistUnits(Julian,Heike)<8 do
Begin
CenterOnUnits([Julian,Heike]);
<DIALOG>
Wait(0$1);
ChangeMissionObjectives('dotarcie');
SetAreaMapShow(jakaś_tam_area,1);
Wait(0$2);
CenterNowOnXY(współrzędna x, współrzędna y);
Wait(0$4);
CenterNowOnUnits([Julian,Heike]);
end;
I potem w texts.txt/01.wri (pomijam tekst dialogów, umiesz już je tworzyć):

Code: Select all

# dotarcie
Add Main dot
- Dojdź z Julkiem lub bez niego do krawędzi mapy
#
# dotarciewykonane
out dot
#
User avatar
Scyzor
Community Veteran
Community Veteran
Posts: 78
Joined: Wed Dec 27, 2006 10:59 am

Post by Scyzor »

thx , to juz mam 2 misje z glowy :)
a teraz co trzeba zrobic zeby w 5 min gry pojawily sie jednostki wroga i mnie zaatakowaly ?

-------

jesli moja area nazywa sie area1 to komenda powinna byc SetAreaMapShow(area1,1); ?? bo nadal mi sie pokazuje na poczatku gry ta area
Radzio
Site Administrator
Site Administrator
Poland
Posts: 2898
Joined: Fri Jul 28, 2006 10:58 am
Location: Bialystok, Poland

Post by Radzio »

zeby sie od poczatku nie pojawiala to muisz ja ukryc w edytorze tam na dole gdzie ona jest ustawiona (na tej liscie) ustawic wartosc minimap na 0
User avatar
NNPlaya
Community Veteran
Community Veteran
Posts: 372
Joined: Sat Oct 14, 2006 4:52 pm
Location: Tuszyn, Polska
Contact:

Post by NNPlaya »

Żeby cie zaatakowały jednostki to zrób coś takiego:

Code: Select all

export ru_soldiers, i; // to napisz na początku, jeszcze przed Starting

every 0$300 do
Begin
uc_nation=nation_russian;
uc_side=3;
hc_skills=[3,1,0,0]; //umiejętności, pierwsza liczba to um. walki, 2 inżynierii, 3 mechaniki, 4 nauki
hc_sex=1; //1 to facet, 2 to kobieta
sol1=CreateHuman;
sol2=CreateHuman;
sol3=CreateHuman;
sol4=CreateHuman;
ru_soldiers=[sol1,sol2,sol3,sol4];
PlaceUnitXY(sol1,x,y,false);
PlaceUnitXY(sol2,x,y,false);
PlaceUnitXY(sol3,x,y,false);
PlaceUnitXY(sol4,x,y,false);
ComAttackUnit(ru_soldiers,FilterAllUnits([[f_side,2],[f_type,unit_human]]));
end;
Oczywiście możesz więcej/mniej narobić tych żołnierzy, po prostu dodawaj/kasuj komendy CreateHuman, PlaceUnitXY i ich identyfikatory ru_soldiers. Rób to wg powyższego przykładu
User avatar
Scyzor
Community Veteran
Community Veteran
Posts: 78
Joined: Wed Dec 27, 2006 10:59 am

Post by Scyzor »

taaaa heh ... :D a co zrobic zeby one sie pojawily a potem zaatakowaly ?? ;) a nie staly bezczynnie w miejscu

-------

oo teraz jak chcialem przetestowac gre to jak wchodzilem w arabskie menu to taki blad mi sie pokazal
Image
User avatar
NNPlaya
Community Veteran
Community Veteran
Posts: 372
Joined: Sat Oct 14, 2006 4:52 pm
Location: Tuszyn, Polska
Contact:

Post by NNPlaya »

Zmień nazwy folderów misji z Ar01, Ar01_cont i tak dalej na 01, 01_cont itd. Potem zmień w missions.dat przy pozycjach map z Ar01 na 01 i będzie działać.
missions.dat

Code: Select all

Tak jest:
(...)
MAP Ar01
(...)

Powinno być:
(...)
MAP 01
(...)
A co do tych ludzi bezczynnie stojących to zapewne raz atakują, ale zdecydowanie częściej nic nie robią, no nie? Spróbuj wpisać tak:

Code: Select all

export ru_soldiers, i; // to napisz na początku, jeszcze przed Starting

every 0$300 do  //300 to w sekundach 5 minut, zapomniałem dodać
Begin
uc_nation=nation_russian;
uc_side=3;
hc_skills=[3,1,0,0]; //umiejętności, pierwsza liczba to um. walki, 2 inżynierii, 3 mechaniki, 4 nauki
hc_sex=1; //1 to facet, 2 to kobieta
sol1=CreateHuman;
sol2=CreateHuman;
sol3=CreateHuman;
sol4=CreateHuman;
ru_soldiers=[sol1,sol2,sol3,sol4];
PlaceUnitXY(sol1,x,y,false);
PlaceUnitXY(sol2,x,y,false);
PlaceUnitXY(sol3,x,y,false);
PlaceUnitXY(sol4,x,y,false);
ComAttackUnit(ru_soldiers,FilterAllUnits([[f_side,2],[f_type,unit_human]]));
end; 

every 0$5 trigger not IsDead(sol1) or not IsDead(sol2) or not IsDead(sol3) or not IsDead(sol4) do
Begin
enable;
ComAttackUnit(ru_soldiers, FilterAllUnits([[f_side,2],[f_type,unit_human]]));
end;
Radzio
Site Administrator
Site Administrator
Poland
Posts: 2898
Joined: Fri Jul 28, 2006 10:58 am
Location: Bialystok, Poland

Post by Radzio »

a po co te not dead'y przeciez jakby dedli to i tak by nie atakowali, a 5 minut to mogles zapisac 5$0 zamiast takich bajonskich wartosci sekund xD

ps: wcale sie nie czepiam jak cos ale chce zeby wszyscy umieli poprawnie uzywac SAILa a nie pisac troche "niedoprawione" kody

ps(2): a jak ktos nie lubi sie bawic w te x-y to moze skorzystac z PlaceUnitArea
wystarczy stworzyc aree ktora pomiescilaby tych ludkow w wybranym przez siebie miejscu i uzyc polecenia:

Code: Select all

PlaceUnitArea(sol1,nazwa_area,false); //false moze byc rowniez 0 gdyz to to samo
User avatar
NNPlaya
Community Veteran
Community Veteran
Posts: 372
Joined: Sat Oct 14, 2006 4:52 pm
Location: Tuszyn, Polska
Contact:

Post by NNPlaya »

5$0 znaczy 5 minut? Nie wiedziałem. Masz rację, te warunki faktycznie są niepotrzebne. Wystarczy samo

Code: Select all

every 0$5 do 
Begin
enable;
ComAttackUnits(ru_soldiers,FilterAllUnits([[f_side,2],[f_type,unit_human]]));
end;
Rozumiem, że chcesz po prostu mi pomóc pisać bardziej sensownie kody i chwała Ci za to :D .

No to w rezultacie tak to powinno wyglądać:

Code: Select all

export ru_soldiers, i; // to napisz na początku, jeszcze przed Starting

every 5$0 do  
Begin
uc_nation=nation_russian;
uc_side=3;
hc_skills=[3,1,0,0]; //umiejętności, pierwsza liczba to um. walki, 2 inżynierii, 3 mechaniki, 4 nauki
hc_sex=1; //1 to facet, 2 to kobieta
sol1=CreateHuman;
sol2=CreateHuman;
sol3=CreateHuman;
sol4=CreateHuman;
ru_soldiers=[sol1,sol2,sol3,sol4];
PlaceUnitArea(sol1,nazwa_arei,false);
PlaceUnitArea(sol2,nazwa_arei,false);
PlaceUnitArea(sol3,nazwa_arei,false);
PlaceUnitArea(sol4,nazwa_arei,false);
end;

every 0$5 do
Begin
enable;
ComAttackUnit(ru_soldiers, FilterAllUnits([[f_side,2],[f_type,unit_human]]));
end;
User avatar
Scyzor
Community Veteran
Community Veteran
Posts: 78
Joined: Wed Dec 27, 2006 10:59 am

Post by Scyzor »

powinno byc tak ?? bo nadal mi nie działa
CAMPAIGN "Russian campaign"
MISSION 01
NAME "New Campaign"
NEXT 1
MISSION 1
MAP 01
NAME "Niespodzianka"
SUBCAMP 01_cont
PREV 0
NEXT 2
VIDEO 0
MISSION 2
MAP 01_cont
NAME "Zagubiona"
SUBCAMP 1
PREV 0
NEXT 3
MISSION 3
MAP 02
NAME "Arabska Potęga"
SUBCAMP 1
PREV 2
NEXT 4
User avatar
NNPlaya
Community Veteran
Community Veteran
Posts: 372
Joined: Sat Oct 14, 2006 4:52 pm
Location: Tuszyn, Polska
Contact:

Post by NNPlaya »

A zmieniłeś nazwy folderów?
User avatar
Scyzor
Community Veteran
Community Veteran
Posts: 78
Joined: Wed Dec 27, 2006 10:59 am

Post by Scyzor »

tak na :
ar01 -->01
ar01_cont --> 01_cont
ar02 --> 02
User avatar
NNPlaya
Community Veteran
Community Veteran
Posts: 372
Joined: Sat Oct 14, 2006 4:52 pm
Location: Tuszyn, Polska
Contact:

Post by NNPlaya »

Scyzor wrote:powinno byc tak ?? bo nadal mi nie działa
CAMPAIGN "Russian campaign"
MISSION 01 //tutaj skasuj 1, czyli powinno być MISSION 0
NAME "New Campaign"
NEXT 1
MISSION 1
MAP 01
NAME "Niespodzianka"
SUBCAMP 01_cont //Tutaj wpisz od 1 do 5, z tego co pamiętam, to Radizio pisał na OWS, że to są obrazki po zakończeniu misji.
PREV 0
NEXT 2
VIDEO 0
MISSION 2
MAP 01_cont
NAME "Zagubiona"
SUBCAMP 1
PREV 0
NEXT 3
MISSION 3
MAP 02
NAME "Arabska Potęga"
SUBCAMP 1
PREV 2
NEXT 4
Popraw to tak i zrestartuj kompa i wtedy zobacz.
Radzio
Site Administrator
Site Administrator
Poland
Posts: 2898
Joined: Fri Jul 28, 2006 10:58 am
Location: Bialystok, Poland

Post by Radzio »

ech, wymien cala zawartosc pliku na to:

Code: Select all

CAMPAIGN "Russian campaign"
  MISSION 0
    NAME "New Campaign"
    NEXT 1
  MISSION 1
    MAP 01
    NAME "Niespodzianka"
    SUBCAMP 1
    PREV 0
    NEXT 2
  MISSION 2
    MAP 01_cont
    NAME "Zagubiona"
    SUBCAMP 1
    PREV 1
    NEXT 3
  MISSION 3
    MAP 02
    NAME "Arabska Potęga"
    SUBCAMP 1
    PREV 2
    NEXT 4
User avatar
Scyzor
Community Veteran
Community Veteran
Posts: 78
Joined: Wed Dec 27, 2006 10:59 am

Post by Scyzor »

zrobileem wszystko tak jak mowisz a i tak wyskakuje blad :/
za to na edytorze jest wszystko ok
no prucz tego ze po misji 01_cont nie wlancza sie 02
tylko jeszcze raz ta sama misja
nieprawidłowa sygnatura
Radzio
Site Administrator
Site Administrator
Poland
Posts: 2898
Joined: Fri Jul 28, 2006 10:58 am
Location: Bialystok, Poland

Post by Radzio »

a czyj kod zastosowale - moj czy NNPlaya?
Locked