Page 1 of 1
SAIL - Medale
Posted: Sat May 12, 2007 1:41 pm
by Blashix
Witam jak zrobić żeby po dotarciu do arei kod sam oblukał czy wszystkie postacie żyją i przydzielił medale, albo jak jednan ei zyje to przydzieli 2 medale.
Mój kod:
Code: Select all
every 0$1 MARKED 99 do
Begin
enable;
If IsInArea(postac, koniec111) then
AddMedal('kur',1);
If IsOk(ak) then
begin
AddMedal('ak',1);
SaveVariable(GetLives(ak),'ak_live');
SaveVariable(GetLives(postac),'postac_live');
GiveMedals('Main');
RewardPeople([postac,ak]);
SaveCharacters(ak,'ak');
SaveCharacters(postac,'postac');
If IsOk(ff) then
begin
AddMedal('ff',1);
SaveVariable(GetLives(ff),'ff_live');
SaveVariable(GetLives(postac),'postac_live');
GiveMedals('Main');
RewardPeople([postac,ff]);
SaveCharacters(ff,'ff');
SaveCharacters(postac,'postac');
YouWin;
end;
If IsDead(ak) then
Begin
AddMedal('ak',-1);
GiveMedals('Main');
RewardPeople(postac);
SaveCharacters(postac,'postac');
SaveVariable(GetLives(postac),'postac_live');
If IsDead(ff) then
begin
AddMedal('ff',-1);
SaveVariable(GetLives(ff),'ff_live');
SaveVariable(GetLives(postac),'postac_live');
GiveMedals('Main');
RewardPeople([postac,ff]);
SaveCharacters(ff,'ff');
SaveCharacters(postac,'postac');
YouWin;
disable(99);
end;
end;
end;
end;
I tutaj jak dojdę do arei "koniec111" To daje mi tylko 2 medale potem przy tabelce expa daje "ok" znowu wraca do gry i daje 3 medale ^^ lolz I dopiero nex misję mozna dać. A nieraz mam tak że odrazu daje medal nr.2 wychodzi, wchdozi daje 2 medale i koneic misji (chociaz poczatek misji jest ) ...
Proszę o pomoc

Posted: Sat May 12, 2007 4:36 pm
by Radzio
RewardPeople i GiveMedals, tak jak YouWin moga wystapic tylko raz i nie przy uzyciu every z enable
D
Posted: Thu Jul 05, 2007 1:38 pm
by Blashix
Co trza tutaj dodać żeby medale rozdało jak każda jednostka dopiero się znajdzie na arenie, a nie tak jak teraz jest tylko jedna "postac".
Code: Select all
every 0$01 trigger IsInArea(postac,koniec) do
Begin
AddMedal('222',1);
AddMedal('333',1);
AddMedal('444',1);
SaveVariable(GetLives(postac),'postac');
SaveVariable(GetLives(koles1),'koles1');
SaveVariable(GetLives(koles2),'koles2');
SaveVariable(GetLives(koles3),'koles3');
GiveMedals('Main');
RewardPeople([postac,koles1,koles2,koles3]);
SaveCharacters(postac,'postac');
SaveCharacters(koles1,'koles1');
SaveCharacters(koles2,'koles2');
SaveCharacters(koles3,'koles3');
YouWin;
end;
?????????
Posted: Thu Jul 05, 2007 2:16 pm
by Radzio
Chodzi ci o to ze jak wszystkie ludki zywe na mapie beda w arei to ma sie to wykonac, proscizna lol:
Code: Select all
every 0$01 trigger FilterAllUnits([[f_side,1],[f_type,1],[f_ok]])=FilterUnitsInArea(koniec,[[f_side,1],[f_type,1],[f_ok]]) do
Begin
AddMedal('222',1);
AddMedal('333',1);
AddMedal('444',1);
SaveVariable(GetLives(postac),'postac');
SaveVariable(GetLives(koles1),'koles1');
SaveVariable(GetLives(koles2),'koles2');
SaveVariable(GetLives(koles3),'koles3');
GiveMedals('Main');
RewardPeople([postac,koles1,koles2,koles3]);
SaveCharacters(postac,'postac');
SaveCharacters(koles1,'koles1');
SaveCharacters(koles2,'koles2');
SaveCharacters(koles3,'koles3');
YouWin;
end;
Of course, jesli side=1 to bedzie OK. W innym wypadku poprostu zmienic xD
EDIT: Nie powinienes tak wogole zapisywac wartosci zyc pod takim samym identyfikatorem co postac

:P
Posted: Thu Jul 05, 2007 2:21 pm
by Blashix
Dwóch nawiasów nie wstawiłeś.
A teraz inna opcja:
Wymagania koles1,koles2,koles3 and postac a reszta w bazie moze siedziec ??
Posted: Thu Jul 05, 2007 2:24 pm
by Radzio
Wstawilem jak edytowalem bo sam to zauwazylem xD
A tak to zmieniasz ten poczatek na taki jaki byl wczesniej z tym ze dodajesz oddzielne "IsInArea" dla kazdego ludzia.
:P
Posted: Thu Jul 05, 2007 2:43 pm
by Blashix
Radzio wrote:Wstawilem jak edytowalem bo sam to zauwazylem xD
A tak to zmieniasz ten poczatek na taki jaki byl wczesniej z tym ze dodajesz oddzielne "IsInArea" dla kazdego ludzia.
A dokładnie jakiś wzór może ?
Code: Select all
every 0$01 trigger
IsInArea(postac,koniec) do
IsInArea(koles1,koniec) do
Begin
AddMedal('222',1);
AddMedal('333',1);
AddMedal('444',1);
SaveVariable(GetLives(postac),'postac');
SaveVariable(GetLives(koles1),'koles1');
SaveVariable(GetLives(koles2),'koles2');
SaveVariable(GetLives(koles3),'koles3');
GiveMedals('Main');
RewardPeople([postac,koles1,koles2,koles3]);
SaveCharacters(postac,'postac');
SaveCharacters(koles1,'koles1');
SaveCharacters(koles2,'koles2');
SaveCharacters(koles3,'koles3');
YouWin;
end;
Nie działa :/
Posted: Thu Jul 05, 2007 3:26 pm
by Radzio
IsinArea(XD) and ...
:P
Posted: Thu Jul 05, 2007 4:42 pm
by Blashix
I ostatnia rzecz
Co trza wstawić żeby medale aktywowały się dopiero po rozwaleniu kilku budynków np. ('magazyn' 'kosz' 'bun1' 'bun2')
Lub po jednym jeśli się nie da z kilkoma.
Posted: Thu Jul 05, 2007 5:45 pm
by Radzio
Jasniej, chodzi ci o to zeby sie dodawaly, czy zeby sie pokazalo z nimi okienko?
Bo "aktywowaly" pasuje do obu mozliwosci

:P
Posted: Thu Jul 05, 2007 6:02 pm
by Blashix
Hmm jasniej to tak jak w przypadku every 0$01 trigger
IsInArea(postac,koniec) do tylko tutaj wlasnie nei ze jak postac dojdzie tylko kiedy zostaną zniszczone budynki/budynek wroga np. magazyn i okop albo magazyn.
Posted: Thu Jul 05, 2007 6:11 pm
by Radzio
No to tak samo xD
Code: Select all
every 0$01 trigger IsDead(budka_z_piwem) and IsDead(auchan) and IsDead(melina) do
przejdz_na_bezalkoholowe;
Posted: Sun Aug 19, 2007 11:42 pm
by NNPlaya
EOT