Czemużesz to nie działa??

Wszelkie pytania na temat SAIL'a i modowania OW.
Post Reply
MasterKiller
Soldier level 6
Soldier level 6
Posts: 343
Joined: Tue Aug 09, 2011 5:51 pm

Czemużesz to nie działa??

Post by MasterKiller »

Code: Select all

every 0$1 trigger przechwyt_kom_dostepny=true
              and IsInArea(sol3,stop_konwoju) do
      begin
          If IsDrivenBy(komora)=sol3 then
          begin

            If IsOK(sol1_g)=true then
               begin
                  {tajny_kond}
               end;

           end else
               begin
                 {hehe to tez tajne}
               end;
       end;

jest sobie arenka o nazwie stop_konwoju, jest sobie komora o nazwie komora i kolo o nazwie sol3. no i mamy wjechac w ta aree, ale TYLKO siedzac w komorze. no i oczywiscie
IsDrivenBy(komora)=sol3 nie dziala(wywoluje sie kod odpowiedzialny za to, co sie stanie jak nie siedzimy w komorze, nawet jak w niej siedzimy) probowalem UnitsInside(komora)=[sol3], takze probowalem IsInUnit(sol3)=komora, i ni hooya. dlaczego to nie dziala kurna?? cos tam sobie pisze w spisie funkcji, a OW swoje. jak oni wyprodukowali te 35 misji??
Wszyscy jesteśmy żołnierzami: WYDANE
https://original-war.net/files.php?id=174
User avatar
Serpent
Soldier level 10
Soldier level 10
Estonia
Posts: 4175
Joined: Tue Jul 07, 2009 9:13 pm
Location: Polska - EuroStan ZSRE
Contact:

Re: Czemużesz to nie działa??

Post by Serpent »

I o co ta spina dupy od razu?

Masz IsInArea(sol3, area) // z czego wynika że sol3 musi być w arei. Jeżeli prowadzi pojazd to gra pojazd jak i kierowcę traktuje jako sam pojazd.

Code: Select all

Every 0$01 trigger przechwyt_kom_dostepny and IsInArea(komora, stop_konwoju) and IsDrivenBy(komora) = sol3 do
begin
// kod
Epickie teksty:
Marek1906: jak zrobic aby sail był zielony?
Kvantovy: Wszystko normalne, wszystko w koło było dziwne
Kvantovy:: To jest fajne, że to nie jest takie głupie
Kvantovy:: remove sos from kanapeczka
Kvantovy:: zdarzają się rzezy które sie filozofom nie śniły
Cenwen: problemem jest gejostwo
"Taki z niego fizyk jak ze mnie baletnica" - Profesor Scholtze o Kvantovym.
JAKBYŁ BYM CZECHEM TO BYM ROZŁOŻYŁ NAMIOT ~Kvanciak
MasterKiller
Soldier level 6
Soldier level 6
Posts: 343
Joined: Tue Aug 09, 2011 5:51 pm

Re: Czemużesz to nie działa??

Post by MasterKiller »

ale chodzi o to, zeby sie odpalalo takze, gdy zolnierz wejdzie bez komory do arei i wykona odpowiedni kod.

zreszta skoro niby gra kierowce w pojezdzie traktuje jako sam pojazd, to jak to mozliwe ze IsInArea(sol3,stop_konwoju) wywolywane bylo takze gdy wjechala komora?
Wszyscy jesteśmy żołnierzami: WYDANE
https://original-war.net/files.php?id=174
User avatar
Serpent
Soldier level 10
Soldier level 10
Estonia
Posts: 4175
Joined: Tue Jul 07, 2009 9:13 pm
Location: Polska - EuroStan ZSRE
Contact:

Re: Czemużesz to nie działa??

Post by Serpent »

Ja już nie wiem co ty chcesz osiągnąć.
Epickie teksty:
Marek1906: jak zrobic aby sail był zielony?
Kvantovy: Wszystko normalne, wszystko w koło było dziwne
Kvantovy:: To jest fajne, że to nie jest takie głupie
Kvantovy:: remove sos from kanapeczka
Kvantovy:: zdarzają się rzezy które sie filozofom nie śniły
Cenwen: problemem jest gejostwo
"Taki z niego fizyk jak ze mnie baletnica" - Profesor Scholtze o Kvantovym.
JAKBYŁ BYM CZECHEM TO BYM ROZŁOŻYŁ NAMIOT ~Kvanciak
User avatar
Serpent
Soldier level 10
Soldier level 10
Estonia
Posts: 4175
Joined: Tue Jul 07, 2009 9:13 pm
Location: Polska - EuroStan ZSRE
Contact:

Re: Czemużesz to nie działa??

Post by Serpent »

Elementy logiki w SAILu: AND (i) oraz OR (lub). Jest też not (negacja).


