Kilka pytań związanych z modowaniem

Witam.
Tytułem wstępu: mam dość szczegółowo rozpisany scenariusz na moda. Jako, że niezbyt znam się na technikaliach, starałem się zaprojektować misje na podstawie już istniejących, aby nie wpaść w coś zbyt trudnego/niewykonalnego.
Przez ostatnie miesiące starałem się znaleźć tutoriale na ten temat. Szczególnie użyteczny był temat Pistolecika. Testowałem to, co napisał i wydaje się, że rozumiem i działa.

Wszystkie tutoriale jakie czytałem (może coś przeoczyłem? Jeżeli tak, to proszę, podajcie linka) skupiały się raczej na dodawaniu pojedyńczych obiektów- typu bodyguard, samochód itp. Nie wiem więc, i to jest moje pierwsze pytanie, jak zedytować już istniejącą misję w sposób następujący: usunąć istniejące skrypty (przynajmniej niektóre) i objectives.
Na ten przykład, staram się zmienić mapę Tutorialu:
-Jak usunąć następujące po starcie "misje" (idź do głównej sali magazynu, podnieś bronie, użyj mikrofonu...)? Czy to wszystko jest w skrypcie głównej postaci Tommiego?
-Czy są jakieś dodatkowe skrypty, które muszę usunąć (np- łopatologicznie udaje mi się przenieść startowego Tommiego na ulicę, ale po sekundzie od startu gra się kończy. WYDAJE MI SIĘ, że problemem jest to, że jestem na zewnątrz i pomiędzy mną a zadaniem, które muszę wykonać znajdują się w danym momencie zamknięte drzwi, więc gra widzi, że nie będę mógł wykonać zadania. Muszę więc otworzyć drzwi)?

Dodatkowo, wydaje mi się, że mam problem z programem Mafia World Editor. Otóż, za pomocą BScriptView dodałem 3 postaci (NPCe). W Mafia World Editor ustawiłem je tam, gdzie chciałem. Do tej pory wszystko działało dobrze. Następnie w BScriptView dodałem około 15 skrzynek, które chciałem rozstawić na mapie za pomocą Editora. Niestety, Editor tym razem już nie chce odpalić mapy (przy ładowaniu Tutoriala się zawiesza, każdą inną ładuje źle- pokazuje się niebo. Profilaktycznie zrobiłem parę kopii Mafii na dysku i mapy z tej, której nie ruszałem, ładuje bez problemu...). Czy ktoś wie, o co może chodzić? Ew- może jest lepszy sposób na umieszczanie obiektów w grze?

No i na razie ostatnie pytanie- na forum widziałem daaawny topic Mnicha, w którym pytał się, jak się zmienia dzień na noc. Ktoś odpowiedział mu, że to większa robota. Ale to było dawno temu, może teraz mamy już technologię, która pozwoli to zrobić dużo łatwiej? ;)

Na zakończenie chciałbym powiedzieć, że jeżeli to wszystko już gdzieś w internecie jest zapisane, to bardzo przepraszam. Starałem się przygotować do modowania Mafii dość porządnie, więc jeżeli coś przeoczyłem to tylko dlatego, że jestem ślepy i głupi. W takim wypadku, proszę, nie krytykujcie mnie bardziej niż trzeba ;)
Wiem, że próba modowania Mafii jest dość wymagająca, ale starałem się naprawdę napisać to sobie tak, żeby nie ingerować w samą grę, tylko właśnie pozamieniać ustawienie modeli i zmienić misje w grze.

