CenterOnUnits(list); i pare innych. --problem--

Wszystko o modach, patchach i błędach w OW oraz ogólnym programowaniu.
Post Reply
User avatar
Xero Rozbójca
Soldier level 6
Soldier level 6
Posts: 391
Joined: Sun Mar 08, 2009 5:13 pm
Location: Szukaj w kioskach...

CenterOnUnits(list); i pare innych. --problem--

Post by Xero Rozbójca »

Witam, mam problem z komendą "CenterOnUnits(list);", chciałbym się dowiedzieć, dlaczego nie działa, gdy wpiszę takie coś:

Code: Select all

CenterOnXY(62,75);
Wait(0$2);
CenterOnXY(57,59);
Wait(0$2);
CenterOnXY(77,53);
Wait(0$2);
CenterOnXY(87,63);
Wait(0$2);
CenterOnUnits(xero);
Wait(0$3);
CenterOnUnits(xero);
Wait(0$3);
CenterOnUnits(xero);
te trzy ostatnie w ogóle nie reagują!

I jeszcze jedno:

Code: Select all

ComTurnUnit(xero,general);
ComTurnUnit(general, xero);
AddComHold(xero);
AddComHold(general);
W ogóle nie zaskakuje!
"Osoby, stawiające więcej niż trzy znaki interpunkcyjne obok siebie, mają problemy ze zdrowiem psychicznym."

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

Re: CenterOnUnits(list); i pare innych. --problem--

Post by Gothuk »

Xero Rozbujca wrote: CenterOnUnits(xero);
nic dziwnego bo xero nie wyglada mi na liste jednostek...
CenterOnUnits(units:plist)
Xero Rozbujca wrote: I jeszcze jedno:

Code: Select all

ComTurnUnit(xero,general);
ComTurnUnit(general, xero);
AddComHold(xero);
AddComHold(general);
W ogóle nie zaskakuje!
to samo co wyzej:
ComTurnUnit(units:plist un:integer)
AddComHold(units:plist)
zapisz to jako [xero].
User avatar
Xero Rozbójca
Soldier level 6
Soldier level 6
Posts: 391
Joined: Sun Mar 08, 2009 5:13 pm
Location: Szukaj w kioskach...

Re: CenterOnUnits(list); i pare innych. --problem--

Post by Xero Rozbójca »

Gothuk, zapomniałem skasować to o utrzymaniu pozycji, już zaskoczyło, nie wiem jak ale zaskoczyło ;P
a co do CenterOnUnits to zapisać to jako

Code: Select all

CenterOnUnits([xero]); //??
"Osoby, stawiające więcej niż trzy znaki interpunkcyjne obok siebie, mają problemy ze zdrowiem psychicznym."

Image
Radzio
Site Administrator
Site Administrator
Poland
Posts: 2898
Joined: Fri Jul 28, 2006 10:58 am
Location: Bialystok, Poland

Re: CenterOnUnits(list); i pare innych. --problem--

Post by Radzio »

Hm, to nic nie zmieni, problem jest jedynie w drugą stronę.
Może xero to nie postać? xD
User avatar
Xero Rozbójca
Soldier level 6
Soldier level 6
Posts: 391
Joined: Sun Mar 08, 2009 5:13 pm
Location: Szukaj w kioskach...

Re: CenterOnUnits(list); i pare innych. --problem--

Post by Xero Rozbójca »

Nie, xero to szafa w składzie zrobiona z kafelków xd
To powie mi ktoś dlaczego niby takie proste to jest, a nie zaskakuje?
"Osoby, stawiające więcej niż trzy znaki interpunkcyjne obok siebie, mają problemy ze zdrowiem psychicznym."

Image
Radzio
Site Administrator
Site Administrator
Poland
Posts: 2898
Joined: Fri Jul 28, 2006 10:58 am
Location: Bialystok, Poland

Re: CenterOnUnits(list); i pare innych. --problem--

Post by Radzio »

Moje pytanie nie było ironiczne.
Zamieść mapę.
User avatar
Xero Rozbójca
Soldier level 6
Soldier level 6
Posts: 391
Joined: Sun Mar 08, 2009 5:13 pm
Location: Szukaj w kioskach...

Re: CenterOnUnits(list); i pare innych. --problem--

Post by Xero Rozbójca »

Mapy nie ma co podawać, xero to postać, bo przyjeżdża do bazy i gada.
Podam za to kod.

Code: Select all

export xero, pojazd;
export czolg;

starting
begin
IngameOn;
ComEnterUnit([barsol,barsol1,barsol2], bar);
ComEnterUnit(sol, bun);
ComEnterUnit(sol1, bun1);
ComEnterUnit([mech,mech1,mech2],fac);
ComEnterUnit([sci,sci1,sci2], lab);
ComEnterUnit([sci3,sci4,sci5], lab1);
ComEnterUnit([eng,eng1], sklad);
xero=CreateCharacter('xero');
uc_side=1;
uc_nation=nation_american;

