Problem z misją

Wszelkie pytania na temat SAIL'a i modowania OW.
karat
Soldier level 1
Soldier level 1
Posts: 16
Joined: Mon Apr 08, 2013 9:00 pm

Re: Problem z misją

Post by karat »

No dobra ale ja mówię że fabryki nie ma na mapie tylko będzie budowana podczas gry więc jak w takim razie edytor odnajdzie ident fabryki skoro jej nie stawiam na mapie w edytorze tylko podczas gry.doradcze coś
User avatar
Antitheus
Kung Führer
Kung Führer
Korea North
Posts: 2526
Joined: Thu Jan 04, 2007 9:45 pm
Location: Gorzów Wlkp.
Contact:

Re: Problem z misją

Post by Antitheus »

Przestudiuj sobie kod GSA Wars np z 4 misji.
User avatar
Nefarem
MODbase Moderator
Poland
Posts: 1108
Joined: Sat Jan 15, 2011 8:13 pm
Location: Noxus

Re: Problem z misją

Post by Nefarem »

Code: Select all

On VehicleConstructed(un, fac) do
begin
     If fac=FilterAllUnits([[f_side, TwojaStrona], [f_btype, b_workshop]]) then
     begin
          //kod
     end;
end;
Spróbuj tak.
Absolute Dominion
Spoiler:
Modyfikacja opowiadająca historię Ivana Bierezova, żołnierza armii Rosyjskiej , weterana wojny w Chinach który wziął udział w misji ochrony złóż Alaskitu.

Download from Dropbox
Original War Cooperation
Spoiler:
Modyfikacja umożliwiająca granie w mapach z kampanii OW i nie tylko ze znajomymi kontra AI.

Download from Steam

Download from Dropbox
Original War Dialog Editor
Spoiler:
Program ułatwiający tworzenie plików wri z dialogami, zadaniami etc do Original War .

Download
User avatar
Serpent
Soldier level 10
Soldier level 10
Estonia
Posts: 4166
Joined: Tue Jul 07, 2009 9:13 pm
Location: Polska - EuroStan ZSRE
Contact:

Re: Problem z misją

Post by Serpent »

Znajdź info. dot eventów, akurat ten jest często używany.

Niżej rozwiązanie:
Spoiler:

Code: Select all

On VehicleConstructed(veh, fac) do 
begin // w sumie nie musisz dawać żadnych warunków
// kod na zaliczenie celu
end;
Tyle że w takim wypadku za każdym razem gdy ktoś zbuduje pojazd zostanie ci wykonany kod na zaliczenie celu, dlatego możesz spróbować zrobić tak:

Code: Select all

Export MyVeh;
Export function ActiveObj;
begin
MyVeh = false;
end;
// wczytujesz tą gdzieś funkcję np.

Code: Select all

Every 0$02 do
begin
ActiveObj;
end;
I potem event:

Code: Select all

On VehicleConstructed(veh, fac) do
begin

  If MyVeh = false then
   begin
        // kod na zaliczenie
        MyVeh = true; // blokuje ten fragment kodu aby się nie powtarzał
   end;

end;

Oczywiście możesz dodać inne warunki:

Code: Select all

On VehicleConstructed(veh, fac) do
begin

 If GetSide(veh) = {twoja strona, przykładowo strona niebieska} 1 then // kod wykona się jeśli pojazd będzie niebieski
  If MyVeh = false then
   begin
        // kod na zaliczenie
        MyVeh = true; // blokuje ten fragment kodu aby się nie powtarzał
   end;

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
karat
Soldier level 1
Soldier level 1
Posts: 16
Joined: Mon Apr 08, 2013 9:00 pm

Re: Problem z misją

Post by karat »

Ok dzięki zadziałał kod Serpenta.
karat
Soldier level 1
Soldier level 1
Posts: 16
Joined: Mon Apr 08, 2013 9:00 pm

Re: Problem z misją

Post by karat »

Witam. Sory że post pod postem ale mam kolejny problem otóż chciałem abyście mi pomogli w jednej kwestii.

Chciałem dodac do misji takie coś że gdy pojazd będzie sie palił to jednostka która z niego wysiądzie dojdzie do danego obszaru. Czy możecie mi dopasowac kod do tego ? Z góry dzięki.
User avatar
Serpent
Soldier level 10
Soldier level 10
Estonia
Posts: 4166
Joined: Tue Jul 07, 2009 9:13 pm
Location: Polska - EuroStan ZSRE
Contact:

Re: Problem z misją

Post by Serpent »

Code: Select all

On UnitGoesToRed(un) do
begin

       If un = ident_pojazdu then
          begin
                 ComMoveToArea(ident_człowieka, area);
          end;

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
karat
Soldier level 1
Soldier level 1
Posts: 16
Joined: Mon Apr 08, 2013 9:00 pm

Re: Problem z misją

Post by karat »

Jak zastosuje to w jednym przypadku to działa tyle że tych pojazdów i jednostek jest aż 10 i podczas kompilacji wyskakuje taki błąd:

Code: Select all

