SAIL-export jednostek

Wszystko o modach, patchach i błędach w OW oraz ogólnym programowaniu.
Používateľov profilový obrázok
Goten22
Soldier level 1
Soldier level 1
Posty: 16
Rejestracja: Št Júl 31, 2008 4:46 pm

SAIL-export jednostek

Príspevok autor: Goten22 »

Chciałbym przenieść moją jednostkę do drugiej misji gdy użyję ten kod

Kód: Vybrať všetko

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?
Používateľov profilový obrázok
Jeanks
Soldier level 6
Soldier level 6
Posty: 305
Rejestracja: Pi Feb 16, 2007 1:34 pm
Bydlisko: Grudziądz

Príspevok autor: Jeanks »

w poprzednij misji dajesz na końcu w kodzie

Kód: Vybrať všetko

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

Kód: Vybrať všetko

Starting
Begin
ResetFog;
end;
EXPORT mar;

mar=CreateCharacter('mar');
PlaceUnitArea (mar,JAKAS AREA,true);
end;
Jeanks zgarnia wszystko ot co xD
Používateľov profilový obrázok
Goten22
Soldier level 1
Soldier level 1
Posty: 16
Rejestracja: Št Júl 31, 2008 4:46 pm

Príspevok autor: Goten22 »

Kod który podałeś mam w poprzedniej misji.
Používateľov profilový obrázok
Jeanks
Soldier level 6
Soldier level 6
Posty: 305
Rejestracja: Pi Feb 16, 2007 1:34 pm
Bydlisko: Grudziądz

Príspevok autor: Jeanks »

Ten drugi kod zamień na

Kód: Vybrať všetko

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

Kód: Vybrať všetko

 A jak się upierwasz na współrzędne to
PlaceUnitXY (mar,x,y,true);
Jeanks zgarnia wszystko ot co xD
Používateľov profilový obrázok
Goten22
Soldier level 1
Soldier level 1
Posty: 16
Rejestracja: Št Júl 31, 2008 4:46 pm

Príspevok autor: Goten22 »

Jak to zrobie to przy kompilacji wychodzi taki błąd.
Załączniki
blad.JPG
blad.JPG (22.32 KiB) 3693 zobrazení
Používateľov profilový obrázok
Jeanks
Soldier level 6
Soldier level 6
Posty: 305
Rejestracja: Pi Feb 16, 2007 1:34 pm
Bydlisko: Grudziądz

Príspevok autor: Jeanks »

To proste zmasz Begin po exporcie :P I wklej to co masz wyżej :p odemnie
Jeanks zgarnia wszystko ot co xD
Používateľov profilový obrázok
Gothuk
Site Administrator
Site Administrator
Poland
Posty: 985
Rejestracja: Ut Sep 04, 2007 6:10 pm
Bydlisko: Poland, Warsaw
Kontakt:

Príspevok autor: 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ń:

Kód: Vybrať všetko

begin
resetfog;
end;
a samo resetfog daj po tym drugim begin.
Používateľov profilový obrázok
Jeanks
Soldier level 6
Soldier level 6
Posty: 305
Rejestracja: Pi Feb 16, 2007 1:34 pm
Bydlisko: Grudziądz

Príspevok autor: 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
Používateľov profilový obrázok
Goten22
Soldier level 1
Soldier level 1
Posty: 16
Rejestracja: Št Júl 31, 2008 4:46 pm

Príspevok autor: Goten22 »

Mam teraz tak

Kód: Vybrať všetko

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

Begin
ResetFog;
end; 
Ale dalej nie działa.
Používateľov profilový obrázok
Gothuk
Site Administrator
Site Administrator
Poland
Posty: 985
Rejestracja: Ut Sep 04, 2007 6:10 pm
Bydlisko: Poland, Warsaw
Kontakt:

Príspevok autor: Gothuk »

Kód: Vybrať všetko

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:

Kód: Vybrať všetko

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.
Používateľov profilový obrázok
Goten22
Soldier level 1
Soldier level 1
Posty: 16
Rejestracja: Št Júl 31, 2008 4:46 pm

Príspevok autor: Goten22 »

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