Page 1 of 2

SAIL - Błąd czy przeoczenie

Posted: Fri Aug 17, 2007 8:50 pm
by Destrojer
Chciałbym zapytać się Was , co jest źle w tym skrypcie

Code: Select all

every 0$5 do
begin
uc_side=1;
uc_nation=nation_american;
hc_skills=[6,1,2,3];
hc_class-class_soldier;
soldat1=createHuman;
soldat2=createHuman;
soldat3=createHuman;
soldat4=createHuman;
soldat5=createHuman;
PlaceUnitArea(soldat1,Inzynierowie,false);
PlaceUnitArea(soldat2,Inzynierowie,false);
PlaceUnitArea(soldat3,Inzynierowie,false);
PlaceUnitArea(soldat4,Inzynierowie,false);
PlaceUnitArea(soldat5,Inzynierowie,false);
AddComMoveToArea([soldat1,soldat2,soldat3,soldat4,soldat5],Baza);
AddComAttackUnit([soldat1,soldat2,soldat3,soldat4,soldat5],FilterAllUnits([f_side,2]));
enable;
end;
oczywiście jest to wywleczone z linii 144 , więc nie jest napisane nic co było wcześniej ( ale sądzę że to nie ma większego znaczenia ) .
Teraz na czym polega problem , gdy odpalam ten skrypt , pisze mi że jest błąd właśnie z every . Ktoś wie w czym problem ?

Posted: Fri Aug 17, 2007 8:57 pm
by NNPlaya
Mógłbym poprosić dokładną treść błędu? Tu wszystko wygląda ok, poza dość dziwnym co 5-sekundowym pojawianiem się oddziałów xD. Nie ma to wpływu na błąd, ale nie wiem po co tak często :P

Wygląda na to, że błąd jest przed every. (bla bla bla excepted but every found?)

Zapodaj ten komunikat...

Posted: Sat Aug 18, 2007 7:52 am
by Radzio
Dokladnie, NNPlaya. Tu potrzebna jest tresc bledu i wieksza czesc kodu...

temat

Posted: Sat Aug 18, 2007 9:47 am
by NaDoL
Zrób to w nowym module i będzie działać, możesz przed tym kodem nie mieć end'a albo jakiegoś średnika. bo ten fragment kodu z tego co widze jest poprawny.

Posted: Sat Aug 18, 2007 10:09 am
by Radzio
My to wiemy NaDoL. Chodzi o to, zeby sie pozbyc bledu, a nie stworzyc inna tresc...

Posted: Sat Aug 18, 2007 10:39 am
by Destrojer
Gdy nie było przed tym end; to pisało :

Code: Select all

Compiling error at New1 line 144 'end' or command expected but 'every' found
Gdy daję przed tym end;

Code: Select all

Compiling error at New1 line 145 : Expression expected
A jeśli chodzi o większą częśc tego kodu to proszę :

Code: Select all

every 0$1 trigger SeeArea(3,Droga) and
SeeArea(3,1) and SeeArea(3,Wrog) do
begin
wait (0$5);
ingameon;
centerNowOnUnits(10);
dialogueOn;
sayRadio(91,'tekst31');
dialogueoff;
Case Query('Pytanie1') of
 1 : begin
// (...)
dialogueon;
say(10,'tekst32a');
sayRadio(91,'tekst33a');
dialogueoff;
ingameoff;
wait(0$10);
uc_side=3;
uc_nation=nation_russian;
uc_direction=0;

hc_name='(...)';
hc_sex=sex_male;
hc_class=class_soldier;

hc_attr=[10,13];
hc_basic_skills=[4, 2, 2, 1];
hc_skills=[6, 2, 3, 2];

hc_importance=0;
zolnierz1=CreateHuman;
PlaceUnitArea(zolnierz1,posilki,false);

uc_side=3;
uc_nation=nation_russian;
uc_direction=0;

hc_name='(...)';
hc_sex=sex_male;
hc_class=class_soldier;

hc_attr=[10,13];
hc_basic_skills=[4, 2, 2, 1];
hc_skills=[6, 2, 3, 2];

hc_importance=0;
zolnierz2=CreateHuman;
PlaceUnitArea(zolnierz2,posilki,false);

uc_side=3;
uc_nation=nation_russian;
uc_direction=0;

hc_name='(...)';
hc_sex=sex_male;
hc_class=class_scientistic;

hc_attr=[10,13];
hc_basic_skills=[2, 2, 2, 3];
hc_skills=[3, 2, 3, 5];

hc_importance=0;

zolnierz3=CreateHuman;
PlaceUnitArea(zolnierz3,posilki,false);

ChangeMissionObjectives('M01b');
end;        // to jest end o którym pisałem wcześniej

every 0$5 do
begin
uc_side=1;
uc_nation=nation_american;
hc_skills=[6,1,2,3];
hc_class-class_soldier;
soldat1=createHuman;
soldat2=createHuman;
soldat3=createHuman;
soldat4=createHuman;
soldat5=createHuman;
PlaceUnitArea(soldat1,Inzynierowie,false);
PlaceUnitArea(soldat2,Inzynierowie,false);
PlaceUnitArea(soldat3,Inzynierowie,false);
PlaceUnitArea(soldat4,Inzynierowie,false);
PlaceUnitArea(soldat5,Inzynierowie,false);
AddComMoveToArea([soldat1,soldat2,soldat3,soldat4,soldat5],Baza);
AddComAttackUnit([soldat1,soldat2,soldat3,soldat4,soldat5],FilterAllUnits([f_side,2]));
enable;
end;
Zastąpiłem pewne nazwy "(...)" , aby nie zdradzać szczegółów

