Czy wiesz, że... na forum możesz uzyskać pomoc nt. modowania GTA?
Strona główna forum Szukaj Rejestracja
Witaj, nieznajomy!
Poprzedni 1 Następny
Postów: 123 Dołączył: 2010-03-31
#
Witam zrobiłem narazie menu a jedną opcją ta druga ma zostac gdyż przyda mi się później. Otóż po naciśnieciu Shift menu zamiast zacząć misję znika:

Kod:
{$CLEO .cs}
0000: NOP

02A7: 1@ = create_icon_marker_and_sphere 22 at 2525.7141 -1703.9878 13.3803 

:petla1
wait 10
if
0102: actor $PLAYER_ACTOR in_sphere 2525.7141 -1703.9878 13.3803 radius 1.2 1.2 3.0 sphere 1 stopped_on_foot 
jf @petla1

054C: use_GXT_table 'SAPlus'
Player.CanMove($PLAYER_CHAR) = False
08D4: $Panel = create_panel_with_title 'FEM_MM' position 29.0 145.0 width 200.0 columns 1 interactive 1 background 1 alignment 1
08DB: set_panel $Panel column 0 header 'TITLE' data 'M1' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY'

:czekaj_na_wybor
wait 0
if
00E1: player $PLAYER_CHAR pressed_key 15
jf @czekaj_na_wybor_test2

:czekaj_na_wybor_test2
if
00E1: player $PLAYER_CHAR pressed_key 16
jf @czekaj_na_wybor

0871: init_jump_table $Wybrane total_jumps 2 1 -1 jumps 0 @wybrane1 1 @wybrane2 0 -1 0 -1 0 -1 0 -1 0 -1

:wybrane1
jump @wyjdz
fade 0 1500
wait 1500 
wait 1500
fade 1 1500
0A94: start_custom_mission "SAPlus/1.cm"

:wybrane2
jump @wyjdz

:wyjdz
08DA: remove_panel $Panel
03E6: remove_text_box
Player.CanMove($PLAYER_CHAR) = True 

0A93: end_custom_thread
Postów: 878 Dołączył: 2009-01-20
#
Kod:
:wybrane1
jump @wyjdz
fade 0 1500
wait 1500
wait 1500
fade 1 1500
0A94: start_custom_mission "SAPlus/1.cm"

Nic dziwnego, skoro od razu przeskakujesz do "wyjdz" :)

Lepiej zrób tak: stwórz na końcu procedurę usuwającą menu:

Kod:
0A93: end_custom_thread
:usunMenu
08DA: remove_panel $Panel
03E6: remove_text_box
Player.CanMove($PLAYER_CHAR) = True
return


I odwołaj się do tej procedury poprzez "gosub":
Kod:
:wybrane1
gosub @usunMenu


Jeszcze po wystartowaniu misji, daj instrukcję przeskoczenia na początek skryptu, żeby nie wykonały się akcje dla kolejnych wyborów z menu.

___________________
Administrator
Postów: 123 Dołączył: 2010-03-31
#
Dzięki można się jakos odwdzięczyć za pomoc?? Narazie masz pomógł.
Postów: 878 Dołączył: 2009-01-20
#
Po prostu nas odwiedzaj :) Każdy może tu liczyć na pomoc.

___________________
Administrator
Postów: 123 Dołączył: 2010-03-31
#
Dałem taki kod ale kiedy ma zacząć misję zawiesza się.

Kod:
{$CLEO .cs}
0000: NOP

02A7: 1@ = create_icon_marker_and_sphere 22 at 2525.7141 -1703.9878 13.3803 

:petla1
wait 10
if
0102: actor $PLAYER_ACTOR in_sphere 2525.7141 -1703.9878 13.3803 radius 1.2 1.2 3.0 sphere 1 stopped_on_foot 
jf @petla1

054C: use_GXT_table 'SAPlus'
Player.CanMove($PLAYER_CHAR) = False
08D4: $Panel = create_panel_with_title 'TITLE' position 29.0 145.0 width 200.0 columns 1 interactive 1 background 1 alignment 1
08DB: set_panel $Panel column 0 header 'TITLE2' data 'M1' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY'

:czekaj_na_wybor
wait 0
if
00E1: player $PLAYER_CHAR pressed_key 15
jf @czekaj_na_wybor_test2

:czekaj_na_wybor_test2
if
00E1: player $PLAYER_CHAR pressed_key 16
jf @czekaj_na_wybor

08D7: $Wybrane = panel $Panel active_row
08DA: remove_panel $Panel
03E6: remove_text_box

