Wszystkie problemy użytkownika Xander

Wszelkie pytania na temat SAIL'a i modowania OW.
Post Reply
User avatar
Xander
Soldier level 6
Soldier level 6
Posts: 359
Joined: Sun Jan 05, 2014 10:48 pm

Wszystkie problemy użytkownika Xander

Post by Xander »

Witam, mam dwa pytań na temat komend Saila.



//@EDIT. Znalazłem alternatywe, pozostał jeden problem

1. SAIL - Transportowce przyjeżdżają (kontrolujemy je), wyładowują surowce w naszym składzie, zmieniają kolor (nie kontrolujemy już ich) i odjeżdżają do określonej arei po czym znikają.

KOD:

Code: Select all

export ASD1, ASD2;

Export function wsparcie2;
begin
    vc_chassis = 2;
    vc_engine = engine_combustion;
    vc_control = control_Computer;
    vc_weapon = 12;

    uc_side = 4;
    uc_nation = 1;

    ASD1 = CreateVehicle;
    ASD2 = CreateVehicle;
   
    SetCargo(ASD1, mat_cans, 100);
    SetCargo(ASD2, mat_oil, 100);

    PlaceUnitArea(ASD1, WSPARCIE, false);
    PlaceUnitArea(ASD2, WSPARCIE, false);
end;


Every 0$2 Trigger GetCargo(ASD1, 1) = 0 do
begin
     SetSide(ASD1, 1);
     ComMoveToArea(ASD1, TRANSPORT);
end;


Every 0$1 Trigger IsInArea(ASD1, TRANSPORT) do
begin
    RemoveUnit(ASD1);
end;


Every 0$2 Trigger GetCargo(ASD2, 2) = 0 do
begin
    SetSide(ASD2, 1);
    ComMoveToArea(ASD2, TRANSPORT);
end;


Every 0$1 Trigger IsInArea(ASD2, TRANSPORT) do
begin
    RemoveUnit(ASD2);
end;
PROBLEM:
Pojazdy po oddaniu skrzyń / ropy nie zmieniają koloru, i nie odjeżdżają w wyznaczone miejsce.

próbowałem także zrobić

Code: Select all

every 0$3 trigger not GetCargo(ASD2,2) = 0 do
ale wtedy od razu po zrespieniu sie, pojazdy zmieniają kolor i jada do wyznaczonej arei po czym znikają.[/s]


2. SAIL - Gdy ktokolwiek z mojej drużyny i nieokreślony ident pojazdu (pojazd stworzony podczas gry w warsztacie) wjedzie/wejdzie w areje, z wieżyczek wroga (wieżyczki oraz ludzie wroga maja identy) wychodzą żołnierze, idą do określonego miejsca X,Y. Jeżeli w inną areje, wjedzie ktokolwiek z mojej drużyny albo nieokreślony identem pojazd, wtedy żołnierze wroga wracają do wieżyczek

KOD:

Code: Select all

Every 0$1 trigger FilterAllUnits([f_side, 4]) do
begin
    AddComExitBuilding(RU_1);
    AddComExitBuilding(RU_2);
    AddComExitBuilding(RU_3);
    AddComExitBuilding(RU_4);
 
    AddComAgressiveMove(RU_1, 34, 23);
    AddComAgressiveMove(RU_2, 34, 23);
    AddComAgressiveMove(RU_3, 34, 23);
    AddComAgressiveMove(RU_4, 34, 23);
end;
             

Every 0$1 trigger IsInArea(Ziom, Odwrot);
begin
    AddComEnterUnit(RU_1, RU1);
    AddComEnterUnit(RU_2, RU2);
    AddComEnterUnit(RU_3, RU3);
    AddComEnterUnit(RU_4, RU4);
end;
PROBLEM:
Nie wiem jak zrobić, gdy nieokreślonym identem pojazd, jak wjedzie na Areje, wtedy żołnierze wroga wychodzą z wieżyczek i idą do miejsca XY, a jak wjadę w drugą areje to żołnierze wroga wracają do wieżyczek

Code: Select all

 If FilterAllUnits([[f_side], 4]) then
próbowałem jakoś użyć Filtru strony, ale nie wiem czy tak można, a jak można to nie wiem jak.

