I need help in Derma

I need to make some features who can help me?

I need one that the person will write
!derma and the derma will pop up

and in the derma I need to make it like this

Imgur

To make a bind maker

I will release it after and put credits, can anyone help me please?

Pretty sure to bind something with Lua you’d have to use RunConsoleCommand(“bind”) whatever, and I believe that that is one of the blocked RunConsoleCommand commands. Correct me if I’m wrong.

So how can I do that?

If it is blocked, you can’t. I could be wrong though.

Daaamn

You could make your custom bind system using the input library.

To do the opening thing:
Serverside



util.AddNetworkString( "Example" )

hook.Add("PlayerSay", "UniqueHookName", function(ply, text, teamonly)
	if (text == "!derma") then
		net.Start("Example")
		net.Send(ply)
	end
end)


Clientside



net.Receive("Example", function()
local frame = vgui.Create("DFrame")
etc
end)


I’ve never used it myself, but for the text thing it looks like you’d want to do this: http://wiki.garrysmod.com/page/Category:DTextEntry

Niandra,but how to send this to the console?

I’m sorry, what do you mean?

To make it bind

You can’t use gmod’s bind system, because the command bind cant be ran on a client. However, you can make your own “bind system” using the input library in a Think hook.

You can with the numpad library.

Author can you help me on that I am kind of new in gmod scripting

I could code you a system tomorrow after school. Now time for some good 'ol sleep.

Basically, just check if a button was pressed in a think hook using input.WasReleased or input.WasPressed, or something like that, and if it was, execute command

[editline]n[/editline]

If you want to make like a say bind, in the hook, if a bind would be pressed, you can do RunConsoleCommand(“say”, whatever_the_bind_was)

Yea I need a say bind system

i have a hard time understanding what hes asking for :v

Use the input Library and tables of each key then assign a key and a command and with using the input library, RunConsoleCommand.

The only way your going to be able to do this is by writing your own bind system.
Example on the client:
[lua]
hook.Add( “Think”, “Bleh”, function()
if input.IsKeyDown( KEY_L ) then
RunConsoleCommand( “say”, “Hi.” )
end
end
[/lua]
What you’ll want to do is create a table of binds and loop through it in a think hook checking if the player pressed the key, make sure to create a delay or people can just spam the key. Here’s how to create a basic panel:
[lua]
local frame = vgui.Create( “DFrame” )
frame:SetSize( 400, 400 )
frame:Center()
frame:MakePopup()

local panel = vgui.Create( “DPanel”, frame )
panel:Dock( FILL )

local button = vgui.Create( “DButton”, panel )
button:Dock( FILL )
button:SetText( “Hi, I’m a button, and I fill the panel.” )
button.DoClick = function( self )
frame:Remove()
end
[/lua]
This will create a closable panel, with a big button in the middle that closes the box. You’ll want to be looking at using a DTextEntry to let the player put text in. You can also avoid using code on the server by using the

GM/OnPlayerChat hook.