0871: init_jump_table $Wybrane total_jumps 2 1 -1 jumps 0 @wybrane1 1 @wybrane2 0 -1 0 -1 0 -1 0 -1 0 -1

:wybrane1
fade 0 1500
wait 1500 
wait 1500
fade 1 1500
0A94: start_custom_mission "SAPlus/1.cm"
jump @wyjdz
jump @petla1

:wybrane2
jump @wyjdz


0A93: end_custom_thread

:wyjdz
08DA: remove_panel $Panel
03E6: remove_text_box
Player.CanMove($PLAYER_CHAR) = True
Postów: 628 Dołączył: 2009-01-22
#
Raz - skrypt jest dość pomieszany, nawet bardzo, powinien jednak działać. Crashuje to, że w 0A94 użyłeś rozszerzenia .cm - jest tu zbędne.

Jak chcesz to mogę go jednak trochę poprawić, nie zrobiłem tego teraz, bo to sporo roboty.

___________________
Moderator
http://i.imgur.com/Abvv63y
Śledź mój kanał Twitter by być na bieżąco ze wszystkimi aktualizacjami moich modów!
Postów: 123 Dołączył: 2010-03-31
#
Nie nie napisałem go od podstaw i narazie śmiga dzięki za pomoc to że bede wpadał macie jak w banku.
Postów: 1004 Dołączył: 2009-01-20
#
W moim menu mam kilka pozycji do wyboru i po zaznaczeniu chciałbym żeby tą zaznaczoną rzecz dało się wybrać, a nie bez względu którą zaznaczę to zawsze jedno i to samo się wybiera. Jakie takie coś zrobić?
Postów: 628 Dołączył: 2009-01-22
#
Pokaż swój skrypt. Pamiętam, że ja z półtora roku temu też miałem taki problem z menu.

___________________
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
#
Kod:
{$VERSION 3.1.0027}
{$CLEO .cs}

//-------------MAIN---------------
0000: NOP