Dzięki za pomoc!
I got used to it.
Mafia jest banalna w modowaniu bo jest głupia. Nie ma czegoś takiego, że wyprowadzisz postać za drzwi i wyskakuje błąd, bo widzi, że nie możesz tego zrobić, to tak nie działa. Po prostu zmieniłeś miejsce postaci, tu nie ma automatyki, która Ci powie, że nie możesz wykonać danej czynności, bo w sumie wcale nawet nie musisz. Wystarczy to określić, na skryptowaniu znam się tyle, że wiem co do czego, bo kiedyś się w lua bawiłem, ale kojarzę jak działają one w Mafii. Na przykładzie tutorialu, jest określone po prostu co musisz zrobić, i nie ma czegoś takiego (chyba), że musisz to zrobić koniecznie, możesz zrobić zupełnie co innego. To są po prostu skrypty, które Ci mówią, że masz zrobić to, po zrobieniu tego dziej się to i uruchamia się kolejny, dzięki któremu możesz zrobić, to, to i to. Taki ciąg przyczynowo skutkowy. Jeśli zaś chodzi o mapy i obiekty, postacie, które mają coś robić (mieć animacje, ogółem żyć, a nie być tylko postawionym modelem) robisz w bsv, zaś modele martwe, typu budynki, rośliny, ulice, skrzynki, szafy itp. robisz po prostu w World Editorze, po przez dodane obiektu. Oczywiście to dość stary silnik i lubi wywalać błędy, np. może mu coś nie pasować z danym modelem, albo z daną kolizją, czy może gryźć się z np. jeden skrypt z drugim, skutki tego mogą być różne. Kiedyś miałem sytuację, że usunąłem jeden model, który zapomniałem, że stał na mapie gdzieś w jakimś miejscu, gdzie w ogóle nie zaglądałem, przez to przy każdym ładowaniu gry wyskakiwał błąd, że go nie może znaleźć, a w gratisie znikał jeden budynek. Kij wie, jaki to miało związek. Czasami może być, tak, że w danej sytuacji crashuje edytor, lub po prostu wyskakuje błąd i crashuje podczas ładowania gry/mapy. Warto robić kopię zapasową po każdej skończonej pracy, na prawdę, potem może to wiele ułatwić, też sobie to ostatnio uświadomiłem. Co do nocy to nie ma żadnych nowych technologii, bo jak wiadomo silnik jest stary i nikt nad nim nie pracuje, my tylko modyfikujemy to co na nim działa. Z tego co wiem com to po prostu zmniejszona jasność mapy, nocna tekstura nieba, włączone światła u samochodów, oświetlenie miejskie i tekstury świateł w oknach budynków. Jak faktycznie chcesz się zabrać za modowanie to nie ucz się tyle, tylko przejdź do praktyki i faktycznie spróbuj coś zrobić :mrgreen: Ja zacząłem dorabiając jedną ulicę w Lost Heaven, polegało to na usunięciu murków z dwóch stron i dodaniu budynków. Jeszcze nawet nie wiedziałem nic o kolizjach i sektorach optymalizacyjnych (jak to lubię je nazywać). Potem jak próbowałem robić modele to zrobiłem model prostego fragmentu ulicy i w tutorialu go testowałem, oczywiście po drodze miałem milion problemów, które mnie dużo nauczyły. Dlatego trzeba jak najwięcej próbować, komputera nie wysadzisz, a lepiej żebyś teraz zapoznał się z większością problemów, jakie możesz spotkać i nauczyć sobie z nimi radzić, niż potem przy faktycznej modyfikacji.
ObrazekObrazekObrazekObrazek
Obrazek
Zastosowałem się do porad i jakoś to idzie (droga przez mękę z niektórymi rzeczami, ale z nimi jakoś kombinuje...), dzięki :)
Dziś jednak napotkałem coś, z czym zupełnie nie mogę się uporać i na necie też znaleźć odpowiedzi nie mogę.
Otóż, w pierwszej części misji, nad którą pracuję, chciałbym napisać dialog paru postaci w mieszkaniu.
Tylko za cholerę nie wiem jak mogę zrobić mieszkanie...
Staram się podpatrzyć modele istniejących już mieszkań (na ten przykład dam mieszkanie Sary, a dokładnie sam przedpokój, to wystarczy). Żaden program do edycji mafii nie mówi mi jaki model jest tam użyty.
Jak już jakoś ten model znajdę, domyślam się, że muszę umieścić go jako building w BScriptView, w edytorze dodać kolizje i dla wyglądu pododawać obiekty typu krzesło w mieszkaniu. Mam rację?

Podsumowując- może ktoś łaskawy mi natłuc do głowy jak stworzyć mieszkanie? :)


