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
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.