Jump to content

Making A Menu/Panel


Deji

Recommended Posts

GTA Forums seem to be offline :P I want to make a simple menu where you can select a name. It is for the calling part of my Fun Mod and I need some sort of speed dial-like thing.

I want it so it has a list of names you can choose from. No submenu's, just the list and the codes to check which one was selected.

Cheers

EDIT: Nevermind. Russia gave me help How To Make San Andreas Menu

Edited by Deji
Link to comment
Share on other sites

EDIT: Nevermind. Russia gave me help How To Make San Andreas Menu

This was a good find Deji. Here I put it to use just add this to the main loop and when you press Y you can see the player's XYZ coords and angle. I couldn't make the decimal point but it is written in 100ths so just move the decimal point left 2 places.

:COORDS_INCAR
wait  0 
if 
00DF:   actor $PLAYER_ACTOR driving 
jf @COORDS_ONFOOT
03C0: $PLAYER_CAR = actor $PLAYER_ACTOR car
00AA: store_car $PLAYER_CAR position_to $PLAYER_X $PLAYER_Y $PLAYER_Z
0174: $PLAYER_Z_ANGLE = car $PLAYER_CAR z_angle
0002: jump @DRAW_COORDS

:COORDS_ONFOOT
00A0:  store_actor $PLAYER_ACTOR position_to $PLAYER_X $PLAYER_Y $PLAYER_Z
0172:  $PLAYER_Z_ANGLE = actor $PLAYER_ACTOR z_angle
0002:  jump @DRAW_COORDS
//Multiply by 100
:DRAW_COORDS
0011:  $PLAYER_X *=  100.0
0011:  $PLAYER_Y *=  100.0
0011:  $PLAYER_Z *=  100.0
0011:  $PLAYER_Z_ANGLE *=  100.0
//Truncate to Integer
008C:  $PLAYER_X = float  $PLAYER_X to_integer
008C:  $PLAYER_Y = float  $PLAYER_Y to_integer
008C:  $PLAYER_Z = float  $PLAYER_Z to_integer
008C:  $PLAYER_Z_ANGLE = float  $PLAYER_Z_ANGLE to_integer
//If the player hits "Y"
if 
00E1:   player 0 pressed_key 11
then 
:PANEL_1 
wait 0 
01B4: toggle_player $PLAYER_CHAR can_move 0 
0512: show_permanent_text_box 'IE20'  
0581: toggle_radar 0  
08D4: $PANEL = create_panel_with_title 'DUMMY' position 29.0 170.0 width 180.0 columns 1 interactive 1 background 1 alignment 0 
08EE: set_panel $PANEL column 0 row 0 text_1number GXT 'NUMBER' number $PLAYER_X  
08EE: set_panel $PANEL column 0 row 1 text_1number GXT 'NUMBER' number $PLAYER_Y  
08EE: set_panel $PANEL column 0 row 2 text_1number GXT 'NUMBER' number $PLAYER_Z  
08EE: set_panel $PANEL column 0 row 3 text_1number GXT 'NUMBER' number $PLAYER_Z_ANGLE 
:PANEL_3 
wait 0  
if 
00E1:   player 0 pressed_key 15  
jf @PANEL_3 jf @ PANEL_3 
0581: toggle_radar 1 
03E6: remove_text_box
08DA: remove_panel $PANEL 
01B4: toggle_player $PLAYER_CHAR can_move 1
end

JAB B)

Link to comment
Share on other sites

This was a good find Deji. Here I put it to use just add this to the main loop and when you press Y you can see the player's XYZ coords and angle. I couldn't make the decimal point but it is written in 100ths so just move the decimal point left 2 places.

JAB B)

To make a decimal I think you'd need to use the gxt file... In SA there are codes which refer to a gxt entry with the ~1~ and then . - Like 35.3 would be ~1~.~1~ and ~1~ can be set using main.scm coding... 01E3 (And there are some similar that add more numbers I think)

I really wanted to post this... Here's the code for what I got set up at the moment...