Compiling error at pojazd_lost line 11: Event 'UnitGoesToRed' redeclared
i tak sie dzieje przy każdej linijce tylko pierwsza jest dobra. Ktoś wie na czym polega problem ?
User avatar
Nefarem
MODbase Moderator
Poland
Posts: 1108
Joined: Sat Jan 15, 2011 8:13 pm
Location: Noxus

Re: Problem z misją

Post by Nefarem »

Pokaż kod.
Absolute Dominion
Spoiler:
Modyfikacja opowiadająca historię Ivana Bierezova, żołnierza armii Rosyjskiej , weterana wojny w Chinach który wziął udział w misji ochrony złóż Alaskitu.

Download from Dropbox
Original War Cooperation
Spoiler:
Modyfikacja umożliwiająca granie w mapach z kampanii OW i nie tylko ze znajomymi kontra AI.

Download from Steam

Download from Dropbox
Original War Dialog Editor
Spoiler:
Program ułatwiający tworzenie plików wri z dialogami, zadaniami etc do Original War .

Download
karat
Soldier level 1
Soldier level 1
Posts: 16
Joined: Mon Apr 08, 2013 9:00 pm

Re: Problem z misją

Post by karat »

Kod jest w oddzielnym module:

Code: Select all

On UnitGoesToRed(un) do
begin

       If un = poj2 then
          begin
                 ComMoveToArea(lud5, powrot);
          end;

end;

On UnitGoesToRed(un) do
begin

       If un = poj4 then
          begin
                 ComMoveToArea(lud6, powrot);
          end;

end;

On UnitGoesToRed(un) do
begin

       If un = poj5 then
          begin
                 ComMoveToArea(lud7, powrot);
          end;

end;

On UnitGoesToRed(un) do
begin

       If un = poj6 then
          begin
                 ComMoveToArea(lud2, powrot);
          end;

end;

On UnitGoesToRed(un) do
begin

       If un = poj7 then
          begin
                 ComMoveToArea(lud3, powrot);
          end;

end;

On UnitGoesToRed(un) do
begin

       If un = poj8 then
          begin
                 ComMoveToArea(lud8, powrot);
          end;

end;

On UnitGoesToRed(un) do
begin

       If un = poj10 then
          begin
                 ComMoveToArea(lud1, powrot);
          end;

end;

On UnitGoesToRed(un) do
begin

       If un = poj12 then
          begin
                 ComMoveToArea(lud4, powrot);
          end;

end;

User avatar
Gothuk
Site Administrator
Site Administrator
Poland
Posts: 985
Joined: Tue Sep 04, 2007 6:10 pm
Location: Poland, Warsaw
Contact:

Re: Problem z misją

Post by Gothuk »

Masz przecież w treści błędu, że zadeklarowałeś ponownie event UnitGoesToRed. Możesz mieć tylko jedną deklarację.

Code: Select all

On UnitGoesToRed(un) do
begin
    case un of
       poj2:
          begin
              ComMoveToArea(lud5, powrot);
          end;
       poj4:
          begin
              ComMoveToArea(lud6, powrot);
          end;
       poj5:
          begin
              ComMoveToArea(lud7, powrot);
          end;
       poj6:
          begin
              ComMoveToArea(lud2, powrot);
          end;
       poj7:
          begin
              ComMoveToArea(lud3, powrot);
          end;
       poj8:
          begin
              ComMoveToArea(lud8, powrot);
          end;
       poj10:
          begin
              ComMoveToArea(lud1, powrot);
          end;
       poj12:
          begin
               ComMoveToArea(lud4, powrot);
          end;
end;
karat
Soldier level 1
Soldier level 1
Posts: 16
Joined: Mon Apr 08, 2013 9:00 pm

Re: Problem z misją

Post by karat »

Aaa więc to na takiej zasadzie to działa. Dobra już zrobiłem ale gdy chce w głównym menu wybrac kampanie z mojego moda oczywiscie to wyskakuje błąd:

Code: Select all

WndProc Error: Range check error
W czym tkwi problem ?
User avatar
Serpent
Soldier level 10
Soldier level 10
Estonia
Posts: 4166
Joined: Tue Jul 07, 2009 9:13 pm
Location: Polska - EuroStan ZSRE
Contact:

Re: Problem z misją

Post by Serpent »

Wyślij moda na pw bo tak będziemy 4 dni szukali rozwiązania.
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
karat
Soldier level 1
Soldier level 1
Posts: 16
Joined: Mon Apr 08, 2013 9:00 pm

Re: Problem z misją

Post by karat »

10 misji mam ci wysłac. Bez przesady
User avatar
Serpent
Soldier level 10
Soldier level 10
Estonia
Posts: 4166
Joined: Tue Jul 07, 2009 9:13 pm
Location: Polska - EuroStan ZSRE
Contact:

Re: Problem z misją

Post by Serpent »

Nie no luzik, 10 misji zrobiłeś i ich w grze nie testowałeś? Zresztą, jak sobie chcesz.

A czy nie grzebałeś coś przypadkiem przy missions.dat?
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
Post Reply