//pojazdy
Model.Load(#topfun)
//aktorzy
Model.Load(#LSV3)
038B: load_requested_models

:test_1
wait 0
if
0256: player $PLAYER_CHAR defined 
jf @test_1

04BB: select_interior 0
0860: link_actor $PLAYER_ACTOR to_interior 0
00A1: put_actor $PLAYER_ACTOR at 2534.252 -1707.3306 13.451
Actor.Angle($PLAYER_ACTOR) = 190.0
02EB: restore_camera_with_jumpcut 

:start_1
0395: clear_area 1 at 2535.7832 -1714.6282 12.4826 radius 8.0
$pojazd_1 = Car.Create(#topfun, 2538.4143, -1716.0818, 11.38)
Car.Angle($pojazd_1) = 195.2518  
0519: set_car $pojazd_1 locked 1 
0657: car $pojazd_1 open_componentA 4 
0657: car $pojazd_1 open_componentA 5
$aktor_1 = Actor.Create(CivMale, #LSV3, 2535.7832, -1714.6282, 12.4826)
Actor.Angle($aktor_1) = 356.6949

04CE: $ikona_1 = create_icon_marker_without_sphere  18 at  2535.7585 -1713.4692  13.4719
03BC: $marker_1 = create_sphere_at 2535.7585 -1713.4692 13.4719 radius 1.0

060B: set_actor $aktor_1 decision_maker_to 32
0575: set_actor $aktor_1 pinned_position 1

:petla1
wait 0
if
00ED:   actor $PLAYER_ACTOR 0 near_point 2535.7585 -1713.4692 radius 0.5 0.5 on_foot 
jf @petla2
0395: clear_area 1 at 2535.7832 -1714.6282 12.4826 radius 8.0
0581: enable_radar 0
0826: enable_hud 0
03BD: destroy_sphere $marker_1
Player.CanMove($PLAYER_CHAR) = False
0639: AS_actor $PLAYER_ACTOR rotate_to_actor $aktor_1
0639: AS_actor $aktor_1 rotate_to_actor $PLAYER_ACTOR
Camera.SetPosition(2532.9404, -1710.443, 13.452, 0.0, 0.0, 0.0)
Camera.PointAt(2532.9404, -1710.443, 13.452, 2)
0159: camera_on_ped $PLAYER_ACTOR 15 2 

jump @menu_1

:petla2
wait 0
if or
0118:   actor $aktor_1 dead
0119:   car $pojazd_1 wrecked 
jf @petla1
03BD: destroy_sphere $marker_1
Marker.Disable($ikona_1)
0519: set_car $pojazd_1 locked 0
wait 3200
009B: destroy_actor $aktor_1
wait 1200
00A6: destroy_car $pojazd_1
wait 3000
:petla3
wait 0
if 
80FF:   not actor $PLAYER_ACTOR sphere 0 in_sphere 2535.7585 -1713.4692 13.4719 radius 50.0 50.0 30.0 on_foot 
jf @petla3

jump @start_1


:menu_1
08D4: $menu_1 = create_panel_with_title 'TXT1' position 31.4 180.0 width 179.9 columns 1 interactive 1 background 1 alignment 1
08DB: set_panel $menu_1 column 0 header 'DUMMY' data 'TXT6' 'TXT7' 'TXT8' 'TXT9' 'TXT10' 'TXT11' 'TXT12' 'TXT13' 'TXT14' 'TXT15' 'TXT16' 'TXT17'


:czekaj_na_wybor
wait 0
if
00E1: player $PLAYER_CHAR pressed_key 4 //tab
jf @czekaj_na_wybor



08D7: $test_1 = panel $menu_1 active_row
//08DA: remove_panel $menu_1
//03E6: remove_text_box



0871: init_jump_table $test_1 total_jumps 8 default_jump 0 -1 jumps 0 @a2 1 @a2 2 @a3 3 @a4 4 @a5 5 @a6 6 @a7



:a1
0395: clear_area 1 at 2535.7832 -1714.6282 12.4826 radius 8.0
$pojazd_1 = Car.Create(#topfun, 2538.4143, -1716.0818, 15.38)

:a2
0395: clear_area 1 at 2535.7832 -1714.6282 12.4826 radius 8.0
$pojazd_1 = Car.Create(#topfun, 2538.4143, -1716.0818, 18.38)

:a3

:a4

:a5

:a6

:a7

0A93: end_custom_thread


Na razie to mam tyle. Próbuje to robić ale jak bym nie ustawiał to zawsze się robi to jak napisałem wyżej.
Postów: 628 Dołączył: 2009-01-22
#
Na końcu nagłówków @a1 @a2 itp. musisz dać jump, skrypt sam nie wykryje końca nagłówka.
Poza tym nie polecam stosowania czegoś takiego jak -1 zamiast nagłówka - przy ponownej dekompilacji skrypt nieco się miesza. Najlepiej zrobić to w takim stylu:

Kod:
0871: init_jump_table $test_1 total_jumps 8 default_jump 0 @MenuKoniec jumps 0 @a2 1 @a2 2 @a3 3 @a4 4 @a5 5 @a6 6 @a7



:a1
0395: clear_area 1 at 2535.7832 -1714.6282 12.4826 radius 8.0
$pojazd_1 = Car.Create(#topfun, 2538.4143, -1716.0818, 15.38)
jump @MenuKoniec

:a2
0395: clear_area 1 at 2535.7832 -1714.6282 12.4826 radius 8.0
$pojazd_1 = Car.Create(#topfun, 2538.4143, -1716.0818, 18.38)
jump @MenuKoniec

:a3
jump @MenuKoniec

:a4
jump @MenuKoniec

:a5
jump @MenuKoniec

:a6
jump @MenuKoniec
   
:a7
// Rockstar tu też używał skoku, ale widocznie tak kompilował ich kompilator - nie potrzeba tu go.

:MenuKoniec
0A93: end_custom_thread


Menu też nie będzie działało tak samo, jak Rockstarowe - ich menu wykonują akcje dopiero po wciśnięciu i PUSZCZENIU klawisza wyboru, takie menu odpali się od razu po dotknięciu klawisza. Jak chcesz, to jutro mogę rozpisać, w jaki sposób R* to zrobił.

Idę spać.

___________________
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
#
Przydał by się właśnie jakiś przykład chociaż z czterema pozycjami jak takie coś robić. To co podałeś to owszem działa ale tylko da się jeden raz wybrać jakąś akcje a potem nic się nie dziej.
Postów: 628 Dołączył: 2009-01-22
#
Dziwisz się, że nic się nie dzieje, skoro w nagłówku @MenuKoniec jest 0A93...?

Cytat:
Przydał by się właśnie jakiś przykład chociaż z czterema pozycjami jak takie coś robić.

To, co podałem, zadziała w każdym przypadku.

___________________
Moderator
http://i.imgur.com/Abvv63y
Śledź mój kanał Twitter by być na bieżąco ze wszystkimi aktualizacjami moich modów!
Poprzedni 1 Następny
Zaloguj się lub zarejestruj się, żeby pisać na forum.
Created & Powered by MakG