:ANIKEY1_1993
0001: wait 0 ms 
00D6: if and
0AB0:   key_pressed 53
0256:   player $PLAYER_CHAR defined 
8A29:   not player $PLAYER_CHAR climbing 
8A0C:   not player $PLAYER_CHAR on_jetpack 
004D: jump_if_false @ANIKEY1_1800 
0002: jump @ANIKEY1_CELLPHONE

:ANIKEY1_CELLPHONE
wait 0
0247: load_model #CELLPHONE
038B: load_requested_models
wait 0
if
0248:   model #CELLPHONE available
else_jump @ANIKEY1_CELLPHONE
0729: AS_actor $PLAYER_ACTOR hold_cellphone 1 
jump @ANIKEY1_CELLPHONE1

:ANIKEY1_CELLPHONE1
wait 1000
01B4: set_player $PLAYER_CHAR can_move 0
0581: toggle_radar 0 / / remove radar
0826: enable_hud 0 
015D: set_gamespeed 0.0
0512: show_permanent_text_box 'DEJISD1'  //Speed-dial Info
08D4: $SPEEDIAL = create_panel_with_title 'DEJISD' position 29.0 170.0 width 180.0 columns 1 interactive 1 background 1 alignment 0
08DB: set_panel $SPEEDIAL Panel column 0 header 'DEJISD' data 'DEJIC1' 'DEJIC2' 'DEJIC3' 'DEJIC4' 'DEJIC5' 'DEJIC6' 'DEJIC7' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY'
//08D7: $SD = panel $SPEEDIAL active_row
08D7: 0@ = panel $SPEEDIAL active_row

:ANIKEY1_SPEEDIAL2 
wait 0 
if 
00E1: player 0 pressed_key 16 
jf @ANIKEY1_SPEEDIAL9 
if 
0@ == 0 
jf @ANIKEY1_SPEEDIAL3
jump @ANIKEY1_CALLSWEET

:ANIKEY1_CALLSWEET
wait 0
023C: load_special_actor 'SWEET' as 1 // models 290-299
038B: load_requested_models
wait 0
if
023D:   special_actor 1 loaded
jf @ANIKEY1_CALLSWEET
009A: $SWEET = create_actor_pedtype 23 model #SPECIAL01 at 2522.7322 -1678.9797 15.497
0888: create_marker_above_actor $SWEET handle_as $SWEETMARKER // versionB
07E0: set_marker $SWEETMARKER type_to 1 
03E5: show_text_box 'DEJISD2'  //Go to the marker to meet up!
08DA: remove_panel $SPEEDIAL
015D: set_gamespeed 1.0
0581: enable_radar 1
0826: enable_hud 1  
wait 500
01B4: set_player $PLAYER_CHAR can_move 1
03E7: flash_hud_component 10
wait 1500 
03E6: remove_text_box
gosub @ANIKEY1_SWEETACTIVE 
jump @ANIKEY1_SPEEDIAL9 

:ANIKEY1_SWEETACTIVE
wait 0
if
00EC:   actor $PLAYER_ACTOR 0 near_point 2522.7322 -1678.9797 15.497 radius 20.0 20.0
0AA0: gosub_if_false @ANIKEY1_SWEETACTIVE
01B2: give_actor $SWEET weapon 24 ammo 9999 
0631: put_actor $SWEET in_group $PLAYER_GROUP
07CB: set_actor $SWEET supporting_fire 1
//My code! Make your own :P

Yup, this code gives the abillity to call a friend and go to pick them up. So far only Sweet is programmed... It spawns Sweet outside his house and puts a blip on the radar for you to drive to get him... Then when you go near him he's automatically put into your group so he'll follow you around and shoot stuff with you. I'm adding a few more people that CJ knows in that sense... Big Bear (The original, fat version ;)), Cesar, Kendl (Doesn't carry guns ;)), Madd Dog, The Truth and Wuzimu (Will walk blind-ish)

I've also added the magnet attatched to heli script to the fun mod... Can't wait to release it.

By the way, Jab... How do I properly make sounds occur. I know there are many ways but which one would one that made Sweet speak in the game be? Would this work?

04AE: $DIALOG_WAV[0] = 29053 // $ = any
Cuz to my knowledge it wouldn't and I really hate resetting my PC when the game fucks up so much it completely freezes..l Edited by Deji
Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...