Zadowolony jesteś profesorze Marku? :D
Epickie teksty:
Marek1906: jak zrobic aby sail był zielony?
Kvantovy: Wszystko normalne, wszystko w koło było dziwne
Kvantovy:: To jest fajne, że to nie jest takie głupie
Kvantovy:: remove sos from kanapeczka
Kvantovy:: zdarzają się rzezy które sie filozofom nie śniły
Cenwen: problemem jest gejostwo
"Taki z niego fizyk jak ze mnie baletnica" - Profesor Scholtze o Kvantovym.
JAKBYŁ BYM CZECHEM TO BYM ROZŁOŻYŁ NAMIOT ~Kvanciak
User avatar
Serpent
Soldier level 10
Soldier level 10
Estonia
Posts: 4175
Joined: Tue Jul 07, 2009 9:13 pm
Location: Polska - EuroStan ZSRE
Contact:

Re: Czemużesz to nie działa??

Post by Serpent »

Dobrze wiedzieć ;)
Epickie teksty:
Marek1906: jak zrobic aby sail był zielony?
Kvantovy: Wszystko normalne, wszystko w koło było dziwne
Kvantovy:: To jest fajne, że to nie jest takie głupie
Kvantovy:: remove sos from kanapeczka
Kvantovy:: zdarzają się rzezy które sie filozofom nie śniły
Cenwen: problemem jest gejostwo
"Taki z niego fizyk jak ze mnie baletnica" - Profesor Scholtze o Kvantovym.
JAKBYŁ BYM CZECHEM TO BYM ROZŁOŻYŁ NAMIOT ~Kvanciak
MasterKiller
Soldier level 6
Soldier level 6
Posts: 343
Joined: Tue Aug 09, 2011 5:51 pm

Re: Czemużesz to nie działa??

Post by MasterKiller »

dobra, gorna czesc every teraz wyglada tak:

Code: Select all

every 0$1 trigger przechwyt_kom_dostepny=true
              and IsInArea(sol3,stop_konwoju) do
      begin

          If FilterUnitsInArea(stop_konwoju, [[f_type, unit_vehicle],[f_side,6]])>0 then
i to dziala. natomiast przypadkiem chyba domyslilem sie o co moze chodzic. otoz jest tuz przed tymze every event, ktory robi kilka takich tam, z pozoru nieistotnych rzeczy

Code: Select all

on VehicleCaptured(new_ident, old_ident, old_s, cap_unit) do
var i,srodek;
   begin
        if old_ident=komora then
           begin
                InGameOn;
                CenterNowOnUnits(komora);

                if przenikniecie_dostepne=false then
                 begin
                   Say(sol3,'KOMORA1');
                   przechwyt_kom_dostepny=true;
                 end else
                 begin
                   Say(sol3,'KOMORA1_2');
                 end;
                ekipa=ekipa diff sol3;

                srodek=UnitsInside(komora);

                ComExitVehicle(srodek);
                SetSide(sol3,6);
                SetSide(komora,6);
                your_side=6;

                AddComMoveToArea(ekipa,out_k**as);
                enable(99);
                InGameOff;
           end;
   end;
w skrocie sol3 jedzie komora, reszta oddzialu gdzies spyla, dla uproszczenia zmienilem side gracza i sol3 na 6, i problem w tym, ze wszystko oprocz SetSide(komora,6); dziala. komora nie zmienia swojej side, i wyglada to dosyc glupio, bo sama ma side 3 a siedzi w niej koles z side 6(czyli trzeba wyjsc i wejsc, zeby moc sie ruszyc). uwage zwracaja dwa paremetry VehicleCaptured, czyli old_ident i new_ident, ktore troche sugeruja, ze ident komory jest na cos zmieniany podczas "obrabiania" przez event. hmm.

..(pare sekund szukania na owsupporcie)..

"When vehicle changes side, its identifier is changed. That's why the event exports both the old and the new identifier of the vehicle." ~OW Support

Image
Wszyscy jesteśmy żołnierzami: WYDANE
https://original-war.net/files.php?id=174
User avatar
Serpent
Soldier level 10
Soldier level 10
Estonia
Posts: 4175
Joined: Tue Jul 07, 2009 9:13 pm
Location: Polska - EuroStan ZSRE
Contact:

Re: Czemużesz to nie działa??

Post by Serpent »

No tak, zamiast zrobić normalnie to czemu kombinujesz? ;p

Code: Select all

for i in FilterAllUnits([f_side, STRONA]) do
    SetSide(i, STRONA2);
Epickie teksty:
Marek1906: jak zrobic aby sail był zielony?
Kvantovy: Wszystko normalne, wszystko w koło było dziwne
Kvantovy:: To jest fajne, że to nie jest takie głupie
Kvantovy:: remove sos from kanapeczka
Kvantovy:: zdarzają się rzezy które sie filozofom nie śniły
Cenwen: problemem jest gejostwo
"Taki z niego fizyk jak ze mnie baletnica" - Profesor Scholtze o Kvantovym.
JAKBYŁ BYM CZECHEM TO BYM ROZŁOŻYŁ NAMIOT ~Kvanciak
MasterKiller
Soldier level 6
Soldier level 6
Posts: 343
Joined: Tue Aug 09, 2011 5:51 pm

