Czy wiesz, że... możesz podsyłać newsy, artykuły, pliki i zdjęcia?
Strona główna forum Szukaj Rejestracja
Witaj, nieznajomy!
Poprzedni 1 Następny
Postów: 25 Dołączył: 2010-09-11
#
otóż zrobiłem pierwszą misję do gta sa według tutoriala z tej strony. Wszystko jest fajnie ,tylko jak podpiąć do tego drugą? Możecie się śmiać, ale jestem początkujący w tej dziedzinie. Mógłby mi ktoś to wyjaśnić jak zrobić, aby po przejściu pierwszj pojawial się marker i bym mógł zacząć drug? z góry dzienks ;}

___________________
http://img210.imageshack.us/img210/9568/els
Postów: 878 Dołączył: 2009-01-20
#
Na początku oczywiście musisz zadeklarować wszystkie swoje misje, przykładowa sekcja z DEFINE:

Kod:
DEFINE OBJECTS 0
DEFINE MISSIONS 1
DEFINE MISSION 0 AT @MISJA1
DEFINE MISSION 1 AT @MISJA2
DEFINE MISSION 2 AT @MISJA3
DEFINE EXTERNAL_SCRIPTS -1
DEFINE UNKNOWN_EMPTY_SEGMENT 0
DEFINE UNKNOWN_THREADS_MEMORY 0


Markery aktywujące misje najlepiej przechowywać w sekcji "MAIN", zaraz po podstawowych ustawieniach. Wyświetlaj markery na podstawie ukończonych misji. Utwórz sobie zmienne globalne dla każdej misji, które będą cię informować o jej statusie. Po pomyślnym wykonaniu misji, przy sekcji wyświetlania "Mission Passed" dodaj odpowiednio:

Kod:
$MISJA1 = 1


Wtedy w sekcji MAIN sprawdzasz:

Kod:

:MARKER_MISJA1
if
 $MISJA1 == 0
then
 // tworzysz marker
 jump @koniec_main
end

:MARKER_MISJA2
if
 $MISJA2 == 0
then
 // tworzysz marker
 jump @koniec_main
end

:koniec_main


Te temat mogą Ci się przydać:

http://www.gta-mods.pl/forum/topics/view/id/629
http://www.gta-mods.pl/forum/topics/view/id/504

___________________
Administrator
Postów: 25 Dołączył: 2010-09-11
#
A to po tym sprawdzeniu drugiej misji, piszę ją tak jak pierwszą, tak ? A tak na marginesie to thx, zaraz spróbuję.
PS: Co to te zmiennge globalne i lokalne, bo zbytnio nie kapuję

___________________
http://img210.imageshack.us/img210/9568/els
Postów: 878 Dołączył: 2009-01-20
#
http://www.gta-mods.pl/forum/topics/view/id/638#p3393
W tym poście masz wszystkie możliwe rodzaje zmiennych.

W skrócie, globalnych zmiennych możesz używać wszędzie, w każdym miejscu w main.scm, jak i skryptach CLEO.
Zmiennych lokalnych używa się wewnątrz danej misji, bo np. zmiennej aktora związanych z tą konkretną misją nie użyjesz już nigdzie indziej.

Zmienne globalne zapisują się w momencie zapisu stanu gry.

___________________
Administrator
Postów: 1004 Dołączył: 2009-01-20
#
Chociaż siedzę w tym dość długo to i tak jeszcze tego za bardzo nie rozumiem. Tam jest tylko napisane w zasadzie jak one wyglądają. To tak samo jak np. dać komuś samochód do naprawy i powiedzieć jak co się nazywa i niech sobie radzi sam dalej. Fajnie by było jak by ktoś to wyjaśnij dokładniej jak to się ma do pisania misji i co to powoduje już w samej grze.
Postów: 25 Dołączył: 2010-09-11
#
nie no przy kompilacji wyskakuje mi błąd : A jump to zero offset found. O co chodzi ? )0_o