PS: Gdzieś w odmętach internetu ktoś napisał, żeby używać BScriptView 4.0, a nie 6.0; czy to prawda? Używam 6.0 i rzeczywiście niektóre skrypty się nie ładują. Np. wczoraj Mat napisał mi skrypt do wyświetlania się napisów po tym, jak Tommy znajdzie się w pobliżu i za nic nie chce działać...
I got used to it.
Robienie mieszkania to wyższa filozofia. Niektóre obiekty np. pomieszczenia fabularne itp. czy podłoże nie mają podanych modeli, nie mam pojęcia dlaczego. Ale nie ważne. Pomieszczenia z misji nie weźmiesz, chyba, że będziesz edytował daną misję, co w sumie jest dość słabym rozwiązaniem. Jeśli sam byś chciał zrobić jakieś wnętrze, to musisz wziąć dany budynek, jak dobrze pamiętam przepuścić go przez zmodelera, odnaleźć jego wszystkie tekstury, potem otworzyć np. w Blenderze, tam sobie wycinasz np. wejście, modelujesz środek, następnie zapisujesz do .3ds, przepuszczasz przez zmodelera 2, potem zmodelera 1, po drodze ustawiając milion parametrów i na nowo przywracając tekstury na swoje miejsca, bo po drodze się gubią. Wtedy w zmodelerze 1 możesz w końcu eksportować do .4ds i wrzucić do Mafii. Dodać w Edytorze (nie w bsv) no i umeblować, dodać kolizje, aktywne drzwi itd. Brzmi prosto, ale faktycznie to z 2/3 dni dość dużej roboty.
A więc finalnie jak ogarniasz skrypty, proponuję wykorzystać mapę z misji Sarah jeśli chodzi o jej mieszkanie, co prawda dojdzie konieczność dodania ładownia, bo jest tylko fragment Little Italy, ale przynajmniej będziesz miał gotową lokację, jeśli chodzi tylko o dialog.
ObrazekObrazekObrazekObrazek
Obrazek
Wow.
Przekonałeś mnie, użyję jej mieszkania ;)
I got used to it.
Kolejne pytanie, siedzę nad tym od wczoraj i czego nie zrobię, to nie działa. Mam nadzieję, że nie denerwuję was tymi postami :)
Plan mam taki: tuż po załadowaniu misji, gra ma zablokować klawisze dla gracza i pokazać pokój z perspektywy innej kamery (nazwanej "kamerka"). Widok przedstawiałby 3 mężczyzn siedzących przy stole na krzesłach i rozmawiąjących (bez samego dialogu, tylko wizualnie rozmawiających ;) ).
To mi się udało zrobić, zrobiłem frame'a "kamerka" i skrypt "kamerka_skrypt". Brzmi on:

Kod:
dim_flt 1
dim_frm 1
findframe 0, "kamerka"

player_lockcontrols 1
camera_lock 0
wait 10000
camera_unlock
player_lockcontrols 0


Postaciom dałem własny skrypt (w sensie- każda z postaci ma dopisany do siebie swój skrypt), skopiowany od gości baru Salieriego z jednych z misji. Tak więc od samego startu siedzą i gestykulują.

Chcę zrobić tak, że po powrocie do normalnej kamery, postacie rozpoczną dialog (i tam też będą zmiany kamery, w stylu np. rozmowy Tommiego z Lucasem przed każdą misją od Lucasa. Nie udało mi się do tej pory niestety dojść tak daleko, więc narazie nie próbowałem żadnego skryptu z tym, ale wiem, że taki istnieje i spokojnie sobie napiszę/skopiuję).

