Page 2 of 2

Posted: Sun May 31, 2009 7:19 pm
by Moonstrider
Powinno zadziałać bez IsLive(); , bo kiedy pojazdu nie ma to wartość jest pusta i =false, tak przynajmniej używano tego w kodach altaru.

Posted: Sun May 31, 2009 7:23 pm
by Radzio
Po co IsLive? Samo sprawdzenie zmiennej wystarczy.
A tak na marginesie to gdzieś na początku kodu misji powinno być disable(99), bo inaczej to się wykona dla pustej listy po 2 sek. od rozpoczęcia.

[ Dodano: 31.05.2009 19:23 ]
Moonstrider wrote:Powinno zadziałać bez IsLive(); , bo kiedy pojazdu nie ma to wartość jest pusta i =false, tak przynajmniej używano tego w kodach altaru.
Cieszę się, że się zgadzamy xD

Posted: Mon Jun 01, 2009 6:02 am
by Birkart
a taki offtop

czy

if czolg1 then = if IsOk(czolg1) then

?
czy to jest rownoznaczne?

Posted: Mon Jun 01, 2009 9:58 am
by Moonstrider
Równoznaczne nie jest, ale zadziała tak samo, ponieważ pierwszy warunek sprawdza czy zmienna ma wartość nieujemną, a drugi czy jednostka 'jest_ok"( a więc jednostka musi istnieć by warunek zostałspełniony).

Posted: Mon Jun 01, 2009 2:08 pm
by Gothuk
Moonstrider wrote:pierwszy warunek sprawdza czy zmienna ma wartość nieujemną,
nie wartosc nieujemna, ale czy w ogole istnieje jakas wartosc.
Moonstrider wrote: a drugi czy jednostka 'jest_ok"( a więc jednostka musi istnieć by warunek został spełniony).
IsOK(un:integer)
returns true if unit is on map and not dying
czyli musi byc na mapie i nie umiera ^^.

Posted: Mon Jun 01, 2009 6:30 pm
by Pablo Abruzzi
Ok działa. Dzięki wszystkim za pomoc.

Posted: Mon Jun 01, 2009 7:34 pm
by Radzio
Gothuk wrote:
Moonstrider wrote:pierwszy warunek sprawdza czy zmienna ma wartość nieujemną,
nie wartosc nieujemna, ale czy w ogole istnieje jakas wartosc.
Też nieprawda :P Wartość musi być dodatnia ( >0 ).

Posted: Mon Jun 01, 2009 8:48 pm
by Gothuk
chwila, chyba to przez nie wyspanie ^^.

if czolg1
- zwraca 1 ( true ) jesli istnieje.
- zwraca 0 ( false ) jesli nie istnieje.

czyli zbior dwuelementowy (0,1).

Posted: Tue Jun 02, 2009 7:31 pm
by Radzio
SAIL się dopasowuje:
- obiekt różny od NULL, wartość dodatnia = true
- NULL, wartość ujemna, 0 = false

Posted: Thu Jun 04, 2009 12:20 pm
by Antitheus
No Gothuk tu sie rozpisujesz a mi glupiego kodu nie masz czasu napisać :P i GSA Wars stoi.

Więc na forum:
Potzrebuje dokładnego kodu na produkcje pojazdu w fabryce po wynalezieniu dabnej technologii (to akurat mam). Wyprodukowany pojazd musi zostać podłączony do pojazdu wieżyczkim a później wyjechac w pole do danego punktu, Próbowałem różnych kombinacji i żadna nie działała. Więc przysłużcie sie potomnym i pomóżcie. Osoby, które podejmą się pomocy umieszczę w podziękowaniach w 'Credits'.

Posted: Thu Jun 04, 2009 2:37 pm
by Moonstrider

Code: Select all

On VehicleConstructed(poj,fab) do
Begin
 if poj=pojazd1 then
  Begin
  LinkVehicleToHuman(pojazd1,kontroler1);
  AddComMoveXY(pojazd1,xx,yy);
  end;
end;
pojazd1 - id pojazdu nadany przez pojazd1=ComConstruct(fabryka,podwozie,silnik,kontrola,broń);
kontroler1 - id mechanika wsadzonego do wieży
:)

Posted: Wed Jul 22, 2009 8:33 pm
by Antitheus
z tego co mi się zdaje ten prosty kod nie zaskakiwal. Ale spróbuję i zobaczymy co wyjdzie :P

[ Dodano: Sro Lip 22, 2009 7:33 pm ]

Code: Select all

every 0$0.1 trigger GetTech(tech_rocket, 5)=state_researched marked 03 do
begin
czolg1 = comconstruct(fabr, 14,engine_combustion,2,ar_gun);
czolg3 = addcomconstruct(fabr, 14,engine_combustion,2,ar_gun);
czolg4 = addcomconstruct(fabr, 14,engine_combustion,2,ar_gun);
czolg2 = addcomconstruct(fabr, 14,engine_combustion,2,ar_rocket_launcher);
czolg5 = addcomconstruct(fabr, 14,engine_combustion,2,ar_rocket_launcher);
End;


On VehicleConstructed(poj,fab) do
Begin
if fab=fabr then
  if poj=czolg1 then
  Begin
    LinkVehicleToHuman(czolg1,anarchy);
    wait(0$10);
    AddComAgressiveMove(czolg1, 110, 56);
  end;
  if poj=czolg2 then
  begin
    LinkVehicleToHuman(czolg2,anarchy);
   wait(0$10);
   AddComAgressiveMove(czolg2, 86, 32);
 end;
  if poj=czolg3 then
  begin
    LinkVehicleToHuman(czolg3,anarchy);
    wait(0$10);
    AddComAgressiveMove(czolg3, 110, 56);
  end;
  if poj=czolg4 then
  begin
     LinkVehicleToHuman(czolg4,anarchy);
     wait(0$10);
     AddComAgressiveMove(czolg4, 110, 56);
  end;
  if poj=czolg5 then
  begin
    LinkVehicleToHuman(czolg5,anarchy);
    wait(0$10);
    AddComAgressiveMove(czolg5, 86, 32);
  end;
end;
Gdy pojazd wyjedzie z fabryki nie zaskakuje podłączenie do mechanika. Próboałem 999999k kombinacji i nadal ch*j..... HELP!