Page 1 of 1

SAIL-export jednostek

Posted: Tue Dec 30, 2008 10:57 pm
by Goten22
Chciałbym przenieść moją jednostkę do drugiej misji gdy użyję ten kod

Code: Select all

Starting
Begin
ResetFog;
end;
EXPORT mar;
uc_side=1;
mar=CreateCharacterSet('mar');
PlaceUnit (74,5,true);
end;
to przy kompilowaniu pojawia się błąd. Jak poprawnie ułożyć ten kod?

Posted: Tue Dec 30, 2008 11:04 pm
by Jeanks
w poprzednij misji dajesz na końcu w kodzie

Code: Select all

 
/// jakis kod
RewardPeople(mar);
SaveCharacters(mar,'mar');
YouWin;
end;
a co do kodu wyzej zmiań na

Code: Select all

Starting
Begin
ResetFog;
end;
EXPORT mar;

mar=CreateCharacter('mar');
PlaceUnitArea (mar,JAKAS AREA,true);
end;

Posted: Tue Dec 30, 2008 11:10 pm
by Goten22
Kod który podałeś mam w poprzedniej misji.

Posted: Tue Dec 30, 2008 11:25 pm
by Jeanks
Ten drugi kod zamień na

Code: Select all

EXPORT mar;
Starting
Begin
mar=CreateCharacter('mar');
PlaceUnitArea (mar,JAKAS AREA,true);
end;

Code: Select all

 A jak się upierwasz na współrzędne to
PlaceUnitXY (mar,x,y,true);

Posted: Tue Dec 30, 2008 11:31 pm
by Goten22
Jak to zrobie to przy kompilacji wychodzi taki błąd.

Posted: Tue Dec 30, 2008 11:33 pm
by Jeanks
To proste zmasz Begin po exporcie :P I wklej to co masz wyżej :p odemnie

Posted: Tue Dec 30, 2008 11:47 pm
by Gothuk
oj paul nie tłumacz źle ^^.
Goten przyjrzyj się swojemu kodu, .. i?

masz starting a po nim begin, odsloniecie mgly i end to jest glowny blok.
potem kompilator napotyka na export i znow begin wiec nie wie co z tym zrobic bo to oddzielny blok.
wiec rozwiazanie:
usuń:

Code: Select all

begin
resetfog;
end;
a samo resetfog daj po tym drugim begin.

Posted: Tue Dec 30, 2008 11:51 pm
by Jeanks
Gothuk masło maslane ^^ Musi usunąć begin bo kompilacja ngdy się nieuda begin nie może wystapić w kodzie na początku (zakładając fakt że export to odzielny kod i nie ma znaczenia gdzie go wkleisz i tak będzie wykonany na początku :P). No chyba, że da jakieś every potem begin ale raczej tak niechciał

Posted: Tue Dec 30, 2008 11:58 pm
by Goten22
Mam teraz tak

Code: Select all

Export mar;
Starting
Begin
uc_side=1;
mar=CreateCharacterSet('mar');
PlaceUnit (74,5,true);
end;

Begin
ResetFog;
end; 
Ale dalej nie działa.

Posted: Wed Dec 31, 2008 12:04 am
by Gothuk

Code: Select all

Starting 
   Begin 
      ResetFog; 
   end; 

EXPORT mar; 
   Begin                                    // ten begin do usunięcia
      mar=CreateCharacter('mar'); 
      PlaceUnitArea (mar,JAKAS AREA,true); 
   end;
a teraz przyjrzyj się temu kodowi...
gdy usuniesz begina to wtedy masz 1 begina i 2 endy. czyli kompilator znow zawiadomi o bledzie ze znalazl koniec bloku, a jego poczatku nie...

resetfog nalezy do glownego bloku w grze, poza tym blokiem maga byc jedynie exporty, funkcje i zdarzenia (every)
wiec zeby ten kod dzialal trzeba zawartosc drugiego bloku przeniesc do bloku glownego..
kod powinien wygladac tak:

Code: Select all

EXPORT mar; 

Starting 
   Begin 
      ResetFog; 
      mar=CreateCharacter('mar'); 
      PlaceUnitArea (mar, JAKAS_AREA, true); 
   end;
ten kod bedzie dzialac.

Goten w kodzie ktory podales wystepuje jeszcze jeden blad, nie ma funkcji PlaceUnit, tylko PlaceUnitXY, PlaceUnitArea, PlaceUnitXYR lub PlaceUnitAnywhere.

Posted: Wed Dec 31, 2008 12:15 am
by Goten22
Działa. Dziękuje Wam bardzo za pomoc... nigdy bym sobie nie poradził. Jeszcze raz dziękuje :D