Posted: Sat Aug 18, 2007 11:11 am
by Radzio
LOL, juz naprawde musiales wyciac co?
Sprobuj wstawic jeszcze jedno end; przed every (linijke nad nim).

Posted: Sat Aug 18, 2007 11:24 am
by Destrojer
Dałem dodatkowe end; i wskoczył napis

Code: Select all

Compiling error at New1 line 144 'end' or command expected but 'every' found
Gdy dodałem jeszcze jeden end; problem zniknął , ale niestety przy tylu endach kończy się query , więc już wybór nr 2 , jest jako błąd sam w sobie .

Posted: Sat Aug 18, 2007 12:44 pm
by Radzio
Bo cos zle poustawiales w kolejnosci tam w Query i dlatego brakuje end'ow.

Posted: Sun Aug 19, 2007 11:21 pm
by NNPlaya
Dziwnie wygląda to query z jedną tylko możliwą odpowiedzią... Chyba że tak też jest poprawnie.

Posted: Mon Aug 20, 2007 8:28 am
by Radzio
Tyle, ze on powycinal fragmenty. W sumie query moze miec jedna odpowiedz np. Ok. Jak wtedy gdy Powell pokazywal ten list arabski Johnowi.

Posted: Mon Aug 20, 2007 10:48 am
by Destrojer
Query oczywiście że ma odpowiedź nr.2 ale w niej nie ma żadnego problemu tak więc uważałem za zbędne wklejanie jej do kodu , odpowiedź numer dwa znajduje się po tym kodzie który tutaj umieściłem . Problem tkwił i jest wciąż z tym every , i pojawiającym się napisem

Code: Select all

Compiling error at New1 line 144 'end' or command expected but 'every' found
A co do tego co powycinałem , to są tylko imiona i nazwa odpowiedzi , nic innego nie jest w tym kodzie wycięte .

Posted: Mon Aug 20, 2007 11:07 am
by Radzio
Ty zgubiles ktores "end'y", a to nie jest problem z every tylko z brakujacym end. W kodzie nie widze wogole 2 opcji, a co do tego to liczac ilosc begin (+1 skoro mowisz, ze jest i 2 opcja) to brakuje 2 end'ow. Tak wiec wrzuc tu ten caly kod, najwyzej podmien te "imiona" na "lol", "d**a" czy cos w tym stylu, jesli chcesz bym ci pomogl, jesli nie to bye-bye.

Posted: Mon Aug 20, 2007 2:32 pm
by Destrojer

Code: Select all

every 0$1 trigger SeeArea(3,Droga) and
SeeArea(3,1) and SeeArea(3,Wrog) do
begin
wait (0$5);
ingameon;
centerNowOnUnits(10);
dialogueOn;
sayRadio(91,'tekst31');
dialogueoff;
Case Query('Pytanie1') of
 1 : begin
// lol
dialogueon;
say(10,'tekst32a');
sayRadio(91,'tekst33a');
dialogueoff;
ingameoff;
wait(0$10);
uc_side=3;
uc_nation=nation_russian;
uc_direction=0;

hc_name='noob';
hc_sex=sex_male;
hc_class=class_soldier;

hc_attr=[10,13];
hc_basic_skills=[4, 2, 2, 1];
hc_skills=[6, 2, 3, 2];

hc_importance=0;
zolnierz1=CreateHuman;
PlaceUnitArea(zolnierz1,posilki,false);

uc_side=3;
uc_nation=nation_russian;
uc_direction=0;

hc_name='pro';
hc_sex=sex_male;
hc_class=class_soldier;

hc_attr=[10,13];
hc_basic_skills=[4, 2, 2, 1];
hc_skills=[6, 2, 3, 2];

hc_importance=0;
zolnierz2=CreateHuman;
PlaceUnitArea(zolnierz2,posilki,false);

uc_side=3;
uc_nation=nation_russian;
uc_direction=0;

hc_name='Nick';
hc_sex=sex_male;
hc_class=class_scientistic;

hc_attr=[10,13];
hc_basic_skills=[2, 2, 2, 3];
hc_skills=[3, 2, 3, 5];

hc_importance=0;

zolnierz3=CreateHuman;
PlaceUnitArea(zolnierz3,posilki,false);

ChangeMissionObjectives('M01b');
end;

every 0$5 do
begin
uc_side=1;
uc_nation=nation_american;
hc_skills=[6,1,2,3];
hc_class=class_soldier;
soldat1=createHuman;
soldat2=createHuman;
soldat3=createHuman;
soldat4=createHuman;
soldat5=createHuman;
PlaceUnitArea(soldat1,Inzynierowie,false);
PlaceUnitArea(soldat2,Inzynierowie,false);
PlaceUnitArea(soldat3,Inzynierowie,false);
PlaceUnitArea(soldat4,Inzynierowie,false);
PlaceUnitArea(soldat5,Inzynierowie,false);
AddComMoveToArea([soldat1,soldat2,soldat3,soldat4,soldat5],Baza);
AddComAttackUnit([soldat1,soldat2,soldat3,soldat4,soldat5],FilterAllUnits([f_side,2]));
enable;
end;
 2 : begin
// lol2
ingameon;
dialogueon;
say(10,'tekst32b');
sayRadio(91,'tekst33b');
dialogueoff;
ChangeMissionObjectives('M01c');
ingameoff;
 end;
end;
Tyle jeśli chodzi o cały kod query

Posted: Mon Aug 20, 2007 3:39 pm
by Radzio
Teraz widac, w czym problem, every nie moze byc zawarte w innym kodzie.