Jump to content
    1. Welcome to GTAForums!

    1. GTANet.com

    1. GTA Online

      1. Los Santos Drug Wars
      2. Updates
      3. Find Lobbies & Players
      4. Guides & Strategies
      5. Vehicles
      6. Content Creator
      7. Help & Support
    2. Red Dead Online

      1. Blood Money
      2. Frontier Pursuits
      3. Find Lobbies & Outlaws
      4. Help & Support
    3. Crews

    1. Grand Theft Auto Series

      1. Bugs*
      2. St. Andrews Cathedral
    2. GTA VI

    3. GTA V

      1. Guides & Strategies
      2. Help & Support
    4. GTA IV

      1. The Lost and Damned
      2. The Ballad of Gay Tony
      3. Guides & Strategies
      4. Help & Support
    5. GTA San Andreas

      1. Classic GTA SA
      2. Guides & Strategies
      3. Help & Support
    6. GTA Vice City

      1. Classic GTA VC
      2. Guides & Strategies
      3. Help & Support
    7. GTA III

      1. Classic GTA III
      2. Guides & Strategies
      3. Help & Support
    8. Portable Games

      1. GTA Chinatown Wars
      2. GTA Vice City Stories
      3. GTA Liberty City Stories
    9. Top-Down Games

      1. GTA Advance
      2. GTA 2
      3. GTA
    1. Red Dead Redemption 2

      1. PC
      2. Help & Support
    2. Red Dead Redemption

    1. GTA Mods

      1. GTA V
      2. GTA IV
      3. GTA III, VC & SA
      4. Tutorials
    2. Red Dead Mods

      1. Documentation
    3. Mod Showroom

      1. Scripts & Plugins
      2. Maps
      3. Total Conversions
      4. Vehicles
      5. Textures
      6. Characters
      7. Tools
      8. Other
      9. Workshop
    4. Featured Mods

      1. Design Your Own Mission
      2. OpenIV
      3. GTA: Underground
      4. GTA: Liberty City
      5. GTA: State of Liberty
    1. Rockstar Games

    2. Rockstar Collectors

    1. Off-Topic

      1. General Chat
      2. Gaming
      3. Technology
      4. Movies & TV
      5. Music
      6. Sports
      7. Vehicles
    2. Expression

      1. Graphics / Visual Arts
      2. GFX Requests & Tutorials
      3. Writers' Discussion
      4. Debates & Discussion
    1. Announcements

    2. Support

    3. Suggestions

How to make a menu in the latest version of scripthook?


tornado711
 Share

Recommended Posts

I managed to find a tutorial for an old version of scripthook on how to make menu however, it seems since then the way to do so has changed. Can anyone show me the current way how?

 

I've managed to piece together somewhat what to do but It's incomplete:

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using GTA;
using GTA.Native;
using System.Windows.Forms;
namespace Modmenu
{
public class ModMenuMainClass : Script
{
GTA.Menu active_menu;
public Modmenu()
{
Tick += OnTick;
KeyUp += OnKeyUp;
}
void OnTick(object sender, EventArgs e)
{
}
void OnKeyUp(object sender, KeyEventArgs)
{
}
void MainMenu()
{
CloseMenus();
active_menu = new GTA.Menu("Mod Menu", new GTA.IMenuItem[] {
new GTA.MenuButton("Players", Playermenu),
new GTA.MenuButton("Cars", CarMenu),
new GTA.MenuButton("Close", CloseMenus)
});
View.AddMenu(active_menu);
}
void PlayerMenu()
{
var menuItems = new List<IMenuItem>();
var button = new MenuButton("Give Max Armor", "Gives the player max armor");
button.Activated += (object sender, EventArgs) =>
}
void CloseMenus()
{
View.CloseAllMenus();
active_menu = null;
}
}
}
All help is appreciated
Link to comment
Share on other sites

Download the latest version of https://github.com/Guad/NativeUIand put it in your scripts folder.

 

Then check out this example on how to create a menu:

 

https://github.com/Guad/NativeUI/blob/master/MenuExample.cs

