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: 205 Dołączył: 2010-11-23
#
Mam problem, chce stworzyć mod polegający na daniu graczowi daną ilośc pieniędzy którą może wybrać sobie z Menu po wciśnięciu danego klawisza. Jednak jak zwykle musze mieć jakieś problemy, w tym przypadku chodzi o Menu. Nie dość że wyświetla się od razu po włączeniu gry, to jeszcze nie pojawiają się napisy na Menu + po wciśnięciu Spacji gra wywala błąd, ale mało tego strzałki do wyboru opcji ( jaką ilość pieniędzy dostać ) nie działają tylko postać w grze się porusza mimo tego iż ją zamroziłem.

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---------------

:NONAME
0000: NOP 
0AB0:   key_pressed 46 
0512: show_permanent_text_box 'CLOTHA'  // Use ~k~~GO_FORWARD~ and ~k~~GO_BACK~ to select area.~N~~k~~PED_SPRINT~ Select~N~~k~~VEHICLE_ENTER_EXIT~ Quit
Player.CanMove($PLAYER_CHAR) = False
08D4: $PANEL = create_panel_with_title 'FEM_MM' position 29.0 145.0 width 50.0 columns 6 interactive 1 background 1 alignment 1  // Main Menu
08DB: set_panel $PANEL column 0 header 'MTOR02C' data '1000' '100K' '500K' '1MLN' '10MLN' '100MLN' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY'  // ~z~And I mean everything.

:NONAME_185
wait 0 
if 
00E1:   player $PLAYER_CHAR pressed_key 15 
jf @wyjdz
00E1:   player $PLAYER_CHAR pressed_key 15 
08DA: remove_panel $PANEL 
03E6: remove_text_box 
Player.CanMove($PLAYER_CHAR) = True
jump @wyjdz 

:wyjdz
if 
00E1:   player $PLAYER_CHAR pressed_key 16 
jf @NONAME_185 
00E1:   player $PLAYER_CHAR pressed_key 15 
08D7: $WYBRANE = panel $PANEL active_row 
08DA: remove_panel $PANEL 
03E6: remove_text_box 
0871: init_jump_table $WYBRANE total_jumps 2 default_jump 1 @NONAME_1 jumps 0 @wybrane1 1 @wybrane2 2 @wybrane3 3 @wybrane4 4 @wybrane5 5 @wybrane6 6  0 -1 0 -1 0 -1 0 -1 0 -1

:wybrane1
Player.CanMove($PLAYER_CHAR) = True
Player.Money($PLAYER_CHAR) += 1000
jump @wyjdz 

:wybrane2
Player.CanMove($PLAYER_CHAR) = True
Player.Money($PLAYER_CHAR) += 100000
jump @wyjdz 

:wybrane3
Player.CanMove($PLAYER_CHAR) = True
Player.Money($PLAYER_CHAR) += 500000
jump @wyjdz 

:wybrane4
Player.CanMove($PLAYER_CHAR) = True
Player.Money($PLAYER_CHAR) += 1000000
jump @wyjdz 

:wybrane5
Player.CanMove($PLAYER_CHAR) = True
Player.Money($PLAYER_CHAR) += 10000000
jump @wyjdz 

:wybrane6
Player.CanMove($PLAYER_CHAR) = True
Player.Money($PLAYER_CHAR) += 100000000
jump @wyjdz 


Prosze o pomoc. Gdzie i jak mam umieścić opcod aby Menu pojawiało się po wciśnieciu klawisza, i jak naprawić pozostałe problemy?
Korzystałem z forum jak i tutoriala na stronie, lecz nic to nie pomogło, dlatego zwracam się do Was.

Postów: 159 Dołączył: 2009-02-05
#
Pierwszy błąd jaki widzę, to brak zastosowania pętli
Kod:

:NONAME
0000: NOP 
0AB0:   key_pressed 46 
0512: show_permanent_text_box 'CLOTHA'  // Use ~k~~GO_FORWARD~ and ~k~~GO_BACK~ to select area.~N~~k~~PED_SPRINT~ Select~N~~k~~VEHICLE_ENTER_EXIT~ Quit
Player.CanMove($PLAYER_CHAR) = False
08D4: $PANEL = create_panel_with_title 'FEM_MM' position 29.0 145.0 width 50.0 columns 6 interactive 1 background 1 alignment 1  // Main Menu
08DB: set_panel $PANEL column 0 header 'MTOR02C' data '1000' '100K' '500K' '1MLN' '10MLN' '100MLN' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY'  // ~z~And I mean everything.

w tym oto miejscu.

Powinno tutaj być coś bardziej w stylu
Kod:

:Klawisz
0AB0:   key_pressed 46 
jf @Klawisz

plus reszta kodu.

Co do ruszającej się postaci, spróbuj tym opcodem
Kod:
$PLAYER_CHAR.CanMove(False)


___________________

Postów: 205 Dołączył: 2010-11-23
#
Też własnie myslałem że musze zastosowac pętlę, chciałem się upewnić ;). Dzięki, popróbuję z tym co mi podałeś.
Postów: 304 Dołączył: 2010-10-02
#
Nie tak się robi pętle. Pętle się robi tak:
Kod:

:petla
wait 0
if
//co chcesz sprawdzić
jf @petla

//dalsza część kodu


:NONAME - do poprawki
:NONAME_185 - dobrze zrobiona pętla
:wyjdz - do poprawki

Reszte powinno być dobrze
Postów: 205 Dołączył: 2010-11-23
#
Ok, Menu działa ;). Mam jeszcze trzy pytania.
1. Jak zrobić aby po wybraniu opcji pokazała sie nowa ramka z nowymi opcjami?
2. Jak zrobić aby ramka pokazała się w trakcie np. misji?
3. Jak zrobić aby menu pokazywało się tylko w danej sferze po wciśnięciu klawisza w tej sferze?
Postów: 245 Dołączył: 2011-03-21
#
1. Musisz poprostu zrobić tak aby po wciśnięciu danego klawisza tworzył się nowy panel z napisami itp.
3.
Kod:
:pętla1
if
wait 0
00FE: actor $PLAYER_ACTOR sphere 0 in_sphere "658.0068 -1866.313 4.4537" radius "15.0 15.0 15.0"
jf @pętla1

0AB0:   key_pressed "46"

// dalsza część kodu


To co jest w cudzysłowiu to musisz sobie zmienić.
Postów: 205 Dołączył: 2010-11-23
#
Ok, czyli jeżeli dobrze rozumiem tworzę MENU tak jakby od nowa?
Postów: 245 Dołączył: 2011-03-21
#
Właśnie tak ;)
Poprzedni 1 Następny
Zaloguj się lub zarejestruj się, żeby pisać na forum.
Created & Powered by MakG