Czy wiesz, że... rejestracja trwa tylko 20 sekund?
Strona główna forum Szukaj Rejestracja
Witaj, nieznajomy!
Poprzedni 1 2 Następny
Postów: 31 Dołączył: 2013-02-05
#
Hmm, teraz mam takie zmartwienie, czy robić wszystko na GTA United czy na czystym gta?
Bo jesli nie mozna edytowac pliku main to mi sie nie oplaca w tym grzebac i przejsc na czyste gta?>

Aha i piszesz ze cleo ma tylko do 33 zmiennych, w czym to przeszkadza?

W jedenj misji mozna uzyc tylko do 32 lub 33 celow itp. i wiecej nie da rady?
Wiec dlatego lepiej robic w main.scm ?

Przyznam sie, nie mam orginala GTA, tylko ripa, w ktorym nie ma tylko stacji radiowych i dzwiekow misji rockstar.

___________________
http://republika.pl/blog_ws_3465390/4032674/tr/20050510160123
http://dawidsaworski.blogspot.com/
:)
Postów: 878 Dołączył: 2009-01-20
#
Do 33 zmiennych mają tylko skrypty .cs, a .cm ma 1024. Przeszkadza to w tym, że przy bardzo złożonych skryptach nie starcza taka ilość zmiennych i trzeba wtedy kombinować inaczej. Można je natomiast nadpisywać, więc jeżeli coś przestanie być potrzebne, to w miejsce tej rzeczy przypiszesz co innego.

Zarówno w CLEO, jak i w main.scm możesz zrobić takie same misje. Musisz się tylko liczyć z tym, że w przypadku zmodyfikowanego main.scm trzeba zaczynać grę od nowa, nie można rozpocząć poprzez wczytanie starych zapisów gry, które były zrobione na oryginalnym, bądź innym pliku main.scm.

A to, czy chcesz robić na GTA United, czy na czystym GTA to już twoja decyzja, w CLEO możesz bezproblemowo zrobić misje dla obu, aczkolwiek większa grupa docelowa graczy by była w przypadku oryginalnej mapy GTA SA.

___________________
Administrator
Postów: 31 Dołączył: 2013-02-05
#
Uff, co za ulga :D.
Ja tylko chcę się nauczyć tworzyć misje, skrypty .cs nie są mi potrzebne.
A jeżeli w main nie można nie można zapisywać to oczywiście, że bym w tym nie robił ^^.
Chcę tworzyć, tak aby można było zagrać misję pierwszą, zapisać grę, wczytać, przejść następną.

___________________
http://republika.pl/blog_ws_3465390/4032674/tr/20050510160123
http://dawidsaworski.blogspot.com/
:)
Postów: 878 Dołączył: 2009-01-20
#
Skryptu .cs będziesz potrzebował i tak jako starter misji - do tworzenia markerów startowych itd. Tutaj przykład:
http://www.gta-mods.pl/forum/temat/850/misja-cleo-czy#post4661

___________________
Administrator
Postów: 31 Dołączył: 2013-02-05
#
Plik misji nosi nazwe misja_1.cm i misja_1.txt i znajduje sie w folderze glownym cleo, misja/watek nazywa sie szablon
zrobilem StarterMisji.cs
i wrzucilem
Kod:
{$CLEO .cs}

while  
true 
  wait  
0 
  if
     
00ED:   actor $PLAYER_ACTOR sphere 1 near_point 2043.68 -1635.73 radius 4.0 4.0 on_foot 
  then
     
0A94: start_custom_mission "misja_1" 
    wait  
10000
    break 
  end
end

I przy kompilowaniu wyskakuje
A jump to zero offset found.

Wstawilem 0000 przed while true i skompilowalo sie, teraz ciekawe czy zadziala quest.

___________________
http://republika.pl/blog_ws_3465390/4032674/tr/20050510160123
http://dawidsaworski.blogspot.com/
:)
Postów: 31 Dołączył: 2013-02-05
#
Ta misja ymmm... dziala ale nie do konca.
Nie ma zadnego celu, samochodu ani tego co zamiescilem w misji, po prostu gralem sobie, wzialem jakas misje z gta united, zginalem i wyswietlila sie tresc, ktora zamiescilem w moim quescie M_FAIL
Moze sanny builder czy zle kordy gta utd czy jak.
NIe wiem czy jeszcze dzisiaj na kompie bede, ale jutro na pewno :P.

