Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 16

Thema: Derma Frage

  1. #1

    Standard Derma Frage

    Also, ich hab hier ma ein Derma-Panel mit 2 Registerkarten.
    Nur schaffe ich es nicht mehr als nur einen button/checkbox da reinzumachen...

    Lua Code:
    1. function Client-Admin.Panel()
    2. 	local panel = vgui.Create("DFrame")
    3. 		panel:SetPos(x/2-128,y/2-128)
    4. 		panel:SetSize(350, 350)
    5. 		panel:SetTitle("Client Admin Menu")
    6. 		panel:SetVisible(true)
    7. 		panel:SetDraggable(true)
    8. 		panel:ShowCloseButton(true)
    9. 		panel:MakePopup()
    10.  
    11. 	local PropertySheet = vgui.Create( "DPropertySheet" )
    12.  		PropertySheet:SetParent(panel)
    13.  		PropertySheet:SetPos( 5, 30 )
    14.  		PropertySheet:SetSize( 340, 315 )
    15.  
    16. 	local SheetItem1 = vgui.Create( "DCheckBoxLabel" ,  CategoryContentOne )
    17.     	SheetItem1:SetText( "Godmode" )
    18.     	SheetItem1:SetConVar( "sbox_godmode" )
    19.     	SheetItem1:SetValue( 1 )
    20.     	SheetItem1:SizeToContents()
    21.  
    22.     local SheetItem2 = vgui.Create("DButton" ,  CategoryContentTwo )
    23. 		SheetItem2:SetParent(panel)
    24. 		SheetItem2:SetText("Funktion 1")
    25. 		SheetItem2:SetSize(96,22)
    26. 		SheetItem2:SetPos(8, 32)
    27. 		SheetItem2:DoClick = function()
    28. 			if (ClAdmin.func1 == true) then
    29. 				ClAdmin.func1 = false
    30. 			else
    31. 				ClAdmin.func1 = true
    32. 			end
    33. 		end
    34.  
    35. 	PropertySheet:AddSheet( "1. Menu", SheetItem1, "gui/silkicons/user", false, false, "Client Menu 1")
    36.  	PropertySheet:AddSheet( "2. Menu", SheetItem2, "gui/silkicons/group", false, false, "Client Menu 2" )   	
    37.  
    38. end
    39. concommand.Add("adminmenu",Client-Admin.Panel)
    Geändert von Stoned (11.06.2008 um 12:32 Uhr)
    Zitat Zitat von Stargate75
    ich weis das war ich scheise was ich gemacht aber aber das ist das einzige forum wo cool ist und auf deutsch

  2. #2

    Standard AW: Derma Frage

    Hier mal 'n Beispiel-Script, wie man man mehrere Buttons/Checkboxes erstellt:

    Lua Code:
    1. /*------------------------------
    2. 	Hauptebene wo der Rest drauf aufgebaut wird
    3. ------------------------------*/
    4.  
    5. local DermaPanel = vgui.Create( "DFrame" ) 	// Erstellt unsere Ebene
    6. 	DermaPanel:SetPos( 50, 50 ) 			// Position auf dem Bildschirm des Spielers
    7. 	DermaPanel:SetSize( ScrW()/2 + 100, ScrH()/2 )// Größe der Ebene
    8. 	DermaPanel:SetTitle( "Test Ebene!" )	// Überschrift der Ebene
    9. 	DermaPanel:SetVisible( true )			// Soll die Ebene ein- oder ausgeblendet werden?
    10. 	DermaPanel:SetDraggable( true )			// Erlaubt es dem Spieler das Fenster zu verschieben
    11. 	DermaPanel:ShowCloseButton( true )		// Soll der Spieler das "X" ( den Schließen-Knopf ) sehen?
    12. 	DermaPanel:MakePopup()					// Zeigt die Ebene auf dem Bildschirm an
    13.  
    14.  
    15. /*------------------------------
    16. 	Ein weiterer Button/Knopf, 
    17. 	er macht genau das selbe wie der DButton, 
    18. 	nur das man hier noch  die Möglichkeit hat
    19. 	zwischen 3 vorgefertigten Skins 
    20. 	für den Button wählen kann
    21. ------------------------------*/
    22.  
    23. local types = { "close", "up", "down" }
    24.  
    25. for i=1, 3 do // wir wollen 3 Buttons haben!
    26.  
    27. local DermaSysButton = vgui.Create( "DSysButton" )	// Erstellt unseren erweiteren Button
    28. 	DermaSysButton:SetParent( DermaPanel )			// Hiermit haften wir den Button an die Hauptebene ran, so dass er sich mit ihr bewegt
    29. 	DermaSysButton:SetPos( 50, 100 + ( 100 * i/2 ) )// Postition des Buttons auf dem Bildschirm
    30. 	DermaSysButton:SetSize( 100, 50 )				// Die größe des Buttons/Knopfs
    31. 	DermaSysButton:SetType( types[i] )				// Typ/Skin des Buttons ( close, up, down )
    32. 	DermaSysButton.DoClick =	function()			// Was passieren soll wenn man mit Linksklick draufklickt
    33. 									LocalPlayer():ChatPrint( "YOU PRESSED "..string.upper( types[i] ).." !" )
    34. 								end
    35. 	DermaSysButton.DoRightClick =	function()		// Was passieren soll wenn man mit Rechtsklick draufklickt
    36. 										LocalPlayer():ChatPrint( "You lam0r just rightclicked on: "..string.upper( types[i] ).." !" )
    37. 									end
    38. end
    39.  
    40. /*------------------------------
    41. 	Nun kommen wir zu einer sogenannten "Checkbox"!
    42. ------------------------------*/
    43.  
    44. local texts = { "GOD MODE!", "NOCLIP!" }
    45. local convars = { "sbox_godmode", "sbox_noclip" }
    46.  
    47. for i=1, table.Count( texts ) do // so viele Checkboxes erstellen, wie Einträge im Table zu finden sind!
    48.  
    49. local DermaCheckBox = vgui.Create( "DCheckBoxLabel" )	// Erstellt unsere Checkbox
    50. 	DermaCheckBox:SetParent( DermaPanel )			 	// Hiermit haften wir die Checkbox an die Hauptebene ran, so dass sie sich mit ihr bewegt
    51. 	DermaCheckBox:SetPos( 200, 50 + ( 50 * i/2 ) )						// Postition der Checkbox auf dem Bildschirm
    52. 	DermaCheckBox:SetText( texts[i] )				// Was neben der Checkbox stehen soll
    53. 	DermaCheckBox:SetConVar( convars[i] )			// Der Command der "getoggeld" werden soll ( der command muss durch 1 [an] und 0[ aus] geschaltet werden können )
    54. 	DermaCheckBox:SetValue( 1 )							// Soll der Command zu Anfang an oder aus sein?
    55. 	DermaCheckBox:SizeToContents()						// Pass es dem Rest der Frames an ( so das SetText ausgeschrieben da steht )
    56.  
    57.  
    58. end

    Wie du sehen kannst habe ich die Sysbuttons benutzt,
    welche schon vorgefertigte Symbole nutzen.

    Die gleiche Methode kannst du aber auch bei einem normalen Button anwenden!

    Du solltest dieses Script problemlos ausführen können!
    Spiele einfach mal ein wenig mit den Werten rum,
    dann siehst du auch was sich ändert


    Wie man sehen kann hat LoC den Highlighter immer noch nicht repariert...

  3. #3

    Standard AW: Derma Frage

    nicht ganz das was ich wollte

    der obere code macht ein Dframe auf dem dann 2 registerkarten sind, nur das ich nur 1 checkbox/button darauf bekomme...

    €dit: kann man auch bei checkboxen ne function() ausführen ?

    Lua Code:
    1. if (checkbox == true) then
    2.      dothis = false
    3.   else
    4.      dothis = true
    5. end
    Geändert von Stoned (11.06.2008 um 13:51 Uhr)
    Zitat Zitat von Stargate75
    ich weis das war ich scheise was ich gemacht aber aber das ist das einzige forum wo cool ist und auf deutsch

  4. #4

    Standard AW: Derma Frage

    Nein, guck dir den Code mal genau an und führe ihn ingame aus!

    -----

    Nochmals nein.

    Checkboxen nutzt du dazu um z.B.

    Consolenwerte von 0 auf 1 und umgekehrt zu schalten.


    Du könntest dir ja den Consolenbefehl erstellen mit welchem du was ändern willst und den dann via CheckBox toggeln.

  5. #5

    Standard AW: Derma Frage

    ich bin ingame, nur das ich keine registerkarten hab :0#
    Geändert von Stoned (11.06.2008 um 14:56 Uhr)
    Zitat Zitat von Stargate75
    ich weis das war ich scheise was ich gemacht aber aber das ist das einzige forum wo cool ist und auf deutsch

  6. #6

    Standard AW: Derma Frage

    Du packst mein Script in eine neue Datei, in den Ordner

    lua/autorun/client

    Dann gibst du In-Game folgendes ein:

    lua_openscript_cl autorun/client/<DATEINAME>.lua

    ( ohne < > )


    dann sollte eigentlich ein neues Derma Panel auf dem Bildschirm erscheinen!

  7. #7

    Standard AW: Derma Frage

    guck ma :>



    €dit: das mir schon kla bin kein noob^

    das mit den registerkarten so sollte es sein, nur das ich da nur 1 checkbox reinbekomme, das auch mein code oben..
    Zitat Zitat von Stargate75
    ich weis das war ich scheise was ich gemacht aber aber das ist das einzige forum wo cool ist und auf deutsch

  8. #8

    Standard AW: Derma Frage

    Achsoooo

    Sorry, dann hab ich dich falsch verstanden

    Dann weis ich so jetzt auch nicht weiter, da muss ich mich erstmal damit beschäftigen!

  9. #9

    Standard AW: Derma Frage

    ja es hat nen zusammenhang mit

    local SheetItem1 = vgui.Create( "DCheckBoxLabel" , CategoryContentOne )
    und
    PropertySheet:AddSheet( "1. Menu", SheetItem1, "gui/silkicons/user", false, false, "Client Menu 1")

    aber ich schaff es nicht mehr als eine sachen (button oder checkbox) zu adden :{
    ich bekomm dann nur checkboxen irgendwo am screen, und nen haufen errors....

    €dit: kannst/willst du mich ma in steam adden ? :] waere bisschen einfacher als hier^
    Geändert von Stoned (11.06.2008 um 15:34 Uhr)
    Zitat Zitat von Stargate75
    ich weis das war ich scheise was ich gemacht aber aber das ist das einzige forum wo cool ist und auf deutsch

  10. #10

    Standard AW: Derma Frage

    Du musst noch ein DPanel machen (genauso wie DFrame) und zu diesen Panels die Buttons usw hinzufügen und das Panel dann zu dem PropertySheet hinzufügen.

    Wennst es nicht verstehst poste ich nacher noch ein Code Beispiel, jetzt kann ich das nicht weil ich noch in der Schule sitz (Letzte Stunde Elektronik Werkstatt für meine Schulzeit ftw )

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •