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: 248 Dołączył: 2009-06-27
#
Ostatnio na forum pojawiła się wzmianka o niegotowym jeszcze modzie. Znalazłem tam tajemnicze (pewnie tylko dla mnie) rozszerzenie *.cm;

1.Jak używać tych plików?
2.Jakie są wady i ich zalety?
3.Czy można od razu w nich pisać wszystko czy trzeba je "podpiąć" w pliku *.cs/*.scm?

___________________
http://www.gta-mods.pl/public/images/userbar
Postów: 878 Dołączył: 2009-01-20
#
Cechy plików *.cm (Custom Mission)

  • Z założenia mają zawierać dodatkowe misje
  • Plik *.cm nie jest ładowany od razu, w przeciwieństwie do skryptów *.cs
  • Można je wywołać w skrypcie *.cs
  • Kod:
    0A94: start_custom_mission "missionsCustomMission1"

    Powyższy kod uruchomi plik "CustomMission1.cm" z katalogu "missions".


Generalnie nie rozpatrywałbym tego w kategorii "wady i zalety", po prostu przeznaczenie *.cs i *.cm jest trochę inne.

___________________
Administrator
Postów: 1004 Dołączył: 2009-01-20
#
One dla mnie tajemnicą też są. A ten katalog missions to gdzie utworzyć, w folderze cleo? No i jak te pliki tworzyć?
Postów: 248 Dołączył: 2009-06-27
#
Czyli to w pliku *.cs:
Kod:
0A94: start_custom_mission "missionsCustomMission1"

można chyba porównać do tego w pliku *.scm:
Kod:
start_mission 34

Tak myślę :-)

@sabaru83pl -> Ja wiem tylko jak tworzyć. Utwórz pusty plik *.txt i zmień rozszerzenie na *.cm. Tak samo można zrobić z plikami *.cs i *.scm

___________________
http://www.gta-mods.pl/public/images/userbar
Postów: 878 Dołączył: 2009-01-20
#
Tak, katalog "missions" powinien być w katalogu CLEO. Gdy odwołujesz się do plików lub katalogów w CLEO, punktem startowym jest zawsze katalog CLEO.

Wystarczy na początku skryptu wstawić nagłówek:
Kod:
{$CLEO .cm}

i skrypt skompiluje się jako plik *.cm.

___________________
Administrator
Postów: 1004 Dołączył: 2009-01-20
#
Albo coś źle robię albo mama coś do cleo nie doinstalowane. Bo jak robię taki na próbę skrypt to gdy dojedzie do momentu gdzie ma się uruchomić ten cały .cm to mnie wywala z gry.

W głównym pliku .cs mam tak

Kod:
{$VERSION 3.1.0027}
{$CLEO .cs}

//-------------MAIN---------------
0000: NOP 
Model.Load(426)
038B: load_requested_models 

$p1 = Car.Create(426, 2459.8572, -1656.1565, 13.0461)
Car.Angle($p1) = 90.0
05CB: AS_actor $PLAYER_ACTOR enter_car $p1 as_driver 0 ms 
wait 1000
00BC: show_text_highpriority GXT 'TEST_1' time 1200 flag 1 
wait 1200
00BC: show_text_highpriority GXT 'TEST_2' time 1200 flag 1  
wait 1200
00BC: show_text_highpriority GXT 'TEST_3' time 1200 flag 1
wait 1200
00BC: show_text_highpriority GXT 'TEST_4' time 1200 flag 1
wait 1000
0A94: start_custom_mission "missionsCustomMission1"

0A93: end_custom_thread 


A w pliku .cm tak

Kod:
{$VERSION 3.1.0027}
{$CLEO .cm}
//-------------MAIN---------------
0000: NOP 
Model.Load(426)
038B: load_requested_models 

$p3 = Car.Create(426, 2434.4788, -1656.6714, 12.9785)
Car.Angle($p3) = 90.0
0A93: end_custom_thread 


No i co jest nie tak?
Postów: 628 Dołączył: 2009-01-22
#
W .cm trzeba używać 004E zamiast 0A93 - ten jest tylko dla skryptów CLEO, nie dla misji.

I wcale nie trzeba tworzyć katalogu 'missions', wystarczy że plik .cm będzie w katalogu CLEO.

Co do zalet - Cytrus, nie zasługujesz żebym Ci przy tym pomagał, ale może się przydać to innym osobom:
.cm najlepiej używać właśnie dla skryptów, które po prostu są misjami. Dlaczego? Ponieważ taka CLEO misja ma wtedy 1024 zamiast 34 zmiennych oraz akceptuje specjalną strukturę, która jest użyta w każdej misji z SA i sprawdza AUTOMATYCZNIE, czy gracz został zabity/aresztowany.

Przykład takiej konstrukcji z MAIN project:

Kod:
:INTRO
03A4: name_thread 'INTRO' 
0050: gosub @INTRO_47 
if 
    0112:   wasted_or_busted // mission only 
then
    0050: gosub @INTRO_9994 
end
0050: gosub @INTRO_9996 
004E: end_thread


W nagłówku @INTRO_47 znajduje się cała misja. W @INTRO_9994 jest wszystko to, co ma rozegrać się w momencie porażki (napis MISSION FAILED itp.), @INTRO_9996 wszystko czyści, oraz kończy się ustawieniem flagi $ONMISSION na 0 (WAŻNE - by konstrukcja działała poprawnie, przed odpaleniem misji tą flagę należy ustawić na 1!) i mission_cleanup.

Najprostsza misja:

Kod:
:MISJA
thread "CLEO"
gosub @MISJA
if
    0112:   wasted_or_busted // mission only 
then
    gosub @MISJA_FAIL
end
gosub @MISJA_CLEANUP
end_thread

:MISJA      
0004: $ONMISSION = 1
increment_mission_attempts
// Cały skrypt misji tu
return

:MISJA_FAIL
00BA: show_text_styled GXT "M_FAIL" time 5000 style 1  // ~r~MISSION FAILED!
return 

:MISJA_CLEANUP
mission_cleanup
0004: $ONMISSION = 0
return

___________________
Moderator
http://i.imgur.com/Abvv63y
Śledź mój kanał Twitter by być na bieżąco ze wszystkimi aktualizacjami moich modów!
Postów: 1004 Dołączył: 2009-01-20
#
Dzięki działa :). Co do tego drogiego to sposobem jakim ty to tłumaczysz żeby to robić to przydał by się do tego jakiś rozbudowany poradnik bo w moim przypadku ciężko mi to zrozumieć.

I na koniec taka uwaga. Swoje urazy zachowajcie dla siebie to nie wp czy inne serwisy tego typu gdzie by kogo to obchodziło co macie do siebie. A jeżeli nie chcesz czegoś tłumaczyć to nie pisz.
Postów: 628 Dołączył: 2009-01-22
#
http://www.gtamodding.com/index.php?title=Create_a_mission

Tu jest trochę to opisane, może Ci pomoże.

___________________
Moderator
http://i.imgur.com/Abvv63y
Śledź mój kanał Twitter by być na bieżąco ze wszystkimi aktualizacjami moich modów!
Postów: 1004 Dołączył: 2009-01-20
#
Czy mi się wydaje czy takie plik .cm w pliku .cs można włączyć tylko raz? Bo jak próbuje uruchomić drugi to mnie wywala z gry. I jeżeli to możliwe to jak zatrzymać działanie takiego pliku .cm?
Postów: 878 Dołączył: 2009-01-20
#
Kod:
0459: end_thread_named 'NAZWA'

Jednak, żeby tego użyć, najpierw musisz nazwać swój wątek w pliku *.cm. Dodaj po {$CLEO .cm}:
Kod:
thread 'NAZWA'


A co do poradnika, to na pewno taki napiszę niedługo, bo to bardzo dobry szablon misji.

___________________
Administrator
Postów: 248 Dołączył: 2009-06-27
#
@silent! O co Ci chodzi? Nie pamiętam żebyśmy się znali, a co dopiero rozmawiali ze sobą.

Dzięki wszystkim za pomoc. Można zamknąć temat.

___________________
http://www.gta-mods.pl/public/images/userbar
Poprzedni 1 Następny
Zaloguj się lub zarejestruj się, żeby pisać na forum.
Created & Powered by MakG