SAIL-export jednostek

Wszystko o modach, patchach i błędach w OW oraz ogólnym programowaniu.
Post Reply
User avatar
Goten22
Soldier level 1
Soldier level 1
Posts: 16
Joined: Thu Jul 31, 2008 4:46 pm

SAIL-export jednostek

Post 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?
User avatar
Jeanks
Soldier level 6
Soldier level 6
Posts: 305
Joined: Fri Feb 16, 2007 1:34 pm
Location: Grudziądz

Post 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;
Jeanks zgarnia wszystko ot co xD
User avatar
Goten22
Soldier level 1
Soldier level 1
Posts: 16
Joined: Thu Jul 31, 2008 4:46 pm

Post by Goten22 »

Kod który podałeś mam w poprzedniej misji.
User avatar
Jeanks
Soldier level 6
Soldier level 6
Posts: 305
Joined: Fri Feb 16, 2007 1:34 pm
Location: Grudziądz

Post 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);
Jeanks zgarnia wszystko ot co xD
User avatar
Goten22
Soldier level 1
Soldier level 1
Posts: 16
Joined: Thu Jul 31, 2008 4:46 pm

Post by Goten22 »

Jak to zrobie to przy kompilacji wychodzi taki błąd.
Attachments
blad.JPG
blad.JPG (22.32 KiB) Viewed 2361 times
User avatar
Jeanks
Soldier level 6
Soldier level 6
Posts: 305
Joined: Fri Feb 16, 2007 1:34 pm
Location: Grudziądz

Post by Jeanks »

To proste zmasz Begin po exporcie :P I wklej to co masz wyżej :p odemnie
Jeanks zgarnia wszystko ot co xD
User avatar
Gothuk
Site Administrator
Site Administrator
Poland
Posts: 985
Joined: Tue Sep 04, 2007 6:10 pm
Location: Poland, Warsaw
Contact:

Post 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.
User avatar
Jeanks
Soldier level 6
Soldier level 6
Posts: 305
Joined: Fri Feb 16, 2007 1:34 pm
Location: Grudziądz

Post 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ł
Jeanks zgarnia wszystko ot co xD
User avatar
Goten22
Soldier level 1
Soldier level 1
Posts: 16
Joined: Thu Jul 31, 2008 4:46 pm

Post 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.
User avatar
Gothuk
Site Administrator
Site Administrator
Poland
Posts: 985
Joined: Tue Sep 04, 2007 6:10 pm
Location: Poland, Warsaw
Contact:

Post 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.
User avatar
Goten22
Soldier level 1
Soldier level 1
Posts: 16
Joined: Thu Jul 31, 2008 4:46 pm

Post by Goten22 »

Działa. Dziękuje Wam bardzo za pomoc... nigdy bym sobie nie poradził. Jeszcze raz dziękuje :D
Post Reply