Inteligencja + on VehicleConstructed

Wszystko o modach, patchach i błędach w OW oraz ogólnym programowaniu.
User avatar
Moonstrider
Soldier level 4
Soldier level 4
Posts: 110
Joined: Fri Nov 09, 2007 11:10 pm
Contact:

Post 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.
Seek your own truth. Always.
Radzio
Site Administrator
Site Administrator
Poland
Posts: 2898
Joined: Fri Jul 28, 2006 10:58 am
Location: Bialystok, Poland

Post 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
User avatar
Birkart
Soldier level 2
Soldier level 2
Posts: 47
Joined: Sat Sep 20, 2008 5:38 pm
Location: Timbuktu

Post by Birkart »

a taki offtop

czy

if czolg1 then = if IsOk(czolg1) then

?
czy to jest rownoznaczne?
User avatar
Moonstrider
Soldier level 4
Soldier level 4
Posts: 110
Joined: Fri Nov 09, 2007 11:10 pm
Contact:

Post 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).
Seek your own truth. Always.
User avatar
Gothuk
Site Administrator
Site Administrator
Poland
Posts: 985
Joined: Tue Sep 04, 2007 6:10 pm
Location: Poland, Warsaw
Contact:

Post 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 ^^.
User avatar
Pablo Abruzzi
Soldier level 5
Soldier level 5
Posts: 269
Joined: Mon Jul 28, 2008 3:09 pm
Location: Polska
Contact:

Post by Pablo Abruzzi »

Ok działa. Dzięki wszystkim za pomoc.
Last edited by Pablo Abruzzi on Mon Jun 01, 2009 7:49 pm, edited 1 time in total.
Si vis pacem, para bellum jeśli chcesz pokoju, gotuj się do wojny.

THE HEROES COMPANY MOD
[progress]100%[/progress]
DONE
http://forum.original-war.net/viewtopic ... 6&start=90
Radzio
Site Administrator
Site Administrator
Poland
Posts: 2898
Joined: Fri Jul 28, 2006 10:58 am
Location: Bialystok, Poland

Post 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 ).
User avatar
Gothuk
Site Administrator
Site Administrator
Poland
Posts: 985
Joined: Tue Sep 04, 2007 6:10 pm
Location: Poland, Warsaw
Contact:

Post 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).
Radzio
Site Administrator
Site Administrator
Poland
Posts: 2898
Joined: Fri Jul 28, 2006 10:58 am
Location: Bialystok, Poland

Post by Radzio »

SAIL się dopasowuje:
- obiekt różny od NULL, wartość dodatnia = true
- NULL, wartość ujemna, 0 = false
User avatar
Antitheus
Kung Führer
Kung Führer
Korea North
Posts: 2527
Joined: Thu Jan 04, 2007 9:45 pm
Location: Gorzów Wlkp.
Contact:

Post 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'.
User avatar
Moonstrider
Soldier level 4
Soldier level 4
Posts: 110
Joined: Fri Nov 09, 2007 11:10 pm
Contact:

Post 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
:)
Seek your own truth. Always.
User avatar
Antitheus
Kung Führer
Kung Führer
Korea North
Posts: 2527
Joined: Thu Jan 04, 2007 9:45 pm
Location: Gorzów Wlkp.
Contact:

Post 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!
kmicic11
Soldier level 1
Soldier level 1
Poland
Posts: 18
Joined: Sat Feb 10, 2024 2:20 pm

Re: Inteligencja + on VehicleConstructed

Post by kmicic11 »

Mam taki kod na nie zniszczalne pojazdy nie chce działać co jest nie tak ?
Chodzi mi o wszystkie typy pojazdów danej strony.

Every 0$01 do
var filter, i;
begin
enable;

filter := FilterAllVehicle([f_side, your_side]);

for i = 1 to filter do
SetLives(filter, 1000);
End;
User avatar
Don Hard
Soldier level 5
Soldier level 5
Nepal
Posts: 244
Joined: Thu May 28, 2015 7:40 pm
Location: Lechia

Re: Inteligencja + on VehicleConstructed

Post by Don Hard »

A jak ma działać jak nie ma takiej funkcji FilterAllVehicle? Poza tym tak nie działają argumenty do filtra.

Powinno brzmieć to tak:

Code: Select all

FilterAllUnits([[f_side, 1],[f_type, unit_vehicle]]);
filtruje wszystkie pojazdy dla strony 1.

Code: Select all

for i = 1 to filter do
SetLives(filter, 1000);
Zła konstrukcja pętli.
- nie masz begina, a potem enda (zakończenia pętli)
- lepiej będzie tak

Code: Select all

for i in filter do
begin
	SetLives(i, 1000);
End;
kmicic11
Soldier level 1
Soldier level 1
Poland
Posts: 18
Joined: Sat Feb 10, 2024 2:20 pm

Re: Inteligencja + on VehicleConstructed

Post by kmicic11 »

Mam taki kod na nielimitowane paliwo:

Every 0$1 do GetFuelLYourUnits;
var i, j;
begin
for i in FilterAllUnits([[f_side, your_side], [f_type, unit_poj]]) do
begin
for j := 1 to 4 do
GetFuel(i, j, 100);
end;
End;
Edytor burzy się o Pierwszą sekewncję kodu tzn.
Every 0$1 do GetFuelLYourUnits;

Co z tym zrobić ?

Po wpisaniu Poj edytor też się burzy ,że jest expresion expeded.
Post Reply