So I completed the code but the menu won't open! Could you tell me what I'm doing wrong?

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using GTA;
using GTA.Native;
using System.Windows.Forms;
namespace Modmenu
{
public class ModMenuMainClass : Script
{
GTA.Menu active_menu;
public void Modmenu()
{
Tick += OnTick;
KeyUp += OnKeyUp;
}
void OnTick(object sender, EventArgs e)
{
Player player = Game.Player;
if (player.IsDead && player.Character.Exists())
{
CloseMenus();
}
}
void OnKeyUp(object sender, KeyEventArgs e)
{
if(e.KeyCode == Keys.F && active_menu == null)
{
MainMenu();
}
else if (e.KeyCode == Keys.F9 && active_menu != null)
{
CloseMenus();
}
if(e.KeyCode == Keys.NumPad4)
{
MainMenu();
}
}
void MainMenu()
{
var menuItems = new List<IMenuItem>();
var button = new MenuButton("Player menu", "Open Player menu");
button.Activated += (sender, EventArgs) => PlayerMenu();
View.AddMenu(active_menu);
}
void PlayerMenu()
{
var menuItems = new List<IMenuItem>();
var button = new MenuButton("Give Max Armor", "Gives the player max armor");
button.Activated += (sender, EventArgs) => Game.Player.Character.Armor = 100;
menuItems.Add(button);
var closebutton = new MenuButton("CLOSE MENU", "Closes player menu");
button.Activated += (sender, EventArgs) => CloseMenus();
menuItems.Add(closebutton);
GTA.Menu MainMenu = new GTA.Menu("Armor Menu", menuItems.ToArray());
View.AddMenu(MainMenu);
}
void CloseMenus()
{
View.CloseAllMenus();
active_menu = null;
}
}
}
Link to comment
Share on other sites

look at my code or Angry drivers code :p its open source https://www.gta5-mods.com/scripts/kamikaze-mod