Najpierw próbowałem skrypt tejże rozmowy dodać do skryptu z kamerą, żeby móc kontrolować start rozmowy po zakończeniu widoku z kamery. Niestety, wtedy rozmowa nie zaczyna się wcale.
Potem próbowałem dać rozmowę do skryptu z pierwszą postacią. Wzorowałem się na skrypcie napisanym przez Pistolecika na tym forum (dodawanie-postaci-i-tworzenie-skryptow-t637.html#p12020).
Skrypt samej rozmowy brzmi:
Kod:
enemy_talk 0,60000001
wait
enemy_talk 1,60000002
wait
enemy_talk 0,60000003
wait
enemy_talk 0,60000004
wait
enemy_talk 0,60000005
wait
enemy_talk 0,60000006
wait
enemy_talk 1,60000007
wait
enemy_talk 2,60000008
wait
enemy_talk 0,60000009
wait
enemy_talk 0,60000010
wait
enemy_talk 1,60000011
wait
enemy_talk 0,60000012
wait
enemy_talk 1,60000013
wait
enemy_talk 2,60000014


No i właśnie, wg Pistolecika komenda wait powinna spowodować, że postaci będą mówiły dopiero po zakończeniu poprzedniej kwestii. Nie robią tego, wszystkie kwestie występują na raz.

-Czy wiecie jak zrobić, żeby nie rozmawiali na raz?
-Do jakiego aktora przypisać ten skrypt, żeby dialog występował po powrocie do standardowej kamery?
-Będę musiał także zmienić animację, żeby nie gadali i gestykulowali bez sensu. Znajdę jakąkolwiek animację siedzącą bez ruszania rękami czy nogami. Tylko jak napisać skrypt tak, żeby ta animacja działała podczas całego dialogu?


---

I niestety jeszcze jedna sprawa, z którą mam dość poważmy problem od samego początku mojej jakże udanej przygody z modowaniem.
Staram się w pewnych momentach dodać muzykę/dzwięk, w tym wypadku chciałbym, aby podczas widoku z innej kamery na samym starcie w tle leciał dźwięk rozmowy (19_talk3.ogg na ten przykład). Użyłem chyba wszystkich komend we wszystkich możliwych miejscach i dźwięki nigdy się nie pojawiają. Czy z tym też możecie pomóc?

Mam nadzieję, że nie przesadzam z pytaniami do was...
I got used to it.
mammix napisał(a):
No i właśnie, wg Pistolecika komenda wait powinna spowodować, że postaci będą mówiły dopiero po zakończeniu poprzedniej kwestii. Nie robią tego, wszystkie kwestie występują na raz.

-Czy wiecie jak zrobić, żeby nie rozmawiali na raz?


Dałeś komendę czekania ale nie napisałeś ile czasu ma zająć czekanie, dlatego wszystko toczy się w szybkim tempie.

Daj przykładowo : wait 800

mammix napisał(a):
Do jakiego aktora przypisać ten skrypt, żeby dialog występował po powrocie do standardowej kamery?


Ja bym dał w pierwszym skrypcie mniejszy czas oczekiwania a w drugim większy. Tzn :

Kod:
dim_flt 1
dim_frm 1
findframe 0, "kamerka"

player_lockcontrols 1
camera_lock 0
wait 10000
camera_unlock
player_lockcontrols 0


Kod:
wait 20000
dim_flt 1
dim_frm 2
dim_act 2
findactor 0, "aktor"
findactor 1, "aktor1"
findframe 0, "kamerka1"
findframe 1, "kamerka2"

player_lockcontrols 1
camera_lock 0
enemy_talk 0,60000001
wait 800
enemy_talk 1,60000002
wait 800
camera_unlock
camera_lock 1
enemy_talk 0,60000003
wait 800
enemy_talk 0,60000004
wait 800
camera_unlock
player_lockcontrols 0


W drugim skrypcie masz już uwzględnione kolejne kamerki, jeżeli chcesz aby widok był zza pleców gracza to po prostu usuń player_lockcontrols i camera_lock. Nie musisz przypisywać drugiego skryptu do postaci, wystarczy że dodasz go jako inny ale uwzględnisz w nim ID postaci.

mammix napisał(a):
I niestety jeszcze jedna sprawa, z którą mam dość poważmy problem od samego początku mojej jakże udanej przygody z modowaniem.
Staram się w pewnych momentach dodać muzykę/dzwięk, w tym wypadku chciałbym, aby podczas widoku z innej kamery na samym starcie w tle leciał dźwięk rozmowy (19_talk3.ogg na ten przykład). Użyłem chyba wszystkich komend we wszystkich możliwych miejscach i dźwięki nigdy się nie pojawiają. Czy z tym też możecie pomóc?


19_talk3 jest w formacie wav a nie ogg. Na ten przykład :


Kod:
dim_flt 1
dim_frm 2
dim_act 2
findactor 0, "aktor"
findactor 1, "aktor1"
findframe 0, "kamerka"
findframe 1, "kamerka1"

stream_create 0,"sounds\19_talk3.wav"

player_lockcontrols 1
camera_lock 0
enemy_talk 0,60000001
wait 800
enemy_talk 1,60000002
wait 800
camera_unlock
camera_lock 1
stream_play 0
enemy_talk 0,60000003
wait 800
enemy_talk 0,60000004
wait 800
camera_unlock
stream_stop 0
player_lockcontrols 0
muore il bandito, la mafia vive
Mnich napisał(a):
Dałeś komendę czekania ale nie napisałeś ile czasu ma zająć czekanie, dlatego wszystko toczy się w szybkim tempie.
Daj przykładowo : wait 800

Wstawiłem 800 na próbę i jest lekka przerwa. Będę musiał dokładnie policzyć ile dana wypowiedź ma czasu, ale to się da zrobić.
Inna sprawa, że Pistolecik napisał, że wystarczy samo "wait" i gra będzie czekać tyle, ile powinna (dodawanie-postaci-i-tworzenie-skryptow-t637.html#p12020 : "Wystarczy pomiędzy wpisać polecenie wait bez niczego i gra poczeka aż postać skończy mówić").
On nie miał racji, czy ja coś robię nie tak? ;)


Mnich napisał(a):
Ja bym dał w pierwszym skrypcie mniejszy czas oczekiwania a w drugim większy.
W drugim skrypcie masz już uwzględnione kolejne kamerki, jeżeli chcesz aby widok był zza pleców gracza to po prostu usuń player_lockcontrols i camera_lock. Nie musisz przypisywać drugiego skryptu do postaci, wystarczy że dodasz go jako inny ale uwzględnisz w nim ID postaci.


Tu niestety nie będzie to takie łatwe. W tym momencie "skrypt_kamerka" wywołuje widok z kamery na 3 mężczyzn robiących animacje. Oto przykład animacji jednego z nich, "taty":
Kod:
dim_flt 1
dim_act 1
findactor 0, "tata"

label 1
enemy_playanim "mise zidle01st.i3d"
wait 200
enemy_playanim "mise zidle01a.i3d", 0, simple
let flt[0] = flt[0] - 323
wait flt[0]
enemy_playanim "mise zidle01st.i3d"
wait 4000
//enemy_playanim "mise zidle01c.i3d", 0, simple
//let flt[0] = flt[0] - 323
//wait flt[0]
//enemy_playanim "mise zidle01st.i3d"
wait 5000
enemy_playanim "mise zidle01b.i3d", 0, simple
let flt[0] = flt[0] - 323
wait flt[0]
goto 1


Po zakończeniu widoku z kamery (co trwa 10000 milisekund) ma nastąpić 3 rzeczy jednocześnie:
a) animacja "taty" i 2 innych gości ma się zmienić na "zwykłe" siedzenie;
b) mają zacząć dialog ze sobą;
c) kamera ma być jak w typowym dialogu między Tommym a Lucasem, skupiająca się na postaci, która mówi.