___________________
http://republika.pl/blog_ws_3465390/4032674/tr/20050510160123
http://dawidsaworski.blogspot.com/
:)
Postów: 628 Dołączył: 2009-01-22
#
No to musiałeś coś pomieszać ze starterem misji.

___________________
Moderator
http://i.imgur.com/Abvv63y
Śledź mój kanał Twitter by być na bieżąco ze wszystkimi aktualizacjami moich modów!
Postów: 31 Dołączył: 2013-02-05
#
No to tak
Marker sie pojawia, ale gdy w niego wejde to nie znika i nie odpala misji

StarterMisji.cs
Kod:
// This file was decompiled using sascm.ini published by Seemann (http://sannybuilder.com/files/SASCM.rar) on 13.10.2007


{$VERSION 3.1.0027}
{$CLEO .cs}

//-------------MAIN---------------

0000: NOP 

:NONAME_2
wait 
0 
if 
00ED:   actor $PLAYER_ACTOR 0 near_point 2043.68 -1635.73 radius 4.0 4.0 on_foot 
$MARKER = Marker.CreateIconAndSphere(56, 2455.115, -1708.752, 13.6119) 
else_jump 
@NONAME_113
Marker.Disable($MARKER)
0A94: start_custom_mission "missions\Misja1"  
wait 
0 
jump 
@NONAME_120 

:NONAME_113
jump 
@NONAME_2 

:NONAME_120 // Note: a jump to this label will crash the game


CLEO/Missions/Misja1.cm
Kod:
// This file was decompiled using sascm.ini published by Seemann (http://sannybuilder.com/files/SASCM.rar) on 13.10.2007


{$VERSION 3.1.0027}
{$CLEO .cm}

//-------------MAIN---------------

if 
wasted_or_busted 
else_jump 
@MISJA1_20 
gosub 
@MISJA1_216 

