• derma stuff
    5 replies, posted
[lua]include("sv_spawnpoint.lua") function TPMenu() local DButton2 local DButton1 local DComboBox2 local DComboBox3 local DPanel2 local DFrame2 DFrame2 = vgui.Create('DFrame') DFrame2:SetSize(205, 305) DFrame2:SetPos(10, 10) DFrame2:SetTitle('Teleport Menu') DFrame2:SetSizable(true) DFrame2:SetDeleteOnClose(false) DFrame2:MakePopup() DPanel2 = vgui.Create('DPanel') DPanel2:SetParent(DFrame2) DPanel2:SetSize(195, 270) DPanel2:SetPos(5, 30) DComboBox3 = vgui.Create('DComboBox') DComboBox3:SetParent(DPanel2) DComboBox3:SetSize(60, 175) DComboBox3:SetPos(130, 10) DComboBox3:EnableHorizontal(false) DComboBox3:EnableVerticalScrollbar(true) DComboBox3.OnMousePressed = function() end DComboBox3:SetMultiple(false) DComboBox2 = vgui.Create('DComboBox') DComboBox2:SetParent(DPanel2) DComboBox2:SetSize(55, 175) DComboBox2:SetPos(5, 10) DComboBox2:AddItem("Teleport 1") DComboBox2:AddItem("Teleport 2") DComboBox2:AddItem("Teleport 3") DComboBox2:EnableHorizontal(false) DComboBox2:EnableVerticalScrollbar(true) DComboBox2.OnMousePressed = function() end DComboBox2:SetMultiple(false) DButton1 = vgui.Create('DButton') DButton1:SetParent(DPanel2) DButton1:SetSize(55, 25) DButton1:SetPos(5, 190) DButton1:SetText('Set TP') DButton1.DoClick = function() end DButton2 = vgui.Create('DButton') DButton2:SetParent(DPanel2) DButton2:SetSize(60, 25) DButton2:SetPos(130, 190) DButton2:SetText('Teleport') DButton2.DoClick = function() end end usermessage.Hook("TPMenu", TPMenu) [/lua] Questions I have here, again. How would I go about checking which item is highlighted then use that to set the teleport point? Im guessing something along the lines of ply:SetNWVector(1, ply:GetPos()) or something like that but have no idea how to get the current highlighted item and use the button to go to that teleport point and would the same thing be done for checkboxes?
[lua]print( DComboBox3:GetSelectedItems()[1]:GetValue() )[/lua] Prints the currently selected item for example. Checkboxes work differently: [lua]CheckBox:GetChecked()[/lua] returns true or false
I see, thanks for the help man!
My current code atm: cl_spawnpoint.lua [lua] include("autorun/server/sv_spawnpoint.lua") function TPMenu() local DButton2 local DButton1 local DComboBox2 local DComboBox3 local DPanel2 local DFrame2 DFrame2 = vgui.Create('DFrame') DFrame2:SetSize(205, 305) DFrame2:SetPos(10, 10) DFrame2:SetTitle('Teleport Menu') DFrame2:SetSizable(true) DFrame2:SetDeleteOnClose(false) DFrame2:MakePopup() DPanel2 = vgui.Create('DPanel') DPanel2:SetParent(DFrame2) DPanel2:SetSize(195, 270) DPanel2:SetPos(5, 30) DComboBox3 = vgui.Create('DComboBox') DComboBox3:SetParent(DPanel2) DComboBox3:SetSize(60, 175) DComboBox3:SetPos(130, 10) DComboBox3:EnableHorizontal(false) DComboBox3:EnableVerticalScrollbar(true) DComboBox3.OnMousePressed = function() end DComboBox3:SetMultiple(false) DComboBox3:AddItem("Goto TP 1") DComboBox3:AddItem("Goto TP 2") DComboBox3:AddItem("Goto TP 3") DComboBox2 = vgui.Create('DComboBox') DComboBox2:SetParent(DPanel2) DComboBox2:SetSize(60, 175) DComboBox2:SetPos(5, 10) DComboBox2:EnableHorizontal(false) DComboBox2:EnableVerticalScrollbar(true) DComboBox2.OnMousePressed = function() end DComboBox2:SetMultiple(false) DComboBox2:AddItem("Teleport 1") DComboBox2:AddItem("Teleport 2") DComboBox2:AddItem("Teleport 3") DButton1 = vgui.Create('DButton') DButton1:SetParent(DPanel2) DButton1:SetSize(60, 25) DButton1:SetPos(5, 190) DButton1:SetText('Set TP') DButton1.DoClick = function(ply) if DComboBox2:GetSelectedItems()[1]:GetValue() == "Teleport 1" then tele1(ply) end end DButton2 = vgui.Create('DButton') DButton2:SetParent(DPanel2) DButton2:SetSize(60, 25) DButton2:SetPos(130, 190) DButton2:SetText('Teleport') DButton2.DoClick = function(ply) if DComboBox3:GetSelectedItems()[1]:GetValue() == "Goto TP 1" then tele1goto(ply) end end end //print(DComboBox2:GetSelectedItems()[1]:GetValue()) usermessage.Hook("TPMenu", TPMenu) [/lua] sv_spawnpoint.lua [lua] AddCSLuaFile("autorun/client/cl_spawnpoint.lua") function showTPMenu(ply) SendUserMessage("TPMenu", ply) end function tele1(ply) ply:SetNWVector(1, ply:GetPos()) ply:SetNWAngle(1, ply:EyeAngles()) end function tele1goto(ply) ply:SetPos(ply:GetNWVector(1)) ply:SetEyeAngles(ply:GetNWAngle(1)) end concommand.Add("tpmenu_show", showTPMenu) [/lua] and it returns errors on the server's side. [code]lua\autorun\server\sv_spawnpoint.lua:8: attempt to call method 'SetNWVector' (a nil value) )lua\autorun\server\sv_spawnpoint.lua:13: attempt to call method 'GetNWVector' (a nil value)[/code]
Any help on this matter?
First off, you are calling a function "tele1" from the client, yet you have it declared serverside. To access it, use a console command. Also, [lua] Button.DoClick = function () -- if you want to get the player entity use LocalPlayer() end [/lua]
Sorry, you need to Log In to post a reply to this thread.