Już bez dokładnego pisania skryptów, jak to teoretycznie zorganizować?
Czy wszytko (startowa kamera, 3 podpunkty) ma iść pod jednego aktora?
Czy np kamerę zostawić tak jak jest a całą resztę po wait 10000 (tyle, ile trwa kamera startowa) dać do skryptu "taty"? Jak wtedy kazać tej pierwszej, wykodowanej przeze mnie animacji się skończyć i ruszyć do zlepku animacji-dialogu?


mammix napisał(a):
I niestety jeszcze jedna sprawa, z którą mam dość poważmy problem od samego początku mojej jakże udanej przygody z modowaniem.
Staram się w pewnych momentach dodać muzykę/dzwięk, w tym wypadku chciałbym, aby podczas widoku z innej kamery na samym starcie w tle leciał dźwięk rozmowy (19_talk3.ogg na ten przykład). Użyłem chyba wszystkich komend we wszystkich możliwych miejscach i dźwięki nigdy się nie pojawiają. Czy z tym też możecie pomóc?


Mnich napisał(a):
19_talk3 jest w formacie wav a nie ogg. Na ten przykład


Tu krótko. Nie działa. Starałem się też dać ten kod do "skrypt_kamerka", że może dźwięk znika metr dalej od skryptu czy coś, ale też zupełnie nie ma żadnego dźwięku. Próbowałem też kodu "PLAYSOUND "ssss",ww,xx,yy,zz", ale też nie działa. Jedyne co działa, to wstawić w BScriptView sound, ale wtedy leci on w pętli, bez przerwy...
Problem z dźwiękiem mam większy, w następnej misji chcę rozpocząć muzykę wraz z napisami. Miałoby się to wszystko wyświetlić gdy postać zbliży się do frame'a na metr czy cokolwiek. Dźwięk nigdy się nie pojawia, napisy tylko na samym starcie misji (tego nie chcę) albo wcale. Rozmawiałem z Mafem, pisał mi skrypty i też nie działa.
Może mam trefną Mafię... Nigdy nie lubiłem Cenegi :D