:MISJA1_20
gosub 
@MISJA1_195 
end_thread 
thread 'MISJA1' 
$ONMISSION = 1 
Model.Load(#VMAFF1)
Model.Load(#M4)

:MISJA1_56
wait 
0 
if 
and
   Model.Available(#VMAFF1)
   Model.Available(#M4)
else_jump 
@MISJA1_56 
Actor.PutAt($PLAYER_ACTOR, 2515.04, -1718.532, 18.5821)
1@ = Actor.Create(CivMale, #VMAFF1, 2415.04, -1818.542, 18.5821)
01B2: give_actor 1@ weapon 31 ammo 300 // Load the weapon model before using this 

01B9: set_actor 1@ armed_weapon_to 31 
0350: set_actor 1@ maintain_position_when_attacked 1 
05E2: AS_actor 1@ kill_actor $PLAYER_ACTOR 
2@ = Marker.CreateAboveActor(1@)

:MISJA1_164
wait 
0 
if 
   
Actor.Dead(1@)
else_jump 
@MISJA1_164 
gosub 
@MISJA1_234 
return 
return 

:MISJA1_195
Actor.DestroyInstantly(1@)
Marker.Disable(2@)
mission_cleanup 
$ONMISSION = 0 
return 

:MISJA1_216
00BA: show_text_styled GXT 'M_FAIL' time 5000 style 1  // ~r~MISSION FAILED!

return 

:MISJA1_234
01E3: show_text_1number_styled GXT 'M_PASS' number 5000 time 5000 style 1  // MISSION PASSED!~n~~w~$~1~

Player.Money($PLAYER_CHAR) += 5000
0394: play_music 1 
return 


Zapisalem tez misje jako .cs ale to i tak nic w niej nie dało, więc może jest lipna?

Hmmm, usune ten jeden return bo zapomialem i sprwadze czy dziala.

___________________
http://republika.pl/blog_ws_3465390/4032674/tr/20050510160123
http://dawidsaworski.blogspot.com/
:)
Postów: 31 Dołączył: 2013-02-05
#
Uff, napisalem wreszcie dobry kod...
Kod:
// This file was decompiled using sascm.ini published by Seemann (http://sannybuilder.com/files/SASCM.rar) on 13.10.2007


{$VERSION 3.1.0027}
{$CLEO .cs}

//-------------MAIN---------------

thread 
'MISJA' 
Model.Load(#SHMYCR)
Model.Load(#WMYCLOT)
Model.Load(#GREENWOO)
Model.Load(#MICRO_UZI)
Model.Load(#MP5LNG)
Model.Load(#TEC9)
038B: load_requested_models 
$WOZ = Car.Create(#GREENWOO, 2018.026, -2291.319, 4.7683)
Car.Angle($WOZ) = 358
0229: set_car $WOZ primary_color_to 2 secondary_color_to 1 
$CEL = Marker.CreateIconAndSphere(56, 1982.534, -2266.046, 4.7609)
054C: use_GXT_table 'MISJA' 
00BC: show_text_highpriority GXT 'TXT1' time 3000 flag 1 

:MISJA_148
wait 
0 
if 
0103:   actor $PLAYER_ACTOR in_sphere 1982.534 -2266.046 4.7609 radius 3.0 3.0 3.0 sphere 0 stopped_in_car 
else_jump 
@MISJA_148 
fade 
0 1000 
wait 
1000 
Marker.Disable($CEL)
$OFIARA = Actor.Create(Criminal, #SHMYCR, 1998.506, -2259.342, 4.934)
$KOLEGA = Actor.Create(CivMale, #WMYCLOT, 1996.274, -2261.553, 4.934)
01B2: give_actor $OFIARA weapon 26 ammo 20 // Load the weapon model before using this 

0639: AS_actor $OFIARA rotate_to_actor $KOLEGA 
0639: AS_actor $KOLEGA rotate_to_actor $OFIARA 
0605: actor $OFIARA perform_animation_sequence "IDLE_CHAT" IFP_file "PED" 4.0 loop 1 0 0 0 time -1 // versionA 

0605: actor $KOLEGA perform_animation_sequence "IDLE_CHAT" IFP_file "PED" 4.0 loop 1 0 0 0 time -1 // versionA 

032B: $UZI = create_weapon_pickup #MICRO_UZI group 5 ammo 50 at 2489.812 -1663.398 13.3359 
032B: $MP5 = create_weapon_pickup #MP5LNG group 5 ammo 30 at 2488.254 -1663.246 13.3359 
032B: $TEC9 = create_weapon_pickup #TEC9 group 5 ammo 50 at 2486.949 -1662.613 13.3359 
$CEL2 = Marker.CreateAboveActor($OFIARA)
02A3: enable_widescreen 1 
fade 
1 1000 
Camera.SetPosition(1991.888, -2261.959, 4.934, 0.0, 0.0, 0.0)
Camera.OnVehicle($WOZ, 15, 2)
00BC: show_text_highpriority GXT 'TXT2' time 3000 flag 1 
wait 
3000 
Camera.SetPosition(1992.469, -2257.583, 4.9266, 0.0, 0.0, 0.0)
Camera.OnPed($OFIARA, 15, 2)
00BC: show_text_highpriority GXT 'TXT3' time 5000 flag 1 
wait 
2000 
02A3: enable_widescreen 0 
Camera.Restore

:MISJA_594
wait 
0 
if 
02E0:   actor $PLAYER_ACTOR aggressive 
else_jump 
@MISJA_629 
01B9: set_actor $OFIARA armed_weapon_to 26 
05E2: AS_actor $OFIARA kill_actor $PLAYER_ACTOR 

:MISJA_629
wait 
10 
if 
   
Actor.Dead($PLAYER_ACTOR)
else_jump 
@MISJA_709 
00BA: show_text_styled GXT 'M_FAIL' time 5000 style 1  // ~r~MISSION FAILED!

Marker.Disable($CEL)
Marker.Disable($CEL2)
Car.Destroy($WOZ)
Actor.DestroyInstantly($OFIARA)
Actor.DestroyInstantly($KOLEGA)
Pickup.Destroy($UZI)
Pickup.Destroy($MP5)
Pickup.Destroy($TEC9)
start_mission 
0  // Initial 1


:MISJA_709
wait 
10 
if 
   
Actor.Dead($OFIARA)
else_jump 
@MISJA_594 
01E3: show_text_1number_styled GXT 'M_PASS' number 100 time 5000 style 1  // MISSION PASSED!~n~~w~$~1~

Player.Money($PLAYER_CHAR) += 100
0394: play_music 1 
Marker.Disable($CEL2)
end_thread 


Teraz tylko go podrasowac, zrobic cutscenke i dodac dubbing, potem juz jakos sam bede pisac.


Edit

Dobra starter misji tez niby dziala ale lapie crasha po wejsciu w marker
Kod:
// This file was decompiled using sascm.ini published by Seemann (http://sannybuilder.com/files/SASCM.rar) on 13.10.2007


{$VERSION 3.1.0027}
{$CLEO .cs}

//-------------MAIN---------------

0000: NOP 

:NONAME_2
wait 
0 
if 
$MISJA1 = Marker.CreateIconAndSphere(56, 1982.534, -2266.046, 4.7609)
0103:   actor $PLAYER_ACTOR in_sphere 1982.534 -2266.046 4.7609 radius 3.0 3.0 3.0 sphere 0 stopped_in_car 
else_jump 
@NONAME_112 
Marker.Disable($MARKER)
0A94: start_custom_mission "MISSIONS\MISJA1"  
wait 
0 
jump 
@NONAME_119 

:NONAME_112
jump 
@NONAME_2 

:NONAME_119 // Note: a jump to this label will crash the game



Teraz zrobilem tak i niby ruszylo ale chce do ifa wrzucic marker, i ze po wejsciu w marker przechodzi mi do :NONAME_2

Kod:
// This file was decompiled using sascm.ini published by Seemann (http://sannybuilder.com/files/SASCM.rar) on 13.10.2007


{$VERSION 3.1.0027}
{$CLEO .cs}

//-------------MAIN---------------

0000: NOP 
:NONAME_1
wait 
0
if
$MISJA1 = Marker.CreateIconAndSphere(56, 1982.534, -2266.046, 4.7609)
0103:   actor $PLAYER_ACTOR in_sphere 1982.534 -2266.046 4.7609 radius 3.0 3.0 3.0 sphere 0 stopped_in_car
jump 
@NONAME_2

:NONAME_2
wait 
0
Marker.Disable($MISJA1) 
if 
else_jump @NONAME_53 
Marker.Disable($MARKER)
0A94: start_custom_mission "MISSIONS\MISJA1"  
wait 
0 
jump 
@NONAME_60 

:NONAME_53
jump 
@NONAME_2 

:NONAME_60 // Note: a jump to this label will crash the game



Hmm tylko jak teraz obcodami audio wrzucic do fragmentu gdzie wlacza sie cutscenka ;x.
018C: play_sound 1052 at 0.0 0.0 0.0
018E: stop_sound 82@

___________________
http://republika.pl/blog_ws_3465390/4032674/tr/20050510160123
http://dawidsaworski.blogspot.com/
:)
Postów: 878 Dołączył: 2009-01-20
#
Artykuł o zmiennych

Nie używaj zmiennych globalnych w skryptach CLEO, stosuj tylko zmienne lokalne, chyba że chcesz odczytać/ustawić jakąś zmienną z main.scm, np. $ONMISSION.

Po drugie, tak jak już pisałem wcześniej, w instrukcji if umieszczaj tylko warunki - nie możesz w niej tworzyć markerów.

Po trzecie, twoje warunki są niepoprawne - dałeś tylko sam warunek bez definicji co ma się stać, jeżeli jest prawdziwy, bądź fałszywy.

Zapoznaj się z poradnikami o pętlach, do których linki dałem wcześniej. Tam masz wszystko dokładnie wyjaśnione.

___________________
Administrator
Postów: 31 Dołączył: 2013-02-05
#
Ok poczytam jeszcze raz wszystko dokladnie i bede analizowal, wiesz na razie duzego doswiadczenia w tym nie mam i pisze po prostu tak jak mi na mysl przychodzi :).


Czyli mam tylko uzywac zmiennych lokalnych?
czyli na przyklad:
zamiast
$6011 = 30000
014E: set_timer_to $6011 type 1

to mam pisac
@6011 = 30000
014E: set_timer_to @6011 type 1

bo coś mi chyba to źle wyglada ;x

___________________
http://republika.pl/blog_ws_3465390/4032674/tr/20050510160123
http://dawidsaworski.blogspot.com/
:)
Postów: 878 Dołączył: 2009-01-20
#
Zmienne lokalne są w postaci 3@ - "@" jest po liczbie. Poza tym w skryptach CLEO .cs zmienne lokalne są z zakresu 0@ - 33@, a w misjach CLEO z 0@-1024@.

___________________
Administrator
Postów: 31 Dołączył: 2013-02-05
#
TYylko nie do konca to rozumiem bo w poradnich sa zmienne globalne, jezeli mam takie zmienne globalne

Kod:
$PLAYER_CHAR = Player.Create(#NULL, 0.0, 0.0, 0.0)
$PLAYER_ACTOR = Actor.EmulateFromPlayer($PLAYER_CHAR)


to zmienic na takie?

Kod:
@PLAYER_CHAR = Player.Create(#NULL, 0.0, 0.0, 0.0)
@PLAYER_ACTOR = Actor.EmulateFromPlayer($PLAYER_CHAR)


czy

Kod:
@1 = PLAYER_CHAR = Player.Create(#NULL, 0.0, 0.0, 0.0)
@2 = PLAYER_ACTOR = Actor.EmulateFromPlayer($PLAYER_CHAR)

___________________
http://republika.pl/blog_ws_3465390/4032674/tr/20050510160123
http://dawidsaworski.blogspot.com/
:)
Postów: 878 Dołączył: 2009-01-20
#
Tego w ogóle nie ruszasz, to zmienne już zdefiniowane w main.scm. W CLEO możesz z nich korzystać w normalne postaci $PLAYER_ACTOR. Chodzi o to, żebyś sobie nie wymyślał swoich nazw np.
Kod:
$ZMIENNA = 1


Zamiast tego dajesz:

Kod:
0@ = 1

___________________
Administrator
Postów: 31 Dołączył: 2013-02-05
#
Ok już rozumiem :)

Tylko nie wiem jak napisać tutaj skrawek, aby działał If
jeśli wejdę w marker to zniknie on z mapy i odpali się misja
Kod:
// This file was decompiled using sascm.ini published by Seemann (http://sannybuilder.com/files/SASCM.rar) on 13.10.2007


{$VERSION 3.1.0027}
{$CLEO .cs}

//-------------MAIN---------------

0000: NOP
:NONAME_70 
wait 
0 
if 
$MARKER = Marker.CreateIconAndSphere(56, 1982.534, -2266.046, 4.7609)
0103:   actor $PLAYER_ACTOR in_sphere 1982.534 -2266.046 4.7609 radius 3.0 3.0 3.0 sphere 0 stopped_in_car 
else_jump 
@NONAME_76 

:NONAME_76
wait 

Marker.Disable($MARKER)
if 
else_jump @NONAME_132 
Marker.Disable($MARKER)
0A94: start_custom_mission "MISSIONS\MISJA1"  
wait 
0 
jump 
@NONAME_139 

:NONAME_132
jump 
@NONAME_76 

:NONAME_139 // Note: a jump to this label will crash the game




Przed chwila edytowalem, byl marker ale jak wszedlem to nic,
teraz jeszcze tez inaczej zrobilem ale crash jest po wczytywaniu gry
Kod:
// This file was decompiled using sascm.ini published by Seemann (http://sannybuilder.com/files/SASCM.rar) on 13.10.2007


{$VERSION 3.1.0027}
{$CLEO .cs}

//-------------MAIN---------------

0000: NOP 
:NONAME_70
wait 
0 
if 
and                                                                                                                                               
$MARKER = Marker.CreateIconAndSphere(56, 1982.534, -2266.046, 4.7609)
0103:   actor $PLAYER_ACTOR in_sphere 1982.534 -2266.046 4.7609 radius 3.0 3.0 3.0 sphere 0 stopped_in_car
jf 
@NONAME_76 
gosub 
@NONAME_76
return

:NONAME_76
wait 
5
jump 
@NONAME_80

:NONAME_80 
Marker.Disable($MARKER)
0A94: start_custom_mission "MISSIONS\MISJA1"  
wait 
0 
jump 
@NONAME_139 

:NONAME_132
jump 
@NONAME_76 

:NONAME_139 // Note: a jump to this label will crash the game



Btw. fajny ten program code generator :),wszystko pod reka ;p.
Przydala by sie aktualizacja z cutscenkami i dialogami audio.

___________________
http://republika.pl/blog_ws_3465390/4032674/tr/20050510160123
http://dawidsaworski.blogspot.com/
:)
Poprzedni 1 2 Następny
Zaloguj się lub zarejestruj się, żeby pisać na forum.
Created & Powered by MakG