I have currently gotten into the task of making derma menus. I have came across many files and plan to use this thread to find my answers. My first question is listed below:
1. How do I add a space in my commands? For example when I press this button:
[CODE] local DermaButton = vgui.Create( "DButton" )
DermaButton:SetParent( DermaPanel ) // Set parent to our "DermaPanel"
DermaButton:SetText( "ULX Main Menu" )
DermaButton:SetPos( 25, 50 )
DermaButton:SetSize( 100, 25 )
DermaButton.DoClick = function ()
RunConsoleCommand( "ulx menu" ) // What happens when you press the button
end [/CODE]I get this console error :
RunConsoleCommand: Command has invalid characters! (ulx menu (' '))
The first parameter of this function should contain only the command, the second parameter should contain arguments.
How can I add spaces in my argument?
Whenever you're uncertain about how to use a function your first stop should always be the wiki. :smile:
Your answer is right here : [b][url=wiki.garrysmod.com/?title=G.RunConsoleCommand]G.RunConsoleCommand [img]http://wiki.garrysmod.com/favicon.ico[/img][/url][/b]
Thank you very much Crazy Quebec lol. The only reason I didn't check there is becuase I don't know where to look for this stuff.
[editline]05:06AM[/editline]
Okay next issue. Is there any way I can get it so I can type in a box, then hit like submit and it will submit that variable? For example. I want it to be a ban line. So what I would do is have a rectangle and you can type their name, then there would be a smaller box right below that and you would put the time, followed by a reason box, then after that there would be a ban button. Once the ban button was pressed, this would placed into console
ulx ban "name put in first box" "time" "reason"
is that possible? Again, I searched that wiki and couldn't seem to find anything on the subject.
There are various ways of doing such a thing, a useful widget is the DTextEntry, place that on your gui somewhere and in the button's DoClick function you can use the DTextEntry:GetValue() as a parameter, which will return the text you entered into the box.
Okay fish, I tried that but its not working
It put a text box in the top left corner of my screen.
Also how do I put things in certain tabs? I have the tabs set but I can't make it so the buttons or anything is on the tab.
When creating them parent them to a panel which you can add as a tab.
how do I parent them?
[QUOTE=Worst;20427520]how do I parent them?[/QUOTE]
Two ways, either put the parent as the second parameter to vgui.Create like this
local frame = vgui.Create("DFrame")
local button = vgui.Create("DFrame", button)
or you can use the SetParent method
local frame = vgui.Create("DFrame")
local button = vgui.Create("DButton")
button:SetParent(frame)
Wow this is all confusing to me. Can anyone unravel this messy code I have? Everything is wrong. All the ulx related things, server side related thigns go in the server tab. Kill goes in the first tab. Please help...
[CODE]local DermaPanel = vgui.Create( "DFrame" )
DermaPanel:SetPos( 50,50 )
DermaPanel:SetSize( 400, 450 )
DermaPanel:SetTitle( "The Avenger's Test Derma BETA STAGE01" ) // Name of Frame
DermaPanel:SetVisible( true )
DermaPanel:SetDraggable( true ) //Can the player drag the frame /True/False
DermaPanel:ShowCloseButton( true ) //Show the X (Close button) /True/False
DermaPanel:MakePopup()
local PropertySheet = vgui.Create( "DFrame", DPropertySheet )
PropertySheet:SetParent( DermaPanel )
PropertySheet:SetPos( 5, 30 )
PropertySheet:SetSize( 390, 350 )
local frame = vgui.Create("DFrame")
local SheetItemOne = vgui.Create( "DFrame", DCheckBoxLabel )
SheetItemOne:SetText( "Use Props?" )
SheetItemOne:SetConVar( "some_convar" )
SheetItemOne:SetValue( 1 )
SheetItemOne:SizeToContents()
local DermaButton = vgui.Create( "DFrame", button )
DermaButton:SetParent( DermaPanel ) // Set parent to our "DermaPanel"
DermaButton:SetText( "Kill" )
DermaButton:SetPos( 10, 75 )
DermaButton:SetSize( 100, 25 )
DermaButton.DoClick = function ()
RunConsoleCommand( "kill" ) // What happens when you press the button
end
local DermaButton = vgui.Create( "DButton" )
DermaButton:SetParent( DermaPanel ) // Set parent to our "DermaPanel"
DermaButton:SetText( "ULX Main Menu" )
DermaButton:SetPos( 110, 75 )
DermaButton:SetSize( 100, 25 )
DermaButton.DoClick = function ()
RunConsoleCommand( "ulx", "menu" ) // What happens when you press the button
end
local SheetItemTwo = vgui.Create( "DCheckBoxLabel" )
SheetItemTwo:SetText( "Use SENTs?" )
SheetItemTwo:SetConVar( "some_convar" )
SheetItemTwo:SetValue( 1 )
SheetItemTwo:SizeToContents()
local DermaButton = vgui.Create( "DButton" )
DermaButton:SetParent( DermaPanel ) // Set parent to our "DermaPanel"
DermaButton:SetText( "ULX Main Menu" )
DermaButton:SetPos( 110, 75 )
DermaButton:SetSize( 100, 25 )
DermaButton.DoClick = function ()
RunConsoleCommand( "ulx", "menu" ) // What happens when you press the button
end
local DermaButton = vgui.Create( "DButton" )
DermaButton:SetParent( DermaPanel ) // Set parent to our "DermaPanel"
DermaButton:SetText( "RP_Own" )
DermaButton:SetPos( 110, 100 )
DermaButton:SetSize( 100, 25 )
DermaButton.DoClick = function ()
RunConsoleCommand( "rp_own" ) // What happens when you press the button
end
myText = vgui.Create("DTextEntry", myParent)
myText:SetText("(Name)")
--The following has been changed from "myText:GetText()" to "myText:GetValue()"
myText.OnEnter = function() Msg("rp_addowner " .. myText:GetValue() .. "/n") end
PropertySheet:AddSheet( "Default Commands", SheetItemOne, "gui/silkicons/user", false, false, "Default Client Side Commands" )
PropertySheet:AddSheet( "Default Settings", SheetItemTwo, "gui/silkicons/group", false, false, "Default Listen Server Settings" )
myText = vgui.Create("DTextEntry", myParent)
myText:SetText("Initial Value")
--The following has been changed from "myText:GetText()" to "myText:GetValue()"
myText.OnEnter = function() Msg("rp_addowner" .. myText:GetValue() .. "/n") end
concommand.Add( "minmenu", DermaPanel )
usermessage.Hook( "call_vgui", ShowTeamMenu )[/CODE]
Sorry, you need to Log In to post a reply to this thread.