void ShowMenu()    {        View.CloseAllMenus();        GTA.MenuToggle modonbutton = new MenuToggle("Mod on?", "Turn the f*cking mod on?", modon);        //GTA.MenuNumericScroller SpeedButton = new MenuNumericScroller("Drop a truck on?", "take aguess bitch", 0, 999999, 1, (int)Speed);       		GTA.MenuToggle TogglereaperButton = new MenuToggle("Button Fly a rocket", "ride the f*cking rocket", ihateyourchildren);	    GTA.MenuToggle TogglesniperbulletButton = new MenuToggle("Button Bullet to the brain?", "take a journey into my butthole", sniperbullet);        GTA.MenuToggle ToggledroptruckButton = new MenuToggle("Button drop a truck on?", "take aguess bitch", dropatruck);        GTA.MenuToggle TogglesuperpushButton = new MenuToggle("Button superpush?", "push all bitches onscreen mod", superpush);        GTA.MenuToggle ToggleskydivetruckButton = new MenuToggle("Button skydive through trucks on?", "fml", skydivewithatruck);        GTA.MenuToggle ToggleenterplaneButton = new MenuToggle("Button skydive into plane?", "Press E to enter plane (only works if ur dick is over 6inches)", skydiveplane);        GTA.MenuToggle TogglesuperpunchButton = new MenuToggle("Button bitch slap?", "punch your mother in the cooter mod", superpunchthec*ntmod);        GTA.MenuToggle TogglestripperwarButton = new MenuToggle("Button stripperwar", "f*ck your mother? OK", stripkill);        GTA.MenuToggle TogglekamikazeButton = new MenuToggle("Button crash a plane into your ass mod on?", "Dildo Plane mod", kamikazekill);        GTA.MenuToggle ToggleskydivingtanksButton = new MenuToggle("Button skydiving tanks", "for your retarded kid mod", skydivingtanks);        GTA.MenuToggle TogglekillthewitchButton = new MenuToggle("Button kill the witch mod", "your gfs a f*cking bitch mod", killthewitch);        GTA.MenuToggle TogglespecialwitchattackButton = new MenuToggle("Modification special witch deer attack on?", "Warning your clothes will change irreversibly", deerattack);        GTA.MenuToggle TogglestripfriendsButton = new MenuToggle("Modification stripper war with friends on?", "BJ mode on", stripperfriends);        GTA.MenuToggle TogglestripenemiesattackButton = new MenuToggle("Modification stripper war with enemies on?", "Anal mode on", stripperenemies);        GTA.MenuToggle TogglesuperpushupButton = new MenuToggle("Modification superpush up instead??", "Bench press the world", superpushup);		GTA.MenuToggle TogglenotopgunButton = new MenuToggle("Modification no enemy plane?", "f*ckoff Goose", ijustwannafly);		//GTA.MenuToggle TogglesniperbulletlifeinthewayButton = new MenuToggle("Modification sniper bullet hits things in way?", "cockblock the bullet", sadbullet);		GTA.MenuToggle TogglegbombButton = new MenuToggle("Modification gravityless singularity bomb?", "reread it and go back to nursery skool", gbomb);        GTA.MenuToggle ToggleubombButton = new MenuToggle("Modification above ground singularity bomb?", "tip me sh*thead", ubomb);        GTA.Menu ShownMenu = new GTA.Menu("Angry Drivers", new GTA.IMenuItem[] { modonbutton, ToggledroptruckButton, TogglesuperpushButton, ToggleenterplaneButton, TogglesuperpunchButton, ToggleskydivetruckButton, TogglestripperwarButton, TogglekamikazeButton, ToggleskydivingtanksButton, TogglekillthewitchButton, TogglesniperbulletButton, TogglereaperButton, TogglespecialwitchattackButton, TogglestripfriendsButton, TogglestripenemiesattackButton, TogglesuperpushupButton, TogglenotopgunButton, TogglegbombButton, ToggleubombButton });        modonbutton.Changed += (sender, args) => modon = !modon;        //SpeedButton.Changed += (sender, args) => Speed = (float) SpeedButton.Value;		/* w_lr_firework_rocketw_lr_homing_rocketw_lr_rpg_rocket */				TogglenotopgunButton.Changed += (sender, args) => ijustwannafly = !ijustwannafly;        ToggledroptruckButton.Changed += (sender, args) => dropatruck = !dropatruck;        TogglesuperpushButton.Changed += (sender, args) => superpush = !superpush;        TogglesuperpunchButton.Changed += (sender, args) => superpunchthec*ntmod = !superpunchthec*ntmod;        ToggleskydivetruckButton.Changed += (sender, args) => skydivewithatruck = !skydivewithatruck;        ToggleenterplaneButton.Changed += (sender, args) => skydiveplane = !skydiveplane;        TogglestripperwarButton.Changed += (sender, args) => stripkill = !stripkill;        TogglekamikazeButton.Changed += (sender, args) => kamikazekill = !kamikazekill;        ToggleskydivingtanksButton.Changed += (sender, args) => skydivingtanks = !skydivingtanks;        TogglekillthewitchButton.Changed += (sender, args) => killthewitch = !killthewitch;        TogglespecialwitchattackButton.Changed += (sender, args) => deerattack = !deerattack;        TogglestripfriendsButton.Changed += (sender, args) => stripperfriends = !stripperfriends;        TogglestripenemiesattackButton.Changed += (sender, args) => stripperenemies = !stripperenemies;        TogglegbombButton.Changed += (sender, args) => gbomb = !gbomb;        ToggleubombButton.Changed += (sender, args) => ubomb = !ubomb;        TogglesniperbulletButton.Changed += (sender, args) => sniperbullet = !sniperbullet;		TogglesuperpushupButton.Changed += (sender, args) => superpushup = !superpushup;		//TogglesniperbulletlifeinthewayButton.Changed += (sender, args) => sadbullet = !sadbullet;		TogglereaperButton.Changed += (sender, args) => ihateyourchildren = !ihateyourchildren;				        ShownMenu.HeaderTextColor = HeaderTextColor;        ShownMenu.HeaderColor = HeaderColor;        ShownMenu.SelectedItemColor = SelectedItemColor;        ShownMenu.SelectedTextColor = SelectedTextColor;        ShownMenu.UnselectedItemColor = UnselectedItemColor;        ShownMenu.UnselectedTextColor = UnselectedTextColor;        ShownMenu.FooterColor = FooterColor;        ShownMenu.FooterTextColor = FooterTextColor;        ShownMenu.Width = MenuWidth;        View.AddMenu(ShownMenu);    }
Link to comment
Share on other sites

 

look at my code or Angry drivers code :p its open source https://www.gta5-mods.com/scripts/kamikaze-mod

void ShowMenu()    {        View.CloseAllMenus();        GTA.MenuToggle modonbutton = new MenuToggle("Mod on?", "Turn the f*cking mod on?", modon);        //GTA.MenuNumericScroller SpeedButton = new MenuNumericScroller("Drop a truck on?", "take aguess bitch", 0, 999999, 1, (int)Speed);       		GTA.MenuToggle TogglereaperButton = new MenuToggle("Button Fly a rocket", "ride the f*cking rocket", ihateyourchildren);	    GTA.MenuToggle TogglesniperbulletButton = new MenuToggle("Button Bullet to the brain?", "take a journey into my butthole", sniperbullet);        GTA.MenuToggle ToggledroptruckButton = new MenuToggle("Button drop a truck on?", "take aguess bitch", dropatruck);        GTA.MenuToggle TogglesuperpushButton = new MenuToggle("Button superpush?", "push all bitches onscreen mod", superpush);        GTA.MenuToggle ToggleskydivetruckButton = new MenuToggle("Button skydive through trucks on?", "fml", skydivewithatruck);        GTA.MenuToggle ToggleenterplaneButton = new MenuToggle("Button skydive into plane?", "Press E to enter plane (only works if ur dick is over 6inches)", skydiveplane);        GTA.MenuToggle TogglesuperpunchButton = new MenuToggle("Button bitch slap?", "punch your mother in the cooter mod", superpunchthec*ntmod);        GTA.MenuToggle TogglestripperwarButton = new MenuToggle("Button stripperwar", "f*ck your mother? OK", stripkill);        GTA.MenuToggle TogglekamikazeButton = new MenuToggle("Button crash a plane into your ass mod on?", "Dildo Plane mod", kamikazekill);        GTA.MenuToggle ToggleskydivingtanksButton = new MenuToggle("Button skydiving tanks", "for your retarded kid mod", skydivingtanks);        GTA.MenuToggle TogglekillthewitchButton = new MenuToggle("Button kill the witch mod", "your gfs a f*cking bitch mod", killthewitch);        GTA.MenuToggle TogglespecialwitchattackButton = new MenuToggle("Modification special witch deer attack on?", "Warning your clothes will change irreversibly", deerattack);        GTA.MenuToggle TogglestripfriendsButton = new MenuToggle("Modification stripper war with friends on?", "BJ mode on", stripperfriends);        GTA.MenuToggle TogglestripenemiesattackButton = new MenuToggle("Modification stripper war with enemies on?", "Anal mode on", stripperenemies);        GTA.MenuToggle TogglesuperpushupButton = new MenuToggle("Modification superpush up instead??", "Bench press the world", superpushup);		GTA.MenuToggle TogglenotopgunButton = new MenuToggle("Modification no enemy plane?", "f*ckoff Goose", ijustwannafly);		//GTA.MenuToggle TogglesniperbulletlifeinthewayButton = new MenuToggle("Modification sniper bullet hits things in way?", "cockblock the bullet", sadbullet);		GTA.MenuToggle TogglegbombButton = new MenuToggle("Modification gravityless singularity bomb?", "reread it and go back to nursery skool", gbomb);        GTA.MenuToggle ToggleubombButton = new MenuToggle("Modification above ground singularity bomb?", "tip me sh*thead", ubomb);        GTA.Menu ShownMenu = new GTA.Menu("Angry Drivers", new GTA.IMenuItem[] { modonbutton, ToggledroptruckButton, TogglesuperpushButton, ToggleenterplaneButton, TogglesuperpunchButton, ToggleskydivetruckButton, TogglestripperwarButton, TogglekamikazeButton, ToggleskydivingtanksButton, TogglekillthewitchButton, TogglesniperbulletButton, TogglereaperButton, TogglespecialwitchattackButton, TogglestripfriendsButton, TogglestripenemiesattackButton, TogglesuperpushupButton, TogglenotopgunButton, TogglegbombButton, ToggleubombButton });        modonbutton.Changed += (sender, args) => modon = !modon;        //SpeedButton.Changed += (sender, args) => Speed = (float) SpeedButton.Value;		/* w_lr_firework_rocketw_lr_homing_rocketw_lr_rpg_rocket */				TogglenotopgunButton.Changed += (sender, args) => ijustwannafly = !ijustwannafly;        ToggledroptruckButton.Changed += (sender, args) => dropatruck = !dropatruck;        TogglesuperpushButton.Changed += (sender, args) => superpush = !superpush;        TogglesuperpunchButton.Changed += (sender, args) => superpunchthec*ntmod = !superpunchthec*ntmod;        ToggleskydivetruckButton.Changed += (sender, args) => skydivewithatruck = !skydivewithatruck;        ToggleenterplaneButton.Changed += (sender, args) => skydiveplane = !skydiveplane;        TogglestripperwarButton.Changed += (sender, args) => stripkill = !stripkill;        TogglekamikazeButton.Changed += (sender, args) => kamikazekill = !kamikazekill;        ToggleskydivingtanksButton.Changed += (sender, args) => skydivingtanks = !skydivingtanks;        TogglekillthewitchButton.Changed += (sender, args) => killthewitch = !killthewitch;        TogglespecialwitchattackButton.Changed += (sender, args) => deerattack = !deerattack;        TogglestripfriendsButton.Changed += (sender, args) => stripperfriends = !stripperfriends;        TogglestripenemiesattackButton.Changed += (sender, args) => stripperenemies = !stripperenemies;        TogglegbombButton.Changed += (sender, args) => gbomb = !gbomb;        ToggleubombButton.Changed += (sender, args) => ubomb = !ubomb;        TogglesniperbulletButton.Changed += (sender, args) => sniperbullet = !sniperbullet;		TogglesuperpushupButton.Changed += (sender, args) => superpushup = !superpushup;		//TogglesniperbulletlifeinthewayButton.Changed += (sender, args) => sadbullet = !sadbullet;		TogglereaperButton.Changed += (sender, args) => ihateyourchildren = !ihateyourchildren;				        ShownMenu.HeaderTextColor = HeaderTextColor;        ShownMenu.HeaderColor = HeaderColor;        ShownMenu.SelectedItemColor = SelectedItemColor;        ShownMenu.SelectedTextColor = SelectedTextColor;        ShownMenu.UnselectedItemColor = UnselectedItemColor;        ShownMenu.UnselectedTextColor = UnselectedTextColor;        ShownMenu.FooterColor = FooterColor;        ShownMenu.FooterTextColor = FooterTextColor;        ShownMenu.Width = MenuWidth;        View.AddMenu(ShownMenu);    }

explain to me the menu syntax in a few parts:

 

GTA.MenuToggle TogglesniperbulletButton = new MenuToggle("Button Bullet to the brain?", "take a journey into my butthole", sniperbullet);

 

 

that third parameter, what's that supposed to be? A data type?

 

Also:

 

ToggledroptruckButton.Changed += (sender, args) => dropatruck = !dropatruck;

 

Righth ere, I can see an action being performed with 'dropatruck' but what purpose does !dropatruck serve?

 

Looking through your code it's a little complex especially for beginner like me I wish I could find a very basic example of a simple menu with a few buttons on it :(

 

Edited by tornado711
Link to comment
Share on other sites

 

GTA.MenuToggle TogglesniperbulletButton = new MenuToggle("Button Bullet to the brain?", "take a journey into my butthole", sniperbullet); 

make the button what shows up in menu parameter 1, parameter 2 what shows up under menu, parameter 3 boolean/true false initialized in public.

GTA.Menu ShownMenu = new GTA.Menu("Angry Drivers", new GTA.IMenuItem[] { modonbutton, ToggledroptruckButton, TogglesuperpushButton, ToggleenterplaneButton, TogglesuperpunchButton, ToggleskydivetruckButton, TogglestripperwarButton, TogglekamikazeButton, ToggleskydivingtanksButton, TogglekillthewitchButton, TogglesniperbulletButton, TogglereaperButton, TogglespecialwitchattackButton, TogglestripfriendsButton, TogglestripenemiesattackButton, modfhandbutton, modfrpgbutton, modehandbutton, moderpgbutton,tankytanksh*ts, tankytankf*cks, f*ckyspin, TogglesuperpushupButton, TogglenotopgunButton, TogglegbombButton, ToggleubombButton });

the bit that decides what buttons are in menu

 

TogglestripenemiesattackButton.Changed += (sender, args) => stripperenemies = !stripperenemies;

i dont know angry drivers had it

 

also angry drivers has

 GTA.MenuNumericScroller SpeedButton = new MenuNumericScroller("Drop a truck on?", "take aguess bitch", 0, 999999, 1, (int)Speed);

numeric scroller not just true false

 

Edited by milkjunk87
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • 1 User Currently Viewing
    0 members, 0 Anonymous, 1 Guest

×
×
  • Create New...

Important Information

By using GTAForums.com, you agree to our Terms of Use and Privacy Policy.