Page 2 of 2
Posted: Tue Aug 21, 2007 10:13 am
by Destrojer
Więc jak zapisać to every aby działało po wybraniu odpowiedzi nr 1 ?
Posted: Tue Aug 21, 2007 11:34 am
by Radzio
To nie ma sensu te every i tak jest dziwne, bo jesli co 5 sekund bedzie tworzony nowy oddzial atakujacy to po minucie bedzie ich 12*5=60
Po drugie: AddComAttackUnit([soldat1,soldat2,soldat3,soldat4,soldat5],FilterAllUnits([f_side,2]));
To komenda na atakowanie jednej jednostki a nie filtru

Co do reszty tego kodu to nie chce mi sie juz pisac, bo tam tez znalazloby sie cos do skrytykowania. Tak wiec radze ci sie zastanowic nad tym kodem, a jesli juz koniecznie chcesz zeby to dzialalo to pobaw sie z MARKED:
http://wiki.owsupport.com/index.php?tit ... _Radzio.29
Mysle, ze wszystko jasne, jesli nie masz pytan to temat do zmakniecia.
Posted: Tue Aug 21, 2007 8:52 pm
by Destrojer
Mam ostatnie pytanie , aby nie robić nowego tematu .
Jak ma wyglądać kod , aby gracz przegrał gdy zostaną zabici wszyscy jego ludzie ?
Posted: Wed Aug 22, 2007 8:37 am
by NNPlaya
Code: Select all
every 0$1 trigger FilterAllUnits([[f_side,X],[f_type,unit_human]])=0 do
Begin
YouLost('Alldead');
end;
Zamiast X wstawiasz swój numer gracza, a 'Alldead' zastępujesz swoim identyfikatorem z pliku .wri. Przykład:
Code: Select all
| Alldead
Wszyscy Twoi ludzie skończyli w piachu.
Kolejne coś źle
Posted: Mon Aug 27, 2007 7:12 pm
by Michaeilo
Na początek kilka słów do Radzia xD. Jestem początkujący w SAIL'u więc niektórych rzeczy po prostu nie wiem, a po drugie to nie warto się o to denerwować.
Teraz napiszę kolejny problem z tym zapytaniem. Pojawia się znowu błąd:
Naprawdę nie jestem taki lol i próbowałem rozgryźć o co chodzi, ale nic. Szukałem tej ''line 212'' (myślę, że chodzi o wiersz 212-sty), ale u mnie w SAIL'u nawet tylu wierszy nie ma. Patrzyłem też ''end''.
Podam znowu mój kod SAIL'a z tym zapytaniem:
Code: Select all
every 0$1 trigger IsInArea(lol,AreaUc) do
begin
InGameOn;
ComMoveToArea(robert,AreaUC);
Say(lol,'H4');
Say(robert,'rob1');
InGameOff;
Case Query('Zapytanie1') of
1 : begin
Say(lol,'H5');
Say(robert,'rob2');
Say(robert,'rob3');
Say(zol4,'Z1');
Say(rob,'rob4');
Say(lol,'H6');
ComMoveToArea(robert,areapol);
end;
2 : begin
Say(robert,'rod3');
SetSide(robert,1);
YouLost('Robert');
end;
end;
Ludzie co jest źle? Pomocy!?
PS Piszę w tym temacie bo uznałem, że nie ma sensu zakładać nowego xD Radziu bez nerwów xD
Posted: Mon Aug 27, 2007 7:25 pm
by NNPlaya
Nie tylko Radzio zaraz wyjdzie z siebie. MUSISZ mieć ten wiersz 212 (tak, zgadłeś, chodzi o linijki kodu), puste linie też licz. Błąd oznacza, że brakuje "end"a bądź ";", a zamiast tego od razu jest "on".
Dobra, a co z tym?
Posted: Tue Aug 28, 2007 10:03 am
by Michaeilo
No NNPlaya i Radzio nie denerwujcie się. xD Dopiero się uczę

A tak pozatym to znalazłem tą linijkę i cały ten problem. Tylko nie wiem czego tu brakuje. ''begin'' jest (naliczyłem sie ich aż dwa) więc na końcu też mam trzy ''end;'' ale nadal coś jest nie tak. Oto kod:
Code: Select all
on enterbuilding(b,un) do // to jest ta feralna linijka 212
begin
if un=lol then
if b=eon then
begin
AddMedal('med1',1);
AddMedal('med2',1);
AddMedal('med3',1);
GiveMedals('Main');
RewardPeople(lol);
SaveCharacters(lol,'lol');
YouWin;
end;
end;
Posted: Tue Aug 28, 2007 10:08 am
by NNPlaya
Z komunikatu wynika, że błąd jest na poprzedniej linijce
Daj większy fragment kodu, wystarczy parę linijek. Zapomniałeś może o ";" czy czymś tam...
Ja jestem całkiem cierpliwy, ale do czasu....
Kod
Posted: Tue Aug 28, 2007 10:22 am
by Michaeilo
Już daje. Oto on: (z tym zapytaniem):
Code: Select all
every 0$1 trigger IsInArea(lol,AreaUc) do
begin
InGameOn;
ComMoveToArea(robert,AreaUC);
Say(lol,'H4');
Say(robert,'rob1');
InGameOff;
Case Query('Zapytanie1') of
1 : begin
Say(lol,'H5');
Say(robert,'rob2');
Say(robert,'rob3');
Say(zol4,'Z1');
Say(robert,'rob4');
Say(lol,'H6');
ComMoveToArea(robert,areapol);
end;
2 : begin
SetSide(robert,1);
YouLost('Robert');
end;
end;
on enterbuilding(b,un) do // to ta 212 linijka
begin
if un=lol then
if b=eon then
begin
AddMedal('med1',1);
AddMedal('med2',1);
AddMedal('med3',1);
GiveMedals('Main');
RewardPeople(lol);
SaveCharacters(lol,'lol');
YouWin;
end;
end;
PS NNPlaya tyle wystarczy?
Posted: Tue Aug 28, 2007 12:03 pm
by NNPlaya
Brakuje jednego enda przed tą linijką 212.
Posted: Tue Aug 28, 2007 12:11 pm
by Anarchy
LoL. Nie przypuszczałem że można być tak... eee... nie wiem