Te komendy są obowiązkowe bez nich nie będzie misji. oczekuję jakiejś pomocy :(
Last edited by Xander on Thu Feb 27, 2014 11:46 pm, edited 3 times in total.
Creative wrote:Chodziło mi o to że sam przerabiam zrobione mapy. (budynki, ludki itd)
A co do saila to przecież sam muszę wklejać.
Image

https://trello.com/b/QkpOj7p7/nefarems-history
User avatar
Nefarem
MODbase Moderator
Poland
Posts: 1115
Joined: Sat Jan 15, 2011 8:13 pm
Location: Noxus

Re: Wszystkie problemy użytkownika Xander

Post by Nefarem »

Popraw tą estetykę kodu...

Nie wiem jak zrobić, gdy nieokreślonym identem pojazdy jak wjadą na Areje wtedy żołnierze wroga wychodzą z wieżyczek i idą do miejsca XY, a jak wjadę w drugą areje to żołnierze wroga wracają do wieżyczek

Code: Select all

Every 0$1 trigger FilterUnitsInArea(TwojaArea, [f_side,TwojSide]) >= 1 do
begin
       ComExitBuildint(IdentKolesia);
end;

1. SAIL - Transportowce przyjeżdżają (kontrolujemy je), wyładowują surowce w naszym składzie, zmieniają kolor (nie kontrolujemy już ich) i odjeżdżają do określonej arei po czym znikają.

Code: Select all

every 0$3 trigger getcargo(IdentKomory,mat_cans) = 0 do
begin
   //twoj kod
end;
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
Xander
Soldier level 6
Soldier level 6
Posts: 359
Joined: Sun Jan 05, 2014 10:48 pm

Re: Wszystkie problemy użytkownika Xander

Post by Xander »

żaden z wymienionych kodów Nefarema nie działa, problem wciąż jest taki sam jak na początku pytania.

Code: Select all

Every 0$1 trigger IsInArea(FilterAllUnits([f_side, 4]), LEWO) >= 1 do
begin
    AddComExitBuilding(RU_1);
    AddComExitBuilding(RU_2);
    AddComExitBuilding(RU_3);
    AddComExitBuilding(RU_4);
 
    AddComAgressiveMove(RU_1, 34, 23);
    AddComAgressiveMove(RU_2, 34, 23);
    AddComAgressiveMove(RU_3, 34, 23);
    AddComAgressiveMove(RU_4, 34, 23);
end;
             

Every 0$1 trigger IsInArea(FilterAllUnits([f_side, 4]), POWROT) >= 1 do
begin
    AddComEnterUnit(RU_1, RU1);
    AddComEnterUnit(RU_2, RU2);
    AddComEnterUnit(RU_3, RU3);
    AddComEnterUnit(RU_4, RU4);
end;

Code: Select all

export ASD1, ASD2;

Export function wsparcie2;
begin
    vc_chassis = 2;
    vc_engine = engine_combustion;
    vc_control = control_Computer;
    vc_weapon = 12;

    uc_side = 4;
    uc_nation = 1;

    ASD1 = CreateVehicle;
    ASD2 = CreateVehicle;
   
    SetCargo(ASD1, mat_cans, 100);
    SetCargo(ASD2, mat_oil, 100);

    PlaceUnitArea(ASD1, WSPARCIE, false);
    PlaceUnitArea(ASD2, WSPARCIE, false);
end;


Every 0$2 Trigger GetCargo(ASD1, mat_cans) = 0 do
begin
     SetSide(ASD1, 6);
     ComMoveToArea(ASD1, TRANSPORT);
end;


Every 0$1 Trigger IsInArea(ASD1, TRANSPORT) do
begin
    RemoveUnit(ASD1);
end;


Every 0$2 Trigger GetCargo(ASD2, mat_oil) = 0 do
begin
    SetSide(ASD2, 1);
    ComMoveToArea(ASD2, TRANSPORT);
end;


Every 0$1 Trigger IsInArea(ASD2, TRANSPORT) do
begin
    RemoveUnit(ASD2);
end;
[/s]
Last edited by Xander on Fri Feb 28, 2014 12:45 am, edited 4 times in total.
Creative wrote:Chodziło mi o to że sam przerabiam zrobione mapy. (budynki, ludki itd)
A co do saila to przecież sam muszę wklejać.
Image

https://trello.com/b/QkpOj7p7/nefarems-history
User avatar
Nitek
Community Veteran
Community Veteran
Posts: 999
Joined: Mon Apr 13, 2009 4:13 pm
Location: Białystok
Contact:

Re: Wszystkie problemy użytkownika Xander

Post by Nitek »

Gotowy kod masz w 12. misji AM
User avatar
Xander
Soldier level 6
Soldier level 6
Posts: 359
Joined: Sun Jan 05, 2014 10:48 pm

Re: Wszystkie problemy użytkownika Xander

Post by Xander »

Nitek wrote:Gotowy kod masz w 12. misji AM


Code: Select all

odjezd prazdnych nakladaku

var odjet,odjet2,odjet3;
every 0$1+0$0.1 trigger (isplaced (c11) and (not GetCargo(c11, mat_cans)) and (not GetCargo(c11, mat_siberit))) or (isplaced (c12) and not GetCargo(c12, mat_siberit)) marked 5 do
var tmp;
begin
    if isplaced(c12) and (not getcargo (c12, mat_siberit)) then begin tmp=c12;c12=0;end
    else begin tmp=c11;c11=0;end;
    setside(tmp, am_odj);
    commovexy(tmp, 150, 101);
    odjet=odjet-1;
    if odjet>0 then enable;
end;
CO to za czeski wzór :I nie jestem tak zaawansowany w sailu, ktośmi to wytłumaczy i powie jak zrobić? Czy ma inny pomysł co zrobić z moim kodem proszę?[/s]

//@EDIT Znaleziony alternatywny sposób
Creative wrote:Chodziło mi o to że sam przerabiam zrobione mapy. (budynki, ludki itd)
A co do saila to przecież sam muszę wklejać.
Image

https://trello.com/b/QkpOj7p7/nefarems-history
Post Reply