vc_chassis=us_medium_tracked;
vc_control=control_manual;
vc_engine=engine_combustion;
vc_weapon=us_double_gun;
pojazd=CreateVehicle;
PlaceHumanInUnit(xero, pojazd);
PlaceUnitXY(pojazd, 58,3, false);
ComMoveToArea(xero, baza);
CenterOnXY(62,75);
Wait(0$2);
CenterOnXY(57,59);
Wait(0$2);
CenterOnXY(77,53);
Wait(0$2);
CenterOnXY(87,63);
Wait(0$2);
CenterOnUnits(xero);
Wait(0$3);
CenterOnUnits(xero);
Wait(0$3);
CenterOnUnits(xero);
end;

every 0$1 trigger isInArea(xero, baza) do
begin
CenterOnUnits(xero);
ComExitVehicle(xero);
Wait(0$0.5);
ComHold([xero]);
ComHold([general]);
AddComTurnUnit(xero,general);
AddComTurnUnit(general, xero);
Wait(0$1);
Say(xero, 'x');
Say(general, 'general');
SayRadio(general, 'general1');
SaveCharacters(FilterAllUnits([[f_side,1],[f_type, unit_human]]),'ludzie');
InGameOff;
end;

every 0$1 do
begin
czolg=ComConstruct(fac, us_medium_tracked,engine_siberite, control_computer, us_laser);
end;

On VehicleConstructed(tank, fabryka) do //nie działa
begin //nie działa
If tank=czolg and fabryka=fac then //nie działa
ComMoveXY(tank, 48,27); //nie działa
end; //nie działa

every 0$1 do
begin
ComResearch(lab, tech_sibdet);
AddComResearch(lab, tech_tech1);
AddComResearch(lab, tech_sibpow);
AddComResearch(lab, tech_sibeng);
ComResearch(lab1, tech_opto1);
AddComResearch(lab1, tech_opto2);
end;
"Osoby, stawiające więcej niż trzy znaki interpunkcyjne obok siebie, mają problemy ze zdrowiem psychicznym."

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

Re: CenterOnUnits(list); i pare innych. --problem--

Post by Gothuk »

teoretycznie powinno to dzialac.. sproboj tak jak wczesniej pisalem:

Code: Select all

CenterOnUnits([xero]);
co do:
Xero Rozbujca wrote:

Code: Select all

every 0$1 do
begin
czolg=ComConstruct(fac, us_medium_tracked,engine_siberite, control_computer, us_laser);
end;

On VehicleConstructed(tank, fabryka) do //nie działa
begin //nie działa
If tank=czolg and fabryka=fac then //nie działa
ComMoveXY(tank, 48,27); //nie działa
end; //nie działa
nie mozesz nadawc id przy comconstruct -.- (jezeli bardzo chcesz gdzies na ows jest funkcja ktora to robi).
w evencie usun

Code: Select all

tank=czolg and
i powinno zadzialac.
User avatar
Xero Rozbójca
Soldier level 6
Soldier level 6
Posts: 391
Joined: Sun Mar 08, 2009 5:13 pm
Location: Szukaj w kioskach...

Re: CenterOnUnits(list); i pare innych. --problem--

Post by Xero Rozbójca »

Code: Select all

CenterOnUnits([xero]);  //nie działa
------
var un;
...
for un in xero //lub for un in [xero] do
CenterOnUnits(un); 
czy też nawet 
CenterOnUnits([un]);        //nie działają
Nic z tych przykładów nie działa.

2. Wiem, że z eventem tak się nie robi ^^ Ale to akurat najmniejszy problem, bo wiem jak zrobić :P
"Osoby, stawiające więcej niż trzy znaki interpunkcyjne obok siebie, mają problemy ze zdrowiem psychicznym."

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

Re: CenterOnUnits(list); i pare innych. --problem--

Post by Gothuk »

spróbuj jeszcze wycentrować na innym obiekcie/człowieku. może wina tkwi jednak w postaci xero xD.
User avatar
Xero Rozbójca
Soldier level 6
Soldier level 6
Posts: 391
Joined: Sun Mar 08, 2009 5:13 pm
Location: Szukaj w kioskach...

Re: CenterOnUnits(list); i pare innych. --problem--

Post by Xero Rozbójca »

Próbowałem wycentrować na generale i innych ludkach/pojazdach/budynkach i nic z tego :D
Chyba muszę spróbować takie coś, ale teraz mi się nie chce:

Code: Select all

CenterOnXY([GetX(xero), GetY(xero)]);
"Osoby, stawiające więcej niż trzy znaki interpunkcyjne obok siebie, mają problemy ze zdrowiem psychicznym."

Image
Radzio
Site Administrator
Site Administrator
Poland
Posts: 2898
Joined: Fri Jul 28, 2006 10:58 am
Location: Bialystok, Poland

Re: CenterOnUnits(list); i pare innych. --problem--

Post by Radzio »

Wiesz, w ogólności ta funkcja mi działa. Wyślij jednak tę mapę. Coś MUSISZ robić nie tak!
Post Reply