Page 1 of 1

Omijanie polecenia

Posted: Tue Feb 27, 2018 7:36 pm
by WojtaZZ
Hejka, mam pewien problem:
export Function naukowcy_droga;
var gr;
begin
//naukowcy i ich droga do labolatorium
uc_side := 5;
uc_nation := 2;
hc_sex := 2;
hc_name := '';
hc_class := 4;
nauk1 := CreateHuman;
nauk2 := CreateHuman;
gr := ([nauk1, nauk2]);
PlaceUnitArea(nauk1,naukowcy,false);
PlaceUnitArea(nauk2,naukowcy,false);
wait(0$0.5);
ComMoveXY(gr,77,53);
ComMoveXY(gr,63,47);
ComEnterUnit(gr,lab);
end;
po pojawieniu się naukowców w arei "naukowcy" omijają oni, a konkretnie one, wcześniejsze polecenia "ComMoveXY". Próbowałem przestawiania linijek kodu, zmian identyfikatorów oraz umieszczenia ich na konkretnych x, y. Nie działa. Nie mam pomysłu co może być nie tak.

Re: Omijanie polecenia

Posted: Tue Feb 27, 2018 7:54 pm
by Serpent
Użyj:
AddComEnterUnit(gr,lab);

Każda funkcja zaczynająca się od Com przerywa wszystkie obecnie wykonywane i zaplanowane czynności jednostki. Dopiero potem wykonuje zadaną komendę.

Re: Omijanie polecenia

Posted: Wed Feb 28, 2018 10:44 pm
by WojtaZZ
Śmiga, wielkie dzięki.
Mam jeszcze mały problem.
export function przygotuj_grupe;
begin
uc_side := 5;
uc_nation := 2;
kob := NewCharacter('nika');
ahmed := NewCharacter('ahmed');
szejk1 := NewCharacter('sajid');
szejk2 := NewCharacter('nasim');
postaw_szejkow;
postaw_tow;
end;
// fragment zawartości pliku CharName.wri
ruska
Nika Kowalowa
// fragment zawartości pliku Start.txt
nika 1
DEFINE
NAME ruska
HUMAN 2 1 2
ATTR 12 10
SKILLS 2 125 2 999 0 125 0 456
LAST_MISSION 14
CHAR @ 0 0
RANDSEED 0
VOICE 99 GALLERY gal1 30
END_OF_DEFINE
Problemem jest imię i nazwisko zdefiniowanej kobiety, ponieważ w grze nie nazywa się ona Nika Kowalowa, tylko ruska. Chciałem to jakoś rozwiązać, ale bez skutku. Nie mam pomysłu co może być z nią nie tak.

Re: Omijanie polecenia

Posted: Wed Feb 28, 2018 11:17 pm
by 0dd1
A zwróciłeś uwagę na język? Jeśli masz ustawiony polski to imię z CharName.wri musi być w folderze Texts/#POL. Poza tym można chyba w Start.txt zamiast ruska napisać "Nika Kowalowa" (razem z cudzysłowiem).

Re: Omijanie polecenia

Posted: Wed Feb 28, 2018 11:27 pm
by WojtaZZ
Zapomniałem dodać. Oczywiście te pliki mają swoje odpowiedniki w folderach odpowiadających za język.
Mogę tak ją nazwać, ale po prostu dziwi mnie fakt, że inne postacie nazywają się poprawnie, a ona ma jakąś anomalie.
Nurtuje mnie tylko pytanie dlaczego tak się dzieje?

Re: Omijanie polecenia

Posted: Thu Mar 01, 2018 12:17 am
by 0dd1
W CharName po "ruska" masz spacje. Spróbuj to usunąć.

Re: Omijanie polecenia

Posted: Thu Mar 01, 2018 10:40 am
by Nefarem
Spróbuj w start.txt zmienić z nika 1 -> ruska 1 .

Re: Omijanie polecenia

Posted: Thu Mar 01, 2018 10:54 am
by 0dd1
Nefarem wrote: Thu Mar 01, 2018 10:40 am Spróbuj w start.txt zmienić z nika 1 -> ruska 1 .
To nie musi być tak samo. W Amerykańskiej kampanii masz
" JMM 1
DEFINE
NAME Macmillan"
i działa.

Re: Omijanie polecenia

Posted: Thu Mar 01, 2018 8:25 pm
by WojtaZZ
Dzięki za podpowiedź, problem leżał w tej nieszczęsnej spacji. Działa wszystko jak powinno.

Re: Omijanie polecenia

Posted: Sun Mar 04, 2018 10:24 pm
by WojtaZZ
Żeby nie zakładać kolejnego tematu pomyślałem żeby napisać to w tym.

Umieściłem małpoludy na mapie (bez definiowania ich w SAIL oraz bez nadania im identyfikatora). Teraz mam mały problem. Chce zrobić coś takiego:
- kiedy strona gracza zobaczy losowego małpoluda ma nastąpić wydarzenie.
Nie wiem tylko jak zdefiniować tego losowego małpoluda, a nie chce ich tworzyć w SAIL-u. Szperałem trochę w oryginalnych skryptach, ale nie przychodzą mi żadne pomysły.

Re: Omijanie polecenia

Posted: Sun Mar 04, 2018 11:10 pm
by Nefarem

Code: Select all

Export function SeeApemen(side);
var i;
begin

     for i in FilterAllUnits([[f_side, side], [f_class, class_apeman]]) do
     begin
          IF See(your_side, i) then
          begin
          	// Twój kod gdy zobaczą małpoluda.
          end;
     end;
     
END;