W każdym razie, dzięki za wszystko i przepraszam, że proszę o więcej... Ale próbuję i próbuję i nic...
I got used to it.
Później to jakoś ogarnę u siebie i omówimy efekty.
muore il bandito, la mafia vive
mammix napisał(a):
Czy wiecie jak zrobić, żeby nie rozmawiali na raz?

Do czekania aż postać skończy gadać jest bodajże komenda enemy_wait
Mniej więcej o coś takiego Ci chodzi?

muore il bandito, la mafia vive
Maf napisał(a):
Do czekania aż postać skończy gadać jest bodajże komenda enemy_wait

A, to wszystko zmienia. Działa, dzięki :)

Mnich napisał(a):
Mniej więcej o coś takiego Ci chodzi?

100% trafności :D Jeszcze, żeby była animacja ust jak mówią, ale domyślam się, że to samo się pojawi, jeżeli uzgodnię ID dźwięku, podpisów i ruchu ust (żeby nie było- w innych przypadkach mi działało).

Takie pytanko na boku- gdy postaci w Twoim filmiku zaczynają rozmawiać, czy "zawiesiłeś" im animacje (wyglądają, jakby siedzieli jak słupy soli trochę...), czy użyłeś jakiejś animacji siedzenia, która po prostu tak wygląda?
I got used to it.
mammix napisał(a):
100% trafności :D Jeszcze, żeby była animacja ust jak mówią, ale domyślam się, że to samo się pojawi, jeżeli uzgodnię ID dźwięku, podpisów i ruchu ust (żeby nie było- w innych przypadkach mi działało).


W poradniku pistolecika znajdziesz coś o ruchu ustami, ja szczerze mówiąc nigdy się tym nie zajmowałem. Podpisy są ustawione w opcjach gry, nie żebym sam je dodawał, można to włączyć i wyłączyć. Jeżeli Ci działało to chyba sobie dalej poradzisz.

mammix napisał(a):
Takie pytanko na boku- gdy postaci w Twoim filmiku zaczynają rozmawiać, czy "zawiesiłeś" im animacje (wyglądają, jakby siedzieli jak słupy soli trochę...), czy użyłeś jakiejś animacji siedzenia, która po prostu tak wygląda?


Kiedy zaczynają mówić to wykonują animację siedzenia, bez żadnych gestykulacji.

Nie wiem dlaczego, ale u mnie komenda enemy_talk jakoś nie chce działać, dlatego zmieniłem to na human_talk. Efekt w zasadzie jest taki sam. U siebie zrobiłem to tak, że dodałem trzy postaci, nazwałem ich po kolei aktor, aktor2, aktor3. Kiedy jest kamera z góry (która trwa 10000 milisekund) oni wykonują jakieś tam inne animacje (też 10000), później przechodzą do normalnego siedzenia, bez gestykulacji, to można zmienić nawet w drugim skrypcie. A jeszcze nawiązując do tego 19_talk3.wav, mogłeś mieć wyłączoną muzykę w opcjach. Ja tak miałem i początkowo zastanawiałem się dlaczego nic nie słychać. Po włączeniu muzyki wszystko działa. U mnie to wygląda tak :

Skrypt aktora :

Kod:
dim_act 1
dim_flt 1

findactor 0, "aktor"

label 1
enemy_playanim "mise zidle01a.i3d", 0
wait 10000
goto 2