___________________
http://img210.imageshack.us/img210/9568/els
Postów: 878 Dołączył: 2009-01-20
#
Prawdopodobnie nie podałeś nazwy procedury przy instrukcji jump. Pokaż kod, tylko bez całej misji, żeby było czytelniej.

Widzę, że będzie trzeba wyjaśnić tę kwestię trochę dokładniej. Postaram się niedługo napisać o tym tutorial.

___________________
Administrator
Postów: 25 Dołączył: 2010-09-11
#
ok - już mam . Nie dałem poprostu na końcu main ,polecenia end_thread. Jak bede mić inne problemy to napiszę, a jak coś to dam cały kod

___________________
http://img210.imageshack.us/img210/9568/els
Postów: 25 Dołączył: 2010-09-11
#
e mam jeszcze jedno pytanie - jakim opcodem zakończyć 1-szą misję? bo jak dam cleanup i retun to mam crasha a jak dam end_thread to nie mam 2 giej misjii - HELP !

___________________
http://img210.imageshack.us/img210/9568/els
Postów: 878 Dołączył: 2009-01-20
#
A zacząłeś wątek misji w ten sposób?

Kod:
:MISJA1
thread 'misja1'
// ...
end_thread

:MISJA2
thread 'misja2'
// ...
end_thread

___________________
Administrator
Postów: 25 Dołączył: 2010-09-11
#
Ok już nie mam crasha. :) a teaz mam inny problem .
Zrobiłem pierwszą misję i na końcu dałm pętle aby czytało mi to co jest w main, czyli tak
Kod:

else_jump @MAIN_293 
jump @MAIN_293


A w main jest to :

Kod:
else_jump @MAIN_293 
jump @MAIN_377 

:MAIN_293
if 
  $MISJA2 == 0 
else_jump @MAIN_377 
$CEL = Marker.CreateIconAndSphere(34, 2528.201, -1670.007, 15.17059)
00FF:   actor $PLAYER_ACTOR sphere 0 in_sphere 2528.201 -1670.007 15.17059 radius 1.0 1.0 2.0 on_foot 
jump @MAIN_377 

:MAIN_377
end_thread 



Co teraz mam zrobić żeby połączyć to z drugą misją ?
Bo wszystko jest ok! Po przjściu pierwszej misjii pojawia się marker - tylko musze to podłączyć do drugiej misjii i przestanę was męczyć. :]

___________________
http://img210.imageshack.us/img210/9568/els
Postów: 878 Dołączył: 2009-01-20
#
Nie bardzo rozumiem w czym problem. Skoro marker utworzył się poprawnie, to teraz wystarczy zrobić pętlę sprawdzającą, czy gracz wszedł na ten marker. Widzę, że u siebie umieściłeś opcode 00FF bez warunku "if", a bez niego ten opcode jest bezużyteczny.

Po utworzeniu markera dodaj:

Kod:
:check
wait 0
if
 00FF: actor $PLAYER_ACTOR sphere 0 in_sphere 2528.201 -1670.007 15.17059 radius 1.0 1.0 2.0 on_foot
jf @check

start_mission 1 // MISJA2


PS. Możesz nas męczyć, od tego jest forum :) Tylko żeby była jasność na przyszłość - nie zwalnia Cię to od samodzielnego myślenia :)

___________________
Administrator
Postów: 25 Dołączył: 2010-09-11
#
Nie no MakG - ty to poprostu wymiatasz.Dzięki za wszelką pomoc. Wszystko działa jak należy. Co dotego myślenia - ciągle myślałem :). Ale z tego że jestem początkujący to co ja mogłem wymyślić. Znam mało opcode'ów i nie mogę za dużo wskurać. jednak po wejđciu na marker nastepuje drugamisja. Dyiki wielkie chopaki !!!

___________________
http://img210.imageshack.us/img210/9568/els
Poprzedni 1 Następny
Zaloguj się lub zarejestruj się, żeby pisać na forum.
Created & Powered by MakG