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;