label 2
enemy_playanim "mise zidle01st.i3d", 0
wait 7000
goto 2


Skrypt aktora 2 :

Kod:
dim_act 1
dim_flt 1

findactor 0, "aktor2"

label 1
enemy_playanim "mise zidle01st.i3d", 0
wait 10000
goto 2

label 2
enemy_playanim "mise zidle01st.i3d", 0
wait 7000
goto 2



Skrypt aktora 3 :

Kod:
dim_act 1
dim_flt 1

findactor 0, "aktor3"

label 1
enemy_playanim "mise zidle01b.i3d", 0
wait 10000
goto 2

label 2
enemy_playanim "mise zidle01st.i3d", 0
wait 7000
goto 2


Skrypt na kamery :
Kod:
dim_flt 4
dim_act 3
dim_frm 4

findactor 0, "aktor"
findactor 1, "aktor2"
findactor 2, "aktor3"

findframe 0, "kamera"
findframe 1, "kamera2"
findframe 2, "kamera3"
findframe 3, "kamera4"

stream_create 0,"sounds\19_talk3.wav"
stream_play 0


camera_lock 0
player_lockcontrols 1
wait 10000
camera_unlock

camera_lock 1

human_talk 2, 3010400
human_talk 2, 3010410
human_talk 2, 3010420
wait 1000

camera_unlock

camera_lock 2

human_talk 0, 18990231
human_talk 0, 18990232
wait 1000

camera_unlock

camera_lock 3

human_talk 1, 5010230
human_talk 1, 5010190
human_talk 1, 5010200
human_talk 1, 5010210
wait 1000

camera_unlock

player_lockcontrols 0


Jak widzisz nie umieszczałem enemy_wait po każdym gadaniu bo wszystko działa jak należy. Dałem jedynie wait 1000 aby zachować lekki odstęp od ostatniej kwestii każdego aktora, żeby następny nie zaczął zbyt szybko.
muore il bandito, la mafia vive
Działa, dzięki :)
I got used to it.
Kolejne parę pytań, siedziałem nad tym 2 dni ale za nic nie chce działać. Mam nadzieję, że nie denerwuje was to tak bardzo jak mnie... ;)

Po pierwsze, jak napisać skrypt, który spowoduje, że na mój widok dana postać coś powie? Dokładnie- misja ma polegać na śledzeniu i jeżeli ktoś mnie zauważy, to nie chcę, żeby mówił "I'll kill you, you bastard" czy coś podobnego ("fabrycznie" przypisanego do Mafii), tylko tekst stworzony przeze mnie.
Myślałem, że będę mógł taki skrypt ukraść z samej gry (np. sprzątaczka z wilii lub kobieta z ostatniej misji dla Lucasa), ale w tych skryptach twórcy użyli eventów, na których się nie znam (i z tego co wiem, nie da się ich zbytnio kontrolować). Jak pisałem, przez 2 dni kombinowałem i nic, nie mam pomysłów zupełnie.

Druga sprawa- jak spowodować, że gdy ta postać mnie zobaczy to misja się kończy? Może skryptem warunkowym: jeżeli postać mówi ten tekst, to idziemy do label'a, który odpowiada za koniec gry? Dobrze kombinuję? :D
A propos- koniec gry ma też nastąpić, jeżeli zbytnio się oddalę. To byłby bardzo podobny skrypt, tak (jeżeli dystans między mną a postacią śledzoną jest za duży, to idzie do label'a, który odpowiada za koniec gry)?

I na sam koniec- moją główną postacią nie będzie Tommy. Chciałem zmienić "fabryczny" głos tej postaci (w sensie, jak np. zostanie uderzona, to żeby nie słychać było głosu Tommiego mówiącego "au", tylko kogoś innego). Ale nie widzę opcji zmiany głosu postaci domyślnej ani w edytorze, ani w Bscript, ani w DCED. Ktoś wie, jak to się zmienia?

Cóż, dzięki za pomoc raz jeszcze. Mam nadzieję, że aż tak bardzo was ten temat nie męczy. Z dobrych wieści, zrobiłem już 2 podrozdziały i wszystko działa, więc nie jestem taka noga i w planach jest zredukowanie ilości postów w tym temacie ;)
I got used to it.
cron