Re: Czemużesz to nie działa??

Post by MasterKiller »

dobra, a teraz jak zrobic, zeby komora pozostala komora? tzn zeby ten pojazd dalej mial ten sam ident?
new_ident=komora nie dziala, tak jak new_ident=old_ident a komora=new_ident wywala blad.
Wszyscy jesteśmy żołnierzami: WYDANE
https://original-war.net/files.php?id=174
User avatar
Serpent
Soldier level 10
Soldier level 10
Estonia
Posts: 4175
Joined: Tue Jul 07, 2009 9:13 pm
Location: Polska - EuroStan ZSRE
Contact:

Re: Czemużesz to nie działa??

Post by Serpent »

MasterKiller wrote:dobra, a teraz jak zrobic, zeby komora pozostala komora? tzn zeby ten pojazd dalej mial ten sam ident?
new_ident=komora nie dziala, tak jak new_ident=old_ident a komora=new_ident wywala blad.
A po co wgl się tym bawić?

Nie wiem ile ma być tych "komor" ale podejrzewam że jedna, więc zamiast bawić się eventem użył bym zwykłego every.

Code: Select all

Every 0$01 trigger GetSide(komora) = NOWA_STRONA do
lub:

Code: Select all

Every 0$01 trigger FilterAllUnits([[f_side, NOWA_STRONA], [f_weapon, us_cargo_bay{nie wiem jaka nacja tej komory}]]) > 0 do
Ale jeżeli tak już ci zależy na tym evencie to robisz po prostu tak:

Code: Select all

On VehicleCaptured(new_ident, old_ident, old_side, un) do
begin

if old_ident = komora then
   new_ident := old_ident; // stary ident zostanie przypisany jako nowy

End;
Epickie teksty:
Marek1906: jak zrobic aby sail był zielony?
Kvantovy: Wszystko normalne, wszystko w koło było dziwne
Kvantovy:: To jest fajne, że to nie jest takie głupie
Kvantovy:: remove sos from kanapeczka
Kvantovy:: zdarzają się rzezy które sie filozofom nie śniły
Cenwen: problemem jest gejostwo
"Taki z niego fizyk jak ze mnie baletnica" - Profesor Scholtze o Kvantovym.
JAKBYŁ BYM CZECHEM TO BYM ROZŁOŻYŁ NAMIOT ~Kvanciak
MasterKiller
Soldier level 6
Soldier level 6
Posts: 343
Joined: Tue Aug 09, 2011 5:51 pm

Re: Czemużesz to nie działa??

Post by MasterKiller »

new_ident=old_ident nie dziala, a jak probuje cokolwiek zapisac w every:

Code: Select all

every 1 trigger FilterAllUnits([[f_side,6],[f_type,unit_vehicle],[f_weapon,us_cargo_bay]])>0 do
      begin
           lista=FilterAllUnits([[f_side,6],[f_type,unit_vehicle],[f_weapon,us_cargo_bay]]);
           komora=lista[1];
      end;
           
to wywala blad end or command expected but 'komora' found. tak samo jak tam wczesniej probowalem wewnatrz eventu cos nadpisac na zmiennej komora to wywalalo jakis blad.
Wszyscy jesteśmy żołnierzami: WYDANE
https://original-war.net/files.php?id=174
User avatar
Serpent
Soldier level 10
Soldier level 10
Estonia
Posts: 4175
Joined: Tue Jul 07, 2009 9:13 pm
Location: Polska - EuroStan ZSRE
Contact:

Re: Czemużesz to nie działa??

Post by Serpent »

Się nie dziwie że masz błąd jak chcesz użyć 1 identu dla 2 jednostek. Nadaj tej komorze w every inny ident np. komora_6.
Epickie teksty:
Marek1906: jak zrobic aby sail był zielony?
Kvantovy: Wszystko normalne, wszystko w koło było dziwne
Kvantovy:: To jest fajne, że to nie jest takie głupie
Kvantovy:: remove sos from kanapeczka
Kvantovy:: zdarzają się rzezy które sie filozofom nie śniły
Cenwen: problemem jest gejostwo
"Taki z niego fizyk jak ze mnie baletnica" - Profesor Scholtze o Kvantovym.
JAKBYŁ BYM CZECHEM TO BYM ROZŁOŻYŁ NAMIOT ~Kvanciak
MasterKiller
Soldier level 6
Soldier level 6
Posts: 343
Joined: Tue Aug 09, 2011 5:51 pm

Re: Czemużesz to nie działa??

Post by MasterKiller »

hunra dziala! myslalem ze jak komora nie jest juz komorą to ze to sie wyczyszcza jakos. tak no logike.
Wszyscy jesteśmy żołnierzami: WYDANE
https://original-war.net/files.php?id=174
Post Reply